df-script 1.7.0 → 1.8.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +2 -0
- package/dist/api.d.ts +2 -1
- package/dist/columnExpressions/ExprBase.d.ts +1 -0
- package/dist/columnExpressions/constants.d.ts +1 -0
- package/dist/columnExpressions/functions/duration.d.ts +33 -0
- package/dist/columnExpressions/index.d.ts +1 -0
- package/dist/columnExpressions/mixins/TemporalExpr.d.ts +123 -72
- package/dist/columnExpressions/utils.d.ts +10 -0
- package/dist/constants.d.ts +15 -3
- package/dist/dataframe/dataframe.d.ts +233 -93
- package/dist/dataframe/types.d.ts +25 -3
- package/dist/dataframe/utils.d.ts +21 -1
- package/dist/datatypes/types.d.ts +8 -3
- package/dist/exceptions/index.d.ts +10 -0
- package/dist/exceptions/utils.d.ts +2 -0
- package/dist/index.js +6 -6
- package/dist/index.mjs +6 -6
- package/dist/types.d.ts +24 -1
- package/dist/utils/array.d.ts +23 -0
- package/dist/utils/date.d.ts +6 -2
- package/dist/utils/duration.d.ts +5 -0
- package/dist/utils/index.d.ts +1 -0
- package/package.json +13 -3
package/dist/index.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
"use strict";var xn=Object.defineProperty;var Bo=Object.getOwnPropertyDescriptor;var $o=Object.getOwnPropertyNames;var Ko=Object.prototype.hasOwnProperty;var R=(n,t)=>()=>(n&&(t=n(n=0)),t);var wr=(n,t)=>{for(var e in t)xn(n,e,{get:t[e],enumerable:!0})},qo=(n,t,e,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of $o(t))!Ko.call(n,o)&&o!==e&&xn(n,o,{get:()=>t[o],enumerable:!(r=Bo(t,o))||r.enumerable});return n};var Sr=n=>qo(xn({},"__esModule",{value:!0}),n);var et,wn,Sn,jt,Tn,_t=R(()=>{"use strict";et="*",wn="*literal*",Sn="*coalesce*",jt="*element*",Tn="*struct*"});function B(n){return n!==null&&typeof n=="object"&&!Array.isArray(n)}function It(n){if(!B(n))return!1;let t=Object.getPrototypeOf(n);if(t===null)return!0;let e=Object.prototype.hasOwnProperty.call(t,"constructor")&&t.constructor;return typeof e!="function"?!1:Function.prototype.toString.call(e)===us}function Nr(n){if(typeof n!="function")return!1;let t="";try{t=Function.prototype.toString.call(n)}catch{return!1}if(/^class[\s{]/.test(t))return!0;if(n===Symbol||n===BigInt)return!1;let e=Object.getOwnPropertyDescriptor(n,"prototype");return e&&!e.writable?t.includes("[native code]"):!1}function ut(n,t,e,r){if(!B(n))return!1;if(!(Symbol.toStringTag in n))return Object.prototype.toString.call(n)===t;if(!e)return!1;try{return e.call(n,r),!0}catch{return!1}}function M(n){return ut(n,Wo,Cn)&&Cn?!Number.isNaN(Cn.call(n)):!1}function bt(n){return ut(n,Go,ss)}function Ce(n){return ut(n,zo,is)}function De(n){return ut(n,Ho,as)}function jr(n){return ut(n,Yo,ls,"key")}function _r(n){return B(n)?Symbol.toStringTag in n?n instanceof Error:Object.prototype.toString.call(n)===Jo:!1}function Dr(n){return ut(n,Er,Dn)}function Ar(n){return ut(n,Rr,An)}function Or(n){return ut(n,Ur,On)}function kr(n){return ut(n,Fr,Jt)}function Ir(n){return ut(n,Mr,Yt)}function it(n){if(!B(n))return n;switch(Object.prototype.toString.call(n)){case Rr:if(Ar(n))try{return An.call(n)}catch{}break;case Er:if(Dr(n))try{return Dn.call(n)}catch{}break;case Ur:if(Or(n))try{return On.call(n)}catch{}break;case Fr:if(kr(n)&&Jt)try{return Jt.call(n)}catch{}break;case Mr:if(Ir(n)&&Yt)try{return Yt.call(n)}catch{}break}if(Symbol.toStringTag in n){if(Ar(n))try{return An.call(n)}catch{}else if(Dr(n))try{return Dn.call(n)}catch{}else if(Or(n))try{return On.call(n)}catch{}else if(kr(n)&&Jt)try{return Jt.call(n)}catch{}else if(Ir(n)&&Yt)try{return Yt.call(n)}catch{}}if(typeof n.valueOf=="function"&&n.valueOf!==Object.prototype.valueOf)try{let e=n.valueOf();if(typeof e!="object"||e===null)return e}catch{}return n}var Wo,Go,zo,Ho,Jo,Yo,Er,Rr,Ur,Fr,Mr,Xo,Zo,Tr,Cr,Qo,ts,es,ns,rs,os,ss,is,as,Cn,ls,Dn,An,On,Jt,Yt,us,xt=R(()=>{"use strict";Wo="[object Date]",Go="[object RegExp]",zo="[object Set]",Ho="[object Map]",Jo="[object Error]",Yo="[object URLSearchParams]",Er="[object String]",Rr="[object Number]",Ur="[object Boolean]",Fr="[object BigInt]",Mr="[object Symbol]",Xo=typeof Date=="function"?Date.prototype:void 0,Zo=Object.getPrototypeOf(/./),Tr=typeof Set=="function"?Set.prototype:void 0,Cr=typeof Map=="function"?Map.prototype:void 0,Qo=typeof URLSearchParams=="function"?URLSearchParams.prototype:void 0,ts=Object.getPrototypeOf(""),es=Object.getPrototypeOf(0),ns=Object.getPrototypeOf(!0),rs=typeof BigInt=="function"?BigInt.prototype:void 0,os=typeof Symbol=="function"?Symbol.prototype:void 0,ss=Object.getOwnPropertyDescriptor(Zo,"source")?.get,is=Tr?Object.getOwnPropertyDescriptor(Tr,"size")?.get:void 0,as=Cr?Object.getOwnPropertyDescriptor(Cr,"size")?.get:void 0,Cn=Xo?.valueOf,ls=Qo?.has,Dn=ts.valueOf,An=es.valueOf,On=ns.valueOf,Jt=rs?.valueOf,Yt=os?.valueOf,us=Function.prototype.toString.call(Object)});function z(n,t){return typeof n!="number"?!1:Number.isNaN(n)?t?.allowNaN??t?.allowNonFiniteNumbers??!1:Number.isFinite(n)?!0:t?.allowNonFiniteNumbers??!1}function vr(n){for(let t=1;t<n.length;t++)if(n[t].length!==3)return!1;return!0}function $r(n,t){if(cs.test(n))return null;let e=n.trim();if(e==="")return null;e.startsWith("(")&&e.endsWith(")")&&(e="-"+e.slice(1,-1).trim());let r=e[e.length-1];(r==="-"||r==="+")&&e.length>1&&(e=r+e.slice(0,-1).trim()),t||(e=e.replace(fs,""));let o=e.includes("."),s=e.includes(",");if(o&&s){let i=e.lastIndexOf("."),a=e.lastIndexOf(","),l=a>i,c=l?".":",",u=l?a:i,f=e.slice(0,u).split(c);return f.length>1&&!vr(f)||f[0].replace(Lr,"").length>3?null:l?e.replace(Vr,"").replace(Ae,"."):e.replace(Ae,"")}if(s||o){let i=s?",":".",a=e.split(i);if(a.length>2||i===","&&a.length===2&&a[1].length===3){let l=a[0].replace(Lr,"").length;if(l===0){if(i===","||a.length>2)return null}else return l>3?null:vr(a)?e.replace(s?Ae:Vr,""):null}if(s)return e.replace(Ae,".")}return e}function K(n,{allowNonFiniteNumbers:t=!1,strictNumericString:e=!1,floatScientific:r=!0}={}){if(n==null||typeof n=="symbol")return null;switch(n=it(n),typeof n){case"number":return z(n,{allowNonFiniteNumbers:t})?n:null;case"boolean":return n?1:0;case"bigint":{let o=Number(n);return z(o,{allowNonFiniteNumbers:t})?o:null}case"object":{if(M(n)){let o=n.getTime();return z(o,{allowNonFiniteNumbers:t})?o:null}return null}case"string":{let o=$r(n,e);if(o===null)return null;if(t){let a=o.toLowerCase();if(a==="nan"||a==="-nan"||a==="+nan")return NaN;if(a==="infinity"||a==="+infinity")return 1/0;if(a==="-infinity")return-1/0}if(Br.test(o)&&!r||!Pr.test(o))return null;let i=Number(o);return z(i,{allowNonFiniteNumbers:t})?i:null}default:return null}}function Kr({locale:n="en-US",accountingNegatives:t=!1,fallback:e="NaN",formatNonFinite:r=!1,...o}={}){o.useGrouping===void 0&&(o.useGrouping=!1),o.maximumFractionDigits===void 0&&o.maximumSignificantDigits===void 0&&(o.maximumFractionDigits=20),t&&(o.currencySign="accounting",o.style===void 0&&(o.style="decimal"));let s=new Intl.NumberFormat(n,o);return i=>{if(typeof i=="bigint")return t&&i<0n?`(${s.format(-i)})`:s.format(i);let a=K(i,{allowNonFiniteNumbers:!0});return a===null||Number.isNaN(a)?e:Number.isFinite(a)?t&&a<0?`(${s.format(Math.abs(a))})`:s.format(a):r?e:t&&a===-1/0?`(${s.format(1/0)})`:String(a)}}function kn(n,{floatPrecision:t="Float64",allowNonFiniteNumbers:e=!0,floatScientific:r=!0,strictNumericString:o=!1}={}){let s=K(n,{allowNonFiniteNumbers:e,floatScientific:r,strictNumericString:o});return s===null||(t==="Float32"&&(s=Math.fround(s)),!z(s,{allowNonFiniteNumbers:e}))?null:s}function Wr(n,{range:t="Int32"}={}){if(!z(n)||!Number.isInteger(n))return!1;let e=typeof t=="string"?qr[t]:t;return n>=e.min&&n<=e.max}function pt(n,{range:t="Int32",coerce:e="truncate"}={}){let r=K(n);if(r===null)return null;switch(e){case"round":r=Math.round(r);break;case"floor":r=Math.floor(r);break;case"ceil":r=Math.ceil(r);break;case"truncate":r=Math.trunc(r);break}let o=typeof t=="string"?qr[t]:t;return ct(r,{min:o.min,max:o.max})}function vt(n,{range:t="Int64",truncate:e=!1}={}){if(n==null||typeof n=="symbol")return null;n=it(n);let r=null;if(typeof n=="bigint")r=n;else if(typeof n=="string"){let s=$r(n,!1);if(s===null||!Pr.test(s))return null;if(Br.test(s)){let i=Number(s);if(!Number.isFinite(i)||!e&&!Number.isInteger(i))return null;r=BigInt(Math.trunc(i))}else{let i=s.indexOf(".");if(i!==-1){if(!e&&/[^0]/.test(s.slice(i+1)))return null;s=s.slice(0,i)}try{r=BigInt(s)}catch{return null}}}else{let s=K(n);if(s===null||!e&&!Number.isInteger(s))return null;r=BigInt(Math.trunc(s))}let o=typeof t=="string"?ms[t]:t;return ct(r,{min:o.min,max:o.max})}function ps(n,t){let e=n-t;if(e<0||t<0)return null;if(e>15)return Number.H;let r=Math.min(t,16),o=Math.pow(10,e)-Math.pow(10,-r);return o>0?o:null}function In(n,t){let e=n.toString();if(e.includes("e")){let r=Math.pow(10,t);return Math.round(n*r)/r}return+(Math.round(+(e+"e"+t))+"e"+-t)}function Oe(n,{precision:t,scale:e}={}){let r=K(n);if(r===null)return null;let o=r;if(e!==void 0&&(o=In(o,e)),t!==void 0){let i=ps(t,e??0);i!==null&&(o=ct(o,{min:-i,max:i}))}return o}function ct(n,t){if(!t)return n;let{min:e=null,max:r=null,safe:o=!0}=t;if(e!==null&&r!==null&&e>r)return e;let s=n;if(o&&typeof s=="number"){if(Number.isNaN(s))return e!==null?e:r!==null?r:n;if(s===1/0)return r!==null?r:n;if(s===-1/0)return e!==null?e:n}return e!==null&&s<e?e:r!==null&&s>r?r:s}function Gr(n){let t=n|0;return function(){let e=t=t+1831565813|0;return e=Math.imul(e^e>>>15,e|1),e^=e+Math.imul(e^e>>>7,e|61),((e^e>>>14)>>>0)/4294967296}}var Pr,cs,fs,Br,Lr,Vr,Ae,qr,ms,Xt=R(()=>{"use strict";xt();Pr=/^[+-]?(?:\d+(?:\.\d*)?|\.\d+)(?:[eE][+-]?\d+)?$/,cs=/0[xobXOB]/,fs=/[\s_]/g,Br=/[eE]/;Lr=/^[+-]/,Vr=/\./g,Ae=/,/g;qr={Int8:{min:-128,max:127},Int16:{min:-32768,max:32767},Int32:{min:-2147483648,max:2147483647},UInt8:{min:0,max:255},UInt16:{min:0,max:65535},UInt32:{min:0,max:4294967295}};ms={Int64:{min:-9223372036854775808n,max:9223372036854775807n},UInt64:{min:0n,max:18446744073709551615n}}});function L(n){if(!ArrayBuffer.isView(n))return!1;if(zr)return zr.call(n)!==void 0;let t=Object.prototype.toString.call(n);return t!=="[object DataView]"&&t.endsWith("Array]")}function O(n){return Array.isArray(n)||L(n)}function Zt(n){return n==null?[]:Array.isArray(n)?[...n]:L(n)?Array.from(n):[n]}function Lt(n){let t=Zt(n),e=t.length,r=new Array(e);for(let o=0;o<e;o++)r[o]=String(t[o]);return r}function ke(n,t,e){let r=n.length,o=t<-r||t>=r;if(o&&!e)throw new at(`Index ${t} is out of bounds for array of length ${r}`);return o?null:n.at(t)??null}function H(n,t,{mode:e="every",allowNulls:r=!1,allowEmpty:o=!0}={}){if(!O(n))return!1;let s=n.length;if(s===0)return o?e==="every":!1;let i=n,a;if(typeof t=="function")a=Nr(t)?c=>c instanceof t:t;else switch(t){case"null":a=l=>l===null;break;case"undefined":a=l=>l===void 0;break;case"nullish":a=l=>l==null;break;case"any":a=()=>!0;break;case"date":a=M;break;case"object":a=B;break;case"plainObject":a=It;break;case"number":a=z;break;default:a=l=>typeof l===t;break}if(r){let l=a;a=c=>c==null||l(c)}if(e==="every"){for(let l=0;l<s;l++)if(!a(i[l]))return!1;return!0}else{for(let l=0;l<s;l++)if(a(i[l]))return!0;return!1}}function Qt(n,{descending:t=!1,nullsLast:e=!0}={}){if(!O(n))return[];let r=n,o=r.length;if(o===0)return[];if(L(n)){let f=r.slice().sort();return t&&f.reverse(),Array.from(f)}let s=[],i=[],a=!0,l=!0,c=!0;for(let f=0;f<o;f++){let m=r[f];if(m==null)i.push(m);else if(s.push(m),c){let h=typeof m;h!=="number"&&(a=!1),h!=="string"&&(l=!1),!a&&!l&&(c=!1)}}return s.length>1&&(a?s.sort(t?(f,m)=>m-f:(f,m)=>f-m):l?s.sort(t?(f,m)=>m.localeCompare(f):(f,m)=>f.localeCompare(m)):s.sort((f,m)=>{let h=typeof f,p=typeof m;if(h!==p){let y=h<p?-1:1;return t?-y:y}return f<m?t?1:-1:f>m?t?-1:1:0})),i.length===0?s:e?s.concat(i):i.concat(s)}function N(n){if(!O(n))return Hr;let t=n.length;if(t===0)return Hr;let e=null,r=null,o=null,s=null,i=0,a=0,l=0,c=0,u=0,f=0;for(let h=0;h<t;h++){let p=n[h];if(p==null||typeof p=="number"&&!z(p,{allowNonFiniteNumbers:!0,allowNaN:!1})){a++;continue}(e==null||p<e)&&(e=p,o=h),(r==null||p>r)&&(r=p,s=h);let y=K(p);if(y!==null){let d=l+y;Math.abs(l)>=Math.abs(y)?c+=l-d+y:c+=y-d+l,l=d,i++;let g=y-u;u+=g/i;let b=y-u;f+=g*b}}let m=i>1?f/(i-1):0;return{sum:i>0?l+c:null,count:i,min:e,max:r,minIdx:o,maxIdx:s,mean:i>0?(l+c)/i:null,variance:m,std:Math.sqrt(m),nullCount:a,len:t,hasNulls:a>0,isNumeric:i>0&&i===t-a}}function wt(n,{strict:t=!1,keySelector:e}={}){let r=Array.from(n),o=new Map;if(t){let i=e??W,a=new Map,l=r.length;for(let u=0;u<l;u++){let f=r[u],m=i(f),h=a.get(m);h===void 0?a.set(m,{val:f,count:1}):h.count++}let c=[];for(let u of a.values())c.push(u.val);for(let u=0;u<l;u++){let f=r[u],m=i(f),h=a.get(m);o.set(f,h.count)}return{values:c,count:c.length,frequencies:o}}let s=r.length;for(let i=0;i<s;i++){let a=r[i];o.set(a,(o.get(a)??0)+1)}return{values:Array.from(o.keys()),count:o.size,frequencies:o}}function Yr(n,{step:t=1,offsetStart:e=0,offsetEnd:r,maxItemsGathered:o,ut:s=!0}={}){if(n==null)return null;if(o!==void 0&&o<=0)return[];if(t===0)throw new Error("Step size step cannot be zero");let i=n.length;if(i===0?e!==0:e>=i||e<-i){if(!s)throw new Error(`Start offset ${e} is out of bounds for array of length ${i}`);return null}let l=e<0?i+e:e,c=r!==void 0?r<0?i+r:r:t>0?i:-1,u=[];if(t>0)for(let f=l;f<c&&f<i&&!(f>=0&&(u.push(n[f]),o!==void 0&&u.length>=o));f+=t);else for(let f=l;f>c&&f>=0&&!(f<i&&(u.push(n[f]),o!==void 0&&u.length>=o));f+=t);return u}function Xr(n,t=",",{ignoreNulls:e=!1,nullValue:r="",prefix:o="",suffix:s="",limit:i,truncationMarker:a="...",valueFormatter:l}={}){let c=n.length,u=[],f=i!==void 0?Math.max(0,i):c,m=!1;for(let h=0;h<c;h++){if(u.length>=f){m=!0;break}let p=n[h];p!=null?u.push(l?l(p,h):String(p)):e||u.push(r)}return o+u.join(t)+(m?a:"")+s}function Et(n,t,e={}){let r=n.length,{mode:o="cumulative",step:s=1,coerce:i=y=>y,condition:a,reverse:l=!1,startIndex:c=l?r-1:0,endIndex:u=l?-1:r}=e,f=l?-1:1,m=c,h=u,p=(y,d)=>{(!a||a(n[y],y,n))&&(n[y]=i(d))};if(o==="constant"){let y=i(t);for(let d=m;l?d>h:d<h;d+=f)p(d,y)}else if(o==="independent")if(typeof s=="function"){let y=0;for(let d=m;l?d>h:d<h;d+=f)p(d,s({index:y,initialValue:t,originalValue:n[d],absoluteIndex:d,targetArray:n})),y++}else for(let y=m;l?y>h:y<h;y+=f)p(y,t+y*s);else{let y=t,d=!0,g=0;for(let b=m;l?b>h:b<h;b+=f)d?(p(b,y),d=!1):(typeof s=="function"?y=s({prev:y,index:g,originalValue:n[b],absoluteIndex:b,targetArray:n}):y=y+s,p(b,y)),g++}}function Zr(n){let t=n.length,e=0,r=new Float64Array(t);for(let s=0;s<t;s++){let i=n[s],a=K(i,{allowNonFiniteNumbers:!0});a!==null&&z(a,{allowNonFiniteNumbers:!0,allowNaN:!1})&&(r[e++]=a)}if(e===0)return null;let o=r.subarray(0,e);return o.sort(),o}function Vt(n){let t=Zr(n);if(!t)return null;let e=t.length,r=Math.floor(e/2);return e%2!==0?t[r]:(t[r-1]+t[r])/2}function Ie(n,t){if(t<0||t>1)return null;let e=Zr(n);if(!e)return null;let r=e.length,o=t*(r-1),s=Math.floor(o),i=Math.ceil(o);return s===i?e[s]:e[s]+(o-s)*(e[i]-e[s])}function Ee(n){if(!O(n)||n.length===0)return null;let t=new Map,e=n.length,r=0,o=[];for(let s=0;s<e;s++){let i=n[s];if(i==null||typeof i=="number"&&!z(i,{allowNonFiniteNumbers:!0,allowNaN:!1}))continue;let a=(t.get(i)??0)+1;t.set(i,a),a>r?(r=a,o=[i]):a===r&&o.push(i)}return o.length===0?null:Qt(o)}function Qr(n,t){let e=n.length;if(e===0)return[];let r=Math.trunc(t);if(isNaN(r)||r===0)return Array.isArray(n)?n.slice():Array.from(n);let o=Math.abs(r);if(o>=e)return new Array(e).fill(null);let s=new Array(e);if(r>0){s.fill(null,0,r);for(let i=r;i<e;i++){let a=n[i-r];s[i]=a??null}}else{let i=e-o;for(let a=0;a<i;a++){let l=n[a+o];s[a]=l??null}s.fill(null,i,e)}return s}function En(n){let t=n.length,e=0,r=0,o=0,s=0,i=0,a=0;for(let m=0;m<t;m++){let h=n[m];if(!h)continue;let p=K(h[0]),y=K(h[1]);if(p===null||y===null)continue;e++;let d=p-r;r+=d/e;let g=p-r,b=y-o;o+=b/e;let S=y-o;a+=d*S,s+=d*g,i+=b*S}if(e<2)return{covariance:null,correlation:null};let l=a/(e-1);if(s===0||i===0)return{covariance:l,correlation:null};let c=Math.sqrt(s*i);if(c===0||Number.isNaN(c))return{covariance:l,correlation:null};let u=a/c,f=Math.max(-1,Math.min(1,u));return{covariance:l,correlation:f}}function Jr(n){let t=n.length,e=new Int32Array(t);for(let s=0;s<t;s++)e[s]=s;e.sort((s,i)=>n[s]-n[i]);let r=new Float64Array(t),o=0;for(;o<t;){let s=o+1;for(;s<t&&n[e[s]]===n[e[o]];)s++;let i=(o+1+s)/2;for(let a=o;a<s;a++)r[e[a]]=i;o=s}return r}function hs(n,t,e){if(e<2)return null;let r=0,o=0,s=0,i=0,a=0;for(let u=0;u<e;u++){let f=n[u],m=t[u],h=f-r;r+=h/(u+1);let p=f-r,y=m-o;o+=y/(u+1);let d=m-o;a+=h*d,s+=h*p,i+=y*d}if(s===0||i===0)return null;let l=Math.sqrt(s*i);if(l===0||Number.isNaN(l))return null;let c=a/l;return Math.max(-1,Math.min(1,c))}function to(n){let t=n.length,e=new Float64Array(t),r=new Float64Array(t),o=0;for(let a=0;a<t;a++){let l=n[a];if(l){let c=K(l[0]),u=K(l[1]);c!==null&&u!==null&&(e[o]=c,r[o]=u,o++)}}if(o<2)return null;let s=Jr(e.subarray(0,o)),i=Jr(r.subarray(0,o));return hs(s,i,o)}function eo(n){let t=n.length,e=0,r=0;for(let o=0;o<t;o++){let s=n[o];if(!s)continue;let i=K(s[0]),a=K(s[1]);i===null||a===null||(e+=i*a,r++)}return r>0?e:null}function no(n){let t=n.length,e=0,r=0,o=0;for(let s=0;s<t;s++){let i=n[s];if(!i)continue;let a=K(i[0]),l=K(i[1]);a===null||l===null||(e+=a*l,r+=l,o++)}return o===0||Math.abs(r)<1e-12?null:e/r}var zr,Hr,te=R(()=>{"use strict";xt();Xt();Re();rt();zr=(()=>{try{let n=new Uint8Array(0),t=Object.getPrototypeOf(n),e=Object.getPrototypeOf(t),r=Object.getOwnPropertyDescriptor(e,Symbol.toStringTag)?.get;return r&&r.call(n)==="Uint8Array"?r:void 0}catch{return}})();Hr={sum:null,count:0,min:null,max:null,minIdx:null,maxIdx:null,mean:null,variance:0,std:0,nullCount:0,len:0,hasNulls:!1,isNumeric:!1}});function ro(n){let t=it(n);return typeof t=="string"?t.trim().length===0:!1}function Ue(n){let t=it(n);if(t==null)return"";let e=String(t);return typeof RegExp.escape=="function"?RegExp.escape(e):e.replace(ys,"\\$&")}function Pt(n,t=null,e={}){if(n==null)return e.returnStringOnNull?"":null;let{mode:r="both",returnStringOnNull:o=!1,maxScanStart:s=1,maxScanEnd:i=1,maxMatchesStart:a=1,maxMatchesEnd:l=1,trimFirst:c=!1,stringOptions:u}=e,{literal:f=!1,caseInsensitive:m=!1}=u??{},h=(T,D="both")=>D==="start"?T.trimStart():D==="end"?T.trimEnd():T.trim(),p=n;if(c&&t!=null&&(p=h(n,r)),t==null){let T=h(p,r);return o||T!==""?T:null}let y=bt(t)?T=>{try{t.lastIndex=0}catch{}return t.test(T)}:(()=>{let T=new Set(m?t.toLowerCase():t);return D=>T.has(m?D.toLowerCase():D)})(),d=p.length;if(s===1&&a===1&&i===1&&l===1&&!f){let T=0,D=d;if(r==="both"||r==="start")for(;T<d&&y(p[T]);)T++;if(r==="both"||r==="end")for(;D>T&&y(p[D-1]);)D--;let v=T===0&&D===d?p:p.substring(T,D);return o||v!==""?v:null}let b=new Uint8Array(d),S=(T,D,v)=>{if(d===0||v===0)return;let mt=T?0:d-1,lt=T?d:-1,I=T?1:-1,E=!1,P=0,q=0;for(let Y=mt;Y!==lt;Y+=I)if(y(p[Y])){if(!E){if(D!==null&&D>=0&&q>=D||v!==null&&v>=0&&P>=v)break;E=!0,P++}b[Y]=1}else if(E=!1,q++,D!==null&&D>=0&&q>=D)break},w=(T,D,v,mt,lt)=>{if(d===0||lt===0||D===0)return;let I=v?0:d-1,E=0,P=0,q=m?p.toLowerCase():p;for(;I>=0&&I<d&&!(lt!==null&<>=0&&E>=lt);){let Y=v?I:I-D+1;if(!v&&Y<0)break;let X=v?q.indexOf(T,Y):q.lastIndexOf(T,Y);if(X===-1)break;let st=v?X-I:I-(X+D-1);if(P+=st,mt!==null&&mt>=0&&P>=mt)break;for(let nt=0;nt<D;nt++)b[X+nt]=1;E++,I=v?X+D:X-1}};if(r==="both"||r==="start")if(f&&typeof t=="string"){let T=m?t.toLowerCase():t;w(T,t.length,!0,s,a)}else S(!0,s,a);if(r==="both"||r==="end")if(f&&typeof t=="string"){let T=m?t.toLowerCase():t;w(T,t.length,!1,i,l)}else S(!1,i,l);let C="";for(let T=0;T<d;T++)b[T]===0&&(C+=p[T]);return o||C!==""?C:null}function W(n,{depth:t=0,maxDepth:e=50}={}){if(t>e)return"v:circular";if(n===null)return"v:null";if(n===void 0)return"v:undefined";if(M(n))return`d:${n.getTime()}`;if(L(n))return`u:${n.constructor.name}:${n.toString()}`;if(Array.isArray(n)){let r=n.length,o=new Array(r),s={depth:t+1,maxDepth:e};for(let i=0;i<r;i++)o[i]=W(n[i],s);return`a:[${o.join(",")}]`}if(Ce(n)){let r=Array.from(n),o=r.length,s=new Array(o),i={depth:t+1,maxDepth:e};for(let a=0;a<o;a++)s[a]=W(r[a],i);return s.sort(),`set:[${s.join(",")}]`}if(De(n)){let r=Array.from(n.keys()),o=r.length,s=new Array(o),i={depth:t+1,maxDepth:e};for(let a=0;a<o;a++){let l=r[a];s[a]=`${W(l,i)}:${W(n.get(l),i)}`}return s.sort(),`map:{${s.join(",")}}`}if(typeof n=="object"&&typeof n.toJSON=="function"){let r=n.toJSON();if(r!==n)return`j:${W(r,{depth:t+1,maxDepth:e})}`}if(It(n)){let r=Object.keys(n).sort(),o=r.length,s=new Array(o),i={depth:t+1,maxDepth:e};for(let a=0;a<o;a++){let l=r[a];s[a]=`${l}:${W(n[l],i)}`}return`o:{${s.join(",")}}`}return bt(n)?`r:${n.toString()}`:typeof n=="function"?`f:${n.toString()}`:typeof n=="string"?`s:${n}`:typeof n=="symbol"?`y:${n.toString()}`:`${typeof n}:${n}`}function xs(n){if(n==null)return[];let t=String(n);if(!t)return[];let r=t.normalize("NFC").replace(ds,"$1$2").match(gs)||[],o=[];for(let s=0;s<r.length;s++){let i=r[s];bs.has(i)||o.push(i)}return o}function ee(n,t){let e=xs(n),r=e.length;if(r===0)return"";let{format:o}=t;if(o==="camel"||o==="pascal"){let s="";for(let i=0;i<r;i++){let a=e[i];s+=i===0&&o==="camel"?a.toLowerCase():a.charAt(0).toUpperCase()+a.slice(1).toLowerCase()}return s}if(o==="kebab"||o==="snake"){let s=o==="kebab"?"-":"_",i=new Array(r);for(let a=0;a<r;a++)i[a]=e[a].toLowerCase();return i.join(s)}return String(n)}var ys,ds,gs,bs,Re=R(()=>{"use strict";xt();te();ys=/[-\/\\^$*+?.()|\[\]{}]/g;ds=/(\p{L})['’](\p{L})/gu,gs=new RegExp(["\\p{Lu}+s(?!\\p{Ll})","\\p{Lu}+(?=\\p{Lu}\\p{Ll})","\\p{Lu}+\\p{Ll}*","\\p{Ll}+","\\p{N}+","\\p{L}+"].join("|"),"gu"),bs=new Set(["__proto__","proto","constructor","prototype"])});var Rn,Un,oo=R(()=>{"use strict";Rn=1000n,Un=1000000n});function Cs(n){let t=so.get(n);return t||(t=new Intl.DateTimeFormat("en-US",{timeZone:n,hourCycle:"h23",weekday:"short",year:"numeric",month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit",second:"2-digit",fractionalSecondDigits:3}),so.set(n,t)),t}function Ds(n,t){let e=`${n}_${t}`,r=io.get(e);return r||(r=new Intl.DateTimeFormat(n,{timeZoneName:"short",timeZone:t}),io.set(e,r)),r}function As(n){let t=ao.get(n);if(t===void 0){try{Intl.DateTimeFormat(void 0,{timeZone:n}),t=!0}catch{t=!1}ao.set(n,t)}return t}function ht(n){let t=!n||n==="local"?Intl.DateTimeFormat().resolvedOptions().timeZone:n;return As(t)?t:"UTC"}function tt(n,t=0,e=1,r=0,o=0,s=0,i=0){let a=new Date(0);return a.setUTCFullYear(n,t,e),a.setUTCHours(r,o,s,i),a}function Os(n,t,e){let r=[0,3,2,5,0,3,5,1,4,6,2,4],o=n;return t<3&&(o-=1),(o+Math.floor(o/4)-Math.floor(o/100)+Math.floor(o/400)+r[t-1]+e)%7}function ne(n,t){let e=ht(t);if(e.toUpperCase()==="UTC")return{year:n.getUTCFullYear(),month:n.getUTCMonth()+1,day:n.getUTCDate(),hour:n.getUTCHours(),minute:n.getUTCMinutes(),second:n.getUTCSeconds(),ms:n.getUTCMilliseconds(),dayOfWeek:n.getUTCDay()};let o=Cs(e).formatToParts(n),s="0",i="0",a="0",l="0",c="0",u="0",f="0";for(let b=0,S=o.length;b<S;b++){let w=o[b];switch(w.type){case"year":s=w.value;break;case"month":i=w.value;break;case"day":a=w.value;break;case"hour":l=w.value;break;case"minute":c=w.value;break;case"second":u=w.value;break;case"fractionalSecond":f=w.value;break}}let m=parseInt(s,10),h=parseInt(i,10),p=parseInt(a,10),y=parseInt(l,10);y===24&&(y=0);let d=Math.round(parseFloat("0."+f)*1e3)||0,g=Os(m,h,p);return{year:m,month:h,day:p,hour:y,minute:parseInt(c,10),second:parseInt(u,10),ms:d,dayOfWeek:g}}function Bt(n,t,e){if(t.toUpperCase()==="UTC")return 0;let r=ne(n,"UTC"),o=e||ne(n,t),s=tt(r.year,r.month-1,r.day,r.hour,r.minute,r.second,r.ms).getTime(),i=tt(o.year,o.month-1,o.day,o.hour,o.minute,o.second,o.ms).getTime();return Math.round((i-s)/6e4)}function lo(n,t){let e=n>=0?"+":"-",r=Math.abs(n),o=String(Math.floor(r/60)).padStart(2,"0"),s=String(r%60).padStart(2,"0");return t==="iso"?`${e}${o}:${s}`:`${e}${o}${s}`}function G(n,t){let e=it(n);if(e==null)return null;let r=null;if(M(e))r=e;else if(typeof e=="number"||typeof e=="bigint")r=new Date(ks(e));else if(typeof e=="string"){if(ro(e))return null;r=new Date(e)}if(!r||!M(r))return null;if(t?.dateOnly){let o=typeof e=="string",s=o&&Ts.test(e),i=o&&!s&&!co.test(e)?"local":"UTC",a=ne(r,i);return tt(a.year,a.month-1,a.day)}return r}function Me(n){let t=it(n);if(t==null)return null;let e=null;if(typeof t=="string"){let o=t.trim();if(Ss.test(o)){let s=co.test(o);e=G(`1970-01-01T${o}${s?"":"Z"}`)}}let r=e||G(t);return r?Rt(r,{format:"%H:%M:%S.%ms"}):null}function fo(n,t="ms"){let e=n.getTime();switch(t){case"s":return Math.floor(e/1e3);case"ms":return e;case"us":return BigInt(e)*Rn;case"ns":return BigInt(e)*Un}}function ks(n){if(typeof n=="bigint"){let e=n<0n?-n:n;return e<=30000000000n?Number(n)*1e3:e<=30000000000000n?Number(n):e<=30000000000000000n?Number(n/Rn):Number(n/Un)}let t=Math.abs(n);return t<=3e10?n*1e3:t<=3e13?n:t<=3e16?Math.floor(n/1e3):Math.floor(n/1e6)}function mo(n){if(!M(n))return null;let t=n.getUTCFullYear();return Math.floor((t-1)/100)+1}function jn(n,t={field:"week"}){if(!M(n))return null;let e=tt(n.getUTCFullYear(),n.getUTCMonth(),n.getUTCDate()),r=e.getUTCDay()||7;if(e.setUTCDate(e.getUTCDate()+4-r),t.field==="year")return e.getUTCFullYear();let o=tt(e.getUTCFullYear(),0,1),s=Math.round((e.getTime()-o.getTime())/864e5);return Math.floor(s/7)+1}function po(n){if(!M(n))return null;let t=n.getUTCFullYear();return Math.floor((t-1)/1e3)+1}function Ne(n,t,e=1){return M(n)?tt(n.getUTCFullYear(),n.getUTCMonth()+t,e):null}function _n(n){if(!M(n))return null;let t=tt(n.getUTCFullYear(),n.getUTCMonth(),n.getUTCDate()).getTime(),e=tt(n.getUTCFullYear(),0,1).getTime();return Math.floor((t-e)/864e5)+1}function ho(n){return M(n)?Math.floor(n.getUTCMonth()/3)+1:null}function vn(n){let t;if(M(n))t=n.getUTCFullYear();else if(z(n))t=n;else return!1;return t%4===0&&t%100!==0||t%400===0}function yo(n){return n.replace(/%[FTRD]/g,t=>Es[t]||t)}function Fn(n,t){return new Date(n.getTime()-t*60*1e3)}function Rs(n){let t=n.replace(":",""),e=t[0]==="+"?1:-1,r=parseInt(t.slice(1,3),10)||0,o=parseInt(t.slice(3,5),10)||0;return e*(r*60+o)}function Rt(n,{format:t,locale:e,timeZone:r="UTC"}){if(!M(n)||typeof t!="string")return"";let o=e&&e.trim()||Intl.DateTimeFormat().resolvedOptions().locale||"en-US",s=yo(t),i=null,a=()=>i??=ne(n,r);return s.replace(Fe,(l,c)=>{if(c==="%")return"%";let u=Ln[c];return u?u.format(n,o,r,a()):l})}function go(n,{format:t,strict:e=!0,defaultTimeZone:r="UTC"}){if(typeof n!="string"||typeof t!="string")return null;let o=yo(t),s=[],i="",a=0;Fe.lastIndex=0;let l;for(;(l=Fe.exec(o))!==null;){let y=o.slice(a,l.index);i+=Ue(y);let d=l[1];if(d==="%")i+="\\%";else{let g=Ln[d];g&&g.parseRegex?(s.push(g),i+=`(${g.parseRegex})`):i+=Ue(l[0])}a=Fe.lastIndex}i+=Ue(o.slice(a));let c=new RegExp("^\\s*"+i+"\\s*$"),u=n.match(c);if(!u)return e?null:G(n);let f={year:1970,month:1,day:1,hour:0,minute:0,second:0,ms:0,offset:null},m=null,h=!1;for(let y=0;y<s.length;y++){let d=u[y+1],g=s[y],b=g.parseNormalize?g.parseNormalize(d):parseInt(d,10);g.key==="j"&&(h=!0),g.parseField==="ampm"?m=b:g.parseField==="offset"?f.offset=b:g.parseField&&(f[g.parseField]=b)}if(m&&(m==="PM"&&f.hour<12&&(f.hour+=12),m==="AM"&&f.hour===12&&(f.hour=0)),h){let y=vn(f.year)?366:365;if(f.day<1||f.day>y)return null;let d=tt(f.year,0,1);d.setUTCDate(f.day),f.month=d.getUTCMonth()+1,f.day=d.getUTCDate()}let p=tt(f.year,f.month-1,f.day,f.hour,f.minute,f.second,f.ms);if(!M(p)||p.getUTCFullYear()!==f.year||p.getUTCMonth()+1!==f.month||p.getUTCDate()!==f.day||p.getUTCHours()!==f.hour||p.getUTCMinutes()!==f.minute||p.getUTCSeconds()!==f.second||p.getUTCMilliseconds()!==f.ms)return null;if(f.offset)p=Fn(p,Rs(f.offset));else if(r.toUpperCase()!=="UTC"){let y=ht(r),d=Bt(p,y);p=Fn(p,d);let g=Bt(p,y);g!==d&&(p=Fn(p,g-d))}return M(p)?p:null}function Vn(n,t,{excludeWeekdays:e=[],holidays:r=[],roll:o}={}){if(!Wr(t))throw new at(`The offset parameter 'n' must be a whole integer. Received: ${t}`);if(7-e.length<=0)throw new at("All weekdays are excluded; cannot offset.");let i=new Set;if(r instanceof Set)for(let m of r){let h=new Date(m);e.includes(h.getUTCDay())||i.add(m)}else if(Array.isArray(r))for(let m=0;m<r.length;m++){let h=G(r[m]);if(!h||e.includes(h.getUTCDay()))continue;let p=tt(h.getUTCFullYear(),h.getUTCMonth(),h.getUTCDate());i.add(p.getTime())}let a=m=>e.includes(m.getUTCDay())?!0:i.has(m.getTime()),l=tt(n.getUTCFullYear(),n.getUTCMonth(),n.getUTCDate());if(o&&a(l)){if(o==="raise")throw new at("Start date falls on an excluded day or holiday.");let m=o==="forward"?1:-1;for(;a(l);)l.setUTCDate(l.getUTCDate()+m)}if(t===0)return l;let c=t>0?1:-1,u=0,f=Math.abs(t);for(;u<f;)l.setUTCDate(l.getUTCDate()+c),a(l)||u++;return l}function Pn(n,t,e){let r=ht(t),o=e?.type??"total",s;if(o==="total")s=Bt(n,r);else{let a=ne(n,r),l=a.year,c=Bt(tt(l,0,1),r),u=Bt(tt(l,6,1),r),f=Math.min(c,u);o==="daylightSavingTime"?s=Bt(n,r,a)-f:s=f}switch(e?.format??"milliseconds"){case"minutes":return s;case"hours":return s/60;case"iso":return lo(s,"iso");case"basic":return lo(s,"basic");default:return s*6e4}}function bo(n,t={}){if(!M(n))return null;let e=t.excludeWeekdays??[0,6],r=n.getUTCDay();if(e.includes(r))return!1;let o=t.holidays;if(o){if(o instanceof Set){let s=Date.UTC(n.getUTCFullYear(),n.getUTCMonth(),n.getUTCDate());if(o.has(s))return!1}else if(Array.isArray(o)&&o.length>0){let s=new Set;for(let a=0;a<o.length;a++){let l=G(o[a]);l&&s.add(Date.UTC(l.getUTCFullYear(),l.getUTCMonth(),l.getUTCDate()))}let i=Date.UTC(n.getUTCFullYear(),n.getUTCMonth(),n.getUTCDate());if(s.has(i))return!1}}return!0}var Ss,co,Ts,so,io,ao,Ln,Is,Fe,Es,Bn=R(()=>{"use strict";Re();rt();xt();Xt();oo();Ss=/^\d{2}:\d{2}/,co=/(?:Z|[+-]\d{2}(?::?\d{2})?)$/i,Ts=/^\d{4}-\d{2}-\d{2}$/,so=new Map;io=new Map;ao=new Map;Ln={Y:{key:"Y",format:(n,t,e,r)=>{let o=r.year;return o>=0?String(o).padStart(4,"0"):"-"+String(Math.abs(o)).padStart(4,"0")},parseRegex:"[+-]?\\d{4,}",parseField:"year"},y:{key:"y",format:(n,t,e,r)=>String(Math.abs(r.year)%100).padStart(2,"0"),parseRegex:"\\d{2}",parseField:"year",parseNormalize:n=>{let t=parseInt(n,10);return t+(t>=69?1900:2e3)}},m:{key:"m",format:(n,t,e,r)=>String(r.month).padStart(2,"0"),parseRegex:"\\d{2}",parseField:"month"},d:{key:"d",format:(n,t,e,r)=>String(r.day).padStart(2,"0"),parseRegex:"\\d{2}",parseField:"day"},e:{key:"e",format:(n,t,e,r)=>String(r.day).padStart(2," "),parseRegex:"\\s?\\d{1,2}",parseField:"day"},H:{key:"H",format:(n,t,e,r)=>String(r.hour).padStart(2,"0"),parseRegex:"\\d{2}",parseField:"hour"},I:{key:"I",format:(n,t,e,r)=>String(r.hour%12||12).padStart(2,"0"),parseRegex:"\\d{2}",parseField:"hour"},p:{key:"p",format:(n,t,e,r)=>r.hour>=12?"PM":"AM",parseRegex:"AM|PM|am|pm",parseField:"ampm",parseNormalize:n=>n.toUpperCase()},M:{key:"M",format:(n,t,e,r)=>String(r.minute).padStart(2,"0"),parseRegex:"\\d{2}",parseField:"minute"},S:{key:"S",format:(n,t,e,r)=>String(r.second).padStart(2,"0"),parseRegex:"\\d{2}",parseField:"second"},A:{key:"A",format:(n,t,e)=>n.toLocaleDateString(t,{weekday:"long",timeZone:ht(e)})},a:{key:"a",format:(n,t,e)=>n.toLocaleDateString(t,{weekday:"short",timeZone:ht(e)})},B:{key:"B",format:(n,t,e)=>n.toLocaleDateString(t,{month:"long",timeZone:ht(e)})},b:{key:"b",format:(n,t,e)=>n.toLocaleDateString(t,{month:"short",timeZone:ht(e)})},h:{key:"h",format:(n,t,e)=>n.toLocaleDateString(t,{month:"short",timeZone:ht(e)})},j:{key:"j",format:(n,t,e,r)=>String(_n(tt(r.year,r.month-1,r.day))??1).padStart(3,"0"),parseRegex:"\\d{3}",parseField:"day",parseNormalize:n=>parseInt(n,10)},u:{key:"u",format:(n,t,e,r)=>String(r.dayOfWeek||7)},w:{key:"w",format:(n,t,e,r)=>String(r.dayOfWeek)},Z:{key:"Z",format:(n,t,e)=>{let r=ht(e);if(r.toUpperCase()==="UTC")return"UTC";let o=Ds(t,r).formatToParts(n);for(let s=0,i=o.length;s<i;s++)if(o[s].type==="timeZoneName")return o[s].value;return"UTC"}},z:{key:"z",format:(n,t,e)=>Pn(n,e,{format:"basic"}),parseRegex:"[+-]\\d{2}(?::?\\d{2})?",parseField:"offset",parseNormalize:n=>n.replace(":","")},ms:{key:"ms",format:(n,t,e,r)=>String(r.ms).padStart(3,"0"),parseRegex:"\\d{3}",parseField:"ms",parseNormalize:n=>parseInt(n,10)},f:{key:"f",format:(n,t,e,r)=>String(r.ms).padStart(3,"0").padEnd(6,"0"),parseRegex:"\\d{1,9}",parseField:"ms",parseNormalize:n=>parseInt(n.padEnd(6,"0").slice(0,3),10)}},Is=Object.keys(Ln).concat("%").sort((n,t)=>t.length-n.length),Fe=new RegExp("%("+Is.join("|")+")","g"),Es={"%F":"%Y-%m-%d","%T":"%H:%M:%S","%R":"%H:%M","%D":"%m/%d/%y"}});function xo(n,{format:t="json",allowPrimitives:e=!1,trimBeforeParse:r=!1,reviver:o,ndjson:{skipInvalidLines:s=!1,maxLines:i,skipLines:a}={},guard:l,onError:c,fallback:u=re}={}){if(typeof n!="string")return u!==re?u:n;let f=r?n.trim():n;if(f==="")return u!==re?u:n;let m;try{if(t==="ndjson"){let h=[],p=0,y=0,d=0;$n.lastIndex=0;let g;for(;;){g=$n.exec(f);let b=g?f.substring(d,g.index):f.substring(d);g&&(d=$n.lastIndex);let S=b.trim();if(S!==""&&(p++,a===void 0||p>a))if(!e&&!Us(S)){if(!s)throw new Error("NDJSON line is not wrapped and primitives are disallowed")}else try{if(h.push(JSON.parse(S,o)),y++,i!==void 0&&y>=i)break}catch(w){if(!s)throw w}if(!g)break}if(h.length===0)throw new Error("No valid NDJSON lines processed");m=h}else{if(!e&&!Fs(f))throw new Error("JSON string is not wrapped and primitives are disallowed");m=JSON.parse(f,o)}}catch(h){return c?.(h),u!==re?u:n}return l&&!l(m)?(c?.(new Error("Parsed value failed guard validation")),u!==re?u:n):m}function oe(n={}){let t=n.bigintStrategy??"string",e=n.handleCircular?new WeakSet:null,o=Array.isArray(n.replacer)?n.replacer.map(String):null,s=i=>t==="number"&&i<=BigInt(Number.H)&&i>=BigInt(Number.ct)?Number(i):i.toString();return function(a,l){let c=l;if(typeof n.replacer=="function")c=n.replacer.call(this,a,l);else if(o&&a!==""&&!Array.isArray(this)&&!o.includes(a))return;if(c===void 0)return;let u=c===l&&this!=null?this[a]:c;if(typeof n.onCustom=="function"){let f=n.onCustom.call(this,a,u);if(f!==u||f===void 0&&u!==void 0)return f}if(u!==null&&typeof u!="object"&&typeof u!="bigint")return c;if(e&&u!==null&&typeof u=="object"){if(a===""&&(e=new WeakSet),e.has(u))return n.onCircular?n.onCircular.call(this,a,u):"[Circular]";e.add(u)}return typeof u=="bigint"?n.voidBigIntReplacement?c:n.onBigInt?n.onBigInt(u):s(u):L(u)?n.voidTypedArrayReplacement?c:n.onTypedArray?n.onTypedArray(u):Array.from(u):Ce(u)?n.voidSetReplacement?c:n.onSet?n.onSet(u):Array.from(u):De(u)?n.voidMapReplacement?c:n.onMap?n.onMap(u):Array.from(u.entries()):bt(u)?n.voidRegExpReplacement?c:n.onRegExp?n.onRegExp(u):u.toString():M(u)?n.voidDateReplacement?c:n.onDate?n.onDate(u):n.formatDate?n.formatDate(u):u.toISOString():_r(u)?n.onError?n.onError(u):{name:u.name,message:u.message,stack:u.stack}:jr(u)?n.onURLSearchParams?n.onURLSearchParams(u):u.toString():c}}var $n,re,Us,Fs,je=R(()=>{"use strict";te();xt();$n=/\r\n|\n|\r/g,re=Symbol("no_fallback"),Us=n=>{let t=n.length;if(t<2)return!1;let e=n[0],r=n[t-1];return e==="{"&&r==="}"||e==="["&&r==="]"},Fs=n=>{let t=0,e=n.length;for(;t<e&&/\s/.test(n[t]);)t++;let r=e-1;for(;r>=t&&/\s/.test(n[r]);)r--;if(t>=r)return!1;let o=n[t],s=n[r];return o==="{"&&s==="}"||o==="["&&s==="]"}});var Z,Ut,se,St,Tt,$t,Ct,Kt,_e=R(()=>{"use strict";Z=class n{matches(t){if(t==null)return!1;if(t instanceof n)return!!(this.equals(t)||this.name.startsWith("Decimal")&&t.name.startsWith("Decimal")&&t.precision===void 0&&t.scale===void 0);if(typeof t=="function"){if(t.prototype instanceof n)return this instanceof t;try{let e=t();if(e instanceof n)return this.constructor===e.constructor}catch{}}return!1}get isNumeric(){return!1}get isInteger(){return!1}get isFloat(){return!1}get isSigned(){return!1}get isUnsigned(){return!1}get isTemporal(){return!1}get isNested(){return!1}get isBoolean(){return!1}get isString(){return!1}get isUtf8(){return!1}get isObject(){return!1}get isNull(){return!1}get isBinary(){return!1}},Ut=class extends Z{get isNumeric(){return!0}},se=class extends Ut{get isInteger(){return!0}},St=class extends se{get isSigned(){return!0}},Tt=class extends se{get isUnsigned(){return!0}},$t=class extends Ut{get isFloat(){return!0}},Ct=class extends Z{get isTemporal(){return!0}},Kt=class extends Z{get isNested(){return!0}}});var ve,Kn,Le,qn,Ve,Wn,Pe,ae,Be,Gn,$e,zn,Ke,Hn,qe,Jn,We,Yn,Ge,le,ie,ze,ue,He,qt,Je,Xn,Ye,Zn,Xe,Qn,Ze,tr,Qe,ce,tn,er,en,nr,nn,rr,rn,or,sr=R(()=>{"use strict";_e();$();ve=class extends St{name="Int8";coerce(t){return pt(t,{range:"Int8"})}equals(t){return t.name==="Int8"}allocate(t){return new Int8Array(t)}},Kn=new ve,Le=class extends St{name="Int16";coerce(t){return pt(t,{range:"Int16"})}equals(t){return t.name==="Int16"}allocate(t){return new Int16Array(t)}},qn=new Le,Ve=class extends St{name="Int32";coerce(t){return pt(t,{range:"Int32"})}equals(t){return t.name==="Int32"}allocate(t){return new Int32Array(t)}},Wn=new Ve,Pe=class extends St{name="Int64";coerce(t){return vt(t,{truncate:!0})}equals(t){return t.name==="Int64"}allocate(t){return new BigInt64Array(t)}},ae=new Pe,Be=class extends Tt{name="UInt8";coerce(t){return pt(t,{range:"UInt8"})}equals(t){return t.name==="UInt8"}allocate(t){return new Uint8Array(t)}},Gn=new Be,$e=class extends Tt{name="UInt16";coerce(t){return pt(t,{range:"UInt16"})}equals(t){return t.name==="UInt16"}allocate(t){return new Uint16Array(t)}},zn=new $e,Ke=class extends Tt{name="UInt32";coerce(t){return pt(t,{range:"UInt32"})}equals(t){return t.name==="UInt32"}allocate(t){return new Uint32Array(t)}},Hn=new Ke,qe=class extends Tt{name="UInt64";coerce(t){return vt(t,{range:"UInt64"})}equals(t){return t.name==="UInt64"}allocate(t){return new BigUint64Array(t)}},Jn=new qe,We=class extends $t{name="Float32";coerce(t){return kn(t,{floatPrecision:"Float32"})}equals(t){return t.name==="Float32"}allocate(t){return new Float32Array(t)}},Yn=new We,Ge=class extends $t{name="Float64";coerce(t){return kn(t,{floatPrecision:"Float64"})}equals(t){return t.name==="Float64"}allocate(t){return new Float64Array(t)}},le=new Ge,ie=class n extends Ut{constructor(e,r){super();this.precision=e;this.scale=r;this.name=e!==void 0&&r!==void 0?`Decimal(${e}, ${r})`:"Decimal"}precision;scale;name;coerce(e){return Oe(e,{precision:this.precision,scale:this.scale})}equals(e){return e instanceof n&&this.precision===e.precision&&this.scale===e.scale}allocate(e){return new Array(e).fill(null)}},ze=class extends Z{name="Boolean";get isBoolean(){return!0}coerce(t){return t==null?null:!!t}equals(t){return t.name==="Boolean"}allocate(t){return new Array(t).fill(null)}},ue=new ze,He=class extends Z{name="Utf8";get isString(){return!0}get isUtf8(){return!0}coerce(t){return t==null?null:String(t)}equals(t){return t.name==="Utf8"}allocate(t){return new Array(t).fill(null)}},qt=new He,Je=class extends Z{name="Binary";get isBinary(){return!0}coerce(t){return wo(t)}equals(t){return t.name==="Binary"}allocate(t){return new Array(t).fill(null)}},Xn=new Je,Ye=class extends Z{name="Null";get isNull(){return!0}coerce(t){return null}equals(t){return t.name==="Null"}allocate(t){return new Array(t).fill(null)}},Zn=new Ye,Xe=class extends Z{name="Object";get isObject(){return!0}coerce(t){return t===void 0?null:t}equals(t){return t.name==="Object"}allocate(t){return new Array(t).fill(null)}},Qn=new Xe,Ze=class extends Ct{name="Date";coerce(t){return G(t,{dateOnly:!0})}equals(t){return t.name==="Date"}allocate(t){return new Array(t).fill(null)}},tr=new Ze,Qe=class extends Ct{name="Datetime";coerce(t){return G(t)}equals(t){return t.name==="Datetime"}allocate(t){return new Array(t).fill(null)}},ce=new Qe,tn=class extends Ct{name="Time";coerce(t){return Me(t)}equals(t){return t.name==="Time"}allocate(t){return new Array(t).fill(null)}},er=new tn,en=class extends Ct{name="Duration";coerce(t){return K(t)}equals(t){return t.name==="Duration"}allocate(t){return new Array(t).fill(null)}},nr=new en,nn=class n extends Kt{constructor(e){super();this.innerType=e}innerType;name="Array";coerce(e){if(e==null)return null;let r=O(e)?Array.from(e):[e],o=r.length,s=new Array(o);for(let i=0;i<o;i++)s[i]=this.innerType.coerce(r[i]);return s}equals(e){return e instanceof n&&this.innerType.equals(e.innerType)}allocate(e){return new Array(e).fill(null)}},rr=n=>new nn(n),rn=class n extends Kt{constructor(e){super();this.fields=e}fields;name="Struct";coerce(e){if(!B(e))return null;let r={},o=Object.keys(this.fields),s=o.length;for(let i=0;i<s;i++){let a=o[i],l=this.fields[a];r[a]=l.coerce(e[a])}return r}equals(e){if(!(e instanceof n))return!1;let r=Object.keys(this.fields),o=Object.keys(e.fields);if(r.length!==o.length)return!1;for(let s=0;s<r.length;s++){let i=r[s];if(!this.fields[i].equals(e.fields[i]))return!1}return!0}allocate(e){return new Array(e).fill(null)}},or=n=>new rn(n)});var F,Dt=R(()=>{"use strict";_e();sr();sr();_e();F={Int8:Kn,Int16:qn,Int32:Wn,Int64:ae,UInt8:Gn,UInt16:zn,UInt32:Hn,UInt64:Jn,Float32:Yn,Float64:le,Decimal:(n,t)=>new ie(n,t),Boolean:ue,Utf8:qt,Binary:Xn,Date:tr,Datetime:ce,Time:er,Duration:nr,Object:Qn,Null:Zn,Array:rr,Struct:or}});function Ns(n={}){let t=n.nullValue!==void 0?n.nullValue:"",e=Kr(n.numericFormatOptions),r=n.replacerOptions||{},o=a=>n.datetimeFormat?Rt(a,{format:n.datetimeFormat}):n.dateFormat?Rt(a,{format:n.dateFormat}):n.timeFormat?Rt(a,{format:n.timeFormat}):a.toISOString(),s=oe({formatDate:o,...r}),i=typeof r.onBigInt=="function";return a=>{if(a==null||typeof a=="symbol"||typeof a=="function")return{str:t,isNumeric:!1};if(typeof a=="bigint"&&!i&&!r.voidBigIntReplacement)return{str:e(a),isNumeric:!0};let l=s.call(null,"",a),c=it(l);return c==null||typeof c=="symbol"||typeof c=="function"?{str:t,isNumeric:!1}:typeof c=="string"?{str:c,isNumeric:!1}:typeof c=="number"||typeof c=="bigint"?{str:e(c),isNumeric:!0}:typeof c=="boolean"?{str:c?"true":"false",isNumeric:!1}:typeof c=="object"?{str:JSON.stringify(c,oe({formatDate:o,...r})),isNumeric:!1}:{str:String(c),isNumeric:!1}}}function sn(n,t,e={}){let{separator:r=",",quoteChar:o='"',includeHeader:s=!0,lineTerminator:i=`
|
|
2
|
-
`,quoteStyle:
|
|
3
|
-
`)||
|
|
4
|
-
`&&m++):
|
|
5
|
-
`&&(p=!0),p?(c||i.length>0||a!==""||u)&&(i.push(a),s.push(i),i=[],a="",c=!1,u=!1):(c=!0,u=!1,a+=h)}}return(c||i.length>0||a!==""||u)&&(i.push(a),s.push(i)),s}function To(n,t={}){let e=new Set(t.nullValues??["","NA","null","NaN"]),r=n.length,o=!0,s=!0,i=!0,a=!0,l=!1;for(let u=0;u<r;u++){let f=n[u].trim();if(!e.has(f)){if(l=!0,o){let m=f.toLowerCase();m!=="true"&&m!=="false"&&m!=="1"&&m!=="0"&&(o=!1)}if(i&&vt(f,{truncate:!1})===null&&(i=!1),s&&K(f,{allowNonFiniteNumbers:!0})===null&&(s=!1),a&&G(f)===null&&(a=!1),!o&&!s&&!i&&!a)break}}let c=new Array(r);if(!l||!o&&!s&&!i&&!a){for(let u=0;u<r;u++){let f=n[u];c[u]=e.has(f.trim())?null:f}return{type:qt,values:c}}if(o){for(let u=0;u<r;u++){let f=n[u].trim();if(e.has(f))c[u]=null;else{let m=f.toLowerCase();c[u]=m==="true"||m==="1"}}return{type:ue,values:c}}if(i){for(let u=0;u<r;u++){let f=n[u].trim();c[u]=e.has(f)?null:vt(f,{truncate:!1})}return{type:ae,values:c}}if(s){for(let u=0;u<r;u++){let f=n[u].trim();c[u]=e.has(f)?null:K(f,{allowNonFiniteNumbers:!0})}return{type:le,values:c}}if(a){for(let u=0;u<r;u++){let f=n[u].trim();c[u]=e.has(f)?null:G(f)}return{type:ce,values:c}}return{type:qt,values:c}}var Co=R(()=>{"use strict";Bn();je();Xt();Dt();xt()});function js(n){return n==null?!1:typeof n=="string"||L(n)?!0:Array.isArray(n)}function wo(n){return js(n)?Object.prototype.toString.call(n)==="[object Uint8Array]"?n:typeof n=="string"?new TextEncoder().encode(n):L(n)?new Uint8Array(n.buffer.slice(n.byteOffset,n.byteOffset+n.byteLength)):new Uint8Array(n):null}var Do=R(()=>{"use strict";te()});var $=R(()=>{"use strict";xt();Xt();Bn();te();Re();je();Co();Do()});function Q(n,t,e,r=""){if(!(n in t))throw new yt(n,`${e} "${n}" does not exist${r}`)}function an(n,t){let e=Object.keys(n),r=e.length,o=t;for(let s=0;s<r;s++){let i=e[s],a=n[i],l=O(a)?a.length:0;if(o===void 0)o=l;else if(l!==o)throw new J(`Column height mismatch: Column "${i}" has length ${l}, but DataFrame height is ${o}`)}return o===void 0?0:o}var Ao=R(()=>{"use strict";rt();$()});var Ft,V,yt,Wt,at,J,rt=R(()=>{"use strict";Ao();Ft=class extends Error{constructor(t){super(t),this.name=this.constructor.name,Error.captureStackTrace&&Error.captureStackTrace(this,this.constructor)}},V=class extends Ft{},yt=class extends V{constructor(t,e){super(e||`Column "${t}" does not exist in the DataFrame.`)}},Wt=class extends Ft{},at=class extends Ft{},J=class extends Ft{}});function vs(n,t,e){let r=new Map,o=e.length,s=new Array(o);for(let i=0;i<o;i++){let a=e[i];typeof a=="string"?(Q(a,n,"Partition key"," in the DataFrame."),s[i]=n[a]):s[i]=a.evaluate(n,t)}if(o===1){let i=s[0];for(let a=0;a<t;a++){let l=i[a],c=l==null?"":W(l),u=r.get(c);u===void 0&&(u=[],r.set(c,u)),u.push(a)}return r}for(let i=0;i<t;i++){let a=new Array(o);for(let u=0;u<o;u++){let f=s[u][i];a[u]=f==null?"":W(f)}let l=a.join("\0"),c=r.get(l);c===void 0&&(c=[],r.set(l,c)),c.push(i)}return r}function ar(n,t,e){let r=new Array(e);if(e===0)return r;let o=n.p||[],s=vs(t,e,o),i=n.U(n.T,t,e);for(let a of s.values()){let l=a.length,c=new Array(l);for(let u=0;u<l;u++)c[u]=i[a[u]];if(n.b){for(let u=0;u<l;u++)r[a[u]]=n.b(c,a,u);continue}if(n.m){let u=n.m(c);for(let f=0;f<l;f++)r[a[f]]=u;continue}for(let u=0;u<l;u++)r[a[u]]=i[a[u]]}return n.v(n.T,r,t)}function lr(n){if(!Array.isArray(n)||n.length===0)return{columns:{},height:0};let t=n.length,e=new Set;for(let s=0;s<t;s++){let i=n[s];if(B(i)){let a=Object.keys(i);for(let l=0;l<a.length;l++)e.add(a[l])}}let r=Array.from(e),o={};for(let s=0;s<r.length;s++)o[r[s]]=new Array(t);for(let s=0;s<t;s++){let i=n[s]||{};for(let a=0;a<r.length;a++){let l=r[a],c=i[l];o[l][s]=c===void 0?null:c}}return{columns:o,height:t}}function ur(n,t){let e=Object.keys(n),r=new Array(t);for(let o=0;o<t;o++){let s={};for(let i=0;i<e.length;i++){let a=e[i],l=n[a][o];s[a]=l===void 0?null:l}r[o]=s}return r}function Ls(n,t,e){let r={};for(let o=0;o<e.length;o++){let s=e[o],i=n[s][t];r[s]=i===void 0?null:i}return r}function dt(n){if(n.length===0)return F.Utf8;let t=!0,e=!0,r=!0,o=!0,s=!0,i=!0,a=!0,l=!0,c=!1,u=!1,f=[];for(let m=0;m<n.length;m++){let h=n[m];if(h!=null){if(u=!0,h instanceof Uint8Array||(a=!1),!O(h)||h instanceof Uint8Array)i=!1;else{let p=h,y=p.length;for(let d=0;d<y;d++)f.push(p[d])}M(h)&&(c=!0),typeof h!="boolean"&&(t=!1),typeof h!="bigint"&&(o=!1),typeof h!="number"?(r=!1,e=!1):Number.isInteger(h)||(e=!1),!M(h)&&(typeof h!="string"||isNaN(Date.parse(h)))&&(s=!1),(!B(h)||h instanceof Uint8Array)&&(l=!1)}}if(!u)return F.Utf8;if(a)return F.Binary;if(i){let m=dt(f);return F.Array(m)}if(t)return F.Boolean;if(o)return F.Int64;if(r&&!e)return F.Float64;if(r&&e){let m=!0;for(let h=0;h<n.length;h++){let p=n[h];if(p!=null&&(p<-2147483648||p>2147483647)){m=!1;break}}return m?F.Int32:F.Float64}return s&&c?F.Datetime:l?F.Object:F.Utf8}function Gt(n,t){let e=Object.keys(n),r=e.length,o=t.length,s={};for(let i=0;i<r;i++){let a=e[i],l=n[a],c=L(l)?new l.constructor(o):new Array(o);for(let u=0;u<o;u++)c[u]=l[t[u]];s[a]=c}return s}function Mt(n,t,e){let r=t.length;if(r===1){let s=n[t[0]][e];return s==null?"":W(s)}let o=new Array(r);for(let s=0;s<r;s++){let i=n[t[s]][e];o[s]=i==null?"":W(i)}return o.join("\0")}function At(n,t,e){let r=t.allocate?t.allocate(e):new Array(e);if(L(r)){let s=r;for(let i=0;i<e;i++){let a=t.coerce(n[i]);if(a==null){let l=new Array(e);for(let c=0;c<i;c++)l[c]=s[c];l[i]=null;for(let c=i+1;c<e;c++)l[c]=t.coerce(n[c]);return l}s[i]=a}}else for(let s=0;s<e;s++)r[s]=t.coerce(n[s]);return r}function cr(n,t){if(n)if(typeof n=="string"){if(typeof require!="function")throw new Error("File writing is not supported in this environment (missing require('fs')).");require("fs").writeFileSync(n,t,"utf8")}else if(B(n)&&typeof n.write=="function")n.write(t);else throw new TypeError("Invalid file argument. Expected a file path string or a writable stream/object with a write method.")}var ln=R(()=>{"use strict";Dt();$();rt()});function Ot(n,t,e){return n.P?ar(n,t,e):n.evaluate(t,e)}var A,U,gt=R(()=>{"use strict";$();ln();A=n=>t=>{let e=t.length,r=new Array(e);for(let o=0;o<e;o++){let s=t[o];r[o]=s==null?null:n(s)}return r},U=(n,t,e)=>(r,o)=>{let s=r.length,i=n.y(t,o,s),a=new Array(s);if(O(i))for(let l=0;l<s;l++){let c=r[l],u=i[l];a[l]=c==null||u==null?null:e(c,u)}else for(let l=0;l<s;l++){let c=r[l];a[l]=c==null||i==null?null:e(c,i)}return a}});var x,j,ot=R(()=>{"use strict";rt();gt();x=(n,t)=>{let e=n.constructor,r=n.C||n.u||"",o=new e(r);return Object.assign(o,n),o.c=t?[...n.c,t]:[...n.c],o},j=class n{c=[];f="";N;L;m=null;d;T;p=null;b;v(t,e,r){let o=this.c,s=t!==void 0?t:o.length,i=e;for(let a=s;a<o.length;a++)i=o[a](i,r);return i}U(t,e,r){let o=this.Y(e,r),s=this.c,i=t!==void 0?t:s.length;for(let a=0;a<i;a++)o=s[a](o,e);return o}Y(t,e){let r=this.u;if(r&&r!=="*"&&!r.startsWith("*")&&!(r in t))throw new yt(r);return(r&&r!=="*"?t[r]:null)||new Array(e).fill(null)}y(t,e,r){return t instanceof n?t.N&&t.c.length===1?t.L:Ot(t,e,r):t}alias(t){let e=x(this);return e.f=t,e}cast(t){return x(this,e=>{let r=e.length,o=new Array(r);for(let s=0;s<r;s++)o[s]=t.coerce(e[s]);return o})}debug(t){return x(this,e=>(console.log(`[DEBUG] ${t?t+": ":""}`,e),e))}evaluate(t,e){return this.U(void 0,t,e)}}});var fe,Oo=R(()=>{"use strict";ot();gt();$();fe=class extends j{abs(){return x(this,A(Math.abs))}acos(){return x(this,A(t=>t<-1||t>1?null:Math.acos(t)))}acosh(){return x(this,A(t=>t<1?null:Math.acosh(t)))}add(t){return x(this,U(this,t,(e,r)=>e+r))}asin(){return x(this,A(t=>t<-1||t>1?null:Math.asin(t)))}asinh(){return x(this,A(Math.asinh))}atan(){return x(this,A(Math.atan))}atan2(t){return x(this,U(this,t,Math.atan2))}atanh(){return x(this,A(t=>t<=-1||t>=1?null:Math.atanh(t)))}cbrt(){return x(this,A(Math.cbrt))}ceil(){return x(this,A(Math.ceil))}clip(t=null,e=null){return x(this,A(r=>ct(r,{min:t,max:e})))}copysign(t){return x(this,U(this,t,(e,r)=>Math.abs(e)*(r>=0?1:-1)))}cos(){return x(this,A(Math.cos))}cosh(){return x(this,A(Math.cosh))}degrees(){return x(this,A(t=>t*(180/Math.PI)))}div(t){return x(this,U(this,t,(e,r)=>r===0?null:e/r))}exp(){return x(this,A(Math.exp))}expm1(){return x(this,A(Math.expm1))}floor(){return x(this,A(Math.floor))}floordiv(t){return x(this,U(this,t,(e,r)=>r===0?null:Math.floor(e/r)))}hypot(t){return x(this,U(this,t,Math.hypot))}log(t=Math.E){return x(this,A(e=>e<=0?null:t===Math.E?Math.log(e):Math.log(e)/Math.log(t)))}log1p(){return x(this,A(t=>t<=-1?null:Math.log1p(t)))}mod(t){return x(this,U(this,t,(e,r)=>r===0?null:e%r))}mul(t){return x(this,U(this,t,(e,r)=>e*r))}negate(){return x(this,A(t=>-t))}pow(t){return x(this,U(this,t,Math.pow))}radians(){return x(this,A(t=>t*(Math.PI/180)))}rand(t,{min:e=0,max:r=1,integer:o=!1}={}){return x(this,s=>{let i=s.length,a=new Float64Array(i),l=t!==void 0?Gr(t):Math.random,c=r-e;for(let u=0;u<i;u++){let f=l();a[u]=o?Math.floor(f*(c+1))+e:f*c+e}return a})}round(t=0){return x(this,A(e=>In(e,t)))}ft(t){return x(this,A(e=>z(e)?Number(e.toPrecision(t)):e))}sign(){return x(this,A(Math.sign))}sin(){return x(this,A(Math.sin))}sinh(){return x(this,A(Math.sinh))}sqrt(){return x(this,A(t=>t<0?null:Math.sqrt(t)))}sub(t){return x(this,U(this,t,(e,r)=>e-r))}tan(){return x(this,A(Math.tan))}tanh(){return x(this,A(Math.tanh))}trunc(){return x(this,A(Math.trunc))}}});var me,ko=R(()=>{"use strict";ot();gt();$();me=class extends j{and(t){return x(this,(e,r)=>{let o=e.length,s=this.y(t,r,o),i=O(s),a=new Array(o);for(let l=0;l<o;l++){let c=e[l],u=i?s[l]:s;c===!1||u===!1?a[l]=!1:c==null||u==null?a[l]=null:a[l]=!0}return a})}not(){return x(this,A(t=>!t))}or(t){return x(this,(e,r)=>{let o=e.length,s=this.y(t,r,o),i=O(s),a=new Array(o);for(let l=0;l<o;l++){let c=e[l],u=i?s[l]:s;c===!0||u===!0?a[l]=!0:c==null||u==null?a[l]=null:a[l]=!1}return a})}xor(t){return x(this,U(this,t,(e,r)=>!!e!=!!r))}}});function Io(n,t,e,r){let o=n.length,s=new Array(o);if(e&&typeof e=="object"&&"evaluate"in e){let i=e.evaluate(t,o);for(let a=0;a<o;a++){let l=n[a];if(l==null)s[a]=null;else{let c=i[a],u=new Set;if(O(c)){let m=c.length;for(let h=0;h<m;h++)u.add(W(c[h]))}else u.add(W(c));let f=u.has(W(l));s[a]=r?!f:f}}}else{let i=O(e)?e:[],a=new Set,l=i.length;for(let c=0;c<l;c++)a.add(W(i[c]));for(let c=0;c<o;c++){let u=n[c];if(u==null)s[c]=null;else{let f=a.has(W(u));s[c]=r?!f:f}}}return s}function Eo(n,t){let{frequencies:e}=wt(n,{strict:!0}),r=n.length,o=new Array(r);for(let s=0;s<r;s++){let i=e.get(n[s])||0;o[s]=t?i>1:i===1}return o}function Ro(n,t,e){let r=n.length,o=new Array(r);if(O(t))for(let s=0;s<r;s++){let i=n[s],a=t[s];i==null&&a==null?o[s]=!e:i==null||a==null?o[s]=e:o[s]=e?i!==a:i===a}else for(let s=0;s<r;s++){let i=n[s];i==null&&t==null?o[s]=!e:i==null||t==null?o[s]=e:o[s]=e?i!==t:i===t}return o}var pe,Uo=R(()=>{"use strict";ot();gt();$();pe=class extends j{between(t,e,r="both"){return x(this,(o,s)=>{let i=o.length,a=this.y(t,s,i),l=this.y(e,s,i),c=new Array(i),u=O(a),f=O(l);for(let m=0;m<i;m++){let h=o[m],p=u?a[m]:a,y=f?l[m]:l;if(h==null||p==null||y==null)c[m]=null;else{let d=r==="both"||r==="left"?h>=p:h>p,g=r==="both"||r==="right"?h<=y:h<y;c[m]=d&&g}}return c})}eq(t){return x(this,U(this,t,(e,r)=>e===r))}mt(t){return x(this,(e,r)=>{let o=this.y(t,r,e.length);return Ro(e,o,!1)})}ge(t){return x(this,U(this,t,(e,r)=>e>=r))}gt(t){return x(this,U(this,t,(e,r)=>e>r))}pt(){return this.l(t=>{for(let e=0;e<t.length;e++)if(t[e]==null)return!0;return!1})}ht(t,{yt:e=1e-8,bt:r=1e-8,xt:o=!1}={}){return x(this,(s,i)=>{let a=s.length,l=this.y(t,i,a),c=O(l),u=new Array(a);for(let f=0;f<a;f++){let m=s[f],h=c?l[f]:l;if(m==null||h==null)u[f]=null;else if(z(m)&&z(h)){let p=Math.abs(m-h),y=Math.max(r*Math.max(Math.abs(m),Math.abs(h)),e);u[f]=p<=y}else Number.isNaN(m)&&Number.isNaN(h)?u[f]=o:u[f]=m===h}return u})}wt(){return x(this,t=>Eo(t,!0))}St({ignoreNulls:t=!1}={}){return x(this,A(e=>typeof e=="string"?e.length===0:O(e)?t?H(e,"nullish",{mode:"every"}):e.length===0:null))}Tt(){return x(this,A(Number.isFinite))}Ct(t){return x(this,(e,r)=>Io(e,r,t,!1))}Dt(){return x(this,A(t=>t===1/0||t===-1/0))}At(){return x(this,A(Number.isNaN))}Ot(){return x(this,A(t=>!Number.isNaN(t)))}B(){return x(this,t=>{let e=t.length,r=new Array(e);for(let o=0;o<e;o++)r[o]=t[o]!=null;return r})}kt(){return x(this,t=>{let e=t.length,r=new Array(e);for(let o=0;o<e;o++)r[o]=t[o]==null;return r})}Et(){return x(this,t=>Eo(t,!1))}le(t){return x(this,U(this,t,(e,r)=>e<=r))}lt(t){return x(this,U(this,t,(e,r)=>e<r))}ne(t){return x(this,U(this,t,(e,r)=>e!==r))}It(t){return x(this,(e,r)=>{let o=this.y(t,r,e.length);return Ro(e,o,!0)})}Rt(t){return x(this,(e,r)=>Io(e,r,t,!0))}}});var un,he,Fo=R(()=>{"use strict";ot();gt();$();un=class{constructor(t){this.expr=t}expr;r(t){return x(this.expr,A(e=>t(String(e))))}O(t,e){return t==null?x(this.expr,r=>new Array(r.length).fill(null)):e()}concat(t){return x(this.expr,U(this.expr,t,(e,r)=>String(e)+String(r)))}contains(t){return this.O(t,()=>this.r(e=>bt(t)?t.test(e):e.includes(t)))}X(t){return this.O(t,()=>this.r(e=>{if(bt(t)){let r=t.global?t:new RegExp(t.source,t.flags+"g"),o=e.match(r);return o?o.length:0}else{let r=0,o=e.indexOf(t);for(;o!==-1;)r++,o=e.indexOf(t,o+t.length);return r}}))}Ft(){return this.r(t=>{try{return decodeURIComponent(t)}catch{return t}})}Ut(){return this.r(t=>{try{return encodeURIComponent(t)}catch{return t}})}Nt(t){return this.r(e=>e.endsWith(t))}explode(){return this.r(t=>t.split(""))}extract(t,e=0){return this.O(t,()=>this.r(r=>{let o=r.match(t);return o&&o[e]!==void 0?o[e]:null}))}len(){return this.Z()}Mt(){return this.r(t=>new TextEncoder().encode(t).length)}Z(){return this.r(t=>t.length)}lower(){return this.r(t=>t.toLowerCase())}lpad(t,e=" "){return this.r(r=>r.padStart(t,e))}jt(t,e=" "){return this.rpad(t,e)}_t(t,e=" "){return this.lpad(t,e)}replace(t,e){return this.O(t,()=>this.r(r=>r.replace(t,e)))}vt(t,e){return this.O(t,()=>this.r(r=>r.replaceAll(t,e)))}reverse(){return this.r(t=>t.split("").reverse().join(""))}rpad(t,e=" "){return this.r(r=>r.padEnd(t,e))}slice(t,e){return this.r(r=>{let o=t<0?r.length+t:t,s=e!==void 0?o+e:void 0;return r.slice(o,s)})}split(t){return this.r(e=>e.split(t))}Lt(t){return this.r(e=>e.startsWith(t))}Q(t,e){return this.r(r=>Pt(r,t,{mode:"both",...e}))}tt(t,e){return this.r(r=>Pt(r,t,{mode:"end",...e}))}et(t,e){return this.r(r=>Pt(r,t,{mode:"start",...e}))}Vt(t){return this.r(e=>Pt(e,t,{mode:"start",maxScanStart:1,maxMatchesStart:1,returnStringOnNull:!0,stringOptions:{literal:!0}}))}Pt(t){return this.r(e=>Pt(e,t,{mode:"end",maxScanEnd:1,maxMatchesEnd:1,returnStringOnNull:!0,stringOptions:{literal:!0}}))}strptime(t){return this.r(e=>go(e,t))}Bt(){return this.r(t=>ee(t,{format:"camel"}))}$t(){return this.r(t=>G(t,{dateOnly:!0}))}Kt(){return this.r(G)}qt(t,e){return this.r(r=>Oe(r,{precision:t,scale:e}))}Jt(){return this.r(t=>pt(t))}Wt(){return this.r(t=>ee(t,{format:"kebab"}))}Gt(){return this.lower()}zt(){return this.r(t=>ee(t,{format:"pascal"}))}Ht(){return this.r(t=>ee(t,{format:"snake"}))}Yt(){return this.r(Me)}Xt(){return this.r(t=>t.replace(/\b\w/g,e=>e.toUpperCase()))}Zt(){return this.upper()}trim(){return this.Q()}Qt(){return this.tt()}te(){return this.et()}upper(){return this.r(t=>t.toUpperCase())}zfill(t){return this.r(e=>e.padStart(t,"0"))}},he=class extends j{get str(){return new un(this)}}});var ye,Mo=R(()=>{"use strict";ot();gt();rt();$();ye=class extends j{l(t){let e=x(this);return e.m=t,e.d=this.c.length,e.T=this.c.length,e}k(t,e){return x(this,U(this,t,(r,o)=>[r,o])).l(e)}all(){return this.l(t=>H(t,e=>!!e,{mode:"every"}))}ee(){return this.l(t=>H(t,"nullish",{mode:"every"}))}any(){return this.l(t=>H(t,e=>!!e,{mode:"some"}))}re(){return this.l(t=>H(t,"nullish",{mode:"some"}))}avg(){return this.l(t=>N(t).mean)}corr(t){return this.k(t,e=>En(e)?.correlation??null)}count(t={}){return t.includeNulls?this.l(e=>e.length):this.l(e=>N(e).count)}cov(t){return this.k(t,e=>En(e)?.covariance??null)}dot(t){return this.k(t,e=>eo(e))}first(){return this.l(t=>t[0]??null)}implode(){return this.l(t=>t)}last(){return this.l(t=>t[t.length-1]??null)}max(){return this.l(t=>N(t).max)}mean(){return this.avg()}median(){return this.l(t=>Vt(t))}min(){return this.l(t=>N(t).min)}mode(){return this.l(t=>Ee(t))}nt(t={}){return this.l(e=>wt(e,t).count)}oe(){return this.l(t=>N(t).nullCount)}quantile(t){if(t<0||t>1)throw new at("Quantile q must be between 0 and 1");return this.l(e=>Ie(e,t))}se(t){return this.k(t,e=>to(e))}std(){return this.l(t=>N(t).std)}sum(){return this.l(t=>N(t).sum)}ie(t){return this.k(t,e=>no(e))}}});function fr(n,t,e={}){if(t==null)return null;let r=e.dense?"_denseRankCache":"_rankCache",o=n[r];if(!o){let s=n;if(e.ignoreNulls){s=[];let l=n.length;for(let c=0;c<l;c++)n[c]!=null&&s.push(n[c])}e.dense&&(s=Array.from(new Set(s)));let i=Qt(s);o=new Map;let a=i.length;for(let l=0;l<a;l++){let c=i[l];o.has(c)||o.set(c,l+1)}n[r]=o}return o.get(t)??null}var de,No=R(()=>{"use strict";ot();$();de=class extends j{p=this.p||null;x(t){let e=x(this);return e.T=this.c.length,e.d=this.c.length,e.b=t,e}g(t,e){return this.x(function(r,o,s){let i=Math.max(0,s-t+1),a=s+1,l=r.slice(i,a);return e(l)})}I(t,e,r,o){return this.x(function(s,i,a){let l=e,c=!1,u=t?a:0,f=t?s.length-1:a;for(let m=u;m<=f;m++){let h=s[m];h!=null&&(l=r(l,h),c=!0)}return o?o(l,c):l})}get P(){return this.p!==null||this.b!==void 0||this.m!==null}ae(t=!1){return this.I(t,0,e=>e+1)}ue(t=!1){return this.I(t,null,(e,r)=>e===null||r>e?r:e)}ce(t=!1){return this.I(t,null,(e,r)=>e===null||r<e?r:e)}fe(t=!1){return this.I(t,1,(e,r)=>e*r,(e,r)=>r?e:null)}me(t=!1){return this.I(t,0,(e,r)=>e+r)}pe(){return this.x(function(t,e,r){return fr(t,t[r],{dense:!0})})}lag(t=1,e=null){return this.x(function(r,o,s){let i=e;return s-t>=0&&(i=r[s-t]),i})}lead(t=1,e=null){return this.x(function(r,o,s){let i=e;return s+t<r.length&&(i=r[s+t]),i})}over(t){let e=x(this),r=Array.isArray(t)?t:[t];return e.p=r,e}rank(){return this.x(function(t,e,r){return fr(t,t[r])})}he(t){return this.g(t,e=>N(e).max)}ye(t){return this.g(t,e=>N(e).mean)}de(t){return this.g(t,e=>Vt(e))}be(t){return this.g(t,e=>N(e).min)}xe(t,e){return this.g(e,r=>Ie(r,t))}we(t){return this.g(t,e=>fr(e,e[e.length-1],{ignoreNulls:!0}))}Se(t){return this.g(t,e=>N(e).std)}Te(t){return this.g(t,e=>N(e).sum)}Ce(){let t=this.x(function(e,r,o){return o+1});return t.f="row_number",t}}});var cn,ge,jo=R(()=>{"use strict";ot();gt();$();cn=class{constructor(t){this.expr=t}expr;i(t){return x(this.expr,A(e=>{let r=G(e);return r?t(r):null}))}w(t){return x(this.expr,A(e=>typeof e=="number"?t(e):null))}century(){return this.i(mo)}date(){return this.i(t=>new Date(Date.UTC(t.getUTCFullYear(),t.getUTCMonth(),t.getUTCDate())))}day(){return this.i(t=>t.getUTCDate())}De(){return this.i(t=>{let e=Ne(t,1,0);return e?e.getUTCDate():null})}epoch(t="ms"){return this.i(e=>fo(e,t))}hour(){return this.i(t=>t.getUTCHours())}Ae(t={}){return this.i(e=>bo(e,t))}Oe(){return this.i(vn)}rt(){return this.i(t=>jn(t,{field:"week"}))}ke(){return this.i(t=>jn(t,{field:"year"}))}microsecond(){return this.i(t=>t.getUTCMilliseconds()*1e3)}millennium(){return this.i(po)}millisecond(){return this.i(t=>t.getUTCMilliseconds())}minute(){return this.i(t=>t.getUTCMinutes())}month(){return this.i(t=>t.getUTCMonth()+1)}Ee(){return this.i(t=>Ne(t,1,0))}Ie(){return this.i(t=>Ne(t,0,1))}nanosecond(){return this.i(t=>t.getUTCMilliseconds()*1e6)}Re(t,{excludeWeekdays:e=[0,6],...r}={}){let o={excludeWeekdays:e,...r};return x(this.expr,U(this.expr,t,(s,i)=>{let a=G(s);return a?Vn(a,i,o):null}))}Fe(t,e={}){return x(this.expr,U(this.expr,t,(r,o)=>{let s=G(r);return s?Vn(s,o,e):null}))}Ue(){return this.i(_n)}quarter(){return this.i(ho)}second(){return this.i(t=>t.getUTCSeconds())}strftime(t){return this.i(e=>Rt(e,t))}time(){return this.i(t=>t.toISOString().split("T")[1].slice(0,12))}timestamp(t="ms"){return this.epoch(t)}Ne(t){return this.strftime(t)}Me(){return this.w(t=>t/864e5)}je(){return this.w(t=>t/36e5)}_e(){return this.w(t=>t*1e3)}ve(){return this.w(t=>t)}Le(){return this.w(t=>t/6e4)}Ve(){return this.w(t=>t*1e6)}Pe(){return this.w(t=>t/1e3)}Be(t,e={}){return x(this.expr,A(r=>{let o=G(r);return o?Pn(o,t,e):null}))}week(){return this.rt()}weekday(){return this.i(t=>t.getUTCDay()||7)}year(){return this.i(t=>t.getUTCFullYear())}},ge=class extends j{get dt(){return new cn(this)}}});var fn,be,_o=R(()=>{"use strict";ot();gt();$();_t();fn=class{constructor(t){this.expr=t}expr;s(t){return x(this.expr,A(e=>O(e)?t(e):null))}all(){return this.s(t=>H(t,e=>!!e,{mode:"every"}))}any(){return this.s(t=>H(t,e=>!!e,{mode:"some"}))}contains(t){return this.s(e=>e.includes(t))}$e(t){return this.s(e=>H(t,r=>e.includes(r),{mode:"every"}))}Ke(t){return this.s(e=>H(t,r=>e.includes(r),{mode:"some"}))}X(t,e={}){return this.s(r=>wt(r,e).frequencies.get(t)??0)}filter(t){return x(this.expr,(e,r)=>{let o=e.length,s=new Array(o),i=Object.create(r);for(let a=0;a<o;a++){let l=e[a];if(!O(l)){s[a]=null;continue}let c=l.length;i[jt]=l;let u=Ot(t,i,c),f=[];if(O(u)){let m=Math.min(c,u.length);for(let h=0;h<m;h++)u[h]&&f.push(l[h])}else if(u)for(let m=0;m<c;m++)f.push(l[m]);s[a]=f}return s})}explode({qe:t=!0,Je:e=!0}={}){return x(this.expr,r=>{let o=r.length,s=0;for(let c=0;c<o;c++){let u=r[c];if(O(u)){s+=u.length||(t?1:0);continue}if(u!=null){s+=1;continue}e&&(s+=1)}let i=new Array(s),a=new Int32Array(s),l=0;for(let c=0;c<o;c++){let u=r[c];if(O(u)){let f=u.length;if(f>0){for(let m=0;m<f;m++)a[l]=c,i[l++]=u[m];continue}t&&(a[l]=c,i[l++]=null);continue}if(u!=null){a[l]=c,i[l++]=u;continue}e&&(a[l]=c,i[l++]=null)}return i.rowMap=a,i})}first(t=!0){return this.get(0,t)}gather(t,e=!0){return this.s(r=>{let o=typeof t=="number"?[t]:t,s=o.length,i=new Array(s);for(let a=0;a<s;a++)i[a]=ke(r,o[a],e);return i})}We(t={}){return this.s(e=>Yr(e,t))}get(t,e=!0){return this.s(r=>ke(r,t,e))}join(t=",",e={}){return this.s(r=>Xr(r,t,e))}last(t=!0){return this.get(-1,t)}len(){return this.lengths()}lengths(){return this.s(t=>t.length)}max(){return this.s(t=>N(t).max)}Ge(){return this.s(t=>N(t).maxIdx)}mean(){return this.s(t=>N(t).mean)}median(){return this.s(t=>Vt(t))}min(){return this.s(t=>N(t).min)}ze(){return this.s(t=>N(t).minIdx)}mode(){return this.s(t=>Ee(t))}nt(t={}){return this.s(e=>wt(e,t).count)}reverse(){return this.s(t=>t.slice().reverse())}shift(t=1){return this.s(e=>Qr(e,t))}slice(t,e){return this.s(r=>r.slice(t,e))}splice(t,e,...r){return this.s(o=>{let s=[...o];return s.splice(t,e??s.length,...r),s})}sort(t){return this.s(e=>Qt(e,t))}std(){return this.s(t=>N(t).std)}sum(){return this.s(t=>N(t).sum)}He({Ye:t,fields:e}={}){return x(this.expr,r=>{let o=r.length,s=new Array(o),i=0;if(Array.isArray(e))i=e.length;else if(typeof t=="number")i=t;else for(let l=0;l<o;l++){let c=r[l];O(c)&&c.length>i&&(i=c.length)}if(i===0)throw new Error("to_struct cannot be evaluated: struct width is 0. Provide an upper_bound, non-empty fields names, or non-empty lists.");let a=new Array(i);for(let l=0;l<i;l++)typeof e=="function"?a[l]=e(l):a[l]=(Array.isArray(e)?e[l]:null)??`field_${l}`;for(let l=0;l<o;l++){let c=r[l];if(!O(c)){s[l]=null;continue}let u={};for(let f=0;f<i;f++)u[a[f]]=ke(c,f,!0);s[l]=u}return s})}unique(t={}){return this.s(e=>wt(e,t).values)}variance(){return this.s(t=>N(t).variance)}eval(t){return x(this.expr,(e,r)=>{let o=e.length,s=new Array(o);for(let i=0;i<o;i++){let a=e[i];if(!O(a)){s[i]=null;continue}let l=a.length,c={...r,[jt]:a};if(t.m!=null&&(t.p==null||t.p.length===0)){let f=t.d!==void 0?t.d:t.c.length,m=t.U(f,c,l),h=t.m(Array.from(m));s[i]=t.v(f,[h],c)}else s[i]=Ot(t,c,l)}return s})}},be=class extends j{get arr(){return new fn(this)}}});var mn,vo=R(()=>{"use strict";ot();$();mn=class extends j{$({value:t=void 0,strategy:e=void 0,limit:r=void 0}={}){return x(this,(o,s)=>{let i=o.length,a=Array.from(o);if(e!==void 0)if(e==="zero"||e==="one"||e==="min"||e==="max"||e==="mean"){let l;e==="zero"?l=0:e==="one"?l=1:l=N(o)[e],Et(a,l,{mode:"constant",condition:c=>c==null})}else if(e==="forward"||e==="backward"){let l=e==="forward",c=null,u=0;Et(a,null,{mode:"independent",reverse:!l,step:({originalValue:f})=>f!=null?(c=f,u=0,f):c!==null&&(r===void 0||u<r)?(u++,c):null})}else throw new Error(`Unsupported fill_null strategy: "${e}"`);else{let l=this.y(t,s,i),c=O(l);Et(a,null,{mode:"independent",step:({index:u,originalValue:f})=>f??(c?l[u]:l)})}return a})}reverse(){return x(this,t=>t.slice().reverse())}}});var Lo={};wr(Lo,{ColumnExpr:()=>k,resolveColumnSelectors:()=>kt});function Bs(n,t){for(let e of t)for(let r of Object.getOwnPropertyNames(e.prototype))r!=="constructor"&&Object.defineProperty(n.prototype,r,Object.getOwnPropertyDescriptor(e.prototype,r)||Object.create(null))}function $s(n,t,e,r){if(!(n instanceof k)){if(B(n)&&"evaluate"in n&&!n.u){let o=[];for(let s=0;s<t.length;s++)e.has(t[s])||o.push(t[s]);return o}return null}if(n.C&&n.C.length>0)return n.C;if(n.u==="*"){let o=new Set(n.K),s=[];for(let i=0;i<t.length;i++){let a=t[i];!o.has(a)&&!e.has(a)&&s.push(a)}return s}if(n.M||n.D&&n.D.length>0){if(!r)throw new Error("Cannot resolve DataType column selector without DataFrame schema.");let o=[];for(let s=0;s<t.length;s++){let i=t[s];if(e.has(i))continue;let a=r[i];if(a){if(n.M)a.matches(n.M)&&o.push(i);else if(n.D){for(let l=0;l<n.D.length;l++)if(a.matches(n.D[l])){o.push(i);break}}}}return o}return null}function kt(n,t,e,r,o){let s=[],i=e?new Set(e):new Set;for(let a=0;a<n.length;a++){let l=n[a];if(typeof l=="string"){s.push(new k(l));continue}if(B(l)&&l.isUnnest){let u=[],f=l.u;if(typeof f=="string"&&r&&r[f]&&r[f].name==="Struct"&&(u=Object.keys(r[f].fields)),u.length===0&&o){let p=Object.keys(o)[0],y=p?o[p].length:0,d=l.baseExpr.evaluate(o,y),g=d.length;for(let b=0;b<g;b++){let S=d[b];if(S!=null&&typeof S=="object"){u=Object.keys(S);break}}}let m=u.length;if(m>0){for(let h=0;h<m;h++){let p=u[h],y=l.baseExpr.struct.field(p);s.push(y)}continue}}let c=$s(l,t,i,r);if(c!==null)for(let u=0;u<c.length;u++){let f=new k(c[u]);f.c=[...l.c||[]],f.m=l.m,f.T=l.T,f.d=l.d,f.p=l.p,l.b&&(f.b=l.b),l.f&&l.f!=="*"&&(f.f=l.f),s.push(f)}else s.push(l)}return s}var k,ft=R(()=>{"use strict";ot();Oo();Uo();Mo();No();Fo();ko();jo();_o();Vo();vo();$();Dt();k=class n extends j{u="";C;K=[];M;D;static isColExpr(t){if(!B(t))return!1;try{return"evaluate"in t&&typeof t.evaluate=="function"}catch{return!1}}static toColExpr(t){if(t==null)throw new Error("Column reference cannot be null or undefined.");return n.isColExpr(t)?t:new n(t)}constructor(t){super(),Array.isArray(t)?t.some(r=>r instanceof Z||typeof r=="function")?this.D=t:this.C=t.map(String):t instanceof Z||typeof t=="function"?this.M=t:(this.u=String(t),this.f=this.u)}};Bs(k,[fe,pe,ye,de,he,me,ge,be,xe,mn])});function Po(n){if(n==null)throw new Error("Column reference cannot be null or undefined.");return pn||(pn=(ft(),Sr(Lo)).ColumnExpr),pn.isColExpr(n)?n:new pn(n)}var pn,hn,xe,Vo=R(()=>{"use strict";ot();pn=null;hn=class{constructor(t){this.expr=t;return new Proxy(this,{get(e,r,o){return r in e?Reflect.get(e,r,o):typeof r=="string"?e.field(r):Reflect.get(e,r,o)}})}expr;field(t){return x(this.expr,e=>{let r=e.length,o=new Array(r);for(let s=0;s<r;s++){let i=e[s];o[s]=i!=null&&typeof i=="object"?i[t]:null}return o}).alias(t)}Xe(t){return x(this.expr,e=>{let r=e.length,o=new Array(r),s=Object.keys(t),i=s.length;for(let a=0;a<r;a++){let l=e[a];if(l==null||typeof l!="object"){o[a]=null;continue}let c={},u=Object.keys(l),f=u.length;for(let m=0;m<f;m++){let h=u[m];c[h]=l[h]}for(let m=0;m<i;m++){let h=s[m];if(h in c){let p=t[h];c[p]=c[h],delete c[h]}}o[a]=c}return o})}ot(t){return x(this.expr,(e,r)=>{let o=e.length,s=new Array(o),i=[];if(Array.isArray(t)){let c=t.length;for(let u=0;u<c;u++){let f=t[u],m=Po(f),h=m.f||m.u;if(!h)throw new Error("Expressions passed to struct.with_fields must have a name/alias.");i.push({name:h,expr:m})}}else if(t&&typeof t=="object"){let c=Object.keys(t),u=c.length;for(let f=0;f<u;f++){let m=c[f],h=Po(t[m]);i.push({name:m,expr:h})}}let a=i.length,l=new Array(a);for(let c=0;c<a;c++)l[c]=i[c].expr.evaluate(r,o);for(let c=0;c<o;c++){let u=e[c];if(u==null||typeof u!="object"){s[c]=null;continue}let f={},m=Object.keys(u),h=m.length;for(let p=0;p<h;p++){let y=m[p];f[y]=u[y]}for(let p=0;p<a;p++)f[i[p].name]=l[p][c];s[c]=f}return s})}unnest(){let t=x(this.expr);return t.isUnnest=!0,t.baseExpr=this.expr,t}},xe=class extends j{get struct(){return new hn(this)}}});var Gs={};wr(Gs,{$df:()=>Ws,ALL_COLUMNS_MARKER:()=>et,AggregationExpr:()=>ye,ArithmeticExpr:()=>fe,Array:()=>rr,ArrayDataType:()=>rr,ArrayExpr:()=>be,ArrayExprNamespace:()=>fn,ArrayType:()=>nn,Binary:()=>Xn,BinaryType:()=>Je,Boolean:()=>ue,BooleanDataType:()=>ue,BooleanType:()=>ze,COALESCE_MARKER:()=>Sn,ColumnExpr:()=>k,ColumnNotFoundError:()=>yt,ComparisonExpr:()=>pe,ComputeError:()=>at,DFScriptError:()=>Ft,DataFrame:()=>_,DataFrameError:()=>V,DataType:()=>Z,DataTypeRegistry:()=>F,Date:()=>tr,DateDataType:()=>tr,DateTimeExprNamespace:()=>cn,DateType:()=>Ze,Datetime:()=>ce,DatetimeType:()=>Qe,DecimalType:()=>ie,Duration:()=>nr,DurationType:()=>en,ELEMENT_MARKER:()=>jt,ExprBase:()=>j,Float32:()=>Yn,Float32Type:()=>We,Float64:()=>le,Float64Type:()=>Ge,FloatDataType:()=>$t,GroupedData:()=>Te,Int16:()=>qn,Int16Type:()=>Le,Int32:()=>Wn,Int32Type:()=>Ve,Int64:()=>ae,Int64Type:()=>Pe,Int8:()=>Kn,Int8Type:()=>ve,IntegerDataType:()=>se,LITERAL_MARKER:()=>wn,LogicalExpr:()=>me,NestedDataType:()=>Kt,Null:()=>Zn,NullType:()=>Ye,NumericDataType:()=>Ut,Object:()=>Qn,ObjectDataType:()=>Qn,ObjectType:()=>Xe,STRUCT_MARKER:()=>Tn,SchemaError:()=>Wt,ShapeError:()=>J,SignedIntegerType:()=>St,StringExpr:()=>he,StringExprNamespace:()=>un,Struct:()=>or,StructExpr:()=>xe,StructExprNamespace:()=>hn,StructType:()=>rn,TemporalDataType:()=>Ct,TemporalExpr:()=>ge,Time:()=>er,TimeType:()=>tn,UInt16:()=>zn,UInt16Type:()=>$e,UInt32:()=>Hn,UInt32Type:()=>Ke,UInt64:()=>Jn,UInt64Type:()=>qe,UInt8:()=>Gn,UInt8Type:()=>Be,UnsignedIntegerType:()=>Tt,Utf8:()=>qt,Utf8Type:()=>He,When:()=>dn,WhenThen:()=>Se,WhenThenChain:()=>yn,WindowExpr:()=>de,all:()=>zt,assertColumnExists:()=>Q,assertHeight:()=>an,coalesce:()=>pr,coerceColumn:()=>At,columnsToRows:()=>ur,computeRowHash:()=>Mt,concat:()=>Ht,derive:()=>x,element:()=>dr,evaluateExpression:()=>Ot,exclude:()=>mr,gatherColumnsByIndices:()=>Gt,getRowFromColumns:()=>Ls,implode:()=>yr,inferColumnType:()=>dt,kleeneBinary:()=>U,kleeneUnary:()=>A,lit:()=>we,read_csv:()=>bn,read_json:()=>gn,resolveColumnSelectors:()=>kt,resolveWindowExpr:()=>ar,rowsToColumns:()=>lr,seq_range:()=>Nt,struct:()=>gr,when:()=>hr,writeStringToFileOrStream:()=>cr});module.exports=Sr(Gs);ft();_t();rt();$();function Nt(n,t={strict:!0}){let e=t,r=new k(wn);return r.L=n,e.name&&(r.f=e.name),r.c.push(o=>{let s=o.length,i=(C,T)=>C===void 0?T:ct(C<0?s+C:C,{min:0,max:s}),a=i(e.startIndex,0),l=i(e.endIndex,s),c=Math.max(0,l-a),u=e.n!==void 0?e.n:c,f=e.strict!==!1;if(f){if(u!==s)throw new J(`Column height mismatch: seq_range length ${u} does not match DataFrame height ${s}`)}else{let C=e.pad??!1,T=e.truncate??!1;if(C&&!T&&u>c)throw new J(`Cannot pad seq_range output: specified length ${u} starting at index ${a} exceeds slice width ${c} (requires truncation).`);if(T&&!C&&u<c)throw new J(`Cannot truncate seq_range output: specified length ${u} starting at index ${a} is less than slice width ${c} (requires padding).`)}let m=s,h=!!e.dtype,p=e.mode||"cumulative",y=e.step!==void 0?e.step:1,d=h?C=>e.dtype.coerce(C):C=>C;if(f){let C=e.dtype?.allocate?e.dtype.allocate(m):new Array(m);return Et(C,n,{mode:p,step:y,coerce:d,startIndex:0,endIndex:m}),C}let g=Math.min(a+u,l),b=e.padValue!==void 0?e.padValue:null,S=d(b);if(p==="constant"&&a===0&&g===m&&!e.dtype){let C=new Array(m);for(let T=0;T<m;T++)C[T]=n;return C}let w=new Array(m);return w.fill(S),Et(w,n,{mode:p,step:y,coerce:d,startIndex:a,endIndex:g}),w}),r}function we(n,t){let e=Nt(n,{strict:!0,mode:"constant",dtype:t?.dtype,name:t?.name});return e.N=!0,e}ft();function zt(){return new k("*")}ft();function mr(n){let t=new k("*");return t.K=Array.isArray(n)?n:[n],t}ft();$();_t();function pr(...n){let t=n.length===1&&Array.isArray(n[0])?n[0]:n,e=new k(Sn);return e.c.push((r,o)=>{let s=r.length,i=u=>k.isColExpr(u)?u.evaluate(o,s):typeof u=="string"?o[u]||new Array(s).fill(null):u,a=t.length,l=new Array(a);for(let u=0;u<a;u++)l[u]=i(t[u]);let c=new Array(s);for(let u=0;u<s;u++){let f=null;for(let m=0;m<a;m++){let h=l[m],p=O(h)?h[u]:h;if(p!=null){f=p;break}}c[u]=f}return c}),e}ft();$();var yn=class{h;S;constructor(t,e){this.h=t,this.S=e}then(t){return new Se(this.h,this.S.concat(t))}},dn=class{h;constructor(t){this.h=[t]}then(t){return new Se(this.h,[t])}},Se=class n extends k{h;S;q;constructor(t,e,r=null){super(typeof t=="string"?t:"*when*"),this.h=Array.isArray(t)?t:[],this.S=e||[],this.q=r,this.c.push((o,s)=>{let i=o.length,a=h=>k.isColExpr(h)?h.evaluate(s,i):typeof h=="string"&&h in s?s[h]:h,l=this.h.length,c=new Array(l),u=new Array(l);for(let h=0;h<l;h++)c[h]=a(this.h[h]),u[h]=a(this.S[h]);let f=a(this.q),m=new Array(i);for(let h=0;h<i;h++){let p=!1;for(let y=0;y<l;y++)if((O(c[y])?c[y][h]:c[y])===!0){m[h]=O(u[y])?u[y][h]:u[y],p=!0;break}p||(m[h]=O(f)?f[h]:f)}return m})}when(t){return new yn(this.h.concat(t),this.S)}otherwise(t){return new n(this.h,this.S,t)}};function hr(n){return new dn(n)}ft();function yr(n){return k.toColExpr(n).implode()}ft();_t();function dr(){return new k(jt)}ft();_t();function gr(n,...t){let e;Array.isArray(n)||n&&typeof n=="object"&&!k.isColExpr(n)?e=n:e=[n,...t];let r=we({}).struct.ot(e);return delete r.N,delete r.L,r.u=Tn,r.alias("struct")}ln();var Te=class{A;R;V;F;J;j;constructor(t,e,r,o,s,i){this.A=t,this.R=e,this.V=r,this.F=o,this.J=s,this.j=i}Ze(){let t=this.R.length,e=new Array(t);for(let a=0;a<t;a++)e[a]=String(this.R[a]);let r=this.A.size,o={};for(let a=0;a<e.length;a++)o[e[a]]=new Array(r);let s=0;for(let a of this.A.values()){if(a.length===0)continue;let l=a[0];for(let c=0;c<e.length;c++){let u=e[c],f=this.F[u][l];o[u][s]=f===void 0?null:f}s++}let i={};for(let a of e)i[a]=this.j[a];return _.a(o,i,s)}agg(...t){let e=this.V.length,r=new Array(e);for(let f=0;f<e;f++)r[f]=String(this.V[f]);let o=this.R.length,s=new Array(o);for(let f=0;f<o;f++)s[f]=String(this.R[f]);let i=kt(t.flat(),r,s,this.j,this.F),a=this.A.size,l={};for(let f=0;f<s.length;f++)l[s[f]]=new Array(a);let c=0;for(let f of this.A.values()){if(f.length===0)continue;let m=f[0];for(let h=0;h<s.length;h++){let p=s[h],y=this.F[p][m];l[p][c]=y===void 0?null:y}c++}for(let f=0;f<i.length;f++){let m=i[f],h=m.f||m.u||"*";if(!m.m)l[h]=m.evaluate(l,a);else{let p=m.U(m.d,this.F,this.J),y=new Array(a),d=0;for(let g of this.A.values()){if(g.length===0)continue;let b=new Array(g.length);for(let S=0;S<g.length;S++)b[S]=p[g[S]];y[d]=m.m(b),d++}l[h]=m.v(m.d,y,l)}}let u={};for(let f of s)u[f]=this.j[f];for(let f of i){let m=f.f||f.u||"*";u[m]=dt(l[m])}return _.a(l,u,c)}};je();Dt();$();rt();Dt();$();rt();function Ks(n,t,e){if(n==null)throw new V(`Invalid input to ${t} at index ${e}: item cannot be null or undefined.`);if(n instanceof _)return[n];if(It(n))return[new _(n)];if(O(n)){if(H(n,_,{mode:"every"}))return n;if(H(n,"plainObject",{mode:"every"}))return[new _(n)];let r=H(n,_,{mode:"some"});for(let o=0;o<n.length;o++)if(r?!(n[o]instanceof _):!It(n[o]))throw new V(r?`Invalid input to ${t} at index ${e}, sub-index ${o}: nested array must contain only DataFrame instances.`:`Invalid input to ${t} at index ${e}, row ${o}: rows must be plain objects.`)}throw new V(`Invalid input to ${t} at index ${e}: expected DataFrame, row array, or column dictionary.`)}function Ht(n,{how:t="vertical",horizontal:e}={}){if(n==null)throw new V("Invalid input to concat: rawItems cannot be null or undefined.");let r=Array.isArray(n)?n:[n],o=[];for(let i=0;i<r.length;i++)o.push(...Ks(r[i],"concat",i));let s=e?.strict??!0;if(o.length===0)return _.a({},{},0);if(o.length===1&&t!=="horizontal")return o[0];switch(t){case"vertical":{let i=[];for(let p=0;p<o.length;p++)o[p].height>0&&i.push(o[p]);if(i.length===0)return _.a({},{},0);let a=i[0],l=Object.keys(a.t);for(let p=0;p<o.length;p++){let y=o[p];if(y.height===0)continue;let d=Object.keys(y.t);if(l.length!==d.length)throw new V(`[Strict Vertical] Column count mismatch at index ${p}.`);for(let g=0;g<l.length;g++){if(l[g]!==d[g])throw new V(`[Strict Vertical] Schema mismatch at position ${g} in DF ${p}. Expected column "${l[g]}", but found "${d[g]}".`);let b=a.schema[l[g]],S=y.schema[l[g]];if(b&&S&&!b.equals(S))throw new Wt(`[Strict Type Check] Schema type mismatch for column "${l[g]}": expected ${b.name}, found ${S.name}.`)}}let c=0;for(let p of o)c+=p.height;let u={},f=o.length;for(let p=0;p<f;p++)if(o[p].height>0){u=o[p].schema;break}Object.keys(u).length===0&&f>0&&(u=o[0].schema);let m={};for(let p of l){let y=u[p],d=!1;for(let b of o){let S=b.t[p];if(!S){d=!0;break}if(!L(S)){for(let w=0;w<S.length;w++)if(S[w]==null){d=!0;break}}if(d)break}let g=y&&y.allocate?y.allocate(c):new Array(c).fill(null);d&&L(g)&&(g=new Array(c).fill(null)),m[p]=g}let h=0;for(let p of o){let y=p.height;if(y!==0){for(let d of l){let g=p.t[d]||new Array(y).fill(null),b=m[d];if(L(b)&&L(g))b.set(g,h);else{let S=b;for(let w=0;w<y;w++)S[h+w]=g[w]}}h+=y}}return _.a(m,u,c)}case"horizontal":{let i=o[0].height;for(let u=1;u<o.length;u++)o[u].height>i&&(i=o[u].height);let a=new Set;for(let u=0;u<o.length;u++){let f=o[u];if(s&&f.height!==i)throw new J(`[Horizontal] Row count mismatch at index ${u}. Expected ${i}, got ${f.height}. Set strict=false to allow padding.`);for(let m of Object.keys(f.t)){if(a.has(m))throw new V(`[Horizontal] Duplicate column name "${m}" detected. Horizontal concat requires unique names.`);a.add(m)}}let l={},c={};for(let u of o){let f=u.height;Object.assign(c,u.schema);let m=Object.keys(u.t),h=m.length;for(let p=0;p<h;p++){let y=m[p],d=u.t[y];if(f===i)l[y]=L(d)?Array.from(d):d;else{let g=new Array(i);for(let b=0;b<f;b++)g[b]=d[b];for(let b=f;b<i;b++)g[b]=null;l[y]=g}}}return _.a(l,c,i)}case"diagonal":{let i=new Set;for(let m of o)for(let h of Object.keys(m.t))i.add(h);let a=Array.from(i),l=0;for(let m=0;m<o.length;m++)l+=o[m].height;let c={};for(let m of a){let h=null;for(let p of o){let y=p.schema[m];if(y){if(h===null)h=y;else if(!h.equals(y))throw new Wt(`[Strict Type Check] Schema type mismatch for column "${m}": expected ${h.name}, found ${y.name}.`)}}c[m]=h||F.Utf8}let u={};for(let m=0;m<a.length;m++)u[a[m]]=new Array(l).fill(null);let f=0;for(let m=0;m<o.length;m++){let h=o[m],p=h.height;if(p!==0){for(let y=0;y<a.length;y++){let d=a[y],g=u[d],b=h.t[d];if(b!==void 0)if(L(b)&&L(g))g.set(b,f);else{let S=g;for(let w=0;w<p;w++)S[f+w]=b[w]}else{let S=g;for(let w=0;w<p;w++)S[f+w]=null}}f+=p}}return _.a(u,c,l)}}}ln();var _=class n{t;e;o={};static a(t,e,r){an(t,r);let o=Object.create(n.prototype);return o.t=t,o.o=e,o.e=r,o}constructor(t,e,r){if(Array.isArray(t)){let{columns:o,height:s}=lr(t);this.t=o,this.e=s,e?this._(e):this.W();return}if(B(t)){this.t=t,this.e=an(t,r),e?this._(e):this.W();return}this.t={},this.e=0,e?this._(e):this.o={}}W(){let t={},e=Object.keys(this.t),r=e.length;for(let o=0;o<r;o++){let s=e[o];t[s]=dt(this.t[s])}this._(t)}_(t){this.o=t;let e=Object.keys(t),r={};for(let o of e){let s=t[o],i=this.t[o];r[o]=i?At(i,s,this.e):At(new Array(this.e).fill(null),s,this.e)}this.t=r}get columns(){return Object.keys(this.t)}concat(t,e={}){let r=H(t,n,{mode:"every",allowEmpty:!1})?t:[t];return Ht([this,...r],e)}drop(...t){let e=new Set(t.flat()),r={},o={};for(let s of Object.keys(this.t))e.has(s)||(r[s]=this.t[s],o[s]=this.o[s]);return n.a(r,o,this.e)}Qe(t){return this.e===0?this:this.filter(t?new k(t).B():zt().B())}get dtypes(){let t=Object.keys(this.t),e=t.length,r=new Array(e);for(let o=0;o<e;o++)r[o]=this.o[t[o]];return r}explode(t,e){let r=k.toColExpr(t),o=r.C||[r.u||r.f],s=new Set,i=o.length;for(let u=0;u<i;u++){let f=o[u];if(!f)throw new V("Expression passed to explode must have a column name.");Q(f,this.t,"Explode column"),s.add(f)}let a=Object.keys(this.t),l=[],c=a.length;for(let u=0;u<c;u++){let f=a[u];l.push(s.has(f)?new k(f).arr.explode(e):new k(f))}return this.select(...l)}$(t={}){return this.e===0?this:this.st(zt().$(t))}filter(...t){if(this.e===0)return n.a({},this.o,0);let e=this.e,r=Object.keys(this.t),o=r.length,s=[],i=[],a=[],l=t.length;for(let d=0;d<l;d++){let g=t[d];typeof g=="function"?i.push(g):a.push(g)}let c=kt(a,r,void 0,this.o,this.t),u=c.length;for(let d=0;d<u;d++)s.push(c[d].evaluate(this.t,e));let f=[],m=0,h=null;if(i.length>0){let d=this.t;h={};for(let g=0;g<o;g++){let b=r[g],S=d[b];Object.defineProperty(h,b,{get(){let w=S[m];return w===void 0?null:w},enumerable:!0,configurable:!0})}}for(let d=0;d<e;d++){let g=!0;for(let b=0;b<s.length;b++)if(!s[b][d]){g=!1;break}if(g){if(h){m=d;for(let b=0;b<i.length;b++)if(!i[b](h)){g=!1;break}}g&&f.push(d)}}let p=Gt(this.t,f),y=f.length;return n.a(p,this.o,y)}tn(){return this.o}groupby(t){let e=Zt(t),r=new Map,o=this.e,s=Lt(t);for(let a=0;a<s.length;a++)Q(s[a],this.t,"Grouping key");for(let a=0;a<o;a++){let l=Mt(this.t,s,a),c=r.get(l);c===void 0&&r.set(l,c=[]),c.push(a)}let i=Object.keys(this.t);return new Te(r,e,i,this.t,this.e,this.o)}head(t=10){return this.limit(t,{offset:0,from:"start"})}get height(){return this.e}hstack(t,e={}){return this.concat(t,{how:"horizontal",horizontal:e})}it(t,e,r){let o=k.toColExpr(r).alias(e),s=Object.keys(this.t),i=s.length,a=[];for(let c=0;c<i;c++){let u=s[c];u!==e&&a.push(u)}let l=Math.max(0,Math.min(t,a.length));return a.splice(l,0,o),this.select(...a)}item(t,e){let r=this.e,o=Object.keys(this.t),s=o.length;if(t===void 0&&e===void 0){if(r!==1||s!==1)throw new V("DataFrame.item() can only be called without arguments if the shape is (1, 1).");return this.t[o[0]][0]}if(t===void 0||e===void 0)throw new V("DataFrame.item() requires both row and column to be specified if not empty.");if(t<0||t>=r)throw new J(`Row index ${t} is out of bounds for DataFrame height ${r}.`);let i;if(typeof e=="number"){if(e<0||e>=s)throw new J(`Column index ${e} is out of bounds for DataFrame width ${s}.`);i=o[e]}else if(i=e,this.t[i]===void 0)throw new yt(i);return this.t[i][t]}*en(){let t=Object.keys(this.t),e=t.length,r=this.t;for(let o=0;o<e;o++)yield r[t[o]]}*nn({named:t=!1}={}){let e=Object.keys(this.t),r=e.length,o=this.t,s=this.e,i=new Array(r);for(let a=0;a<r;a++)i[a]=o[e[a]];if(t)for(let a=0;a<s;a++){let l={};for(let c=0;c<r;c++)l[e[c]]=i[c][a];yield l}else for(let a=0;a<s;a++){let l=new Array(r);for(let c=0;c<r;c++)l[c]=i[c][a];yield l}}join(t){let{other:e,on:r,how:o="inner",suffixes:s=["","_right"]}=t,i=Lt(r);for(let I=0;I<i.length;I++){let E=i[I];Q(E,this.t,"Join key"," in the left DataFrame."),Q(E,e.t,"Join key"," in the right DataFrame.")}let[a,l]=s,c=Object.keys(this.t),u=Object.keys(e.t),f=new Set(i),m=c.length,h=u.length,p=(I,E)=>{let P=i.length;for(let q=0;q<P;q++)if(I[i[q]][E]==null)return null;return Mt(I,i,E)},y=new Map,d=e.e,g=e.t;for(let I=0;I<d;I++){let E=p(g,I);if(E===null)continue;let P=y.get(E);P===void 0&&(P=[],y.set(E,P)),P.push(I)}let b=this.e,S=this.t,w=[],C=[],T=o==="outer"||o==="right",D=T?new Set:null;for(let I=0;I<b;I++){let E=p(S,I),P=E===null?void 0:y.get(E);if(P===void 0)(o==="left"||o==="outer")&&(w.push(I),C.push(null));else for(let q=0;q<P.length;q++){let Y=P[q];T&&D.add(Y),w.push(I),C.push(Y)}}if(T)for(let I=0;I<d;I++)D.has(I)||(w.push(-1),C.push(I));let v=w.length,mt={},lt={};for(let I=0;I<m;I++){let E=c[I],P=E in e.t&&!f.has(E)?`${E}${a}`:E,q=this.t[E],Y=f.has(E),X=new Array(v);if(Y){let st=e.t[E];for(let nt=0;nt<v;nt++){let br=w[nt];if(br!==-1)X[nt]=q[br];else{let xr=C[nt];X[nt]=xr!==null?st[xr]:null}}}else for(let st=0;st<v;st++){let nt=w[st];X[st]=nt!==-1?q[nt]:null}mt[P]=X,this.o[E]&&(lt[P]=this.o[E])}for(let I=0;I<h;I++){let E=u[I];if(!f.has(E)){let P=E in this.t?`${E}${l}`:E,q=e.t[E],Y=new Array(v);for(let X=0;X<v;X++){let st=C[X];Y[X]=st!==null?q[st]:null}mt[P]=Y,e.o[E]&&(lt[P]=e.o[E])}}return n.a(mt,lt,v)}limit(t,{offset:e=0,from:r="start"}={}){let o=this.e,s=ct(Math.floor(t),{min:0,max:o}),i=ct(Math.floor(e),{min:0,max:o}),a=i,l=Math.min(i+s,o);r==="end"&&(l=o-i,a=Math.max(l-s,0));let c=l-a,u={},f=Object.keys(this.t),m=f.length;for(let h=0;h<m;h++){let p=f[h];u[p]=this.t[p].slice(a,l)}return n.a(u,this.o,c)}pivot(t){if(this.e===0)return n.a({},{},0);let{index:e,columns:r,values:o}=t,s=Lt(e),i=s.length;for(let C=0;C<i;C++)Q(s[C],this.t,"Pivot index key");let a=String(r),l=String(o);Q(a,this.t,"Pivot column key"),Q(l,this.t,"Pivot values key");let c=new Map,u=[],f=new Set,m=this.e,h=this.t[a],p=this.t[l];for(let C=0;C<m;C++){let T=Mt(this.t,s,C);f.add(String(h[C])),c.get(T)===void 0&&(c.set(T,c.size),u.push(C))}let y=c.size,d={},g={};for(let C=0;C<i;C++){let T=s[C];d[T]=this.t[T],this.o[T]&&(g[T]=this.o[T])}let b=Gt(d,u),S=Array.from(f),w=this.o[l]||F.Utf8;for(let C=0;C<S.length;C++){let T=S[C];b[T]=new Array(y).fill(null),g[T]=w}for(let C=0;C<m;C++){let T=Mt(this.t,s,C),D=c.get(T),v=String(h[C]);b[v][D]=p[C]}return n.a(b,g,y)}rename(t){let e=t||{},r={},o={},s=Object.keys(this.t);for(let a of s){let l=e[a]||a;r[l]=this.t[a],o[l]=this.o[a]}if(Object.keys(r).length<s.length)throw new V("Rename collision: Multiple columns mapped to the same output name.");return n.a(r,o,this.e)}reverse(){if(this.e===0)return this;let t={},e=Object.keys(this.t),r=e.length;for(let o=0;o<r;o++){let s=e[o];t[s]=this.t[s].slice().reverse()}return n.a(t,this.o,this.e)}get schema(){return this.o}select(...t){let e=this.G(t),r=Object.keys(this.t),o=kt(e,r,void 0,this.o,this.t),s=o.length;if(s===0)return n.a({},{},this.e);let i={},a={},l=new Array(s),c=new Array(s),u=new Set,f=null;for(let p=0;p<s;p++){let y=o[p],d=y.f||y.u||"*";if(u.has(d))throw new V(`Duplicate column selection: "${d}" is selected multiple times.`);u.add(d);let g=Ot(y,this.t,this.e);l[p]=g,c[p]=d;let b=g&&g.rowMap;if(b)if(f){let S=b.length;if(S!==f.length)throw new J(`Mismatched explode heights: Column "${d}" has length ${S}, but another exploded column has length ${f.length}`);for(let w=0;w<S;w++)if(b[w]!==f[w])throw new J(`Mismatched explode heights: Column "${d}" has mismatched row lengths compared to another exploded column.`)}else f=b}let m=f?f.length:this.e,h=s>0;for(let p=0;p<s;p++){let y=o[p],d=y.m!=null&&(y.p==null||y.p.length===0),g=!!y.N;if(!d&&!g){h=!1;break}}for(let p=0;p<s;p++){let y=c[p],d=l[p],g=d,b=g&&g.rowMap,S=O(d)?d.length:0,w=f&&!b?this.e:m;if(S!==w)throw new J(`Column height mismatch: Column "${y}" has length ${S}, but expected ${w}`);if(f&&!b){let C=f.length;if(L(d)){let T=new g.constructor(C);for(let D=0;D<C;D++)T[D]=g[f[D]];d=T}else{let T=new Array(C);for(let D=0;D<C;D++)T[D]=g[f[D]];d=T}}l[p]=d}h&&(m=1);for(let p=0;p<s;p++){let y=o[p],d=c[p],g=l[p],b=y.u||d,w=y instanceof k&&y.c.length===0&&!y.P&&!y.m&&this.o[b]||dt(g);a[d]=w,i[d]=At(g,w,m)}return n.a(i,a,m)}get shape(){return[this.height,this.width]}slice(t,e){let r=this.e,o=t<0?Math.max(r+t,0):Math.min(t,r),s=e===void 0?r:e<0?Math.max(r+e,0):Math.min(e,r),i=Math.max(s-o,0);return this.limit(i,{offset:o})}sort(t){if(!t||!t.by||this.e===0)return this;let{by:e,descending:r=!1,nullsLast:o=!0,custom:s}=t,i=Zt(e);for(let p=0;p<i.length;p++){let y=k.toColExpr(i[p]);y.u&&Q(y.u,this.t,"Sort key")}let a=Array.isArray(r)?r:new Array(i.length).fill(r),l=i.length,c=new Array(l);for(let p=0;p<l;p++){let y=i[p],d=a[p]?-1:1,g=s&&typeof y=="string"?s[y]:null,b=k.toColExpr(y).evaluate(this.t,this.e);c[p]={values:b,isDesc:d,customComp:g}}let u=c.length,f=o?1:-1,m=new Array(this.e);for(let p=0;p<this.e;p++)m[p]=p;m.sort((p,y)=>{for(let d=0;d<u;d++){let{values:g,isDesc:b,customComp:S}=c[d],w=g[p],C=g[y];if(S){let D=S(w,C);if(D!==0)return D*b;continue}if(w==null||C==null){if(w===C)continue;return(w==null?1:-1)*f}if(w===C)continue;return(w<C?-1:1)*b}return 0});let h=Gt(this.t,m);return n.a(h,this.o,this.e)}tail(t=10){return this.limit(t,{offset:0,from:"end"})}rn(){return{...this.t}}z(){return ur(this.t,this.e)}sn(t){if(this.e===0)return[];if(t==null)return new Array(this.e).fill(null);let r=k.toColExpr(t).evaluate(this.t,this.e);return Array.isArray(r)?r:Array.from(r)}transpose({an:t=!1,ln:e="column",un:r}={}){if(this.e===0){let u={},f={};return t&&(u[e]=At([],F.Utf8,0),f[e]=F.Utf8),n.a(u,f,0)}let o=this.columns;typeof r=="string"&&(Q(r,this.t,"column_names"),o=o.filter(u=>u!==r));let s=[];if(typeof r=="string"){let u=this.t[r];s=new Array(this.e);for(let f=0;f<this.e;f++){let m=u[f];if(m==null)throw new V(`Transpose column_names column "${r}" contains null/undefined at index ${f}`);s[f]=String(m)}}else if(r!=null&&typeof r!="string"&&Symbol.iterator in Object(r)){let u=Array.from(r);if(u.length!==this.e)throw new V(`column_names length (${u.length}) must match the height of the DataFrame (${this.e})`);s=new Array(this.e);for(let f=0;f<this.e;f++)s[f]=String(u[f])}else{s=new Array(this.e);for(let u=0;u<this.e;u++)s[u]=`column_${u}`}let i=new Set;t&&i.add(e);for(let u=0;u<s.length;u++){let f=s[u];if(i.has(f))throw new V(`Duplicate column name in transposed DataFrame: "${f}"`);i.add(f)}let a=o.length,l={},c={};t&&(l[e]=At(o,F.Utf8,a),c[e]=F.Utf8);for(let u=0;u<this.e;u++){let f=s[u],m=new Array(a);for(let p=0;p<a;p++)m[p]=this.t[o[p]][u];let h=dt(m);l[f]=At(m,h,a),c[f]=h}return n.a(l,c,a)}unique(t){if(this.e===0)return n.a({},this.o,0);let e=Zt(t),r=e.length===0?Object.keys(this.t):e.map(String);for(let c of r)Q(c,this.t,"Unique column key");let o=new Set,s=[],i=this.e;for(let c=0;c<i;c++){let u=Mt(this.t,r,c);o.has(u)||(o.add(u),s.push(c))}let a=Gt(this.t,s),l=s.length;return n.a(a,this.o,l)}unpivot(t){let{idVars:e,valueVars:r,varName:o="variable",valueName:s="value"}=t,i=Lt(e),a=Lt(r),l=i.length,c=a.length;for(let p of i)Q(p,this.t,"Unpivot id variable key");for(let p of a)Q(p,this.t,"Unpivot value variable key");let u=this.e*c,f={};for(let p=0;p<l;p++)f[i[p]]=new Array(u);f[o]=new Array(u),f[s]=new Array(u);let m=0;for(let p=0;p<this.e;p++)for(let y=0;y<c;y++){let d=a[y];for(let g=0;g<l;g++){let b=i[g];f[b][m]=this.t[b][p]}f[o][m]=d,f[s][m]=this.t[d][p],m++}let h={};for(let p of i)h[p]=this.o[p];return h[o]=F.Utf8,h[s]=dt(f[s]),n.a(f,h,u)}vstack(t){return this.concat(t,{how:"vertical"})}get width(){return Object.keys(this.t).length}G(t){let e=t.flat(),r=[];for(let o of e)if(typeof o=="string")r.push(new k(o));else if(k.isColExpr(o))r.push(o);else if(B(o)){let s=Object.keys(o),i=s.length;for(let a=0;a<i;a++){let l=s[a],c=o[l];if(k.isColExpr(c))r.push(c.alias(l));else{let u=new k(l);u.evaluate=(f,m)=>new Array(m).fill(c),r.push(u)}}}return r}st(...t){if(t.length===0)return this;let e=this.G(t),r=Object.keys(this.t),o=kt(e,r,void 0,this.o,this.t),s=o.length;if(s===0)return this;let i=new Map;for(let c=0;c<s;c++){let u=o[c],f=u.f||u.u||"*";i.set(f,u)}let a=[],l=r.length;for(let c=0;c<l;c++){let u=r[c];a.push(i.get(u)||new k(u)),i.delete(u)}for(let c of i.values())a.push(c);return this.select(...a)}cn(t="index",e=0){let r=Nt(e,{mode:"independent",dtype:F.UInt32,step:1}),o=this.it(0,t,r);return o.o[t]=F.UInt32,o}fn(t,{format:e="json",replacerOptions:r}={}){if(e!=="json"&&e!=="ndjson")throw new TypeError(`Unsupported JSON format: "${e}". Expected "json" or "ndjson".`);let o=r?.replacer===null?void 0:oe(r),s;if(e==="ndjson"){let i=this.z(),a=i.length,l=new Array(a);for(let c=0;c<a;c++)l[c]=JSON.stringify(i[c],o);s=l.join(`
|
|
6
|
-
`)}else s=JSON.stringify(this.
|
|
1
|
+
"use strict";var Nn=Object.defineProperty;var ws=Object.getOwnPropertyDescriptor;var Ss=Object.getOwnPropertyNames;var As=Object.prototype.hasOwnProperty;var k=(n,e)=>()=>(n&&(e=n(n=0)),e);var vn=(n,e)=>{for(var t in e)Nn(n,t,{get:e[t],enumerable:!0})},Ds=(n,e,t,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let o of Ss(e))!As.call(n,o)&&o!==t&&Nn(n,o,{get:()=>e[o],enumerable:!(r=ws(e,o))||r.enumerable});return n};var Mn=n=>Ds(Nn({},"__esModule",{value:!0}),n);var re,Un,Fn,qe,jn,Vn,De=k(()=>{"use strict";re="*",Un="*literal*",Fn="*coalesce*",qe="*element*",jn="*struct*",Vn="*duration*"});var Jr=k(()=>{"use strict"});function z(n){return n!==null&&typeof n=="object"&&!Array.isArray(n)}function Ue(n){if(!z(n))return!1;let e=Object.getPrototypeOf(n);if(e===null)return!0;let t=Object.prototype.hasOwnProperty.call(e,"constructor")&&e.constructor;return typeof t!="function"?!1:Function.prototype.toString.call(t)===qs}function ao(n){if(typeof n!="function")return!1;let e="";try{e=Function.prototype.toString.call(n)}catch{return!1}if(/^class[\s{]/.test(e))return!0;if(n===Symbol||n===BigInt)return!1;let t=Object.getOwnPropertyDescriptor(n,"prototype");return t&&!t.writable?e.includes("[native code]"):!1}function me(n,e,t,r){if(!z(n))return!1;if(!(Symbol.toStringTag in n))return Object.prototype.toString.call(n)===e;if(!t)return!1;try{return t.call(n,r),!0}catch{return!1}}function U(n){return me(n,Ts,Ln)&&Ln?!Number.isNaN(Ln.call(n)):!1}function Te(n){return me(n,Cs,Ls)}function vt(n){return me(n,Os,Ps)}function Mt(n){return me(n,Is,Bs)}function lo(n){return me(n,ks,$s,"key")}function uo(n){return z(n)?Symbol.toStringTag in n?n instanceof Error:Object.prototype.toString.call(n)===Es:!1}function Xr(n){return me(n,no,Pn)}function Zr(n){return me(n,ro,Bn)}function Qr(n){return me(n,oo,$n)}function eo(n){return me(n,so,nt)}function to(n){return me(n,io,rt)}function ce(n){if(!z(n))return n;switch(Object.prototype.toString.call(n)){case ro:if(Zr(n))try{return Bn.call(n)}catch{}break;case no:if(Xr(n))try{return Pn.call(n)}catch{}break;case oo:if(Qr(n))try{return $n.call(n)}catch{}break;case so:if(eo(n)&&nt)try{return nt.call(n)}catch{}break;case io:if(to(n)&&rt)try{return rt.call(n)}catch{}break}if(Symbol.toStringTag in n){if(Zr(n))try{return Bn.call(n)}catch{}else if(Xr(n))try{return Pn.call(n)}catch{}else if(Qr(n))try{return $n.call(n)}catch{}else if(eo(n)&&nt)try{return nt.call(n)}catch{}else if(to(n)&&rt)try{return rt.call(n)}catch{}}if(typeof n.valueOf=="function"&&n.valueOf!==Object.prototype.valueOf)try{let t=n.valueOf();if(typeof t!="object"||t===null)return t}catch{}return n}var Ts,Cs,Os,Is,Es,ks,no,ro,oo,so,io,Rs,Ns,Yr,Hr,vs,Ms,Us,Fs,js,Vs,Ls,Ps,Bs,Ln,$s,Pn,Bn,$n,nt,rt,qs,ge=k(()=>{"use strict";Ts="[object Date]",Cs="[object RegExp]",Os="[object Set]",Is="[object Map]",Es="[object Error]",ks="[object URLSearchParams]",no="[object String]",ro="[object Number]",oo="[object Boolean]",so="[object BigInt]",io="[object Symbol]",Rs=typeof Date=="function"?Date.prototype:void 0,Ns=Object.getPrototypeOf(/./),Yr=typeof Set=="function"?Set.prototype:void 0,Hr=typeof Map=="function"?Map.prototype:void 0,vs=typeof URLSearchParams=="function"?URLSearchParams.prototype:void 0,Ms=Object.getPrototypeOf(""),Us=Object.getPrototypeOf(0),Fs=Object.getPrototypeOf(!0),js=typeof BigInt=="function"?BigInt.prototype:void 0,Vs=typeof Symbol=="function"?Symbol.prototype:void 0,Ls=Object.getOwnPropertyDescriptor(Ns,"source")?.get,Ps=Yr?Object.getOwnPropertyDescriptor(Yr,"size")?.get:void 0,Bs=Hr?Object.getOwnPropertyDescriptor(Hr,"size")?.get:void 0,Ln=Rs?.valueOf,$s=vs?.has,Pn=Ms.valueOf,Bn=Us.valueOf,$n=Fs.valueOf,nt=js?.valueOf,rt=Vs?.valueOf,qs=Function.prototype.toString.call(Object)});var qn,Kn,co=k(()=>{"use strict";qn=1000n,Kn=1000000n});function L(n,e){return typeof n!="number"?!1:Number.isNaN(n)?e?.allowNaN??e?.allowNonFiniteNumbers??!1:Number.isFinite(n)?!0:e?.allowNonFiniteNumbers??!1}function fo(n){for(let e=1;e<n.length;e++)if(n[e].length!==3)return!1;return!0}function go(n,e){if(Ks.test(n))return null;let t=n.trim();if(t==="")return null;t.startsWith("(")&&t.endsWith(")")&&(t="-"+t.slice(1,-1).trim());let r=t[t.length-1];(r==="-"||r==="+")&&t.length>1&&(t=r+t.slice(0,-1).trim()),e||(t=t.replace(zs,""));let o=t.includes("."),s=t.includes(",");if(o&&s){let a=t.lastIndexOf("."),i=t.lastIndexOf(","),l=i>a,f=l?".":",",u=l?i:a,c=t.slice(0,u).split(f);return c.length>1&&!fo(c)||c[0].replace(mo,"").length>3?null:l?t.replace(po,"").replace(Ut,"."):t.replace(Ut,"")}if(s||o){let a=s?",":".",i=t.split(a);if(i.length>2||a===","&&i.length===2&&i[1].length===3){let l=i[0].replace(mo,"").length;if(l===0){if(a===","||i.length>2)return null}else return l>3?null:fo(i)?t.replace(s?Ut:po,""):null}if(s)return t.replace(Ut,".")}return t}function M(n,{allowNonFiniteNumbers:e=!1,strictNumericString:t=!1,floatScientific:r=!0}={}){if(n==null||typeof n=="symbol")return null;switch(n=ce(n),typeof n){case"number":return L(n,{allowNonFiniteNumbers:e})?n:null;case"boolean":return n?1:0;case"bigint":{let o=Number(n);return L(o,{allowNonFiniteNumbers:e})?o:null}case"object":{if(U(n)){let o=n.getTime();return L(o,{allowNonFiniteNumbers:e})?o:null}return null}case"string":{let o=go(n,t);if(o===null)return null;if(e){let i=o.toLowerCase();if(i==="nan"||i==="-nan"||i==="+nan")return NaN;if(i==="infinity"||i==="+infinity")return 1/0;if(i==="-infinity")return-1/0}if(yo.test(o)&&!r||!ho.test(o))return null;let a=Number(o);return L(a,{allowNonFiniteNumbers:e})?a:null}default:return null}}function _o({locale:n="en-US",accountingNegatives:e=!1,fallback:t="NaN",formatNonFinite:r=!1,...o}={}){o.useGrouping===void 0&&(o.useGrouping=!1),o.maximumFractionDigits===void 0&&o.maximumSignificantDigits===void 0&&(o.maximumFractionDigits=20),e&&(o.currencySign="accounting",o.style===void 0&&(o.style="decimal"));let s=new Intl.NumberFormat(n,o);return a=>{if(typeof a=="bigint")return e&&a<0n?`(${s.format(-a)})`:s.format(a);let i=M(a,{allowNonFiniteNumbers:!0});return i===null||Number.isNaN(i)?t:Number.isFinite(i)?e&&i<0?`(${s.format(Math.abs(i))})`:s.format(i):r?t:e&&i===-1/0?`(${s.format(1/0)})`:String(i)}}function zn(n,{floatPrecision:e="Float64",allowNonFiniteNumbers:t=!0,floatScientific:r=!0,strictNumericString:o=!1}={}){let s=M(n,{allowNonFiniteNumbers:t,floatScientific:r,strictNumericString:o});return s===null||(e==="Float32"&&(s=Math.fround(s)),!L(s,{allowNonFiniteNumbers:t}))?null:s}function Ft(n,{range:e="Int32"}={}){if(!L(n)||!Number.isInteger(n))return!1;let t=typeof e=="string"?bo[e]:e;return n>=t.min&&n<=t.max}function _e(n,{range:e="Int32",coerce:t="truncate"}={}){let r=M(n);if(r===null)return null;switch(t){case"round":r=Math.round(r);break;case"floor":r=Math.floor(r);break;case"ceil":r=Math.ceil(r);break;case"truncate":r=Math.trunc(r);break}let o=typeof e=="string"?bo[e]:e;return pe(r,{min:o.min,max:o.max})}function Ke(n,{range:e="Int64",truncate:t=!1}={}){if(n==null||typeof n=="symbol")return null;n=ce(n);let r=null;if(typeof n=="bigint")r=n;else if(typeof n=="string"){let s=go(n,!1);if(s===null||!ho.test(s))return null;if(yo.test(s)){let a=Number(s);if(!Number.isFinite(a)||!t&&!Number.isInteger(a))return null;r=BigInt(Math.trunc(a))}else{let a=s.indexOf(".");if(a!==-1){if(!t&&/[^0]/.test(s.slice(a+1)))return null;s=s.slice(0,a)}try{r=BigInt(s)}catch{return null}}}else{let s=M(n);if(s===null||!t&&!Number.isInteger(s))return null;r=BigInt(Math.trunc(s))}let o=typeof e=="string"?Ws[e]:e;return pe(r,{min:o.min,max:o.max})}function Gs(n,e){let t=n-e;if(t<0||e<0)return null;if(t>15)return Number.MAX_SAFE_INTEGER;let r=Math.min(e,16),o=Math.pow(10,t)-Math.pow(10,-r);return o>0?o:null}function Wn(n,e){let t=n.toString();if(t.includes("e")){let r=Math.pow(10,e);return Math.round(n*r)/r}return+(Math.round(+(t+"e"+e))+"e"+-e)}function jt(n,{precision:e,scale:t}={}){let r=M(n);if(r===null)return null;let o=r;if(t!==void 0&&(o=Wn(o,t)),e!==void 0){let a=Gs(e,t??0);a!==null&&(o=pe(o,{min:-a,max:a}))}return o}function pe(n,e){if(!e)return n;let{min:t=null,max:r=null,safe:o=!0}=e;if(t!==null&&r!==null&&t>r)return t;let s=n;if(o&&typeof s=="number"){if(Number.isNaN(s))return t!==null?t:r!==null?r:n;if(s===1/0)return r!==null?r:n;if(s===-1/0)return t!==null?t:n}return t!==null&&s<t?t:r!==null&&s>r?r:s}function xo(n){let e=n|0;return function(){let t=e=e+1831565813|0;return t=Math.imul(t^t>>>15,t|1),t^=t+Math.imul(t^t>>>7,t|61),((t^t>>>14)>>>0)/4294967296}}var ho,Ks,zs,yo,mo,po,Ut,bo,Ws,ot=k(()=>{"use strict";ge();ho=/^[+-]?(?:\d+(?:\.\d*)?|\.\d+)(?:[eE][+-]?\d+)?$/,Ks=/0[xobXOB]/,zs=/[\s_]/g,yo=/[eE]/;mo=/^[+-]/,po=/\./g,Ut=/,/g;bo={Int8:{min:-128,max:127},Int16:{min:-32768,max:32767},Int32:{min:-2147483648,max:2147483647},UInt8:{min:0,max:255},UInt16:{min:0,max:65535},UInt32:{min:0,max:4294967295}};Ws={Int64:{min:-9223372036854775808n,max:9223372036854775807n},UInt64:{min:0n,max:18446744073709551615n}}});function $(n){if(!ArrayBuffer.isView(n))return!1;if(wo)return wo.call(n)!==void 0;let e=Object.prototype.toString.call(n);return e!=="[object DataView]"&&e.endsWith("Array]")}function E(n){return Array.isArray(n)||$(n)}function st(n){return n==null?[]:Array.isArray(n)?[...n]:$(n)?Array.from(n):[n]}function Ce(n){let e=st(n),t=e.length,r=new Array(t);for(let o=0;o<t;o++)r[o]=String(e[o]);return r}function Vt(n,e,t){let r=n.length,o=e<-r||e>=r;if(o&&!t)throw new oe(`Index ${e} is out of bounds for array of length ${r}`);return o?null:n.at(e)??null}function Q(n,e,{mode:t="every",allowNulls:r=!1,allowEmpty:o=!0}={}){if(!E(n))return!1;let s=n.length;if(s===0)return o?t==="every":!1;let a=n,i;if(typeof e=="function")i=ao(e)?f=>f instanceof e:e;else switch(e){case"null":i=l=>l===null;break;case"undefined":i=l=>l===void 0;break;case"nullish":i=l=>l==null;break;case"any":i=()=>!0;break;case"date":i=U;break;case"object":i=z;break;case"plainObject":i=Ue;break;case"number":i=L;break;default:i=l=>typeof l===e;break}if(r){let l=i;i=f=>f==null||l(f)}if(t==="every"){for(let l=0;l<s;l++)if(!i(a[l]))return!1;return!0}else{for(let l=0;l<s;l++)if(i(a[l]))return!0;return!1}}function it(n,{descending:e=!1,nullsLast:t=!0}={}){if(!E(n))return[];let r=n,o=r.length;if(o===0)return[];if($(n)){let c=r.slice().sort();return e&&c.reverse(),Array.from(c)}let s=[],a=[],i=!0,l=!0,f=!0;for(let c=0;c<o;c++){let m=r[c];if(m==null)a.push(m);else if(s.push(m),f){let p=typeof m;p!=="number"&&(i=!1),p!=="string"&&(l=!1),!i&&!l&&(f=!1)}}return s.length>1&&(i?s.sort(e?(c,m)=>m-c:(c,m)=>c-m):l?s.sort(e?(c,m)=>m.localeCompare(c):(c,m)=>c.localeCompare(m)):s.sort((c,m)=>{let p=typeof c,h=typeof m;if(p!==h){let y=p<h?-1:1;return e?-y:y}return c<m?e?1:-1:c>m?e?-1:1:0})),a.length===0?s:t?s.concat(a):a.concat(s)}function P(n){if(!E(n))return So;let e=n.length;if(e===0)return So;let t=null,r=null,o=null,s=null,a=0,i=0,l=0,f=0,u=0,c=0;for(let p=0;p<e;p++){let h=n[p];if(h==null||typeof h=="number"&&!L(h,{allowNonFiniteNumbers:!0,allowNaN:!1})){i++;continue}(t==null||h<t)&&(t=h,o=p),(r==null||h>r)&&(r=h,s=p);let y=M(h);if(y!==null){let d=l+y;Math.abs(l)>=Math.abs(y)?f+=l-d+y:f+=y-d+l,l=d,a++;let g=y-u;u+=g/a;let _=y-u;c+=g*_}}let m=a>1?c/(a-1):0;return{sum:a>0?l+f:null,count:a,min:t,max:r,minIdx:o,maxIdx:s,mean:a>0?(l+f)/a:null,variance:m,std:Math.sqrt(m),nullCount:i,len:e,hasNulls:i>0,isNumeric:a>0&&a===e-i}}function Oe(n,{strict:e=!1,keySelector:t}={}){let r=Array.from(n),o=new Map;if(e){let a=t??G,i=new Map,l=r.length;for(let u=0;u<l;u++){let c=r[u],m=a(c),p=i.get(m);p===void 0?i.set(m,{val:c,count:1}):p.count++}let f=[];for(let u of i.values())f.push(u.val);for(let u=0;u<l;u++){let c=r[u],m=a(c),p=i.get(m);o.set(c,p.count)}return{values:f,count:f.length,frequencies:o}}let s=r.length;for(let a=0;a<s;a++){let i=r[a];o.set(i,(o.get(i)??0)+1)}return{values:Array.from(o.keys()),count:o.size,frequencies:o}}function Do(n,{step:e=1,offsetStart:t=0,offsetEnd:r,maxItemsGathered:o,null_on_oob:s=!0}={}){if(n==null)return null;if(o!==void 0&&o<=0)return[];if(e===0)throw new v("Step size step cannot be zero");let a=n.length;if(a===0?t!==0:t>=a||t<-a){if(!s)throw new oe(`Start offset ${t} is out of bounds for array of length ${a}`);return null}let l=t<0?a+t:t,f=r!==void 0?r<0?a+r:r:e>0?a:-1,u=[];if(e>0)for(let c=l;c<f&&c<a&&!(c>=0&&(u.push(n[c]),o!==void 0&&u.length>=o));c+=e);else for(let c=l;c>f&&c>=0&&!(c<a&&(u.push(n[c]),o!==void 0&&u.length>=o));c+=e);return u}function To(n,e=",",{ignoreNulls:t=!1,nullValue:r="",prefix:o="",suffix:s="",limit:a,truncationMarker:i="...",valueFormatter:l}={}){let f=n.length,u=[],c=a!==void 0?Math.max(0,a):f,m=!1;for(let p=0;p<f;p++){if(u.length>=c){m=!0;break}let h=n[p];h!=null?u.push(l?l(h,p):String(h)):t||u.push(r)}return o+u.join(e)+(m?i:"")+s}function Fe(n,e,t={}){let r=n.length,{mode:o="cumulative",step:s=1,coerce:a=y=>y,condition:i,reverse:l=!1,startIndex:f=l?r-1:0,endIndex:u=l?-1:r}=t,c=l?-1:1,m=f,p=u,h=(y,d)=>{(!i||i(n[y],y,n))&&(n[y]=a(d))};if(o==="constant"){let y=a(e);for(let d=m;l?d>p:d<p;d+=c)h(d,y)}else if(o==="independent")if(typeof s=="function"){let y=0;for(let d=m;l?d>p:d<p;d+=c)h(d,s({index:y,initialValue:e,originalValue:n[d],absoluteIndex:d,targetArray:n})),y++}else for(let y=m;l?y>p:y<p;y+=c)h(y,e+y*s);else{let y=e,d=!0,g=0;for(let _=m;l?_>p:_<p;_+=c)d?(h(_,y),d=!1):(typeof s=="function"?y=s({prev:y,index:g,originalValue:n[_],absoluteIndex:_,targetArray:n}):y=y+s,h(_,y)),g++}}function Co(n){let e=n.length,t=0,r=new Float64Array(e);for(let s=0;s<e;s++){let a=n[s],i=M(a,{allowNonFiniteNumbers:!0});i!==null&&L(i,{allowNonFiniteNumbers:!0,allowNaN:!1})&&(r[t++]=i)}if(t===0)return null;let o=r.subarray(0,t);return o.sort(),o}function ze(n){let e=Co(n);if(!e)return null;let t=e.length,r=Math.floor(t/2);return t%2!==0?e[r]:(e[r-1]+e[r])/2}function Lt(n,e){if(e<0||e>1)return null;let t=Co(n);if(!t)return null;let r=t.length,o=e*(r-1),s=Math.floor(o),a=Math.ceil(o);return s===a?t[s]:t[s]+(o-s)*(t[a]-t[s])}function Pt(n){if(!E(n)||n.length===0)return null;let e=new Map,t=n.length,r=0,o=[];for(let s=0;s<t;s++){let a=n[s];if(a==null||typeof a=="number"&&!L(a,{allowNonFiniteNumbers:!0,allowNaN:!1}))continue;let i=(e.get(a)??0)+1;e.set(a,i),i>r?(r=i,o=[a]):i===r&&o.push(a)}return o.length===0?null:it(o)}function Oo(n,e){let t=n.length;if(t===0)return[];let r=Math.trunc(e);if(isNaN(r)||r===0)return Array.isArray(n)?n.slice():Array.from(n);let o=Math.abs(r);if(o>=t)return new Array(t).fill(null);let s=new Array(t);if(r>0){s.fill(null,0,r);for(let a=r;a<t;a++){let i=n[a-r];s[a]=i??null}}else{let a=t-o;for(let i=0;i<a;i++){let l=n[i+o];s[i]=l??null}s.fill(null,a,t)}return s}function Gn(n){let e=n.length,t=0,r=0,o=0,s=0,a=0,i=0;for(let m=0;m<e;m++){let p=n[m];if(!p)continue;let h=M(p[0]),y=M(p[1]);if(h===null||y===null)continue;t++;let d=h-r;r+=d/t;let g=h-r,_=y-o;o+=_/t;let T=y-o;i+=d*T,s+=d*g,a+=_*T}if(t<2)return{covariance:null,correlation:null};let l=i/(t-1);if(s===0||a===0)return{covariance:l,correlation:null};let f=Math.sqrt(s*a);if(f===0||Number.isNaN(f))return{covariance:l,correlation:null};let u=i/f,c=Math.max(-1,Math.min(1,u));return{covariance:l,correlation:c}}function Ao(n){let e=n.length,t=new Int32Array(e);for(let s=0;s<e;s++)t[s]=s;t.sort((s,a)=>n[s]-n[a]);let r=new Float64Array(e),o=0;for(;o<e;){let s=o+1;for(;s<e&&n[t[s]]===n[t[o]];)s++;let a=(o+1+s)/2;for(let i=o;i<s;i++)r[t[i]]=a;o=s}return r}function Js(n,e,t){if(t<2)return null;let r=0,o=0,s=0,a=0,i=0;for(let u=0;u<t;u++){let c=n[u],m=e[u],p=c-r;r+=p/(u+1);let h=c-r,y=m-o;o+=y/(u+1);let d=m-o;i+=p*d,s+=p*h,a+=y*d}if(s===0||a===0)return null;let l=Math.sqrt(s*a);if(l===0||Number.isNaN(l))return null;let f=i/l;return Math.max(-1,Math.min(1,f))}function Io(n){let e=n.length,t=new Float64Array(e),r=new Float64Array(e),o=0;for(let i=0;i<e;i++){let l=n[i];if(l){let f=M(l[0]),u=M(l[1]);f!==null&&u!==null&&(t[o]=f,r[o]=u,o++)}}if(o<2)return null;let s=Ao(t.subarray(0,o)),a=Ao(r.subarray(0,o));return Js(s,a,o)}function Eo(n){let e=n.length,t=0,r=0;for(let o=0;o<e;o++){let s=n[o];if(!s)continue;let a=M(s[0]),i=M(s[1]);a===null||i===null||(t+=a*i,r++)}return r>0?t:null}function ko(n){let e=n.length,t=0,r=0,o=0;for(let s=0;s<e;s++){let a=n[s];if(!a)continue;let i=M(a[0]),l=M(a[1]);i===null||l===null||(t+=i*l,r+=l,o++)}return o===0||Math.abs(r)<1e-12?null:t/r}function Ro(n,e){let t=Math.max(0,Math.floor(n||0)),r=Math.max(0,Math.floor(e||0)),o=t*r;if(!Ft(o,{range:"UInt32"}))throw new v(`Cartesian product size (${o} rows) exceeds maximum JavaScript array capacity.`);let s=new Array(o),a=new Array(o),i=0;for(let l=0;l<t;l++)for(let f=0;f<r;f++)s[i]=l,a[i]=f,i++;return{leftIndices:s,rightIndices:a}}function Bt(n,e,t={}){let r=t.side==="right",o=t.getValue,s=0,a=n.length;for(;s<a;){let i=s+a>>>1,l=o?o(i,n[i]):n[i];(r?l<=e:l<e)?s=i+1:a=i}return s}var wo,So,at=k(()=>{"use strict";ge();ot();$t();H();wo=(()=>{try{let n=new Uint8Array(0),e=Object.getPrototypeOf(n),t=Object.getPrototypeOf(e),r=Object.getOwnPropertyDescriptor(t,Symbol.toStringTag)?.get;return r&&r.call(n)==="Uint8Array"?r:void 0}catch{return}})();So={sum:null,count:0,min:null,max:null,minIdx:null,maxIdx:null,mean:null,variance:0,std:0,nullCount:0,len:0,hasNulls:!1,isNumeric:!1}});function No(n){let e=ce(n);return typeof e=="string"?e.trim().length===0:!1}function qt(n){let e=ce(n);if(e==null)return"";let t=String(e);return typeof RegExp.escape=="function"?RegExp.escape(t):t.replace(Ys,"\\$&")}function We(n,e=null,t={}){if(n==null)return t.returnStringOnNull?"":null;let{mode:r="both",returnStringOnNull:o=!1,maxScanStart:s=1,maxScanEnd:a=1,maxMatchesStart:i=1,maxMatchesEnd:l=1,trimFirst:f=!1,stringOptions:u}=t,{literal:c=!1,caseInsensitive:m=!1}=u??{},p=(S,b="both")=>b==="start"?S.trimStart():b==="end"?S.trimEnd():S.trim(),h=n;if(f&&e!=null&&(h=p(n,r)),e==null){let S=p(h,r);return o||S!==""?S:null}let y=Te(e)?S=>{try{e.lastIndex=0}catch{}return e.test(S)}:(()=>{let S=new Set(m?e.toLowerCase():e);return b=>S.has(m?b.toLowerCase():b)})(),d=h.length;if(s===1&&i===1&&a===1&&l===1&&!c){let S=0,b=d;if(r==="both"||r==="start")for(;S<d&&y(h[S]);)S++;if(r==="both"||r==="end")for(;b>S&&y(h[b-1]);)b--;let D=S===0&&b===d?h:h.substring(S,b);return o||D!==""?D:null}let _=new Uint8Array(d),T=(S,b,D)=>{if(d===0||D===0)return;let C=S?0:d-1,I=S?d:-1,N=S?1:-1,Y=!1,Z=0,W=0;for(let ie=C;ie!==I;ie+=N)if(y(h[ie])){if(!Y){if(b!==null&&b>=0&&W>=b||D!==null&&D>=0&&Z>=D)break;Y=!0,Z++}_[ie]=1}else if(Y=!1,W++,b!==null&&b>=0&&W>=b)break},A=(S,b,D,C,I)=>{if(d===0||I===0||b===0)return;let N=D?0:d-1,Y=0,Z=0,W=m?h.toLowerCase():h;for(;N>=0&&N<d&&!(I!==null&&I>=0&&Y>=I);){let ie=D?N:N-b+1;if(!D&&ie<0)break;let le=D?W.indexOf(S,ie):W.lastIndexOf(S,ie);if(le===-1)break;let Nt=D?le-N:N-(le+b-1);if(Z+=Nt,C!==null&&C>=0&&Z>=C)break;for(let $e=0;$e<b;$e++)_[le+$e]=1;Y++,N=D?le+b:le-1}};if(r==="both"||r==="start")if(c&&typeof e=="string"){let S=m?e.toLowerCase():e;A(S,e.length,!0,s,i)}else T(!0,s,i);if(r==="both"||r==="end")if(c&&typeof e=="string"){let S=m?e.toLowerCase():e;A(S,e.length,!1,a,l)}else T(!1,a,l);let x="";for(let S=0;S<d;S++)_[S]===0&&(x+=h[S]);return o||x!==""?x:null}function G(n,{depth:e=0,maxDepth:t=50}={}){if(e>t)return"v:circular";if(n===null)return"v:null";if(n===void 0)return"v:undefined";if(U(n))return`d:${n.getTime()}`;if($(n)){let o=n.toString();return`u:${n.constructor.name}:${o.length}:${o}`}if(Array.isArray(n)){let o=n.length,s=new Array(o),a={depth:e+1,maxDepth:t};for(let i=0;i<o;i++)s[i]=G(n[i],a);return`a:[${s.join("")}]`}if(vt(n)){let o=Array.from(n),s=o.length,a=new Array(s),i={depth:e+1,maxDepth:t};for(let l=0;l<s;l++)a[l]=G(o[l],i);return a.sort(),`set:[${a.join("")}]`}if(Mt(n)){let o=Array.from(n.keys()),s=o.length,a=new Array(s),i={depth:e+1,maxDepth:t};for(let l=0;l<s;l++){let f=o[l];a[l]=`${G(f,i)}${"\0"}${G(n.get(f),i)}`}return a.sort(),`map:{${a.join("")}}`}if(typeof n=="object"&&typeof n.toJSON=="function"){let o=n.toJSON();if(o!==n)return`j:${G(o,{depth:e+1,maxDepth:t})}`}if(Te(n)){let o=n.toString();return`r:${o.length}:${o}`}if(Ue(n)){let o=Object.keys(n).sort(),s=o.length,a=new Array(s),i={depth:e+1,maxDepth:t};for(let l=0;l<s;l++){let f=o[l];a[l]=`${G(f,i)}${"\0"}${G(n[f],i)}`}return`o:{${a.join("")}}`}if(typeof n=="function"){let o=n.toString();return`f:${o.length}:${o}`}if(typeof n=="string")return`s:${n.length}:${n}`;if(typeof n=="symbol"){let o=n.toString();return`y:${o.length}:${o}`}if(typeof n=="number"||typeof n=="boolean"||typeof n=="bigint")return`${typeof n}:${n}`;let r=String(n);return`${typeof n}:${r.length}:${r}`}function Qs(n){if(n==null)return[];let e=String(n);if(!e)return[];let r=e.normalize("NFC").replace(Hs,"$1$2").match(Xs)||[],o=[];for(let s=0;s<r.length;s++){let a=r[s];Zs.has(a)||o.push(a)}return o}function lt(n,e){let t=Qs(n),r=t.length;if(r===0)return"";let{format:o}=e;if(o==="camel"||o==="pascal"){let s="";for(let a=0;a<r;a++){let i=t[a];s+=a===0&&o==="camel"?i.toLowerCase():i.charAt(0).toUpperCase()+i.slice(1).toLowerCase()}return s}if(o==="kebab"||o==="snake"){let s=o==="kebab"?"-":"_",a=new Array(r);for(let i=0;i<r;i++)a[i]=t[i].toLowerCase();return a.join(s)}return String(n)}var Ys,Hs,Xs,Zs,$t=k(()=>{"use strict";ge();at();Ys=/[-\/\\^$*+?.()|\[\]{}]/g;Hs=/(\p{L})['’](\p{L})/gu,Xs=new RegExp(["\\p{Lu}+s(?!\\p{Ll})","\\p{Lu}+(?=\\p{Lu}\\p{Ll})","\\p{Lu}+\\p{Ll}*","\\p{Ll}+","\\p{N}+","\\p{L}+"].join("|"),"gu"),Zs=new Set(["__proto__","proto","constructor","prototype"])});function ni(n){let e=vo.get(n);return e||(e=new Intl.DateTimeFormat("en-US",{timeZone:n,hourCycle:"h23",weekday:"short",year:"numeric",month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit",second:"2-digit",fractionalSecondDigits:3}),vo.set(n,e)),e}function ri(n,e){let t=`${n}_${e}`,r=Mo.get(t);return r||(r=new Intl.DateTimeFormat(n,{timeZoneName:"short",timeZone:e}),Mo.set(t,r)),r}function oi(n){let e=Uo.get(n);if(e===void 0){try{Intl.DateTimeFormat(void 0,{timeZone:n}),e=!0}catch{e=!1}Uo.set(n,e)}return e}function he(n){let e=!n||n==="local"?Intl.DateTimeFormat().resolvedOptions().timeZone:n;return oi(e)?e:"UTC"}function ee(n,e=0,t=1,r=0,o=0,s=0,a=0){let i=new Date(0);return i.setUTCFullYear(n,e,t),i.setUTCHours(r,o,s,a),i}function si(n,e,t){let r=[0,3,2,5,0,3,5,1,4,6,2,4],o=n;return e<3&&(o-=1),(o+Math.floor(o/4)-Math.floor(o/100)+Math.floor(o/400)+r[e-1]+t)%7}function se(n,e){let t=he(e);if(t.toUpperCase()==="UTC")return{year:n.getUTCFullYear(),month:n.getUTCMonth()+1,day:n.getUTCDate(),hour:n.getUTCHours(),minute:n.getUTCMinutes(),second:n.getUTCSeconds(),ms:n.getUTCMilliseconds(),dayOfWeek:n.getUTCDay(),timeZone:"UTC"};let o=ni(t).formatToParts(n),s="0",a="0",i="0",l="0",f="0",u="0",c="0";for(let _=0,T=o.length;_<T;_++){let A=o[_];switch(A.type){case"year":s=A.value;break;case"month":a=A.value;break;case"day":i=A.value;break;case"hour":l=A.value;break;case"minute":f=A.value;break;case"second":u=A.value;break;case"fractionalSecond":c=A.value;break}}let m=parseInt(s,10),p=parseInt(a,10),h=parseInt(i,10),y=parseInt(l,10);y===24&&(y=0);let d=Math.round(parseFloat("0."+c)*1e3)||0,g=si(m,p,h);return{year:m,month:p,day:h,hour:y,minute:parseInt(f,10),second:parseInt(u,10),ms:d,dayOfWeek:g,timeZone:t}}function Ge(n,e){let t=he(e);if(t.toUpperCase()==="UTC")return 0;let r=se(n,"UTC"),o=se(n,t),s=ee(r.year,r.month-1,r.day,r.hour,r.minute,r.second,r.ms).getTime(),a=ee(o.year,o.month-1,o.day,o.hour,o.minute,o.second,o.ms).getTime();return Math.round((a-s)/6e4)}function Fo(n,e){let t=n>=0?"+":"-",r=Math.abs(n),o=String(Math.floor(r/60)).padStart(2,"0"),s=String(r%60).padStart(2,"0");return e==="iso"?`${t}${o}:${s}`:`${t}${o}${s}`}function X(n,e){let t=ce(n);if(t==null)return null;let r=null;if(U(t))r=t;else if(typeof t=="number"||typeof t=="bigint")r=new Date(ii(t));else if(typeof t=="string"){if(No(t))return null;r=new Date(t)}if(!r||!U(r))return null;if(e?.dateOnly){let o=typeof t=="string",s=o&&ti.test(t),a=o&&!s&&!Vo.test(t)?"local":"UTC",i=se(r,a);return ee(i.year,i.month-1,i.day)}return r}function zt(n){let e=ce(n);if(e==null)return null;let t=null;if(typeof e=="string"){let o=e.trim();if(ei.test(o)){let s=Vo.test(o);t=X(`1970-01-01T${o}${s?"":"Z"}`)}}let r=t||X(e);return r?Ve(r,{format:"%H:%M:%S.%ms"}):null}function Lo(n,e="ms"){let t=n.getTime();switch(e){case"s":return Math.floor(t/1e3);case"ms":return t;case"us":return BigInt(t)*qn;case"ns":return BigInt(t)*Kn}}function ii(n){if(typeof n=="bigint"){let t=n<0n?-n:n;return t<=30000000000n?Number(n)*1e3:t<=30000000000000n?Number(n):t<=30000000000000000n?Number(n/qn):Number(n/Kn)}let e=Math.abs(n);return e<=3e10?n*1e3:e<=3e13?n:e<=3e16?Math.floor(n/1e3):Math.floor(n/1e6)}function Po(n){if(!U(n))return null;let e=n.getUTCFullYear();return Math.floor((e-1)/100)+1}function Xn(n,e={field:"week"}){if(!U(n))return null;let t=ee(n.getUTCFullYear(),n.getUTCMonth(),n.getUTCDate()),r=t.getUTCDay()||7;if(t.setUTCDate(t.getUTCDate()+4-r),e.field==="year")return t.getUTCFullYear();let o=ee(t.getUTCFullYear(),0,1),s=Math.round((t.getTime()-o.getTime())/864e5);return Math.floor(s/7)+1}function Bo(n){if(!U(n))return null;let e=n.getUTCFullYear();return Math.floor((e-1)/1e3)+1}function Wt(n,e,t=1){return U(n)?ee(n.getUTCFullYear(),n.getUTCMonth()+e,t):null}function Zn(n){if(!U(n))return null;let e=ee(n.getUTCFullYear(),n.getUTCMonth(),n.getUTCDate()).getTime(),t=ee(n.getUTCFullYear(),0,1).getTime();return Math.floor((e-t)/864e5)+1}function $o(n){return U(n)?Math.floor(n.getUTCMonth()/3)+1:null}function Qn(n){let e;if(U(n))e=n.getUTCFullYear();else if(L(n))e=n;else return!1;return e%4===0&&e%100!==0||e%400===0}function qo(n){return n.replace(/%[FTRD]/g,e=>li[e]||e)}function ui(n){let e=n.replace(":",""),t=e[0]==="+"?1:-1,r=parseInt(e.slice(1,3),10)||0,o=parseInt(e.slice(3,5),10)||0;return t*(r*60+o)}function Ve(n,{format:e,locale:t,timeZone:r="UTC"}){if(!U(n)||typeof e!="string")return"";let o=t&&t.trim()||Intl.DateTimeFormat().resolvedOptions().locale||"en-US",s=qo(e),a=null,i=()=>a??=se(n,r);return s.replace(Kt,(l,f)=>{if(f==="%")return"%";let u=er[f];return u?u.format(n,o,r,i()):l})}function Ko(n,{format:e,strict:t=!0,defaultTimeZone:r="UTC"}){if(typeof n!="string"||typeof e!="string")return null;let o=qo(e),s=[],a="",i=0;Kt.lastIndex=0;let l;for(;(l=Kt.exec(o))!==null;){let y=o.slice(i,l.index);a+=qt(y);let d=l[1];if(d==="%")a+="\\%";else{let g=er[d];g&&g.parseRegex?(s.push(g),a+=`(${g.parseRegex})`):a+=qt(l[0])}i=Kt.lastIndex}a+=qt(o.slice(i));let f=new RegExp("^\\s*"+a+"\\s*$"),u=n.match(f);if(!u)return t?null:X(n);let c={year:1970,month:1,day:1,hour:0,minute:0,second:0,ms:0,offset:null},m=null,p=!1;for(let y=0;y<s.length;y++){let d=u[y+1],g=s[y],_=g.parseNormalize?g.parseNormalize(d):parseInt(d,10);g.key==="j"&&(p=!0),g.parseField==="ampm"?m=_:g.parseField==="offset"?c.offset=_:g.parseField&&(c[g.parseField]=_)}if(m&&(m==="PM"&&c.hour<12&&(c.hour+=12),m==="AM"&&c.hour===12&&(c.hour=0)),p){let y=Qn(c.year)?366:365;if(c.day<1||c.day>y)return null;let d=ee(c.year,0,1);d.setUTCDate(c.day),c.month=d.getUTCMonth()+1,c.day=d.getUTCDate()}let h=ee(c.year,c.month-1,c.day,c.hour,c.minute,c.second,c.ms);if(!U(h)||h.getUTCFullYear()!==c.year||h.getUTCMonth()+1!==c.month||h.getUTCDate()!==c.day||h.getUTCHours()!==c.hour||h.getUTCMinutes()!==c.minute||h.getUTCSeconds()!==c.second||h.getUTCMilliseconds()!==c.ms)return null;if(c.offset)h=new Date(h.getTime()-ui(c.offset)*6e4);else if(r.toUpperCase()!=="UTC"){let y=he(r),d=Ge(h,y);h=new Date(h.getTime()-d*6e4);let g=Ge(h,y);g!==d&&(h=new Date(h.getTime()-(g-d)*6e4))}return U(h)?h:null}function zo(n,e,{excludeWeekdays:t=[],holidays:r=[],roll:o}={}){if(!Ft(e))throw new oe(`The offset parameter 'n' must be a whole integer. Received: ${e}`);if(t.length===0&&(!r||Array.isArray(r)&&r.length===0||r instanceof Set&&r.size===0)&&!o)return e;if(7-t.length<=0)throw new oe("All weekdays are excluded; cannot offset.");let a=new Set;if(r instanceof Set)for(let c of r){let m=new Date(c);t.includes(m.getUTCDay())||a.add(c)}else if(Array.isArray(r))for(let c=0;c<r.length;c++){let m=X(r[c]);if(!m||t.includes(m.getUTCDay()))continue;let p=ee(m.getUTCFullYear(),m.getUTCMonth(),m.getUTCDate());a.add(p.getTime())}let i=c=>t.includes(c.getUTCDay())?!0:a.has(c.getTime()),l=ee(n.getUTCFullYear(),n.getUTCMonth(),n.getUTCDate()),f=new Date(l.getTime());if(o&&i(f)){if(o==="raise")throw new oe("Start date falls on an excluded day or holiday.");let c=o==="forward"?1:-1;for(;i(f);)f.setUTCDate(f.getUTCDate()+c)}if(e!==0){let c=e>0?1:-1,m=0,p=Math.abs(e);for(;m<p;)f.setUTCDate(f.getUTCDate()+c),i(f)||m++}let u=f.getTime()-l.getTime();return Math.round(u/864e5)}function tr(n,e,t){let r=he(e),o=t?.type??"total",s;if(o==="total")s=Ge(n,r);else{let l=se(n,r).year,f=Ge(ee(l,0,1),r),u=Ge(ee(l,6,1),r),c=Math.min(f,u);o==="daylightSavingTime"?s=Ge(n,r)-c:s=c}switch(t?.format??"milliseconds"){case"minutes":return s;case"hours":return s/60;case"iso":return Fo(s,"iso");case"basic":return Fo(s,"basic");default:return s*6e4}}function Wo(n,e={}){if(!U(n))return null;let t=e.excludeWeekdays??[0,6],r=n.getUTCDay();if(t.includes(r))return!1;let o=e.holidays;if(o){if(o instanceof Set){let s=Date.UTC(n.getUTCFullYear(),n.getUTCMonth(),n.getUTCDate());if(o.has(s))return!1}else if(Array.isArray(o)&&o.length>0){let s=new Set;for(let i=0;i<o.length;i++){let l=X(o[i]);l&&s.add(Date.UTC(l.getUTCFullYear(),l.getUTCMonth(),l.getUTCDate()))}let a=Date.UTC(n.getUTCFullYear(),n.getUTCMonth(),n.getUTCDate());if(s.has(a))return!1}}return!0}function Go(n,e={}){let t=se(n,e?.timeZone??void 0),r=e?.year??t.year,o=e?.month!=null?e.month-1:t.month-1,s=e?.day??t.day,a=e?.hour??t.hour,i=e?.minute??t.minute,l=e?.second??t.second,f=e?.ms??t.ms;return ee(r,o,s,a,i,l,f)}var ei,Vo,ti,vo,Mo,Uo,er,ai,Kt,li,nr=k(()=>{"use strict";$t();H();ge();ot();co();ei=/^\d{2}:\d{2}/,Vo=/(?:Z|[+-]\d{2}(?::?\d{2})?)$/i,ti=/^\d{4}-\d{2}-\d{2}$/,vo=new Map;Mo=new Map;Uo=new Map;er={Y:{key:"Y",format:(n,e,t,r)=>{let o=r.year;return o>=0?String(o).padStart(4,"0"):"-"+String(Math.abs(o)).padStart(4,"0")},parseRegex:"[+-]?\\d{4,}",parseField:"year"},y:{key:"y",format:(n,e,t,r)=>String(Math.abs(r.year)%100).padStart(2,"0"),parseRegex:"\\d{2}",parseField:"year",parseNormalize:n=>{let e=parseInt(n,10);return e+(e>=69?1900:2e3)}},m:{key:"m",format:(n,e,t,r)=>String(r.month).padStart(2,"0"),parseRegex:"\\d{2}",parseField:"month"},d:{key:"d",format:(n,e,t,r)=>String(r.day).padStart(2,"0"),parseRegex:"\\d{2}",parseField:"day"},e:{key:"e",format:(n,e,t,r)=>String(r.day).padStart(2," "),parseRegex:"\\s?\\d{1,2}",parseField:"day"},H:{key:"H",format:(n,e,t,r)=>String(r.hour).padStart(2,"0"),parseRegex:"\\d{2}",parseField:"hour"},I:{key:"I",format:(n,e,t,r)=>String(r.hour%12||12).padStart(2,"0"),parseRegex:"\\d{2}",parseField:"hour"},p:{key:"p",format:(n,e,t,r)=>r.hour>=12?"PM":"AM",parseRegex:"AM|PM|am|pm",parseField:"ampm",parseNormalize:n=>n.toUpperCase()},M:{key:"M",format:(n,e,t,r)=>String(r.minute).padStart(2,"0"),parseRegex:"\\d{2}",parseField:"minute"},S:{key:"S",format:(n,e,t,r)=>String(r.second).padStart(2,"0"),parseRegex:"\\d{2}",parseField:"second"},A:{key:"A",format:(n,e,t)=>n.toLocaleDateString(e,{weekday:"long",timeZone:he(t)})},a:{key:"a",format:(n,e,t)=>n.toLocaleDateString(e,{weekday:"short",timeZone:he(t)})},B:{key:"B",format:(n,e,t)=>n.toLocaleDateString(e,{month:"long",timeZone:he(t)})},b:{key:"b",format:(n,e,t)=>n.toLocaleDateString(e,{month:"short",timeZone:he(t)})},h:{key:"h",format:(n,e,t)=>n.toLocaleDateString(e,{month:"short",timeZone:he(t)})},j:{key:"j",format:(n,e,t,r)=>String(Zn(ee(r.year,r.month-1,r.day))??1).padStart(3,"0"),parseRegex:"\\d{3}",parseField:"day",parseNormalize:n=>parseInt(n,10)},u:{key:"u",format:(n,e,t,r)=>String(r.dayOfWeek||7)},w:{key:"w",format:(n,e,t,r)=>String(r.dayOfWeek)},Z:{key:"Z",format:(n,e,t)=>{let r=he(t);if(r.toUpperCase()==="UTC")return"UTC";let o=ri(e,r).formatToParts(n);for(let s=0,a=o.length;s<a;s++)if(o[s].type==="timeZoneName")return o[s].value;return"UTC"}},z:{key:"z",format:(n,e,t)=>tr(n,t,{format:"basic"}),parseRegex:"[+-]\\d{2}(?::?\\d{2})?",parseField:"offset",parseNormalize:n=>n.replace(":","")},ms:{key:"ms",format:(n,e,t,r)=>String(r.ms).padStart(3,"0"),parseRegex:"\\d{3}",parseField:"ms",parseNormalize:n=>parseInt(n,10)},f:{key:"f",format:(n,e,t,r)=>String(r.ms).padStart(3,"0").padEnd(6,"0"),parseRegex:"\\d{1,9}",parseField:"ms",parseNormalize:n=>parseInt(n.padEnd(6,"0").slice(0,3),10)}},ai=Object.keys(er).concat("%").sort((n,e)=>e.length-n.length),Kt=new RegExp("%("+ai.join("|")+")","g"),li={"%F":"%Y-%m-%d","%T":"%H:%M:%S","%R":"%H:%M","%D":"%m/%d/%y"}});function Jo(n,{format:e="json",allowPrimitives:t=!1,trimBeforeParse:r=!1,reviver:o,ndjson:{skipInvalidLines:s=!1,maxLines:a,skipLines:i}={},guard:l,onError:f,fallback:u=ct}={}){if(typeof n!="string")return u!==ct?u:n;let c=r?n.trim():n;if(c==="")return u!==ct?u:n;let m;try{if(e==="ndjson"){let p=[],h=0,y=0,d=0;rr.lastIndex=0;let g;for(;;){g=rr.exec(c);let _=g?c.substring(d,g.index):c.substring(d);g&&(d=rr.lastIndex);let T=_.trim();if(T!==""&&(h++,i===void 0||h>i))if(!t&&!ci(T)){if(!s)throw new v("NDJSON line is not wrapped and primitives are disallowed")}else try{if(p.push(JSON.parse(T,o)),y++,a!==void 0&&y>=a)break}catch(A){if(!s)throw A}if(!g)break}if(p.length===0)throw new be("No valid NDJSON lines processed");m=p}else{if(!t&&!fi(c))throw new v("JSON string is not wrapped and primitives are disallowed");m=JSON.parse(c,o)}}catch(p){return f?.(p),u!==ct?u:n}return l&&!l(m)?(f?.(new Error("Parsed value failed guard validation")),u!==ct?u:n):m}function ft(n={}){let e=n.bigintStrategy??"string",t=n.handleCircular?new WeakSet:null,o=Array.isArray(n.replacer)?n.replacer.map(String):null,s=a=>e==="number"&&a<=BigInt(Number.MAX_SAFE_INTEGER)&&a>=BigInt(Number.MIN_SAFE_INTEGER)?Number(a):a.toString();return function(i,l){let f=l;if(typeof n.replacer=="function")f=n.replacer.call(this,i,l);else if(o&&i!==""&&!Array.isArray(this)&&!o.includes(i))return;if(f===void 0)return;let u=f===l&&this!=null?this[i]:f;if(typeof n.onCustom=="function"){let c=n.onCustom.call(this,i,u);if(c!==u||c===void 0&&u!==void 0)return c}if(u!==null&&typeof u!="object"&&typeof u!="bigint")return f;if(t&&u!==null&&typeof u=="object"){if(i===""&&(t=new WeakSet),t.has(u))return n.onCircular?n.onCircular.call(this,i,u):"[Circular]";t.add(u)}return typeof u=="bigint"?n.voidBigIntReplacement?f:n.onBigInt?n.onBigInt(u):s(u):$(u)?n.voidTypedArrayReplacement?f:n.onTypedArray?n.onTypedArray(u):Array.from(u):vt(u)?n.voidSetReplacement?f:n.onSet?n.onSet(u):Array.from(u):Mt(u)?n.voidMapReplacement?f:n.onMap?n.onMap(u):Array.from(u.entries()):Te(u)?n.voidRegExpReplacement?f:n.onRegExp?n.onRegExp(u):u.toString():U(u)?n.voidDateReplacement?f:n.onDate?n.onDate(u):n.formatDate?n.formatDate(u):u.toISOString():uo(u)?n.onError?n.onError(u):{name:u.name,message:u.message,stack:u.stack}:lo(u)?n.onURLSearchParams?n.onURLSearchParams(u):u.toString():f}}var rr,ct,ci,fi,Gt=k(()=>{"use strict";at();ge();H();rr=/\r\n|\n|\r/g,ct=Symbol("no_fallback"),ci=n=>{let e=n.length;if(e<2)return!1;let t=n[0],r=n[e-1];return t==="{"&&r==="}"||t==="["&&r==="]"},fi=n=>{let e=0,t=n.length;for(;e<t&&/\s/.test(n[e]);)e++;let r=t-1;for(;r>=e&&/\s/.test(n[r]);)r--;if(e>=r)return!1;let o=n[e],s=n[r];return o==="{"&&s==="}"||o==="["&&s==="]"}});var ne,Le,mt,Ie,Ee,Je,ke,Ye,Jt=k(()=>{"use strict";ne=class n{matches(e){if(e==null)return!1;if(e instanceof n)return!!(this.equals(e)||this.name.startsWith("Decimal")&&e.name.startsWith("Decimal")&&e.precision===void 0&&e.scale===void 0);if(typeof e=="function"){if(e.prototype instanceof n)return this instanceof e;try{let t=e();if(t instanceof n)return this.constructor===t.constructor}catch{}}return!1}get isNumeric(){return!1}get isInteger(){return!1}get isFloat(){return!1}get isSigned(){return!1}get isUnsigned(){return!1}get isTemporal(){return!1}get isNested(){return!1}get isBoolean(){return!1}get isString(){return!1}get isUtf8(){return!1}get isObject(){return!1}get isNull(){return!1}get isBinary(){return!1}},Le=class extends ne{get isNumeric(){return!0}},mt=class extends Le{get isInteger(){return!0}},Ie=class extends mt{get isSigned(){return!0}},Ee=class extends mt{get isUnsigned(){return!0}},Je=class extends Le{get isFloat(){return!0}},ke=class extends ne{get isTemporal(){return!0}},Ye=class extends ne{get isNested(){return!0}}});var Yt,or,Ht,sr,Xt,ir,Zt,ht,Qt,ar,en,lr,tn,ur,nn,cr,rn,fr,on,yt,pt,sn,dt,an,Xe,ln,mr,un,pr,cn,hr,fn,yr,ye,gt,mn,dr,He,gr,pn,_r,hn,br,_t=k(()=>{"use strict";Jt();q();Yt=class extends Ie{name="Int8";coerce(e){return _e(e,{range:"Int8"})}equals(e){return e.name==="Int8"}allocate(e){return new Int8Array(e)}},or=new Yt,Ht=class extends Ie{name="Int16";coerce(e){return _e(e,{range:"Int16"})}equals(e){return e.name==="Int16"}allocate(e){return new Int16Array(e)}},sr=new Ht,Xt=class extends Ie{name="Int32";coerce(e){return _e(e,{range:"Int32"})}equals(e){return e.name==="Int32"}allocate(e){return new Int32Array(e)}},ir=new Xt,Zt=class extends Ie{name="Int64";coerce(e){return Ke(e,{truncate:!0})}equals(e){return e.name==="Int64"}allocate(e){return new BigInt64Array(e)}},ht=new Zt,Qt=class extends Ee{name="UInt8";coerce(e){return _e(e,{range:"UInt8"})}equals(e){return e.name==="UInt8"}allocate(e){return new Uint8Array(e)}},ar=new Qt,en=class extends Ee{name="UInt16";coerce(e){return _e(e,{range:"UInt16"})}equals(e){return e.name==="UInt16"}allocate(e){return new Uint16Array(e)}},lr=new en,tn=class extends Ee{name="UInt32";coerce(e){return _e(e,{range:"UInt32"})}equals(e){return e.name==="UInt32"}allocate(e){return new Uint32Array(e)}},ur=new tn,nn=class extends Ee{name="UInt64";coerce(e){return Ke(e,{range:"UInt64"})}equals(e){return e.name==="UInt64"}allocate(e){return new BigUint64Array(e)}},cr=new nn,rn=class extends Je{name="Float32";coerce(e){return zn(e,{floatPrecision:"Float32"})}equals(e){return e.name==="Float32"}allocate(e){return new Float32Array(e)}},fr=new rn,on=class extends Je{name="Float64";coerce(e){return zn(e,{floatPrecision:"Float64"})}equals(e){return e.name==="Float64"}allocate(e){return new Float64Array(e)}},yt=new on,pt=class n extends Le{constructor(t,r){super();this.precision=t;this.scale=r;this.name=t!==void 0&&r!==void 0?`Decimal(${t}, ${r})`:"Decimal"}precision;scale;name;coerce(t){return jt(t,{precision:this.precision,scale:this.scale})}equals(t){return t instanceof n&&this.precision===t.precision&&this.scale===t.scale}allocate(t){return new Array(t).fill(null)}},sn=class extends ne{name="Boolean";get isBoolean(){return!0}coerce(e){return e==null?null:!!e}equals(e){return e.name==="Boolean"}allocate(e){return new Array(e).fill(null)}},dt=new sn,an=class extends ne{name="Utf8";get isString(){return!0}get isUtf8(){return!0}coerce(e){return e==null?null:String(e)}equals(e){return e.name==="Utf8"}allocate(e){return new Array(e).fill(null)}},Xe=new an,ln=class extends ne{name="Binary";get isBinary(){return!0}coerce(e){return Yo(e)}equals(e){return e.name==="Binary"}allocate(e){return new Array(e).fill(null)}},mr=new ln,un=class extends ne{name="Null";get isNull(){return!0}coerce(e){return null}equals(e){return e.name==="Null"}allocate(e){return new Array(e).fill(null)}},pr=new un,cn=class extends ne{name="Object";get isObject(){return!0}coerce(e){return e===void 0?null:e}equals(e){return e.name==="Object"}allocate(e){return new Array(e).fill(null)}},hr=new cn,fn=class extends ke{name="Date";coerce(e){return X(e,{dateOnly:!0})}equals(e){return e.name==="Date"}allocate(e){return new Array(e).fill(null)}},yr=new fn,ye=class n extends ke{name="Datetime";timeUnit;timeZone;constructor(e="ms",t=null){super(),this.timeUnit=e,this.timeZone=t}coerce(e){return X(e)}equals(e){return e instanceof n&&e.timeUnit===this.timeUnit&&e.timeZone===this.timeZone}allocate(e){return new Array(e).fill(null)}},gt=new ye,mn=class extends ke{name="Time";coerce(e){return zt(e)}equals(e){return e.name==="Time"}allocate(e){return new Array(e).fill(null)}},dr=new mn,He=class n extends ke{name="Duration";timeUnit;constructor(e="ms"){super(),this.timeUnit=e}coerce(e){return M(e)}equals(e){return e instanceof n&&e.timeUnit===this.timeUnit}allocate(e){return new Array(e).fill(null)}},gr=new He,pn=class n extends Ye{constructor(t){super();this.innerType=t}innerType;name="Array";coerce(t){if(t==null)return null;let r=E(t)?Array.from(t):[t],o=r.length,s=new Array(o);for(let a=0;a<o;a++)s[a]=this.innerType.coerce(r[a]);return s}equals(t){return t instanceof n&&this.innerType.equals(t.innerType)}allocate(t){return new Array(t).fill(null)}},_r=n=>new pn(n),hn=class n extends Ye{constructor(t){super();this.fields=t}fields;name="Struct";coerce(t){if(!z(t))return null;let r={},o=Object.keys(this.fields),s=o.length;for(let a=0;a<s;a++){let i=o[a],l=this.fields[i];r[i]=l.coerce(t[i])}return r}equals(t){if(!(t instanceof n))return!1;let r=Object.keys(this.fields),o=Object.keys(t.fields);if(r.length!==o.length)return!1;for(let s=0;s<r.length;s++){let a=r[s];if(!this.fields[a].equals(t.fields[a]))return!1}return!0}allocate(t){return new Array(t).fill(null)}},br=n=>new hn(n)});var F,Re=k(()=>{"use strict";Jt();_t();_t();Jt();F={Int8:or,Int16:sr,Int32:ir,Int64:ht,UInt8:ar,UInt16:lr,UInt32:ur,UInt64:cr,Float32:fr,Float64:yt,Decimal:(n,e)=>new pt(n,e),Boolean:dt,Utf8:Xe,Binary:mr,Date:yr,Datetime:gt,Time:dr,Duration:gr,Object:hr,Null:pr,Array:_r,Struct:br}});function pi(n={}){let e=n.nullValue!==void 0?n.nullValue:"",t=_o(n.numericFormatOptions),r=n.replacerOptions||{},o=i=>n.datetimeFormat?Ve(i,{format:n.datetimeFormat}):n.dateFormat?Ve(i,{format:n.dateFormat}):n.timeFormat?Ve(i,{format:n.timeFormat}):i.toISOString(),s=ft({formatDate:o,...r}),a=typeof r.onBigInt=="function";return i=>{if(i==null||typeof i=="symbol"||typeof i=="function")return{str:e,isNumeric:!1};if(typeof i=="bigint"&&!a&&!r.voidBigIntReplacement)return{str:t(i),isNumeric:!0};let l=s.call(null,"",i),f=ce(l);return f==null||typeof f=="symbol"||typeof f=="function"?{str:e,isNumeric:!1}:typeof f=="string"?{str:f,isNumeric:!1}:typeof f=="number"||typeof f=="bigint"?{str:t(f),isNumeric:!0}:typeof f=="boolean"?{str:f?"true":"false",isNumeric:!1}:typeof f=="object"?{str:JSON.stringify(f,ft({formatDate:o,...r})),isNumeric:!1}:{str:String(f),isNumeric:!1}}}function dn(n,e,t={}){let{separator:r=",",quoteChar:o='"',includeHeader:s=!0,lineTerminator:a=`
|
|
2
|
+
`,quoteStyle:i="necessary",includeBom:l=!1,onRow:f,...u}=t,c=Object.keys(n),m=c.length,p=[],h=!0,y=pi(u),d=(_,T=!1)=>{let A,x=!1;if(T)A=String(_);else{let b=y(_);A=b.str,x=b.isNumeric}if(i==="never")return A;if(i==="always"){let b=A.split(o).join(o+o);return o+b+o}if(i==="non_numeric"&&!x&&_!=null){let b=A.split(o).join(o+o);return o+b+o}if(A.includes(r)||A.includes(o)||A.includes(`
|
|
3
|
+
`)||A.includes("\r")){let b=A.split(o).join(o+o);return o+b+o}return A},g=_=>{if(h){let T=l?"\uFEFF"+_:_;f?f(T):p.push(T),h=!1}else f?f(a+_):p.push(_)};if(s){let _=new Array(m);for(let T=0;T<m;T++)_[T]=d(c[T],!0);g(_.join(r))}for(let _=0;_<e;_++){let T=new Array(m);for(let A=0;A<m;A++)T[A]=d(n[c[A]][_],!1);g(T.join(r))}return f?l?"\uFEFF":"":p.join(a)}function Ho(n,e={}){let t=e.separator||",",r=e.quoteChar||'"',o=n;o.startsWith("\uFEFF")&&(o=o.substring("\uFEFF".length));let s=[],a=[],i="",l=!1,f=!1,u=!1,c=o.length;for(let m=0;m<c;m++){let p=o[m];if(l)f=!0,u=!1,p===r?m+1<c&&o[m+1]===r?(i+=r,m++):l=!1:i+=p;else if(p===r)f=!0,u=!1,l=!0;else if(p===t)a.push(i),i="",u=!0;else{let h=!1;p==="\r"?(h=!0,m+1<c&&o[m+1]===`
|
|
4
|
+
`&&m++):p===`
|
|
5
|
+
`&&(h=!0),h?(f||a.length>0||i!==""||u)&&(a.push(i),s.push(a),a=[],i="",f=!1,u=!1):(f=!0,u=!1,i+=p)}}return(f||a.length>0||i!==""||u)&&(a.push(i),s.push(a)),s}function Xo(n,e={}){let t=new Set(e.nullValues??["","NA","null","NaN"]),r=n.length,o=!0,s=!0,a=!0,i=!0,l=!1;for(let u=0;u<r;u++){let c=n[u].trim();if(!t.has(c)){if(l=!0,o){let m=c.toLowerCase();m!=="true"&&m!=="false"&&m!=="1"&&m!=="0"&&(o=!1)}if(a&&Ke(c,{truncate:!1})===null&&(a=!1),s&&M(c,{allowNonFiniteNumbers:!0})===null&&(s=!1),i&&X(c)===null&&(i=!1),!o&&!s&&!a&&!i)break}}let f=new Array(r);if(!l||!o&&!s&&!a&&!i){for(let u=0;u<r;u++){let c=n[u];f[u]=t.has(c.trim())?null:c}return{type:Xe,values:f}}if(o){for(let u=0;u<r;u++){let c=n[u].trim();if(t.has(c))f[u]=null;else{let m=c.toLowerCase();f[u]=m==="true"||m==="1"}}return{type:dt,values:f}}if(a){for(let u=0;u<r;u++){let c=n[u].trim();f[u]=t.has(c)?null:Ke(c,{truncate:!1})}return{type:ht,values:f}}if(s){for(let u=0;u<r;u++){let c=n[u].trim();f[u]=t.has(c)?null:M(c,{allowNonFiniteNumbers:!0})}return{type:yt,values:f}}if(i){for(let u=0;u<r;u++){let c=n[u].trim();f[u]=t.has(c)?null:X(c)}return{type:gt,values:f}}return{type:Xe,values:f}}var Zo=k(()=>{"use strict";nr();Gt();ot();Re();ge()});function hi(n){return n==null?!1:typeof n=="string"||$(n)?!0:Array.isArray(n)}function Yo(n){return hi(n)?Object.prototype.toString.call(n)==="[object Uint8Array]"?n:typeof n=="string"?new TextEncoder().encode(n):$(n)?new Uint8Array(n.buffer.slice(n.byteOffset,n.byteOffset+n.byteLength)):new Uint8Array(n):null}var Qo=k(()=>{"use strict";at()});function es(n,e){return e==="us"?n*1e3:e==="ns"?n*1e6:n}var ts=k(()=>{"use strict"});var q=k(()=>{"use strict";ge();ot();nr();at();$t();Gt();Zo();Qo();ts()});function J(n,e,t,r=""){if(!(n in e))throw new xe(n,`${t} "${n}" does not exist${r}`)}function gn(n,e){let t=Object.keys(n),r=t.length,o=e;for(let s=0;s<r;s++){let a=t[s],i=n[a],l=E(i)?i.length:0;if(o===void 0)o=l;else if(l!==o)throw new te(`Column height mismatch: Column "${a}" has length ${l}, but DataFrame height is ${o}`)}return o===void 0?0:o}function bt(n,e="Value cannot be null or undefined"){if(n==null)throw new v(e);return n}function yi(n,e){if(!n)throw new v(e)}var ns=k(()=>{"use strict";H();q()});var we,K,xe,Ne,oe,te,v,be,H=k(()=>{"use strict";ns();we=class extends Error{constructor(e){super(e),this.name=this.constructor.name,Error.captureStackTrace&&Error.captureStackTrace(this,this.constructor)}},K=class extends we{},xe=class extends K{constructor(e,t){super(t||`Column "${e}" does not exist in the DataFrame.`)}},Ne=class extends we{},oe=class extends we{},te=class extends we{},v=class extends we{},be=class extends we{}});function di(n,e,t){let r=new Map,o=t.length,s=new Array(o);for(let a=0;a<o;a++){let i=t[a];typeof i=="string"?(J(i,n,"Partition key"," in the DataFrame."),s[a]=n[i]):s[a]=i.evaluate(n,e)}if(o===1){let a=s[0];for(let i=0;i<e;i++){let l=a[i],f=l==null?"":G(l),u=r.get(f);u===void 0&&(u=[],r.set(f,u)),u.push(i)}return r}for(let a=0;a<e;a++){let i=new Array(o);for(let u=0;u<o;u++){let c=s[u][a];i[u]=c==null?"":G(c)}let l=i.join("\0"),f=r.get(l);f===void 0&&(f=[],r.set(l,f)),f.push(a)}return r}function Sr(n,e,t){let r=new Array(t);if(t===0)return r;let o=n._partitionBy||[],s=di(e,t,o),a=n._evaluatePre(n._partitionOpsIndex,e,t);for(let i of s.values()){let l=i.length,f=new Array(l);for(let u=0;u<l;u++)f[u]=a[i[u]];if(n._evaluateWindow){for(let u=0;u<l;u++)r[i[u]]=n._evaluateWindow(f,i,u);continue}if(n._aggFn){let u=n._aggFn(f);for(let c=0;c<l;c++)r[i[c]]=u;continue}for(let u=0;u<l;u++)r[i[u]]=a[i[u]]}return n._evaluatePost(n._partitionOpsIndex,r,e)}function Ar(n){if(!Array.isArray(n)||n.length===0)return{columns:{},height:0};let e=n.length,t=new Set;for(let s=0;s<e;s++){let a=n[s];if(z(a)){let i=Object.keys(a);for(let l=0;l<i.length;l++)t.add(i[l])}}let r=Array.from(t),o={};for(let s=0;s<r.length;s++)o[r[s]]=new Array(e);for(let s=0;s<e;s++){let a=n[s]||{};for(let i=0;i<r.length;i++){let l=r[i],f=a[l];o[l][s]=f===void 0?null:f}}return{columns:o,height:e}}function Dr(n,e){let t=Object.keys(n),r=new Array(e);for(let o=0;o<e;o++){let s={};for(let a=0;a<t.length;a++){let i=t[a],l=n[i][o];s[i]=l===void 0?null:l}r[o]=s}return r}function gi(n,e,t){let r={};for(let o=0;o<t.length;o++){let s=t[o],a=n[s][e];r[s]=a===void 0?null:a}return r}function Ae(n){if(n.length===0)return F.Utf8;let e=!0,t=!0,r=!0,o=!0,s=!0,a=!0,i=!0,l=!0,f=!1,u=!1,c=[];for(let m=0;m<n.length;m++){let p=n[m];if(p!=null){if(u=!0,p instanceof Uint8Array||(i=!1),!E(p)||p instanceof Uint8Array)a=!1;else{let h=p,y=h.length;for(let d=0;d<y;d++)c.push(h[d])}U(p)&&(f=!0),typeof p!="boolean"&&(e=!1),typeof p!="bigint"&&(o=!1),typeof p!="number"?(r=!1,t=!1):Number.isInteger(p)||(t=!1),!U(p)&&(typeof p!="string"||isNaN(Date.parse(p)))&&(s=!1),(!z(p)||p instanceof Uint8Array)&&(l=!1)}}if(!u)return F.Null;if(i)return F.Binary;if(a){let m=Ae(c);return F.Array(m)}if(e)return F.Boolean;if(o)return F.Int64;if(r&&!t)return F.Float64;if(r&&t){let m=!0;for(let p=0;p<n.length;p++){let h=n[p];if(h!=null&&(h<-2147483648||h>2147483647)){m=!1;break}}return m?F.Int32:F.Float64}return s&&f?F.Datetime:l?F.Object:F.Utf8}function Ze(n,e){let t=Object.keys(n),r=t.length,o=e.length,s={};for(let a=0;a<r;a++){let i=t[a],l=n[i],f=$(l)?new l.constructor(o):new Array(o);for(let u=0;u<o;u++)f[u]=l[e[u]];s[i]=f}return s}function Se(n,e,t){let r=e.length;if(r===1)return G(n[e[0]][t]);let o=new Array(r);for(let s=0;s<r;s++)o[s]=G(n[e[s]][t]);return o.join("\0")}function ve(n,e,t){let r=e.allocate?e.allocate(t):new Array(t);if($(r)){let s=r;for(let a=0;a<t;a++){let i=e.coerce(n[a]);if(i==null){let l=new Array(t);for(let f=0;f<a;f++)l[f]=s[f];l[a]=null;for(let f=a+1;f<t;f++)l[f]=e.coerce(n[f]);return l}s[a]=i}}else for(let s=0;s<t;s++)r[s]=e.coerce(n[s]);return r}function Tr(n,e){if(n)if(typeof n=="string"){if(typeof require!="function")throw new be("File writing is not supported in this environment (missing require('fs')).");require("fs").writeFileSync(n,e,"utf8")}else if(z(n)&&typeof n.write=="function")n.write(e);else throw new v("Invalid file argument. Expected a file path string or a writable stream/object with a write method.")}function Cr(n,e,t,r,o,s,a={}){let{how:i="inner",join_nulls:l=!1,maintain_order:f}=a,u=(b,D,C)=>{if(!l){for(let I=0;I<D.length;I++)if(b[D[I]][C]==null)return null}return Se(b,D,C)};if(i==="cross")return Ro(t,r);let c=new Map;for(let b=0;b<r;b++){let D=u(e,s,b);if(D===null)continue;let C=c.get(D);C===void 0&&(C=[],c.set(D,C)),C.push(b)}let m=[],p=[];if(i==="semi"||i==="anti"){for(let b=0;b<t;b++){let D=u(n,o,b),C=D===null?void 0:c.get(D),I=C!==void 0&&C.length>0;(i==="semi"&&I||i==="anti"&&!I)&&(m.push(b),p.push(null))}return{leftIndices:m,rightIndices:p}}let h=i==="outer"||i==="right",y=h?new Set:null;for(let b=0;b<t;b++){let D=u(n,o,b),C=D===null?void 0:c.get(D);if(C===void 0)(i==="left"||i==="outer")&&(m.push(b),p.push(null));else for(let I=0;I<C.length;I++){let N=C[I];h&&y.add(N),m.push(b),p.push(N)}}if(h)for(let b=0;b<r;b++)y.has(b)||(m.push(-1),p.push(b));let d=f||"none";if(d==="none"||d==="left")return{leftIndices:m,rightIndices:p};let g=m.length,_=new Int32Array(g);for(let b=0;b<g;b++)_[b]=b;let T=b=>m[b]===-1?Number.MAX_SAFE_INTEGER:m[b],A=b=>p[b]??Number.MAX_SAFE_INTEGER;d==="right"?_.sort((b,D)=>A(b)-A(D)||b-D):d==="left_right"?_.sort((b,D)=>T(b)-T(D)||A(b)-A(D)||b-D):d==="right_left"&&_.sort((b,D)=>A(b)-A(D)||T(b)-T(D)||b-D);let x=new Array(g),S=new Array(g);for(let b=0;b<g;b++){let D=_[b];x[b]=m[D],S[b]=p[D]}return{leftIndices:x,rightIndices:S}}function Or(n,e,t,r,o,s,a,i,l={}){let f=l.strategy??"backward",u=l.allow_exact_matches??!0,c=l.check_sorted??!0;J(o,n,"Join on key"," in the left DataFrame."),J(s,e,"Join on key"," in the right DataFrame.");let m=n[o],p=e[s];if(c){let x=(S,b,D,C)=>{for(let I=1;I<b;I++){let N=M(S[I-1]),Y=M(S[I]);if(L(N)&&L(Y)&&Y<N)throw new v(`${C} DataFrame key column "${D}" is not sorted in ascending order at row ${I}.`)}};x(m,t,o,"left"),x(p,r,s,"right")}let h=a.length>0,y=new Map;if(h)for(let x=0;x<r;x++){let S=Se(e,i,x),b=y.get(S);b||(b=[],y.set(S,b)),b.push(x)}let d=new Array(r);if(!h)for(let x=0;x<r;x++)d[x]=x;let g=new Array(t),_=new Array(t),T=(x,S)=>{let b=S.length;if(b===0)return null;let D=(W,ie)=>M(p[ie])??NaN;if(f==="backward"){let W=Bt(S,x,{side:u?"right":"left",getValue:D})-1;return W>=0?S[W]:null}if(f==="forward"){let W=Bt(S,x,{side:u?"left":"right",getValue:D});return W<b?S[W]:null}let C=Bt(S,x,{side:"right",getValue:D}),I=C-1,N=C;if(u||(I>=0&&D(I,S[I])===x&&I--,N<b&&D(N,S[N])===x&&N++),I<0)return N<b?S[N]:null;if(N>=b)return I>=0?S[I]:null;let Y=D(I,S[I]),Z=D(N,S[N]);return Math.abs(x-Y)<=Math.abs(x-Z)?S[I]:S[N]},A=l.tolerance!==void 0?M(l.tolerance):null;for(let x=0;x<t;x++){g[x]=x;let S=M(m[x]);if(!L(S)){_[x]=null;continue}let b=h?y.get(Se(n,a,x))||[]:d;if(b.length===0){_[x]=null;continue}let D=T(S,b);if(D!==null&&A!==null){let C=M(p[D]);(!L(A)||!L(C)||Math.abs(S-C)>A)&&(D=null)}_[x]=D}return{leftIndices:g,rightIndices:_}}function _n(n,e,t,r,o,s,a,i,l={}){let[f="",u="_right"]=l.suffixes||[],c=l.coalesce??!0,m=l.how||"inner",p=o.length,h={},y={},d=new Set(a),g=new Set(i),_=(D,C)=>{let I=C!==""?C:"_left",N=`${D}${I}`,Y=1;for(;x.has(N);)N=`${D}${I}_${Y++}`;return x.add(N),N},T=(D,C,I=-1)=>{let N=C.length,Y=new Array(N);for(let Z=0;Z<N;Z++){let W=C[Z];Y[Z]=W!==null&&W!==I?D[W]:null}return Y},A=new Map;for(let D=0;D<a.length;D++)A.has(a[D])||A.set(a[D],i[D]);let x=new Set,S=Object.keys(n),b=Object.keys(e);for(let D=0;D<S.length;D++){let C=S[D];(!(C in e)||d.has(C)||g.has(C))&&x.add(C)}for(let D=0;D<S.length;D++){let C=S[D],I=d.has(C),N;C in e&&!I&&!g.has(C)?f!==""?(x.add(C),N=_(C,f)):x.has(C)?N=_(C,f):(N=C,x.add(C)):N=C;let Y=n[C],Z=I?A.get(C):null,W=Z?e[Z]:null;if(I&&c){let ie=new Array(p);for(let le=0;le<p;le++){let Nt=o[le],$e=s[le],bs=Nt!==-1?Y[Nt]:null,xs=$e!==null&&W?W[$e]:null;ie[le]=bs??xs}h[N]=ie}else h[N]=T(Y,o);t[C]?y[N]=t[C]:Z&&r[Z]&&(y[N]=r[Z])}if(m!=="semi"&&m!=="anti")for(let D=0;D<b.length;D++){let C=b[D];if(c&&g.has(C))continue;let I;x.has(C)?I=_(C,u):(I=C,x.add(C)),h[I]=T(e[C],s),r[C]&&(y[I]=r[C])}return j._createDirect(h,y,p)}var bn=k(()=>{"use strict";Qe();Re();q();H()});function rs(n,e){if(n==null)return null;let t=typeof n=="object"&&U(n)?n.getTime():n;return e(t)}function Ir(n,e,t){if(n==null||e==null)return null;let r=typeof n=="object"&&U(n)?n.getTime():n,o=typeof e=="object"&&U(e)?e.getTime():e;return t(r,o)}function de(n,e,t){return n._isWindow?Sr(n,e,t):n.evaluate(e,t)}var O,V,fe=k(()=>{"use strict";q();ge();bn();O=n=>e=>{let t=e.length,r=new Array(t);for(let o=0;o<t;o++)r[o]=rs(e[o],n);return r},V=(n,e,t)=>(r,o)=>{let s=r.length,a=n._resolve(e,o,s),i=new Array(s);if(E(a))for(let l=0;l<s;l++)i[l]=Ir(r[l],a[l],t);else for(let l=0;l<s;l++)i[l]=Ir(r[l],a,t);return i}});var w,B,ae=k(()=>{"use strict";H();fe();w=(n,e)=>{let t=n.constructor,r=n._colNames||n._colName||"",o=new t(r);return Object.assign(o,n),o._ops=e?[...n._ops,e]:[...n._ops],o},B=class n{_ops=[];_outputName="";_isLiteral;_literalValue;_aggFn=null;_castType;_groupingOpsIndex;_partitionOpsIndex;_partitionBy=null;_evaluateWindow;_evaluatePost(e,t,r){let o=this._ops,s=e!==void 0?e:o.length,a=t;for(let i=s;i<o.length;i++)a=o[i](a,r);return a}_evaluatePre(e,t,r){let o=this._getInitialValue(t,r),s=this._ops,a=e!==void 0?e:s.length;for(let i=0;i<a;i++)o=s[i](o,t);return o}_getInitialValue(e,t){let r=this._colName;if(r&&r!=="*"&&!r.startsWith("*")&&!(r in e))throw new xe(r);return(r&&r!=="*"?e[r]:null)||new Array(t).fill(null)}_resolve(e,t,r){return e instanceof n?e._isLiteral&&e._ops.length===1?e._literalValue:de(e,t,r):e}alias(e){let t=w(this);return t._outputName=e,t}cast(e){let t=w(this,O(r=>e.coerce(r)));return t._castType=e,t}debug(e){return w(this,t=>(console.log(`[DEBUG] ${e?e+": ":""}`,t),t))}evaluate(e,t){return this._evaluatePre(void 0,e,t)}}});var xt,Er=k(()=>{"use strict";ae();fe();q();xt=class extends B{abs(){return w(this,O(Math.abs))}acos(){return w(this,O(e=>e<-1||e>1?null:Math.acos(e)))}acosh(){return w(this,O(e=>e<1?null:Math.acosh(e)))}add(e){return w(this,V(this,e,(t,r)=>t+r))}asin(){return w(this,O(e=>e<-1||e>1?null:Math.asin(e)))}asinh(){return w(this,O(Math.asinh))}atan(){return w(this,O(Math.atan))}atan2(e){return w(this,V(this,e,Math.atan2))}atanh(){return w(this,O(e=>e<=-1||e>=1?null:Math.atanh(e)))}cbrt(){return w(this,O(Math.cbrt))}ceil(){return w(this,O(Math.ceil))}clip(e=null,t=null){return w(this,O(r=>pe(r,{min:e,max:t})))}copysign(e){return w(this,V(this,e,(t,r)=>Math.abs(t)*(r>=0?1:-1)))}cos(){return w(this,O(Math.cos))}cosh(){return w(this,O(Math.cosh))}degrees(){return w(this,O(e=>e*(180/Math.PI)))}div(e){return w(this,V(this,e,(t,r)=>r===0?null:t/r))}exp(){return w(this,O(Math.exp))}expm1(){return w(this,O(Math.expm1))}floor(){return w(this,O(Math.floor))}floordiv(e){return w(this,V(this,e,(t,r)=>r===0?null:Math.floor(t/r)))}hypot(e){return w(this,V(this,e,Math.hypot))}log(e=Math.E){return w(this,O(t=>t<=0?null:e===Math.E?Math.log(t):Math.log(t)/Math.log(e)))}log1p(){return w(this,O(e=>e<=-1?null:Math.log1p(e)))}mod(e){return w(this,V(this,e,(t,r)=>r===0?null:t%r))}mul(e){return w(this,V(this,e,(t,r)=>t*r))}negate(){return w(this,O(e=>-e))}pow(e){return w(this,V(this,e,Math.pow))}radians(){return w(this,O(e=>e*(Math.PI/180)))}rand(e,{min:t=0,max:r=1,integer:o=!1}={}){return w(this,s=>{let a=s.length,i=new Float64Array(a),l=e!==void 0?xo(e):Math.random,f=r-t;for(let u=0;u<a;u++){let c=l();i[u]=o?Math.floor(c*(f+1))+t:c*f+t}return i})}round(e=0){return w(this,O(t=>Wn(t,e)))}round_sig_figs(e){return w(this,O(t=>L(t)?Number(t.toPrecision(e)):t))}sign(){return w(this,O(Math.sign))}sin(){return w(this,O(Math.sin))}sinh(){return w(this,O(Math.sinh))}sqrt(){return w(this,O(e=>e<0?null:Math.sqrt(e)))}sub(e){return w(this,V(this,e,(t,r)=>t-r))}tan(){return w(this,O(Math.tan))}tanh(){return w(this,O(Math.tanh))}trunc(){return w(this,O(Math.trunc))}}});var wt,kr=k(()=>{"use strict";ae();fe();q();wt=class extends B{and(e){return w(this,(t,r)=>{let o=t.length,s=this._resolve(e,r,o),a=E(s),i=new Array(o);for(let l=0;l<o;l++){let f=t[l],u=a?s[l]:s;f===!1||u===!1?i[l]=!1:f==null||u==null?i[l]=null:i[l]=!0}return i})}not(){return w(this,O(e=>!e))}or(e){return w(this,(t,r)=>{let o=t.length,s=this._resolve(e,r,o),a=E(s),i=new Array(o);for(let l=0;l<o;l++){let f=t[l],u=a?s[l]:s;f===!0||u===!0?i[l]=!0:f==null||u==null?i[l]=null:i[l]=!1}return i})}xor(e){return w(this,V(this,e,(t,r)=>!!t!=!!r))}}});function os(n,e,t,r){let o=n.length,s=new Array(o);if(t&&typeof t=="object"&&"evaluate"in t){let a=t.evaluate(e,o);for(let i=0;i<o;i++){let l=n[i];if(l==null)s[i]=null;else{let f=a[i],u=new Set;if(E(f)){let m=f.length;for(let p=0;p<m;p++)u.add(G(f[p]))}else u.add(G(f));let c=u.has(G(l));s[i]=r?!c:c}}}else{let a=E(t)?t:[],i=new Set,l=a.length;for(let f=0;f<l;f++)i.add(G(a[f]));for(let f=0;f<o;f++){let u=n[f];if(u==null)s[f]=null;else{let c=i.has(G(u));s[f]=r?!c:c}}}return s}function ss(n,e){let{frequencies:t}=Oe(n,{strict:!0}),r=n.length,o=new Array(r);for(let s=0;s<r;s++){let a=t.get(n[s])||0;o[s]=e?a>1:a===1}return o}function is(n,e,t){let r=n.length,o=new Array(r);if(E(e))for(let s=0;s<r;s++){let a=n[s],i=e[s];a==null&&i==null?o[s]=!t:a==null||i==null?o[s]=t:o[s]=t?a!==i:a===i}else for(let s=0;s<r;s++){let a=n[s];a==null&&e==null?o[s]=!t:a==null||e==null?o[s]=t:o[s]=t?a!==e:a===e}return o}var St,Rr=k(()=>{"use strict";ae();fe();q();St=class extends B{between(e,t,r="both"){return w(this,(o,s)=>{let a=o.length,i=this._resolve(e,s,a),l=this._resolve(t,s,a),f=new Array(a),u=E(i),c=E(l);for(let m=0;m<a;m++){let p=o[m],h=u?i[m]:i,y=c?l[m]:l;if(p==null||h==null||y==null)f[m]=null;else{let d=r==="both"||r==="left"?p>=h:p>h,g=r==="both"||r==="right"?p<=y:p<y;f[m]=d&&g}}return f})}eq(e){return w(this,V(this,e,(t,r)=>t===r))}eq_missing(e){return w(this,(t,r)=>{let o=this._resolve(e,r,t.length);return is(t,o,!1)})}ge(e){return w(this,V(this,e,(t,r)=>t>=r))}gt(e){return w(this,V(this,e,(t,r)=>t>r))}has_nulls(){return this._deriveAgg(e=>{for(let t=0;t<e.length;t++)if(e[t]==null)return!0;return!1})}is_close(e,{abs_tol:t=1e-8,rel_tol:r=1e-8,nans_equal:o=!1}={}){return w(this,(s,a)=>{let i=s.length,l=this._resolve(e,a,i),f=E(l),u=new Array(i);for(let c=0;c<i;c++){let m=s[c],p=f?l[c]:l;if(m==null||p==null)u[c]=null;else if(L(m)&&L(p)){let h=Math.abs(m-p),y=Math.max(r*Math.max(Math.abs(m),Math.abs(p)),t);u[c]=h<=y}else Number.isNaN(m)&&Number.isNaN(p)?u[c]=o:u[c]=m===p}return u})}is_duplicated(){return w(this,e=>ss(e,!0))}is_empty({ignoreNulls:e=!1}={}){return w(this,O(t=>typeof t=="string"?t.length===0:E(t)?e?Q(t,"nullish",{mode:"every"}):t.length===0:null))}is_finite(){return w(this,O(Number.isFinite))}is_in(e){return w(this,(t,r)=>os(t,r,e,!1))}is_infinite(){return w(this,O(e=>e===1/0||e===-1/0))}is_nan(){return w(this,O(Number.isNaN))}is_not_nan(){return w(this,O(e=>!Number.isNaN(e)))}is_not_null(){return w(this,e=>{let t=e.length,r=new Array(t);for(let o=0;o<t;o++)r[o]=e[o]!=null;return r})}is_null(){return w(this,e=>{let t=e.length,r=new Array(t);for(let o=0;o<t;o++)r[o]=e[o]==null;return r})}is_unique(){return w(this,e=>ss(e,!1))}le(e){return w(this,V(this,e,(t,r)=>t<=r))}lt(e){return w(this,V(this,e,(t,r)=>t<r))}ne(e){return w(this,V(this,e,(t,r)=>t!==r))}ne_missing(e){return w(this,(t,r)=>{let o=this._resolve(e,r,t.length);return is(t,o,!0)})}not_in(e){return w(this,(t,r)=>os(t,r,e,!0))}}});var xn,At,Nr=k(()=>{"use strict";ae();fe();q();xn=class{constructor(e){this.expr=e}expr;_deriveString(e){return w(this.expr,O(t=>e(String(t))))}_patternGuard(e,t){return e==null?w(this.expr,r=>new Array(r.length).fill(null)):t()}concat(e){return w(this.expr,V(this.expr,e,(t,r)=>String(t)+String(r)))}contains(e){return this._patternGuard(e,()=>this._deriveString(t=>Te(e)?e.test(t):t.includes(e)))}count_matches(e){return this._patternGuard(e,()=>this._deriveString(t=>{if(Te(e)){let r=e.global?e:new RegExp(e.source,e.flags+"g"),o=t.match(r);return o?o.length:0}else{let r=0,o=t.indexOf(e);for(;o!==-1;)r++,o=t.indexOf(e,o+e.length);return r}}))}decode_uri_component(){return this._deriveString(e=>{try{return decodeURIComponent(e)}catch{return e}})}encode_uri_component(){return this._deriveString(e=>{try{return encodeURIComponent(e)}catch{return e}})}ends_with(e){return this._deriveString(t=>t.endsWith(e))}explode(){return this._deriveString(e=>e.split(""))}extract(e,t=0){return this._patternGuard(e,()=>this._deriveString(r=>{let o=r.match(e);return o&&o[t]!==void 0?o[t]:null}))}len(){return this.len_chars()}len_bytes(){return this._deriveString(e=>new TextEncoder().encode(e).length)}len_chars(){return this._deriveString(e=>e.length)}lower(){return this._deriveString(e=>e.toLowerCase())}lpad(e,t=" "){return this._deriveString(r=>r.padStart(e,t))}pad_end(e,t=" "){return this.rpad(e,t)}pad_start(e,t=" "){return this.lpad(e,t)}replace(e,t){return this._patternGuard(e,()=>this._deriveString(r=>r.replace(e,t)))}replace_all(e,t){return this._patternGuard(e,()=>this._deriveString(r=>r.replaceAll(e,t)))}reverse(){return this._deriveString(e=>e.split("").reverse().join(""))}rpad(e,t=" "){return this._deriveString(r=>r.padEnd(e,t))}slice(e,t){return this._deriveString(r=>{let o=e<0?r.length+e:e,s=t!==void 0?o+t:void 0;return r.slice(o,s)})}split(e){return this._deriveString(t=>t.split(e))}starts_with(e){return this._deriveString(t=>t.startsWith(e))}strip_chars(e,t){return this._deriveString(r=>We(r,e,{mode:"both",...t}))}strip_chars_end(e,t){return this._deriveString(r=>We(r,e,{mode:"end",...t}))}strip_chars_start(e,t){return this._deriveString(r=>We(r,e,{mode:"start",...t}))}strip_prefix(e){return this._deriveString(t=>We(t,e,{mode:"start",maxScanStart:1,maxMatchesStart:1,returnStringOnNull:!0,stringOptions:{literal:!0}}))}strip_suffix(e){return this._deriveString(t=>We(t,e,{mode:"end",maxScanEnd:1,maxMatchesEnd:1,returnStringOnNull:!0,stringOptions:{literal:!0}}))}strptime(e){return this._deriveString(t=>Ko(t,e))}to_camelcase(){return this._deriveString(e=>lt(e,{format:"camel"}))}to_date(){return this._deriveString(e=>X(e,{dateOnly:!0}))}to_datetime(){return this._deriveString(X)}to_decimal(e,t){return this._deriveString(r=>jt(r,{precision:e,scale:t}))}to_integer(){return this._deriveString(e=>_e(e))}to_kebabcase(){return this._deriveString(e=>lt(e,{format:"kebab"}))}to_lowercase(){return this.lower()}to_pascalcase(){return this._deriveString(e=>lt(e,{format:"pascal"}))}to_snakecase(){return this._deriveString(e=>lt(e,{format:"snake"}))}to_time(){return this._deriveString(zt)}to_titlecase(){return this._deriveString(e=>e.replace(/\b\w/g,t=>t.toUpperCase()))}to_uppercase(){return this.upper()}trim(){return this.strip_chars()}trim_end(){return this.strip_chars_end()}trim_start(){return this.strip_chars_start()}upper(){return this._deriveString(e=>e.toUpperCase())}zfill(e){return this._deriveString(t=>t.padStart(e,"0"))}},At=class extends B{get str(){return new xn(this)}}});var Dt,vr=k(()=>{"use strict";ae();fe();H();q();Dt=class extends B{_deriveAgg(e){let t=w(this);return t._aggFn=e,t._groupingOpsIndex=this._ops.length,t._partitionOpsIndex=this._ops.length,t}_deriveAggBinary(e,t){return w(this,V(this,e,(r,o)=>[r,o]))._deriveAgg(t)}all(){return this._deriveAgg(e=>Q(e,t=>!!t,{mode:"every"}))}all_null(){return this._deriveAgg(e=>Q(e,"nullish",{mode:"every"}))}any(){return this._deriveAgg(e=>Q(e,t=>!!t,{mode:"some"}))}any_null(){return this._deriveAgg(e=>Q(e,"nullish",{mode:"some"}))}avg(){return this._deriveAgg(e=>P(e).mean)}corr(e){return this._deriveAggBinary(e,t=>Gn(t)?.correlation??null)}count(e={}){return e.includeNulls?this._deriveAgg(t=>t.length):this._deriveAgg(t=>P(t).count)}cov(e){return this._deriveAggBinary(e,t=>Gn(t)?.covariance??null)}dot(e){return this._deriveAggBinary(e,t=>Eo(t))}first(){return this._deriveAgg(e=>e[0]??null)}implode(){return this._deriveAgg(e=>e)}last(){return this._deriveAgg(e=>e[e.length-1]??null)}max(){return this._deriveAgg(e=>P(e).max)}mean(){return this.avg()}median(){return this._deriveAgg(e=>ze(e))}min(){return this._deriveAgg(e=>P(e).min)}mode(){return this._deriveAgg(e=>Pt(e))}n_unique(e={}){return this._deriveAgg(t=>Oe(t,e).count)}null_count(){return this._deriveAgg(e=>P(e).nullCount)}quantile(e){if(e<0||e>1)throw new oe("Quantile q must be between 0 and 1");return this._deriveAgg(t=>Lt(t,e))}spearman_corr(e){return this._deriveAggBinary(e,t=>Io(t))}std(){return this._deriveAgg(e=>P(e).std)}sum(){return this._deriveAgg(e=>P(e).sum)}w_avg(e){return this._deriveAggBinary(e,t=>ko(t))}}});function Mr(n,e,t={}){if(e==null)return null;let r=t.dense?"_denseRankCache":"_rankCache",o=n[r];if(!o){let s=n;if(t.ignoreNulls){s=[];let l=n.length;for(let f=0;f<l;f++)n[f]!=null&&s.push(n[f])}t.dense&&(s=Array.from(new Set(s)));let a=it(s);o=new Map;let i=a.length;for(let l=0;l<i;l++){let f=a[l];o.has(f)||o.set(f,l+1)}n[r]=o}return o.get(e)??null}var Tt,Ur=k(()=>{"use strict";ae();q();Tt=class extends B{_partitionBy=this._partitionBy||null;_window(e){let t=w(this);return t._partitionOpsIndex=this._ops.length,t._groupingOpsIndex=this._ops.length,t._evaluateWindow=e,t}_rolling(e,t){return this._window(function(r,o,s){let a=Math.max(0,s-e+1),i=s+1,l=r.slice(a,i);return t(l)})}_cum(e,t,r,o){return this._window(function(s,a,i){let l=t,f=!1,u=e?i:0,c=e?s.length-1:i;for(let m=u;m<=c;m++){let p=s[m];p!=null&&(l=r(l,p),f=!0)}return o?o(l,f):l})}get _isWindow(){return this._partitionBy!==null||this._evaluateWindow!==void 0||this._aggFn!==null}cum_count(e=!1){return this._cum(e,0,t=>t+1)}cum_max(e=!1){return this._cum(e,null,(t,r)=>t===null||r>t?r:t)}cum_min(e=!1){return this._cum(e,null,(t,r)=>t===null||r<t?r:t)}cum_prod(e=!1){return this._cum(e,1,(t,r)=>t*r,(t,r)=>r?t:null)}cum_sum(e=!1){return this._cum(e,0,(t,r)=>t+r)}dense_rank(){return this._window(function(e,t,r){return Mr(e,e[r],{dense:!0})})}lag(e=1,t=null){return this._window(function(r,o,s){let a=t;return s-e>=0&&(a=r[s-e]),a})}lead(e=1,t=null){return this._window(function(r,o,s){let a=t;return s+e<r.length&&(a=r[s+e]),a})}over(e){let t=w(this),r=Array.isArray(e)?e:[e];return t._partitionBy=r,t}rank(){return this._window(function(e,t,r){return Mr(e,e[r])})}rolling_max(e){return this._rolling(e,t=>P(t).max)}rolling_mean(e){return this._rolling(e,t=>P(t).mean)}rolling_median(e){return this._rolling(e,t=>ze(t))}rolling_min(e){return this._rolling(e,t=>P(t).min)}rolling_quantile(e,t){return this._rolling(t,r=>Lt(r,e))}rolling_rank(e){return this._rolling(e,t=>Mr(t,t[t.length-1],{ignoreNulls:!0}))}rolling_std(e){return this._rolling(e,t=>P(t).std)}rolling_sum(e){return this._rolling(e,t=>P(t).sum)}row_number(){let e=this._window(function(t,r,o){return o+1});return e._outputName="row_number",e}}});var wn,Ct,Fr=k(()=>{"use strict";ae();fe();q();De();H();wn=class{constructor(e){this.expr=e}expr;_deriveArray(e){return w(this.expr,O(t=>E(t)?e(t):null))}all(){return this._deriveArray(e=>Q(e,t=>!!t,{mode:"every"}))}any(){return this._deriveArray(e=>Q(e,t=>!!t,{mode:"some"}))}contains(e){return this._deriveArray(t=>t.includes(e))}contains_all(e){return this._deriveArray(t=>Q(e,r=>t.includes(r),{mode:"every"}))}contains_any(e){return this._deriveArray(t=>Q(e,r=>t.includes(r),{mode:"some"}))}count_matches(e,t={}){return this._deriveArray(r=>Oe(r,t).frequencies.get(e)??0)}filter(e){return w(this.expr,(t,r)=>{let o=t.length,s=new Array(o),a=Object.create(r);for(let i=0;i<o;i++){let l=t[i];if(!E(l)){s[i]=null;continue}let f=l.length;a[qe]=l;let u=de(e,a,f),c=[];if(E(u)){let m=Math.min(f,u.length);for(let p=0;p<m;p++)u[p]&&c.push(l[p])}else if(u)for(let m=0;m<f;m++)c.push(l[m]);s[i]=c}return s})}explode({empty_as_null:e=!0,keep_nulls:t=!0}={}){return w(this.expr,r=>{let o=r.length,s=0;for(let f=0;f<o;f++){let u=r[f];if(E(u)){s+=u.length||(e?1:0);continue}if(u!=null){s+=1;continue}t&&(s+=1)}let a=new Array(s),i=new Int32Array(s),l=0;for(let f=0;f<o;f++){let u=r[f];if(E(u)){let c=u.length;if(c>0){for(let m=0;m<c;m++)i[l]=f,a[l++]=u[m];continue}e&&(i[l]=f,a[l++]=null);continue}if(u!=null){i[l]=f,a[l++]=u;continue}t&&(i[l]=f,a[l++]=null)}return a.rowMap=i,a})}first(e=!0){return this.get(0,e)}gather(e,t=!0){return this._deriveArray(r=>{let o=typeof e=="number"?[e]:e,s=o.length,a=new Array(s);for(let i=0;i<s;i++)a[i]=Vt(r,o[i],t);return a})}gather_every(e={}){return this._deriveArray(t=>Do(t,e))}get(e,t=!0){return this._deriveArray(r=>Vt(r,e,t))}join(e=",",t={}){return this._deriveArray(r=>To(r,e,t))}last(e=!0){return this.get(-1,e)}len(){return this.lengths()}lengths(){return this._deriveArray(e=>e.length)}max(){return this._deriveArray(e=>P(e).max)}max_index(){return this._deriveArray(e=>P(e).maxIdx)}mean(){return this._deriveArray(e=>P(e).mean)}median(){return this._deriveArray(e=>ze(e))}min(){return this._deriveArray(e=>P(e).min)}min_index(){return this._deriveArray(e=>P(e).minIdx)}mode(){return this._deriveArray(e=>Pt(e))}n_unique(e={}){return this._deriveArray(t=>Oe(t,e).count)}reverse(){return this._deriveArray(e=>e.slice().reverse())}shift(e=1){return this._deriveArray(t=>Oo(t,e))}slice(e,t){return this._deriveArray(r=>r.slice(e,t))}splice(e,t,...r){return this._deriveArray(o=>{let s=[...o];return s.splice(e,t??s.length,...r),s})}sort(e){return this._deriveArray(t=>it(t,e))}std(){return this._deriveArray(e=>P(e).std)}sum(){return this._deriveArray(e=>P(e).sum)}to_struct({upper_bound:e,fields:t}={}){return w(this.expr,r=>{let o=r.length,s=new Array(o),a=0;if(Array.isArray(t))a=t.length;else if(typeof e=="number")a=e;else for(let l=0;l<o;l++){let f=r[l];E(f)&&f.length>a&&(a=f.length)}if(a===0)throw new oe("to_struct cannot be evaluated: struct width is 0. Provide an upper_bound, non-empty fields names, or non-empty lists.");let i=new Array(a);for(let l=0;l<a;l++)typeof t=="function"?i[l]=t(l):i[l]=(Array.isArray(t)?t[l]:null)??`field_${l}`;for(let l=0;l<o;l++){let f=r[l];if(!E(f)){s[l]=null;continue}let u={};for(let c=0;c<a;c++)u[i[c]]=Vt(f,c,!0);s[l]=u}return s})}unique(e={}){return this._deriveArray(t=>Oe(t,e).values)}variance(){return this._deriveArray(e=>P(e).variance)}eval(e){return w(this.expr,(t,r)=>{let o=t.length,s=new Array(o);for(let a=0;a<o;a++){let i=t[a];if(!E(i)){s[a]=null;continue}let l=i.length,f={...r,[qe]:i};if(e._aggFn!=null&&(e._partitionBy==null||e._partitionBy.length===0)){let c=e._groupingOpsIndex!==void 0?e._groupingOpsIndex:e._ops.length,m=e._evaluatePre(c,f,l),p=e._aggFn(Array.from(m));s[a]=e._evaluatePost(c,[p],f)}else s[a]=de(e,f,l)}return s})}},Ct=class extends B{get arr(){return new wn(this)}}});function as(n){return bt(n,"Column reference cannot be null or undefined."),Sn||(Sn=(ue(),Mn(ls)).ColumnExpr),Sn.isColExpr(n)?n:new Sn(n)}var Sn,An,Ot,jr=k(()=>{"use strict";ae();H();Sn=null;An=class{constructor(e){this.expr=e;return new Proxy(this,{get(t,r,o){return r in t?Reflect.get(t,r,o):typeof r=="string"?t.field(r):Reflect.get(t,r,o)}})}expr;field(e){return w(this.expr,t=>{let r=t.length,o=new Array(r);for(let s=0;s<r;s++){let a=t[s];o[s]=a!=null&&typeof a=="object"?a[e]:null}return o}).alias(e)}rename_fields(e){return w(this.expr,t=>{let r=t.length,o=new Array(r),s=Object.keys(e),a=s.length;for(let i=0;i<r;i++){let l=t[i];if(l==null||typeof l!="object"){o[i]=null;continue}let f={},u=Object.keys(l),c=u.length;for(let m=0;m<c;m++){let p=u[m];f[p]=l[p]}for(let m=0;m<a;m++){let p=s[m];if(p in f){let h=e[p];f[h]=f[p],delete f[p]}}o[i]=f}return o})}with_fields(e){return w(this.expr,(t,r)=>{let o=t.length,s=new Array(o),a=[];if(Array.isArray(e)){let f=e.length;for(let u=0;u<f;u++){let c=e[u],m=as(c),p=m._outputName||m._colName;if(!p)throw new v("Expressions passed to struct.with_fields must have a name/alias.");a.push({name:p,expr:m})}}else if(e&&typeof e=="object"){let f=Object.keys(e),u=f.length;for(let c=0;c<u;c++){let m=f[c],p=as(e[m]);a.push({name:m,expr:p})}}let i=a.length,l=new Array(i);for(let f=0;f<i;f++)l[f]=a[f].expr.evaluate(r,o);for(let f=0;f<o;f++){let u=t[f];if(u==null||typeof u!="object"){s[f]=null;continue}let c={},m=Object.keys(u),p=m.length;for(let h=0;h<p;h++){let y=m[h];c[y]=u[y]}for(let h=0;h<i;h++)c[a[h].name]=l[h][f];s[f]=c}return s})}unnest(){let e=w(this.expr);return e.isUnnest=!0,e.baseExpr=this.expr,e}},Ot=class extends B{get struct(){return new An(this)}}});var Dn,us=k(()=>{"use strict";ae();q();H();Dn=class extends B{fill_null({value:e=void 0,strategy:t=void 0,limit:r=void 0}={}){return w(this,(o,s)=>{let a=o.length,i=Array.from(o);if(t!==void 0)if(t==="zero"||t==="one"||t==="min"||t==="max"||t==="mean"){let l;t==="zero"?l=0:t==="one"?l=1:l=P(o)[t],Fe(i,l,{mode:"constant",condition:f=>f==null})}else if(t==="forward"||t==="backward"){let l=t==="forward",f=null,u=0;Fe(i,null,{mode:"independent",reverse:!l,step:({originalValue:c})=>c!=null?(f=c,u=0,c):f!==null&&(r===void 0||u<r)?(u++,f):null})}else throw new v(`Unsupported fill_null strategy: "${t}"`);else{let l=this._resolve(e,s,a),f=E(l);Fe(i,null,{mode:"independent",step:({index:u,originalValue:c})=>c??(f?l[u]:l)})}return i})}reverse(){return w(this,e=>e.slice().reverse())}}});var ls={};vn(ls,{ColumnExpr:()=>R,resolveColumnSelectors:()=>Me});function _i(n,e){for(let t of e)for(let r of Object.getOwnPropertyNames(t.prototype))r!=="constructor"&&Object.defineProperty(n.prototype,r,Object.getOwnPropertyDescriptor(t.prototype,r)||Object.create(null))}function bi(n,e,t,r){if(!(n instanceof R)){if(z(n)&&"evaluate"in n&&!n._colName){let o=[];for(let s=0;s<e.length;s++)t.has(e[s])||o.push(e[s]);return o}return null}if(n._colNames&&n._colNames.length>0)return n._colNames;if(n._colName==="*"){let o=new Set(n._excludedCols),s=[];for(let a=0;a<e.length;a++){let i=e[a];!o.has(i)&&!t.has(i)&&s.push(i)}return s}if(n._targetType||n._targetTypes&&n._targetTypes.length>0){if(!r)throw new Ne("Cannot resolve DataType column selector without DataFrame schema.");let o=[];for(let s=0;s<e.length;s++){let a=e[s];if(t.has(a))continue;let i=r[a];if(i){if(n._targetType)i.matches(n._targetType)&&o.push(a);else if(n._targetTypes){for(let l=0;l<n._targetTypes.length;l++)if(i.matches(n._targetTypes[l])){o.push(a);break}}}}return o}return null}function Me(n,e,t,r,o){let s=[],a=t?new Set(t):new Set;for(let i=0;i<n.length;i++){let l=n[i];if(typeof l=="string"){s.push(new R(l));continue}if(z(l)&&l.isUnnest){let u=[],c=l._colName;if(typeof c=="string"&&r&&r[c]&&r[c].name==="Struct"&&(u=Object.keys(r[c].fields)),u.length===0&&o){let h=Object.keys(o)[0],y=h?o[h].length:0,d=l.baseExpr.evaluate(o,y),g=d.length;for(let _=0;_<g;_++){let T=d[_];if(T!=null&&typeof T=="object"){u=Object.keys(T);break}}}let m=u.length;if(m>0){for(let p=0;p<m;p++){let h=u[p],y=l.baseExpr.struct.field(h);s.push(y)}continue}}let f=bi(l,e,a,r);if(f!==null)for(let u=0;u<f.length;u++){let c=new R(f[u]);c._ops=[...l._ops||[]],c._aggFn=l._aggFn,c._partitionOpsIndex=l._partitionOpsIndex,c._groupingOpsIndex=l._groupingOpsIndex,c._partitionBy=l._partitionBy,l._evaluateWindow&&(c._evaluateWindow=l._evaluateWindow),l._outputName&&l._outputName!=="*"&&(c._outputName=l._outputName),s.push(c)}else s.push(l)}return s}var R,ue=k(()=>{"use strict";ae();Er();Rr();vr();Ur();Nr();kr();Vr();Fr();jr();us();q();Re();H();R=class n extends B{_colName="";_colNames;_excludedCols=[];_targetType;_targetTypes;static isColExpr(e){if(!z(e))return!1;try{return"evaluate"in e&&typeof e.evaluate=="function"}catch{return!1}}static toColExpr(e){return bt(e,"Column reference cannot be null or undefined."),n.isColExpr(e)?e:new n(e)}constructor(e){super(),Array.isArray(e)?e.some(r=>r instanceof ne||typeof r=="function")?this._targetTypes=e:this._colNames=e.map(String):e instanceof ne||typeof e=="function"?this._targetType=e:(this._colName=String(e),this._outputName=this._colName)}};_i(R,[xt,St,Dt,Tt,At,wt,It,Ct,Ot,Dn])});function Pe(n,e={strict:!0}){let t=e,r=new R(Un);return r._literalValue=n,t.name&&(r._outputName=t.name),r._ops.push(o=>{let s=o.length,a=(x,S)=>x===void 0?S:pe(x<0?s+x:x,{min:0,max:s}),i=a(t.startIndex,0),l=a(t.endIndex,s),f=Math.max(0,l-i),u=t.n!==void 0?t.n:f,c=t.strict!==!1;if(c){if(u!==s)throw new te(`Column height mismatch: seq_range length ${u} does not match DataFrame height ${s}`)}else{let x=t.pad??!1,S=t.truncate??!1;if(x&&!S&&u>f)throw new te(`Cannot pad seq_range output: specified length ${u} starting at index ${i} exceeds slice width ${f} (requires truncation).`);if(S&&!x&&u<f)throw new te(`Cannot truncate seq_range output: specified length ${u} starting at index ${i} is less than slice width ${f} (requires padding).`)}let m=s,p=!!t.dtype,h=t.mode||"cumulative",y=t.step!==void 0?t.step:1,d=p?x=>t.dtype.coerce(x):x=>x;if(c){let x=t.dtype?.allocate?t.dtype.allocate(m):new Array(m);return Fe(x,n,{mode:h,step:y,coerce:d,startIndex:0,endIndex:m}),x}let g=Math.min(i+u,l),_=t.padValue!==void 0?t.padValue:null,T=d(_);if(h==="constant"&&i===0&&g===m&&!t.dtype){let x=new Array(m);for(let S=0;S<m;S++)x[S]=n;return x}let A=new Array(m);return A.fill(T),Fe(A,n,{mode:h,step:y,coerce:d,startIndex:i,endIndex:g}),A}),r}var Lr=k(()=>{"use strict";ue();De();H();q()});function Be(n,e){let t=Pe(n,{strict:!0,mode:"constant",dtype:e?.dtype,name:e?.name});return t._isLiteral=!0,t}var Tn=k(()=>{"use strict";Lr()});var cs={};vn(cs,{duration:()=>Cn});function Cn(n={}){let e=n.timeUnit??"ms",t=[],r=[[n.weeks,6048e5],[n.days,864e5],[n.hours,36e5],[n.minutes,6e4],[n.seconds,1e3],[n.milliseconds,1],[n.microseconds,.001],[n.nanoseconds,1e-6]];for(let[s,a]of r)if(s!=null){let i=L(s)?Be(s):R.toColExpr(s);t.push({expr:i,multiplier:a})}if(t.length===0)throw new v("At least one duration component must be specified for $df.duration().");let o=new R(Vn);return o._castType=new He(e),o._ops.push((s,a)=>{let i=s?s.length:0;if(i===0&&a){let c=Object.keys(a)[0];c&&E(a[c])&&(i=a[c].length)}i===0&&(i=1);let l=new Float64Array(i),f=new Uint8Array(i);for(let c=0;c<t.length;c++){let{expr:m,multiplier:p}=t[c],h=de(m,a,i);if(E(h)){let y=h,d=y.length;for(let g=0;g<i;g++){if(f[g]===1)continue;let _=M(g<d?y[g]:d===1?y[0]:null);_!=null?l[g]+=_*p:(f[g]=1,l[g]=0)}}else{let y=M(h);if(y!=null){let d=y*p;for(let g=0;g<i;g++)f[g]!==1&&(l[g]+=d)}else{f.fill(1),l.fill(0);break}}}let u=new Array(i);for(let c=0;c<i;c++)if(f[c]===1)u[c]=null;else{let m=Math.round(l[c]*1e6)/1e6;u[c]=es(m,e)}return u}),o.alias("duration")}var Pr=k(()=>{"use strict";ue();Tn();De();fe();_t();H();q()});var On,It,Vr=k(()=>{"use strict";_t();H();ae();fe();q();On=class{constructor(e){this.expr=e}expr;_colTz(){let e=this.expr._castType;return e instanceof ye?e.timeZone:null}_colTu(){let e=this.expr._castType;return e instanceof ye?e.timeUnit:null}_deriveDate(e){return w(this.expr,O(t=>{let r=X(t);return r?e(r):null}))}cast_time_unit(e){return this.expr.cast(new ye(e,this._colTz()))}century(){return this._deriveDate(Po)}convert_time_zone(e){let t=this._colTz();if(this.expr._castType instanceof ye&&t===null)throw new v('convert_time_zone() requires a timezone-aware Datetime column. Use .dt.replace({ timeZone: "..." }) to assign a timezone first.');return this.expr.cast(new ye(this._colTu()??"ms",e))}date(){return this._deriveDate(e=>new Date(Date.UTC(e.getUTCFullYear(),e.getUTCMonth(),e.getUTCDate())))}day(e){let t=e||this._colTz()||"UTC";return this._deriveDate(r=>se(r,t).day)}days_in_month(e){let t=e||this._colTz()||"UTC";return this._deriveDate(r=>{let o=se(r,t),s=Wt(ee(o.year,o.month-1,1),1,0);return s?s.getUTCDate():null})}epoch(e="ms"){return this._deriveDate(t=>Lo(t,e))}hour(e){let t=e||this._colTz()||"UTC";return this._deriveDate(r=>se(r,t).hour)}is_business_day(e={}){return this._deriveDate(t=>Wo(t,e))}is_leap_year(){return this._deriveDate(Qn)}iso_week(){return this._deriveDate(e=>Xn(e,{field:"week"}))}iso_year(){return this._deriveDate(e=>Xn(e,{field:"year"}))}microsecond(){return this.millisecond().mul(1e3)}millennium(){return this._deriveDate(Bo)}millisecond(){return this._deriveDate(e=>e.getUTCMilliseconds())}minute(e){let t=e||this._colTz()||"UTC";return this._deriveDate(r=>se(r,t).minute)}month(e){let t=e||this._colTz()||"UTC";return this._deriveDate(r=>se(r,t).month)}month_end(){return this._deriveDate(e=>Wt(e,1,0))}month_start(){return this._deriveDate(e=>Wt(e,0,1))}nanosecond(){return this.millisecond().mul(1e6)}offset_day(e,t={}){let o=t?.excludeWeekdays?.length||t?.holidays||t?.roll?w(this.expr,V(this.expr,e,(a,i)=>{let l=X(a);return l?zo(l,i,t):null})):e,{duration:s}=(Pr(),Mn(cs));return this.expr.add(s({days:o}))}ordinal_day(){return this._deriveDate(Zn)}quarter(){return this._deriveDate($o)}replace(e){return w(this.expr,O(t=>{let r=X(t);return r?Go(r,e):null}))}second(){return this._deriveDate(e=>e.getUTCSeconds())}strftime(e){let t=this._colTz(),r=t&&!e.timeZone?{...e,timeZone:t}:e;return this._deriveDate(o=>Ve(o,r))}time(){return this._deriveDate(e=>e.toISOString().split("T")[1].slice(0,12))}timestamp(e="ms"){return this.epoch(e)}total_days(){return this.expr.div(864e5)}total_hours(){return this.expr.div(36e5)}total_microseconds(){return this.expr.mul(1e3)}total_milliseconds(){return this.expr}total_minutes(){return this.expr.div(6e4)}total_nanoseconds(){return this.expr.mul(1e6)}total_seconds(){return this.expr.div(1e3)}utc_offset(e,t={}){return w(this.expr,O(r=>{let o=X(r);return o?tr(o,e,t):null}))}week(){return this.iso_week()}weekday(e){let t=e||this._colTz()||"UTC";return this._deriveDate(r=>se(r,t).dayOfWeek||7)}year(e){let t=e||this._colTz()||"UTC";return this._deriveDate(r=>se(r,t).year)}},It=class extends B{get dt(){return new On(this)}}});function et(){return new R("*")}var fs=k(()=>{"use strict";ue()});function Br(n){let e=new R("*");return e._excludedCols=Array.isArray(n)?n:[n],e}var ms=k(()=>{"use strict";ue()});function $r(...n){let e=n.length===1&&Array.isArray(n[0])?n[0]:n,t=new R(Fn);return t._ops.push((r,o)=>{let s=r.length,a=u=>R.isColExpr(u)?u.evaluate(o,s):typeof u=="string"?o[u]||new Array(s).fill(null):u,i=e.length,l=new Array(i);for(let u=0;u<i;u++)l[u]=a(e[u]);let f=new Array(s);for(let u=0;u<s;u++){let c=null;for(let m=0;m<i;m++){let p=l[m],h=E(p)?p[u]:p;if(h!=null){c=h;break}}f[u]=c}return f}),t}var ps=k(()=>{"use strict";ue();q();De()});function qr(n){return new En(n)}var In,En,Et,hs=k(()=>{"use strict";ue();q();In=class{_predicates;_values;constructor(e,t){this._predicates=e,this._values=t}then(e){return new Et(this._predicates,this._values.concat(e))}},En=class{_predicates;constructor(e){this._predicates=[e]}then(e){return new Et(this._predicates,[e])}},Et=class n extends R{_predicates;_values;_otherwiseValue;constructor(e,t,r=null){super(typeof e=="string"?e:"*when*"),this._predicates=Array.isArray(e)?e:[],this._values=t||[],this._otherwiseValue=r,this._ops.push((o,s)=>{let a=o.length,i=p=>R.isColExpr(p)?p.evaluate(s,a):typeof p=="string"&&p in s?s[p]:p,l=this._predicates.length,f=new Array(l),u=new Array(l);for(let p=0;p<l;p++)f[p]=i(this._predicates[p]),u[p]=i(this._values[p]);let c=i(this._otherwiseValue),m=new Array(a);for(let p=0;p<a;p++){let h=!1;for(let y=0;y<l;y++)if((E(f[y])?f[y][p]:f[y])===!0){m[p]=E(u[y])?u[y][p]:u[y],h=!0;break}h||(m[p]=E(c)?c[p]:c)}return m})}when(e){return new In(this._predicates.concat(e),this._values)}otherwise(e){return new n(this._predicates,this._values,e)}}});function Kr(n){return R.toColExpr(n).implode()}var ys=k(()=>{"use strict";ue()});function zr(){return new R(qe)}var ds=k(()=>{"use strict";ue();De()});function Wr(n,...e){let t;Array.isArray(n)||n&&typeof n=="object"&&!R.isColExpr(n)?t=n:t=[n,...e];let r=Be({}).struct.with_fields(t);return delete r._isLiteral,delete r._literalValue,r._colName=jn,r.alias("struct")}var gs=k(()=>{"use strict";ue();Tn();De()});var kt=k(()=>{"use strict";De();Jr();ae();Er();kr();Rr();Nr();vr();Ur();Vr();Fr();jr();ue();Tn();fs();ms();ps();hs();ys();Lr();ds();gs();Pr();fe()});var Rt,_s=k(()=>{"use strict";Qe();bn();kt();Rt=class{_groups;_keys;_allKeys;_parentColumns;_parentHeight;_parentSchema;constructor(e,t,r,o,s,a){this._groups=e,this._keys=t,this._allKeys=r,this._parentColumns=o,this._parentHeight=s,this._parentSchema=a}to_dataframe(){let e=this._keys.length,t=new Array(e);for(let i=0;i<e;i++)t[i]=String(this._keys[i]);let r=this._groups.size,o={};for(let i=0;i<t.length;i++)o[t[i]]=new Array(r);let s=0;for(let i of this._groups.values()){if(i.length===0)continue;let l=i[0];for(let f=0;f<t.length;f++){let u=t[f],c=this._parentColumns[u][l];o[u][s]=c===void 0?null:c}s++}let a={};for(let i of t)a[i]=this._parentSchema[i];return j._createDirect(o,a,s)}agg(...e){let t=this._allKeys.length,r=new Array(t);for(let c=0;c<t;c++)r[c]=String(this._allKeys[c]);let o=this._keys.length,s=new Array(o);for(let c=0;c<o;c++)s[c]=String(this._keys[c]);let a=Me(e.flat(),r,s,this._parentSchema,this._parentColumns),i=this._groups.size,l={};for(let c=0;c<s.length;c++)l[s[c]]=new Array(i);let f=0;for(let c of this._groups.values()){if(c.length===0)continue;let m=c[0];for(let p=0;p<s.length;p++){let h=s[p],y=this._parentColumns[h][m];l[h][f]=y===void 0?null:y}f++}for(let c=0;c<a.length;c++){let m=a[c],p=m._outputName||m._colName||"*";if(!m._aggFn)l[p]=m.evaluate(l,i);else{let h=m._evaluatePre(m._groupingOpsIndex,this._parentColumns,this._parentHeight),y=new Array(i),d=0;for(let g of this._groups.values()){if(g.length===0)continue;let _=new Array(g.length);for(let T=0;T<g.length;T++)_[T]=h[g[T]];y[d]=m._aggFn(_),d++}l[p]=m._evaluatePost(m._groupingOpsIndex,y,l)}}let u={};for(let c of s)u[c]=this._parentSchema[c];for(let c of a){let m=c._outputName||c._colName||"*";u[m]=Ae(l[m])}return j._createDirect(l,u,f)}}});function Si(n,e,t){if(n==null)throw new K(`Invalid input to ${e} at index ${t}: item cannot be null or undefined.`);if(n instanceof j)return[n];if(Ue(n))return[new j(n)];if(E(n)){if(Q(n,j,{mode:"every"}))return n;if(Q(n,"plainObject",{mode:"every"}))return[new j(n)];let r=Q(n,j,{mode:"some"});for(let o=0;o<n.length;o++)if(r?!(n[o]instanceof j):!Ue(n[o]))throw new K(r?`Invalid input to ${e} at index ${t}, sub-index ${o}: nested array must contain only DataFrame instances.`:`Invalid input to ${e} at index ${t}, row ${o}: rows must be plain objects.`)}throw new K(`Invalid input to ${e} at index ${t}: expected DataFrame, row array, or column dictionary.`)}function tt(n,{how:e="vertical",horizontal:t}={}){if(n==null)throw new K("Invalid input to concat: rawItems cannot be null or undefined.");let r=Array.isArray(n)?n:[n],o=[];for(let a=0;a<r.length;a++)o.push(...Si(r[a],"concat",a));let s=t?.strict??!0;if(o.length===0)return j._createDirect({},{},0);if(o.length===1&&e!=="horizontal")return o[0];switch(e){case"vertical":{let a=[];for(let h=0;h<o.length;h++)o[h].height>0&&a.push(o[h]);if(a.length===0)return j._createDirect({},{},0);let i=a[0],l=Object.keys(i._columns);for(let h=0;h<o.length;h++){let y=o[h];if(y.height===0)continue;let d=Object.keys(y._columns);if(l.length!==d.length)throw new K(`[Strict Vertical] Column count mismatch at index ${h}.`);for(let g=0;g<l.length;g++){if(l[g]!==d[g])throw new K(`[Strict Vertical] Schema mismatch at position ${g} in DF ${h}. Expected column "${l[g]}", but found "${d[g]}".`);let _=i.schema[l[g]],T=y.schema[l[g]];if(_&&T&&!_.equals(T))throw new Ne(`[Strict Type Check] Schema type mismatch for column "${l[g]}": expected ${_.name}, found ${T.name}.`)}}let f=0;for(let h of o)f+=h.height;let u={},c=o.length;for(let h=0;h<c;h++)if(o[h].height>0){u=o[h].schema;break}Object.keys(u).length===0&&c>0&&(u=o[0].schema);let m={};for(let h of l){let y=u[h],d=!1;for(let _ of o){let T=_._columns[h];if(!T){d=!0;break}if(!$(T)){for(let A=0;A<T.length;A++)if(T[A]==null){d=!0;break}}if(d)break}let g=y&&y.allocate?y.allocate(f):new Array(f).fill(null);d&&$(g)&&(g=new Array(f).fill(null)),m[h]=g}let p=0;for(let h of o){let y=h.height;if(y!==0){for(let d of l){let g=h._columns[d]||new Array(y).fill(null),_=m[d];if($(_)&&$(g))_.set(g,p);else{let T=_;for(let A=0;A<y;A++)T[p+A]=g[A]}}p+=y}}return j._createDirect(m,u,f)}case"horizontal":{let a=o[0].height;for(let u=1;u<o.length;u++)o[u].height>a&&(a=o[u].height);let i=new Set;for(let u=0;u<o.length;u++){let c=o[u];if(s&&c.height!==a)throw new te(`[Horizontal] Row count mismatch at index ${u}. Expected ${a}, got ${c.height}. Set strict=false to allow padding.`);for(let m of Object.keys(c._columns)){if(i.has(m))throw new K(`[Horizontal] Duplicate column name "${m}" detected. Horizontal concat requires unique names.`);i.add(m)}}let l={},f={};for(let u of o){let c=u.height;Object.assign(f,u.schema);let m=Object.keys(u._columns),p=m.length;for(let h=0;h<p;h++){let y=m[h],d=u._columns[y];if(c===a)l[y]=$(d)?Array.from(d):d;else{let g=new Array(a);for(let _=0;_<c;_++)g[_]=d[_];for(let _=c;_<a;_++)g[_]=null;l[y]=g}}}return j._createDirect(l,f,a)}case"diagonal":{let a=new Set;for(let m of o)for(let p of Object.keys(m._columns))a.add(p);let i=Array.from(a),l=0;for(let m=0;m<o.length;m++)l+=o[m].height;let f={};for(let m of i){let p=null;for(let h of o){let y=h.schema[m];if(y){if(p===null)p=y;else if(!p.equals(y))throw new Ne(`[Strict Type Check] Schema type mismatch for column "${m}": expected ${p.name}, found ${y.name}.`)}}f[m]=p||F.Utf8}let u={};for(let m=0;m<i.length;m++)u[i[m]]=new Array(l).fill(null);let c=0;for(let m=0;m<o.length;m++){let p=o[m],h=p.height;if(h!==0){for(let y=0;y<i.length;y++){let d=i[y],g=u[d],_=p._columns[d];if(_!==void 0)if($(_)&&$(g))g.set(_,c);else{let T=g;for(let A=0;A<h;A++)T[c+A]=_[A]}else{let T=g;for(let A=0;A<h;A++)T[c+A]=null}}c+=h}}return j._createDirect(u,f,l)}}}var Gr=k(()=>{"use strict";Qe();Re();q();H()});var j,Qe=k(()=>{"use strict";kt();_s();Gt();Re();q();H();Gr();bn();j=class n{_columns;_height;_schema={};static _createDirect(e,t,r){gn(e,r);let o=Object.create(n.prototype);return o._columns=e,o._schema=t,o._height=r,o}constructor(e,t,r){if(Array.isArray(e)){let{columns:o,height:s}=Ar(e);this._columns=o,this._height=s,t?this._applySchema(t):this._inferSchema();return}if(z(e)){this._columns=e,this._height=gn(e,r),t?this._applySchema(t):this._inferSchema();return}this._columns={},this._height=0,t?this._applySchema(t):this._schema={}}_inferSchema(){let e={},t=Object.keys(this._columns),r=t.length;for(let o=0;o<r;o++){let s=t[o];e[s]=Ae(this._columns[s])}this._applySchema(e)}_applySchema(e){this._schema=e;let t=Object.keys(e),r={};for(let o of t){let s=e[o],a=this._columns[o];r[o]=a?ve(a,s,this._height):ve(new Array(this._height).fill(null),s,this._height)}this._columns=r}get columns(){return Object.keys(this._columns)}concat(e,t={}){let r=Q(e,n,{mode:"every",allowEmpty:!1})?e:[e];return tt([this,...r],t)}drop(...e){let t=new Set(e.flat()),r={},o={};for(let s of Object.keys(this._columns))t.has(s)||(r[s]=this._columns[s],o[s]=this._schema[s]);return n._createDirect(r,o,this._height)}drop_nulls(e){return this._height===0?this:this.filter(e?new R(e).is_not_null():et().is_not_null())}get dtypes(){let e=Object.keys(this._columns),t=e.length,r=new Array(t);for(let o=0;o<t;o++)r[o]=this._schema[e[o]];return r}explode(e,t){let r=R.toColExpr(e),o=r._colNames||[r._colName||r._outputName],s=new Set,a=o.length;for(let u=0;u<a;u++){let c=o[u];if(!c)throw new K("Expression passed to explode must have a column name.");J(c,this._columns,"Explode column"),s.add(c)}let i=Object.keys(this._columns),l=[],f=i.length;for(let u=0;u<f;u++){let c=i[u];l.push(s.has(c)?new R(c).arr.explode(t):new R(c))}return this.select(...l)}fill_null(e={}){return this._height===0?this:this.with_columns(et().fill_null(e))}filter(...e){if(this._height===0)return n._createDirect({},this._schema,0);let t=this._height,r=Object.keys(this._columns),o=r.length,s=[],a=[],i=[],l=e.length;for(let d=0;d<l;d++){let g=e[d];typeof g=="function"?a.push(g):i.push(g)}let f=Me(i,r,void 0,this._schema,this._columns),u=f.length;for(let d=0;d<u;d++)s.push(f[d].evaluate(this._columns,t));let c=[],m=0,p=null;if(a.length>0){let d=this._columns;p={};for(let g=0;g<o;g++){let _=r[g],T=d[_];Object.defineProperty(p,_,{get(){let A=T[m];return A===void 0?null:A},enumerable:!0,configurable:!0})}}for(let d=0;d<t;d++){let g=!0;for(let _=0;_<s.length;_++)if(!s[_][d]){g=!1;break}if(g){if(p){m=d;for(let _=0;_<a.length;_++)if(!a[_](p)){g=!1;break}}g&&c.push(d)}}let h=Ze(this._columns,c),y=c.length;return n._createDirect(h,this._schema,y)}get_schema(){return this._schema}groupby(e){let t=st(e),r=new Map,o=this._height,s=Ce(e);for(let i=0;i<s.length;i++)J(s[i],this._columns,"Grouping key");for(let i=0;i<o;i++){let l=Se(this._columns,s,i),f=r.get(l);f===void 0&&r.set(l,f=[]),f.push(i)}let a=Object.keys(this._columns);return new Rt(r,t,a,this._columns,this._height,this._schema)}head(e=10){return this.limit(e,{offset:0,from:"start"})}clone(){let e={};for(let t of Object.keys(this._columns)){let r=this._columns[t];Array.isArray(r)||$(r)?e[t]=r.slice():e[t]=Array.prototype.slice.call(r)}return n._createDirect(e,{...this._schema},this._height)}get height(){return this._height}hstack(e,t={}){return this.concat(e,{how:"horizontal",horizontal:t})}insert_column(e,t,r){let o=R.toColExpr(r).alias(t),s=Object.keys(this._columns),a=s.length,i=[];for(let f=0;f<a;f++){let u=s[f];u!==t&&i.push(u)}let l=Math.max(0,Math.min(e,i.length));return i.splice(l,0,o),this.select(...i)}item(e,t){let r=this._height,o=Object.keys(this._columns),s=o.length;if(e===void 0&&t===void 0){if(r!==1||s!==1)throw new K("DataFrame.item() can only be called without arguments if the shape is (1, 1).");return this._columns[o[0]][0]}if(e===void 0||t===void 0)throw new K("DataFrame.item() requires both row and column to be specified if not empty.");if(e<0||e>=r)throw new te(`Row index ${e} is out of bounds for DataFrame height ${r}.`);let a;if(typeof t=="number"){if(t<0||t>=s)throw new te(`Column index ${t} is out of bounds for DataFrame width ${s}.`);a=o[t]}else if(a=t,this._columns[a]===void 0)throw new xe(a);return this._columns[a][e]}*iter_columns(){let e=Object.keys(this._columns),t=e.length,r=this._columns;for(let o=0;o<t;o++)yield r[e[o]]}*iter_rows({named:e=!1}={}){let t=Object.keys(this._columns),r=t.length,o=this._columns,s=this._height,a=new Array(r);for(let i=0;i<r;i++)a[i]=o[t[i]];if(e)for(let i=0;i<s;i++){let l={};for(let f=0;f<r;f++)l[t[f]]=a[f][i];yield l}else for(let i=0;i<s;i++){let l=new Array(r);for(let f=0;f<r;f++)l[f]=a[f][i];yield l}}join(e){let{other:t,on:r,leftOn:o,rightOn:s,how:a="inner",suffixes:i=["","_right"],join_nulls:l=!1,coalesce:f=!0,maintain_order:u="none"}=e;if(a==="cross"&&(r!==void 0||o!==void 0||s!==void 0))throw new v('Cannot specify "on", "leftOn", or "rightOn" when how is "cross". Cross joins produce a keyless Cartesian product.');if(r!==void 0&&(o!==void 0||s!==void 0))throw new v('Cannot specify both "on" and "leftOn"/"rightOn" in join(). Use either "on" or both "leftOn" and "rightOn".');if(o!==void 0&&s===void 0||o===void 0&&s!==void 0)throw new v('join() requires both "leftOn" and "rightOn" when specifying heterogeneous join keys.');if(a!=="cross"&&r===void 0&&o===void 0&&s===void 0)throw new v('join() requires either "on" or both "leftOn" and "rightOn" parameters.');let c=[],m=[];if(o!==void 0&&s!==void 0){if(c=Ce(o),m=Ce(s),c.length===0||m.length===0)throw new v('join() requires non-empty key arrays in "leftOn" and "rightOn".');if(c.length!==m.length)throw new v(`join() "leftOn" length (${c.length}) must match "rightOn" length (${m.length}).`)}else if(r!==void 0&&(c=Ce(r),m=c,c.length===0))throw new v('join() requires at least one key column in "on".');for(let g=0;g<c.length;g++)J(c[g],this._columns,"Join key"," in the left DataFrame."),J(m[g],t._columns,"Join key"," in the right DataFrame.");let h={...e,how:a,suffixes:i,join_nulls:l,coalesce:f,maintain_order:typeof u=="boolean"?u?"left":"none":u??"none"},{leftIndices:y,rightIndices:d}=Cr(this._columns,t._columns,this._height,t._height,c,m,h);return _n(this._columns,t._columns,this._schema,t._schema,y,d,c,m,{suffixes:i,coalesce:f,how:a})}join_asof(e){let{other:t,on:r,leftOn:o,rightOn:s,by:a,leftBy:i,rightBy:l,strategy:f="backward",tolerance:u,allow_exact_matches:c=!0,suffixes:m=["","_right"],coalesce:p=!0,check_sorted:h=!0}=e;if(!t||!(t instanceof n))throw new v("join_asof() requires a valid right DataFrame in the 'other' parameter.");let y=String(o??r??""),d=String(s??r??"");if(!y||!d)throw new v('join_asof() requires join key specified via "on", or "leftOn" and "rightOn".');let g=C=>C?Array.isArray(C)?C.map(String):[String(C)]:[],_=g(i??a),T=g(l??a);if(_.length!==T.length)throw new v('join_asof() "by" (or "leftBy" / "rightBy") key lists must have equal lengths.');for(let C=0;C<_.length;C++)J(_[C],this._columns,"Partition key"," in the left DataFrame."),J(T[C],t._columns,"Partition key"," in the right DataFrame.");let A={...e,strategy:f,tolerance:u,allow_exact_matches:c,suffixes:m,coalesce:p,check_sorted:h},{leftIndices:x,rightIndices:S}=Or(this._columns,t._columns,this._height,t._height,y,d,_,T,A),b=[y,..._],D=[d,...T];return _n(this._columns,t._columns,this._schema,t._schema,x,S,b,D,{suffixes:m,coalesce:p,how:"left"})}limit(e,{offset:t=0,from:r="start"}={}){let o=this._height,s=pe(Math.floor(e),{min:0,max:o}),a=pe(Math.floor(t),{min:0,max:o}),i=a,l=Math.min(a+s,o);r==="end"&&(l=o-a,i=Math.max(l-s,0));let f=l-i,u={},c=Object.keys(this._columns),m=c.length;for(let p=0;p<m;p++){let h=c[p];u[h]=this._columns[h].slice(i,l)}return n._createDirect(u,this._schema,f)}pivot(e){if(this._height===0)return n._createDirect({},{},0);let{index:t,columns:r,values:o}=e,s=Ce(t),a=s.length;for(let x=0;x<a;x++)J(s[x],this._columns,"Pivot index key");let i=String(r),l=String(o);J(i,this._columns,"Pivot column key"),J(l,this._columns,"Pivot values key");let f=new Map,u=[],c=new Set,m=this._height,p=this._columns[i],h=this._columns[l];for(let x=0;x<m;x++){let S=Se(this._columns,s,x);c.add(String(p[x])),f.get(S)===void 0&&(f.set(S,f.size),u.push(x))}let y=f.size,d={},g={};for(let x=0;x<a;x++){let S=s[x];d[S]=this._columns[S],this._schema[S]&&(g[S]=this._schema[S])}let _=Ze(d,u),T=Array.from(c),A=this._schema[l]||F.Utf8;for(let x=0;x<T.length;x++){let S=T[x];_[S]=new Array(y).fill(null),g[S]=A}for(let x=0;x<m;x++){let S=Se(this._columns,s,x),b=f.get(S),D=String(p[x]);_[D][b]=h[x]}return n._createDirect(_,g,y)}rename(e){let t=e||{},r={},o={},s=Object.keys(this._columns);for(let i of s){let l=t[i]||i;r[l]=this._columns[i],o[l]=this._schema[i]}if(Object.keys(r).length<s.length)throw new K("Rename collision: Multiple columns mapped to the same output name.");return n._createDirect(r,o,this._height)}reverse(){if(this._height===0)return this;let e={},t=Object.keys(this._columns),r=t.length;for(let o=0;o<r;o++){let s=t[o];e[s]=this._columns[s].slice().reverse()}return n._createDirect(e,this._schema,this._height)}get schema(){return this._schema}select(...e){let t=this._normalizeArgs(e),r=Object.keys(this._columns),o=Me(t,r,void 0,this._schema,this._columns),s=o.length;if(s===0)return n._createDirect({},{},this._height);let a={},i={},l=new Array(s),f=new Array(s),u=new Set,c=null;for(let h=0;h<s;h++){let y=o[h],d=y._outputName||y._colName||"*";if(u.has(d))throw new K(`Duplicate column selection: "${d}" is selected multiple times.`);u.add(d);let g=de(y,this._columns,this._height);l[h]=g,f[h]=d;let _=g&&g.rowMap;if(_)if(c){let T=_.length;if(T!==c.length)throw new te(`Mismatched explode heights: Column "${d}" has length ${T}, but another exploded column has length ${c.length}`);for(let A=0;A<T;A++)if(_[A]!==c[A])throw new te(`Mismatched explode heights: Column "${d}" has mismatched row lengths compared to another exploded column.`)}else c=_}let m=c?c.length:this._height,p=s>0;for(let h=0;h<s;h++){let y=o[h],d=y._aggFn!=null&&(y._partitionBy==null||y._partitionBy.length===0),g=!!y._isLiteral;if(!d&&!g){p=!1;break}}for(let h=0;h<s;h++){let y=f[h],d=l[h],g=d,_=g&&g.rowMap,T=E(d)?d.length:0,A=c&&!_?this._height:m;if(T!==A)throw new te(`Column height mismatch: Column "${y}" has length ${T}, but expected ${A}`);if(c&&!_){let x=c.length;if($(d)){let S=new g.constructor(x);for(let b=0;b<x;b++)S[b]=g[c[b]];d=S}else{let S=new Array(x);for(let b=0;b<x;b++)S[b]=g[c[b]];d=S}}l[h]=d}p&&(m=1);for(let h=0;h<s;h++){let y=o[h],d=f[h],g=l[h],_=y._colName||d,T=y instanceof R&&y._ops.length===0&&!y._isWindow&&!y._aggFn,x=y._castType||T&&this._schema[_]||Ae(g);i[d]=x,a[d]=ve(g,x,m)}return n._createDirect(a,i,m)}get shape(){return[this.height,this.width]}slice(e,t){let r=this._height,o=e<0?Math.max(r+e,0):Math.min(e,r),s=t===void 0?r:t<0?Math.max(r+t,0):Math.min(t,r),a=Math.max(s-o,0);return this.limit(a,{offset:o})}sort(e){if(!e||!e.by||this._height===0)return this;let{by:t,descending:r=!1,nullsLast:o=!0,custom:s}=e,a=st(t);for(let h=0;h<a.length;h++){let y=R.toColExpr(a[h]);y._colName&&J(y._colName,this._columns,"Sort key")}let i=Array.isArray(r)?r:new Array(a.length).fill(r),l=a.length,f=new Array(l);for(let h=0;h<l;h++){let y=a[h],d=i[h]?-1:1,g=s&&typeof y=="string"?s[y]:null,_=R.toColExpr(y).evaluate(this._columns,this._height);f[h]={values:_,isDesc:d,customComp:g}}let u=f.length,c=o?1:-1,m=new Array(this._height);for(let h=0;h<this._height;h++)m[h]=h;m.sort((h,y)=>{for(let d=0;d<u;d++){let{values:g,isDesc:_,customComp:T}=f[d],A=g[h],x=g[y];if(T){let b=T(A,x);if(b!==0)return b*_;continue}if(A==null||x==null){if(A===x)continue;return(A==null?1:-1)*c}if(A===x)continue;return(A<x?-1:1)*_}return 0});let p=Ze(this._columns,m);return n._createDirect(p,this._schema,this._height)}tail(e=10){return this.limit(e,{offset:0,from:"end"})}to_dict(){return{...this._columns}}to_dicts(){return Dr(this._columns,this._height)}to_array(e){if(this._height===0)return[];if(e==null)return new Array(this._height).fill(null);let r=R.toColExpr(e).evaluate(this._columns,this._height);return Array.isArray(r)?r:Array.from(r)}transpose({include_header:e=!1,header_name:t="column",column_names:r}={}){if(this._height===0){let u={},c={};return e&&(u[t]=ve([],F.Utf8,0),c[t]=F.Utf8),n._createDirect(u,c,0)}let o=this.columns;typeof r=="string"&&(J(r,this._columns,"column_names"),o=o.filter(u=>u!==r));let s=[];if(typeof r=="string"){let u=this._columns[r];s=new Array(this._height);for(let c=0;c<this._height;c++){let m=u[c];if(m==null)throw new K(`Transpose column_names column "${r}" contains null/undefined at index ${c}`);s[c]=String(m)}}else if(r!=null&&typeof r!="string"&&Symbol.iterator in Object(r)){let u=Array.from(r);if(u.length!==this._height)throw new K(`column_names length (${u.length}) must match the height of the DataFrame (${this._height})`);s=new Array(this._height);for(let c=0;c<this._height;c++)s[c]=String(u[c])}else{s=new Array(this._height);for(let u=0;u<this._height;u++)s[u]=`column_${u}`}let a=new Set;e&&a.add(t);for(let u=0;u<s.length;u++){let c=s[u];if(a.has(c))throw new K(`Duplicate column name in transposed DataFrame: "${c}"`);a.add(c)}let i=o.length,l={},f={};e&&(l[t]=ve(o,F.Utf8,i),f[t]=F.Utf8);for(let u=0;u<this._height;u++){let c=s[u],m=new Array(i);for(let h=0;h<i;h++)m[h]=this._columns[o[h]][u];let p=Ae(m);l[c]=ve(m,p,i),f[c]=p}return n._createDirect(l,f,i)}unique(e){if(this._height===0)return n._createDirect({},this._schema,0);let t=st(e),r=t.length===0?Object.keys(this._columns):t.map(String);for(let f of r)J(f,this._columns,"Unique column key");let o=new Set,s=[],a=this._height;for(let f=0;f<a;f++){let u=Se(this._columns,r,f);o.has(u)||(o.add(u),s.push(f))}let i=Ze(this._columns,s),l=s.length;return n._createDirect(i,this._schema,l)}unpivot(e){let{idVars:t,valueVars:r,varName:o="variable",valueName:s="value"}=e,a=Ce(t),i=Ce(r),l=a.length,f=i.length;for(let h of a)J(h,this._columns,"Unpivot id variable key");for(let h of i)J(h,this._columns,"Unpivot value variable key");let u=this._height*f,c={};for(let h=0;h<l;h++)c[a[h]]=new Array(u);c[o]=new Array(u),c[s]=new Array(u);let m=0;for(let h=0;h<this._height;h++)for(let y=0;y<f;y++){let d=i[y];for(let g=0;g<l;g++){let _=a[g];c[_][m]=this._columns[_][h]}c[o][m]=d,c[s][m]=this._columns[d][h],m++}let p={};for(let h of a)p[h]=this._schema[h];return p[o]=F.Utf8,p[s]=Ae(c[s]),n._createDirect(c,p,u)}vstack(e){return this.concat(e,{how:"vertical"})}get width(){return Object.keys(this._columns).length}_normalizeArgs(e){let t=e.flat(),r=[];for(let o of t)if(typeof o=="string")r.push(new R(o));else if(R.isColExpr(o))r.push(o);else if(z(o)){let s=Object.keys(o),a=s.length;for(let i=0;i<a;i++){let l=s[i],f=o[l];if(R.isColExpr(f))r.push(f.alias(l));else{let u=new R(l);u.evaluate=(c,m)=>new Array(m).fill(f),r.push(u)}}}return r}with_columns(...e){if(e.length===0)return this;let t=this._normalizeArgs(e),r=Object.keys(this._columns),o=Me(t,r,void 0,this._schema,this._columns),s=o.length;if(s===0)return this;let a=new Map;for(let f=0;f<s;f++){let u=o[f],c=u._outputName||u._colName||"*";a.set(c,u)}let i=[],l=r.length;for(let f=0;f<l;f++){let u=r[f];i.push(a.get(u)||new R(u)),a.delete(u)}for(let f of a.values())i.push(f);return this.select(...i)}with_row_index(e="index",t=0){let r=Pe(t,{mode:"independent",dtype:F.UInt32,step:1}),o=this.insert_column(0,e,r);return o._schema[e]=F.UInt32,o}write_json(e,{format:t="json",replacerOptions:r}={}){if(t!=="json"&&t!=="ndjson")throw new v(`Unsupported JSON format: "${t}". Expected "json" or "ndjson".`);let o=r?.replacer===null?void 0:ft(r),s;if(t==="ndjson"){let a=this.to_dicts(),i=a.length,l=new Array(i);for(let f=0;f<i;f++)l[f]=JSON.stringify(a[f],o);s=l.join(`
|
|
6
|
+
`)}else s=JSON.stringify(this.to_dicts(),o);return Tr(e,s),s}write_csv(e,t={}){if(e){if(typeof e=="string"){if(typeof require!="function")throw new be("File writing is not supported in this environment (missing require('fs')).");let r=require("fs"),o=r.openSync(e,"w");try{dn(this._columns,this._height,{...t,onRow:s=>{r.writeSync(o,s,null,"utf8")}})}finally{r.closeSync(o)}}else if(z(e)&&typeof e.write=="function")dn(this._columns,this._height,{...t,onRow:r=>{e.write(r)}});else throw new v("Invalid file argument. Expected a file path string or a writable stream/object with a write method.");return""}return dn(this._columns,this._height,t)}}});var Ti={};vn(Ti,{$df:()=>Di,ALL_COLUMNS_MARKER:()=>re,AggregationExpr:()=>Dt,ArithmeticExpr:()=>xt,Array:()=>_r,ArrayDataType:()=>_r,ArrayExpr:()=>Ct,ArrayExprNamespace:()=>wn,ArrayType:()=>pn,Binary:()=>mr,BinaryType:()=>ln,Boolean:()=>dt,BooleanDataType:()=>dt,BooleanType:()=>sn,COALESCE_MARKER:()=>Fn,ColumnExpr:()=>R,ColumnNotFoundError:()=>xe,ComparisonExpr:()=>St,ComputeError:()=>oe,DFScriptError:()=>we,DURATION_MARKER:()=>Vn,DataFrame:()=>j,DataFrameError:()=>K,DataType:()=>ne,DataTypeRegistry:()=>F,Date:()=>yr,DateDataType:()=>yr,DateTimeExprNamespace:()=>On,DateType:()=>fn,Datetime:()=>gt,DatetimeType:()=>ye,DecimalType:()=>pt,Duration:()=>gr,DurationType:()=>He,ELEMENT_MARKER:()=>qe,ExprBase:()=>B,Float32:()=>fr,Float32Type:()=>rn,Float64:()=>yt,Float64Type:()=>on,FloatDataType:()=>Je,GroupedData:()=>Rt,IOStreamError:()=>be,Int16:()=>sr,Int16Type:()=>Ht,Int32:()=>ir,Int32Type:()=>Xt,Int64:()=>ht,Int64Type:()=>Zt,Int8:()=>or,Int8Type:()=>Yt,IntegerDataType:()=>mt,InvalidArgumentError:()=>v,LITERAL_MARKER:()=>Un,LogicalExpr:()=>wt,NestedDataType:()=>Ye,Null:()=>pr,NullType:()=>un,NumericDataType:()=>Le,Object:()=>hr,ObjectDataType:()=>hr,ObjectType:()=>cn,STRUCT_MARKER:()=>jn,SchemaError:()=>Ne,ShapeError:()=>te,SignedIntegerType:()=>Ie,StringExpr:()=>At,StringExprNamespace:()=>xn,Struct:()=>br,StructExpr:()=>Ot,StructExprNamespace:()=>An,StructType:()=>hn,TemporalDataType:()=>ke,TemporalExpr:()=>It,Time:()=>dr,TimeType:()=>mn,UInt16:()=>lr,UInt16Type:()=>en,UInt32:()=>ur,UInt32Type:()=>tn,UInt64:()=>cr,UInt64Type:()=>nn,UInt8:()=>ar,UInt8Type:()=>Qt,UnsignedIntegerType:()=>Ee,Utf8:()=>Xe,Utf8Type:()=>an,When:()=>En,WhenThen:()=>Et,WhenThenChain:()=>In,WindowExpr:()=>Tt,alignAsofIndices:()=>Or,alignKeyIndices:()=>Cr,all:()=>et,assertColumnExists:()=>J,assertHeight:()=>gn,assertNotNull:()=>bt,assertValidArgument:()=>yi,coalesce:()=>$r,coerceColumn:()=>ve,columnsToRows:()=>Dr,computeRowHash:()=>Se,concat:()=>tt,derive:()=>w,duration:()=>Cn,element:()=>zr,evalBinaryOp:()=>Ir,evalUnaryOp:()=>rs,evaluateExpression:()=>de,exclude:()=>Br,gatherColumnsByIndices:()=>Ze,getRowFromColumns:()=>gi,implode:()=>Kr,inferColumnType:()=>Ae,kleeneBinary:()=>V,kleeneUnary:()=>O,lit:()=>Be,materializeJoinedDataFrame:()=>_n,read_csv:()=>Rn,read_json:()=>kn,resolveColumnSelectors:()=>Me,resolveWindowExpr:()=>Sr,rowsToColumns:()=>Ar,seq_range:()=>Pe,struct:()=>Wr,when:()=>qr,writeStringToFileOrStream:()=>Tr});module.exports=Mn(Ti);kt();kt();Re();Gr();Qe();q();H();function kn(n,{format:e="json",trimBeforeParse:t=!0,schema:r,...o}={}){let s=Jo(n,{format:e,trimBeforeParse:t,...o});if(s===n)throw new K(`Invalid JSON input: must be a valid, non-empty JSON ${e} string.`);let a=Array.isArray(s)?s:z(s)?[s]:[];return new j(a,r)}Qe();q();function Rn(n,e={}){let{hasHeader:t=!0,schema:r,inferSchema:o=!0}=e,s=Ho(n,e);if(s.length===0)return new j({});let a,i;t?(a=s[0],i=s.slice(1)):(a=s[0].map((m,p)=>`column_${p}`),i=s);let l=a.length,f=i.length,u={};for(let m=0;m<l;m++){let p=a[m],h=new Array(f);for(let y=0;y<f;y++)h[y]=i[y][m]!==void 0?i[y][m]:"";u[p]=h}let c={};for(let m=0;m<l;m++){let p=a[m],h=u[p];if(r&&r[p])c[p]=h;else if(o){let{values:y}=Xo(h,e);c[p]=y}else c[p]=h}return new j(c,r)}function Ai(n,e){return new j(n,e)}var Di={data:Ai,col:n=>new R(n),all:et,exclude:Br,coalesce:$r,concat:tt,read_json:kn,read_csv:Rn,lit:Be,when:qr,implode:Kr,seq_range:Pe,element:zr,struct:Wr,duration:Cn,DataType:F};Re();H();0&&(module.exports={$df,ALL_COLUMNS_MARKER,AggregationExpr,ArithmeticExpr,Array,ArrayDataType,ArrayExpr,ArrayExprNamespace,ArrayType,Binary,BinaryType,Boolean,BooleanDataType,BooleanType,COALESCE_MARKER,ColumnExpr,ColumnNotFoundError,ComparisonExpr,ComputeError,DFScriptError,DURATION_MARKER,DataFrame,DataFrameError,DataType,DataTypeRegistry,Date,DateDataType,DateTimeExprNamespace,DateType,Datetime,DatetimeType,DecimalType,Duration,DurationType,ELEMENT_MARKER,ExprBase,Float32,Float32Type,Float64,Float64Type,FloatDataType,GroupedData,IOStreamError,Int16,Int16Type,Int32,Int32Type,Int64,Int64Type,Int8,Int8Type,IntegerDataType,InvalidArgumentError,LITERAL_MARKER,LogicalExpr,NestedDataType,Null,NullType,NumericDataType,Object,ObjectDataType,ObjectType,STRUCT_MARKER,SchemaError,ShapeError,SignedIntegerType,StringExpr,StringExprNamespace,Struct,StructExpr,StructExprNamespace,StructType,TemporalDataType,TemporalExpr,Time,TimeType,UInt16,UInt16Type,UInt32,UInt32Type,UInt64,UInt64Type,UInt8,UInt8Type,UnsignedIntegerType,Utf8,Utf8Type,When,WhenThen,WhenThenChain,WindowExpr,alignAsofIndices,alignKeyIndices,all,assertColumnExists,assertHeight,assertNotNull,assertValidArgument,coalesce,coerceColumn,columnsToRows,computeRowHash,concat,derive,duration,element,evalBinaryOp,evalUnaryOp,evaluateExpression,exclude,gatherColumnsByIndices,getRowFromColumns,implode,inferColumnType,kleeneBinary,kleeneUnary,lit,materializeJoinedDataFrame,read_csv,read_json,resolveColumnSelectors,resolveWindowExpr,rowsToColumns,seq_range,struct,when,writeStringToFileOrStream});
|