337 lines
340 KiB
JavaScript
337 lines
340 KiB
JavaScript
// @bun
|
|
var tz=Object.create;var{getPrototypeOf:sz,defineProperty:G$,getOwnPropertyNames:rz}=Object;var az=Object.prototype.hasOwnProperty;var ez=(X,Z,Y)=>{Y=X!=null?tz(sz(X)):{};let $=Z||!X||!X.__esModule?G$(Y,"default",{value:X,enumerable:!0}):Y;for(let W of rz(X))if(!az.call($,W))G$($,W,{get:()=>X[W],enumerable:!0});return $};var XQ=(X,Z)=>()=>(Z||X((Z={exports:{}}).exports,Z),Z.exports);var EX=(X,Z)=>{for(var Y in Z)G$(X,Y,{get:Z[Y],enumerable:!0,configurable:!0,set:($)=>Z[Y]=()=>$})};var aW=XQ((rW)=>{Object.defineProperty(rW,"__esModule",{value:!0});rW.parse=pO;rW.serialize=cO;var fO=/^[\u0021-\u003A\u003C\u003E-\u007E]+$/,vO=/^[\u0021-\u003A\u003C-\u007E]*$/,yO=/^([.]?[a-z0-9]([a-z0-9-]{0,61}[a-z0-9])?)([.][a-z0-9]([a-z0-9-]{0,61}[a-z0-9])?)*$/i,dO=/^[\u0020-\u003A\u003D-\u007E]*$/,hO=Object.prototype.toString,mO=(()=>{let X=function(){};return X.prototype=Object.create(null),X})();function pO(X,Z){let Y=new mO,$=X.length;if($<2)return Y;let W=Z?.decode||uO,J=0;do{let z=X.indexOf("=",J);if(z===-1)break;let Q=X.indexOf(";",J),M=Q===-1?$:Q;if(z>M){J=X.lastIndexOf(";",z-1)+1;continue}let G=tW(X,J,z),U=sW(X,z,G),w=X.slice(G,U);if(Y[w]===void 0){let B=tW(X,z+1,M),N=sW(X,M,B),S=W(X.slice(B,N));Y[w]=S}J=M+1}while(J<$);return Y}function tW(X,Z,Y){do{let $=X.charCodeAt(Z);if($!==32&&$!==9)return Z}while(++Z<Y);return Y}function sW(X,Z,Y){while(Z>Y){let $=X.charCodeAt(--Z);if($!==32&&$!==9)return Z+1}return Y}function cO(X,Z,Y){let $=Y?.encode||encodeURIComponent;if(!fO.test(X))throw new TypeError(`argument name is invalid: ${X}`);let W=$(Z);if(!vO.test(W))throw new TypeError(`argument val is invalid: ${Z}`);let J=X+"="+W;if(!Y)return J;if(Y.maxAge!==void 0){if(!Number.isInteger(Y.maxAge))throw new TypeError(`option maxAge is invalid: ${Y.maxAge}`);J+="; Max-Age="+Y.maxAge}if(Y.domain){if(!yO.test(Y.domain))throw new TypeError(`option domain is invalid: ${Y.domain}`);J+="; Domain="+Y.domain}if(Y.path){if(!dO.test(Y.path))throw new TypeError(`option path is invalid: ${Y.path}`);J+="; Path="+Y.path}if(Y.expires){if(!iO(Y.expires)||!Number.isFinite(Y.expires.valueOf()))throw new TypeError(`option expires is invalid: ${Y.expires}`);J+="; Expires="+Y.expires.toUTCString()}if(Y.httpOnly)J+="; HttpOnly";if(Y.secure)J+="; Secure";if(Y.partitioned)J+="; Partitioned";if(Y.priority)switch(typeof Y.priority==="string"?Y.priority.toLowerCase():void 0){case"low":J+="; Priority=Low";break;case"medium":J+="; Priority=Medium";break;case"high":J+="; Priority=High";break;default:throw new TypeError(`option priority is invalid: ${Y.priority}`)}if(Y.sameSite)switch(typeof Y.sameSite==="string"?Y.sameSite.toLowerCase():Y.sameSite){case!0:case"strict":J+="; SameSite=Strict";break;case"lax":J+="; SameSite=Lax";break;case"none":J+="; SameSite=None";break;default:throw new TypeError(`option sameSite is invalid: ${Y.sameSite}`)}return J}function uO(X){if(X.indexOf("%")===-1)return X;try{return decodeURIComponent(X)}catch(Z){return X}}function iO(X){return hO.call(X)==="[object Date]"}});var N1=(X,Z)=>{let Y=Z?.length?{}:null;if(Y)for(let $ of Z)Y[$.part.charCodeAt(0)]=$;return{part:X,store:null,inert:Y,params:null,wildcardStore:null}},n6=(X,Z)=>({...X,part:Z}),l6=(X)=>({name:X,store:null,inert:null});class sX{config;root={};history=[];deferred=[];constructor(X={}){if(this.config=X,X.lazy)this.find=this.lazyFind}static regex={static:/:.+?(?=\/|$)/,params:/:.+?(?=\/|$)/g,optionalParams:/:.+?\?(?=\/|$)/g};lazyFind=(X,Z)=>{if(!this.config.lazy)return this.find;return this.build(),this.find(X,Z)};build(){if(!this.config.lazy)return;for(let[X,Z,Y]of this.deferred)this.add(X,Z,Y,{lazy:!1,ignoreHistory:!0});this.deferred=[],this.find=(X,Z)=>{let Y=this.root[X];if(!Y)return null;return vZ(Z,Z.length,Y,0)}}add(X,Z,Y,{ignoreError:$=!1,ignoreHistory:W=!1,lazy:J=this.config.lazy}={}){if(J)return this.find=this.lazyFind,this.deferred.push([X,Z,Y]),Y;if(typeof Z!=="string")throw new TypeError("Route path must be a string");if(Z==="")Z="/";else if(Z[0]!=="/")Z=`/${Z}`;let z=Z[Z.length-1]==="*",Q=Z.match(sX.regex.optionalParams);if(Q){let B=Z.replaceAll("?","");this.add(X,B,Y,{ignoreError:$,ignoreHistory:W,lazy:J});for(let N=0;N<Q.length;N++){let S=Z.replace("/"+Q[N],"");this.add(X,S,Y,{ignoreError:!0,ignoreHistory:W,lazy:J})}return Y}if(Q)Z=Z.replaceAll("?","");if(this.history.find(([B,N,S])=>B===X&&N===Z))return Y;if(z||Q&&Z.charCodeAt(Z.length-1)===63)Z=Z.slice(0,-1);if(!W)this.history.push([X,Z,Y]);let M=Z.split(sX.regex.static),G=Z.match(sX.regex.params)||[];if(M[M.length-1]==="")M.pop();let U;if(!this.root[X])U=this.root[X]=N1("/");else U=this.root[X];let w=0;for(let B=0;B<M.length;++B){let N=M[B];if(B>0){let S=G[w++].slice(1);if(U.params===null)U.params=l6(S);else if(U.params.name!==S)if($)return Y;else throw new Error(`Cannot create route "${Z}" with parameter "${S}" because a route already exists with a different parameter name ("${U.params.name}") in the same location`);let H=U.params;if(H.inert===null){U=H.inert=N1(N);continue}U=H.inert}for(let S=0;;){if(S===N.length){if(S<U.part.length){let H=n6(U,U.part.slice(S));Object.assign(U,N1(N,[H]))}break}if(S===U.part.length){if(U.inert===null)U.inert={};let H=U.inert[N.charCodeAt(S)];if(H){U=H,N=N.slice(S),S=0;continue}let E=N1(N.slice(S));U.inert[N.charCodeAt(S)]=E,U=E;break}if(N[S]!==U.part[S]){let H=n6(U,U.part.slice(S)),E=N1(N.slice(S));Object.assign(U,N1(U.part.slice(0,S),[H,E])),U=E;break}++S}}if(w<G.length){let B=G[w].slice(1);if(U.params===null)U.params=l6(B);else if(U.params.name!==B)if($)return Y;else throw new Error(`Cannot create route "${Z}" with parameter "${B}" because a route already exists with a different parameter name ("${U.params.name}") in the same location`);if(U.params.store===null)U.params.store=Y;return U.params.store}if(z){if(U.wildcardStore===null)U.wildcardStore=Y;return U.wildcardStore}if(U.store===null)U.store=Y;return U.store}find(X,Z){let Y=this.root[X];if(!Y)return null;return vZ(Z,Z.length,Y,0)}}var vZ=(X,Z,Y,$)=>{let W=Y.part,J=W.length,z=$+J;if(J>1){if(z>Z)return null;if(J<15){for(let Q=1,M=$+1;Q<J;++Q,++M)if(W.charCodeAt(Q)!==X.charCodeAt(M))return null}else if(X.slice($,z)!==W)return null}if(z===Z){if(Y.store!==null)return{store:Y.store,params:{}};if(Y.wildcardStore!==null)return{store:Y.wildcardStore,params:{"*":""}};return null}if(Y.inert!==null){let Q=Y.inert[X.charCodeAt(z)];if(Q!==void 0){let M=vZ(X,Z,Q,z);if(M!==null)return M}}if(Y.params!==null){let{store:Q,name:M,inert:G}=Y.params,U=X.indexOf("/",z);if(U!==z){if(U===-1||U>=Z){if(Q!==null){let w={};return w[M]=X.substring(z,Z),{store:Q,params:w}}}else if(G!==null){let w=vZ(X,Z,G,U);if(w!==null)return w.params[M]=X.substring(z,U),w}}}if(Y.wildcardStore!==null)return{store:Y.wildcardStore,params:{"*":X.substring(z,Z)}};return null};var K0={};EX(K0,{IsUndefined:()=>Y0,IsUint8Array:()=>JX,IsSymbol:()=>A$,IsString:()=>b8,IsRegExp:()=>e1,IsObject:()=>P8,IsNumber:()=>s0,IsNull:()=>D$,IsIterator:()=>H$,IsFunction:()=>U$,IsDate:()=>rX,IsBoolean:()=>WX,IsBigInt:()=>a1,IsAsyncIterator:()=>M$,IsArray:()=>Z0,HasPropertyKey:()=>yZ});function yZ(X,Z){return Z in X}function M$(X){return P8(X)&&!Z0(X)&&!JX(X)&&Symbol.asyncIterator in X}function Z0(X){return Array.isArray(X)}function a1(X){return typeof X==="bigint"}function WX(X){return typeof X==="boolean"}function rX(X){return X instanceof globalThis.Date}function U$(X){return typeof X==="function"}function H$(X){return P8(X)&&!Z0(X)&&!JX(X)&&Symbol.iterator in X}function D$(X){return X===null}function s0(X){return typeof X==="number"}function P8(X){return typeof X==="object"&&X!==null}function e1(X){return X instanceof globalThis.RegExp}function b8(X){return typeof X==="string"}function A$(X){return typeof X==="symbol"}function JX(X){return X instanceof globalThis.Uint8Array}function Y0(X){return X===void 0}function ZQ(X){return X.map((Z)=>dZ(Z))}function YQ(X){return new Date(X.getTime())}function $Q(X){return new Uint8Array(X)}function WQ(X){return new RegExp(X.source,X.flags)}function JQ(X){let Z={};for(let Y of Object.getOwnPropertyNames(X))Z[Y]=dZ(X[Y]);for(let Y of Object.getOwnPropertySymbols(X))Z[Y]=dZ(X[Y]);return Z}function dZ(X){return Z0(X)?ZQ(X):rX(X)?YQ(X):JX(X)?$Q(X):e1(X)?WQ(X):P8(X)?JQ(X):X}function p8(X){return dZ(X)}function L1(X,Z){return Z===void 0?p8(X):p8({...Z,...X})}function hZ(X){return W8(X)&&globalThis.Symbol.asyncIterator in X}function mZ(X){return W8(X)&&globalThis.Symbol.iterator in X}function _$(X){return W8(X)&&(globalThis.Object.getPrototypeOf(X)===Object.prototype||globalThis.Object.getPrototypeOf(X)===null)}function pZ(X){return X instanceof globalThis.Promise}function P0(X){return X instanceof Date&&globalThis.Number.isFinite(X.getTime())}function t6(X){return X instanceof globalThis.Map}function s6(X){return X instanceof globalThis.Set}function z2(X){return globalThis.ArrayBuffer.isView(X)}function F1(X){return X instanceof globalThis.Uint8Array}function l(X,Z){return Z in X}function W8(X){return X!==null&&typeof X==="object"}function t(X){return globalThis.Array.isArray(X)&&!globalThis.ArrayBuffer.isView(X)}function c8(X){return X===void 0}function zX(X){return X===null}function s2(X){return typeof X==="boolean"}function o(X){return typeof X==="number"}function cZ(X){return globalThis.Number.isInteger(X)}function O0(X){return typeof X==="bigint"}function O8(X){return typeof X==="string"}function CX(X){return typeof X==="function"}function QX(X){return typeof X==="symbol"}function r0(X){return O0(X)||s2(X)||zX(X)||o(X)||O8(X)||QX(X)||c8(X)}var h8;(function(X){X.InstanceMode="default",X.ExactOptionalPropertyTypes=!1,X.AllowArrayObject=!1,X.AllowNaN=!1,X.AllowNullVoid=!1;function Z(z,Q){return X.ExactOptionalPropertyTypes?Q in z:z[Q]!==void 0}X.IsExactOptionalProperty=Z;function Y(z){let Q=W8(z);return X.AllowArrayObject?Q:Q&&!t(z)}X.IsObjectLike=Y;function $(z){return Y(z)&&!(z instanceof Date)&&!(z instanceof Uint8Array)}X.IsRecordLike=$;function W(z){return X.AllowNaN?o(z):Number.isFinite(z)}X.IsNumberLike=W;function J(z){let Q=c8(z);return X.AllowNullVoid?Q||z===null:Q}X.IsVoidLike=J})(h8||(h8={}));function zQ(X){return globalThis.Object.freeze(X).map((Z)=>XZ(Z))}function QQ(X){return X}function GQ(X){return X}function MQ(X){return X}function UQ(X){let Z={};for(let Y of Object.getOwnPropertyNames(X))Z[Y]=XZ(X[Y]);for(let Y of Object.getOwnPropertySymbols(X))Z[Y]=XZ(X[Y]);return globalThis.Object.freeze(Z)}function XZ(X){return Z0(X)?zQ(X):rX(X)?QQ(X):JX(X)?GQ(X):e1(X)?MQ(X):P8(X)?UQ(X):X}function R(X,Z){let Y=Z!==void 0?{...Z,...X}:X;switch(h8.InstanceMode){case"freeze":return XZ(Y);case"clone":return p8(Y);default:return Y}}class n extends Error{constructor(X){super(X)}}var k8=Symbol.for("TypeBox.Transform"),E2=Symbol.for("TypeBox.Readonly"),N0=Symbol.for("TypeBox.Optional"),Q2=Symbol.for("TypeBox.Hint"),q=Symbol.for("TypeBox.Kind");function B1(X){return P8(X)&&X[E2]==="Readonly"}function g0(X){return P8(X)&&X[N0]==="Optional"}function w$(X){return A8(X,"Any")}function O$(X){return A8(X,"Argument")}function C2(X){return A8(X,"Array")}function aX(X){return A8(X,"AsyncIterator")}function eX(X){return A8(X,"BigInt")}function GX(X){return A8(X,"Boolean")}function P2(X){return A8(X,"Computed")}function I2(X){return A8(X,"Constructor")}function HQ(X){return A8(X,"Date")}function x2(X){return A8(X,"Function")}function T2(X){return A8(X,"Integer")}function l8(X){return A8(X,"Intersect")}function X1(X){return A8(X,"Iterator")}function A8(X,Z){return P8(X)&&q in X&&X[q]===Z}function uZ(X){return WX(X)||s0(X)||b8(X)}function a0(X){return A8(X,"Literal")}function e0(X){return A8(X,"MappedKey")}function u8(X){return A8(X,"MappedResult")}function PX(X){return A8(X,"Never")}function DQ(X){return A8(X,"Not")}function ZZ(X){return A8(X,"Null")}function b2(X){return A8(X,"Number")}function $0(X){return A8(X,"Object")}function Z1(X){return A8(X,"Promise")}function Y1(X){return A8(X,"Record")}function e8(X){return A8(X,"Ref")}function N$(X){return A8(X,"RegExp")}function MX(X){return A8(X,"String")}function YZ(X){return A8(X,"Symbol")}function X2(X){return A8(X,"TemplateLiteral")}function AQ(X){return A8(X,"This")}function K8(X){return P8(X)&&k8 in X}function Z2(X){return A8(X,"Tuple")}function UX(X){return A8(X,"Undefined")}function N8(X){return A8(X,"Union")}function _Q(X){return A8(X,"Uint8Array")}function wQ(X){return A8(X,"Unknown")}function OQ(X){return A8(X,"Unsafe")}function NQ(X){return A8(X,"Void")}function IX(X){return P8(X)&&q in X&&b8(X[q])}function o8(X){return w$(X)||O$(X)||C2(X)||GX(X)||eX(X)||aX(X)||P2(X)||I2(X)||HQ(X)||x2(X)||T2(X)||l8(X)||X1(X)||a0(X)||e0(X)||u8(X)||PX(X)||DQ(X)||ZZ(X)||b2(X)||$0(X)||Z1(X)||Y1(X)||e8(X)||N$(X)||MX(X)||YZ(X)||X2(X)||AQ(X)||Z2(X)||UX(X)||N8(X)||_Q(X)||wQ(X)||OQ(X)||NQ(X)||IX(X)}var L={};EX(L,{TypeGuardUnknownTypeError:()=>r6,IsVoid:()=>y9,IsUnsafe:()=>v9,IsUnknown:()=>f9,IsUnionLiteral:()=>VQ,IsUnion:()=>B$,IsUndefined:()=>k9,IsUint8Array:()=>g9,IsTuple:()=>b9,IsTransform:()=>T9,IsThis:()=>x9,IsTemplateLiteral:()=>I9,IsSymbol:()=>P9,IsString:()=>C9,IsSchema:()=>i8,IsRegExp:()=>E9,IsRef:()=>V9,IsRecursive:()=>SQ,IsRecord:()=>S9,IsReadonly:()=>qQ,IsProperties:()=>iZ,IsPromise:()=>j9,IsOptional:()=>KQ,IsObject:()=>R9,IsNumber:()=>K9,IsNull:()=>q9,IsNot:()=>B9,IsNever:()=>F9,IsMappedResult:()=>L9,IsMappedKey:()=>N9,IsLiteralValue:()=>O9,IsLiteralString:()=>_9,IsLiteralNumber:()=>w9,IsLiteralBoolean:()=>jQ,IsLiteral:()=>WZ,IsKindOf:()=>M8,IsKind:()=>d9,IsIterator:()=>A9,IsIntersect:()=>D9,IsInteger:()=>H9,IsImport:()=>RQ,IsFunction:()=>U9,IsDate:()=>M9,IsConstructor:()=>G9,IsComputed:()=>Q9,IsBoolean:()=>z9,IsBigInt:()=>J9,IsAsyncIterator:()=>W9,IsArray:()=>$9,IsArgument:()=>Y9,IsAny:()=>Z9});class r6 extends n{}var LQ=["Argument","Any","Array","AsyncIterator","BigInt","Boolean","Computed","Constructor","Date","Enum","Function","Integer","Intersect","Iterator","Literal","MappedKey","MappedResult","Not","Null","Number","Object","Promise","Record","Ref","RegExp","String","Symbol","TemplateLiteral","This","Tuple","Undefined","Union","Uint8Array","Unknown","Void"];function a6(X){try{return new RegExp(X),!0}catch{return!1}}function L$(X){if(!b8(X))return!1;for(let Z=0;Z<X.length;Z++){let Y=X.charCodeAt(Z);if(Y>=7&&Y<=13||Y===27||Y===127)return!1}return!0}function e6(X){return F$(X)||i8(X)}function $Z(X){return Y0(X)||a1(X)}function g8(X){return Y0(X)||s0(X)}function F$(X){return Y0(X)||WX(X)}function I8(X){return Y0(X)||b8(X)}function FQ(X){return Y0(X)||b8(X)&&L$(X)&&a6(X)}function BQ(X){return Y0(X)||b8(X)&&L$(X)}function X9(X){return Y0(X)||i8(X)}function qQ(X){return P8(X)&&X[E2]==="Readonly"}function KQ(X){return P8(X)&&X[N0]==="Optional"}function Z9(X){return M8(X,"Any")&&I8(X.$id)}function Y9(X){return M8(X,"Argument")&&s0(X.index)}function $9(X){return M8(X,"Array")&&X.type==="array"&&I8(X.$id)&&i8(X.items)&&g8(X.minItems)&&g8(X.maxItems)&&F$(X.uniqueItems)&&X9(X.contains)&&g8(X.minContains)&&g8(X.maxContains)}function W9(X){return M8(X,"AsyncIterator")&&X.type==="AsyncIterator"&&I8(X.$id)&&i8(X.items)}function J9(X){return M8(X,"BigInt")&&X.type==="bigint"&&I8(X.$id)&&$Z(X.exclusiveMaximum)&&$Z(X.exclusiveMinimum)&&$Z(X.maximum)&&$Z(X.minimum)&&$Z(X.multipleOf)}function z9(X){return M8(X,"Boolean")&&X.type==="boolean"&&I8(X.$id)}function Q9(X){return M8(X,"Computed")&&b8(X.target)&&Z0(X.parameters)&&X.parameters.every((Z)=>i8(Z))}function G9(X){return M8(X,"Constructor")&&X.type==="Constructor"&&I8(X.$id)&&Z0(X.parameters)&&X.parameters.every((Z)=>i8(Z))&&i8(X.returns)}function M9(X){return M8(X,"Date")&&X.type==="Date"&&I8(X.$id)&&g8(X.exclusiveMaximumTimestamp)&&g8(X.exclusiveMinimumTimestamp)&&g8(X.maximumTimestamp)&&g8(X.minimumTimestamp)&&g8(X.multipleOfTimestamp)}function U9(X){return M8(X,"Function")&&X.type==="Function"&&I8(X.$id)&&Z0(X.parameters)&&X.parameters.every((Z)=>i8(Z))&&i8(X.returns)}function RQ(X){return M8(X,"Import")&&yZ(X,"$defs")&&P8(X.$defs)&&iZ(X.$defs)&&yZ(X,"$ref")&&b8(X.$ref)&&X.$ref in X.$defs}function H9(X){return M8(X,"Integer")&&X.type==="integer"&&I8(X.$id)&&g8(X.exclusiveMaximum)&&g8(X.exclusiveMinimum)&&g8(X.maximum)&&g8(X.minimum)&&g8(X.multipleOf)}function iZ(X){return P8(X)&&Object.entries(X).every(([Z,Y])=>L$(Z)&&i8(Y))}function D9(X){return M8(X,"Intersect")&&(b8(X.type)&&X.type!=="object"?!1:!0)&&Z0(X.allOf)&&X.allOf.every((Z)=>i8(Z)&&!T9(Z))&&I8(X.type)&&(F$(X.unevaluatedProperties)||X9(X.unevaluatedProperties))&&I8(X.$id)}function A9(X){return M8(X,"Iterator")&&X.type==="Iterator"&&I8(X.$id)&&i8(X.items)}function M8(X,Z){return P8(X)&&q in X&&X[q]===Z}function _9(X){return WZ(X)&&b8(X.const)}function w9(X){return WZ(X)&&s0(X.const)}function jQ(X){return WZ(X)&&WX(X.const)}function WZ(X){return M8(X,"Literal")&&I8(X.$id)&&O9(X.const)}function O9(X){return WX(X)||s0(X)||b8(X)}function N9(X){return M8(X,"MappedKey")&&Z0(X.keys)&&X.keys.every((Z)=>s0(Z)||b8(Z))}function L9(X){return M8(X,"MappedResult")&&iZ(X.properties)}function F9(X){return M8(X,"Never")&&P8(X.not)&&Object.getOwnPropertyNames(X.not).length===0}function B9(X){return M8(X,"Not")&&i8(X.not)}function q9(X){return M8(X,"Null")&&X.type==="null"&&I8(X.$id)}function K9(X){return M8(X,"Number")&&X.type==="number"&&I8(X.$id)&&g8(X.exclusiveMaximum)&&g8(X.exclusiveMinimum)&&g8(X.maximum)&&g8(X.minimum)&&g8(X.multipleOf)}function R9(X){return M8(X,"Object")&&X.type==="object"&&I8(X.$id)&&iZ(X.properties)&&e6(X.additionalProperties)&&g8(X.minProperties)&&g8(X.maxProperties)}function j9(X){return M8(X,"Promise")&&X.type==="Promise"&&I8(X.$id)&&i8(X.item)}function S9(X){return M8(X,"Record")&&X.type==="object"&&I8(X.$id)&&e6(X.additionalProperties)&&P8(X.patternProperties)&&((Z)=>{let Y=Object.getOwnPropertyNames(Z.patternProperties);return Y.length===1&&a6(Y[0])&&P8(Z.patternProperties)&&i8(Z.patternProperties[Y[0]])})(X)}function SQ(X){return P8(X)&&Q2 in X&&X[Q2]==="Recursive"}function V9(X){return M8(X,"Ref")&&I8(X.$id)&&b8(X.$ref)}function E9(X){return M8(X,"RegExp")&&I8(X.$id)&&b8(X.source)&&b8(X.flags)&&g8(X.maxLength)&&g8(X.minLength)}function C9(X){return M8(X,"String")&&X.type==="string"&&I8(X.$id)&&g8(X.minLength)&&g8(X.maxLength)&&FQ(X.pattern)&&BQ(X.format)}function P9(X){return M8(X,"Symbol")&&X.type==="symbol"&&I8(X.$id)}function I9(X){return M8(X,"TemplateLiteral")&&X.type==="string"&&b8(X.pattern)&&X.pattern[0]==="^"&&X.pattern[X.pattern.length-1]==="$"}function x9(X){return M8(X,"This")&&I8(X.$id)&&b8(X.$ref)}function T9(X){return P8(X)&&k8 in X}function b9(X){return M8(X,"Tuple")&&X.type==="array"&&I8(X.$id)&&s0(X.minItems)&&s0(X.maxItems)&&X.minItems===X.maxItems&&(Y0(X.items)&&Y0(X.additionalItems)&&X.minItems===0||Z0(X.items)&&X.items.every((Z)=>i8(Z)))}function k9(X){return M8(X,"Undefined")&&X.type==="undefined"&&I8(X.$id)}function VQ(X){return B$(X)&&X.anyOf.every((Z)=>_9(Z)||w9(Z))}function B$(X){return M8(X,"Union")&&I8(X.$id)&&P8(X)&&Z0(X.anyOf)&&X.anyOf.every((Z)=>i8(Z))}function g9(X){return M8(X,"Uint8Array")&&X.type==="Uint8Array"&&I8(X.$id)&&g8(X.minByteLength)&&g8(X.maxByteLength)}function f9(X){return M8(X,"Unknown")&&I8(X.$id)}function v9(X){return M8(X,"Unsafe")}function y9(X){return M8(X,"Void")&&X.type==="void"&&I8(X.$id)}function d9(X){return P8(X)&&q in X&&b8(X[q])&&!LQ.includes(X[q])}function i8(X){return P8(X)&&(Z9(X)||Y9(X)||$9(X)||z9(X)||J9(X)||W9(X)||Q9(X)||G9(X)||M9(X)||U9(X)||H9(X)||D9(X)||A9(X)||WZ(X)||N9(X)||L9(X)||F9(X)||B9(X)||q9(X)||K9(X)||R9(X)||j9(X)||S9(X)||V9(X)||E9(X)||C9(X)||P9(X)||I9(X)||x9(X)||b9(X)||k9(X)||B$(X)||g9(X)||f9(X)||v9(X)||y9(X)||d9(X))}var h9="(true|false)",oZ="(0|[1-9][0-9]*)",m9="(.*)";var r2="^(0|[1-9][0-9]*)$",a2="^(.*)$",p9="^(?!.*)$";var C8={};EX(C8,{Set:()=>xQ,Has:()=>IQ,Get:()=>TQ,Entries:()=>EQ,Delete:()=>PQ,Clear:()=>CQ});var q1=new Map;function EQ(){return new Map(q1)}function CQ(){return q1.clear()}function PQ(X){return q1.delete(X)}function IQ(X){return q1.has(X)}function xQ(X,Z){q1.set(X,Z)}function TQ(X){return q1.get(X)}var t8={};EX(t8,{Set:()=>vQ,Has:()=>fQ,Get:()=>yQ,Entries:()=>bQ,Delete:()=>gQ,Clear:()=>kQ});var K1=new Map;function bQ(){return new Map(K1)}function kQ(){return K1.clear()}function gQ(X){return K1.delete(X)}function fQ(X){return K1.has(X)}function vQ(X,Z){K1.set(X,Z)}function yQ(X){return K1.get(X)}function c9(X,Z){return X.includes(Z)}function u9(X){return[...new Set(X)]}function dQ(X,Z){return X.filter((Y)=>Z.includes(Y))}function hQ(X,Z){return X.reduce((Y,$)=>{return dQ(Y,$)},Z)}function i9(X){return X.length===1?X[0]:X.length>1?hQ(X.slice(1),X[0]):[]}function o9(X){let Z=[];for(let Y of X)Z.push(...Y);return Z}function xX(X){return R({[q]:"Any"},X)}function R1(X,Z){return R({[q]:"Array",type:"array",items:X},Z)}function n9(X){return R({[q]:"Argument",index:X})}function j1(X,Z){return R({[q]:"AsyncIterator",type:"AsyncIterator",items:X},Z)}function m8(X,Z,Y){return R({[q]:"Computed",target:X,parameters:Z},Y)}function mQ(X,Z){let{[Z]:Y,...$}=X;return $}function s8(X,Z){return Z.reduce((Y,$)=>mQ(Y,$),X)}function Z8(X){return R({[q]:"Never",not:{}},X)}function L8(X){return R({[q]:"MappedResult",properties:X})}function S1(X,Z,Y){return R({[q]:"Constructor",type:"Constructor",parameters:X,returns:Z},Y)}function e2(X,Z,Y){return R({[q]:"Function",type:"Function",parameters:X,returns:Z},Y)}function JZ(X,Z){return R({[q]:"Union",anyOf:X},Z)}function pQ(X){return X.some((Z)=>g0(Z))}function l9(X){return X.map((Z)=>g0(Z)?cQ(Z):Z)}function cQ(X){return s8(X,[N0])}function uQ(X,Z){return pQ(X)?R0(JZ(l9(X),Z)):JZ(l9(X),Z)}function XX(X,Z){return X.length===1?R(X[0],Z):X.length===0?Z8(Z):uQ(X,Z)}function R8(X,Z){return X.length===0?Z8(Z):X.length===1?R(X[0],Z):JZ(X,Z)}class q$ extends n{}function iQ(X){return X.replace(/\\\$/g,"$").replace(/\\\*/g,"*").replace(/\\\^/g,"^").replace(/\\\|/g,"|").replace(/\\\(/g,"(").replace(/\\\)/g,")")}function K$(X,Z,Y){return X[Z]===Y&&X.charCodeAt(Z-1)!==92}function DX(X,Z){return K$(X,Z,"(")}function zZ(X,Z){return K$(X,Z,")")}function t9(X,Z){return K$(X,Z,"|")}function oQ(X){if(!(DX(X,0)&&zZ(X,X.length-1)))return!1;let Z=0;for(let Y=0;Y<X.length;Y++){if(DX(X,Y))Z+=1;if(zZ(X,Y))Z-=1;if(Z===0&&Y!==X.length-1)return!1}return!0}function nQ(X){return X.slice(1,X.length-1)}function lQ(X){let Z=0;for(let Y=0;Y<X.length;Y++){if(DX(X,Y))Z+=1;if(zZ(X,Y))Z-=1;if(t9(X,Y)&&Z===0)return!0}return!1}function tQ(X){for(let Z=0;Z<X.length;Z++)if(DX(X,Z))return!0;return!1}function sQ(X){let[Z,Y]=[0,0],$=[];for(let J=0;J<X.length;J++){if(DX(X,J))Z+=1;if(zZ(X,J))Z-=1;if(t9(X,J)&&Z===0){let z=X.slice(Y,J);if(z.length>0)$.push(V1(z));Y=J+1}}let W=X.slice(Y);if(W.length>0)$.push(V1(W));if($.length===0)return{type:"const",const:""};if($.length===1)return $[0];return{type:"or",expr:$}}function rQ(X){function Z(W,J){if(!DX(W,J))throw new q$("TemplateLiteralParser: Index must point to open parens");let z=0;for(let Q=J;Q<W.length;Q++){if(DX(W,Q))z+=1;if(zZ(W,Q))z-=1;if(z===0)return[J,Q]}throw new q$("TemplateLiteralParser: Unclosed group parens in expression")}function Y(W,J){for(let z=J;z<W.length;z++)if(DX(W,z))return[J,z];return[J,W.length]}let $=[];for(let W=0;W<X.length;W++)if(DX(X,W)){let[J,z]=Z(X,W),Q=X.slice(J,z+1);$.push(V1(Q)),W=z}else{let[J,z]=Y(X,W),Q=X.slice(J,z);if(Q.length>0)$.push(V1(Q));W=z-1}return $.length===0?{type:"const",const:""}:$.length===1?$[0]:{type:"and",expr:$}}function V1(X){return oQ(X)?V1(nQ(X)):lQ(X)?sQ(X):tQ(X)?rQ(X):{type:"const",const:iQ(X)}}function E1(X){return V1(X.slice(1,X.length-1))}class s9 extends n{}function aQ(X){return X.type==="or"&&X.expr.length===2&&X.expr[0].type==="const"&&X.expr[0].const==="0"&&X.expr[1].type==="const"&&X.expr[1].const==="[1-9][0-9]*"}function eQ(X){return X.type==="or"&&X.expr.length===2&&X.expr[0].type==="const"&&X.expr[0].const==="true"&&X.expr[1].type==="const"&&X.expr[1].const==="false"}function XG(X){return X.type==="const"&&X.const===".*"}function $1(X){return aQ(X)||XG(X)?!1:eQ(X)?!0:X.type==="and"?X.expr.every((Z)=>$1(Z)):X.type==="or"?X.expr.every((Z)=>$1(Z)):X.type==="const"?!0:(()=>{throw new s9("Unknown expression type")})()}function nZ(X){let Z=E1(X.pattern);return $1(Z)}class r9 extends n{}function*a9(X){if(X.length===1)return yield*X[0];for(let Z of X[0])for(let Y of a9(X.slice(1)))yield`${Z}${Y}`}function*ZG(X){return yield*a9(X.expr.map((Z)=>[...QZ(Z)]))}function*YG(X){for(let Z of X.expr)yield*QZ(Z)}function*$G(X){return yield X.const}function*QZ(X){return X.type==="and"?yield*ZG(X):X.type==="or"?yield*YG(X):X.type==="const"?yield*$G(X):(()=>{throw new r9("Unknown expression")})()}function C1(X){let Z=E1(X.pattern);return $1(Z)?[...QZ(Z)]:[]}function _8(X,Z){return R({[q]:"Literal",const:X,type:typeof X},Z)}function lZ(X){return R({[q]:"Boolean",type:"boolean"},X)}function P1(X){return R({[q]:"BigInt",type:"bigint"},X)}function G2(X){return R({[q]:"Number",type:"number"},X)}function I0(X){return R({[q]:"String",type:"string"},X)}function*WG(X){let Z=X.trim().replace(/"|'/g,"");return Z==="boolean"?yield lZ():Z==="number"?yield G2():Z==="bigint"?yield P1():Z==="string"?yield I0():yield(()=>{let Y=Z.split("|").map(($)=>_8($.trim()));return Y.length===0?Z8():Y.length===1?Y[0]:XX(Y)})()}function*JG(X){if(X[1]!=="{"){let Z=_8("$"),Y=R$(X.slice(1));return yield*[Z,...Y]}for(let Z=2;Z<X.length;Z++)if(X[Z]==="}"){let Y=WG(X.slice(2,Z)),$=R$(X.slice(Z+1));return yield*[...Y,...$]}yield _8(X)}function*R$(X){for(let Z=0;Z<X.length;Z++)if(X[Z]==="$"){let Y=_8(X.slice(0,Z)),$=JG(X.slice(Z));return yield*[Y,...$]}yield _8(X)}function e9(X){return[...R$(X)]}class X7 extends n{}function zG(X){return X.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function Z7(X,Z){return X2(X)?X.pattern.slice(1,X.pattern.length-1):N8(X)?`(${X.anyOf.map((Y)=>Z7(Y,Z)).join("|")})`:b2(X)?`${Z}${oZ}`:T2(X)?`${Z}${oZ}`:eX(X)?`${Z}${oZ}`:MX(X)?`${Z}${m9}`:a0(X)?`${Z}${zG(X.const.toString())}`:GX(X)?`${Z}${h9}`:(()=>{throw new X7(`Unexpected Kind '${X[q]}'`)})()}function j$(X){return`^${X.map((Z)=>Z7(Z,"")).join("")}$`}function W1(X){let Y=C1(X).map(($)=>_8($));return XX(Y)}function tZ(X,Z){let Y=b8(X)?j$(e9(X)):j$(X);return R({[q]:"TemplateLiteral",type:"string",pattern:Y},Z)}function QG(X){return C1(X).map((Y)=>Y.toString())}function GG(X){let Z=[];for(let Y of X)Z.push(...f0(Y));return Z}function MG(X){return[X.toString()]}function f0(X){return[...new Set(X2(X)?QG(X):N8(X)?GG(X.anyOf):a0(X)?MG(X.const):b2(X)?["[number]"]:T2(X)?["[number]"]:[])]}function UG(X,Z,Y){let $={};for(let W of Object.getOwnPropertyNames(Z))$[W]=TX(X,f0(Z[W]),Y);return $}function HG(X,Z,Y){return UG(X,Z.properties,Y)}function Y7(X,Z,Y){let $=HG(X,Z,Y);return L8($)}function W7(X,Z){return X.map((Y)=>J7(Y,Z))}function DG(X){return X.filter((Z)=>!PX(Z))}function AG(X,Z){return sZ(DG(W7(X,Z)))}function _G(X){return X.some((Z)=>PX(Z))?[]:X}function wG(X,Z){return XX(_G(W7(X,Z)))}function OG(X,Z){return Z in X?X[Z]:Z==="[number]"?XX(X):Z8()}function NG(X,Z){return Z==="[number]"?X:Z8()}function LG(X,Z){return Z in X?X[Z]:Z8()}function J7(X,Z){return l8(X)?AG(X.allOf,Z):N8(X)?wG(X.anyOf,Z):Z2(X)?OG(X.items??[],Z):C2(X)?NG(X.items,Z):$0(X)?LG(X.properties,Z):Z8()}function GZ(X,Z){return Z.map((Y)=>J7(X,Y))}function $7(X,Z){return XX(GZ(X,Z))}function TX(X,Z,Y){if(e8(X)||e8(Z)){if(!o8(X)||!o8(Z))throw new n("Index types using Ref parameters require both Type and Key to be of TSchema");return m8("Index",[X,Z])}if(u8(Z))return Y7(X,Z,Y);if(e0(Z))return z7(X,Z,Y);return R(o8(Z)?$7(X,f0(Z)):$7(X,Z),Y)}function FG(X,Z,Y){return{[Z]:TX(X,[Z],p8(Y))}}function BG(X,Z,Y){return Z.reduce(($,W)=>{return{...$,...FG(X,W,Y)}},{})}function qG(X,Z,Y){return BG(X,Z.keys,Y)}function z7(X,Z,Y){let $=qG(X,Z,Y);return L8($)}function I1(X,Z){return R({[q]:"Iterator",type:"Iterator",items:X},Z)}function KG(X){let Z=[];for(let Y in X)if(!g0(X[Y]))Z.push(Y);return Z}function RG(X,Z){let Y=KG(X),$=Y.length>0?{[q]:"Object",type:"object",properties:X,required:Y}:{[q]:"Object",type:"object",properties:X};return R($,Z)}var j8=RG;function rZ(X,Z){return R({[q]:"Promise",type:"Promise",item:X},Z)}function jG(X){return R(s8(X,[E2]))}function SG(X){return R({...X,[E2]:"Readonly"})}function VG(X,Z){return Z===!1?jG(X):SG(X)}function v0(X,Z){let Y=Z??!0;return u8(X)?Q7(X,Y):VG(X,Y)}function EG(X,Z){let Y={};for(let $ of globalThis.Object.getOwnPropertyNames(X))Y[$]=v0(X[$],Z);return Y}function CG(X,Z){return EG(X.properties,Z)}function Q7(X,Z){let Y=CG(X,Z);return L8(Y)}function M2(X,Z){return R(X.length>0?{[q]:"Tuple",type:"array",items:X,additionalItems:!1,minItems:X.length,maxItems:X.length}:{[q]:"Tuple",type:"array",minItems:X.length,maxItems:X.length},Z)}function G7(X,Z){return X in Z?U2(X,Z[X]):L8(Z)}function PG(X){return{[X]:_8(X)}}function IG(X){let Z={};for(let Y of X)Z[Y]=_8(Y);return Z}function xG(X,Z){return c9(Z,X)?PG(X):IG(Z)}function TG(X,Z){let Y=xG(X,Z);return G7(X,Y)}function MZ(X,Z){return Z.map((Y)=>U2(X,Y))}function bG(X,Z){let Y={};for(let $ of globalThis.Object.getOwnPropertyNames(Z))Y[$]=U2(X,Z[$]);return Y}function U2(X,Z){let Y={...Z};return g0(Z)?R0(U2(X,s8(Z,[N0]))):B1(Z)?v0(U2(X,s8(Z,[E2]))):u8(Z)?G7(X,Z.properties):e0(Z)?TG(X,Z.keys):I2(Z)?S1(MZ(X,Z.parameters),U2(X,Z.returns),Y):x2(Z)?e2(MZ(X,Z.parameters),U2(X,Z.returns),Y):aX(Z)?j1(U2(X,Z.items),Y):X1(Z)?I1(U2(X,Z.items),Y):l8(Z)?j0(MZ(X,Z.allOf),Y):N8(Z)?R8(MZ(X,Z.anyOf),Y):Z2(Z)?M2(MZ(X,Z.items??[]),Y):$0(Z)?j8(bG(X,Z.properties),Y):C2(Z)?R1(U2(X,Z.items),Y):Z1(Z)?rZ(U2(X,Z.item),Y):Z}function kG(X,Z){let Y={};for(let $ of X)Y[$]=U2($,Z);return Y}function M7(X,Z,Y){let $=o8(X)?f0(X):X,W=Z({[q]:"MappedKey",keys:$}),J=kG($,W);return j8(J,Y)}function gG(X){return R(s8(X,[N0]))}function fG(X){return R({...X,[N0]:"Optional"})}function vG(X,Z){return Z===!1?gG(X):fG(X)}function R0(X,Z){let Y=Z??!0;return u8(X)?U7(X,Y):vG(X,Y)}function yG(X,Z){let Y={};for(let $ of globalThis.Object.getOwnPropertyNames(X))Y[$]=R0(X[$],Z);return Y}function dG(X,Z){return yG(X.properties,Z)}function U7(X,Z){let Y=dG(X,Z);return L8(Y)}function UZ(X,Z={}){let Y=X.every((W)=>$0(W)),$=o8(Z.unevaluatedProperties)?{unevaluatedProperties:Z.unevaluatedProperties}:{};return R(Z.unevaluatedProperties===!1||o8(Z.unevaluatedProperties)||Y?{...$,[q]:"Intersect",type:"object",allOf:X}:{...$,[q]:"Intersect",allOf:X},Z)}function hG(X){return X.every((Z)=>g0(Z))}function mG(X){return s8(X,[N0])}function H7(X){return X.map((Z)=>g0(Z)?mG(Z):Z)}function pG(X,Z){return hG(X)?R0(UZ(H7(X),Z)):UZ(H7(X),Z)}function sZ(X,Z={}){if(X.length===1)return R(X[0],Z);if(X.length===0)return Z8(Z);if(X.some((Y)=>K8(Y)))throw new Error("Cannot intersect transform types");return pG(X,Z)}function j0(X,Z){if(X.length===1)return R(X[0],Z);if(X.length===0)return Z8(Z);if(X.some((Y)=>K8(Y)))throw new Error("Cannot intersect transform types");return UZ(X,Z)}function H2(...X){let[Z,Y]=typeof X[0]==="string"?[X[0],X[1]]:[X[0].$id,X[1]];if(typeof Z!=="string")throw new n("Ref: $ref must be a string");return R({[q]:"Ref",$ref:Z},Y)}function cG(X,Z){return m8("Awaited",[m8(X,Z)])}function uG(X){return m8("Awaited",[H2(X)])}function iG(X){return j0(D7(X))}function oG(X){return R8(D7(X))}function nG(X){return x1(X)}function D7(X){return X.map((Z)=>x1(Z))}function x1(X,Z){return R(P2(X)?cG(X.target,X.parameters):l8(X)?iG(X.allOf):N8(X)?oG(X.anyOf):Z1(X)?nG(X.item):e8(X)?uG(X.$ref):X,Z)}function A7(X){let Z=[];for(let Y of X)Z.push(y0(Y));return Z}function lG(X){let Z=A7(X);return o9(Z)}function tG(X){let Z=A7(X);return i9(Z)}function sG(X){return X.map((Z,Y)=>Y.toString())}function rG(X){return["[number]"]}function aG(X){return globalThis.Object.getOwnPropertyNames(X)}function eG(X){if(!S$)return[];return globalThis.Object.getOwnPropertyNames(X).map((Y)=>{return Y[0]==="^"&&Y[Y.length-1]==="$"?Y.slice(1,Y.length-1):Y})}function y0(X){return l8(X)?lG(X.allOf):N8(X)?tG(X.anyOf):Z2(X)?sG(X.items??[]):C2(X)?rG(X.items):$0(X)?aG(X.properties):Y1(X)?eG(X.patternProperties):[]}var S$=!1;function AX(X){S$=!0;let Z=y0(X);return S$=!1,`^(${Z.map(($)=>`(${$})`).join("|")})$`}function XM(X,Z){return m8("KeyOf",[m8(X,Z)])}function ZM(X){return m8("KeyOf",[H2(X)])}function YM(X,Z){let Y=y0(X),$=$M(Y),W=XX($);return R(W,Z)}function $M(X){return X.map((Z)=>Z==="[number]"?G2():_8(Z))}function T1(X,Z){return P2(X)?XM(X.target,X.parameters):e8(X)?ZM(X.$ref):u8(X)?_7(X,Z):YM(X,Z)}function WM(X,Z){let Y={};for(let $ of globalThis.Object.getOwnPropertyNames(X))Y[$]=T1(X[$],p8(Z));return Y}function JM(X,Z){return WM(X.properties,Z)}function _7(X,Z){let Y=JM(X,Z);return L8(Y)}function aZ(X){let Z=y0(X),Y=GZ(X,Z);return Z.map(($,W)=>[Z[W],Y[W]])}function zM(X){let Z=[];for(let Y of X)Z.push(...y0(Y));return u9(Z)}function QM(X){return X.filter((Z)=>!PX(Z))}function GM(X,Z){let Y=[];for(let $ of X)Y.push(...GZ($,[Z]));return QM(Y)}function MM(X,Z){let Y={};for(let $ of Z)Y[$]=sZ(GM(X,$));return Y}function w7(X,Z){let Y=zM(X),$=MM(X,Y);return j8($,Z)}function eZ(X){return R({[q]:"Date",type:"Date"},X)}function XY(X){return R({[q]:"Null",type:"null"},X)}function ZY(X){return R({[q]:"Symbol",type:"symbol"},X)}function YY(X){return R({[q]:"Undefined",type:"undefined"},X)}function $Y(X){return R({[q]:"Uint8Array",type:"Uint8Array"},X)}function k2(X){return R({[q]:"Unknown"},X)}function UM(X){return X.map((Z)=>V$(Z,!1))}function HM(X){let Z={};for(let Y of globalThis.Object.getOwnPropertyNames(X))Z[Y]=v0(V$(X[Y],!1));return Z}function WY(X,Z){return Z===!0?X:v0(X)}function V$(X,Z){return M$(X)?WY(xX(),Z):H$(X)?WY(xX(),Z):Z0(X)?v0(M2(UM(X))):JX(X)?$Y():rX(X)?eZ():P8(X)?WY(j8(HM(X)),Z):U$(X)?WY(e2([],k2()),Z):Y0(X)?YY():D$(X)?XY():A$(X)?ZY():a1(X)?P1():s0(X)?_8(X):WX(X)?_8(X):b8(X)?_8(X):j8({})}function O7(X,Z){return R(V$(X,!0),Z)}function N7(X,Z){return I2(X)?M2(X.parameters,Z):Z8(Z)}function L7(X,Z){if(Y0(X))throw new Error("Enum undefined or empty");let Y=globalThis.Object.getOwnPropertyNames(X).filter((J)=>isNaN(J)).map((J)=>X[J]),W=[...new Set(Y)].map((J)=>_8(J));return R8(W,{...Z,[Q2]:"Enum"})}class R7 extends n{}var j;(function(X){X[X.Union=0]="Union",X[X.True=1]="True",X[X.False=2]="False"})(j||(j={}));function D2(X){return X===j.False?X:j.True}function b1(X){throw new R7(X)}function J0(X){return L.IsNever(X)||L.IsIntersect(X)||L.IsUnion(X)||L.IsUnknown(X)||L.IsAny(X)}function z0(X,Z){return L.IsNever(Z)?V7(X,Z):L.IsIntersect(Z)?JY(X,Z):L.IsUnion(Z)?x$(X,Z):L.IsUnknown(Z)?I7(X,Z):L.IsAny(Z)?I$(X,Z):b1("StructuralRight")}function I$(X,Z){return j.True}function DM(X,Z){return L.IsIntersect(Z)?JY(X,Z):L.IsUnion(Z)&&Z.anyOf.some((Y)=>L.IsAny(Y)||L.IsUnknown(Y))?j.True:L.IsUnion(Z)?j.Union:L.IsUnknown(Z)?j.True:L.IsAny(Z)?j.True:j.Union}function AM(X,Z){return L.IsUnknown(X)?j.False:L.IsAny(X)?j.Union:L.IsNever(X)?j.True:j.False}function _M(X,Z){return L.IsObject(Z)&&zY(Z)?j.True:J0(Z)?z0(X,Z):!L.IsArray(Z)?j.False:D2(x8(X.items,Z.items))}function wM(X,Z){return J0(Z)?z0(X,Z):!L.IsAsyncIterator(Z)?j.False:D2(x8(X.items,Z.items))}function OM(X,Z){return J0(Z)?z0(X,Z):L.IsObject(Z)?S0(X,Z):L.IsRecord(Z)?A2(X,Z):L.IsBigInt(Z)?j.True:j.False}function j7(X,Z){return L.IsLiteralBoolean(X)?j.True:L.IsBoolean(X)?j.True:j.False}function NM(X,Z){return J0(Z)?z0(X,Z):L.IsObject(Z)?S0(X,Z):L.IsRecord(Z)?A2(X,Z):L.IsBoolean(Z)?j.True:j.False}function LM(X,Z){return J0(Z)?z0(X,Z):L.IsObject(Z)?S0(X,Z):!L.IsConstructor(Z)?j.False:X.parameters.length>Z.parameters.length?j.False:!X.parameters.every((Y,$)=>D2(x8(Z.parameters[$],Y))===j.True)?j.False:D2(x8(X.returns,Z.returns))}function FM(X,Z){return J0(Z)?z0(X,Z):L.IsObject(Z)?S0(X,Z):L.IsRecord(Z)?A2(X,Z):L.IsDate(Z)?j.True:j.False}function BM(X,Z){return J0(Z)?z0(X,Z):L.IsObject(Z)?S0(X,Z):!L.IsFunction(Z)?j.False:X.parameters.length>Z.parameters.length?j.False:!X.parameters.every((Y,$)=>D2(x8(Z.parameters[$],Y))===j.True)?j.False:D2(x8(X.returns,Z.returns))}function S7(X,Z){return L.IsLiteral(X)&&K0.IsNumber(X.const)?j.True:L.IsNumber(X)||L.IsInteger(X)?j.True:j.False}function qM(X,Z){return L.IsInteger(Z)||L.IsNumber(Z)?j.True:J0(Z)?z0(X,Z):L.IsObject(Z)?S0(X,Z):L.IsRecord(Z)?A2(X,Z):j.False}function JY(X,Z){return Z.allOf.every((Y)=>x8(X,Y)===j.True)?j.True:j.False}function KM(X,Z){return X.allOf.some((Y)=>x8(Y,Z)===j.True)?j.True:j.False}function RM(X,Z){return J0(Z)?z0(X,Z):!L.IsIterator(Z)?j.False:D2(x8(X.items,Z.items))}function jM(X,Z){return L.IsLiteral(Z)&&Z.const===X.const?j.True:J0(Z)?z0(X,Z):L.IsObject(Z)?S0(X,Z):L.IsRecord(Z)?A2(X,Z):L.IsString(Z)?P7(X,Z):L.IsNumber(Z)?E7(X,Z):L.IsInteger(Z)?S7(X,Z):L.IsBoolean(Z)?j7(X,Z):j.False}function V7(X,Z){return j.False}function SM(X,Z){return j.True}function F7(X){let[Z,Y]=[X,0];while(!0){if(!L.IsNot(Z))break;Z=Z.not,Y+=1}return Y%2===0?Z:k2()}function VM(X,Z){return L.IsNot(X)?x8(F7(X),Z):L.IsNot(Z)?x8(X,F7(Z)):b1("Invalid fallthrough for Not")}function EM(X,Z){return J0(Z)?z0(X,Z):L.IsObject(Z)?S0(X,Z):L.IsRecord(Z)?A2(X,Z):L.IsNull(Z)?j.True:j.False}function E7(X,Z){return L.IsLiteralNumber(X)?j.True:L.IsNumber(X)||L.IsInteger(X)?j.True:j.False}function CM(X,Z){return J0(Z)?z0(X,Z):L.IsObject(Z)?S0(X,Z):L.IsRecord(Z)?A2(X,Z):L.IsInteger(Z)||L.IsNumber(Z)?j.True:j.False}function d0(X,Z){return Object.getOwnPropertyNames(X.properties).length===Z}function B7(X){return zY(X)}function q7(X){return d0(X,0)||d0(X,1)&&"description"in X.properties&&L.IsUnion(X.properties.description)&&X.properties.description.anyOf.length===2&&(L.IsString(X.properties.description.anyOf[0])&&L.IsUndefined(X.properties.description.anyOf[1])||L.IsString(X.properties.description.anyOf[1])&&L.IsUndefined(X.properties.description.anyOf[0]))}function E$(X){return d0(X,0)}function K7(X){return d0(X,0)}function PM(X){return d0(X,0)}function IM(X){return d0(X,0)}function xM(X){return zY(X)}function TM(X){let Z=G2();return d0(X,0)||d0(X,1)&&"length"in X.properties&&D2(x8(X.properties.length,Z))===j.True}function bM(X){return d0(X,0)}function zY(X){let Z=G2();return d0(X,0)||d0(X,1)&&"length"in X.properties&&D2(x8(X.properties.length,Z))===j.True}function kM(X){let Z=e2([xX()],xX());return d0(X,0)||d0(X,1)&&"then"in X.properties&&D2(x8(X.properties.then,Z))===j.True}function C7(X,Z){return x8(X,Z)===j.False?j.False:L.IsOptional(X)&&!L.IsOptional(Z)?j.False:j.True}function S0(X,Z){return L.IsUnknown(X)?j.False:L.IsAny(X)?j.Union:L.IsNever(X)||L.IsLiteralString(X)&&B7(Z)||L.IsLiteralNumber(X)&&E$(Z)||L.IsLiteralBoolean(X)&&K7(Z)||L.IsSymbol(X)&&q7(Z)||L.IsBigInt(X)&&PM(Z)||L.IsString(X)&&B7(Z)||L.IsSymbol(X)&&q7(Z)||L.IsNumber(X)&&E$(Z)||L.IsInteger(X)&&E$(Z)||L.IsBoolean(X)&&K7(Z)||L.IsUint8Array(X)&&xM(Z)||L.IsDate(X)&&IM(Z)||L.IsConstructor(X)&&bM(Z)||L.IsFunction(X)&&TM(Z)?j.True:L.IsRecord(X)&&L.IsString(C$(X))?(()=>{return Z[Q2]==="Record"?j.True:j.False})():L.IsRecord(X)&&L.IsNumber(C$(X))?(()=>{return d0(Z,0)?j.True:j.False})():j.False}function gM(X,Z){return J0(Z)?z0(X,Z):L.IsRecord(Z)?A2(X,Z):!L.IsObject(Z)?j.False:(()=>{for(let Y of Object.getOwnPropertyNames(Z.properties)){if(!(Y in X.properties)&&!L.IsOptional(Z.properties[Y]))return j.False;if(L.IsOptional(Z.properties[Y]))return j.True;if(C7(X.properties[Y],Z.properties[Y])===j.False)return j.False}return j.True})()}function fM(X,Z){return J0(Z)?z0(X,Z):L.IsObject(Z)&&kM(Z)?j.True:!L.IsPromise(Z)?j.False:D2(x8(X.item,Z.item))}function C$(X){return r2 in X.patternProperties?G2():(a2 in X.patternProperties)?I0():b1("Unknown record key pattern")}function P$(X){return r2 in X.patternProperties?X.patternProperties[r2]:(a2 in X.patternProperties)?X.patternProperties[a2]:b1("Unable to get record value schema")}function A2(X,Z){let[Y,$]=[C$(Z),P$(Z)];return L.IsLiteralString(X)&&L.IsNumber(Y)&&D2(x8(X,$))===j.True?j.True:L.IsUint8Array(X)&&L.IsNumber(Y)?x8(X,$):L.IsString(X)&&L.IsNumber(Y)?x8(X,$):L.IsArray(X)&&L.IsNumber(Y)?x8(X,$):L.IsObject(X)?(()=>{for(let W of Object.getOwnPropertyNames(X.properties))if(C7($,X.properties[W])===j.False)return j.False;return j.True})():j.False}function vM(X,Z){return J0(Z)?z0(X,Z):L.IsObject(Z)?S0(X,Z):!L.IsRecord(Z)?j.False:x8(P$(X),P$(Z))}function yM(X,Z){let Y=L.IsRegExp(X)?I0():X,$=L.IsRegExp(Z)?I0():Z;return x8(Y,$)}function P7(X,Z){return L.IsLiteral(X)&&K0.IsString(X.const)?j.True:L.IsString(X)?j.True:j.False}function dM(X,Z){return J0(Z)?z0(X,Z):L.IsObject(Z)?S0(X,Z):L.IsRecord(Z)?A2(X,Z):L.IsString(Z)?j.True:j.False}function hM(X,Z){return J0(Z)?z0(X,Z):L.IsObject(Z)?S0(X,Z):L.IsRecord(Z)?A2(X,Z):L.IsSymbol(Z)?j.True:j.False}function mM(X,Z){return L.IsTemplateLiteral(X)?x8(W1(X),Z):L.IsTemplateLiteral(Z)?x8(X,W1(Z)):b1("Invalid fallthrough for TemplateLiteral")}function pM(X,Z){return L.IsArray(Z)&&X.items!==void 0&&X.items.every((Y)=>x8(Y,Z.items)===j.True)}function cM(X,Z){return L.IsNever(X)?j.True:L.IsUnknown(X)?j.False:L.IsAny(X)?j.Union:j.False}function uM(X,Z){return J0(Z)?z0(X,Z):L.IsObject(Z)&&zY(Z)?j.True:L.IsArray(Z)&&pM(X,Z)?j.True:!L.IsTuple(Z)?j.False:K0.IsUndefined(X.items)&&!K0.IsUndefined(Z.items)||!K0.IsUndefined(X.items)&&K0.IsUndefined(Z.items)?j.False:K0.IsUndefined(X.items)&&!K0.IsUndefined(Z.items)?j.True:X.items.every((Y,$)=>x8(Y,Z.items[$])===j.True)?j.True:j.False}function iM(X,Z){return J0(Z)?z0(X,Z):L.IsObject(Z)?S0(X,Z):L.IsRecord(Z)?A2(X,Z):L.IsUint8Array(Z)?j.True:j.False}function oM(X,Z){return J0(Z)?z0(X,Z):L.IsObject(Z)?S0(X,Z):L.IsRecord(Z)?A2(X,Z):L.IsVoid(Z)?tM(X,Z):L.IsUndefined(Z)?j.True:j.False}function x$(X,Z){return Z.anyOf.some((Y)=>x8(X,Y)===j.True)?j.True:j.False}function nM(X,Z){return X.anyOf.every((Y)=>x8(Y,Z)===j.True)?j.True:j.False}function I7(X,Z){return j.True}function lM(X,Z){return L.IsNever(Z)?V7(X,Z):L.IsIntersect(Z)?JY(X,Z):L.IsUnion(Z)?x$(X,Z):L.IsAny(Z)?I$(X,Z):L.IsString(Z)?P7(X,Z):L.IsNumber(Z)?E7(X,Z):L.IsInteger(Z)?S7(X,Z):L.IsBoolean(Z)?j7(X,Z):L.IsArray(Z)?AM(X,Z):L.IsTuple(Z)?cM(X,Z):L.IsObject(Z)?S0(X,Z):L.IsUnknown(Z)?j.True:j.False}function tM(X,Z){return L.IsUndefined(X)?j.True:L.IsUndefined(X)?j.True:j.False}function sM(X,Z){return L.IsIntersect(Z)?JY(X,Z):L.IsUnion(Z)?x$(X,Z):L.IsUnknown(Z)?I7(X,Z):L.IsAny(Z)?I$(X,Z):L.IsObject(Z)?S0(X,Z):L.IsVoid(Z)?j.True:j.False}function x8(X,Z){return L.IsTemplateLiteral(X)||L.IsTemplateLiteral(Z)?mM(X,Z):L.IsRegExp(X)||L.IsRegExp(Z)?yM(X,Z):L.IsNot(X)||L.IsNot(Z)?VM(X,Z):L.IsAny(X)?DM(X,Z):L.IsArray(X)?_M(X,Z):L.IsBigInt(X)?OM(X,Z):L.IsBoolean(X)?NM(X,Z):L.IsAsyncIterator(X)?wM(X,Z):L.IsConstructor(X)?LM(X,Z):L.IsDate(X)?FM(X,Z):L.IsFunction(X)?BM(X,Z):L.IsInteger(X)?qM(X,Z):L.IsIntersect(X)?KM(X,Z):L.IsIterator(X)?RM(X,Z):L.IsLiteral(X)?jM(X,Z):L.IsNever(X)?SM(X,Z):L.IsNull(X)?EM(X,Z):L.IsNumber(X)?CM(X,Z):L.IsObject(X)?gM(X,Z):L.IsRecord(X)?vM(X,Z):L.IsString(X)?dM(X,Z):L.IsSymbol(X)?hM(X,Z):L.IsTuple(X)?uM(X,Z):L.IsPromise(X)?fM(X,Z):L.IsUint8Array(X)?iM(X,Z):L.IsUndefined(X)?oM(X,Z):L.IsUnion(X)?nM(X,Z):L.IsUnknown(X)?lM(X,Z):L.IsVoid(X)?sM(X,Z):b1(`Unknown left type operand '${X[q]}'`)}function bX(X,Z){return x8(X,Z)}function rM(X,Z,Y,$,W){let J={};for(let z of globalThis.Object.getOwnPropertyNames(X))J[z]=k1(X[z],Z,Y,$,p8(W));return J}function aM(X,Z,Y,$,W){return rM(X.properties,Z,Y,$,W)}function x7(X,Z,Y,$,W){let J=aM(X,Z,Y,$,W);return L8(J)}function eM(X,Z,Y,$){let W=bX(X,Z);return W===j.Union?R8([Y,$]):W===j.True?Y:$}function k1(X,Z,Y,$,W){return u8(X)?x7(X,Z,Y,$,W):e0(X)?R(T7(X,Z,Y,$,W)):R(eM(X,Z,Y,$),W)}function XU(X,Z,Y,$,W){return{[X]:k1(_8(X),Z,Y,$,p8(W))}}function ZU(X,Z,Y,$,W){return X.reduce((J,z)=>{return{...J,...XU(z,Z,Y,$,W)}},{})}function YU(X,Z,Y,$,W){return ZU(X.keys,Z,Y,$,W)}function T7(X,Z,Y,$,W){let J=YU(X,Z,Y,$,W);return L8(J)}function $U(X){return X.allOf.every((Z)=>_X(Z))}function WU(X){return X.anyOf.some((Z)=>_X(Z))}function JU(X){return!_X(X.not)}function _X(X){return X[q]==="Intersect"?$U(X):X[q]==="Union"?WU(X):X[q]==="Not"?JU(X):X[q]==="Undefined"?!0:!1}function b7(X,Z){return g1(W1(X),Z)}function zU(X,Z){let Y=X.filter(($)=>bX($,Z)===j.False);return Y.length===1?Y[0]:R8(Y)}function g1(X,Z,Y={}){if(X2(X))return R(b7(X,Z),Y);if(u8(X))return R(k7(X,Z),Y);return R(N8(X)?zU(X.anyOf,Z):bX(X,Z)!==j.False?Z8():X,Y)}function QU(X,Z){let Y={};for(let $ of globalThis.Object.getOwnPropertyNames(X))Y[$]=g1(X[$],Z);return Y}function GU(X,Z){return QU(X.properties,Z)}function k7(X,Z){let Y=GU(X,Z);return L8(Y)}function g7(X,Z){return f1(W1(X),Z)}function MU(X,Z){let Y=X.filter(($)=>bX($,Z)!==j.False);return Y.length===1?Y[0]:R8(Y)}function f1(X,Z,Y){if(X2(X))return R(g7(X,Z),Y);if(u8(X))return R(f7(X,Z),Y);return R(N8(X)?MU(X.anyOf,Z):bX(X,Z)!==j.False?X:Z8(),Y)}function UU(X,Z){let Y={};for(let $ of globalThis.Object.getOwnPropertyNames(X))Y[$]=f1(X[$],Z);return Y}function HU(X,Z){return UU(X.properties,Z)}function f7(X,Z){let Y=HU(X,Z);return L8(Y)}function v7(X,Z){return I2(X)?R(X.returns,Z):Z8(Z)}function QY(X){return v0(R0(X))}function J1(X,Z,Y){return R({[q]:"Record",type:"object",patternProperties:{[X]:Z}},Y)}function T$(X,Z,Y){let $={};for(let W of X)$[W]=Z;return j8($,{...Y,[Q2]:"Record"})}function DU(X,Z,Y){return nZ(X)?T$(f0(X),Z,Y):J1(X.pattern,Z,Y)}function AU(X,Z,Y){return T$(f0(R8(X)),Z,Y)}function _U(X,Z,Y){return T$([X.toString()],Z,Y)}function wU(X,Z,Y){return J1(X.source,Z,Y)}function OU(X,Z,Y){let $=Y0(X.pattern)?a2:X.pattern;return J1($,Z,Y)}function NU(X,Z,Y){return J1(a2,Z,Y)}function LU(X,Z,Y){return J1(p9,Z,Y)}function FU(X,Z,Y){return j8({true:Z,false:Z},Y)}function BU(X,Z,Y){return J1(r2,Z,Y)}function qU(X,Z,Y){return J1(r2,Z,Y)}function GY(X,Z,Y={}){return N8(X)?AU(X.anyOf,Z,Y):X2(X)?DU(X,Z,Y):a0(X)?_U(X.const,Z,Y):GX(X)?FU(X,Z,Y):T2(X)?BU(X,Z,Y):b2(X)?qU(X,Z,Y):N$(X)?wU(X,Z,Y):MX(X)?OU(X,Z,Y):w$(X)?NU(X,Z,Y):PX(X)?LU(X,Z,Y):Z8(Y)}function MY(X){return globalThis.Object.getOwnPropertyNames(X.patternProperties)[0]}function y7(X){let Z=MY(X);return Z===a2?I0():Z===r2?G2():I0({pattern:Z})}function UY(X){return X.patternProperties[MY(X)]}function KU(X,Z){return Z.parameters=HZ(X,Z.parameters),Z.returns=g2(X,Z.returns),Z}function RU(X,Z){return Z.parameters=HZ(X,Z.parameters),Z.returns=g2(X,Z.returns),Z}function jU(X,Z){return Z.allOf=HZ(X,Z.allOf),Z}function SU(X,Z){return Z.anyOf=HZ(X,Z.anyOf),Z}function VU(X,Z){if(Y0(Z.items))return Z;return Z.items=HZ(X,Z.items),Z}function EU(X,Z){return Z.items=g2(X,Z.items),Z}function CU(X,Z){return Z.items=g2(X,Z.items),Z}function PU(X,Z){return Z.items=g2(X,Z.items),Z}function IU(X,Z){return Z.item=g2(X,Z.item),Z}function xU(X,Z){let Y=gU(X,Z.properties);return{...Z,...j8(Y)}}function TU(X,Z){let Y=g2(X,y7(Z)),$=g2(X,UY(Z)),W=GY(Y,$);return{...Z,...W}}function bU(X,Z){return Z.index in X?X[Z.index]:k2()}function kU(X,Z){let Y=B1(Z),$=g0(Z),W=g2(X,Z);return Y&&$?QY(W):Y&&!$?v0(W):!Y&&$?R0(W):W}function gU(X,Z){return globalThis.Object.getOwnPropertyNames(Z).reduce((Y,$)=>{return{...Y,[$]:kU(X,Z[$])}},{})}function HZ(X,Z){return Z.map((Y)=>g2(X,Y))}function g2(X,Z){return I2(Z)?KU(X,Z):x2(Z)?RU(X,Z):l8(Z)?jU(X,Z):N8(Z)?SU(X,Z):Z2(Z)?VU(X,Z):C2(Z)?EU(X,Z):aX(Z)?CU(X,Z):X1(Z)?PU(X,Z):Z1(Z)?IU(X,Z):$0(Z)?xU(X,Z):Y1(Z)?TU(X,Z):O$(Z)?bU(X,Z):Z}function d7(X,Z){return g2(Z,L1(X))}function h7(X){return R({[q]:"Integer",type:"integer"},X)}function fU(X,Z,Y){return{[X]:f2(_8(X),Z,p8(Y))}}function vU(X,Z,Y){return X.reduce((W,J)=>{return{...W,...fU(J,Z,Y)}},{})}function yU(X,Z,Y){return vU(X.keys,Z,Y)}function m7(X,Z,Y){let $=yU(X,Z,Y);return L8($)}function dU(X){let[Z,Y]=[X.slice(0,1),X.slice(1)];return[Z.toLowerCase(),Y].join("")}function hU(X){let[Z,Y]=[X.slice(0,1),X.slice(1)];return[Z.toUpperCase(),Y].join("")}function mU(X){return X.toUpperCase()}function pU(X){return X.toLowerCase()}function cU(X,Z,Y){let $=E1(X.pattern);if(!$1($))return{...X,pattern:p7(X.pattern,Z)};let z=[...QZ($)].map((G)=>_8(G)),Q=c7(z,Z),M=R8(Q);return tZ([M],Y)}function p7(X,Z){return typeof X==="string"?Z==="Uncapitalize"?dU(X):Z==="Capitalize"?hU(X):Z==="Uppercase"?mU(X):Z==="Lowercase"?pU(X):X:X.toString()}function c7(X,Z){return X.map((Y)=>f2(Y,Z))}function f2(X,Z,Y={}){return e0(X)?m7(X,Z,Y):X2(X)?cU(X,Z,Y):N8(X)?R8(c7(X.anyOf,Z),Y):a0(X)?_8(p7(X.const,Z),Y):R(X,Y)}function u7(X,Z={}){return f2(X,"Capitalize",Z)}function i7(X,Z={}){return f2(X,"Lowercase",Z)}function o7(X,Z={}){return f2(X,"Uncapitalize",Z)}function n7(X,Z={}){return f2(X,"Uppercase",Z)}function uU(X,Z,Y){let $={};for(let W of globalThis.Object.getOwnPropertyNames(X))$[W]=kX(X[W],Z,p8(Y));return $}function iU(X,Z,Y){return uU(X.properties,Z,Y)}function l7(X,Z,Y){let $=iU(X,Z,Y);return L8($)}function oU(X,Z){return X.map((Y)=>b$(Y,Z))}function nU(X,Z){return X.map((Y)=>b$(Y,Z))}function lU(X,Z){let{[Z]:Y,...$}=X;return $}function tU(X,Z){return Z.reduce((Y,$)=>lU(Y,$),X)}function sU(X,Z){let Y=s8(X,[k8,"$id","required","properties"]),$=tU(X.properties,Z);return j8($,Y)}function rU(X){let Z=X.reduce((Y,$)=>uZ($)?[...Y,_8($)]:Y,[]);return R8(Z)}function b$(X,Z){return l8(X)?j0(oU(X.allOf,Z)):N8(X)?R8(nU(X.anyOf,Z)):$0(X)?sU(X,Z):j8({})}function kX(X,Z,Y){let $=Z0(Z)?rU(Z):Z,W=o8(Z)?f0(Z):Z,J=e8(X),z=e8(Z);return u8(X)?l7(X,W,Y):e0(Z)?t7(X,Z,Y):J&&z?m8("Omit",[X,$],Y):!J&&z?m8("Omit",[X,$],Y):J&&!z?m8("Omit",[X,$],Y):R({...b$(X,W),...Y})}function aU(X,Z,Y){return{[Z]:kX(X,[Z],p8(Y))}}function eU(X,Z,Y){return Z.reduce(($,W)=>{return{...$,...aU(X,W,Y)}},{})}function XH(X,Z,Y){return eU(X,Z.keys,Y)}function t7(X,Z,Y){let $=XH(X,Z,Y);return L8($)}function ZH(X,Z,Y){let $={};for(let W of globalThis.Object.getOwnPropertyNames(X))$[W]=gX(X[W],Z,p8(Y));return $}function YH(X,Z,Y){return ZH(X.properties,Z,Y)}function s7(X,Z,Y){let $=YH(X,Z,Y);return L8($)}function $H(X,Z){return X.map((Y)=>k$(Y,Z))}function WH(X,Z){return X.map((Y)=>k$(Y,Z))}function JH(X,Z){let Y={};for(let $ of Z)if($ in X)Y[$]=X[$];return Y}function zH(X,Z){let Y=s8(X,[k8,"$id","required","properties"]),$=JH(X.properties,Z);return j8($,Y)}function QH(X){let Z=X.reduce((Y,$)=>uZ($)?[...Y,_8($)]:Y,[]);return R8(Z)}function k$(X,Z){return l8(X)?j0($H(X.allOf,Z)):N8(X)?R8(WH(X.anyOf,Z)):$0(X)?zH(X,Z):j8({})}function gX(X,Z,Y){let $=Z0(Z)?QH(Z):Z,W=o8(Z)?f0(Z):Z,J=e8(X),z=e8(Z);return u8(X)?s7(X,W,Y):e0(Z)?r7(X,Z,Y):J&&z?m8("Pick",[X,$],Y):!J&&z?m8("Pick",[X,$],Y):J&&!z?m8("Pick",[X,$],Y):R({...k$(X,W),...Y})}function GH(X,Z,Y){return{[Z]:gX(X,[Z],p8(Y))}}function MH(X,Z,Y){return Z.reduce(($,W)=>{return{...$,...GH(X,W,Y)}},{})}function UH(X,Z,Y){return MH(X,Z.keys,Y)}function r7(X,Z,Y){let $=UH(X,Z,Y);return L8($)}function HH(X,Z){return m8("Partial",[m8(X,Z)])}function DH(X){return m8("Partial",[H2(X)])}function AH(X){let Z={};for(let Y of globalThis.Object.getOwnPropertyNames(X))Z[Y]=R0(X[Y]);return Z}function _H(X){let Z=s8(X,[k8,"$id","required","properties"]),Y=AH(X.properties);return j8(Y,Z)}function a7(X){return X.map((Z)=>e7(Z))}function e7(X){return P2(X)?HH(X.target,X.parameters):e8(X)?DH(X.$ref):l8(X)?j0(a7(X.allOf)):N8(X)?R8(a7(X.anyOf)):$0(X)?_H(X):eX(X)?X:GX(X)?X:T2(X)?X:a0(X)?X:ZZ(X)?X:b2(X)?X:MX(X)?X:YZ(X)?X:UX(X)?X:j8({})}function v1(X,Z){if(u8(X))return XW(X,Z);else return R({...e7(X),...Z})}function wH(X,Z){let Y={};for(let $ of globalThis.Object.getOwnPropertyNames(X))Y[$]=v1(X[$],p8(Z));return Y}function OH(X,Z){return wH(X.properties,Z)}function XW(X,Z){let Y=OH(X,Z);return L8(Y)}function NH(X,Z){return m8("Required",[m8(X,Z)])}function LH(X){return m8("Required",[H2(X)])}function FH(X){let Z={};for(let Y of globalThis.Object.getOwnPropertyNames(X))Z[Y]=s8(X[Y],[N0]);return Z}function BH(X){let Z=s8(X,[k8,"$id","required","properties"]),Y=FH(X.properties);return j8(Y,Z)}function ZW(X){return X.map((Z)=>YW(Z))}function YW(X){return P2(X)?NH(X.target,X.parameters):e8(X)?LH(X.$ref):l8(X)?j0(ZW(X.allOf)):N8(X)?R8(ZW(X.anyOf)):$0(X)?BH(X):eX(X)?X:GX(X)?X:T2(X)?X:a0(X)?X:ZZ(X)?X:b2(X)?X:MX(X)?X:YZ(X)?X:UX(X)?X:j8({})}function y1(X,Z){if(u8(X))return $W(X,Z);else return R({...YW(X),...Z})}function qH(X,Z){let Y={};for(let $ of globalThis.Object.getOwnPropertyNames(X))Y[$]=y1(X[$],Z);return Y}function KH(X,Z){return qH(X.properties,Z)}function $W(X,Z){let Y=KH(X,Z);return L8(Y)}function RH(X,Z){return Z.map((Y)=>{return e8(Y)?g$(X,Y.$ref):Y2(X,Y)})}function g$(X,Z){return Z in X?e8(X[Z])?g$(X,X[Z].$ref):Y2(X,X[Z]):Z8()}function jH(X){return x1(X[0])}function SH(X){return TX(X[0],X[1])}function VH(X){return T1(X[0])}function EH(X){return v1(X[0])}function CH(X){return kX(X[0],X[1])}function PH(X){return gX(X[0],X[1])}function IH(X){return y1(X[0])}function xH(X,Z,Y){let $=RH(X,Y);return Z==="Awaited"?jH($):Z==="Index"?SH($):Z==="KeyOf"?VH($):Z==="Partial"?EH($):Z==="Omit"?CH($):Z==="Pick"?PH($):Z==="Required"?IH($):Z8()}function TH(X,Z){return R1(Y2(X,Z))}function bH(X,Z){return j1(Y2(X,Z))}function kH(X,Z,Y){return S1(DZ(X,Z),Y2(X,Y))}function gH(X,Z,Y){return e2(DZ(X,Z),Y2(X,Y))}function fH(X,Z){return j0(DZ(X,Z))}function vH(X,Z){return I1(Y2(X,Z))}function yH(X,Z){return j8(globalThis.Object.keys(Z).reduce((Y,$)=>{return{...Y,[$]:Y2(X,Z[$])}},{}))}function dH(X,Z){let[Y,$]=[Y2(X,UY(Z)),MY(Z)],W=L1(Z);return W.patternProperties[$]=Y,W}function hH(X,Z){return e8(Z)?{...g$(X,Z.$ref),[k8]:Z[k8]}:Z}function mH(X,Z){return M2(DZ(X,Z))}function pH(X,Z){return R8(DZ(X,Z))}function DZ(X,Z){return Z.map((Y)=>Y2(X,Y))}function Y2(X,Z){return g0(Z)?R(Y2(X,s8(Z,[N0])),Z):B1(Z)?R(Y2(X,s8(Z,[E2])),Z):K8(Z)?R(hH(X,Z),Z):C2(Z)?R(TH(X,Z.items),Z):aX(Z)?R(bH(X,Z.items),Z):P2(Z)?R(xH(X,Z.target,Z.parameters)):I2(Z)?R(kH(X,Z.parameters,Z.returns),Z):x2(Z)?R(gH(X,Z.parameters,Z.returns),Z):l8(Z)?R(fH(X,Z.allOf),Z):X1(Z)?R(vH(X,Z.items),Z):$0(Z)?R(yH(X,Z.properties),Z):Y1(Z)?R(dH(X,Z)):Z2(Z)?R(mH(X,Z.items||[]),Z):N8(Z)?R(pH(X,Z.anyOf),Z):Z}function cH(X,Z){return Z in X?Y2(X,X[Z]):Z8()}function WW(X){return globalThis.Object.getOwnPropertyNames(X).reduce((Z,Y)=>{return{...Z,[Y]:cH(X,Y)}},{})}class JW{constructor(X){let Z=WW(X),Y=this.WithIdentifiers(Z);this.$defs=Y}Import(X,Z){let Y={...this.$defs,[X]:R(this.$defs[X],Z)};return R({[q]:"Import",$defs:Y,$ref:X})}WithIdentifiers(X){return globalThis.Object.getOwnPropertyNames(X).reduce((Z,Y)=>{return{...Z,[Y]:{...X[Y],$id:Y}}},{})}}function zW(X){return new JW(X)}function QW(X,Z){return R({[q]:"Not",not:X},Z)}function GW(X,Z){return x2(X)?M2(X.parameters,Z):Z8()}var uH=0;function MW(X,Z={}){if(Y0(Z.$id))Z.$id=`T${uH++}`;let Y=L1(X({[q]:"This",$ref:`${Z.$id}`}));return Y.$id=Z.$id,R({[Q2]:"Recursive",...Y},Z)}function UW(X,Z){let Y=b8(X)?new globalThis.RegExp(X):X;return R({[q]:"RegExp",type:"RegExp",source:Y.source,flags:Y.flags},Z)}function iH(X){return l8(X)?X.allOf:N8(X)?X.anyOf:Z2(X)?X.items??[]:[]}function HW(X){return iH(X)}function DW(X,Z){return x2(X)?R(X.returns,Z):Z8(Z)}class AW{constructor(X){this.schema=X}Decode(X){return new _W(this.schema,X)}}class _W{constructor(X,Z){this.schema=X,this.decode=Z}EncodeTransform(X,Z){let W={Encode:(J)=>Z[k8].Encode(X(J)),Decode:(J)=>this.decode(Z[k8].Decode(J))};return{...Z,[k8]:W}}EncodeSchema(X,Z){let Y={Decode:this.decode,Encode:X};return{...Z,[k8]:Y}}Encode(X){return K8(this.schema)?this.EncodeTransform(X,this.schema):this.EncodeSchema(X,this.schema)}}function wW(X){return new AW(X)}function HY(X={}){return R({[q]:X[q]??"Unsafe"},X)}function OW(X){return R({[q]:"Void",type:"void"},X)}var f$={};EX(f$,{Void:()=>OW,Uppercase:()=>n7,Unsafe:()=>HY,Unknown:()=>k2,Union:()=>R8,Undefined:()=>YY,Uncapitalize:()=>o7,Uint8Array:()=>$Y,Tuple:()=>M2,Transform:()=>wW,TemplateLiteral:()=>tZ,Symbol:()=>ZY,String:()=>I0,ReturnType:()=>DW,Rest:()=>HW,Required:()=>y1,RegExp:()=>UW,Ref:()=>H2,Recursive:()=>MW,Record:()=>GY,ReadonlyOptional:()=>QY,Readonly:()=>v0,Promise:()=>rZ,Pick:()=>gX,Partial:()=>v1,Parameters:()=>GW,Optional:()=>R0,Omit:()=>kX,Object:()=>j8,Number:()=>G2,Null:()=>XY,Not:()=>QW,Never:()=>Z8,Module:()=>zW,Mapped:()=>M7,Lowercase:()=>i7,Literal:()=>_8,KeyOf:()=>T1,Iterator:()=>I1,Intersect:()=>j0,Integer:()=>h7,Instantiate:()=>d7,InstanceType:()=>v7,Index:()=>TX,Function:()=>e2,Extract:()=>f1,Extends:()=>k1,Exclude:()=>g1,Enum:()=>L7,Date:()=>eZ,ConstructorParameters:()=>N7,Constructor:()=>S1,Const:()=>O7,Composite:()=>w7,Capitalize:()=>u7,Boolean:()=>lZ,BigInt:()=>P1,Awaited:()=>x1,AsyncIterator:()=>j1,Array:()=>R1,Argument:()=>n9,Any:()=>xX});var f8=f$;function oH(X){switch(X.errorType){case K.ArrayContains:return"Expected array to contain at least one matching value";case K.ArrayMaxContains:return`Expected array to contain no more than ${X.schema.maxContains} matching values`;case K.ArrayMinContains:return`Expected array to contain at least ${X.schema.minContains} matching values`;case K.ArrayMaxItems:return`Expected array length to be less or equal to ${X.schema.maxItems}`;case K.ArrayMinItems:return`Expected array length to be greater or equal to ${X.schema.minItems}`;case K.ArrayUniqueItems:return"Expected array elements to be unique";case K.Array:return"Expected array";case K.AsyncIterator:return"Expected AsyncIterator";case K.BigIntExclusiveMaximum:return`Expected bigint to be less than ${X.schema.exclusiveMaximum}`;case K.BigIntExclusiveMinimum:return`Expected bigint to be greater than ${X.schema.exclusiveMinimum}`;case K.BigIntMaximum:return`Expected bigint to be less or equal to ${X.schema.maximum}`;case K.BigIntMinimum:return`Expected bigint to be greater or equal to ${X.schema.minimum}`;case K.BigIntMultipleOf:return`Expected bigint to be a multiple of ${X.schema.multipleOf}`;case K.BigInt:return"Expected bigint";case K.Boolean:return"Expected boolean";case K.DateExclusiveMinimumTimestamp:return`Expected Date timestamp to be greater than ${X.schema.exclusiveMinimumTimestamp}`;case K.DateExclusiveMaximumTimestamp:return`Expected Date timestamp to be less than ${X.schema.exclusiveMaximumTimestamp}`;case K.DateMinimumTimestamp:return`Expected Date timestamp to be greater or equal to ${X.schema.minimumTimestamp}`;case K.DateMaximumTimestamp:return`Expected Date timestamp to be less or equal to ${X.schema.maximumTimestamp}`;case K.DateMultipleOfTimestamp:return`Expected Date timestamp to be a multiple of ${X.schema.multipleOfTimestamp}`;case K.Date:return"Expected Date";case K.Function:return"Expected function";case K.IntegerExclusiveMaximum:return`Expected integer to be less than ${X.schema.exclusiveMaximum}`;case K.IntegerExclusiveMinimum:return`Expected integer to be greater than ${X.schema.exclusiveMinimum}`;case K.IntegerMaximum:return`Expected integer to be less or equal to ${X.schema.maximum}`;case K.IntegerMinimum:return`Expected integer to be greater or equal to ${X.schema.minimum}`;case K.IntegerMultipleOf:return`Expected integer to be a multiple of ${X.schema.multipleOf}`;case K.Integer:return"Expected integer";case K.IntersectUnevaluatedProperties:return"Unexpected property";case K.Intersect:return"Expected all values to match";case K.Iterator:return"Expected Iterator";case K.Literal:return`Expected ${typeof X.schema.const==="string"?`'${X.schema.const}'`:X.schema.const}`;case K.Never:return"Never";case K.Not:return"Value should not match";case K.Null:return"Expected null";case K.NumberExclusiveMaximum:return`Expected number to be less than ${X.schema.exclusiveMaximum}`;case K.NumberExclusiveMinimum:return`Expected number to be greater than ${X.schema.exclusiveMinimum}`;case K.NumberMaximum:return`Expected number to be less or equal to ${X.schema.maximum}`;case K.NumberMinimum:return`Expected number to be greater or equal to ${X.schema.minimum}`;case K.NumberMultipleOf:return`Expected number to be a multiple of ${X.schema.multipleOf}`;case K.Number:return"Expected number";case K.Object:return"Expected object";case K.ObjectAdditionalProperties:return"Unexpected property";case K.ObjectMaxProperties:return`Expected object to have no more than ${X.schema.maxProperties} properties`;case K.ObjectMinProperties:return`Expected object to have at least ${X.schema.minProperties} properties`;case K.ObjectRequiredProperty:return"Expected required property";case K.Promise:return"Expected Promise";case K.RegExp:return"Expected string to match regular expression";case K.StringFormatUnknown:return`Unknown format '${X.schema.format}'`;case K.StringFormat:return`Expected string to match '${X.schema.format}' format`;case K.StringMaxLength:return`Expected string length less or equal to ${X.schema.maxLength}`;case K.StringMinLength:return`Expected string length greater or equal to ${X.schema.minLength}`;case K.StringPattern:return`Expected string to match '${X.schema.pattern}'`;case K.String:return"Expected string";case K.Symbol:return"Expected symbol";case K.TupleLength:return`Expected tuple to have ${X.schema.maxItems||0} elements`;case K.Tuple:return"Expected tuple";case K.Uint8ArrayMaxByteLength:return`Expected byte length less or equal to ${X.schema.maxByteLength}`;case K.Uint8ArrayMinByteLength:return`Expected byte length greater or equal to ${X.schema.minByteLength}`;case K.Uint8Array:return"Expected Uint8Array";case K.Undefined:return"Expected undefined";case K.Union:return"Expected union value";case K.Void:return"Expected void";case K.Kind:return`Expected kind '${X.schema[q]}'`;default:return"Unknown error type"}}var nH=oH;function NW(){return nH}class LW extends n{constructor(X){super(`Unable to dereference schema with $id '${X.$ref}'`);this.schema=X}}function lH(X,Z){let Y=Z.find(($)=>$.$id===X.$ref);if(Y===void 0)throw new LW(X);return F8(Y,Z)}function D0(X,Z){if(!O8(X.$id)||Z.some((Y)=>Y.$id===X.$id))return Z;return Z.push(X),Z}function F8(X,Z){return X[q]==="This"||X[q]==="Ref"?lH(X,Z):X}class FW extends n{constructor(X){super("Unable to hash value");this.value=X}}var $2;(function(X){X[X.Undefined=0]="Undefined",X[X.Null=1]="Null",X[X.Boolean=2]="Boolean",X[X.Number=3]="Number",X[X.String=4]="String",X[X.Object=5]="Object",X[X.Array=6]="Array",X[X.Date=7]="Date",X[X.Uint8Array=8]="Uint8Array",X[X.Symbol=9]="Symbol",X[X.BigInt=10]="BigInt"})($2||($2={}));var d1=BigInt("14695981039346656037"),[tH,sH]=[BigInt("1099511628211"),BigInt("18446744073709551616")],rH=Array.from({length:256}).map((X,Z)=>BigInt(Z)),BW=new Float64Array(1),qW=new DataView(BW.buffer),KW=new Uint8Array(BW.buffer);function*aH(X){let Z=X===0?1:Math.ceil(Math.floor(Math.log2(X)+1)/8);for(let Y=0;Y<Z;Y++)yield X>>8*(Z-1-Y)&255}function eH(X){V0($2.Array);for(let Z of X)h1(Z)}function XD(X){V0($2.Boolean),V0(X?1:0)}function ZD(X){V0($2.BigInt),qW.setBigInt64(0,X);for(let Z of KW)V0(Z)}function YD(X){V0($2.Date),h1(X.getTime())}function $D(X){V0($2.Null)}function WD(X){V0($2.Number),qW.setFloat64(0,X);for(let Z of KW)V0(Z)}function JD(X){V0($2.Object);for(let Z of globalThis.Object.getOwnPropertyNames(X).sort())h1(Z),h1(X[Z])}function zD(X){V0($2.String);for(let Z=0;Z<X.length;Z++)for(let Y of aH(X.charCodeAt(Z)))V0(Y)}function QD(X){V0($2.Symbol),h1(X.description)}function GD(X){V0($2.Uint8Array);for(let Z=0;Z<X.length;Z++)V0(X[Z])}function MD(X){return V0($2.Undefined)}function h1(X){if(t(X))return eH(X);if(s2(X))return XD(X);if(O0(X))return ZD(X);if(P0(X))return YD(X);if(zX(X))return $D(X);if(o(X))return WD(X);if(W8(X))return JD(X);if(O8(X))return zD(X);if(QX(X))return QD(X);if(F1(X))return GD(X);if(c8(X))return MD(X);throw new FW(X)}function V0(X){d1=d1^rH[X],d1=d1*tH%sH}function fX(X){return d1=BigInt("14695981039346656037"),h1(X),d1}class RW extends n{constructor(X){super("Unknown type");this.schema=X}}function UD(X){return X[q]==="Any"||X[q]==="Unknown"}function H8(X){return X!==void 0}function HD(X,Z,Y){return!0}function DD(X,Z,Y){return!0}function AD(X,Z,Y){if(!t(Y))return!1;if(H8(X.minItems)&&!(Y.length>=X.minItems))return!1;if(H8(X.maxItems)&&!(Y.length<=X.maxItems))return!1;if(!Y.every((J)=>A0(X.items,Z,J)))return!1;if(X.uniqueItems===!0&&!function(){let J=new Set;for(let z of Y){let Q=fX(z);if(J.has(Q))return!1;else J.add(Q)}return!0}())return!1;if(!(H8(X.contains)||o(X.minContains)||o(X.maxContains)))return!0;let $=H8(X.contains)?X.contains:Z8(),W=Y.reduce((J,z)=>A0($,Z,z)?J+1:J,0);if(W===0)return!1;if(o(X.minContains)&&W<X.minContains)return!1;if(o(X.maxContains)&&W>X.maxContains)return!1;return!0}function _D(X,Z,Y){return hZ(Y)}function wD(X,Z,Y){if(!O0(Y))return!1;if(H8(X.exclusiveMaximum)&&!(Y<X.exclusiveMaximum))return!1;if(H8(X.exclusiveMinimum)&&!(Y>X.exclusiveMinimum))return!1;if(H8(X.maximum)&&!(Y<=X.maximum))return!1;if(H8(X.minimum)&&!(Y>=X.minimum))return!1;if(H8(X.multipleOf)&&Y%X.multipleOf!==BigInt(0))return!1;return!0}function OD(X,Z,Y){return s2(Y)}function ND(X,Z,Y){return A0(X.returns,Z,Y.prototype)}function LD(X,Z,Y){if(!P0(Y))return!1;if(H8(X.exclusiveMaximumTimestamp)&&!(Y.getTime()<X.exclusiveMaximumTimestamp))return!1;if(H8(X.exclusiveMinimumTimestamp)&&!(Y.getTime()>X.exclusiveMinimumTimestamp))return!1;if(H8(X.maximumTimestamp)&&!(Y.getTime()<=X.maximumTimestamp))return!1;if(H8(X.minimumTimestamp)&&!(Y.getTime()>=X.minimumTimestamp))return!1;if(H8(X.multipleOfTimestamp)&&Y.getTime()%X.multipleOfTimestamp!==0)return!1;return!0}function FD(X,Z,Y){return CX(Y)}function BD(X,Z,Y){let $=globalThis.Object.values(X.$defs),W=X.$defs[X.$ref];return A0(W,[...Z,...$],Y)}function qD(X,Z,Y){if(!cZ(Y))return!1;if(H8(X.exclusiveMaximum)&&!(Y<X.exclusiveMaximum))return!1;if(H8(X.exclusiveMinimum)&&!(Y>X.exclusiveMinimum))return!1;if(H8(X.maximum)&&!(Y<=X.maximum))return!1;if(H8(X.minimum)&&!(Y>=X.minimum))return!1;if(H8(X.multipleOf)&&Y%X.multipleOf!==0)return!1;return!0}function KD(X,Z,Y){let $=X.allOf.every((W)=>A0(W,Z,Y));if(X.unevaluatedProperties===!1){let W=new RegExp(AX(X)),J=Object.getOwnPropertyNames(Y).every((z)=>W.test(z));return $&&J}else if(o8(X.unevaluatedProperties)){let W=new RegExp(AX(X)),J=Object.getOwnPropertyNames(Y).every((z)=>W.test(z)||A0(X.unevaluatedProperties,Z,Y[z]));return $&&J}else return $}function RD(X,Z,Y){return mZ(Y)}function jD(X,Z,Y){return Y===X.const}function SD(X,Z,Y){return!1}function VD(X,Z,Y){return!A0(X.not,Z,Y)}function ED(X,Z,Y){return zX(Y)}function CD(X,Z,Y){if(!h8.IsNumberLike(Y))return!1;if(H8(X.exclusiveMaximum)&&!(Y<X.exclusiveMaximum))return!1;if(H8(X.exclusiveMinimum)&&!(Y>X.exclusiveMinimum))return!1;if(H8(X.minimum)&&!(Y>=X.minimum))return!1;if(H8(X.maximum)&&!(Y<=X.maximum))return!1;if(H8(X.multipleOf)&&Y%X.multipleOf!==0)return!1;return!0}function PD(X,Z,Y){if(!h8.IsObjectLike(Y))return!1;if(H8(X.minProperties)&&!(Object.getOwnPropertyNames(Y).length>=X.minProperties))return!1;if(H8(X.maxProperties)&&!(Object.getOwnPropertyNames(Y).length<=X.maxProperties))return!1;let $=Object.getOwnPropertyNames(X.properties);for(let W of $){let J=X.properties[W];if(X.required&&X.required.includes(W)){if(!A0(J,Z,Y[W]))return!1;if((_X(J)||UD(J))&&!(W in Y))return!1}else if(h8.IsExactOptionalProperty(Y,W)&&!A0(J,Z,Y[W]))return!1}if(X.additionalProperties===!1){let W=Object.getOwnPropertyNames(Y);if(X.required&&X.required.length===$.length&&W.length===$.length)return!0;else return W.every((J)=>$.includes(J))}else if(typeof X.additionalProperties==="object")return Object.getOwnPropertyNames(Y).every((J)=>$.includes(J)||A0(X.additionalProperties,Z,Y[J]));else return!0}function ID(X,Z,Y){return pZ(Y)}function xD(X,Z,Y){if(!h8.IsRecordLike(Y))return!1;if(H8(X.minProperties)&&!(Object.getOwnPropertyNames(Y).length>=X.minProperties))return!1;if(H8(X.maxProperties)&&!(Object.getOwnPropertyNames(Y).length<=X.maxProperties))return!1;let[$,W]=Object.entries(X.patternProperties)[0],J=new RegExp($),z=Object.entries(Y).every(([G,U])=>{return J.test(G)?A0(W,Z,U):!0}),Q=typeof X.additionalProperties==="object"?Object.entries(Y).every(([G,U])=>{return!J.test(G)?A0(X.additionalProperties,Z,U):!0}):!0,M=X.additionalProperties===!1?Object.getOwnPropertyNames(Y).every((G)=>{return J.test(G)}):!0;return z&&Q&&M}function TD(X,Z,Y){return A0(F8(X,Z),Z,Y)}function bD(X,Z,Y){let $=new RegExp(X.source,X.flags);if(H8(X.minLength)){if(!(Y.length>=X.minLength))return!1}if(H8(X.maxLength)){if(!(Y.length<=X.maxLength))return!1}return $.test(Y)}function kD(X,Z,Y){if(!O8(Y))return!1;if(H8(X.minLength)){if(!(Y.length>=X.minLength))return!1}if(H8(X.maxLength)){if(!(Y.length<=X.maxLength))return!1}if(H8(X.pattern)){if(!new RegExp(X.pattern).test(Y))return!1}if(H8(X.format)){if(!C8.Has(X.format))return!1;return C8.Get(X.format)(Y)}return!0}function gD(X,Z,Y){return QX(Y)}function fD(X,Z,Y){return O8(Y)&&new RegExp(X.pattern).test(Y)}function vD(X,Z,Y){return A0(F8(X,Z),Z,Y)}function yD(X,Z,Y){if(!t(Y))return!1;if(X.items===void 0&&Y.length!==0)return!1;if(Y.length!==X.maxItems)return!1;if(!X.items)return!0;for(let $=0;$<X.items.length;$++)if(!A0(X.items[$],Z,Y[$]))return!1;return!0}function dD(X,Z,Y){return c8(Y)}function hD(X,Z,Y){return X.anyOf.some(($)=>A0($,Z,Y))}function mD(X,Z,Y){if(!F1(Y))return!1;if(H8(X.maxByteLength)&&!(Y.length<=X.maxByteLength))return!1;if(H8(X.minByteLength)&&!(Y.length>=X.minByteLength))return!1;return!0}function pD(X,Z,Y){return!0}function cD(X,Z,Y){return h8.IsVoidLike(Y)}function uD(X,Z,Y){if(!t8.Has(X[q]))return!1;return t8.Get(X[q])(X,Y)}function A0(X,Z,Y){let $=H8(X.$id)?D0(X,Z):Z,W=X;switch(W[q]){case"Any":return HD(W,$,Y);case"Argument":return DD(W,$,Y);case"Array":return AD(W,$,Y);case"AsyncIterator":return _D(W,$,Y);case"BigInt":return wD(W,$,Y);case"Boolean":return OD(W,$,Y);case"Constructor":return ND(W,$,Y);case"Date":return LD(W,$,Y);case"Function":return FD(W,$,Y);case"Import":return BD(W,$,Y);case"Integer":return qD(W,$,Y);case"Intersect":return KD(W,$,Y);case"Iterator":return RD(W,$,Y);case"Literal":return jD(W,$,Y);case"Never":return SD(W,$,Y);case"Not":return VD(W,$,Y);case"Null":return ED(W,$,Y);case"Number":return CD(W,$,Y);case"Object":return PD(W,$,Y);case"Promise":return ID(W,$,Y);case"Record":return xD(W,$,Y);case"Ref":return TD(W,$,Y);case"RegExp":return bD(W,$,Y);case"String":return kD(W,$,Y);case"Symbol":return gD(W,$,Y);case"TemplateLiteral":return fD(W,$,Y);case"This":return vD(W,$,Y);case"Tuple":return yD(W,$,Y);case"Undefined":return dD(W,$,Y);case"Union":return hD(W,$,Y);case"Uint8Array":return mD(W,$,Y);case"Unknown":return pD(W,$,Y);case"Void":return cD(W,$,Y);default:if(!t8.Has(W[q]))throw new RW(W);return uD(W,$,Y)}}function z8(...X){return X.length===3?A0(X[0],X[1],X[2]):A0(X[0],[],X[1])}var K;(function(X){X[X.ArrayContains=0]="ArrayContains",X[X.ArrayMaxContains=1]="ArrayMaxContains",X[X.ArrayMaxItems=2]="ArrayMaxItems",X[X.ArrayMinContains=3]="ArrayMinContains",X[X.ArrayMinItems=4]="ArrayMinItems",X[X.ArrayUniqueItems=5]="ArrayUniqueItems",X[X.Array=6]="Array",X[X.AsyncIterator=7]="AsyncIterator",X[X.BigIntExclusiveMaximum=8]="BigIntExclusiveMaximum",X[X.BigIntExclusiveMinimum=9]="BigIntExclusiveMinimum",X[X.BigIntMaximum=10]="BigIntMaximum",X[X.BigIntMinimum=11]="BigIntMinimum",X[X.BigIntMultipleOf=12]="BigIntMultipleOf",X[X.BigInt=13]="BigInt",X[X.Boolean=14]="Boolean",X[X.DateExclusiveMaximumTimestamp=15]="DateExclusiveMaximumTimestamp",X[X.DateExclusiveMinimumTimestamp=16]="DateExclusiveMinimumTimestamp",X[X.DateMaximumTimestamp=17]="DateMaximumTimestamp",X[X.DateMinimumTimestamp=18]="DateMinimumTimestamp",X[X.DateMultipleOfTimestamp=19]="DateMultipleOfTimestamp",X[X.Date=20]="Date",X[X.Function=21]="Function",X[X.IntegerExclusiveMaximum=22]="IntegerExclusiveMaximum",X[X.IntegerExclusiveMinimum=23]="IntegerExclusiveMinimum",X[X.IntegerMaximum=24]="IntegerMaximum",X[X.IntegerMinimum=25]="IntegerMinimum",X[X.IntegerMultipleOf=26]="IntegerMultipleOf",X[X.Integer=27]="Integer",X[X.IntersectUnevaluatedProperties=28]="IntersectUnevaluatedProperties",X[X.Intersect=29]="Intersect",X[X.Iterator=30]="Iterator",X[X.Kind=31]="Kind",X[X.Literal=32]="Literal",X[X.Never=33]="Never",X[X.Not=34]="Not",X[X.Null=35]="Null",X[X.NumberExclusiveMaximum=36]="NumberExclusiveMaximum",X[X.NumberExclusiveMinimum=37]="NumberExclusiveMinimum",X[X.NumberMaximum=38]="NumberMaximum",X[X.NumberMinimum=39]="NumberMinimum",X[X.NumberMultipleOf=40]="NumberMultipleOf",X[X.Number=41]="Number",X[X.ObjectAdditionalProperties=42]="ObjectAdditionalProperties",X[X.ObjectMaxProperties=43]="ObjectMaxProperties",X[X.ObjectMinProperties=44]="ObjectMinProperties",X[X.ObjectRequiredProperty=45]="ObjectRequiredProperty",X[X.Object=46]="Object",X[X.Promise=47]="Promise",X[X.RegExp=48]="RegExp",X[X.StringFormatUnknown=49]="StringFormatUnknown",X[X.StringFormat=50]="StringFormat",X[X.StringMaxLength=51]="StringMaxLength",X[X.StringMinLength=52]="StringMinLength",X[X.StringPattern=53]="StringPattern",X[X.String=54]="String",X[X.Symbol=55]="Symbol",X[X.TupleLength=56]="TupleLength",X[X.Tuple=57]="Tuple",X[X.Uint8ArrayMaxByteLength=58]="Uint8ArrayMaxByteLength",X[X.Uint8ArrayMinByteLength=59]="Uint8ArrayMinByteLength",X[X.Uint8Array=60]="Uint8Array",X[X.Undefined=61]="Undefined",X[X.Union=62]="Union",X[X.Void=63]="Void"})(K||(K={}));class jW extends n{constructor(X){super("Unknown type");this.schema=X}}function wX(X){return X.replace(/~/g,"~0").replace(/\//g,"~1")}function D8(X){return X!==void 0}class z1{constructor(X){this.iterator=X}[Symbol.iterator](){return this.iterator}First(){let X=this.iterator.next();return X.done?void 0:X.value}}function y(X,Z,Y,$,W=[]){return{type:X,schema:Z,path:Y,value:$,message:NW()({errorType:X,path:Y,schema:Z,value:$,errors:W}),errors:W}}function*iD(X,Z,Y,$){}function*oD(X,Z,Y,$){}function*nD(X,Z,Y,$){if(!t($))return yield y(K.Array,X,Y,$);if(D8(X.minItems)&&!($.length>=X.minItems))yield y(K.ArrayMinItems,X,Y,$);if(D8(X.maxItems)&&!($.length<=X.maxItems))yield y(K.ArrayMaxItems,X,Y,$);for(let z=0;z<$.length;z++)yield*_0(X.items,Z,`${Y}/${z}`,$[z]);if(X.uniqueItems===!0&&!function(){let z=new Set;for(let Q of $){let M=fX(Q);if(z.has(M))return!1;else z.add(M)}return!0}())yield y(K.ArrayUniqueItems,X,Y,$);if(!(D8(X.contains)||D8(X.minContains)||D8(X.maxContains)))return;let W=D8(X.contains)?X.contains:Z8(),J=$.reduce((z,Q,M)=>_0(W,Z,`${Y}${M}`,Q).next().done===!0?z+1:z,0);if(J===0)yield y(K.ArrayContains,X,Y,$);if(o(X.minContains)&&J<X.minContains)yield y(K.ArrayMinContains,X,Y,$);if(o(X.maxContains)&&J>X.maxContains)yield y(K.ArrayMaxContains,X,Y,$)}function*lD(X,Z,Y,$){if(!hZ($))yield y(K.AsyncIterator,X,Y,$)}function*tD(X,Z,Y,$){if(!O0($))return yield y(K.BigInt,X,Y,$);if(D8(X.exclusiveMaximum)&&!($<X.exclusiveMaximum))yield y(K.BigIntExclusiveMaximum,X,Y,$);if(D8(X.exclusiveMinimum)&&!($>X.exclusiveMinimum))yield y(K.BigIntExclusiveMinimum,X,Y,$);if(D8(X.maximum)&&!($<=X.maximum))yield y(K.BigIntMaximum,X,Y,$);if(D8(X.minimum)&&!($>=X.minimum))yield y(K.BigIntMinimum,X,Y,$);if(D8(X.multipleOf)&&$%X.multipleOf!==BigInt(0))yield y(K.BigIntMultipleOf,X,Y,$)}function*sD(X,Z,Y,$){if(!s2($))yield y(K.Boolean,X,Y,$)}function*rD(X,Z,Y,$){yield*_0(X.returns,Z,Y,$.prototype)}function*aD(X,Z,Y,$){if(!P0($))return yield y(K.Date,X,Y,$);if(D8(X.exclusiveMaximumTimestamp)&&!($.getTime()<X.exclusiveMaximumTimestamp))yield y(K.DateExclusiveMaximumTimestamp,X,Y,$);if(D8(X.exclusiveMinimumTimestamp)&&!($.getTime()>X.exclusiveMinimumTimestamp))yield y(K.DateExclusiveMinimumTimestamp,X,Y,$);if(D8(X.maximumTimestamp)&&!($.getTime()<=X.maximumTimestamp))yield y(K.DateMaximumTimestamp,X,Y,$);if(D8(X.minimumTimestamp)&&!($.getTime()>=X.minimumTimestamp))yield y(K.DateMinimumTimestamp,X,Y,$);if(D8(X.multipleOfTimestamp)&&$.getTime()%X.multipleOfTimestamp!==0)yield y(K.DateMultipleOfTimestamp,X,Y,$)}function*eD(X,Z,Y,$){if(!CX($))yield y(K.Function,X,Y,$)}function*XA(X,Z,Y,$){let W=globalThis.Object.values(X.$defs),J=X.$defs[X.$ref];yield*_0(J,[...Z,...W],Y,$)}function*ZA(X,Z,Y,$){if(!cZ($))return yield y(K.Integer,X,Y,$);if(D8(X.exclusiveMaximum)&&!($<X.exclusiveMaximum))yield y(K.IntegerExclusiveMaximum,X,Y,$);if(D8(X.exclusiveMinimum)&&!($>X.exclusiveMinimum))yield y(K.IntegerExclusiveMinimum,X,Y,$);if(D8(X.maximum)&&!($<=X.maximum))yield y(K.IntegerMaximum,X,Y,$);if(D8(X.minimum)&&!($>=X.minimum))yield y(K.IntegerMinimum,X,Y,$);if(D8(X.multipleOf)&&$%X.multipleOf!==0)yield y(K.IntegerMultipleOf,X,Y,$)}function*YA(X,Z,Y,$){let W=!1;for(let J of X.allOf)for(let z of _0(J,Z,Y,$))W=!0,yield z;if(W)return yield y(K.Intersect,X,Y,$);if(X.unevaluatedProperties===!1){let J=new RegExp(AX(X));for(let z of Object.getOwnPropertyNames($))if(!J.test(z))yield y(K.IntersectUnevaluatedProperties,X,`${Y}/${z}`,$)}if(typeof X.unevaluatedProperties==="object"){let J=new RegExp(AX(X));for(let z of Object.getOwnPropertyNames($))if(!J.test(z)){let Q=_0(X.unevaluatedProperties,Z,`${Y}/${z}`,$[z]).next();if(!Q.done)yield Q.value}}}function*$A(X,Z,Y,$){if(!mZ($))yield y(K.Iterator,X,Y,$)}function*WA(X,Z,Y,$){if($!==X.const)yield y(K.Literal,X,Y,$)}function*JA(X,Z,Y,$){yield y(K.Never,X,Y,$)}function*zA(X,Z,Y,$){if(_0(X.not,Z,Y,$).next().done===!0)yield y(K.Not,X,Y,$)}function*QA(X,Z,Y,$){if(!zX($))yield y(K.Null,X,Y,$)}function*GA(X,Z,Y,$){if(!h8.IsNumberLike($))return yield y(K.Number,X,Y,$);if(D8(X.exclusiveMaximum)&&!($<X.exclusiveMaximum))yield y(K.NumberExclusiveMaximum,X,Y,$);if(D8(X.exclusiveMinimum)&&!($>X.exclusiveMinimum))yield y(K.NumberExclusiveMinimum,X,Y,$);if(D8(X.maximum)&&!($<=X.maximum))yield y(K.NumberMaximum,X,Y,$);if(D8(X.minimum)&&!($>=X.minimum))yield y(K.NumberMinimum,X,Y,$);if(D8(X.multipleOf)&&$%X.multipleOf!==0)yield y(K.NumberMultipleOf,X,Y,$)}function*MA(X,Z,Y,$){if(!h8.IsObjectLike($))return yield y(K.Object,X,Y,$);if(D8(X.minProperties)&&!(Object.getOwnPropertyNames($).length>=X.minProperties))yield y(K.ObjectMinProperties,X,Y,$);if(D8(X.maxProperties)&&!(Object.getOwnPropertyNames($).length<=X.maxProperties))yield y(K.ObjectMaxProperties,X,Y,$);let W=Array.isArray(X.required)?X.required:[],J=Object.getOwnPropertyNames(X.properties),z=Object.getOwnPropertyNames($);for(let Q of W){if(z.includes(Q))continue;yield y(K.ObjectRequiredProperty,X.properties[Q],`${Y}/${wX(Q)}`,void 0)}if(X.additionalProperties===!1){for(let Q of z)if(!J.includes(Q))yield y(K.ObjectAdditionalProperties,X,`${Y}/${wX(Q)}`,$[Q])}if(typeof X.additionalProperties==="object")for(let Q of z){if(J.includes(Q))continue;yield*_0(X.additionalProperties,Z,`${Y}/${wX(Q)}`,$[Q])}for(let Q of J){let M=X.properties[Q];if(X.required&&X.required.includes(Q)){if(yield*_0(M,Z,`${Y}/${wX(Q)}`,$[Q]),_X(X)&&!(Q in $))yield y(K.ObjectRequiredProperty,M,`${Y}/${wX(Q)}`,void 0)}else if(h8.IsExactOptionalProperty($,Q))yield*_0(M,Z,`${Y}/${wX(Q)}`,$[Q])}}function*UA(X,Z,Y,$){if(!pZ($))yield y(K.Promise,X,Y,$)}function*HA(X,Z,Y,$){if(!h8.IsRecordLike($))return yield y(K.Object,X,Y,$);if(D8(X.minProperties)&&!(Object.getOwnPropertyNames($).length>=X.minProperties))yield y(K.ObjectMinProperties,X,Y,$);if(D8(X.maxProperties)&&!(Object.getOwnPropertyNames($).length<=X.maxProperties))yield y(K.ObjectMaxProperties,X,Y,$);let[W,J]=Object.entries(X.patternProperties)[0],z=new RegExp(W);for(let[Q,M]of Object.entries($))if(z.test(Q))yield*_0(J,Z,`${Y}/${wX(Q)}`,M);if(typeof X.additionalProperties==="object"){for(let[Q,M]of Object.entries($))if(!z.test(Q))yield*_0(X.additionalProperties,Z,`${Y}/${wX(Q)}`,M)}if(X.additionalProperties===!1)for(let[Q,M]of Object.entries($)){if(z.test(Q))continue;return yield y(K.ObjectAdditionalProperties,X,`${Y}/${wX(Q)}`,M)}}function*DA(X,Z,Y,$){yield*_0(F8(X,Z),Z,Y,$)}function*AA(X,Z,Y,$){if(!O8($))return yield y(K.String,X,Y,$);if(D8(X.minLength)&&!($.length>=X.minLength))yield y(K.StringMinLength,X,Y,$);if(D8(X.maxLength)&&!($.length<=X.maxLength))yield y(K.StringMaxLength,X,Y,$);if(!new RegExp(X.source,X.flags).test($))return yield y(K.RegExp,X,Y,$)}function*_A(X,Z,Y,$){if(!O8($))return yield y(K.String,X,Y,$);if(D8(X.minLength)&&!($.length>=X.minLength))yield y(K.StringMinLength,X,Y,$);if(D8(X.maxLength)&&!($.length<=X.maxLength))yield y(K.StringMaxLength,X,Y,$);if(O8(X.pattern)){if(!new RegExp(X.pattern).test($))yield y(K.StringPattern,X,Y,$)}if(O8(X.format)){if(!C8.Has(X.format))yield y(K.StringFormatUnknown,X,Y,$);else if(!C8.Get(X.format)($))yield y(K.StringFormat,X,Y,$)}}function*wA(X,Z,Y,$){if(!QX($))yield y(K.Symbol,X,Y,$)}function*OA(X,Z,Y,$){if(!O8($))return yield y(K.String,X,Y,$);if(!new RegExp(X.pattern).test($))yield y(K.StringPattern,X,Y,$)}function*NA(X,Z,Y,$){yield*_0(F8(X,Z),Z,Y,$)}function*LA(X,Z,Y,$){if(!t($))return yield y(K.Tuple,X,Y,$);if(X.items===void 0&&$.length!==0)return yield y(K.TupleLength,X,Y,$);if($.length!==X.maxItems)return yield y(K.TupleLength,X,Y,$);if(!X.items)return;for(let W=0;W<X.items.length;W++)yield*_0(X.items[W],Z,`${Y}/${W}`,$[W])}function*FA(X,Z,Y,$){if(!c8($))yield y(K.Undefined,X,Y,$)}function*BA(X,Z,Y,$){if(z8(X,Z,$))return;let W=X.anyOf.map((J)=>new z1(_0(J,Z,Y,$)));yield y(K.Union,X,Y,$,W)}function*qA(X,Z,Y,$){if(!F1($))return yield y(K.Uint8Array,X,Y,$);if(D8(X.maxByteLength)&&!($.length<=X.maxByteLength))yield y(K.Uint8ArrayMaxByteLength,X,Y,$);if(D8(X.minByteLength)&&!($.length>=X.minByteLength))yield y(K.Uint8ArrayMinByteLength,X,Y,$)}function*KA(X,Z,Y,$){}function*RA(X,Z,Y,$){if(!h8.IsVoidLike($))yield y(K.Void,X,Y,$)}function*jA(X,Z,Y,$){if(!t8.Get(X[q])(X,$))yield y(K.Kind,X,Y,$)}function*_0(X,Z,Y,$){let W=D8(X.$id)?[...Z,X]:Z,J=X;switch(J[q]){case"Any":return yield*iD(J,W,Y,$);case"Argument":return yield*oD(J,W,Y,$);case"Array":return yield*nD(J,W,Y,$);case"AsyncIterator":return yield*lD(J,W,Y,$);case"BigInt":return yield*tD(J,W,Y,$);case"Boolean":return yield*sD(J,W,Y,$);case"Constructor":return yield*rD(J,W,Y,$);case"Date":return yield*aD(J,W,Y,$);case"Function":return yield*eD(J,W,Y,$);case"Import":return yield*XA(J,W,Y,$);case"Integer":return yield*ZA(J,W,Y,$);case"Intersect":return yield*YA(J,W,Y,$);case"Iterator":return yield*$A(J,W,Y,$);case"Literal":return yield*WA(J,W,Y,$);case"Never":return yield*JA(J,W,Y,$);case"Not":return yield*zA(J,W,Y,$);case"Null":return yield*QA(J,W,Y,$);case"Number":return yield*GA(J,W,Y,$);case"Object":return yield*MA(J,W,Y,$);case"Promise":return yield*UA(J,W,Y,$);case"Record":return yield*HA(J,W,Y,$);case"Ref":return yield*DA(J,W,Y,$);case"RegExp":return yield*AA(J,W,Y,$);case"String":return yield*_A(J,W,Y,$);case"Symbol":return yield*wA(J,W,Y,$);case"TemplateLiteral":return yield*OA(J,W,Y,$);case"This":return yield*NA(J,W,Y,$);case"Tuple":return yield*LA(J,W,Y,$);case"Undefined":return yield*FA(J,W,Y,$);case"Union":return yield*BA(J,W,Y,$);case"Uint8Array":return yield*qA(J,W,Y,$);case"Unknown":return yield*KA(J,W,Y,$);case"Void":return yield*RA(J,W,Y,$);default:if(!t8.Has(J[q]))throw new jW(X);return yield*jA(J,W,Y,$)}}function ZX(...X){let Z=X.length===3?_0(X[0],X[1],"",X[2]):_0(X[0],[],"",X[1]);return new z1(Z)}class AZ extends n{constructor(X,Z,Y){super("Unable to decode value as it does not match the expected schema");this.schema=X,this.value=Z,this.error=Y}}class DY extends n{constructor(X,Z,Y,$){super($ instanceof Error?$.message:"Unknown error");this.schema=X,this.path=Z,this.value=Y,this.error=$}}function n8(X,Z,Y){try{return K8(X)?X[k8].Decode(Y):Y}catch($){throw new DY(X,Z,Y,$)}}function SA(X,Z,Y,$){return t($)?n8(X,Y,$.map((W,J)=>v2(X.items,Z,`${Y}/${J}`,W))):n8(X,Y,$)}function VA(X,Z,Y,$){if(!W8($)||r0($))return n8(X,Y,$);let W=aZ(X),J=W.map((U)=>U[0]),z={...$};for(let[U,w]of W)if(U in z)z[U]=v2(w,Z,`${Y}/${U}`,z[U]);if(!K8(X.unevaluatedProperties))return n8(X,Y,z);let Q=Object.getOwnPropertyNames(z),M=X.unevaluatedProperties,G={...z};for(let U of Q)if(!J.includes(U))G[U]=n8(M,`${Y}/${U}`,G[U]);return n8(X,Y,G)}function EA(X,Z,Y,$){let W=globalThis.Object.values(X.$defs),J=X.$defs[X.$ref],z=v2(J,[...Z,...W],Y,$);return n8(X,Y,z)}function CA(X,Z,Y,$){return n8(X,Y,v2(X.not,Z,Y,$))}function PA(X,Z,Y,$){if(!W8($))return n8(X,Y,$);let W=y0(X),J={...$};for(let G of W){if(!l(J,G))continue;if(c8(J[G])&&(!UX(X.properties[G])||h8.IsExactOptionalProperty(J,G)))continue;J[G]=v2(X.properties[G],Z,`${Y}/${G}`,J[G])}if(!o8(X.additionalProperties))return n8(X,Y,J);let z=Object.getOwnPropertyNames(J),Q=X.additionalProperties,M={...J};for(let G of z)if(!W.includes(G))M[G]=n8(Q,`${Y}/${G}`,M[G]);return n8(X,Y,M)}function IA(X,Z,Y,$){if(!W8($))return n8(X,Y,$);let W=Object.getOwnPropertyNames(X.patternProperties)[0],J=new RegExp(W),z={...$};for(let U of Object.getOwnPropertyNames($))if(J.test(U))z[U]=v2(X.patternProperties[W],Z,`${Y}/${U}`,z[U]);if(!o8(X.additionalProperties))return n8(X,Y,z);let Q=Object.getOwnPropertyNames(z),M=X.additionalProperties,G={...z};for(let U of Q)if(!J.test(U))G[U]=n8(M,`${Y}/${U}`,G[U]);return n8(X,Y,G)}function xA(X,Z,Y,$){let W=F8(X,Z);return n8(X,Y,v2(W,Z,Y,$))}function TA(X,Z,Y,$){let W=F8(X,Z);return n8(X,Y,v2(W,Z,Y,$))}function bA(X,Z,Y,$){return t($)&&t(X.items)?n8(X,Y,X.items.map((W,J)=>v2(W,Z,`${Y}/${J}`,$[J]))):n8(X,Y,$)}function kA(X,Z,Y,$){for(let W of X.anyOf){if(!z8(W,Z,$))continue;let J=v2(W,Z,Y,$);return n8(X,Y,J)}return n8(X,Y,$)}function v2(X,Z,Y,$){let W=D0(X,Z),J=X;switch(X[q]){case"Array":return SA(J,W,Y,$);case"Import":return EA(J,W,Y,$);case"Intersect":return VA(J,W,Y,$);case"Not":return CA(J,W,Y,$);case"Object":return PA(J,W,Y,$);case"Record":return IA(J,W,Y,$);case"Ref":return xA(J,W,Y,$);case"Symbol":return n8(J,Y,$);case"This":return TA(J,W,Y,$);case"Tuple":return bA(J,W,Y,$);case"Union":return kA(J,W,Y,$);default:return n8(J,Y,$)}}function m1(X,Z,Y){return v2(X,Z,"",Y)}class _Z extends n{constructor(X,Z,Y){super("The encoded value does not match the expected schema");this.schema=X,this.value=Z,this.error=Y}}class SW extends n{constructor(X,Z,Y,$){super(`${$ instanceof Error?$.message:"Unknown error"}`);this.schema=X,this.path=Z,this.value=Y,this.error=$}}function L0(X,Z,Y){try{return K8(X)?X[k8].Encode(Y):Y}catch($){throw new SW(X,Z,Y,$)}}function gA(X,Z,Y,$){let W=L0(X,Y,$);return t(W)?W.map((J,z)=>y2(X.items,Z,`${Y}/${z}`,J)):W}function fA(X,Z,Y,$){let W=globalThis.Object.values(X.$defs),J=X.$defs[X.$ref],z=L0(X,Y,$);return y2(J,[...Z,...W],Y,z)}function vA(X,Z,Y,$){let W=L0(X,Y,$);if(!W8($)||r0($))return W;let J=aZ(X),z=J.map((w)=>w[0]),Q={...W};for(let[w,B]of J)if(w in Q)Q[w]=y2(B,Z,`${Y}/${w}`,Q[w]);if(!K8(X.unevaluatedProperties))return Q;let M=Object.getOwnPropertyNames(Q),G=X.unevaluatedProperties,U={...Q};for(let w of M)if(!z.includes(w))U[w]=L0(G,`${Y}/${w}`,U[w]);return U}function yA(X,Z,Y,$){return L0(X.not,Y,L0(X,Y,$))}function dA(X,Z,Y,$){let W=L0(X,Y,$);if(!W8(W))return W;let J=y0(X),z={...W};for(let U of J){if(!l(z,U))continue;if(c8(z[U])&&(!UX(X.properties[U])||h8.IsExactOptionalProperty(z,U)))continue;z[U]=y2(X.properties[U],Z,`${Y}/${U}`,z[U])}if(!o8(X.additionalProperties))return z;let Q=Object.getOwnPropertyNames(z),M=X.additionalProperties,G={...z};for(let U of Q)if(!J.includes(U))G[U]=L0(M,`${Y}/${U}`,G[U]);return G}function hA(X,Z,Y,$){let W=L0(X,Y,$);if(!W8($))return W;let J=Object.getOwnPropertyNames(X.patternProperties)[0],z=new RegExp(J),Q={...W};for(let w of Object.getOwnPropertyNames($))if(z.test(w))Q[w]=y2(X.patternProperties[J],Z,`${Y}/${w}`,Q[w]);if(!o8(X.additionalProperties))return Q;let M=Object.getOwnPropertyNames(Q),G=X.additionalProperties,U={...Q};for(let w of M)if(!z.test(w))U[w]=L0(G,`${Y}/${w}`,U[w]);return U}function mA(X,Z,Y,$){let W=F8(X,Z),J=y2(W,Z,Y,$);return L0(X,Y,J)}function pA(X,Z,Y,$){let W=F8(X,Z),J=y2(W,Z,Y,$);return L0(X,Y,J)}function cA(X,Z,Y,$){let W=L0(X,Y,$);return t(X.items)?X.items.map((J,z)=>y2(J,Z,`${Y}/${z}`,W[z])):[]}function uA(X,Z,Y,$){for(let W of X.anyOf){if(!z8(W,Z,$))continue;let J=y2(W,Z,Y,$);return L0(X,Y,J)}for(let W of X.anyOf){let J=y2(W,Z,Y,$);if(!z8(X,Z,J))continue;return L0(X,Y,J)}return L0(X,Y,$)}function y2(X,Z,Y,$){let W=D0(X,Z),J=X;switch(X[q]){case"Array":return gA(J,W,Y,$);case"Import":return fA(J,W,Y,$);case"Intersect":return vA(J,W,Y,$);case"Not":return yA(J,W,Y,$);case"Object":return dA(J,W,Y,$);case"Record":return hA(J,W,Y,$);case"Ref":return mA(J,W,Y,$);case"This":return pA(J,W,Y,$);case"Tuple":return cA(J,W,Y,$);case"Union":return uA(J,W,Y,$);default:return L0(J,Y,$)}}function p1(X,Z,Y){return y2(X,Z,"",Y)}function iA(X,Z){return K8(X)||Q0(X.items,Z)}function oA(X,Z){return K8(X)||Q0(X.items,Z)}function nA(X,Z){return K8(X)||Q0(X.returns,Z)||X.parameters.some((Y)=>Q0(Y,Z))}function lA(X,Z){return K8(X)||Q0(X.returns,Z)||X.parameters.some((Y)=>Q0(Y,Z))}function tA(X,Z){return K8(X)||K8(X.unevaluatedProperties)||X.allOf.some((Y)=>Q0(Y,Z))}function sA(X,Z){let Y=globalThis.Object.getOwnPropertyNames(X.$defs).reduce((W,J)=>[...W,X.$defs[J]],[]),$=X.$defs[X.$ref];return K8(X)||Q0($,[...Y,...Z])}function rA(X,Z){return K8(X)||Q0(X.items,Z)}function aA(X,Z){return K8(X)||Q0(X.not,Z)}function eA(X,Z){return K8(X)||Object.values(X.properties).some((Y)=>Q0(Y,Z))||o8(X.additionalProperties)&&Q0(X.additionalProperties,Z)}function X_(X,Z){return K8(X)||Q0(X.item,Z)}function Z_(X,Z){let Y=Object.getOwnPropertyNames(X.patternProperties)[0],$=X.patternProperties[Y];return K8(X)||Q0($,Z)||o8(X.additionalProperties)&&K8(X.additionalProperties)}function Y_(X,Z){if(K8(X))return!0;return Q0(F8(X,Z),Z)}function $_(X,Z){if(K8(X))return!0;return Q0(F8(X,Z),Z)}function W_(X,Z){return K8(X)||!c8(X.items)&&X.items.some((Y)=>Q0(Y,Z))}function J_(X,Z){return K8(X)||X.anyOf.some((Y)=>Q0(Y,Z))}function Q0(X,Z){let Y=D0(X,Z),$=X;if(X.$id&&v$.has(X.$id))return!1;if(X.$id)v$.add(X.$id);switch(X[q]){case"Array":return iA($,Y);case"AsyncIterator":return oA($,Y);case"Constructor":return nA($,Y);case"Function":return lA($,Y);case"Import":return sA($,Y);case"Intersect":return tA($,Y);case"Iterator":return rA($,Y);case"Not":return aA($,Y);case"Object":return eA($,Y);case"Promise":return X_($,Y);case"Record":return Z_($,Y);case"Ref":return Y_($,Y);case"This":return $_($,Y);case"Tuple":return W_($,Y);case"Union":return J_($,Y);default:return K8(X)}}var v$=new Set;function OX(X,Z){return v$.clear(),Q0(X,Z)}class VW{constructor(X,Z,Y,$){this.schema=X,this.references=Z,this.checkFunc=Y,this.code=$,this.hasTransform=OX(X,Z)}Code(){return this.code}Schema(){return this.schema}References(){return this.references}Errors(X){return ZX(this.schema,this.references,X)}Check(X){return this.checkFunc(X)}Decode(X){if(!this.checkFunc(X))throw new AZ(this.schema,X,this.Errors(X).First());return this.hasTransform?m1(this.schema,this.references,X):X}Encode(X){let Z=this.hasTransform?p1(this.schema,this.references,X):X;if(!this.checkFunc(Z))throw new _Z(this.schema,X,this.Errors(X).First());return Z}}var NX;(function(X){function Z(J){return J===36}X.DollarSign=Z;function Y(J){return J===95}X.IsUnderscore=Y;function $(J){return J>=65&&J<=90||J>=97&&J<=122}X.IsAlpha=$;function W(J){return J>=48&&J<=57}X.IsNumeric=W})(NX||(NX={}));var AY;(function(X){function Z(J){if(J.length===0)return!1;return NX.IsNumeric(J.charCodeAt(0))}function Y(J){if(Z(J))return!1;for(let z=0;z<J.length;z++){let Q=J.charCodeAt(z);if(!(NX.IsAlpha(Q)||NX.IsNumeric(Q)||NX.DollarSign(Q)||NX.IsUnderscore(Q)))return!1}return!0}function $(J){return J.replace(/'/g,"\\'")}function W(J,z){return Y(z)?`${J}.${z}`:`${J}['${$(z)}']`}X.Encode=W})(AY||(AY={}));var y$;(function(X){function Z(Y){let $=[];for(let W=0;W<Y.length;W++){let J=Y.charCodeAt(W);if(NX.IsNumeric(J)||NX.IsAlpha(J))$.push(Y.charAt(W));else $.push(`_${J}_`)}return $.join("").replace(/__/g,"_")}X.Encode=Z})(y$||(y$={}));var d$;(function(X){function Z(Y){return Y.replace(/'/g,"\\'")}X.Escape=Z})(d$||(d$={}));class EW extends n{constructor(X){super("Unknown type");this.schema=X}}class h$ extends n{constructor(X){super("Preflight validation check failed to guard for the given schema");this.schema=X}}var Q1;(function(X){function Z(z,Q,M){return h8.ExactOptionalPropertyTypes?`('${Q}' in ${z} ? ${M} : true)`:`(${AY.Encode(z,Q)} !== undefined ? ${M} : true)`}X.IsExactOptionalProperty=Z;function Y(z){return!h8.AllowArrayObject?`(typeof ${z} === 'object' && ${z} !== null && !Array.isArray(${z}))`:`(typeof ${z} === 'object' && ${z} !== null)`}X.IsObjectLike=Y;function $(z){return!h8.AllowArrayObject?`(typeof ${z} === 'object' && ${z} !== null && !Array.isArray(${z}) && !(${z} instanceof Date) && !(${z} instanceof Uint8Array))`:`(typeof ${z} === 'object' && ${z} !== null && !(${z} instanceof Date) && !(${z} instanceof Uint8Array))`}X.IsRecordLike=$;function W(z){return h8.AllowNaN?`typeof ${z} === 'number'`:`Number.isFinite(${z})`}X.IsNumberLike=W;function J(z){return h8.AllowNullVoid?`(${z} === undefined || ${z} === null)`:`${z} === undefined`}X.IsVoidLike=J})(Q1||(Q1={}));var vX;(function(X){function Z(D){return D[q]==="Any"||D[q]==="Unknown"}function*Y(D,T,F){yield"true"}function*$(D,T,F){yield"true"}function*W(D,T,F){yield`Array.isArray(${F})`;let[p,v]=[g("value","any"),g("acc","number")];if(o(D.maxItems))yield`${F}.length <= ${D.maxItems}`;if(o(D.minItems))yield`${F}.length >= ${D.minItems}`;let c=t0(D.items,T,"value");if(yield`${F}.every((${p}) => ${c})`,i8(D.contains)||o(D.minContains)||o(D.maxContains)){let T8=i8(D.contains)?D.contains:Z8(),k0=t0(T8,T,"value"),$X=o(D.minContains)?[`(count >= ${D.minContains})`]:[],V2=o(D.maxContains)?[`(count <= ${D.maxContains})`]:[],t2=`const count = value.reduce((${v}, ${p}) => ${k0} ? acc + 1 : acc, 0)`,fZ=["(count > 0)",...$X,...V2].join(" && ");yield`((${p}) => { ${t2}; return ${fZ}})(${F})`}if(D.uniqueItems===!0)yield`((${p}) => { const set = new Set(); for(const element of value) { const hashed = hash(element); if(set.has(hashed)) { return false } else { set.add(hashed) } } return true } )(${F})`}function*J(D,T,F){yield`(typeof value === 'object' && Symbol.asyncIterator in ${F})`}function*z(D,T,F){if(yield`(typeof ${F} === 'bigint')`,O0(D.exclusiveMaximum))yield`${F} < BigInt(${D.exclusiveMaximum})`;if(O0(D.exclusiveMinimum))yield`${F} > BigInt(${D.exclusiveMinimum})`;if(O0(D.maximum))yield`${F} <= BigInt(${D.maximum})`;if(O0(D.minimum))yield`${F} >= BigInt(${D.minimum})`;if(O0(D.multipleOf))yield`(${F} % BigInt(${D.multipleOf})) === 0`}function*Q(D,T,F){yield`(typeof ${F} === 'boolean')`}function*M(D,T,F){yield*j2(D.returns,T,`${F}.prototype`)}function*G(D,T,F){if(yield`(${F} instanceof Date) && Number.isFinite(${F}.getTime())`,o(D.exclusiveMaximumTimestamp))yield`${F}.getTime() < ${D.exclusiveMaximumTimestamp}`;if(o(D.exclusiveMinimumTimestamp))yield`${F}.getTime() > ${D.exclusiveMinimumTimestamp}`;if(o(D.maximumTimestamp))yield`${F}.getTime() <= ${D.maximumTimestamp}`;if(o(D.minimumTimestamp))yield`${F}.getTime() >= ${D.minimumTimestamp}`;if(o(D.multipleOfTimestamp))yield`(${F}.getTime() % ${D.multipleOfTimestamp}) === 0`}function*U(D,T,F){yield`(typeof ${F} === 'function')`}function*w(D,T,F){let p=globalThis.Object.getOwnPropertyNames(D.$defs).reduce((v,c)=>{return[...v,D.$defs[c]]},[]);yield*j2(H2(D.$ref),[...T,...p],F)}function*B(D,T,F){if(yield`Number.isInteger(${F})`,o(D.exclusiveMaximum))yield`${F} < ${D.exclusiveMaximum}`;if(o(D.exclusiveMinimum))yield`${F} > ${D.exclusiveMinimum}`;if(o(D.maximum))yield`${F} <= ${D.maximum}`;if(o(D.minimum))yield`${F} >= ${D.minimum}`;if(o(D.multipleOf))yield`(${F} % ${D.multipleOf}) === 0`}function*N(D,T,F){let p=D.allOf.map((v)=>t0(v,T,F)).join(" && ");if(D.unevaluatedProperties===!1){let v=VX(`${new RegExp(AX(D))};`),c=`Object.getOwnPropertyNames(${F}).every(key => ${v}.test(key))`;yield`(${p} && ${c})`}else if(i8(D.unevaluatedProperties)){let v=VX(`${new RegExp(AX(D))};`),c=`Object.getOwnPropertyNames(${F}).every(key => ${v}.test(key) || ${t0(D.unevaluatedProperties,T,`${F}[key]`)})`;yield`(${p} && ${c})`}else yield`(${p})`}function*S(D,T,F){yield`(typeof value === 'object' && Symbol.iterator in ${F})`}function*H(D,T,F){if(typeof D.const==="number"||typeof D.const==="boolean")yield`(${F} === ${D.const})`;else yield`(${F} === '${d$.Escape(D.const)}')`}function*E(D,T,F){yield"false"}function*h(D,T,F){yield`(!${t0(D.not,T,F)})`}function*Y8(D,T,F){yield`(${F} === null)`}function*s(D,T,F){if(yield Q1.IsNumberLike(F),o(D.exclusiveMaximum))yield`${F} < ${D.exclusiveMaximum}`;if(o(D.exclusiveMinimum))yield`${F} > ${D.exclusiveMinimum}`;if(o(D.maximum))yield`${F} <= ${D.maximum}`;if(o(D.minimum))yield`${F} >= ${D.minimum}`;if(o(D.multipleOf))yield`(${F} % ${D.multipleOf}) === 0`}function*V8(D,T,F){if(yield Q1.IsObjectLike(F),o(D.minProperties))yield`Object.getOwnPropertyNames(${F}).length >= ${D.minProperties}`;if(o(D.maxProperties))yield`Object.getOwnPropertyNames(${F}).length <= ${D.maxProperties}`;let p=Object.getOwnPropertyNames(D.properties);for(let v of p){let c=AY.Encode(F,v),T8=D.properties[v];if(D.required&&D.required.includes(v)){if(yield*j2(T8,T,c),_X(T8)||Z(T8))yield`('${v}' in ${F})`}else{let k0=t0(T8,T,c);yield Q1.IsExactOptionalProperty(F,v,k0)}}if(D.additionalProperties===!1)if(D.required&&D.required.length===p.length)yield`Object.getOwnPropertyNames(${F}).length === ${p.length}`;else{let v=`[${p.map((c)=>`'${c}'`).join(", ")}]`;yield`Object.getOwnPropertyNames(${F}).every(key => ${v}.includes(key))`}if(typeof D.additionalProperties==="object"){let v=t0(D.additionalProperties,T,`${F}[key]`),c=`[${p.map((T8)=>`'${T8}'`).join(", ")}]`;yield`(Object.getOwnPropertyNames(${F}).every(key => ${c}.includes(key) || ${v}))`}}function*G8(D,T,F){yield`${F} instanceof Promise`}function*I(D,T,F){if(yield Q1.IsRecordLike(F),o(D.minProperties))yield`Object.getOwnPropertyNames(${F}).length >= ${D.minProperties}`;if(o(D.maxProperties))yield`Object.getOwnPropertyNames(${F}).length <= ${D.maxProperties}`;let[p,v]=Object.entries(D.patternProperties)[0],c=VX(`${new RegExp(p)}`),T8=t0(v,T,"value"),k0=i8(D.additionalProperties)?t0(D.additionalProperties,T,F):D.additionalProperties===!1?"false":"true",$X=`(${c}.test(key) ? ${T8} : ${k0})`;yield`(Object.entries(${F}).every(([key, value]) => ${$X}))`}function*P(D,T,F){let p=F8(D,T);if(E8.functions.has(D.$ref))return yield`${SX(D.$ref)}(${F})`;yield*j2(p,T,F)}function*k(D,T,F){let p=VX(`${new RegExp(D.source,D.flags)};`);if(yield`(typeof ${F} === 'string')`,o(D.maxLength))yield`${F}.length <= ${D.maxLength}`;if(o(D.minLength))yield`${F}.length >= ${D.minLength}`;yield`${p}.test(${F})`}function*b(D,T,F){if(yield`(typeof ${F} === 'string')`,o(D.maxLength))yield`${F}.length <= ${D.maxLength}`;if(o(D.minLength))yield`${F}.length >= ${D.minLength}`;if(D.pattern!==void 0)yield`${VX(`${new RegExp(D.pattern)};`)}.test(${F})`;if(D.format!==void 0)yield`format('${D.format}', ${F})`}function*$8(D,T,F){yield`(typeof ${F} === 'symbol')`}function*J8(D,T,F){yield`(typeof ${F} === 'string')`,yield`${VX(`${new RegExp(D.pattern)};`)}.test(${F})`}function*X8(D,T,F){yield`${SX(D.$ref)}(${F})`}function*U8(D,T,F){if(yield`Array.isArray(${F})`,D.items===void 0)return yield`${F}.length === 0`;yield`(${F}.length === ${D.maxItems})`;for(let p=0;p<D.items.length;p++)yield`${t0(D.items[p],T,`${F}[${p}]`)}`}function*H0(D,T,F){yield`${F} === undefined`}function*d8(D,T,F){yield`(${D.anyOf.map((v)=>t0(v,T,F)).join(" || ")})`}function*l2(D,T,F){if(yield`${F} instanceof Uint8Array`,o(D.maxByteLength))yield`(${F}.length <= ${D.maxByteLength})`;if(o(D.minByteLength))yield`(${F}.length >= ${D.minByteLength})`}function*C0(D,T,F){yield"true"}function*tX(D,T,F){yield Q1.IsVoidLike(F)}function*Q$(D,T,F){let p=E8.instances.size;E8.instances.set(p,D),yield`kind('${D[q]}', ${p}, ${F})`}function*j2(D,T,F,p=!0){let v=O8(D.$id)?[...T,D]:T,c=D;if(p&&O8(D.$id)){let T8=SX(D.$id);if(E8.functions.has(T8))return yield`${T8}(${F})`;else{E8.functions.set(T8,"<deferred>");let k0=S2(T8,D,T,"value",!1);return E8.functions.set(T8,k0),yield`${T8}(${F})`}}switch(c[q]){case"Any":return yield*Y(c,v,F);case"Argument":return yield*$(c,v,F);case"Array":return yield*W(c,v,F);case"AsyncIterator":return yield*J(c,v,F);case"BigInt":return yield*z(c,v,F);case"Boolean":return yield*Q(c,v,F);case"Constructor":return yield*M(c,v,F);case"Date":return yield*G(c,v,F);case"Function":return yield*U(c,v,F);case"Import":return yield*w(c,v,F);case"Integer":return yield*B(c,v,F);case"Intersect":return yield*N(c,v,F);case"Iterator":return yield*S(c,v,F);case"Literal":return yield*H(c,v,F);case"Never":return yield*E(c,v,F);case"Not":return yield*h(c,v,F);case"Null":return yield*Y8(c,v,F);case"Number":return yield*s(c,v,F);case"Object":return yield*V8(c,v,F);case"Promise":return yield*G8(c,v,F);case"Record":return yield*I(c,v,F);case"Ref":return yield*P(c,v,F);case"RegExp":return yield*k(c,v,F);case"String":return yield*b(c,v,F);case"Symbol":return yield*$8(c,v,F);case"TemplateLiteral":return yield*J8(c,v,F);case"This":return yield*X8(c,v,F);case"Tuple":return yield*U8(c,v,F);case"Undefined":return yield*H0(c,v,F);case"Union":return yield*d8(c,v,F);case"Uint8Array":return yield*l2(c,v,F);case"Unknown":return yield*C0(c,v,F);case"Void":return yield*tX(c,v,F);default:if(!t8.Has(c[q]))throw new EW(D);return yield*Q$(c,v,F)}}let E8={language:"javascript",functions:new Map,variables:new Map,instances:new Map};function t0(D,T,F,p=!0){return`(${[...j2(D,T,F,p)].join(" && ")})`}function SX(D){return`check_${y$.Encode(D)}`}function VX(D){let T=`local_${E8.variables.size}`;return E8.variables.set(T,`const ${T} = ${D}`),T}function S2(D,T,F,p,v=!0){let[c,T8]=[`
|
|
`,(t2)=>"".padStart(t2," ")],k0=g("value","any"),$X=C("boolean"),V2=[...j2(T,F,p,v)].map((t2)=>`${T8(4)}${t2}`).join(` &&${c}`);return`function ${D}(${k0})${$X} {${c}${T8(2)}return (${c}${V2}${c}${T8(2)})
|
|
}`}function g(D,T){let F=E8.language==="typescript"?`: ${T}`:"";return`${D}${F}`}function C(D){return E8.language==="typescript"?`: ${D}`:""}function x(D,T,F){let p=S2("check",D,T,"value"),v=g("value","any"),c=C("boolean"),T8=[...E8.functions.values()],k0=[...E8.variables.values()],$X=O8(D.$id)?`return function check(${v})${c} {
|
|
return ${SX(D.$id)}(value)
|
|
}`:`return ${p}`;return[...k0,...T8,$X].join(`
|
|
`)}function u(...D){let T={language:"javascript"},[F,p,v]=D.length===2&&t(D[1])?[D[0],D[1],T]:D.length===2&&!t(D[1])?[D[0],[],D[1]]:D.length===3?[D[0],D[1],D[2]]:D.length===1?[D[0],[],T]:[null,[],T];if(E8.language=v.language,E8.variables.clear(),E8.functions.clear(),E8.instances.clear(),!i8(F))throw new h$(F);for(let c of p)if(!i8(c))throw new h$(c);return x(F,p,v)}X.Code=u;function r(D,T=[]){let F=u(D,T,{language:"javascript"}),p=globalThis.Function("kind","format","hash",F),v=new Map(E8.instances);function c(V2,t2,fZ){if(!t8.Has(V2)||!v.has(t2))return!1;let nz=t8.Get(V2),lz=v.get(t2);return nz(lz,fZ)}function T8(V2,t2){if(!C8.Has(V2))return!1;return C8.Get(V2)(t2)}function k0(V2){return fX(V2)}let $X=p(c,T8,k0);return new VW(D,T,$X,F)}X.Compile=r})(vX||(vX={}));var z_=function(X,Z,Y,$,W){if($==="m")throw new TypeError("Private method is not writable");if($==="a"&&!W)throw new TypeError("Private accessor was defined without a setter");if(typeof Z==="function"?X!==Z||!W:!Z.has(X))throw new TypeError("Cannot write private member to an object whose class did not declare it");return $==="a"?W.call(X,Y):W?W.value=Y:Z.set(X,Y),Y},PW=function(X,Z,Y,$){if(Y==="a"&&!$)throw new TypeError("Private accessor was defined without a getter");if(typeof Z==="function"?X!==Z||!$:!Z.has(X))throw new TypeError("Cannot read private member from an object whose class did not declare it");return Y==="m"?$:Y==="a"?$.call(X):$?$.value:Z.get(X)},m$,_Y,IW;class xW extends n{constructor(X){let Z=X.First();super(Z===void 0?"Invalid Value":Z.message);m$.add(this),_Y.set(this,void 0),z_(this,_Y,X,"f"),this.error=Z}Errors(){return new z1(PW(this,m$,"m",IW).call(this))}}_Y=new WeakMap,m$=new WeakSet,IW=function*X(){if(this.error)yield this.error;yield*PW(this,_Y,"f")};function CW(X,Z,Y){if(z8(X,Z,Y))return;throw new xW(ZX(X,Z,Y))}function wY(...X){return X.length===3?CW(X[0],X[1],X[2]):CW(X[0],[],X[1])}function Q_(X){let Z={};for(let Y of Object.getOwnPropertyNames(X))Z[Y]=B8(X[Y]);for(let Y of Object.getOwnPropertySymbols(X))Z[Y]=B8(X[Y]);return Z}function G_(X){return X.map((Z)=>B8(Z))}function M_(X){return X.slice()}function U_(X){return new Map(B8([...X.entries()]))}function H_(X){return new Set(B8([...X.entries()]))}function D_(X){return new Date(X.toISOString())}function A_(X){return X}function B8(X){if(t(X))return G_(X);if(P0(X))return D_(X);if(z2(X))return M_(X);if(t6(X))return U_(X);if(s6(X))return H_(X);if(W8(X))return Q_(X);if(r0(X))return A_(X);throw new Error("ValueClone: Unable to clone value")}class _2 extends n{constructor(X,Z){super(Z);this.schema=X}}function q8(X){return CX(X)?X():B8(X)}function __(X,Z){if(l(X,"default"))return q8(X.default);else return{}}function w_(X,Z){return{}}function O_(X,Z){if(X.uniqueItems===!0&&!l(X,"default"))throw new _2(X,"Array with the uniqueItems constraint requires a default value");else if("contains"in X&&!l(X,"default"))throw new _2(X,"Array with the contains constraint requires a default value");else if("default"in X)return q8(X.default);else if(X.minItems!==void 0)return Array.from({length:X.minItems}).map((Y)=>{return h0(X.items,Z)});else return[]}function N_(X,Z){if(l(X,"default"))return q8(X.default);else return async function*(){}()}function L_(X,Z){if(l(X,"default"))return q8(X.default);else return BigInt(0)}function F_(X,Z){if(l(X,"default"))return q8(X.default);else return!1}function B_(X,Z){if(l(X,"default"))return q8(X.default);else{let Y=h0(X.returns,Z);if(typeof Y==="object"&&!Array.isArray(Y))return class{constructor(){for(let[$,W]of Object.entries(Y)){let J=this;J[$]=W}}};else return class{}}}function q_(X,Z){if(l(X,"default"))return q8(X.default);else if(X.minimumTimestamp!==void 0)return new Date(X.minimumTimestamp);else return new Date}function K_(X,Z){if(l(X,"default"))return q8(X.default);else return()=>h0(X.returns,Z)}function R_(X,Z){let Y=globalThis.Object.values(X.$defs),$=X.$defs[X.$ref];return h0($,[...Z,...Y])}function j_(X,Z){if(l(X,"default"))return q8(X.default);else if(X.minimum!==void 0)return X.minimum;else return 0}function S_(X,Z){if(l(X,"default"))return q8(X.default);else{let Y=X.allOf.reduce(($,W)=>{let J=h0(W,Z);return typeof J==="object"?{...$,...J}:J},{});if(!z8(X,Z,Y))throw new _2(X,"Intersect produced invalid value. Consider using a default value.");return Y}}function V_(X,Z){if(l(X,"default"))return q8(X.default);else return function*(){}()}function E_(X,Z){if(l(X,"default"))return q8(X.default);else return X.const}function C_(X,Z){if(l(X,"default"))return q8(X.default);else throw new _2(X,"Never types cannot be created. Consider using a default value.")}function P_(X,Z){if(l(X,"default"))return q8(X.default);else throw new _2(X,"Not types must have a default value")}function I_(X,Z){if(l(X,"default"))return q8(X.default);else return null}function x_(X,Z){if(l(X,"default"))return q8(X.default);else if(X.minimum!==void 0)return X.minimum;else return 0}function T_(X,Z){if(l(X,"default"))return q8(X.default);else{let Y=new Set(X.required),$={};for(let[W,J]of Object.entries(X.properties)){if(!Y.has(W))continue;$[W]=h0(J,Z)}return $}}function b_(X,Z){if(l(X,"default"))return q8(X.default);else return Promise.resolve(h0(X.item,Z))}function k_(X,Z){let[Y,$]=Object.entries(X.patternProperties)[0];if(l(X,"default"))return q8(X.default);else if(!(Y===a2||Y===r2)){let W=Y.slice(1,Y.length-1).split("|"),J={};for(let z of W)J[z]=h0($,Z);return J}else return{}}function g_(X,Z){if(l(X,"default"))return q8(X.default);else return h0(F8(X,Z),Z)}function f_(X,Z){if(l(X,"default"))return q8(X.default);else throw new _2(X,"RegExp types cannot be created. Consider using a default value.")}function v_(X,Z){if(X.pattern!==void 0)if(!l(X,"default"))throw new _2(X,"String types with patterns must specify a default value");else return q8(X.default);else if(X.format!==void 0)if(!l(X,"default"))throw new _2(X,"String types with formats must specify a default value");else return q8(X.default);else if(l(X,"default"))return q8(X.default);else if(X.minLength!==void 0)return Array.from({length:X.minLength}).map(()=>" ").join("");else return""}function y_(X,Z){if(l(X,"default"))return q8(X.default);else if("value"in X)return Symbol.for(X.value);else return Symbol()}function d_(X,Z){if(l(X,"default"))return q8(X.default);if(!nZ(X))throw new _2(X,"Can only create template literals that produce a finite variants. Consider using a default value.");return C1(X)[0]}function h_(X,Z){if(TW++>l_)throw new _2(X,"Cannot create recursive type as it appears possibly infinite. Consider using a default.");if(l(X,"default"))return q8(X.default);else return h0(F8(X,Z),Z)}function m_(X,Z){if(l(X,"default"))return q8(X.default);if(X.items===void 0)return[];else return Array.from({length:X.minItems}).map((Y,$)=>h0(X.items[$],Z))}function p_(X,Z){if(l(X,"default"))return q8(X.default);else return}function c_(X,Z){if(l(X,"default"))return q8(X.default);else if(X.anyOf.length===0)throw new Error("ValueCreate.Union: Cannot create Union with zero variants");else return h0(X.anyOf[0],Z)}function u_(X,Z){if(l(X,"default"))return q8(X.default);else if(X.minByteLength!==void 0)return new Uint8Array(X.minByteLength);else return new Uint8Array(0)}function i_(X,Z){if(l(X,"default"))return q8(X.default);else return{}}function o_(X,Z){if(l(X,"default"))return q8(X.default);else return}function n_(X,Z){if(l(X,"default"))return q8(X.default);else throw new Error("User defined types must specify a default value")}function h0(X,Z){let Y=D0(X,Z),$=X;switch($[q]){case"Any":return __($,Y);case"Argument":return w_($,Y);case"Array":return O_($,Y);case"AsyncIterator":return N_($,Y);case"BigInt":return L_($,Y);case"Boolean":return F_($,Y);case"Constructor":return B_($,Y);case"Date":return q_($,Y);case"Function":return K_($,Y);case"Import":return R_($,Y);case"Integer":return j_($,Y);case"Intersect":return S_($,Y);case"Iterator":return V_($,Y);case"Literal":return E_($,Y);case"Never":return C_($,Y);case"Not":return P_($,Y);case"Null":return I_($,Y);case"Number":return x_($,Y);case"Object":return T_($,Y);case"Promise":return b_($,Y);case"Record":return k_($,Y);case"Ref":return g_($,Y);case"RegExp":return f_($,Y);case"String":return v_($,Y);case"Symbol":return y_($,Y);case"TemplateLiteral":return d_($,Y);case"This":return h_($,Y);case"Tuple":return m_($,Y);case"Undefined":return p_($,Y);case"Union":return c_($,Y);case"Uint8Array":return u_($,Y);case"Unknown":return i_($,Y);case"Void":return o_($,Y);default:if(!t8.Has($[q]))throw new _2($,"Unknown type");return n_($,Y)}}var l_=512,TW=0;function w2(...X){return TW=0,X.length===2?h0(X[0],X[1]):h0(X[0],[])}class p$ extends n{constructor(X,Z){super(Z);this.schema=X}}function t_(X,Z,Y){if(X[q]==="Object"&&typeof Y==="object"&&!zX(Y)){let $=X,W=Object.getOwnPropertyNames(Y),J=Object.entries($.properties),[z,Q]=[1/J.length,J.length];return J.reduce((M,[G,U])=>{let w=U[q]==="Literal"&&U.const===Y[G]?Q:0,B=z8(U,Z,Y[G])?z:0,N=W.includes(G)?z:0;return M+(w+B+N)},0)}else return z8(X,Z,Y)?1:0}function s_(X,Z,Y){let $=X.anyOf.map((z)=>F8(z,Z)),[W,J]=[$[0],0];for(let z of $){let Q=t_(z,Z,Y);if(Q>J)W=z,J=Q}return W}function r_(X,Z,Y){if("default"in X)return typeof Y==="function"?X.default:B8(X.default);else{let $=s_(X,Z,Y);return wZ($,Z,Y)}}function a_(X,Z,Y){return z8(X,Z,Y)?B8(Y):w2(X,Z)}function e_(X,Z,Y){return z8(X,Z,Y)?Y:w2(X,Z)}function Xw(X,Z,Y){if(z8(X,Z,Y))return B8(Y);let $=t(Y)?B8(Y):w2(X,Z),W=o(X.minItems)&&$.length<X.minItems?[...$,...Array.from({length:X.minItems-$.length},()=>null)]:$,z=(o(X.maxItems)&&W.length>X.maxItems?W.slice(0,X.maxItems):W).map((M)=>d2(X.items,Z,M));if(X.uniqueItems!==!0)return z;let Q=[...new Set(z)];if(!z8(X,Z,Q))throw new p$(X,"Array cast produced invalid data due to uniqueItems constraint");return Q}function Zw(X,Z,Y){if(z8(X,Z,Y))return w2(X,Z);let $=new Set(X.returns.required||[]),W=function(){};for(let[J,z]of Object.entries(X.returns.properties)){if(!$.has(J)&&Y.prototype[J]===void 0)continue;W.prototype[J]=d2(z,Z,Y.prototype[J])}return W}function Yw(X,Z,Y){let $=globalThis.Object.values(X.$defs),W=X.$defs[X.$ref];return d2(W,[...Z,...$],Y)}function $w(X,Z,Y){let $=w2(X,Z),W=W8($)&&W8(Y)?{...$,...Y}:Y;return z8(X,Z,W)?W:w2(X,Z)}function Ww(X,Z,Y){throw new p$(X,"Never types cannot be cast")}function Jw(X,Z,Y){if(z8(X,Z,Y))return Y;if(Y===null||typeof Y!=="object")return w2(X,Z);let $=new Set(X.required||[]),W={};for(let[J,z]of Object.entries(X.properties)){if(!$.has(J)&&Y[J]===void 0)continue;W[J]=d2(z,Z,Y[J])}if(typeof X.additionalProperties==="object"){let J=Object.getOwnPropertyNames(X.properties);for(let z of Object.getOwnPropertyNames(Y)){if(J.includes(z))continue;W[z]=d2(X.additionalProperties,Z,Y[z])}}return W}function zw(X,Z,Y){if(z8(X,Z,Y))return B8(Y);if(Y===null||typeof Y!=="object"||Array.isArray(Y)||Y instanceof Date)return w2(X,Z);let $=Object.getOwnPropertyNames(X.patternProperties)[0],W=X.patternProperties[$],J={};for(let[z,Q]of Object.entries(Y))J[z]=d2(W,Z,Q);return J}function Qw(X,Z,Y){return d2(F8(X,Z),Z,Y)}function Gw(X,Z,Y){return d2(F8(X,Z),Z,Y)}function Mw(X,Z,Y){if(z8(X,Z,Y))return B8(Y);if(!t(Y))return w2(X,Z);if(X.items===void 0)return[];return X.items.map(($,W)=>d2($,Z,Y[W]))}function Uw(X,Z,Y){return z8(X,Z,Y)?B8(Y):r_(X,Z,Y)}function d2(X,Z,Y){let $=O8(X.$id)?D0(X,Z):Z,W=X;switch(X[q]){case"Array":return Xw(W,$,Y);case"Constructor":return Zw(W,$,Y);case"Import":return Yw(W,$,Y);case"Intersect":return $w(W,$,Y);case"Never":return Ww(W,$,Y);case"Object":return Jw(W,$,Y);case"Record":return zw(W,$,Y);case"Ref":return Qw(W,$,Y);case"This":return Gw(W,$,Y);case"Tuple":return Mw(W,$,Y);case"Union":return Uw(W,$,Y);case"Date":case"Symbol":case"Uint8Array":return a_(X,Z,Y);default:return e_(W,$,Y)}}function wZ(...X){return X.length===3?d2(X[0],X[1],X[2]):d2(X[0],[],X[1])}function Hw(X){return IX(X)&&X[q]!=="Unsafe"}function Dw(X,Z,Y){if(!t(Y))return Y;return Y.map(($)=>m0(X.items,Z,$))}function Aw(X,Z,Y){let $=globalThis.Object.values(X.$defs),W=X.$defs[X.$ref];return m0(W,[...Z,...$],Y)}function _w(X,Z,Y){let $=X.unevaluatedProperties,J=X.allOf.map((Q)=>m0(Q,Z,B8(Y))).reduce((Q,M)=>W8(M)?{...Q,...M}:M,{});if(!W8(Y)||!W8(J)||!IX($))return J;let z=y0(X);for(let Q of Object.getOwnPropertyNames(Y)){if(z.includes(Q))continue;if(z8($,Z,Y[Q]))J[Q]=m0($,Z,Y[Q])}return J}function ww(X,Z,Y){if(!W8(Y)||t(Y))return Y;let $=X.additionalProperties;for(let W of Object.getOwnPropertyNames(Y)){if(l(X.properties,W)){Y[W]=m0(X.properties[W],Z,Y[W]);continue}if(IX($)&&z8($,Z,Y[W])){Y[W]=m0($,Z,Y[W]);continue}delete Y[W]}return Y}function Ow(X,Z,Y){if(!W8(Y))return Y;let $=X.additionalProperties,W=Object.getOwnPropertyNames(Y),[J,z]=Object.entries(X.patternProperties)[0],Q=new RegExp(J);for(let M of W){if(Q.test(M)){Y[M]=m0(z,Z,Y[M]);continue}if(IX($)&&z8($,Z,Y[M])){Y[M]=m0($,Z,Y[M]);continue}delete Y[M]}return Y}function Nw(X,Z,Y){return m0(F8(X,Z),Z,Y)}function Lw(X,Z,Y){return m0(F8(X,Z),Z,Y)}function Fw(X,Z,Y){if(!t(Y))return Y;if(c8(X.items))return[];let $=Math.min(Y.length,X.items.length);for(let W=0;W<$;W++)Y[W]=m0(X.items[W],Z,Y[W]);return Y.length>$?Y.slice(0,$):Y}function Bw(X,Z,Y){for(let $ of X.anyOf)if(Hw($)&&z8($,Z,Y))return m0($,Z,Y);return Y}function m0(X,Z,Y){let $=O8(X.$id)?D0(X,Z):Z,W=X;switch(W[q]){case"Array":return Dw(W,$,Y);case"Import":return Aw(W,$,Y);case"Intersect":return _w(W,$,Y);case"Object":return ww(W,$,Y);case"Record":return Ow(W,$,Y);case"Ref":return Nw(W,$,Y);case"This":return Lw(W,$,Y);case"Tuple":return Fw(W,$,Y);case"Union":return Bw(W,$,Y);default:return Y}}function OY(...X){return X.length===3?m0(X[0],X[1],X[2]):m0(X[0],[],X[1])}function NY(X){return O8(X)&&!isNaN(X)&&!isNaN(parseFloat(X))}function qw(X){return O0(X)||s2(X)||o(X)}function OZ(X){return X===!0||o(X)&&X===1||O0(X)&&X===BigInt("1")||O8(X)&&(X.toLowerCase()==="true"||X==="1")}function NZ(X){return X===!1||o(X)&&(X===0||Object.is(X,-0))||O0(X)&&X===BigInt("0")||O8(X)&&(X.toLowerCase()==="false"||X==="0"||X==="-0")}function Kw(X){return O8(X)&&/^(?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)$/i.test(X)}function Rw(X){return O8(X)&&/^(?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)?$/i.test(X)}function jw(X){return O8(X)&&/^\d\d\d\d-[0-1]\d-[0-3]\dt(?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)$/i.test(X)}function Sw(X){return O8(X)&&/^\d\d\d\d-[0-1]\d-[0-3]\dt(?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)?$/i.test(X)}function Vw(X){return O8(X)&&/^\d\d\d\d-[0-1]\d-[0-3]\d$/i.test(X)}function Ew(X,Z){let Y=kW(X);return Y===Z?Y:X}function Cw(X,Z){let Y=gW(X);return Y===Z?Y:X}function Pw(X,Z){let Y=bW(X);return Y===Z?Y:X}function Iw(X,Z){return O8(X.const)?Ew(Z,X.const):o(X.const)?Cw(Z,X.const):s2(X.const)?Pw(Z,X.const):Z}function bW(X){return OZ(X)?!0:NZ(X)?!1:X}function xw(X){let Z=(Y)=>Y.split(".")[0];return NY(X)?BigInt(Z(X)):o(X)?BigInt(Math.trunc(X)):NZ(X)?BigInt(0):OZ(X)?BigInt(1):X}function kW(X){return QX(X)&&X.description!==void 0?X.description.toString():qw(X)?X.toString():X}function gW(X){return NY(X)?parseFloat(X):OZ(X)?1:NZ(X)?0:X}function Tw(X){return NY(X)?parseInt(X):o(X)?Math.trunc(X):OZ(X)?1:NZ(X)?0:X}function bw(X){return O8(X)&&X.toLowerCase()==="null"?null:X}function kw(X){return O8(X)&&X==="undefined"?void 0:X}function gw(X){return P0(X)?X:o(X)?new Date(X):OZ(X)?new Date(1):NZ(X)?new Date(0):NY(X)?new Date(parseInt(X)):Rw(X)?new Date(`1970-01-01T${X}.000Z`):Kw(X)?new Date(`1970-01-01T${X}`):Sw(X)?new Date(`${X}.000Z`):jw(X)?new Date(X):Vw(X)?new Date(`${X}T00:00:00.000Z`):X}function fw(X){return X}function vw(X,Z,Y){return(t(Y)?Y:[Y]).map((W)=>h2(X.items,Z,W))}function yw(X,Z,Y){return xw(Y)}function dw(X,Z,Y){return bW(Y)}function hw(X,Z,Y){return gw(Y)}function mw(X,Z,Y){let $=globalThis.Object.values(X.$defs),W=X.$defs[X.$ref];return h2(W,[...Z,...$],Y)}function pw(X,Z,Y){return Tw(Y)}function cw(X,Z,Y){return X.allOf.reduce(($,W)=>h2(W,Z,$),Y)}function uw(X,Z,Y){return Iw(X,Y)}function iw(X,Z,Y){return bw(Y)}function ow(X,Z,Y){return gW(Y)}function nw(X,Z,Y){if(!W8(Y))return Y;for(let $ of Object.getOwnPropertyNames(X.properties)){if(!l(Y,$))continue;Y[$]=h2(X.properties[$],Z,Y[$])}return Y}function lw(X,Z,Y){if(!W8(Y))return Y;let W=Object.getOwnPropertyNames(X.patternProperties)[0],J=X.patternProperties[W];for(let[z,Q]of Object.entries(Y))Y[z]=h2(J,Z,Q);return Y}function tw(X,Z,Y){return h2(F8(X,Z),Z,Y)}function sw(X,Z,Y){return kW(Y)}function rw(X,Z,Y){return O8(Y)||o(Y)?Symbol(Y):Y}function aw(X,Z,Y){return h2(F8(X,Z),Z,Y)}function ew(X,Z,Y){if(!(t(Y)&&!c8(X.items)))return Y;return Y.map((W,J)=>{return J<X.items.length?h2(X.items[J],Z,W):W})}function XO(X,Z,Y){return kw(Y)}function ZO(X,Z,Y){for(let $ of X.anyOf){let W=h2($,Z,B8(Y));if(!z8($,Z,W))continue;return W}return Y}function h2(X,Z,Y){let $=D0(X,Z),W=X;switch(X[q]){case"Array":return vw(W,$,Y);case"BigInt":return yw(W,$,Y);case"Boolean":return dw(W,$,Y);case"Date":return hw(W,$,Y);case"Import":return mw(W,$,Y);case"Integer":return pw(W,$,Y);case"Intersect":return cw(W,$,Y);case"Literal":return uw(W,$,Y);case"Null":return iw(W,$,Y);case"Number":return ow(W,$,Y);case"Object":return nw(W,$,Y);case"Record":return lw(W,$,Y);case"Ref":return tw(W,$,Y);case"String":return sw(W,$,Y);case"Symbol":return rw(W,$,Y);case"This":return aw(W,$,Y);case"Tuple":return ew(W,$,Y);case"Undefined":return XO(W,$,Y);case"Union":return ZO(W,$,Y);default:return fw(Y)}}function LY(...X){return X.length===3?h2(X[0],X[1],X[2]):h2(X[0],[],X[1])}function fW(...X){let[Z,Y,$]=X.length===3?[X[0],X[1],X[2]]:[X[0],[],X[1]];if(!z8(Z,Y,$))throw new AZ(Z,$,ZX(Z,Y,$).First());return OX(Z,Y)?m1(Z,Y,$):$}function LX(X,Z){let Y=l(X,"default")?X.default:void 0,$=CX(Y)?Y():B8(Y);return c8(Z)?$:W8(Z)&&W8($)?Object.assign($,Z):Z}function c$(X){return IX(X)&&"default"in X}function YO(X,Z,Y){if(t(Y)){for(let W=0;W<Y.length;W++)Y[W]=x0(X.items,Z,Y[W]);return Y}let $=LX(X,Y);if(!t($))return $;for(let W=0;W<$.length;W++)$[W]=x0(X.items,Z,$[W]);return $}function $O(X,Z,Y){return P0(Y)?Y:LX(X,Y)}function WO(X,Z,Y){let $=globalThis.Object.values(X.$defs),W=X.$defs[X.$ref];return x0(W,[...Z,...$],Y)}function JO(X,Z,Y){let $=LX(X,Y);return X.allOf.reduce((W,J)=>{let z=x0(J,Z,$);return W8(z)?{...W,...z}:z},{})}function zO(X,Z,Y){let $=LX(X,Y);if(!W8($))return $;let W=Object.getOwnPropertyNames(X.properties);for(let J of W){let z=x0(X.properties[J],Z,$[J]);if(c8(z))continue;$[J]=x0(X.properties[J],Z,$[J])}if(!c$(X.additionalProperties))return $;for(let J of Object.getOwnPropertyNames($)){if(W.includes(J))continue;$[J]=x0(X.additionalProperties,Z,$[J])}return $}function QO(X,Z,Y){let $=LX(X,Y);if(!W8($))return $;let W=X.additionalProperties,[J,z]=Object.entries(X.patternProperties)[0],Q=new RegExp(J);for(let M of Object.getOwnPropertyNames($)){if(!(Q.test(M)&&c$(z)))continue;$[M]=x0(z,Z,$[M])}if(!c$(W))return $;for(let M of Object.getOwnPropertyNames($)){if(Q.test(M))continue;$[M]=x0(W,Z,$[M])}return $}function GO(X,Z,Y){return x0(F8(X,Z),Z,LX(X,Y))}function MO(X,Z,Y){return x0(F8(X,Z),Z,Y)}function UO(X,Z,Y){let $=LX(X,Y);if(!t($)||c8(X.items))return $;let[W,J]=[X.items,Math.max(X.items.length,$.length)];for(let z=0;z<J;z++)if(z<W.length)$[z]=x0(W[z],Z,$[z]);return $}function HO(X,Z,Y){let $=LX(X,Y);for(let W of X.anyOf){let J=x0(W,Z,B8($));if(z8(W,Z,J))return J}return $}function x0(X,Z,Y){let $=D0(X,Z),W=X;switch(W[q]){case"Array":return YO(W,$,Y);case"Date":return $O(W,$,Y);case"Import":return WO(W,$,Y);case"Intersect":return JO(W,$,Y);case"Object":return zO(W,$,Y);case"Record":return QO(W,$,Y);case"Ref":return GO(W,$,Y);case"This":return MO(W,$,Y);case"Tuple":return UO(W,$,Y);case"Union":return HO(W,$,Y);default:return LX(W,Y)}}function FY(...X){return X.length===3?x0(X[0],X[1],X[2]):x0(X[0],[],X[1])}var m2={};EX(m2,{ValuePointerRootSetError:()=>u$,ValuePointerRootDeleteError:()=>i$,Set:()=>DO,Has:()=>_O,Get:()=>wO,Format:()=>LZ,Delete:()=>AO});class u$ extends n{constructor(X,Z,Y){super("Cannot set root value");this.value=X,this.path=Z,this.update=Y}}class i$ extends n{constructor(X,Z){super("Cannot delete root value");this.value=X,this.path=Z}}function vW(X){return X.indexOf("~")===-1?X:X.replace(/~1/g,"/").replace(/~0/g,"~")}function*LZ(X){if(X==="")return;let[Z,Y]=[0,0];for(let $=0;$<X.length;$++)if(X.charAt($)==="/")if($===0)Z=$+1;else Y=$,yield vW(X.slice(Z,Y)),Z=$+1;else Y=$;yield vW(X.slice(Z))}function DO(X,Z,Y){if(Z==="")throw new u$(X,Z,Y);let[$,W,J]=[null,X,""];for(let z of LZ(Z)){if(W[z]===void 0)W[z]={};$=W,W=W[z],J=z}$[J]=Y}function AO(X,Z){if(Z==="")throw new i$(X,Z);let[Y,$,W]=[null,X,""];for(let J of LZ(Z)){if($[J]===void 0||$[J]===null)return;Y=$,$=$[J],W=J}if(Array.isArray(Y)){let J=parseInt(W);Y.splice(J,1)}else delete Y[W]}function _O(X,Z){if(Z==="")return!0;let[Y,$,W]=[null,X,""];for(let J of LZ(Z)){if($[J]===void 0)return!1;Y=$,$=$[J],W=J}return Object.getOwnPropertyNames(Y).includes(W)}function wO(X,Z){if(Z==="")return X;let Y=X;for(let $ of LZ(Z)){if(Y[$]===void 0)return;Y=Y[$]}return Y}function OO(X,Z){if(!W8(Z))return!1;let Y=[...Object.keys(X),...Object.getOwnPropertySymbols(X)],$=[...Object.keys(Z),...Object.getOwnPropertySymbols(Z)];if(Y.length!==$.length)return!1;return Y.every((W)=>G1(X[W],Z[W]))}function NO(X,Z){return P0(Z)&&X.getTime()===Z.getTime()}function LO(X,Z){if(!t(Z)||X.length!==Z.length)return!1;return X.every((Y,$)=>G1(Y,Z[$]))}function FO(X,Z){if(!z2(Z)||X.length!==Z.length||Object.getPrototypeOf(X).constructor.name!==Object.getPrototypeOf(Z).constructor.name)return!1;return X.every((Y,$)=>G1(Y,Z[$]))}function BO(X,Z){return X===Z}function G1(X,Z){if(P0(X))return NO(X,Z);if(z2(X))return FO(X,Z);if(t(X))return LO(X,Z);if(W8(X))return OO(X,Z);if(r0(X))return BO(X,Z);throw new Error("ValueEquals: Unable to compare value")}var qO=j8({type:_8("insert"),path:I0(),value:k2()}),KO=j8({type:_8("update"),path:I0(),value:k2()}),RO=j8({type:_8("delete"),path:I0()}),dW=R8([qO,KO,RO]);class o$ extends n{constructor(X,Z){super(Z);this.value=X}}function BY(X,Z){return{type:"update",path:X,value:Z}}function hW(X,Z){return{type:"insert",path:X,value:Z}}function mW(X){return{type:"delete",path:X}}function yW(X){if(globalThis.Object.getOwnPropertySymbols(X).length>0)throw new o$(X,"Cannot diff objects with symbols")}function*jO(X,Z,Y){if(yW(Z),yW(Y),!_$(Y))return yield BY(X,Y);let $=globalThis.Object.getOwnPropertyNames(Z),W=globalThis.Object.getOwnPropertyNames(Y);for(let J of W){if(l(Z,J))continue;yield hW(`${X}/${J}`,Y[J])}for(let J of $){if(!l(Y,J))continue;if(G1(Z,Y))continue;yield*qY(`${X}/${J}`,Z[J],Y[J])}for(let J of $){if(l(Y,J))continue;yield mW(`${X}/${J}`)}}function*SO(X,Z,Y){if(!t(Y))return yield BY(X,Y);for(let $=0;$<Math.min(Z.length,Y.length);$++)yield*qY(`${X}/${$}`,Z[$],Y[$]);for(let $=0;$<Y.length;$++){if($<Z.length)continue;yield hW(`${X}/${$}`,Y[$])}for(let $=Z.length-1;$>=0;$--){if($<Y.length)continue;yield mW(`${X}/${$}`)}}function*VO(X,Z,Y){if(!z2(Y)||Z.length!==Y.length||globalThis.Object.getPrototypeOf(Z).constructor.name!==globalThis.Object.getPrototypeOf(Y).constructor.name)return yield BY(X,Y);for(let $=0;$<Math.min(Z.length,Y.length);$++)yield*qY(`${X}/${$}`,Z[$],Y[$])}function*EO(X,Z,Y){if(Z===Y)return;yield BY(X,Y)}function*qY(X,Z,Y){if(_$(Z))return yield*jO(X,Z,Y);if(t(Z))return yield*SO(X,Z,Y);if(z2(Z))return yield*VO(X,Z,Y);if(r0(Z))return yield*EO(X,Z,Y);throw new o$(Z,"Unable to diff value")}function pW(X,Z){return[...qY("",X,Z)]}function CO(X){return X.length>0&&X[0].path===""&&X[0].type==="update"}function PO(X){return X.length===0}function cW(X,Z){if(CO(Z))return B8(Z[0].value);if(PO(Z))return B8(X);let Y=B8(X);for(let $ of Z)switch($.type){case"insert":{m2.Set(Y,$.path,$.value);break}case"update":{m2.Set(Y,$.path,$.value);break}case"delete":{m2.Delete(Y,$.path);break}}return Y}function uW(...X){let[Z,Y,$]=X.length===3?[X[0],X[1],X[2]]:[X[0],[],X[1]],W=OX(Z,Y)?p1(Z,Y,$):$;if(!z8(Z,Y,W))throw new _Z(Z,W,ZX(Z,Y,W).First());return W}function KY(X){return W8(X)&&!t(X)}class n$ extends n{constructor(X){super(X)}}function IO(X,Z,Y,$){if(!KY(Y))m2.Set(X,Z,B8($));else{let W=Object.getOwnPropertyNames(Y),J=Object.getOwnPropertyNames($);for(let z of W)if(!J.includes(z))delete Y[z];for(let z of J)if(!W.includes(z))Y[z]=null;for(let z of J)l$(X,`${Z}/${z}`,Y[z],$[z])}}function xO(X,Z,Y,$){if(!t(Y))m2.Set(X,Z,B8($));else{for(let W=0;W<$.length;W++)l$(X,`${Z}/${W}`,Y[W],$[W]);Y.splice($.length)}}function TO(X,Z,Y,$){if(z2(Y)&&Y.length===$.length)for(let W=0;W<Y.length;W++)Y[W]=$[W];else m2.Set(X,Z,B8($))}function bO(X,Z,Y,$){if(Y===$)return;m2.Set(X,Z,$)}function l$(X,Z,Y,$){if(t($))return xO(X,Z,Y,$);if(z2($))return TO(X,Z,Y,$);if(KY($))return IO(X,Z,Y,$);if(r0($))return bO(X,Z,Y,$)}function iW(X){return z2(X)||r0(X)}function kO(X,Z){return KY(X)&&t(Z)||t(X)&&KY(Z)}function oW(X,Z){if(iW(X)||iW(Z))throw new n$("Only object and array types can be mutated at the root level");if(kO(X,Z))throw new n$("Cannot assign due type mismatch of assignable values");l$(X,"",X,Z)}class s$ extends n{constructor(X){super(X)}}var t$;(function(X){let Z=new Map([["Assert",(J,z,Q)=>{return wY(J,z,Q),Q}],["Cast",(J,z,Q)=>wZ(J,z,Q)],["Clean",(J,z,Q)=>OY(J,z,Q)],["Clone",(J,z,Q)=>B8(Q)],["Convert",(J,z,Q)=>LY(J,z,Q)],["Decode",(J,z,Q)=>OX(J,z)?m1(J,z,Q):Q],["Default",(J,z,Q)=>FY(J,z,Q)],["Encode",(J,z,Q)=>OX(J,z)?p1(J,z,Q):Q]]);function Y(J){Z.delete(J)}X.Delete=Y;function $(J,z){Z.set(J,z)}X.Set=$;function W(J){return Z.get(J)}X.Get=W})(t$||(t$={}));var nW=["Clone","Clean","Default","Convert","Assert","Decode"];function gO(X,Z,Y,$){return X.reduce((W,J)=>{let z=t$.Get(J);if(c8(z))throw new s$(`Unable to find Parse operation '${J}'`);return z(Z,Y,W)},$)}function lW(...X){let[Z,Y,$,W]=X.length===4?[X[0],X[1],X[2],X[3]]:X.length===3?t(X[0])?[X[0],X[1],[],X[2]]:[nW,X[0],X[1],X[2]]:X.length===2?[nW,X[0],[],X[1]]:(()=>{throw new s$("Invalid Arguments")})();return gO(Z,Y,$,W)}var e={};EX(e,{ValueErrorIterator:()=>z1,Patch:()=>cW,Parse:()=>lW,Mutate:()=>oW,Hash:()=>fX,Errors:()=>ZX,Equal:()=>G1,Encode:()=>uW,Edit:()=>dW,Diff:()=>pW,Default:()=>FY,Decode:()=>fW,Create:()=>w2,Convert:()=>LY,Clone:()=>B8,Clean:()=>OY,Check:()=>z8,Cast:()=>wZ,Assert:()=>wY});var bY=ez(aW(),1);var G6={date:q5,time:W6(!0),"date-time":eW(!0),"iso-time":W6(!1),"iso-date-time":eW(!1),duration:/^P(?!$)((\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+S)?)?|(\d+W)?)$/,uri:ZN,"uri-reference":/^(?:[a-z][a-z0-9+\-.]*:)?(?:\/?\/(?:(?:[a-z0-9\-._~!$&'()*+,;=:]|%[0-9a-f]{2})*@)?(?:\[(?:(?:(?:(?:[0-9a-f]{1,4}:){6}|::(?:[0-9a-f]{1,4}:){5}|(?:[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){4}|(?:(?:[0-9a-f]{1,4}:){0,1}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){3}|(?:(?:[0-9a-f]{1,4}:){0,2}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){2}|(?:(?:[0-9a-f]{1,4}:){0,3}[0-9a-f]{1,4})?::[0-9a-f]{1,4}:|(?:(?:[0-9a-f]{1,4}:){0,4}[0-9a-f]{1,4})?::)(?:[0-9a-f]{1,4}:[0-9a-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?))|(?:(?:[0-9a-f]{1,4}:){0,5}[0-9a-f]{1,4})?::[0-9a-f]{1,4}|(?:(?:[0-9a-f]{1,4}:){0,6}[0-9a-f]{1,4})?::)|[Vv][0-9a-f]+\.[a-z0-9\-._~!$&'()*+,;=:]+)\]|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)|(?:[a-z0-9\-._~!$&'"()*+,;=]|%[0-9a-f]{2})*)(?::\d*)?(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*|\/(?:(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*)?|(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*)?(?:\?(?:[a-z0-9\-._~!$&'"()*+,;=:@/?]|%[0-9a-f]{2})*)?(?:#(?:[a-z0-9\-._~!$&'"()*+,;=:@/?]|%[0-9a-f]{2})*)?$/i,"uri-template":/^(?:(?:[^\x00-\x20"'<>%\\^`{|}]|%[0-9a-f]{2})|\{[+#./;?&=,!@|]?(?:[a-z0-9_]|%[0-9a-f]{2})+(?::[1-9][0-9]{0,3}|\*)?(?:,(?:[a-z0-9_]|%[0-9a-f]{2})+(?::[1-9][0-9]{0,3}|\*)?)*\})*$/i,url:/^(?:https?|ftp):\/\/(?:\S+(?::\S*)?@)?(?:(?!(?:10|127)(?:\.\d{1,3}){3})(?!(?:169\.254|192\.168)(?:\.\d{1,3}){2})(?!172\.(?:1[6-9]|2\d|3[0-1])(?:\.\d{1,3}){2})(?:[1-9]\d?|1\d\d|2[01]\d|22[0-3])(?:\.(?:1?\d{1,2}|2[0-4]\d|25[0-5])){2}(?:\.(?:[1-9]\d?|1\d\d|2[0-4]\d|25[0-4]))|(?:(?:[a-z0-9\u{00a1}-\u{ffff}]+-)*[a-z0-9\u{00a1}-\u{ffff}]+)(?:\.(?:[a-z0-9\u{00a1}-\u{ffff}]+-)*[a-z0-9\u{00a1}-\u{ffff}]+)*(?:\.(?:[a-z\u{00a1}-\u{ffff}]{2,})))(?::\d{2,5})?(?:\/[^\s]*)?$/iu,email:/^[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?$/i,hostname:/^(?=.{1,253}\.?$)[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?(?:\.[a-z0-9](?:[-0-9a-z]{0,61}[0-9a-z])?)*\.?$/i,ipv4:/^(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)\.){3}(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)$/,ipv6:/^((([0-9a-f]{1,4}:){7}([0-9a-f]{1,4}|:))|(([0-9a-f]{1,4}:){6}(:[0-9a-f]{1,4}|((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9a-f]{1,4}:){5}(((:[0-9a-f]{1,4}){1,2})|:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9a-f]{1,4}:){4}(((:[0-9a-f]{1,4}){1,3})|((:[0-9a-f]{1,4})?:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9a-f]{1,4}:){3}(((:[0-9a-f]{1,4}){1,4})|((:[0-9a-f]{1,4}){0,2}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9a-f]{1,4}:){2}(((:[0-9a-f]{1,4}){1,5})|((:[0-9a-f]{1,4}){0,3}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9a-f]{1,4}:){1}(((:[0-9a-f]{1,4}){1,6})|((:[0-9a-f]{1,4}){0,4}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(:(((:[0-9a-f]{1,4}){1,7})|((:[0-9a-f]{1,4}){0,5}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:)))$/i,regex:GN,uuid:/^(?:urn:uuid:)?[0-9a-f]{8}-(?:[0-9a-f]{4}-){3}[0-9a-f]{12}$/i,"json-pointer":/^(?:\/(?:[^~/]|~0|~1)*)*$/,"json-pointer-uri-fragment":/^#(?:\/(?:[a-z0-9_\-.!$&'()*+,;:=@]|%[0-9a-f]{2}|~0|~1)*)*$/i,"relative-json-pointer":/^(?:0|[1-9][0-9]*)(?:#|(?:\/(?:[^~/]|~0|~1)*)*)$/,byte:YN,int32:{type:"number",validate:JN},int64:{type:"number",validate:zN},float:{type:"number",validate:Z5},double:{type:"number",validate:Z5},password:!0,binary:!0};function lO(X){return X%4===0&&(X%100!==0||X%400===0)}var tO=/^(\d\d\d\d)-(\d\d)-(\d\d)$/,sO=[0,31,28,31,30,31,30,31,31,30,31,30,31];function q5(X){let Z=tO.exec(X);if(!Z)return!1;let Y=+Z[1],$=+Z[2],W=+Z[3];return $>=1&&$<=12&&W>=1&&W<=($===2&&lO(Y)?29:sO[$])}var rO=/^(\d\d):(\d\d):(\d\d(?:\.\d+)?)(z|([+-])(\d\d)(?::?(\d\d))?)?$/i;function W6(X){return function Z(Y){let $=rO.exec(Y);if(!$)return!1;let W=+$[1],J=+$[2],z=+$[3],Q=$[4],M=$[5]==="-"?-1:1,G=+($[6]||0),U=+($[7]||0);if(G>23||U>59||X&&!Q)return!1;if(W<=23&&J<=59&&z<60)return!0;let w=J-U*M,B=W-G*M-(w<0?1:0);return(B===23||B===-1)&&(w===59||w===-1)&&z<61}}var aO=/t|\s/i;function eW(X){let Z=W6(X);return function Y($){let W=$.split(aO);return W.length===2&&q5(W[0])&&Z(W[1])}}var eO=/\/|:/,XN=/^(?:[a-z][a-z0-9+\-.]*:)(?:\/?\/(?:(?:[a-z0-9\-._~!$&'()*+,;=:]|%[0-9a-f]{2})*@)?(?:\[(?:(?:(?:(?:[0-9a-f]{1,4}:){6}|::(?:[0-9a-f]{1,4}:){5}|(?:[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){4}|(?:(?:[0-9a-f]{1,4}:){0,1}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){3}|(?:(?:[0-9a-f]{1,4}:){0,2}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){2}|(?:(?:[0-9a-f]{1,4}:){0,3}[0-9a-f]{1,4})?::[0-9a-f]{1,4}:|(?:(?:[0-9a-f]{1,4}:){0,4}[0-9a-f]{1,4})?::)(?:[0-9a-f]{1,4}:[0-9a-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?))|(?:(?:[0-9a-f]{1,4}:){0,5}[0-9a-f]{1,4})?::[0-9a-f]{1,4}|(?:(?:[0-9a-f]{1,4}:){0,6}[0-9a-f]{1,4})?::)|[Vv][0-9a-f]+\.[a-z0-9\-._~!$&'()*+,;=:]+)\]|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)|(?:[a-z0-9\-._~!$&'()*+,;=]|%[0-9a-f]{2})*)(?::\d*)?(?:\/(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})*)*|\/(?:(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})*)*)?|(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})*)*)(?:\?(?:[a-z0-9\-._~!$&'()*+,;=:@/?]|%[0-9a-f]{2})*)?(?:#(?:[a-z0-9\-._~!$&'()*+,;=:@/?]|%[0-9a-f]{2})*)?$/i;function ZN(X){return eO.test(X)&&XN.test(X)}var X5=/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/gm;function YN(X){return X5.lastIndex=0,X5.test(X)}var $N=-2147483648,WN=2147483647;function JN(X){return Number.isInteger(X)&&X<=WN&&X>=$N}function zN(X){return Number.isInteger(X)}function Z5(){return!0}var QN=/[^\\]\\Z/;function GN(X){if(QN.test(X))return!1;try{return new RegExp(X),!0}catch(Z){return!1}}var VY="toJSON"in new Headers,Y5=(X,Z)=>{let Y=new URL(X);return Y.pathname=Z,Y.toString()},MN=(X)=>typeof X==="function"&&/^\s*class\s+/.test(X.toString())||X.toString&&X.toString().startsWith("[object ")&&X.toString()!=="[object Object]"||F2(Object.getPrototypeOf(X)),r$=(X)=>X&&typeof X==="object"&&!Array.isArray(X),c0=(X,Z,{skipKeys:Y,override:$=!0}={})=>{if(!r$(X)||!r$(Z))return X;for(let[W,J]of Object.entries(Z)){if(Y?.includes(W))continue;if(!r$(J)||!(W in X)||MN(J)){if($||!(W in X))X[W]=J;continue}X[W]=c0(X[W],J,{skipKeys:Y,override:$})}return X},UN=(X,Z)=>{let Y=c0(Object.assign({},X),Z,{skipKeys:["properties"]});if("properties"in Y)delete Y.properties;return Y},r8=(X=[],Z=[])=>{if(!X)return;if(!Z)return X;let Y=[],$=[];if(!Array.isArray(X))X=[X];if(!Array.isArray(Z))Z=[Z];for(let W of X)if(Y.push(W),W.checksum)$.push(W.checksum);for(let W of Z)if(!$.includes(W.checksum))Y.push(W);return Y},HN=["start","request","parse","transform","resolve","beforeHandle","afterHandle","mapResponse","afterResponse","trace","error","stop","body","headers","params","query","response","type","detail"],DN=HN.reduce((X,Z)=>(X[Z]=!0,X),{}),K5=(X,Z)=>{let Y=($)=>typeof $==="object"&&Object.keys($).every(M6);if(Y(X)&&Y(Z))return Object.assign(X,Z);else if(X&&!Y(X)&&Y(Z))return Object.assign({200:X},Z);return Z??X},FZ=(X,Z)=>{return{body:Z?.body??X?.body,headers:Z?.headers??X?.headers,params:Z?.params??X?.params,query:Z?.query??X?.query,cookie:Z?.cookie??X?.cookie,response:K5(X?.response,Z?.response)}},FX=(X,Z)=>{let{resolve:Y,...$}=X??{},{resolve:W,...J}=Z??{};return{...$,...J,body:Z?.body??X?.body,headers:Z?.headers??X?.headers,params:Z?.params??X?.params,query:Z?.query??X?.query,cookie:Z?.cookie??X?.cookie,response:K5(X?.response,Z?.response),type:X?.type||Z?.type,detail:c0(Z?.detail??{},X?.detail??{}),parse:r8(X?.parse,Z?.parse),transform:r8(X?.transform,Z?.transform),beforeHandle:r8(r8(w0(Y,"resolve"),X?.beforeHandle),r8(w0(W,"resolve"),Z?.beforeHandle)),afterHandle:r8(X?.afterHandle,Z?.afterHandle),mapResponse:r8(X?.mapResponse,Z?.mapResponse),afterResponse:r8(X?.afterResponse,Z?.afterResponse),trace:r8(X?.trace,Z?.trace),error:r8(X?.error,Z?.error)}},J6=(X,Z,Y=!0)=>{if(!Array.isArray(Z))return Z.original=X,F0(X,Z,Y);for(let $ of Z)$.original=X,X=F0(X,$,Y);return X},F0=(X,Z,Y=!0)=>{if(!X)return X;if(Z.untilObjectFound&&!Y&&X.type==="object")return X;let $=Z.from[q];if(X.oneOf){for(let z=0;z<X.oneOf.length;z++)X.oneOf[z]=F0(X.oneOf[z],Z,Y);return X}if(X.anyOf){for(let z=0;z<X.anyOf.length;z++)X.anyOf[z]=F0(X.anyOf[z],Z,Y);return X}if(X.allOf){for(let z=0;z<X.allOf.length;z++)X.allOf[z]=F0(X.allOf[z],Z,Y);return X}if(X.not)return F0(X.not,Z,Y);let W=Y&&!!Z.excludeRoot;if(X[q]===$){let{anyOf:z,oneOf:Q,allOf:M,not:G,properties:U,items:w,...B}=X,N=Z.to(B);if(!N)return X;let S,H=(E)=>{if(U&&E.type==="object"){let Y8={};for(let[s,V8]of Object.entries(U))Y8[s]=F0(V8,Z,!1);return{...B,...E,properties:Y8}}if(w&&E.type==="array")return{...B,...E,items:F0(w,Z,!1)};let h={...B,...E};if(delete h.required,U&&E.type==="string"&&E.format==="ObjectString"&&E.default==="{}")S=_.ObjectString(U,B),h.default=JSON.stringify(e.Create(_.Object(U))),h.properties=U;if(w&&E.type==="string"&&E.format==="ArrayString"&&E.default==="[]")S=_.ArrayString(w,B),h.default=JSON.stringify(e.Create(_.Array(w))),h.items=w;return h};if(W){if(U){let E={};for(let[h,Y8]of Object.entries(U))E[h]=F0(Y8,Z,!1);return{...B,properties:E}}else if(w?.map)return{...B,items:w.map((E)=>F0(E,Z,!1))};return B}if(N.anyOf)for(let E=0;E<N.anyOf.length;E++)N.anyOf[E]=H(N.anyOf[E]);else if(N.oneOf)for(let E=0;E<N.oneOf.length;E++)N.oneOf[E]=H(N.oneOf[E]);else if(N.allOf)for(let E=0;E<N.allOf.length;E++)N.allOf[E]=H(N.allOf[E]);else if(N.not)N.not=H(N.not);if(S)N[k8]=S[k8];if(N.anyOf||N.oneOf||N.allOf||N.not)return N;if(U){let E={};for(let[h,Y8]of Object.entries(U))E[h]=F0(Y8,Z,!1);return{...B,...N,properties:E}}else if(w?.map)return{...B,...N,items:w.map((E)=>F0(E,Z,!1))};return{...B,...N}}let J=X?.properties;if(J&&Y&&Z.rootOnly!==!0)for(let[z,Q]of Object.entries(J))switch(Q[q]){case $:let{anyOf:M,oneOf:G,allOf:U,not:w,type:B,...N}=Q,S=Z.to(N);if(!S)return X;if(S.anyOf)for(let H=0;H<S.anyOf.length;H++)S.anyOf[H]={...N,...S.anyOf[H]};else if(S.oneOf)for(let H=0;H<S.oneOf.length;H++)S.oneOf[H]={...N,...S.oneOf[H]};else if(S.allOf)for(let H=0;H<S.allOf.length;H++)S.allOf[H]={...N,...S.allOf[H]};else if(S.not)S.not={...N,...S.not};J[z]={...N,...F0(N,Z,!1)};break;case"Object":case"Union":J[z]=F0(Q,Z,!1);break;default:if(Array.isArray(Q.items))for(let H=0;H<Q.items.length;H++)Q.items[H]=F0(Q.items[H],Z,!1);else if(Q.anyOf||Q.oneOf||Q.allOf||Q.not)J[z]=F0(Q,Z,!1);else if(Q.type==="array")Q.items=F0(Q.items,Z,!1);break}return X},RZ=(X)=>(Z)=>{if(typeof Z==="object")try{return e.Clean(X,structuredClone(Z))}catch{try{return e.Clean(X,Z)}catch{return Z}}return Z},u0=(X,{models:Z={},dynamic:Y=!1,modules:$,normalize:W=!1,additionalProperties:J=!1,coerce:z=!1,additionalCoerce:Q=[]}={modules:_.Module({})})=>{if(!X)return;let M;if(typeof X!=="string")M=X;else{let U=X.endsWith("[]"),w=U?X.substring(0,X.length-2):X;if(M=$.Import(w)??Z[w],U)M=_.Array(M)}if(!M)return;if(z||Q)if(z)M=J6(M,[{from:_.Ref(""),to:(U)=>$.Import(U.$ref)},{from:_.Number(),to:(U)=>_.Numeric(U),untilObjectFound:!0},{from:_.Boolean(),to:(U)=>_.BooleanString(U),untilObjectFound:!0},...Array.isArray(Q)?Q:[Q]]);else M=J6(M,[{from:_.Ref(""),to:(U)=>$.Import(U.$ref)},...Array.isArray(Q)?Q:[Q]]);if(M.type==="object"&&"additionalProperties"in M===!1)M.additionalProperties=J;if(Y){let U={schema:M,references:"",checkFunc:()=>{},code:"",Check:(w)=>e.Check(M,w),Errors:(w)=>e.Errors(M,w),Code:()=>"",Clean:RZ(M),Decode:(w)=>e.Decode(M,w),Encode:(w)=>e.Encode(M,w)};if(W&&M.additionalProperties===!1)U.Clean=RZ(M);if(M.config){if(U.config=M.config,U?.schema?.config)delete U.schema.config}return U.parse=(w)=>{try{return U.Decode(w)}catch(B){throw[...U.Errors(w)].map(i2)}},U.safeParse=(w)=>{try{return{success:!0,data:U.Decode(w),error:null}}catch(B){let N=[...G.Errors(w)].map(i2);return{success:!1,data:null,error:N[0]?.summary,errors:N}}},U}let G=vX.Compile(M,Object.values(Z));if(G.Clean=RZ(M),M.config){if(G.config=M.config,G?.schema?.config)delete G.schema.config}return G.parse=(U)=>{try{return G.Decode(U)}catch(w){throw[...G.Errors(U)].map(i2)}},G.safeParse=(U)=>{try{return{success:!0,data:G.Decode(U),error:null}}catch(w){let B=[...G.Errors(U)].map(i2);return{success:!1,data:null,error:B[0]?.summary,errors:B}}},G},$5=(X,{models:Z={},modules:Y,dynamic:$=!1,normalize:W=!1,additionalProperties:J=!1})=>{if(!X)return;let z;if(typeof X!=="string")z=X;else{let U=X.endsWith("[]"),w=U?X.substring(0,X.length-2):X;if(z=Y.Import(w)??Z[w],U)z=_.Array(z)}if(!z)return;let Q=(U,w)=>{if($)return{schema:U,references:"",checkFunc:()=>{},code:"",Check:(N)=>e.Check(U,N),Errors:(N)=>e.Errors(U,N),Code:()=>"",Clean:RZ(U),Decode:(N)=>e.Decode(U,N),Encode:(N)=>e.Encode(U,N)};let B=vX.Compile(U,w);if(W&&U.additionalProperties===!1)B.Clean=RZ(U);return B},M=Object.values(Z);if(q in z){if("additionalProperties"in z===!1)z.additionalProperties=J;return{200:Q(z,M)}}let G={};return Object.keys(z).forEach((U)=>{let w=z[+U];if(typeof w==="string"){if(w in Z){let B=Z[w];B.type==="object"&&"additionalProperties"in B,G[+U]=q in B?Q(B,M):B}return}if(w.type==="object"&&"additionalProperties"in w===!1)w.additionalProperties=J;G[+U]=q in w?Q(w,M):w}),G},AN=typeof Bun!=="undefined",_N=AN&&typeof Bun.hash==="function",BZ=(X)=>{if(_N)return Bun.hash(X);let Z=9;for(let Y=0;Y<X.length;)Z=Math.imul(Z^X.charCodeAt(Y++),387420489);return Z=Z^Z>>>9},a$,M1=()=>{if(!a$)a$=[{from:_.Object({}),to:()=>_.ObjectString({}),excludeRoot:!0},{from:_.Array(_.Any()),to:()=>_.ArrayString(_.Any())}];return a$},e$,W5=()=>{if(!e$)e$=[{from:_.Number(),to:(X)=>_.Numeric(X),rootOnly:!0},{from:_.Boolean(),to:(X)=>_.BooleanString(X),rootOnly:!0}];return e$},R5=({validator:X,modules:Z,defaultConfig:Y={},config:$,dynamic:W,models:J})=>{let z=u0(X,{modules:Z,dynamic:W,models:J,additionalProperties:!0,coerce:!0,additionalCoerce:M1()});if(F2(Y))if(z)z.config=UN(z.config,$);else z=u0(_.Cookie({}),{modules:Z,dynamic:W,models:J,additionalProperties:!0}),z.config=Y;return z},p2=(X,Z)=>{if(!Z)return;if(!Array.isArray(Z)){let $=Z;if(X&&!$.checksum)$.checksum=X;if($.scope==="scoped")$.scope="local";return $}let Y=[...Z];for(let $ of Y){if(X&&!$.checksum)$.checksum=X;if($.scope==="scoped")$.scope="local"}return Y},J5=(X,Z,Y)=>{return{start:r8(X.start,p2(Y,Z?.start)),request:r8(X.request,p2(Y,Z?.request)),parse:r8(X.parse,p2(Y,Z?.parse)),transform:r8(X.transform,p2(Y,Z?.transform)),beforeHandle:r8(r8(w0(X.resolve,"resolve"),X.beforeHandle),p2(Y,r8(w0(Z?.resolve,"resolve"),Z?.beforeHandle))),afterHandle:r8(X.afterHandle,p2(Y,Z?.afterHandle)),mapResponse:r8(X.mapResponse,p2(Y,Z?.mapResponse)),afterResponse:r8(X.afterResponse,p2(Y,Z?.afterResponse)),trace:r8(X.trace,p2(Y,Z?.trace)),error:r8(X.error,p2(Y,Z?.error)),stop:r8(X.stop,p2(Y,Z?.stop))}},wN=(X,Z,{skipIfHasType:Y=!1}={})=>{if(!X)return X;if(!Array.isArray(X)){if(Y)X.scope??=Z;else X.scope=Z;return X}for(let $ of X)if(Y)$.scope??=Z;else $.scope=Z;return X},yX=(X)=>{if(!X)return X;if(!Array.isArray(X))switch(X.scope){case"global":case"scoped":return{...X};default:return{fn:X}}let Z=[];for(let Y of X)switch(Y.scope){case"global":case"scoped":Z.push({...Y});break}return Z},z5=(X)=>{return{...X,type:X?.type,detail:X?.detail,parse:yX(X?.parse),transform:yX(X?.transform),beforeHandle:yX(X?.beforeHandle),afterHandle:yX(X?.afterHandle),mapResponse:yX(X?.mapResponse),afterResponse:yX(X?.afterResponse),error:yX(X?.error),trace:yX(X?.trace)}},xY={Continue:100,"Switching Protocols":101,Processing:102,"Early Hints":103,OK:200,Created:201,Accepted:202,"Non-Authoritative Information":203,"No Content":204,"Reset Content":205,"Partial Content":206,"Multi-Status":207,"Already Reported":208,"Multiple Choices":300,"Moved Permanently":301,Found:302,"See Other":303,"Not Modified":304,"Temporary Redirect":307,"Permanent Redirect":308,"Bad Request":400,Unauthorized:401,"Payment Required":402,Forbidden:403,"Not Found":404,"Method Not Allowed":405,"Not Acceptable":406,"Proxy Authentication Required":407,"Request Timeout":408,Conflict:409,Gone:410,"Length Required":411,"Precondition Failed":412,"Payload Too Large":413,"URI Too Long":414,"Unsupported Media Type":415,"Range Not Satisfiable":416,"Expectation Failed":417,"I'm a teapot":418,"Misdirected Request":421,"Unprocessable Content":422,Locked:423,"Failed Dependency":424,"Too Early":425,"Upgrade Required":426,"Precondition Required":428,"Too Many Requests":429,"Request Header Fields Too Large":431,"Unavailable For Legal Reasons":451,"Internal Server Error":500,"Not Implemented":501,"Bad Gateway":502,"Service Unavailable":503,"Gateway Timeout":504,"HTTP Version Not Supported":505,"Variant Also Negotiates":506,"Insufficient Storage":507,"Loop Detected":508,"Not Extended":510,"Network Authentication Required":511},Q5=Object.fromEntries(Object.entries(xY).map(([X,Z])=>[Z,X]));function ON(X){let Z=X;while(Z.endsWith("="))Z=Z.slice(0,-1);return Z}var G5=new TextEncoder,EY=async(X,Z)=>{if(typeof X!=="string")throw new TypeError("Cookie value must be provided as a string.");if(Z===null)throw new TypeError("Secret key must be provided.");let Y=await crypto.subtle.importKey("raw",G5.encode(Z),{name:"HMAC",hash:"SHA-256"},!1,["sign"]),$=await crypto.subtle.sign("HMAC",Y,G5.encode(X));return X+"."+ON(Buffer.from($).toString("base64"))},M5=async(X,Z)=>{if(typeof X!=="string")throw new TypeError("Signed cookie string must be provided.");if(Z===null)throw new TypeError("Secret key must be provided.");let Y=X.slice(0,X.lastIndexOf("."));return await EY(Y,Z)===X?Y:!1},NN=(X,Z,Y)=>{if(!X||typeof X!=="object"||!Z)return;for(let[$,W]of Object.entries(Z)){if($ in DN||!($ in X))continue;let J=X[$];if(typeof J==="function"){let z=J(W);if(typeof z==="object")for(let[Q,M]of Object.entries(z))Y(Q)({fn:M})}delete Z[$]}},LN=({globalHook:X,localHook:Z})=>(Y)=>($,W)=>{if(typeof $==="function")$={fn:$};if(Y==="resolve")$={...$,subType:"resolve"};if("fn"in $||Array.isArray($)){if(!Z[Y])Z[Y]=[];if(typeof Z[Y]==="function")Z[Y]=[Z[Y]];if(Array.isArray($))Z[Y]=Z[Y].concat($);else Z[Y].push($);return}let{insert:J="after",stack:z="local"}=$;if(typeof W==="function")W={fn:W};if(z==="global")if(!Array.isArray(W))if(J==="before")X[Y].unshift(W);else X[Y].push(W);else if(J==="before")X[Y]=W.concat(X[Y]);else X[Y]=X[Y].concat(W);else{if(!Z[Y])Z[Y]=[];if(typeof Z[Y]==="function")Z[Y]=[Z[Y]];if(!Array.isArray(W))if(J==="before")Z[Y].unshift(W);else Z[Y].push(W);else if(J==="before")Z[Y]=W.concat(Z[Y]);else Z[Y]=Z[Y].concat(W)}},FN=(X)=>{if(typeof X==="number")return X;if(X.length<16){if(X.trim().length===0)return null;let Z=Number(X);if(Number.isNaN(Z))return null;return Z}if(X.length===16){if(X.trim().length===0)return null;let Z=Number(X);if(Number.isNaN(Z)||Z.toString()!==X)return null;return Z}return null},M6=(X)=>FN(X)!==null;class j5{onError;root=null;promises=[];constructor(X=console.error){this.onError=X}get size(){return this.promises.length}add(X){return this.promises.push(X),this.root||=this.drain(),X}async drain(){while(this.promises.length>0){try{await this.promises[0]}catch(X){this.onError(X)}this.promises.shift()}this.root=null}then(X,Z){return(this.root??Promise.resolve()).then(X,Z)}}var w0=(X,Z)=>{if(!X)return X;if(!Array.isArray(X)){if(typeof X==="function"||typeof X==="string")return Z?{fn:X,subType:Z}:{fn:X};else if("fn"in X)return X}let Y=[];for(let $ of X)if(typeof $==="function"||typeof $==="string")Y.push(Z?{fn:$,subType:Z}:{fn:$});else if("fn"in $)Y.push($);return Y},BN=(X)=>{return{...X,start:w0(X?.start),request:w0(X?.request),parse:w0(X?.parse),transform:w0(X?.transform),beforeHandle:w0(X?.beforeHandle),afterHandle:w0(X?.afterHandle),mapResponse:w0(X?.mapResponse),afterResponse:w0(X?.afterResponse),trace:w0(X?.trace),error:w0(X?.error),stop:w0(X?.stop)}},U5=(X)=>{let Z={};if(X.start?.map)Z.start=X.start.map((Y)=>Y.fn);if(X.request?.map)Z.request=X.request.map((Y)=>Y.fn);if(X.parse?.map)Z.parse=X.parse.map((Y)=>Y.fn);if(X.transform?.map)Z.transform=X.transform.map((Y)=>Y.fn);if(X.beforeHandle?.map)Z.beforeHandle=X.beforeHandle.map((Y)=>Y.fn);if(X.afterHandle?.map)Z.afterHandle=X.afterHandle.map((Y)=>Y.fn);if(X.mapResponse?.map)Z.mapResponse=X.mapResponse.map((Y)=>Y.fn);if(X.afterResponse?.map)Z.afterResponse=X.afterResponse.map((Y)=>Y.fn);if(X.trace?.map)Z.trace=X.trace.map((Y)=>Y.fn);if(X.error?.map)Z.error=X.error.map((Y)=>Y.fn);if(X.stop?.map)Z.stop=X.stop.map((Y)=>Y.fn);return Z},X6=(X)=>({body:X.body,cookie:X.cookie,headers:X.headers,query:X.query,set:X.set,server:X.server,request:X.request,route:X.route}),S5=(X,Z=302)=>Response.redirect(X,Z),nx=Symbol("ElysiaFormData"),TY=Symbol("ElysiaRequestId");var V5=()=>{let X=crypto.randomUUID();return X.slice(0,8)+X.slice(24,32)},H5=(X)=>{let Z=[];for(let Y=0;Y<X.length;Y++){let $=X[Y];if($.checksum){if(Z.includes($.checksum))X.splice(Y,1),Y--;Z.push($.checksum)}}return X},E0=(X,Z="scoped")=>{if(!X)return;if(Z==="scoped"){for(let Y of X)if("scope"in Y&&Y.scope==="local")Y.scope="scoped";return}for(let Y of X)if("scope"in Y)Y.scope="global"},c1=(X)=>{if(X.charCodeAt(X.length-1)===47)return X.slice(0,X.length-1);return X+"/"},F2=(X)=>{if(!X)return!1;for(let Z in X)return!0;return!1},c2=(X)=>{if(Array.isArray(X))return X.length===0;return!X},Z6=(X)=>{let Z={...X};if(c2(X.afterHandle))delete Z.afterHandle;if(c2(X.afterResponse))delete Z.afterResponse;if(c2(X.beforeHandle))delete Z.beforeHandle;if(c2(X.error))delete Z.error;if(c2(X.mapResponse))delete Z.mapResponse;if(c2(X.parse))delete Z.parse;if(c2(X.request))delete Z.request;if(c2(X.start))delete Z.start;if(c2(X.stop))delete Z.stop;if(c2(X.trace))delete Z.trace;if(c2(X.transform))delete Z.transform;if(!Z.type)delete Z.type;if(Z.detail&&!Object.keys(Z.detail).length)delete Z.detail;if(!Z.body)delete Z.body;if(!Z.cookie)delete Z.cookie;if(!Z.headers)delete Z.headers;if(!Z.query)delete Z.query;if(!Z.params)delete Z.params;if(!Z.response)delete Z.response;return Z},qZ=(X,{dynamic:Z=!1}={})=>{let Y=encodeURIComponent(X).replace(/%2F/g,"/");if(Z)Y=Y.replace(/%3A/g,":").replace(/%3F/g,"?");return Y},D5=typeof Bun!=="undefined"?Bun.env:typeof process!=="undefined"?process?.env:void 0,CY=Symbol("ElysiaErrorCode"),PY=(D5?.NODE_ENV??D5?.ENV)==="production";class o2{code;response;constructor(X,Z){let Y=Z??(X in Q5?Q5[X]:X);this.code=xY[X]??X,this.response=Y}}var _1=(X,Z)=>new o2(X,Z);class E5 extends Error{code="INTERNAL_SERVER_ERROR";status=500;constructor(X){super(X??"INTERNAL_SERVER_ERROR")}}class U6 extends Error{code="NOT_FOUND";status=404;constructor(X){super(X??"NOT_FOUND")}}class C5 extends Error{code="PARSE";status=400;constructor(){super("Bad Request")}}class z6 extends Error{key;code="INVALID_COOKIE_SIGNATURE";status=400;constructor(X,Z){super(Z??`"${X}" has invalid cookie signature`);this.key=X}}var i2=(X)=>{if(!X)return{summary:void 0};let{message:Z,path:Y,value:$,type:W}=X,J=Y.slice(1).replaceAll("/","."),z=Y==="";switch(W){case 42:return{...X,summary:z?"Value should not be provided":`Property '${J}' should not be provided`};case 45:return{...X,summary:z?"Value is missing":`Property '${J}' is missing`};case 50:let Q=Z.indexOf("'"),M=Z.slice(Q+1,Z.indexOf("'",Q+1));return{...X,summary:z?"Value should be an email":`Property '${J}' should be ${M}`};case 54:return{...X,summary:`${Z.slice(0,9)} property '${J}' to be ${Z.slice(8)} but found: ${$}`};case 62:let G=X.schema.anyOf.map((U)=>`'${U?.format??U.type}'`).join(", ");return{...X,summary:z?`Value should be one of ${G}`:`Property '${J}' should be one of: ${G}`};default:return{summary:Z,...X}}};class Q8 extends Error{type;validator;value;code="VALIDATION";status=422;constructor(X,Z,Y){if(Y&&typeof Y==="object"&&Y instanceof o2)Y=Y.response;let $=PY?void 0:("Errors"in Z)?Z.Errors(Y).First():e.Errors(Z,Y).First(),W=$?.schema?.message||$?.schema?.error!==void 0?typeof $.schema.error==="function"?$.schema.error({type:X,validator:Z,value:Y,get errors(){return[...Z.Errors(Y)].map(i2)}}):$.schema.error:void 0,J=$?.path||"root",z="";if(W!==void 0)z=typeof W==="object"?JSON.stringify(W):W+"";else if(PY)z=JSON.stringify({type:"validation",on:X,summary:i2($).summary,message:$?.message,found:Y});else{let Q=Z?.schema??Z,M="Errors"in Z?[...Z.Errors(Y)].map(i2):[...e.Errors(Z,Y)].map(i2),G;try{G=e.Create(Q)}catch(U){G={type:"Could not create expected value",message:U?.message,error:U}}z=JSON.stringify({type:"validation",on:X,summary:i2($).summary,property:J,message:$?.message,expected:G,found:Y,errors:M},null,2)}super(z);this.type=X,this.validator=Z,this.value=Y,Object.setPrototypeOf(this,Q8.prototype)}get all(){return"Errors"in this.validator?[...this.validator.Errors(this.value)].map(i2):[...e.Errors(this.validator,this.value)].map(i2)}static simplifyModel(X){let Z="schema"in X?X.schema:X;try{return e.Create(Z)}catch{return Z}}get model(){return Q8.simplifyModel(this.validator)}toResponse(X){return new Response(this.message,{status:400,headers:{...X,"content-type":"application/json"}})}}var P5=/(\d{4}-[01]\d-[0-3]\dT[0-2]\d:[0-5]\d:[0-5]\d\.\d+([+-][0-2]\d:[0-5]\d|Z))|(\d{4}-[01]\d-[0-3]\dT[0-2]\d:[0-5]\d:[0-5]\d([+-][0-2]\d:[0-5]\d|Z))|(\d{4}-[01]\d-[0-3]\dT[0-2]\d:[0-5]\d([+-][0-2]\d:[0-5]\d|Z))/,I5=/(?:Sun|Mon|Tue|Wed|Thu|Fri|Sat)\s(?:Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)\s\d{2}\s\d{4}\s\d{2}:\d{2}:\d{2}\sGMT(?:\+|-)\d{4}\s\([^)]+\)/,x5=/^(?:(?:(?:(?:0?[1-9]|[12][0-9]|3[01])[/\s-](?:0?[1-9]|1[0-2])[/\s-](?:19|20)\d{2})|(?:(?:19|20)\d{2}[/\s-](?:0?[1-9]|1[0-2])[/\s-](?:0?[1-9]|[12][0-9]|3[01]))))(?:\s(?:1[012]|0?[1-9]):[0-5][0-9](?::[0-5][0-9])?(?:\s[AP]M)?)?$/,qN=G6.date,KN=G6["date-time"];if(!C8.Has("date"))C8.Set("date",(X)=>{let Z=X.replace(/"/g,"");if(P5.test(Z)||I5.test(Z)||x5.test(Z)||qN(Z)){let Y=new Date(Z);if(!Number.isNaN(Y.getTime()))return!0}return!1});if(!C8.Has("date-time"))C8.Set("date-time",(X)=>{let Z=X.replace(/"/g,"");if(P5.test(Z)||I5.test(Z)||x5.test(Z)||KN(Z)){let Y=new Date(Z);if(!Number.isNaN(Y.getTime()))return!0}return!1});Object.entries(G6).forEach((X)=>{let[Z,Y]=X;if(!C8.Has(Z)){if(Y instanceof RegExp)C8.Set(Z,($)=>Y.test($));else if(typeof Y==="function")C8.Set(Z,Y)}});var _=Object.assign({},f8),A5=(X)=>{if(typeof X==="string")switch(X.slice(-1)){case"k":return+X.slice(0,X.length-1)*1024;case"m":return+X.slice(0,X.length-1)*1048576;default:return+X}return X},_5=(X,Z)=>{if(X.startsWith(Z))return!0;return Z.charCodeAt(Z.length-1)===42&&Z.charCodeAt(Z.length-2)===47&&X.startsWith(Z.slice(0,-1))},Q6=(X,Z)=>{if(!(Z instanceof Blob))return!1;if(X.minSize&&Z.size<A5(X.minSize))return!1;if(X.maxSize&&Z.size>A5(X.maxSize))return!1;if(X.extension){if(typeof X.extension==="string")return _5(Z.type,X.extension);for(let Y=0;Y<X.extension.length;Y++)if(_5(Z.type,X.extension[Y]))return!0;return!1}return!0},RN=T5("File",Q6),jN=T5("Files",(X,Z)=>{if(!Array.isArray(Z))return Q6(X,Z);if(X.minItems&&Z.length<X.minItems)return!1;if(X.maxItems&&Z.length>X.maxItems)return!1;for(let Y=0;Y<Z.length;Y++)if(!Q6(X,Z[Y]))return!1;return!0});if(!C8.Has("numeric"))C8.Set("numeric",(X)=>!!X&&!isNaN(+X));if(!C8.Has("integer"))C8.Set("integer",(X)=>!!X&&Number.isInteger(+X));if(!C8.Has("boolean"))C8.Set("boolean",(X)=>X==="true"||X==="false");if(!C8.Has("ObjectString"))C8.Set("ObjectString",(X)=>{let Z=X.charCodeAt(0);if(Z===9||Z===10||Z===32)Z=X.trimStart().charCodeAt(0);if(Z!==123&&Z!==91)return!1;try{return JSON.parse(X),!0}catch{return!1}});if(!C8.Has("ArrayString"))C8.Set("ArrayString",(X)=>{let Z=X.charCodeAt(0);if(Z===9||Z===10||Z===32)Z=X.trimStart().charCodeAt(0);if(Z!==123&&Z!==91)return!1;try{return JSON.parse(X),!0}catch{return!1}});if(!t8.Has("UnionEnum"))t8.Set("UnionEnum",(X,Z)=>{return(typeof Z==="number"||typeof Z==="string"||Z===null)&&X.enum.includes(Z)});var B2={Numeric:(X)=>{let Z=f8.Number(X);return _.Transform(_.Union([_.String({format:"numeric",default:0}),_.Number(X)],X)).Decode((Y)=>{let $=+Y;if(isNaN($))return Y;if(X&&!e.Check(Z,$))throw new Q8("property",Z,$);return $}).Encode((Y)=>Y)},Integer:(X)=>{let Z=f8.Integer(X);return _.Transform(_.Union([_.String({format:"integer",default:0}),f8.Integer(X)],X)).Decode((Y)=>{let $=+Y;if(!e.Check(Z,$))throw new Q8("property",Z,$);return $}).Encode((Y)=>Y)},Date:(X)=>{let Z=f8.Date(X),Y=X?.default?new Date(X.default):void 0;return _.Transform(_.Union([f8.Date(X),_.String({format:"date",default:Y?.toISOString()}),_.String({format:"date-time",default:Y?.toISOString()}),_.Number({default:Y?.getTime()})],X)).Decode(($)=>{if(typeof $==="number"){let J=new Date($);if(!e.Check(Z,J))throw new Q8("property",Z,J);return J}if($ instanceof Date)return $;let W=new Date($);if(!W||isNaN(W.getTime()))throw new Q8("property",Z,W);if(!e.Check(Z,W))throw new Q8("property",Z,W);return W}).Encode(($)=>$.toISOString())},BooleanString:(X)=>{let Z=f8.Boolean(X);return _.Transform(_.Union([_.Boolean(X),_.String({format:"boolean",default:!1})],X)).Decode((Y)=>{if(typeof Y==="string")return Y==="true";if(Y!==void 0&&!e.Check(Z,Y))throw new Q8("property",Z,Y);return Y}).Encode((Y)=>Y)},ObjectString:(X,Z)=>{let Y=_.Object(X,Z),$=JSON.stringify(e.Create(Y)),W;try{W=vX.Compile(Y)}catch{}return _.Transform(_.Union([_.String({format:"ObjectString",default:$}),Y])).Decode((J)=>{if(typeof J==="string"){if(J.charCodeAt(0)!==123)throw new Q8("property",Y,J);try{J=JSON.parse(J)}catch{throw new Q8("property",Y,J)}if(W){if(!W.Check(J))throw new Q8("property",Y,J);return W.Decode(J)}if(!e.Check(Y,J))throw new Q8("property",Y,J);return e.Decode(Y,J)}return J}).Encode((J)=>{if(typeof J==="string")try{J=JSON.parse(J)}catch{throw new Q8("property",Y,J)}if(!e.Check(Y,J))throw new Q8("property",Y,J);return JSON.stringify(J)})},ArrayString:(X=_.String(),Z)=>{let Y=_.Array(X,Z),$;try{$=vX.Compile(Y)}catch{}let W=(J,z=!1)=>{if(J.charCodeAt(0)===91){try{J=JSON.parse(J)}catch{throw new Q8("property",Y,J)}if($){if(!$.Check(J))throw new Q8("property",Y,J);return $.Decode(J)}if(!e.Check(Y,J))throw new Q8("property",Y,J);return e.Decode(Y,J)}if(J.indexOf(",")!==-1){let Q=J.split(",").map((M)=>M.trim());if($){if(!$.Check(Q))throw new Q8("property",Y,J);return $.Decode(Q)}if(!e.Check(Y,Q))throw new Q8("property",Y,Q);return e.Decode(Y,Q)}if(z)return J;throw new Q8("property",Y,J)};return _.Transform(_.Union([_.String({format:"ArrayString",default:Z?.default}),Y])).Decode((J)=>{if(Array.isArray(J)){let z=[];for(let Q=0;Q<J.length;Q++){let M=J[Q];if(typeof M==="string"){let G=W(M,!0);if(Array.isArray(G))z=z.concat(G);else z.push(G);continue}z.push(M)}return z}if(typeof J==="string")return W(J);return J}).Encode((J)=>{if(typeof J==="string")try{J=JSON.parse(J)}catch{throw new Q8("property",Y,J)}if(!e.Check(Y,J))throw new Q8("property",Y,J);return JSON.stringify(J)})},File:RN,Files:(X={})=>_.Transform(jN(X)).Decode((Z)=>{if(Array.isArray(Z))return Z;return[Z]}).Encode((Z)=>Z),Nullable:(X,Z)=>_.Union([X,_.Null()],Z),MaybeEmpty:(X,Z)=>_.Union([X,_.Null(),_.Undefined()],Z),Cookie:(X,{domain:Z,expires:Y,httpOnly:$,maxAge:W,path:J,priority:z,sameSite:Q,secure:M,secrets:G,sign:U,...w}={})=>{let B=_.Object(X,w);return B.config={domain:Z,expires:Y,httpOnly:$,maxAge:W,path:J,priority:z,sameSite:Q,secure:M,secrets:G,sign:U},B},UnionEnum:(X,Z={})=>{let Y=X.every(($)=>typeof $==="string")?{type:"string"}:X.every(($)=>typeof $==="number")?{type:"number"}:X.every(($)=>$===null)?{type:"null"}:{};if(X.some(($)=>typeof $==="object"&&$!==null))throw new Error("This type does not support objects or arrays");return{default:X[0],...Z,[q]:"UnionEnum",...Y,enum:X}}};_.BooleanString=B2.BooleanString;_.ObjectString=B2.ObjectString;_.ArrayString=B2.ArrayString;_.Numeric=B2.Numeric;_.Integer=B2.Integer;_.File=(X={})=>B2.File({default:"File",...X,extension:X?.type,type:"string",format:"binary"});_.Files=(X={})=>B2.Files({...X,elysiaMeta:"Files",default:"Files",extension:X?.type,type:"array",items:{...X,default:"Files",type:"string",format:"binary"}});_.Nullable=(X)=>B2.Nullable(X);_.MaybeEmpty=B2.MaybeEmpty;_.Cookie=B2.Cookie;_.Date=B2.Date;_.UnionEnum=B2.UnionEnum;function T5(X,Z){if(!t8.Has(X))t8.Set(X,Z);return(Y={})=>HY({...Y,[q]:X})}var jZ=(X)=>{let Z=typeof X==="object"?X.fn.toString():typeof X==="string"?X.toString():X,Y=Z.indexOf(")");if(Z.charCodeAt(Y+2)===61&&Z.charCodeAt(Y+5)!==123)return!0;return Z.includes("return")},SN=(X)=>{if(X.startsWith("async"))X=X.slice(5);X=X.trimStart();let Z=-1;if(X.charCodeAt(0)===40){if(Z=X.indexOf("=>",X.indexOf(")")),Z!==-1){let W=Z;while(W>0)if(X.charCodeAt(--W)===41)break;let J=X.slice(Z+2);if(J.charCodeAt(0)===32)J=J.trimStart();return[X.slice(1,W),J,{isArrowReturn:J.charCodeAt(0)!==123}]}}if(/^(\w+)=>/g.test(X)){if(Z=X.indexOf("=>"),Z!==-1){let W=X.slice(Z+2);if(W.charCodeAt(0)===32)W=W.trimStart();return[X.slice(0,Z),W,{isArrowReturn:W.charCodeAt(0)!==123}]}}if(X.startsWith("function")){Z=X.indexOf("(");let W=X.indexOf(")");return[X.slice(Z+1,W),X.slice(W+2),{isArrowReturn:!1}]}let Y=X.indexOf("(");if(Y!==-1){let W=X.indexOf(`
|
|
`,2),J=X.slice(0,W),z=J.lastIndexOf(")")+1,Q=X.slice(W+1);return[J.slice(Y,z),"{"+Q,{isArrowReturn:!1}]}let $=X.split(`
|
|
`,2);return[$[0],$[1],{isArrowReturn:!1}]},VN=(X)=>{let Z=X.indexOf("{");if(Z===-1)return[-1,0];let Y=Z+1,$=1;for(;Y<X.length;Y++){let W=X.charCodeAt(Y);if(W===123)$++;else if(W===125)$--;if($===0)break}if($!==0)return[0,X.length];return[Z,Y+1]},EN=(X)=>{let Z=X.lastIndexOf("}");if(Z===-1)return[-1,0];let Y=Z-1,$=1;for(;Y>=0;Y--){let W=X.charCodeAt(Y);if(W===125)$++;else if(W===123)$--;if($===0)break}if($!==0)return[-1,0];return[Y,Z+1]},b5=(X)=>{while(!0){let Z=X.indexOf(":");if(Z===-1)break;let Y=X.indexOf(",",Z);if(Y===-1)Y=X.indexOf("}",Z)-1;if(Y===-2)Y=X.length;X=X.slice(0,Z)+X.slice(Y)}return X},k5=(X)=>{let Z=!1;if(X.charCodeAt(0)===40)X=X.slice(1,-1);if(X.charCodeAt(0)===123)Z=!0,X=X.slice(1,-1);X=X.replace(/( |\t|\n)/g,"").trim();let Y=[];while(!0){let[W,J]=VN(X);if(W===-1)break;if(Y.push(X.slice(0,W-1)),X.charCodeAt(J)===44)J++;X=X.slice(J)}if(X=b5(X),X)Y=Y.concat(X.split(","));let $=[];for(let W of Y){if(W.indexOf(",")===-1){$.push(W);continue}for(let J of W.split(","))$.push(J.trim())}return Y=$,{hasParenthesis:Z,parameters:Y}},CN=(X,Z)=>{let{parameters:Y,hasParenthesis:$}=k5(X);if(!Z.query&&Y.includes("query"))Z.query=!0;if(!Z.headers&&Y.includes("headers"))Z.headers=!0;if(!Z.body&&Y.includes("body"))Z.body=!0;if(!Z.cookie&&Y.includes("cookie"))Z.cookie=!0;if(!Z.set&&Y.includes("set"))Z.set=!0;if(!Z.server&&Y.includes("server"))Z.server=!0;if(!Z.request&&Y.includes("request"))Z.request=!0;if(!Z.route&&Y.includes("route"))Z.route=!0;if($)return`{ ${Y.join(", ")} }`;return Y.join(", ")},w5=(X,Z,Y)=>{let $=Z.indexOf(X+`
|
|
`,Y),W=Z.indexOf(X+"\t",Y),J=Z.indexOf(X+",",Y),z=Z.indexOf(X+";",Y),Q=Z.indexOf(X+" ",Y);return[$,W,J,z,Q].filter((M)=>M>0).sort((M,G)=>M-G)[0]||-1},g5=(X,Z,Y=0)=>{if(Y>5)return[];let $=[],W=Z;while(!0){let J=w5(" = "+X,W);if(J===-1)J=w5("="+X,W);if(J===-1){let G=W.indexOf(" = "+X);if(G===-1)G=W.indexOf("="+X);if(G+3+X.length!==W.length)break;J=G}let z=W.slice(0,J),Q=z.lastIndexOf(" "),M=z.slice(Q!==-1?Q+1:-1);if(M==="}"){let[G,U]=EN(z);$.push(b5(W.slice(G,U))),W=W.slice(J+3+X.length);continue}while(M.charCodeAt(0)===44)M=M.slice(1);while(M.charCodeAt(0)===9)M=M.slice(1);if(!M.includes("("))$.push(M);W=W.slice(J+3+X.length)}for(let J of $){if(J.charCodeAt(0)===123)continue;let z=g5(J,Z);if(z.length>0)$.push(...z)}return $},PN=(X)=>{if(!X)return;if(X.charCodeAt(0)!==123)return X;if(X=X.slice(2,-2),!X.includes(",")){if(X.includes("..."))return X.slice(X.indexOf("...")+3);return}let Z=X.indexOf("...");if(Z===-1)return;return X.slice(Z+3).trimEnd()},IN=(X,Z,Y)=>{let $=(W,J)=>X.includes(J+"."+W)||X.includes(J+'["'+W+'"]')||X.includes(J+"['"+W+"']");for(let W of Z){if(!W)continue;if(W.charCodeAt(0)===123){let J=k5(W).parameters;if(!Y.query&&J.includes("query"))Y.query=!0;if(!Y.headers&&J.includes("headers"))Y.headers=!0;if(!Y.body&&J.includes("body"))Y.body=!0;if(!Y.cookie&&J.includes("cookie"))Y.cookie=!0;if(!Y.set&&J.includes("set"))Y.set=!0;if(!Y.query&&J.includes("server"))Y.server=!0;if(!Y.request&&J.includes("request"))Y.request=!0;if(!Y.route&&J.includes("route"))Y.route=!0;continue}if(!Y.query&&$("query",W))Y.query=!0;if(X.includes("return "+W)||X.includes("return "+W+".query"))Y.query=!0;if(!Y.headers&&$("headers",W))Y.headers=!0;if(!Y.body&&$("body",W))Y.body=!0;if(!Y.cookie&&$("cookie",W))Y.cookie=!0;if(!Y.set&&$("set",W))Y.set=!0;if(!Y.server&&$("server",W))Y.server=!0;if(Y.query&&Y.headers&&Y.body&&Y.cookie&&Y.set&&Y.server&&Y.server&&Y.route)break}return Z},xN=(X,Z,Y)=>{try{let $=new RegExp(`(?:\\w)\\((?:.*)?${X}`,"gs");$.test(Z);let W=Z.charCodeAt($.lastIndex);if(W===41||W===44)return Y.query=!0,Y.headers=!0,Y.body=!0,Y.cookie=!0,Y.set=!0,Y.server=!0,Y.route=!0,Y.request=!0,!0;return!1}catch($){return console.log("[Sucrose] warning: unexpected isContextPassToFunction error, you may continue development as usual but please report the following to maintainers:"),console.log("--- body ---"),console.log(Z),console.log("--- context ---"),console.log(X),!0}},f5=(X,Z={query:!1,headers:!1,body:!1,cookie:!1,set:!1,server:!1,request:!1,route:!1})=>{let Y=[];if(X.handler&&typeof X.handler==="function")Y.push(X.handler);if(X.request?.length)Y.push(...X.request);if(X.beforeHandle?.length)Y.push(...X.beforeHandle);if(X.parse?.length)Y.push(...X.parse);if(X.error?.length)Y.push(...X.error);if(X.transform?.length)Y.push(...X.transform);if(X.afterHandle?.length)Y.push(...X.afterHandle);if(X.mapResponse?.length)Y.push(...X.mapResponse);if(X.afterResponse?.length)Y.push(...X.afterResponse);for(let $ of Y){if(!$)continue;let W="fn"in $?$.fn:$;if(typeof W!=="function")continue;let[J,z,{isArrowReturn:Q}]=SN(W.toString()),M=CN(J,Z),G=PN(M);if(G){let U=g5(G,z.slice(1,-1));U.splice(0,-1,G);let w=z;if(w.charCodeAt(0)===123&&w.charCodeAt(z.length-1)===125)w=w.slice(1,-1);if(!xN(G,w,Z))IN(w,U,Z);if(!Z.query&&w.includes("return "+G+".query"))Z.query=!0}if(Z.query&&Z.headers&&Z.body&&Z.cookie&&Z.set&&Z.server&&Z.request&&Z.route)break}return Z},U1=[];for(let X=48;X<58;X++)U1[X]=X-48;for(let X=0;X<6;X++)U1[X+65]=U1[X+97]=X+10;var TN=(X,Z)=>{if(X in U1&&Z in U1)return U1[X]<<4|U1[Z];return 255},v5=[...new Array(128).fill(0),...new Array(16).fill(1),...new Array(16).fill(2),...new Array(32).fill(3),4,4,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,6,7,7,7,7,7,7,7,7,7,7,7,7,8,7,7,10,9,9,9,11,4,4,4,4,4,4,4,4,4,4,4],bN=[0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,24,36,48,60,72,84,96,0,12,12,12,0,0,0,0,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,0,0,24,24,24,0,0,0,0,0,0,0,0,0,24,24,0,0,0,0,0,0,0,0,0,0,48,48,48,0,0,0,0,0,0,0,0,0,0,48,48,0,0,0,0,0,0,0,0,0,48,0,0,0,0,0,0,0,0,0,0],O5=v5.map((X)=>[127,63,63,63,0,31,15,15,15,7,7,7][X]),hX=(X)=>{let Z=X.indexOf("%");if(Z===-1)return X;let Y=X.length-3;if(Z>Y)return null;let $="",W=0,J=0,z=Z,Q=12,M;for(;;){if(M=TN(X.charCodeAt(Z+1),X.charCodeAt(Z+2)),Q=bN[Q+v5[M]],Q===0)return null;if(Q===12){if($+=X.substring(W,z),J=J<<6|M&O5[M],J>65535)$+=String.fromCharCode(55232+(J>>10),56320+(J&1023));else $+=String.fromCharCode(J);if(W=Z+3,Z=X.indexOf("%",W),Z===-1)return $+X.substring(W);if(Z>Y)return null;z=Z,J=0}else{if(Z+=3,Z>Y||X.charCodeAt(Z)!==37)return null;J=J<<6|M&O5[M]}}};class o1{name;jar;initial;constructor(X,Z,Y={}){this.name=X,this.jar=Z,this.initial=Y}get cookie(){return this.jar[this.name]??this.initial}set cookie(X){if(!(this.name in this.jar))this.jar[this.name]=this.initial;this.jar[this.name]=X}get setCookie(){if(!(this.name in this.jar))this.jar[this.name]=this.initial;return this.jar[this.name]}set setCookie(X){this.cookie=X}get value(){return this.cookie.value}set value(X){this.setCookie.value=X}get expires(){return this.cookie.expires}set expires(X){this.setCookie.expires=X}get maxAge(){return this.cookie.maxAge}set maxAge(X){this.setCookie.maxAge=X}get domain(){return this.cookie.domain}set domain(X){this.setCookie.domain=X}get path(){return this.cookie.path}set path(X){this.setCookie.path=X}get secure(){return this.cookie.secure}set secure(X){this.setCookie.secure=X}get httpOnly(){return this.cookie.httpOnly}set httpOnly(X){this.setCookie.httpOnly=X}get sameSite(){return this.cookie.sameSite}set sameSite(X){this.setCookie.sameSite=X}get priority(){return this.cookie.priority}set priority(X){this.setCookie.priority=X}get partitioned(){return this.cookie.partitioned}set partitioned(X){this.setCookie.partitioned=X}get secrets(){return this.cookie.secrets}set secrets(X){this.setCookie.secrets=X}update(X){return this.setCookie=Object.assign(this.cookie,typeof X==="function"?X(this.cookie):X),this}set(X){return this.setCookie=Object.assign({...this.initial,value:this.value},typeof X==="function"?X(this.cookie):X),this}remove(){if(this.value===void 0)return;return this.set({expires:new Date(0),maxAge:0,value:""}),this}toString(){return typeof this.value==="object"?JSON.stringify(this.value):this.value?.toString()??""}}var N5=(X,Z,Y)=>{if(!X.cookie)X.cookie={};return new Proxy(Z,{get($,W){if(W in Z)return new o1(W,X.cookie,Object.assign({},Y??{},Z[W]));return new o1(W,X.cookie,Object.assign({},Y))}})},y5=async(X,Z,{secrets:Y,sign:$,...W}={})=>{if(!Z)return N5(X,{},W);let J=typeof Y==="string";if($&&$!==!0&&!Array.isArray($))$=[$];let z={},Q=bY.parse(Z);for(let[M,G]of Object.entries(Q)){if(G===void 0)continue;let U=hX(G);if($===!0||$?.includes(M)){if(!Y)throw new Error("No secret is provided to cookie plugin");if(J){let w=await M5(U,Y);if(w===!1)throw new z6(M);U=w}else{let w=!0;for(let B=0;B<Y.length;B++){let N=await M5(U,Y[B]);if(N!==!1){w=!0,U=N;break}}if(!w)throw new z6(M)}}z[M]={value:U}}return N5(X,z,W)},d5=(X)=>{if(!X||!F2(X))return;let Z=[];for(let[Y,$]of Object.entries(X)){if(!Y||!$)continue;let W=$.value;if(W===void 0||W===null)continue;Z.push(bY.serialize(Y,typeof W==="object"?JSON.stringify(W):W+"",$))}if(Z.length===0)return;if(Z.length===1)return Z[0];return Z},mX=(X,Z)=>{let Y=X.size;if(!Z&&Y||Y&&Z&&Z.status!==206&&Z.status!==304&&Z.status!==412&&Z.status!==416){if(Z){if(Z.headers instanceof Headers){let $={"accept-ranges":"bytes","content-range":`bytes 0-${Y-1}/${Y}`,"transfer-encoding":"chunked"};if(VY)$=Z.headers.toJSON();else{$={};for(let[W,J]of Z.headers.entries())if(W in Z.headers)$[W]=J}return new Response(X,{status:Z.status,headers:$})}if(F2(Z.headers))return new Response(X,{status:Z.status,headers:Object.assign({"accept-ranges":"bytes","content-range":`bytes 0-${Y-1}/${Y}`,"transfer-encoding":"chunked"},Z.headers)})}return new Response(X,{headers:{"accept-ranges":"bytes","content-range":`bytes 0-${Y-1}/${Y}`,"transfer-encoding":"chunked"}})}return new Response(X)},h5=(X,Z)=>{if(!X)return X;X.delete("set-cookie");for(let Y=0;Y<Z.length;Y++){let $=Z[Y].indexOf("=");X.append("set-cookie",`${Z[Y].slice(0,$)}=${Z[Y].slice($+1)||""}`)}return X},H1=(X,Z)=>{if(Z?.headers){if(X){if(VY)Object.assign(Z.headers,X.headers.toJSON());else for(let[Y,$]of X.headers.entries())if(Y in Z.headers)Z.headers[Y]=$}if(Z.status===200)Z.status=X.status;if(Z.headers["content-encoding"])delete Z.headers["content-encoding"];return Z}if(!X)return{headers:{},status:Z?.status??200};if(VY){if(Z={headers:X.headers.toJSON(),status:Z?.status??200},Z.headers["content-encoding"])delete Z.headers["content-encoding"];return Z}Z={headers:{},status:Z?.status??200};for(let[Y,$]of X.headers.entries()){if(Y==="content-encoding")continue;if(Y in Z.headers)Z.headers[Y]=$}return Z},L2=async(X,Z,Y)=>{let $=X.next();if($ instanceof Promise)$=await $;if($.done){if(Z)return i0($.value,Z,Y);return pX($.value,Y)}if(Z?.headers){if(!Z.headers["transfer-encoding"])Z.headers["transfer-encoding"]="chunked";if(!Z.headers["content-type"])Z.headers["content-type"]="text/event-stream; charset=utf-8"}else Z={status:200,headers:{"content-type":"text/event-stream; charset=utf-8","transfer-encoding":"chunked"}};return new Response(new ReadableStream({async start(W){let J=!1;if(Y?.signal?.addEventListener("abort",()=>{J=!0;try{W.close()}catch{}}),$.value!==void 0&&$.value!==null)if(typeof $.value==="object")try{W.enqueue(Buffer.from(JSON.stringify($.value)))}catch{W.enqueue(Buffer.from($.value.toString()))}else W.enqueue(Buffer.from($.value.toString()));for await(let z of X){if(J)break;if(z===void 0||z===null)continue;if(typeof z==="object")try{W.enqueue(Buffer.from(JSON.stringify(z)))}catch{W.enqueue(Buffer.from(z.toString()))}else W.enqueue(Buffer.from(z.toString()));await new Promise((Q)=>setTimeout(()=>Q(),0))}try{W.close()}catch{}}}),Z)};async function*D1(X){let Z=X.body;if(!Z)return;let Y=Z.getReader(),$=new TextDecoder;try{while(!0){let{done:W,value:J}=await Y.read();if(W)break;yield $.decode(J)}}finally{Y.releaseLock()}}var m5=(X)=>{if(typeof X.status==="string")X.status=xY[X.status];if(X.cookie&&F2(X.cookie)){let Z=d5(X.cookie);if(Z)X.headers["set-cookie"]=Z}if(X.headers["set-cookie"]&&Array.isArray(X.headers["set-cookie"]))X.headers=h5(new Headers(X.headers),X.headers["set-cookie"])},IY=(X,Z)=>{if(X.status!==Z.status&&Z.status!==200&&(X.status<=300||X.status>400))X=new Response(X.body,{headers:X.headers,status:Z.status});let Y=!1;if(Z.headers instanceof Headers)for(let $ of Z.headers.keys())if($==="set-cookie"){if(Y)continue;Y=!0;for(let W of Z.headers.getSetCookie())X.headers.append("set-cookie",W)}else X.headers.append($,Z.headers?.get($)??"");else for(let $ in Z.headers)X.headers.append($,Z.headers[$]);return X},i0=(X,Z,Y)=>{if(F2(Z.headers)||Z.status!==200||Z.cookie)switch(m5(Z),X?.constructor?.name){case"String":return new Response(X,Z);case"Array":case"Object":return Response.json(X,Z);case"ElysiaFile":return mX(X.value);case"Blob":return mX(X,Z);case"ElysiaCustomStatusResponse":return Z.status=X.code,i0(X.response,Z,Y);case"ReadableStream":if(!Z.headers["content-type"]?.startsWith("text/event-stream"))Z.headers["content-type"]="text/event-stream; charset=utf-8";return Y?.signal?.addEventListener("abort",{handleEvent(){if(Y?.signal&&!Y?.signal?.aborted)X.cancel()}},{once:!0}),new Response(X,Z);case void 0:if(!X)return new Response("",Z);return Response.json(X,Z);case"Response":if(X=IY(X,Z),!X.headers.has("content-length")&&X.headers.get("transfer-encoding")==="chunked")return L2(D1(X),H1(X,Z),Y);return X;case"Error":return cX(X,Z);case"Promise":return X.then(($)=>i0($,Z,Y));case"Function":return i0(X(),Z,Y);case"Number":case"Boolean":return new Response(X.toString(),Z);case"Cookie":if(X instanceof o1)return new Response(X.value,Z);return new Response(X?.toString(),Z);case"FormData":return new Response(X,Z);default:if(X instanceof Response){if(X=IY(X,Z),X.headers.get("transfer-encoding")==="chunked")return L2(D1(X),H1(X,Z),Y);return X}if(X instanceof Promise)return X.then(($)=>i0($,Z));if(X instanceof Error)return cX(X,Z);if(X instanceof o2)return Z.status=X.code,i0(X.response,Z,Y);if(typeof X?.next==="function")return L2(X,Z,Y);if(typeof X?.then==="function")return X.then(($)=>i0($,Z));if(typeof X?.toResponse==="function")return i0(X.toResponse(),Z);if("charCodeAt"in X){let $=X.charCodeAt(0);if($===123||$===91){if(!Z.headers["Content-Type"])Z.headers["Content-Type"]="application/json";return new Response(JSON.stringify(X),Z)}}return new Response(X,Z)}if(X instanceof Response&&!X.headers.has("content-length")&&X.headers.get("transfer-encoding")==="chunked")return L2(D1(X),H1(X,Z),Y);if(typeof X?.next==="function"||X instanceof ReadableStream)return L2(X,Z,Y);return pX(X,Y)},p0=(X,Z,Y)=>{if(X===void 0||X===null)return;if(F2(Z.headers)||Z.status!==200||Z.cookie)switch(m5(Z),X?.constructor?.name){case"String":return new Response(X,Z);case"Array":case"Object":return Response.json(X,Z);case"ElysiaFile":return mX(X.value);case"Blob":return mX(X,Z);case"ElysiaCustomStatusResponse":return Z.status=X.code,p0(X.response,Z,Y);case"ReadableStream":if(!Z.headers["content-type"]?.startsWith("text/event-stream"))Z.headers["content-type"]="text/event-stream; charset=utf-8";return Y?.signal?.addEventListener("abort",{handleEvent(){if(Y?.signal&&!Y?.signal?.aborted)X.cancel()}},{once:!0}),new Response(X,Z);case void 0:if(!X)return;return Response.json(X,Z);case"Response":if(X=IY(X,Z),!X.headers.has("content-length")&&X.headers.get("transfer-encoding")==="chunked")return L2(D1(X),H1(X,Z),Y);return X;case"Promise":return X.then(($)=>p0($,Z));case"Error":return cX(X,Z);case"Function":return p0(X(),Z);case"Number":case"Boolean":return new Response(X.toString(),Z);case"FormData":return new Response(X);case"Cookie":if(X instanceof o1)return new Response(X.value,Z);return new Response(X?.toString(),Z);default:if(X instanceof Response){if(X=IY(X,Z),X.headers.get("transfer-encoding")==="chunked")return L2(D1(X),H1(X,Z),Y);return X}if(X instanceof Promise)return X.then(($)=>p0($,Z));if(X instanceof Error)return cX(X,Z);if(X instanceof o2)return Z.status=X.code,p0(X.response,Z,Y);if(typeof X?.next==="function")return L2(X,Z,Y);if(typeof X?.then==="function")return X.then(($)=>p0($,Z));if(typeof X?.toResponse==="function")return p0(X.toResponse(),Z);if("charCodeAt"in X){let $=X.charCodeAt(0);if($===123||$===91){if(!Z.headers["Content-Type"])Z.headers["Content-Type"]="application/json";return new Response(JSON.stringify(X),Z)}}return new Response(X,Z)}else switch(X?.constructor?.name){case"String":return new Response(X);case"Array":case"Object":return Response.json(X,Z);case"ElysiaFile":return mX(X.value);case"Blob":return mX(X,Z);case"ElysiaCustomStatusResponse":return Z.status=X.code,p0(X.response,Z,Y);case"ReadableStream":return Y?.signal?.addEventListener("abort",{handleEvent(){if(Y?.signal&&!Y?.signal?.aborted)X.cancel()}},{once:!0}),new Response(X,{headers:{"Content-Type":"text/event-stream; charset=utf-8"}});case void 0:if(!X)return new Response("");return new Response(JSON.stringify(X),{headers:{"content-type":"application/json"}});case"Response":if(!X.headers.has("content-length")&&X.headers.get("transfer-encoding")==="chunked")return L2(D1(X),H1(X),Y);return X;case"Promise":return X.then(($)=>{let W=p0($,Z);if(W!==void 0)return W});case"Error":return cX(X,Z);case"Function":return pX(X(),Y);case"Number":case"Boolean":return new Response(X.toString());case"Cookie":if(X instanceof o1)return new Response(X.value,Z);return new Response(X?.toString(),Z);case"FormData":return new Response(X);default:if(X instanceof Response)return X;if(X instanceof Promise)return X.then(($)=>p0($,Z));if(X instanceof Error)return cX(X,Z);if(X instanceof o2)return Z.status=X.code,p0(X.response,Z,Y);if(typeof X?.next==="function")return L2(X,Z,Y);if(typeof X?.then==="function")return X.then(($)=>p0($,Z));if(typeof X?.toResponse==="function")return p0(X.toResponse(),Z);if("charCodeAt"in X){let $=X.charCodeAt(0);if($===123||$===91){if(!Z.headers["Content-Type"])Z.headers["Content-Type"]="application/json";return new Response(JSON.stringify(X),Z)}}return new Response(X)}},pX=(X,Z)=>{switch(X?.constructor?.name){case"String":return new Response(X);case"Object":case"Array":return Response.json(X);case"ElysiaFile":return mX(X.value);case"Blob":return mX(X);case"ElysiaCustomStatusResponse":return i0(X.response,{status:X.code,headers:{}});case"ReadableStream":return Z?.signal?.addEventListener("abort",{handleEvent(){if(Z?.signal&&!Z?.signal?.aborted)X.cancel()}},{once:!0}),new Response(X,{headers:{"Content-Type":"text/event-stream; charset=utf-8"}});case void 0:if(!X)return new Response("");return new Response(JSON.stringify(X),{headers:{"content-type":"application/json"}});case"Response":if(X.headers.get("transfer-encoding")==="chunked")return L2(D1(X),H1(X),Z);return X;case"Error":return cX(X);case"Promise":return X.then((Y)=>pX(Y,Z));case"Function":return pX(X(),Z);case"Number":case"Boolean":return new Response(X.toString());case"FormData":return new Response(X);default:if(X instanceof Response)return X;if(X instanceof Promise)return X.then((Y)=>pX(Y,Z));if(X instanceof Error)return cX(X);if(X instanceof o2)return i0(X.response,{status:X.code,headers:{}});if(typeof X?.next==="function")return L2(X,void 0,Z);if(typeof X?.then==="function")return X.then((Y)=>i0(Y,set));if(typeof X?.toResponse==="function")return pX(X.toResponse());if("charCodeAt"in X){let Y=X.charCodeAt(0);if(Y===123||Y===91)return new Response(JSON.stringify(X),{headers:{"Content-Type":"application/json"}})}return new Response(X)}},cX=(X,Z)=>new Response(JSON.stringify({name:X?.name,message:X?.message,cause:X?.cause}),{status:Z?.status!==200?Z?.status??500:500,headers:Z?.headers}),kN=(X,Z,Y={})=>{if(typeof X==="function")return;let $=i0(X,{headers:Y});if(!Z.parse?.length&&!Z.transform?.length&&!Z.beforeHandle?.length&&!Z.afterHandle?.length)return $.clone.bind($)},jY={name:"web-standard",isWebStandard:!0,handler:{mapResponse:i0,mapEarlyResponse:p0,mapCompactResponse:pX,createStaticHandler:kN},composeHandler:{mapResponseContext:"c.request",preferWebstandardHeaders:!0,headers:`c.headers = {}
|
|
for (const [key, value] of c.request.headers.entries())c.headers[key] = value
|
|
`,parser:{json(X){if(X)return`try{c.body=await c.request.json()}catch{}
|
|
`;return`c.body=await c.request.json()
|
|
`},text(){return`c.body=await c.request.text()
|
|
`},urlencoded(){return`c.body=parseQuery(await c.request.text())
|
|
`},arrayBuffer(){return`c.body=await c.request.arrayBuffer()
|
|
`},formData(X){let Z=`
|
|
c.body={}
|
|
`;if(X)Z+="let form;try{form=await c.request.formData()}catch{}";else Z+=`const form=await c.request.formData()
|
|
`;return Z+`for(const key of form.keys()){if(c.body[key]) continue
|
|
const value=form.getAll(key)
|
|
if(value.length===1)c.body[key]=value[0]
|
|
else c.body[key]=value}`}}},composeGeneralHandler:{parameters:"r",createContext(X){let Z="",Y="",$=X.setHeaders;for(let z of Object.keys(X.singleton.decorator))Z+=`,${z}: decorator['${z}']`;let W=X.config.handler?.standardHostname??!0,J=!!X.event.trace?.length;if(Y+=`const u=r.url,s=u.indexOf('/',${W?11:7}),qi=u.indexOf('?', s + 1)
|
|
let p
|
|
if(qi===-1)p=u.substring(s)
|
|
else p=u.substring(s, qi)
|
|
`,J)Y+=`const id=randomId()
|
|
`;if(Y+="const c={request:r,store,qi,path:p,url:u,redirect,error,set:{headers:",Y+=Object.keys($??{}).length?"Object.assign({}, app.setHeaders)":"{}",Y+=",status:200}",X.inference.server)Y+=",get server(){return app.getServer()}";if(J)Y+=",[ELYSIA_REQUEST_ID]:id";return Y+=Z,Y+=`}
|
|
`,Y},websocket(X){let Z="",Y=X.router.static.ws,$=X.router.http;if($.build(),Object.keys(Y).length||$.root.ws||$.history.find((W)=>W["0"]==="ws")){Z+="if(r.method==='GET'){switch(p){";for(let[W,J]of Object.entries(Y))Z+=`case'${W}':`+(X.config.strictPath!==!0?`case'${c1(W)}':`:"")+`if(r.headers.get('upgrade')==='websocket')return ht[${J}].composed(c)
|
|
`;Z+=`default:if(r.headers.get('upgrade')==='websocket'){const route=router.find('ws',p)
|
|
if(route){c.params=route.params
|
|
if(route.store.handler)return route.store.handler(c)
|
|
return (route.store.handler=route.store.compile())(c)}}break}}`}return Z},error404(X,Z){let Y="if(route===null)return ";if(Z)Y+=`app.handleError(c,notFound,false,${this.parameters})`;else Y+=X?"new Response(error404Message,{status:c.set.status===200?404:c.set.status,headers:c.set.headers})":"error404.clone()";return{declare:Z?"":`const error404Message=notFound.message.toString()
|
|
const error404=new Response(error404Message,{status:404})
|
|
`,code:Y}}},composeError:{mapResponseContext:"",validationError:"return new Response(error.message,{headers:Object.assign({'content-type':'application/json'},set.headers),status:set.status})",unknownError:"return new Response(error.message,{headers:set.headers,status:error.status??set.status??500})"},listen(){return()=>{throw new Error("WebStandard does not support listen, you might want to export default Elysia.fetch instead")}}},gN=(X,Z,Y={})=>{if(typeof X==="function"||X instanceof Blob)return;if(typeof X==="object"&&X?.toString()==="[object HTMLBundle]")return()=>X;let $=i0(X,{headers:Y});if(!Z.parse?.length&&!Z.transform?.length&&!Z.beforeHandle?.length&&!Z.afterHandle?.length){if(!$.headers.has("content-type"))$.headers.append("content-type","text/plain;charset=utf-8");return $.clone.bind($)}},L5={open(X){X.data.open?.(X)},message(X,Z){X.data.message?.(X,Z)},drain(X){X.data.drain?.(X)},close(X,Z,Y){X.data.close?.(X,Z,Y)}};class KZ{raw;data;body;validator;["~types"];get id(){return this.data.id}constructor(X,Z,Y=void 0){this.raw=X,this.data=Z,this.body=Y,this.validator=X.data?.validator,this.sendText=X.sendText.bind(X),this.sendBinary=X.sendBinary.bind(X),this.close=X.close.bind(X),this.terminate=X.terminate.bind(X),this.publishText=X.publishText.bind(X),this.publishBinary=X.publishBinary.bind(X),this.subscribe=X.subscribe.bind(X),this.unsubscribe=X.unsubscribe.bind(X),this.isSubscribed=X.isSubscribed.bind(X),this.cork=X.cork.bind(X),this.remoteAddress=X.remoteAddress,this.binaryType=X.binaryType,this.data=X.data,this.send=this.send.bind(this),this.ping=this.ping.bind(this),this.pong=this.pong.bind(this),this.publish=this.publish.bind(this)}send(X,Z){if(Buffer.isBuffer(X))return this.raw.send(X,Z);if(this.validator?.Check(X)===!1)return this.raw.send(new Q8("message",this.validator,X).message);if(typeof X==="object")X=JSON.stringify(X);return this.raw.send(X,Z)}ping(X){if(Buffer.isBuffer(X))return this.raw.ping(X);if(this.validator?.Check(X)===!1)return this.raw.send(new Q8("message",this.validator,X).message);if(typeof X==="object")X=JSON.stringify(X);return this.raw.ping(X)}pong(X){if(Buffer.isBuffer(X))return this.raw.pong(X);if(this.validator?.Check(X)===!1)return this.raw.send(new Q8("message",this.validator,X).message);if(typeof X==="object")X=JSON.stringify(X);return this.raw.pong(X)}publish(X,Z,Y){if(Buffer.isBuffer(Z))return this.raw.publish(X,Z,Y);if(this.validator?.Check(Z)===!1)return this.raw.send(new Q8("message",this.validator,Z).message);if(typeof Z==="object")Z=JSON.stringify(Z);return this.raw.publish(X,Z,Y)}sendText;sendBinary;close;terminate;publishText;publishBinary;subscribe;unsubscribe;isSubscribed;cork;remoteAddress;binaryType;get readyState(){return this.raw.readyState}}var fN=(X)=>{let Z=typeof X==="function"?[X]:X;return async function Y($,W){if(typeof W==="string"){let J=W?.charCodeAt(0);if(J===34||J===47||J===91||J===123)try{W=JSON.parse(W)}catch{}else if(M6(W))W=+W;else if(W==="true")W=!0;else if(W==="false")W=!1;else if(W==="null")W=null}if(Z)for(let J=0;J<Z.length;J++){let z=Z[J]($,W);if(z instanceof Promise)z=await z;if(z!==void 0)return z}return W}},vN=(X)=>{let Z=(Y,$)=>{if($ instanceof Promise)return $.then((z)=>Z(Y,z));if(Buffer.isBuffer($))return Y.send($.toString());if($===void 0)return;let W=(z)=>{if(X?.Check(z)===!1)return Y.send(new Q8("message",X,z).message);if(typeof z==="object")return Y.send(JSON.stringify(z));Y.send(z)};if(typeof $?.next!=="function")return void W($);let J=$.next();if(J instanceof Promise)return(async()=>{let z=await J;if(X?.Check(z)===!1)return Y.send(new Q8("message",X,z).message);if(W(z.value),!z.done)for await(let Q of $)W(Q)})();if(W(J.value),!J.done)for(let z of $)W(z)};return Z},yN={...jY,name:"bun",handler:{...jY.handler,createNativeStaticHandler:gN},composeHandler:{...jY.composeHandler,headers:VY?`c.headers = c.request.headers.toJSON()
|
|
`:`c.headers = {}
|
|
for (const [key, value] of c.request.headers.entries())c.headers[key] = value
|
|
`},listen(X){return(Z,Y)=>{if(typeof Bun==="undefined")throw new Error(".listen() is designed to run on Bun only. If you are running Elysia in other environment please use a dedicated plugin or export the handler via Elysia.fetch");if(X.compile(),typeof Z==="string"){if(!M6(Z))throw new Error("Port must be a numeric value");Z=parseInt(Z)}let $=X.fetch,W=typeof Z==="object"?{development:!PY,reusePort:!0,...X.config.serve||{},...Z||{},static:{...X.router.static.http.static,...X.config.serve?.static},websocket:{...X.config.websocket||{},...L5||{}},fetch:$,error:X.outerErrorHandler}:{development:!PY,reusePort:!0,...X.config.serve||{},static:X.router.static.http.static,websocket:{...X.config.websocket||{},...L5||{}},port:Z,fetch:$,error:X.outerErrorHandler};if(X.server=Bun?.serve(W),X.event.start)for(let J=0;J<X.event.start.length;J++)X.event.start[J].fn(X);if(Y)Y(X.server);process.on("beforeExit",()=>{if(X.server){if(X.server.stop?.(),X.server=null,X.event.stop)for(let J=0;J<X.event.stop.length;J++)X.event.stop[J].fn(X)}}),X.promisedModules.then(()=>{Bun?.gc(!1)})}},ws(X,Z,Y){let{parse:$,body:W,response:J,...z}=Y,Q=u0(W,{modules:X.definitions.typebox,models:X.definitions.type,normalize:X.config.normalize}),M=u0(J,{modules:X.definitions.typebox,models:X.definitions.type,normalize:X.config.normalize});X.route("$INTERNALWS",Z,async(G)=>{let U=X.getServer(),{set:w,path:B,qi:N,headers:S,query:H,params:E}=G;if(G.validator=M,Y.upgrade){if(typeof Y.upgrade==="function"){let I=Y.upgrade(G);if(I instanceof Promise)await I}else if(Y.upgrade)Object.assign(w.headers,Y.upgrade)}if(w.cookie&&F2(w.cookie)){let I=d5(w.cookie);if(I)w.headers["set-cookie"]=I}if(w.headers["set-cookie"]&&Array.isArray(w.headers["set-cookie"]))w.headers=h5(new Headers(w.headers),w.headers["set-cookie"]);let h=vN(M),Y8=fN($),s,V8=[...Array.isArray(Y.error)?Y.error:[Y.error],...(X.event.error??[]).map((I)=>typeof I==="function"?I:I.fn)],G8=!V8.length?()=>{}:async(I,P)=>{for(let k of V8){let b=k(Object.assign(G,{error:P}));if(b instanceof Promise)b=await b;if(await h(I,b),b)break}};if(U?.upgrade(G.request,{headers:F2(w.headers)?w.headers:void 0,data:{...G,get id(){if(s)return s;return s=V5()},validator:M,ping(I){Y.ping?.(I)},pong(I){Y.pong?.(I)},open(I){try{h(I,Y.open?.(new KZ(I,G)))}catch(P){G8(I,P)}},message:async(I,P)=>{let k=await Y8(I,P);if(Q?.Check(k)===!1)return void I.send(new Q8("message",Q,k).message);try{h(I,Y.message?.(new KZ(I,G,k),k))}catch(b){G8(I,b)}},drain(I){try{h(I,Y.drain?.(new KZ(I,G)))}catch(P){G8(I,P)}},close(I,P,k){try{h(I,Y.close?.(new KZ(I,G),P,k))}catch(b){G8(I,b)}}}}))return;return w.status=400,"Expected a websocket connection"},{...z,websocket:Y})}},dN=typeof Bun!=="undefined",F5=dN?Bun.env:typeof process!=="undefined"&&process?.env?process.env:{},u1=/\+/g;function hN(X){let Z={};if(typeof X!=="string")return Z;let Y="",$="",W=-1,J=-1,z=0,Q=X.length;for(let M=0;M<Q;M++)switch(X.charCodeAt(M)){case 38:let G=J>W;if(!G)J=M;if(Y=X.slice(W+1,J),G||Y.length>0){if(z&1)Y=Y.replace(u1," ");if(z&2)Y=hX(Y)||Y;if(!Z[Y]){if(G){if($=X.slice(J+1,M),z&4)$=$.replace(u1," ");if(z&8)$=hX($)||$}Z[Y]=$}}Y="",$="",W=M,J=M,z=0;break;case 61:if(J<=W)J=M;else z|=8;break;case 43:if(J>W)z|=4;else z|=1;break;case 37:if(J>W)z|=8;else z|=2;break}if(W<Q){let M=J>W;if(Y=X.slice(W+1,M?J:Q),M||Y.length>0){if(z&1)Y=Y.replace(u1," ");if(z&2)Y=hX(Y)||Y;if(!Z[Y]){if(M){if($=X.slice(J+1,Q),z&4)$=$.replace(u1," ");if(z&8)$=hX($)||$}Z[Y]=$}}}return Z}var SY=(X)=>{let Z={};if(typeof X!=="string")return Z;let Y=X.length,$="",W="",J=-1,z=-1,Q=!1,M=!1,G=!1,U=!1,w=!1,B=0;for(let N=0;N<Y+1;N++){if(N!==Y)B=X.charCodeAt(N);else B=38;switch(B){case 38:{if(w=z>J,!w)z=N;if($=X.slice(J+1,z),w||$.length>0){if(G)$=$.replace(u1," ");if(Q)$=hX($)||$;if(w){if(W=X.slice(z+1,N),U)W=W.replace(u1," ");if(M)W=hX(W)||W}let S=Z[$];if(S===void 0)Z[$]=W;else if(S.pop)S.push(W);else Z[$]=[S,W]}W="",J=N,z=N,Q=!1,M=!1,G=!1,U=!1;break}case 61:if(z<=J)z=N;else M=!0;break;case 43:if(z>J)U=!0;else G=!0;break;case 37:if(z>J)M=!0;else Q=!0;break}}return Z},H6=Symbol("ElysiaTrace"),BX=()=>{let{promise:X,resolve:Z}=Promise.withResolvers(),{promise:Y,resolve:$}=Promise.withResolvers(),{promise:W,resolve:J}=Promise.withResolvers(),z=[],Q=[];return[(M)=>{if(M)z.push(M);return X},(M)=>{let G=[],U=[],w=null;for(let N=0;N<(M.total??0);N++){let{promise:S,resolve:H}=Promise.withResolvers(),{promise:E,resolve:h}=Promise.withResolvers(),{promise:Y8,resolve:s}=Promise.withResolvers(),V8=[],G8=[];G.push((I)=>{if(I)V8.push(I);return S}),U.push((I)=>{let P={...I,end:E,error:Y8,index:N,onStop(k){if(k)G8.push(k);return E}};H(P);for(let k=0;k<V8.length;k++)V8[k](P);return(k=null)=>{let b=performance.now();if(k)w=k;let $8={end:b,error:k,get elapsed(){return b-I.begin}};for(let J8=0;J8<G8.length;J8++)G8[J8]($8);h(b),s(k)}})}let B={...M,end:Y,error:W,onEvent(N){for(let S=0;S<G.length;S++)G[S](N)},onStop(N){if(N)Q.push(N);return Y}};Z(B);for(let N=0;N<z.length;N++)z[N](B);return{resolveChild:U,resolve(N=null){let S=performance.now();if(!N&&w)N=w;let H={end:S,error:N,get elapsed(){return S-M.begin}};for(let E=0;E<Q.length;E++)Q[E](H);$(S),J(N)}}}]},mN=(X)=>{return(Z)=>{let[Y,$]=BX(),[W,J]=BX(),[z,Q]=BX(),[M,G]=BX(),[U,w]=BX(),[B,N]=BX(),[S,H]=BX(),[E,h]=BX(),[Y8,s]=BX();return X({id:Z[TY],context:Z,set:Z.set,onRequest:Y,onParse:W,onTransform:z,onBeforeHandle:M,onHandle:U,onAfterHandle:B,onMapResponse:E,onAfterResponse:Y8,onError:S}),{request:$,parse:J,transform:Q,beforeHandle:G,handle:w,afterHandle:N,error:H,mapResponse:h,afterResponse:s}}},A1={optional:Symbol.for("TypeBox.Optional"),kind:Symbol.for("TypeBox.Kind")},u2=(X)=>{if(!X)return!1;let Z=X?.schema;if(Z?.[A1.kind]==="Import")return X.References().some(u2);return!!Z&&A1.optional in Z},B0=(X,Z)=>Z?X:"",pN=["json","text","urlencoded","arrayBuffer","formdata","application/json","text/plain","application/x-www-form-urlencoded","application/octet-stream","multipart/form-data"],N2=(X)=>{if(!X)return!1;let Z=X?.schema??X;if(Z[A1.kind]==="Import"&&X.References())return X.References().some(N2);if(Z.anyOf)return Z.anyOf.some(N2);if(Z.someOf)return Z.someOf.some(N2);if(Z.allOf)return Z.allOf.some(N2);if(Z.not)return Z.not.some(N2);if(Z.type==="object"){let Y=Z.properties;if("additionalProperties"in Z)return Z.additionalProperties;if("patternProperties"in Z)return!1;for(let $ of Object.keys(Y)){let W=Y[$];if(W.type==="object"){if(N2(W))return!0}else if(W.anyOf){for(let J=0;J<W.anyOf.length;J++)if(N2(W.anyOf[J]))return!0}return W.additionalProperties}return!1}return!1},D6=({context:X="c",trace:Z=[],addFn:Y})=>{if(!Z.length)return()=>{return{resolveChild(){return()=>{}},resolve(){}}};for(let $=0;$<Z.length;$++)Y(`let report${$}, reportChild${$}, reportErr${$}, reportErrChild${$};let trace${$} = ${X}[ELYSIA_TRACE]?.[${$}] ?? trace[${$}](${X});
|
|
`);return($,{name:W,total:J=0}={})=>{if(!W)W="anonymous";let z=$==="error"?"reportErr":"report";for(let Q=0;Q<Z.length;Q++)Y(`${z}${Q} = trace${Q}.${$}({id,event:'${$}',name:'${W}',begin:performance.now(),total:${J}})
|
|
`);return{resolve(){for(let Q=0;Q<Z.length;Q++)Y(`${z}${Q}.resolve()
|
|
`)},resolveChild(Q){for(let M=0;M<Z.length;M++)Y(`${z}Child${M}=${z}${M}.resolveChild?.shift()?.({id,event:'${$}',name:'${Q}',begin:performance.now()})
|
|
`);return(M)=>{for(let G=0;G<Z.length;G++)if(M)Y(`if(${M} instanceof Error){${z}Child${G}?.(${M}) }else{${z}Child${G}?.()}`);else Y(`${z}Child${G}?.()
|
|
`)}}}}},cN=({injectResponse:X="",normalize:Z=!1,validator:Y,encodeSchema:$=!1})=>({composeValidation:(W,J=`c.${W}`)=>`c.set.status=422;throw new ValidationError('${W}',validator.${W},${J})`,composeResponseValidation:(W="r")=>{let J=X+`
|
|
`;J+=`if(${W} instanceof ElysiaCustomStatusResponse){c.set.status=${W}.code
|
|
${W}=${W}.response}const isResponse=${W} instanceof Response
|
|
switch(c.set.status){`;for(let[z,Q]of Object.entries(Y.response)){if(J+=`
|
|
case ${z}:if(!isResponse){`,Z&&"Clean"in Q&&!N2(Q))J+=`${W}=validator.response['${z}'].Clean(${W})
|
|
`;if($&&(Q.hasTransform||typeof Q.Decode==="function"))J+=`${W}=validator.response['${z}'].Encode(${W})
|
|
`;J+=`if(validator.response['${z}'].Check(${W})===false){c.set.status=422
|
|
throw new ValidationError('response',validator.response['${z}'],${W})}c.set.status = ${z}}
|
|
`,J+=`break
|
|
`}return J+"}"}}),sx=Symbol.for("TypeBox.Kind"),dX=(X,Z)=>{if(!Z)return;let Y=Z.schema??Z;if(Y[A1.kind]==="Import")return Z.References().some(($)=>dX(X,$));if(Y.type==="object"){let $=Y.properties;if(!$)return!1;for(let W of Object.keys($)){let J=$[W];if(X in J)return!0;if(J.type==="object"){if(dX(X,J))return!0}else if(J.anyOf){for(let z=0;z<J.anyOf.length;z++)if(dX(X,J.anyOf[z]))return!0}}return!1}return X in Y},uN=Symbol.for("TypeBox.Transform"),W2=(X)=>{if(!X)return!1;if(X.$ref&&X.$defs&&X.$ref in X.$defs&&W2(X.$defs[X.$ref]))return!0;if(X.oneOf){for(let Z=0;Z<X.oneOf.length;Z++)if(W2(X.oneOf[Z]))return!0}if(X.anyOf){for(let Z=0;Z<X.anyOf.length;Z++)if(W2(X.anyOf[Z]))return!0}if(X.allOf){for(let Z=0;Z<X.allOf.length;Z++)if(W2(X.allOf[Z]))return!0}if(X.not&&W2(X.not))return!0;if(X.type==="object"&&X.properties){let Z=X.properties;for(let Y of Object.keys(Z)){let $=Z[Y];if(W2($))return!0;if($.type==="array"&&$.items&&W2($.items))return!0}}if(X.type==="array"&&X.items&&W2(X.items))return!0;return uN in X},iN=/(?:return|=>) \S+\(/g,i1=(X)=>{return(X?.fn??X).constructor.name==="AsyncFunction"},G0=(X)=>{let Z=X?.fn??X;if(Z.constructor.name==="AsyncFunction")return!0;let Y=Z.toString();if(Y.includes("=> response.clone("))return!1;if(Y.includes("await"))return!0;if(Y.includes("async"))return!0;if(Y.includes("=>response.clone("))return!1;return!!Y.match(iN)},RY=(X)=>{let Z=X?.fn??X;return Z.constructor.name==="AsyncGeneratorFunction"||Z.constructor.name==="GeneratorFunction"},oN=({app:X,path:Z,method:Y,hooks:$,validator:W,handler:J,allowMeta:z=!1,inference:Q,asManifest:M=!1})=>{let G=X["~adapter"].composeHandler,U=X["~adapter"].handler,w=typeof J==="function";if(!w){if(J=U.mapResponse(J,{headers:X.setHeaders??{}}),$.parse?.length&&$.transform?.length&&$.beforeHandle?.length&&$.afterHandle?.length){if(J instanceof Response)return Function("a","return function(){return a.clone()}")(J);return Function("a","return function(){return a}")(J)}}let B=w?"handler(c)":"handler",N=!!$.afterResponse?.length,S=!!$.trace?.length,H="";if(Q=f5(Object.assign({},$,{handler:J}),Q),G.declare){let g=G.declare(Q);if(g)H+=g}if(Q.server)H+=`Object.defineProperty(c,'server',{get:function(){return getServer()}})
|
|
`;W.createBody?.(),W.createQuery?.(),W.createHeaders?.(),W.createParams?.(),W.createCookie?.(),W.createResponse?.();let E=W.body||W.headers||W.params||W.query||W.cookie||W.response,h=Q.query||!!W.query,Y8=$.parse?.length===1&&$.parse[0].fn==="none",s=Y!=="$INTERNALWS"&&Y!=="GET"&&Y!=="HEAD"&&(Q.body||!!W.body||!!$.parse?.length)&&!Y8;if(s)H+=`let isParsing=false
|
|
`;let V8=X.setHeaders,G8=V8&&!!Object.keys(V8).length,I=Q.headers||W.headers||G.preferWebstandardHeaders!==!0&&Q.body,P=Q.cookie||!!W.cookie,k=P?R5({modules:X.definitions.typebox,validator:W.cookie,defaultConfig:X.config.cookie,dynamic:!!X.config.aot,config:W.cookie?.config??{},models:X.definitions.type}):void 0,b=k?.config,$8="";if(b?.sign){if(!b.secrets)throw new Error(`t.Cookie required secret which is not set in (${Y}) ${Z}.`);let g=!b.secrets?void 0:typeof b.secrets==="string"?b.secrets:b.secrets[0];if($8+=`const _setCookie = c.set.cookie
|
|
if(_setCookie){`,b.sign===!0)$8+=`for(const [key, cookie] of Object.entries(_setCookie)){c.set.cookie[key].value=await signCookie(cookie.value,'${g}')}`;else for(let C of b.sign)$8+=`if(_setCookie['${C}']?.value){c.set.cookie['${C}'].value=await signCookie(_setCookie['${C}'].value,'${g}')}`;$8+=`}
|
|
`}let J8=X.config.normalize,X8=X.config.experimental?.encodeSchema,{composeValidation:U8,composeResponseValidation:H0}=cN({normalize:J8,validator:W,encodeSchema:X8});if(I)H+=G.headers;if(S)H+=`const id=c[ELYSIA_REQUEST_ID]
|
|
`;let d8=D6({trace:$.trace,addFn:(g)=>{H+=g}});if(H+="try{",P){let g=(x,u)=>{let r=b?.[x]??u;if(!r)return typeof u==="string"?`${x}:"${u}",`:`${x}:${u},`;if(typeof r==="string")return`${x}:'${r}',`;if(r instanceof Date)return`${x}: new Date(${r.getTime()}),`;return`${x}:${r},`},C=b?`{secrets:${b.secrets!==void 0?typeof b.secrets==="string"?`'${b.secrets}'`:"["+b.secrets.reduce((x,u)=>x+`'${u}',`,"")+"]":"undefined"},sign:${b.sign===!0?!0:b.sign!==void 0?"["+b.sign.reduce((x,u)=>x+`'${u}',`,"")+"]":"undefined"},`+g("domain")+g("expires")+g("httpOnly")+g("maxAge")+g("path","/")+g("priority")+g("sameSite")+g("secure")+"}":"undefined";if(I)H+=`
|
|
c.cookie=await parseCookie(c.set,c.headers.cookie,${C})
|
|
`;else H+=`
|
|
c.cookie=await parseCookie(c.set,c.request.headers.get('cookie'),${C})
|
|
`}if(h){let g=[];if(W.query&&W.query.schema.type==="object"){let C=W.query.schema.properties;if(!N2(W.query))for(let[x,u]of Object.entries(C)){let r=u,D=r.type==="array"||!!r.anyOf?.some((p)=>p.type==="string"&&p.format==="ArrayString");if(r&&A1.optional in r&&r.type==="array"&&r.items)r=r.items;let{type:T,anyOf:F}=r;g.push({key:x,isArray:D,isNestedObjectArray:D&&r.items?.type==="object"||!!r.items?.anyOf?.some((p)=>p.type==="object"||p.type==="array"),isObject:T==="object"||F?.some((p)=>p.type==="string"&&p.format==="ArrayString"),anyOf:!!F})}}if(!g.length)H+="if(c.qi===-1){c.query={}}else{c.query=parseQueryFromURL(c.url.slice(c.qi + 1))}";else{H+=`if(c.qi!==-1){let url='&'+c.url.slice(c.qi + 1)
|
|
`;let C=0;for(let{key:x,isArray:u,isObject:r,isNestedObjectArray:D,anyOf:T}of g){let F=(C===0?"let ":"")+`memory=url.indexOf('&${x}=')
|
|
let a${C}
|
|
`;if(u)if(H+=F,D)H+=`while(memory!==-1){const start=memory+${x.length+2}
|
|
memory=url.indexOf('&',start)
|
|
if(a${C}===undefined)
|
|
a${C}=''
|
|
else
|
|
a${C}+=','
|
|
let temp
|
|
if(memory===-1)temp=decodeURIComponent(url.slice(start).replace(/\\+/g,' '))
|
|
else temp=decodeURIComponent(url.slice(start, memory).replace(/\\+/g,' '))
|
|
const charCode=temp.charCodeAt(0)
|
|
if(charCode!==91&&charCode !== 123)
|
|
temp='"'+temp+'"'
|
|
a${C}+=temp
|
|
if(memory===-1)break
|
|
memory=url.indexOf('&${x}=',memory)
|
|
if(memory===-1)break}try{if(a${C}.charCodeAt(0)===91)a${C} = JSON.parse(a${C})
|
|
else
|
|
a${C}=JSON.parse('['+a${C}+']')}catch{}
|
|
`;else H+=`while(memory!==-1){const start=memory+${x.length+2}
|
|
memory=url.indexOf('&',start)
|
|
if(a${C}===undefined)a${C}=[]
|
|
if(memory===-1){const temp=decodeURIComponent(url.slice(start)).replace(/\\+/g,' ')
|
|
if(temp.includes(',')){a${C}=a${C}.concat(temp.split(','))}else{a${C}.push(decodeURIComponent(url.slice(start)).replace(/\\+/g,' '))}
|
|
break}else{const temp=decodeURIComponent(url.slice(start, memory)).replace(/\\+/g,' ')
|
|
if(temp.includes(',')){a${C}=a${C}.concat(temp.split(','))}else{a${C}.push(temp)}
|
|
}memory=url.indexOf('&${x}=',memory)
|
|
if(memory===-1) break
|
|
}`;else if(r)H+=F+`if(memory!==-1){const start=memory+${x.length+2}
|
|
memory=url.indexOf('&',start)
|
|
if(memory===-1)a${C}=decodeURIComponent(url.slice(start).replace(/\\+/g,' '))else a${C}=decodeURIComponent(url.slice(start,memory).replace(/\\+/g,' '))if(a${C}!==undefined)try{a${C}=JSON.parse(a${C})}catch{}}`;else{if(H+=F+`if(memory!==-1){const start=memory+${x.length+2}
|
|
memory=url.indexOf('&',start)
|
|
if(memory===-1)a${C}=decodeURIComponent(url.slice(start).replace(/\\+/g,' '))
|
|
else{a${C}=decodeURIComponent(url.slice(start,memory).replace(/\\+/g,' '))`,T)H+=`
|
|
let deepMemory=url.indexOf('&${x}=',memory)
|
|
if(deepMemory!==-1){a${C}=[a${C}]
|
|
let first=true
|
|
while(true){const start=deepMemory+${x.length+2}
|
|
if(first)first=false
|
|
else deepMemory = url.indexOf('&', start)
|
|
let value
|
|
if(deepMemory===-1)value=url.slice(start).replace(/\\+/g,' ')
|
|
else value=url.slice(start, deepMemory).replace(/\\+/g,' ')
|
|
value=decodeURIComponent(value)
|
|
if(value===null){if(deepMemory===-1){break}else{continue}}
|
|
const vStart=value.charCodeAt(0)
|
|
const vEnd=value.charCodeAt(value.length - 1)
|
|
if((vStart===91&&vEnd===93)||(vStart===123&&vEnd===125))
|
|
try{a${C}.push(JSON.parse(value))}catch{a${C}.push(value)}if(deepMemory===-1)break}}`;H+="}}"}C++,H+=`
|
|
`}H+="c.query={"+g.map(({key:x},u)=>`'${x}':a${u}`).join(",")+"}",H+=`} else c.query = {}
|
|
`}}let l2=typeof J==="function"&&G0(J),C0=S||$.afterResponse?.length?"c.response= ":"",tX=P||s||l2||!!$.parse?.length||!!$.afterHandle?.some(G0)||!!$.beforeHandle?.some(G0)||!!$.transform?.some(G0)||!!$.mapResponse?.some(G0),Q$=(typeof J==="function"?RY(J):!1)||!!$.beforeHandle?.some(RY)||!!$.afterHandle?.some(RY)||!!$.transform?.some(RY),j2=Q.cookie||Q.set||I||S||W.response||w&&G8||Q$,E8=G.mapResponseContext?`,${G.mapResponseContext}`:"";if(S||Q.route)H+=`c.route=\`${Z}\`
|
|
`;let t0=d8("parse",{total:$.parse?.length});if(s){let g=u2(W.body),C=!!$.parse?.length||Q.body||W.body;if(G.parser.declare)H+=G.parser.declare;H+=`
|
|
isParsing=true
|
|
`;let x=typeof $.parse==="string"?$.parse:Array.isArray($.parse)&&$.parse.length===1?typeof $.parse[0]==="string"?$.parse[0]:typeof $.parse[0].fn==="string"?$.parse[0].fn:void 0:void 0;if(x&&pN.includes(x)){let u=d8("parse",{total:$.parse?.length});switch(x){case"json":case"application/json":H+=G.parser.json(g);break;case"text":case"text/plain":H+=G.parser.text(g);break;case"urlencoded":case"application/x-www-form-urlencoded":H+=G.parser.urlencoded(g);break;case"arrayBuffer":case"application/octet-stream":H+=G.parser.arrayBuffer(g);break;case"formdata":case"multipart/form-data":H+=G.parser.formData(g);break;default:if(x[0]in X["~parser"])H+=I?"let contentType = c.headers['content-type']":"let contentType = c.request.headers.get('content-type')",H+=`
|
|
if(contentType){const index=contentType.indexOf(';')
|
|
if(index!==-1)contentType=contentType.substring(0, index)}
|
|
else{contentType=''}c.contentType=contentType
|
|
`,H+=`let result=parser['${x}'](c, contentType)
|
|
if(result instanceof Promise)result=await result
|
|
if(result instanceof ElysiaCustomStatusResponse)throw result
|
|
if(result!==undefined)c.body=result
|
|
delete c.contentType
|
|
`;break}u.resolve()}else if(C){if(H+=`
|
|
`,H+=I?"let contentType = c.headers['content-type']":"let contentType = c.request.headers.get('content-type')",H+=`
|
|
if(contentType){const index=contentType.indexOf(';')
|
|
if(index!==-1)contentType=contentType.substring(0, index)}
|
|
else{contentType=''}c.contentType=contentType
|
|
`,$.parse?.length)H+=`let used=false
|
|
`;let u=d8("parse",{total:$.parse?.length}),r=!1;if($.parse)for(let D=0;D<$.parse.length;D++){let T=`bo${D}`;if(D!==0)H+=`
|
|
if(!used){`;if(typeof $.parse[D].fn==="string"){let F=u.resolveChild($.parse[D].fn);switch($.parse[D].fn){case"json":case"application/json":r=!0,H+=G.parser.json(g);break;case"text":case"text/plain":r=!0,H+=G.parser.text(g);break;case"urlencoded":case"application/x-www-form-urlencoded":r=!0,H+=G.parser.urlencoded(g);break;case"arrayBuffer":case"application/octet-stream":r=!0,H+=G.parser.arrayBuffer(g);break;case"formdata":case"multipart/form-data":r=!0,H+=G.parser.formData(g);break;default:H+=`${T}=parser['${$.parse[D].fn}'](c,contentType)
|
|
if(${T} instanceof Promise)${T}=await ${T}
|
|
if(${T}!==undefined){c.body=${T};used=true}
|
|
`}F()}else{let F=u.resolveChild($.parse[D].fn.name);H+=`let ${T}=e.parse[${D}]
|
|
${T}=${T}(c,contentType)
|
|
if(${T} instanceof Promise)${T}=await ${T}
|
|
if(${T}!==undefined){c.body=${T};used=true}`,F()}if(D!==0)H+="}";if(r)break}if(u.resolve(),!r){if($.parse?.length)H+=`
|
|
if(!used){
|
|
if(!contentType) throw new ParseError()
|
|
`;H+="switch(contentType){",H+=`case 'application/json':
|
|
`+G.parser.json(g)+`break
|
|
case 'text/plain':`+G.parser.text(g)+`break
|
|
case 'application/x-www-form-urlencoded':`+G.parser.urlencoded(g)+`break
|
|
case 'application/octet-stream':`+G.parser.arrayBuffer(g)+`break
|
|
case 'multipart/form-data':`+G.parser.formData(g)+`break
|
|
`;for(let D of Object.keys(X["~parser"]))H+=`case '${D}':let bo${D}=parser['${D}'](c,contentType)
|
|
if(bo${D} instanceof Promise)bo${D}=await bo${D}
|
|
if(bo${D} instanceof ElysiaCustomStatusResponse)throw result
|
|
if(bo${D}!==undefined)c.body=bo${D}
|
|
break
|
|
`;if($.parse?.length)H+="}";H+="}"}}H+=`
|
|
delete c.contentType`,H+=`
|
|
isParsing=false
|
|
`}if(t0.resolve(),$?.transform){let g=d8("transform",{total:$.transform.length});if($.transform.length)H+=`let transformed
|
|
`;for(let C=0;C<$.transform.length;C++){let x=$.transform[C],u=g.resolveChild(x.fn.name);if(H+=G0(x)?`transformed=await e.transform[${C}](c)
|
|
`:`transformed=e.transform[${C}](c)
|
|
`,x.subType==="mapDerive")H+=`if(transformed instanceof ElysiaCustomStatusResponse)throw transformed
|
|
else{transformed.request=c.request
|
|
transformed.store=c.store
|
|
transformed.qi=c.qi
|
|
transformed.path=c.path
|
|
transformed.url=c.url
|
|
transformed.redirect=c.redirect
|
|
transformed.set=c.set
|
|
transformed.error=c.error
|
|
c=transformed}`;else H+=`if(transformed instanceof ElysiaCustomStatusResponse)throw transformed
|
|
else Object.assign(c,transformed)
|
|
`;u()}g.resolve()}if(W){if(W.headers){if(J8&&"Clean"in W.headers&&!N2(W.headers))H+=`c.headers=validator.headers.Clean(c.headers);
|
|
`;if(dX("default",W.headers))for(let[g,C]of Object.entries(e.Default(W.headers.schema,{}))){let x=typeof C==="object"?JSON.stringify(C):typeof C==="string"?`'${C}'`:C;if(x!==void 0)H+=`c.headers['${g}']??=${x}
|
|
`}if(u2(W.headers))H+="if(isNotEmpty(c.headers)){";if(H+="if(validator.headers.Check(c.headers) === false){"+U8("headers")+"}",W2(W.headers.schema))H+=`c.headers=validator.headers.Decode(c.headers)
|
|
`;if(u2(W.headers))H+="}"}if(W.params){if(dX("default",W.params))for(let[g,C]of Object.entries(e.Default(W.params.schema,{}))){let x=typeof C==="object"?JSON.stringify(C):typeof C==="string"?`'${C}'`:C;if(x!==void 0)H+=`c.params['${g}']??=${x}
|
|
`}if(H+="if(validator.params.Check(c.params)===false){"+U8("params")+"}",W2(W.params.schema))H+=`c.params=validator.params.Decode(c.params)
|
|
`}if(W.query){if(J8&&"Clean"in W.query&&!N2(W.query))H+=`c.query=validator.query.Clean(c.query)
|
|
`;if(dX("default",W.query))for(let[g,C]of Object.entries(e.Default(W.query.schema,{}))){let x=typeof C==="object"?JSON.stringify(C):typeof C==="string"?`'${C}'`:C;if(x!==void 0)H+=`if(c.query['${g}']===undefined)c.query['${g}']=${x}
|
|
`}if(u2(W.query))H+="if(isNotEmpty(c.query)){";if(H+="if(validator.query.Check(c.query)===false){"+U8("query")+"}",W2(W.query.schema))H+=`c.query=validator.query.Decode(Object.assign({},c.query))
|
|
`;if(u2(W.query))H+="}"}if(W.body){if(J8&&"Clean"in W.body&&!N2(W.body))H+=`c.body=validator.body.Clean(c.body)
|
|
`;let g=W2(W.body.schema);if(g||u2(W.body))H+=`const isNotEmptyObject=c.body&&(typeof c.body==="object"&&isNotEmpty(c.body))
|
|
`;if(dX("default",W.body)){let C=W.body.schema,x=e.Default(C,C.type==="object"||C[A1.kind]==="Import"&&C.$defs[C.$ref][A1.kind]==="Object"?{}:void 0),u=typeof x==="object"?JSON.stringify(x):typeof x==="string"?`'${x}'`:x;if(H+="if(validator.body.Check(c.body)===false){",x!==void 0&&x!==null)H+=`if(typeof c.body==='object')c.body=Object.assign(${u},c.body)
|
|
else c.body=${u}
|
|
`;if(u2(W.body))H+="if(isNotEmptyObject&&validator.body.Check(c.body)===false){"+U8("body")+"}";else H+="if(validator.body.Check(c.body)===false){"+U8("body")+"}";H+="}"}else if(u2(W.body))H+="if(isNotEmptyObject&&validator.body.Check(c.body)===false){"+U8("body")+"}";else H+="if(validator.body.Check(c.body)===false){"+U8("body")+"}";if(g)H+=`if(isNotEmptyObject)c.body=validator.body.Decode(c.body)
|
|
`}if(k&&F2(k?.schema?.properties??k?.schema?.schema??{})){if(H+=`const cookieValue={}
|
|
for(const [key,value] of Object.entries(c.cookie))cookieValue[key]=value.value
|
|
`,dX("default",k))for(let[g,C]of Object.entries(e.Default(k.schema,{})))H+=`cookieValue['${g}'] = ${typeof C==="object"?JSON.stringify(C):C}
|
|
`;if(u2(W.cookie))H+="if(isNotEmpty(c.cookie)){";if(H+="if(validator.cookie.Check(cookieValue)===false){"+U8("cookie","cookieValue")+"}",W2(W.cookie.schema))H+=`for(const [key,value] of Object.entries(validator.cookie.Decode(cookieValue)))c.cookie[key].value=value
|
|
`;if(u2(W.cookie))H+="}"}}if($?.beforeHandle){let g=d8("beforeHandle",{total:$.beforeHandle.length}),C=!1;for(let x=0;x<$.beforeHandle.length;x++){let u=$.beforeHandle[x],r=g.resolveChild(u.fn.name),D=jZ(u);if(u.subType==="resolve"||u.subType==="mapResolve"){if(!C)C=!0,H+=`
|
|
let resolved
|
|
`;if(H+=G0(u)?`resolved=await e.beforeHandle[${x}](c);
|
|
`:`resolved=e.beforeHandle[${x}](c);
|
|
`,u.subType==="mapResolve")H+=`if(resolved instanceof ElysiaCustomStatusResponse)throw resolved
|
|
else{resolved.request = c.request
|
|
resolved.store = c.store
|
|
resolved.qi = c.qi
|
|
resolved.path = c.path
|
|
resolved.url = c.url
|
|
resolved.redirect = c.redirect
|
|
resolved.set = c.set
|
|
resolved.error = c.error
|
|
c = resolved}`;else H+=`if(resolved instanceof ElysiaCustomStatusResponse)throw resolved
|
|
else Object.assign(c, resolved)
|
|
`}else if(!D)H+=G0(u)?`await e.beforeHandle[${x}](c)
|
|
`:`e.beforeHandle[${x}](c)
|
|
`,r();else{if(H+=G0(u)?`be=await e.beforeHandle[${x}](c)
|
|
`:`be=e.beforeHandle[${x}](c)
|
|
`,r("be"),H+="if(be!==undefined){",g.resolve(),$.afterHandle?.length){d8("handle",{name:w?J.name:void 0}).resolve();let F=d8("afterHandle",{total:$.afterHandle.length});for(let p=0;p<$.afterHandle.length;p++){let v=$.afterHandle[p],c=jZ(v),T8=F.resolveChild(v.fn.name);if(H+=`c.response = be
|
|
`,!c)H+=G0(v.fn)?`await e.afterHandle[${p}](c, be)
|
|
`:`e.afterHandle[${p}](c, be)
|
|
`;else H+=G0(v.fn)?`af = await e.afterHandle[${p}](c)
|
|
`:`af = e.afterHandle[${p}](c)
|
|
`,H+=`if(af!==undefined) c.response=be=af
|
|
`;T8("af")}F.resolve()}if(W.response)H+=H0("be");let T=d8("mapResponse",{total:$.mapResponse?.length});if($.mapResponse?.length){H+=`c.response=be
|
|
`;for(let F=0;F<$.mapResponse.length;F++){let p=$.mapResponse[F],v=T.resolveChild(p.fn.name);H+=`if(mr===undefined){mr=${i1(p)?"await ":""}e.mapResponse[${F}](c)
|
|
if(mr!==undefined)be=c.response=mr}`,v()}}T.resolve(),H+=$8,H+=`return mapEarlyResponse(${C0}be,c.set${E8})}
|
|
`}}g.resolve()}if($.afterHandle?.length){let g=d8("handle",{name:w?J.name:void 0});if($.afterHandle.length)H+=l2?`let r=c.response=await ${B}
|
|
`:`let r=c.response=${B}
|
|
`;else H+=l2?`let r=await ${B}
|
|
`:`let r=${B}
|
|
`;g.resolve();let C=d8("afterHandle",{total:$.afterHandle.length});for(let u=0;u<$.afterHandle.length;u++){let r=$.afterHandle[u],D=jZ(r),T=C.resolveChild(r.fn.name);if(!D)H+=G0(r.fn)?`await e.afterHandle[${u}](c)
|
|
`:`e.afterHandle[${u}](c)
|
|
`,T();else if(H+=G0(r.fn)?`af=await e.afterHandle[${u}](c)
|
|
`:`af=e.afterHandle[${u}](c)
|
|
`,T("af"),W.response)H+="if(af!==undefined){",C.resolve(),H+=H0("af"),H+="c.response=af}";else H+="if(af!==undefined){",C.resolve(),H+="c.response=af}"}if(C.resolve(),H+=`r=c.response
|
|
`,W.response)H+=H0();H+=$8;let x=d8("mapResponse",{total:$.mapResponse?.length});if($.mapResponse?.length)for(let u=0;u<$.mapResponse.length;u++){let r=$.mapResponse[u],D=x.resolveChild(r.fn.name);H+=`mr=${i1(r)?"await ":""}e.mapResponse[${u}](c)
|
|
if(mr!==undefined)r=c.response=mr
|
|
`,D()}if(x.resolve(),j2)H+=`return mapResponse(${C0}r,c.set${E8})
|
|
`;else H+=`return mapCompactResponse(${C0}r${E8})
|
|
`}else{let g=d8("handle",{name:w?J.name:void 0});if(W.response||$.mapResponse?.length){if(H+=l2?`let r=await ${B}
|
|
`:`let r=${B}
|
|
`,g.resolve(),W.response)H+=H0();d8("afterHandle").resolve();let C=d8("mapResponse",{total:$.mapResponse?.length});if($.mapResponse?.length){H+=`
|
|
c.response=r
|
|
`;for(let x=0;x<$.mapResponse.length;x++){let u=$.mapResponse[x],r=C.resolveChild(u.fn.name);H+=`
|
|
if(mr===undefined){mr=${i1(u)?"await ":""}e.mapResponse[${x}](c)
|
|
if(mr!==undefined)r=c.response=mr}
|
|
`,r()}}if(C.resolve(),H+=$8,J instanceof Response)H+=Q.set?`if(isNotEmpty(c.set.headers)||c.set.status!==200||c.set.redirect||c.set.cookie)return mapResponse(${C0}${B}.clone(),c.set${E8})else return ${B}.clone()`:`return ${B}.clone()`,H+=`
|
|
`;else if(j2)H+=`return mapResponse(${C0}r,c.set${E8})
|
|
`;else H+=`return mapCompactResponse(${C0}r${E8})
|
|
`}else if(P||S){H+=l2?`let r=await ${B}
|
|
`:`let r=${B}
|
|
`,g.resolve(),d8("afterHandle").resolve();let C=d8("mapResponse",{total:$.mapResponse?.length});if($.mapResponse?.length){H+=`c.response= r
|
|
`;for(let x=0;x<$.mapResponse.length;x++){let u=$.mapResponse[x],r=C.resolveChild(u.fn.name);H+=`if(mr===undefined){mr=${i1(u)?"await ":""}e.mapResponse[${x}](c)
|
|
if(mr!==undefined)r=c.response=mr}`,r()}}if(C.resolve(),H+=$8,j2)H+=`return mapResponse(${C0}r,c.set${E8})
|
|
`;else H+=`return mapCompactResponse(${C0}r${E8})
|
|
`}else{g.resolve();let C=l2?`await ${B}`:B;if(d8("afterHandle").resolve(),J instanceof Response)H+=Q.set?`if(isNotEmpty(c.set.headers)||c.set.status!==200||c.set.redirect||c.set.cookie)return mapResponse(${C0}${B}.clone(),c.set${E8})
|
|
else return ${B}.clone()
|
|
`:`return ${B}.clone()
|
|
`;else if(j2)H+=`return mapResponse(${C0}${C},c.set${E8})
|
|
`;else H+=`return mapCompactResponse(${C0}${C}${E8})
|
|
`}}if(H+=`
|
|
}catch(error){`,s)H+=`if(isParsing)error=new ParseError()
|
|
`;if(!tX)H+="return(async()=>{";if(H+=`const set=c.set
|
|
if(!set.status||set.status<300)set.status=error?.status||500
|
|
`,S&&$.trace)for(let g=0;g<$.trace.length;g++)H+=`report${g}?.resolve(error);reportChild${g}?.(error)
|
|
`;let SX=d8("error",{total:$.error?.length});if($.error?.length){if(H+=`c.error=error
|
|
`,E)H+=`if(error instanceof TypeBoxError){c.code="VALIDATION"
|
|
c.set.status=422}else{c.code=error.code??error[ERROR_CODE]??"UNKNOWN"}`;else H+=`c.code=error.code??error[ERROR_CODE]??"UNKNOWN"
|
|
`;H+=`let er
|
|
`;for(let g=0;g<$.error.length;g++){let C=SX.resolveChild($.error[g].fn.name);if(G0($.error[g]))H+=`er=await e.error[${g}](c)
|
|
`;else H+=`er=e.error[${g}](c)
|
|
if(er instanceof Promise)er=await er
|
|
`;C();let x=d8("mapResponse",{total:$.mapResponse?.length});if($.mapResponse?.length)for(let u=0;u<$.mapResponse.length;u++){let r=$.mapResponse[u],D=x.resolveChild(r.fn.name);H+=`c.response=er
|
|
er=e.mapResponse[${u}](c)
|
|
if(er instanceof Promise)er=await er
|
|
`,D()}if(x.resolve(),H+=`er=mapEarlyResponse(er,set${E8})
|
|
`,H+="if(er){",S&&$.trace){for(let u=0;u<$.trace.length;u++)H+=`report${u}.resolve()
|
|
`;SX.resolve()}H+="return er}"}}if(SX.resolve(),H+="return handleError(c,error,true)",!tX)H+="})()";if(H+="}",N||S){if(H+="finally{ ",!tX)H+=";(async()=>{";let g=d8("afterResponse",{total:$.afterResponse?.length});if(N&&$.afterResponse)for(let C=0;C<$.afterResponse.length;C++){let x=g.resolveChild($.afterResponse[C].fn.name);H+=`
|
|
await e.afterResponse[${C}](c)
|
|
`,x()}if(g.resolve(),!tX)H+="})()";H+="}"}let VX=G.inject?Object.keys(G.inject).join(",")+",":"",S2="const {handler,handleError,hooks:e, "+B0("validator,",E)+"mapResponse,mapCompactResponse,mapEarlyResponse,isNotEmpty,utils:{"+B0("parseQuery,",s)+B0("parseQueryFromURL,",h)+"},error:{"+B0("ValidationError,",E)+"InternalServerError,"+B0("ParseError",s)+"},schema,definitions,ERROR_CODE,"+B0("parseCookie,",P)+B0("signCookie,",P)+B0("decodeURIComponent,",h)+"ElysiaCustomStatusResponse,"+B0("ELYSIA_TRACE,",S)+B0("ELYSIA_REQUEST_ID,",S)+B0("parser,",$.parse?.length)+B0("getServer,",Q.server)+VX+B0("TypeBoxError",E)+`}=hooks
|
|
const trace=e.trace?.map(x=>typeof x==='function'?x:x.fn)??[]
|
|
return ${tX?"async ":""}function handle(c){`;if($.beforeHandle?.length)S2+=`let be
|
|
`;if($.afterHandle?.length)S2+=`let af
|
|
`;if($.mapResponse?.length)S2+=`let mr
|
|
`;if(z)S2+=`c.schema = schema
|
|
c.defs = definitions
|
|
`;S2+=H+"}";try{if(M)return Function("hooks",S2);return Function("hooks",S2)({handler:J,hooks:U5($),validator:E?W:void 0,handleError:X.handleError,mapResponse:U.mapResponse,mapCompactResponse:U.mapCompactResponse,mapEarlyResponse:U.mapEarlyResponse,isNotEmpty:F2,utils:{parseQuery:s?SY:void 0,parseQueryFromURL:h?hN:void 0},error:{ValidationError:E?Q8:void 0,InternalServerError:E5,ParseError:s?C5:void 0},schema:X.router.history,definitions:X.definitions.type,ERROR_CODE:CY,parseCookie:P?y5:void 0,signCookie:P?EY:void 0,decodeURIComponent:h?hX:void 0,ElysiaCustomStatusResponse:o2,ELYSIA_TRACE:S?H6:void 0,ELYSIA_REQUEST_ID:S?TY:void 0,getServer:()=>X.getServer(),TypeBoxError:E?n:void 0,parser:X["~parser"],...G.inject})}catch(g){let C=U5($);console.log("[Composer] failed to generate optimized handler"),console.log("---"),console.log({handler:typeof J==="function"?J.toString():J,instruction:S2,hooks:{...C,transform:C?.transform?.map?.((x)=>x.toString()),resolve:C?.resolve?.map?.((x)=>x.toString()),beforeHandle:C?.beforeHandle?.map?.((x)=>x.toString()),afterHandle:C?.afterHandle?.map?.((x)=>x.toString()),mapResponse:C?.mapResponse?.map?.((x)=>x.toString()),parse:C?.parse?.map?.((x)=>x.toString()),error:C?.error?.map?.((x)=>x.toString()),afterResponse:C?.afterResponse?.map?.((x)=>x.toString()),stop:C?.stop?.map?.((x)=>x.toString())},validator:W,definitions:X.definitions.type,error:g,fnLiteral:H}),console.log("---"),process.exit(1)}},Y6=(X,{asManifest:Z=!1}={})=>{let Y=X["~adapter"].composeGeneralHandler;X.router.http.build();let $=Y.error404(!!X.event.request?.length,!!X.event.error?.length),W=X.event.trace?.length,J="",z=X.router,Q="const route=router.find(r.method,p)";Q+=z.http.root.ALL?`??router.find("ALL",p)
|
|
`:`
|
|
`,Q+=$.code,Q+=`
|
|
c.params=route.params
|
|
if(route.store.handler)return route.store.handler(c)
|
|
return (route.store.handler=route.store.compile())(c)
|
|
`;let M="";for(let[N,S]of Object.entries(z.static.http.map)){if(M+=`case'${N}':`,X.config.strictPath!==!0)M+=`case'${c1(N)}':`;let H=qZ(N);if(N!==H)M+=`case'${H}':`;M+=`switch(r.method){${S.code}
|
|
`+(S.all??"default: break map")+"}"}let G=!!X.event.request?.some(G0),U=Y.inject?Object.keys(Y.inject).join(",")+",":"";if(J+=`
|
|
const {app,mapEarlyResponse,NotFoundError,randomId,handleError,error,redirect,`+B0("ELYSIA_TRACE,",W)+B0("ELYSIA_REQUEST_ID,",W)+U+`}=data
|
|
const store=app.singleton.store
|
|
const decorator=app.singleton.decorator
|
|
const staticRouter=app.router.static.http
|
|
const ht=app.router.history
|
|
const router=app.router.http
|
|
const trace=app.event.trace?.map(x=>typeof x==='function'?x:x.fn)??[]
|
|
const notFound=new NotFoundError()
|
|
const hoc=app.extender.higherOrderFunctions.map(x=>x.fn)
|
|
`,X.event.request?.length)J+=`const onRequest=app.event.request.map(x=>x.fn)
|
|
`;if(J+=$.declare,X.event.trace?.length)J+="const "+X.event.trace.map((N,S)=>`tr${S}=app.event.trace[${S}].fn`).join(",")+`
|
|
`;if(J+=`${G?"async ":""}function map(${Y.parameters}){`,X.event.request?.length)J+=`let re
|
|
`;if(J+=Y.createContext(X),X.event.trace?.length)J+="c[ELYSIA_TRACE]=["+X.event.trace.map((N,S)=>`tr${S}(c)`).join(",")+`]
|
|
`;let w=D6({trace:X.event.trace,addFn(N){J+=N}})("request",{total:X.event.request?.length});if(X.event.request?.length){J+="try{";for(let N=0;N<X.event.request.length;N++){let S=X.event.request[N],H=jZ(S),E=G0(S),h=w.resolveChild(X.event.request[N].fn.name);if(H)J+=`re=mapEarlyResponse(${E?"await ":""}onRequest[${N}](c),c.set)
|
|
`,h("re"),J+=`if(re!==undefined)return re
|
|
`;else J+=`${E?"await ":""}onRequest[${N}](c)
|
|
`,h()}J+="}catch(error){return app.handleError(c,error,false)}"}if(w.resolve(),J+=Y.websocket(X),J+=`
|
|
map:switch(p){
|
|
`+M+"default:break}"+Q+`}
|
|
`,X.extender.higherOrderFunctions.length){let N="map";for(let S=0;S<X.extender.higherOrderFunctions.length;S++)N=`hoc[${S}](${N},${Y.parameters})`;J+=`return function hocMap(${Y.parameters}){return ${N}(${Y.parameters})}`}else J+="return map";let B=p5(X);return X.handleError=B,Function("data",J)({app:X,mapEarlyResponse:X["~adapter"].handler.mapEarlyResponse,NotFoundError:U6,randomId:V5,handleError:B,error:_1,redirect:S5,ELYSIA_TRACE:W?H6:void 0,ELYSIA_REQUEST_ID:W?TY:void 0,...Y.inject})},p5=(X)=>{let Z=X.event,Y="",$=X["~adapter"].composeError,W=$.inject?Object.keys($.inject).join(",")+",":"",J=!!X.event.trace?.length;if(Y+="const {app:{event:{error:onErrorContainer,afterResponse:resContainer,mapResponse:_onMapResponse,trace:_trace}},mapResponse,ERROR_CODE,ElysiaCustomStatusResponse,"+B0("ELYSIA_TRACE,",J)+B0("ELYSIA_REQUEST_ID,",J)+W+`}=inject
|
|
`,Y+=`const trace=_trace?.map(x=>typeof x==='function'?x:x.fn)??[]
|
|
const onMapResponse=[]
|
|
if(_onMapResponse)for(let i=0;i<_onMapResponse.length;i++)onMapResponse.push(_onMapResponse[i].fn??_onMapResponse[i])
|
|
delete _onMapResponse
|
|
const onError=onErrorContainer?.map(x=>x.fn)??[]
|
|
const res=resContainer?.map(x=>x.fn)??[]
|
|
return ${X.event.error?.find(G0)||X.event.mapResponse?.find(G0)?"async ":""}function(context,error,skipGlobal){`,Y+="",J)Y+=`const id=context[ELYSIA_REQUEST_ID]
|
|
`;let z=D6({context:"context",trace:Z.trace,addFn:(G)=>{Y+=G}});if(Y+=`const set=context.set
|
|
let _r
|
|
if(!context.code)context.code=error.code??error[ERROR_CODE]
|
|
if(!(context.error instanceof Error))context.error=error
|
|
if(error instanceof ElysiaCustomStatusResponse){set.status=error.status=error.code
|
|
error.message=error.response}`,$.declare)Y+=$.declare;let Q=J||!!Z.afterResponse?.length||!!Z.afterResponse?.length?"context.response = ":"";if(X.event.error)for(let G=0;G<X.event.error.length;G++){let U=X.event.error[G],w=`${G0(U)?"await ":""}onError[${G}](context)
|
|
`;if(Y+="if(skipGlobal!==true){",jZ(U)){Y+=`_r=${w}
|
|
if(_r!==undefined){if(_r instanceof Response)return mapResponse(_r,set${$.mapResponseContext})
|
|
if(_r instanceof ElysiaCustomStatusResponse){error.status=error.code
|
|
error.message = error.response}if(set.status===200||!set.status)set.status=error.status
|
|
`;let B=z("mapResponse",{total:Z.mapResponse?.length,name:"context"});if(Z.mapResponse?.length)for(let N=0;N<Z.mapResponse.length;N++){let S=Z.mapResponse[N],H=B.resolveChild(S.fn.name);Y+=`context.response=_r_r=${i1(S)?"await ":""}onMapResponse[${N}](context)
|
|
`,H()}B.resolve(),Y+=`return mapResponse(${Q}_r,set${$.mapResponseContext})}`}else Y+=w;Y+="}"}Y+=`if(error.constructor.name==="ValidationError"||error.constructor.name==="TransformDecodeError"){if(error.error)error=error.error
|
|
set.status=error.status??422
|
|
`+$.validationError+"}",Y+="if(error instanceof Error){"+$.unknownError+"}";let M=z("mapResponse",{total:Z.mapResponse?.length,name:"context"});if(Y+=`
|
|
if(!context.response)context.response=error.message??error
|
|
`,Z.mapResponse?.length){Y+=`let mr
|
|
`;for(let G=0;G<Z.mapResponse.length;G++){let U=Z.mapResponse[G],w=M.resolveChild(U.fn.name);Y+=`if(mr===undefined){mr=${i1(U)?"await ":""}onMapResponse[${G}](context)
|
|
if(mr!==undefined)error=context.response=mr}`,w()}}return M.resolve(),Y+=`
|
|
return mapResponse(${Q}error,set${$.mapResponseContext})}`,Function("inject",Y)({app:X,mapResponse:X["~adapter"].handler.mapResponse,ERROR_CODE:CY,ElysiaCustomStatusResponse:o2,ELYSIA_TRACE:J?H6:void 0,ELYSIA_REQUEST_ID:J?TY:void 0,...$.inject})},$6=(X,Z)=>{for(let[Y,$]of Object.entries(X.schema.properties))Z[Y]??=$.default},B5=(X)=>{let{mapResponse:Z,mapEarlyResponse:Y}=X["~adapter"].handler;return async($)=>{let W=$.url,J=W.indexOf("/",11),z=W.indexOf("?",J+1),Q=z===-1?W.substring(J):W.substring(J,z),M={cookie:{},status:200,headers:{}},G=Object.assign({},X.singleton.decorator,{set:M,store:X.singleton.store,request:$,path:Q,qi:z,error:_1,redirect:S5});try{if(X.event.request)for(let P=0;P<X.event.request.length;P++){let k=X.event.request[P].fn,b=k(G);if(b instanceof Promise)b=await b;if(b=Y(b,M),b)return G.response=b}let U=X.router.dynamic.find($.method,Q)??X.router.dynamic.find("ALL",Q);if(!U)throw new U6;let{handle:w,hooks:B,validator:N,content:S,route:H}=U.store,E;if($.method!=="GET"&&$.method!=="HEAD")if(S)switch(S){case"application/json":E=await $.json();break;case"text/plain":E=await $.text();break;case"application/x-www-form-urlencoded":E=SY(await $.text());break;case"application/octet-stream":E=await $.arrayBuffer();break;case"multipart/form-data":E={};let P=await $.formData();for(let k of P.keys()){if(E[k])continue;let b=P.getAll(k);if(b.length===1)E[k]=b[0];else E[k]=b}break}else{let P=$.headers.get("content-type");if(P){let k=P.indexOf(";");if(k!==-1)P=P.slice(0,k);if(G.contentType=P,B.parse)for(let b=0;b<B.parse.length;b++){let $8=B.parse[b].fn,J8=$8(G,P);if(J8 instanceof Promise)J8=await J8;if(J8){E=J8;break}}if(delete G.contentType,E===void 0)switch(P){case"application/json":E=await $.json();break;case"text/plain":E=await $.text();break;case"application/x-www-form-urlencoded":E=SY(await $.text());break;case"application/octet-stream":E=await $.arrayBuffer();break;case"multipart/form-data":E={};let b=await $.formData();for(let $8 of b.keys()){if(E[$8])continue;let J8=b.getAll($8);if(J8.length===1)E[$8]=J8[0];else E[$8]=J8}break}}}G.route=H,G.body=E,G.params=U?.params||void 0,G.query=z===-1?{}:SY(W.substring(z+1)),G.headers={};for(let[P,k]of $.headers.entries())G.headers[P]=k;let h=Object.assign({},X.config?.cookie,N?.cookie?.config),Y8=$.headers.get("cookie");G.cookie=await y5(G.set,Y8,h?{secrets:h.secrets!==void 0?typeof h.secrets==="string"?h.secrets:h.secrets.join(","):void 0,sign:h.sign===!0?!0:h.sign!==void 0?typeof h.sign==="string"?h.sign:h.sign.join(","):void 0}:void 0);let s=N?.createHeaders?.();if(s)$6(s,G.headers);let V8=N?.createParams?.();if(V8)$6(V8,G.params);let G8=N?.createQuery?.();if(G8)$6(G8,G.query);if(B.transform)for(let P=0;P<B.transform.length;P++){let k=B.transform[P],b=k.fn(G);if(k.subType==="derive")if(b instanceof Promise)Object.assign(G,await b);else Object.assign(G,b);else if(b instanceof Promise)await b}if(N){if(s){let P=structuredClone(G.headers);for(let[k,b]of $.headers)P[k]=b;if(N.headers.Check(P)===!1)throw new Q8("header",N.headers,P)}else if(N.headers?.Decode)G.headers=N.headers.Decode(G.headers);if(V8?.Check(G.params)===!1)throw new Q8("params",N.params,G.params);else if(N.params?.Decode)G.params=N.params.Decode(G.params);if(G8?.Check(G.query)===!1)throw new Q8("query",N.query,G.query);else if(N.query?.Decode)G.query=N.query.Decode(G.query);if(N.createCookie?.()){let P={};for(let[k,b]of Object.entries(G.cookie))P[k]=b.value;if(N.cookie.Check(P)===!1)throw new Q8("cookie",N.cookie,P);else if(N.cookie?.Decode)P=N.cookie.Decode(P)}if(N.createBody?.()?.Check(E)===!1)throw new Q8("body",N.body,E);else if(N.body?.Decode)G.body=N.body.Decode(E)}if(B.beforeHandle)for(let P=0;P<B.beforeHandle.length;P++){let k=B.beforeHandle[P],b=k.fn(G);if(k.subType==="resolve"){if(b instanceof o2){let $8=Y(b,G.set);if($8)return G.response=$8}if(b instanceof Promise)Object.assign(G,await b);else Object.assign(G,b);continue}else if(b instanceof Promise)b=await b;if(b!==void 0){if(G.response=b,B.afterHandle)for(let J8=0;J8<B.afterHandle.length;J8++){let X8=B.afterHandle[J8].fn(G);if(X8 instanceof Promise)X8=await X8;if(X8)b=X8}let $8=Y(b,G.set);if($8)return G.response=$8}}let I=typeof w==="function"?w(G):w;if(I instanceof Promise)I=await I;if(B.afterHandle)if(!B.afterHandle.length){let P=I instanceof o2?I.code:M.status?typeof M.status==="string"?xY[M.status]:M.status:200,k=N?.createResponse?.()?.[P];if(k?.Check(I)===!1)throw new Q8("response",k,I);else if(k?.Decode)I=k.Decode(I)}else{G.response=I;for(let P=0;P<B.afterHandle.length;P++){let k=B.afterHandle[P].fn(G);if(k instanceof Promise)k=await k;let b=Y(k,G.set);if(b!==void 0){let $8=N?.response?.[b.status];if($8?.Check(b)===!1)throw new Q8("response",$8,b);else if($8?.Decode)I=$8.Decode(I);return G.response=b}}}if(G.set.cookie&&h?.sign){let P=!h.secrets?void 0:typeof h.secrets==="string"?h.secrets:h.secrets[0];if(h.sign===!0)for(let[k,b]of Object.entries(G.set.cookie))G.set.cookie[k].value=await EY(b.value,"${secret}");else{let k=N?.cookie?.schema?.properties;for(let b of h.sign){if(!(b in k))continue;if(G.set.cookie[b]?.value)G.set.cookie[b].value=await EY(G.set.cookie[b].value,P)}}}return Z(G.response=I,G.set)}catch(U){let w=U instanceof DY&&U.error?U.error:U;return X.handleError(G,w)}finally{if(X.event.afterResponse)for(let U of X.event.afterResponse)await U.fn(G)}}},nN=(X)=>{let{mapResponse:Z}=X["~adapter"].handler;return async(Y,$)=>{let W=Object.assign(Y,{error:$,code:$.code});if(W.set=Y.set,X.event.error)for(let J=0;J<X.event.error.length;J++){let z=X.event.error[J].fn(W);if(z instanceof Promise)z=await z;if(z!==void 0&&z!==null)return Y.response=Z(z,Y.set)}return new Response(typeof $.cause==="string"?$.cause:$.message,{headers:Y.set.headers,status:$.status??500})}};class O2{config;server=null;dependencies={};_routes={};_types={Prefix:"",Singleton:{},Definitions:{},Metadata:{}};_ephemeral={};_volatile={};singleton={decorator:{},store:{},derive:{},resolve:{}};get store(){return this.singleton.store}get decorator(){return this.singleton.decorator}definitions={typebox:_.Module({}),type:{},error:{}};extender={macros:[],higherOrderFunctions:[]};validator={global:null,scoped:null,local:null,getCandidate(){return FZ(FZ(this.global,this.scoped),this.local)}};event={};telemetry={stack:void 0};router={"~http":void 0,get http(){if(!this["~http"])this["~http"]=new sX({lazy:!0});return this["~http"]},"~dynamic":void 0,get dynamic(){if(!this["~dynamic"])this["~dynamic"]=new sX;return this["~dynamic"]},static:{http:{static:{},map:{},all:""},ws:{}},history:[]};routeTree=new Map;get routes(){return this.router.history}getGlobalRoutes(){return this.router.history}inference={body:!1,cookie:!1,headers:!1,query:!1,set:!1,server:!1,request:!1,route:!1};getServer(){return this.server}getParent(){return null}"~parser"={};_promisedModules;get promisedModules(){if(!this._promisedModules)this._promisedModules=new j5;return this._promisedModules}constructor(X={}){if(X.tags)if(!X.detail)X.detail={tags:X.tags};else X.detail.tags=X.tags;if(X.nativeStaticResponse===void 0)X.nativeStaticResponse=!0;if(this.config={},this.applyConfig(X??{}),this["~adapter"]=X.adapter??(typeof Bun!=="undefined"?yN:jY),X?.analytic&&(X?.name||X?.seed!==void 0))this.telemetry.stack=new Error().stack}"~adapter";env(X,Z=F5){if(u0(X,{modules:this.definitions.typebox,dynamic:!0,additionalProperties:!0,coerce:!0}).Check(Z)===!1){let Y=new Q8("env",X,Z);throw new Error(Y.all.map(($)=>$.summary).join(`
|
|
`))}return this}wrap(X){return this.extender.higherOrderFunctions.push({checksum:BZ(JSON.stringify({name:this.config.name,seed:this.config.seed,content:X.toString()})),fn:X}),this}applyMacro(X){if(this.extender.macros.length){let Z=LN({globalHook:this.event,localHook:X}),Y={events:{global:this.event,local:X},get onParse(){return Z("parse")},get onTransform(){return Z("transform")},get onBeforeHandle(){return Z("beforeHandle")},get onAfterHandle(){return Z("afterHandle")},get mapResponse(){return Z("mapResponse")},get onAfterResponse(){return Z("afterResponse")},get onError(){return Z("error")}};for(let $ of this.extender.macros)NN($.fn(Y),X,Z)}}applyConfig(X){return this.config={prefix:"",aot:F5.ELYSIA_AOT!=="false",normalize:!0,...X,cookie:{path:"/",...X?.cookie},experimental:X?.experimental??{},seed:X?.seed===void 0?"":X?.seed},this}get models(){let X={};for(let Z of Object.keys(this.definitions.type))X[Z]=u0(this.definitions.typebox.Import(Z));return X.modules=this.definitions.typebox,X}add(X,Z,Y,$,{allowMeta:W=!1,skipPrefix:J=!1}={allowMeta:!1,skipPrefix:!1}){if($=Z6(BN($)),Z!==""&&Z.charCodeAt(0)!==47)Z="/"+Z;if(this.config.prefix&&!J)Z=this.config.prefix+Z;if($?.type)switch($.type){case"text":$.type="text/plain";break;case"json":$.type="application/json";break;case"formdata":$.type="multipart/form-data";break;case"urlencoded":$.type="application/x-www-form-urlencoded";break;case"arrayBuffer":$.type="application/octet-stream";break;default:break}let z=this.definitions.type,Q=!this.config.aot,M={...this.validator.getCandidate()},G={body:$?.body??M?.body,headers:$?.headers??M?.headers,params:$?.params??M?.params,query:$?.query??M?.query,cookie:$?.cookie??M?.cookie,response:$?.response??M?.response},U=()=>G.cookie?R5({modules:B,validator:G.cookie,defaultConfig:this.config.cookie,config:G.cookie?.config??{},dynamic:Q,models:z}):void 0,w=this.config.normalize,B=this.definitions.typebox,N=this.config.precompile===!0||typeof this.config.precompile==="object"&&this.config.precompile.schema===!0?{body:u0(G.body,{modules:B,dynamic:Q,models:z,normalize:w,additionalCoerce:W5()}),headers:u0(G.headers,{modules:B,dynamic:Q,models:z,additionalProperties:!this.config.normalize,coerce:!0,additionalCoerce:M1()}),params:u0(G.params,{modules:B,dynamic:Q,models:z,coerce:!0,additionalCoerce:M1()}),query:u0(G.query,{modules:B,dynamic:Q,models:z,normalize:w,coerce:!0,additionalCoerce:M1()}),cookie:U(),response:$5(G.response,{modules:B,dynamic:Q,models:z,normalize:w})}:{createBody(){if(this.body)return this.body;return this.body=u0(G.body,{modules:B,dynamic:Q,models:z,normalize:w,additionalCoerce:W5()})},createHeaders(){if(this.headers)return this.headers;return this.headers=u0(G.headers,{modules:B,dynamic:Q,models:z,additionalProperties:!w,coerce:!0,additionalCoerce:M1()})},createParams(){if(this.params)return this.params;return this.params=u0(G.params,{modules:B,dynamic:Q,models:z,coerce:!0,additionalCoerce:M1()})},createQuery(){if(this.query)return this.query;return this.query=u0(G.query,{modules:B,dynamic:Q,models:z,coerce:!0,additionalCoerce:M1()})},createCookie(){if(this.cookie)return this.cookie;return this.cookie=U()},createResponse(){if(this.response)return this.response;return this.response=$5(G.response,{modules:B,dynamic:Q,models:z,normalize:w})}};if($=FX($,Z6(M)),$.tags)if(!$.detail)$.detail={tags:$.tags};else $.detail.tags=$.tags;if(F2(this.config.detail))$.detail=c0(Object.assign({},this.config.detail),$.detail);this.applyMacro($);let S=Z6(FX(this.event,$));if(this.config.aot===!1){this.router.dynamic.add(X,Z,{validator:N,hooks:S,content:$?.type,handle:Y,route:Z});let X8=qZ(Z,{dynamic:!0});if(Z!==X8)this.router.dynamic.add(X,X8,{validator:N,hooks:S,content:$?.type,handle:Y,route:Z});if(this.config.strictPath===!1){let U8=c1(Z);this.router.dynamic.add(X,U8,{validator:N,hooks:S,content:$?.type,handle:Y,route:Z});let H0=qZ(U8);if(U8!==H0)this.router.dynamic.add(X,U8,{validator:N,hooks:S,content:$?.type,handle:Y,route:Z})}this.router.history.push({method:X,path:Z,composed:null,handler:Y,hooks:S});return}let H=this.config.precompile===!0||typeof this.config.precompile==="object"&&this.config.precompile.compose===!0,E=X6(this.inference),h=this["~adapter"].handler,Y8=typeof Y!=="function"&&typeof h.createStaticHandler==="function"?h.createStaticHandler(Y,S,this.setHeaders):void 0,s=typeof Y!=="function"?h.createNativeStaticHandler?.(Y,S,this.setHeaders):void 0;if(this.config.nativeStaticResponse===!0&&s&&(X==="GET"||X==="ALL"))this.router.static.http.static[Z]=s();let V8=(X8=!1)=>oN({app:this,path:Z,method:X,hooks:S,validator:N,handler:typeof Y!=="function"&&typeof h.createStaticHandler!=="function"?()=>Y:Y,allowMeta:W,inference:E,asManifest:X8}),G8;if(this.routeTree.has(X+Z))for(let X8=0;X8<this.router.history.length;X8++){let U8=this.router.history[X8];if(U8.path===Z&&U8.method===X){G8=X8;break}}else this.routeTree.set(X+Z,this.router.history.length);let I=this.router.history,P=G8??this.router.history.length,k=H?V8():(X8)=>{let U8=(I[P].composed=V8())(X8);return V8=void 0,U8};if(H)V8=void 0;let b=X==="$INTERNALWS";if(G8!==void 0)this.router.history[G8]=Object.assign({method:X,path:Z,composed:k,handler:Y,hooks:S},$.webSocket?{websocket:$.websocket}:{});else this.router.history.push(Object.assign({method:X,path:Z,composed:k,handler:Y,hooks:S},$.webSocket?{websocket:$.websocket}:{}));let $8=this.router.static.http,J8={handler:H?k:void 0,compile(){return this.handler=V8()}};if(b){if(this.router.http.add("ws",Z,J8),!this.config.strictPath)this.router.http.add("ws",c1(Z),J8);let X8=qZ(Z,{dynamic:!0});if(X8!==Z)this.router.http.add("ws",X8,J8);return}if(Z.indexOf(":")===-1&&Z.indexOf("*")===-1){if(!$8.map[Z])$8.map[Z]={code:""};let X8=Y8?"":"c";if(X==="ALL")$8.map[Z].all=`default:return ht[${P}].composed(${X8})
|
|
`;else $8.map[Z].code=`case '${X}':return ht[${P}].composed(${X8})
|
|
${$8.map[Z].code}`;if(!this.config.strictPath&&this.config.nativeStaticResponse===!0&&s&&(X==="GET"||X==="ALL"))this.router.static.http.static[c1(Z)]=s()}else{if(this.router.http.add(X,Z,J8),!this.config.strictPath){let U8=c1(Z);if(this.config.nativeStaticResponse===!0&&Y8&&(X==="GET"||X==="ALL"))this.router.static.http.static[U8]=Y8();this.router.http.add(X,U8,J8)}let X8=qZ(Z,{dynamic:!0});if(Z!==X8){if(this.router.http.add(X,X8,J8),this.config.nativeStaticResponse===!0&&Y8&&(X==="GET"||X==="ALL"))this.router.static.http.static[X8]=Y8();this.router.http.add(X,X8,J8)}}}setHeaders;headers(X){if(!X)return this;if(!this.setHeaders)this.setHeaders={};return this.setHeaders=c0(this.setHeaders,X),this}onStart(X){return this.on("start",X),this}onRequest(X){return this.on("request",X),this}onParse(X,Z){if(!Z){if(typeof X==="string")return this.on("parse",this["~parser"][X]);return this.on("parse",X)}return this.on(X,"parse",Z)}parser(X,Z){return this["~parser"][X]=Z,this}onTransform(X,Z){if(!Z)return this.on("transform",X);return this.on(X,"transform",Z)}resolve(X,Z){if(!Z)Z=X,X={as:"local"};let Y={subType:"resolve",fn:Z};return this.onBeforeHandle(X,Y)}mapResolve(X,Z){if(!Z)Z=X,X={as:"local"};let Y={subType:"mapResolve",fn:Z};return this.onBeforeHandle(X,Y)}onBeforeHandle(X,Z){if(!Z)return this.on("beforeHandle",X);return this.on(X,"beforeHandle",Z)}onAfterHandle(X,Z){if(!Z)return this.on("afterHandle",X);return this.on(X,"afterHandle",Z)}mapResponse(X,Z){if(!Z)return this.on("mapResponse",X);return this.on(X,"mapResponse",Z)}onAfterResponse(X,Z){if(!Z)return this.on("afterResponse",X);return this.on(X,"afterResponse",Z)}trace(X,Z){if(!Z)Z=X,X={as:"local"};if(!Array.isArray(Z))Z=[Z];for(let Y of Z)this.on(X,"trace",mN(Y));return this}error(X,Z){switch(typeof X){case"string":return Z.prototype[CY]=X,this.definitions.error[X]=Z,this;case"function":return this.definitions.error=X(this.definitions.error),this}for(let[Y,$]of Object.entries(X))$.prototype[CY]=Y,this.definitions.error[Y]=$;return this}onError(X,Z){if(!Z)return this.on("error",X);return this.on(X,"error",Z)}onStop(X){return this.on("stop",X),this}on(X,Z,Y){let $;switch(typeof X){case"string":$=X,Y=Z;break;case"object":if($=Z,!Array.isArray(Z)&&typeof Z==="object")Y=Z;break}if(Array.isArray(Y))Y=w0(Y);else if(typeof Y==="function")Y=[{fn:Y}];else Y=[Y];let W=Y;for(let J of W)if(J.scope=typeof X==="string"?"local":X?.as??"local",$==="resolve"||$==="derive")J.subType=$;if($!=="trace")f5({[$]:W.map((J)=>J.fn)},this.inference);for(let J of W){let z=wN(J,"global",{skipIfHasType:!0});switch($){case"start":this.event.start??=[],this.event.start.push(z);break;case"request":this.event.request??=[],this.event.request.push(z);break;case"parse":this.event.parse??=[],this.event.parse.push(z);break;case"transform":this.event.transform??=[],this.event.transform.push(z);break;case"derive":this.event.transform??=[],this.event.transform.push(w0(z,"derive"));break;case"beforeHandle":this.event.beforeHandle??=[],this.event.beforeHandle.push(z);break;case"resolve":this.event.beforeHandle??=[],this.event.beforeHandle.push(w0(z,"resolve"));break;case"afterHandle":this.event.afterHandle??=[],this.event.afterHandle.push(z);break;case"mapResponse":this.event.mapResponse??=[],this.event.mapResponse.push(z);break;case"afterResponse":this.event.afterResponse??=[],this.event.afterResponse.push(z);break;case"trace":this.event.trace??=[],this.event.trace.push(z);break;case"error":this.event.error??=[],this.event.error.push(z);break;case"stop":this.event.stop??=[],this.event.stop.push(z);break}}return this}propagate(){return E0(this.event.parse),E0(this.event.transform),E0(this.event.beforeHandle),E0(this.event.afterHandle),E0(this.event.mapResponse),E0(this.event.afterResponse),E0(this.event.trace),E0(this.event.error),this}as(X){let Z={plugin:"scoped",scoped:"scoped",global:"global"}[X];if(E0(this.event.parse,Z),E0(this.event.transform,Z),E0(this.event.beforeHandle,Z),E0(this.event.afterHandle,Z),E0(this.event.mapResponse,Z),E0(this.event.afterResponse,Z),E0(this.event.trace,Z),E0(this.event.error,Z),X==="plugin")this.validator.scoped=FZ(this.validator.scoped,this.validator.local),this.validator.local=null;else if(X==="global")this.validator.global=FZ(this.validator.global,FZ(this.validator.scoped,this.validator.local)),this.validator.scoped=null,this.validator.local=null;return this}group(X,Z,Y){let $=new O2({...this.config,prefix:""});$.singleton={...this.singleton},$.definitions={...this.definitions},$.getServer=()=>this.getServer(),$.inference=X6(this.inference),$.extender={...this.extender};let W=typeof Z==="object",J=(W?Y:Z)($);if(this.singleton=c0(this.singleton,$.singleton),this.definitions=c0(this.definitions,$.definitions),J.event.request?.length)this.event.request=[...this.event.request||[],...J.event.request||[]];if(J.event.mapResponse?.length)this.event.mapResponse=[...this.event.mapResponse||[],...J.event.mapResponse||[]];return this.model(J.definitions.type),Object.values($.router.history).forEach(({method:z,path:Q,handler:M,hooks:G})=>{if(Q=(W?"":this.config.prefix)+X+Q,W){let U=Z,w=G;this.add(z,Q,M,FX(U,{...w||{},error:!w.error?J.event.error:Array.isArray(w.error)?[...w.error||{},...J.event.error||{}]:[w.error,...J.event.error||{}]}))}else this.add(z,Q,M,FX(G,{error:J.event.error}),{skipPrefix:!0})}),this}guard(X,Z){if(!Z){if(typeof X==="object"){this.applyMacro(X);let W=X.as??"local";if(this.validator[W]={body:X.body??this.validator[W]?.body,headers:X.headers??this.validator[W]?.headers,params:X.params??this.validator[W]?.params,query:X.query??this.validator[W]?.query,response:X.response??this.validator[W]?.response,cookie:X.cookie??this.validator[W]?.cookie},X.parse)this.on({as:W},"parse",X.parse);if(X.transform)this.on({as:W},"transform",X.transform);if(X.derive)this.on({as:W},"derive",X.derive);if(X.beforeHandle)this.on({as:W},"beforeHandle",X.beforeHandle);if(X.resolve)this.on({as:W},"resolve",X.resolve);if(X.afterHandle)this.on({as:W},"afterHandle",X.afterHandle);if(X.mapResponse)this.on({as:W},"mapResponse",X.mapResponse);if(X.afterResponse)this.on({as:W},"afterResponse",X.afterResponse);if(X.error)this.on({as:W},"error",X.error);if(X.detail)if(this.config.detail)this.config.detail=c0(Object.assign({},this.config.detail),X.detail);else this.config.detail=X.detail;if(X?.tags)if(!this.config.detail)this.config.detail={tags:X.tags};else this.config.detail.tags=X.tags;return this}return this.guard({},X)}let Y=new O2({...this.config,prefix:""});Y.singleton={...this.singleton},Y.definitions={...this.definitions},Y.inference=X6(this.inference),Y.extender={...this.extender};let $=Z(Y);if(this.singleton=c0(this.singleton,Y.singleton),this.definitions=c0(this.definitions,Y.definitions),$.getServer=()=>this.server,$.event.request?.length)this.event.request=[...this.event.request||[],...$.event.request||[]];if($.event.mapResponse?.length)this.event.mapResponse=[...this.event.mapResponse||[],...$.event.mapResponse||[]];return this.model($.definitions.type),Object.values(Y.router.history).forEach(({method:W,path:J,handler:z,hooks:Q})=>{this.add(W,J,z,FX(X,{...Q||{},error:!Q.error?$.event.error:Array.isArray(Q.error)?[...Q.error||{},...$.event.error||[]]:[Q.error,...$.event.error||[]]}))}),this}use(X,Z){if(Array.isArray(X)){let Y=this;for(let $ of X)Y=Y.use($);return Y}if(Z?.scoped)return this.guard({},(Y)=>Y.use(X));if(Array.isArray(X)){let Y=this;for(let $ of X)Y=this.use($);return Y}if(X instanceof Promise)return this.promisedModules.add(X.then((Y)=>{if(typeof Y==="function")return Y(this);if(Y instanceof O2)return this._use(Y).compile();if(Y.constructor.name==="Elysia")return this._use(Y).compile();if(typeof Y.default==="function")return Y.default(this);if(Y.default instanceof O2)return this._use(Y.default);if(Y.constructor.name==="Elysia")return this._use(Y.default);if(Y.constructor.name==="_Elysia")return this._use(Y.default);try{return this._use(Y.default)}catch($){throw console.error('Invalid plugin type. Expected Elysia instance, function, or module with "default" as Elysia instance or function that returns Elysia instance.'),$}}).then((Y)=>{if(Y&&typeof Y.compile==="function")Y.compile();return Y})),this;return this._use(X)}propagatePromiseModules(X){if(X.promisedModules.size<=0)return this;for(let Z of X.promisedModules.promises)this.promisedModules.add(Z.then((Y)=>{if(!Y)return;let $=this._use(Y);if($ instanceof Promise)return $.then((W)=>{if(W)W.compile();else Y.compile()});return Y.compile()}));return this}_use(X){if(typeof X==="function"){let W=X(this);if(W instanceof Promise)return this.promisedModules.add(W.then((J)=>{if(J instanceof O2){J.getServer=()=>this.getServer(),J.getGlobalRoutes=()=>this.getGlobalRoutes(),J.model(this.definitions.type),J.error(this.definitions.error);for(let{method:z,path:Q,handler:M,hooks:G}of Object.values(J.router.history))this.add(z,Q,M,FX(G,{error:J.event.error}));if(J.compile(),J===this)return;return this.propagatePromiseModules(J),J}if(typeof J==="function")return J(this);if(typeof J.default==="function")return J.default(this);return this._use(J)}).then((J)=>{if(J&&typeof J.compile==="function")J.compile();return J})),this;return W}this.propagatePromiseModules(X);let{name:Z,seed:Y}=X.config;if(X.getParent=()=>this,X.getServer=()=>this.getServer(),X.getGlobalRoutes=()=>this.getGlobalRoutes(),X.model(this.definitions.type),X.error(this.definitions.error),this["~parser"]={...X["~parser"],...this["~parser"]},this.headers(X.setHeaders),Z){if(!(Z in this.dependencies))this.dependencies[Z]=[];let W=Y!==void 0?BZ(Z+JSON.stringify(Y)):0;if(!this.dependencies[Z].some(({checksum:J})=>W===J))this.extender.macros=this.extender.macros.concat(X.extender.macros),this.extender.higherOrderFunctions=this.extender.higherOrderFunctions.concat(X.extender.higherOrderFunctions)}else this.extender.macros=this.extender.macros.concat(X.extender.macros),this.extender.higherOrderFunctions=this.extender.higherOrderFunctions.concat(X.extender.higherOrderFunctions);H5(this.extender.macros),H5(this.extender.higherOrderFunctions);let $=[];for(let W=0;W<this.extender.higherOrderFunctions.length;W++){let J=this.extender.higherOrderFunctions[W];if(J.checksum){if($.includes(J.checksum))this.extender.higherOrderFunctions.splice(W,1),W--;$.push(J.checksum)}}this.inference={body:this.inference.body||X.inference.body,cookie:this.inference.cookie||X.inference.cookie,headers:this.inference.headers||X.inference.headers,query:this.inference.query||X.inference.query,set:this.inference.set||X.inference.set,server:this.inference.server||X.inference.server,request:this.inference.request||X.inference.request,route:this.inference.route||X.inference.route},this.decorate(X.singleton.decorator),this.state(X.singleton.store),this.model(X.definitions.type),this.error(X.definitions.error),X.extender.macros=this.extender.macros.concat(X.extender.macros);for(let{method:W,path:J,handler:z,hooks:Q}of Object.values(X.router.history))this.add(W,J,z,FX(Q,{error:X.event.error}));if(Z){if(!(Z in this.dependencies))this.dependencies[Z]=[];let W=Y!==void 0?BZ(Z+JSON.stringify(Y)):0;if(this.dependencies[Z].some(({checksum:J})=>W===J))return this;this.dependencies[Z].push(this.config?.analytic?{name:X.config.name,seed:X.config.seed,checksum:W,dependencies:X.dependencies,stack:X.telemetry.stack,routes:X.router.history,decorators:X.singleton,store:X.singleton.store,error:X.definitions.error,derive:X.event.transform?.filter((J)=>J?.subType==="derive").map((J)=>({fn:J.toString(),stack:new Error().stack??""})),resolve:X.event.transform?.filter((J)=>J?.subType==="resolve").map((J)=>({fn:J.toString(),stack:new Error().stack??""}))}:{name:X.config.name,seed:X.config.seed,checksum:W,dependencies:X.dependencies}),this.event=J5(this.event,z5(X.event),W)}else this.event=J5(this.event,z5(X.event));return this.validator.global=FX(this.validator.global,{...X.validator.global}),this.validator.local=FX(this.validator.local,{...X.validator.scoped}),this}macro(X){if(typeof X==="function"){let Z={checksum:BZ(JSON.stringify({name:this.config.name,seed:this.config.seed,content:X.toString()})),fn:X};this.extender.macros.push(Z)}else if(typeof X==="object"){for(let Y of Object.keys(X))if(typeof X[Y]==="object"){let $={...X[Y]};X[Y]=(W)=>{if(W===!0)return $}}let Z={checksum:BZ(JSON.stringify({name:this.config.name,seed:this.config.seed,content:Object.entries(X).map(([Y,$])=>`${Y}+${$}`).join(",")})),fn:()=>X};this.extender.macros.push(Z)}return this}mount(X,Z){if(X instanceof O2||typeof X==="function"||X.length===0||X==="/"){let W=typeof X==="function"?X:X instanceof O2?X.compile().fetch:Z instanceof O2?Z.compile().fetch:Z,J=({request:z,path:Q})=>W(new Request(Y5(z.url,Q),{method:z.method,headers:z.headers,signal:z.signal,credentials:z.credentials,referrerPolicy:z.referrerPolicy,duplex:z.duplex,redirect:z.redirect,mode:z.mode,keepalive:z.keepalive,integrity:z.integrity,body:z.body}));return this.all("/*",J,{parse:"none"}),this}if(!Z)return this;let Y=X.length-(X.endsWith("*")?1:0);if(Z instanceof O2)Z=Z.compile().fetch;let $=({request:W,path:J})=>Z(new Request(Y5(W.url,J.slice(Y)||"/"),{method:W.method,headers:W.headers,signal:W.signal,credentials:W.credentials,referrerPolicy:W.referrerPolicy,duplex:W.duplex,redirect:W.redirect,mode:W.mode,keepalive:W.keepalive,integrity:W.integrity,body:W.body}));return this.all(X,$,{parse:"none"}),this.all(X+(X.endsWith("/")?"*":"/*"),$,{parse:"none"}),this}get(X,Z,Y){return this.add("GET",X,Z,Y),this}post(X,Z,Y){return this.add("POST",X,Z,Y),this}put(X,Z,Y){return this.add("PUT",X,Z,Y),this}patch(X,Z,Y){return this.add("PATCH",X,Z,Y),this}delete(X,Z,Y){return this.add("DELETE",X,Z,Y),this}options(X,Z,Y){return this.add("OPTIONS",X,Z,Y),this}all(X,Z,Y){return this.add("ALL",X,Z,Y),this}head(X,Z,Y){return this.add("HEAD",X,Z,Y),this}connect(X,Z,Y){return this.add("CONNECT",X,Z,Y),this}route(X,Z,Y,$){return this.add(X.toUpperCase(),Z,Y,$,$?.config),this}ws(X,Z){if(this["~adapter"].ws)this["~adapter"].ws(this,X,Z);else console.warn("Current adapter doesn't support WebSocket");return this}state(X,Z,Y){if(Z===void 0)Y=X,X={as:"append"},Z="";else if(Y===void 0){if(typeof X==="string")Y=Z,Z=X,X={as:"append"};else if(typeof X==="object")Y=Z,Z=""}let{as:$}=X;if(typeof Z!=="string")return this;switch(typeof Y){case"object":if(Z){if(Z in this.singleton.store)this.singleton.store[Z]=c0(this.singleton.store[Z],Y,{override:$==="override"});else this.singleton.store[Z]=Y;return this}if(Y===null)return this;return this.singleton.store=c0(this.singleton.store,Y,{override:$==="override"}),this;case"function":if(Z){if($==="override"||!(Z in this.singleton.store))this.singleton.store[Z]=Y}else this.singleton.store=Y(this.singleton.store);return this;default:if($==="override"||!(Z in this.singleton.store))this.singleton.store[Z]=Y;return this}}decorate(X,Z,Y){if(Z===void 0)Y=X,X={as:"append"},Z="";else if(Y===void 0){if(typeof X==="string")Y=Z,Z=X,X={as:"append"};else if(typeof X==="object")Y=Z,Z=""}let{as:$}=X;if(typeof Z!=="string")return this;switch(typeof Y){case"object":if(Z){if(Z in this.singleton.decorator)this.singleton.decorator[Z]=c0(this.singleton.decorator[Z],Y,{override:$==="override"});else this.singleton.decorator[Z]=Y;return this}if(Y===null)return this;return this.singleton.decorator=c0(this.singleton.decorator,Y,{override:$==="override"}),this;case"function":if(Z){if($==="override"||!(Z in this.singleton.decorator))this.singleton.decorator[Z]=Y}else this.singleton.decorator=Y(this.singleton.decorator);return this;default:if($==="override"||!(Z in this.singleton.decorator))this.singleton.decorator[Z]=Y;return this}}derive(X,Z){if(!Z)Z=X,X={as:"local"};let Y={subType:"derive",fn:Z};return this.onTransform(X,Y)}model(X,Z){let Y=($)=>J6($,[{from:_.Number(),to:(W)=>_.Numeric(W),untilObjectFound:!0},{from:_.Boolean(),to:(W)=>_.BooleanString(W),untilObjectFound:!0}]);switch(typeof X){case"object":let $={},W=Object.entries(X);for(let[Q,M]of W){if(Q in this.definitions.type)continue;$[Q]=this.definitions.type[Q]=Y(M),$[Q].$id??=`#/components/schemas/${Q}`}return this.definitions.typebox=_.Module({...this.definitions.typebox.$defs,...$}),this;case"function":let J=Y(X(this.definitions.type));return this.definitions.type=J,this.definitions.typebox=_.Module(J),this;case"string":if(!Z)break;let z={...Z,id:Z.$id??`#/components/schemas/${X}`};return this.definitions.type[X]=Z,this.definitions.typebox=_.Module({...this.definitions.typebox.$defs,...z}),this}return this.definitions.type[X]=Z,this.definitions.typebox=_.Module({...this.definitions.typebox.$defs,[X]:Z}),this}mapDerive(X,Z){if(!Z)Z=X,X={as:"local"};let Y={subType:"mapDerive",fn:Z};return this.onTransform(X,Y)}affix(X,Z,Y){if(Y==="")return this;let $=["_","-"," "],W=(M)=>M[0].toUpperCase()+M.slice(1),J=X==="prefix"?(M,G)=>$.includes(M.at(-1)??"")?M+G:M+W(G):$.includes(Y.at(-1)??"")?(M,G)=>G+M:(M,G)=>G+W(M),z=(M)=>{let G={};switch(M){case"decorator":for(let U in this.singleton.decorator)G[J(Y,U)]=this.singleton.decorator[U];this.singleton.decorator=G;break;case"state":for(let U in this.singleton.store)G[J(Y,U)]=this.singleton.store[U];this.singleton.store=G;break;case"model":for(let U in this.definitions.type)G[J(Y,U)]=this.definitions.type[U];this.definitions.type=G;break;case"error":for(let U in this.definitions.error)G[J(Y,U)]=this.definitions.error[U];this.definitions.error=G;break}},Q=Array.isArray(Z)?Z:[Z];for(let M of Q.some((G)=>G==="all")?["decorator","state","model","error"]:Q)z(M);return this}prefix(X,Z){return this.affix("prefix",X,Z)}suffix(X,Z){return this.affix("suffix",X,Z)}compile(){if(this["~adapter"].isWebStandard){if(this.fetch=this.config.aot?Y6(this):B5(this),typeof this.server?.reload==="function")this.server.reload({...this.server||{},fetch:this.fetch});return this}if(typeof this.server?.reload==="function")this.server.reload(this.server||{});return this._handle=Y6(this),this}handle=async(X)=>this.fetch(X);fetch=(X)=>{return(this.fetch=this.config.aot?Y6(this):B5(this))(X)};handleError=async(X,Z)=>{return(this.handleError=this.config.aot?p5(this):nN(this))(X,Z)};outerErrorHandler=(X)=>new Response(X.message||X.name||"Error",{status:X?.status??500});listen=(X,Z)=>{return this["~adapter"].listen(this)(X,Z),this};stop=async(X)=>{if(!this.server)throw new Error("Elysia isn't running. Call `app.listen` to start the server.");if(this.server){if(this.server.stop(X),this.server=null,this.event.stop?.length)for(let Z=0;Z<this.event.stop.length;Z++)this.event.stop[Z].fn(this)}};get modules(){return this.promisedModules}}var p6={};EX(p6,{unitsTable:()=>a});var A=Symbol.for("drizzle:entityKind"),ex=Symbol.for("drizzle:hasOwnEntityKind");function V(X,Z){if(!X||typeof X!=="object")return!1;if(X instanceof Z)return!0;if(!Object.prototype.hasOwnProperty.call(Z,A))throw new Error(`Class "${Z.name??"<unknown>"}" doesn't look like a Drizzle entity. If this is incorrect and the class is provided by Drizzle, please report this as a bug.`);let Y=Object.getPrototypeOf(X).constructor;if(Y)while(Y){if(A in Y&&Y[A]===Z[A])return!0;Y=Object.getPrototypeOf(Y)}return!1}class S8{constructor(X,Z){this.table=X,this.config=Z,this.name=Z.name,this.keyAsName=Z.keyAsName,this.notNull=Z.notNull,this.default=Z.default,this.defaultFn=Z.defaultFn,this.onUpdateFn=Z.onUpdateFn,this.hasDefault=Z.hasDefault,this.primary=Z.primaryKey,this.isUnique=Z.isUnique,this.uniqueName=Z.uniqueName,this.uniqueType=Z.uniqueType,this.dataType=Z.dataType,this.columnType=Z.columnType,this.generated=Z.generated,this.generatedIdentity=Z.generatedIdentity}static[A]="Column";name;keyAsName;primary;notNull;default;defaultFn;onUpdateFn;hasDefault;isUnique;uniqueName;uniqueType;dataType;columnType;enumValues=void 0;generated=void 0;generatedIdentity=void 0;config;mapFromDriverValue(X){return X}mapToDriverValue(X){return X}shouldDisableInsert(){return this.config.generated!==void 0&&this.config.generated.type!=="byDefault"}}class A6{static[A]="ColumnBuilder";config;constructor(X,Z,Y){this.config={name:X,keyAsName:X==="",notNull:!1,default:void 0,hasDefault:!1,primaryKey:!1,isUnique:!1,uniqueName:void 0,uniqueType:void 0,dataType:Z,columnType:Y,generated:void 0}}$type(){return this}notNull(){return this.config.notNull=!0,this}default(X){return this.config.default=X,this.config.hasDefault=!0,this}$defaultFn(X){return this.config.defaultFn=X,this.config.hasDefault=!0,this}$default=this.$defaultFn;$onUpdateFn(X){return this.config.onUpdateFn=X,this.config.hasDefault=!0,this}$onUpdate=this.$onUpdateFn;primaryKey(){return this.config.primaryKey=!0,this.config.notNull=!0,this}setName(X){if(this.config.name!=="")return;this.config.name=X}}var n2=Symbol.for("drizzle:Name");class _6{static[A]="PgForeignKeyBuilder";reference;_onUpdate="no action";_onDelete="no action";constructor(X,Z){if(this.reference=()=>{let{name:Y,columns:$,foreignColumns:W}=X();return{name:Y,columns:$,foreignTable:W[0].table,foreignColumns:W}},Z)this._onUpdate=Z.onUpdate,this._onDelete=Z.onDelete}onUpdate(X){return this._onUpdate=X===void 0?"no action":X,this}onDelete(X){return this._onDelete=X===void 0?"no action":X,this}build(X){return new c5(X,this)}}class c5{constructor(X,Z){this.table=X,this.reference=Z.reference,this.onUpdate=Z._onUpdate,this.onDelete=Z._onDelete}static[A]="PgForeignKey";reference;onUpdate;onDelete;getName(){let{name:X,columns:Z,foreignColumns:Y}=this.reference(),$=Z.map((z)=>z.name),W=Y.map((z)=>z.name),J=[this.table[n2],...$,Y[0].table[n2],...W];return X??`${J.join("_")}_fk`}}function kY(X,...Z){return X(...Z)}function u5(X){return new o5(X)}function w6(X,Z){return`${X[n2]}_${Z.join("_")}_unique`}class i5{constructor(X,Z){this.name=Z,this.columns=X}static[A]="PgUniqueConstraintBuilder";columns;nullsNotDistinctConfig=!1;nullsNotDistinct(){return this.nullsNotDistinctConfig=!0,this}build(X){return new n5(X,this.columns,this.nullsNotDistinctConfig,this.name)}}class o5{static[A]="PgUniqueOnConstraintBuilder";name;constructor(X){this.name=X}on(...X){return new i5(X,this.name)}}class n5{constructor(X,Z,Y,$){this.table=X,this.columns=Z,this.name=$??w6(this.table,this.columns.map((W)=>W.name)),this.nullsNotDistinct=Y}static[A]="PgUniqueConstraint";columns;name;nullsNotDistinct=!1;getName(){return this.name}}function l5(X,Z,Y){for(let $=Z;$<X.length;$++){let W=X[$];if(W==="\\"){$++;continue}if(W==='"')return[X.slice(Z,$).replace(/\\/g,""),$+1];if(Y)continue;if(W===","||W==="}")return[X.slice(Z,$).replace(/\\/g,""),$]}return[X.slice(Z).replace(/\\/g,""),X.length]}function t5(X,Z=0){let Y=[],$=Z,W=!1;while($<X.length){let J=X[$];if(J===","){if(W||$===Z)Y.push("");W=!0,$++;continue}if(W=!1,J==="\\"){$+=2;continue}if(J==='"'){let[M,G]=l5(X,$+1,!0);Y.push(M),$=G;continue}if(J==="}")return[Y,$+1];if(J==="{"){let[M,G]=t5(X,$+1);Y.push(M),$=G;continue}let[z,Q]=l5(X,$,!1);Y.push(z),$=Q}return[Y,$]}function s5(X){let[Z]=t5(X,1);return Z}function O6(X){return`{${X.map((Z)=>{if(Array.isArray(Z))return O6(Z);if(typeof Z==="string")return`"${Z.replace(/\\/g,"\\\\").replace(/"/g,"\\\"")}"`;return`${Z}`}).join(",")}}`}class i extends A6{foreignKeyConfigs=[];static[A]="PgColumnBuilder";array(X){return new a5(this.config.name,this,X)}references(X,Z={}){return this.foreignKeyConfigs.push({ref:X,actions:Z}),this}unique(X,Z){return this.config.isUnique=!0,this.config.uniqueName=X,this.config.uniqueType=Z?.nulls,this}generatedAlwaysAs(X){return this.config.generated={as:X,type:"always",mode:"stored"},this}buildForeignKeys(X,Z){return this.foreignKeyConfigs.map(({ref:Y,actions:$})=>{return kY((W,J)=>{let z=new _6(()=>{let Q=W();return{columns:[X],foreignColumns:[Q]}});if(J.onUpdate)z.onUpdate(J.onUpdate);if(J.onDelete)z.onDelete(J.onDelete);return z.build(Z)},Y,$)})}buildExtraConfigColumn(X){return new r5(X,this.config)}}class f extends S8{constructor(X,Z){if(!Z.uniqueName)Z.uniqueName=w6(X,[Z.name]);super(X,Z);this.table=X}static[A]="PgColumn"}class r5 extends f{static[A]="ExtraConfigColumn";getSQLType(){return this.getSQLType()}indexConfig={order:this.config.order??"asc",nulls:this.config.nulls??"last",opClass:this.config.opClass};defaultConfig={order:"asc",nulls:"last",opClass:void 0};asc(){return this.indexConfig.order="asc",this}desc(){return this.indexConfig.order="desc",this}nullsFirst(){return this.indexConfig.nulls="first",this}nullsLast(){return this.indexConfig.nulls="last",this}op(X){return this.indexConfig.opClass=X,this}}class a5 extends i{static[A]="PgArrayBuilder";constructor(X,Z,Y){super(X,"array","PgArray");this.config.baseBuilder=Z,this.config.size=Y}build(X){let Z=this.config.baseBuilder.build(X);return new N6(X,this.config,Z)}}class N6 extends f{constructor(X,Z,Y,$){super(X,Z);this.baseColumn=Y,this.range=$,this.size=Z.size}size;static[A]="PgArray";getSQLType(){return`${this.baseColumn.getSQLType()}[${typeof this.size==="number"?this.size:""}]`}mapFromDriverValue(X){if(typeof X==="string")X=s5(X);return X.map((Z)=>this.baseColumn.mapFromDriverValue(Z))}mapToDriverValue(X,Z=!1){let Y=X.map(($)=>$===null?null:V(this.baseColumn,N6)?this.baseColumn.mapToDriverValue($,!0):this.baseColumn.mapToDriverValue($));if(Z)return Y;return O6(Y)}}var e5=Symbol.for("drizzle:isPgEnum");function X4(X){return!!X&&typeof X==="function"&&e5 in X&&X[e5]===!0}class lN extends f{static[A]="PgEnumColumn";enum=this.config.enum;enumValues=this.config.enum.enumValues;constructor(X,Z){super(X,Z);this.enum=Z.enum}getSQLType(){return this.enum.enumName}}class M0{static[A]="Subquery";constructor(X,Z,Y,$=!1){this._={brand:"Subquery",sql:X,selectedFields:Z,alias:Y,isWith:$}}}class SZ extends M0{static[A]="WithSubquery"}var Z4="0.41.0";var L6,F6,v8={startActiveSpan(X,Z){if(!L6)return Z();if(!F6)F6=L6.trace.getTracer("drizzle-orm",Z4);return kY((Y,$)=>$.startActiveSpan(X,(W)=>{try{return Z(W)}catch(J){throw W.setStatus({code:Y.SpanStatusCode.ERROR,message:J instanceof Error?J.message:"Unknown error"}),J}finally{W.end()}}),L6,F6)}};var y8=Symbol.for("drizzle:ViewBaseConfig");var gY=Symbol.for("drizzle:Schema"),fY=Symbol.for("drizzle:Columns"),Y4=Symbol.for("drizzle:ExtraConfigColumns"),B6=Symbol.for("drizzle:OriginalName"),q6=Symbol.for("drizzle:BaseName"),VZ=Symbol.for("drizzle:IsAlias"),$4=Symbol.for("drizzle:ExtraConfigBuilder"),W4=Symbol.for("drizzle:IsDrizzleTable");class d{static[A]="Table";static Symbol={Name:n2,Schema:gY,OriginalName:B6,Columns:fY,ExtraConfigColumns:Y4,BaseName:q6,IsAlias:VZ,ExtraConfigBuilder:$4};[n2];[B6];[gY];[fY];[Y4];[q6];[VZ]=!1;[W4]=!0;[$4]=void 0;constructor(X,Z,Y){this[n2]=this[B6]=X,this[gY]=Z,this[q6]=Y}}function K6(X){return typeof X==="object"&&X!==null&&W4 in X}function o0(X){return X[n2]}function w1(X){return`${X[gY]??"public"}.${X[n2]}`}function R6(X){return X!==null&&X!==void 0&&typeof X.getSQL==="function"}function tN(X){let Z={sql:"",params:[]};for(let Y of X)if(Z.sql+=Y.sql,Z.params.push(...Y.params),Y.typings?.length){if(!Z.typings)Z.typings=[];Z.typings.push(...Y.typings)}return Z}class U0{static[A]="StringChunk";value;constructor(X){this.value=Array.isArray(X)?X:[X]}getSQL(){return new m([this])}}class m{constructor(X){this.queryChunks=X}static[A]="SQL";decoder=z4;shouldInlineParams=!1;append(X){return this.queryChunks.push(...X.queryChunks),this}toQuery(X){return v8.startActiveSpan("drizzle.buildSQL",(Z)=>{let Y=this.buildQueryFromSourceParams(this.queryChunks,X);return Z?.setAttributes({"drizzle.query.text":Y.sql,"drizzle.query.params":JSON.stringify(Y.params)}),Y})}buildQueryFromSourceParams(X,Z){let Y=Object.assign({},Z,{inlineParams:Z.inlineParams||this.shouldInlineParams,paramStartIndex:Z.paramStartIndex||{value:0}}),{casing:$,escapeName:W,escapeParam:J,prepareTyping:z,inlineParams:Q,paramStartIndex:M}=Y;return tN(X.map((G)=>{if(V(G,U0))return{sql:G.value.join(""),params:[]};if(V(G,vY))return{sql:W(G.value),params:[]};if(G===void 0)return{sql:"",params:[]};if(Array.isArray(G)){let U=[new U0("(")];for(let[w,B]of G.entries())if(U.push(B),w<G.length-1)U.push(new U0(", "));return U.push(new U0(")")),this.buildQueryFromSourceParams(U,Y)}if(V(G,m))return this.buildQueryFromSourceParams(G.queryChunks,{...Y,inlineParams:Q||G.shouldInlineParams});if(V(G,d)){let U=G[d.Symbol.Schema],w=G[d.Symbol.Name];return{sql:U===void 0||G[VZ]?W(w):W(U)+"."+W(w),params:[]}}if(V(G,S8)){let U=$.getColumnCasing(G);if(Z.invokeSource==="indexes")return{sql:W(U),params:[]};let w=G.table[d.Symbol.Schema];return{sql:G.table[VZ]||w===void 0?W(G.table[d.Symbol.Name])+"."+W(U):W(w)+"."+W(G.table[d.Symbol.Name])+"."+W(U),params:[]}}if(V(G,n0)){let U=G[y8].schema,w=G[y8].name;return{sql:U===void 0||G[y8].isAlias?W(w):W(U)+"."+W(w),params:[]}}if(V(G,J2)){if(V(G.value,uX))return{sql:J(M.value++,G),params:[G],typings:["none"]};let U=G.value===null?null:G.encoder.mapToDriverValue(G.value);if(V(U,m))return this.buildQueryFromSourceParams([U],Y);if(Q)return{sql:this.mapInlineParam(U,Y),params:[]};let w=["none"];if(z)w=[z(G.encoder)];return{sql:J(M.value++,U),params:[U],typings:w}}if(V(G,uX))return{sql:J(M.value++,G),params:[G],typings:["none"]};if(V(G,m.Aliased)&&G.fieldAlias!==void 0)return{sql:W(G.fieldAlias),params:[]};if(V(G,M0)){if(G._.isWith)return{sql:W(G._.alias),params:[]};return this.buildQueryFromSourceParams([new U0("("),G._.sql,new U0(") "),new vY(G._.alias)],Y)}if(X4(G)){if(G.schema)return{sql:W(G.schema)+"."+W(G.enumName),params:[]};return{sql:W(G.enumName),params:[]}}if(R6(G)){if(G.shouldOmitSQLParens?.())return this.buildQueryFromSourceParams([G.getSQL()],Y);return this.buildQueryFromSourceParams([new U0("("),G.getSQL(),new U0(")")],Y)}if(Q)return{sql:this.mapInlineParam(G,Y),params:[]};return{sql:J(M.value++,G),params:[G],typings:["none"]}}))}mapInlineParam(X,{escapeString:Z}){if(X===null)return"null";if(typeof X==="number"||typeof X==="boolean")return X.toString();if(typeof X==="string")return Z(X);if(typeof X==="object"){let Y=X.toString();if(Y==="[object Object]")return Z(JSON.stringify(X));return Z(Y)}throw new Error("Unexpected param value: "+X)}getSQL(){return this}as(X){if(X===void 0)return this;return new m.Aliased(this,X)}mapWith(X){return this.decoder=typeof X==="function"?{mapFromDriverValue:X}:X,this}inlineParams(){return this.shouldInlineParams=!0,this}if(X){return X?this:void 0}}class vY{constructor(X){this.value=X}static[A]="Name";brand;getSQL(){return new m([this])}}function J4(X){return typeof X==="object"&&X!==null&&"mapToDriverValue"in X&&typeof X.mapToDriverValue==="function"}var z4={mapFromDriverValue:(X)=>X},Q4={mapToDriverValue:(X)=>X},pT={...z4,...Q4};class J2{constructor(X,Z=Q4){this.value=X,this.encoder=Z}static[A]="Param";brand;getSQL(){return new m([this])}}function O(X,...Z){let Y=[];if(Z.length>0||X.length>0&&X[0]!=="")Y.push(new U0(X[0]));for(let[$,W]of Z.entries())Y.push(W,new U0(X[$+1]));return new m(Y)}((X)=>{function Z(){return new m([])}X.empty=Z;function Y(M){return new m(M)}X.fromList=Y;function $(M){return new m([new U0(M)])}X.raw=$;function W(M,G){let U=[];for(let[w,B]of M.entries()){if(w>0&&G!==void 0)U.push(G);U.push(B)}return new m(U)}X.join=W;function J(M){return new vY(M)}X.identifier=J;function z(M){return new uX(M)}X.placeholder=z;function Q(M,G){return new J2(M,G)}X.param=Q})(O||(O={}));((X)=>{class Z{constructor(Y,$){this.sql=Y,this.fieldAlias=$}static[A]="SQL.Aliased";isSelectionField=!1;getSQL(){return this.sql}clone(){return new Z(this.sql,this.fieldAlias)}}X.Aliased=Z})(m||(m={}));class uX{constructor(X){this.name=X}static[A]="Placeholder";getSQL(){return new m([this])}}function j6(X,Z){return X.map((Y)=>{if(V(Y,uX)){if(!(Y.name in Z))throw new Error(`No value for placeholder "${Y.name}" was provided`);return Z[Y.name]}if(V(Y,J2)&&V(Y.value,uX)){if(!(Y.value.name in Z))throw new Error(`No value for placeholder "${Y.value.name}" was provided`);return Y.encoder.mapToDriverValue(Z[Y.value.name])}return Y})}var G4=Symbol.for("drizzle:IsDrizzleView");class n0{static[A]="View";[y8];[G4]=!0;constructor({name:X,schema:Z,selectedFields:Y,query:$}){this[y8]={name:X,originalName:X,schema:Z,selectedFields:Y,query:$,isExisting:!$,isAlias:!1}}getSQL(){return new m([this])}}function M4(X){return typeof X==="object"&&X!==null&&G4 in X}S8.prototype.getSQL=function(){return new m([this])};d.prototype.getSQL=function(){return new m([this])};M0.prototype.getSQL=function(){return new m([this])};class n1{constructor(X){this.table=X}static[A]="ColumnAliasProxyHandler";get(X,Z){if(Z==="table")return this.table;return X[Z]}}class EZ{constructor(X,Z){this.alias=X,this.replaceOriginalName=Z}static[A]="TableAliasProxyHandler";get(X,Z){if(Z===d.Symbol.IsAlias)return!0;if(Z===d.Symbol.Name)return this.alias;if(this.replaceOriginalName&&Z===d.Symbol.OriginalName)return this.alias;if(Z===y8)return{...X[y8],name:this.alias,isAlias:!0};if(Z===d.Symbol.Columns){let $=X[d.Symbol.Columns];if(!$)return $;let W={};return Object.keys($).map((J)=>{W[J]=new Proxy($[J],new n1(new Proxy(X,this)))}),W}let Y=X[Z];if(V(Y,S8))return new Proxy(Y,new n1(new Proxy(X,this)));return Y}}function yY(X,Z){return new Proxy(X,new EZ(Z,!1))}function YX(X,Z){return new Proxy(X,new n1(new Proxy(X.table,new EZ(Z,!1))))}function S6(X,Z){return new m.Aliased(CZ(X.sql,Z),X.fieldAlias)}function CZ(X,Z){return O.join(X.queryChunks.map((Y)=>{if(V(Y,S8))return YX(Y,Z);if(V(Y,m))return CZ(Y,Z);if(V(Y,m.Aliased))return S6(Y,Z);return Y}))}function U4(X,Z,Y){let $={},W=X.reduce((J,{path:z,field:Q},M)=>{let G;if(V(Q,S8))G=Q;else if(V(Q,m))G=Q.decoder;else G=Q.sql.decoder;let U=J;for(let[w,B]of z.entries())if(w<z.length-1){if(!(B in U))U[B]={};U=U[B]}else{let N=Z[M],S=U[B]=N===null?null:G.mapFromDriverValue(N);if(Y&&V(Q,S8)&&z.length===2){let H=z[0];if(!(H in $))$[H]=S===null?o0(Q.table):!1;else if(typeof $[H]==="string"&&$[H]!==o0(Q.table))$[H]=!1}}return J},{});if(Y&&Object.keys($).length>0){for(let[J,z]of Object.entries($))if(typeof z==="string"&&!Y[z])W[J]=null}return W}function q2(X,Z){return Object.entries(X).reduce((Y,[$,W])=>{if(typeof $!=="string")return Y;let J=Z?[...Z,$]:[$];if(V(W,S8)||V(W,m)||V(W,m.Aliased))Y.push({path:J,field:W});else if(V(W,d))Y.push(...q2(W[d.Symbol.Columns],J));else Y.push(...q2(W,J));return Y},[])}function PZ(X,Z){let Y=Object.keys(X),$=Object.keys(Z);if(Y.length!==$.length)return!1;for(let[W,J]of Y.entries())if(J!==$[W])return!1;return!0}function dY(X,Z){let Y=Object.entries(Z).filter(([,$])=>$!==void 0).map(([$,W])=>{if(V(W,m)||V(W,S8))return[$,W];else return[$,new J2(W,X[d.Symbol.Columns][$])]});if(Y.length===0)throw new Error("No values to set");return Object.fromEntries(Y)}function H4(X,Z){for(let Y of Z)for(let $ of Object.getOwnPropertyNames(Y.prototype)){if($==="constructor")continue;Object.defineProperty(X.prototype,$,Object.getOwnPropertyDescriptor(Y.prototype,$)||Object.create(null))}}function hY(X){return X[d.Symbol.Columns]}function D4(X){return X[y8].selectedFields}function qX(X){return V(X,M0)?X._.alias:V(X,n0)?X[y8].name:V(X,m)?void 0:X[d.Symbol.IsAlias]?X[d.Symbol.Name]:X[d.Symbol.BaseName]}function w8(X,Z){return{name:typeof X==="string"&&X.length>0?X:"",config:typeof X==="object"?X:Z}}function A4(X){if(typeof X!=="object"||X===null)return!1;if(X.constructor.name!=="Object")return!1;if("logger"in X){let Z=typeof X.logger;if(Z!=="boolean"&&(Z!=="object"||typeof X.logger.logQuery!=="function")&&Z!=="undefined")return!1;return!0}if("schema"in X){let Z=typeof X.schema;if(Z!=="object"&&Z!=="undefined")return!1;return!0}if("casing"in X){let Z=typeof X.casing;if(Z!=="string"&&Z!=="undefined")return!1;return!0}if("mode"in X){if(X.mode!=="default"||X.mode!=="planetscale"||X.mode!==void 0)return!1;return!0}if("connection"in X){let Z=typeof X.connection;if(Z!=="string"&&Z!=="object"&&Z!=="undefined")return!1;return!0}if("client"in X){let Z=typeof X.client;if(Z!=="object"&&Z!=="function"&&Z!=="undefined")return!1;return!0}if(Object.keys(X).length===0)return!0;return!1}class iX extends i{static[A]="PgIntColumnBaseBuilder";generatedAlwaysAsIdentity(X){if(X){let{name:Z,...Y}=X;this.config.generatedIdentity={type:"always",sequenceName:Z,sequenceOptions:Y}}else this.config.generatedIdentity={type:"always"};return this.config.hasDefault=!0,this.config.notNull=!0,this}generatedByDefaultAsIdentity(X){if(X){let{name:Z,...Y}=X;this.config.generatedIdentity={type:"byDefault",sequenceName:Z,sequenceOptions:Y}}else this.config.generatedIdentity={type:"byDefault"};return this.config.hasDefault=!0,this.config.notNull=!0,this}}class _4 extends iX{static[A]="PgBigInt53Builder";constructor(X){super(X,"number","PgBigInt53")}build(X){return new w4(X,this.config)}}class w4 extends f{static[A]="PgBigInt53";getSQLType(){return"bigint"}mapFromDriverValue(X){if(typeof X==="number")return X;return Number(X)}}class O4 extends iX{static[A]="PgBigInt64Builder";constructor(X){super(X,"bigint","PgBigInt64")}build(X){return new N4(X,this.config)}}class N4 extends f{static[A]="PgBigInt64";getSQLType(){return"bigint"}mapFromDriverValue(X){return BigInt(X)}}function L4(X,Z){let{name:Y,config:$}=w8(X,Z);if($.mode==="number")return new _4(Y);return new O4(Y)}class F4 extends i{static[A]="PgBigSerial53Builder";constructor(X){super(X,"number","PgBigSerial53");this.config.hasDefault=!0,this.config.notNull=!0}build(X){return new B4(X,this.config)}}class B4 extends f{static[A]="PgBigSerial53";getSQLType(){return"bigserial"}mapFromDriverValue(X){if(typeof X==="number")return X;return Number(X)}}class q4 extends i{static[A]="PgBigSerial64Builder";constructor(X){super(X,"bigint","PgBigSerial64");this.config.hasDefault=!0}build(X){return new K4(X,this.config)}}class K4 extends f{static[A]="PgBigSerial64";getSQLType(){return"bigserial"}mapFromDriverValue(X){return BigInt(X)}}function R4(X,Z){let{name:Y,config:$}=w8(X,Z);if($.mode==="number")return new F4(Y);return new q4(Y)}class j4 extends i{static[A]="PgBooleanBuilder";constructor(X){super(X,"boolean","PgBoolean")}build(X){return new S4(X,this.config)}}class S4 extends f{static[A]="PgBoolean";getSQLType(){return"boolean"}}function V4(X){return new j4(X??"")}class E4 extends i{static[A]="PgCharBuilder";constructor(X,Z){super(X,"string","PgChar");this.config.length=Z.length,this.config.enumValues=Z.enum}build(X){return new C4(X,this.config)}}class C4 extends f{static[A]="PgChar";length=this.config.length;enumValues=this.config.enumValues;getSQLType(){return this.length===void 0?"char":`char(${this.length})`}}function P4(X,Z={}){let{name:Y,config:$}=w8(X,Z);return new E4(Y,$)}class I4 extends i{static[A]="PgCidrBuilder";constructor(X){super(X,"string","PgCidr")}build(X){return new x4(X,this.config)}}class x4 extends f{static[A]="PgCidr";getSQLType(){return"cidr"}}function T4(X){return new I4(X??"")}class b4 extends i{static[A]="PgCustomColumnBuilder";constructor(X,Z,Y){super(X,"custom","PgCustomColumn");this.config.fieldConfig=Z,this.config.customTypeParams=Y}build(X){return new k4(X,this.config)}}class k4 extends f{static[A]="PgCustomColumn";sqlName;mapTo;mapFrom;constructor(X,Z){super(X,Z);this.sqlName=Z.customTypeParams.dataType(Z.fieldConfig),this.mapTo=Z.customTypeParams.toDriver,this.mapFrom=Z.customTypeParams.fromDriver}getSQLType(){return this.sqlName}mapFromDriverValue(X){return typeof this.mapFrom==="function"?this.mapFrom(X):X}mapToDriverValue(X){return typeof this.mapTo==="function"?this.mapTo(X):X}}function g4(X){return(Z,Y)=>{let{name:$,config:W}=w8(Z,Y);return new b4($,W,X)}}class KX extends i{static[A]="PgDateColumnBaseBuilder";defaultNow(){return this.default(O`now()`)}}class f4 extends KX{static[A]="PgDateBuilder";constructor(X){super(X,"date","PgDate")}build(X){return new mY(X,this.config)}}class mY extends f{static[A]="PgDate";getSQLType(){return"date"}mapFromDriverValue(X){return new Date(X)}mapToDriverValue(X){return X.toISOString()}}class v4 extends KX{static[A]="PgDateStringBuilder";constructor(X){super(X,"string","PgDateString")}build(X){return new pY(X,this.config)}}class pY extends f{static[A]="PgDateString";getSQLType(){return"date"}}function y4(X,Z){let{name:Y,config:$}=w8(X,Z);if($?.mode==="date")return new f4(Y);return new v4(Y)}class d4 extends i{static[A]="PgDoublePrecisionBuilder";constructor(X){super(X,"number","PgDoublePrecision")}build(X){return new h4(X,this.config)}}class h4 extends f{static[A]="PgDoublePrecision";getSQLType(){return"double precision"}mapFromDriverValue(X){if(typeof X==="string")return Number.parseFloat(X);return X}}function l1(X){return new d4(X??"")}class m4 extends i{static[A]="PgInetBuilder";constructor(X){super(X,"string","PgInet")}build(X){return new p4(X,this.config)}}class p4 extends f{static[A]="PgInet";getSQLType(){return"inet"}}function c4(X){return new m4(X??"")}class u4 extends iX{static[A]="PgIntegerBuilder";constructor(X){super(X,"number","PgInteger")}build(X){return new i4(X,this.config)}}class i4 extends f{static[A]="PgInteger";getSQLType(){return"integer"}mapFromDriverValue(X){if(typeof X==="string")return Number.parseInt(X);return X}}function oX(X){return new u4(X??"")}class o4 extends i{static[A]="PgIntervalBuilder";constructor(X,Z){super(X,"string","PgInterval");this.config.intervalConfig=Z}build(X){return new n4(X,this.config)}}class n4 extends f{static[A]="PgInterval";fields=this.config.intervalConfig.fields;precision=this.config.intervalConfig.precision;getSQLType(){let X=this.fields?` ${this.fields}`:"",Z=this.precision?`(${this.precision})`:"";return`interval${X}${Z}`}}function l4(X,Z={}){let{name:Y,config:$}=w8(X,Z);return new o4(Y,$)}class t4 extends i{static[A]="PgJsonBuilder";constructor(X){super(X,"json","PgJson")}build(X){return new cY(X,this.config)}}class cY extends f{static[A]="PgJson";constructor(X,Z){super(X,Z)}getSQLType(){return"json"}mapToDriverValue(X){return JSON.stringify(X)}mapFromDriverValue(X){if(typeof X==="string")try{return JSON.parse(X)}catch{return X}return X}}function s4(X){return new t4(X??"")}class r4 extends i{static[A]="PgJsonbBuilder";constructor(X){super(X,"json","PgJsonb")}build(X){return new uY(X,this.config)}}class uY extends f{static[A]="PgJsonb";constructor(X,Z){super(X,Z)}getSQLType(){return"jsonb"}mapToDriverValue(X){return JSON.stringify(X)}mapFromDriverValue(X){if(typeof X==="string")try{return JSON.parse(X)}catch{return X}return X}}function a4(X){return new r4(X??"")}class e4 extends i{static[A]="PgLineBuilder";constructor(X){super(X,"array","PgLine")}build(X){return new XJ(X,this.config)}}class XJ extends f{static[A]="PgLine";getSQLType(){return"line"}mapFromDriverValue(X){let[Z,Y,$]=X.slice(1,-1).split(",");return[Number.parseFloat(Z),Number.parseFloat(Y),Number.parseFloat($)]}mapToDriverValue(X){return`{${X[0]},${X[1]},${X[2]}}`}}class ZJ extends i{static[A]="PgLineABCBuilder";constructor(X){super(X,"json","PgLineABC")}build(X){return new YJ(X,this.config)}}class YJ extends f{static[A]="PgLineABC";getSQLType(){return"line"}mapFromDriverValue(X){let[Z,Y,$]=X.slice(1,-1).split(",");return{a:Number.parseFloat(Z),b:Number.parseFloat(Y),c:Number.parseFloat($)}}mapToDriverValue(X){return`{${X.a},${X.b},${X.c}}`}}function $J(X,Z){let{name:Y,config:$}=w8(X,Z);if(!$?.mode||$.mode==="tuple")return new e4(Y);return new ZJ(Y)}class WJ extends i{static[A]="PgMacaddrBuilder";constructor(X){super(X,"string","PgMacaddr")}build(X){return new JJ(X,this.config)}}class JJ extends f{static[A]="PgMacaddr";getSQLType(){return"macaddr"}}function zJ(X){return new WJ(X??"")}class QJ extends i{static[A]="PgMacaddr8Builder";constructor(X){super(X,"string","PgMacaddr8")}build(X){return new GJ(X,this.config)}}class GJ extends f{static[A]="PgMacaddr8";getSQLType(){return"macaddr8"}}function MJ(X){return new QJ(X??"")}class UJ extends i{static[A]="PgNumericBuilder";constructor(X,Z,Y){super(X,"string","PgNumeric");this.config.precision=Z,this.config.scale=Y}build(X){return new iY(X,this.config)}}class iY extends f{static[A]="PgNumeric";precision;scale;constructor(X,Z){super(X,Z);this.precision=Z.precision,this.scale=Z.scale}mapFromDriverValue(X){if(typeof X==="string")return X;return String(X)}getSQLType(){if(this.precision!==void 0&&this.scale!==void 0)return`numeric(${this.precision}, ${this.scale})`;else if(this.precision===void 0)return"numeric";else return`numeric(${this.precision})`}}class HJ extends i{static[A]="PgNumericNumberBuilder";constructor(X,Z,Y){super(X,"number","PgNumericNumber");this.config.precision=Z,this.config.scale=Y}build(X){return new DJ(X,this.config)}}class DJ extends f{static[A]="PgNumericNumber";precision;scale;constructor(X,Z){super(X,Z);this.precision=Z.precision,this.scale=Z.scale}mapFromDriverValue(X){if(typeof X==="number")return X;return Number(X)}mapToDriverValue=String;getSQLType(){if(this.precision!==void 0&&this.scale!==void 0)return`numeric(${this.precision}, ${this.scale})`;else if(this.precision===void 0)return"numeric";else return`numeric(${this.precision})`}}class AJ extends i{static[A]="PgNumericBigIntBuilder";constructor(X,Z,Y){super(X,"bigint","PgNumericBigInt");this.config.precision=Z,this.config.scale=Y}build(X){return new _J(X,this.config)}}class _J extends f{static[A]="PgNumericBigInt";precision;scale;constructor(X,Z){super(X,Z);this.precision=Z.precision,this.scale=Z.scale}mapFromDriverValue=BigInt;mapToDriverValue=String;getSQLType(){if(this.precision!==void 0&&this.scale!==void 0)return`numeric(${this.precision}, ${this.scale})`;else if(this.precision===void 0)return"numeric";else return`numeric(${this.precision})`}}function wJ(X,Z){let{name:Y,config:$}=w8(X,Z),W=$?.mode;return W==="number"?new HJ(Y,$?.precision,$?.scale):W==="bigint"?new AJ(Y,$?.precision,$?.scale):new UJ(Y,$?.precision,$?.scale)}class OJ extends i{static[A]="PgPointTupleBuilder";constructor(X){super(X,"array","PgPointTuple")}build(X){return new NJ(X,this.config)}}class NJ extends f{static[A]="PgPointTuple";getSQLType(){return"point"}mapFromDriverValue(X){if(typeof X==="string"){let[Z,Y]=X.slice(1,-1).split(",");return[Number.parseFloat(Z),Number.parseFloat(Y)]}return[X.x,X.y]}mapToDriverValue(X){return`(${X[0]},${X[1]})`}}class LJ extends i{static[A]="PgPointObjectBuilder";constructor(X){super(X,"json","PgPointObject")}build(X){return new FJ(X,this.config)}}class FJ extends f{static[A]="PgPointObject";getSQLType(){return"point"}mapFromDriverValue(X){if(typeof X==="string"){let[Z,Y]=X.slice(1,-1).split(",");return{x:Number.parseFloat(Z),y:Number.parseFloat(Y)}}return X}mapToDriverValue(X){return`(${X.x},${X.y})`}}function BJ(X,Z){let{name:Y,config:$}=w8(X,Z);if(!$?.mode||$.mode==="tuple")return new OJ(Y);return new LJ(Y)}function sN(X){let Z=[];for(let Y=0;Y<X.length;Y+=2)Z.push(Number.parseInt(X.slice(Y,Y+2),16));return new Uint8Array(Z)}function qJ(X,Z){let Y=new ArrayBuffer(8),$=new DataView(Y);for(let W=0;W<8;W++)$.setUint8(W,X[Z+W]);return $.getFloat64(0,!0)}function V6(X){let Z=sN(X),Y=0,$=Z[Y];Y+=1;let W=new DataView(Z.buffer),J=W.getUint32(Y,$===1);Y+=4;let z;if(J&536870912)z=W.getUint32(Y,$===1),Y+=4;if((J&65535)===1){let Q=qJ(Z,Y);Y+=8;let M=qJ(Z,Y);return Y+=8,[Q,M]}throw new Error("Unsupported geometry type")}class KJ extends i{static[A]="PgGeometryBuilder";constructor(X){super(X,"array","PgGeometry")}build(X){return new RJ(X,this.config)}}class RJ extends f{static[A]="PgGeometry";getSQLType(){return"geometry(point)"}mapFromDriverValue(X){return V6(X)}mapToDriverValue(X){return`point(${X[0]} ${X[1]})`}}class jJ extends i{static[A]="PgGeometryObjectBuilder";constructor(X){super(X,"json","PgGeometryObject")}build(X){return new SJ(X,this.config)}}class SJ extends f{static[A]="PgGeometryObject";getSQLType(){return"geometry(point)"}mapFromDriverValue(X){let Z=V6(X);return{x:Z[0],y:Z[1]}}mapToDriverValue(X){return`point(${X.x} ${X.y})`}}function VJ(X,Z){let{name:Y,config:$}=w8(X,Z);if(!$?.mode||$.mode==="tuple")return new KJ(Y);return new jJ(Y)}class EJ extends i{static[A]="PgRealBuilder";constructor(X,Z){super(X,"number","PgReal");this.config.length=Z}build(X){return new CJ(X,this.config)}}class CJ extends f{static[A]="PgReal";constructor(X,Z){super(X,Z)}getSQLType(){return"real"}mapFromDriverValue=(X)=>{if(typeof X==="string")return Number.parseFloat(X);return X}}function PJ(X){return new EJ(X??"")}class IJ extends i{static[A]="PgSerialBuilder";constructor(X){super(X,"number","PgSerial");this.config.hasDefault=!0,this.config.notNull=!0}build(X){return new xJ(X,this.config)}}class xJ extends f{static[A]="PgSerial";getSQLType(){return"serial"}}function TJ(X){return new IJ(X??"")}class bJ extends iX{static[A]="PgSmallIntBuilder";constructor(X){super(X,"number","PgSmallInt")}build(X){return new kJ(X,this.config)}}class kJ extends f{static[A]="PgSmallInt";getSQLType(){return"smallint"}mapFromDriverValue=(X)=>{if(typeof X==="string")return Number(X);return X}}function gJ(X){return new bJ(X??"")}class fJ extends i{static[A]="PgSmallSerialBuilder";constructor(X){super(X,"number","PgSmallSerial");this.config.hasDefault=!0,this.config.notNull=!0}build(X){return new vJ(X,this.config)}}class vJ extends f{static[A]="PgSmallSerial";getSQLType(){return"smallserial"}}function yJ(X){return new fJ(X??"")}class dJ extends i{static[A]="PgTextBuilder";constructor(X,Z){super(X,"string","PgText");this.config.enumValues=Z.enum}build(X){return new hJ(X,this.config)}}class hJ extends f{static[A]="PgText";enumValues=this.config.enumValues;getSQLType(){return"text"}}function mJ(X,Z={}){let{name:Y,config:$}=w8(X,Z);return new dJ(Y,$)}class pJ extends KX{constructor(X,Z,Y){super(X,"string","PgTime");this.withTimezone=Z,this.precision=Y,this.config.withTimezone=Z,this.config.precision=Y}static[A]="PgTimeBuilder";build(X){return new oY(X,this.config)}}class oY extends f{static[A]="PgTime";withTimezone;precision;constructor(X,Z){super(X,Z);this.withTimezone=Z.withTimezone,this.precision=Z.precision}getSQLType(){return`time${this.precision===void 0?"":`(${this.precision})`}${this.withTimezone?" with time zone":""}`}}function cJ(X,Z={}){let{name:Y,config:$}=w8(X,Z);return new pJ(Y,$.withTimezone??!1,$.precision)}class uJ extends KX{static[A]="PgTimestampBuilder";constructor(X,Z,Y){super(X,"date","PgTimestamp");this.config.withTimezone=Z,this.config.precision=Y}build(X){return new nY(X,this.config)}}class nY extends f{static[A]="PgTimestamp";withTimezone;precision;constructor(X,Z){super(X,Z);this.withTimezone=Z.withTimezone,this.precision=Z.precision}getSQLType(){return`timestamp${this.precision===void 0?"":` (${this.precision})`}${this.withTimezone?" with time zone":""}`}mapFromDriverValue=(X)=>{return new Date(this.withTimezone?X:X+"+0000")};mapToDriverValue=(X)=>{return X.toISOString()}}class iJ extends KX{static[A]="PgTimestampStringBuilder";constructor(X,Z,Y){super(X,"string","PgTimestampString");this.config.withTimezone=Z,this.config.precision=Y}build(X){return new lY(X,this.config)}}class lY extends f{static[A]="PgTimestampString";withTimezone;precision;constructor(X,Z){super(X,Z);this.withTimezone=Z.withTimezone,this.precision=Z.precision}getSQLType(){return`timestamp${this.precision===void 0?"":`(${this.precision})`}${this.withTimezone?" with time zone":""}`}}function oJ(X,Z={}){let{name:Y,config:$}=w8(X,Z);if($?.mode==="string")return new iJ(Y,$.withTimezone??!1,$.precision);return new uJ(Y,$?.withTimezone??!1,$?.precision)}class nJ extends i{static[A]="PgUUIDBuilder";constructor(X){super(X,"string","PgUUID")}defaultRandom(){return this.default(O`gen_random_uuid()`)}build(X){return new tY(X,this.config)}}class tY extends f{static[A]="PgUUID";getSQLType(){return"uuid"}}function sY(X){return new nJ(X??"")}class lJ extends i{static[A]="PgVarcharBuilder";constructor(X,Z){super(X,"string","PgVarchar");this.config.length=Z.length,this.config.enumValues=Z.enum}build(X){return new tJ(X,this.config)}}class tJ extends f{static[A]="PgVarchar";length=this.config.length;enumValues=this.config.enumValues;getSQLType(){return this.length===void 0?"varchar":`varchar(${this.length})`}}function nX(X,Z={}){let{name:Y,config:$}=w8(X,Z);return new lJ(Y,$)}class sJ extends i{static[A]="PgBinaryVectorBuilder";constructor(X,Z){super(X,"string","PgBinaryVector");this.config.dimensions=Z.dimensions}build(X){return new rJ(X,this.config)}}class rJ extends f{static[A]="PgBinaryVector";dimensions=this.config.dimensions;getSQLType(){return`bit(${this.dimensions})`}}function aJ(X,Z){let{name:Y,config:$}=w8(X,Z);return new sJ(Y,$)}class eJ extends i{static[A]="PgHalfVectorBuilder";constructor(X,Z){super(X,"array","PgHalfVector");this.config.dimensions=Z.dimensions}build(X){return new Xz(X,this.config)}}class Xz extends f{static[A]="PgHalfVector";dimensions=this.config.dimensions;getSQLType(){return`halfvec(${this.dimensions})`}mapToDriverValue(X){return JSON.stringify(X)}mapFromDriverValue(X){return X.slice(1,-1).split(",").map((Z)=>Number.parseFloat(Z))}}function Zz(X,Z){let{name:Y,config:$}=w8(X,Z);return new eJ(Y,$)}class Yz extends i{static[A]="PgSparseVectorBuilder";constructor(X,Z){super(X,"string","PgSparseVector");this.config.dimensions=Z.dimensions}build(X){return new $z(X,this.config)}}class $z extends f{static[A]="PgSparseVector";dimensions=this.config.dimensions;getSQLType(){return`sparsevec(${this.dimensions})`}}function Wz(X,Z){let{name:Y,config:$}=w8(X,Z);return new Yz(Y,$)}class Jz extends i{static[A]="PgVectorBuilder";constructor(X,Z){super(X,"array","PgVector");this.config.dimensions=Z.dimensions}build(X){return new zz(X,this.config)}}class zz extends f{static[A]="PgVector";dimensions=this.config.dimensions;getSQLType(){return`vector(${this.dimensions})`}mapToDriverValue(X){return JSON.stringify(X)}mapFromDriverValue(X){return X.slice(1,-1).split(",").map((Z)=>Number.parseFloat(Z))}}function Qz(X,Z){let{name:Y,config:$}=w8(X,Z);return new Jz(Y,$)}class T0{static[A]="QueryPromise";[Symbol.toStringTag]="QueryPromise";catch(X){return this.then(void 0,X)}finally(X){return this.then((Z)=>{return X?.(),Z},(Z)=>{throw X?.(),Z})}then(X,Z){return this.execute().then(X,Z)}}class X0{static[A]="SelectionProxyHandler";config;constructor(X){this.config={...X}}get(X,Z){if(Z==="_")return{...X._,selectedFields:new Proxy(X._.selectedFields,this)};if(Z===y8)return{...X[y8],selectedFields:new Proxy(X[y8].selectedFields,this)};if(typeof Z==="symbol")return X[Z];let $=(V(X,M0)?X._.selectedFields:V(X,n0)?X[y8].selectedFields:X)[Z];if(V($,m.Aliased)){if(this.config.sqlAliasedBehavior==="sql"&&!$.isSelectionField)return $.sql;let W=$.clone();return W.isSelectionField=!0,W}if(V($,m)){if(this.config.sqlBehavior==="sql")return $;throw new Error(`You tried to reference "${Z}" field from a subquery, which is a raw SQL field, but it doesn't have an alias declared. Please add an alias to the field using ".as('alias')" method.`)}if(V($,S8)){if(this.config.alias)return new Proxy($,new n1(new Proxy($.table,new EZ(this.config.alias,this.config.replaceOriginalName??!1))));return $}if(typeof $!=="object"||$===null)return $;return new Proxy($,new X0(this.config))}}class rY extends T0{constructor(X,Z,Y,$){super();this.session=Z,this.dialect=Y,this.config={table:X,withList:$}}static[A]="PgDelete";config;where(X){return this.config.where=X,this}returning(X=this.config.table[d.Symbol.Columns]){return this.config.returningFields=X,this.config.returning=q2(X),this}getSQL(){return this.dialect.buildDeleteQuery(this.config)}toSQL(){let{typings:X,...Z}=this.dialect.sqlToQuery(this.getSQL());return Z}_prepare(X){return v8.startActiveSpan("drizzle.prepareQuery",()=>{return this.session.prepareQuery(this.dialect.sqlToQuery(this.getSQL()),this.config.returning,X,!0)})}prepare(X){return this._prepare(X)}authToken;setToken(X){return this.authToken=X,this}execute=(X)=>{return v8.startActiveSpan("drizzle.operation",()=>{return this._prepare().execute(X,this.authToken)})};getSelectedFields(){return this.config.returningFields?new Proxy(this.config.returningFields,new X0({alias:o0(this.config.table),sqlAliasedBehavior:"alias",sqlBehavior:"error"})):void 0}$dynamic(){return this}}function rN(X){return(X.replace(/['\u2019]/g,"").match(/[\da-z]+|[A-Z]+(?![a-z])|[A-Z][\da-z]+/g)??[]).map((Y)=>Y.toLowerCase()).join("_")}function aN(X){return(X.replace(/['\u2019]/g,"").match(/[\da-z]+|[A-Z]+(?![a-z])|[A-Z][\da-z]+/g)??[]).reduce((Y,$,W)=>{let J=W===0?$.toLowerCase():`${$[0].toUpperCase()}${$.slice(1)}`;return Y+J},"")}function eN(X){return X}class E6{static[A]="CasingCache";cache={};cachedTables={};convert;constructor(X){this.convert=X==="snake_case"?rN:X==="camelCase"?aN:eN}getColumnCasing(X){if(!X.keyAsName)return X.name;let Z=X.table[d.Symbol.Schema]??"public",Y=X.table[d.Symbol.OriginalName],$=`${Z}.${Y}.${X.name}`;if(!this.cache[$])this.cacheTable(X.table);return this.cache[$]}cacheTable(X){let Z=X[d.Symbol.Schema]??"public",Y=X[d.Symbol.OriginalName],$=`${Z}.${Y}`;if(!this.cachedTables[$]){for(let W of Object.values(X[d.Symbol.Columns])){let J=`${$}.${W.name}`;this.cache[J]=this.convert(W.name)}this.cachedTables[$]=!0}}clearCache(){this.cache={},this.cachedTables={}}}class aY extends Error{static[A]="DrizzleError";constructor({message:X,cause:Z}){super(X);this.name="DrizzleError",this.cause=Z}}class C6 extends aY{static[A]="TransactionRollbackError";constructor(){super({message:"Rollback"})}}function Gz(){return{bigint:L4,bigserial:R4,boolean:V4,char:P4,cidr:T4,customType:g4,date:y4,doublePrecision:l1,inet:c4,integer:oX,interval:l4,json:s4,jsonb:a4,line:$J,macaddr:zJ,macaddr8:MJ,numeric:wJ,point:BJ,geometry:VJ,real:PJ,serial:TJ,smallint:gJ,smallserial:yJ,text:mJ,time:cJ,timestamp:oJ,uuid:sY,varchar:nX,bit:aJ,halfvec:Zz,sparsevec:Wz,vector:Qz}}var P6=Symbol.for("drizzle:PgInlineForeignKeys"),Mz=Symbol.for("drizzle:EnableRLS");class q0 extends d{static[A]="PgTable";static Symbol=Object.assign({},d.Symbol,{InlineForeignKeys:P6,EnableRLS:Mz});[P6]=[];[Mz]=!1;[d.Symbol.ExtraConfigBuilder]=void 0;[d.Symbol.ExtraConfigColumns]={}}function XL(X,Z,Y,$,W=X){let J=new q0(X,$,W),z=typeof Z==="function"?Z(Gz()):Z,Q=Object.fromEntries(Object.entries(z).map(([U,w])=>{let B=w;B.setName(U);let N=B.build(J);return J[P6].push(...B.buildForeignKeys(N,J)),[U,N]})),M=Object.fromEntries(Object.entries(z).map(([U,w])=>{let B=w;B.setName(U);let N=B.buildExtraConfigColumn(J);return[U,N]})),G=Object.assign(J,Q);if(G[d.Symbol.Columns]=Q,G[d.Symbol.ExtraConfigColumns]=M,Y)G[q0.Symbol.ExtraConfigBuilder]=Y;return Object.assign(G,{enableRLS:()=>{return G[q0.Symbol.EnableRLS]=!0,G}})}var Uz=(X,Z,Y)=>{return XL(X,Z,Y,void 0)};class I6{static[A]="PgPrimaryKeyBuilder";columns;name;constructor(X,Z){this.columns=X,this.name=Z}build(X){return new Hz(X,this.columns,this.name)}}class Hz{constructor(X,Z,Y){this.table=X,this.columns=Z,this.name=Y}static[A]="PgPrimaryKey";columns;name;getName(){return this.name??`${this.table[q0.Symbol.Name]}_${this.columns.map((X)=>X.name).join("_")}_pk`}}function l0(X,Z){if(J4(Z)&&!R6(X)&&!V(X,J2)&&!V(X,uX)&&!V(X,S8)&&!V(X,d)&&!V(X,n0))return new J2(X,Z);return X}var K2=(X,Z)=>{return O`${X} = ${l0(Z,X)}`},Dz=(X,Z)=>{return O`${X} <> ${l0(Z,X)}`};function RX(...X){let Z=X.filter((Y)=>Y!==void 0);if(Z.length===0)return;if(Z.length===1)return new m(Z);return new m([new U0("("),O.join(Z,new U0(" and ")),new U0(")")])}function Az(...X){let Z=X.filter((Y)=>Y!==void 0);if(Z.length===0)return;if(Z.length===1)return new m(Z);return new m([new U0("("),O.join(Z,new U0(" or ")),new U0(")")])}function _z(X){return O`not ${X}`}var wz=(X,Z)=>{return O`${X} > ${l0(Z,X)}`},Oz=(X,Z)=>{return O`${X} >= ${l0(Z,X)}`},Nz=(X,Z)=>{return O`${X} < ${l0(Z,X)}`},Lz=(X,Z)=>{return O`${X} <= ${l0(Z,X)}`};function t1(X,Z){if(Array.isArray(Z)){if(Z.length===0)return O`false`;return O`${X} in ${Z.map((Y)=>l0(Y,X))}`}return O`${X} in ${l0(Z,X)}`}function Fz(X,Z){if(Array.isArray(Z)){if(Z.length===0)return O`true`;return O`${X} not in ${Z.map((Y)=>l0(Y,X))}`}return O`${X} not in ${l0(Z,X)}`}function Bz(X){return O`${X} is null`}function qz(X){return O`${X} is not null`}function Kz(X){return O`exists ${X}`}function Rz(X){return O`not exists ${X}`}function R2(X,Z,Y){return O`${X} between ${l0(Z,X)} and ${l0(Y,X)}`}function jz(X,Z,Y){return O`${X} not between ${l0(Z,X)} and ${l0(Y,X)}`}function Sz(X,Z){return O`${X} like ${Z}`}function Vz(X,Z){return O`${X} not like ${Z}`}function Ez(X,Z){return O`${X} ilike ${Z}`}function Cz(X,Z){return O`${X} not ilike ${Z}`}function eY(X){return O`${X} asc`}function X$(X){return O`${X} desc`}class x6{constructor(X,Z,Y){this.sourceTable=X,this.referencedTable=Z,this.relationName=Y,this.referencedTableName=Z[d.Symbol.Name]}static[A]="Relation";referencedTableName;fieldName}class Pz{constructor(X,Z){this.table=X,this.config=Z}static[A]="Relations"}class lX extends x6{constructor(X,Z,Y,$){super(X,Z,Y?.relationName);this.config=Y,this.isNullable=$}static[A]="One";withFieldName(X){let Z=new lX(this.sourceTable,this.referencedTable,this.config,this.isNullable);return Z.fieldName=X,Z}}class IZ extends x6{constructor(X,Z,Y){super(X,Z,Y?.relationName);this.config=Y}static[A]="Many";withFieldName(X){let Z=new IZ(this.sourceTable,this.referencedTable,this.config);return Z.fieldName=X,Z}}function Iz(){return{and:RX,between:R2,eq:K2,exists:Kz,gt:wz,gte:Oz,ilike:Ez,inArray:t1,isNull:Bz,isNotNull:qz,like:Sz,lt:Nz,lte:Lz,ne:Dz,not:_z,notBetween:jz,notExists:Rz,notLike:Vz,notIlike:Cz,notInArray:Fz,or:Az,sql:O}}function xz(){return{sql:O,asc:eY,desc:X$}}function Tz(X,Z){if(Object.keys(X).length===1&&"default"in X&&!V(X.default,d))X=X.default;let Y={},$={},W={};for(let[J,z]of Object.entries(X))if(V(z,d)){let Q=w1(z),M=$[Q];Y[Q]=J,W[J]={tsName:J,dbName:z[d.Symbol.Name],schema:z[d.Symbol.Schema],columns:z[d.Symbol.Columns],relations:M?.relations??{},primaryKey:M?.primaryKey??[]};for(let U of Object.values(z[d.Symbol.Columns]))if(U.primary)W[J].primaryKey.push(U);let G=z[d.Symbol.ExtraConfigBuilder]?.(z[d.Symbol.ExtraConfigColumns]);if(G){for(let U of Object.values(G))if(V(U,I6))W[J].primaryKey.push(...U.columns)}}else if(V(z,Pz)){let Q=w1(z.table),M=Y[Q],G=z.config(Z(z.table)),U;for(let[w,B]of Object.entries(G))if(M){let N=W[M];if(N.relations[w]=B,U)N.primaryKey.push(...U)}else{if(!(Q in $))$[Q]={relations:{},primaryKey:U};$[Q].relations[w]=B}}return{tables:W,tableNamesMap:Y}}function ZL(X){return function Z(Y,$){return new lX(X,Y,$,$?.fields.reduce((W,J)=>W&&J.notNull,!0)??!1)}}function YL(X){return function Z(Y,$){return new IZ(X,Y,$)}}function bz(X,Z,Y){if(V(Y,lX)&&Y.config)return{fields:Y.config.fields,references:Y.config.references};let $=Z[w1(Y.referencedTable)];if(!$)throw new Error(`Table "${Y.referencedTable[d.Symbol.Name]}" not found in schema`);let W=X[$];if(!W)throw new Error(`Table "${$}" not found in schema`);let J=Y.sourceTable,z=Z[w1(J)];if(!z)throw new Error(`Table "${J[d.Symbol.Name]}" not found in schema`);let Q=[];for(let M of Object.values(W.relations))if(Y.relationName&&Y!==M&&M.relationName===Y.relationName||!Y.relationName&&M.referencedTable===Y.sourceTable)Q.push(M);if(Q.length>1)throw Y.relationName?new Error(`There are multiple relations with name "${Y.relationName}" in table "${$}"`):new Error(`There are multiple relations between "${$}" and "${Y.sourceTable[d.Symbol.Name]}". Please specify relation name`);if(Q[0]&&V(Q[0],lX)&&Q[0].config)return{fields:Q[0].config.references,references:Q[0].config.fields};throw new Error(`There is not enough information to infer relation "${z}.${Y.fieldName}"`)}function kz(X){return{one:ZL(X),many:YL(X)}}function Z$(X,Z,Y,$,W=(J)=>J){let J={};for(let[z,Q]of $.entries())if(Q.isJson){let M=Z.relations[Q.tsKey],G=Y[z],U=typeof G==="string"?JSON.parse(G):G;J[Q.tsKey]=V(M,lX)?U&&Z$(X,X[Q.relationTableTsKey],U,Q.selection,W):U.map((w)=>Z$(X,X[Q.relationTableTsKey],w,Q.selection,W))}else{let M=W(Y[z]),G=Q.field,U;if(V(G,S8))U=G;else if(V(G,m))U=G.decoder;else U=G.sql.decoder;J[Q.tsKey]=M===null?null:U.mapFromDriverValue(M)}return J}function gz(X){return O`count(${X||O.raw("*")})`.mapWith(Number)}function Y$(X){return O`max(${X})`.mapWith(V(X,S8)?X:String)}function $$(X){return O`min(${X})`.mapWith(V(X,S8)?X:String)}class xZ extends n0{static[A]="PgViewBase"}class O1{static[A]="PgDialect";casing;constructor(X){this.casing=new E6(X?.casing)}async migrate(X,Z,Y){let $=typeof Y==="string"?"__drizzle_migrations":Y.migrationsTable??"__drizzle_migrations",W=typeof Y==="string"?"drizzle":Y.migrationsSchema??"drizzle",J=O`
|
|
CREATE TABLE IF NOT EXISTS ${O.identifier(W)}.${O.identifier($)} (
|
|
id SERIAL PRIMARY KEY,
|
|
hash text NOT NULL,
|
|
created_at bigint
|
|
)
|
|
`;await Z.execute(O`CREATE SCHEMA IF NOT EXISTS ${O.identifier(W)}`),await Z.execute(J);let Q=(await Z.all(O`select id, hash, created_at from ${O.identifier(W)}.${O.identifier($)} order by created_at desc limit 1`))[0];await Z.transaction(async(M)=>{for await(let G of X)if(!Q||Number(Q.created_at)<G.folderMillis){for(let U of G.sql)await M.execute(O.raw(U));await M.execute(O`insert into ${O.identifier(W)}.${O.identifier($)} ("hash", "created_at") values(${G.hash}, ${G.folderMillis})`)}})}escapeName(X){return`"${X}"`}escapeParam(X){return`$${X+1}`}escapeString(X){return`'${X.replace(/'/g,"''")}'`}buildWithCTE(X){if(!X?.length)return;let Z=[O`with `];for(let[Y,$]of X.entries())if(Z.push(O`${O.identifier($._.alias)} as (${$._.sql})`),Y<X.length-1)Z.push(O`, `);return Z.push(O` `),O.join(Z)}buildDeleteQuery({table:X,where:Z,returning:Y,withList:$}){let W=this.buildWithCTE($),J=Y?O` returning ${this.buildSelection(Y,{isSingleTable:!0})}`:void 0,z=Z?O` where ${Z}`:void 0;return O`${W}delete from ${X}${z}${J}`}buildUpdateSet(X,Z){let Y=X[d.Symbol.Columns],$=Object.keys(Y).filter((J)=>Z[J]!==void 0||Y[J]?.onUpdateFn!==void 0),W=$.length;return O.join($.flatMap((J,z)=>{let Q=Y[J],M=Z[J]??O.param(Q.onUpdateFn(),Q),G=O`${O.identifier(this.casing.getColumnCasing(Q))} = ${M}`;if(z<W-1)return[G,O.raw(", ")];return[G]}))}buildUpdateQuery({table:X,set:Z,where:Y,returning:$,withList:W,from:J,joins:z}){let Q=this.buildWithCTE(W),M=X[q0.Symbol.Name],G=X[q0.Symbol.Schema],U=X[q0.Symbol.OriginalName],w=M===U?void 0:M,B=O`${G?O`${O.identifier(G)}.`:void 0}${O.identifier(U)}${w&&O` ${O.identifier(w)}`}`,N=this.buildUpdateSet(X,Z),S=J&&O.join([O.raw(" from "),this.buildFromTable(J)]),H=this.buildJoins(z),E=$?O` returning ${this.buildSelection($,{isSingleTable:!J})}`:void 0,h=Y?O` where ${Y}`:void 0;return O`${Q}update ${B} set ${N}${S}${H}${h}${E}`}buildSelection(X,{isSingleTable:Z=!1}={}){let Y=X.length,$=X.flatMap(({field:W},J)=>{let z=[];if(V(W,m.Aliased)&&W.isSelectionField)z.push(O.identifier(W.fieldAlias));else if(V(W,m.Aliased)||V(W,m)){let Q=V(W,m.Aliased)?W.sql:W;if(Z)z.push(new m(Q.queryChunks.map((M)=>{if(V(M,f))return O.identifier(this.casing.getColumnCasing(M));return M})));else z.push(Q);if(V(W,m.Aliased))z.push(O` as ${O.identifier(W.fieldAlias)}`)}else if(V(W,S8))if(Z)z.push(O.identifier(this.casing.getColumnCasing(W)));else z.push(W);if(J<Y-1)z.push(O`, `);return z});return O.join($)}buildJoins(X){if(!X||X.length===0)return;let Z=[];for(let[Y,$]of X.entries()){if(Y===0)Z.push(O` `);let W=$.table,J=$.lateral?O` lateral`:void 0;if(V(W,q0)){let z=W[q0.Symbol.Name],Q=W[q0.Symbol.Schema],M=W[q0.Symbol.OriginalName],G=z===M?void 0:$.alias;Z.push(O`${O.raw($.joinType)} join${J} ${Q?O`${O.identifier(Q)}.`:void 0}${O.identifier(M)}${G&&O` ${O.identifier(G)}`} on ${$.on}`)}else if(V(W,n0)){let z=W[y8].name,Q=W[y8].schema,M=W[y8].originalName,G=z===M?void 0:$.alias;Z.push(O`${O.raw($.joinType)} join${J} ${Q?O`${O.identifier(Q)}.`:void 0}${O.identifier(M)}${G&&O` ${O.identifier(G)}`} on ${$.on}`)}else Z.push(O`${O.raw($.joinType)} join${J} ${W} on ${$.on}`);if(Y<X.length-1)Z.push(O` `)}return O.join(Z)}buildFromTable(X){if(V(X,d)&&X[d.Symbol.IsAlias]){let Z=O`${O.identifier(X[d.Symbol.OriginalName])}`;if(X[d.Symbol.Schema])Z=O`${O.identifier(X[d.Symbol.Schema])}.${Z}`;return O`${Z} ${O.identifier(X[d.Symbol.Name])}`}return X}buildSelectQuery({withList:X,fields:Z,fieldsFlat:Y,where:$,having:W,table:J,joins:z,orderBy:Q,groupBy:M,limit:G,offset:U,lockingClause:w,distinct:B,setOperators:N}){let S=Y??q2(Z);for(let U8 of S)if(V(U8.field,S8)&&o0(U8.field.table)!==(V(J,M0)?J._.alias:V(J,xZ)?J[y8].name:V(J,m)?void 0:o0(J))&&!((H0)=>z?.some(({alias:d8})=>d8===(H0[d.Symbol.IsAlias]?o0(H0):H0[d.Symbol.BaseName])))(U8.field.table)){let H0=o0(U8.field.table);throw new Error(`Your "${U8.path.join("->")}" field references a column "${H0}"."${U8.field.name}", but the table "${H0}" is not part of the query! Did you forget to join it?`)}let H=!z||z.length===0,E=this.buildWithCTE(X),h;if(B)h=B===!0?O` distinct`:O` distinct on (${O.join(B.on,O`, `)})`;let Y8=this.buildSelection(S,{isSingleTable:H}),s=this.buildFromTable(J),V8=this.buildJoins(z),G8=$?O` where ${$}`:void 0,I=W?O` having ${W}`:void 0,P;if(Q&&Q.length>0)P=O` order by ${O.join(Q,O`, `)}`;let k;if(M&&M.length>0)k=O` group by ${O.join(M,O`, `)}`;let b=typeof G==="object"||typeof G==="number"&&G>=0?O` limit ${G}`:void 0,$8=U?O` offset ${U}`:void 0,J8=O.empty();if(w){let U8=O` for ${O.raw(w.strength)}`;if(w.config.of)U8.append(O` of ${O.join(Array.isArray(w.config.of)?w.config.of:[w.config.of],O`, `)}`);if(w.config.noWait)U8.append(O` no wait`);else if(w.config.skipLocked)U8.append(O` skip locked`);J8.append(U8)}let X8=O`${E}select${h} ${Y8} from ${s}${V8}${G8}${k}${I}${P}${b}${$8}${J8}`;if(N.length>0)return this.buildSetOperations(X8,N);return X8}buildSetOperations(X,Z){let[Y,...$]=Z;if(!Y)throw new Error("Cannot pass undefined values to any set operator");if($.length===0)return this.buildSetOperationQuery({leftSelect:X,setOperator:Y});return this.buildSetOperations(this.buildSetOperationQuery({leftSelect:X,setOperator:Y}),$)}buildSetOperationQuery({leftSelect:X,setOperator:{type:Z,isAll:Y,rightSelect:$,limit:W,orderBy:J,offset:z}}){let Q=O`(${X.getSQL()}) `,M=O`(${$.getSQL()})`,G;if(J&&J.length>0){let N=[];for(let S of J)if(V(S,f))N.push(O.identifier(S.name));else if(V(S,m)){for(let H=0;H<S.queryChunks.length;H++){let E=S.queryChunks[H];if(V(E,f))S.queryChunks[H]=O.identifier(E.name)}N.push(O`${S}`)}else N.push(O`${S}`);G=O` order by ${O.join(N,O`, `)} `}let U=typeof W==="object"||typeof W==="number"&&W>=0?O` limit ${W}`:void 0,w=O.raw(`${Z} ${Y?"all ":""}`),B=z?O` offset ${z}`:void 0;return O`${Q}${w}${M}${G}${U}${B}`}buildInsertQuery({table:X,values:Z,onConflict:Y,returning:$,withList:W,select:J,overridingSystemValue_:z}){let Q=[],M=X[d.Symbol.Columns],G=Object.entries(M).filter(([E,h])=>!h.shouldDisableInsert()),U=G.map(([,E])=>O.identifier(this.casing.getColumnCasing(E)));if(J){let E=Z;if(V(E,m))Q.push(E);else Q.push(E.getSQL())}else{let E=Z;Q.push(O.raw("values "));for(let[h,Y8]of E.entries()){let s=[];for(let[V8,G8]of G){let I=Y8[V8];if(I===void 0||V(I,J2)&&I.value===void 0)if(G8.defaultFn!==void 0){let P=G8.defaultFn(),k=V(P,m)?P:O.param(P,G8);s.push(k)}else if(!G8.default&&G8.onUpdateFn!==void 0){let P=G8.onUpdateFn(),k=V(P,m)?P:O.param(P,G8);s.push(k)}else s.push(O`default`);else s.push(I)}if(Q.push(s),h<E.length-1)Q.push(O`, `)}}let w=this.buildWithCTE(W),B=O.join(Q),N=$?O` returning ${this.buildSelection($,{isSingleTable:!0})}`:void 0,S=Y?O` on conflict ${Y}`:void 0,H=z===!0?O`overriding system value `:void 0;return O`${w}insert into ${X} ${U} ${H}${B}${S}${N}`}buildRefreshMaterializedViewQuery({view:X,concurrently:Z,withNoData:Y}){let $=Z?O` concurrently`:void 0,W=Y?O` with no data`:void 0;return O`refresh materialized view${$} ${X}${W}`}prepareTyping(X){if(V(X,uY)||V(X,cY))return"json";else if(V(X,iY))return"decimal";else if(V(X,oY))return"time";else if(V(X,nY)||V(X,lY))return"timestamp";else if(V(X,mY)||V(X,pY))return"date";else if(V(X,tY))return"uuid";else return"none"}sqlToQuery(X,Z){return X.toQuery({casing:this.casing,escapeName:this.escapeName,escapeParam:this.escapeParam,escapeString:this.escapeString,prepareTyping:this.prepareTyping,invokeSource:Z})}buildRelationalQueryWithoutPK({fullSchema:X,schema:Z,tableNamesMap:Y,table:$,tableConfig:W,queryConfig:J,tableAlias:z,nestedQueryRelation:Q,joinOn:M}){let G=[],U,w,B=[],N,S=[];if(J===!0)G=Object.entries(W.columns).map(([h,Y8])=>({dbKey:Y8.name,tsKey:h,field:YX(Y8,z),relationTableTsKey:void 0,isJson:!1,selection:[]}));else{let E=Object.fromEntries(Object.entries(W.columns).map(([I,P])=>[I,YX(P,z)]));if(J.where){let I=typeof J.where==="function"?J.where(E,Iz()):J.where;N=I&&CZ(I,z)}let h=[],Y8=[];if(J.columns){let I=!1;for(let[P,k]of Object.entries(J.columns)){if(k===void 0)continue;if(P in W.columns){if(!I&&k===!0)I=!0;Y8.push(P)}}if(Y8.length>0)Y8=I?Y8.filter((P)=>J.columns?.[P]===!0):Object.keys(W.columns).filter((P)=>!Y8.includes(P))}else Y8=Object.keys(W.columns);for(let I of Y8){let P=W.columns[I];h.push({tsKey:I,value:P})}let s=[];if(J.with)s=Object.entries(J.with).filter((I)=>!!I[1]).map(([I,P])=>({tsKey:I,queryConfig:P,relation:W.relations[I]}));let V8;if(J.extras){V8=typeof J.extras==="function"?J.extras(E,{sql:O}):J.extras;for(let[I,P]of Object.entries(V8))h.push({tsKey:I,value:S6(P,z)})}for(let{tsKey:I,value:P}of h)G.push({dbKey:V(P,m.Aliased)?P.fieldAlias:W.columns[I].name,tsKey:I,field:V(P,S8)?YX(P,z):P,relationTableTsKey:void 0,isJson:!1,selection:[]});let G8=typeof J.orderBy==="function"?J.orderBy(E,xz()):J.orderBy??[];if(!Array.isArray(G8))G8=[G8];B=G8.map((I)=>{if(V(I,S8))return YX(I,z);return CZ(I,z)}),U=J.limit,w=J.offset;for(let{tsKey:I,queryConfig:P,relation:k}of s){let b=bz(Z,Y,k),$8=w1(k.referencedTable),J8=Y[$8],X8=`${z}_${I}`,U8=RX(...b.fields.map((l2,C0)=>K2(YX(b.references[C0],X8),YX(l2,z)))),H0=this.buildRelationalQueryWithoutPK({fullSchema:X,schema:Z,tableNamesMap:Y,table:X[J8],tableConfig:Z[J8],queryConfig:V(k,lX)?P===!0?{limit:1}:{...P,limit:1}:P,tableAlias:X8,joinOn:U8,nestedQueryRelation:k}),d8=O`${O.identifier(X8)}.${O.identifier("data")}`.as(I);S.push({on:O`true`,table:new M0(H0.sql,{},X8),alias:X8,joinType:"left",lateral:!0}),G.push({dbKey:I,tsKey:I,field:d8,relationTableTsKey:J8,isJson:!0,selection:H0.selection})}}if(G.length===0)throw new aY({message:`No fields selected for table "${W.tsName}" ("${z}")`});let H;if(N=RX(M,N),Q){let E=O`json_build_array(${O.join(G.map(({field:s,tsKey:V8,isJson:G8})=>G8?O`${O.identifier(`${z}_${V8}`)}.${O.identifier("data")}`:V(s,m.Aliased)?s.sql:s),O`, `)})`;if(V(Q,IZ))E=O`coalesce(json_agg(${E}${B.length>0?O` order by ${O.join(B,O`, `)}`:void 0}), '[]'::json)`;let h=[{dbKey:"data",tsKey:"data",field:E.as("data"),isJson:!0,relationTableTsKey:W.tsName,selection:G}];if(U!==void 0||w!==void 0||B.length>0)H=this.buildSelectQuery({table:yY($,z),fields:{},fieldsFlat:[{path:[],field:O.raw("*")}],where:N,limit:U,offset:w,orderBy:B,setOperators:[]}),N=void 0,U=void 0,w=void 0,B=[];else H=yY($,z);H=this.buildSelectQuery({table:V(H,q0)?H:new M0(H,{},z),fields:{},fieldsFlat:h.map(({field:s})=>({path:[],field:V(s,S8)?YX(s,z):s})),joins:S,where:N,limit:U,offset:w,orderBy:B,setOperators:[]})}else H=this.buildSelectQuery({table:yY($,z),fields:{},fieldsFlat:G.map(({field:E})=>({path:[],field:V(E,S8)?YX(E,z):E})),joins:S,where:N,limit:U,offset:w,orderBy:B,setOperators:[]});return{tableTsKey:W.tsName,sql:H,selection:G}}}class T6{static[A]="TypedQueryBuilder";getSelectedFields(){return this._.selectedFields}}class b0{static[A]="PgSelectBuilder";fields;session;dialect;withList=[];distinct;constructor(X){if(this.fields=X.fields,this.session=X.session,this.dialect=X.dialect,X.withList)this.withList=X.withList;this.distinct=X.distinct}authToken;setToken(X){return this.authToken=X,this}from(X){let Z=!!this.fields,Y=X,$;if(this.fields)$=this.fields;else if(V(Y,M0))$=Object.fromEntries(Object.keys(Y._.selectedFields).map((W)=>[W,Y[W]]));else if(V(Y,xZ))$=Y[y8].selectedFields;else if(V(Y,m))$={};else $=hY(Y);return new b6({table:Y,fields:$,isPartialSelect:Z,session:this.session,dialect:this.dialect,withList:this.withList,distinct:this.distinct}).setToken(this.authToken)}}class fz extends T6{static[A]="PgSelectQueryBuilder";_;config;joinsNotNullableMap;tableName;isPartialSelect;session;dialect;constructor({table:X,fields:Z,isPartialSelect:Y,session:$,dialect:W,withList:J,distinct:z}){super();this.config={withList:J,table:X,fields:{...Z},distinct:z,setOperators:[]},this.isPartialSelect=Y,this.session=$,this.dialect=W,this._={selectedFields:Z},this.tableName=qX(X),this.joinsNotNullableMap=typeof this.tableName==="string"?{[this.tableName]:!0}:{}}createJoin(X){return(Z,Y)=>{let $=this.tableName,W=qX(Z);if(typeof W==="string"&&this.config.joins?.some((J)=>J.alias===W))throw new Error(`Alias "${W}" is already used in this query`);if(!this.isPartialSelect){if(Object.keys(this.joinsNotNullableMap).length===1&&typeof $==="string")this.config.fields={[$]:this.config.fields};if(typeof W==="string"&&!V(Z,m)){let J=V(Z,M0)?Z._.selectedFields:V(Z,n0)?Z[y8].selectedFields:Z[d.Symbol.Columns];this.config.fields[W]=J}}if(typeof Y==="function")Y=Y(new Proxy(this.config.fields,new X0({sqlAliasedBehavior:"sql",sqlBehavior:"sql"})));if(!this.config.joins)this.config.joins=[];if(this.config.joins.push({on:Y,table:Z,joinType:X,alias:W}),typeof W==="string")switch(X){case"left":{this.joinsNotNullableMap[W]=!1;break}case"right":{this.joinsNotNullableMap=Object.fromEntries(Object.entries(this.joinsNotNullableMap).map(([J])=>[J,!1])),this.joinsNotNullableMap[W]=!0;break}case"inner":{this.joinsNotNullableMap[W]=!0;break}case"full":{this.joinsNotNullableMap=Object.fromEntries(Object.entries(this.joinsNotNullableMap).map(([J])=>[J,!1])),this.joinsNotNullableMap[W]=!1;break}}return this}}leftJoin=this.createJoin("left");rightJoin=this.createJoin("right");innerJoin=this.createJoin("inner");fullJoin=this.createJoin("full");createSetOperator(X,Z){return(Y)=>{let $=typeof Y==="function"?Y($L()):Y;if(!PZ(this.getSelectedFields(),$.getSelectedFields()))throw new Error("Set operator error (union / intersect / except): selected fields are not the same or are in a different order");return this.config.setOperators.push({type:X,isAll:Z,rightSelect:$}),this}}union=this.createSetOperator("union",!1);unionAll=this.createSetOperator("union",!0);intersect=this.createSetOperator("intersect",!1);intersectAll=this.createSetOperator("intersect",!0);except=this.createSetOperator("except",!1);exceptAll=this.createSetOperator("except",!0);addSetOperators(X){return this.config.setOperators.push(...X),this}where(X){if(typeof X==="function")X=X(new Proxy(this.config.fields,new X0({sqlAliasedBehavior:"sql",sqlBehavior:"sql"})));return this.config.where=X,this}having(X){if(typeof X==="function")X=X(new Proxy(this.config.fields,new X0({sqlAliasedBehavior:"sql",sqlBehavior:"sql"})));return this.config.having=X,this}groupBy(...X){if(typeof X[0]==="function"){let Z=X[0](new Proxy(this.config.fields,new X0({sqlAliasedBehavior:"alias",sqlBehavior:"sql"})));this.config.groupBy=Array.isArray(Z)?Z:[Z]}else this.config.groupBy=X;return this}orderBy(...X){if(typeof X[0]==="function"){let Z=X[0](new Proxy(this.config.fields,new X0({sqlAliasedBehavior:"alias",sqlBehavior:"sql"}))),Y=Array.isArray(Z)?Z:[Z];if(this.config.setOperators.length>0)this.config.setOperators.at(-1).orderBy=Y;else this.config.orderBy=Y}else{let Z=X;if(this.config.setOperators.length>0)this.config.setOperators.at(-1).orderBy=Z;else this.config.orderBy=Z}return this}limit(X){if(this.config.setOperators.length>0)this.config.setOperators.at(-1).limit=X;else this.config.limit=X;return this}offset(X){if(this.config.setOperators.length>0)this.config.setOperators.at(-1).offset=X;else this.config.offset=X;return this}for(X,Z={}){return this.config.lockingClause={strength:X,config:Z},this}getSQL(){return this.dialect.buildSelectQuery(this.config)}toSQL(){let{typings:X,...Z}=this.dialect.sqlToQuery(this.getSQL());return Z}as(X){return new Proxy(new M0(this.getSQL(),this.config.fields,X),new X0({alias:X,sqlAliasedBehavior:"alias",sqlBehavior:"error"}))}getSelectedFields(){return new Proxy(this.config.fields,new X0({alias:this.tableName,sqlAliasedBehavior:"alias",sqlBehavior:"error"}))}$dynamic(){return this}}class b6 extends fz{static[A]="PgSelect";_prepare(X){let{session:Z,config:Y,dialect:$,joinsNotNullableMap:W,authToken:J}=this;if(!Z)throw new Error("Cannot execute a query on a query builder. Please use a database instance instead.");return v8.startActiveSpan("drizzle.prepareQuery",()=>{let z=q2(Y.fields),Q=Z.prepareQuery($.sqlToQuery(this.getSQL()),z,X,!0);return Q.joinsNotNullableMap=W,Q.setToken(J)})}prepare(X){return this._prepare(X)}authToken;setToken(X){return this.authToken=X,this}execute=(X)=>{return v8.startActiveSpan("drizzle.operation",()=>{return this._prepare().execute(X,this.authToken)})}}H4(b6,[T0]);function s1(X,Z){return(Y,$,...W)=>{let J=[$,...W].map((z)=>({type:X,isAll:Z,rightSelect:z}));for(let z of J)if(!PZ(Y.getSelectedFields(),z.rightSelect.getSelectedFields()))throw new Error("Set operator error (union / intersect / except): selected fields are not the same or are in a different order");return Y.addSetOperators(J)}}var $L=()=>({union:WL,unionAll:JL,intersect:zL,intersectAll:QL,except:GL,exceptAll:ML}),WL=s1("union",!1),JL=s1("union",!0),zL=s1("intersect",!1),QL=s1("intersect",!0),GL=s1("except",!1),ML=s1("except",!0);class TZ{static[A]="PgQueryBuilder";dialect;dialectConfig;constructor(X){this.dialect=V(X,O1)?X:void 0,this.dialectConfig=V(X,O1)?void 0:X}$with=(X,Z)=>{let Y=this;return{as:(W)=>{if(typeof W==="function")W=W(Y);return new Proxy(new SZ(W.getSQL(),Z??("getSelectedFields"in W?W.getSelectedFields()??{}:{}),X,!0),new X0({alias:X,sqlAliasedBehavior:"alias",sqlBehavior:"error"}))}}};with(...X){let Z=this;function Y(J){return new b0({fields:J??void 0,session:void 0,dialect:Z.getDialect(),withList:X})}function $(J){return new b0({fields:J??void 0,session:void 0,dialect:Z.getDialect(),distinct:!0})}function W(J,z){return new b0({fields:z??void 0,session:void 0,dialect:Z.getDialect(),distinct:{on:J}})}return{select:Y,selectDistinct:$,selectDistinctOn:W}}select(X){return new b0({fields:X??void 0,session:void 0,dialect:this.getDialect()})}selectDistinct(X){return new b0({fields:X??void 0,session:void 0,dialect:this.getDialect(),distinct:!0})}selectDistinctOn(X,Z){return new b0({fields:Z??void 0,session:void 0,dialect:this.getDialect(),distinct:{on:X}})}getDialect(){if(!this.dialect)this.dialect=new O1(this.dialectConfig);return this.dialect}}class W${constructor(X,Z,Y,$,W){this.table=X,this.session=Z,this.dialect=Y,this.withList=$,this.overridingSystemValue_=W}static[A]="PgInsertBuilder";authToken;setToken(X){return this.authToken=X,this}overridingSystemValue(){return this.overridingSystemValue_=!0,this}values(X){if(X=Array.isArray(X)?X:[X],X.length===0)throw new Error("values() must be called with at least one value");let Z=X.map((Y)=>{let $={},W=this.table[d.Symbol.Columns];for(let J of Object.keys(Y)){let z=Y[J];$[J]=V(z,m)?z:new J2(z,W[J])}return $});return new k6(this.table,Z,this.session,this.dialect,this.withList,!1,this.overridingSystemValue_).setToken(this.authToken)}select(X){let Z=typeof X==="function"?X(new TZ):X;if(!V(Z,m)&&!PZ(this.table[fY],Z._.selectedFields))throw new Error("Insert select error: selected fields are not the same or are in a different order compared to the table definition");return new k6(this.table,Z,this.session,this.dialect,this.withList,!0)}}class k6 extends T0{constructor(X,Z,Y,$,W,J,z){super();this.session=Y,this.dialect=$,this.config={table:X,values:Z,withList:W,select:J,overridingSystemValue_:z}}static[A]="PgInsert";config;returning(X=this.config.table[d.Symbol.Columns]){return this.config.returningFields=X,this.config.returning=q2(X),this}onConflictDoNothing(X={}){if(X.target===void 0)this.config.onConflict=O`do nothing`;else{let Z="";Z=Array.isArray(X.target)?X.target.map(($)=>this.dialect.escapeName(this.dialect.casing.getColumnCasing($))).join(","):this.dialect.escapeName(this.dialect.casing.getColumnCasing(X.target));let Y=X.where?O` where ${X.where}`:void 0;this.config.onConflict=O`(${O.raw(Z)})${Y} do nothing`}return this}onConflictDoUpdate(X){if(X.where&&(X.targetWhere||X.setWhere))throw new Error('You cannot use both "where" and "targetWhere"/"setWhere" at the same time - "where" is deprecated, use "targetWhere" or "setWhere" instead.');let Z=X.where?O` where ${X.where}`:void 0,Y=X.targetWhere?O` where ${X.targetWhere}`:void 0,$=X.setWhere?O` where ${X.setWhere}`:void 0,W=this.dialect.buildUpdateSet(this.config.table,dY(this.config.table,X.set)),J="";return J=Array.isArray(X.target)?X.target.map((z)=>this.dialect.escapeName(this.dialect.casing.getColumnCasing(z))).join(","):this.dialect.escapeName(this.dialect.casing.getColumnCasing(X.target)),this.config.onConflict=O`(${O.raw(J)})${Y} do update set ${W}${Z}${$}`,this}getSQL(){return this.dialect.buildInsertQuery(this.config)}toSQL(){let{typings:X,...Z}=this.dialect.sqlToQuery(this.getSQL());return Z}_prepare(X){return v8.startActiveSpan("drizzle.prepareQuery",()=>{return this.session.prepareQuery(this.dialect.sqlToQuery(this.getSQL()),this.config.returning,X,!0)})}prepare(X){return this._prepare(X)}authToken;setToken(X){return this.authToken=X,this}execute=(X)=>{return v8.startActiveSpan("drizzle.operation",()=>{return this._prepare().execute(X,this.authToken)})};getSelectedFields(){return this.config.returningFields?new Proxy(this.config.returningFields,new X0({alias:o0(this.config.table),sqlAliasedBehavior:"alias",sqlBehavior:"error"})):void 0}$dynamic(){return this}}class g6 extends T0{constructor(X,Z,Y){super();this.session=Z,this.dialect=Y,this.config={view:X}}static[A]="PgRefreshMaterializedView";config;concurrently(){if(this.config.withNoData!==void 0)throw new Error("Cannot use concurrently and withNoData together");return this.config.concurrently=!0,this}withNoData(){if(this.config.concurrently!==void 0)throw new Error("Cannot use concurrently and withNoData together");return this.config.withNoData=!0,this}getSQL(){return this.dialect.buildRefreshMaterializedViewQuery(this.config)}toSQL(){let{typings:X,...Z}=this.dialect.sqlToQuery(this.getSQL());return Z}_prepare(X){return v8.startActiveSpan("drizzle.prepareQuery",()=>{return this.session.prepareQuery(this.dialect.sqlToQuery(this.getSQL()),void 0,X,!0)})}prepare(X){return this._prepare(X)}authToken;setToken(X){return this.authToken=X,this}execute=(X)=>{return v8.startActiveSpan("drizzle.operation",()=>{return this._prepare().execute(X,this.authToken)})}}class J${constructor(X,Z,Y,$){this.table=X,this.session=Z,this.dialect=Y,this.withList=$}static[A]="PgUpdateBuilder";authToken;setToken(X){return this.authToken=X,this}set(X){return new vz(this.table,dY(this.table,X),this.session,this.dialect,this.withList).setToken(this.authToken)}}class vz extends T0{constructor(X,Z,Y,$,W){super();this.session=Y,this.dialect=$,this.config={set:Z,table:X,withList:W,joins:[]},this.tableName=qX(X),this.joinsNotNullableMap=typeof this.tableName==="string"?{[this.tableName]:!0}:{}}static[A]="PgUpdate";config;tableName;joinsNotNullableMap;from(X){let Z=X,Y=qX(Z);if(typeof Y==="string")this.joinsNotNullableMap[Y]=!0;return this.config.from=Z,this}getTableLikeFields(X){if(V(X,q0))return X[d.Symbol.Columns];else if(V(X,M0))return X._.selectedFields;return X[y8].selectedFields}createJoin(X){return(Z,Y)=>{let $=qX(Z);if(typeof $==="string"&&this.config.joins.some((W)=>W.alias===$))throw new Error(`Alias "${$}" is already used in this query`);if(typeof Y==="function"){let W=this.config.from&&!V(this.config.from,m)?this.getTableLikeFields(this.config.from):void 0;Y=Y(new Proxy(this.config.table[d.Symbol.Columns],new X0({sqlAliasedBehavior:"sql",sqlBehavior:"sql"})),W&&new Proxy(W,new X0({sqlAliasedBehavior:"sql",sqlBehavior:"sql"})))}if(this.config.joins.push({on:Y,table:Z,joinType:X,alias:$}),typeof $==="string")switch(X){case"left":{this.joinsNotNullableMap[$]=!1;break}case"right":{this.joinsNotNullableMap=Object.fromEntries(Object.entries(this.joinsNotNullableMap).map(([W])=>[W,!1])),this.joinsNotNullableMap[$]=!0;break}case"inner":{this.joinsNotNullableMap[$]=!0;break}case"full":{this.joinsNotNullableMap=Object.fromEntries(Object.entries(this.joinsNotNullableMap).map(([W])=>[W,!1])),this.joinsNotNullableMap[$]=!1;break}}return this}}leftJoin=this.createJoin("left");rightJoin=this.createJoin("right");innerJoin=this.createJoin("inner");fullJoin=this.createJoin("full");where(X){return this.config.where=X,this}returning(X){if(!X){if(X=Object.assign({},this.config.table[d.Symbol.Columns]),this.config.from){let Z=qX(this.config.from);if(typeof Z==="string"&&this.config.from&&!V(this.config.from,m)){let Y=this.getTableLikeFields(this.config.from);X[Z]=Y}for(let Y of this.config.joins){let $=qX(Y.table);if(typeof $==="string"&&!V(Y.table,m)){let W=this.getTableLikeFields(Y.table);X[$]=W}}}}return this.config.returningFields=X,this.config.returning=q2(X),this}getSQL(){return this.dialect.buildUpdateQuery(this.config)}toSQL(){let{typings:X,...Z}=this.dialect.sqlToQuery(this.getSQL());return Z}_prepare(X){let Z=this.session.prepareQuery(this.dialect.sqlToQuery(this.getSQL()),this.config.returning,X,!0);return Z.joinsNotNullableMap=this.joinsNotNullableMap,Z}prepare(X){return this._prepare(X)}authToken;setToken(X){return this.authToken=X,this}execute=(X)=>{return this._prepare().execute(X,this.authToken)};getSelectedFields(){return this.config.returningFields?new Proxy(this.config.returningFields,new X0({alias:o0(this.config.table),sqlAliasedBehavior:"alias",sqlBehavior:"error"})):void 0}$dynamic(){return this}}class bZ extends m{constructor(X){super(bZ.buildEmbeddedCount(X.source,X.filters).queryChunks);this.params=X,this.mapWith(Number),this.session=X.session,this.sql=bZ.buildCount(X.source,X.filters)}sql;token;static[A]="PgCountBuilder";[Symbol.toStringTag]="PgCountBuilder";session;static buildEmbeddedCount(X,Z){return O`(select count(*) from ${X}${O.raw(" where ").if(Z)}${Z})`}static buildCount(X,Z){return O`select count(*) as count from ${X}${O.raw(" where ").if(Z)}${Z};`}setToken(X){return this.token=X,this}then(X,Z){return Promise.resolve(this.session.count(this.sql,this.token)).then(X,Z)}catch(X){return this.then(void 0,X)}finally(X){return this.then((Z)=>{return X?.(),Z},(Z)=>{throw X?.(),Z})}}class v6{constructor(X,Z,Y,$,W,J,z){this.fullSchema=X,this.schema=Z,this.tableNamesMap=Y,this.table=$,this.tableConfig=W,this.dialect=J,this.session=z}static[A]="PgRelationalQueryBuilder";findMany(X){return new f6(this.fullSchema,this.schema,this.tableNamesMap,this.table,this.tableConfig,this.dialect,this.session,X?X:{},"many")}findFirst(X){return new f6(this.fullSchema,this.schema,this.tableNamesMap,this.table,this.tableConfig,this.dialect,this.session,X?{...X,limit:1}:{limit:1},"first")}}class f6 extends T0{constructor(X,Z,Y,$,W,J,z,Q,M){super();this.fullSchema=X,this.schema=Z,this.tableNamesMap=Y,this.table=$,this.tableConfig=W,this.dialect=J,this.session=z,this.config=Q,this.mode=M}static[A]="PgRelationalQuery";_prepare(X){return v8.startActiveSpan("drizzle.prepareQuery",()=>{let{query:Z,builtQuery:Y}=this._toSQL();return this.session.prepareQuery(Y,void 0,X,!0,($,W)=>{let J=$.map((z)=>Z$(this.schema,this.tableConfig,z,Z.selection,W));if(this.mode==="first")return J[0];return J})})}prepare(X){return this._prepare(X)}_getQuery(){return this.dialect.buildRelationalQueryWithoutPK({fullSchema:this.fullSchema,schema:this.schema,tableNamesMap:this.tableNamesMap,table:this.table,tableConfig:this.tableConfig,queryConfig:this.config,tableAlias:this.tableConfig.tsName})}getSQL(){return this._getQuery().sql}_toSQL(){let X=this._getQuery(),Z=this.dialect.sqlToQuery(X.sql);return{query:X,builtQuery:Z}}toSQL(){return this._toSQL().builtQuery}authToken;setToken(X){return this.authToken=X,this}execute(){return v8.startActiveSpan("drizzle.operation",()=>{return this._prepare().execute(void 0,this.authToken)})}}class y6 extends T0{constructor(X,Z,Y,$){super();this.execute=X,this.sql=Z,this.query=Y,this.mapBatchResult=$}static[A]="PgRaw";getSQL(){return this.sql}getQuery(){return this.query}mapResult(X,Z){return Z?this.mapBatchResult(X):X}_prepare(){return this}isResponseInArrayMode(){return!1}}class kZ{constructor(X,Z,Y){if(this.dialect=X,this.session=Z,this._=Y?{schema:Y.schema,fullSchema:Y.fullSchema,tableNamesMap:Y.tableNamesMap,session:Z}:{schema:void 0,fullSchema:{},tableNamesMap:{},session:Z},this.query={},this._.schema)for(let[$,W]of Object.entries(this._.schema))this.query[$]=new v6(Y.fullSchema,this._.schema,this._.tableNamesMap,Y.fullSchema[$],W,X,Z)}static[A]="PgDatabase";query;$with=(X,Z)=>{let Y=this;return{as:(W)=>{if(typeof W==="function")W=W(new TZ(Y.dialect));return new Proxy(new SZ(W.getSQL(),Z??("getSelectedFields"in W?W.getSelectedFields()??{}:{}),X,!0),new X0({alias:X,sqlAliasedBehavior:"alias",sqlBehavior:"error"}))}}};$count(X,Z){return new bZ({source:X,filters:Z,session:this.session})}with(...X){let Z=this;function Y(M){return new b0({fields:M??void 0,session:Z.session,dialect:Z.dialect,withList:X})}function $(M){return new b0({fields:M??void 0,session:Z.session,dialect:Z.dialect,withList:X,distinct:!0})}function W(M,G){return new b0({fields:G??void 0,session:Z.session,dialect:Z.dialect,withList:X,distinct:{on:M}})}function J(M){return new J$(M,Z.session,Z.dialect,X)}function z(M){return new W$(M,Z.session,Z.dialect,X)}function Q(M){return new rY(M,Z.session,Z.dialect,X)}return{select:Y,selectDistinct:$,selectDistinctOn:W,update:J,insert:z,delete:Q}}select(X){return new b0({fields:X??void 0,session:this.session,dialect:this.dialect})}selectDistinct(X){return new b0({fields:X??void 0,session:this.session,dialect:this.dialect,distinct:!0})}selectDistinctOn(X,Z){return new b0({fields:Z??void 0,session:this.session,dialect:this.dialect,distinct:{on:X}})}update(X){return new J$(X,this.session,this.dialect)}insert(X){return new W$(X,this.session,this.dialect)}delete(X){return new rY(X,this.session,this.dialect)}refreshMaterializedView(X){return new g6(X,this.session,this.dialect)}authToken;execute(X){let Z=typeof X==="string"?O.raw(X):X.getSQL(),Y=this.dialect.sqlToQuery(Z),$=this.session.prepareQuery(Y,void 0,void 0,!1);return new y6(()=>$.execute(void 0,this.authToken),Z,Y,(W)=>$.mapResult(W,!0))}transaction(X,Z){return this.session.transaction(X,Z)}}class d6{constructor(X){this.query=X}authToken;getQuery(){return this.query}mapResult(X,Z){return X}setToken(X){return this.authToken=X,this}static[A]="PgPreparedQuery";joinsNotNullableMap}class h6{constructor(X){this.dialect=X}static[A]="PgSession";execute(X,Z){return v8.startActiveSpan("drizzle.operation",()=>{return v8.startActiveSpan("drizzle.prepareQuery",()=>{return this.prepareQuery(this.dialect.sqlToQuery(X),void 0,void 0,!1)}).setToken(Z).execute(void 0,Z)})}all(X){return this.prepareQuery(this.dialect.sqlToQuery(X),void 0,void 0,!1).all()}async count(X,Z){let Y=await this.execute(X,Z);return Number(Y[0].count)}}class m6 extends kZ{constructor(X,Z,Y,$=0){super(X,Z,Y);this.schema=Y,this.nestedIndex=$}static[A]="PgTransaction";rollback(){throw new C6}getTransactionConfigSQL(X){let Z=[];if(X.isolationLevel)Z.push(`isolation level ${X.isolationLevel}`);if(X.accessMode)Z.push(X.accessMode);if(typeof X.deferrable==="boolean")Z.push(X.deferrable?"deferrable":"not deferrable");return O.raw(Z.join(" "))}setTransaction(X){return this.session.execute(O`set transaction ${this.getTransactionConfigSQL(X)}`)}}var a=Uz("units",{id:sY("id").defaultRandom().primaryKey(),unitNo:nX("unit_no",{length:10}).notNull(),number:oX("number"),project:nX("project",{length:256}).notNull(),floor:oX("floor").notNull(),unitType:nX("unit_type",{length:256,enum:["Studio Squared","1 BR Squared","Studio Flex","2 BR Squared","One Bedroom2","Studio2","One Bedroom Loft","Two Bedroom Loft"]}),noOfBathrooms:oX("no_of_bathrooms").notNull(),unitView:nX("unit_view",{length:256,enum:["Canal / Amenities","Corner-Canal / Amenities","Corner-Canal View","Business Bay","Park Facing","Corner-Park Facing","Partial Park","BK/DT / Amenities","Corner-BK/DT / Amenities","Corner-Canal / BK/DT View","Marina View","Partial Marina View","Partial Marina, Partial City View","City view","Marina View, Sea View","Partial Marina View, Partial Sea View"]}),suitsArea:l1("suits_area").notNull(),squareFt:l1("square_ft").notNull(),noOfParkingSpace:oX("no_of_parking_space").notNull(),salesPrice:oX("sales_price").notNull(),state:nX("state",{length:256,enum:["reserved","sold_spa","available","sold_registered"]}).notNull(),balconyArea:l1("balcony_area").notNull()},(X)=>[u5().on(X.project,X.unitNo)]);class yz{static[A]="ConsoleLogWriter";write(X){console.log(X)}}class c6{static[A]="DefaultLogger";writer;constructor(X){this.writer=X?.writer??new yz}logQuery(X,Z){let Y=Z.map((W)=>{try{return JSON.stringify(W)}catch{return String(W)}}),$=Y.length?` -- params: [${Y.join(", ")}]`:"";this.writer.write(`Query: ${X}${$}`)}}class u6{static[A]="NoopLogger";logQuery(){}}var a8={INT8_MIN:-128,INT8_MAX:127,INT8_UNSIGNED_MAX:255,INT16_MIN:-32768,INT16_MAX:32767,INT16_UNSIGNED_MAX:65535,INT24_MIN:-8388608,INT24_MAX:8388607,INT24_UNSIGNED_MAX:16777215,INT32_MIN:-2147483648,INT32_MAX:2147483647,INT32_UNSIGNED_MAX:4294967295,INT48_MIN:-140737488355328,INT48_MAX:140737488355327,INT48_UNSIGNED_MAX:281474976710655,INT64_MIN:-9223372036854775808n,INT64_MAX:9223372036854775807n,INT64_UNSIGNED_MAX:18446744073709551615n};function W0(X,Z){return Z.includes(X.columnType)}function dz(X){return"enumValues"in X&&Array.isArray(X.enumValues)&&X.enumValues.length>0}var UL=dz,HL=f8.Union([f8.String(),f8.Number(),f8.Boolean(),f8.Null()]),DL=f8.Union([HL,f8.Array(f8.Any()),f8.Record(f8.String(),f8.Any())]);t8.Set("Buffer",(X,Z)=>Z instanceof Buffer);var AL={[q]:"Buffer",type:"buffer"};function hz(X){return Object.fromEntries(X.map((Z)=>[Z,Z]))}function mz(X,Z){let Y;if(dz(X))Y=X.enumValues.length?Z.Enum(hz(X.enumValues)):Z.String();if(!Y){if(W0(X,["PgGeometry","PgPointTuple"]))Y=Z.Tuple([Z.Number(),Z.Number()]);else if(W0(X,["PgGeometryObject","PgPointObject"]))Y=Z.Object({x:Z.Number(),y:Z.Number()});else if(W0(X,["PgHalfVector","PgVector"]))Y=Z.Array(Z.Number(),X.dimensions?{minItems:X.dimensions,maxItems:X.dimensions}:void 0);else if(W0(X,["PgLine"]))Y=Z.Tuple([Z.Number(),Z.Number(),Z.Number()]);else if(W0(X,["PgLineABC"]))Y=Z.Object({a:Z.Number(),b:Z.Number(),c:Z.Number()});else if(W0(X,["PgArray"]))Y=Z.Array(mz(X.baseColumn,Z),X.size?{minItems:X.size,maxItems:X.size}:void 0);else if(X.dataType==="array")Y=Z.Array(Z.Any());else if(X.dataType==="number")Y=_L(X,Z);else if(X.dataType==="bigint")Y=wL(X,Z);else if(X.dataType==="boolean")Y=Z.Boolean();else if(X.dataType==="date")Y=Z.Date();else if(X.dataType==="string")Y=OL(X,Z);else if(X.dataType==="json")Y=DL;else if(X.dataType==="custom")Y=Z.Any();else if(X.dataType==="buffer")Y=AL}if(!Y)Y=Z.Any();return Y}function _L(X,Z){let Y=X.getSQLType().includes("unsigned"),$,W,J=!1;if(W0(X,["MySqlTinyInt","SingleStoreTinyInt"]))$=Y?0:a8.INT8_MIN,W=Y?a8.INT8_UNSIGNED_MAX:a8.INT8_MAX,J=!0;else if(W0(X,["PgSmallInt","PgSmallSerial","MySqlSmallInt","SingleStoreSmallInt"]))$=Y?0:a8.INT16_MIN,W=Y?a8.INT16_UNSIGNED_MAX:a8.INT16_MAX,J=!0;else if(W0(X,["PgReal","MySqlFloat","MySqlMediumInt","SingleStoreFloat","SingleStoreMediumInt"]))$=Y?0:a8.INT24_MIN,W=Y?a8.INT24_UNSIGNED_MAX:a8.INT24_MAX,J=W0(X,["MySqlMediumInt","SingleStoreMediumInt"]);else if(W0(X,["PgInteger","PgSerial","MySqlInt","SingleStoreInt"]))$=Y?0:a8.INT32_MIN,W=Y?a8.INT32_UNSIGNED_MAX:a8.INT32_MAX,J=!0;else if(W0(X,["PgDoublePrecision","MySqlReal","MySqlDouble","SingleStoreReal","SingleStoreDouble","SQLiteReal"]))$=Y?0:a8.INT48_MIN,W=Y?a8.INT48_UNSIGNED_MAX:a8.INT48_MAX;else if(W0(X,["PgBigInt53","PgBigSerial53","MySqlBigInt53","MySqlSerial","SingleStoreBigInt53","SingleStoreSerial","SQLiteInteger"]))Y=Y||W0(X,["MySqlSerial","SingleStoreSerial"]),$=Y?0:Number.MIN_SAFE_INTEGER,W=Number.MAX_SAFE_INTEGER,J=!0;else if(W0(X,["MySqlYear","SingleStoreYear"]))$=1901,W=2155,J=!0;else $=Number.MIN_SAFE_INTEGER,W=Number.MAX_SAFE_INTEGER;return Z[J?"Integer":"Number"]({minimum:$,maximum:W})}function wL(X,Z){let Y=X.getSQLType().includes("unsigned"),$=Y?0n:a8.INT64_MIN,W=Y?a8.INT64_UNSIGNED_MAX:a8.INT64_MAX;return Z.BigInt({minimum:$,maximum:W})}function OL(X,Z){if(W0(X,["PgUUID"]))return Z.String({format:"uuid"});else if(W0(X,["PgBinaryVector"]))return Z.RegExp(/^[01]+$/,X.dimensions?{maxLength:X.dimensions}:void 0);let Y,$=!1;if(W0(X,["PgVarchar","SQLiteText"]))Y=X.length;else if(W0(X,["MySqlVarChar","SingleStoreVarChar"]))Y=X.length??a8.INT16_UNSIGNED_MAX;else if(W0(X,["MySqlText","SingleStoreText"]))if(X.textType==="longtext")Y=a8.INT32_UNSIGNED_MAX;else if(X.textType==="mediumtext")Y=a8.INT24_UNSIGNED_MAX;else if(X.textType==="text")Y=a8.INT16_UNSIGNED_MAX;else Y=a8.INT8_UNSIGNED_MAX;if(W0(X,["PgChar","MySqlChar","SingleStoreChar"]))Y=X.length,$=!0;let W={};if(Y!==void 0&&$)W.minLength=Y,W.maxLength=Y;else if(Y!==void 0)W.maxLength=Y;return Z.String(Object.keys(W).length>0?W:void 0)}function pz(X){return K6(X)?hY(X):D4(X)}function cz(X,Z,Y,$){let W={};for(let[J,z]of Object.entries(X)){if(!V(z,S8)&&!V(z,m)&&!V(z,m.Aliased)&&typeof z==="object"){let w=K6(z)||M4(z)?pz(z):z;W[J]=cz(w,Z[J]??{},Y,$);continue}let Q=Z[J];if(Q!==void 0&&typeof Q!=="function"){W[J]=Q;continue}let M=V(z,S8)?z:void 0,G=M?mz(M,$?.typeboxInstance??f8):f8.Any(),U=typeof Q==="function"?Q(G):G;if(Y.never(M))continue;else W[J]=U;if(M){if(Y.nullable(M))W[J]=f8.Union([W[J],f8.Null()]);if(Y.optional(M))W[J]=f8.Optional(W[J])}}return f8.Object(W)}function NL(X,Z){return(Z?.typeboxInstance??f8).Enum(hz(X.enumValues))}var LL={never:()=>!1,optional:()=>!1,nullable:(X)=>!X.notNull};var uz=(X,Z)=>{if(UL(X))return NL(X);let Y=pz(X);return cz(Y,Z??{},LL)};var{SQL:o6}=globalThis.Bun;class iz extends d6{constructor(X,Z,Y,$,W,J,z){super({sql:Z,params:Y});this.client=X,this.queryString=Z,this.params=Y,this.logger=$,this.fields=W,this._isResponseInArrayMode=J,this.customResultMapper=z}static[A]="BunSQLPreparedQuery";async execute(X={}){return v8.startActiveSpan("drizzle.execute",async(Z)=>{let Y=j6(this.params,X);Z?.setAttributes({"drizzle.query.text":this.queryString,"drizzle.query.params":JSON.stringify(Y)}),this.logger.logQuery(this.queryString,Y);let{fields:$,queryString:W,client:J,joinsNotNullableMap:z,customResultMapper:Q}=this;if(!$&&!Q)return v8.startActiveSpan("drizzle.driver.execute",()=>{return J.unsafe(W,Y)});let M=await v8.startActiveSpan("drizzle.driver.execute",()=>{return Z?.setAttributes({"drizzle.query.text":W,"drizzle.query.params":JSON.stringify(Y)}),J.unsafe(W,Y).values()});return v8.startActiveSpan("drizzle.mapResponse",()=>{return Q?Q(M):M.map((G)=>U4($,G,z))})})}all(X={}){return v8.startActiveSpan("drizzle.execute",async(Z)=>{let Y=j6(this.params,X);return Z?.setAttributes({"drizzle.query.text":this.queryString,"drizzle.query.params":JSON.stringify(Y)}),this.logger.logQuery(this.queryString,Y),v8.startActiveSpan("drizzle.driver.execute",()=>{return Z?.setAttributes({"drizzle.query.text":this.queryString,"drizzle.query.params":JSON.stringify(Y)}),this.client.unsafe(this.queryString,Y)})})}isResponseInArrayMode(){return this._isResponseInArrayMode}}class gZ extends h6{constructor(X,Z,Y,$={}){super(Z);this.client=X,this.schema=Y,this.options=$,this.logger=$.logger??new u6}static[A]="BunSQLSession";logger;prepareQuery(X,Z,Y,$,W){return new iz(this.client,X.sql,X.params,this.logger,Z,$,W)}query(X,Z){return this.logger.logQuery(X,Z),this.client.unsafe(X,Z).values()}queryObjects(X,Z){return this.client.unsafe(X,Z)}transaction(X,Z){return this.client.begin(async(Y)=>{let $=new gZ(Y,this.dialect,this.schema,this.options),W=new i6(this.dialect,$,this.schema);if(Z)await W.setTransaction(Z);return X(W)})}}class i6 extends m6{constructor(X,Z,Y,$=0){super(X,Z,Y,$);this.session=Z}static[A]="BunSQLTransaction";transaction(X){return this.session.client.savepoint((Z)=>{let Y=new gZ(Z,this.dialect,this.schema,this.session.options),$=new i6(this.dialect,Y,this.schema);return X($)})}}class oz extends kZ{static[A]="BunSQLDatabase"}function r1(X,Z={}){let Y=new O1({casing:Z.casing}),$;if(Z.logger===!0)$=new c6;else if(Z.logger!==!1)$=Z.logger;let W;if(Z.schema){let Q=Tz(Z.schema,kz);W={fullSchema:Z.schema,schema:Q.tables,tableNamesMap:Q.tableNamesMap}}let J=new gZ(X,Y,W,{logger:$}),z=new oz(Y,J,W);return z.$client=X,z}function z$(...X){if(typeof X[0]==="string"){let Z=new o6(X[0]);return r1(Z,X[1])}if(A4(X[0])){let{connection:Z,client:Y,...$}=X[0];if(Y)return r1(Y,$);if(typeof Z==="object"&&Z.url!==void 0){let{url:J,...z}=Z,Q=new o6({url:J,...z});return r1(Q,$)}let W=new o6(Z);return r1(W,$)}return r1(X[0],X[1])}((X)=>{function Z(Y){return r1({options:{parsers:{},serializers:{}}},Y)}X.mock=Z})(z$||(z$={}));var{SQL:FL}=globalThis.Bun;var jX=z$({schema:p6,client:new FL("postgresql://postgres:v1sq3vD5faXL@194.26.138.94:5432/irth")});var wd=uz(a),Od=new O2({prefix:"/units"}).get("/",async({query:{project:X,unitTypes:Z,cost:Y,floor:$,area:W,view:J,order:z,offset:Q,limit:M}})=>{try{return await jX.query.unitsTable.findMany({where:RX(X?K2(a.project,X):void 0,Z?t1(a.unitType,Z):void 0,Y?R2(a.salesPrice,Y[0],Y[1]):void 0,$?R2(a.floor,$[0],$[1]):void 0,W?R2(a.squareFt,W[0],W[1]):void 0,J?K2(a.unitView,J):void 0),orderBy:z?[z[1]==="asc"?eY(a[z[0]==="cost"?"salesPrice":"squareFt"]):X$(a[z[0]==="cost"?"salesPrice":"squareFt"])]:void 0,offset:Q,limit:M})}catch(G){return console.log(G.message),_1(500,"Internal server error")}},{query:_.Partial(_.Object({project:_.String(),unitTypes:_.Array(_.Union([_.Literal("Studio Squared"),_.Literal("1 BR Squared"),_.Literal("Studio Flex"),_.Literal("2 BR Squared"),_.Literal("Studio2"),_.Literal("One Bedroom2"),_.Literal("One Bedroom Loft"),_.Literal("Two Bedroom Loft")])),cost:_.Tuple([_.Number(),_.Number()]),floor:_.Tuple([_.Number(),_.Number()]),area:_.Tuple([_.Number(),_.Number()]),view:_.Union([_.Literal("Canal / Amenities"),_.Literal("Corner-Canal / Amenities"),_.Literal("Corner-Canal View"),_.Literal("Business Bay"),_.Literal("Park Facing"),_.Literal("Corner-Park Facing"),_.Literal("Partial Park"),_.Literal("BK/DT / Amenities"),_.Literal("Corner-BK/DT / Amenities"),_.Literal("Corner-Canal / BK/DT View"),_.Literal("Marina View"),_.Literal("Partial Marina View"),_.Literal("Partial Marina, Partial City View"),_.Literal("City view"),_.Literal("Marina View, Sea View"),_.Literal("Partial Marina View, Partial Sea View")]),order:_.Tuple([_.Union([_.Literal("cost"),_.Literal("sqft")]),_.Union([_.Literal("asc"),_.Literal("desc")])]),offset:_.Number({default:0}),limit:_.Number({default:16})}))}).get("/count",async({query:{project:X,unitTypes:Z,cost:Y,floor:$,area:W,view:J}})=>{try{return(await jX.select({count:gz()}).from(a).where(RX(X?K2(a.project,X):void 0,Z?t1(a.unitType,Z):void 0,Y?R2(a.salesPrice,Y[0],Y[1]):void 0,$?R2(a.floor,$[0],$[1]):void 0,W?R2(a.squareFt,W[0],W[1]):void 0,J?K2(a.unitView,J):void 0)))[0].count}catch(z){return console.log(z.message),_1(500,"Internal server error")}},{query:_.Partial(_.Object({project:_.String(),unitTypes:_.Array(_.Union([_.Literal("Studio Squared"),_.Literal("1 BR Squared"),_.Literal("Studio Flex"),_.Literal("2 BR Squared"),_.Literal("Studio2"),_.Literal("One Bedroom2"),_.Literal("One Bedroom Loft"),_.Literal("Two Bedroom Loft")])),cost:_.Tuple([_.Number(),_.Number()]),floor:_.Tuple([_.Number(),_.Number()]),area:_.Tuple([_.Number(),_.Number()]),view:_.Union([_.Literal("Canal / Amenities"),_.Literal("Corner-Canal / Amenities"),_.Literal("Corner-Canal View"),_.Literal("Business Bay"),_.Literal("Park Facing"),_.Literal("Corner-Park Facing"),_.Literal("Partial Park"),_.Literal("BK/DT / Amenities"),_.Literal("Corner-BK/DT / Amenities"),_.Literal("Corner-Canal / BK/DT View"),_.Literal("Marina View"),_.Literal("Partial Marina View"),_.Literal("Partial Marina, Partial City View"),_.Literal("City view"),_.Literal("Marina View, Sea View"),_.Literal("Partial Marina View, Partial Sea View")])}))}).get("/filters/:filterName",async({query:{project:X,view:Z,unitTypes:Y,cost:$,floor:W,area:J},params:{filterName:z}})=>{try{let Q=RX(X?K2(a.project,X):void 0,Y&&z!=="unitTypes"?t1(a.unitType,Y):void 0,Z&&z!=="views"?K2(a.unitView,Z):void 0,$&&z!=="cost"?R2(a.salesPrice,$[0],$[1]):void 0,W&&z!=="floor"?R2(a.floor,W[0],W[1]):void 0,J&&z!=="area"?R2(a.squareFt,J[0],J[1]):void 0);if(z==="unitTypes")return(await jX.selectDistinctOn([a.unitType],{unitType:a.unitType}).from(a).where(Q)).map((M)=>M.unitType).filter(Boolean);else if(z==="views")return(await jX.selectDistinctOn([a.unitView],{unitView:a.unitView}).from(a).where(Q)).map((M)=>M.unitView).filter(Boolean);else if(z==="cost")return(await jX.select({min:$$(a.salesPrice),max:Y$(a.salesPrice)}).from(a).where(Q))[0];else if(z==="area")return(await jX.select({min:$$(a.squareFt),max:Y$(a.squareFt)}).from(a).where(Q))[0];return(await jX.select({min:$$(a.floor),max:Y$(a.floor)}).from(a).where(Q))[0]}catch(Q){return console.log(Q.message),_1(500,"Internal server error")}},{response:{200:_.Union([_.Array(_.String()),_.Object({min:_.Number(),max:_.Number()})]),500:_.ObjectString({})},params:_.Object({filterName:_.Union([_.Literal("unitTypes"),_.Literal("views"),_.Literal("cost"),_.Literal("area"),_.Literal("floor")])}),query:_.Partial(_.Object({project:_.String(),unitTypes:_.Array(_.Union([_.Literal("Studio Squared"),_.Literal("1 BR Squared"),_.Literal("Studio Flex"),_.Literal("2 BR Squared"),_.Literal("Studio2"),_.Literal("One Bedroom2"),_.Literal("One Bedroom Loft"),_.Literal("Two Bedroom Loft")])),cost:_.Tuple([_.Number(),_.Number()]),floor:_.Tuple([_.Number(),_.Number()]),area:_.Tuple([_.Number(),_.Number()]),view:_.Union([_.Literal("Canal / Amenities"),_.Literal("Corner-Canal / Amenities"),_.Literal("Corner-Canal View"),_.Literal("Business Bay"),_.Literal("Park Facing"),_.Literal("Corner-Park Facing"),_.Literal("Partial Park"),_.Literal("BK/DT / Amenities"),_.Literal("Corner-BK/DT / Amenities"),_.Literal("Corner-Canal / BK/DT View"),_.Literal("Marina View"),_.Literal("Partial Marina View"),_.Literal("Partial Marina, Partial City View"),_.Literal("City view"),_.Literal("Marina View, Sea View"),_.Literal("Partial Marina View, Partial Sea View")])}))}).get("/get-floors-data/:project",async({params:{project:X}})=>{try{let Z=await jX.select({unitNo:a.unitNo,floor:a.floor,unitType:a.unitType}).from(a).where(K2(a.project,decodeURIComponent(X))),Y=new Map;for(let{unitNo:$,floor:W,unitType:J}of Z){if(!$||!W||!J)continue;let z=$.toString().startsWith("W")?"west":"east";if(!Y.has(W))Y.set(W,{floor:W,east:{types:{},totalUnits:0},west:{types:{},totalUnits:0}});let Q=Y.get(W);if(z==="east")Q.east.types[J]=(Q.east.types[J]||0)+1,Q.east.totalUnits++;else Q.west.types[J]=(Q.west.types[J]||0)+1,Q.west.totalUnits++}return Array.from(Y.values()).map(($)=>({floor:$.floor,east:$.east,west:$.west}))}catch(Z){return console.log(Z.message),_1(500,"Internal server error")}},{params:_.Object({project:_.String()})});export{Od as unitsController,wd as getUnitSchema};
|