@zuplo/graphql 5.1524.0 → 5.1527.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2) hide show
  1. package/index.minified.js +30 -30
  2. package/package.json +1 -1
package/index.minified.js CHANGED
@@ -22,7 +22,7 @@
22
22
  * DEALINGS IN THE SOFTWARE.
23
23
  *--------------------------------------------------------------------------------------------*/
24
24
 
25
- "use strict";var Cb=Object.create;var Bn=Object.defineProperty;var Lb=Object.getOwnPropertyDescriptor;var Db=Object.getOwnPropertyNames;var Ub=Object.getPrototypeOf,Mb=Object.prototype.hasOwnProperty;var o=(t,e)=>Bn(t,"name",{value:e,configurable:!0});var S=(t,e)=>()=>(t&&(e=t(t=0)),e);var g=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports),Gi=(t,e)=>{for(var r in e)Bn(t,r,{get:e[r],enumerable:!0})},Up=(t,e,r,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let i of Db(e))!Mb.call(t,i)&&i!==r&&Bn(t,i,{get:()=>e[i],enumerable:!(n=Lb(e,i))||n.enumerable});return t};var Mp=(t,e,r)=>(r=t!=null?Cb(Ub(t)):{},Up(e||!t||!t.__esModule?Bn(r,"default",{value:t,enumerable:!0}):r,t)),Bi=t=>Up(Bn({},"__esModule",{value:!0}),t);var D=g(ht=>{"use strict";Object.defineProperty(ht,"__esModule",{value:!0});ht.FeatureNotEnabledError=ht.ConfigurationError=ht.RuntimeError=ht.SystemError=void 0;var qc=class extends Error{static{o(this,"SystemError")}constructor(e,r){super(e,r),this.name="InternalError"}};ht.SystemError=qc;var Kn=class extends Error{static{o(this,"RuntimeError")}extensionMembers;constructor(e,r){typeof e=="string"?super(e,r):(super(e.message,r),this.extensionMembers=e.extensionMembers),this.name="RuntimeError"}};ht.RuntimeError=Kn;var $c=class extends Kn{static{o(this,"ConfigurationError")}constructor(e,r){super(e,r),this.name="ConfigurationError"}};ht.ConfigurationError=$c;var jc=class extends Kn{static{o(this,"FeatureNotEnabledError")}constructor(e,r){super(e,r),this.name="FeatureNotEnabledError"}};ht.FeatureNotEnabledError=jc});var te=g(Ki=>{"use strict";Object.defineProperty(Ki,"__esModule",{value:!0});Ki.Environment=void 0;var kb=D(),Vc=class t{static{o(this,"Environment")}config;static#e;static initialize(e,r){this.#e||(this.#e=new t(e,r))}static get instance(){if(!this.#e)throw new kb.SystemError("Environment has not been initialized");return this.#e}constructor(e,r){let n;try{if(r.__ZUPLO_CONFIG){let i=atob(r.__ZUPLO_CONFIG);n=JSON.parse(i)}}catch{console.warn("Failed to parse runtime configuration")}this.config=n??{},this.build=e,this.runtime=r}build;runtime;get deploymentName(){return this.runtime.__ZUPLO_DEPLOYMENT_NAME??this.config.deployment_name??void 0}get useSha256ServiceRouting(){return this.config.use_sha256_service_routing??void 0}get useProxyForFetchFromZups(){return this.config.use_proxy_for_fetch_from_zups??void 0}get devPortalBaseUrl(){return this.runtime.__ZUPLO_DEV_PORTAL_URL??this.config.dev_portal_url??"https://dev-portal-v4-1.zuplo.com"}get buildAssetsUrl(){return this.runtime.__ZUPLO_BUILD_ASSETS_URL??this.config.build_assets_url??"https://build-assets.zuplo.dev"}get remoteLogToken(){return this.runtime.__ZUPLO_REMOTE_LOG_TOKEN??this.config.remote_log_token??void 0}get managementApiURL(){return this.runtime.__ZUPLO_MANAGEMENT_API_URL??this.config.management_api_url??"https://api.zuplo.com"}get cdnURL(){return this.runtime.__ZUPLO_CDN_URL??this.config.cdn_url??"https://cdn.zuplo.com"}get remoteLogURL(){return this.runtime.__ZUPLO_REMOTE_LOG_URL??this.config.log_event_api??"https://ellie.zuplo.com"}get loggingId(){return this.runtime.__ZUPLO_LOGGING_ID??this.config.logging_id??void 0}get redisURL(){return this.runtime.__ZUPLO_REDIS_URL??this.config.redis_proxy_url??"https://redis-proxy.zuplo.com"}get apiKeyServiceUrl(){return this.runtime.__ZUPLO_API_KEY_SERVICE_URL??this.config.api_key_service_url??"https://apikey.zuplo.com"}get authApiJWT(){return this.runtime.__ZUPLO_AUTH_API_JWT??void 0}get userLogLevel(){return this.runtime.ZUPLO_LOG_LEVEL??this.runtime.__ZUPLO_LOG_LEVEL??this.config.user_log_level??"debug"}get systemLogLevel(){return this.runtime.__ZUPLO_LOG_LEVEL??this.config.system_log_level??"debug"}get logFormat(){return this.runtime.__ZUPLO_LOG_FORMAT??this.config.log_format??"cloudflare"}get isCloudflare(){return this.runtime.__ZUPLO_RUNTIME_TYPE?this.runtime.__ZUPLO_RUNTIME_TYPE==="cloudflare":this.config.runtime_type?this.config.runtime_type==="cloudflare":typeof WebSocketPair=="function"}get isDeno(){return this.runtime.__ZUPLO_RUNTIME_TYPE?this.runtime.__ZUPLO_RUNTIME_TYPE==="deno":this.config.runtime_type?this.config.runtime_type==="deno":typeof WebSocketPair!="function"}get isLocalDevelopment(){return this.build.ENVIRONMENT_TYPE?this.build.ENVIRONMENT_TYPE==="LOCAL_DEVELOPMENT":!1}get systemUserAgent(){return`Zuplo/${this.build.ZUPLO_VERSION}`}get loggingEnvironmentType(){return this.isCloudflare?"edge":this.isLocalDevelopment?"local":this.isDeno?"working-copy":"unknown"}get loggingEnvironmentStage(){return this.build.ENVIRONMENT_TYPE==="PRODUCTION"?"production":this.build.ENVIRONMENT_TYPE==="PREVIEW"?"preview":this.isLocalDevelopment?"local":this.isDeno?"working-copy":"unknown"}};Ki.Environment=Vc});var qp=g(Hp=>{"use strict";Object.defineProperty(Hp,"__esModule",{value:!0});var kp=te();Function.prototype.toString=function(){return"[native code]"};var Ji=globalThis,Fp=Ji.caches;if(Fp){let t=Fp.open;Ji.caches.open=function(e){let r=kp.Environment.instance.deploymentName??kp.Environment.instance.build.BUILD_ID;return t.call(this,`${r}-${e}`)},delete Ji.caches.default,Object.freeze(Ji.caches)}});var Kc=g(zi=>{"use strict";Object.defineProperty(zi,"__esModule",{value:!0});zi.MemoryCache=void 0;var Fb=1e4,Hb=1e3,$p=new Map,Gc=class{static{o(this,"InnerCache")}constructor(e){this.#e=e.maxSize}#e;#t=0;#r=new Map;#n=[];get(e){let r=this.#r.get(e);if(!r)return;let n=Date.now();if(n>r.expiresAt){this.#r.delete(e);return}return r.lastUsed=n,this.#i(),r?.data}put(e,r,n){if(n<=0)return;if(this.#r.size>=this.#e){let a=this.#n.shift();a&&this.#r.delete(a)}let i=Date.now(),s={created:i,lastUsed:i,expiresAt:i+n*1e3,data:r};this.#n.push(e),this.#r.set(e,s)}delete(e){let r=this.#n.indexOf(e);r>=0&&this.#n.slice(r,1),this.#r.delete(e)}get size(){return this.#r.size}#i(){let e=Date.now();this.#t+Fb*1e3>e&&(this.purge(),this.#t=e)}purge(){let e=Date.now();this.#r.forEach((r,n)=>{r.expiresAt>=e&&this.#r.delete(n)})}},Bc=class{static{o(this,"MemoryCache")}constructor(e,r={maxSize:Hb}){this.name=e;let n=$p.get(e);n||(n=new Gc(r),$p.set(e,n)),this.#e=n}name;#e;get(e){return this.#e.get(e)}put(e,r,n){return this.#e.put(e,r,n)}delete(e){return this.#e.delete(e)}get size(){return this.#e.size}purge(){this.#e.purge()}};zi.MemoryCache=Bc});var Wc=g(Wi=>{"use strict";Object.defineProperty(Wi,"__esModule",{value:!0});Wi.ZoneCache=void 0;var Jc="__zuplo-expiry-header",zc=class{static{o(this,"ZoneCache")}constructor(e,r){this.#t=e,this.#e=r}#e;#t;#r;async#n(){return this.#r||(this.#r=await caches.open(this.#t)),this.#r}#i(e){return new Request(`https://zone-cache.zuplo.app/${encodeURIComponent(e)}`)}async get(e){try{let r=await this.#n(),n=this.#i(e),i=await r.match(n);if(!i)return;let s=i.headers.get(Jc);if(!s){try{await r.delete(n)}catch(u){this.logDebug("Handled failure to delete with CF cache because of missing expiryHeader",u),await this.deleteFallback(e)}return}let a=parseInt(s);if(Date.now()>=a){try{await r.delete(n)}catch(u){this.logDebug("Handled failure to delete with CF cache because of expiration",u),await this.deleteFallback(e)}return}return await i.json()}catch(r){this.logDebug(r)}}async put(e,r,n){let i=new Headers({"cache-control":`s-maxage=${n}, must-revalidate`,"content-type":"application/json"});i.set(Jc,`${Date.now()+n*1e3}`);let s=await this.#n(),a=this.#i(e),c=new Response(JSON.stringify(r),{headers:i});await s.put(a,c)}async delete(e){let r=await this.#n(),n=this.#i(e);try{await r.delete(n)}catch(i){this.logDebug("Handled failure to delete with CF cache due to explicit delete call",i),await this.deleteFallback(e)}}async deleteFallback(e){let r=new Headers({"Cache-Control":"s-maxage=0, must-revalidate"});r.set(Jc,`${Date.now()}`);let n=await this.#n(),i=this.#i(e),s=new Response("",{headers:r});await n.put(i,s)}logDebug(...e){"logger"in this.#e?this.#e.logger?.debug(`Error in ZoneCache: '${this.#t}'`,e):"log"in this.#e&&this.#e.log.debug(`Error in ZoneCache: '${this.#t}'`,e)}};Wi.ZoneCache=zc});var _r=g(Qi=>{"use strict";Object.defineProperty(Qi,"__esModule",{value:!0});Qi.MemoryZoneReadThroughCache=void 0;var qb=Kc(),$b=Wc(),Qc=class{static{o(this,"MemoryZoneReadThroughCache")}constructor(e,r){let n=`f6726488-fd18-4b7f-9c30-6070565e8042-${e}`;this.#e=e,this.#t=new qb.MemoryCache(n),this.#r=new $b.ZoneCache(n,r),this.#n=r}#e;#t;#r;#n;async get(e){let r=this.#t.get(e);if(r)return r;let n=await this.#r.get(e);if(n){let i=Math.floor((n.expires-Date.now())/1e3);if(i>0)return this.#t.put(e,n.data,i),n.data}}put(e,r,n){this.#t.put(e,r,n);let i={data:r,expires:Date.now()+n*1e3};this.#r.put(e,i,n).catch(s=>{"logger"in this.#n?this.#n.logger?.error(`Error in MemoryZoneReadThroughCache: '${this.#e}'`,s):"log"in this.#n&&this.#n.log.error(`Error in MemoryZoneReadThroughCache: '${this.#e}'`,s)})}};Qi.MemoryZoneReadThroughCache=Qc});var jp=g(Yi=>{"use strict";Object.defineProperty(Yi,"__esModule",{value:!0});Yi.VALID_COMPATIBILITY_DATES=void 0;Yi.VALID_COMPATIBILITY_DATES=Object.freeze(["2023-03-14"])});var Jn=g(N=>{"use strict";Object.defineProperty(N,"__esModule",{value:!0});N.INTERNAL_HEADERS_TO_REMOVE=N.ZP_TIMEZONE_HEADER=N.ZP_REGION_CODE_HEADER=N.ZP_REGION_HEADER=N.ZP_METRO_CODE_HEADER=N.ZP_POSTAL_CODE_HEADER=N.ZP_COLO_HEADER=N.ZP_AS_ORG_HEADER=N.ZP_ASN_HEADER=N.TRUE_CLIENT_IP=N.ZP_IP_LATITUDE_HEADER=N.ZP_IP_LONGITUDE_HEADER=N.ZP_IP_COUNTRY_HEADER=N.ZP_IP_CONTINENT_HEADER=N.ZP_IP_CITY_HEADER=N.CF_IP_LATITUDE_HEADER=N.CF_IP_LONGITUDE_HEADER=N.CF_IP_COUNTRY_HEADER=N.CF_IP_CONTINENT_HEADER=N.CF_IP_CITY_HEADER=N.RAY_ID_HEADER=N.BODY_REMOVED_HEADER=N.REQUEST_ID_HEADER=N.LEGACY_REQUEST_ID_HEADER=void 0;N.LEGACY_REQUEST_ID_HEADER="zuplo-request-id";N.REQUEST_ID_HEADER="zp-rid";N.BODY_REMOVED_HEADER="zp-body-removed";N.RAY_ID_HEADER="cf-ray";N.CF_IP_CITY_HEADER="cf-ipcity";N.CF_IP_CONTINENT_HEADER="cf-ipcontinent";N.CF_IP_COUNTRY_HEADER="cf-ipcountry";N.CF_IP_LONGITUDE_HEADER="cf-iplongitude";N.CF_IP_LATITUDE_HEADER="cf-iplatitude";N.ZP_IP_CITY_HEADER="zp-ipcity";N.ZP_IP_CONTINENT_HEADER="zp-ipcontinent";N.ZP_IP_COUNTRY_HEADER="zp-ipcountry";N.ZP_IP_LONGITUDE_HEADER="zp-iplongitude";N.ZP_IP_LATITUDE_HEADER="zp-iplatitude";N.TRUE_CLIENT_IP="true-client-ip";N.ZP_ASN_HEADER="zp-asn";N.ZP_AS_ORG_HEADER="zp-asorg";N.ZP_COLO_HEADER="zp-colo";N.ZP_POSTAL_CODE_HEADER="zp-postalcode";N.ZP_METRO_CODE_HEADER="zp-metrocode";N.ZP_REGION_HEADER="zp-region";N.ZP_REGION_CODE_HEADER="zp-regioncode";N.ZP_TIMEZONE_HEADER="zp-timezone";N.INTERNAL_HEADERS_TO_REMOVE=["x-b3-sampled","x-b3-spanid","x-b3-traceid","x-envoy-attempt-count","x-envoy-decorator-operation","x-envoy-external-address","x-envoy-peer-metadata","x-envoy-peer-metadata-id","k-proxy-request","fly-client-ip","fly-forwarded-port","fly-forwarded-proto","fly-forwarded-ssl","fly-region","fly-request-id","fly-traceparent","fly-tracestate",N.CF_IP_CITY_HEADER,N.CF_IP_CONTINENT_HEADER,N.CF_IP_COUNTRY_HEADER,N.CF_IP_LONGITUDE_HEADER,N.ZP_ASN_HEADER,N.ZP_AS_ORG_HEADER,N.ZP_COLO_HEADER,N.ZP_POSTAL_CODE_HEADER,N.ZP_METRO_CODE_HEADER,N.ZP_REGION_HEADER,N.ZP_REGION_CODE_HEADER,N.ZP_TIMEZONE_HEADER]});var Yp=g(w=>{"use strict";Object.defineProperty(w,"__esModule",{value:!0});w.generateColor=w.colorFunctions=w.stripColor=w.bgRgb24=w.rgb24=w.bgRgb8=w.rgb8=w.bgBrightWhite=w.bgBrightCyan=w.bgBrightMagenta=w.bgBrightBlue=w.bgBrightYellow=w.bgBrightGreen=w.bgBrightRed=w.bgBrightBlack=w.bgWhite=w.bgCyan=w.bgMagenta=w.bgBlue=w.bgYellow=w.bgGreen=w.bgRed=w.bgBlack=w.brightWhite=w.brightCyan=w.brightMagenta=w.brightBlue=w.brightYellow=w.brightGreen=w.brightRed=w.brightBlack=w.gray=w.white=w.cyan=w.magenta=w.blue=w.yellow=w.green=w.red=w.black=w.strikethrough=w.hidden=w.inverse=w.underline=w.italic=w.dim=w.bold=w.reset=w.getColorEnabled=w.setColorEnabled=void 0;var Vp=!0,Yc=!Vp;function jb(t){Vp||(Yc=t)}o(jb,"setColorEnabled");w.setColorEnabled=jb;function Vb(){return Yc}o(Vb,"getColorEnabled");w.getColorEnabled=Vb;function H(t,e){return{open:`\x1B[${t.join(";")}m`,close:`\x1B[${e}m`,regexp:new RegExp(`\\x1b\\[${e}m`,"g")}}o(H,"code");function q(t,e){return Yc?`${e.open}${t.replace(e.regexp,e.open)}${e.close}`:t}o(q,"run");function Gb(t){return q(t,H([0],0))}o(Gb,"reset");w.reset=Gb;function Bb(t){return q(t,H([1],22))}o(Bb,"bold");w.bold=Bb;function Kb(t){return q(t,H([2],22))}o(Kb,"dim");w.dim=Kb;function Jb(t){return q(t,H([3],23))}o(Jb,"italic");w.italic=Jb;function zb(t){return q(t,H([4],24))}o(zb,"underline");w.underline=zb;function Wb(t){return q(t,H([7],27))}o(Wb,"inverse");w.inverse=Wb;function Qb(t){return q(t,H([8],28))}o(Qb,"hidden");w.hidden=Qb;function Yb(t){return q(t,H([9],29))}o(Yb,"strikethrough");w.strikethrough=Yb;function Zb(t){return q(t,H([30],39))}o(Zb,"black");w.black=Zb;function Gp(t){return q(t,H([31],39))}o(Gp,"red");w.red=Gp;function Bp(t){return q(t,H([32],39))}o(Bp,"green");w.green=Bp;function Kp(t){return q(t,H([33],39))}o(Kp,"yellow");w.yellow=Kp;function Jp(t){return q(t,H([34],39))}o(Jp,"blue");w.blue=Jp;function zp(t){return q(t,H([35],39))}o(zp,"magenta");w.magenta=zp;function Wp(t){return q(t,H([36],39))}o(Wp,"cyan");w.cyan=Wp;function Xb(t){return q(t,H([37],39))}o(Xb,"white");w.white=Xb;function eE(t){return Qp(t)}o(eE,"gray");w.gray=eE;function Qp(t){return q(t,H([90],39))}o(Qp,"brightBlack");w.brightBlack=Qp;function tE(t){return q(t,H([91],39))}o(tE,"brightRed");w.brightRed=tE;function rE(t){return q(t,H([92],39))}o(rE,"brightGreen");w.brightGreen=rE;function nE(t){return q(t,H([93],39))}o(nE,"brightYellow");w.brightYellow=nE;function iE(t){return q(t,H([94],39))}o(iE,"brightBlue");w.brightBlue=iE;function oE(t){return q(t,H([95],39))}o(oE,"brightMagenta");w.brightMagenta=oE;function sE(t){return q(t,H([96],39))}o(sE,"brightCyan");w.brightCyan=sE;function aE(t){return q(t,H([97],39))}o(aE,"brightWhite");w.brightWhite=aE;function cE(t){return q(t,H([40],49))}o(cE,"bgBlack");w.bgBlack=cE;function uE(t){return q(t,H([41],49))}o(uE,"bgRed");w.bgRed=uE;function lE(t){return q(t,H([42],49))}o(lE,"bgGreen");w.bgGreen=lE;function dE(t){return q(t,H([43],49))}o(dE,"bgYellow");w.bgYellow=dE;function pE(t){return q(t,H([44],49))}o(pE,"bgBlue");w.bgBlue=pE;function hE(t){return q(t,H([45],49))}o(hE,"bgMagenta");w.bgMagenta=hE;function fE(t){return q(t,H([46],49))}o(fE,"bgCyan");w.bgCyan=fE;function mE(t){return q(t,H([47],49))}o(mE,"bgWhite");w.bgWhite=mE;function yE(t){return q(t,H([100],49))}o(yE,"bgBrightBlack");w.bgBrightBlack=yE;function gE(t){return q(t,H([101],49))}o(gE,"bgBrightRed");w.bgBrightRed=gE;function _E(t){return q(t,H([102],49))}o(_E,"bgBrightGreen");w.bgBrightGreen=_E;function bE(t){return q(t,H([103],49))}o(bE,"bgBrightYellow");w.bgBrightYellow=bE;function EE(t){return q(t,H([104],49))}o(EE,"bgBrightBlue");w.bgBrightBlue=EE;function wE(t){return q(t,H([105],49))}o(wE,"bgBrightMagenta");w.bgBrightMagenta=wE;function vE(t){return q(t,H([106],49))}o(vE,"bgBrightCyan");w.bgBrightCyan=vE;function TE(t){return q(t,H([107],49))}o(TE,"bgBrightWhite");w.bgBrightWhite=TE;function $t(t,e=255,r=0){return Math.trunc(Math.max(Math.min(t,e),r))}o($t,"clampAndTruncate");function SE(t,e){return q(t,H([38,5,$t(e)],39))}o(SE,"rgb8");w.rgb8=SE;function IE(t,e){return q(t,H([48,5,$t(e)],49))}o(IE,"bgRgb8");w.bgRgb8=IE;function AE(t,e){return typeof e=="number"?q(t,H([38,2,e>>16&255,e>>8&255,e&255],39)):q(t,H([38,2,$t(e.r),$t(e.g),$t(e.b)],39))}o(AE,"rgb24");w.rgb24=AE;function PE(t,e){return typeof e=="number"?q(t,H([48,2,e>>16&255,e>>8&255,e&255],49)):q(t,H([48,2,$t(e.r),$t(e.g),$t(e.b)],49))}o(PE,"bgRgb24");w.bgRgb24=PE;var RE=new RegExp(["[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:[a-zA-Z\\d]*(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]*)*)?\\u0007)","(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PR-TZcf-ntqry=><~]))"].join("|"),"g");function OE(t){return t.replace(RE,"")}o(OE,"stripColor");w.stripColor=OE;w.colorFunctions=[Gp,Bp,Kp,Jp,zp,Wp];function xE(t){let e=0,r=t.length,n=0;if(r>0)for(;n<r;)e=(e<<5)-e+t.charCodeAt(n++)|0;return e}o(xE,"hashCode");function NE(t){let e=Math.abs(xE(t));return w.colorFunctions[e%w.colorFunctions.length]}o(NE,"generateColor");w.generateColor=NE});var Zp=g(Zi=>{"use strict";Object.defineProperty(Zi,"__esModule",{value:!0});Zi.format=void 0;function CE(t,e,...r){let n=0,i=r.length,s=String(e).replace(/%[sdjoO%]/g,a=>{if(a==="%%")return"%";if(n>=i)return a;switch(a){case"%s":return String(r[n++]);case"%d":return Number(r[n++]).toString();case"%o":return t(r[n++]).split(`
25
+ "use strict";var Cb=Object.create;var Bn=Object.defineProperty;var Lb=Object.getOwnPropertyDescriptor;var Db=Object.getOwnPropertyNames;var Ub=Object.getPrototypeOf,Mb=Object.prototype.hasOwnProperty;var o=(t,e)=>Bn(t,"name",{value:e,configurable:!0});var S=(t,e)=>()=>(t&&(e=t(t=0)),e);var g=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports),Gi=(t,e)=>{for(var r in e)Bn(t,r,{get:e[r],enumerable:!0})},Up=(t,e,r,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let i of Db(e))!Mb.call(t,i)&&i!==r&&Bn(t,i,{get:()=>e[i],enumerable:!(n=Lb(e,i))||n.enumerable});return t};var Mp=(t,e,r)=>(r=t!=null?Cb(Ub(t)):{},Up(e||!t||!t.__esModule?Bn(r,"default",{value:t,enumerable:!0}):r,t)),Bi=t=>Up(Bn({},"__esModule",{value:!0}),t);var D=g(ht=>{"use strict";Object.defineProperty(ht,"__esModule",{value:!0});ht.FeatureNotEnabledError=ht.ConfigurationError=ht.RuntimeError=ht.SystemError=void 0;var qc=class extends Error{static{o(this,"SystemError")}constructor(e,r){super(e,r),this.name="InternalError"}};ht.SystemError=qc;var Kn=class extends Error{static{o(this,"RuntimeError")}extensionMembers;constructor(e,r){typeof e=="string"?super(e,r):(super(e.message,r),this.extensionMembers=e.extensionMembers),this.name="RuntimeError"}};ht.RuntimeError=Kn;var $c=class extends Kn{static{o(this,"ConfigurationError")}constructor(e,r){super(e,r),this.name="ConfigurationError"}};ht.ConfigurationError=$c;var jc=class extends Kn{static{o(this,"FeatureNotEnabledError")}constructor(e,r){super(e,r),this.name="FeatureNotEnabledError"}};ht.FeatureNotEnabledError=jc});var te=g(Ki=>{"use strict";Object.defineProperty(Ki,"__esModule",{value:!0});Ki.Environment=void 0;var kb=D(),Vc=class t{static{o(this,"Environment")}config;static#e;static initialize(e,r){this.#e||(this.#e=new t(e,r))}static get instance(){if(!this.#e)throw new kb.SystemError("Environment has not been initialized");return this.#e}constructor(e,r){let n;try{if(r.__ZUPLO_CONFIG){let i=atob(r.__ZUPLO_CONFIG);n=JSON.parse(i)}}catch{console.warn("Failed to parse runtime configuration")}this.config=n??{},this.build=e,this.runtime=r}build;runtime;get deploymentName(){return this.runtime.__ZUPLO_DEPLOYMENT_NAME??this.config.deployment_name??void 0}get useSha256ServiceRouting(){return this.config.use_sha256_service_routing??void 0}get useProxyForFetchFromZups(){return this.config.use_proxy_for_fetch_from_zups??void 0}get devPortalBaseUrl(){return this.runtime.__ZUPLO_DEV_PORTAL_URL??this.config.dev_portal_url??"https://dev-portal-v4-1.zuplo.com"}get buildAssetsUrl(){return this.runtime.__ZUPLO_BUILD_ASSETS_URL??this.config.build_assets_url??"https://build-assets.zuplo.dev"}get remoteLogToken(){return this.runtime.__ZUPLO_REMOTE_LOG_TOKEN??this.config.remote_log_token??void 0}get managementApiURL(){return this.runtime.__ZUPLO_MANAGEMENT_API_URL??this.config.management_api_url??"https://api.zuplo.com"}get cdnURL(){return this.runtime.__ZUPLO_CDN_URL??this.config.cdn_url??"https://cdn.zuplo.com"}get remoteLogURL(){return this.runtime.__ZUPLO_REMOTE_LOG_URL??this.config.log_event_api??"https://ellie.zuplo.com"}get loggingId(){return this.runtime.__ZUPLO_LOGGING_ID??this.config.logging_id??void 0}get redisURL(){return this.runtime.__ZUPLO_REDIS_URL??this.config.redis_proxy_url??"https://redis-proxy.zuplo.com"}get apiKeyServiceUrl(){return this.runtime.__ZUPLO_API_KEY_SERVICE_URL??this.config.api_key_service_url??"https://apikey.zuplo.com"}get authApiJWT(){return this.runtime.__ZUPLO_AUTH_API_JWT??void 0}get userLogLevel(){return this.runtime.ZUPLO_LOG_LEVEL??this.runtime.__ZUPLO_LOG_LEVEL??this.config.user_log_level??"debug"}get systemLogLevel(){return this.runtime.__ZUPLO_LOG_LEVEL??this.config.system_log_level??"debug"}get logFormat(){return this.runtime.__ZUPLO_LOG_FORMAT??this.config.log_format??"cloudflare"}get isCloudflare(){return this.runtime.__ZUPLO_RUNTIME_TYPE?this.runtime.__ZUPLO_RUNTIME_TYPE==="cloudflare":this.config.runtime_type?this.config.runtime_type==="cloudflare":typeof WebSocketPair=="function"}get isDeno(){return this.runtime.__ZUPLO_RUNTIME_TYPE?this.runtime.__ZUPLO_RUNTIME_TYPE==="deno":this.config.runtime_type?this.config.runtime_type==="deno":typeof WebSocketPair!="function"}get isLocalDevelopment(){return this.build.ENVIRONMENT_TYPE?this.build.ENVIRONMENT_TYPE==="LOCAL_DEVELOPMENT":!1}get systemUserAgent(){return`Zuplo/${this.build.ZUPLO_VERSION}`}get loggingEnvironmentType(){return this.isCloudflare?"edge":this.isLocalDevelopment?"local":this.isDeno?"working-copy":"unknown"}get loggingEnvironmentStage(){return this.build.ENVIRONMENT_TYPE==="PRODUCTION"?"production":this.build.ENVIRONMENT_TYPE==="PREVIEW"?"preview":this.isLocalDevelopment?"local":this.isDeno?"working-copy":"unknown"}};Ki.Environment=Vc});var qp=g(Hp=>{"use strict";Object.defineProperty(Hp,"__esModule",{value:!0});var kp=te();Function.prototype.toString=function(){return"[native code]"};var Ji=globalThis,Fp=Ji.caches;if(Fp){let t=Fp.open;Ji.caches.open=function(e){let r=kp.Environment.instance.deploymentName??kp.Environment.instance.build.BUILD_ID;return t.call(this,`${r}-${e}`)},delete Ji.caches.default,Object.freeze(Ji.caches)}});var Kc=g(zi=>{"use strict";Object.defineProperty(zi,"__esModule",{value:!0});zi.MemoryCache=void 0;var Fb=1e4,Hb=1e3,$p=new Map,Gc=class{static{o(this,"InnerCache")}constructor(e){this.#e=e.maxSize}#e;#t=0;#r=new Map;#n=[];get(e){let r=this.#r.get(e);if(!r)return;let n=Date.now();if(n>r.expiresAt){this.#r.delete(e);return}return r.lastUsed=n,this.#i(),r?.data}put(e,r,n){if(n<=0)return;if(this.#r.size>=this.#e){let a=this.#n.shift();a&&this.#r.delete(a)}let i=Date.now(),s={created:i,lastUsed:i,expiresAt:i+n*1e3,data:r};this.#n.push(e),this.#r.set(e,s)}delete(e){let r=this.#n.indexOf(e);r>=0&&this.#n.slice(r,1),this.#r.delete(e)}get size(){return this.#r.size}#i(){let e=Date.now();this.#t+Fb*1e3>e&&(this.purge(),this.#t=e)}purge(){let e=Date.now();this.#r.forEach((r,n)=>{r.expiresAt>=e&&this.#r.delete(n)})}},Bc=class{static{o(this,"MemoryCache")}constructor(e,r={maxSize:Hb}){this.name=e;let n=$p.get(e);n||(n=new Gc(r),$p.set(e,n)),this.#e=n}name;#e;get(e){return this.#e.get(e)}put(e,r,n){return this.#e.put(e,r,n)}delete(e){return this.#e.delete(e)}get size(){return this.#e.size}purge(){this.#e.purge()}};zi.MemoryCache=Bc});var Wc=g(Wi=>{"use strict";Object.defineProperty(Wi,"__esModule",{value:!0});Wi.ZoneCache=void 0;var Jc="__zuplo-expiry-header",zc=class{static{o(this,"ZoneCache")}constructor(e,r){this.#t=e,this.#e=r}#e;#t;#r;async#n(){return this.#r||(this.#r=await caches.open(this.#t)),this.#r}#i(e){return new Request(`https://zone-cache.zuplo.app/${encodeURIComponent(e)}`)}async get(e){try{let r=await this.#n(),n=this.#i(e),i=await r.match(n);if(!i)return;let s=i.headers.get(Jc);if(!s){try{await r.delete(n)}catch(u){this.logDebug("Handled failure to delete with CF cache because of missing expiryHeader",u),await this.deleteFallback(e)}return}let a=parseInt(s);if(Date.now()>=a){try{await r.delete(n)}catch(u){this.logDebug("Handled failure to delete with CF cache because of expiration",u),await this.deleteFallback(e)}return}return await i.json()}catch(r){this.logDebug(r)}}async put(e,r,n){let i=new Headers({"cache-control":`s-maxage=${n}, must-revalidate`,"content-type":"application/json"});i.set(Jc,`${Date.now()+n*1e3}`);let s=await this.#n(),a=this.#i(e),c=new Response(JSON.stringify(r),{headers:i});await s.put(a,c)}async delete(e){let r=await this.#n(),n=this.#i(e);try{await r.delete(n)}catch(i){this.logDebug("Handled failure to delete with CF cache due to explicit delete call",i),await this.deleteFallback(e)}}async deleteFallback(e){let r=new Headers({"Cache-Control":"s-maxage=0, must-revalidate"});r.set(Jc,`${Date.now()}`);let n=await this.#n(),i=this.#i(e),s=new Response("",{headers:r});await n.put(i,s)}logDebug(...e){"logger"in this.#e?this.#e.logger?.debug(`Error in ZoneCache: '${this.#t}'`,e):"log"in this.#e&&this.#e.log.debug(`Error in ZoneCache: '${this.#t}'`,e)}};Wi.ZoneCache=zc});var _r=g(Qi=>{"use strict";Object.defineProperty(Qi,"__esModule",{value:!0});Qi.MemoryZoneReadThroughCache=void 0;var qb=Kc(),$b=Wc(),Qc=class{static{o(this,"MemoryZoneReadThroughCache")}constructor(e,r){let n=`f6726488-fd18-4b7f-9c30-6070565e8042-${e}`;this.#e=e,this.#t=new qb.MemoryCache(n),this.#r=new $b.ZoneCache(n,r),this.#n=r}#e;#t;#r;#n;async get(e){let r=this.#t.get(e);if(r)return r;let n=await this.#r.get(e);if(n){let i=Math.floor((n.expires-Date.now())/1e3);if(i>0)return this.#t.put(e,n.data,i),n.data}}put(e,r,n){this.#t.put(e,r,n);let i={data:r,expires:Date.now()+n*1e3};this.#r.put(e,i,n).catch(s=>{"logger"in this.#n?this.#n.logger?.error(`Error in MemoryZoneReadThroughCache: '${this.#e}'`,s):"log"in this.#n&&this.#n.log.error(`Error in MemoryZoneReadThroughCache: '${this.#e}'`,s)})}};Qi.MemoryZoneReadThroughCache=Qc});var jp=g(Yi=>{"use strict";Object.defineProperty(Yi,"__esModule",{value:!0});Yi.VALID_COMPATIBILITY_DATES=void 0;Yi.VALID_COMPATIBILITY_DATES=Object.freeze(["2023-03-14"])});var Jn=g(R=>{"use strict";Object.defineProperty(R,"__esModule",{value:!0});R.INTERNAL_HEADERS_TO_REMOVE=R.DISPATCH_HEADERS_TO_REMOVE=R.ZP_TIMEZONE_HEADER=R.ZP_REGION_CODE_HEADER=R.ZP_REGION_HEADER=R.ZP_METRO_CODE_HEADER=R.ZP_POSTAL_CODE_HEADER=R.ZP_COLO_HEADER=R.ZP_AS_ORG_HEADER=R.ZP_ASN_HEADER=R.TRUE_CLIENT_IP=R.ZP_IP_LATITUDE_HEADER=R.ZP_IP_LONGITUDE_HEADER=R.ZP_IP_COUNTRY_HEADER=R.ZP_IP_CONTINENT_HEADER=R.ZP_IP_CITY_HEADER=R.CF_IP_LATITUDE_HEADER=R.CF_IP_LONGITUDE_HEADER=R.CF_IP_COUNTRY_HEADER=R.CF_IP_CONTINENT_HEADER=R.CF_IP_CITY_HEADER=R.RAY_ID_HEADER=R.BODY_REMOVED_HEADER=R.REQUEST_ID_HEADER=R.LEGACY_REQUEST_ID_HEADER=void 0;R.LEGACY_REQUEST_ID_HEADER="zuplo-request-id";R.REQUEST_ID_HEADER="zp-rid";R.BODY_REMOVED_HEADER="zp-body-removed";R.RAY_ID_HEADER="cf-ray";R.CF_IP_CITY_HEADER="cf-ipcity";R.CF_IP_CONTINENT_HEADER="cf-ipcontinent";R.CF_IP_COUNTRY_HEADER="cf-ipcountry";R.CF_IP_LONGITUDE_HEADER="cf-iplongitude";R.CF_IP_LATITUDE_HEADER="cf-iplatitude";R.ZP_IP_CITY_HEADER="zp-ipcity";R.ZP_IP_CONTINENT_HEADER="zp-ipcontinent";R.ZP_IP_COUNTRY_HEADER="zp-ipcountry";R.ZP_IP_LONGITUDE_HEADER="zp-iplongitude";R.ZP_IP_LATITUDE_HEADER="zp-iplatitude";R.TRUE_CLIENT_IP="true-client-ip";R.ZP_ASN_HEADER="zp-asn";R.ZP_AS_ORG_HEADER="zp-asorg";R.ZP_COLO_HEADER="zp-colo";R.ZP_POSTAL_CODE_HEADER="zp-postalcode";R.ZP_METRO_CODE_HEADER="zp-metrocode";R.ZP_REGION_HEADER="zp-region";R.ZP_REGION_CODE_HEADER="zp-regioncode";R.ZP_TIMEZONE_HEADER="zp-timezone";R.DISPATCH_HEADERS_TO_REMOVE=[R.CF_IP_CITY_HEADER,R.CF_IP_CONTINENT_HEADER,R.CF_IP_COUNTRY_HEADER,R.CF_IP_LONGITUDE_HEADER,R.CF_IP_LATITUDE_HEADER,R.ZP_ASN_HEADER,R.ZP_AS_ORG_HEADER,R.ZP_COLO_HEADER,R.ZP_POSTAL_CODE_HEADER,R.ZP_METRO_CODE_HEADER,R.ZP_REGION_HEADER,R.ZP_REGION_CODE_HEADER,R.ZP_TIMEZONE_HEADER];R.INTERNAL_HEADERS_TO_REMOVE=["x-b3-sampled","x-b3-spanid","x-b3-traceid","x-envoy-attempt-count","x-envoy-decorator-operation","x-envoy-external-address","x-envoy-peer-metadata","x-envoy-peer-metadata-id","k-proxy-request","fly-client-ip","fly-forwarded-port","fly-forwarded-proto","fly-forwarded-ssl","fly-region","fly-request-id","fly-traceparent","fly-tracestate"]});var Yp=g(w=>{"use strict";Object.defineProperty(w,"__esModule",{value:!0});w.generateColor=w.colorFunctions=w.stripColor=w.bgRgb24=w.rgb24=w.bgRgb8=w.rgb8=w.bgBrightWhite=w.bgBrightCyan=w.bgBrightMagenta=w.bgBrightBlue=w.bgBrightYellow=w.bgBrightGreen=w.bgBrightRed=w.bgBrightBlack=w.bgWhite=w.bgCyan=w.bgMagenta=w.bgBlue=w.bgYellow=w.bgGreen=w.bgRed=w.bgBlack=w.brightWhite=w.brightCyan=w.brightMagenta=w.brightBlue=w.brightYellow=w.brightGreen=w.brightRed=w.brightBlack=w.gray=w.white=w.cyan=w.magenta=w.blue=w.yellow=w.green=w.red=w.black=w.strikethrough=w.hidden=w.inverse=w.underline=w.italic=w.dim=w.bold=w.reset=w.getColorEnabled=w.setColorEnabled=void 0;var Vp=!0,Yc=!Vp;function jb(t){Vp||(Yc=t)}o(jb,"setColorEnabled");w.setColorEnabled=jb;function Vb(){return Yc}o(Vb,"getColorEnabled");w.getColorEnabled=Vb;function H(t,e){return{open:`\x1B[${t.join(";")}m`,close:`\x1B[${e}m`,regexp:new RegExp(`\\x1b\\[${e}m`,"g")}}o(H,"code");function q(t,e){return Yc?`${e.open}${t.replace(e.regexp,e.open)}${e.close}`:t}o(q,"run");function Gb(t){return q(t,H([0],0))}o(Gb,"reset");w.reset=Gb;function Bb(t){return q(t,H([1],22))}o(Bb,"bold");w.bold=Bb;function Kb(t){return q(t,H([2],22))}o(Kb,"dim");w.dim=Kb;function Jb(t){return q(t,H([3],23))}o(Jb,"italic");w.italic=Jb;function zb(t){return q(t,H([4],24))}o(zb,"underline");w.underline=zb;function Wb(t){return q(t,H([7],27))}o(Wb,"inverse");w.inverse=Wb;function Qb(t){return q(t,H([8],28))}o(Qb,"hidden");w.hidden=Qb;function Yb(t){return q(t,H([9],29))}o(Yb,"strikethrough");w.strikethrough=Yb;function Zb(t){return q(t,H([30],39))}o(Zb,"black");w.black=Zb;function Gp(t){return q(t,H([31],39))}o(Gp,"red");w.red=Gp;function Bp(t){return q(t,H([32],39))}o(Bp,"green");w.green=Bp;function Kp(t){return q(t,H([33],39))}o(Kp,"yellow");w.yellow=Kp;function Jp(t){return q(t,H([34],39))}o(Jp,"blue");w.blue=Jp;function zp(t){return q(t,H([35],39))}o(zp,"magenta");w.magenta=zp;function Wp(t){return q(t,H([36],39))}o(Wp,"cyan");w.cyan=Wp;function Xb(t){return q(t,H([37],39))}o(Xb,"white");w.white=Xb;function eE(t){return Qp(t)}o(eE,"gray");w.gray=eE;function Qp(t){return q(t,H([90],39))}o(Qp,"brightBlack");w.brightBlack=Qp;function tE(t){return q(t,H([91],39))}o(tE,"brightRed");w.brightRed=tE;function rE(t){return q(t,H([92],39))}o(rE,"brightGreen");w.brightGreen=rE;function nE(t){return q(t,H([93],39))}o(nE,"brightYellow");w.brightYellow=nE;function iE(t){return q(t,H([94],39))}o(iE,"brightBlue");w.brightBlue=iE;function oE(t){return q(t,H([95],39))}o(oE,"brightMagenta");w.brightMagenta=oE;function sE(t){return q(t,H([96],39))}o(sE,"brightCyan");w.brightCyan=sE;function aE(t){return q(t,H([97],39))}o(aE,"brightWhite");w.brightWhite=aE;function cE(t){return q(t,H([40],49))}o(cE,"bgBlack");w.bgBlack=cE;function uE(t){return q(t,H([41],49))}o(uE,"bgRed");w.bgRed=uE;function lE(t){return q(t,H([42],49))}o(lE,"bgGreen");w.bgGreen=lE;function dE(t){return q(t,H([43],49))}o(dE,"bgYellow");w.bgYellow=dE;function pE(t){return q(t,H([44],49))}o(pE,"bgBlue");w.bgBlue=pE;function hE(t){return q(t,H([45],49))}o(hE,"bgMagenta");w.bgMagenta=hE;function fE(t){return q(t,H([46],49))}o(fE,"bgCyan");w.bgCyan=fE;function mE(t){return q(t,H([47],49))}o(mE,"bgWhite");w.bgWhite=mE;function yE(t){return q(t,H([100],49))}o(yE,"bgBrightBlack");w.bgBrightBlack=yE;function gE(t){return q(t,H([101],49))}o(gE,"bgBrightRed");w.bgBrightRed=gE;function _E(t){return q(t,H([102],49))}o(_E,"bgBrightGreen");w.bgBrightGreen=_E;function bE(t){return q(t,H([103],49))}o(bE,"bgBrightYellow");w.bgBrightYellow=bE;function EE(t){return q(t,H([104],49))}o(EE,"bgBrightBlue");w.bgBrightBlue=EE;function wE(t){return q(t,H([105],49))}o(wE,"bgBrightMagenta");w.bgBrightMagenta=wE;function vE(t){return q(t,H([106],49))}o(vE,"bgBrightCyan");w.bgBrightCyan=vE;function TE(t){return q(t,H([107],49))}o(TE,"bgBrightWhite");w.bgBrightWhite=TE;function jt(t,e=255,r=0){return Math.trunc(Math.max(Math.min(t,e),r))}o(jt,"clampAndTruncate");function SE(t,e){return q(t,H([38,5,jt(e)],39))}o(SE,"rgb8");w.rgb8=SE;function IE(t,e){return q(t,H([48,5,jt(e)],49))}o(IE,"bgRgb8");w.bgRgb8=IE;function AE(t,e){return typeof e=="number"?q(t,H([38,2,e>>16&255,e>>8&255,e&255],39)):q(t,H([38,2,jt(e.r),jt(e.g),jt(e.b)],39))}o(AE,"rgb24");w.rgb24=AE;function PE(t,e){return typeof e=="number"?q(t,H([48,2,e>>16&255,e>>8&255,e&255],49)):q(t,H([48,2,jt(e.r),jt(e.g),jt(e.b)],49))}o(PE,"bgRgb24");w.bgRgb24=PE;var RE=new RegExp(["[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:[a-zA-Z\\d]*(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]*)*)?\\u0007)","(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PR-TZcf-ntqry=><~]))"].join("|"),"g");function OE(t){return t.replace(RE,"")}o(OE,"stripColor");w.stripColor=OE;w.colorFunctions=[Gp,Bp,Kp,Jp,zp,Wp];function xE(t){let e=0,r=t.length,n=0;if(r>0)for(;n<r;)e=(e<<5)-e+t.charCodeAt(n++)|0;return e}o(xE,"hashCode");function NE(t){let e=Math.abs(xE(t));return w.colorFunctions[e%w.colorFunctions.length]}o(NE,"generateColor");w.generateColor=NE});var Zp=g(Zi=>{"use strict";Object.defineProperty(Zi,"__esModule",{value:!0});Zi.format=void 0;function CE(t,e,...r){let n=0,i=r.length,s=String(e).replace(/%[sdjoO%]/g,a=>{if(a==="%%")return"%";if(n>=i)return a;switch(a){case"%s":return String(r[n++]);case"%d":return Number(r[n++]).toString();case"%o":return t(r[n++]).split(`
26
26
  `).map(c=>c.trim()).join(" ");case"%O":return t(r[n++]);case"%j":try{return JSON.stringify(r[n++])}catch{return"[Circular]"}default:return a}});for(let a of r.splice(n))a===null||!(typeof a=="object"&&a!==null)?s+=" "+a:s+=" "+t(a);return s}o(CE,"format");Zi.format=CE});var ih=g(eo=>{"use strict";Object.defineProperty(eo,"__esModule",{value:!0});eo.inspect=void 0;function br(t,e,r,n){let i={seen:[],stylize:LE,showHidden:e??!1,depth:r??2,colors:n??!1,customInspect:!0};return i.colors&&(i.stylize=UE),Xi(i,t,i.depth)}o(br,"inspect");eo.inspect=br;br.colors={bold:[1,22],italic:[3,23],underline:[4,24],inverse:[7,27],white:[37,39],grey:[90,39],black:[30,39],blue:[34,39],cyan:[36,39],green:[32,39],magenta:[35,39],red:[31,39],yellow:[33,39]};br.styles={special:"cyan",number:"yellow",boolean:"yellow",undefined:"grey",null:"bold",string:"green",date:"magenta",regexp:"red"};function LE(t,e){return t}o(LE,"stylizeNoColor");function DE(t){return typeof t=="boolean"}o(DE,"isBoolean");function eh(t){return t===void 0}o(eh,"isUndefined");function UE(t,e){let r=br.styles[e];return r?"\x1B["+br.colors[r][0]+"m"+t+"\x1B["+br.colors[r][1]+"m":t}o(UE,"stylizeWithColor");function Zc(t){return typeof t=="function"}o(Zc,"isFunction");function th(t){return typeof t=="string"}o(th,"isString");function ME(t){return typeof t=="number"}o(ME,"isNumber");function rh(t){return t===null}o(rh,"isNull");function nh(t,e){return Object.prototype.hasOwnProperty.call(t,e)}o(nh,"hasOwn");function Xc(t){return nu(t)&&iu(t)==="[object RegExp]"}o(Xc,"isRegExp");function nu(t){return typeof t=="object"&&t!==null}o(nu,"isObject");function eu(t){return nu(t)&&(iu(t)==="[object Error]"||t instanceof Error)}o(eu,"isError");function Xp(t){return nu(t)&&iu(t)==="[object Date]"}o(Xp,"isDate");function iu(t){return Object.prototype.toString.call(t)}o(iu,"objectToString");function kE(t){let e={};return t.forEach(function(r,n){e[r]=!0}),e}o(kE,"arrayToHash");function FE(t,e,r,n,i){let s=[];for(let a=0,c=e.length;a<c;++a)nh(e,String(a))?s.push(ru(t,e,r,n,String(a),!0)):s.push("");return i.forEach(function(a){a.match(/^\d+$/)||s.push(ru(t,e,r,n,a,!0))}),s}o(FE,"formatArray");function tu(t){return"["+Error.prototype.toString.call(t)+"]"}o(tu,"formatError");function Xi(t,e,r){if(t.customInspect&&e&&Zc(e.inspect)&&e.inspect!==br&&!(e.constructor&&e.constructor.prototype===e)){let d=e.inspect(r,t);return th(d)||(d=Xi(t,d,r)),d}let n=HE(t,e);if(n)return n;let i=Object.keys(e),s=kE(i);try{t.showHidden&&Object.getOwnPropertyNames&&(i=Object.getOwnPropertyNames(e))}catch{}if(eu(e)&&(i.indexOf("message")>=0||i.indexOf("description")>=0))return tu(e);if(i.length===0){if(Zc(e)){let d=e.name?": "+e.name:"";return t.stylize("[Function"+d+"]","special")}if(Xc(e))return t.stylize(RegExp.prototype.toString.call(e),"regexp");if(Xp(e))return t.stylize(Date.prototype.toString.call(e),"date");if(eu(e))return tu(e)}let a="",c=!1,u=["{","}"];if(Array.isArray(e)&&(c=!0,u=["[","]"]),Zc(e)&&(a=" [Function"+(e.name?": "+e.name:"")+"]"),Xc(e)&&(a=" "+RegExp.prototype.toString.call(e)),Xp(e)&&(a=" "+Date.prototype.toUTCString.call(e)),eu(e)&&(a=" "+tu(e)),i.length===0&&(!c||e.length==0))return u[0]+a+u[1];if(r<0)return Xc(e)?t.stylize(RegExp.prototype.toString.call(e),"regexp"):t.stylize("[Object]","special");t.seen.push(e);let l;return c?l=FE(t,e,r,s,i):l=i.map(function(d){return ru(t,e,r,s,d,c)}),t.seen.pop(),qE(l,a,u)}o(Xi,"formatValue");function ru(t,e,r,n,i,s){let a,c,u;u={value:void 0};try{u.value=e[i]}catch{}try{Object.getOwnPropertyDescriptor&&(u=Object.getOwnPropertyDescriptor(e,i)||u)}catch{}if(u.get?u.set?c=t.stylize("[Getter/Setter]","special"):c=t.stylize("[Getter]","special"):u.set&&(c=t.stylize("[Setter]","special")),nh(n,i)||(a="["+i+"]"),c||(t.seen.indexOf(u.value)<0?(rh(r)?c=Xi(t,u.value,null):c=Xi(t,u.value,r-1),c.indexOf(`
27
27
  `)>-1&&(s?c=c.split(`
28
28
  `).map(function(l){return" "+l}).join(`
@@ -32,7 +32,7 @@
32
32
  `))):c=t.stylize("[Circular]","special")),eh(a)){if(s&&i.match(/^\d+$/))return c;a=JSON.stringify(""+i),a.match(/^"([a-zA-Z_][a-zA-Z_0-9]*)"$/)?(a=a.substr(1,a.length-2),a=t.stylize(a,"name")):(a=a.replace(/'/g,"\\'").replace(/\\"/g,'"').replace(/(^"|"$)/g,"'"),a=t.stylize(a,"string"))}return a+": "+c}o(ru,"formatProperty");function HE(t,e){if(eh(e))return t.stylize("undefined","undefined");if(th(e)){let r="'"+JSON.stringify(e).replace(/^"|"$/g,"").replace(/'/g,"\\'").replace(/\\"/g,'"')+"'";return t.stylize(r,"string")}if(ME(e))return t.stylize(""+e,"number");if(DE(e))return t.stylize(""+e,"boolean");if(rh(e))return t.stylize("null","null")}o(HE,"formatPrimitive");function qE(t,e,r){let n=0;return t.reduce(function(s,a){return n++,a.indexOf(`
33
33
  `)>=0&&n++,s+a.replace(/\u001b\[\d\d?m/g,"").length+1},0)>60?r[0]+(e===""?"":e+`
34
34
  `)+" "+t.join(`,
35
- `)+" "+r[1]:r[0]+e+" "+t.join(", ")+" "+r[1]}o(qE,"reduceToSingleString")});var oh=g(to=>{"use strict";Object.defineProperty(to,"__esModule",{value:!0});to.format=void 0;var $E=Zp(),jE=ih(),VE=o((t,...e)=>(0,$E.format)(jE.inspect,t,e),"format");to.format=VE});var Er=g(jt=>{"use strict";Object.defineProperty(jt,"__esModule",{value:!0});jt.debug=jt.withoutEnv=jt.Debugger=void 0;var GE=Yp(),BE=oh(),ro=class{static{o(this,"Debugger")}manager;ns;color;last;enabled;constructor(e,r){this.manager=e,this.ns=r,this.color=(0,GE.generateColor)(r),this.last=0,this.enabled=e.enabled.some(n=>n.test(r))}log(...e){if(!this.enabled)return;let r,n=e[0];typeof n=="function"?r=n():r=String(n);let i=Date.now()-(this.last||Date.now());r=(0,BE.format)(r,...e);let s=`${this.color(this.ns)} ${r} ${this.color(`+${i}ms`)}`;console.log(s),this.last=Date.now()}};jt.Debugger=ro;var no=class{static{o(this,"DebugManager")}debuggers;enabled;constructor(e){this.debuggers=new Map,this.enabled=e??[]}};function sh(t){return!t||t.length===0?[]:(t=t.replace(/\s/g,"").replace(/\*/g,".+"),t.split(",").map(e=>new RegExp(`^${e}$`)))}o(sh,"extract");var zn;function KE(t){t||(t=[]),typeof t=="string"&&(t=sh(t)),zn=new no(t)}o(KE,"withoutEnv");jt.withoutEnv=KE;function JE(t){let e=globalThis.DEBUG;zn||(zn=new no(sh(e)));let r=new ro(zn,t);return zn.debuggers.set(t,r),Object.assign(r.log.bind(r),{self:r})}o(JE,"debug");jt.debug=JE});var oo=g(Fr=>{"use strict";Object.defineProperty(Fr,"__esModule",{value:!0});Fr.ProblemResponseFormatter=Fr.InternalProblemResponseFormatter=void 0;var zE=D(),io=class t{static{o(this,"InternalProblemResponseFormatter")}static problemResponseFormat=async e=>{let r=e.problem,n=JSON.stringify(r,null,2);return new Response(n,{status:e.problem.status,statusText:e.statusText,headers:{...e.additionalHeaders,"content-type":"application/problem+json"}})};static setProblemResponseFormat(e){e&&(t.problemResponseFormat=(r,n,i)=>{try{return e(r,n,i)}catch(s){throw new zE.RuntimeError("Error in custom 'problemResponseFormat'",{cause:s})}})}};Fr.InternalProblemResponseFormatter=io;var ou=class{static{o(this,"ProblemResponseFormatter")}static async format(e,r,n){return await io.problemResponseFormat(e,r,n)}};Fr.ProblemResponseFormatter=ou});var Rt=g(me=>{"use strict";Object.defineProperty(me,"__esModule",{value:!0});me.initializeRuntime=me.invokeOnResponseSendingFinalExtensions=me.invokeOnResponseSendingExtensions=me.invokeOnRequestExtensions=me.plugins=me.runtimeExtensions=me.InitializableRuntimePlugin=me.RuntimePlugin=void 0;var WE=oo(),ao=class{static{o(this,"RuntimePlugin")}};me.RuntimePlugin=ao;var co=class extends ao{static{o(this,"InitializableRuntimePlugin")}};me.InitializableRuntimePlugin=co;me.runtimeExtensions={};var su=[];me.plugins=su;var ah=[],ch=[],uh=[],so={addPlugin(t){su.push(t)},addRequestHook(t){ah.push(t)},addResponseSendingHook(t){ch.push(t)},addResponseSendingFinalHook(t){uh.push(t)}},QE=o(async(t,e)=>{let r=t;for(let n of ah)if(r=await n(r,e),r instanceof Response)return r;return r},"invokeOnRequestExtensions");me.invokeOnRequestExtensions=QE;var YE=o(async(t,e,r)=>{let n=t;for(let i of ch)n=await i(t,e,r);return n},"invokeOnResponseSendingExtensions");me.invokeOnResponseSendingExtensions=YE;var ZE=o(async(t,e,r)=>{for(let n of uh)await n(t,e,r)},"invokeOnResponseSendingFinalExtensions");me.invokeOnResponseSendingFinalExtensions=ZE;async function XE(t=()=>Promise.resolve()){await t(so),me.runtimeExtensions.value=so;let e=su.filter(r=>r instanceof co);for(let r of e)await r.initialize(so);WE.InternalProblemResponseFormatter.setProblemResponseFormat(so.problemResponseFormat)}o(XE,"initializeRuntime");me.initializeRuntime=XE});var Vt=g(uo=>{"use strict";Object.defineProperty(uo,"__esModule",{value:!0});uo.Pipeline=void 0;var ew=ke(),au=wr(),lh=Rt(),cu=class{static{o(this,"Pipeline")}constructor(e,r,n){this.execute=this.#t(e,r,n)}execute;#e=(e,r)=>async(n,i)=>{try{return await e(n,i)}catch(s){return i.log.error("Error executing request handler.",s),r.errorHandler(n,i,s)}};#t=(e,r,n)=>async(i,s)=>{let a=[...e],c=o(async y=>{let v=a.pop();return v?v(i,s,n,c):await this.#e(async I=>{let k=await r(I,s);return tw(k)},n)(y,s)},"nextPipe"),l=await c(i),d=new au.ResponseSendingEvent(i,l);s.dispatchEvent(d);let p=au.ZuploContextExtensions.getContextExtensions(s),m=p.latestRequest,f;try{f=await d.mutableResponse}catch(y){return s.log.error(y),n.errorHandler(i,s,y)}try{f=await p.onResponseSending(f,m,s)}catch(y){return s.log.error(`Error invoking 'context.onResponseSending' hook: '${y.message}'`,y),n.errorHandler(i,s,y)}try{f=await(0,lh.invokeOnResponseSendingExtensions)(f,m,s)}catch(y){return s.log.error(`Error invoking 'context.onResponseSending' hook: '${y.message}'`,y),n.errorHandler(i,s,y)}s.dispatchEvent(new au.ResponseSentEvent(i,f));try{await p.onResponseSendingFinal(l,m,s)}catch(y){throw s.log.error(`Error invoking 'runtime.onResponseSending' hook: '${y.message}'`,y),y}try{await(0,lh.invokeOnResponseSendingFinalExtensions)(l,m,s)}catch(y){throw s.log.error(`Error invoking 'runtime.onResponseSending' hook: '${y.message}'`,y),y}return f}};uo.Pipeline=cu;function tw(t){return t instanceof Response?t:typeof t>"u"?new Response:new Response((0,ew.serialize)(t),{headers:{"content-type":"application/json"}})}o(tw,"resultToResponse")});var po=g(lo=>{"use strict";Object.defineProperty(lo,"__esModule",{value:!0});lo.MetricsPlugin=void 0;var rw=Rt(),uu=class extends rw.RuntimePlugin{static{o(this,"MetricsPlugin")}};lo.MetricsPlugin=uu});var Ge=g(ho=>{"use strict";Object.defineProperty(ho,"__esModule",{value:!0});ho.SystemLogMap=void 0;var nw=D(),lu=class t{static{o(this,"SystemLogMap")}static#e=new WeakMap;static getLogger(e){let r=t.#e.get(e);if(!r){let n=`No system logger found for context with requestId '${e.requestId}'`;throw console.error(n),new nw.SystemError(n)}return r}static addLogger(e,r){t.#e.set(e,r)}};ho.SystemLogMap=lu});var we=g(fo=>{"use strict";Object.defineProperty(fo,"__esModule",{value:!0});fo.BatchDispatch=void 0;var du=class{static{o(this,"BatchDispatch")}constructor(e,r,n,i){this.#t=e,this.#o=r,this.#n=n,this.#r=i}#e=void 0;#t;#r;#n;#i=[];#o;enqueue=e=>{this.#i.push(e),this.#e||(this.#e=new Promise(r=>{setTimeout(()=>{if(this.#i.length>0){let n=[...this.#i];this.#i.length=0,this.#e=void 0,this.#n(n).catch(i=>{this.#r&&this.#r.error(`Uncaught error in BatchDispatcher named '${this.#t}'}`,i.message,i.stack)}).finally(()=>{r()})}},this.#o)}))};waitUntilFlushed=async()=>{if(this.#e)return this.#e}};fo.BatchDispatch=du});var ph=g(yo=>{"use strict";Object.defineProperty(yo,"__esModule",{value:!0});yo.EllieMetricsTransport=void 0;var dh=Ge(),iw=we(),mo=te(),pu=class{static{o(this,"EllieMetricsTransport")}#e;#t;#r;constructor(e){this.#r=mo.Environment.instance.loggingId,this.#e=e,this.#t=new iw.BatchDispatch("ellie-metrics-transport",10,this.dispatchFunction,dh.SystemLogMap.getLogger(e))}pushMetrics(e,r){this.#r!==void 0&&(this.#t.enqueue(e),r.waitUntil(this.#t.waitUntilFlushed()))}dispatchFunction=async e=>{if(e.length===0)return;let r,{loggingId:n,remoteLogURL:i,deploymentName:s}=mo.Environment.instance,a=e.map(c=>{let u=Object.assign({},c);return delete u.requestContentLength,delete u.responseContentLength,u});if(n&&s&&(r=`${i}/v1-alpha/metrics?loggingId=${encodeURI(n)}&deploymentName=${encodeURI(s)}`),r){let c=await fetch(r,{method:"POST",body:JSON.stringify(a),headers:{"content-type":"application/json","zp-dn":mo.Environment.instance.deploymentName??"unknown","user-agent":mo.Environment.instance.systemUserAgent}});if(!c.ok){let u=await c.text();dh.SystemLogMap.getLogger(this.#e).error(`Metrics POST responded ${c.status}: ${c.statusText}`,u)}}}};yo.EllieMetricsTransport=pu});var ft=g(vr=>{"use strict";Object.defineProperty(vr,"__esModule",{value:!0});vr.systemNoVersion=vr.SystemRouteConfiguration=void 0;var hu=class{static{o(this,"SystemRouteConfiguration")}constructor({label:e,path:r,methods:n,systemRouteName:i,corsPolicy:s="none"}){this.label=e,this.path=r,this.methods=n,this.corsPolicy=s,this.version=vr.systemNoVersion.name,this.handler={export:"SYSTEM_IGNORED",module:"SYSTEM_IGNORED"},this.systemRouteName=i}label;path;methods;handler;corsPolicy;version;policies;systemRouteName;raw(){return{}}};vr.SystemRouteConfiguration=hu;vr.systemNoVersion={name:"__system-no-version",pathPrefix:""}});var Tr=g(go=>{"use strict";Object.defineProperty(go,"__esModule",{value:!0});go.metricsProcessor=void 0;var hh=Jn(),ow=wr(),sw=Rt(),aw=po(),cw=ph(),uw=ft(),lw=o(async(t,e,r,n)=>{let i=new Date,s=Date.now(),a=await n(t),c=t.headers.get(hh.RAY_ID_HEADER)??void 0,u=t.headers.get(hh.TRUE_CLIENT_IP)??void 0,l=e.incomingRequestProperties,d;e.route instanceof uw.SystemRouteConfiguration&&(d=e.route.systemRouteName);let p=ow.ZuploContextExtensions.getContextExtensions(e).latestRequest,m={timestamp:i,statusCode:a.status,durationMs:Date.now()-s,requestContentLength:t.headers.get("content-length")?Number(t.headers.get("content-length")):void 0,responseContentLength:a.headers.get("content-length")?Number(a.headers.get("content-length")):void 0,routePath:e.route?.path??"SYSTEM_OR_NOT_FOUND",systemRouteName:d,requestId:e.requestId,method:t.method,asn:l.asn,asOrganization:l.asOrganization,colo:l.colo,continent:l.continent,country:l.country,city:l.city,latitude:l.latitude,longitude:l.longitude,rayId:c,instanceId:r.instanceId,userSub:p.user?.sub,clientIp:u},f=[];return f.push(new cw.EllieMetricsTransport(e)),sw.plugins.forEach(y=>{if(y instanceof aw.MetricsPlugin){let v=y.getTransport();f.push(v)}}),f.forEach(y=>{y.pushMetrics(m,e)}),a},"metricsProcessor");go.metricsProcessor=lw});var mh=g(_o=>{"use strict";Object.defineProperty(_o,"__esModule",{value:!0});_o.SystemRouteName=void 0;var fh;(function(t){t.Build="build-data",t.CorsPreflight="cors-preflight",t.DeveloperPortal="developer-portal",t.DeveloperPortalLegacy="developer-portal-legacy",t.EmptyGatewayCatchall="empty-gateway-catchall",t.Ping="ping",t.UnmatchedPath="unmatched-path"})(fh||(_o.SystemRouteName=fh={}))});var gh=g(yh=>{"use strict";Object.defineProperty(yh,"__esModule",{value:!0})});var Sr=g(Gt=>{"use strict";var dw=Gt&&Gt.__createBinding||(Object.create?function(t,e,r,n){n===void 0&&(n=r);var i=Object.getOwnPropertyDescriptor(e,r);(!i||("get"in i?!e.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,n,i)}:function(t,e,r,n){n===void 0&&(n=r),t[n]=e[r]}),_h=Gt&&Gt.__exportStar||function(t,e){for(var r in t)r!=="default"&&!Object.prototype.hasOwnProperty.call(e,r)&&dw(e,t,r)};Object.defineProperty(Gt,"__esModule",{value:!0});_h(mh(),Gt);_h(gh(),Gt)});var bh=g(bo=>{"use strict";Object.defineProperty(bo,"__esModule",{value:!0});bo.registerBuildRoute=void 0;var pw=Ot(),hw=Vt(),fw=Tr(),mw=Sr(),yw=ft(),gw=Ge(),_w=te(),bw=o((t,e)=>{let r=o(async(s,a)=>{let u=new URL(s.url).hostname.toLowerCase();if(!u.endsWith(".zuplo.app")&&!u.endsWith(".zuplo.dev")&&!u.endsWith(".fly.dev")&&!u.endsWith("zuplotest.com")&&u!=="localhost")return pw.HttpProblems.notFound(s,a);let l=_w.Environment.instance.build,d={buildId:l.BUILD_ID,zuploVersion:l.ZUPLO_VERSION,apiVersion:l.API_VERSION,gitSha:l.GIT_SHA,timestamp:l.TIMESTAMP,isProduction:l.IS_PRODUCTION},p=s.url.toString().split("?");return p.length>0&&new URLSearchParams(p[1]).get("system_log")==="true"&&gw.SystemLogMap.getLogger(a).error("Test System Log",d),new Response(JSON.stringify(d,null,2),{status:200,headers:{"content-type":"application/json"}})},"buildRouteHandler"),n=new hw.Pipeline([fw.metricsProcessor],r,e),i=new yw.SystemRouteConfiguration({label:"SYSTEM_BUILD_ROUTE",methods:["GET"],path:"/__zuplo/build",systemRouteName:mw.SystemRouteName.Build});t.addRoute(i,n.execute)},"registerBuildRoute");bo.registerBuildRoute=bw});var fu=g(Hr=>{"use strict";Object.defineProperty(Hr,"__esModule",{value:!0});Hr.HTTP_STATUS_TITLES=Hr.HttpStatusCode=void 0;var Eh;(function(t){t[t.CONTINUE=100]="CONTINUE",t[t.SWITCHING_PROTOCOLS=101]="SWITCHING_PROTOCOLS",t[t.PROCESSING=102]="PROCESSING",t[t.EARLY_HINTS=103]="EARLY_HINTS",t[t.OK=200]="OK",t[t.CREATED=201]="CREATED",t[t.ACCEPTED=202]="ACCEPTED",t[t.NON_AUTHORITATIVE_INFORMATION=203]="NON_AUTHORITATIVE_INFORMATION",t[t.NO_CONTENT=204]="NO_CONTENT",t[t.RESET_CONTENT=205]="RESET_CONTENT",t[t.PARTIAL_CONTENT=206]="PARTIAL_CONTENT",t[t.MULTI_STATUS=207]="MULTI_STATUS",t[t.ALREADY_REPORTED=208]="ALREADY_REPORTED",t[t.IM_USED=226]="IM_USED",t[t.MULTIPLE_CHOICES=300]="MULTIPLE_CHOICES",t[t.MOVED_PERMANENTLY=301]="MOVED_PERMANENTLY",t[t.FOUND=302]="FOUND",t[t.SEE_OTHER=303]="SEE_OTHER",t[t.NOT_MODIFIED=304]="NOT_MODIFIED",t[t.USE_PROXY=305]="USE_PROXY",t[t.SWITCH_PROXY=306]="SWITCH_PROXY",t[t.TEMPORARY_REDIRECT=307]="TEMPORARY_REDIRECT",t[t.PERMANENT_REDIRECT=308]="PERMANENT_REDIRECT",t[t.BAD_REQUEST=400]="BAD_REQUEST",t[t.UNAUTHORIZED=401]="UNAUTHORIZED",t[t.PAYMENT_REQUIRED=402]="PAYMENT_REQUIRED",t[t.FORBIDDEN=403]="FORBIDDEN",t[t.NOT_FOUND=404]="NOT_FOUND",t[t.METHOD_NOT_ALLOWED=405]="METHOD_NOT_ALLOWED",t[t.NOT_ACCEPTABLE=406]="NOT_ACCEPTABLE",t[t.PROXY_AUTHENTICATION_REQUIRED=407]="PROXY_AUTHENTICATION_REQUIRED",t[t.REQUEST_TIMEOUT=408]="REQUEST_TIMEOUT",t[t.CONFLICT=409]="CONFLICT",t[t.GONE=410]="GONE",t[t.LENGTH_REQUIRED=411]="LENGTH_REQUIRED",t[t.PRECONDITION_FAILED=412]="PRECONDITION_FAILED",t[t.CONTENT_TOO_LARGE=413]="CONTENT_TOO_LARGE",t[t.PAYLOAD_TOO_LARGE=413]="PAYLOAD_TOO_LARGE",t[t.URI_TOO_LONG=414]="URI_TOO_LONG",t[t.UNSUPPORTED_MEDIA_TYPE=415]="UNSUPPORTED_MEDIA_TYPE",t[t.RANGE_NOT_SATISFIABLE=416]="RANGE_NOT_SATISFIABLE",t[t.EXPECTATION_FAILED=417]="EXPECTATION_FAILED",t[t.I_AM_A_TEAPOT=418]="I_AM_A_TEAPOT",t[t.MISDIRECTED_REQUEST=421]="MISDIRECTED_REQUEST",t[t.UNPROCESSABLE_ENTITY=422]="UNPROCESSABLE_ENTITY",t[t.UNPROCESSABLE_CONTENT=422]="UNPROCESSABLE_CONTENT",t[t.LOCKED=423]="LOCKED",t[t.FAILED_DEPENDENCY=424]="FAILED_DEPENDENCY",t[t.TOO_EARLY=425]="TOO_EARLY",t[t.UPGRADE_REQUIRED=426]="UPGRADE_REQUIRED",t[t.PRECONDITION_REQUIRED=428]="PRECONDITION_REQUIRED",t[t.TOO_MANY_REQUESTS=429]="TOO_MANY_REQUESTS",t[t.REQUEST_HEADER_FIELDS_TOO_LARGE=431]="REQUEST_HEADER_FIELDS_TOO_LARGE",t[t.UNAVAILABLE_FOR_LEGAL_REASONS=451]="UNAVAILABLE_FOR_LEGAL_REASONS",t[t.INTERNAL_SERVER_ERROR=500]="INTERNAL_SERVER_ERROR",t[t.NOT_IMPLEMENTED=501]="NOT_IMPLEMENTED",t[t.BAD_GATEWAY=502]="BAD_GATEWAY",t[t.SERVICE_UNAVAILABLE=503]="SERVICE_UNAVAILABLE",t[t.GATEWAY_TIMEOUT=504]="GATEWAY_TIMEOUT",t[t.HTTP_VERSION_NOT_SUPPORTED=505]="HTTP_VERSION_NOT_SUPPORTED",t[t.VARIANT_ALSO_NEGOTIATES=506]="VARIANT_ALSO_NEGOTIATES",t[t.INSUFFICIENT_STORAGE=507]="INSUFFICIENT_STORAGE",t[t.LOOP_DETECTED=508]="LOOP_DETECTED",t[t.NOT_EXTENDED=510]="NOT_EXTENDED",t[t.NETWORK_AUTHENTICATION_REQUIRED=511]="NETWORK_AUTHENTICATION_REQUIRED"})(Eh||(Hr.HttpStatusCode=Eh={}));Hr.HTTP_STATUS_TITLES={100:"Continue",101:"Switching Protocols",102:"Processing",103:"Early Hints",200:"OK",201:"Created",202:"Accepted",203:"Non-Authoritative Information",204:"No Content",205:"Reset Content",206:"Partial Content",207:"Multi-Status",208:"Already Reported",226:"IM Used",300:"Multiple Choices",301:"Moved Permanently",302:"Found",303:"See Other",304:"Not Modified",305:"Use Proxy",306:"Switch Proxy",307:"Temporary Redirect",308:"Permanent Redirect",400:"Bad Request",401:"Unauthorized",402:"Payment Required",403:"Forbidden",404:"Not Found",405:"Method Not Allowed",406:"Not Acceptable",407:"Proxy Authentication Required",408:"Request Timeout",409:"Conflict",410:"Gone",411:"Length Required",412:"Precondition Failed",413:"Content Too Large",414:"URI Too Long",415:"Unsupported Media Type",416:"Range Not Satisfiable",417:"Expectation Failed",418:"I'm a teapot",421:"Misdirected Request",422:"Unprocessable Content",423:"Locked",424:"Failed Dependency",425:"Too Early",426:"Upgrade Required",428:"Precondition Required",429:"Too Many Requests",431:"Request Header Fields Too Large",451:"Unavailable For Legal Reasons",500:"Internal Server Error",501:"Not Implemented",502:"Bad Gateway",503:"Service Unavailable",504:"Gateway Timeout",505:"HTTP Version Not Supported",506:"Variant Also Negotiates",507:"Insufficient Storage",508:"Loop Detected",510:"Not Extended",511:"Network Authentication Required"}});var ve=g(Eo=>{"use strict";Object.defineProperty(Eo,"__esModule",{value:!0});Eo.HttpProblems=void 0;var Ew=ke(),ww=Jn(),R=fu(),vw=te(),mu=oo();function Tw(t){return`${new URL(t.url).pathname}`}o(Tw,"instance");function Sw(t,e){let r={timestamp:new Date().toISOString(),requestId:e.requestId,buildId:vw.Environment.instance.build.BUILD_ID},n=t.headers.get(ww.RAY_ID_HEADER);return n&&(r.rayId=n),r}o(Sw,"trace");var Iw=o((t,e,r,n,i)=>({problem:{type:t.type,title:t.title,status:t.status,detail:t.detail,instance:Tw(e),trace:Sw(e,r),...n},additionalHeaders:i,statusText:Ew.httpStatuses[t.status]}),"merge"),yu=class{static{o(this,"HttpProblemsBase")}static format=(e,r,n)=>"problem"in e?mu.ProblemResponseFormatter.format(e,r,n):mu.ProblemResponseFormatter.format({problem:e},r,n);static getProblemFromStatus(e,r){return{type:`https://httpproblems.com/http-status/${e}`,status:e,title:R.HTTP_STATUS_TITLES[e],...r}}},gu=class extends yu{static{o(this,"HttpProblems")}static#e(e,r,n,i,s){let a=Iw(this.getProblemFromStatus(e),r,n,i,s);return mu.ProblemResponseFormatter.format(a,r,n)}static continue=(e,r,n,i)=>this.#e(R.HttpStatusCode.OK,e,r,n,i);static switchingProtocols=(e,r,n,i)=>this.#e(R.HttpStatusCode.SWITCHING_PROTOCOLS,e,r,n,i);static processing=(e,r,n,i)=>this.#e(R.HttpStatusCode.PROCESSING,e,r,n,i);static earlyHints=(e,r,n,i)=>this.#e(R.HttpStatusCode.EARLY_HINTS,e,r,n,i);static ok=(e,r,n,i)=>this.#e(R.HttpStatusCode.OK,e,r,n,i);static created=(e,r,n,i)=>this.#e(R.HttpStatusCode.CREATED,e,r,n,i);static accepted=(e,r,n,i)=>this.#e(R.HttpStatusCode.ACCEPTED,e,r,n,i);static nonAuthoritativeInformation=(e,r,n,i)=>this.#e(R.HttpStatusCode.NON_AUTHORITATIVE_INFORMATION,e,r,n,i);static noContent=(e,r,n,i)=>this.#e(R.HttpStatusCode.NO_CONTENT,e,r,n,i);static resetContent=(e,r,n,i)=>this.#e(R.HttpStatusCode.RESET_CONTENT,e,r,n,i);static partialContent=(e,r,n,i)=>this.#e(R.HttpStatusCode.PARTIAL_CONTENT,e,r,n,i);static multiStatus=(e,r,n,i)=>this.#e(R.HttpStatusCode.MULTI_STATUS,e,r,n,i);static alreadyReported=(e,r,n,i)=>this.#e(R.HttpStatusCode.ALREADY_REPORTED,e,r,n,i);static imUsed=(e,r,n,i)=>this.#e(R.HttpStatusCode.IM_USED,e,r,n,i);static multipleChoices=(e,r,n,i)=>this.#e(R.HttpStatusCode.MULTIPLE_CHOICES,e,r,n,i);static movedPermanently=(e,r,n,i)=>this.#e(R.HttpStatusCode.MOVED_PERMANENTLY,e,r,n,i);static found=(e,r,n,i)=>this.#e(R.HttpStatusCode.FOUND,e,r,n,i);static seeOther=(e,r,n,i)=>this.#e(R.HttpStatusCode.SEE_OTHER,e,r,n,i);static notModified=(e,r,n,i)=>this.#e(R.HttpStatusCode.NOT_MODIFIED,e,r,n,i);static useProxy=(e,r,n,i)=>this.#e(R.HttpStatusCode.USE_PROXY,e,r,n,i);static switchProxy=(e,r,n,i)=>this.#e(R.HttpStatusCode.SWITCH_PROXY,e,r,n,i);static temporaryRedirect=(e,r,n,i)=>this.#e(R.HttpStatusCode.TEMPORARY_REDIRECT,e,r,n,i);static permanentRedirect=(e,r,n,i)=>this.#e(R.HttpStatusCode.PERMANENT_REDIRECT,e,r,n,i);static badRequest=(e,r,n,i)=>this.#e(R.HttpStatusCode.BAD_REQUEST,e,r,n,i);static unauthorized=(e,r,n,i)=>this.#e(R.HttpStatusCode.UNAUTHORIZED,e,r,n,i);static paymentRequired=(e,r,n,i)=>this.#e(R.HttpStatusCode.PAYMENT_REQUIRED,e,r,n,i);static forbidden=(e,r,n,i)=>this.#e(R.HttpStatusCode.FORBIDDEN,e,r,n,i);static notFound=(e,r,n,i)=>this.#e(R.HttpStatusCode.NOT_FOUND,e,r,n,i);static methodNotAllowed=(e,r,n,i)=>this.#e(R.HttpStatusCode.METHOD_NOT_ALLOWED,e,r,n,i);static notAcceptable=(e,r,n,i)=>this.#e(R.HttpStatusCode.NOT_ACCEPTABLE,e,r,n,i);static proxyAuthenticationRequired=(e,r,n,i)=>this.#e(R.HttpStatusCode.PROXY_AUTHENTICATION_REQUIRED,e,r,n,i);static requestTimeout=(e,r,n,i)=>this.#e(R.HttpStatusCode.REQUEST_TIMEOUT,e,r,n,i);static conflict=(e,r,n,i)=>this.#e(R.HttpStatusCode.CONFLICT,e,r,n,i);static gone=(e,r,n,i)=>this.#e(R.HttpStatusCode.GONE,e,r,n,i);static lengthRequired=(e,r,n,i)=>this.#e(R.HttpStatusCode.LENGTH_REQUIRED,e,r,n,i);static preconditionFailed=(e,r,n,i)=>this.#e(R.HttpStatusCode.PRECONDITION_FAILED,e,r,n,i);static contentTooLarge=(e,r,n,i)=>this.#e(R.HttpStatusCode.CONTENT_TOO_LARGE,e,r,n,i);static uriTooLong=(e,r,n,i)=>this.#e(R.HttpStatusCode.URI_TOO_LONG,e,r,n,i);static unsupportedMediaType=(e,r,n,i)=>this.#e(R.HttpStatusCode.UNSUPPORTED_MEDIA_TYPE,e,r,n,i);static rangeNotSatisfiable=(e,r,n,i)=>this.#e(R.HttpStatusCode.RANGE_NOT_SATISFIABLE,e,r,n,i);static expectationFailed=(e,r,n,i)=>this.#e(R.HttpStatusCode.EXPECTATION_FAILED,e,r,n,i);static imATeapot=(e,r,n,i)=>this.#e(R.HttpStatusCode.I_AM_A_TEAPOT,e,r,n,i);static misdirectedRequest=(e,r,n,i)=>this.#e(R.HttpStatusCode.MISDIRECTED_REQUEST,e,r,n,i);static unprocessableContent=(e,r,n,i)=>this.#e(R.HttpStatusCode.UNPROCESSABLE_CONTENT,e,r,n,i);static locked=(e,r,n,i)=>this.#e(R.HttpStatusCode.LOCKED,e,r,n,i);static failedDependency=(e,r,n,i)=>this.#e(R.HttpStatusCode.FAILED_DEPENDENCY,e,r,n,i);static tooEarly=(e,r,n,i)=>this.#e(R.HttpStatusCode.TOO_EARLY,e,r,n,i);static upgradeRequired=(e,r,n,i)=>this.#e(R.HttpStatusCode.UPGRADE_REQUIRED,e,r,n,i);static preconditionRequired=(e,r,n,i)=>this.#e(R.HttpStatusCode.PRECONDITION_REQUIRED,e,r,n,i);static tooManyRequests=(e,r,n,i)=>this.#e(R.HttpStatusCode.TOO_MANY_REQUESTS,e,r,n,i);static requestHeaderFieldsTooLarge=(e,r,n,i)=>this.#e(R.HttpStatusCode.REQUEST_HEADER_FIELDS_TOO_LARGE,e,r,n,i);static unavailableForLegalReasons=(e,r,n,i)=>this.#e(R.HttpStatusCode.UNAVAILABLE_FOR_LEGAL_REASONS,e,r,n,i);static internalServerError=(e,r,n,i)=>this.#e(R.HttpStatusCode.INTERNAL_SERVER_ERROR,e,r,n,i);static notImplemented=(e,r,n,i)=>this.#e(R.HttpStatusCode.NOT_IMPLEMENTED,e,r,n,i);static badGateway=(e,r,n,i)=>this.#e(R.HttpStatusCode.BAD_GATEWAY,e,r,n,i);static serviceUnavailable=(e,r,n,i)=>this.#e(R.HttpStatusCode.SERVICE_UNAVAILABLE,e,r,n,i);static gatewayTimeout=(e,r,n,i)=>this.#e(R.HttpStatusCode.GATEWAY_TIMEOUT,e,r,n,i);static httpVersionNotSupported=(e,r,n,i)=>this.#e(R.HttpStatusCode.HTTP_VERSION_NOT_SUPPORTED,e,r,n,i);static variantAlsoNegotiates=(e,r,n,i)=>this.#e(R.HttpStatusCode.VARIANT_ALSO_NEGOTIATES,e,r,n,i);static insufficientStorage=(e,r,n,i)=>this.#e(R.HttpStatusCode.INSUFFICIENT_STORAGE,e,r,n,i);static loopDetected=(e,r,n,i)=>this.#e(R.HttpStatusCode.LOOP_DETECTED,e,r,n,i);static notExtended=(e,r,n,i)=>this.#e(R.HttpStatusCode.NOT_EXTENDED,e,r,n,i);static networkAuthenticationRequired=(e,r,n,i)=>this.#e(R.HttpStatusCode.NETWORK_AUTHENTICATION_REQUIRED,e,r,n,i)};Eo.HttpProblems=gu});var _u=g(qr=>{"use strict";Object.defineProperty(qr,"__esModule",{value:!0});qr.generateCorsHeaders=qr.findMatchingOrigin=void 0;var Aw=o((t,e)=>{if(e!==null)if(t){let r=wo(t).split(",");if(r.find(c=>c==="*"))return e;let i=r.map(c=>c.trim().toLowerCase()),s=e.toLowerCase();return i.find(c=>c===s)}else return},"findMatchingOrigin");qr.findMatchingOrigin=Aw;var Pw=o((t,e)=>{let r={"access-control-allow-origin":e};t.allowedHeaders&&(r["access-control-allow-headers"]=wo(t.allowedHeaders)),t.allowedMethods&&(r["access-control-allow-methods"]=wo(t.allowedMethods)),t.exposeHeaders&&(r["access-control-expose-headers"]=wo(t.exposeHeaders));let n=t.allowCredentials?.toString()??void 0;n&&(r["access-control-allow-credentials"]=n);let i=t.maxAge?.toString()??void 0;return i&&(r["access-control-max-age"]=i),r},"generateCorsHeaders");qr.generateCorsHeaders=Pw;var wo=o(t=>Array.isArray(t)?t.map(e=>e.trim()).join(", "):t,"normalizePolicies")});var vh=g(vo=>{"use strict";Object.defineProperty(vo,"__esModule",{value:!0});vo.registerCorsRoute=void 0;var Rw=D(),Ow=Vt(),bu=ve(),xw=Tr(),Nw=Sr(),Cw=ft(),wh=_u(),Lw=o((t,e)=>{let r=e.routeData.corsPolicies,n=o(async(a,c)=>{let u=new URL(a.url.toString()).pathname,l=a.headers.get("access-control-request-method"),d=a.headers.get("access-control-request-headers"),p=a.headers.get("origin");if(p===null||l===null)return bu.HttpProblems.badRequest(a,c,{detail:"Expect headers origin and access-control-request-method"});let m=t.lookup(l,u);if(!m)return bu.HttpProblems.notFound(a,c);let f=m.routeConfiguration,y=Dw(l,d,p,f,r);return y.isValid?new Response(void 0,{status:200,statusText:"OK",headers:y.headers}):bu.HttpProblems.notFound(a,c)},"optionsHandler"),i=new Ow.Pipeline([xw.metricsProcessor],n,e),s=new Cw.SystemRouteConfiguration({label:"SYSTEM_CORS_ROUTE",methods:["OPTIONS"],path:"/(.*)",systemRouteName:Nw.SystemRouteName.CorsPreflight});t.addRoute(s,i.execute)},"registerCorsRoute");vo.registerCorsRoute=Lw;var Dw=o((t,e,r,n,i)=>{let s={isValid:!1,headers:{}};if(n.corsPolicy==="anything-goes")return{isValid:!0,headers:{"access-control-allow-origin":r,"access-control-allow-methods":t,"access-control-allow-headers":e??"*","access-control-expose-headers":"*","access-control-allow-credentials":"true","access-control-max-age":"600"}};if(n.corsPolicy==="none")return s;let a=i?.find(l=>l.name===n.corsPolicy);if(!a)throw new Rw.ConfigurationError(`Invalid Configuration - corsPolicy '${n.corsPolicy}' not found in *.oas.json 'corsPolicies' section`);let c=(0,wh.findMatchingOrigin)(a.allowedOrigins,r);return c?{isValid:!0,headers:(0,wh.generateCorsHeaders)(a,c)}:s},"validateAndBuildResponseHeaders")});var Th=g(To=>{"use strict";Object.defineProperty(To,"__esModule",{value:!0});To.registerNoRoutes=void 0;var Uw=Vt(),Mw=Tr(),kw=Sr(),Fw=ft(),Hw=o((t,e)=>{let r=o(async()=>new Response("You have no routes. Add a route in routes.oas.json to get started",{status:200}),"noRoutesHandler"),n=new Uw.Pipeline([Mw.metricsProcessor],r,e),i=new Fw.SystemRouteConfiguration({label:"SYSTEM_NO_ROUTES",methods:["CONNECT","DELETE","GET","HEAD","OPTIONS","PATCH","POST","PUT","TRACE"],path:"/(.*)",systemRouteName:kw.SystemRouteName.EmptyGatewayCatchall});t.addRoute(i,n.execute)},"registerNoRoutes");To.registerNoRoutes=Hw});var Sh=g(Ir=>{"use strict";Object.defineProperty(Ir,"__esModule",{value:!0});Ir.registerNotMatchedHandler=Ir.notFoundRouteConfiguration=void 0;var qw=wr(),$w=Rt(),jw=Vt(),Vw=ve(),Gw=Tr(),Bw=Sr(),Kw=ft();Ir.notFoundRouteConfiguration=new Kw.SystemRouteConfiguration({label:"SYSTEM_NOT_FOUND_ROUTE",methods:["CONNECT","DELETE","GET","HEAD","OPTIONS","PATCH","POST","PUT","TRACE"],path:"/(.*)",systemRouteName:Bw.SystemRouteName.UnmatchedPath});var Jw=o((t,e)=>{let r=o(async(i,s)=>{let a=$w.runtimeExtensions.value?.notFoundHandler;if(a){let c=qw.ZuploContextExtensions.getContextExtensions(s);return a(i,s,{routesMatchedByPathOnly:c.pathOnlyMatches??[]})}return Vw.HttpProblems.notFound(i,s)},"notFoundHandler"),n=new jw.Pipeline([Gw.metricsProcessor],r,e);t.addRoute(Ir.notFoundRouteConfiguration,n.execute)},"registerNotMatchedHandler");Ir.registerNotMatchedHandler=Jw});var Eu=g(So=>{"use strict";Object.defineProperty(So,"__esModule",{value:!0});So.corsProcessor=void 0;var Ph=D(),Ih=_u(),zw=["access-control-allow-origin","access-control-allow-headers","access-control-expose-headers","access-control-allow-credentials","access-control-max-age"],Ah=o(t=>{zw.forEach(e=>t.delete(e))},"stripCorsHeaders"),Ww=o(async(t,e,r,n)=>{let i=e.route;if(!i.corsPolicy||i.corsPolicy==="none"){let d=await n(t),p=new Headers(d.headers);return Ah(p),new Response(d.body,{status:d.status,statusText:d.statusText,headers:p,webSocket:d.webSocket})}let s=await n(t);if(!(s instanceof Response))throw new Ph.SystemError(`The CorsProcessor is in the wrong place in the pipeline. It should only receive HttpResponse type but got '${typeof s}'`);let a=Qw(i,r.routeData.corsPolicies),c=Yw(t,a),u=new Headers(s.headers);return Ah(u),Object.entries(c).forEach(([d,p])=>{u.set(d,p)}),new Response(s.body,{status:s.status,statusText:s.statusText,headers:u,webSocket:s.webSocket})},"corsProcessor");So.corsProcessor=Ww;var Qw=o((t,e)=>{if(t.corsPolicy==="anything-goes")return{name:"anything-goes",allowedHeaders:["*"],allowedOrigins:["*"],allowedMethods:t.methods,exposeHeaders:["*"],allowCredentials:!0,maxAge:600};let r=e?.find(n=>n.name===t.corsPolicy);if(r===void 0)throw new Ph.ConfigurationError(`Invalid Configuration - no corsPolicy '${t.corsPolicy}' found in *.oas.json`);return r},"getCorsPolicy"),Yw=o((t,e)=>{let r=(0,Ih.findMatchingOrigin)(e.allowedOrigins,t.headers.get("origin"));return r?(0,Ih.generateCorsHeaders)(e,r):{}},"getCorsHeaders")});var Rh=g(Io=>{"use strict";Object.defineProperty(Io,"__esModule",{value:!0});Io.registerPingRoute=void 0;var Zw=Vt(),Xw=Eu(),ev=Sr(),tv=ft(),rv=o((t,e)=>{let r=o(async()=>new Response(null,{status:200}),"pingRouteHandler"),n=new Zw.Pipeline([Xw.corsProcessor],r,e),i=new tv.SystemRouteConfiguration({corsPolicy:"anything-goes",label:"SYSTEM_PING_ROUTE",methods:["GET"],path:"/__zuplo/ping",systemRouteName:ev.SystemRouteName.Ping});t.addRoute(i,n.execute)},"registerPingRoute");Io.registerPingRoute=rv});var xh=g(Ao=>{"use strict";Object.defineProperty(Ao,"__esModule",{value:!0});Ao.deepFreeze=void 0;function Oh(t){for(let e in t){let r=t[e];r&&typeof r=="object"&&Oh(r)}return Object.freeze(t)}o(Oh,"deepFreeze");Ao.deepFreeze=Oh});var Wn=g(Po=>{"use strict";Object.defineProperty(Po,"__esModule",{value:!0});Po.ZuploRequest=void 0;var Nh=xh(),wu=class t extends Request{static{o(this,"ZuploRequest")}#e=void 0;#t;constructor(e,r){super(e,r);let n=r?.params;n?this.#t=n:e instanceof t?this.#t=e.#t:this.#t={};let i=r?.user;i?this.user=i:e instanceof t&&(this.user=e.user)}get query(){if(this.#e===void 0){this.#e={};let e=new URL(this.url).searchParams;for(let[r,n]of e.entries())this.#e[r]=n}return(0,Nh.deepFreeze)(this.#e)}get params(){return(0,Nh.deepFreeze)(this.#t)}user};Po.ZuploRequest=wu});var Qn=g(xt=>{"use strict";Object.defineProperty(xt,"__esModule",{value:!0});xt.policyProcessor=xt.toStackedInboundHandler=xt.getInboundPolicyHandlerAndOptions=void 0;var nv=wr(),$r=D(),Ch=Wn();function Lh(t,e){let r,n;return Array.isArray(t)?r=t:(r=t.policies?.inbound??[],n=t.path),r.map(s=>{let a=e?.find(u=>u.name===s);if(!a)throw new $r.ConfigurationError(`Invalid state - no Policy with the name '${s}' ${n&&`on route '${n}'`} was found in the policies configuration (check case).`);let c;if(typeof a.handler?.module=="object"&&(c=a.handler?.module[a.handler.export]),typeof c!="function")throw new $r.ConfigurationError(`Invalid state - invalid handler on policy '${s}' ${n&&`on route '${n}'`}. Expected a function, received '${typeof c}'`);return{exportName:a.handler.export,handler:c,options:a.handler.options,policyName:a.name}})}o(Lh,"getInboundPolicyHandlerAndOptions");xt.getInboundPolicyHandlerAndOptions=Lh;function iv(t,e){return(t.policies?.outbound??[]).map(i=>{let s=e?.find(c=>c.name===i);if(!s)throw new $r.ConfigurationError(`Invalid state - no Policy with the name '${i}' on route '${t.path}' was found in the policies configuration (check case).`);let a;if(typeof s.handler?.module=="object"&&(a=s.handler?.module[s.handler.export]),typeof a!="function")throw new $r.ConfigurationError(`Invalid state - invalid handler on policy '${i}' on route '${t.path}'`);return{exportName:s.handler.export,handler:a,options:s.handler.options,policyName:s.name}})}o(iv,"getOutboundPolicyHandlerAndOptions");var ov=o(t=>async(e,r)=>{let n=nv.ZuploContextExtensions.getContextExtensions(r),i=[...t],s=e;for(;i.length>0;){let a=i.shift();if(!a)return s;let c=await a.handler(s,r,a.options,a.policyName);if(c instanceof Ch.ZuploRequest)s=c;else if(c instanceof Request)s=new Ch.ZuploRequest(c);else{if(c instanceof Response)return c;throw new $r.ConfigurationError(`Invalid state - invalid handler on policy '${a.policyName}'${a.routeName?` on route '${a.routeName}`:""}. The result of an inbound policy must be a Response or Request.`)}n.latestRequest=s}return s},"toStackedInboundHandler");xt.toStackedInboundHandler=ov;var sv=o(t=>async(e,r,n)=>{let i=[...t],s=e;for(;i.length>0;){let a=i.shift();if(!a)return s;let c=await a.handler(s,r,n,a.options,a.policyName);if(!(c instanceof Response))throw new $r.ConfigurationError(`Invalid state - invalid handler on policy '${a.policyName}'${a.routeName?` on route '${a.routeName}`:""}. The result of an outbound policy must be a Response.`);s=c}return s},"toStackedOutboundHandler"),av=o(async(t,e,r,n)=>{let i=Lh(e.route,r.routeData.policies),s=iv(e.route,r.routeData.policies),a=(0,xt.toStackedInboundHandler)(i);try{let c=await a(t,e);if(c instanceof Response)return c;let u=await n(c),l=sv(s);return u.ok?l(u,t,e):u}catch(c){return e.log.error(c),r.errorHandler(t,e,c)}},"policyProcessor");xt.policyProcessor=av});var Dh=g(jr=>{"use strict";Object.defineProperty(jr,"__esModule",{value:!0});jr.serialize=jr.parse=void 0;var cv=Object.prototype.toString,Ro=/^[\u0009\u0020-\u007e\u0080-\u00ff]+$/;function uv(t,e){if(typeof t!="string")throw new TypeError("argument str must be a string");let r={},i=(e||{}).decode||dv,s=0;for(;s<t.length;){let a=t.indexOf("=",s);if(a===-1)break;let c=t.indexOf(";",s);if(c===-1)c=t.length;else if(c<a){s=t.lastIndexOf(";",a-1)+1;continue}let u=t.slice(s,a).trim();if(r[u]===void 0){let l=t.slice(a+1,c).trim();l.charCodeAt(0)===34&&(l=l.slice(1,-1)),r[u]=fv(l,i)}s=c+1}return r}o(uv,"parse");jr.parse=uv;function lv(t,e,r){let n=r||{},i=n.encode||pv;if(typeof i!="function")throw new TypeError("option encode is invalid");if(!Ro.test(t))throw new TypeError("argument name is invalid");let s=i(e);if(s&&!Ro.test(s))throw new TypeError("argument val is invalid");let a=t+"="+s;if(n.maxAge!=null){let c=n.maxAge-0;if(isNaN(c)||!isFinite(c))throw new TypeError("option maxAge is invalid");a+="; Max-Age="+Math.floor(c)}if(n.domain){if(!Ro.test(n.domain))throw new TypeError("option domain is invalid");a+="; Domain="+n.domain}if(n.path){if(!Ro.test(n.path))throw new TypeError("option path is invalid");a+="; Path="+n.path}if(n.expires){let c=n.expires;if(!hv(c)||isNaN(c.valueOf()))throw new TypeError("option expires is invalid");a+="; Expires="+c.toUTCString()}if(n.httpOnly&&(a+="; HttpOnly"),n.secure&&(a+="; Secure"),n.priority)switch(typeof n.priority=="string"?n.priority.toLowerCase():n.priority){case"low":a+="; Priority=Low";break;case"medium":a+="; Priority=Medium";break;case"high":a+="; Priority=High";break;default:throw new TypeError("option priority is invalid")}if(n.sameSite)switch(typeof n.sameSite=="string"?n.sameSite.toLowerCase():n.sameSite){case!0:a+="; SameSite=Strict";break;case"lax":a+="; SameSite=Lax";break;case"strict":a+="; SameSite=Strict";break;case"none":a+="; SameSite=None";break;default:throw new TypeError("option sameSite is invalid")}return a}o(lv,"serialize");jr.serialize=lv;function dv(t){return t.indexOf("%")!==-1?decodeURIComponent(t):t}o(dv,"decode");function pv(t){return encodeURIComponent(t)}o(pv,"encode");function hv(t){return cv.call(t)==="[object Date]"||t instanceof Date}o(hv,"isDate");function fv(t,e){try{return e(t)}catch{return t}}o(fv,"tryDecode")});var Uh=g(Oo=>{"use strict";Object.defineProperty(Oo,"__esModule",{value:!0});Oo.devPortalBaseURL=void 0;var mv=Dh();function yv(t,e){try{let r=/v\d+(-\d+)?/g,i=(0,mv.parse)(e.get("Cookie")||"")["zp-dev-portal"];return i!==null&&i&&r.test(i)?`https://dev-portal-${i}.zuplo.com`:t}catch{}return t}o(yv,"devPortalBaseURL");Oo.devPortalBaseURL=yv});var qh=g(Vr=>{"use strict";Object.defineProperty(Vr,"__esModule",{value:!0});Vr.registerDevPortalLegacyRedirectRoute=Vr.registerDevPortalV3Route=void 0;var vu=Ot(),kh=Vt(),Fh=Tr(),gv=Qn(),Hh=ft(),_v=Uh(),Bt=te(),Mh="/__zuplo/dev-portal",bv="dev-portal-id",Ev="dev-portal-host",wv="zp-account",vv="zp-project",Tv="dev-portal-build",Sv=`
35
+ `)+" "+r[1]:r[0]+e+" "+t.join(", ")+" "+r[1]}o(qE,"reduceToSingleString")});var oh=g(to=>{"use strict";Object.defineProperty(to,"__esModule",{value:!0});to.format=void 0;var $E=Zp(),jE=ih(),VE=o((t,...e)=>(0,$E.format)(jE.inspect,t,e),"format");to.format=VE});var Er=g(Vt=>{"use strict";Object.defineProperty(Vt,"__esModule",{value:!0});Vt.debug=Vt.withoutEnv=Vt.Debugger=void 0;var GE=Yp(),BE=oh(),ro=class{static{o(this,"Debugger")}manager;ns;color;last;enabled;constructor(e,r){this.manager=e,this.ns=r,this.color=(0,GE.generateColor)(r),this.last=0,this.enabled=e.enabled.some(n=>n.test(r))}log(...e){if(!this.enabled)return;let r,n=e[0];typeof n=="function"?r=n():r=String(n);let i=Date.now()-(this.last||Date.now());r=(0,BE.format)(r,...e);let s=`${this.color(this.ns)} ${r} ${this.color(`+${i}ms`)}`;console.log(s),this.last=Date.now()}};Vt.Debugger=ro;var no=class{static{o(this,"DebugManager")}debuggers;enabled;constructor(e){this.debuggers=new Map,this.enabled=e??[]}};function sh(t){return!t||t.length===0?[]:(t=t.replace(/\s/g,"").replace(/\*/g,".+"),t.split(",").map(e=>new RegExp(`^${e}$`)))}o(sh,"extract");var zn;function KE(t){t||(t=[]),typeof t=="string"&&(t=sh(t)),zn=new no(t)}o(KE,"withoutEnv");Vt.withoutEnv=KE;function JE(t){let e=globalThis.DEBUG;zn||(zn=new no(sh(e)));let r=new ro(zn,t);return zn.debuggers.set(t,r),Object.assign(r.log.bind(r),{self:r})}o(JE,"debug");Vt.debug=JE});var oo=g(Fr=>{"use strict";Object.defineProperty(Fr,"__esModule",{value:!0});Fr.ProblemResponseFormatter=Fr.InternalProblemResponseFormatter=void 0;var zE=D(),io=class t{static{o(this,"InternalProblemResponseFormatter")}static problemResponseFormat=async e=>{let r=e.problem,n=JSON.stringify(r,null,2);return new Response(n,{status:e.problem.status,statusText:e.statusText,headers:{...e.additionalHeaders,"content-type":"application/problem+json"}})};static setProblemResponseFormat(e){e&&(t.problemResponseFormat=(r,n,i)=>{try{return e(r,n,i)}catch(s){throw new zE.RuntimeError("Error in custom 'problemResponseFormat'",{cause:s})}})}};Fr.InternalProblemResponseFormatter=io;var ou=class{static{o(this,"ProblemResponseFormatter")}static async format(e,r,n){return await io.problemResponseFormat(e,r,n)}};Fr.ProblemResponseFormatter=ou});var Rt=g(me=>{"use strict";Object.defineProperty(me,"__esModule",{value:!0});me.initializeRuntime=me.invokeOnResponseSendingFinalExtensions=me.invokeOnResponseSendingExtensions=me.invokeOnRequestExtensions=me.plugins=me.runtimeExtensions=me.InitializableRuntimePlugin=me.RuntimePlugin=void 0;var WE=oo(),ao=class{static{o(this,"RuntimePlugin")}};me.RuntimePlugin=ao;var co=class extends ao{static{o(this,"InitializableRuntimePlugin")}};me.InitializableRuntimePlugin=co;me.runtimeExtensions={};var su=[];me.plugins=su;var ah=[],ch=[],uh=[],so={addPlugin(t){su.push(t)},addRequestHook(t){ah.push(t)},addResponseSendingHook(t){ch.push(t)},addResponseSendingFinalHook(t){uh.push(t)}},QE=o(async(t,e)=>{let r=t;for(let n of ah)if(r=await n(r,e),r instanceof Response)return r;return r},"invokeOnRequestExtensions");me.invokeOnRequestExtensions=QE;var YE=o(async(t,e,r)=>{let n=t;for(let i of ch)n=await i(t,e,r);return n},"invokeOnResponseSendingExtensions");me.invokeOnResponseSendingExtensions=YE;var ZE=o(async(t,e,r)=>{for(let n of uh)await n(t,e,r)},"invokeOnResponseSendingFinalExtensions");me.invokeOnResponseSendingFinalExtensions=ZE;async function XE(t=()=>Promise.resolve()){await t(so),me.runtimeExtensions.value=so;let e=su.filter(r=>r instanceof co);for(let r of e)await r.initialize(so);WE.InternalProblemResponseFormatter.setProblemResponseFormat(so.problemResponseFormat)}o(XE,"initializeRuntime");me.initializeRuntime=XE});var Gt=g(uo=>{"use strict";Object.defineProperty(uo,"__esModule",{value:!0});uo.Pipeline=void 0;var ew=ke(),au=wr(),lh=Rt(),cu=class{static{o(this,"Pipeline")}constructor(e,r,n){this.execute=this.#t(e,r,n)}execute;#e=(e,r)=>async(n,i)=>{try{return await e(n,i)}catch(s){return i.log.error("Error executing request handler.",s),r.errorHandler(n,i,s)}};#t=(e,r,n)=>async(i,s)=>{let a=[...e],c=o(async y=>{let v=a.pop();return v?v(i,s,n,c):await this.#e(async I=>{let k=await r(I,s);return tw(k)},n)(y,s)},"nextPipe"),l=await c(i),d=new au.ResponseSendingEvent(i,l);s.dispatchEvent(d);let p=au.ZuploContextExtensions.getContextExtensions(s),m=p.latestRequest,f;try{f=await d.mutableResponse}catch(y){return s.log.error(y),n.errorHandler(i,s,y)}try{f=await p.onResponseSending(f,m,s)}catch(y){return s.log.error(`Error invoking 'context.onResponseSending' hook: '${y.message}'`,y),n.errorHandler(i,s,y)}try{f=await(0,lh.invokeOnResponseSendingExtensions)(f,m,s)}catch(y){return s.log.error(`Error invoking 'context.onResponseSending' hook: '${y.message}'`,y),n.errorHandler(i,s,y)}s.dispatchEvent(new au.ResponseSentEvent(i,f));try{await p.onResponseSendingFinal(l,m,s)}catch(y){throw s.log.error(`Error invoking 'runtime.onResponseSending' hook: '${y.message}'`,y),y}try{await(0,lh.invokeOnResponseSendingFinalExtensions)(l,m,s)}catch(y){throw s.log.error(`Error invoking 'runtime.onResponseSending' hook: '${y.message}'`,y),y}return f}};uo.Pipeline=cu;function tw(t){return t instanceof Response?t:typeof t>"u"?new Response:new Response((0,ew.serialize)(t),{headers:{"content-type":"application/json"}})}o(tw,"resultToResponse")});var po=g(lo=>{"use strict";Object.defineProperty(lo,"__esModule",{value:!0});lo.MetricsPlugin=void 0;var rw=Rt(),uu=class extends rw.RuntimePlugin{static{o(this,"MetricsPlugin")}};lo.MetricsPlugin=uu});var Ge=g(ho=>{"use strict";Object.defineProperty(ho,"__esModule",{value:!0});ho.SystemLogMap=void 0;var nw=D(),lu=class t{static{o(this,"SystemLogMap")}static#e=new WeakMap;static getLogger(e){let r=t.#e.get(e);if(!r){let n=`No system logger found for context with requestId '${e.requestId}'`;throw console.error(n),new nw.SystemError(n)}return r}static addLogger(e,r){t.#e.set(e,r)}};ho.SystemLogMap=lu});var we=g(fo=>{"use strict";Object.defineProperty(fo,"__esModule",{value:!0});fo.BatchDispatch=void 0;var du=class{static{o(this,"BatchDispatch")}constructor(e,r,n,i){this.#t=e,this.#o=r,this.#n=n,this.#r=i}#e=void 0;#t;#r;#n;#i=[];#o;enqueue=e=>{this.#i.push(e),this.#e||(this.#e=new Promise(r=>{setTimeout(()=>{if(this.#i.length>0){let n=[...this.#i];this.#i.length=0,this.#e=void 0,this.#n(n).catch(i=>{this.#r&&this.#r.error(`Uncaught error in BatchDispatcher named '${this.#t}'}`,i.message,i.stack)}).finally(()=>{r()})}},this.#o)}))};waitUntilFlushed=async()=>{if(this.#e)return this.#e}};fo.BatchDispatch=du});var ph=g(yo=>{"use strict";Object.defineProperty(yo,"__esModule",{value:!0});yo.EllieMetricsTransport=void 0;var dh=Ge(),iw=we(),mo=te(),pu=class{static{o(this,"EllieMetricsTransport")}#e;#t;#r;constructor(e){this.#r=mo.Environment.instance.loggingId,this.#e=e,this.#t=new iw.BatchDispatch("ellie-metrics-transport",10,this.dispatchFunction,dh.SystemLogMap.getLogger(e))}pushMetrics(e,r){this.#r!==void 0&&(this.#t.enqueue(e),r.waitUntil(this.#t.waitUntilFlushed()))}dispatchFunction=async e=>{if(e.length===0)return;let r,{loggingId:n,remoteLogURL:i,deploymentName:s}=mo.Environment.instance,a=e.map(c=>{let u=Object.assign({},c);return delete u.requestContentLength,delete u.responseContentLength,u});if(n&&s&&(r=`${i}/v1-alpha/metrics?loggingId=${encodeURI(n)}&deploymentName=${encodeURI(s)}`),r){let c=await fetch(r,{method:"POST",body:JSON.stringify(a),headers:{"content-type":"application/json","zp-dn":mo.Environment.instance.deploymentName??"unknown","user-agent":mo.Environment.instance.systemUserAgent}});if(!c.ok){let u=await c.text();dh.SystemLogMap.getLogger(this.#e).error(`Metrics POST responded ${c.status}: ${c.statusText}`,u)}}}};yo.EllieMetricsTransport=pu});var ft=g(vr=>{"use strict";Object.defineProperty(vr,"__esModule",{value:!0});vr.systemNoVersion=vr.SystemRouteConfiguration=void 0;var hu=class{static{o(this,"SystemRouteConfiguration")}constructor({label:e,path:r,methods:n,systemRouteName:i,corsPolicy:s="none"}){this.label=e,this.path=r,this.methods=n,this.corsPolicy=s,this.version=vr.systemNoVersion.name,this.handler={export:"SYSTEM_IGNORED",module:"SYSTEM_IGNORED"},this.systemRouteName=i}label;path;methods;handler;corsPolicy;version;policies;systemRouteName;raw(){return{}}};vr.SystemRouteConfiguration=hu;vr.systemNoVersion={name:"__system-no-version",pathPrefix:""}});var Tr=g(go=>{"use strict";Object.defineProperty(go,"__esModule",{value:!0});go.metricsProcessor=void 0;var hh=Jn(),ow=wr(),sw=Rt(),aw=po(),cw=ph(),uw=ft(),lw=o(async(t,e,r,n)=>{let i=new Date,s=Date.now(),a=await n(t),c=t.headers.get(hh.RAY_ID_HEADER)??void 0,u=t.headers.get(hh.TRUE_CLIENT_IP)??void 0,l=e.incomingRequestProperties,d;e.route instanceof uw.SystemRouteConfiguration&&(d=e.route.systemRouteName);let p=ow.ZuploContextExtensions.getContextExtensions(e).latestRequest,m={timestamp:i,statusCode:a.status,durationMs:Date.now()-s,requestContentLength:t.headers.get("content-length")?Number(t.headers.get("content-length")):void 0,responseContentLength:a.headers.get("content-length")?Number(a.headers.get("content-length")):void 0,routePath:e.route?.path??"SYSTEM_OR_NOT_FOUND",systemRouteName:d,requestId:e.requestId,method:t.method,asn:l.asn,asOrganization:l.asOrganization,colo:l.colo,continent:l.continent,country:l.country,city:l.city,latitude:l.latitude,longitude:l.longitude,rayId:c,instanceId:r.instanceId,userSub:p.user?.sub,clientIp:u},f=[];return f.push(new cw.EllieMetricsTransport(e)),sw.plugins.forEach(y=>{if(y instanceof aw.MetricsPlugin){let v=y.getTransport();f.push(v)}}),f.forEach(y=>{y.pushMetrics(m,e)}),a},"metricsProcessor");go.metricsProcessor=lw});var mh=g(_o=>{"use strict";Object.defineProperty(_o,"__esModule",{value:!0});_o.SystemRouteName=void 0;var fh;(function(t){t.Build="build-data",t.CorsPreflight="cors-preflight",t.DeveloperPortal="developer-portal",t.DeveloperPortalLegacy="developer-portal-legacy",t.EmptyGatewayCatchall="empty-gateway-catchall",t.Ping="ping",t.UnmatchedPath="unmatched-path"})(fh||(_o.SystemRouteName=fh={}))});var gh=g(yh=>{"use strict";Object.defineProperty(yh,"__esModule",{value:!0})});var Sr=g(Bt=>{"use strict";var dw=Bt&&Bt.__createBinding||(Object.create?function(t,e,r,n){n===void 0&&(n=r);var i=Object.getOwnPropertyDescriptor(e,r);(!i||("get"in i?!e.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,n,i)}:function(t,e,r,n){n===void 0&&(n=r),t[n]=e[r]}),_h=Bt&&Bt.__exportStar||function(t,e){for(var r in t)r!=="default"&&!Object.prototype.hasOwnProperty.call(e,r)&&dw(e,t,r)};Object.defineProperty(Bt,"__esModule",{value:!0});_h(mh(),Bt);_h(gh(),Bt)});var bh=g(bo=>{"use strict";Object.defineProperty(bo,"__esModule",{value:!0});bo.registerBuildRoute=void 0;var pw=Ot(),hw=Gt(),fw=Tr(),mw=Sr(),yw=ft(),gw=Ge(),_w=te(),bw=o((t,e)=>{let r=o(async(s,a)=>{let u=new URL(s.url).hostname.toLowerCase();if(!u.endsWith(".zuplo.app")&&!u.endsWith(".zuplo.dev")&&!u.endsWith(".fly.dev")&&!u.endsWith("zuplotest.com")&&u!=="localhost")return pw.HttpProblems.notFound(s,a);let l=_w.Environment.instance.build,d={buildId:l.BUILD_ID,zuploVersion:l.ZUPLO_VERSION,apiVersion:l.API_VERSION,gitSha:l.GIT_SHA,timestamp:l.TIMESTAMP,isProduction:l.IS_PRODUCTION},p=s.url.toString().split("?");return p.length>0&&new URLSearchParams(p[1]).get("system_log")==="true"&&gw.SystemLogMap.getLogger(a).error("Test System Log",d),new Response(JSON.stringify(d,null,2),{status:200,headers:{"content-type":"application/json"}})},"buildRouteHandler"),n=new hw.Pipeline([fw.metricsProcessor],r,e),i=new yw.SystemRouteConfiguration({label:"SYSTEM_BUILD_ROUTE",methods:["GET"],path:"/__zuplo/build",systemRouteName:mw.SystemRouteName.Build});t.addRoute(i,n.execute)},"registerBuildRoute");bo.registerBuildRoute=bw});var fu=g(Hr=>{"use strict";Object.defineProperty(Hr,"__esModule",{value:!0});Hr.HTTP_STATUS_TITLES=Hr.HttpStatusCode=void 0;var Eh;(function(t){t[t.CONTINUE=100]="CONTINUE",t[t.SWITCHING_PROTOCOLS=101]="SWITCHING_PROTOCOLS",t[t.PROCESSING=102]="PROCESSING",t[t.EARLY_HINTS=103]="EARLY_HINTS",t[t.OK=200]="OK",t[t.CREATED=201]="CREATED",t[t.ACCEPTED=202]="ACCEPTED",t[t.NON_AUTHORITATIVE_INFORMATION=203]="NON_AUTHORITATIVE_INFORMATION",t[t.NO_CONTENT=204]="NO_CONTENT",t[t.RESET_CONTENT=205]="RESET_CONTENT",t[t.PARTIAL_CONTENT=206]="PARTIAL_CONTENT",t[t.MULTI_STATUS=207]="MULTI_STATUS",t[t.ALREADY_REPORTED=208]="ALREADY_REPORTED",t[t.IM_USED=226]="IM_USED",t[t.MULTIPLE_CHOICES=300]="MULTIPLE_CHOICES",t[t.MOVED_PERMANENTLY=301]="MOVED_PERMANENTLY",t[t.FOUND=302]="FOUND",t[t.SEE_OTHER=303]="SEE_OTHER",t[t.NOT_MODIFIED=304]="NOT_MODIFIED",t[t.USE_PROXY=305]="USE_PROXY",t[t.SWITCH_PROXY=306]="SWITCH_PROXY",t[t.TEMPORARY_REDIRECT=307]="TEMPORARY_REDIRECT",t[t.PERMANENT_REDIRECT=308]="PERMANENT_REDIRECT",t[t.BAD_REQUEST=400]="BAD_REQUEST",t[t.UNAUTHORIZED=401]="UNAUTHORIZED",t[t.PAYMENT_REQUIRED=402]="PAYMENT_REQUIRED",t[t.FORBIDDEN=403]="FORBIDDEN",t[t.NOT_FOUND=404]="NOT_FOUND",t[t.METHOD_NOT_ALLOWED=405]="METHOD_NOT_ALLOWED",t[t.NOT_ACCEPTABLE=406]="NOT_ACCEPTABLE",t[t.PROXY_AUTHENTICATION_REQUIRED=407]="PROXY_AUTHENTICATION_REQUIRED",t[t.REQUEST_TIMEOUT=408]="REQUEST_TIMEOUT",t[t.CONFLICT=409]="CONFLICT",t[t.GONE=410]="GONE",t[t.LENGTH_REQUIRED=411]="LENGTH_REQUIRED",t[t.PRECONDITION_FAILED=412]="PRECONDITION_FAILED",t[t.CONTENT_TOO_LARGE=413]="CONTENT_TOO_LARGE",t[t.PAYLOAD_TOO_LARGE=413]="PAYLOAD_TOO_LARGE",t[t.URI_TOO_LONG=414]="URI_TOO_LONG",t[t.UNSUPPORTED_MEDIA_TYPE=415]="UNSUPPORTED_MEDIA_TYPE",t[t.RANGE_NOT_SATISFIABLE=416]="RANGE_NOT_SATISFIABLE",t[t.EXPECTATION_FAILED=417]="EXPECTATION_FAILED",t[t.I_AM_A_TEAPOT=418]="I_AM_A_TEAPOT",t[t.MISDIRECTED_REQUEST=421]="MISDIRECTED_REQUEST",t[t.UNPROCESSABLE_ENTITY=422]="UNPROCESSABLE_ENTITY",t[t.UNPROCESSABLE_CONTENT=422]="UNPROCESSABLE_CONTENT",t[t.LOCKED=423]="LOCKED",t[t.FAILED_DEPENDENCY=424]="FAILED_DEPENDENCY",t[t.TOO_EARLY=425]="TOO_EARLY",t[t.UPGRADE_REQUIRED=426]="UPGRADE_REQUIRED",t[t.PRECONDITION_REQUIRED=428]="PRECONDITION_REQUIRED",t[t.TOO_MANY_REQUESTS=429]="TOO_MANY_REQUESTS",t[t.REQUEST_HEADER_FIELDS_TOO_LARGE=431]="REQUEST_HEADER_FIELDS_TOO_LARGE",t[t.UNAVAILABLE_FOR_LEGAL_REASONS=451]="UNAVAILABLE_FOR_LEGAL_REASONS",t[t.INTERNAL_SERVER_ERROR=500]="INTERNAL_SERVER_ERROR",t[t.NOT_IMPLEMENTED=501]="NOT_IMPLEMENTED",t[t.BAD_GATEWAY=502]="BAD_GATEWAY",t[t.SERVICE_UNAVAILABLE=503]="SERVICE_UNAVAILABLE",t[t.GATEWAY_TIMEOUT=504]="GATEWAY_TIMEOUT",t[t.HTTP_VERSION_NOT_SUPPORTED=505]="HTTP_VERSION_NOT_SUPPORTED",t[t.VARIANT_ALSO_NEGOTIATES=506]="VARIANT_ALSO_NEGOTIATES",t[t.INSUFFICIENT_STORAGE=507]="INSUFFICIENT_STORAGE",t[t.LOOP_DETECTED=508]="LOOP_DETECTED",t[t.NOT_EXTENDED=510]="NOT_EXTENDED",t[t.NETWORK_AUTHENTICATION_REQUIRED=511]="NETWORK_AUTHENTICATION_REQUIRED"})(Eh||(Hr.HttpStatusCode=Eh={}));Hr.HTTP_STATUS_TITLES={100:"Continue",101:"Switching Protocols",102:"Processing",103:"Early Hints",200:"OK",201:"Created",202:"Accepted",203:"Non-Authoritative Information",204:"No Content",205:"Reset Content",206:"Partial Content",207:"Multi-Status",208:"Already Reported",226:"IM Used",300:"Multiple Choices",301:"Moved Permanently",302:"Found",303:"See Other",304:"Not Modified",305:"Use Proxy",306:"Switch Proxy",307:"Temporary Redirect",308:"Permanent Redirect",400:"Bad Request",401:"Unauthorized",402:"Payment Required",403:"Forbidden",404:"Not Found",405:"Method Not Allowed",406:"Not Acceptable",407:"Proxy Authentication Required",408:"Request Timeout",409:"Conflict",410:"Gone",411:"Length Required",412:"Precondition Failed",413:"Content Too Large",414:"URI Too Long",415:"Unsupported Media Type",416:"Range Not Satisfiable",417:"Expectation Failed",418:"I'm a teapot",421:"Misdirected Request",422:"Unprocessable Content",423:"Locked",424:"Failed Dependency",425:"Too Early",426:"Upgrade Required",428:"Precondition Required",429:"Too Many Requests",431:"Request Header Fields Too Large",451:"Unavailable For Legal Reasons",500:"Internal Server Error",501:"Not Implemented",502:"Bad Gateway",503:"Service Unavailable",504:"Gateway Timeout",505:"HTTP Version Not Supported",506:"Variant Also Negotiates",507:"Insufficient Storage",508:"Loop Detected",510:"Not Extended",511:"Network Authentication Required"}});var ve=g(Eo=>{"use strict";Object.defineProperty(Eo,"__esModule",{value:!0});Eo.HttpProblems=void 0;var Ew=ke(),ww=Jn(),O=fu(),vw=te(),mu=oo();function Tw(t){return`${new URL(t.url).pathname}`}o(Tw,"instance");function Sw(t,e){let r={timestamp:new Date().toISOString(),requestId:e.requestId,buildId:vw.Environment.instance.build.BUILD_ID},n=t.headers.get(ww.RAY_ID_HEADER);return n&&(r.rayId=n),r}o(Sw,"trace");var Iw=o((t,e,r,n,i)=>({problem:{type:t.type,title:t.title,status:t.status,detail:t.detail,instance:Tw(e),trace:Sw(e,r),...n},additionalHeaders:i,statusText:Ew.httpStatuses[t.status]}),"merge"),yu=class{static{o(this,"HttpProblemsBase")}static format=(e,r,n)=>"problem"in e?mu.ProblemResponseFormatter.format(e,r,n):mu.ProblemResponseFormatter.format({problem:e},r,n);static getProblemFromStatus(e,r){return{type:`https://httpproblems.com/http-status/${e}`,status:e,title:O.HTTP_STATUS_TITLES[e],...r}}},gu=class extends yu{static{o(this,"HttpProblems")}static#e(e,r,n,i,s){let a=Iw(this.getProblemFromStatus(e),r,n,i,s);return mu.ProblemResponseFormatter.format(a,r,n)}static continue=(e,r,n,i)=>this.#e(O.HttpStatusCode.OK,e,r,n,i);static switchingProtocols=(e,r,n,i)=>this.#e(O.HttpStatusCode.SWITCHING_PROTOCOLS,e,r,n,i);static processing=(e,r,n,i)=>this.#e(O.HttpStatusCode.PROCESSING,e,r,n,i);static earlyHints=(e,r,n,i)=>this.#e(O.HttpStatusCode.EARLY_HINTS,e,r,n,i);static ok=(e,r,n,i)=>this.#e(O.HttpStatusCode.OK,e,r,n,i);static created=(e,r,n,i)=>this.#e(O.HttpStatusCode.CREATED,e,r,n,i);static accepted=(e,r,n,i)=>this.#e(O.HttpStatusCode.ACCEPTED,e,r,n,i);static nonAuthoritativeInformation=(e,r,n,i)=>this.#e(O.HttpStatusCode.NON_AUTHORITATIVE_INFORMATION,e,r,n,i);static noContent=(e,r,n,i)=>this.#e(O.HttpStatusCode.NO_CONTENT,e,r,n,i);static resetContent=(e,r,n,i)=>this.#e(O.HttpStatusCode.RESET_CONTENT,e,r,n,i);static partialContent=(e,r,n,i)=>this.#e(O.HttpStatusCode.PARTIAL_CONTENT,e,r,n,i);static multiStatus=(e,r,n,i)=>this.#e(O.HttpStatusCode.MULTI_STATUS,e,r,n,i);static alreadyReported=(e,r,n,i)=>this.#e(O.HttpStatusCode.ALREADY_REPORTED,e,r,n,i);static imUsed=(e,r,n,i)=>this.#e(O.HttpStatusCode.IM_USED,e,r,n,i);static multipleChoices=(e,r,n,i)=>this.#e(O.HttpStatusCode.MULTIPLE_CHOICES,e,r,n,i);static movedPermanently=(e,r,n,i)=>this.#e(O.HttpStatusCode.MOVED_PERMANENTLY,e,r,n,i);static found=(e,r,n,i)=>this.#e(O.HttpStatusCode.FOUND,e,r,n,i);static seeOther=(e,r,n,i)=>this.#e(O.HttpStatusCode.SEE_OTHER,e,r,n,i);static notModified=(e,r,n,i)=>this.#e(O.HttpStatusCode.NOT_MODIFIED,e,r,n,i);static useProxy=(e,r,n,i)=>this.#e(O.HttpStatusCode.USE_PROXY,e,r,n,i);static switchProxy=(e,r,n,i)=>this.#e(O.HttpStatusCode.SWITCH_PROXY,e,r,n,i);static temporaryRedirect=(e,r,n,i)=>this.#e(O.HttpStatusCode.TEMPORARY_REDIRECT,e,r,n,i);static permanentRedirect=(e,r,n,i)=>this.#e(O.HttpStatusCode.PERMANENT_REDIRECT,e,r,n,i);static badRequest=(e,r,n,i)=>this.#e(O.HttpStatusCode.BAD_REQUEST,e,r,n,i);static unauthorized=(e,r,n,i)=>this.#e(O.HttpStatusCode.UNAUTHORIZED,e,r,n,i);static paymentRequired=(e,r,n,i)=>this.#e(O.HttpStatusCode.PAYMENT_REQUIRED,e,r,n,i);static forbidden=(e,r,n,i)=>this.#e(O.HttpStatusCode.FORBIDDEN,e,r,n,i);static notFound=(e,r,n,i)=>this.#e(O.HttpStatusCode.NOT_FOUND,e,r,n,i);static methodNotAllowed=(e,r,n,i)=>this.#e(O.HttpStatusCode.METHOD_NOT_ALLOWED,e,r,n,i);static notAcceptable=(e,r,n,i)=>this.#e(O.HttpStatusCode.NOT_ACCEPTABLE,e,r,n,i);static proxyAuthenticationRequired=(e,r,n,i)=>this.#e(O.HttpStatusCode.PROXY_AUTHENTICATION_REQUIRED,e,r,n,i);static requestTimeout=(e,r,n,i)=>this.#e(O.HttpStatusCode.REQUEST_TIMEOUT,e,r,n,i);static conflict=(e,r,n,i)=>this.#e(O.HttpStatusCode.CONFLICT,e,r,n,i);static gone=(e,r,n,i)=>this.#e(O.HttpStatusCode.GONE,e,r,n,i);static lengthRequired=(e,r,n,i)=>this.#e(O.HttpStatusCode.LENGTH_REQUIRED,e,r,n,i);static preconditionFailed=(e,r,n,i)=>this.#e(O.HttpStatusCode.PRECONDITION_FAILED,e,r,n,i);static contentTooLarge=(e,r,n,i)=>this.#e(O.HttpStatusCode.CONTENT_TOO_LARGE,e,r,n,i);static uriTooLong=(e,r,n,i)=>this.#e(O.HttpStatusCode.URI_TOO_LONG,e,r,n,i);static unsupportedMediaType=(e,r,n,i)=>this.#e(O.HttpStatusCode.UNSUPPORTED_MEDIA_TYPE,e,r,n,i);static rangeNotSatisfiable=(e,r,n,i)=>this.#e(O.HttpStatusCode.RANGE_NOT_SATISFIABLE,e,r,n,i);static expectationFailed=(e,r,n,i)=>this.#e(O.HttpStatusCode.EXPECTATION_FAILED,e,r,n,i);static imATeapot=(e,r,n,i)=>this.#e(O.HttpStatusCode.I_AM_A_TEAPOT,e,r,n,i);static misdirectedRequest=(e,r,n,i)=>this.#e(O.HttpStatusCode.MISDIRECTED_REQUEST,e,r,n,i);static unprocessableContent=(e,r,n,i)=>this.#e(O.HttpStatusCode.UNPROCESSABLE_CONTENT,e,r,n,i);static locked=(e,r,n,i)=>this.#e(O.HttpStatusCode.LOCKED,e,r,n,i);static failedDependency=(e,r,n,i)=>this.#e(O.HttpStatusCode.FAILED_DEPENDENCY,e,r,n,i);static tooEarly=(e,r,n,i)=>this.#e(O.HttpStatusCode.TOO_EARLY,e,r,n,i);static upgradeRequired=(e,r,n,i)=>this.#e(O.HttpStatusCode.UPGRADE_REQUIRED,e,r,n,i);static preconditionRequired=(e,r,n,i)=>this.#e(O.HttpStatusCode.PRECONDITION_REQUIRED,e,r,n,i);static tooManyRequests=(e,r,n,i)=>this.#e(O.HttpStatusCode.TOO_MANY_REQUESTS,e,r,n,i);static requestHeaderFieldsTooLarge=(e,r,n,i)=>this.#e(O.HttpStatusCode.REQUEST_HEADER_FIELDS_TOO_LARGE,e,r,n,i);static unavailableForLegalReasons=(e,r,n,i)=>this.#e(O.HttpStatusCode.UNAVAILABLE_FOR_LEGAL_REASONS,e,r,n,i);static internalServerError=(e,r,n,i)=>this.#e(O.HttpStatusCode.INTERNAL_SERVER_ERROR,e,r,n,i);static notImplemented=(e,r,n,i)=>this.#e(O.HttpStatusCode.NOT_IMPLEMENTED,e,r,n,i);static badGateway=(e,r,n,i)=>this.#e(O.HttpStatusCode.BAD_GATEWAY,e,r,n,i);static serviceUnavailable=(e,r,n,i)=>this.#e(O.HttpStatusCode.SERVICE_UNAVAILABLE,e,r,n,i);static gatewayTimeout=(e,r,n,i)=>this.#e(O.HttpStatusCode.GATEWAY_TIMEOUT,e,r,n,i);static httpVersionNotSupported=(e,r,n,i)=>this.#e(O.HttpStatusCode.HTTP_VERSION_NOT_SUPPORTED,e,r,n,i);static variantAlsoNegotiates=(e,r,n,i)=>this.#e(O.HttpStatusCode.VARIANT_ALSO_NEGOTIATES,e,r,n,i);static insufficientStorage=(e,r,n,i)=>this.#e(O.HttpStatusCode.INSUFFICIENT_STORAGE,e,r,n,i);static loopDetected=(e,r,n,i)=>this.#e(O.HttpStatusCode.LOOP_DETECTED,e,r,n,i);static notExtended=(e,r,n,i)=>this.#e(O.HttpStatusCode.NOT_EXTENDED,e,r,n,i);static networkAuthenticationRequired=(e,r,n,i)=>this.#e(O.HttpStatusCode.NETWORK_AUTHENTICATION_REQUIRED,e,r,n,i)};Eo.HttpProblems=gu});var _u=g(qr=>{"use strict";Object.defineProperty(qr,"__esModule",{value:!0});qr.generateCorsHeaders=qr.findMatchingOrigin=void 0;var Aw=o((t,e)=>{if(e!==null)if(t){let r=wo(t).split(",");if(r.find(c=>c==="*"))return e;let i=r.map(c=>c.trim().toLowerCase()),s=e.toLowerCase();return i.find(c=>c===s)}else return},"findMatchingOrigin");qr.findMatchingOrigin=Aw;var Pw=o((t,e)=>{let r={"access-control-allow-origin":e};t.allowedHeaders&&(r["access-control-allow-headers"]=wo(t.allowedHeaders)),t.allowedMethods&&(r["access-control-allow-methods"]=wo(t.allowedMethods)),t.exposeHeaders&&(r["access-control-expose-headers"]=wo(t.exposeHeaders));let n=t.allowCredentials?.toString()??void 0;n&&(r["access-control-allow-credentials"]=n);let i=t.maxAge?.toString()??void 0;return i&&(r["access-control-max-age"]=i),r},"generateCorsHeaders");qr.generateCorsHeaders=Pw;var wo=o(t=>Array.isArray(t)?t.map(e=>e.trim()).join(", "):t,"normalizePolicies")});var vh=g(vo=>{"use strict";Object.defineProperty(vo,"__esModule",{value:!0});vo.registerCorsRoute=void 0;var Rw=D(),Ow=Gt(),bu=ve(),xw=Tr(),Nw=Sr(),Cw=ft(),wh=_u(),Lw=o((t,e)=>{let r=e.routeData.corsPolicies,n=o(async(a,c)=>{let u=new URL(a.url.toString()).pathname,l=a.headers.get("access-control-request-method"),d=a.headers.get("access-control-request-headers"),p=a.headers.get("origin");if(p===null||l===null)return bu.HttpProblems.badRequest(a,c,{detail:"Expect headers origin and access-control-request-method"});let m=t.lookup(l,u);if(!m)return bu.HttpProblems.notFound(a,c);let f=m.routeConfiguration,y=Dw(l,d,p,f,r);return y.isValid?new Response(void 0,{status:200,statusText:"OK",headers:y.headers}):bu.HttpProblems.notFound(a,c)},"optionsHandler"),i=new Ow.Pipeline([xw.metricsProcessor],n,e),s=new Cw.SystemRouteConfiguration({label:"SYSTEM_CORS_ROUTE",methods:["OPTIONS"],path:"/(.*)",systemRouteName:Nw.SystemRouteName.CorsPreflight});t.addRoute(s,i.execute)},"registerCorsRoute");vo.registerCorsRoute=Lw;var Dw=o((t,e,r,n,i)=>{let s={isValid:!1,headers:{}};if(n.corsPolicy==="anything-goes")return{isValid:!0,headers:{"access-control-allow-origin":r,"access-control-allow-methods":t,"access-control-allow-headers":e??"*","access-control-expose-headers":"*","access-control-allow-credentials":"true","access-control-max-age":"600"}};if(n.corsPolicy==="none")return s;let a=i?.find(l=>l.name===n.corsPolicy);if(!a)throw new Rw.ConfigurationError(`Invalid Configuration - corsPolicy '${n.corsPolicy}' not found in *.oas.json 'corsPolicies' section`);let c=(0,wh.findMatchingOrigin)(a.allowedOrigins,r);return c?{isValid:!0,headers:(0,wh.generateCorsHeaders)(a,c)}:s},"validateAndBuildResponseHeaders")});var Th=g(To=>{"use strict";Object.defineProperty(To,"__esModule",{value:!0});To.registerNoRoutes=void 0;var Uw=Gt(),Mw=Tr(),kw=Sr(),Fw=ft(),Hw=o((t,e)=>{let r=o(async()=>new Response("You have no routes. Add a route in routes.oas.json to get started",{status:200}),"noRoutesHandler"),n=new Uw.Pipeline([Mw.metricsProcessor],r,e),i=new Fw.SystemRouteConfiguration({label:"SYSTEM_NO_ROUTES",methods:["CONNECT","DELETE","GET","HEAD","OPTIONS","PATCH","POST","PUT","TRACE"],path:"/(.*)",systemRouteName:kw.SystemRouteName.EmptyGatewayCatchall});t.addRoute(i,n.execute)},"registerNoRoutes");To.registerNoRoutes=Hw});var Sh=g(Ir=>{"use strict";Object.defineProperty(Ir,"__esModule",{value:!0});Ir.registerNotMatchedHandler=Ir.notFoundRouteConfiguration=void 0;var qw=wr(),$w=Rt(),jw=Gt(),Vw=ve(),Gw=Tr(),Bw=Sr(),Kw=ft();Ir.notFoundRouteConfiguration=new Kw.SystemRouteConfiguration({label:"SYSTEM_NOT_FOUND_ROUTE",methods:["CONNECT","DELETE","GET","HEAD","OPTIONS","PATCH","POST","PUT","TRACE"],path:"/(.*)",systemRouteName:Bw.SystemRouteName.UnmatchedPath});var Jw=o((t,e)=>{let r=o(async(i,s)=>{let a=$w.runtimeExtensions.value?.notFoundHandler;if(a){let c=qw.ZuploContextExtensions.getContextExtensions(s);return a(i,s,{routesMatchedByPathOnly:c.pathOnlyMatches??[]})}return Vw.HttpProblems.notFound(i,s)},"notFoundHandler"),n=new jw.Pipeline([Gw.metricsProcessor],r,e);t.addRoute(Ir.notFoundRouteConfiguration,n.execute)},"registerNotMatchedHandler");Ir.registerNotMatchedHandler=Jw});var Eu=g(So=>{"use strict";Object.defineProperty(So,"__esModule",{value:!0});So.corsProcessor=void 0;var Ph=D(),Ih=_u(),zw=["access-control-allow-origin","access-control-allow-headers","access-control-expose-headers","access-control-allow-credentials","access-control-max-age"],Ah=o(t=>{zw.forEach(e=>t.delete(e))},"stripCorsHeaders"),Ww=o(async(t,e,r,n)=>{let i=e.route;if(!i.corsPolicy||i.corsPolicy==="none"){let d=await n(t),p=new Headers(d.headers);return Ah(p),new Response(d.body,{status:d.status,statusText:d.statusText,headers:p,webSocket:d.webSocket})}let s=await n(t);if(!(s instanceof Response))throw new Ph.SystemError(`The CorsProcessor is in the wrong place in the pipeline. It should only receive HttpResponse type but got '${typeof s}'`);let a=Qw(i,r.routeData.corsPolicies),c=Yw(t,a),u=new Headers(s.headers);return Ah(u),Object.entries(c).forEach(([d,p])=>{u.set(d,p)}),new Response(s.body,{status:s.status,statusText:s.statusText,headers:u,webSocket:s.webSocket})},"corsProcessor");So.corsProcessor=Ww;var Qw=o((t,e)=>{if(t.corsPolicy==="anything-goes")return{name:"anything-goes",allowedHeaders:["*"],allowedOrigins:["*"],allowedMethods:t.methods,exposeHeaders:["*"],allowCredentials:!0,maxAge:600};let r=e?.find(n=>n.name===t.corsPolicy);if(r===void 0)throw new Ph.ConfigurationError(`Invalid Configuration - no corsPolicy '${t.corsPolicy}' found in *.oas.json`);return r},"getCorsPolicy"),Yw=o((t,e)=>{let r=(0,Ih.findMatchingOrigin)(e.allowedOrigins,t.headers.get("origin"));return r?(0,Ih.generateCorsHeaders)(e,r):{}},"getCorsHeaders")});var Rh=g(Io=>{"use strict";Object.defineProperty(Io,"__esModule",{value:!0});Io.registerPingRoute=void 0;var Zw=Gt(),Xw=Eu(),ev=Sr(),tv=ft(),rv=o((t,e)=>{let r=o(async()=>new Response(null,{status:200}),"pingRouteHandler"),n=new Zw.Pipeline([Xw.corsProcessor],r,e),i=new tv.SystemRouteConfiguration({corsPolicy:"anything-goes",label:"SYSTEM_PING_ROUTE",methods:["GET"],path:"/__zuplo/ping",systemRouteName:ev.SystemRouteName.Ping});t.addRoute(i,n.execute)},"registerPingRoute");Io.registerPingRoute=rv});var xh=g(Ao=>{"use strict";Object.defineProperty(Ao,"__esModule",{value:!0});Ao.deepFreeze=void 0;function Oh(t){for(let e in t){let r=t[e];r&&typeof r=="object"&&Oh(r)}return Object.freeze(t)}o(Oh,"deepFreeze");Ao.deepFreeze=Oh});var Wn=g(Po=>{"use strict";Object.defineProperty(Po,"__esModule",{value:!0});Po.ZuploRequest=void 0;var Nh=xh(),wu=class t extends Request{static{o(this,"ZuploRequest")}#e=void 0;#t;constructor(e,r){super(e,r);let n=r?.params;n?this.#t=n:e instanceof t?this.#t=e.#t:this.#t={};let i=r?.user;i?this.user=i:e instanceof t&&(this.user=e.user)}get query(){if(this.#e===void 0){this.#e={};let e=new URL(this.url).searchParams;for(let[r,n]of e.entries())this.#e[r]=n}return(0,Nh.deepFreeze)(this.#e)}get params(){return(0,Nh.deepFreeze)(this.#t)}user};Po.ZuploRequest=wu});var Qn=g(xt=>{"use strict";Object.defineProperty(xt,"__esModule",{value:!0});xt.policyProcessor=xt.toStackedInboundHandler=xt.getInboundPolicyHandlerAndOptions=void 0;var nv=wr(),$r=D(),Ch=Wn();function Lh(t,e){let r,n;return Array.isArray(t)?r=t:(r=t.policies?.inbound??[],n=t.path),r.map(s=>{let a=e?.find(u=>u.name===s);if(!a)throw new $r.ConfigurationError(`Invalid state - no Policy with the name '${s}' ${n&&`on route '${n}'`} was found in the policies configuration (check case).`);let c;if(typeof a.handler?.module=="object"&&(c=a.handler?.module[a.handler.export]),typeof c!="function")throw new $r.ConfigurationError(`Invalid state - invalid handler on policy '${s}' ${n&&`on route '${n}'`}. Expected a function, received '${typeof c}'`);return{exportName:a.handler.export,handler:c,options:a.handler.options,policyName:a.name}})}o(Lh,"getInboundPolicyHandlerAndOptions");xt.getInboundPolicyHandlerAndOptions=Lh;function iv(t,e){return(t.policies?.outbound??[]).map(i=>{let s=e?.find(c=>c.name===i);if(!s)throw new $r.ConfigurationError(`Invalid state - no Policy with the name '${i}' on route '${t.path}' was found in the policies configuration (check case).`);let a;if(typeof s.handler?.module=="object"&&(a=s.handler?.module[s.handler.export]),typeof a!="function")throw new $r.ConfigurationError(`Invalid state - invalid handler on policy '${i}' on route '${t.path}'`);return{exportName:s.handler.export,handler:a,options:s.handler.options,policyName:s.name}})}o(iv,"getOutboundPolicyHandlerAndOptions");var ov=o(t=>async(e,r)=>{let n=nv.ZuploContextExtensions.getContextExtensions(r),i=[...t],s=e;for(;i.length>0;){let a=i.shift();if(!a)return s;let c=await a.handler(s,r,a.options,a.policyName);if(c instanceof Ch.ZuploRequest)s=c;else if(c instanceof Request)s=new Ch.ZuploRequest(c);else{if(c instanceof Response)return c;throw new $r.ConfigurationError(`Invalid state - invalid handler on policy '${a.policyName}'${a.routeName?` on route '${a.routeName}`:""}. The result of an inbound policy must be a Response or Request.`)}n.latestRequest=s}return s},"toStackedInboundHandler");xt.toStackedInboundHandler=ov;var sv=o(t=>async(e,r,n)=>{let i=[...t],s=e;for(;i.length>0;){let a=i.shift();if(!a)return s;let c=await a.handler(s,r,n,a.options,a.policyName);if(!(c instanceof Response))throw new $r.ConfigurationError(`Invalid state - invalid handler on policy '${a.policyName}'${a.routeName?` on route '${a.routeName}`:""}. The result of an outbound policy must be a Response.`);s=c}return s},"toStackedOutboundHandler"),av=o(async(t,e,r,n)=>{let i=Lh(e.route,r.routeData.policies),s=iv(e.route,r.routeData.policies),a=(0,xt.toStackedInboundHandler)(i);try{let c=await a(t,e);if(c instanceof Response)return c;let u=await n(c),l=sv(s);return u.ok?l(u,t,e):u}catch(c){return e.log.error(c),r.errorHandler(t,e,c)}},"policyProcessor");xt.policyProcessor=av});var Dh=g(jr=>{"use strict";Object.defineProperty(jr,"__esModule",{value:!0});jr.serialize=jr.parse=void 0;var cv=Object.prototype.toString,Ro=/^[\u0009\u0020-\u007e\u0080-\u00ff]+$/;function uv(t,e){if(typeof t!="string")throw new TypeError("argument str must be a string");let r={},i=(e||{}).decode||dv,s=0;for(;s<t.length;){let a=t.indexOf("=",s);if(a===-1)break;let c=t.indexOf(";",s);if(c===-1)c=t.length;else if(c<a){s=t.lastIndexOf(";",a-1)+1;continue}let u=t.slice(s,a).trim();if(r[u]===void 0){let l=t.slice(a+1,c).trim();l.charCodeAt(0)===34&&(l=l.slice(1,-1)),r[u]=fv(l,i)}s=c+1}return r}o(uv,"parse");jr.parse=uv;function lv(t,e,r){let n=r||{},i=n.encode||pv;if(typeof i!="function")throw new TypeError("option encode is invalid");if(!Ro.test(t))throw new TypeError("argument name is invalid");let s=i(e);if(s&&!Ro.test(s))throw new TypeError("argument val is invalid");let a=t+"="+s;if(n.maxAge!=null){let c=n.maxAge-0;if(isNaN(c)||!isFinite(c))throw new TypeError("option maxAge is invalid");a+="; Max-Age="+Math.floor(c)}if(n.domain){if(!Ro.test(n.domain))throw new TypeError("option domain is invalid");a+="; Domain="+n.domain}if(n.path){if(!Ro.test(n.path))throw new TypeError("option path is invalid");a+="; Path="+n.path}if(n.expires){let c=n.expires;if(!hv(c)||isNaN(c.valueOf()))throw new TypeError("option expires is invalid");a+="; Expires="+c.toUTCString()}if(n.httpOnly&&(a+="; HttpOnly"),n.secure&&(a+="; Secure"),n.priority)switch(typeof n.priority=="string"?n.priority.toLowerCase():n.priority){case"low":a+="; Priority=Low";break;case"medium":a+="; Priority=Medium";break;case"high":a+="; Priority=High";break;default:throw new TypeError("option priority is invalid")}if(n.sameSite)switch(typeof n.sameSite=="string"?n.sameSite.toLowerCase():n.sameSite){case!0:a+="; SameSite=Strict";break;case"lax":a+="; SameSite=Lax";break;case"strict":a+="; SameSite=Strict";break;case"none":a+="; SameSite=None";break;default:throw new TypeError("option sameSite is invalid")}return a}o(lv,"serialize");jr.serialize=lv;function dv(t){return t.indexOf("%")!==-1?decodeURIComponent(t):t}o(dv,"decode");function pv(t){return encodeURIComponent(t)}o(pv,"encode");function hv(t){return cv.call(t)==="[object Date]"||t instanceof Date}o(hv,"isDate");function fv(t,e){try{return e(t)}catch{return t}}o(fv,"tryDecode")});var Uh=g(Oo=>{"use strict";Object.defineProperty(Oo,"__esModule",{value:!0});Oo.devPortalBaseURL=void 0;var mv=Dh();function yv(t,e){try{let r=/v\d+(-\d+)?/g,i=(0,mv.parse)(e.get("Cookie")||"")["zp-dev-portal"];return i!==null&&i&&r.test(i)?`https://dev-portal-${i}.zuplo.com`:t}catch{}return t}o(yv,"devPortalBaseURL");Oo.devPortalBaseURL=yv});var qh=g(Vr=>{"use strict";Object.defineProperty(Vr,"__esModule",{value:!0});Vr.registerDevPortalLegacyRedirectRoute=Vr.registerDevPortalV3Route=void 0;var vu=Ot(),kh=Gt(),Fh=Tr(),gv=Qn(),Hh=ft(),_v=Uh(),Kt=te(),Mh="/__zuplo/dev-portal",bv="dev-portal-id",Ev="dev-portal-host",wv="zp-account",vv="zp-project",Tv="dev-portal-build",Sv=`
36
36
  <!DOCTYPE html>
37
37
  <html lang="en">
38
38
  <head>
@@ -46,23 +46,23 @@
46
46
  <p>For more information, see <a href="https://zuplo.com/docs/articles/developer-portal">https://zuplo.com/docs/articles/developer-portal</a>.</p>
47
47
  </body>
48
48
  </html>
49
- `,Iv=o((t,e)=>{let{sitePathname:r}=e.runtimeSettings.developerPortal,n=Bt.Environment.instance.deploymentName,i=Bt.Environment.instance.devPortalBaseUrl,s=o(async(u,l)=>{if(Bt.Environment.instance.isLocalDevelopment)return new Response(Sv,{headers:{"content-type":"text/html"}});if(!n)return vu.HttpProblems.internalServerError(u,l,{detail:"Unable to retrieve deployment name. Please contact support for assistance."});let d=new URL(u.url),p=(0,_v.devPortalBaseURL)(i,u.headers),m=new URL(`${d.pathname}${d.search}`,p),{headers:f,method:y,body:v}=u;return Bt.Environment.instance.build.ACCOUNT_NAME&&f.set(wv,Bt.Environment.instance.build.ACCOUNT_NAME),Bt.Environment.instance.build.PROJECT_NAME&&f.set(vv,Bt.Environment.instance.build.PROJECT_NAME),f.set(bv,n),f.set(Ev,d.host),f.set(Tv,Bt.Environment.instance.build.BUILD_ID),await fetch(m.toString(),{headers:f,method:y,body:v,redirect:"manual"})},"devPortalRoute"),a=new kh.Pipeline([Fh.metricsProcessor,gv.policyProcessor],s,e),c=new Hh.SystemRouteConfiguration({label:"SYSTEM_API_DOCS_V3_ROUTE",methods:["GET","PUT","POST","DELETE","PATCH","HEAD"],path:`(${r}|/_next)(.*)`,systemRouteName:vu.SystemRouteName.DeveloperPortal});t.addRoute(c,a.execute)},"registerDevPortalV3Route");Vr.registerDevPortalV3Route=Iv;var Av=o((t,e)=>{let{sitePathname:r}=e.runtimeSettings.developerPortal,n=o(async a=>{let c=new URL(a.url);return c.pathname=`${r}${c.pathname.substring(Mh.length)}`,Response.redirect(c.toString(),302)},"devPortalRedirectRoute"),i=new kh.Pipeline([Fh.metricsProcessor],n,e),s=new Hh.SystemRouteConfiguration({label:"SYSTEM_API_DOCS_REDIRECT_ROUTE",methods:["GET"],path:`${Mh}(.*)`,systemRouteName:vu.SystemRouteName.DeveloperPortalLegacy});t.addRoute(s,i.execute)},"registerDevPortalLegacyRedirectRoute");Vr.registerDevPortalLegacyRedirectRoute=Av});var Tu=g(Gr=>{"use strict";Object.defineProperty(Gr,"__esModule",{value:!0});Gr.API_KEY=Gr.SYSTEM_LOGGER=void 0;Gr.SYSTEM_LOGGER="system-logger";Gr.API_KEY="api-key"});var $h=g(xo=>{"use strict";Object.defineProperty(xo,"__esModule",{value:!0});xo.CoreLogger=void 0;var Su=0,Iu=class{static{o(this,"CoreLogger")}constructor(e,r,n,i,s){this.#r=r,this.#n=n??"local",this.#i=i,this.#o=s,this.#e(e)}#e=e=>{let r=["error","warn","info","debug"],n=!1,i=o(()=>{},"emptyFunction"),s=o((a,c)=>{this.#o.forEach(u=>{u.log(a,c)})},"pushFunction");r.forEach(a=>{this.#t[a]=n?i:s,a==e&&(n=!0)})};#t={};#r;#n;#i;#o;log(e,r,n,i,s,a){Su>=Number.MAX_SAFE_INTEGER&&(Su=0);let c={requestId:n,rayId:i,level:e,logSource:r,messages:s,timestamp:new Date,logOwner:this.#r,loggingId:this.#n,buildId:this.#i,vectorClock:Su++};this.#t[e](c,a)}};xo.CoreLogger=Iu});var Nt=g(No=>{"use strict";Object.defineProperty(No,"__esModule",{value:!0});No.LogPlugin=void 0;var Pv=Rt(),Au=class extends Pv.RuntimePlugin{static{o(this,"LogPlugin")}};No.LogPlugin=Au});var jh=g(Co=>{"use strict";Object.defineProperty(Co,"__esModule",{value:!0});Co.LoggingContext=void 0;var Pu=class{static{o(this,"LoggingContext")}constructor(e,r,n){this.#e=e,this.custom=r,this.originalRequest=n}#e;custom;originalRequest;waitUntil=e=>{this.#e.waitUntil(e)}};Co.LoggingContext=Pu});var Vh=g(Lo=>{"use strict";Object.defineProperty(Lo,"__esModule",{value:!0});Lo.RequestLogger=void 0;var Ru=class{static{o(this,"RequestLogger")}constructor(e,r,n,i){this.#t=e,this.#r=r,this.#n=n,this.#i=i}#e="request";#t;#r;#n;#i;debug=(...e)=>{this.#n.log("debug",this.#e,this.#t,this.#r,e,this.#i)};info=(...e)=>{this.#n.log("info",this.#e,this.#t,this.#r,e,this.#i)};log=(...e)=>{this.#n.log("info",this.#e,this.#t,this.#r,e,this.#i)};warn=(...e)=>{this.#n.log("warn",this.#e,this.#t,this.#r,e,this.#i)};error=(...e)=>{this.#n.log("error",this.#e,this.#t,this.#r,e,this.#i)}};Lo.RequestLogger=Ru});var Br=g(M=>{"use strict";Object.defineProperty(M,"__esModule",{value:!0});M.isErrorLike=M.withUndefinedAsNull=M.withNullAsUndefined=M.validateConstraint=M.validateConstraints=M.areFunctions=M.isFunction=M.isEmptyObject=M.assertAllDefined=M.assertIsDefined=M.assertType=M.isUndefinedOrNull=M.isDefined=M.isUndefined=M.isBoolean=M.isIterable=M.isNumber=M.isTypedArray=M.isObject=M.getOwnEnumerableKeys=M.isRegexp=M.isStringArray=M.isNonEmptyString=M.isString=M.toString=void 0;var{toString:Rv}=Object.prototype,{propertyIsEnumerable:Ov}=Object.prototype;function Gh(t){return Rv.call(t)}o(Gh,"toString");M.toString=Gh;function Do(t){return typeof t=="string"}o(Do,"isString");M.isString=Do;function xv(t){return Do(t)&&t!==""}o(xv,"isNonEmptyString");M.isNonEmptyString=xv;function Nv(t){return Array.isArray(t)&&t.every(e=>Do(e))}o(Nv,"isStringArray");M.isStringArray=Nv;function Cv(t){return Gh(t)==="[object RegExp]"}o(Cv,"isRegexp");M.isRegexp=Cv;function Lv(t){return[...Object.keys(t),...Object.getOwnPropertySymbols(t).filter(e=>Ov.call(t,e))]}o(Lv,"getOwnEnumerableKeys");M.getOwnEnumerableKeys=Lv;function Bh(t){return typeof t=="object"&&t!==null&&!Array.isArray(t)&&!(t instanceof RegExp)&&!(t instanceof Date)}o(Bh,"isObject");M.isObject=Bh;function Dv(t){let e=Object.getPrototypeOf(Uint8Array);return typeof t=="object"&&t instanceof e}o(Dv,"isTypedArray");M.isTypedArray=Dv;function Uv(t){return typeof t=="number"&&!isNaN(t)}o(Uv,"isNumber");M.isNumber=Uv;function Mv(t){return!!t&&typeof t[Symbol.iterator]=="function"}o(Mv,"isIterable");M.isIterable=Mv;function kv(t){return t===!0||t===!1}o(kv,"isBoolean");M.isBoolean=kv;function Kh(t){return typeof t>"u"}o(Kh,"isUndefined");M.isUndefined=Kh;function Fv(t){return!Yn(t)}o(Fv,"isDefined");M.isDefined=Fv;function Yn(t){return Kh(t)||t===null}o(Yn,"isUndefinedOrNull");M.isUndefinedOrNull=Yn;function Hv(t,e){if(!t)throw new Error(e?`Unexpected type, expected '${e}'`:"Unexpected type")}o(Hv,"assertType");M.assertType=Hv;function qv(t){if(Yn(t))throw new Error("Assertion Failed: argument is undefined or null");return t}o(qv,"assertIsDefined");M.assertIsDefined=qv;function $v(...t){let e=[];for(let r=0;r<t.length;r++){let n=t[r];if(Yn(n))throw new Error(`Assertion Failed: argument at index ${r} is undefined or null`);e.push(n)}return e}o($v,"assertAllDefined");M.assertAllDefined=$v;var jv=Object.prototype.hasOwnProperty;function Vv(t){if(!Bh(t))return!1;for(let e in t)if(jv.call(t,e))return!1;return!0}o(Vv,"isEmptyObject");M.isEmptyObject=Vv;function Ou(t){return typeof t=="function"}o(Ou,"isFunction");M.isFunction=Ou;function Gv(...t){return t.length>0&&t.every(Ou)}o(Gv,"areFunctions");M.areFunctions=Gv;function Bv(t,e){let r=Math.min(t.length,e.length);for(let n=0;n<r;n++)Jh(t[n],e[n])}o(Bv,"validateConstraints");M.validateConstraints=Bv;function Jh(t,e){if(Do(e)){if(typeof t!==e)throw new Error(`argument does not match constraint: typeof ${e}`)}else if(Ou(e)){try{if(t instanceof e)return}catch{}if(!Yn(t)&&t.constructor===e||e.length===1&&e.call(void 0,t)===!0)return;throw new Error("argument does not match one of these constraints: arg instanceof constraint, arg.constructor === constraint, nor constraint(arg) === true")}}o(Jh,"validateConstraint");M.validateConstraint=Jh;function Kv(t){return t===null?void 0:t}o(Kv,"withNullAsUndefined");M.withNullAsUndefined=Kv;function Jv(t){return typeof t>"u"?null:t}o(Jv,"withUndefinedAsNull");M.withUndefinedAsNull=Jv;function zv(t){return!!t&&typeof t=="object"&&"name"in t&&"message"in t&&"stack"in t}o(zv,"isErrorLike");M.isErrorLike=zv});var Ar=g(Kt=>{"use strict";Object.defineProperty(Kt,"__esModule",{value:!0});Kt.cleanStack=Kt.serializeError=Kt.NonError=void 0;var zh=Br(),Wv=[EvalError,RangeError,ReferenceError,SyntaxError,TypeError,URIError].filter(Boolean).map(t=>[t.name,t]),Qv=new Map(Wv),xu=class t extends Error{static{o(this,"NonError")}name="NonError";constructor(e){super(t._prepareSuperMessage(e))}static _prepareSuperMessage(e){try{return JSON.stringify(e)}catch{return String(e)}}};Kt.NonError=xu;var Yv=[{property:"name",enumerable:!1},{property:"message",enumerable:!1},{property:"stack",enumerable:!1},{property:"code",enumerable:!0},{property:"cause",enumerable:!1}],Nu=Symbol(".toJSON was called"),Zv=o(t=>{t[Nu]=!0;let e=t.toJSON();return delete t[Nu],e},"toJSON"),Xv=o(t=>Qv.get(t)??Error,"getErrorConstructor"),Wh=o(({from:t,seen:e,to:r,forceEnumerable:n,maxDepth:i,depth:s,useToJSON:a,serialize:c})=>{if(!r)if(Array.isArray(t))r=[];else if(!c&&(0,zh.isErrorLike)(t)){let l=Xv(t.name);r=new l}else r={};if(e.push(t),s>=i)return r;if(a&&typeof t.toJSON=="function"&&t[Nu]!==!0)return Zv(t);let u=o(l=>Wh({from:l,seen:[...e],forceEnumerable:n,maxDepth:i,depth:s,useToJSON:a,serialize:c}),"continueDestroyCircular");for(let[l,d]of Object.entries(t)){if(typeof Buffer=="function"&&Buffer.isBuffer(d)){r[l]="[object Buffer]";continue}if(d!==null&&typeof d=="object"&&typeof d.pipe=="function"){r[l]="[object Stream]";continue}if(typeof d!="function"){if(!d||typeof d!="object"){r[l]=d;continue}if(!e.includes(t[l])){s++,r[l]=u(t[l]);continue}r[l]="[Circular]"}}for(let{property:l,enumerable:d}of Yv)typeof t[l]<"u"&&t[l]!==null&&Object.defineProperty(r,l,{value:(0,zh.isErrorLike)(t[l])?u(t[l]):t[l],enumerable:n?!0:d,configurable:!0,writable:!0});return r},"destroyCircular");function eT(t,e){let r=e?.maxDepth??Number.POSITIVE_INFINITY,n=e?.useToJSON??!0;return typeof t=="object"&&t!==null?Wh({from:t,seen:[],forceEnumerable:!0,maxDepth:r,depth:0,useToJSON:n,serialize:!0}):typeof t=="function"?`[Function: ${t.name??"anonymous"}]`:t}o(eT,"serializeError");Kt.serializeError=eT;var tT=/file:\/\/\/(.*?)\/dist\//g,rT=/\(https:\/\/raw\.githubusercontent\.com\/.*?\)/g,nT="at async Event.respondWith";function iT(t){return typeof t!="string"?t:t.split(`
49
+ `,Iv=o((t,e)=>{let{sitePathname:r}=e.runtimeSettings.developerPortal,n=Kt.Environment.instance.deploymentName,i=Kt.Environment.instance.devPortalBaseUrl,s=o(async(u,l)=>{if(Kt.Environment.instance.isLocalDevelopment)return new Response(Sv,{headers:{"content-type":"text/html"}});if(!n)return vu.HttpProblems.internalServerError(u,l,{detail:"Unable to retrieve deployment name. Please contact support for assistance."});let d=new URL(u.url),p=(0,_v.devPortalBaseURL)(i,u.headers),m=new URL(`${d.pathname}${d.search}`,p),{headers:f,method:y,body:v}=u;return Kt.Environment.instance.build.ACCOUNT_NAME&&f.set(wv,Kt.Environment.instance.build.ACCOUNT_NAME),Kt.Environment.instance.build.PROJECT_NAME&&f.set(vv,Kt.Environment.instance.build.PROJECT_NAME),f.set(bv,n),f.set(Ev,d.host),f.set(Tv,Kt.Environment.instance.build.BUILD_ID),await fetch(m.toString(),{headers:f,method:y,body:v,redirect:"manual"})},"devPortalRoute"),a=new kh.Pipeline([Fh.metricsProcessor,gv.policyProcessor],s,e),c=new Hh.SystemRouteConfiguration({label:"SYSTEM_API_DOCS_V3_ROUTE",methods:["GET","PUT","POST","DELETE","PATCH","HEAD"],path:`(${r}|/_next)(.*)`,systemRouteName:vu.SystemRouteName.DeveloperPortal});t.addRoute(c,a.execute)},"registerDevPortalV3Route");Vr.registerDevPortalV3Route=Iv;var Av=o((t,e)=>{let{sitePathname:r}=e.runtimeSettings.developerPortal,n=o(async a=>{let c=new URL(a.url);return c.pathname=`${r}${c.pathname.substring(Mh.length)}`,Response.redirect(c.toString(),302)},"devPortalRedirectRoute"),i=new kh.Pipeline([Fh.metricsProcessor],n,e),s=new Hh.SystemRouteConfiguration({label:"SYSTEM_API_DOCS_REDIRECT_ROUTE",methods:["GET"],path:`${Mh}(.*)`,systemRouteName:vu.SystemRouteName.DeveloperPortalLegacy});t.addRoute(s,i.execute)},"registerDevPortalLegacyRedirectRoute");Vr.registerDevPortalLegacyRedirectRoute=Av});var Tu=g(Gr=>{"use strict";Object.defineProperty(Gr,"__esModule",{value:!0});Gr.API_KEY=Gr.SYSTEM_LOGGER=void 0;Gr.SYSTEM_LOGGER="system-logger";Gr.API_KEY="api-key"});var $h=g(xo=>{"use strict";Object.defineProperty(xo,"__esModule",{value:!0});xo.CoreLogger=void 0;var Su=0,Iu=class{static{o(this,"CoreLogger")}constructor(e,r,n,i,s){this.#r=r,this.#n=n??"local",this.#i=i,this.#o=s,this.#e(e)}#e=e=>{let r=["error","warn","info","debug"],n=!1,i=o(()=>{},"emptyFunction"),s=o((a,c)=>{this.#o.forEach(u=>{u.log(a,c)})},"pushFunction");r.forEach(a=>{this.#t[a]=n?i:s,a==e&&(n=!0)})};#t={};#r;#n;#i;#o;log(e,r,n,i,s,a){Su>=Number.MAX_SAFE_INTEGER&&(Su=0);let c={requestId:n,rayId:i,level:e,logSource:r,messages:s,timestamp:new Date,logOwner:this.#r,loggingId:this.#n,buildId:this.#i,vectorClock:Su++};this.#t[e](c,a)}};xo.CoreLogger=Iu});var Nt=g(No=>{"use strict";Object.defineProperty(No,"__esModule",{value:!0});No.LogPlugin=void 0;var Pv=Rt(),Au=class extends Pv.RuntimePlugin{static{o(this,"LogPlugin")}};No.LogPlugin=Au});var jh=g(Co=>{"use strict";Object.defineProperty(Co,"__esModule",{value:!0});Co.LoggingContext=void 0;var Pu=class{static{o(this,"LoggingContext")}constructor(e,r,n){this.#e=e,this.custom=r,this.originalRequest=n}#e;custom;originalRequest;waitUntil=e=>{this.#e.waitUntil(e)}};Co.LoggingContext=Pu});var Vh=g(Lo=>{"use strict";Object.defineProperty(Lo,"__esModule",{value:!0});Lo.RequestLogger=void 0;var Ru=class{static{o(this,"RequestLogger")}constructor(e,r,n,i){this.#t=e,this.#r=r,this.#n=n,this.#i=i}#e="request";#t;#r;#n;#i;debug=(...e)=>{this.#n.log("debug",this.#e,this.#t,this.#r,e,this.#i)};info=(...e)=>{this.#n.log("info",this.#e,this.#t,this.#r,e,this.#i)};log=(...e)=>{this.#n.log("info",this.#e,this.#t,this.#r,e,this.#i)};warn=(...e)=>{this.#n.log("warn",this.#e,this.#t,this.#r,e,this.#i)};error=(...e)=>{this.#n.log("error",this.#e,this.#t,this.#r,e,this.#i)}};Lo.RequestLogger=Ru});var Br=g(M=>{"use strict";Object.defineProperty(M,"__esModule",{value:!0});M.isErrorLike=M.withUndefinedAsNull=M.withNullAsUndefined=M.validateConstraint=M.validateConstraints=M.areFunctions=M.isFunction=M.isEmptyObject=M.assertAllDefined=M.assertIsDefined=M.assertType=M.isUndefinedOrNull=M.isDefined=M.isUndefined=M.isBoolean=M.isIterable=M.isNumber=M.isTypedArray=M.isObject=M.getOwnEnumerableKeys=M.isRegexp=M.isStringArray=M.isNonEmptyString=M.isString=M.toString=void 0;var{toString:Rv}=Object.prototype,{propertyIsEnumerable:Ov}=Object.prototype;function Gh(t){return Rv.call(t)}o(Gh,"toString");M.toString=Gh;function Do(t){return typeof t=="string"}o(Do,"isString");M.isString=Do;function xv(t){return Do(t)&&t!==""}o(xv,"isNonEmptyString");M.isNonEmptyString=xv;function Nv(t){return Array.isArray(t)&&t.every(e=>Do(e))}o(Nv,"isStringArray");M.isStringArray=Nv;function Cv(t){return Gh(t)==="[object RegExp]"}o(Cv,"isRegexp");M.isRegexp=Cv;function Lv(t){return[...Object.keys(t),...Object.getOwnPropertySymbols(t).filter(e=>Ov.call(t,e))]}o(Lv,"getOwnEnumerableKeys");M.getOwnEnumerableKeys=Lv;function Bh(t){return typeof t=="object"&&t!==null&&!Array.isArray(t)&&!(t instanceof RegExp)&&!(t instanceof Date)}o(Bh,"isObject");M.isObject=Bh;function Dv(t){let e=Object.getPrototypeOf(Uint8Array);return typeof t=="object"&&t instanceof e}o(Dv,"isTypedArray");M.isTypedArray=Dv;function Uv(t){return typeof t=="number"&&!isNaN(t)}o(Uv,"isNumber");M.isNumber=Uv;function Mv(t){return!!t&&typeof t[Symbol.iterator]=="function"}o(Mv,"isIterable");M.isIterable=Mv;function kv(t){return t===!0||t===!1}o(kv,"isBoolean");M.isBoolean=kv;function Kh(t){return typeof t>"u"}o(Kh,"isUndefined");M.isUndefined=Kh;function Fv(t){return!Yn(t)}o(Fv,"isDefined");M.isDefined=Fv;function Yn(t){return Kh(t)||t===null}o(Yn,"isUndefinedOrNull");M.isUndefinedOrNull=Yn;function Hv(t,e){if(!t)throw new Error(e?`Unexpected type, expected '${e}'`:"Unexpected type")}o(Hv,"assertType");M.assertType=Hv;function qv(t){if(Yn(t))throw new Error("Assertion Failed: argument is undefined or null");return t}o(qv,"assertIsDefined");M.assertIsDefined=qv;function $v(...t){let e=[];for(let r=0;r<t.length;r++){let n=t[r];if(Yn(n))throw new Error(`Assertion Failed: argument at index ${r} is undefined or null`);e.push(n)}return e}o($v,"assertAllDefined");M.assertAllDefined=$v;var jv=Object.prototype.hasOwnProperty;function Vv(t){if(!Bh(t))return!1;for(let e in t)if(jv.call(t,e))return!1;return!0}o(Vv,"isEmptyObject");M.isEmptyObject=Vv;function Ou(t){return typeof t=="function"}o(Ou,"isFunction");M.isFunction=Ou;function Gv(...t){return t.length>0&&t.every(Ou)}o(Gv,"areFunctions");M.areFunctions=Gv;function Bv(t,e){let r=Math.min(t.length,e.length);for(let n=0;n<r;n++)Jh(t[n],e[n])}o(Bv,"validateConstraints");M.validateConstraints=Bv;function Jh(t,e){if(Do(e)){if(typeof t!==e)throw new Error(`argument does not match constraint: typeof ${e}`)}else if(Ou(e)){try{if(t instanceof e)return}catch{}if(!Yn(t)&&t.constructor===e||e.length===1&&e.call(void 0,t)===!0)return;throw new Error("argument does not match one of these constraints: arg instanceof constraint, arg.constructor === constraint, nor constraint(arg) === true")}}o(Jh,"validateConstraint");M.validateConstraint=Jh;function Kv(t){return t===null?void 0:t}o(Kv,"withNullAsUndefined");M.withNullAsUndefined=Kv;function Jv(t){return typeof t>"u"?null:t}o(Jv,"withUndefinedAsNull");M.withUndefinedAsNull=Jv;function zv(t){return!!t&&typeof t=="object"&&"name"in t&&"message"in t&&"stack"in t}o(zv,"isErrorLike");M.isErrorLike=zv});var Ar=g(Jt=>{"use strict";Object.defineProperty(Jt,"__esModule",{value:!0});Jt.cleanStack=Jt.serializeError=Jt.NonError=void 0;var zh=Br(),Wv=[EvalError,RangeError,ReferenceError,SyntaxError,TypeError,URIError].filter(Boolean).map(t=>[t.name,t]),Qv=new Map(Wv),xu=class t extends Error{static{o(this,"NonError")}name="NonError";constructor(e){super(t._prepareSuperMessage(e))}static _prepareSuperMessage(e){try{return JSON.stringify(e)}catch{return String(e)}}};Jt.NonError=xu;var Yv=[{property:"name",enumerable:!1},{property:"message",enumerable:!1},{property:"stack",enumerable:!1},{property:"code",enumerable:!0},{property:"cause",enumerable:!1}],Nu=Symbol(".toJSON was called"),Zv=o(t=>{t[Nu]=!0;let e=t.toJSON();return delete t[Nu],e},"toJSON"),Xv=o(t=>Qv.get(t)??Error,"getErrorConstructor"),Wh=o(({from:t,seen:e,to:r,forceEnumerable:n,maxDepth:i,depth:s,useToJSON:a,serialize:c})=>{if(!r)if(Array.isArray(t))r=[];else if(!c&&(0,zh.isErrorLike)(t)){let l=Xv(t.name);r=new l}else r={};if(e.push(t),s>=i)return r;if(a&&typeof t.toJSON=="function"&&t[Nu]!==!0)return Zv(t);let u=o(l=>Wh({from:l,seen:[...e],forceEnumerable:n,maxDepth:i,depth:s,useToJSON:a,serialize:c}),"continueDestroyCircular");for(let[l,d]of Object.entries(t)){if(typeof Buffer=="function"&&Buffer.isBuffer(d)){r[l]="[object Buffer]";continue}if(d!==null&&typeof d=="object"&&typeof d.pipe=="function"){r[l]="[object Stream]";continue}if(typeof d!="function"){if(!d||typeof d!="object"){r[l]=d;continue}if(!e.includes(t[l])){s++,r[l]=u(t[l]);continue}r[l]="[Circular]"}}for(let{property:l,enumerable:d}of Yv)typeof t[l]<"u"&&t[l]!==null&&Object.defineProperty(r,l,{value:(0,zh.isErrorLike)(t[l])?u(t[l]):t[l],enumerable:n?!0:d,configurable:!0,writable:!0});return r},"destroyCircular");function eT(t,e){let r=e?.maxDepth??Number.POSITIVE_INFINITY,n=e?.useToJSON??!0;return typeof t=="object"&&t!==null?Wh({from:t,seen:[],forceEnumerable:!0,maxDepth:r,depth:0,useToJSON:n,serialize:!0}):typeof t=="function"?`[Function: ${t.name??"anonymous"}]`:t}o(eT,"serializeError");Jt.serializeError=eT;var tT=/file:\/\/\/(.*?)\/dist\//g,rT=/\(https:\/\/raw\.githubusercontent\.com\/.*?\)/g,nT="at async Event.respondWith";function iT(t){return typeof t!="string"?t:t.split(`
50
50
  `).filter(e=>!e.trim().startsWith("at async file")).map((e,r)=>{let n=e.replaceAll(tT,"").replaceAll(rT,"").replaceAll(nT,"").trim();return r===0||n.length===0?n:` ${n}`}).filter(e=>e.length>0).join(`
51
- `)}o(iT,"cleanStack");Kt.cleanStack=iT});var Qh=g(Lu=>{"use strict";Object.defineProperty(Lu,"__esModule",{value:!0});var Cu=Br();function oT(t,e,r=""){let n=[],i=e?.maxDepth??3;return o(function s(a,c={},u,l){let d=c.indent||" ",p;c.inlineCharacterLimit===void 0?p={newline:`
51
+ `)}o(iT,"cleanStack");Jt.cleanStack=iT});var Qh=g(Lu=>{"use strict";Object.defineProperty(Lu,"__esModule",{value:!0});var Cu=Br();function oT(t,e,r=""){let n=[],i=e?.maxDepth??3;return o(function s(a,c={},u,l){let d=c.indent||" ",p;c.inlineCharacterLimit===void 0?p={newline:`
52
52
  `,newlineOrSpace:`
53
53
  `,pad:u,indent:u+d}:p={newline:"@@__STRINGIFY_OBJECT_NEW_LINE__@@",newlineOrSpace:"@@__STRINGIFY_OBJECT_NEW_LINE_OR_SPACE__@@",pad:"@@__STRINGIFY_OBJECT_PAD__@@",indent:"@@__STRINGIFY_OBJECT_INDENT__@@"};let m=o(f=>{if(c.inlineCharacterLimit===void 0)return f;let y=f.replace(new RegExp(p.newline,"g"),"").replace(new RegExp(p.newlineOrSpace,"g")," ").replace(new RegExp(p.pad+"|"+p.indent,"g"),"");return y.length<=c.inlineCharacterLimit?y:f.replace(new RegExp(p.newline+"|"+p.newlineOrSpace,"g"),`
54
- `).replace(new RegExp(p.pad,"g"),u).replace(new RegExp(p.indent,"g"),u+d)},"expandWhiteSpace");if(n.includes(a))return'"[Circular]"';if(a==null||typeof a=="number"||typeof a=="boolean"||typeof a=="function"||typeof a=="symbol"||(0,Cu.isRegexp)(a))return String(a);if(a instanceof Date)return`new Date('${a.toISOString()}')`;if(l>i)return"...";if(Array.isArray(a)){if(a.length===0)return"[]";n.push(a);let f="["+p.newline+a.map((y,v)=>{let T=a.length-1===v?p.newline:","+p.newlineOrSpace,I=s(y,c,u+d,l+1);return c.transform&&(I=c.transform(a,v,I)),p.indent+I+T}).join("")+p.pad+"]";return n.pop(),m(f)}if((0,Cu.isObject)(a)){let f=(0,Cu.getOwnEnumerableKeys)(a);if(c.filter&&(f=f.filter(v=>c.filter?.(a,v))),f.length===0)return"{}";n.push(a);let y="{"+p.newline+f.map((v,T)=>{let I=f.length-1===T?p.newline:","+p.newlineOrSpace,k=typeof v=="symbol",j=!k&&/^[a-z$_][$\w]*$/i.test(v),x=k||j?v:s(v,c,"",l+1),oe=s(a[v],c,u+d,l+1);return c.transform&&(oe=c.transform(a,v,oe)),p.indent+String(x)+": "+oe+I}).join("")+p.pad+"}";return n.pop(),m(y)}return a=a.replace(/\\/g,"\\\\"),a=String(a).replace(/[\r\n]/g,f=>f===`
54
+ `).replace(new RegExp(p.pad,"g"),u).replace(new RegExp(p.indent,"g"),u+d)},"expandWhiteSpace");if(n.includes(a))return'"[Circular]"';if(a==null||typeof a=="number"||typeof a=="boolean"||typeof a=="function"||typeof a=="symbol"||(0,Cu.isRegexp)(a))return String(a);if(a instanceof Date)return`new Date('${a.toISOString()}')`;if(l>i)return"...";if(Array.isArray(a)){if(a.length===0)return"[]";n.push(a);let f="["+p.newline+a.map((y,v)=>{let T=a.length-1===v?p.newline:","+p.newlineOrSpace,I=s(y,c,u+d,l+1);return c.transform&&(I=c.transform(a,v,I)),p.indent+I+T}).join("")+p.pad+"]";return n.pop(),m(f)}if((0,Cu.isObject)(a)){let f=(0,Cu.getOwnEnumerableKeys)(a);if(c.filter&&(f=f.filter(v=>c.filter?.(a,v))),f.length===0)return"{}";n.push(a);let y="{"+p.newline+f.map((v,T)=>{let I=f.length-1===T?p.newline:","+p.newlineOrSpace,k=typeof v=="symbol",j=!k&&/^[a-z$_][$\w]*$/i.test(v),N=k||j?v:s(v,c,"",l+1),oe=s(a[v],c,u+d,l+1);return c.transform&&(oe=c.transform(a,v,oe)),p.indent+String(N)+": "+oe+I}).join("")+p.pad+"}";return n.pop(),m(y)}return a=a.replace(/\\/g,"\\\\"),a=String(a).replace(/[\r\n]/g,f=>f===`
55
55
  `?"\\n":"\\r"),c.singleQuotes===!1?(a=a.replace(/"/g,'\\"'),`"${a}"`):(a=a.replace(/'/g,"\\'"),`'${a}'`)},"stringify")(t,e,r,0)}o(oT,"stringifyObject");Lu.default=oT});var mt=g(Fe=>{"use strict";var sT=Fe&&Fe.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(Fe,"__esModule",{value:!0});Fe.stringifyNonStringToText=Fe.stringifyNonString=Fe.messagesToMultilineText=Fe.extractBestMessage=Fe.makeErrorsSerializable=void 0;var Du=Ar(),Yh=sT(Qh()),Zh=Br();function aT(t){return t.map(e=>(0,Du.serializeError)(e))}o(aT,"makeErrorsSerializable");Fe.makeErrorsSerializable=aT;function cT(t){if(t.length===0)return"<no data provided to log>";let e=t[0];return typeof e=="string"?e:e instanceof Error?e.message:Xh((0,Du.serializeError)(e))}o(cT,"extractBestMessage");Fe.extractBestMessage=cT;function uT(t){let e=[];return t.forEach(r=>{if(typeof r=="string")e.push(r);else if((0,Zh.isErrorLike)(r))if(r.stack)e.push(r.stack);else{let n=(0,Yh.default)((0,Du.serializeError)(r));e.push(n)}else if(typeof r=="object"){let n=(0,Yh.default)(r);e.push(n)}else{let n=ef(r);e.push(n)}}),e.join(`
56
- `)}o(uT,"messagesToMultilineText");Fe.messagesToMultilineText=uT;function Xh(t){return typeof t=="string"?t:JSON.stringify(t)}o(Xh,"stringifyNonString");Fe.stringifyNonString=Xh;function ef(t){return typeof t=="string"?t:t===null?"null":typeof t>"u"?"undefined":typeof t=="number"||typeof t=="boolean"||typeof t=="bigint"||typeof t=="symbol"?t.toString():typeof t=="function"?`[function ${t.name}]`:typeof t=="object"&&Array.isArray(t)?`[array ${t.length}]`:t instanceof Error?`${t.name??"Error"}: ${t.message??"unknown"}`:typeof t=="object"?(0,Zh.toString)(t):"unknown"}o(ef,"stringifyNonStringToText");Fe.stringifyNonStringToText=ef});var L,se,Te=S(()=>{L=crypto,se=o(t=>t instanceof CryptoKey,"isCryptoKey")});var lT,Uo,Uu=S(()=>{Te();lT=o(async(t,e)=>{let r=`SHA-${t.slice(-3)}`;return new Uint8Array(await L.subtle.digest(r,e))},"digest"),Uo=lT});function Se(...t){let e=t.reduce((i,{length:s})=>i+s,0),r=new Uint8Array(e),n=0;return t.forEach(i=>{r.set(i,n),n+=i.length}),r}function tf(t,e){return Se(Y.encode(t),new Uint8Array([0]),e)}function Mu(t,e,r){if(e<0||e>=Mo)throw new RangeError(`value must be >= 0 and <= ${Mo-1}. Received ${e}`);t.set([e>>>24,e>>>16,e>>>8,e&255],r)}function ko(t){let e=Math.floor(t/Mo),r=t%Mo,n=new Uint8Array(8);return Mu(n,e,0),Mu(n,r,4),n}function Fo(t){let e=new Uint8Array(4);return Mu(e,t),e}function Ho(t){return Se(Fo(t.length),t)}async function rf(t,e,r){let n=Math.ceil((e>>3)/32),i=new Uint8Array(n*32);for(let s=0;s<n;s++){let a=new Uint8Array(4+t.length+r.length);a.set(Fo(s+1)),a.set(t,4),a.set(r,4+t.length),i.set(await Uo("sha256",a),s*32)}return i.slice(0,e>>3)}var Y,ce,Mo,ye=S(()=>{Uu();Y=new TextEncoder,ce=new TextDecoder,Mo=2**32;o(Se,"concat");o(tf,"p2s");o(Mu,"writeUInt32BE");o(ko,"uint64be");o(Fo,"uint32be");o(Ho,"lengthAndInput");o(rf,"concatKdf")});var qo,Z,ku,re,Ie=S(()=>{ye();qo=o(t=>{let e=t;typeof e=="string"&&(e=Y.encode(e));let r=32768,n=[];for(let i=0;i<e.length;i+=r)n.push(String.fromCharCode.apply(null,e.subarray(i,i+r)));return btoa(n.join(""))},"encodeBase64"),Z=o(t=>qo(t).replace(/=/g,"").replace(/\+/g,"-").replace(/\//g,"_"),"encode"),ku=o(t=>{let e=atob(t),r=new Uint8Array(e.length);for(let n=0;n<e.length;n++)r[n]=e.charCodeAt(n);return r},"decodeBase64"),re=o(t=>{let e=t;e instanceof Uint8Array&&(e=ce.decode(e)),e=e.replace(/-/g,"+").replace(/_/g,"/").replace(/\s/g,"");try{return ku(e)}catch{throw new TypeError("The input to be decoded is not correctly encoded.")}},"decode")});var Fu={};Gi(Fu,{JOSEAlgNotAllowed:()=>Jt,JOSEError:()=>pe,JOSENotSupported:()=>U,JWEDecryptionFailed:()=>Ct,JWEInvalid:()=>P,JWKInvalid:()=>Zn,JWKSInvalid:()=>zt,JWKSMultipleMatchingKeys:()=>Xn,JWKSNoMatchingKey:()=>Pr,JWKSTimeout:()=>ei,JWSInvalid:()=>z,JWSSignatureVerificationFailed:()=>Rr,JWTClaimValidationFailed:()=>ge,JWTExpired:()=>Kr,JWTInvalid:()=>ue});var pe,ge,Kr,Jt,U,Ct,P,z,ue,Zn,zt,Pr,Xn,ei,Rr,V=S(()=>{pe=class extends Error{static{o(this,"JOSEError")}static get code(){return"ERR_JOSE_GENERIC"}constructor(e){var r;super(e),this.code="ERR_JOSE_GENERIC",this.name=this.constructor.name,(r=Error.captureStackTrace)===null||r===void 0||r.call(Error,this,this.constructor)}},ge=class extends pe{static{o(this,"JWTClaimValidationFailed")}static get code(){return"ERR_JWT_CLAIM_VALIDATION_FAILED"}constructor(e,r="unspecified",n="unspecified"){super(e),this.code="ERR_JWT_CLAIM_VALIDATION_FAILED",this.claim=r,this.reason=n}},Kr=class extends pe{static{o(this,"JWTExpired")}static get code(){return"ERR_JWT_EXPIRED"}constructor(e,r="unspecified",n="unspecified"){super(e),this.code="ERR_JWT_EXPIRED",this.claim=r,this.reason=n}},Jt=class extends pe{static{o(this,"JOSEAlgNotAllowed")}constructor(){super(...arguments),this.code="ERR_JOSE_ALG_NOT_ALLOWED"}static get code(){return"ERR_JOSE_ALG_NOT_ALLOWED"}},U=class extends pe{static{o(this,"JOSENotSupported")}constructor(){super(...arguments),this.code="ERR_JOSE_NOT_SUPPORTED"}static get code(){return"ERR_JOSE_NOT_SUPPORTED"}},Ct=class extends pe{static{o(this,"JWEDecryptionFailed")}constructor(){super(...arguments),this.code="ERR_JWE_DECRYPTION_FAILED",this.message="decryption operation failed"}static get code(){return"ERR_JWE_DECRYPTION_FAILED"}},P=class extends pe{static{o(this,"JWEInvalid")}constructor(){super(...arguments),this.code="ERR_JWE_INVALID"}static get code(){return"ERR_JWE_INVALID"}},z=class extends pe{static{o(this,"JWSInvalid")}constructor(){super(...arguments),this.code="ERR_JWS_INVALID"}static get code(){return"ERR_JWS_INVALID"}},ue=class extends pe{static{o(this,"JWTInvalid")}constructor(){super(...arguments),this.code="ERR_JWT_INVALID"}static get code(){return"ERR_JWT_INVALID"}},Zn=class extends pe{static{o(this,"JWKInvalid")}constructor(){super(...arguments),this.code="ERR_JWK_INVALID"}static get code(){return"ERR_JWK_INVALID"}},zt=class extends pe{static{o(this,"JWKSInvalid")}constructor(){super(...arguments),this.code="ERR_JWKS_INVALID"}static get code(){return"ERR_JWKS_INVALID"}},Pr=class extends pe{static{o(this,"JWKSNoMatchingKey")}constructor(){super(...arguments),this.code="ERR_JWKS_NO_MATCHING_KEY",this.message="no applicable key found in the JSON Web Key Set"}static get code(){return"ERR_JWKS_NO_MATCHING_KEY"}},Xn=class extends pe{static{o(this,"JWKSMultipleMatchingKeys")}constructor(){super(...arguments),this.code="ERR_JWKS_MULTIPLE_MATCHING_KEYS",this.message="multiple matching keys found in the JSON Web Key Set"}static get code(){return"ERR_JWKS_MULTIPLE_MATCHING_KEYS"}},ei=class extends pe{static{o(this,"JWKSTimeout")}constructor(){super(...arguments),this.code="ERR_JWKS_TIMEOUT",this.message="request timed out"}static get code(){return"ERR_JWKS_TIMEOUT"}},Rr=class extends pe{static{o(this,"JWSSignatureVerificationFailed")}constructor(){super(...arguments),this.code="ERR_JWS_SIGNATURE_VERIFICATION_FAILED",this.message="signature verification failed"}static get code(){return"ERR_JWS_SIGNATURE_VERIFICATION_FAILED"}}});var Wt,ti=S(()=>{Te();Wt=L.getRandomValues.bind(L)});function Hu(t){switch(t){case"A128GCM":case"A128GCMKW":case"A192GCM":case"A192GCMKW":case"A256GCM":case"A256GCMKW":return 96;case"A128CBC-HS256":case"A192CBC-HS384":case"A256CBC-HS512":return 128;default:throw new U(`Unsupported JWE Algorithm: ${t}`)}}var $o,jo=S(()=>{V();ti();o(Hu,"bitLength");$o=o(t=>Wt(new Uint8Array(Hu(t)>>3)),"default")});var dT,Vo,qu=S(()=>{V();jo();dT=o((t,e)=>{if(e.length<<3!==Hu(t))throw new P("Invalid Initialization Vector length")},"checkIvLength"),Vo=dT});var pT,Jr,$u=S(()=>{V();pT=o((t,e)=>{let r=t.byteLength<<3;if(r!==e)throw new P(`Invalid Content Encryption Key length. Expected ${e} bits, got ${r} bits`)},"checkCekLength"),Jr=pT});var hT,of,sf=S(()=>{hT=o((t,e)=>{if(!(t instanceof Uint8Array))throw new TypeError("First argument must be a buffer");if(!(e instanceof Uint8Array))throw new TypeError("Second argument must be a buffer");if(t.length!==e.length)throw new TypeError("Input buffers must have the same length");let r=t.length,n=0,i=-1;for(;++i<r;)n|=t[i]^e[i];return n===0},"timingSafeEqual"),of=hT});function Ae(t,e="algorithm.name"){return new TypeError(`CryptoKey does not support this operation, its ${e} must be ${t}`)}function Qt(t,e){return t.name===e}function Go(t){return parseInt(t.name.slice(4),10)}function fT(t){switch(t){case"ES256":return"P-256";case"ES384":return"P-384";case"ES512":return"P-521";default:throw new Error("unreachable")}}function af(t,e){if(e.length&&!e.some(r=>t.usages.includes(r))){let r="CryptoKey does not support this operation, its usages must include ";if(e.length>2){let n=e.pop();r+=`one of ${e.join(", ")}, or ${n}.`}else e.length===2?r+=`one of ${e[0]} or ${e[1]}.`:r+=`${e[0]}.`;throw new TypeError(r)}}function cf(t,e,...r){switch(e){case"HS256":case"HS384":case"HS512":{if(!Qt(t.algorithm,"HMAC"))throw Ae("HMAC");let n=parseInt(e.slice(2),10);if(Go(t.algorithm.hash)!==n)throw Ae(`SHA-${n}`,"algorithm.hash");break}case"RS256":case"RS384":case"RS512":{if(!Qt(t.algorithm,"RSASSA-PKCS1-v1_5"))throw Ae("RSASSA-PKCS1-v1_5");let n=parseInt(e.slice(2),10);if(Go(t.algorithm.hash)!==n)throw Ae(`SHA-${n}`,"algorithm.hash");break}case"PS256":case"PS384":case"PS512":{if(!Qt(t.algorithm,"RSA-PSS"))throw Ae("RSA-PSS");let n=parseInt(e.slice(2),10);if(Go(t.algorithm.hash)!==n)throw Ae(`SHA-${n}`,"algorithm.hash");break}case"EdDSA":{if(t.algorithm.name!=="Ed25519"&&t.algorithm.name!=="Ed448")throw Ae("Ed25519 or Ed448");break}case"ES256":case"ES384":case"ES512":{if(!Qt(t.algorithm,"ECDSA"))throw Ae("ECDSA");let n=fT(e);if(t.algorithm.namedCurve!==n)throw Ae(n,"algorithm.namedCurve");break}default:throw new TypeError("CryptoKey does not support this operation")}af(t,r)}function He(t,e,...r){switch(e){case"A128GCM":case"A192GCM":case"A256GCM":{if(!Qt(t.algorithm,"AES-GCM"))throw Ae("AES-GCM");let n=parseInt(e.slice(1,4),10);if(t.algorithm.length!==n)throw Ae(n,"algorithm.length");break}case"A128KW":case"A192KW":case"A256KW":{if(!Qt(t.algorithm,"AES-KW"))throw Ae("AES-KW");let n=parseInt(e.slice(1,4),10);if(t.algorithm.length!==n)throw Ae(n,"algorithm.length");break}case"ECDH":{switch(t.algorithm.name){case"ECDH":case"X25519":case"X448":break;default:throw Ae("ECDH, X25519, or X448")}break}case"PBES2-HS256+A128KW":case"PBES2-HS384+A192KW":case"PBES2-HS512+A256KW":if(!Qt(t.algorithm,"PBKDF2"))throw Ae("PBKDF2");break;case"RSA-OAEP":case"RSA-OAEP-256":case"RSA-OAEP-384":case"RSA-OAEP-512":{if(!Qt(t.algorithm,"RSA-OAEP"))throw Ae("RSA-OAEP");let n=parseInt(e.slice(9),10)||1;if(Go(t.algorithm.hash)!==n)throw Ae(`SHA-${n}`,"algorithm.hash");break}default:throw new TypeError("CryptoKey does not support this operation")}af(t,r)}var Yt=S(()=>{o(Ae,"unusable");o(Qt,"isAlgorithm");o(Go,"getHashLength");o(fT,"getNamedCurve");o(af,"checkUsage");o(cf,"checkSigCryptoKey");o(He,"checkEncCryptoKey")});function uf(t,e,...r){if(r.length>2){let n=r.pop();t+=`one of type ${r.join(", ")}, or ${n}.`}else r.length===2?t+=`one of type ${r[0]} or ${r[1]}.`:t+=`of type ${r[0]}.`;return e==null?t+=` Received ${e}`:typeof e=="function"&&e.name?t+=` Received function ${e.name}`:typeof e=="object"&&e!=null&&e.constructor&&e.constructor.name&&(t+=` Received an instance of ${e.constructor.name}`),t}function ju(t,e,...r){return uf(`Key for the ${t} algorithm must be `,e,...r)}var ne,ot=S(()=>{o(uf,"message");ne=o((t,...e)=>uf("Key must be ",t,...e),"default");o(ju,"withAlg")});var Vu,W,st=S(()=>{Te();Vu=o(t=>se(t),"default"),W=["CryptoKey"]});async function mT(t,e,r,n,i,s){if(!(e instanceof Uint8Array))throw new TypeError(ne(e,"Uint8Array"));let a=parseInt(t.slice(1,4),10),c=await L.subtle.importKey("raw",e.subarray(a>>3),"AES-CBC",!1,["decrypt"]),u=await L.subtle.importKey("raw",e.subarray(0,a>>3),{hash:`SHA-${a<<1}`,name:"HMAC"},!1,["sign"]),l=Se(s,n,r,ko(s.length<<3)),d=new Uint8Array((await L.subtle.sign("HMAC",u,l)).slice(0,a>>3)),p;try{p=of(i,d)}catch{}if(!p)throw new Ct;let m;try{m=new Uint8Array(await L.subtle.decrypt({iv:n,name:"AES-CBC"},c,r))}catch{}if(!m)throw new Ct;return m}async function yT(t,e,r,n,i,s){let a;e instanceof Uint8Array?a=await L.subtle.importKey("raw",e,"AES-GCM",!1,["decrypt"]):(He(e,t,"decrypt"),a=e);try{return new Uint8Array(await L.subtle.decrypt({additionalData:s,iv:n,name:"AES-GCM",tagLength:128},a,Se(r,i)))}catch{throw new Ct}}var gT,Bo,Gu=S(()=>{ye();qu();$u();sf();V();Te();Yt();ot();st();o(mT,"cbcDecrypt");o(yT,"gcmDecrypt");gT=o(async(t,e,r,n,i,s)=>{if(!se(e)&&!(e instanceof Uint8Array))throw new TypeError(ne(e,...W,"Uint8Array"));switch(Vo(t,n),t){case"A128CBC-HS256":case"A192CBC-HS384":case"A256CBC-HS512":return e instanceof Uint8Array&&Jr(e,parseInt(t.slice(-3),10)),mT(t,e,r,n,i,s);case"A128GCM":case"A192GCM":case"A256GCM":return e instanceof Uint8Array&&Jr(e,parseInt(t.slice(1,4),10)),yT(t,e,r,n,i,s);default:throw new U("Unsupported JWE Content Encryption Algorithm")}},"decrypt"),Bo=gT});var lf,df,Bu=S(()=>{V();lf=o(async()=>{throw new U('JWE "zip" (Compression Algorithm) Header Parameter is not supported by your javascript runtime. You need to use the `inflateRaw` decrypt option to provide Inflate Raw implementation.')},"inflate"),df=o(async()=>{throw new U('JWE "zip" (Compression Algorithm) Header Parameter is not supported by your javascript runtime. You need to use the `deflateRaw` encrypt option to provide Deflate Raw implementation.')},"deflate")});var _T,yt,zr=S(()=>{_T=o((...t)=>{let e=t.filter(Boolean);if(e.length===0||e.length===1)return!0;let r;for(let n of e){let i=Object.keys(n);if(!r||r.size===0){r=new Set(i);continue}for(let s of i){if(r.has(s))return!1;r.add(s)}}return!0},"isDisjoint"),yt=_T});function bT(t){return typeof t=="object"&&t!==null}function Q(t){if(!bT(t)||Object.prototype.toString.call(t)!=="[object Object]")return!1;if(Object.getPrototypeOf(t)===null)return!0;let e=t;for(;Object.getPrototypeOf(e)!==null;)e=Object.getPrototypeOf(e);return Object.getPrototypeOf(t)===e}var qe=S(()=>{o(bT,"isObjectLike");o(Q,"isObject")});var ET,Wr,Ku=S(()=>{ET=[{hash:"SHA-256",name:"HMAC"},!0,["sign"]],Wr=ET});function pf(t,e){if(t.algorithm.length!==parseInt(e.slice(1,4),10))throw new TypeError(`Invalid key size for alg: ${e}`)}function hf(t,e,r){if(se(t))return He(t,e,r),t;if(t instanceof Uint8Array)return L.subtle.importKey("raw",t,"AES-KW",!0,[r]);throw new TypeError(ne(t,...W,"Uint8Array"))}var ri,ni,Ko=S(()=>{Ku();Te();Yt();ot();st();o(pf,"checkKeySize");o(hf,"getCryptoKey");ri=o(async(t,e,r)=>{let n=await hf(e,t,"wrapKey");pf(n,t);let i=await L.subtle.importKey("raw",r,...Wr);return new Uint8Array(await L.subtle.wrapKey("raw",i,n,"AES-KW"))},"wrap"),ni=o(async(t,e,r)=>{let n=await hf(e,t,"unwrapKey");pf(n,t);let i=await L.subtle.unwrapKey("raw",r,n,"AES-KW",...Wr);return new Uint8Array(await L.subtle.exportKey("raw",i))},"unwrap")});async function Jo(t,e,r,n,i=new Uint8Array(0),s=new Uint8Array(0)){if(!se(t))throw new TypeError(ne(t,...W));if(He(t,"ECDH"),!se(e))throw new TypeError(ne(e,...W));He(e,"ECDH","deriveBits");let a=Se(Ho(Y.encode(r)),Ho(i),Ho(s),Fo(n)),c;t.algorithm.name==="X25519"?c=256:t.algorithm.name==="X448"?c=448:c=Math.ceil(parseInt(t.algorithm.namedCurve.substr(-3),10)/8)<<3;let u=new Uint8Array(await L.subtle.deriveBits({name:t.algorithm.name,public:t},e,c));return rf(u,n,a)}async function ff(t){if(!se(t))throw new TypeError(ne(t,...W));return L.subtle.generateKey(t.algorithm,!0,["deriveBits"])}function zo(t){if(!se(t))throw new TypeError(ne(t,...W));return["P-256","P-384","P-521"].includes(t.algorithm.namedCurve)||t.algorithm.name==="X25519"||t.algorithm.name==="X448"}var Ju=S(()=>{ye();Te();Yt();ot();st();o(Jo,"deriveKey");o(ff,"generateEpk");o(zo,"ecdhAllowed")});function zu(t){if(!(t instanceof Uint8Array)||t.length<8)throw new P("PBES2 Salt Input must be 8 or more octets")}var yf=S(()=>{V();o(zu,"checkP2s")});function wT(t,e){if(t instanceof Uint8Array)return L.subtle.importKey("raw",t,"PBKDF2",!1,["deriveBits"]);if(se(t))return He(t,e,"deriveBits","deriveKey"),t;throw new TypeError(ne(t,...W,"Uint8Array"))}async function gf(t,e,r,n){zu(t);let i=tf(e,t),s=parseInt(e.slice(13,16),10),a={hash:`SHA-${e.slice(8,11)}`,iterations:r,name:"PBKDF2",salt:i},c={length:s,name:"AES-KW"},u=await wT(n,e);if(u.usages.includes("deriveBits"))return new Uint8Array(await L.subtle.deriveBits(a,u,s));if(u.usages.includes("deriveKey"))return L.subtle.deriveKey(a,u,c,!1,["wrapKey","unwrapKey"]);throw new TypeError('PBKDF2 key "usages" must include "deriveBits" or "deriveKey"')}var _f,bf,Wu=S(()=>{ti();ye();Ie();Ko();yf();Te();Yt();ot();st();o(wT,"getCryptoKey");o(gf,"deriveKey");_f=o(async(t,e,r,n=2048,i=Wt(new Uint8Array(16)))=>{let s=await gf(i,t,n,e);return{encryptedKey:await ri(t.slice(-6),s,r),p2c:n,p2s:Z(i)}},"encrypt"),bf=o(async(t,e,r,n,i)=>{let s=await gf(i,t,n,e);return ni(t.slice(-6),s,r)},"decrypt")});function Qr(t){switch(t){case"RSA-OAEP":case"RSA-OAEP-256":case"RSA-OAEP-384":case"RSA-OAEP-512":return"RSA-OAEP";default:throw new U(`alg ${t} is not supported either by JOSE or your javascript runtime`)}}var Ef=S(()=>{V();o(Qr,"subtleRsaEs")});var Or,Wo=S(()=>{Or=o((t,e)=>{if(t.startsWith("RS")||t.startsWith("PS")){let{modulusLength:r}=e.algorithm;if(typeof r!="number"||r<2048)throw new TypeError(`${t} requires key modulusLength to be 2048 bits or larger`)}},"default")});var wf,vf,Qu=S(()=>{Ef();Ku();Te();Yt();Wo();ot();st();wf=o(async(t,e,r)=>{if(!se(e))throw new TypeError(ne(e,...W));if(He(e,t,"encrypt","wrapKey"),Or(t,e),e.usages.includes("encrypt"))return new Uint8Array(await L.subtle.encrypt(Qr(t),e,r));if(e.usages.includes("wrapKey")){let n=await L.subtle.importKey("raw",r,...Wr);return new Uint8Array(await L.subtle.wrapKey("raw",n,e,Qr(t)))}throw new TypeError('RSA-OAEP key "usages" must include "encrypt" or "wrapKey" for this operation')},"encrypt"),vf=o(async(t,e,r)=>{if(!se(e))throw new TypeError(ne(e,...W));if(He(e,t,"decrypt","unwrapKey"),Or(t,e),e.usages.includes("decrypt"))return new Uint8Array(await L.subtle.decrypt(Qr(t),e,r));if(e.usages.includes("unwrapKey")){let n=await L.subtle.unwrapKey("raw",r,e,Qr(t),...Wr);return new Uint8Array(await L.subtle.exportKey("raw",n))}throw new TypeError('RSA-OAEP key "usages" must include "decrypt" or "unwrapKey" for this operation')},"decrypt")});function ii(t){switch(t){case"A128GCM":return 128;case"A192GCM":return 192;case"A256GCM":case"A128CBC-HS256":return 256;case"A192CBC-HS384":return 384;case"A256CBC-HS512":return 512;default:throw new U(`Unsupported JWE Algorithm: ${t}`)}}var gt,oi=S(()=>{V();ti();o(ii,"bitLength");gt=o(t=>Wt(new Uint8Array(ii(t)>>3)),"default")});var Yu,Tf=S(()=>{Yu=o((t,e)=>{let r=(t.match(/.{1,64}/g)||[]).join(`
56
+ `)}o(uT,"messagesToMultilineText");Fe.messagesToMultilineText=uT;function Xh(t){return typeof t=="string"?t:JSON.stringify(t)}o(Xh,"stringifyNonString");Fe.stringifyNonString=Xh;function ef(t){return typeof t=="string"?t:t===null?"null":typeof t>"u"?"undefined":typeof t=="number"||typeof t=="boolean"||typeof t=="bigint"||typeof t=="symbol"?t.toString():typeof t=="function"?`[function ${t.name}]`:typeof t=="object"&&Array.isArray(t)?`[array ${t.length}]`:t instanceof Error?`${t.name??"Error"}: ${t.message??"unknown"}`:typeof t=="object"?(0,Zh.toString)(t):"unknown"}o(ef,"stringifyNonStringToText");Fe.stringifyNonStringToText=ef});var L,se,Te=S(()=>{L=crypto,se=o(t=>t instanceof CryptoKey,"isCryptoKey")});var lT,Uo,Uu=S(()=>{Te();lT=o(async(t,e)=>{let r=`SHA-${t.slice(-3)}`;return new Uint8Array(await L.subtle.digest(r,e))},"digest"),Uo=lT});function Se(...t){let e=t.reduce((i,{length:s})=>i+s,0),r=new Uint8Array(e),n=0;return t.forEach(i=>{r.set(i,n),n+=i.length}),r}function tf(t,e){return Se(Y.encode(t),new Uint8Array([0]),e)}function Mu(t,e,r){if(e<0||e>=Mo)throw new RangeError(`value must be >= 0 and <= ${Mo-1}. Received ${e}`);t.set([e>>>24,e>>>16,e>>>8,e&255],r)}function ko(t){let e=Math.floor(t/Mo),r=t%Mo,n=new Uint8Array(8);return Mu(n,e,0),Mu(n,r,4),n}function Fo(t){let e=new Uint8Array(4);return Mu(e,t),e}function Ho(t){return Se(Fo(t.length),t)}async function rf(t,e,r){let n=Math.ceil((e>>3)/32),i=new Uint8Array(n*32);for(let s=0;s<n;s++){let a=new Uint8Array(4+t.length+r.length);a.set(Fo(s+1)),a.set(t,4),a.set(r,4+t.length),i.set(await Uo("sha256",a),s*32)}return i.slice(0,e>>3)}var Y,ce,Mo,ye=S(()=>{Uu();Y=new TextEncoder,ce=new TextDecoder,Mo=2**32;o(Se,"concat");o(tf,"p2s");o(Mu,"writeUInt32BE");o(ko,"uint64be");o(Fo,"uint32be");o(Ho,"lengthAndInput");o(rf,"concatKdf")});var qo,Z,ku,re,Ie=S(()=>{ye();qo=o(t=>{let e=t;typeof e=="string"&&(e=Y.encode(e));let r=32768,n=[];for(let i=0;i<e.length;i+=r)n.push(String.fromCharCode.apply(null,e.subarray(i,i+r)));return btoa(n.join(""))},"encodeBase64"),Z=o(t=>qo(t).replace(/=/g,"").replace(/\+/g,"-").replace(/\//g,"_"),"encode"),ku=o(t=>{let e=atob(t),r=new Uint8Array(e.length);for(let n=0;n<e.length;n++)r[n]=e.charCodeAt(n);return r},"decodeBase64"),re=o(t=>{let e=t;e instanceof Uint8Array&&(e=ce.decode(e)),e=e.replace(/-/g,"+").replace(/_/g,"/").replace(/\s/g,"");try{return ku(e)}catch{throw new TypeError("The input to be decoded is not correctly encoded.")}},"decode")});var Fu={};Gi(Fu,{JOSEAlgNotAllowed:()=>zt,JOSEError:()=>pe,JOSENotSupported:()=>U,JWEDecryptionFailed:()=>Ct,JWEInvalid:()=>P,JWKInvalid:()=>Zn,JWKSInvalid:()=>Wt,JWKSMultipleMatchingKeys:()=>Xn,JWKSNoMatchingKey:()=>Pr,JWKSTimeout:()=>ei,JWSInvalid:()=>z,JWSSignatureVerificationFailed:()=>Rr,JWTClaimValidationFailed:()=>ge,JWTExpired:()=>Kr,JWTInvalid:()=>ue});var pe,ge,Kr,zt,U,Ct,P,z,ue,Zn,Wt,Pr,Xn,ei,Rr,V=S(()=>{pe=class extends Error{static{o(this,"JOSEError")}static get code(){return"ERR_JOSE_GENERIC"}constructor(e){var r;super(e),this.code="ERR_JOSE_GENERIC",this.name=this.constructor.name,(r=Error.captureStackTrace)===null||r===void 0||r.call(Error,this,this.constructor)}},ge=class extends pe{static{o(this,"JWTClaimValidationFailed")}static get code(){return"ERR_JWT_CLAIM_VALIDATION_FAILED"}constructor(e,r="unspecified",n="unspecified"){super(e),this.code="ERR_JWT_CLAIM_VALIDATION_FAILED",this.claim=r,this.reason=n}},Kr=class extends pe{static{o(this,"JWTExpired")}static get code(){return"ERR_JWT_EXPIRED"}constructor(e,r="unspecified",n="unspecified"){super(e),this.code="ERR_JWT_EXPIRED",this.claim=r,this.reason=n}},zt=class extends pe{static{o(this,"JOSEAlgNotAllowed")}constructor(){super(...arguments),this.code="ERR_JOSE_ALG_NOT_ALLOWED"}static get code(){return"ERR_JOSE_ALG_NOT_ALLOWED"}},U=class extends pe{static{o(this,"JOSENotSupported")}constructor(){super(...arguments),this.code="ERR_JOSE_NOT_SUPPORTED"}static get code(){return"ERR_JOSE_NOT_SUPPORTED"}},Ct=class extends pe{static{o(this,"JWEDecryptionFailed")}constructor(){super(...arguments),this.code="ERR_JWE_DECRYPTION_FAILED",this.message="decryption operation failed"}static get code(){return"ERR_JWE_DECRYPTION_FAILED"}},P=class extends pe{static{o(this,"JWEInvalid")}constructor(){super(...arguments),this.code="ERR_JWE_INVALID"}static get code(){return"ERR_JWE_INVALID"}},z=class extends pe{static{o(this,"JWSInvalid")}constructor(){super(...arguments),this.code="ERR_JWS_INVALID"}static get code(){return"ERR_JWS_INVALID"}},ue=class extends pe{static{o(this,"JWTInvalid")}constructor(){super(...arguments),this.code="ERR_JWT_INVALID"}static get code(){return"ERR_JWT_INVALID"}},Zn=class extends pe{static{o(this,"JWKInvalid")}constructor(){super(...arguments),this.code="ERR_JWK_INVALID"}static get code(){return"ERR_JWK_INVALID"}},Wt=class extends pe{static{o(this,"JWKSInvalid")}constructor(){super(...arguments),this.code="ERR_JWKS_INVALID"}static get code(){return"ERR_JWKS_INVALID"}},Pr=class extends pe{static{o(this,"JWKSNoMatchingKey")}constructor(){super(...arguments),this.code="ERR_JWKS_NO_MATCHING_KEY",this.message="no applicable key found in the JSON Web Key Set"}static get code(){return"ERR_JWKS_NO_MATCHING_KEY"}},Xn=class extends pe{static{o(this,"JWKSMultipleMatchingKeys")}constructor(){super(...arguments),this.code="ERR_JWKS_MULTIPLE_MATCHING_KEYS",this.message="multiple matching keys found in the JSON Web Key Set"}static get code(){return"ERR_JWKS_MULTIPLE_MATCHING_KEYS"}},ei=class extends pe{static{o(this,"JWKSTimeout")}constructor(){super(...arguments),this.code="ERR_JWKS_TIMEOUT",this.message="request timed out"}static get code(){return"ERR_JWKS_TIMEOUT"}},Rr=class extends pe{static{o(this,"JWSSignatureVerificationFailed")}constructor(){super(...arguments),this.code="ERR_JWS_SIGNATURE_VERIFICATION_FAILED",this.message="signature verification failed"}static get code(){return"ERR_JWS_SIGNATURE_VERIFICATION_FAILED"}}});var Qt,ti=S(()=>{Te();Qt=L.getRandomValues.bind(L)});function Hu(t){switch(t){case"A128GCM":case"A128GCMKW":case"A192GCM":case"A192GCMKW":case"A256GCM":case"A256GCMKW":return 96;case"A128CBC-HS256":case"A192CBC-HS384":case"A256CBC-HS512":return 128;default:throw new U(`Unsupported JWE Algorithm: ${t}`)}}var $o,jo=S(()=>{V();ti();o(Hu,"bitLength");$o=o(t=>Qt(new Uint8Array(Hu(t)>>3)),"default")});var dT,Vo,qu=S(()=>{V();jo();dT=o((t,e)=>{if(e.length<<3!==Hu(t))throw new P("Invalid Initialization Vector length")},"checkIvLength"),Vo=dT});var pT,Jr,$u=S(()=>{V();pT=o((t,e)=>{let r=t.byteLength<<3;if(r!==e)throw new P(`Invalid Content Encryption Key length. Expected ${e} bits, got ${r} bits`)},"checkCekLength"),Jr=pT});var hT,of,sf=S(()=>{hT=o((t,e)=>{if(!(t instanceof Uint8Array))throw new TypeError("First argument must be a buffer");if(!(e instanceof Uint8Array))throw new TypeError("Second argument must be a buffer");if(t.length!==e.length)throw new TypeError("Input buffers must have the same length");let r=t.length,n=0,i=-1;for(;++i<r;)n|=t[i]^e[i];return n===0},"timingSafeEqual"),of=hT});function Ae(t,e="algorithm.name"){return new TypeError(`CryptoKey does not support this operation, its ${e} must be ${t}`)}function Yt(t,e){return t.name===e}function Go(t){return parseInt(t.name.slice(4),10)}function fT(t){switch(t){case"ES256":return"P-256";case"ES384":return"P-384";case"ES512":return"P-521";default:throw new Error("unreachable")}}function af(t,e){if(e.length&&!e.some(r=>t.usages.includes(r))){let r="CryptoKey does not support this operation, its usages must include ";if(e.length>2){let n=e.pop();r+=`one of ${e.join(", ")}, or ${n}.`}else e.length===2?r+=`one of ${e[0]} or ${e[1]}.`:r+=`${e[0]}.`;throw new TypeError(r)}}function cf(t,e,...r){switch(e){case"HS256":case"HS384":case"HS512":{if(!Yt(t.algorithm,"HMAC"))throw Ae("HMAC");let n=parseInt(e.slice(2),10);if(Go(t.algorithm.hash)!==n)throw Ae(`SHA-${n}`,"algorithm.hash");break}case"RS256":case"RS384":case"RS512":{if(!Yt(t.algorithm,"RSASSA-PKCS1-v1_5"))throw Ae("RSASSA-PKCS1-v1_5");let n=parseInt(e.slice(2),10);if(Go(t.algorithm.hash)!==n)throw Ae(`SHA-${n}`,"algorithm.hash");break}case"PS256":case"PS384":case"PS512":{if(!Yt(t.algorithm,"RSA-PSS"))throw Ae("RSA-PSS");let n=parseInt(e.slice(2),10);if(Go(t.algorithm.hash)!==n)throw Ae(`SHA-${n}`,"algorithm.hash");break}case"EdDSA":{if(t.algorithm.name!=="Ed25519"&&t.algorithm.name!=="Ed448")throw Ae("Ed25519 or Ed448");break}case"ES256":case"ES384":case"ES512":{if(!Yt(t.algorithm,"ECDSA"))throw Ae("ECDSA");let n=fT(e);if(t.algorithm.namedCurve!==n)throw Ae(n,"algorithm.namedCurve");break}default:throw new TypeError("CryptoKey does not support this operation")}af(t,r)}function He(t,e,...r){switch(e){case"A128GCM":case"A192GCM":case"A256GCM":{if(!Yt(t.algorithm,"AES-GCM"))throw Ae("AES-GCM");let n=parseInt(e.slice(1,4),10);if(t.algorithm.length!==n)throw Ae(n,"algorithm.length");break}case"A128KW":case"A192KW":case"A256KW":{if(!Yt(t.algorithm,"AES-KW"))throw Ae("AES-KW");let n=parseInt(e.slice(1,4),10);if(t.algorithm.length!==n)throw Ae(n,"algorithm.length");break}case"ECDH":{switch(t.algorithm.name){case"ECDH":case"X25519":case"X448":break;default:throw Ae("ECDH, X25519, or X448")}break}case"PBES2-HS256+A128KW":case"PBES2-HS384+A192KW":case"PBES2-HS512+A256KW":if(!Yt(t.algorithm,"PBKDF2"))throw Ae("PBKDF2");break;case"RSA-OAEP":case"RSA-OAEP-256":case"RSA-OAEP-384":case"RSA-OAEP-512":{if(!Yt(t.algorithm,"RSA-OAEP"))throw Ae("RSA-OAEP");let n=parseInt(e.slice(9),10)||1;if(Go(t.algorithm.hash)!==n)throw Ae(`SHA-${n}`,"algorithm.hash");break}default:throw new TypeError("CryptoKey does not support this operation")}af(t,r)}var Zt=S(()=>{o(Ae,"unusable");o(Yt,"isAlgorithm");o(Go,"getHashLength");o(fT,"getNamedCurve");o(af,"checkUsage");o(cf,"checkSigCryptoKey");o(He,"checkEncCryptoKey")});function uf(t,e,...r){if(r.length>2){let n=r.pop();t+=`one of type ${r.join(", ")}, or ${n}.`}else r.length===2?t+=`one of type ${r[0]} or ${r[1]}.`:t+=`of type ${r[0]}.`;return e==null?t+=` Received ${e}`:typeof e=="function"&&e.name?t+=` Received function ${e.name}`:typeof e=="object"&&e!=null&&e.constructor&&e.constructor.name&&(t+=` Received an instance of ${e.constructor.name}`),t}function ju(t,e,...r){return uf(`Key for the ${t} algorithm must be `,e,...r)}var ne,ot=S(()=>{o(uf,"message");ne=o((t,...e)=>uf("Key must be ",t,...e),"default");o(ju,"withAlg")});var Vu,W,st=S(()=>{Te();Vu=o(t=>se(t),"default"),W=["CryptoKey"]});async function mT(t,e,r,n,i,s){if(!(e instanceof Uint8Array))throw new TypeError(ne(e,"Uint8Array"));let a=parseInt(t.slice(1,4),10),c=await L.subtle.importKey("raw",e.subarray(a>>3),"AES-CBC",!1,["decrypt"]),u=await L.subtle.importKey("raw",e.subarray(0,a>>3),{hash:`SHA-${a<<1}`,name:"HMAC"},!1,["sign"]),l=Se(s,n,r,ko(s.length<<3)),d=new Uint8Array((await L.subtle.sign("HMAC",u,l)).slice(0,a>>3)),p;try{p=of(i,d)}catch{}if(!p)throw new Ct;let m;try{m=new Uint8Array(await L.subtle.decrypt({iv:n,name:"AES-CBC"},c,r))}catch{}if(!m)throw new Ct;return m}async function yT(t,e,r,n,i,s){let a;e instanceof Uint8Array?a=await L.subtle.importKey("raw",e,"AES-GCM",!1,["decrypt"]):(He(e,t,"decrypt"),a=e);try{return new Uint8Array(await L.subtle.decrypt({additionalData:s,iv:n,name:"AES-GCM",tagLength:128},a,Se(r,i)))}catch{throw new Ct}}var gT,Bo,Gu=S(()=>{ye();qu();$u();sf();V();Te();Zt();ot();st();o(mT,"cbcDecrypt");o(yT,"gcmDecrypt");gT=o(async(t,e,r,n,i,s)=>{if(!se(e)&&!(e instanceof Uint8Array))throw new TypeError(ne(e,...W,"Uint8Array"));switch(Vo(t,n),t){case"A128CBC-HS256":case"A192CBC-HS384":case"A256CBC-HS512":return e instanceof Uint8Array&&Jr(e,parseInt(t.slice(-3),10)),mT(t,e,r,n,i,s);case"A128GCM":case"A192GCM":case"A256GCM":return e instanceof Uint8Array&&Jr(e,parseInt(t.slice(1,4),10)),yT(t,e,r,n,i,s);default:throw new U("Unsupported JWE Content Encryption Algorithm")}},"decrypt"),Bo=gT});var lf,df,Bu=S(()=>{V();lf=o(async()=>{throw new U('JWE "zip" (Compression Algorithm) Header Parameter is not supported by your javascript runtime. You need to use the `inflateRaw` decrypt option to provide Inflate Raw implementation.')},"inflate"),df=o(async()=>{throw new U('JWE "zip" (Compression Algorithm) Header Parameter is not supported by your javascript runtime. You need to use the `deflateRaw` encrypt option to provide Deflate Raw implementation.')},"deflate")});var _T,yt,zr=S(()=>{_T=o((...t)=>{let e=t.filter(Boolean);if(e.length===0||e.length===1)return!0;let r;for(let n of e){let i=Object.keys(n);if(!r||r.size===0){r=new Set(i);continue}for(let s of i){if(r.has(s))return!1;r.add(s)}}return!0},"isDisjoint"),yt=_T});function bT(t){return typeof t=="object"&&t!==null}function Q(t){if(!bT(t)||Object.prototype.toString.call(t)!=="[object Object]")return!1;if(Object.getPrototypeOf(t)===null)return!0;let e=t;for(;Object.getPrototypeOf(e)!==null;)e=Object.getPrototypeOf(e);return Object.getPrototypeOf(t)===e}var qe=S(()=>{o(bT,"isObjectLike");o(Q,"isObject")});var ET,Wr,Ku=S(()=>{ET=[{hash:"SHA-256",name:"HMAC"},!0,["sign"]],Wr=ET});function pf(t,e){if(t.algorithm.length!==parseInt(e.slice(1,4),10))throw new TypeError(`Invalid key size for alg: ${e}`)}function hf(t,e,r){if(se(t))return He(t,e,r),t;if(t instanceof Uint8Array)return L.subtle.importKey("raw",t,"AES-KW",!0,[r]);throw new TypeError(ne(t,...W,"Uint8Array"))}var ri,ni,Ko=S(()=>{Ku();Te();Zt();ot();st();o(pf,"checkKeySize");o(hf,"getCryptoKey");ri=o(async(t,e,r)=>{let n=await hf(e,t,"wrapKey");pf(n,t);let i=await L.subtle.importKey("raw",r,...Wr);return new Uint8Array(await L.subtle.wrapKey("raw",i,n,"AES-KW"))},"wrap"),ni=o(async(t,e,r)=>{let n=await hf(e,t,"unwrapKey");pf(n,t);let i=await L.subtle.unwrapKey("raw",r,n,"AES-KW",...Wr);return new Uint8Array(await L.subtle.exportKey("raw",i))},"unwrap")});async function Jo(t,e,r,n,i=new Uint8Array(0),s=new Uint8Array(0)){if(!se(t))throw new TypeError(ne(t,...W));if(He(t,"ECDH"),!se(e))throw new TypeError(ne(e,...W));He(e,"ECDH","deriveBits");let a=Se(Ho(Y.encode(r)),Ho(i),Ho(s),Fo(n)),c;t.algorithm.name==="X25519"?c=256:t.algorithm.name==="X448"?c=448:c=Math.ceil(parseInt(t.algorithm.namedCurve.substr(-3),10)/8)<<3;let u=new Uint8Array(await L.subtle.deriveBits({name:t.algorithm.name,public:t},e,c));return rf(u,n,a)}async function ff(t){if(!se(t))throw new TypeError(ne(t,...W));return L.subtle.generateKey(t.algorithm,!0,["deriveBits"])}function zo(t){if(!se(t))throw new TypeError(ne(t,...W));return["P-256","P-384","P-521"].includes(t.algorithm.namedCurve)||t.algorithm.name==="X25519"||t.algorithm.name==="X448"}var Ju=S(()=>{ye();Te();Zt();ot();st();o(Jo,"deriveKey");o(ff,"generateEpk");o(zo,"ecdhAllowed")});function zu(t){if(!(t instanceof Uint8Array)||t.length<8)throw new P("PBES2 Salt Input must be 8 or more octets")}var yf=S(()=>{V();o(zu,"checkP2s")});function wT(t,e){if(t instanceof Uint8Array)return L.subtle.importKey("raw",t,"PBKDF2",!1,["deriveBits"]);if(se(t))return He(t,e,"deriveBits","deriveKey"),t;throw new TypeError(ne(t,...W,"Uint8Array"))}async function gf(t,e,r,n){zu(t);let i=tf(e,t),s=parseInt(e.slice(13,16),10),a={hash:`SHA-${e.slice(8,11)}`,iterations:r,name:"PBKDF2",salt:i},c={length:s,name:"AES-KW"},u=await wT(n,e);if(u.usages.includes("deriveBits"))return new Uint8Array(await L.subtle.deriveBits(a,u,s));if(u.usages.includes("deriveKey"))return L.subtle.deriveKey(a,u,c,!1,["wrapKey","unwrapKey"]);throw new TypeError('PBKDF2 key "usages" must include "deriveBits" or "deriveKey"')}var _f,bf,Wu=S(()=>{ti();ye();Ie();Ko();yf();Te();Zt();ot();st();o(wT,"getCryptoKey");o(gf,"deriveKey");_f=o(async(t,e,r,n=2048,i=Qt(new Uint8Array(16)))=>{let s=await gf(i,t,n,e);return{encryptedKey:await ri(t.slice(-6),s,r),p2c:n,p2s:Z(i)}},"encrypt"),bf=o(async(t,e,r,n,i)=>{let s=await gf(i,t,n,e);return ni(t.slice(-6),s,r)},"decrypt")});function Qr(t){switch(t){case"RSA-OAEP":case"RSA-OAEP-256":case"RSA-OAEP-384":case"RSA-OAEP-512":return"RSA-OAEP";default:throw new U(`alg ${t} is not supported either by JOSE or your javascript runtime`)}}var Ef=S(()=>{V();o(Qr,"subtleRsaEs")});var Or,Wo=S(()=>{Or=o((t,e)=>{if(t.startsWith("RS")||t.startsWith("PS")){let{modulusLength:r}=e.algorithm;if(typeof r!="number"||r<2048)throw new TypeError(`${t} requires key modulusLength to be 2048 bits or larger`)}},"default")});var wf,vf,Qu=S(()=>{Ef();Ku();Te();Zt();Wo();ot();st();wf=o(async(t,e,r)=>{if(!se(e))throw new TypeError(ne(e,...W));if(He(e,t,"encrypt","wrapKey"),Or(t,e),e.usages.includes("encrypt"))return new Uint8Array(await L.subtle.encrypt(Qr(t),e,r));if(e.usages.includes("wrapKey")){let n=await L.subtle.importKey("raw",r,...Wr);return new Uint8Array(await L.subtle.wrapKey("raw",n,e,Qr(t)))}throw new TypeError('RSA-OAEP key "usages" must include "encrypt" or "wrapKey" for this operation')},"encrypt"),vf=o(async(t,e,r)=>{if(!se(e))throw new TypeError(ne(e,...W));if(He(e,t,"decrypt","unwrapKey"),Or(t,e),e.usages.includes("decrypt"))return new Uint8Array(await L.subtle.decrypt(Qr(t),e,r));if(e.usages.includes("unwrapKey")){let n=await L.subtle.unwrapKey("raw",r,e,Qr(t),...Wr);return new Uint8Array(await L.subtle.exportKey("raw",n))}throw new TypeError('RSA-OAEP key "usages" must include "decrypt" or "unwrapKey" for this operation')},"decrypt")});function ii(t){switch(t){case"A128GCM":return 128;case"A192GCM":return 192;case"A256GCM":case"A128CBC-HS256":return 256;case"A192CBC-HS384":return 384;case"A256CBC-HS512":return 512;default:throw new U(`Unsupported JWE Algorithm: ${t}`)}}var gt,oi=S(()=>{V();ti();o(ii,"bitLength");gt=o(t=>Qt(new Uint8Array(ii(t)>>3)),"default")});var Yu,Tf=S(()=>{Yu=o((t,e)=>{let r=(t.match(/.{1,64}/g)||[]).join(`
57
57
  `);return`-----BEGIN ${e}-----
58
58
  ${r}
59
- -----END ${e}-----`},"default")});function If(t){let e=[],r=0;for(;r<t.length;){let n=Nf(t.subarray(r));e.push(n),r+=n.byteLength}return e}function Nf(t){let e=0,r=t[0]&31;if(e++,r===31){for(r=0;t[e]>=128;)r=r*128+t[e]-128,e++;r=r*128+t[e]-128,e++}let n=0;if(t[e]<128)n=t[e],e++;else if(n===128){for(n=0;t[e+n]!==0||t[e+n+1]!==0;){if(n>t.byteLength)throw new TypeError("invalid indefinite form length");n++}let s=e+n+2;return{byteLength:s,contents:t.subarray(e,e+n),raw:t.subarray(0,s)}}else{let s=t[e]&127;e++,n=0;for(let a=0;a<s;a++)n=n*256+t[e],e++}let i=e+n;return{byteLength:i,contents:t.subarray(e,i),raw:t.subarray(0,i)}}function vT(t){let e=If(If(Nf(t).contents)[0].contents);return qo(e[e[0].raw[0]===160?6:5].raw)}function TT(t){let e=t.replace(/(?:-----(?:BEGIN|END) CERTIFICATE-----|\s)/g,""),r=ku(e);return Yu(vT(r),"PUBLIC KEY")}var Af,Pf,Rf,Zt,Sf,Of,xf,Zu,Cf,Qo=S(()=>{Te();ot();Ie();Tf();V();st();Af=o(async(t,e,r)=>{if(!se(r))throw new TypeError(ne(r,...W));if(!r.extractable)throw new TypeError("CryptoKey is not extractable");if(r.type!==t)throw new TypeError(`key is not a ${t} key`);return Yu(qo(new Uint8Array(await L.subtle.exportKey(e,r))),`${t.toUpperCase()} KEY`)},"genericExport"),Pf=o(t=>Af("public","spki",t),"toSPKI"),Rf=o(t=>Af("private","pkcs8",t),"toPKCS8"),Zt=o((t,e,r=0)=>{r===0&&(e.unshift(e.length),e.unshift(6));let n=t.indexOf(e[0],r);if(n===-1)return!1;let i=t.subarray(n,n+e.length);return i.length!==e.length?!1:i.every((s,a)=>s===e[a])||Zt(t,e,n+1)},"findOid"),Sf=o(t=>{switch(!0){case Zt(t,[42,134,72,206,61,3,1,7]):return"P-256";case Zt(t,[43,129,4,0,34]):return"P-384";case Zt(t,[43,129,4,0,35]):return"P-521";case Zt(t,[43,101,110]):return"X25519";case Zt(t,[43,101,111]):return"X448";case Zt(t,[43,101,112]):return"Ed25519";case Zt(t,[43,101,113]):return"Ed448";default:throw new U("Invalid or unsupported EC Key Curve or OKP Key Sub Type")}},"getNamedCurve"),Of=o(async(t,e,r,n,i)=>{var s;let a,c,u=new Uint8Array(atob(r.replace(t,"")).split("").map(d=>d.charCodeAt(0))),l=e==="spki";switch(n){case"PS256":case"PS384":case"PS512":a={name:"RSA-PSS",hash:`SHA-${n.slice(-3)}`},c=l?["verify"]:["sign"];break;case"RS256":case"RS384":case"RS512":a={name:"RSASSA-PKCS1-v1_5",hash:`SHA-${n.slice(-3)}`},c=l?["verify"]:["sign"];break;case"RSA-OAEP":case"RSA-OAEP-256":case"RSA-OAEP-384":case"RSA-OAEP-512":a={name:"RSA-OAEP",hash:`SHA-${parseInt(n.slice(-3),10)||1}`},c=l?["encrypt","wrapKey"]:["decrypt","unwrapKey"];break;case"ES256":a={name:"ECDSA",namedCurve:"P-256"},c=l?["verify"]:["sign"];break;case"ES384":a={name:"ECDSA",namedCurve:"P-384"},c=l?["verify"]:["sign"];break;case"ES512":a={name:"ECDSA",namedCurve:"P-521"},c=l?["verify"]:["sign"];break;case"ECDH-ES":case"ECDH-ES+A128KW":case"ECDH-ES+A192KW":case"ECDH-ES+A256KW":{let d=Sf(u);a=d.startsWith("P-")?{name:"ECDH",namedCurve:d}:{name:d},c=l?[]:["deriveBits"];break}case"EdDSA":a={name:Sf(u)},c=l?["verify"]:["sign"];break;default:throw new U('Invalid or unsupported "alg" (Algorithm) value')}return L.subtle.importKey(e,u,a,(s=i?.extractable)!==null&&s!==void 0?s:!1,c)},"genericImport"),xf=o((t,e,r)=>Of(/(?:-----(?:BEGIN|END) PRIVATE KEY-----|\s)/g,"pkcs8",t,e,r),"fromPKCS8"),Zu=o((t,e,r)=>Of(/(?:-----(?:BEGIN|END) PUBLIC KEY-----|\s)/g,"spki",t,e,r),"fromSPKI");o(If,"getElement");o(Nf,"parseElement");o(vT,"spkiFromX509");o(TT,"getSPKI");Cf=o((t,e,r)=>{let n;try{n=TT(t)}catch(i){throw new TypeError("failed to parse the X.509 certificate",{cause:i})}return Zu(n,e,r)},"fromX509")});function ST(t){let e,r;switch(t.kty){case"oct":{switch(t.alg){case"HS256":case"HS384":case"HS512":e={name:"HMAC",hash:`SHA-${t.alg.slice(-3)}`},r=["sign","verify"];break;case"A128CBC-HS256":case"A192CBC-HS384":case"A256CBC-HS512":throw new U(`${t.alg} keys cannot be imported as CryptoKey instances`);case"A128GCM":case"A192GCM":case"A256GCM":case"A128GCMKW":case"A192GCMKW":case"A256GCMKW":e={name:"AES-GCM"},r=["encrypt","decrypt"];break;case"A128KW":case"A192KW":case"A256KW":e={name:"AES-KW"},r=["wrapKey","unwrapKey"];break;case"PBES2-HS256+A128KW":case"PBES2-HS384+A192KW":case"PBES2-HS512+A256KW":e={name:"PBKDF2"},r=["deriveBits"];break;default:throw new U('Invalid or unsupported JWK "alg" (Algorithm) Parameter value')}break}case"RSA":{switch(t.alg){case"PS256":case"PS384":case"PS512":e={name:"RSA-PSS",hash:`SHA-${t.alg.slice(-3)}`},r=t.d?["sign"]:["verify"];break;case"RS256":case"RS384":case"RS512":e={name:"RSASSA-PKCS1-v1_5",hash:`SHA-${t.alg.slice(-3)}`},r=t.d?["sign"]:["verify"];break;case"RSA-OAEP":case"RSA-OAEP-256":case"RSA-OAEP-384":case"RSA-OAEP-512":e={name:"RSA-OAEP",hash:`SHA-${parseInt(t.alg.slice(-3),10)||1}`},r=t.d?["decrypt","unwrapKey"]:["encrypt","wrapKey"];break;default:throw new U('Invalid or unsupported JWK "alg" (Algorithm) Parameter value')}break}case"EC":{switch(t.alg){case"ES256":e={name:"ECDSA",namedCurve:"P-256"},r=t.d?["sign"]:["verify"];break;case"ES384":e={name:"ECDSA",namedCurve:"P-384"},r=t.d?["sign"]:["verify"];break;case"ES512":e={name:"ECDSA",namedCurve:"P-521"},r=t.d?["sign"]:["verify"];break;case"ECDH-ES":case"ECDH-ES+A128KW":case"ECDH-ES+A192KW":case"ECDH-ES+A256KW":e={name:"ECDH",namedCurve:t.crv},r=t.d?["deriveBits"]:[];break;default:throw new U('Invalid or unsupported JWK "alg" (Algorithm) Parameter value')}break}case"OKP":{switch(t.alg){case"EdDSA":e={name:t.crv},r=t.d?["sign"]:["verify"];break;case"ECDH-ES":case"ECDH-ES+A128KW":case"ECDH-ES+A192KW":case"ECDH-ES+A256KW":e={name:t.crv},r=t.d?["deriveBits"]:[];break;default:throw new U('Invalid or unsupported JWK "alg" (Algorithm) Parameter value')}break}default:throw new U('Invalid or unsupported JWK "kty" (Key Type) Parameter value')}return{algorithm:e,keyUsages:r}}var IT,Xu,Lf=S(()=>{Te();V();Ie();o(ST,"subtleMapping");IT=o(async t=>{var e,r;if(!t.alg)throw new TypeError('"alg" argument is required when "jwk.alg" is not present');let{algorithm:n,keyUsages:i}=ST(t),s=[n,(e=t.ext)!==null&&e!==void 0?e:!1,(r=t.key_ops)!==null&&r!==void 0?r:i];if(n.name==="PBKDF2")return L.subtle.importKey("raw",re(t.k),...s);let a={...t};return delete a.alg,delete a.use,L.subtle.importKey("jwk",a,...s)},"parse"),Xu=IT});async function Df(t,e,r){if(typeof t!="string"||t.indexOf("-----BEGIN PUBLIC KEY-----")!==0)throw new TypeError('"spki" must be SPKI formatted string');return Zu(t,e,r)}async function Uf(t,e,r){if(typeof t!="string"||t.indexOf("-----BEGIN CERTIFICATE-----")!==0)throw new TypeError('"x509" must be X.509 formatted string');return Cf(t,e,r)}async function Mf(t,e,r){if(typeof t!="string"||t.indexOf("-----BEGIN PRIVATE KEY-----")!==0)throw new TypeError('"pkcs8" must be PKCS#8 formatted string');return xf(t,e,r)}async function Xt(t,e,r){var n;if(!Q(t))throw new TypeError("JWK must be an object");switch(e||(e=t.alg),t.kty){case"oct":if(typeof t.k!="string"||!t.k)throw new TypeError('missing "k" (Key Value) Parameter value');return r??(r=t.ext!==!0),r?Xu({...t,alg:e,ext:(n=t.ext)!==null&&n!==void 0?n:!1}):re(t.k);case"RSA":if(t.oth!==void 0)throw new U('RSA JWK "oth" (Other Primes Info) Parameter value is not supported');case"EC":case"OKP":return Xu({...t,alg:e});default:throw new U('Unsupported "kty" (Key Type) Parameter value')}}var si=S(()=>{Ie();Qo();Lf();V();qe();o(Df,"importSPKI");o(Uf,"importX509");o(Mf,"importPKCS8");o(Xt,"importJWK")});var AT,PT,RT,er,ai=S(()=>{ot();st();AT=o((t,e)=>{if(!(e instanceof Uint8Array)){if(!Vu(e))throw new TypeError(ju(t,e,...W,"Uint8Array"));if(e.type!=="secret")throw new TypeError(`${W.join(" or ")} instances for symmetric algorithms must be of type "secret"`)}},"symmetricTypeCheck"),PT=o((t,e,r)=>{if(!Vu(e))throw new TypeError(ju(t,e,...W));if(e.type==="secret")throw new TypeError(`${W.join(" or ")} instances for asymmetric algorithms must not be of type "secret"`);if(r==="sign"&&e.type==="public")throw new TypeError(`${W.join(" or ")} instances for asymmetric algorithm signing must be of type "private"`);if(r==="decrypt"&&e.type==="public")throw new TypeError(`${W.join(" or ")} instances for asymmetric algorithm decryption must be of type "private"`);if(e.algorithm&&r==="verify"&&e.type==="private")throw new TypeError(`${W.join(" or ")} instances for asymmetric algorithm verifying must be of type "public"`);if(e.algorithm&&r==="encrypt"&&e.type==="private")throw new TypeError(`${W.join(" or ")} instances for asymmetric algorithm encryption must be of type "public"`)},"asymmetricTypeCheck"),RT=o((t,e,r)=>{t.startsWith("HS")||t==="dir"||t.startsWith("PBES2")||/^A\d{3}(?:GCM)?KW$/.test(t)?AT(t,e):PT(t,e,r)},"checkKeyType"),er=RT});async function OT(t,e,r,n,i){if(!(r instanceof Uint8Array))throw new TypeError(ne(r,"Uint8Array"));let s=parseInt(t.slice(1,4),10),a=await L.subtle.importKey("raw",r.subarray(s>>3),"AES-CBC",!1,["encrypt"]),c=await L.subtle.importKey("raw",r.subarray(0,s>>3),{hash:`SHA-${s<<1}`,name:"HMAC"},!1,["sign"]),u=new Uint8Array(await L.subtle.encrypt({iv:n,name:"AES-CBC"},a,e)),l=Se(i,n,u,ko(i.length<<3)),d=new Uint8Array((await L.subtle.sign("HMAC",c,l)).slice(0,s>>3));return{ciphertext:u,tag:d}}async function xT(t,e,r,n,i){let s;r instanceof Uint8Array?s=await L.subtle.importKey("raw",r,"AES-GCM",!1,["encrypt"]):(He(r,t,"encrypt"),s=r);let a=new Uint8Array(await L.subtle.encrypt({additionalData:i,iv:n,name:"AES-GCM",tagLength:128},s,e)),c=a.slice(-16);return{ciphertext:a.slice(0,-16),tag:c}}var NT,ci,el=S(()=>{ye();qu();$u();Te();Yt();ot();V();st();o(OT,"cbcEncrypt");o(xT,"gcmEncrypt");NT=o(async(t,e,r,n,i)=>{if(!se(r)&&!(r instanceof Uint8Array))throw new TypeError(ne(r,...W,"Uint8Array"));switch(Vo(t,n),t){case"A128CBC-HS256":case"A192CBC-HS384":case"A256CBC-HS512":return r instanceof Uint8Array&&Jr(r,parseInt(t.slice(-3),10)),OT(t,e,r,n,i);case"A128GCM":case"A192GCM":case"A256GCM":return r instanceof Uint8Array&&Jr(r,parseInt(t.slice(1,4),10)),xT(t,e,r,n,i);default:throw new U("Unsupported JWE Content Encryption Algorithm")}},"encrypt"),ci=NT});async function kf(t,e,r,n){let i=t.slice(0,7);n||(n=$o(i));let{ciphertext:s,tag:a}=await ci(i,r,e,n,new Uint8Array(0));return{encryptedKey:s,iv:Z(n),tag:Z(a)}}async function Ff(t,e,r,n,i){let s=t.slice(0,7);return Bo(s,e,r,n,i,new Uint8Array(0))}var tl=S(()=>{el();Gu();jo();Ie();o(kf,"wrap");o(Ff,"unwrap")});async function CT(t,e,r,n,i){switch(er(t,e,"decrypt"),t){case"dir":{if(r!==void 0)throw new P("Encountered unexpected JWE Encrypted Key");return e}case"ECDH-ES":if(r!==void 0)throw new P("Encountered unexpected JWE Encrypted Key");case"ECDH-ES+A128KW":case"ECDH-ES+A192KW":case"ECDH-ES+A256KW":{if(!Q(n.epk))throw new P('JOSE Header "epk" (Ephemeral Public Key) missing or invalid');if(!zo(e))throw new U("ECDH with the provided key is not allowed or not supported by your javascript runtime");let s=await Xt(n.epk,t),a,c;if(n.apu!==void 0){if(typeof n.apu!="string")throw new P('JOSE Header "apu" (Agreement PartyUInfo) invalid');a=re(n.apu)}if(n.apv!==void 0){if(typeof n.apv!="string")throw new P('JOSE Header "apv" (Agreement PartyVInfo) invalid');c=re(n.apv)}let u=await Jo(s,e,t==="ECDH-ES"?n.enc:t,t==="ECDH-ES"?ii(n.enc):parseInt(t.slice(-5,-2),10),a,c);if(t==="ECDH-ES")return u;if(r===void 0)throw new P("JWE Encrypted Key missing");return ni(t.slice(-6),u,r)}case"RSA1_5":case"RSA-OAEP":case"RSA-OAEP-256":case"RSA-OAEP-384":case"RSA-OAEP-512":{if(r===void 0)throw new P("JWE Encrypted Key missing");return vf(t,e,r)}case"PBES2-HS256+A128KW":case"PBES2-HS384+A192KW":case"PBES2-HS512+A256KW":{if(r===void 0)throw new P("JWE Encrypted Key missing");if(typeof n.p2c!="number")throw new P('JOSE Header "p2c" (PBES2 Count) missing or invalid');let s=i?.maxPBES2Count||1e4;if(n.p2c>s)throw new P('JOSE Header "p2c" (PBES2 Count) out is of acceptable bounds');if(typeof n.p2s!="string")throw new P('JOSE Header "p2s" (PBES2 Salt) missing or invalid');return bf(t,e,r,n.p2c,re(n.p2s))}case"A128KW":case"A192KW":case"A256KW":{if(r===void 0)throw new P("JWE Encrypted Key missing");return ni(t,e,r)}case"A128GCMKW":case"A192GCMKW":case"A256GCMKW":{if(r===void 0)throw new P("JWE Encrypted Key missing");if(typeof n.iv!="string")throw new P('JOSE Header "iv" (Initialization Vector) missing or invalid');if(typeof n.tag!="string")throw new P('JOSE Header "tag" (Authentication Tag) missing or invalid');let s=re(n.iv),a=re(n.tag);return Ff(t,e,r,s,a)}default:throw new U('Invalid or unsupported "alg" (JWE Algorithm) header value')}}var Hf,qf=S(()=>{Ko();Ju();Wu();Qu();Ie();V();oi();si();ai();qe();tl();o(CT,"decryptKeyManagement");Hf=CT});function LT(t,e,r,n,i){if(i.crit!==void 0&&n.crit===void 0)throw new t('"crit" (Critical) Header Parameter MUST be integrity protected');if(!n||n.crit===void 0)return new Set;if(!Array.isArray(n.crit)||n.crit.length===0||n.crit.some(a=>typeof a!="string"||a.length===0))throw new t('"crit" (Critical) Header Parameter MUST be an array of non-empty strings when present');let s;r!==void 0?s=new Map([...Object.entries(r),...e.entries()]):s=e;for(let a of n.crit){if(!s.has(a))throw new U(`Extension Header Parameter "${a}" is not recognized`);if(i[a]===void 0)throw new t(`Extension Header Parameter "${a}" is missing`);if(s.get(a)&&n[a]===void 0)throw new t(`Extension Header Parameter "${a}" MUST be integrity protected`)}return new Set(n.crit)}var _t,Yr=S(()=>{V();o(LT,"validateCrit");_t=LT});var DT,ui,rl=S(()=>{DT=o((t,e)=>{if(e!==void 0&&(!Array.isArray(e)||e.some(r=>typeof r!="string")))throw new TypeError(`"${t}" option must be an array of strings`);if(e)return new Set(e)},"validateAlgorithms"),ui=DT});async function Zr(t,e,r){var n;if(!Q(t))throw new P("Flattened JWE must be an object");if(t.protected===void 0&&t.header===void 0&&t.unprotected===void 0)throw new P("JOSE Header missing");if(typeof t.iv!="string")throw new P("JWE Initialization Vector missing or incorrect type");if(typeof t.ciphertext!="string")throw new P("JWE Ciphertext missing or incorrect type");if(typeof t.tag!="string")throw new P("JWE Authentication Tag missing or incorrect type");if(t.protected!==void 0&&typeof t.protected!="string")throw new P("JWE Protected Header incorrect type");if(t.encrypted_key!==void 0&&typeof t.encrypted_key!="string")throw new P("JWE Encrypted Key incorrect type");if(t.aad!==void 0&&typeof t.aad!="string")throw new P("JWE AAD incorrect type");if(t.header!==void 0&&!Q(t.header))throw new P("JWE Shared Unprotected Header incorrect type");if(t.unprotected!==void 0&&!Q(t.unprotected))throw new P("JWE Per-Recipient Unprotected Header incorrect type");let i;if(t.protected)try{let j=re(t.protected);i=JSON.parse(ce.decode(j))}catch{throw new P("JWE Protected Header is invalid")}if(!yt(i,t.header,t.unprotected))throw new P("JWE Protected, JWE Unprotected Header, and JWE Per-Recipient Unprotected Header Parameter names must be disjoint");let s={...i,...t.header,...t.unprotected};if(_t(P,new Map,r?.crit,i,s),s.zip!==void 0){if(!i||!i.zip)throw new P('JWE "zip" (Compression Algorithm) Header MUST be integrity protected');if(s.zip!=="DEF")throw new U('Unsupported JWE "zip" (Compression Algorithm) Header Parameter value')}let{alg:a,enc:c}=s;if(typeof a!="string"||!a)throw new P("missing JWE Algorithm (alg) in JWE Header");if(typeof c!="string"||!c)throw new P("missing JWE Encryption Algorithm (enc) in JWE Header");let u=r&&ui("keyManagementAlgorithms",r.keyManagementAlgorithms),l=r&&ui("contentEncryptionAlgorithms",r.contentEncryptionAlgorithms);if(u&&!u.has(a))throw new Jt('"alg" (Algorithm) Header Parameter not allowed');if(l&&!l.has(c))throw new Jt('"enc" (Encryption Algorithm) Header Parameter not allowed');let d;t.encrypted_key!==void 0&&(d=re(t.encrypted_key));let p=!1;typeof e=="function"&&(e=await e(i,t),p=!0);let m;try{m=await Hf(a,e,d,s,r)}catch(j){if(j instanceof TypeError||j instanceof P||j instanceof U)throw j;m=gt(c)}let f=re(t.iv),y=re(t.tag),v=Y.encode((n=t.protected)!==null&&n!==void 0?n:""),T;t.aad!==void 0?T=Se(v,Y.encode("."),Y.encode(t.aad)):T=v;let I=await Bo(c,m,re(t.ciphertext),f,y,T);s.zip==="DEF"&&(I=await(r?.inflateRaw||lf)(I));let k={plaintext:I};return t.protected!==void 0&&(k.protectedHeader=i),t.aad!==void 0&&(k.additionalAuthenticatedData=re(t.aad)),t.unprotected!==void 0&&(k.sharedUnprotectedHeader=t.unprotected),t.header!==void 0&&(k.unprotectedHeader=t.header),p?{...k,key:e}:k}var Yo=S(()=>{Ie();Gu();Bu();V();zr();qe();qf();ye();oi();Yr();rl();o(Zr,"flattenedDecrypt")});async function Zo(t,e,r){if(t instanceof Uint8Array&&(t=ce.decode(t)),typeof t!="string")throw new P("Compact JWE must be a string or Uint8Array");let{0:n,1:i,2:s,3:a,4:c,length:u}=t.split(".");if(u!==5)throw new P("Invalid Compact JWE");let l=await Zr({ciphertext:a,iv:s||void 0,protected:n||void 0,tag:c||void 0,encrypted_key:i||void 0},e,r),d={plaintext:l.plaintext,protectedHeader:l.protectedHeader};return typeof e=="function"?{...d,key:l.key}:d}var nl=S(()=>{Yo();V();ye();o(Zo,"compactDecrypt")});async function $f(t,e,r){if(!Q(t))throw new P("General JWE must be an object");if(!Array.isArray(t.recipients)||!t.recipients.every(Q))throw new P("JWE Recipients missing or incorrect type");if(!t.recipients.length)throw new P("JWE Recipients has no members");for(let n of t.recipients)try{return await Zr({aad:t.aad,ciphertext:t.ciphertext,encrypted_key:n.encrypted_key,header:n.header,iv:t.iv,protected:t.protected,tag:t.tag,unprotected:t.unprotected},e,r)}catch{}throw new Ct}var jf=S(()=>{Yo();V();qe();o($f,"generalDecrypt")});var UT,Vf,Gf=S(()=>{Te();ot();Ie();st();UT=o(async t=>{if(t instanceof Uint8Array)return{kty:"oct",k:Z(t)};if(!se(t))throw new TypeError(ne(t,...W,"Uint8Array"));if(!t.extractable)throw new TypeError("non-extractable CryptoKey cannot be exported as a JWK");let{ext:e,key_ops:r,alg:n,use:i,...s}=await L.subtle.exportKey("jwk",t);return s},"keyToJWK"),Vf=UT});async function Bf(t){return Pf(t)}async function Kf(t){return Rf(t)}async function Xo(t){return Vf(t)}var il=S(()=>{Qo();Qo();Gf();o(Bf,"exportSPKI");o(Kf,"exportPKCS8");o(Xo,"exportJWK")});async function MT(t,e,r,n,i={}){let s,a,c;switch(er(t,r,"encrypt"),t){case"dir":{c=r;break}case"ECDH-ES":case"ECDH-ES+A128KW":case"ECDH-ES+A192KW":case"ECDH-ES+A256KW":{if(!zo(r))throw new U("ECDH with the provided key is not allowed or not supported by your javascript runtime");let{apu:u,apv:l}=i,{epk:d}=i;d||(d=(await ff(r)).privateKey);let{x:p,y:m,crv:f,kty:y}=await Xo(d),v=await Jo(r,d,t==="ECDH-ES"?e:t,t==="ECDH-ES"?ii(e):parseInt(t.slice(-5,-2),10),u,l);if(a={epk:{x:p,crv:f,kty:y}},y==="EC"&&(a.epk.y=m),u&&(a.apu=Z(u)),l&&(a.apv=Z(l)),t==="ECDH-ES"){c=v;break}c=n||gt(e);let T=t.slice(-6);s=await ri(T,v,c);break}case"RSA1_5":case"RSA-OAEP":case"RSA-OAEP-256":case"RSA-OAEP-384":case"RSA-OAEP-512":{c=n||gt(e),s=await wf(t,r,c);break}case"PBES2-HS256+A128KW":case"PBES2-HS384+A192KW":case"PBES2-HS512+A256KW":{c=n||gt(e);let{p2c:u,p2s:l}=i;({encryptedKey:s,...a}=await _f(t,r,c,u,l));break}case"A128KW":case"A192KW":case"A256KW":{c=n||gt(e),s=await ri(t,r,c);break}case"A128GCMKW":case"A192GCMKW":case"A256GCMKW":{c=n||gt(e);let{iv:u}=i;({encryptedKey:s,...a}=await kf(t,r,c,u));break}default:throw new U('Invalid or unsupported "alg" (JWE Algorithm) header value')}return{cek:c,encryptedKey:s,parameters:a}}var es,ol=S(()=>{Ko();Ju();Wu();Qu();Ie();oi();V();il();ai();tl();o(MT,"encryptKeyManagement");es=MT});var sl,Lt,ts=S(()=>{Ie();el();Bu();jo();ol();V();zr();ye();Yr();sl=Symbol(),Lt=class{static{o(this,"FlattenedEncrypt")}constructor(e){if(!(e instanceof Uint8Array))throw new TypeError("plaintext must be an instance of Uint8Array");this._plaintext=e}setKeyManagementParameters(e){if(this._keyManagementParameters)throw new TypeError("setKeyManagementParameters can only be called once");return this._keyManagementParameters=e,this}setProtectedHeader(e){if(this._protectedHeader)throw new TypeError("setProtectedHeader can only be called once");return this._protectedHeader=e,this}setSharedUnprotectedHeader(e){if(this._sharedUnprotectedHeader)throw new TypeError("setSharedUnprotectedHeader can only be called once");return this._sharedUnprotectedHeader=e,this}setUnprotectedHeader(e){if(this._unprotectedHeader)throw new TypeError("setUnprotectedHeader can only be called once");return this._unprotectedHeader=e,this}setAdditionalAuthenticatedData(e){return this._aad=e,this}setContentEncryptionKey(e){if(this._cek)throw new TypeError("setContentEncryptionKey can only be called once");return this._cek=e,this}setInitializationVector(e){if(this._iv)throw new TypeError("setInitializationVector can only be called once");return this._iv=e,this}async encrypt(e,r){if(!this._protectedHeader&&!this._unprotectedHeader&&!this._sharedUnprotectedHeader)throw new P("either setProtectedHeader, setUnprotectedHeader, or sharedUnprotectedHeader must be called before #encrypt()");if(!yt(this._protectedHeader,this._unprotectedHeader,this._sharedUnprotectedHeader))throw new P("JWE Protected, JWE Shared Unprotected and JWE Per-Recipient Header Parameter names must be disjoint");let n={...this._protectedHeader,...this._unprotectedHeader,...this._sharedUnprotectedHeader};if(_t(P,new Map,r?.crit,this._protectedHeader,n),n.zip!==void 0){if(!this._protectedHeader||!this._protectedHeader.zip)throw new P('JWE "zip" (Compression Algorithm) Header MUST be integrity protected');if(n.zip!=="DEF")throw new U('Unsupported JWE "zip" (Compression Algorithm) Header Parameter value')}let{alg:i,enc:s}=n;if(typeof i!="string"||!i)throw new P('JWE "alg" (Algorithm) Header Parameter missing or invalid');if(typeof s!="string"||!s)throw new P('JWE "enc" (Encryption Algorithm) Header Parameter missing or invalid');let a;if(i==="dir"){if(this._cek)throw new TypeError("setContentEncryptionKey cannot be called when using Direct Encryption")}else if(i==="ECDH-ES"&&this._cek)throw new TypeError("setContentEncryptionKey cannot be called when using Direct Key Agreement");let c;{let y;({cek:c,encryptedKey:a,parameters:y}=await es(i,s,e,this._cek,this._keyManagementParameters)),y&&(r&&sl in r?this._unprotectedHeader?this._unprotectedHeader={...this._unprotectedHeader,...y}:this.setUnprotectedHeader(y):this._protectedHeader?this._protectedHeader={...this._protectedHeader,...y}:this.setProtectedHeader(y))}this._iv||(this._iv=$o(s));let u,l,d;this._protectedHeader?l=Y.encode(Z(JSON.stringify(this._protectedHeader))):l=Y.encode(""),this._aad?(d=Z(this._aad),u=Se(l,Y.encode("."),Y.encode(d))):u=l;let p,m;if(n.zip==="DEF"){let y=await(r?.deflateRaw||df)(this._plaintext);({ciphertext:p,tag:m}=await ci(s,y,c,this._iv,u))}else({ciphertext:p,tag:m}=await ci(s,this._plaintext,c,this._iv,u));let f={ciphertext:Z(p),iv:Z(this._iv),tag:Z(m)};return a&&(f.encrypted_key=Z(a)),d&&(f.aad=d),this._protectedHeader&&(f.protected=ce.decode(l)),this._sharedUnprotectedHeader&&(f.unprotected=this._sharedUnprotectedHeader),this._unprotectedHeader&&(f.header=this._unprotectedHeader),f}}});var al,rs,Jf=S(()=>{ts();V();oi();zr();ol();Ie();Yr();al=class{static{o(this,"IndividualRecipient")}constructor(e,r,n){this.parent=e,this.key=r,this.options=n}setUnprotectedHeader(e){if(this.unprotectedHeader)throw new TypeError("setUnprotectedHeader can only be called once");return this.unprotectedHeader=e,this}addRecipient(...e){return this.parent.addRecipient(...e)}encrypt(...e){return this.parent.encrypt(...e)}done(){return this.parent}},rs=class{static{o(this,"GeneralEncrypt")}constructor(e){this._recipients=[],this._plaintext=e}addRecipient(e,r){let n=new al(this,e,{crit:r?.crit});return this._recipients.push(n),n}setProtectedHeader(e){if(this._protectedHeader)throw new TypeError("setProtectedHeader can only be called once");return this._protectedHeader=e,this}setSharedUnprotectedHeader(e){if(this._unprotectedHeader)throw new TypeError("setSharedUnprotectedHeader can only be called once");return this._unprotectedHeader=e,this}setAdditionalAuthenticatedData(e){return this._aad=e,this}async encrypt(e){var r,n,i;if(!this._recipients.length)throw new P("at least one recipient must be added");if(e={deflateRaw:e?.deflateRaw},this._recipients.length===1){let[u]=this._recipients,l=await new Lt(this._plaintext).setAdditionalAuthenticatedData(this._aad).setProtectedHeader(this._protectedHeader).setSharedUnprotectedHeader(this._unprotectedHeader).setUnprotectedHeader(u.unprotectedHeader).encrypt(u.key,{...u.options,...e}),d={ciphertext:l.ciphertext,iv:l.iv,recipients:[{}],tag:l.tag};return l.aad&&(d.aad=l.aad),l.protected&&(d.protected=l.protected),l.unprotected&&(d.unprotected=l.unprotected),l.encrypted_key&&(d.recipients[0].encrypted_key=l.encrypted_key),l.header&&(d.recipients[0].header=l.header),d}let s;for(let u=0;u<this._recipients.length;u++){let l=this._recipients[u];if(!yt(this._protectedHeader,this._unprotectedHeader,l.unprotectedHeader))throw new P("JWE Protected, JWE Shared Unprotected and JWE Per-Recipient Header Parameter names must be disjoint");let d={...this._protectedHeader,...this._unprotectedHeader,...l.unprotectedHeader},{alg:p}=d;if(typeof p!="string"||!p)throw new P('JWE "alg" (Algorithm) Header Parameter missing or invalid');if(p==="dir"||p==="ECDH-ES")throw new P('"dir" and "ECDH-ES" alg may only be used with a single recipient');if(typeof d.enc!="string"||!d.enc)throw new P('JWE "enc" (Encryption Algorithm) Header Parameter missing or invalid');if(!s)s=d.enc;else if(s!==d.enc)throw new P('JWE "enc" (Encryption Algorithm) Header Parameter must be the same for all recipients');if(_t(P,new Map,l.options.crit,this._protectedHeader,d),d.zip!==void 0&&(!this._protectedHeader||!this._protectedHeader.zip))throw new P('JWE "zip" (Compression Algorithm) Header MUST be integrity protected')}let a=gt(s),c={ciphertext:"",iv:"",recipients:[],tag:""};for(let u=0;u<this._recipients.length;u++){let l=this._recipients[u],d={};c.recipients.push(d);let m={...this._protectedHeader,...this._unprotectedHeader,...l.unprotectedHeader}.alg.startsWith("PBES2")?2048+u:void 0;if(u===0){let v=await new Lt(this._plaintext).setAdditionalAuthenticatedData(this._aad).setContentEncryptionKey(a).setProtectedHeader(this._protectedHeader).setSharedUnprotectedHeader(this._unprotectedHeader).setUnprotectedHeader(l.unprotectedHeader).setKeyManagementParameters({p2c:m}).encrypt(l.key,{...l.options,...e,[sl]:!0});c.ciphertext=v.ciphertext,c.iv=v.iv,c.tag=v.tag,v.aad&&(c.aad=v.aad),v.protected&&(c.protected=v.protected),v.unprotected&&(c.unprotected=v.unprotected),d.encrypted_key=v.encrypted_key,v.header&&(d.header=v.header);continue}let{encryptedKey:f,parameters:y}=await es(((r=l.unprotectedHeader)===null||r===void 0?void 0:r.alg)||((n=this._protectedHeader)===null||n===void 0?void 0:n.alg)||((i=this._unprotectedHeader)===null||i===void 0?void 0:i.alg),s,l.key,a,{p2c:m});d.encrypted_key=Z(f),(l.unprotectedHeader||y)&&(d.header={...l.unprotectedHeader,...y})}return c}}});function li(t,e){let r=`SHA-${t.slice(-3)}`;switch(t){case"HS256":case"HS384":case"HS512":return{hash:r,name:"HMAC"};case"PS256":case"PS384":case"PS512":return{hash:r,name:"RSA-PSS",saltLength:t.slice(-3)>>3};case"RS256":case"RS384":case"RS512":return{hash:r,name:"RSASSA-PKCS1-v1_5"};case"ES256":case"ES384":case"ES512":return{hash:r,name:"ECDSA",namedCurve:e.namedCurve};case"EdDSA":return{name:e.name};default:throw new U(`alg ${t} is not supported either by JOSE or your javascript runtime`)}}var cl=S(()=>{V();o(li,"subtleDsa")});function di(t,e,r){if(se(e))return cf(e,t,r),e;if(e instanceof Uint8Array){if(!t.startsWith("HS"))throw new TypeError(ne(e,...W));return L.subtle.importKey("raw",e,{hash:`SHA-${t.slice(-3)}`,name:"HMAC"},!1,[r])}throw new TypeError(ne(e,...W,"Uint8Array"))}var ul=S(()=>{Te();Yt();ot();st();o(di,"getCryptoKey")});var kT,zf,Wf=S(()=>{cl();Te();Wo();ul();kT=o(async(t,e,r,n)=>{let i=await di(t,e,"verify");Or(t,i);let s=li(t,i.algorithm);try{return await L.subtle.verify(s,i,r,n)}catch{return!1}},"verify"),zf=kT});async function Xr(t,e,r){var n;if(!Q(t))throw new z("Flattened JWS must be an object");if(t.protected===void 0&&t.header===void 0)throw new z('Flattened JWS must have either of the "protected" or "header" members');if(t.protected!==void 0&&typeof t.protected!="string")throw new z("JWS Protected Header incorrect type");if(t.payload===void 0)throw new z("JWS Payload missing");if(typeof t.signature!="string")throw new z("JWS Signature missing or incorrect type");if(t.header!==void 0&&!Q(t.header))throw new z("JWS Unprotected Header incorrect type");let i={};if(t.protected)try{let T=re(t.protected);i=JSON.parse(ce.decode(T))}catch{throw new z("JWS Protected Header is invalid")}if(!yt(i,t.header))throw new z("JWS Protected and JWS Unprotected Header Parameter names must be disjoint");let s={...i,...t.header},a=_t(z,new Map([["b64",!0]]),r?.crit,i,s),c=!0;if(a.has("b64")&&(c=i.b64,typeof c!="boolean"))throw new z('The "b64" (base64url-encode payload) Header Parameter must be a boolean');let{alg:u}=s;if(typeof u!="string"||!u)throw new z('JWS "alg" (Algorithm) Header Parameter missing or invalid');let l=r&&ui("algorithms",r.algorithms);if(l&&!l.has(u))throw new Jt('"alg" (Algorithm) Header Parameter not allowed');if(c){if(typeof t.payload!="string")throw new z("JWS Payload must be a string")}else if(typeof t.payload!="string"&&!(t.payload instanceof Uint8Array))throw new z("JWS Payload must be a string or an Uint8Array instance");let d=!1;typeof e=="function"&&(e=await e(i,t),d=!0),er(u,e,"verify");let p=Se(Y.encode((n=t.protected)!==null&&n!==void 0?n:""),Y.encode("."),typeof t.payload=="string"?Y.encode(t.payload):t.payload),m=re(t.signature);if(!await zf(u,e,m,p))throw new Rr;let y;c?y=re(t.payload):typeof t.payload=="string"?y=Y.encode(t.payload):y=t.payload;let v={payload:y};return t.protected!==void 0&&(v.protectedHeader=i),t.header!==void 0&&(v.unprotectedHeader=t.header),d?{...v,key:e}:v}var ns=S(()=>{Ie();Wf();V();ye();zr();qe();ai();Yr();rl();o(Xr,"flattenedVerify")});async function is(t,e,r){if(t instanceof Uint8Array&&(t=ce.decode(t)),typeof t!="string")throw new z("Compact JWS must be a string or Uint8Array");let{0:n,1:i,2:s,length:a}=t.split(".");if(a!==3)throw new z("Invalid Compact JWS");let c=await Xr({payload:i,protected:n,signature:s},e,r),u={payload:c.payload,protectedHeader:c.protectedHeader};return typeof e=="function"?{...u,key:c.key}:u}var ll=S(()=>{ns();V();ye();o(is,"compactVerify")});async function Qf(t,e,r){if(!Q(t))throw new z("General JWS must be an object");if(!Array.isArray(t.signatures)||!t.signatures.every(Q))throw new z("JWS Signatures missing or incorrect type");for(let n of t.signatures)try{return await Xr({header:n.header,payload:t.payload,protected:n.protected,signature:n.signature},e,r)}catch{}throw new Rr}var Yf=S(()=>{ns();V();qe();o(Qf,"generalVerify")});var en,dl=S(()=>{en=o(t=>Math.floor(t.getTime()/1e3),"default")});var FT,tn,pl=S(()=>{FT=/^(\d+|\d+\.\d+) ?(seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)$/i,tn=o(t=>{let e=FT.exec(t);if(!e)throw new TypeError("Invalid time period format");let r=parseFloat(e[1]);switch(e[2].toLowerCase()){case"sec":case"secs":case"second":case"seconds":case"s":return Math.round(r);case"minute":case"minutes":case"min":case"mins":case"m":return Math.round(r*60);case"hour":case"hours":case"hr":case"hrs":case"h":return Math.round(r*3600);case"day":case"days":case"d":return Math.round(r*86400);case"week":case"weeks":case"w":return Math.round(r*604800);default:return Math.round(r*31557600)}},"default")});var Zf,HT,rn,os=S(()=>{V();ye();dl();pl();qe();Zf=o(t=>t.toLowerCase().replace(/^application\//,""),"normalizeTyp"),HT=o((t,e)=>typeof t=="string"?e.includes(t):Array.isArray(t)?e.some(Set.prototype.has.bind(new Set(t))):!1,"checkAudiencePresence"),rn=o((t,e,r={})=>{let{typ:n}=r;if(n&&(typeof t.typ!="string"||Zf(t.typ)!==Zf(n)))throw new ge('unexpected "typ" JWT header value',"typ","check_failed");let i;try{i=JSON.parse(ce.decode(e))}catch{}if(!Q(i))throw new ue("JWT Claims Set must be a top-level JSON object");let{requiredClaims:s=[],issuer:a,subject:c,audience:u,maxTokenAge:l}=r;l!==void 0&&s.push("iat"),u!==void 0&&s.push("aud"),c!==void 0&&s.push("sub"),a!==void 0&&s.push("iss");for(let f of new Set(s.reverse()))if(!(f in i))throw new ge(`missing required "${f}" claim`,f,"missing");if(a&&!(Array.isArray(a)?a:[a]).includes(i.iss))throw new ge('unexpected "iss" claim value',"iss","check_failed");if(c&&i.sub!==c)throw new ge('unexpected "sub" claim value',"sub","check_failed");if(u&&!HT(i.aud,typeof u=="string"?[u]:u))throw new ge('unexpected "aud" claim value',"aud","check_failed");let d;switch(typeof r.clockTolerance){case"string":d=tn(r.clockTolerance);break;case"number":d=r.clockTolerance;break;case"undefined":d=0;break;default:throw new TypeError("Invalid clockTolerance option type")}let{currentDate:p}=r,m=en(p||new Date);if((i.iat!==void 0||l)&&typeof i.iat!="number")throw new ge('"iat" claim must be a number',"iat","invalid");if(i.nbf!==void 0){if(typeof i.nbf!="number")throw new ge('"nbf" claim must be a number',"nbf","invalid");if(i.nbf>m+d)throw new ge('"nbf" claim timestamp check failed',"nbf","check_failed")}if(i.exp!==void 0){if(typeof i.exp!="number")throw new ge('"exp" claim must be a number',"exp","invalid");if(i.exp<=m-d)throw new Kr('"exp" claim timestamp check failed',"exp","check_failed")}if(l){let f=m-i.iat,y=typeof l=="number"?l:tn(l);if(f-d>y)throw new Kr('"iat" claim timestamp check failed (too far in the past)',"iat","check_failed");if(f<0-d)throw new ge('"iat" claim timestamp check failed (it should be in the past)',"iat","check_failed")}return i},"default")});async function Xf(t,e,r){var n;let i=await is(t,e,r);if(!((n=i.protectedHeader.crit)===null||n===void 0)&&n.includes("b64")&&i.protectedHeader.b64===!1)throw new ue("JWTs MUST NOT use unencoded payload");let a={payload:rn(i.protectedHeader,i.payload,r),protectedHeader:i.protectedHeader};return typeof e=="function"?{...a,key:i.key}:a}var em=S(()=>{ll();os();V();o(Xf,"jwtVerify")});async function tm(t,e,r){let n=await Zo(t,e,r),i=rn(n.protectedHeader,n.plaintext,r),{protectedHeader:s}=n;if(s.iss!==void 0&&s.iss!==i.iss)throw new ge('replicated "iss" claim header parameter mismatch',"iss","mismatch");if(s.sub!==void 0&&s.sub!==i.sub)throw new ge('replicated "sub" claim header parameter mismatch',"sub","mismatch");if(s.aud!==void 0&&JSON.stringify(s.aud)!==JSON.stringify(i.aud))throw new ge('replicated "aud" claim header parameter mismatch',"aud","mismatch");let a={payload:i,protectedHeader:s};return typeof e=="function"?{...a,key:n.key}:a}var rm=S(()=>{nl();os();V();o(tm,"jwtDecrypt")});var nn,hl=S(()=>{ts();nn=class{static{o(this,"CompactEncrypt")}constructor(e){this._flattened=new Lt(e)}setContentEncryptionKey(e){return this._flattened.setContentEncryptionKey(e),this}setInitializationVector(e){return this._flattened.setInitializationVector(e),this}setProtectedHeader(e){return this._flattened.setProtectedHeader(e),this}setKeyManagementParameters(e){return this._flattened.setKeyManagementParameters(e),this}async encrypt(e,r){let n=await this._flattened.encrypt(e,r);return[n.protected,n.encrypted_key,n.iv,n.ciphertext,n.tag].join(".")}}});var qT,nm,im=S(()=>{cl();Te();Wo();ul();qT=o(async(t,e,r)=>{let n=await di(t,e,"sign");Or(t,n);let i=await L.subtle.sign(li(t,n.algorithm),n,r);return new Uint8Array(i)},"sign"),nm=qT});var tr,ss=S(()=>{Ie();im();zr();V();ye();ai();Yr();tr=class{static{o(this,"FlattenedSign")}constructor(e){if(!(e instanceof Uint8Array))throw new TypeError("payload must be an instance of Uint8Array");this._payload=e}setProtectedHeader(e){if(this._protectedHeader)throw new TypeError("setProtectedHeader can only be called once");return this._protectedHeader=e,this}setUnprotectedHeader(e){if(this._unprotectedHeader)throw new TypeError("setUnprotectedHeader can only be called once");return this._unprotectedHeader=e,this}async sign(e,r){if(!this._protectedHeader&&!this._unprotectedHeader)throw new z("either setProtectedHeader or setUnprotectedHeader must be called before #sign()");if(!yt(this._protectedHeader,this._unprotectedHeader))throw new z("JWS Protected and JWS Unprotected Header Parameter names must be disjoint");let n={...this._protectedHeader,...this._unprotectedHeader},i=_t(z,new Map([["b64",!0]]),r?.crit,this._protectedHeader,n),s=!0;if(i.has("b64")&&(s=this._protectedHeader.b64,typeof s!="boolean"))throw new z('The "b64" (base64url-encode payload) Header Parameter must be a boolean');let{alg:a}=n;if(typeof a!="string"||!a)throw new z('JWS "alg" (Algorithm) Header Parameter missing or invalid');er(a,e,"sign");let c=this._payload;s&&(c=Y.encode(Z(c)));let u;this._protectedHeader?u=Y.encode(Z(JSON.stringify(this._protectedHeader))):u=Y.encode("");let l=Se(u,Y.encode("."),c),d=await nm(a,e,l),p={signature:Z(d),payload:""};return s&&(p.payload=ce.decode(c)),this._unprotectedHeader&&(p.header=this._unprotectedHeader),this._protectedHeader&&(p.protected=ce.decode(u)),p}}});var on,fl=S(()=>{ss();on=class{static{o(this,"CompactSign")}constructor(e){this._flattened=new tr(e)}setProtectedHeader(e){return this._flattened.setProtectedHeader(e),this}async sign(e,r){let n=await this._flattened.sign(e,r);if(n.payload===void 0)throw new TypeError("use the flattened module for creating JWS with b64: false");return`${n.protected}.${n.payload}.${n.signature}`}}});var ml,as,om=S(()=>{ss();V();ml=class{static{o(this,"IndividualSignature")}constructor(e,r,n){this.parent=e,this.key=r,this.options=n}setProtectedHeader(e){if(this.protectedHeader)throw new TypeError("setProtectedHeader can only be called once");return this.protectedHeader=e,this}setUnprotectedHeader(e){if(this.unprotectedHeader)throw new TypeError("setUnprotectedHeader can only be called once");return this.unprotectedHeader=e,this}addSignature(...e){return this.parent.addSignature(...e)}sign(...e){return this.parent.sign(...e)}done(){return this.parent}},as=class{static{o(this,"GeneralSign")}constructor(e){this._signatures=[],this._payload=e}addSignature(e,r){let n=new ml(this,e,r);return this._signatures.push(n),n}async sign(){if(!this._signatures.length)throw new z("at least one signature must be added");let e={signatures:[],payload:""};for(let r=0;r<this._signatures.length;r++){let n=this._signatures[r],i=new tr(this._payload);i.setProtectedHeader(n.protectedHeader),i.setUnprotectedHeader(n.unprotectedHeader);let{payload:s,...a}=await i.sign(n.key,n.options);if(r===0)e.payload=s;else if(e.payload!==s)throw new z("inconsistent use of JWS Unencoded Payload (RFC7797)");e.signatures.push(a)}return e}}});var rr,cs=S(()=>{dl();qe();pl();rr=class{static{o(this,"ProduceJWT")}constructor(e){if(!Q(e))throw new TypeError("JWT Claims Set MUST be an object");this._payload=e}setIssuer(e){return this._payload={...this._payload,iss:e},this}setSubject(e){return this._payload={...this._payload,sub:e},this}setAudience(e){return this._payload={...this._payload,aud:e},this}setJti(e){return this._payload={...this._payload,jti:e},this}setNotBefore(e){return typeof e=="number"?this._payload={...this._payload,nbf:e}:this._payload={...this._payload,nbf:en(new Date)+tn(e)},this}setExpirationTime(e){return typeof e=="number"?this._payload={...this._payload,exp:e}:this._payload={...this._payload,exp:en(new Date)+tn(e)},this}setIssuedAt(e){return typeof e>"u"?this._payload={...this._payload,iat:en(new Date)}:this._payload={...this._payload,iat:e},this}}});var us,sm=S(()=>{fl();V();ye();cs();us=class extends rr{static{o(this,"SignJWT")}setProtectedHeader(e){return this._protectedHeader=e,this}async sign(e,r){var n;let i=new on(Y.encode(JSON.stringify(this._payload)));if(i.setProtectedHeader(this._protectedHeader),Array.isArray((n=this._protectedHeader)===null||n===void 0?void 0:n.crit)&&this._protectedHeader.crit.includes("b64")&&this._protectedHeader.b64===!1)throw new ue("JWTs MUST NOT use unencoded payload");return i.sign(e,r)}}});var ls,am=S(()=>{hl();ye();cs();ls=class extends rr{static{o(this,"EncryptJWT")}setProtectedHeader(e){if(this._protectedHeader)throw new TypeError("setProtectedHeader can only be called once");return this._protectedHeader=e,this}setKeyManagementParameters(e){if(this._keyManagementParameters)throw new TypeError("setKeyManagementParameters can only be called once");return this._keyManagementParameters=e,this}setContentEncryptionKey(e){if(this._cek)throw new TypeError("setContentEncryptionKey can only be called once");return this._cek=e,this}setInitializationVector(e){if(this._iv)throw new TypeError("setInitializationVector can only be called once");return this._iv=e,this}replicateIssuerAsHeader(){return this._replicateIssuerAsHeader=!0,this}replicateSubjectAsHeader(){return this._replicateSubjectAsHeader=!0,this}replicateAudienceAsHeader(){return this._replicateAudienceAsHeader=!0,this}async encrypt(e,r){let n=new nn(Y.encode(JSON.stringify(this._payload)));return this._replicateIssuerAsHeader&&(this._protectedHeader={...this._protectedHeader,iss:this._payload.iss}),this._replicateSubjectAsHeader&&(this._protectedHeader={...this._protectedHeader,sub:this._payload.sub}),this._replicateAudienceAsHeader&&(this._protectedHeader={...this._protectedHeader,aud:this._payload.aud}),n.setProtectedHeader(this._protectedHeader),this._iv&&n.setInitializationVector(this._iv),this._cek&&n.setContentEncryptionKey(this._cek),this._keyManagementParameters&&n.setKeyManagementParameters(this._keyManagementParameters),n.encrypt(e,r)}}});async function yl(t,e){if(!Q(t))throw new TypeError("JWK must be an object");if(e??(e="sha256"),e!=="sha256"&&e!=="sha384"&&e!=="sha512")throw new TypeError('digestAlgorithm must one of "sha256", "sha384", or "sha512"');let r;switch(t.kty){case"EC":nr(t.crv,'"crv" (Curve) Parameter'),nr(t.x,'"x" (X Coordinate) Parameter'),nr(t.y,'"y" (Y Coordinate) Parameter'),r={crv:t.crv,kty:t.kty,x:t.x,y:t.y};break;case"OKP":nr(t.crv,'"crv" (Subtype of Key Pair) Parameter'),nr(t.x,'"x" (Public Key) Parameter'),r={crv:t.crv,kty:t.kty,x:t.x};break;case"RSA":nr(t.e,'"e" (Exponent) Parameter'),nr(t.n,'"n" (Modulus) Parameter'),r={e:t.e,kty:t.kty,n:t.n};break;case"oct":nr(t.k,'"k" (Key Value) Parameter'),r={k:t.k,kty:t.kty};break;default:throw new U('"kty" (Key Type) Parameter missing or unsupported')}let n=Y.encode(JSON.stringify(r));return Z(await Uo(e,n))}async function cm(t,e){e??(e="sha256");let r=await yl(t,e);return`urn:ietf:params:oauth:jwk-thumbprint:sha-${e.slice(-3)}:${r}`}var nr,um=S(()=>{Uu();Ie();V();ye();qe();nr=o((t,e)=>{if(typeof t!="string"||!t)throw new Zn(`${e} missing or invalid`)},"check");o(yl,"calculateJwkThumbprint");o(cm,"calculateJwkThumbprintUri")});async function lm(t,e){let r={...t,...e?.header};if(!Q(r.jwk))throw new z('"jwk" (JSON Web Key) Header Parameter must be a JSON object');let n=await Xt({...r.jwk,ext:!0},r.alg,!0);if(n instanceof Uint8Array||n.type!=="public")throw new z('"jwk" (JSON Web Key) Header Parameter must be a public key');return n}var dm=S(()=>{si();qe();V();o(lm,"EmbeddedJWK")});function $T(t){switch(typeof t=="string"&&t.slice(0,2)){case"RS":case"PS":return"RSA";case"ES":return"EC";case"Ed":return"OKP";default:throw new U('Unsupported "alg" value for a JSON Web Key Set')}}function gl(t){return t&&typeof t=="object"&&Array.isArray(t.keys)&&t.keys.every(jT)}function jT(t){return Q(t)}function VT(t){return typeof structuredClone=="function"?structuredClone(t):JSON.parse(JSON.stringify(t))}async function pm(t,e,r){let n=t.get(e)||t.set(e,{}).get(e);if(n[r]===void 0){let i=await Xt({...e,ext:!0},r);if(i instanceof Uint8Array||i.type!=="public")throw new zt("JSON Web Key Set members must be public keys");n[r]=i}return n[r]}function hm(t){let e=new pi(t);return async function(r,n){return e.getKey(r,n)}}var pi,_l=S(()=>{si();V();qe();o($T,"getKtyFromAlg");o(gl,"isJWKSLike");o(jT,"isJWKLike");o(VT,"clone");pi=class{static{o(this,"LocalJWKSet")}constructor(e){if(this._cached=new WeakMap,!gl(e))throw new zt("JSON Web Key Set malformed");this._jwks=VT(e)}async getKey(e,r){let{alg:n,kid:i}={...e,...r?.header},s=$T(n),a=this._jwks.keys.filter(l=>{let d=s===l.kty;if(d&&typeof i=="string"&&(d=i===l.kid),d&&typeof l.alg=="string"&&(d=n===l.alg),d&&typeof l.use=="string"&&(d=l.use==="sig"),d&&Array.isArray(l.key_ops)&&(d=l.key_ops.includes("verify")),d&&n==="EdDSA"&&(d=l.crv==="Ed25519"||l.crv==="Ed448"),d)switch(n){case"ES256":d=l.crv==="P-256";break;case"ES256K":d=l.crv==="secp256k1";break;case"ES384":d=l.crv==="P-384";break;case"ES512":d=l.crv==="P-521";break}return d}),{0:c,length:u}=a;if(u===0)throw new Pr;if(u!==1){let l=new Xn,{_cached:d}=this;throw l[Symbol.asyncIterator]=async function*(){for(let p of a)try{yield await pm(d,p,n)}catch{continue}},l}return pm(this._cached,c,n)}};o(pm,"importWithAlgCache");o(hm,"createLocalJWKSet")});var GT,fm,mm=S(()=>{V();GT=o(async(t,e,r)=>{let n,i,s=!1;typeof AbortController=="function"&&(n=new AbortController,i=setTimeout(()=>{s=!0,n.abort()},e));let a=await fetch(t.href,{signal:n?n.signal:void 0,redirect:"manual",headers:r.headers}).catch(c=>{throw s?new ei:c});if(i!==void 0&&clearTimeout(i),a.status!==200)throw new pe("Expected 200 OK from the JSON Web Key Set HTTP response");try{return await a.json()}catch{throw new pe("Failed to parse the JSON Web Key Set HTTP response as JSON")}},"fetchJwks"),fm=GT});function BT(){return typeof WebSocketPair<"u"||typeof navigator<"u"&&navigator.userAgent==="Cloudflare-Workers"||typeof EdgeRuntime<"u"&&EdgeRuntime==="vercel"}function ym(t,e){let r=new bl(t,e);return async function(n,i){return r.getKey(n,i)}}var bl,gm=S(()=>{mm();V();_l();o(BT,"isCloudflareWorkers");bl=class extends pi{static{o(this,"RemoteJWKSet")}constructor(e,r){if(super({keys:[]}),this._jwks=void 0,!(e instanceof URL))throw new TypeError("url must be an instance of URL");this._url=new URL(e.href),this._options={agent:r?.agent,headers:r?.headers},this._timeoutDuration=typeof r?.timeoutDuration=="number"?r?.timeoutDuration:5e3,this._cooldownDuration=typeof r?.cooldownDuration=="number"?r?.cooldownDuration:3e4,this._cacheMaxAge=typeof r?.cacheMaxAge=="number"?r?.cacheMaxAge:6e5}coolingDown(){return typeof this._jwksTimestamp=="number"?Date.now()<this._jwksTimestamp+this._cooldownDuration:!1}fresh(){return typeof this._jwksTimestamp=="number"?Date.now()<this._jwksTimestamp+this._cacheMaxAge:!1}async getKey(e,r){(!this._jwks||!this.fresh())&&await this.reload();try{return await super.getKey(e,r)}catch(n){if(n instanceof Pr&&this.coolingDown()===!1)return await this.reload(),super.getKey(e,r);throw n}}async reload(){this._pendingFetch&&BT()&&(this._pendingFetch=void 0),this._pendingFetch||(this._pendingFetch=fm(this._url,this._timeoutDuration,this._options).then(e=>{if(!gl(e))throw new zt("JSON Web Key Set malformed");this._jwks={keys:e.keys},this._jwksTimestamp=Date.now(),this._pendingFetch=void 0}).catch(e=>{throw this._pendingFetch=void 0,e})),await this._pendingFetch}};o(ym,"createRemoteJWKSet")});var ds,_m=S(()=>{Ie();ye();V();os();cs();ds=class extends rr{static{o(this,"UnsecuredJWT")}encode(){let e=Z(JSON.stringify({alg:"none"})),r=Z(JSON.stringify(this._payload));return`${e}.${r}.`}static decode(e,r){if(typeof e!="string")throw new ue("Unsecured JWT must be a string");let{0:n,1:i,2:s,length:a}=e.split(".");if(a!==3||s!=="")throw new ue("Invalid Unsecured JWT");let c;try{if(c=JSON.parse(ce.decode(re(n))),c.alg!=="none")throw new Error}catch{throw new ue("Invalid Unsecured JWT")}return{payload:rn(c,re(i),r),header:c}}}});var El={};Gi(El,{decode:()=>hi,encode:()=>KT});var KT,hi,ps=S(()=>{Ie();KT=Z,hi=re});function bm(t){let e;if(typeof t=="string"){let r=t.split(".");(r.length===3||r.length===5)&&([e]=r)}else if(typeof t=="object"&&t)if("protected"in t)e=t.protected;else throw new TypeError("Token does not contain a Protected Header");try{if(typeof e!="string"||!e)throw new Error;let r=JSON.parse(ce.decode(hi(e)));if(!Q(r))throw new Error;return r}catch{throw new TypeError("Invalid Token or Protected Header formatting")}}var Em=S(()=>{ps();ye();qe();o(bm,"decodeProtectedHeader")});function wm(t){if(typeof t!="string")throw new ue("JWTs must use Compact JWS serialization, JWT must be a string");let{1:e,length:r}=t.split(".");if(r===5)throw new ue("Only JWTs using Compact JWS serialization can be decoded");if(r!==3)throw new ue("Invalid JWT");if(!e)throw new ue("JWTs must contain a payload");let n;try{n=hi(e)}catch{throw new ue("Failed to parse the base64url encoded payload")}let i;try{i=JSON.parse(ce.decode(n))}catch{throw new ue("Failed to parse the decoded payload as JSON")}if(!Q(i))throw new ue("Invalid JWT Claims Set");return i}var vm=S(()=>{ps();ye();qe();V();o(wm,"decodeJwt")});async function Tm(t,e){var r;let n,i,s;switch(t){case"HS256":case"HS384":case"HS512":n=parseInt(t.slice(-3),10),i={name:"HMAC",hash:`SHA-${n}`,length:n},s=["sign","verify"];break;case"A128CBC-HS256":case"A192CBC-HS384":case"A256CBC-HS512":return n=parseInt(t.slice(-3),10),Wt(new Uint8Array(n>>3));case"A128KW":case"A192KW":case"A256KW":n=parseInt(t.slice(1,4),10),i={name:"AES-KW",length:n},s=["wrapKey","unwrapKey"];break;case"A128GCMKW":case"A192GCMKW":case"A256GCMKW":case"A128GCM":case"A192GCM":case"A256GCM":n=parseInt(t.slice(1,4),10),i={name:"AES-GCM",length:n},s=["encrypt","decrypt"];break;default:throw new U('Invalid or unsupported JWK "alg" (Algorithm) Parameter value')}return L.subtle.generateKey(i,(r=e?.extractable)!==null&&r!==void 0?r:!1,s)}function wl(t){var e;let r=(e=t?.modulusLength)!==null&&e!==void 0?e:2048;if(typeof r!="number"||r<2048)throw new U("Invalid or unsupported modulusLength option provided, 2048 bits or larger keys must be used");return r}async function Sm(t,e){var r,n,i;let s,a;switch(t){case"PS256":case"PS384":case"PS512":s={name:"RSA-PSS",hash:`SHA-${t.slice(-3)}`,publicExponent:new Uint8Array([1,0,1]),modulusLength:wl(e)},a=["sign","verify"];break;case"RS256":case"RS384":case"RS512":s={name:"RSASSA-PKCS1-v1_5",hash:`SHA-${t.slice(-3)}`,publicExponent:new Uint8Array([1,0,1]),modulusLength:wl(e)},a=["sign","verify"];break;case"RSA-OAEP":case"RSA-OAEP-256":case"RSA-OAEP-384":case"RSA-OAEP-512":s={name:"RSA-OAEP",hash:`SHA-${parseInt(t.slice(-3),10)||1}`,publicExponent:new Uint8Array([1,0,1]),modulusLength:wl(e)},a=["decrypt","unwrapKey","encrypt","wrapKey"];break;case"ES256":s={name:"ECDSA",namedCurve:"P-256"},a=["sign","verify"];break;case"ES384":s={name:"ECDSA",namedCurve:"P-384"},a=["sign","verify"];break;case"ES512":s={name:"ECDSA",namedCurve:"P-521"},a=["sign","verify"];break;case"EdDSA":a=["sign","verify"];let c=(r=e?.crv)!==null&&r!==void 0?r:"Ed25519";switch(c){case"Ed25519":case"Ed448":s={name:c};break;default:throw new U("Invalid or unsupported crv option provided")}break;case"ECDH-ES":case"ECDH-ES+A128KW":case"ECDH-ES+A192KW":case"ECDH-ES+A256KW":{a=["deriveKey","deriveBits"];let u=(n=e?.crv)!==null&&n!==void 0?n:"P-256";switch(u){case"P-256":case"P-384":case"P-521":{s={name:"ECDH",namedCurve:u};break}case"X25519":case"X448":s={name:u};break;default:throw new U("Invalid or unsupported crv option provided, supported values are P-256, P-384, P-521, X25519, and X448")}break}default:throw new U('Invalid or unsupported JWK "alg" (Algorithm) Parameter value')}return L.subtle.generateKey(s,(i=e?.extractable)!==null&&i!==void 0?i:!1,a)}var vl=S(()=>{Te();V();ti();o(Tm,"generateSecret");o(wl,"getModulusLengthOption");o(Sm,"generateKeyPair")});async function Im(t,e){return Sm(t,e)}var Am=S(()=>{vl();o(Im,"generateKeyPair")});async function Pm(t,e){return Tm(t,e)}var Rm=S(()=>{vl();o(Pm,"generateSecret")});var hs={};Gi(hs,{CompactEncrypt:()=>nn,CompactSign:()=>on,EmbeddedJWK:()=>lm,EncryptJWT:()=>ls,FlattenedEncrypt:()=>Lt,FlattenedSign:()=>tr,GeneralEncrypt:()=>rs,GeneralSign:()=>as,SignJWT:()=>us,UnsecuredJWT:()=>ds,base64url:()=>El,calculateJwkThumbprint:()=>yl,calculateJwkThumbprintUri:()=>cm,compactDecrypt:()=>Zo,compactVerify:()=>is,createLocalJWKSet:()=>hm,createRemoteJWKSet:()=>ym,decodeJwt:()=>wm,decodeProtectedHeader:()=>bm,errors:()=>Fu,exportJWK:()=>Xo,exportPKCS8:()=>Kf,exportSPKI:()=>Bf,flattenedDecrypt:()=>Zr,flattenedVerify:()=>Xr,generalDecrypt:()=>$f,generalVerify:()=>Qf,generateKeyPair:()=>Im,generateSecret:()=>Pm,importJWK:()=>Xt,importPKCS8:()=>Mf,importSPKI:()=>Df,importX509:()=>Uf,jwtDecrypt:()=>tm,jwtVerify:()=>Xf});var fs=S(()=>{nl();Yo();jf();Jf();ll();ns();Yf();em();rm();hl();ts();fl();ss();om();sm();am();um();dm();_l();gm();_m();il();si();Em();vm();V();Am();Rm();ps()});var ys=g(ms=>{"use strict";Object.defineProperty(ms,"__esModule",{value:!0});ms.fetchRetry=void 0;var JT=D();async function zT(t,e,r){for(let n=0;n<=t.retries;n++){let i=fetch(e,r);if(n===t.retries)return i;let s=await i;if(s.status<500&&s.status!==429)return s;t?.logger?.error("Request failed, retrying",{method:typeof e=="string"?"GET":e.method,url:typeof e=="string"?e:e.url,status:s.status}),await new Promise(a=>setTimeout(a,t.retryDelayMs*Math.pow(2,n)))}throw new JT.ConfigurationError("An unknown error occurred, ensure retries is not negative")}o(zT,"fetchRetry");ms.fetchRetry=zT});var sn=g(Ze=>{"use strict";Object.defineProperty(Ze,"__esModule",{value:!0});Ze.GcpServiceAccount=Ze.fetchToken=Ze.exchangeGgpJwtForIdToken=Ze.exchangeFirebaseJwtForIdToken=Ze.getTokenFromGcpServiceAccount=void 0;var Om=(fs(),Bi(hs)),WT=D(),QT=ys();async function YT({serviceAccount:t,audience:e,expirationTime:r="1h",payload:n={}}){let{clientEmail:i,privateKeyId:s,privateKey:a}=t;return await new Om.SignJWT(n).setProtectedHeader({alg:"RS256",kid:s}).setIssuer(i).setSubject(i).setAudience(e).setIssuedAt().setExpirationTime(r).sign(a)}o(YT,"getTokenFromGcpServiceAccount");Ze.getTokenFromGcpServiceAccount=YT;async function ZT(t,e,r){return Sl(t,{token:e,returnSecureToken:!0},r)}o(ZT,"exchangeFirebaseJwtForIdToken");Ze.exchangeFirebaseJwtForIdToken=ZT;async function XT(t,e,r){return Sl(t,{grant_type:"urn:ietf:params:oauth:grant-type:jwt-bearer",assertion:e},r)}o(XT,"exchangeGgpJwtForIdToken");Ze.exchangeGgpJwtForIdToken=XT;async function Sl(t,e,r){let n=await(0,QT.fetchRetry)(r,t,{method:"POST",headers:{"Content-Type":"application/json"},redirect:"follow",body:JSON.stringify(e)});if(n.status!==200){let s;try{let a=await n.text(),c=JSON.parse(a);s={cause:c.error??c}}catch{}throw new WT.RuntimeError({message:"Could not get token from Google Identity",extensionMembers:s})}return await n.json()}o(Sl,"fetchToken");Ze.fetchToken=Sl;var Tl=class t{static{o(this,"GcpServiceAccount")}#e;#t;constructor({serviceAccount:e,privateKey:r}){this.#t=e,this.#e=r}static async init(e){let r=JSON.parse(e),n=await(0,Om.importPKCS8)(r.private_key.trim(),"RS256");return new t({serviceAccount:r,privateKey:n})}get type(){return this.#t.type}get projectId(){return this.#t.project_id}get privateKeyId(){return this.#t.private_key_id}get privateKey(){return this.#e}get clientEmail(){return this.#t.client_email}get clientId(){return this.#t.client_id}get authUri(){return this.#t.auth_uri}get tokenUrl(){return this.#t.token_url}get authProviderX509CertUrl(){return this.#t.auth_provider_x509_cert_url}get clientX509CertUrl(){return this.#t.client_x509_cert_url}get universalDomain(){return this.#t.universe_domain}};Ze.GcpServiceAccount=Tl});var _s=g(Dt=>{"use strict";Object.defineProperty(Dt,"__esModule",{value:!0});Dt.GoogleLogTransport=Dt.ZuploToGCPMap=Dt.GoogleCloudLoggingPlugin=void 0;var eS=we(),Il=te(),Al=sn(),tS=Nt(),xm=mt(),Pl=class extends tS.LogPlugin{static{o(this,"GoogleCloudLoggingPlugin")}options;constructor(e){super(),this.options=e}getTransport(){return new gs(this.options)}};Dt.GoogleCloudLoggingPlugin=Pl;var rS="https://logging.googleapis.com/v2/entries:write?alt=json";Dt.ZuploToGCPMap={error:"ERROR",warn:"WARNING",info:"INFO",debug:"DEBUG"};var gs=class{static{o(this,"GoogleLogTransport")}constructor(e){this.#r=e.logName,this.#e=e.serviceAccountJson,this.#i=Il.Environment.instance.loggingEnvironmentType,this.#o=Il.Environment.instance.loggingEnvironmentStage,this.#n=Il.Environment.instance.deploymentName}#e;#t;#r;#n;#i;#o;async log(e,r){if(e.messages.length===0)return;let n={allMessages:(0,xm.makeErrorsSerializable)(e.messages)};this.#t||(this.#t=await Al.GcpServiceAccount.init(this.#e));let i=this.#t.projectId??"zuplo-production",s={logName:this.#r,resource:{type:"global"},severity:Dt.ZuploToGCPMap[e.level],timestamp:e.timestamp,trace:`projects/${i}/traces/${e.requestId}`,labels:{requestId:e.requestId,buildId:e.buildId,source:e.logSource,loggingId:e.loggingId,logOwner:e.logOwner,environment:this.#n,environmentType:this.#i,environmentStage:this.#o}};e.rayId&&(s.labels.rayId=e.rayId);let a=(0,xm.extractBestMessage)(n.allMessages);s.jsonPayload={...n,message:a},this.batcher.enqueue(s),r.waitUntil(this.batcher.waitUntilFlushed())}dispatchFunction=async e=>{if(e.length===0)return;this.#t||(this.#t=await Al.GcpServiceAccount.init(this.#e));let r=await(0,Al.getTokenFromGcpServiceAccount)({serviceAccount:this.#t,audience:"https://logging.googleapis.com/google.logging.v2.LoggingServiceV2"}),n=await fetch(rS,{method:"POST",body:JSON.stringify({entries:e}),headers:{Authorization:`Bearer ${r}`,"content-type":"application/json;charset=UTF-8"}});n.ok||console.error(n.status,n.statusText,await n.text())};batcher=new eS.BatchDispatch("google-log-transport",1,this.dispatchFunction)};Dt.GoogleLogTransport=gs});var Rl=g(an=>{"use strict";Object.defineProperty(an,"__esModule",{value:!0});an.gcpLogFormat=an.GCP_LOG_FORMAT=void 0;var Nm=mt(),nS=_s();an.GCP_LOG_FORMAT="gcp";function iS(t){let e={allMessages:(0,Nm.makeErrorsSerializable)(t.messages)},r="zuplo-production",n=(0,Nm.extractBestMessage)(e.allMessages),i={logName:`projects/${r}/logs/runtime-user`,message:n,severity:nS.ZuploToGCPMap[t.level],timestamp:t.timestamp,"logging.googleapis.com/labels":{buildId:t.buildId,source:t.logSource,loggingId:t.loggingId,logOwner:t.logOwner},"logging.googleapis.com/trace":`projects/${r}/traces/${t.requestId}`,allMessages:e.allMessages};return t.rayId&&(i["logging.googleapis.com/labels"].rayId=t.rayId),i}o(iS,"gcpLogFormat");an.gcpLogFormat=iS});var Lm=g(bs=>{"use strict";Object.defineProperty(bs,"__esModule",{value:!0});bs.ConsoleTransport=void 0;var Cm=Rl(),Ol=class{static{o(this,"ConsoleTransport")}constructor(e,r){this.#e=e??console,this.#t=r}#e;#t;async log(e){if(this.#t===Cm.GCP_LOG_FORMAT){if(e.messages.length===0)return;this.#e[e.level].apply(null,[(0,Cm.gcpLogFormat)(e)])}else this.#e[e.level].apply(null,[...e.messages,{logOwner:e.logOwner,logSource:e.logSource,level:e.level,timestamp:e.timestamp,loggingId:e.loggingId,rayId:e.rayId,requestId:e.requestId,buildId:e.buildId}])}};bs.ConsoleTransport=Ol});var Ul=g(cn=>{"use strict";Object.defineProperty(cn,"__esModule",{value:!0});cn.DataDogTransport=cn.DataDogLoggingPlugin=void 0;var oS=we(),xl=te(),sS=Nt(),Dm=mt(),Dl=class extends sS.LogPlugin{static{o(this,"DataDogLoggingPlugin")}options;constructor(e){super(),this.options=e}getTransport(){return new Es(this.options)}};cn.DataDogLoggingPlugin=Dl;var Nl="__ddtags",Cl="__ddattr",Ll=o(t=>t.replaceAll(",","_").replaceAll(":","_"),"cleanTagText"),aS=o(t=>{let e=Object.keys(t),r=[];return e.forEach(n=>{let i=t[n];i==null?r.push(Ll(n)):r.push(`${Ll(n)}:${Ll(i.toString())}`)}),r.join(",")},"formatTags"),Es=class{static{o(this,"DataDogTransport")}constructor(e){this.#e=e.apiKey,this.#t=e.url??"https://http-intake.logs.datadoghq.com/api/v2/logs",this.#n=xl.Environment.instance.loggingEnvironmentType,this.#i=xl.Environment.instance.loggingEnvironmentStage,this.#r=xl.Environment.instance.deploymentName}#e;#t;#r;#n;#i;async log(e,r){let n={},i=r.custom[Nl];i&&typeof i=="object"&&Object.assign(n,i);let s=[...e.messages],a=e.messages.findIndex(f=>f[Nl]!==void 0);a>-1&&(Object.assign(n,s[a][Nl]),s.splice(a,1));let c={},u=r.custom[Cl];u&&typeof u=="object"&&Object.assign(c,u);let l=e.messages.findIndex(f=>f[Cl]!==void 0);l>-1&&(Object.assign(c,s[l][Cl]),s.splice(l,1));let d=(0,Dm.makeErrorsSerializable)(s),m={message:{...{...e,activityId:e.requestId,trace:e.requestId},messages:d},ddsource:"Zuplo",hostname:new URL(r.originalRequest.url).hostname,msg:(0,Dm.extractBestMessage)(d),service:e.loggingId,ddtags:aS(n),environment:this.#r,environment_type:this.#n,environment_stage:this.#i};Object.assign(m,c),this.batcher.enqueue(m),r.waitUntil(this.batcher.waitUntilFlushed())}dispatchFunction=async e=>{e.length!==0&&await fetch(this.#t,{method:"POST",body:JSON.stringify([...e]),headers:{"content-type":"application/json","DD-API-KEY":this.#e}})};batcher=new oS.BatchDispatch("data-dog-transport",10,this.dispatchFunction)};cn.DataDogTransport=Es});var Mm=g(ws=>{"use strict";Object.defineProperty(ws,"__esModule",{value:!0});ws.ProcessTransport=void 0;var Um=Rl(),Ml=class{static{o(this,"ProcessTransport")}constructor(e,r){this.#e=e,this.#t=r}#e;#t;async log(e){if(this.#t===Um.GCP_LOG_FORMAT){if(e.messages.length===0)return;this.#e[e.level].apply(null,[(0,Um.gcpLogFormat)(e)])}else this.#e[e.level].apply(null,[...e.messages,{logOwner:e.logOwner,logSource:e.logSource,timestamp:e.timestamp,loggingId:e.loggingId,rayId:e.rayId,requestId:e.requestId,buildId:e.buildId,vectorClock:e.vectorClock}])}};ws.ProcessTransport=Ml});var Fm=g(Ts=>{"use strict";Object.defineProperty(Ts,"__esModule",{value:!0});Ts.RemoteLogTransport=void 0;var cS=we(),km=te(),uS=mt(),lS=o(({url:t,remoteLogToken:e,loggingId:r,sendOnlyErrors:n})=>async i=>{let s;n===!0?s=i.filter(a=>a.level==="error"):s=i,s.length!==0&&fetch(`${t}/publish/${r}`,{method:"POST",body:JSON.stringify({timestamp:Date.now(),type:"log",message:s.map(a=>({...a,messages:(0,uS.makeErrorsSerializable)(a.messages)}))}),headers:{"content-type":"application/json",authentication:`Bearer ${e}`,"user-agent":km.Environment.instance.systemUserAgent,"zp-dn":km.Environment.instance.deploymentName??"unknown"}}).catch(a=>{console.error(a)})},"dispatchFunction"),vs,kl=class{static{o(this,"RemoteLogTransport")}constructor(e){vs||(vs=new cS.BatchDispatch("remote-log-transport",1,lS(e)))}async log(e,r){vs.enqueue(e),r.waitUntil(vs.waitUntilFlushed())}};Ts.RemoteLogTransport=kl});var Hm=g(xr=>{"use strict";Object.defineProperty(xr,"__esModule",{value:!0});xr.unifiedFormatter=xr.SeverityNumberOpenTelemetryMap=void 0;xr.SeverityNumberOpenTelemetryMap={internal:1,trace:2,debug:5,info:9,warn:13,error:17,fatal:21};var dS=o((t,e)=>r=>{let n={};return n.deploymentName=t,n.labels={requestId:r.requestId,source:r.logSource,loggingId:r.loggingId,logOwner:r.logOwner},n.rayId=r.rayId??"",n.runtime={buildId:e.BUILD_ID,buildTimestamp:e.TIMESTAMP,gitSHA:e.GIT_SHA,version:e.ZUPLO_VERSION},n.atomicCounter=r.vectorClock,{timestamp:r.timestamp,observerdTimestamp:r.timestamp,traceId:r.requestId,severityText:r.level,severityNumber:xr.SeverityNumberOpenTelemetryMap[r.level],body:r.messages,attributes:n}},"unifiedFormatter");xr.unifiedFormatter=dS});var $m=g(Is=>{"use strict";Object.defineProperty(Is,"__esModule",{value:!0});Is.UnifiedLogTransport=void 0;var pS=we(),qm=te(),hS=Hm(),fS=o(({url:t,remoteLogToken:e,deploymentName:r,build:n})=>async i=>{if(i.length===0)return;let s=(0,hS.unifiedFormatter)(r,n);fetch(`${t}/v1/runtime-logs`,{method:"POST",body:JSON.stringify({entries:i.map(s)}),headers:{"content-type":"application/json",authentication:`Bearer ${e}`,"user-agent":qm.Environment.instance.systemUserAgent,"zp-dn":qm.Environment.instance.deploymentName??"unknown"}}).catch(a=>{console.error(a)})},"dispatchFunction"),Ss,Fl=class{static{o(this,"UnifiedLogTransport")}constructor(e){Ss||(Ss=new pS.BatchDispatch("unified-log-transport",1,fS(e)))}async log(e,r){Ss.enqueue(e),r.waitUntil(Ss.waitUntilFlushed())}};Is.UnifiedLogTransport=Fl});var zm=g(As=>{"use strict";Object.defineProperty(As,"__esModule",{value:!0});As.LogInitializer=void 0;var mS=Er(),yS=Rt(),jm=Tu(),Vm=te(),Gm=$h(),gS=Nt(),_S=jh(),Bm=Vh(),Km=Lm(),bS=Ul(),ES=_s(),Jm=Mm(),wS=Fm(),vS=$m(),Hl=(0,mS.debug)("zuplo:logging"),ql=class{static{o(this,"LogInitializer")}serviceProvider;systemCoreLogger;userCoreLogger;constructor(e){this.serviceProvider=e,this.systemCoreLogger=this.setupSystemCoreLogger(Vm.Environment.instance),this.userCoreLogger=this.setupUserCoreLogger(Vm.Environment.instance)}setupSystemCoreLogger(e){let{runtime:r,build:n}=e;Hl("Gateway.setupSystemCoreLogger");let i=[],s=this.serviceProvider.getService(jm.SYSTEM_LOGGER);return s?i.push(new Jm.ProcessTransport(s.logger,e.logFormat)):e.isDeno&&i.push(new Km.ConsoleTransport(console,e.logFormat)),e.isCloudflare&&e.deploymentName&&e.remoteLogToken&&i.push(new vS.UnifiedLogTransport({url:e.remoteLogURL,deploymentName:e.deploymentName,remoteLogToken:e.remoteLogToken,build:e.build})),new Gm.CoreLogger(e.systemLogLevel,"system",e.loggingId,n.BUILD_ID,i)}setupUserCoreLogger(e){Hl("Gateway.setupUserCoreLogger");let r=[],{runtime:n,build:i}=e,s=this.serviceProvider.getService(jm.SYSTEM_LOGGER);if(s&&s.captureUserLogs===!0?r.push(new Jm.ProcessTransport(s.logger,e.logFormat)):e.isDeno&&r.push(new Km.ConsoleTransport(console,e.logFormat)),e.remoteLogToken&&e.loggingId&&r.push(new wS.RemoteLogTransport({loggingId:e.loggingId,url:e.remoteLogURL,remoteLogToken:e.remoteLogToken,sendOnlyErrors:e.isCloudflare})),n.GCP_USER_LOG_NAME&&n.GCP_USER_LOG_SVC_ACCT_JSON&&r.push(new ES.GoogleLogTransport({serviceAccountJson:n.GCP_USER_LOG_SVC_ACCT_JSON,logName:n.GCP_USER_LOG_NAME})),n.ZUPLO_USER_LOGGER_DATA_DOG_API_KEY){let a=n.ZUPLO_USER_LOGGER_DATA_DOG_URL;r.push(new bS.DataDogTransport({apiKey:n.ZUPLO_USER_LOGGER_DATA_DOG_API_KEY,url:a}))}return yS.plugins.forEach(a=>{a instanceof gS.LogPlugin&&r.push(a.getTransport())}),new Gm.CoreLogger(e.userLogLevel,"user",e.loggingId,i.BUILD_ID,r)}createRequestLoggers(e,r,n,i,s){Hl("Gateway.createRequestLoggers");let a=new _S.LoggingContext(n,i,s),c=new Bm.RequestLogger(e,r,this.systemCoreLogger,a);return{userRequestLogger:new Bm.RequestLogger(e,r,this.userCoreLogger,a),systemRequestLogger:c}}};As.LogInitializer=ql});var jl=g(Ps=>{"use strict";Object.defineProperty(Ps,"__esModule",{value:!0});Ps.UserRouteConfiguration=void 0;var $l=class{static{o(this,"UserRouteConfiguration")}constructor(e){this.path=e.path,this.methods=e.methods,this.label=e.label,this.key=e.key,this.handler=e.handler,this.corsPolicy=e.corsPolicy,this.custom=e.custom,this.version=e.version,this.policies=e.policies,this.excludeFromOpenApi=e.excludeFromOpenApi,this.pathPattern=e.pathPattern,e.raw?(this.#e=e.raw(),this.operationId=this.raw()?.operationId,this.summary=this.raw()?.summary,this.tags=this.raw()?.tags,this.parameters=this.raw()?.parameters,this.responses=this.raw()?.responses):(this.operationId=e.operationId,this.summary=e.summary,this.tags=e.tags,this.parameters=e.parameters,this.responses=e.responses)}raw(){return this.#e}#e;label;key;path;summary;operationId;tags;parameters;responses;excludeFromOpenApi;pathPattern;custom;methods;handler;corsPolicy;version;policies};Ps.UserRouteConfiguration=$l});var Gl=g(bt=>{"use strict";Object.defineProperty(bt,"__esModule",{value:!0});bt.Router=bt.RouterError=bt.LookupResult=bt.RouterEntry=void 0;var Wm=D(),TS=ft(),SS=jl(),Rs=class{static{o(this,"RouterEntry")}constructor(e,r,n,i){this.fullPath=e,this.urlPattern=r,this.config=n,this.executableHandler=i}fullPath;urlPattern;config;executableHandler};bt.RouterEntry=Rs;var fi=class{static{o(this,"LookupResult")}constructor(e,r,n){this.routeConfiguration=e,this.params=n??{},this.executableHandler=r}executableHandler;routeConfiguration;params};bt.LookupResult=fi;var Os=class extends Error{static{o(this,"RouterError")}constructor(e,r){super(e,r)}};bt.RouterError=Os;var Vl=class{static{o(this,"Router")}constructor(e){this.routeEntries=[],this.versions=e}versions;routeEntries;addRoute(e,r){if(!(e instanceof SS.UserRouteConfiguration||e instanceof TS.SystemRouteConfiguration))throw new Wm.SystemError("Config must be a UserRouteConfiguration or SystemRouteConfiguration");let n=this.versions.find(s=>s.name===e.version)?.pathPrefix,i;"pathPattern"in e&&e.pathPattern?i=`${n??""}${e.pathPattern}`:i=`${n??""}${e.path}`;try{let s=new URLPattern({pathname:i}),a=new Rs(i,s,e,r);Object.freeze(a.config),this.routeEntries.push(a)}catch(s){throw new Os(`addRoute-error: Invalid path '${i}'. '${s.message}'`,{cause:s})}}lookup(e,r){if(typeof e>"u")throw new Wm.ConfigurationError(`Invalid request - Method was undefined. Path: '${r}'`);let n=this.routeEntries.filter(i=>i.config.methods.includes(e));if(n.length!==0)for(let i=0;i<n.length;i++){let s=n[i],c=s.urlPattern.exec({pathname:r});if(c!==null)return new fi(s.config,s.executableHandler,c.pathname.groups)}}lookupByPathOnly(e){let r=[];for(let n=0;n<this.routeEntries.length;n++){let i=this.routeEntries[n],a=i.urlPattern.exec({pathname:e});if(a!==null){let c=new fi(i.config,i.executableHandler,a.pathname.groups);r.push(c)}}return r}};bt.Router=Vl});var un=g(Ns=>{"use strict";Object.defineProperty(Ns,"__esModule",{value:!0});Ns.Gateway=void 0;var IS=Er(),Qm=bh(),Ym=vh(),AS=Th(),Zm=Sh(),Xm=Rh(),ir=Jn(),xs=wr(),ey=qh(),wt=D(),Bl=Rt(),PS=zm(),RS=Vt(),OS=ve(),xS=Eu(),NS=Tr(),CS=Qn(),LS=Wn(),DS=Gl(),Kl=ft(),ty=jl(),US=Ge(),ry=te(),ny=Ar(),MS=["/__zuplo/ping","/__zuplo/open-api","/__zuplo/docs","/__zuplo/consumers","/__zuplo/external-users","/__zuplo/assets","/__zuplo/config","/__zuplo/build","/favicon.ico"],Et=(0,IS.debug)("zuplo:runtime"),kS=o(t=>{let e=t.findIndex(r=>r.name===Kl.systemNoVersion.name);return e>-1?[...t.splice(e),Kl.systemNoVersion]:[...t,Kl.systemNoVersion]},"setupSystemNoVersion"),Jl=class t{static{o(this,"Gateway")}routeData;runtimeSettings;schemaValidator;static#e;constructor(e,r,n,i){this.routeData=e,this.runtimeSettings=r,this.schemaValidator=i,Et("Gateway.constructor"),this.#r=this.setupRoutes(),this.#i=this.setupErrorHandler(),this.#t=new PS.LogInitializer(n)}static async initialize(e,r,n,i,s){if(Et("Gateway.initialize"),!t.#e){await(0,Bl.initializeRuntime)(s);let a=new t(e,r,n,i);t.#e=a}return t.#e}static purgeGatewayCache(){Et("Gateway.purgeGatewayCache"),t.#e=void 0}static get instance(){if(!t.#e)throw new wt.SystemError("Gateway cannot be used before it is initialized");return t.#e}instanceId=crypto.randomUUID();#t;#r;#n=[CS.policyProcessor,xS.corsProcessor,NS.metricsProcessor];#i;setupRoutes=()=>{Et("Gateway.setupRoutes");let e=this.routeData,r=kS(e.versions),n=new DS.Router(r);if(e.routes.length===0)return(0,Qm.registerBuildRoute)(n,this),(0,Xm.registerPingRoute)(n,this),(0,Ym.registerCorsRoute)(n,this),(0,AS.registerNoRoutes)(n,this),n;let{enabled:i}=this.runtimeSettings.developerPortal;return i&&((0,ey.registerDevPortalLegacyRedirectRoute)(n,this),(0,ey.registerDevPortalV3Route)(n,this)),(0,Qm.registerBuildRoute)(n,this),(0,Xm.registerPingRoute)(n,this),(0,Ym.registerCorsRoute)(n,this),e.routes.forEach(s=>{let a;if(typeof s.handler?.module=="object"&&(a=s.handler?.module[s.handler.export]),typeof a!="function")throw new wt.ConfigurationError(`Invalid state - No handler on route for path '${s.path}'`);let c=a,u=new RS.Pipeline(this.#n,c,this),l=new ty.UserRouteConfiguration(s);n.addRoute(l,u.execute)}),(0,Zm.registerNotMatchedHandler)(n,this),n};setupErrorHandler=()=>{let e;if(typeof this.routeData.requestErrorHandler?.module=="object"){if(e=this.routeData.requestErrorHandler.module[this.routeData.requestErrorHandler.export],typeof e!="function")throw new wt.ConfigurationError("Invalid state - Module and export set for 'errorHandler' is not a function")}else e=o((r,n,i)=>this.#o(r,n,i),"errorHandler");return e};errorHandler(e,r,n){try{return this.#i(e,r,n)}catch(i){return Et("An error occurred in the user's errorHandler",i),this.#o(e,r,i)}}#o(e,r,n){Et("Gateway.internalErrorResponse");let i={};if(ry.Environment.instance.isDeno){if(n instanceof wt.RuntimeError&&n.extensionMembers)i=n.extensionMembers;else if(n.cause){let s=(0,ny.serializeError)(n.cause);"stack"in s&&(s.stack=(0,ny.cleanStack)(s.stack)),i={cause:s}}}return OS.HttpProblems.internalServerError(e,r,{detail:n.message,...i})}#s(e){if(ry.Environment.instance.isCloudflare)return e;{let r=new Headers;for(let[n,i]of e.headers)ir.INTERNAL_HEADERS_TO_REMOVE.includes(n.toLowerCase())||r.set(n,i);return new Request(e,{headers:r})}}async handleRequest(e,r){let n=e.headers.get(ir.REQUEST_ID_HEADER)??e.headers.get(ir.LEGACY_REQUEST_ID_HEADER),i=e.headers.get(ir.RAY_ID_HEADER);if(!n){n=crypto.randomUUID();let T=new Headers(e.headers);T.set(ir.REQUEST_ID_HEADER,n),e=new Request(e,{headers:T})}if(["GET","HEAD"].includes(e.method)&&e.body){let T=new Headers(e.headers);T.set(ir.BODY_REMOVED_HEADER,"true"),e=new Request(e,{headers:T,body:null})}let s={},{userRequestLogger:a,systemRequestLogger:c}=this.#t.createRequestLoggers(n,i,r,s,e),u=new URL(e.url),l=u.pathname,d=this.#r.lookup(e.method,l);if(!d)throw new wt.SystemError(`Invalid state - no route match - should have been picked up by the not found handler, path: '${l}'`);let p=new xs.HeaderIncomingRequestProperties(e.headers),m=this.#s(e),f=new LS.ZuploRequest(m,{params:d.params}),y=new xs.SystemZuploContext({logger:a,route:d.routeConfiguration,requestId:n,fetchEvent:r,custom:s,incomingRequestProperties:p}),v=xs.ZuploContextExtensions.initialize(y,f);if(d.routeConfiguration===Zm.notFoundRouteConfiguration&&Bl.runtimeExtensions.value?.notFoundHandler!==void 0){let T=this.#r.lookupByPathOnly(l);v.pathOnlyMatches=T.map(I=>I.routeConfiguration).filter(I=>I instanceof ty.UserRouteConfiguration)}try{if(US.SystemLogMap.addLogger(y,c),!u.pathname.startsWith("/__zuplo")){let j=await(0,Bl.invokeOnRequestExtensions)(f,y);if(j instanceof Response)return j;{let x=xs.ZuploContextExtensions.getContextExtensions(y);f=j,x.latestRequest=f}}[...MS,...this.runtimeSettings.developerPortal.enabled?[this.runtimeSettings.developerPortal.sitePathname]:[]].filter(j=>new RegExp(j).test(u.pathname)).length===0&&a.debug(`Request received '${u.pathname}'`,{method:e.method,url:u.pathname,hostname:u.hostname,route:d.routeConfiguration.path});let I=d.executableHandler;FS(I,d,e),Et("Gateway.handleRequest - call user handler");let k=await I(f,y);if(Et("Gateway.handleRequest - user handler"),!(k instanceof Response))throw new wt.RuntimeError(`Invalid Response type from the request handler: ${typeof k}`);if(k.bodyUsed)throw new wt.RuntimeError("The response object has already been used. Return a new response instead.");if(k.headers.get(ir.REQUEST_ID_HEADER)===null&&!k.webSocket){let j=new Headers(k.headers);return j.set(ir.REQUEST_ID_HEADER,n),new Response(k.body,{status:k.status,statusText:k.statusText,headers:j,cf:k.cf})}else return k}catch(T){return Et("Gateway - error executing handler",T),T instanceof wt.RuntimeError?(a.error(T),c.warn(T)):c.error(T),await this.#o(f,y,T)}}};Ns.Gateway=Jl;function FS(t,e,r){if(Et("Gateway.checkHandler"),!t)throw typeof e.routeConfiguration>"u"?new wt.ConfigurationError(`Invalid state - no routeConfiguration for '${r.method}:${r.url}`):new wt.ConfigurationError(`Invalid state. No handler for request '${r.method}':'${e.routeConfiguration.path}'`)}o(FS,"checkHandler")});var iy=g(Cs=>{"use strict";Object.defineProperty(Cs,"__esModule",{value:!0});Cs.invokeInboundPolicy=void 0;var HS=D(),qS=un(),$S=Qn(),jS=o(async(t,e,r)=>{let n=qS.Gateway.instance.routeData.policies,i=(0,$S.getInboundPolicyHandlerAndOptions)([t],n);if(i.length===0)throw new HS.RuntimeError(`Invalid 'invokeInboundPolicy call' - no policy '${t}' found.`);let s=i[0];return s.handler(e,r,s.options,t)},"invokeInboundPolicy");Cs.invokeInboundPolicy=jS});var wr=g(Xe=>{"use strict";Object.defineProperty(Xe,"__esModule",{value:!0});Xe.SystemZuploContext=Xe.ZuploContextExtensions=Xe.ResponseSentEvent=Xe.ResponseSendingEvent=Xe.HeaderIncomingRequestProperties=void 0;var _e=Jn(),VS=D(),GS=iy(),zl=class{static{o(this,"HeaderIncomingRequestProperties")}#e;constructor(e){this.#e=e}get asn(){try{let e=this.#e.get(_e.ZP_ASN_HEADER);if(typeof e=="string")return parseInt(e)}catch{}}get asOrganization(){return this.#e.get(_e.ZP_AS_ORG_HEADER)??void 0}get city(){return this.#e.get(_e.CF_IP_CITY_HEADER)??this.#e.get(_e.ZP_IP_CITY_HEADER)??void 0}get continent(){return this.#e.get(_e.CF_IP_CONTINENT_HEADER)??this.#e.get(_e.ZP_IP_CONTINENT_HEADER)??void 0}get country(){return this.#e.get(_e.CF_IP_COUNTRY_HEADER)??this.#e.get(_e.ZP_IP_COUNTRY_HEADER)??void 0}get latitude(){return this.#e.get(_e.CF_IP_LATITUDE_HEADER)??this.#e.get(_e.ZP_IP_LATITUDE_HEADER)??void 0}get longitude(){return this.#e.get(_e.CF_IP_LONGITUDE_HEADER)??this.#e.get(_e.ZP_IP_LONGITUDE_HEADER)??void 0}get colo(){return this.#e.get(_e.ZP_COLO_HEADER)??void 0}get postalCode(){return this.#e.get(_e.ZP_POSTAL_CODE_HEADER)??void 0}get metroCode(){return this.#e.get(_e.ZP_METRO_CODE_HEADER)??void 0}get region(){return this.#e.get(_e.ZP_REGION_HEADER)??void 0}get regionCode(){return this.#e.get(_e.ZP_REGION_CODE_HEADER)??void 0}get timezone(){return this.#e.get(_e.ZP_TIMEZONE_HEADER)??void 0}toJSON(){return{asn:this.asn,asOrganization:this.asOrganization,city:this.city,continent:this.continent,country:this.country,latitude:this.latitude,longitude:this.longitude,colo:this.colo,postalCode:this.postalCode,metroCode:this.metroCode,region:this.region,regionCode:this.regionCode,timezone:this.timezone}}};Xe.HeaderIncomingRequestProperties=zl;var Wl=class extends Event{static{o(this,"ResponseSendingEvent")}constructor(e,r){super("responseSending"),this.request=e,this.mutableResponse=r}request;mutableResponse};Xe.ResponseSendingEvent=Wl;var Ql=class extends Event{static{o(this,"ResponseSentEvent")}constructor(e,r){super("responseSent"),this.request=e,this.response=r}request;response};Xe.ResponseSentEvent=Ql;var Ls=class t{static{o(this,"ZuploContextExtensions")}static#e=new WeakMap;static initialize(e,r){if(!t.#e.has(e)){let n=new t(r);return t.#e.set(e,n),n}throw new Error(`ZuploContextExtensions already initialized for context with requestId '${e.requestId}'`)}static getContextExtensions(e){let r=t.#e.get(e);if(!r)throw new VS.RuntimeError(`Invalid state, could not get ZuploContext extensions for context with requestId '${e.requestId}'`);return r}latestRequest;pathOnlyMatches;#t;#r;constructor(e){this.latestRequest=e,this.#t=[],this.#r=[]}addResponseSendingHook(e){this.#r.push(e)}addResponseSendingFinalHook(e){this.#t.push(e)}onResponseSendingFinal=async(e,r,n)=>{for(let i of this.#t)await i(e,r,n)};onResponseSending=async(e,r,n)=>{let i=e;for(let s of this.#r)i=await s(e,r,n);return i}};Xe.ZuploContextExtensions=Ls;var Yl=class extends EventTarget{static{o(this,"SystemZuploContext")}constructor({logger:e,route:r,requestId:n,fetchEvent:i,custom:s,incomingRequestProperties:a}){super(),this.log=Object.freeze(e),this.route=r,this.requestId=n,this.custom=s,this.incomingRequestProperties=a,this.#e=i,this.invokeInboundPolicy=(c,u)=>(0,GS.invokeInboundPolicy)(c,u,this),this.waitUntil=c=>{this.#e.waitUntil(c)},this.addResponseSendingFinalHook=c=>{Ls.getContextExtensions(this).addResponseSendingFinalHook(c)},Object.freeze(this)}#e;requestId;log;route;custom;incomingRequestProperties;invokeInboundPolicy;waitUntil;addResponseSendingFinalHook;addEventListener(e,r,n){let i=o(s=>{try{typeof r=="function"?r(s):r.handleEvent(s)}catch(a){throw this.log.error(`Error invoking event ${e}. See following logs for details.`),a}},"wrapped");super.addEventListener(e,i,n)}};Xe.SystemZuploContext=Yl});var oy=g(Ds=>{"use strict";Object.defineProperty(Ds,"__esModule",{value:!0});Ds.ContextData=void 0;var Zl=class t{static{o(this,"ContextData")}static#e;#t;constructor(e){this.#t=e}set(e,r){t.set(e,this.#t,r)}get(e){return t.get(e,this.#t)}static set(e,r,n){t.#e||(t.#e=new WeakMap);let i=t.#e.get(e);i||(i=new Map),i.set(r,n)}static get(e,r){return t.#e||(t.#e=new WeakMap),t.#e.get(e)?.get(r)}};Ds.ContextData=Zl});var Xl=g(or=>{"use strict";Object.defineProperty(or,"__esModule",{value:!0});or.environment=or.isZuploReadableEnvVariableName=or.isRestrictedEnvVariableName=void 0;var BS=["ZUPLO_USER_LOGGER_DATA_DOG_API_KEY","ZUPLO_USER_LOGGER_DATA_DOG_URL","ZUPLO_LOG_LEVEL","ZUPLO_HANDLER_WRITE_LOG_LEVEL"];function sy(t){return t.startsWith("__ZUPLO")||t.startsWith("ZUPLO_")?!BS.includes(t)&&!t.startsWith("ZUPLO_PUBLIC_"):!1}o(sy,"isRestrictedEnvVariableName");or.isRestrictedEnvVariableName=sy;function ay(t){return!!t.startsWith("ZUPLO_")}o(ay,"isZuploReadableEnvVariableName");or.isZuploReadableEnvVariableName=ay;var KS=new Proxy({},{get(t,e,r){if(sy(String(e))&&!ay(String(e)))return;let n=globalThis,i;return n.process?i=n.process.env[e]:i=n[e],i}});or.environment=KS});var ed=g(ln=>{"use strict";Object.defineProperty(ln,"__esModule",{value:!0});ln.externalServiceHandler=ln.externalServiceTunnelConfig=void 0;var JS=Er(),Nr=D(),zS=td(),mi=te(),at=(0,JS.debug)("zuplo:runtime:external-service");function uy(){let t,{__ZUPLO_EXTERNAL_SERVICE_TOKEN:e}=mi.Environment.instance.runtime;if(e&&e!=="undefined")try{let r=atob(e);t=JSON.parse(r)}catch{}return t}o(uy,"getServiceAuth");async function WS(t){let e=uy();if(!e)throw at("There is no external service auth configured for this zup."),new Nr.RuntimeError("There are no external services configured for this zup.");if(typeof t!="string")throw at("Cannot call external service with Request object"),new Nr.RuntimeError("Currently, we only support fetch(<some_string>, ...).");let n=new URL(t).hostname,i={};i["CF-Access-Client-Id"]=e.clientId,i["CF-Access-Client-Secret"]=e.clientSecret;let s;if(e.customServiceMapping&&e.customServiceMapping[n])s=`https://${e.customServiceMapping[n]}`;else if(mi.Environment.instance.useSha256ServiceRouting){at("Using sha256 service routing");let a=mi.Environment.instance.build;if(a.ACCOUNT_NAME&&a.PROJECT_NAME&&a.ENVIRONMENT_TYPE)s=`https://${await ly(n,a.ACCOUNT_NAME,a.PROJECT_NAME,a.ENVIRONMENT_TYPE)}.zuptunnel.com`;else throw at("Cannot use sha256 service routing, missing build variables"),new Nr.RuntimeError("Failed to generate fully qualified tunnel url.")}else s=`https://${n}.zuptunnel.com`;return{serviceBaseUrl:s,tunnelHeaders:i}}o(WS,"externalServiceTunnelConfig");ln.externalServiceTunnelConfig=WS;async function QS(t,e){let r=uy();if(r)if(at(`Using external service auth. ClientId: ${r.clientId})`),typeof t=="string"){let n=new URL(t),i=n.hostname,s=e??{},a=new Headers(s.headers||{});a.set("CF-Access-Client-Id",r.clientId),a.set("CF-Access-Client-Secret",r.clientSecret),s.headers=a;let c;if(r.customServiceMapping&&r.customServiceMapping[i])c=`https://${r.customServiceMapping[i]}`;else if(mi.Environment.instance.useSha256ServiceRouting){at("Using sha256 service routing");let d=mi.Environment.instance.build;if(d.ACCOUNT_NAME&&d.PROJECT_NAME&&d.ENVIRONMENT_TYPE)c=`https://${await ly(i,d.ACCOUNT_NAME,d.PROJECT_NAME,d.ENVIRONMENT_TYPE)}.zuptunnel.com`;else throw at("Cannot use sha256 service routing, missing build variables"),new Nr.RuntimeError("Failed to generate fully qualified tunnel url.")}else c=`https://${i}.zuptunnel.com`;let u=new URL(`${c}${n.pathname}${n.search}`);at(`Calling external service: ${u.toString()}`);let l=await(0,zS.originalFetch)(u.toString(),s);if(l.status===403&&l.headers.get("cf-access-domain")!==null)throw console.error("403 Forbidden when calling external service.",{clientId:r.clientId,tunnelHost:c}),new Nr.RuntimeError("Could not connect to secure tunnel.");return l}else throw at("Cannot call external service with Request object"),new Nr.RuntimeError("Currently, we only support fetch(<some_string>, ...).");else throw at("There is no external service auth configured for this zup."),new Nr.RuntimeError("There are no external services configured for this zup.")}o(QS,"externalServiceHandler");ln.externalServiceHandler=QS;async function ly(t,e,r,n){let i=t.toLowerCase(),s=e.toLowerCase(),a=r.toLowerCase(),c=YS(n);at(`Hashing service name: ${s}-${i}.${s}-${a}-${c}`);let u=await cy(`${s}-${i}`),l=await cy(`${s}-${a}-${c}`);return`${u}.${l}`}o(ly,"hashServiceName");async function cy(t){let e=new TextEncoder().encode(t),r=await crypto.subtle.digest("SHA-256",e);return Array.from(new Uint8Array(r)).map(s=>s.toString(16).padStart(2,"0")).join("").slice(0,-1)}o(cy,"hashSegment");function YS(t){let e=t.toLowerCase();switch(e){case"production":case"preview":return e;default:return"working-copy"}}o(YS,"sanitizeEnvironmentType")});var td=g(dn=>{"use strict";Object.defineProperty(dn,"__esModule",{value:!0});dn.originalFetch=void 0;var ZS=ed(),dy=new Map;dy.set("service:",ZS.externalServiceHandler);dn.originalFetch=globalThis.fetch;globalThis.fetch=function(t,e){let r=XS(e);if(typeof t=="string"){let n=new URL(t),i=dy.get(n.protocol);return i?i(t,r):(0,dn.originalFetch)(t,r)}else return(0,dn.originalFetch)(t,r)};var XS=o(t=>{if(!t||t instanceof Request)return t;let e=t;if(!e.zuplo)return t;let r=t;return r.cf={cacheEverything:e.zuplo?.cacheEverything,cacheTtl:e.zuplo?.cacheTtlSeconds},delete t.zuplo,t},"transformInit")});var fy=g(pn=>{"use strict";Object.defineProperty(pn,"__esModule",{value:!0});pn.Handler=pn.purgeGatewayCache=void 0;var hy=un(),py=te(),eI=o(()=>{hy.Gateway.purgeGatewayCache()},"purgeGatewayCache");pn.purgeGatewayCache=eI;var rd=class{static{o(this,"Handler")}routeData;buildEnvironment;runtimeEnvironment;runtimeSettings;serviceProvider;schemaValidations;runtimeInit;constructor(e,r,n,i,s,a,c){this.routeData=e,this.buildEnvironment=r,this.runtimeEnvironment=n,this.runtimeSettings=i,this.serviceProvider=s,this.schemaValidations=a,this.runtimeInit=c}requestHandler=async(e,r)=>{py.Environment.initialize(this.buildEnvironment,this.runtimeEnvironment);let n;try{n=await hy.Gateway.initialize(this.routeData,this.runtimeSettings,this.serviceProvider,this.schemaValidations,this.runtimeInit)}catch(i){console.error("Error initializing gateway.",i);let s={status:500,title:"Gateway Initialization Error",type:"https://httpproblems.com/http-status/500",detail:"Error initializing gateway. Check your 'zuplo.runtime.ts' for errors or contact support.",instance:e.url,trace:{timestamp:Date.now(),rayId:e.headers.get("cf-ray")??void 0,buildId:this.buildEnvironment.BUILD_ID},message:py.Environment.instance.isDeno?i.message:void 0};return new Response(JSON.stringify(s,null,2),{status:500,headers:{"content-type":"application/json"}})}return n.handleRequest(e,r)}};pn.Handler=rd});var _y=g(Re=>{"use strict";Object.defineProperty(Re,"__esModule",{value:!0});Re.pathToRegexp=Re.tokensToRegexp=Re.regexpToFunction=Re.match=Re.tokensToFunction=Re.compile=Re.parse=void 0;function tI(t){for(var e=[],r=0;r<t.length;){var n=t[r];if(n==="*"||n==="+"||n==="?"){e.push({type:"MODIFIER",index:r,value:t[r++]});continue}if(n==="\\"){e.push({type:"ESCAPED_CHAR",index:r++,value:t[r++]});continue}if(n==="{"){e.push({type:"OPEN",index:r,value:t[r++]});continue}if(n==="}"){e.push({type:"CLOSE",index:r,value:t[r++]});continue}if(n===":"){for(var i="",s=r+1;s<t.length;){var a=t.charCodeAt(s);if(a>=48&&a<=57||a>=65&&a<=90||a>=97&&a<=122||a===95){i+=t[s++];continue}break}if(!i)throw new TypeError("Missing parameter name at ".concat(r));e.push({type:"NAME",index:r,value:i}),r=s;continue}if(n==="("){var c=1,u="",s=r+1;if(t[s]==="?")throw new TypeError('Pattern cannot start with "?" at '.concat(s));for(;s<t.length;){if(t[s]==="\\"){u+=t[s++]+t[s++];continue}if(t[s]===")"){if(c--,c===0){s++;break}}else if(t[s]==="("&&(c++,t[s+1]!=="?"))throw new TypeError("Capturing groups are not allowed at ".concat(s));u+=t[s++]}if(c)throw new TypeError("Unbalanced pattern at ".concat(r));if(!u)throw new TypeError("Missing pattern at ".concat(r));e.push({type:"PATTERN",index:r,value:u}),r=s;continue}e.push({type:"CHAR",index:r,value:t[r++]})}return e.push({type:"END",index:r,value:""}),e}o(tI,"lexer");function nd(t,e){e===void 0&&(e={});for(var r=tI(t),n=e.prefixes,i=n===void 0?"./":n,s="[^".concat(hn(e.delimiter||"/#?"),"]+?"),a=[],c=0,u=0,l="",d=o(function(ee){if(u<r.length&&r[u].type===ee)return r[u++].value},"tryConsume"),p=o(function(ee){var fe=d(ee);if(fe!==void 0)return fe;var Me=r[u],E=Me.type,F=Me.index;throw new TypeError("Unexpected ".concat(E," at ").concat(F,", expected ").concat(ee))},"mustConsume"),m=o(function(){for(var ee="",fe;fe=d("CHAR")||d("ESCAPED_CHAR");)ee+=fe;return ee},"consumeText");u<r.length;){var f=d("CHAR"),y=d("NAME"),v=d("PATTERN");if(y||v){var T=f||"";i.indexOf(T)===-1&&(l+=T,T=""),l&&(a.push(l),l=""),a.push({name:y||c++,prefix:T,suffix:"",pattern:v||s,modifier:d("MODIFIER")||""});continue}var I=f||d("ESCAPED_CHAR");if(I){l+=I;continue}l&&(a.push(l),l="");var k=d("OPEN");if(k){var T=m(),j=d("NAME")||"",x=d("PATTERN")||"",oe=m();p("CLOSE"),a.push({name:j||(x?c++:""),pattern:j&&!x?s:x,prefix:T,suffix:oe,modifier:d("MODIFIER")||""});continue}p("END")}return a}o(nd,"parse");Re.parse=nd;function rI(t,e){return my(nd(t,e),e)}o(rI,"compile");Re.compile=rI;function my(t,e){e===void 0&&(e={});var r=id(e),n=e.encode,i=n===void 0?function(u){return u}:n,s=e.validate,a=s===void 0?!0:s,c=t.map(function(u){if(typeof u=="object")return new RegExp("^(?:".concat(u.pattern,")$"),r)});return function(u){for(var l="",d=0;d<t.length;d++){var p=t[d];if(typeof p=="string"){l+=p;continue}var m=u?u[p.name]:void 0,f=p.modifier==="?"||p.modifier==="*",y=p.modifier==="*"||p.modifier==="+";if(Array.isArray(m)){if(!y)throw new TypeError('Expected "'.concat(p.name,'" to not repeat, but got an array'));if(m.length===0){if(f)continue;throw new TypeError('Expected "'.concat(p.name,'" to not be empty'))}for(var v=0;v<m.length;v++){var T=i(m[v],p);if(a&&!c[d].test(T))throw new TypeError('Expected all "'.concat(p.name,'" to match "').concat(p.pattern,'", but got "').concat(T,'"'));l+=p.prefix+T+p.suffix}continue}if(typeof m=="string"||typeof m=="number"){var T=i(String(m),p);if(a&&!c[d].test(T))throw new TypeError('Expected "'.concat(p.name,'" to match "').concat(p.pattern,'", but got "').concat(T,'"'));l+=p.prefix+T+p.suffix;continue}if(!f){var I=y?"an array":"a string";throw new TypeError('Expected "'.concat(p.name,'" to be ').concat(I))}}return l}}o(my,"tokensToFunction");Re.tokensToFunction=my;function nI(t,e){var r=[],n=od(t,r,e);return yy(n,r,e)}o(nI,"match");Re.match=nI;function yy(t,e,r){r===void 0&&(r={});var n=r.decode,i=n===void 0?function(s){return s}:n;return function(s){var a=t.exec(s);if(!a)return!1;for(var c=a[0],u=a.index,l=Object.create(null),d=o(function(m){if(a[m]===void 0)return"continue";var f=e[m-1];f.modifier==="*"||f.modifier==="+"?l[f.name]=a[m].split(f.prefix+f.suffix).map(function(y){return i(y,f)}):l[f.name]=i(a[m],f)},"_loop_1"),p=1;p<a.length;p++)d(p);return{path:c,index:u,params:l}}}o(yy,"regexpToFunction");Re.regexpToFunction=yy;function hn(t){return t.replace(/([.+*?=^!:${}()[\]|/\\])/g,"\\$1")}o(hn,"escapeString");function id(t){return t&&t.sensitive?"":"i"}o(id,"flags");function iI(t,e){if(!e)return t;for(var r=/\((?:\?<(.*?)>)?(?!\?)/g,n=0,i=r.exec(t.source);i;)e.push({name:i[1]||n++,prefix:"",suffix:"",modifier:"",pattern:""}),i=r.exec(t.source);return t}o(iI,"regexpToRegexp");function oI(t,e,r){var n=t.map(function(i){return od(i,e,r).source});return new RegExp("(?:".concat(n.join("|"),")"),id(r))}o(oI,"arrayToRegexp");function sI(t,e,r){return gy(nd(t,r),e,r)}o(sI,"stringToRegexp");function gy(t,e,r){r===void 0&&(r={});for(var n=r.strict,i=n===void 0?!1:n,s=r.start,a=s===void 0?!0:s,c=r.end,u=c===void 0?!0:c,l=r.encode,d=l===void 0?function(F){return F}:l,p=r.delimiter,m=p===void 0?"/#?":p,f=r.endsWith,y=f===void 0?"":f,v="[".concat(hn(y),"]|$"),T="[".concat(hn(m),"]"),I=a?"^":"",k=0,j=t;k<j.length;k++){var x=j[k];if(typeof x=="string")I+=hn(d(x));else{var oe=hn(d(x.prefix)),ee=hn(d(x.suffix));if(x.pattern)if(e&&e.push(x),oe||ee)if(x.modifier==="+"||x.modifier==="*"){var fe=x.modifier==="*"?"?":"";I+="(?:".concat(oe,"((?:").concat(x.pattern,")(?:").concat(ee).concat(oe,"(?:").concat(x.pattern,"))*)").concat(ee,")").concat(fe)}else I+="(?:".concat(oe,"(").concat(x.pattern,")").concat(ee,")").concat(x.modifier);else x.modifier==="+"||x.modifier==="*"?I+="((?:".concat(x.pattern,")").concat(x.modifier,")"):I+="(".concat(x.pattern,")").concat(x.modifier);else I+="(?:".concat(oe).concat(ee,")").concat(x.modifier)}}if(u)i||(I+="".concat(T,"?")),I+=r.endsWith?"(?=".concat(v,")"):"$";else{var Me=t[t.length-1],E=typeof Me=="string"?T.indexOf(Me[Me.length-1])>-1:Me===void 0;i||(I+="(?:".concat(T,"(?=").concat(v,"))?")),E||(I+="(?=".concat(T,"|").concat(v,")"))}return new RegExp(I,id(r))}o(gy,"tokensToRegexp");Re.tokensToRegexp=gy;function od(t,e,r){return t instanceof RegExp?iI(t,e):Array.isArray(t)?oI(t,e,r):sI(t,e,r)}o(od,"pathToRegexp");Re.pathToRegexp=od});var ud=g(fn=>{"use strict";Object.defineProperty(fn,"__esModule",{value:!0});fn.AwsV4Signer=fn.AwsClient=void 0;var aI=Er(),vy=D(),cI=(0,aI.debug)("zuplo:runtime"),ad=new TextEncoder,by={appstream2:"appstream",cloudhsmv2:"cloudhsm",email:"ses",marketplace:"aws-marketplace",mobile:"AWSMobileHubService",pinpoint:"mobiletargeting",queue:"sqs","git-codecommit":"codecommit","mturk-requester-sandbox":"mturk-requester","personalize-runtime":"personalize"},uI=["authorization","content-type","content-length","user-agent","presigned-expires","expect","x-amzn-trace-id","range","connection"],cd=class{static{o(this,"AwsClient")}accessKeyId;secretAccessKey;sessionToken;service;region;cache;retries;initRetryMs;constructor({accessKeyId:e,secretAccessKey:r,sessionToken:n,service:i,region:s,cache:a,retries:c,initRetryMs:u}){if(e==null)throw new TypeError("accessKeyId is a required option");if(r==null)throw new TypeError("secretAccessKey is a required option");this.accessKeyId=e,this.secretAccessKey=r,this.sessionToken=n,this.service=i,this.region=s,this.cache=a||new Map,this.retries=c??0,this.initRetryMs=u||50}async sign(e,r){let n=new Us(Object.assign({url:e},r,this,r&&r.aws)),i=Object.assign({},r,await n.sign());return delete i.aws,{url:i.url.toString(),request:i}}async fetch(e,r){cI("AWS fetch",e);for(let n=0;n<=this.retries;n++){let{url:i,request:s}=await this.sign(e,r),a=fetch(i,s);if(n===this.retries)return a;let c=await a;if(c.status<500&&c.status!==429)return c;await new Promise(u=>setTimeout(u,Math.random()*this.initRetryMs*Math.pow(2,n)))}throw new vy.ConfigurationError("An unknown error occurred, ensure retries is not negative")}};fn.AwsClient=cd;var Us=class{static{o(this,"AwsV4Signer")}method;url;headers;body;accessKeyId;secretAccessKey;sessionToken;service;region;cache;datetime;signQuery;appendSessionToken;signableHeaders;signedHeaders;canonicalHeaders;credentialString;encodedPath;encodedSearch;constructor({method:e,url:r,headers:n,body:i,accessKeyId:s,secretAccessKey:a,sessionToken:c,service:u,region:l,cache:d,datetime:p,signQuery:m,appendSessionToken:f,allHeaders:y,singleEncode:v}){if(r==null)throw new TypeError("url is a required option");if(s==null)throw new TypeError("accessKeyId is a required option");if(a==null)throw new TypeError("secretAccessKey is a required option");this.method=e||(i?"POST":"GET"),this.url=new URL(r),this.headers=new Headers(n||{}),this.body=i,this.accessKeyId=s,this.secretAccessKey=a,this.sessionToken=c;let T,I;(!u||!l)&&([T,I]=lI(this.url,this.headers)),this.service=u||T||"",this.region=l||I||"us-east-1",this.cache=d||new Map,this.datetime=p||new Date().toISOString().replace(/[:-]|\.\d{3}/g,""),this.signQuery=m,this.appendSessionToken=f||this.service==="iotdevicegateway",this.headers.delete("Host");let k=this.signQuery?this.url.searchParams:this.headers;if(this.service==="s3"&&!this.headers.has("X-Amz-Content-Sha256")&&this.headers.set("X-Amz-Content-Sha256","UNSIGNED-PAYLOAD"),k.set("X-Amz-Date",this.datetime),this.sessionToken&&!this.appendSessionToken&&k.set("X-Amz-Security-Token",this.sessionToken),this.signableHeaders=["host",...this.headers.keys()].filter(x=>y||!uI.includes(x)).sort(),this.signedHeaders=this.signableHeaders.join(";"),this.canonicalHeaders=this.signableHeaders.map(x=>x+":"+(x==="host"?this.url.host:(this.headers.get(x)||"").replace(/\s+/g," "))).join(`
60
- `),this.credentialString=[this.datetime.slice(0,8),this.region,this.service,"aws4_request"].join("/"),this.signQuery&&(this.service==="s3"&&!k.has("X-Amz-Expires")&&k.set("X-Amz-Expires","86400"),k.set("X-Amz-Algorithm","AWS4-HMAC-SHA256"),k.set("X-Amz-Credential",this.accessKeyId+"/"+this.credentialString),k.set("X-Amz-SignedHeaders",this.signedHeaders)),this.service==="s3")try{this.encodedPath=decodeURIComponent(this.url.pathname.replace(/\+/g," "))}catch{this.encodedPath=this.url.pathname}else this.encodedPath=this.url.pathname.replace(/\/+/g,"/");v||(this.encodedPath=encodeURIComponent(this.encodedPath).replace(/%2F/g,"/")),this.encodedPath=wy(this.encodedPath);let j=new Set;this.encodedSearch=[...this.url.searchParams].filter(([x])=>{if(!x)return!1;if(this.service==="s3"){if(j.has(x))return!1;j.add(x)}return!0}).map(x=>x.map(oe=>wy(encodeURIComponent(oe)))).sort(([x,oe],[ee,fe])=>x<ee?-1:x>ee?1:oe<fe?-1:oe>fe?1:0).map(x=>x.join("=")).join("&")}async sign(){return this.signQuery?(this.url.searchParams.set("X-Amz-Signature",await this.signature()),this.sessionToken&&this.appendSessionToken&&this.url.searchParams.set("X-Amz-Security-Token",this.sessionToken)):this.headers.set("Authorization",await this.authHeader()),{method:this.method,url:this.url,headers:this.headers,body:this.body}}async authHeader(){return["AWS4-HMAC-SHA256 Credential="+this.accessKeyId+"/"+this.credentialString,"SignedHeaders="+this.signedHeaders,"Signature="+await this.signature()].join(", ")}async signature(){let e=this.datetime.slice(0,8),r=[this.secretAccessKey,e,this.region,this.service].join(),n=this.cache.get(r);if(!n){let i=await yi("AWS4"+this.secretAccessKey,e),s=await yi(i,this.region),a=await yi(s,this.service);n=await yi(a,"aws4_request"),this.cache.set(r,n)}return sd(await yi(n,await this.stringToSign()))}async stringToSign(){return["AWS4-HMAC-SHA256",this.datetime,this.credentialString,sd(await Ey(await this.canonicalString()))].join(`
59
+ -----END ${e}-----`},"default")});function If(t){let e=[],r=0;for(;r<t.length;){let n=Nf(t.subarray(r));e.push(n),r+=n.byteLength}return e}function Nf(t){let e=0,r=t[0]&31;if(e++,r===31){for(r=0;t[e]>=128;)r=r*128+t[e]-128,e++;r=r*128+t[e]-128,e++}let n=0;if(t[e]<128)n=t[e],e++;else if(n===128){for(n=0;t[e+n]!==0||t[e+n+1]!==0;){if(n>t.byteLength)throw new TypeError("invalid indefinite form length");n++}let s=e+n+2;return{byteLength:s,contents:t.subarray(e,e+n),raw:t.subarray(0,s)}}else{let s=t[e]&127;e++,n=0;for(let a=0;a<s;a++)n=n*256+t[e],e++}let i=e+n;return{byteLength:i,contents:t.subarray(e,i),raw:t.subarray(0,i)}}function vT(t){let e=If(If(Nf(t).contents)[0].contents);return qo(e[e[0].raw[0]===160?6:5].raw)}function TT(t){let e=t.replace(/(?:-----(?:BEGIN|END) CERTIFICATE-----|\s)/g,""),r=ku(e);return Yu(vT(r),"PUBLIC KEY")}var Af,Pf,Rf,Xt,Sf,Of,xf,Zu,Cf,Qo=S(()=>{Te();ot();Ie();Tf();V();st();Af=o(async(t,e,r)=>{if(!se(r))throw new TypeError(ne(r,...W));if(!r.extractable)throw new TypeError("CryptoKey is not extractable");if(r.type!==t)throw new TypeError(`key is not a ${t} key`);return Yu(qo(new Uint8Array(await L.subtle.exportKey(e,r))),`${t.toUpperCase()} KEY`)},"genericExport"),Pf=o(t=>Af("public","spki",t),"toSPKI"),Rf=o(t=>Af("private","pkcs8",t),"toPKCS8"),Xt=o((t,e,r=0)=>{r===0&&(e.unshift(e.length),e.unshift(6));let n=t.indexOf(e[0],r);if(n===-1)return!1;let i=t.subarray(n,n+e.length);return i.length!==e.length?!1:i.every((s,a)=>s===e[a])||Xt(t,e,n+1)},"findOid"),Sf=o(t=>{switch(!0){case Xt(t,[42,134,72,206,61,3,1,7]):return"P-256";case Xt(t,[43,129,4,0,34]):return"P-384";case Xt(t,[43,129,4,0,35]):return"P-521";case Xt(t,[43,101,110]):return"X25519";case Xt(t,[43,101,111]):return"X448";case Xt(t,[43,101,112]):return"Ed25519";case Xt(t,[43,101,113]):return"Ed448";default:throw new U("Invalid or unsupported EC Key Curve or OKP Key Sub Type")}},"getNamedCurve"),Of=o(async(t,e,r,n,i)=>{var s;let a,c,u=new Uint8Array(atob(r.replace(t,"")).split("").map(d=>d.charCodeAt(0))),l=e==="spki";switch(n){case"PS256":case"PS384":case"PS512":a={name:"RSA-PSS",hash:`SHA-${n.slice(-3)}`},c=l?["verify"]:["sign"];break;case"RS256":case"RS384":case"RS512":a={name:"RSASSA-PKCS1-v1_5",hash:`SHA-${n.slice(-3)}`},c=l?["verify"]:["sign"];break;case"RSA-OAEP":case"RSA-OAEP-256":case"RSA-OAEP-384":case"RSA-OAEP-512":a={name:"RSA-OAEP",hash:`SHA-${parseInt(n.slice(-3),10)||1}`},c=l?["encrypt","wrapKey"]:["decrypt","unwrapKey"];break;case"ES256":a={name:"ECDSA",namedCurve:"P-256"},c=l?["verify"]:["sign"];break;case"ES384":a={name:"ECDSA",namedCurve:"P-384"},c=l?["verify"]:["sign"];break;case"ES512":a={name:"ECDSA",namedCurve:"P-521"},c=l?["verify"]:["sign"];break;case"ECDH-ES":case"ECDH-ES+A128KW":case"ECDH-ES+A192KW":case"ECDH-ES+A256KW":{let d=Sf(u);a=d.startsWith("P-")?{name:"ECDH",namedCurve:d}:{name:d},c=l?[]:["deriveBits"];break}case"EdDSA":a={name:Sf(u)},c=l?["verify"]:["sign"];break;default:throw new U('Invalid or unsupported "alg" (Algorithm) value')}return L.subtle.importKey(e,u,a,(s=i?.extractable)!==null&&s!==void 0?s:!1,c)},"genericImport"),xf=o((t,e,r)=>Of(/(?:-----(?:BEGIN|END) PRIVATE KEY-----|\s)/g,"pkcs8",t,e,r),"fromPKCS8"),Zu=o((t,e,r)=>Of(/(?:-----(?:BEGIN|END) PUBLIC KEY-----|\s)/g,"spki",t,e,r),"fromSPKI");o(If,"getElement");o(Nf,"parseElement");o(vT,"spkiFromX509");o(TT,"getSPKI");Cf=o((t,e,r)=>{let n;try{n=TT(t)}catch(i){throw new TypeError("failed to parse the X.509 certificate",{cause:i})}return Zu(n,e,r)},"fromX509")});function ST(t){let e,r;switch(t.kty){case"oct":{switch(t.alg){case"HS256":case"HS384":case"HS512":e={name:"HMAC",hash:`SHA-${t.alg.slice(-3)}`},r=["sign","verify"];break;case"A128CBC-HS256":case"A192CBC-HS384":case"A256CBC-HS512":throw new U(`${t.alg} keys cannot be imported as CryptoKey instances`);case"A128GCM":case"A192GCM":case"A256GCM":case"A128GCMKW":case"A192GCMKW":case"A256GCMKW":e={name:"AES-GCM"},r=["encrypt","decrypt"];break;case"A128KW":case"A192KW":case"A256KW":e={name:"AES-KW"},r=["wrapKey","unwrapKey"];break;case"PBES2-HS256+A128KW":case"PBES2-HS384+A192KW":case"PBES2-HS512+A256KW":e={name:"PBKDF2"},r=["deriveBits"];break;default:throw new U('Invalid or unsupported JWK "alg" (Algorithm) Parameter value')}break}case"RSA":{switch(t.alg){case"PS256":case"PS384":case"PS512":e={name:"RSA-PSS",hash:`SHA-${t.alg.slice(-3)}`},r=t.d?["sign"]:["verify"];break;case"RS256":case"RS384":case"RS512":e={name:"RSASSA-PKCS1-v1_5",hash:`SHA-${t.alg.slice(-3)}`},r=t.d?["sign"]:["verify"];break;case"RSA-OAEP":case"RSA-OAEP-256":case"RSA-OAEP-384":case"RSA-OAEP-512":e={name:"RSA-OAEP",hash:`SHA-${parseInt(t.alg.slice(-3),10)||1}`},r=t.d?["decrypt","unwrapKey"]:["encrypt","wrapKey"];break;default:throw new U('Invalid or unsupported JWK "alg" (Algorithm) Parameter value')}break}case"EC":{switch(t.alg){case"ES256":e={name:"ECDSA",namedCurve:"P-256"},r=t.d?["sign"]:["verify"];break;case"ES384":e={name:"ECDSA",namedCurve:"P-384"},r=t.d?["sign"]:["verify"];break;case"ES512":e={name:"ECDSA",namedCurve:"P-521"},r=t.d?["sign"]:["verify"];break;case"ECDH-ES":case"ECDH-ES+A128KW":case"ECDH-ES+A192KW":case"ECDH-ES+A256KW":e={name:"ECDH",namedCurve:t.crv},r=t.d?["deriveBits"]:[];break;default:throw new U('Invalid or unsupported JWK "alg" (Algorithm) Parameter value')}break}case"OKP":{switch(t.alg){case"EdDSA":e={name:t.crv},r=t.d?["sign"]:["verify"];break;case"ECDH-ES":case"ECDH-ES+A128KW":case"ECDH-ES+A192KW":case"ECDH-ES+A256KW":e={name:t.crv},r=t.d?["deriveBits"]:[];break;default:throw new U('Invalid or unsupported JWK "alg" (Algorithm) Parameter value')}break}default:throw new U('Invalid or unsupported JWK "kty" (Key Type) Parameter value')}return{algorithm:e,keyUsages:r}}var IT,Xu,Lf=S(()=>{Te();V();Ie();o(ST,"subtleMapping");IT=o(async t=>{var e,r;if(!t.alg)throw new TypeError('"alg" argument is required when "jwk.alg" is not present');let{algorithm:n,keyUsages:i}=ST(t),s=[n,(e=t.ext)!==null&&e!==void 0?e:!1,(r=t.key_ops)!==null&&r!==void 0?r:i];if(n.name==="PBKDF2")return L.subtle.importKey("raw",re(t.k),...s);let a={...t};return delete a.alg,delete a.use,L.subtle.importKey("jwk",a,...s)},"parse"),Xu=IT});async function Df(t,e,r){if(typeof t!="string"||t.indexOf("-----BEGIN PUBLIC KEY-----")!==0)throw new TypeError('"spki" must be SPKI formatted string');return Zu(t,e,r)}async function Uf(t,e,r){if(typeof t!="string"||t.indexOf("-----BEGIN CERTIFICATE-----")!==0)throw new TypeError('"x509" must be X.509 formatted string');return Cf(t,e,r)}async function Mf(t,e,r){if(typeof t!="string"||t.indexOf("-----BEGIN PRIVATE KEY-----")!==0)throw new TypeError('"pkcs8" must be PKCS#8 formatted string');return xf(t,e,r)}async function er(t,e,r){var n;if(!Q(t))throw new TypeError("JWK must be an object");switch(e||(e=t.alg),t.kty){case"oct":if(typeof t.k!="string"||!t.k)throw new TypeError('missing "k" (Key Value) Parameter value');return r??(r=t.ext!==!0),r?Xu({...t,alg:e,ext:(n=t.ext)!==null&&n!==void 0?n:!1}):re(t.k);case"RSA":if(t.oth!==void 0)throw new U('RSA JWK "oth" (Other Primes Info) Parameter value is not supported');case"EC":case"OKP":return Xu({...t,alg:e});default:throw new U('Unsupported "kty" (Key Type) Parameter value')}}var si=S(()=>{Ie();Qo();Lf();V();qe();o(Df,"importSPKI");o(Uf,"importX509");o(Mf,"importPKCS8");o(er,"importJWK")});var AT,PT,RT,tr,ai=S(()=>{ot();st();AT=o((t,e)=>{if(!(e instanceof Uint8Array)){if(!Vu(e))throw new TypeError(ju(t,e,...W,"Uint8Array"));if(e.type!=="secret")throw new TypeError(`${W.join(" or ")} instances for symmetric algorithms must be of type "secret"`)}},"symmetricTypeCheck"),PT=o((t,e,r)=>{if(!Vu(e))throw new TypeError(ju(t,e,...W));if(e.type==="secret")throw new TypeError(`${W.join(" or ")} instances for asymmetric algorithms must not be of type "secret"`);if(r==="sign"&&e.type==="public")throw new TypeError(`${W.join(" or ")} instances for asymmetric algorithm signing must be of type "private"`);if(r==="decrypt"&&e.type==="public")throw new TypeError(`${W.join(" or ")} instances for asymmetric algorithm decryption must be of type "private"`);if(e.algorithm&&r==="verify"&&e.type==="private")throw new TypeError(`${W.join(" or ")} instances for asymmetric algorithm verifying must be of type "public"`);if(e.algorithm&&r==="encrypt"&&e.type==="private")throw new TypeError(`${W.join(" or ")} instances for asymmetric algorithm encryption must be of type "public"`)},"asymmetricTypeCheck"),RT=o((t,e,r)=>{t.startsWith("HS")||t==="dir"||t.startsWith("PBES2")||/^A\d{3}(?:GCM)?KW$/.test(t)?AT(t,e):PT(t,e,r)},"checkKeyType"),tr=RT});async function OT(t,e,r,n,i){if(!(r instanceof Uint8Array))throw new TypeError(ne(r,"Uint8Array"));let s=parseInt(t.slice(1,4),10),a=await L.subtle.importKey("raw",r.subarray(s>>3),"AES-CBC",!1,["encrypt"]),c=await L.subtle.importKey("raw",r.subarray(0,s>>3),{hash:`SHA-${s<<1}`,name:"HMAC"},!1,["sign"]),u=new Uint8Array(await L.subtle.encrypt({iv:n,name:"AES-CBC"},a,e)),l=Se(i,n,u,ko(i.length<<3)),d=new Uint8Array((await L.subtle.sign("HMAC",c,l)).slice(0,s>>3));return{ciphertext:u,tag:d}}async function xT(t,e,r,n,i){let s;r instanceof Uint8Array?s=await L.subtle.importKey("raw",r,"AES-GCM",!1,["encrypt"]):(He(r,t,"encrypt"),s=r);let a=new Uint8Array(await L.subtle.encrypt({additionalData:i,iv:n,name:"AES-GCM",tagLength:128},s,e)),c=a.slice(-16);return{ciphertext:a.slice(0,-16),tag:c}}var NT,ci,el=S(()=>{ye();qu();$u();Te();Zt();ot();V();st();o(OT,"cbcEncrypt");o(xT,"gcmEncrypt");NT=o(async(t,e,r,n,i)=>{if(!se(r)&&!(r instanceof Uint8Array))throw new TypeError(ne(r,...W,"Uint8Array"));switch(Vo(t,n),t){case"A128CBC-HS256":case"A192CBC-HS384":case"A256CBC-HS512":return r instanceof Uint8Array&&Jr(r,parseInt(t.slice(-3),10)),OT(t,e,r,n,i);case"A128GCM":case"A192GCM":case"A256GCM":return r instanceof Uint8Array&&Jr(r,parseInt(t.slice(1,4),10)),xT(t,e,r,n,i);default:throw new U("Unsupported JWE Content Encryption Algorithm")}},"encrypt"),ci=NT});async function kf(t,e,r,n){let i=t.slice(0,7);n||(n=$o(i));let{ciphertext:s,tag:a}=await ci(i,r,e,n,new Uint8Array(0));return{encryptedKey:s,iv:Z(n),tag:Z(a)}}async function Ff(t,e,r,n,i){let s=t.slice(0,7);return Bo(s,e,r,n,i,new Uint8Array(0))}var tl=S(()=>{el();Gu();jo();Ie();o(kf,"wrap");o(Ff,"unwrap")});async function CT(t,e,r,n,i){switch(tr(t,e,"decrypt"),t){case"dir":{if(r!==void 0)throw new P("Encountered unexpected JWE Encrypted Key");return e}case"ECDH-ES":if(r!==void 0)throw new P("Encountered unexpected JWE Encrypted Key");case"ECDH-ES+A128KW":case"ECDH-ES+A192KW":case"ECDH-ES+A256KW":{if(!Q(n.epk))throw new P('JOSE Header "epk" (Ephemeral Public Key) missing or invalid');if(!zo(e))throw new U("ECDH with the provided key is not allowed or not supported by your javascript runtime");let s=await er(n.epk,t),a,c;if(n.apu!==void 0){if(typeof n.apu!="string")throw new P('JOSE Header "apu" (Agreement PartyUInfo) invalid');a=re(n.apu)}if(n.apv!==void 0){if(typeof n.apv!="string")throw new P('JOSE Header "apv" (Agreement PartyVInfo) invalid');c=re(n.apv)}let u=await Jo(s,e,t==="ECDH-ES"?n.enc:t,t==="ECDH-ES"?ii(n.enc):parseInt(t.slice(-5,-2),10),a,c);if(t==="ECDH-ES")return u;if(r===void 0)throw new P("JWE Encrypted Key missing");return ni(t.slice(-6),u,r)}case"RSA1_5":case"RSA-OAEP":case"RSA-OAEP-256":case"RSA-OAEP-384":case"RSA-OAEP-512":{if(r===void 0)throw new P("JWE Encrypted Key missing");return vf(t,e,r)}case"PBES2-HS256+A128KW":case"PBES2-HS384+A192KW":case"PBES2-HS512+A256KW":{if(r===void 0)throw new P("JWE Encrypted Key missing");if(typeof n.p2c!="number")throw new P('JOSE Header "p2c" (PBES2 Count) missing or invalid');let s=i?.maxPBES2Count||1e4;if(n.p2c>s)throw new P('JOSE Header "p2c" (PBES2 Count) out is of acceptable bounds');if(typeof n.p2s!="string")throw new P('JOSE Header "p2s" (PBES2 Salt) missing or invalid');return bf(t,e,r,n.p2c,re(n.p2s))}case"A128KW":case"A192KW":case"A256KW":{if(r===void 0)throw new P("JWE Encrypted Key missing");return ni(t,e,r)}case"A128GCMKW":case"A192GCMKW":case"A256GCMKW":{if(r===void 0)throw new P("JWE Encrypted Key missing");if(typeof n.iv!="string")throw new P('JOSE Header "iv" (Initialization Vector) missing or invalid');if(typeof n.tag!="string")throw new P('JOSE Header "tag" (Authentication Tag) missing or invalid');let s=re(n.iv),a=re(n.tag);return Ff(t,e,r,s,a)}default:throw new U('Invalid or unsupported "alg" (JWE Algorithm) header value')}}var Hf,qf=S(()=>{Ko();Ju();Wu();Qu();Ie();V();oi();si();ai();qe();tl();o(CT,"decryptKeyManagement");Hf=CT});function LT(t,e,r,n,i){if(i.crit!==void 0&&n.crit===void 0)throw new t('"crit" (Critical) Header Parameter MUST be integrity protected');if(!n||n.crit===void 0)return new Set;if(!Array.isArray(n.crit)||n.crit.length===0||n.crit.some(a=>typeof a!="string"||a.length===0))throw new t('"crit" (Critical) Header Parameter MUST be an array of non-empty strings when present');let s;r!==void 0?s=new Map([...Object.entries(r),...e.entries()]):s=e;for(let a of n.crit){if(!s.has(a))throw new U(`Extension Header Parameter "${a}" is not recognized`);if(i[a]===void 0)throw new t(`Extension Header Parameter "${a}" is missing`);if(s.get(a)&&n[a]===void 0)throw new t(`Extension Header Parameter "${a}" MUST be integrity protected`)}return new Set(n.crit)}var _t,Yr=S(()=>{V();o(LT,"validateCrit");_t=LT});var DT,ui,rl=S(()=>{DT=o((t,e)=>{if(e!==void 0&&(!Array.isArray(e)||e.some(r=>typeof r!="string")))throw new TypeError(`"${t}" option must be an array of strings`);if(e)return new Set(e)},"validateAlgorithms"),ui=DT});async function Zr(t,e,r){var n;if(!Q(t))throw new P("Flattened JWE must be an object");if(t.protected===void 0&&t.header===void 0&&t.unprotected===void 0)throw new P("JOSE Header missing");if(typeof t.iv!="string")throw new P("JWE Initialization Vector missing or incorrect type");if(typeof t.ciphertext!="string")throw new P("JWE Ciphertext missing or incorrect type");if(typeof t.tag!="string")throw new P("JWE Authentication Tag missing or incorrect type");if(t.protected!==void 0&&typeof t.protected!="string")throw new P("JWE Protected Header incorrect type");if(t.encrypted_key!==void 0&&typeof t.encrypted_key!="string")throw new P("JWE Encrypted Key incorrect type");if(t.aad!==void 0&&typeof t.aad!="string")throw new P("JWE AAD incorrect type");if(t.header!==void 0&&!Q(t.header))throw new P("JWE Shared Unprotected Header incorrect type");if(t.unprotected!==void 0&&!Q(t.unprotected))throw new P("JWE Per-Recipient Unprotected Header incorrect type");let i;if(t.protected)try{let j=re(t.protected);i=JSON.parse(ce.decode(j))}catch{throw new P("JWE Protected Header is invalid")}if(!yt(i,t.header,t.unprotected))throw new P("JWE Protected, JWE Unprotected Header, and JWE Per-Recipient Unprotected Header Parameter names must be disjoint");let s={...i,...t.header,...t.unprotected};if(_t(P,new Map,r?.crit,i,s),s.zip!==void 0){if(!i||!i.zip)throw new P('JWE "zip" (Compression Algorithm) Header MUST be integrity protected');if(s.zip!=="DEF")throw new U('Unsupported JWE "zip" (Compression Algorithm) Header Parameter value')}let{alg:a,enc:c}=s;if(typeof a!="string"||!a)throw new P("missing JWE Algorithm (alg) in JWE Header");if(typeof c!="string"||!c)throw new P("missing JWE Encryption Algorithm (enc) in JWE Header");let u=r&&ui("keyManagementAlgorithms",r.keyManagementAlgorithms),l=r&&ui("contentEncryptionAlgorithms",r.contentEncryptionAlgorithms);if(u&&!u.has(a))throw new zt('"alg" (Algorithm) Header Parameter not allowed');if(l&&!l.has(c))throw new zt('"enc" (Encryption Algorithm) Header Parameter not allowed');let d;t.encrypted_key!==void 0&&(d=re(t.encrypted_key));let p=!1;typeof e=="function"&&(e=await e(i,t),p=!0);let m;try{m=await Hf(a,e,d,s,r)}catch(j){if(j instanceof TypeError||j instanceof P||j instanceof U)throw j;m=gt(c)}let f=re(t.iv),y=re(t.tag),v=Y.encode((n=t.protected)!==null&&n!==void 0?n:""),T;t.aad!==void 0?T=Se(v,Y.encode("."),Y.encode(t.aad)):T=v;let I=await Bo(c,m,re(t.ciphertext),f,y,T);s.zip==="DEF"&&(I=await(r?.inflateRaw||lf)(I));let k={plaintext:I};return t.protected!==void 0&&(k.protectedHeader=i),t.aad!==void 0&&(k.additionalAuthenticatedData=re(t.aad)),t.unprotected!==void 0&&(k.sharedUnprotectedHeader=t.unprotected),t.header!==void 0&&(k.unprotectedHeader=t.header),p?{...k,key:e}:k}var Yo=S(()=>{Ie();Gu();Bu();V();zr();qe();qf();ye();oi();Yr();rl();o(Zr,"flattenedDecrypt")});async function Zo(t,e,r){if(t instanceof Uint8Array&&(t=ce.decode(t)),typeof t!="string")throw new P("Compact JWE must be a string or Uint8Array");let{0:n,1:i,2:s,3:a,4:c,length:u}=t.split(".");if(u!==5)throw new P("Invalid Compact JWE");let l=await Zr({ciphertext:a,iv:s||void 0,protected:n||void 0,tag:c||void 0,encrypted_key:i||void 0},e,r),d={plaintext:l.plaintext,protectedHeader:l.protectedHeader};return typeof e=="function"?{...d,key:l.key}:d}var nl=S(()=>{Yo();V();ye();o(Zo,"compactDecrypt")});async function $f(t,e,r){if(!Q(t))throw new P("General JWE must be an object");if(!Array.isArray(t.recipients)||!t.recipients.every(Q))throw new P("JWE Recipients missing or incorrect type");if(!t.recipients.length)throw new P("JWE Recipients has no members");for(let n of t.recipients)try{return await Zr({aad:t.aad,ciphertext:t.ciphertext,encrypted_key:n.encrypted_key,header:n.header,iv:t.iv,protected:t.protected,tag:t.tag,unprotected:t.unprotected},e,r)}catch{}throw new Ct}var jf=S(()=>{Yo();V();qe();o($f,"generalDecrypt")});var UT,Vf,Gf=S(()=>{Te();ot();Ie();st();UT=o(async t=>{if(t instanceof Uint8Array)return{kty:"oct",k:Z(t)};if(!se(t))throw new TypeError(ne(t,...W,"Uint8Array"));if(!t.extractable)throw new TypeError("non-extractable CryptoKey cannot be exported as a JWK");let{ext:e,key_ops:r,alg:n,use:i,...s}=await L.subtle.exportKey("jwk",t);return s},"keyToJWK"),Vf=UT});async function Bf(t){return Pf(t)}async function Kf(t){return Rf(t)}async function Xo(t){return Vf(t)}var il=S(()=>{Qo();Qo();Gf();o(Bf,"exportSPKI");o(Kf,"exportPKCS8");o(Xo,"exportJWK")});async function MT(t,e,r,n,i={}){let s,a,c;switch(tr(t,r,"encrypt"),t){case"dir":{c=r;break}case"ECDH-ES":case"ECDH-ES+A128KW":case"ECDH-ES+A192KW":case"ECDH-ES+A256KW":{if(!zo(r))throw new U("ECDH with the provided key is not allowed or not supported by your javascript runtime");let{apu:u,apv:l}=i,{epk:d}=i;d||(d=(await ff(r)).privateKey);let{x:p,y:m,crv:f,kty:y}=await Xo(d),v=await Jo(r,d,t==="ECDH-ES"?e:t,t==="ECDH-ES"?ii(e):parseInt(t.slice(-5,-2),10),u,l);if(a={epk:{x:p,crv:f,kty:y}},y==="EC"&&(a.epk.y=m),u&&(a.apu=Z(u)),l&&(a.apv=Z(l)),t==="ECDH-ES"){c=v;break}c=n||gt(e);let T=t.slice(-6);s=await ri(T,v,c);break}case"RSA1_5":case"RSA-OAEP":case"RSA-OAEP-256":case"RSA-OAEP-384":case"RSA-OAEP-512":{c=n||gt(e),s=await wf(t,r,c);break}case"PBES2-HS256+A128KW":case"PBES2-HS384+A192KW":case"PBES2-HS512+A256KW":{c=n||gt(e);let{p2c:u,p2s:l}=i;({encryptedKey:s,...a}=await _f(t,r,c,u,l));break}case"A128KW":case"A192KW":case"A256KW":{c=n||gt(e),s=await ri(t,r,c);break}case"A128GCMKW":case"A192GCMKW":case"A256GCMKW":{c=n||gt(e);let{iv:u}=i;({encryptedKey:s,...a}=await kf(t,r,c,u));break}default:throw new U('Invalid or unsupported "alg" (JWE Algorithm) header value')}return{cek:c,encryptedKey:s,parameters:a}}var es,ol=S(()=>{Ko();Ju();Wu();Qu();Ie();oi();V();il();ai();tl();o(MT,"encryptKeyManagement");es=MT});var sl,Lt,ts=S(()=>{Ie();el();Bu();jo();ol();V();zr();ye();Yr();sl=Symbol(),Lt=class{static{o(this,"FlattenedEncrypt")}constructor(e){if(!(e instanceof Uint8Array))throw new TypeError("plaintext must be an instance of Uint8Array");this._plaintext=e}setKeyManagementParameters(e){if(this._keyManagementParameters)throw new TypeError("setKeyManagementParameters can only be called once");return this._keyManagementParameters=e,this}setProtectedHeader(e){if(this._protectedHeader)throw new TypeError("setProtectedHeader can only be called once");return this._protectedHeader=e,this}setSharedUnprotectedHeader(e){if(this._sharedUnprotectedHeader)throw new TypeError("setSharedUnprotectedHeader can only be called once");return this._sharedUnprotectedHeader=e,this}setUnprotectedHeader(e){if(this._unprotectedHeader)throw new TypeError("setUnprotectedHeader can only be called once");return this._unprotectedHeader=e,this}setAdditionalAuthenticatedData(e){return this._aad=e,this}setContentEncryptionKey(e){if(this._cek)throw new TypeError("setContentEncryptionKey can only be called once");return this._cek=e,this}setInitializationVector(e){if(this._iv)throw new TypeError("setInitializationVector can only be called once");return this._iv=e,this}async encrypt(e,r){if(!this._protectedHeader&&!this._unprotectedHeader&&!this._sharedUnprotectedHeader)throw new P("either setProtectedHeader, setUnprotectedHeader, or sharedUnprotectedHeader must be called before #encrypt()");if(!yt(this._protectedHeader,this._unprotectedHeader,this._sharedUnprotectedHeader))throw new P("JWE Protected, JWE Shared Unprotected and JWE Per-Recipient Header Parameter names must be disjoint");let n={...this._protectedHeader,...this._unprotectedHeader,...this._sharedUnprotectedHeader};if(_t(P,new Map,r?.crit,this._protectedHeader,n),n.zip!==void 0){if(!this._protectedHeader||!this._protectedHeader.zip)throw new P('JWE "zip" (Compression Algorithm) Header MUST be integrity protected');if(n.zip!=="DEF")throw new U('Unsupported JWE "zip" (Compression Algorithm) Header Parameter value')}let{alg:i,enc:s}=n;if(typeof i!="string"||!i)throw new P('JWE "alg" (Algorithm) Header Parameter missing or invalid');if(typeof s!="string"||!s)throw new P('JWE "enc" (Encryption Algorithm) Header Parameter missing or invalid');let a;if(i==="dir"){if(this._cek)throw new TypeError("setContentEncryptionKey cannot be called when using Direct Encryption")}else if(i==="ECDH-ES"&&this._cek)throw new TypeError("setContentEncryptionKey cannot be called when using Direct Key Agreement");let c;{let y;({cek:c,encryptedKey:a,parameters:y}=await es(i,s,e,this._cek,this._keyManagementParameters)),y&&(r&&sl in r?this._unprotectedHeader?this._unprotectedHeader={...this._unprotectedHeader,...y}:this.setUnprotectedHeader(y):this._protectedHeader?this._protectedHeader={...this._protectedHeader,...y}:this.setProtectedHeader(y))}this._iv||(this._iv=$o(s));let u,l,d;this._protectedHeader?l=Y.encode(Z(JSON.stringify(this._protectedHeader))):l=Y.encode(""),this._aad?(d=Z(this._aad),u=Se(l,Y.encode("."),Y.encode(d))):u=l;let p,m;if(n.zip==="DEF"){let y=await(r?.deflateRaw||df)(this._plaintext);({ciphertext:p,tag:m}=await ci(s,y,c,this._iv,u))}else({ciphertext:p,tag:m}=await ci(s,this._plaintext,c,this._iv,u));let f={ciphertext:Z(p),iv:Z(this._iv),tag:Z(m)};return a&&(f.encrypted_key=Z(a)),d&&(f.aad=d),this._protectedHeader&&(f.protected=ce.decode(l)),this._sharedUnprotectedHeader&&(f.unprotected=this._sharedUnprotectedHeader),this._unprotectedHeader&&(f.header=this._unprotectedHeader),f}}});var al,rs,Jf=S(()=>{ts();V();oi();zr();ol();Ie();Yr();al=class{static{o(this,"IndividualRecipient")}constructor(e,r,n){this.parent=e,this.key=r,this.options=n}setUnprotectedHeader(e){if(this.unprotectedHeader)throw new TypeError("setUnprotectedHeader can only be called once");return this.unprotectedHeader=e,this}addRecipient(...e){return this.parent.addRecipient(...e)}encrypt(...e){return this.parent.encrypt(...e)}done(){return this.parent}},rs=class{static{o(this,"GeneralEncrypt")}constructor(e){this._recipients=[],this._plaintext=e}addRecipient(e,r){let n=new al(this,e,{crit:r?.crit});return this._recipients.push(n),n}setProtectedHeader(e){if(this._protectedHeader)throw new TypeError("setProtectedHeader can only be called once");return this._protectedHeader=e,this}setSharedUnprotectedHeader(e){if(this._unprotectedHeader)throw new TypeError("setSharedUnprotectedHeader can only be called once");return this._unprotectedHeader=e,this}setAdditionalAuthenticatedData(e){return this._aad=e,this}async encrypt(e){var r,n,i;if(!this._recipients.length)throw new P("at least one recipient must be added");if(e={deflateRaw:e?.deflateRaw},this._recipients.length===1){let[u]=this._recipients,l=await new Lt(this._plaintext).setAdditionalAuthenticatedData(this._aad).setProtectedHeader(this._protectedHeader).setSharedUnprotectedHeader(this._unprotectedHeader).setUnprotectedHeader(u.unprotectedHeader).encrypt(u.key,{...u.options,...e}),d={ciphertext:l.ciphertext,iv:l.iv,recipients:[{}],tag:l.tag};return l.aad&&(d.aad=l.aad),l.protected&&(d.protected=l.protected),l.unprotected&&(d.unprotected=l.unprotected),l.encrypted_key&&(d.recipients[0].encrypted_key=l.encrypted_key),l.header&&(d.recipients[0].header=l.header),d}let s;for(let u=0;u<this._recipients.length;u++){let l=this._recipients[u];if(!yt(this._protectedHeader,this._unprotectedHeader,l.unprotectedHeader))throw new P("JWE Protected, JWE Shared Unprotected and JWE Per-Recipient Header Parameter names must be disjoint");let d={...this._protectedHeader,...this._unprotectedHeader,...l.unprotectedHeader},{alg:p}=d;if(typeof p!="string"||!p)throw new P('JWE "alg" (Algorithm) Header Parameter missing or invalid');if(p==="dir"||p==="ECDH-ES")throw new P('"dir" and "ECDH-ES" alg may only be used with a single recipient');if(typeof d.enc!="string"||!d.enc)throw new P('JWE "enc" (Encryption Algorithm) Header Parameter missing or invalid');if(!s)s=d.enc;else if(s!==d.enc)throw new P('JWE "enc" (Encryption Algorithm) Header Parameter must be the same for all recipients');if(_t(P,new Map,l.options.crit,this._protectedHeader,d),d.zip!==void 0&&(!this._protectedHeader||!this._protectedHeader.zip))throw new P('JWE "zip" (Compression Algorithm) Header MUST be integrity protected')}let a=gt(s),c={ciphertext:"",iv:"",recipients:[],tag:""};for(let u=0;u<this._recipients.length;u++){let l=this._recipients[u],d={};c.recipients.push(d);let m={...this._protectedHeader,...this._unprotectedHeader,...l.unprotectedHeader}.alg.startsWith("PBES2")?2048+u:void 0;if(u===0){let v=await new Lt(this._plaintext).setAdditionalAuthenticatedData(this._aad).setContentEncryptionKey(a).setProtectedHeader(this._protectedHeader).setSharedUnprotectedHeader(this._unprotectedHeader).setUnprotectedHeader(l.unprotectedHeader).setKeyManagementParameters({p2c:m}).encrypt(l.key,{...l.options,...e,[sl]:!0});c.ciphertext=v.ciphertext,c.iv=v.iv,c.tag=v.tag,v.aad&&(c.aad=v.aad),v.protected&&(c.protected=v.protected),v.unprotected&&(c.unprotected=v.unprotected),d.encrypted_key=v.encrypted_key,v.header&&(d.header=v.header);continue}let{encryptedKey:f,parameters:y}=await es(((r=l.unprotectedHeader)===null||r===void 0?void 0:r.alg)||((n=this._protectedHeader)===null||n===void 0?void 0:n.alg)||((i=this._unprotectedHeader)===null||i===void 0?void 0:i.alg),s,l.key,a,{p2c:m});d.encrypted_key=Z(f),(l.unprotectedHeader||y)&&(d.header={...l.unprotectedHeader,...y})}return c}}});function li(t,e){let r=`SHA-${t.slice(-3)}`;switch(t){case"HS256":case"HS384":case"HS512":return{hash:r,name:"HMAC"};case"PS256":case"PS384":case"PS512":return{hash:r,name:"RSA-PSS",saltLength:t.slice(-3)>>3};case"RS256":case"RS384":case"RS512":return{hash:r,name:"RSASSA-PKCS1-v1_5"};case"ES256":case"ES384":case"ES512":return{hash:r,name:"ECDSA",namedCurve:e.namedCurve};case"EdDSA":return{name:e.name};default:throw new U(`alg ${t} is not supported either by JOSE or your javascript runtime`)}}var cl=S(()=>{V();o(li,"subtleDsa")});function di(t,e,r){if(se(e))return cf(e,t,r),e;if(e instanceof Uint8Array){if(!t.startsWith("HS"))throw new TypeError(ne(e,...W));return L.subtle.importKey("raw",e,{hash:`SHA-${t.slice(-3)}`,name:"HMAC"},!1,[r])}throw new TypeError(ne(e,...W,"Uint8Array"))}var ul=S(()=>{Te();Zt();ot();st();o(di,"getCryptoKey")});var kT,zf,Wf=S(()=>{cl();Te();Wo();ul();kT=o(async(t,e,r,n)=>{let i=await di(t,e,"verify");Or(t,i);let s=li(t,i.algorithm);try{return await L.subtle.verify(s,i,r,n)}catch{return!1}},"verify"),zf=kT});async function Xr(t,e,r){var n;if(!Q(t))throw new z("Flattened JWS must be an object");if(t.protected===void 0&&t.header===void 0)throw new z('Flattened JWS must have either of the "protected" or "header" members');if(t.protected!==void 0&&typeof t.protected!="string")throw new z("JWS Protected Header incorrect type");if(t.payload===void 0)throw new z("JWS Payload missing");if(typeof t.signature!="string")throw new z("JWS Signature missing or incorrect type");if(t.header!==void 0&&!Q(t.header))throw new z("JWS Unprotected Header incorrect type");let i={};if(t.protected)try{let T=re(t.protected);i=JSON.parse(ce.decode(T))}catch{throw new z("JWS Protected Header is invalid")}if(!yt(i,t.header))throw new z("JWS Protected and JWS Unprotected Header Parameter names must be disjoint");let s={...i,...t.header},a=_t(z,new Map([["b64",!0]]),r?.crit,i,s),c=!0;if(a.has("b64")&&(c=i.b64,typeof c!="boolean"))throw new z('The "b64" (base64url-encode payload) Header Parameter must be a boolean');let{alg:u}=s;if(typeof u!="string"||!u)throw new z('JWS "alg" (Algorithm) Header Parameter missing or invalid');let l=r&&ui("algorithms",r.algorithms);if(l&&!l.has(u))throw new zt('"alg" (Algorithm) Header Parameter not allowed');if(c){if(typeof t.payload!="string")throw new z("JWS Payload must be a string")}else if(typeof t.payload!="string"&&!(t.payload instanceof Uint8Array))throw new z("JWS Payload must be a string or an Uint8Array instance");let d=!1;typeof e=="function"&&(e=await e(i,t),d=!0),tr(u,e,"verify");let p=Se(Y.encode((n=t.protected)!==null&&n!==void 0?n:""),Y.encode("."),typeof t.payload=="string"?Y.encode(t.payload):t.payload),m=re(t.signature);if(!await zf(u,e,m,p))throw new Rr;let y;c?y=re(t.payload):typeof t.payload=="string"?y=Y.encode(t.payload):y=t.payload;let v={payload:y};return t.protected!==void 0&&(v.protectedHeader=i),t.header!==void 0&&(v.unprotectedHeader=t.header),d?{...v,key:e}:v}var ns=S(()=>{Ie();Wf();V();ye();zr();qe();ai();Yr();rl();o(Xr,"flattenedVerify")});async function is(t,e,r){if(t instanceof Uint8Array&&(t=ce.decode(t)),typeof t!="string")throw new z("Compact JWS must be a string or Uint8Array");let{0:n,1:i,2:s,length:a}=t.split(".");if(a!==3)throw new z("Invalid Compact JWS");let c=await Xr({payload:i,protected:n,signature:s},e,r),u={payload:c.payload,protectedHeader:c.protectedHeader};return typeof e=="function"?{...u,key:c.key}:u}var ll=S(()=>{ns();V();ye();o(is,"compactVerify")});async function Qf(t,e,r){if(!Q(t))throw new z("General JWS must be an object");if(!Array.isArray(t.signatures)||!t.signatures.every(Q))throw new z("JWS Signatures missing or incorrect type");for(let n of t.signatures)try{return await Xr({header:n.header,payload:t.payload,protected:n.protected,signature:n.signature},e,r)}catch{}throw new Rr}var Yf=S(()=>{ns();V();qe();o(Qf,"generalVerify")});var en,dl=S(()=>{en=o(t=>Math.floor(t.getTime()/1e3),"default")});var FT,tn,pl=S(()=>{FT=/^(\d+|\d+\.\d+) ?(seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)$/i,tn=o(t=>{let e=FT.exec(t);if(!e)throw new TypeError("Invalid time period format");let r=parseFloat(e[1]);switch(e[2].toLowerCase()){case"sec":case"secs":case"second":case"seconds":case"s":return Math.round(r);case"minute":case"minutes":case"min":case"mins":case"m":return Math.round(r*60);case"hour":case"hours":case"hr":case"hrs":case"h":return Math.round(r*3600);case"day":case"days":case"d":return Math.round(r*86400);case"week":case"weeks":case"w":return Math.round(r*604800);default:return Math.round(r*31557600)}},"default")});var Zf,HT,rn,os=S(()=>{V();ye();dl();pl();qe();Zf=o(t=>t.toLowerCase().replace(/^application\//,""),"normalizeTyp"),HT=o((t,e)=>typeof t=="string"?e.includes(t):Array.isArray(t)?e.some(Set.prototype.has.bind(new Set(t))):!1,"checkAudiencePresence"),rn=o((t,e,r={})=>{let{typ:n}=r;if(n&&(typeof t.typ!="string"||Zf(t.typ)!==Zf(n)))throw new ge('unexpected "typ" JWT header value',"typ","check_failed");let i;try{i=JSON.parse(ce.decode(e))}catch{}if(!Q(i))throw new ue("JWT Claims Set must be a top-level JSON object");let{requiredClaims:s=[],issuer:a,subject:c,audience:u,maxTokenAge:l}=r;l!==void 0&&s.push("iat"),u!==void 0&&s.push("aud"),c!==void 0&&s.push("sub"),a!==void 0&&s.push("iss");for(let f of new Set(s.reverse()))if(!(f in i))throw new ge(`missing required "${f}" claim`,f,"missing");if(a&&!(Array.isArray(a)?a:[a]).includes(i.iss))throw new ge('unexpected "iss" claim value',"iss","check_failed");if(c&&i.sub!==c)throw new ge('unexpected "sub" claim value',"sub","check_failed");if(u&&!HT(i.aud,typeof u=="string"?[u]:u))throw new ge('unexpected "aud" claim value',"aud","check_failed");let d;switch(typeof r.clockTolerance){case"string":d=tn(r.clockTolerance);break;case"number":d=r.clockTolerance;break;case"undefined":d=0;break;default:throw new TypeError("Invalid clockTolerance option type")}let{currentDate:p}=r,m=en(p||new Date);if((i.iat!==void 0||l)&&typeof i.iat!="number")throw new ge('"iat" claim must be a number',"iat","invalid");if(i.nbf!==void 0){if(typeof i.nbf!="number")throw new ge('"nbf" claim must be a number',"nbf","invalid");if(i.nbf>m+d)throw new ge('"nbf" claim timestamp check failed',"nbf","check_failed")}if(i.exp!==void 0){if(typeof i.exp!="number")throw new ge('"exp" claim must be a number',"exp","invalid");if(i.exp<=m-d)throw new Kr('"exp" claim timestamp check failed',"exp","check_failed")}if(l){let f=m-i.iat,y=typeof l=="number"?l:tn(l);if(f-d>y)throw new Kr('"iat" claim timestamp check failed (too far in the past)',"iat","check_failed");if(f<0-d)throw new ge('"iat" claim timestamp check failed (it should be in the past)',"iat","check_failed")}return i},"default")});async function Xf(t,e,r){var n;let i=await is(t,e,r);if(!((n=i.protectedHeader.crit)===null||n===void 0)&&n.includes("b64")&&i.protectedHeader.b64===!1)throw new ue("JWTs MUST NOT use unencoded payload");let a={payload:rn(i.protectedHeader,i.payload,r),protectedHeader:i.protectedHeader};return typeof e=="function"?{...a,key:i.key}:a}var em=S(()=>{ll();os();V();o(Xf,"jwtVerify")});async function tm(t,e,r){let n=await Zo(t,e,r),i=rn(n.protectedHeader,n.plaintext,r),{protectedHeader:s}=n;if(s.iss!==void 0&&s.iss!==i.iss)throw new ge('replicated "iss" claim header parameter mismatch',"iss","mismatch");if(s.sub!==void 0&&s.sub!==i.sub)throw new ge('replicated "sub" claim header parameter mismatch',"sub","mismatch");if(s.aud!==void 0&&JSON.stringify(s.aud)!==JSON.stringify(i.aud))throw new ge('replicated "aud" claim header parameter mismatch',"aud","mismatch");let a={payload:i,protectedHeader:s};return typeof e=="function"?{...a,key:n.key}:a}var rm=S(()=>{nl();os();V();o(tm,"jwtDecrypt")});var nn,hl=S(()=>{ts();nn=class{static{o(this,"CompactEncrypt")}constructor(e){this._flattened=new Lt(e)}setContentEncryptionKey(e){return this._flattened.setContentEncryptionKey(e),this}setInitializationVector(e){return this._flattened.setInitializationVector(e),this}setProtectedHeader(e){return this._flattened.setProtectedHeader(e),this}setKeyManagementParameters(e){return this._flattened.setKeyManagementParameters(e),this}async encrypt(e,r){let n=await this._flattened.encrypt(e,r);return[n.protected,n.encrypted_key,n.iv,n.ciphertext,n.tag].join(".")}}});var qT,nm,im=S(()=>{cl();Te();Wo();ul();qT=o(async(t,e,r)=>{let n=await di(t,e,"sign");Or(t,n);let i=await L.subtle.sign(li(t,n.algorithm),n,r);return new Uint8Array(i)},"sign"),nm=qT});var rr,ss=S(()=>{Ie();im();zr();V();ye();ai();Yr();rr=class{static{o(this,"FlattenedSign")}constructor(e){if(!(e instanceof Uint8Array))throw new TypeError("payload must be an instance of Uint8Array");this._payload=e}setProtectedHeader(e){if(this._protectedHeader)throw new TypeError("setProtectedHeader can only be called once");return this._protectedHeader=e,this}setUnprotectedHeader(e){if(this._unprotectedHeader)throw new TypeError("setUnprotectedHeader can only be called once");return this._unprotectedHeader=e,this}async sign(e,r){if(!this._protectedHeader&&!this._unprotectedHeader)throw new z("either setProtectedHeader or setUnprotectedHeader must be called before #sign()");if(!yt(this._protectedHeader,this._unprotectedHeader))throw new z("JWS Protected and JWS Unprotected Header Parameter names must be disjoint");let n={...this._protectedHeader,...this._unprotectedHeader},i=_t(z,new Map([["b64",!0]]),r?.crit,this._protectedHeader,n),s=!0;if(i.has("b64")&&(s=this._protectedHeader.b64,typeof s!="boolean"))throw new z('The "b64" (base64url-encode payload) Header Parameter must be a boolean');let{alg:a}=n;if(typeof a!="string"||!a)throw new z('JWS "alg" (Algorithm) Header Parameter missing or invalid');tr(a,e,"sign");let c=this._payload;s&&(c=Y.encode(Z(c)));let u;this._protectedHeader?u=Y.encode(Z(JSON.stringify(this._protectedHeader))):u=Y.encode("");let l=Se(u,Y.encode("."),c),d=await nm(a,e,l),p={signature:Z(d),payload:""};return s&&(p.payload=ce.decode(c)),this._unprotectedHeader&&(p.header=this._unprotectedHeader),this._protectedHeader&&(p.protected=ce.decode(u)),p}}});var on,fl=S(()=>{ss();on=class{static{o(this,"CompactSign")}constructor(e){this._flattened=new rr(e)}setProtectedHeader(e){return this._flattened.setProtectedHeader(e),this}async sign(e,r){let n=await this._flattened.sign(e,r);if(n.payload===void 0)throw new TypeError("use the flattened module for creating JWS with b64: false");return`${n.protected}.${n.payload}.${n.signature}`}}});var ml,as,om=S(()=>{ss();V();ml=class{static{o(this,"IndividualSignature")}constructor(e,r,n){this.parent=e,this.key=r,this.options=n}setProtectedHeader(e){if(this.protectedHeader)throw new TypeError("setProtectedHeader can only be called once");return this.protectedHeader=e,this}setUnprotectedHeader(e){if(this.unprotectedHeader)throw new TypeError("setUnprotectedHeader can only be called once");return this.unprotectedHeader=e,this}addSignature(...e){return this.parent.addSignature(...e)}sign(...e){return this.parent.sign(...e)}done(){return this.parent}},as=class{static{o(this,"GeneralSign")}constructor(e){this._signatures=[],this._payload=e}addSignature(e,r){let n=new ml(this,e,r);return this._signatures.push(n),n}async sign(){if(!this._signatures.length)throw new z("at least one signature must be added");let e={signatures:[],payload:""};for(let r=0;r<this._signatures.length;r++){let n=this._signatures[r],i=new rr(this._payload);i.setProtectedHeader(n.protectedHeader),i.setUnprotectedHeader(n.unprotectedHeader);let{payload:s,...a}=await i.sign(n.key,n.options);if(r===0)e.payload=s;else if(e.payload!==s)throw new z("inconsistent use of JWS Unencoded Payload (RFC7797)");e.signatures.push(a)}return e}}});var nr,cs=S(()=>{dl();qe();pl();nr=class{static{o(this,"ProduceJWT")}constructor(e){if(!Q(e))throw new TypeError("JWT Claims Set MUST be an object");this._payload=e}setIssuer(e){return this._payload={...this._payload,iss:e},this}setSubject(e){return this._payload={...this._payload,sub:e},this}setAudience(e){return this._payload={...this._payload,aud:e},this}setJti(e){return this._payload={...this._payload,jti:e},this}setNotBefore(e){return typeof e=="number"?this._payload={...this._payload,nbf:e}:this._payload={...this._payload,nbf:en(new Date)+tn(e)},this}setExpirationTime(e){return typeof e=="number"?this._payload={...this._payload,exp:e}:this._payload={...this._payload,exp:en(new Date)+tn(e)},this}setIssuedAt(e){return typeof e>"u"?this._payload={...this._payload,iat:en(new Date)}:this._payload={...this._payload,iat:e},this}}});var us,sm=S(()=>{fl();V();ye();cs();us=class extends nr{static{o(this,"SignJWT")}setProtectedHeader(e){return this._protectedHeader=e,this}async sign(e,r){var n;let i=new on(Y.encode(JSON.stringify(this._payload)));if(i.setProtectedHeader(this._protectedHeader),Array.isArray((n=this._protectedHeader)===null||n===void 0?void 0:n.crit)&&this._protectedHeader.crit.includes("b64")&&this._protectedHeader.b64===!1)throw new ue("JWTs MUST NOT use unencoded payload");return i.sign(e,r)}}});var ls,am=S(()=>{hl();ye();cs();ls=class extends nr{static{o(this,"EncryptJWT")}setProtectedHeader(e){if(this._protectedHeader)throw new TypeError("setProtectedHeader can only be called once");return this._protectedHeader=e,this}setKeyManagementParameters(e){if(this._keyManagementParameters)throw new TypeError("setKeyManagementParameters can only be called once");return this._keyManagementParameters=e,this}setContentEncryptionKey(e){if(this._cek)throw new TypeError("setContentEncryptionKey can only be called once");return this._cek=e,this}setInitializationVector(e){if(this._iv)throw new TypeError("setInitializationVector can only be called once");return this._iv=e,this}replicateIssuerAsHeader(){return this._replicateIssuerAsHeader=!0,this}replicateSubjectAsHeader(){return this._replicateSubjectAsHeader=!0,this}replicateAudienceAsHeader(){return this._replicateAudienceAsHeader=!0,this}async encrypt(e,r){let n=new nn(Y.encode(JSON.stringify(this._payload)));return this._replicateIssuerAsHeader&&(this._protectedHeader={...this._protectedHeader,iss:this._payload.iss}),this._replicateSubjectAsHeader&&(this._protectedHeader={...this._protectedHeader,sub:this._payload.sub}),this._replicateAudienceAsHeader&&(this._protectedHeader={...this._protectedHeader,aud:this._payload.aud}),n.setProtectedHeader(this._protectedHeader),this._iv&&n.setInitializationVector(this._iv),this._cek&&n.setContentEncryptionKey(this._cek),this._keyManagementParameters&&n.setKeyManagementParameters(this._keyManagementParameters),n.encrypt(e,r)}}});async function yl(t,e){if(!Q(t))throw new TypeError("JWK must be an object");if(e??(e="sha256"),e!=="sha256"&&e!=="sha384"&&e!=="sha512")throw new TypeError('digestAlgorithm must one of "sha256", "sha384", or "sha512"');let r;switch(t.kty){case"EC":ir(t.crv,'"crv" (Curve) Parameter'),ir(t.x,'"x" (X Coordinate) Parameter'),ir(t.y,'"y" (Y Coordinate) Parameter'),r={crv:t.crv,kty:t.kty,x:t.x,y:t.y};break;case"OKP":ir(t.crv,'"crv" (Subtype of Key Pair) Parameter'),ir(t.x,'"x" (Public Key) Parameter'),r={crv:t.crv,kty:t.kty,x:t.x};break;case"RSA":ir(t.e,'"e" (Exponent) Parameter'),ir(t.n,'"n" (Modulus) Parameter'),r={e:t.e,kty:t.kty,n:t.n};break;case"oct":ir(t.k,'"k" (Key Value) Parameter'),r={k:t.k,kty:t.kty};break;default:throw new U('"kty" (Key Type) Parameter missing or unsupported')}let n=Y.encode(JSON.stringify(r));return Z(await Uo(e,n))}async function cm(t,e){e??(e="sha256");let r=await yl(t,e);return`urn:ietf:params:oauth:jwk-thumbprint:sha-${e.slice(-3)}:${r}`}var ir,um=S(()=>{Uu();Ie();V();ye();qe();ir=o((t,e)=>{if(typeof t!="string"||!t)throw new Zn(`${e} missing or invalid`)},"check");o(yl,"calculateJwkThumbprint");o(cm,"calculateJwkThumbprintUri")});async function lm(t,e){let r={...t,...e?.header};if(!Q(r.jwk))throw new z('"jwk" (JSON Web Key) Header Parameter must be a JSON object');let n=await er({...r.jwk,ext:!0},r.alg,!0);if(n instanceof Uint8Array||n.type!=="public")throw new z('"jwk" (JSON Web Key) Header Parameter must be a public key');return n}var dm=S(()=>{si();qe();V();o(lm,"EmbeddedJWK")});function $T(t){switch(typeof t=="string"&&t.slice(0,2)){case"RS":case"PS":return"RSA";case"ES":return"EC";case"Ed":return"OKP";default:throw new U('Unsupported "alg" value for a JSON Web Key Set')}}function gl(t){return t&&typeof t=="object"&&Array.isArray(t.keys)&&t.keys.every(jT)}function jT(t){return Q(t)}function VT(t){return typeof structuredClone=="function"?structuredClone(t):JSON.parse(JSON.stringify(t))}async function pm(t,e,r){let n=t.get(e)||t.set(e,{}).get(e);if(n[r]===void 0){let i=await er({...e,ext:!0},r);if(i instanceof Uint8Array||i.type!=="public")throw new Wt("JSON Web Key Set members must be public keys");n[r]=i}return n[r]}function hm(t){let e=new pi(t);return async function(r,n){return e.getKey(r,n)}}var pi,_l=S(()=>{si();V();qe();o($T,"getKtyFromAlg");o(gl,"isJWKSLike");o(jT,"isJWKLike");o(VT,"clone");pi=class{static{o(this,"LocalJWKSet")}constructor(e){if(this._cached=new WeakMap,!gl(e))throw new Wt("JSON Web Key Set malformed");this._jwks=VT(e)}async getKey(e,r){let{alg:n,kid:i}={...e,...r?.header},s=$T(n),a=this._jwks.keys.filter(l=>{let d=s===l.kty;if(d&&typeof i=="string"&&(d=i===l.kid),d&&typeof l.alg=="string"&&(d=n===l.alg),d&&typeof l.use=="string"&&(d=l.use==="sig"),d&&Array.isArray(l.key_ops)&&(d=l.key_ops.includes("verify")),d&&n==="EdDSA"&&(d=l.crv==="Ed25519"||l.crv==="Ed448"),d)switch(n){case"ES256":d=l.crv==="P-256";break;case"ES256K":d=l.crv==="secp256k1";break;case"ES384":d=l.crv==="P-384";break;case"ES512":d=l.crv==="P-521";break}return d}),{0:c,length:u}=a;if(u===0)throw new Pr;if(u!==1){let l=new Xn,{_cached:d}=this;throw l[Symbol.asyncIterator]=async function*(){for(let p of a)try{yield await pm(d,p,n)}catch{continue}},l}return pm(this._cached,c,n)}};o(pm,"importWithAlgCache");o(hm,"createLocalJWKSet")});var GT,fm,mm=S(()=>{V();GT=o(async(t,e,r)=>{let n,i,s=!1;typeof AbortController=="function"&&(n=new AbortController,i=setTimeout(()=>{s=!0,n.abort()},e));let a=await fetch(t.href,{signal:n?n.signal:void 0,redirect:"manual",headers:r.headers}).catch(c=>{throw s?new ei:c});if(i!==void 0&&clearTimeout(i),a.status!==200)throw new pe("Expected 200 OK from the JSON Web Key Set HTTP response");try{return await a.json()}catch{throw new pe("Failed to parse the JSON Web Key Set HTTP response as JSON")}},"fetchJwks"),fm=GT});function BT(){return typeof WebSocketPair<"u"||typeof navigator<"u"&&navigator.userAgent==="Cloudflare-Workers"||typeof EdgeRuntime<"u"&&EdgeRuntime==="vercel"}function ym(t,e){let r=new bl(t,e);return async function(n,i){return r.getKey(n,i)}}var bl,gm=S(()=>{mm();V();_l();o(BT,"isCloudflareWorkers");bl=class extends pi{static{o(this,"RemoteJWKSet")}constructor(e,r){if(super({keys:[]}),this._jwks=void 0,!(e instanceof URL))throw new TypeError("url must be an instance of URL");this._url=new URL(e.href),this._options={agent:r?.agent,headers:r?.headers},this._timeoutDuration=typeof r?.timeoutDuration=="number"?r?.timeoutDuration:5e3,this._cooldownDuration=typeof r?.cooldownDuration=="number"?r?.cooldownDuration:3e4,this._cacheMaxAge=typeof r?.cacheMaxAge=="number"?r?.cacheMaxAge:6e5}coolingDown(){return typeof this._jwksTimestamp=="number"?Date.now()<this._jwksTimestamp+this._cooldownDuration:!1}fresh(){return typeof this._jwksTimestamp=="number"?Date.now()<this._jwksTimestamp+this._cacheMaxAge:!1}async getKey(e,r){(!this._jwks||!this.fresh())&&await this.reload();try{return await super.getKey(e,r)}catch(n){if(n instanceof Pr&&this.coolingDown()===!1)return await this.reload(),super.getKey(e,r);throw n}}async reload(){this._pendingFetch&&BT()&&(this._pendingFetch=void 0),this._pendingFetch||(this._pendingFetch=fm(this._url,this._timeoutDuration,this._options).then(e=>{if(!gl(e))throw new Wt("JSON Web Key Set malformed");this._jwks={keys:e.keys},this._jwksTimestamp=Date.now(),this._pendingFetch=void 0}).catch(e=>{throw this._pendingFetch=void 0,e})),await this._pendingFetch}};o(ym,"createRemoteJWKSet")});var ds,_m=S(()=>{Ie();ye();V();os();cs();ds=class extends nr{static{o(this,"UnsecuredJWT")}encode(){let e=Z(JSON.stringify({alg:"none"})),r=Z(JSON.stringify(this._payload));return`${e}.${r}.`}static decode(e,r){if(typeof e!="string")throw new ue("Unsecured JWT must be a string");let{0:n,1:i,2:s,length:a}=e.split(".");if(a!==3||s!=="")throw new ue("Invalid Unsecured JWT");let c;try{if(c=JSON.parse(ce.decode(re(n))),c.alg!=="none")throw new Error}catch{throw new ue("Invalid Unsecured JWT")}return{payload:rn(c,re(i),r),header:c}}}});var El={};Gi(El,{decode:()=>hi,encode:()=>KT});var KT,hi,ps=S(()=>{Ie();KT=Z,hi=re});function bm(t){let e;if(typeof t=="string"){let r=t.split(".");(r.length===3||r.length===5)&&([e]=r)}else if(typeof t=="object"&&t)if("protected"in t)e=t.protected;else throw new TypeError("Token does not contain a Protected Header");try{if(typeof e!="string"||!e)throw new Error;let r=JSON.parse(ce.decode(hi(e)));if(!Q(r))throw new Error;return r}catch{throw new TypeError("Invalid Token or Protected Header formatting")}}var Em=S(()=>{ps();ye();qe();o(bm,"decodeProtectedHeader")});function wm(t){if(typeof t!="string")throw new ue("JWTs must use Compact JWS serialization, JWT must be a string");let{1:e,length:r}=t.split(".");if(r===5)throw new ue("Only JWTs using Compact JWS serialization can be decoded");if(r!==3)throw new ue("Invalid JWT");if(!e)throw new ue("JWTs must contain a payload");let n;try{n=hi(e)}catch{throw new ue("Failed to parse the base64url encoded payload")}let i;try{i=JSON.parse(ce.decode(n))}catch{throw new ue("Failed to parse the decoded payload as JSON")}if(!Q(i))throw new ue("Invalid JWT Claims Set");return i}var vm=S(()=>{ps();ye();qe();V();o(wm,"decodeJwt")});async function Tm(t,e){var r;let n,i,s;switch(t){case"HS256":case"HS384":case"HS512":n=parseInt(t.slice(-3),10),i={name:"HMAC",hash:`SHA-${n}`,length:n},s=["sign","verify"];break;case"A128CBC-HS256":case"A192CBC-HS384":case"A256CBC-HS512":return n=parseInt(t.slice(-3),10),Qt(new Uint8Array(n>>3));case"A128KW":case"A192KW":case"A256KW":n=parseInt(t.slice(1,4),10),i={name:"AES-KW",length:n},s=["wrapKey","unwrapKey"];break;case"A128GCMKW":case"A192GCMKW":case"A256GCMKW":case"A128GCM":case"A192GCM":case"A256GCM":n=parseInt(t.slice(1,4),10),i={name:"AES-GCM",length:n},s=["encrypt","decrypt"];break;default:throw new U('Invalid or unsupported JWK "alg" (Algorithm) Parameter value')}return L.subtle.generateKey(i,(r=e?.extractable)!==null&&r!==void 0?r:!1,s)}function wl(t){var e;let r=(e=t?.modulusLength)!==null&&e!==void 0?e:2048;if(typeof r!="number"||r<2048)throw new U("Invalid or unsupported modulusLength option provided, 2048 bits or larger keys must be used");return r}async function Sm(t,e){var r,n,i;let s,a;switch(t){case"PS256":case"PS384":case"PS512":s={name:"RSA-PSS",hash:`SHA-${t.slice(-3)}`,publicExponent:new Uint8Array([1,0,1]),modulusLength:wl(e)},a=["sign","verify"];break;case"RS256":case"RS384":case"RS512":s={name:"RSASSA-PKCS1-v1_5",hash:`SHA-${t.slice(-3)}`,publicExponent:new Uint8Array([1,0,1]),modulusLength:wl(e)},a=["sign","verify"];break;case"RSA-OAEP":case"RSA-OAEP-256":case"RSA-OAEP-384":case"RSA-OAEP-512":s={name:"RSA-OAEP",hash:`SHA-${parseInt(t.slice(-3),10)||1}`,publicExponent:new Uint8Array([1,0,1]),modulusLength:wl(e)},a=["decrypt","unwrapKey","encrypt","wrapKey"];break;case"ES256":s={name:"ECDSA",namedCurve:"P-256"},a=["sign","verify"];break;case"ES384":s={name:"ECDSA",namedCurve:"P-384"},a=["sign","verify"];break;case"ES512":s={name:"ECDSA",namedCurve:"P-521"},a=["sign","verify"];break;case"EdDSA":a=["sign","verify"];let c=(r=e?.crv)!==null&&r!==void 0?r:"Ed25519";switch(c){case"Ed25519":case"Ed448":s={name:c};break;default:throw new U("Invalid or unsupported crv option provided")}break;case"ECDH-ES":case"ECDH-ES+A128KW":case"ECDH-ES+A192KW":case"ECDH-ES+A256KW":{a=["deriveKey","deriveBits"];let u=(n=e?.crv)!==null&&n!==void 0?n:"P-256";switch(u){case"P-256":case"P-384":case"P-521":{s={name:"ECDH",namedCurve:u};break}case"X25519":case"X448":s={name:u};break;default:throw new U("Invalid or unsupported crv option provided, supported values are P-256, P-384, P-521, X25519, and X448")}break}default:throw new U('Invalid or unsupported JWK "alg" (Algorithm) Parameter value')}return L.subtle.generateKey(s,(i=e?.extractable)!==null&&i!==void 0?i:!1,a)}var vl=S(()=>{Te();V();ti();o(Tm,"generateSecret");o(wl,"getModulusLengthOption");o(Sm,"generateKeyPair")});async function Im(t,e){return Sm(t,e)}var Am=S(()=>{vl();o(Im,"generateKeyPair")});async function Pm(t,e){return Tm(t,e)}var Rm=S(()=>{vl();o(Pm,"generateSecret")});var hs={};Gi(hs,{CompactEncrypt:()=>nn,CompactSign:()=>on,EmbeddedJWK:()=>lm,EncryptJWT:()=>ls,FlattenedEncrypt:()=>Lt,FlattenedSign:()=>rr,GeneralEncrypt:()=>rs,GeneralSign:()=>as,SignJWT:()=>us,UnsecuredJWT:()=>ds,base64url:()=>El,calculateJwkThumbprint:()=>yl,calculateJwkThumbprintUri:()=>cm,compactDecrypt:()=>Zo,compactVerify:()=>is,createLocalJWKSet:()=>hm,createRemoteJWKSet:()=>ym,decodeJwt:()=>wm,decodeProtectedHeader:()=>bm,errors:()=>Fu,exportJWK:()=>Xo,exportPKCS8:()=>Kf,exportSPKI:()=>Bf,flattenedDecrypt:()=>Zr,flattenedVerify:()=>Xr,generalDecrypt:()=>$f,generalVerify:()=>Qf,generateKeyPair:()=>Im,generateSecret:()=>Pm,importJWK:()=>er,importPKCS8:()=>Mf,importSPKI:()=>Df,importX509:()=>Uf,jwtDecrypt:()=>tm,jwtVerify:()=>Xf});var fs=S(()=>{nl();Yo();jf();Jf();ll();ns();Yf();em();rm();hl();ts();fl();ss();om();sm();am();um();dm();_l();gm();_m();il();si();Em();vm();V();Am();Rm();ps()});var ys=g(ms=>{"use strict";Object.defineProperty(ms,"__esModule",{value:!0});ms.fetchRetry=void 0;var JT=D();async function zT(t,e,r){for(let n=0;n<=t.retries;n++){let i=fetch(e,r);if(n===t.retries)return i;let s=await i;if(s.status<500&&s.status!==429)return s;t?.logger?.error("Request failed, retrying",{method:typeof e=="string"?"GET":e.method,url:typeof e=="string"?e:e.url,status:s.status}),await new Promise(a=>setTimeout(a,t.retryDelayMs*Math.pow(2,n)))}throw new JT.ConfigurationError("An unknown error occurred, ensure retries is not negative")}o(zT,"fetchRetry");ms.fetchRetry=zT});var sn=g(Ze=>{"use strict";Object.defineProperty(Ze,"__esModule",{value:!0});Ze.GcpServiceAccount=Ze.fetchToken=Ze.exchangeGgpJwtForIdToken=Ze.exchangeFirebaseJwtForIdToken=Ze.getTokenFromGcpServiceAccount=void 0;var Om=(fs(),Bi(hs)),WT=D(),QT=ys();async function YT({serviceAccount:t,audience:e,expirationTime:r="1h",payload:n={}}){let{clientEmail:i,privateKeyId:s,privateKey:a}=t;return await new Om.SignJWT(n).setProtectedHeader({alg:"RS256",kid:s}).setIssuer(i).setSubject(i).setAudience(e).setIssuedAt().setExpirationTime(r).sign(a)}o(YT,"getTokenFromGcpServiceAccount");Ze.getTokenFromGcpServiceAccount=YT;async function ZT(t,e,r){return Sl(t,{token:e,returnSecureToken:!0},r)}o(ZT,"exchangeFirebaseJwtForIdToken");Ze.exchangeFirebaseJwtForIdToken=ZT;async function XT(t,e,r){return Sl(t,{grant_type:"urn:ietf:params:oauth:grant-type:jwt-bearer",assertion:e},r)}o(XT,"exchangeGgpJwtForIdToken");Ze.exchangeGgpJwtForIdToken=XT;async function Sl(t,e,r){let n=await(0,QT.fetchRetry)(r,t,{method:"POST",headers:{"Content-Type":"application/json"},redirect:"follow",body:JSON.stringify(e)});if(n.status!==200){let s;try{let a=await n.text(),c=JSON.parse(a);s={cause:c.error??c}}catch{}throw new WT.RuntimeError({message:"Could not get token from Google Identity",extensionMembers:s})}return await n.json()}o(Sl,"fetchToken");Ze.fetchToken=Sl;var Tl=class t{static{o(this,"GcpServiceAccount")}#e;#t;constructor({serviceAccount:e,privateKey:r}){this.#t=e,this.#e=r}static async init(e){let r=JSON.parse(e),n=await(0,Om.importPKCS8)(r.private_key.trim(),"RS256");return new t({serviceAccount:r,privateKey:n})}get type(){return this.#t.type}get projectId(){return this.#t.project_id}get privateKeyId(){return this.#t.private_key_id}get privateKey(){return this.#e}get clientEmail(){return this.#t.client_email}get clientId(){return this.#t.client_id}get authUri(){return this.#t.auth_uri}get tokenUrl(){return this.#t.token_url}get authProviderX509CertUrl(){return this.#t.auth_provider_x509_cert_url}get clientX509CertUrl(){return this.#t.client_x509_cert_url}get universalDomain(){return this.#t.universe_domain}};Ze.GcpServiceAccount=Tl});var _s=g(Dt=>{"use strict";Object.defineProperty(Dt,"__esModule",{value:!0});Dt.GoogleLogTransport=Dt.ZuploToGCPMap=Dt.GoogleCloudLoggingPlugin=void 0;var eS=we(),Il=te(),Al=sn(),tS=Nt(),xm=mt(),Pl=class extends tS.LogPlugin{static{o(this,"GoogleCloudLoggingPlugin")}options;constructor(e){super(),this.options=e}getTransport(){return new gs(this.options)}};Dt.GoogleCloudLoggingPlugin=Pl;var rS="https://logging.googleapis.com/v2/entries:write?alt=json";Dt.ZuploToGCPMap={error:"ERROR",warn:"WARNING",info:"INFO",debug:"DEBUG"};var gs=class{static{o(this,"GoogleLogTransport")}constructor(e){this.#r=e.logName,this.#e=e.serviceAccountJson,this.#i=Il.Environment.instance.loggingEnvironmentType,this.#o=Il.Environment.instance.loggingEnvironmentStage,this.#n=Il.Environment.instance.deploymentName}#e;#t;#r;#n;#i;#o;async log(e,r){if(e.messages.length===0)return;let n={allMessages:(0,xm.makeErrorsSerializable)(e.messages)};this.#t||(this.#t=await Al.GcpServiceAccount.init(this.#e));let i=this.#t.projectId??"zuplo-production",s={logName:this.#r,resource:{type:"global"},severity:Dt.ZuploToGCPMap[e.level],timestamp:e.timestamp,trace:`projects/${i}/traces/${e.requestId}`,labels:{requestId:e.requestId,buildId:e.buildId,source:e.logSource,loggingId:e.loggingId,logOwner:e.logOwner,environment:this.#n,environmentType:this.#i,environmentStage:this.#o}};e.rayId&&(s.labels.rayId=e.rayId);let a=(0,xm.extractBestMessage)(n.allMessages);s.jsonPayload={...n,message:a},this.batcher.enqueue(s),r.waitUntil(this.batcher.waitUntilFlushed())}dispatchFunction=async e=>{if(e.length===0)return;this.#t||(this.#t=await Al.GcpServiceAccount.init(this.#e));let r=await(0,Al.getTokenFromGcpServiceAccount)({serviceAccount:this.#t,audience:"https://logging.googleapis.com/google.logging.v2.LoggingServiceV2"}),n=await fetch(rS,{method:"POST",body:JSON.stringify({entries:e}),headers:{Authorization:`Bearer ${r}`,"content-type":"application/json;charset=UTF-8"}});n.ok||console.error(n.status,n.statusText,await n.text())};batcher=new eS.BatchDispatch("google-log-transport",1,this.dispatchFunction)};Dt.GoogleLogTransport=gs});var Rl=g(an=>{"use strict";Object.defineProperty(an,"__esModule",{value:!0});an.gcpLogFormat=an.GCP_LOG_FORMAT=void 0;var Nm=mt(),nS=_s();an.GCP_LOG_FORMAT="gcp";function iS(t){let e={allMessages:(0,Nm.makeErrorsSerializable)(t.messages)},r="zuplo-production",n=(0,Nm.extractBestMessage)(e.allMessages),i={logName:`projects/${r}/logs/runtime-user`,message:n,severity:nS.ZuploToGCPMap[t.level],timestamp:t.timestamp,"logging.googleapis.com/labels":{buildId:t.buildId,source:t.logSource,loggingId:t.loggingId,logOwner:t.logOwner},"logging.googleapis.com/trace":`projects/${r}/traces/${t.requestId}`,allMessages:e.allMessages};return t.rayId&&(i["logging.googleapis.com/labels"].rayId=t.rayId),i}o(iS,"gcpLogFormat");an.gcpLogFormat=iS});var Lm=g(bs=>{"use strict";Object.defineProperty(bs,"__esModule",{value:!0});bs.ConsoleTransport=void 0;var Cm=Rl(),Ol=class{static{o(this,"ConsoleTransport")}constructor(e,r){this.#e=e??console,this.#t=r}#e;#t;async log(e){if(this.#t===Cm.GCP_LOG_FORMAT){if(e.messages.length===0)return;this.#e[e.level].apply(null,[(0,Cm.gcpLogFormat)(e)])}else this.#e[e.level].apply(null,[...e.messages,{logOwner:e.logOwner,logSource:e.logSource,level:e.level,timestamp:e.timestamp,loggingId:e.loggingId,rayId:e.rayId,requestId:e.requestId,buildId:e.buildId}])}};bs.ConsoleTransport=Ol});var Ul=g(cn=>{"use strict";Object.defineProperty(cn,"__esModule",{value:!0});cn.DataDogTransport=cn.DataDogLoggingPlugin=void 0;var oS=we(),xl=te(),sS=Nt(),Dm=mt(),Dl=class extends sS.LogPlugin{static{o(this,"DataDogLoggingPlugin")}options;constructor(e){super(),this.options=e}getTransport(){return new Es(this.options)}};cn.DataDogLoggingPlugin=Dl;var Nl="__ddtags",Cl="__ddattr",Ll=o(t=>t.replaceAll(",","_").replaceAll(":","_"),"cleanTagText"),aS=o(t=>{let e=Object.keys(t),r=[];return e.forEach(n=>{let i=t[n];i==null?r.push(Ll(n)):r.push(`${Ll(n)}:${Ll(i.toString())}`)}),r.join(",")},"formatTags"),Es=class{static{o(this,"DataDogTransport")}constructor(e){this.#e=e.apiKey,this.#t=e.url??"https://http-intake.logs.datadoghq.com/api/v2/logs",this.#n=xl.Environment.instance.loggingEnvironmentType,this.#i=xl.Environment.instance.loggingEnvironmentStage,this.#r=xl.Environment.instance.deploymentName}#e;#t;#r;#n;#i;async log(e,r){let n={},i=r.custom[Nl];i&&typeof i=="object"&&Object.assign(n,i);let s=[...e.messages],a=e.messages.findIndex(f=>f[Nl]!==void 0);a>-1&&(Object.assign(n,s[a][Nl]),s.splice(a,1));let c={},u=r.custom[Cl];u&&typeof u=="object"&&Object.assign(c,u);let l=e.messages.findIndex(f=>f[Cl]!==void 0);l>-1&&(Object.assign(c,s[l][Cl]),s.splice(l,1));let d=(0,Dm.makeErrorsSerializable)(s),m={message:{...{...e,activityId:e.requestId,trace:e.requestId},messages:d},ddsource:"Zuplo",hostname:new URL(r.originalRequest.url).hostname,msg:(0,Dm.extractBestMessage)(d),service:e.loggingId,ddtags:aS(n),environment:this.#r,environment_type:this.#n,environment_stage:this.#i};Object.assign(m,c),this.batcher.enqueue(m),r.waitUntil(this.batcher.waitUntilFlushed())}dispatchFunction=async e=>{e.length!==0&&await fetch(this.#t,{method:"POST",body:JSON.stringify([...e]),headers:{"content-type":"application/json","DD-API-KEY":this.#e}})};batcher=new oS.BatchDispatch("data-dog-transport",10,this.dispatchFunction)};cn.DataDogTransport=Es});var Mm=g(ws=>{"use strict";Object.defineProperty(ws,"__esModule",{value:!0});ws.ProcessTransport=void 0;var Um=Rl(),Ml=class{static{o(this,"ProcessTransport")}constructor(e,r){this.#e=e,this.#t=r}#e;#t;async log(e){if(this.#t===Um.GCP_LOG_FORMAT){if(e.messages.length===0)return;this.#e[e.level].apply(null,[(0,Um.gcpLogFormat)(e)])}else this.#e[e.level].apply(null,[...e.messages,{logOwner:e.logOwner,logSource:e.logSource,timestamp:e.timestamp,loggingId:e.loggingId,rayId:e.rayId,requestId:e.requestId,buildId:e.buildId,vectorClock:e.vectorClock}])}};ws.ProcessTransport=Ml});var Fm=g(Ts=>{"use strict";Object.defineProperty(Ts,"__esModule",{value:!0});Ts.RemoteLogTransport=void 0;var cS=we(),km=te(),uS=mt(),lS=o(({url:t,remoteLogToken:e,loggingId:r,sendOnlyErrors:n})=>async i=>{let s;n===!0?s=i.filter(a=>a.level==="error"):s=i,s.length!==0&&fetch(`${t}/publish/${r}`,{method:"POST",body:JSON.stringify({timestamp:Date.now(),type:"log",message:s.map(a=>({...a,messages:(0,uS.makeErrorsSerializable)(a.messages)}))}),headers:{"content-type":"application/json",authentication:`Bearer ${e}`,"user-agent":km.Environment.instance.systemUserAgent,"zp-dn":km.Environment.instance.deploymentName??"unknown"}}).catch(a=>{console.error(a)})},"dispatchFunction"),vs,kl=class{static{o(this,"RemoteLogTransport")}constructor(e){vs||(vs=new cS.BatchDispatch("remote-log-transport",1,lS(e)))}async log(e,r){vs.enqueue(e),r.waitUntil(vs.waitUntilFlushed())}};Ts.RemoteLogTransport=kl});var Hm=g(xr=>{"use strict";Object.defineProperty(xr,"__esModule",{value:!0});xr.unifiedFormatter=xr.SeverityNumberOpenTelemetryMap=void 0;xr.SeverityNumberOpenTelemetryMap={internal:1,trace:2,debug:5,info:9,warn:13,error:17,fatal:21};var dS=o((t,e)=>r=>{let n={};return n.deploymentName=t,n.labels={requestId:r.requestId,source:r.logSource,loggingId:r.loggingId,logOwner:r.logOwner},n.rayId=r.rayId??"",n.runtime={buildId:e.BUILD_ID,buildTimestamp:e.TIMESTAMP,gitSHA:e.GIT_SHA,version:e.ZUPLO_VERSION},n.atomicCounter=r.vectorClock,{timestamp:r.timestamp,observerdTimestamp:r.timestamp,traceId:r.requestId,severityText:r.level,severityNumber:xr.SeverityNumberOpenTelemetryMap[r.level],body:r.messages,attributes:n}},"unifiedFormatter");xr.unifiedFormatter=dS});var $m=g(Is=>{"use strict";Object.defineProperty(Is,"__esModule",{value:!0});Is.UnifiedLogTransport=void 0;var pS=we(),qm=te(),hS=Hm(),fS=o(({url:t,remoteLogToken:e,deploymentName:r,build:n})=>async i=>{if(i.length===0)return;let s=(0,hS.unifiedFormatter)(r,n);fetch(`${t}/v1/runtime-logs`,{method:"POST",body:JSON.stringify({entries:i.map(s)}),headers:{"content-type":"application/json",authentication:`Bearer ${e}`,"user-agent":qm.Environment.instance.systemUserAgent,"zp-dn":qm.Environment.instance.deploymentName??"unknown"}}).catch(a=>{console.error(a)})},"dispatchFunction"),Ss,Fl=class{static{o(this,"UnifiedLogTransport")}constructor(e){Ss||(Ss=new pS.BatchDispatch("unified-log-transport",1,fS(e)))}async log(e,r){Ss.enqueue(e),r.waitUntil(Ss.waitUntilFlushed())}};Is.UnifiedLogTransport=Fl});var zm=g(As=>{"use strict";Object.defineProperty(As,"__esModule",{value:!0});As.LogInitializer=void 0;var mS=Er(),yS=Rt(),jm=Tu(),Vm=te(),Gm=$h(),gS=Nt(),_S=jh(),Bm=Vh(),Km=Lm(),bS=Ul(),ES=_s(),Jm=Mm(),wS=Fm(),vS=$m(),Hl=(0,mS.debug)("zuplo:logging"),ql=class{static{o(this,"LogInitializer")}serviceProvider;systemCoreLogger;userCoreLogger;constructor(e){this.serviceProvider=e,this.systemCoreLogger=this.setupSystemCoreLogger(Vm.Environment.instance),this.userCoreLogger=this.setupUserCoreLogger(Vm.Environment.instance)}setupSystemCoreLogger(e){let{runtime:r,build:n}=e;Hl("Gateway.setupSystemCoreLogger");let i=[],s=this.serviceProvider.getService(jm.SYSTEM_LOGGER);return s?i.push(new Jm.ProcessTransport(s.logger,e.logFormat)):e.isDeno&&i.push(new Km.ConsoleTransport(console,e.logFormat)),e.isCloudflare&&e.deploymentName&&e.remoteLogToken&&i.push(new vS.UnifiedLogTransport({url:e.remoteLogURL,deploymentName:e.deploymentName,remoteLogToken:e.remoteLogToken,build:e.build})),new Gm.CoreLogger(e.systemLogLevel,"system",e.loggingId,n.BUILD_ID,i)}setupUserCoreLogger(e){Hl("Gateway.setupUserCoreLogger");let r=[],{runtime:n,build:i}=e,s=this.serviceProvider.getService(jm.SYSTEM_LOGGER);if(s&&s.captureUserLogs===!0?r.push(new Jm.ProcessTransport(s.logger,e.logFormat)):e.isDeno&&r.push(new Km.ConsoleTransport(console,e.logFormat)),e.remoteLogToken&&e.loggingId&&r.push(new wS.RemoteLogTransport({loggingId:e.loggingId,url:e.remoteLogURL,remoteLogToken:e.remoteLogToken,sendOnlyErrors:e.isCloudflare})),n.GCP_USER_LOG_NAME&&n.GCP_USER_LOG_SVC_ACCT_JSON&&r.push(new ES.GoogleLogTransport({serviceAccountJson:n.GCP_USER_LOG_SVC_ACCT_JSON,logName:n.GCP_USER_LOG_NAME})),n.ZUPLO_USER_LOGGER_DATA_DOG_API_KEY){let a=n.ZUPLO_USER_LOGGER_DATA_DOG_URL;r.push(new bS.DataDogTransport({apiKey:n.ZUPLO_USER_LOGGER_DATA_DOG_API_KEY,url:a}))}return yS.plugins.forEach(a=>{a instanceof gS.LogPlugin&&r.push(a.getTransport())}),new Gm.CoreLogger(e.userLogLevel,"user",e.loggingId,i.BUILD_ID,r)}createRequestLoggers(e,r,n,i,s){Hl("Gateway.createRequestLoggers");let a=new _S.LoggingContext(n,i,s),c=new Bm.RequestLogger(e,r,this.systemCoreLogger,a);return{userRequestLogger:new Bm.RequestLogger(e,r,this.userCoreLogger,a),systemRequestLogger:c}}};As.LogInitializer=ql});var jl=g(Ps=>{"use strict";Object.defineProperty(Ps,"__esModule",{value:!0});Ps.UserRouteConfiguration=void 0;var $l=class{static{o(this,"UserRouteConfiguration")}constructor(e){this.path=e.path,this.methods=e.methods,this.label=e.label,this.key=e.key,this.handler=e.handler,this.corsPolicy=e.corsPolicy,this.custom=e.custom,this.version=e.version,this.policies=e.policies,this.excludeFromOpenApi=e.excludeFromOpenApi,this.pathPattern=e.pathPattern,e.raw?(this.#e=e.raw(),this.operationId=this.raw()?.operationId,this.summary=this.raw()?.summary,this.tags=this.raw()?.tags,this.parameters=this.raw()?.parameters,this.responses=this.raw()?.responses):(this.operationId=e.operationId,this.summary=e.summary,this.tags=e.tags,this.parameters=e.parameters,this.responses=e.responses)}raw(){return this.#e}#e;label;key;path;summary;operationId;tags;parameters;responses;excludeFromOpenApi;pathPattern;custom;methods;handler;corsPolicy;version;policies};Ps.UserRouteConfiguration=$l});var Gl=g(bt=>{"use strict";Object.defineProperty(bt,"__esModule",{value:!0});bt.Router=bt.RouterError=bt.LookupResult=bt.RouterEntry=void 0;var Wm=D(),TS=ft(),SS=jl(),Rs=class{static{o(this,"RouterEntry")}constructor(e,r,n,i){this.fullPath=e,this.urlPattern=r,this.config=n,this.executableHandler=i}fullPath;urlPattern;config;executableHandler};bt.RouterEntry=Rs;var fi=class{static{o(this,"LookupResult")}constructor(e,r,n){this.routeConfiguration=e,this.params=n??{},this.executableHandler=r}executableHandler;routeConfiguration;params};bt.LookupResult=fi;var Os=class extends Error{static{o(this,"RouterError")}constructor(e,r){super(e,r)}};bt.RouterError=Os;var Vl=class{static{o(this,"Router")}constructor(e){this.routeEntries=[],this.versions=e}versions;routeEntries;addRoute(e,r){if(!(e instanceof SS.UserRouteConfiguration||e instanceof TS.SystemRouteConfiguration))throw new Wm.SystemError("Config must be a UserRouteConfiguration or SystemRouteConfiguration");let n=this.versions.find(s=>s.name===e.version)?.pathPrefix,i;"pathPattern"in e&&e.pathPattern?i=`${n??""}${e.pathPattern}`:i=`${n??""}${e.path}`;try{let s=new URLPattern({pathname:i}),a=new Rs(i,s,e,r);Object.freeze(a.config),this.routeEntries.push(a)}catch(s){throw new Os(`addRoute-error: Invalid path '${i}'. '${s.message}'`,{cause:s})}}lookup(e,r){if(typeof e>"u")throw new Wm.ConfigurationError(`Invalid request - Method was undefined. Path: '${r}'`);let n=this.routeEntries.filter(i=>i.config.methods.includes(e));if(n.length!==0)for(let i=0;i<n.length;i++){let s=n[i],c=s.urlPattern.exec({pathname:r});if(c!==null)return new fi(s.config,s.executableHandler,c.pathname.groups)}}lookupByPathOnly(e){let r=[];for(let n=0;n<this.routeEntries.length;n++){let i=this.routeEntries[n],a=i.urlPattern.exec({pathname:e});if(a!==null){let c=new fi(i.config,i.executableHandler,a.pathname.groups);r.push(c)}}return r}};bt.Router=Vl});var un=g(Ns=>{"use strict";Object.defineProperty(Ns,"__esModule",{value:!0});Ns.Gateway=void 0;var IS=Er(),Qm=bh(),Ym=vh(),AS=Th(),Zm=Sh(),Xm=Rh(),Ut=Jn(),xs=wr(),ey=qh(),wt=D(),Bl=Rt(),PS=zm(),RS=Gt(),OS=ve(),xS=Eu(),NS=Tr(),CS=Qn(),LS=Wn(),DS=Gl(),Kl=ft(),ty=jl(),US=Ge(),ry=te(),ny=Ar(),MS=["/__zuplo/ping","/__zuplo/open-api","/__zuplo/docs","/__zuplo/consumers","/__zuplo/external-users","/__zuplo/assets","/__zuplo/config","/__zuplo/build","/favicon.ico"],Et=(0,IS.debug)("zuplo:runtime"),kS=o(t=>{let e=t.findIndex(r=>r.name===Kl.systemNoVersion.name);return e>-1?[...t.splice(e),Kl.systemNoVersion]:[...t,Kl.systemNoVersion]},"setupSystemNoVersion"),Jl=class t{static{o(this,"Gateway")}routeData;runtimeSettings;schemaValidator;static#e;constructor(e,r,n,i){this.routeData=e,this.runtimeSettings=r,this.schemaValidator=i,Et("Gateway.constructor"),this.#r=this.setupRoutes(),this.#i=this.setupErrorHandler(),this.#t=new PS.LogInitializer(n)}static async initialize(e,r,n,i,s){if(Et("Gateway.initialize"),!t.#e){await(0,Bl.initializeRuntime)(s);let a=new t(e,r,n,i);t.#e=a}return t.#e}static purgeGatewayCache(){Et("Gateway.purgeGatewayCache"),t.#e=void 0}static get instance(){if(!t.#e)throw new wt.SystemError("Gateway cannot be used before it is initialized");return t.#e}instanceId=crypto.randomUUID();#t;#r;#n=[CS.policyProcessor,xS.corsProcessor,NS.metricsProcessor];#i;setupRoutes=()=>{Et("Gateway.setupRoutes");let e=this.routeData,r=kS(e.versions),n=new DS.Router(r);if(e.routes.length===0)return(0,Qm.registerBuildRoute)(n,this),(0,Xm.registerPingRoute)(n,this),(0,Ym.registerCorsRoute)(n,this),(0,AS.registerNoRoutes)(n,this),n;let{enabled:i}=this.runtimeSettings.developerPortal;return i&&((0,ey.registerDevPortalLegacyRedirectRoute)(n,this),(0,ey.registerDevPortalV3Route)(n,this)),(0,Qm.registerBuildRoute)(n,this),(0,Xm.registerPingRoute)(n,this),(0,Ym.registerCorsRoute)(n,this),e.routes.forEach(s=>{let a;if(typeof s.handler?.module=="object"&&(a=s.handler?.module[s.handler.export]),typeof a!="function")throw new wt.ConfigurationError(`Invalid state - No handler on route for path '${s.path}'`);let c=a,u=new RS.Pipeline(this.#n,c,this),l=new ty.UserRouteConfiguration(s);n.addRoute(l,u.execute)}),(0,Zm.registerNotMatchedHandler)(n,this),n};setupErrorHandler=()=>{let e;if(typeof this.routeData.requestErrorHandler?.module=="object"){if(e=this.routeData.requestErrorHandler.module[this.routeData.requestErrorHandler.export],typeof e!="function")throw new wt.ConfigurationError("Invalid state - Module and export set for 'errorHandler' is not a function")}else e=o((r,n,i)=>this.#o(r,n,i),"errorHandler");return e};errorHandler(e,r,n){try{return this.#i(e,r,n)}catch(i){return Et("An error occurred in the user's errorHandler",i),this.#o(e,r,i)}}#o(e,r,n){Et("Gateway.internalErrorResponse");let i={};if(ry.Environment.instance.isDeno){if(n instanceof wt.RuntimeError&&n.extensionMembers)i=n.extensionMembers;else if(n.cause){let s=(0,ny.serializeError)(n.cause);"stack"in s&&(s.stack=(0,ny.cleanStack)(s.stack)),i={cause:s}}}return OS.HttpProblems.internalServerError(e,r,{detail:n.message,...i})}#s(e){let r=new Headers(e.headers);return Ut.DISPATCH_HEADERS_TO_REMOVE.forEach(n=>{r.delete(n)}),ry.Environment.instance.isDeno&&Ut.INTERNAL_HEADERS_TO_REMOVE.forEach(n=>{r.delete(n)}),new Request(e,{headers:r})}async handleRequest(e,r){let n=e.headers.get(Ut.REQUEST_ID_HEADER)??e.headers.get(Ut.LEGACY_REQUEST_ID_HEADER),i=e.headers.get(Ut.RAY_ID_HEADER);if(!n){n=crypto.randomUUID();let T=new Headers(e.headers);T.set(Ut.REQUEST_ID_HEADER,n),e=new Request(e,{headers:T})}if(["GET","HEAD"].includes(e.method)&&e.body){let T=new Headers(e.headers);T.set(Ut.BODY_REMOVED_HEADER,"true"),e=new Request(e,{headers:T,body:null})}let s={},{userRequestLogger:a,systemRequestLogger:c}=this.#t.createRequestLoggers(n,i,r,s,e),u=new URL(e.url),l=u.pathname,d=this.#r.lookup(e.method,l);if(!d)throw new wt.SystemError(`Invalid state - no route match - should have been picked up by the not found handler, path: '${l}'`);let p=new xs.HeaderIncomingRequestProperties(e.headers),m=this.#s(e),f=new LS.ZuploRequest(m,{params:d.params}),y=new xs.SystemZuploContext({logger:a,route:d.routeConfiguration,requestId:n,fetchEvent:r,custom:s,incomingRequestProperties:p}),v=xs.ZuploContextExtensions.initialize(y,f);if(d.routeConfiguration===Zm.notFoundRouteConfiguration&&Bl.runtimeExtensions.value?.notFoundHandler!==void 0){let T=this.#r.lookupByPathOnly(l);v.pathOnlyMatches=T.map(I=>I.routeConfiguration).filter(I=>I instanceof ty.UserRouteConfiguration)}try{if(US.SystemLogMap.addLogger(y,c),!u.pathname.startsWith("/__zuplo")){let j=await(0,Bl.invokeOnRequestExtensions)(f,y);if(j instanceof Response)return j;{let N=xs.ZuploContextExtensions.getContextExtensions(y);f=j,N.latestRequest=f}}[...MS,...this.runtimeSettings.developerPortal.enabled?[this.runtimeSettings.developerPortal.sitePathname]:[]].filter(j=>new RegExp(j).test(u.pathname)).length===0&&a.debug(`Request received '${u.pathname}'`,{method:e.method,url:u.pathname,hostname:u.hostname,route:d.routeConfiguration.path});let I=d.executableHandler;FS(I,d,e),Et("Gateway.handleRequest - call user handler");let k=await I(f,y);if(Et("Gateway.handleRequest - user handler"),!(k instanceof Response))throw new wt.RuntimeError(`Invalid Response type from the request handler: ${typeof k}`);if(k.bodyUsed)throw new wt.RuntimeError("The response object has already been used. Return a new response instead.");if(k.headers.get(Ut.REQUEST_ID_HEADER)===null&&!k.webSocket){let j=new Headers(k.headers);return j.set(Ut.REQUEST_ID_HEADER,n),new Response(k.body,{status:k.status,statusText:k.statusText,headers:j,cf:k.cf})}else return k}catch(T){return Et("Gateway - error executing handler",T),T instanceof wt.RuntimeError?(a.error(T),c.warn(T)):c.error(T),await this.#o(f,y,T)}}};Ns.Gateway=Jl;function FS(t,e,r){if(Et("Gateway.checkHandler"),!t)throw typeof e.routeConfiguration>"u"?new wt.ConfigurationError(`Invalid state - no routeConfiguration for '${r.method}:${r.url}`):new wt.ConfigurationError(`Invalid state. No handler for request '${r.method}':'${e.routeConfiguration.path}'`)}o(FS,"checkHandler")});var iy=g(Cs=>{"use strict";Object.defineProperty(Cs,"__esModule",{value:!0});Cs.invokeInboundPolicy=void 0;var HS=D(),qS=un(),$S=Qn(),jS=o(async(t,e,r)=>{let n=qS.Gateway.instance.routeData.policies,i=(0,$S.getInboundPolicyHandlerAndOptions)([t],n);if(i.length===0)throw new HS.RuntimeError(`Invalid 'invokeInboundPolicy call' - no policy '${t}' found.`);let s=i[0];return s.handler(e,r,s.options,t)},"invokeInboundPolicy");Cs.invokeInboundPolicy=jS});var wr=g(Xe=>{"use strict";Object.defineProperty(Xe,"__esModule",{value:!0});Xe.SystemZuploContext=Xe.ZuploContextExtensions=Xe.ResponseSentEvent=Xe.ResponseSendingEvent=Xe.HeaderIncomingRequestProperties=void 0;var _e=Jn(),VS=D(),GS=iy(),zl=class{static{o(this,"HeaderIncomingRequestProperties")}#e;constructor(e){this.#e=e}get asn(){try{let e=this.#e.get(_e.ZP_ASN_HEADER);if(typeof e=="string")return parseInt(e)}catch{}}get asOrganization(){return this.#e.get(_e.ZP_AS_ORG_HEADER)??void 0}get city(){return this.#e.get(_e.CF_IP_CITY_HEADER)??this.#e.get(_e.ZP_IP_CITY_HEADER)??void 0}get continent(){return this.#e.get(_e.CF_IP_CONTINENT_HEADER)??this.#e.get(_e.ZP_IP_CONTINENT_HEADER)??void 0}get country(){return this.#e.get(_e.CF_IP_COUNTRY_HEADER)??this.#e.get(_e.ZP_IP_COUNTRY_HEADER)??void 0}get latitude(){return this.#e.get(_e.CF_IP_LATITUDE_HEADER)??this.#e.get(_e.ZP_IP_LATITUDE_HEADER)??void 0}get longitude(){return this.#e.get(_e.CF_IP_LONGITUDE_HEADER)??this.#e.get(_e.ZP_IP_LONGITUDE_HEADER)??void 0}get colo(){return this.#e.get(_e.ZP_COLO_HEADER)??void 0}get postalCode(){return this.#e.get(_e.ZP_POSTAL_CODE_HEADER)??void 0}get metroCode(){return this.#e.get(_e.ZP_METRO_CODE_HEADER)??void 0}get region(){return this.#e.get(_e.ZP_REGION_HEADER)??void 0}get regionCode(){return this.#e.get(_e.ZP_REGION_CODE_HEADER)??void 0}get timezone(){return this.#e.get(_e.ZP_TIMEZONE_HEADER)??void 0}toJSON(){return{asn:this.asn,asOrganization:this.asOrganization,city:this.city,continent:this.continent,country:this.country,latitude:this.latitude,longitude:this.longitude,colo:this.colo,postalCode:this.postalCode,metroCode:this.metroCode,region:this.region,regionCode:this.regionCode,timezone:this.timezone}}};Xe.HeaderIncomingRequestProperties=zl;var Wl=class extends Event{static{o(this,"ResponseSendingEvent")}constructor(e,r){super("responseSending"),this.request=e,this.mutableResponse=r}request;mutableResponse};Xe.ResponseSendingEvent=Wl;var Ql=class extends Event{static{o(this,"ResponseSentEvent")}constructor(e,r){super("responseSent"),this.request=e,this.response=r}request;response};Xe.ResponseSentEvent=Ql;var Ls=class t{static{o(this,"ZuploContextExtensions")}static#e=new WeakMap;static initialize(e,r){if(!t.#e.has(e)){let n=new t(r);return t.#e.set(e,n),n}throw new Error(`ZuploContextExtensions already initialized for context with requestId '${e.requestId}'`)}static getContextExtensions(e){let r=t.#e.get(e);if(!r)throw new VS.RuntimeError(`Invalid state, could not get ZuploContext extensions for context with requestId '${e.requestId}'`);return r}latestRequest;pathOnlyMatches;#t;#r;constructor(e){this.latestRequest=e,this.#t=[],this.#r=[]}addResponseSendingHook(e){this.#r.push(e)}addResponseSendingFinalHook(e){this.#t.push(e)}onResponseSendingFinal=async(e,r,n)=>{for(let i of this.#t)await i(e,r,n)};onResponseSending=async(e,r,n)=>{let i=e;for(let s of this.#r)i=await s(e,r,n);return i}};Xe.ZuploContextExtensions=Ls;var Yl=class extends EventTarget{static{o(this,"SystemZuploContext")}constructor({logger:e,route:r,requestId:n,fetchEvent:i,custom:s,incomingRequestProperties:a}){super(),this.log=Object.freeze(e),this.route=r,this.requestId=n,this.custom=s,this.incomingRequestProperties=a,this.#e=i,this.invokeInboundPolicy=(c,u)=>(0,GS.invokeInboundPolicy)(c,u,this),this.waitUntil=c=>{this.#e.waitUntil(c)},this.addResponseSendingFinalHook=c=>{Ls.getContextExtensions(this).addResponseSendingFinalHook(c)},Object.freeze(this)}#e;requestId;log;route;custom;incomingRequestProperties;invokeInboundPolicy;waitUntil;addResponseSendingFinalHook;addEventListener(e,r,n){let i=o(s=>{try{typeof r=="function"?r(s):r.handleEvent(s)}catch(a){throw this.log.error(`Error invoking event ${e}. See following logs for details.`),a}},"wrapped");super.addEventListener(e,i,n)}};Xe.SystemZuploContext=Yl});var oy=g(Ds=>{"use strict";Object.defineProperty(Ds,"__esModule",{value:!0});Ds.ContextData=void 0;var Zl=class t{static{o(this,"ContextData")}static#e;#t;constructor(e){this.#t=e}set(e,r){t.set(e,this.#t,r)}get(e){return t.get(e,this.#t)}static set(e,r,n){t.#e||(t.#e=new WeakMap);let i=t.#e.get(e);i||(i=new Map),i.set(r,n)}static get(e,r){return t.#e||(t.#e=new WeakMap),t.#e.get(e)?.get(r)}};Ds.ContextData=Zl});var Xl=g(or=>{"use strict";Object.defineProperty(or,"__esModule",{value:!0});or.environment=or.isZuploReadableEnvVariableName=or.isRestrictedEnvVariableName=void 0;var BS=["ZUPLO_USER_LOGGER_DATA_DOG_API_KEY","ZUPLO_USER_LOGGER_DATA_DOG_URL","ZUPLO_LOG_LEVEL","ZUPLO_HANDLER_WRITE_LOG_LEVEL"];function sy(t){return t.startsWith("__ZUPLO")||t.startsWith("ZUPLO_")?!BS.includes(t)&&!t.startsWith("ZUPLO_PUBLIC_"):!1}o(sy,"isRestrictedEnvVariableName");or.isRestrictedEnvVariableName=sy;function ay(t){return!!t.startsWith("ZUPLO_")}o(ay,"isZuploReadableEnvVariableName");or.isZuploReadableEnvVariableName=ay;var KS=new Proxy({},{get(t,e,r){if(sy(String(e))&&!ay(String(e)))return;let n=globalThis,i;return n.process?i=n.process.env[e]:i=n[e],i}});or.environment=KS});var ed=g(ln=>{"use strict";Object.defineProperty(ln,"__esModule",{value:!0});ln.externalServiceHandler=ln.externalServiceTunnelConfig=void 0;var JS=Er(),Nr=D(),zS=td(),mi=te(),at=(0,JS.debug)("zuplo:runtime:external-service");function uy(){let t,{__ZUPLO_EXTERNAL_SERVICE_TOKEN:e}=mi.Environment.instance.runtime;if(e&&e!=="undefined")try{let r=atob(e);t=JSON.parse(r)}catch{}return t}o(uy,"getServiceAuth");async function WS(t){let e=uy();if(!e)throw at("There is no external service auth configured for this zup."),new Nr.RuntimeError("There are no external services configured for this zup.");if(typeof t!="string")throw at("Cannot call external service with Request object"),new Nr.RuntimeError("Currently, we only support fetch(<some_string>, ...).");let n=new URL(t).hostname,i={};i["CF-Access-Client-Id"]=e.clientId,i["CF-Access-Client-Secret"]=e.clientSecret;let s;if(e.customServiceMapping&&e.customServiceMapping[n])s=`https://${e.customServiceMapping[n]}`;else if(mi.Environment.instance.useSha256ServiceRouting){at("Using sha256 service routing");let a=mi.Environment.instance.build;if(a.ACCOUNT_NAME&&a.PROJECT_NAME&&a.ENVIRONMENT_TYPE)s=`https://${await ly(n,a.ACCOUNT_NAME,a.PROJECT_NAME,a.ENVIRONMENT_TYPE)}.zuptunnel.com`;else throw at("Cannot use sha256 service routing, missing build variables"),new Nr.RuntimeError("Failed to generate fully qualified tunnel url.")}else s=`https://${n}.zuptunnel.com`;return{serviceBaseUrl:s,tunnelHeaders:i}}o(WS,"externalServiceTunnelConfig");ln.externalServiceTunnelConfig=WS;async function QS(t,e){let r=uy();if(r)if(at(`Using external service auth. ClientId: ${r.clientId})`),typeof t=="string"){let n=new URL(t),i=n.hostname,s=e??{},a=new Headers(s.headers||{});a.set("CF-Access-Client-Id",r.clientId),a.set("CF-Access-Client-Secret",r.clientSecret),s.headers=a;let c;if(r.customServiceMapping&&r.customServiceMapping[i])c=`https://${r.customServiceMapping[i]}`;else if(mi.Environment.instance.useSha256ServiceRouting){at("Using sha256 service routing");let d=mi.Environment.instance.build;if(d.ACCOUNT_NAME&&d.PROJECT_NAME&&d.ENVIRONMENT_TYPE)c=`https://${await ly(i,d.ACCOUNT_NAME,d.PROJECT_NAME,d.ENVIRONMENT_TYPE)}.zuptunnel.com`;else throw at("Cannot use sha256 service routing, missing build variables"),new Nr.RuntimeError("Failed to generate fully qualified tunnel url.")}else c=`https://${i}.zuptunnel.com`;let u=new URL(`${c}${n.pathname}${n.search}`);at(`Calling external service: ${u.toString()}`);let l=await(0,zS.originalFetch)(u.toString(),s);if(l.status===403&&l.headers.get("cf-access-domain")!==null)throw console.error("403 Forbidden when calling external service.",{clientId:r.clientId,tunnelHost:c}),new Nr.RuntimeError("Could not connect to secure tunnel.");return l}else throw at("Cannot call external service with Request object"),new Nr.RuntimeError("Currently, we only support fetch(<some_string>, ...).");else throw at("There is no external service auth configured for this zup."),new Nr.RuntimeError("There are no external services configured for this zup.")}o(QS,"externalServiceHandler");ln.externalServiceHandler=QS;async function ly(t,e,r,n){let i=t.toLowerCase(),s=e.toLowerCase(),a=r.toLowerCase(),c=YS(n);at(`Hashing service name: ${s}-${i}.${s}-${a}-${c}`);let u=await cy(`${s}-${i}`),l=await cy(`${s}-${a}-${c}`);return`${u}.${l}`}o(ly,"hashServiceName");async function cy(t){let e=new TextEncoder().encode(t),r=await crypto.subtle.digest("SHA-256",e);return Array.from(new Uint8Array(r)).map(s=>s.toString(16).padStart(2,"0")).join("").slice(0,-1)}o(cy,"hashSegment");function YS(t){let e=t.toLowerCase();switch(e){case"production":case"preview":return e;default:return"working-copy"}}o(YS,"sanitizeEnvironmentType")});var td=g(dn=>{"use strict";Object.defineProperty(dn,"__esModule",{value:!0});dn.originalFetch=void 0;var ZS=ed(),dy=new Map;dy.set("service:",ZS.externalServiceHandler);dn.originalFetch=globalThis.fetch;globalThis.fetch=function(t,e){let r=XS(e);if(typeof t=="string"){let n=new URL(t),i=dy.get(n.protocol);return i?i(t,r):(0,dn.originalFetch)(t,r)}else return(0,dn.originalFetch)(t,r)};var XS=o(t=>{if(!t||t instanceof Request)return t;let e=t;if(!e.zuplo)return t;let r=t;return r.cf={cacheEverything:e.zuplo?.cacheEverything,cacheTtl:e.zuplo?.cacheTtlSeconds},delete t.zuplo,t},"transformInit")});var fy=g(pn=>{"use strict";Object.defineProperty(pn,"__esModule",{value:!0});pn.Handler=pn.purgeGatewayCache=void 0;var hy=un(),py=te(),eI=o(()=>{hy.Gateway.purgeGatewayCache()},"purgeGatewayCache");pn.purgeGatewayCache=eI;var rd=class{static{o(this,"Handler")}routeData;buildEnvironment;runtimeEnvironment;runtimeSettings;serviceProvider;schemaValidations;runtimeInit;constructor(e,r,n,i,s,a,c){this.routeData=e,this.buildEnvironment=r,this.runtimeEnvironment=n,this.runtimeSettings=i,this.serviceProvider=s,this.schemaValidations=a,this.runtimeInit=c}requestHandler=async(e,r)=>{py.Environment.initialize(this.buildEnvironment,this.runtimeEnvironment);let n;try{n=await hy.Gateway.initialize(this.routeData,this.runtimeSettings,this.serviceProvider,this.schemaValidations,this.runtimeInit)}catch(i){console.error("Error initializing gateway.",i);let s={status:500,title:"Gateway Initialization Error",type:"https://httpproblems.com/http-status/500",detail:"Error initializing gateway. Check your 'zuplo.runtime.ts' for errors or contact support.",instance:e.url,trace:{timestamp:Date.now(),rayId:e.headers.get("cf-ray")??void 0,buildId:this.buildEnvironment.BUILD_ID},message:py.Environment.instance.isDeno?i.message:void 0};return new Response(JSON.stringify(s,null,2),{status:500,headers:{"content-type":"application/json"}})}return n.handleRequest(e,r)}};pn.Handler=rd});var _y=g(Re=>{"use strict";Object.defineProperty(Re,"__esModule",{value:!0});Re.pathToRegexp=Re.tokensToRegexp=Re.regexpToFunction=Re.match=Re.tokensToFunction=Re.compile=Re.parse=void 0;function tI(t){for(var e=[],r=0;r<t.length;){var n=t[r];if(n==="*"||n==="+"||n==="?"){e.push({type:"MODIFIER",index:r,value:t[r++]});continue}if(n==="\\"){e.push({type:"ESCAPED_CHAR",index:r++,value:t[r++]});continue}if(n==="{"){e.push({type:"OPEN",index:r,value:t[r++]});continue}if(n==="}"){e.push({type:"CLOSE",index:r,value:t[r++]});continue}if(n===":"){for(var i="",s=r+1;s<t.length;){var a=t.charCodeAt(s);if(a>=48&&a<=57||a>=65&&a<=90||a>=97&&a<=122||a===95){i+=t[s++];continue}break}if(!i)throw new TypeError("Missing parameter name at ".concat(r));e.push({type:"NAME",index:r,value:i}),r=s;continue}if(n==="("){var c=1,u="",s=r+1;if(t[s]==="?")throw new TypeError('Pattern cannot start with "?" at '.concat(s));for(;s<t.length;){if(t[s]==="\\"){u+=t[s++]+t[s++];continue}if(t[s]===")"){if(c--,c===0){s++;break}}else if(t[s]==="("&&(c++,t[s+1]!=="?"))throw new TypeError("Capturing groups are not allowed at ".concat(s));u+=t[s++]}if(c)throw new TypeError("Unbalanced pattern at ".concat(r));if(!u)throw new TypeError("Missing pattern at ".concat(r));e.push({type:"PATTERN",index:r,value:u}),r=s;continue}e.push({type:"CHAR",index:r,value:t[r++]})}return e.push({type:"END",index:r,value:""}),e}o(tI,"lexer");function nd(t,e){e===void 0&&(e={});for(var r=tI(t),n=e.prefixes,i=n===void 0?"./":n,s="[^".concat(hn(e.delimiter||"/#?"),"]+?"),a=[],c=0,u=0,l="",d=o(function(ee){if(u<r.length&&r[u].type===ee)return r[u++].value},"tryConsume"),p=o(function(ee){var fe=d(ee);if(fe!==void 0)return fe;var Me=r[u],E=Me.type,F=Me.index;throw new TypeError("Unexpected ".concat(E," at ").concat(F,", expected ").concat(ee))},"mustConsume"),m=o(function(){for(var ee="",fe;fe=d("CHAR")||d("ESCAPED_CHAR");)ee+=fe;return ee},"consumeText");u<r.length;){var f=d("CHAR"),y=d("NAME"),v=d("PATTERN");if(y||v){var T=f||"";i.indexOf(T)===-1&&(l+=T,T=""),l&&(a.push(l),l=""),a.push({name:y||c++,prefix:T,suffix:"",pattern:v||s,modifier:d("MODIFIER")||""});continue}var I=f||d("ESCAPED_CHAR");if(I){l+=I;continue}l&&(a.push(l),l="");var k=d("OPEN");if(k){var T=m(),j=d("NAME")||"",N=d("PATTERN")||"",oe=m();p("CLOSE"),a.push({name:j||(N?c++:""),pattern:j&&!N?s:N,prefix:T,suffix:oe,modifier:d("MODIFIER")||""});continue}p("END")}return a}o(nd,"parse");Re.parse=nd;function rI(t,e){return my(nd(t,e),e)}o(rI,"compile");Re.compile=rI;function my(t,e){e===void 0&&(e={});var r=id(e),n=e.encode,i=n===void 0?function(u){return u}:n,s=e.validate,a=s===void 0?!0:s,c=t.map(function(u){if(typeof u=="object")return new RegExp("^(?:".concat(u.pattern,")$"),r)});return function(u){for(var l="",d=0;d<t.length;d++){var p=t[d];if(typeof p=="string"){l+=p;continue}var m=u?u[p.name]:void 0,f=p.modifier==="?"||p.modifier==="*",y=p.modifier==="*"||p.modifier==="+";if(Array.isArray(m)){if(!y)throw new TypeError('Expected "'.concat(p.name,'" to not repeat, but got an array'));if(m.length===0){if(f)continue;throw new TypeError('Expected "'.concat(p.name,'" to not be empty'))}for(var v=0;v<m.length;v++){var T=i(m[v],p);if(a&&!c[d].test(T))throw new TypeError('Expected all "'.concat(p.name,'" to match "').concat(p.pattern,'", but got "').concat(T,'"'));l+=p.prefix+T+p.suffix}continue}if(typeof m=="string"||typeof m=="number"){var T=i(String(m),p);if(a&&!c[d].test(T))throw new TypeError('Expected "'.concat(p.name,'" to match "').concat(p.pattern,'", but got "').concat(T,'"'));l+=p.prefix+T+p.suffix;continue}if(!f){var I=y?"an array":"a string";throw new TypeError('Expected "'.concat(p.name,'" to be ').concat(I))}}return l}}o(my,"tokensToFunction");Re.tokensToFunction=my;function nI(t,e){var r=[],n=od(t,r,e);return yy(n,r,e)}o(nI,"match");Re.match=nI;function yy(t,e,r){r===void 0&&(r={});var n=r.decode,i=n===void 0?function(s){return s}:n;return function(s){var a=t.exec(s);if(!a)return!1;for(var c=a[0],u=a.index,l=Object.create(null),d=o(function(m){if(a[m]===void 0)return"continue";var f=e[m-1];f.modifier==="*"||f.modifier==="+"?l[f.name]=a[m].split(f.prefix+f.suffix).map(function(y){return i(y,f)}):l[f.name]=i(a[m],f)},"_loop_1"),p=1;p<a.length;p++)d(p);return{path:c,index:u,params:l}}}o(yy,"regexpToFunction");Re.regexpToFunction=yy;function hn(t){return t.replace(/([.+*?=^!:${}()[\]|/\\])/g,"\\$1")}o(hn,"escapeString");function id(t){return t&&t.sensitive?"":"i"}o(id,"flags");function iI(t,e){if(!e)return t;for(var r=/\((?:\?<(.*?)>)?(?!\?)/g,n=0,i=r.exec(t.source);i;)e.push({name:i[1]||n++,prefix:"",suffix:"",modifier:"",pattern:""}),i=r.exec(t.source);return t}o(iI,"regexpToRegexp");function oI(t,e,r){var n=t.map(function(i){return od(i,e,r).source});return new RegExp("(?:".concat(n.join("|"),")"),id(r))}o(oI,"arrayToRegexp");function sI(t,e,r){return gy(nd(t,r),e,r)}o(sI,"stringToRegexp");function gy(t,e,r){r===void 0&&(r={});for(var n=r.strict,i=n===void 0?!1:n,s=r.start,a=s===void 0?!0:s,c=r.end,u=c===void 0?!0:c,l=r.encode,d=l===void 0?function(F){return F}:l,p=r.delimiter,m=p===void 0?"/#?":p,f=r.endsWith,y=f===void 0?"":f,v="[".concat(hn(y),"]|$"),T="[".concat(hn(m),"]"),I=a?"^":"",k=0,j=t;k<j.length;k++){var N=j[k];if(typeof N=="string")I+=hn(d(N));else{var oe=hn(d(N.prefix)),ee=hn(d(N.suffix));if(N.pattern)if(e&&e.push(N),oe||ee)if(N.modifier==="+"||N.modifier==="*"){var fe=N.modifier==="*"?"?":"";I+="(?:".concat(oe,"((?:").concat(N.pattern,")(?:").concat(ee).concat(oe,"(?:").concat(N.pattern,"))*)").concat(ee,")").concat(fe)}else I+="(?:".concat(oe,"(").concat(N.pattern,")").concat(ee,")").concat(N.modifier);else N.modifier==="+"||N.modifier==="*"?I+="((?:".concat(N.pattern,")").concat(N.modifier,")"):I+="(".concat(N.pattern,")").concat(N.modifier);else I+="(?:".concat(oe).concat(ee,")").concat(N.modifier)}}if(u)i||(I+="".concat(T,"?")),I+=r.endsWith?"(?=".concat(v,")"):"$";else{var Me=t[t.length-1],E=typeof Me=="string"?T.indexOf(Me[Me.length-1])>-1:Me===void 0;i||(I+="(?:".concat(T,"(?=").concat(v,"))?")),E||(I+="(?=".concat(T,"|").concat(v,")"))}return new RegExp(I,id(r))}o(gy,"tokensToRegexp");Re.tokensToRegexp=gy;function od(t,e,r){return t instanceof RegExp?iI(t,e):Array.isArray(t)?oI(t,e,r):sI(t,e,r)}o(od,"pathToRegexp");Re.pathToRegexp=od});var ud=g(fn=>{"use strict";Object.defineProperty(fn,"__esModule",{value:!0});fn.AwsV4Signer=fn.AwsClient=void 0;var aI=Er(),vy=D(),cI=(0,aI.debug)("zuplo:runtime"),ad=new TextEncoder,by={appstream2:"appstream",cloudhsmv2:"cloudhsm",email:"ses",marketplace:"aws-marketplace",mobile:"AWSMobileHubService",pinpoint:"mobiletargeting",queue:"sqs","git-codecommit":"codecommit","mturk-requester-sandbox":"mturk-requester","personalize-runtime":"personalize"},uI=["authorization","content-type","content-length","user-agent","presigned-expires","expect","x-amzn-trace-id","range","connection"],cd=class{static{o(this,"AwsClient")}accessKeyId;secretAccessKey;sessionToken;service;region;cache;retries;initRetryMs;constructor({accessKeyId:e,secretAccessKey:r,sessionToken:n,service:i,region:s,cache:a,retries:c,initRetryMs:u}){if(e==null)throw new TypeError("accessKeyId is a required option");if(r==null)throw new TypeError("secretAccessKey is a required option");this.accessKeyId=e,this.secretAccessKey=r,this.sessionToken=n,this.service=i,this.region=s,this.cache=a||new Map,this.retries=c??0,this.initRetryMs=u||50}async sign(e,r){let n=new Us(Object.assign({url:e},r,this,r&&r.aws)),i=Object.assign({},r,await n.sign());return delete i.aws,{url:i.url.toString(),request:i}}async fetch(e,r){cI("AWS fetch",e);for(let n=0;n<=this.retries;n++){let{url:i,request:s}=await this.sign(e,r),a=fetch(i,s);if(n===this.retries)return a;let c=await a;if(c.status<500&&c.status!==429)return c;await new Promise(u=>setTimeout(u,Math.random()*this.initRetryMs*Math.pow(2,n)))}throw new vy.ConfigurationError("An unknown error occurred, ensure retries is not negative")}};fn.AwsClient=cd;var Us=class{static{o(this,"AwsV4Signer")}method;url;headers;body;accessKeyId;secretAccessKey;sessionToken;service;region;cache;datetime;signQuery;appendSessionToken;signableHeaders;signedHeaders;canonicalHeaders;credentialString;encodedPath;encodedSearch;constructor({method:e,url:r,headers:n,body:i,accessKeyId:s,secretAccessKey:a,sessionToken:c,service:u,region:l,cache:d,datetime:p,signQuery:m,appendSessionToken:f,allHeaders:y,singleEncode:v}){if(r==null)throw new TypeError("url is a required option");if(s==null)throw new TypeError("accessKeyId is a required option");if(a==null)throw new TypeError("secretAccessKey is a required option");this.method=e||(i?"POST":"GET"),this.url=new URL(r),this.headers=new Headers(n||{}),this.body=i,this.accessKeyId=s,this.secretAccessKey=a,this.sessionToken=c;let T,I;(!u||!l)&&([T,I]=lI(this.url,this.headers)),this.service=u||T||"",this.region=l||I||"us-east-1",this.cache=d||new Map,this.datetime=p||new Date().toISOString().replace(/[:-]|\.\d{3}/g,""),this.signQuery=m,this.appendSessionToken=f||this.service==="iotdevicegateway",this.headers.delete("Host");let k=this.signQuery?this.url.searchParams:this.headers;if(this.service==="s3"&&!this.headers.has("X-Amz-Content-Sha256")&&this.headers.set("X-Amz-Content-Sha256","UNSIGNED-PAYLOAD"),k.set("X-Amz-Date",this.datetime),this.sessionToken&&!this.appendSessionToken&&k.set("X-Amz-Security-Token",this.sessionToken),this.signableHeaders=["host",...this.headers.keys()].filter(N=>y||!uI.includes(N)).sort(),this.signedHeaders=this.signableHeaders.join(";"),this.canonicalHeaders=this.signableHeaders.map(N=>N+":"+(N==="host"?this.url.host:(this.headers.get(N)||"").replace(/\s+/g," "))).join(`
60
+ `),this.credentialString=[this.datetime.slice(0,8),this.region,this.service,"aws4_request"].join("/"),this.signQuery&&(this.service==="s3"&&!k.has("X-Amz-Expires")&&k.set("X-Amz-Expires","86400"),k.set("X-Amz-Algorithm","AWS4-HMAC-SHA256"),k.set("X-Amz-Credential",this.accessKeyId+"/"+this.credentialString),k.set("X-Amz-SignedHeaders",this.signedHeaders)),this.service==="s3")try{this.encodedPath=decodeURIComponent(this.url.pathname.replace(/\+/g," "))}catch{this.encodedPath=this.url.pathname}else this.encodedPath=this.url.pathname.replace(/\/+/g,"/");v||(this.encodedPath=encodeURIComponent(this.encodedPath).replace(/%2F/g,"/")),this.encodedPath=wy(this.encodedPath);let j=new Set;this.encodedSearch=[...this.url.searchParams].filter(([N])=>{if(!N)return!1;if(this.service==="s3"){if(j.has(N))return!1;j.add(N)}return!0}).map(N=>N.map(oe=>wy(encodeURIComponent(oe)))).sort(([N,oe],[ee,fe])=>N<ee?-1:N>ee?1:oe<fe?-1:oe>fe?1:0).map(N=>N.join("=")).join("&")}async sign(){return this.signQuery?(this.url.searchParams.set("X-Amz-Signature",await this.signature()),this.sessionToken&&this.appendSessionToken&&this.url.searchParams.set("X-Amz-Security-Token",this.sessionToken)):this.headers.set("Authorization",await this.authHeader()),{method:this.method,url:this.url,headers:this.headers,body:this.body}}async authHeader(){return["AWS4-HMAC-SHA256 Credential="+this.accessKeyId+"/"+this.credentialString,"SignedHeaders="+this.signedHeaders,"Signature="+await this.signature()].join(", ")}async signature(){let e=this.datetime.slice(0,8),r=[this.secretAccessKey,e,this.region,this.service].join(),n=this.cache.get(r);if(!n){let i=await yi("AWS4"+this.secretAccessKey,e),s=await yi(i,this.region),a=await yi(s,this.service);n=await yi(a,"aws4_request"),this.cache.set(r,n)}return sd(await yi(n,await this.stringToSign()))}async stringToSign(){return["AWS4-HMAC-SHA256",this.datetime,this.credentialString,sd(await Ey(await this.canonicalString()))].join(`
61
61
  `)}async canonicalString(){return[this.method.toUpperCase(),this.encodedPath,this.encodedSearch,this.canonicalHeaders+`
62
62
  `,this.signedHeaders,await this.hexBodyHash()].join(`
63
63
  `)}async hexBodyHash(){let e=this.headers.get("X-Amz-Content-Sha256");if(e==null){if(this.body&&typeof this.body!="string"&&!("byteLength"in this.body))throw new vy.RuntimeError("body must be a string, ArrayBuffer or ArrayBufferView, unless you include the X-Amz-Content-Sha256 header");e=sd(await Ey(this.body||""))}return e}};fn.AwsV4Signer=Us;async function yi(t,e){let r=await crypto.subtle.importKey("raw",typeof t=="string"?ad.encode(t):t,{name:"HMAC",hash:{name:"SHA-256"}},!1,["sign"]);return crypto.subtle.sign("HMAC",r,ad.encode(e))}o(yi,"hmac");async function Ey(t){return crypto.subtle.digest("SHA-256",typeof t=="string"?ad.encode(t):t)}o(Ey,"hash");function sd(t){return Array.prototype.map.call(new Uint8Array(t),e=>("0"+e.toString(16)).slice(-2)).join("")}o(sd,"buf2hex");function wy(t){return t.replace(/[!'()*]/g,e=>"%"+e.charCodeAt(0).toString(16).toUpperCase())}o(wy,"encodeRfc3986");function lI(t,e){let{hostname:r,pathname:n}=t,i=r.replace("dualstack.","").match(/([^.]+)\.(?:([^.]*)\.)?amazonaws\.com(?:\.cn)?$/),[s,a]=(i||["",""]).slice(1,3);if(a==="us-gov")a="us-gov-west-1";else if(a==="s3"||a==="s3-accelerate")a="us-east-1",s="s3";else if(s==="iot")r.startsWith("iot.")?s="execute-api":r.startsWith("data.jobs.iot.")?s="iot-jobs-data":s=n==="/mqtt"?"iotdevicegateway":"iotdata";else if(s==="autoscaling"){let c=(e.get("X-Amz-Target")||"").split(".")[0];c==="AnyScaleFrontendService"?s="application-autoscaling":c==="AnyScaleScalingPlannerFrontendService"&&(s="autoscaling-plans")}else a==null&&s.startsWith("s3-")?(a=s.slice(3).replace(/^fips-|^external-1/,""),s="s3"):s.endsWith("-fips")?s=s.slice(0,-5):a&&/-\d$/.test(s)&&!/-\d$/.test(a)&&([s,a]=[a,s]);return s in by?[by[s],a]:[s,a]}o(lI,"guessServiceRegion")});var Ty=g(vt=>{"use strict";Object.defineProperty(vt,"__esModule",{value:!0});vt.convertStringToUtf8Array=vt.convertUtf8ArrayToString=vt.base64Encode=vt.base64Decode=void 0;function dI(t){return t>64&&t<91?t-65:t>96&&t<123?t-71:t>47&&t<58?t+4:t===43?62:t===47?63:0}o(dI,"b64ToUint6");function pI(t,e){let r=t.replace(/[^A-Za-z0-9+/]/g,""),n=r.length,i=e?Math.ceil((n*3+1>>2)/e)*e:n*3+1>>2,s=new Uint8Array(i),a,c,u=0,l=0;for(let d=0;d<n;d++)if(c=d&3,u|=dI(r.charCodeAt(d))<<6*(3-c),c===3||n-d===1){for(a=0;a<3&&l<i;)s[l]=u>>>(16>>>a&24)&255,a++,l++;u=0}return s}o(pI,"base64Decode");vt.base64Decode=pI;function Ms(t){return t<26?t+65:t<52?t+71:t<62?t-4:t===62?43:t===63?47:65}o(Ms,"uint6ToB64");function hI(t){let e=2,r="",n=t.length,i=0;for(let s=0;s<n;s++)e=s%3,i|=t[s]<<(16>>>e&24),(e===2||t.length-s===1)&&(r+=String.fromCodePoint(Ms(i>>>18&63),Ms(i>>>12&63),Ms(i>>>6&63),Ms(i&63)),i=0);return r.substring(0,r.length-2+e)+(e===2?"":e===1?"=":"==")}o(hI,"base64Encode");vt.base64Encode=hI;function fI(t){let e="",r,n=t.length;for(let i=0;i<n;i++)r=t[i],e+=String.fromCodePoint(r>251&&r<254&&i+5<n?(r-252)*1073741824+(t[++i]-128<<24)+(t[++i]-128<<18)+(t[++i]-128<<12)+(t[++i]-128<<6)+t[++i]-128:r>247&&r<252&&i+4<n?(r-248<<24)+(t[++i]-128<<18)+(t[++i]-128<<12)+(t[++i]-128<<6)+t[++i]-128:r>239&&r<248&&i+3<n?(r-240<<18)+(t[++i]-128<<12)+(t[++i]-128<<6)+t[++i]-128:r>223&&r<240&&i+2<n?(r-224<<12)+(t[++i]-128<<6)+t[++i]-128:r>191&&r<224&&i+1<n?(r-192<<6)+t[++i]-128:r);return e}o(fI,"convertUtf8ArrayToString");vt.convertUtf8ArrayToString=fI;function mI(t){let e,r=t.length,n=0;for(let c=0;c<r;c++)e=t.codePointAt(c),e>=65536&&c++,n+=e<128?1:e<2048?2:e<65536?3:e<2097152?4:e<67108864?5:6;let i=new Uint8Array(n),s=0,a=0;for(;s<n;)e=t.codePointAt(a),e<128?i[s++]=e:e<2048?(i[s++]=192+(e>>>6),i[s++]=128+(e&63)):e<65536?(i[s++]=224+(e>>>12),i[s++]=128+(e>>>6&63),i[s++]=128+(e&63)):e<2097152?(i[s++]=240+(e>>>18),i[s++]=128+(e>>>12&63),i[s++]=128+(e>>>6&63),i[s++]=128+(e&63),a++):e<67108864?(i[s++]=248+(e>>>24),i[s++]=128+(e>>>18&63),i[s++]=128+(e>>>12&63),i[s++]=128+(e>>>6&63),i[s++]=128+(e&63),a++):(i[s++]=252+(e>>>30),i[s++]=128+(e>>>24&63),i[s++]=128+(e>>>18&63),i[s++]=128+(e>>>12&63),i[s++]=128+(e>>>6&63),i[s++]=128+(e&63),a++),a++;return i}o(mI,"convertStringToUtf8Array");vt.convertStringToUtf8Array=mI});var Sy=g(ks=>{"use strict";Object.defineProperty(ks,"__esModule",{value:!0});ks.toCLFDate=void 0;function mn(t){let e=t.toString();return`${e.length===1?"0":""}${e}`}o(mn,"numberToString");function yI(t){let e=t.getTimezoneOffset(),r=Math.abs(e),n=e>0?"-":"+",i=mn(Math.floor(r/60)),s=mn(r%60);return`${n}${i}${s}`}o(yI,"getCLFOffset");function gI(t=new Date){if(!(t instanceof Date))throw new Error("clf-date: invalid parameter");let e=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],r=mn(t.getDate()),n=e[t.getMonth()],i=t.getFullYear(),s=mn(t.getHours()),a=mn(t.getMinutes()),c=mn(t.getSeconds()),u=yI(t);return`${r}/${n}/${i}:${s}:${a}:${c} ${u}`}o(gI,"toCLFDate");ks.toCLFDate=gI});var Ny=g(sr=>{"use strict";Object.defineProperty(sr,"__esModule",{value:!0});sr.getResponse=sr.awsLambdaHandler=sr.AwsLambdaHandlerExtensions=void 0;var _I=Er(),Iy=_y(),gi=D(),bI=Ot(),EI=ud(),Py=Ty(),Ry=Sy(),Ay=(0,_I.debug)("zuplo:runtime"),wI="X-Amzn-Trace-Id",vI="x-amzn-errortype",Oy=[],TI=o(async(t,e,r)=>{let n=r;for await(let i of Oy)n=await i(t,e,r);return n},"onSendingAwsLambdaEvent"),Be=class extends gi.RuntimeError{static{o(this,"AwsLambdaError")}traceId;errorType;constructor(e,r){super(`Failed to invoke AWS Lambda function. ${e}`),this.traceId=r.get(wI)??void 0,this.errorType=r.get(vI)??void 0}};sr.AwsLambdaHandlerExtensions={addSendingAwsLambdaEventHook:t=>{Oy.push(t)}};async function SI(t,e){let{accessKeyId:r,secretAccessKey:n,region:i,functionName:s,useLambdaProxyIntegration:a=!0,useAwsResourcePathStyle:c=!1,binaryMediaTypes:u}=e.route.handler.options;if(!r)throw new gi.ConfigurationError("awsAccessKeyId is not set in the handler options");if(!n)throw new gi.ConfigurationError("secretAccessKey is not set in the handler options");if(!i)throw new gi.ConfigurationError("region is not set in the handler options");if(!s)throw new gi.ConfigurationError("functionName is not set in the handler options");let l=new EI.AwsClient({accessKeyId:r,secretAccessKey:n}),d=`https://lambda.${i}.amazonaws.com/2015-03-31/functions/${s}/invocations`;if(Ay(`AWS Lambda URL: ${d}`),!a)return l.fetch(d,{body:await t.arrayBuffer()});let[p,m]=await PI(t,{binaryMediaTypes:u}),{options:f}=e.route.handler,y;f&&typeof f=="object"&&"payloadFormatVersion"in f&&f.payloadFormatVersion==="2.0"?y=AI(t,e):y=await II(t,e,{useAwsResourcePathStyle:c}),Ay("Calling onSendingAwsLambdaEvent hook");let v=await TI(t,e,y);v.body=p,v.isBase64Encoded=m;let T=await l.fetch(d,{body:JSON.stringify(v)});try{return xy(T)}catch(I){if(I instanceof Be){let k=f&&typeof f=="object"&&"returnAmazonTraceIdHeader"in f&&f.returnAmazonTraceIdHeader&&I.traceId?{AMZN_TRACE_ID_HEADER:I.traceId}:void 0;return bI.HttpProblems.internalServerError(t,e,void 0,k)}throw I}}o(SI,"awsLambdaHandler");sr.awsLambdaHandler=SI;async function xy(t){let e;try{e=await t.json()}catch{throw new Be("Lambda response did not contain valid JSON",t.headers)}if(t.status!==200)throw e&&typeof e=="object"&&"message"in e&&typeof e.message=="string"?new Be(e.message,t.headers):new Be(`Status: ${t.statusText}`,t.headers);if(e&&typeof e=="object"&&"errorMessage"in e&&typeof e.errorMessage=="string")throw new Be(e.errorMessage,t.headers);if(!e||typeof e!="object"||!("statusCode"in e)||typeof e.statusCode!="number")return new Response(JSON.stringify(e),{status:t.status,headers:{"content-type":"application/json"}});let r=new Headers;if("headers"in e&&e.headers){if(typeof e.headers!="object")throw new Be(`Response headers must be an object. Received ${typeof e.headers}`,t.headers);for(let[i,s]of Object.entries(e.headers))r.set(i,s)}if("cookies"in e&&e.cookies){if(!Array.isArray(e.cookies))throw new Be(`Response cookies must be an array. Received ${typeof e.cookies}`,t.headers);r.set("cookie",e.cookies.join(";"))}let n;if("isBase64Encoded"in e&&typeof e.isBase64Encoded!="boolean")throw new Be(`Response property isBase64Encoded must be a boolean. Received ${typeof e.isBase64Encoded}`,t.headers);if("isBase64Encoded"in e&&e.isBase64Encoded===!0){if(!("body"in e))throw new Be("Response was set to base64 encoded but no body was set",t.headers);if(typeof e.body!="string")throw new Be("Response was set to base64 encoded but body was not a string",t.headers);n=(0,Py.base64Decode)(e.body)}else"body"in e&&typeof e.body=="string"?n=e.statusCode===204&&e.body===""?null:e.body:"body"in e&&e.body!==null&&e.body!==void 0?n=JSON.stringify(e.body):n=null;if(n!==null&&"bodyEncoding"in e){if(typeof e.bodyEncoding!="string"||!(e.bodyEncoding==="gzip"||e.bodyEncoding==="deflate"))throw new Be(`Response property bodyEncoding can only be set to 'gzip' or 'deflate'. Received ${e.bodyEncoding}`,t.headers);let i=new Blob([n]).stream().pipeThrough(new DecompressionStream(e.bodyEncoding));n=await new Response(i).arrayBuffer()}return new Response(n,{headers:r,status:e.statusCode})}o(xy,"getResponse");sr.getResponse=xy;async function II(t,e,{useAwsResourcePathStyle:r}){let n={},i={};t.headers.forEach((l,d)=>{n[d]=l,i[d]=[l]});let s=t.query,a={};for(let[l,d]of Object.entries(s))a[l]=[d];let c=new URL(t.url);return{version:"1.0",resource:c.pathname,path:c.pathname,httpMethod:t.method,headers:n,multiValueHeaders:i,queryStringParameters:s,multiValueQueryStringParameters:a,requestContext:{accountId:null,apiId:null,authorizer:{claims:{},scopes:[]},domainName:c.hostname,domainPrefix:null,extendedRequestId:e.requestId,httpMethod:t.method,identity:{accessKey:null,accountId:null,caller:null,cognitoAuthenticationProvider:null,cognitoAuthenticationType:null,cognitoIdentityId:null,cognitoIdentityPoolId:null,principalOrgId:null,sourceIp:t.headers.get("CF-Connecting-IP"),user:null,userAgent:t.headers.get("user-agent"),userArn:null,clientCert:{clientCertPem:null,subjectDN:null,issuerDN:null,serialNumber:null,validity:{notBefore:null,notAfter:null}}},path:c.pathname,protocol:"HTTP/1.1",requestId:e.requestId,requestTime:(0,Ry.toCLFDate)(),requestTimeEpoch:new Date().valueOf(),resourceId:e.route.operationId??null,resourcePath:OI(e.route.path,r),stage:null},pathParameters:t.params,stageVariables:null}}o(II,"buildEventVersion1");function AI(t,e){let r={};t.headers.forEach((s,a)=>{r[a]=s});let n=new URL(t.url);return{version:"2.0",routeKey:null,rawPath:n.pathname,rawQueryString:n.search,cookies:[],headers:r,queryStringParameters:t.query,requestContext:{accountId:null,apiId:null,authentication:{clientCert:{clientCertPem:null,subjectDN:null,issuerDN:null,serialNumber:null,validity:{notBefore:null,notAfter:null}}},authorizer:{jwt:{claims:{},scopes:[]}},domainName:n.hostname,domainPrefix:null,http:{method:t.method,path:n.pathname,protocol:"HTTP/1.1",sourceIp:t.headers.get("CF-Connecting-IP"),userAgent:t.headers.get("user-agent")},requestId:e.requestId,routeKey:null,stage:null,time:(0,Ry.toCLFDate)(),timeEpoch:new Date().valueOf()},pathParameters:t.params,stageVariables:null}}o(AI,"buildEventVersion2");async function PI(t,{binaryMediaTypes:e}){let r,n=!1,i=t.headers.get("content-type");if(t.method==="GET"||t.method==="HEAD")r=null;else if(e&&i&&RI(e,i)){let s=await t.arrayBuffer();r=(0,Py.base64Encode)(new Uint8Array(s)),n=!0}else r=await t.clone().text();return[r,n]}o(PI,"getBodyResult");function RI(t,e){let r=e.split(";")[0].trim().toLowerCase();return t.findIndex(n=>n==="*/*"?!0:n.toLowerCase()===r)>-1}o(RI,"matchesContentType");function OI(t,e=!1){if(!e)return t;let r=(0,Iy.parse)(t),n=(0,Iy.compile)(t),i={};return r.forEach(s=>{typeof s=="string"?i[s]=`{${s}}`:i[s.name]=`{${s.name}}`}),n(i)}o(OI,"getResourcePath")});var gn=g(yn=>{"use strict";Object.defineProperty(yn,"__esModule",{value:!0});yn.getHandlerUserLogFunction=yn.logBadGatewayResponses=void 0;var xI=Ge(),NI=te(),CI=[502,503,504];async function LI(t,e){if(CI.includes(t.status)){let r=xI.SystemLogMap.getLogger(e),i=await t.clone().text(),s={};for(let[a,c]of t.headers)s[a]=c;r.warn(`BadGatewayResponse ${t.status}`,{status:t.status,statusText:t.statusText,body:i,headers:s})}}o(LI,"logBadGatewayResponses");yn.logBadGatewayResponses=LI;var ld;function DI(t){if(ld===void 0){let r=NI.Environment.instance.runtime.ZUPLO_HANDLER_WRITE_LOG_LEVEL;["debug","info","warn","error"].includes(r??"")||(r="debug"),ld=r}return t.log[ld]}o(DI,"getHandlerUserLogFunction");yn.getHandlerUserLogFunction=DI});var Ly=g(Fs=>{"use strict";Object.defineProperty(Fs,"__esModule",{value:!0});Fs.openApiSpecHandler=void 0;var Cy=D(),UI=ve(),dd=te(),MI=gn();async function kI(t,e){let r=dd.Environment.instance.build.BUILD_ID,{buildAssetsUrl:n}=dd.Environment.instance,i=e.route.handler.options,{openApiFilePath:s}=i;if(!s)throw new Cy.ConfigurationError("Open API Spec Handler must have 'openApiFilePath' specified");let a=FI(s);if(!a.isValid)throw new Cy.ConfigurationError(a.error);let c;dd.Environment.instance.isLocalDevelopment?c=`${n}/${s.substring(1)}`:c=`${n}/${r}${s.substring(1)}`;let u=await fetch(c,{method:t.method,body:t.body,headers:t.headers});if(u.status!==200)return UI.HttpProblems.notFound(t,e,{detail:"OpenAPI file could not be found."});let l=new Response(u.body,{headers:{"content-type":"application/json"},status:u.status,statusText:u.statusText});return(0,MI.logBadGatewayResponses)(l,e),l}o(kI,"openApiSpecHandler");Fs.openApiSpecHandler=kI;var FI=o(t=>t.startsWith("./")?t.startsWith("./config")?t.endsWith(".oas.json")?{isValid:!0}:{isValid:!1,error:"'openApiFilePath' must point to a file ending in '.oas.json'"}:{isValid:!1,error:"'openApiFilePath' must point to a file in your /config directory"}:{isValid:!1,error:"'openApiFilePath' must start with './'"},"validateOpenApiPath")});var Dy=g(Hs=>{"use strict";Object.defineProperty(Hs,"__esModule",{value:!0});Hs.redirectHandler=void 0;var HI=D();async function qI(t,e){let r=e.route.handler.options;if(!r.location)throw new HI.ConfigurationError("Redirect Handler must have 'location' specified");let n=r.status??302;return new Response(null,{status:n,headers:{location:r.location}})}o(qI,"redirectHandler");Hs.redirectHandler=qI});var My=g(qs=>{"use strict";Object.defineProperty(qs,"__esModule",{value:!0});qs.urlForwardHandler=void 0;var $I=D(),Uy=gn();function jI(t,e){let r=t.endsWith("/"),n=e.startsWith("/");return r&&n?`${t.substring(0,t.length-1)}${e}`:!r&&!n?`${t}/${e}`:`${t}${e}`}o(jI,"join");async function VI(t,e){let r=(0,Uy.getHandlerUserLogFunction)(e),n=e.route.handler.options,i=n.forwardSearch!==!1;if(!n.baseUrl)throw new Error("URL Forward Handler must have 'baseUrl' specified");if(!n||typeof n.__rewriteFunction!="function")throw new $I.ConfigurationError("Invalid options for this route");let s={incomingRequestProperties:e.incomingRequestProperties,requestId:e.requestId,route:e.route,custom:e.custom},a=new URL(t.url),c=n.__rewriteFunction(t,s),u=jI(c,a.pathname),l=i?`${u}${a.search}`:u.toString(),d=Date.now();r(`URL Forwarding to '${l}'`);let p=await fetch(l,{method:t.method,body:t.body,headers:t.headers}),m=Date.now()-d;return r(`URL Forward received response ${p.status} - ${p.statusText} in ${m}ms`),(0,Uy.logBadGatewayResponses)(p,e),p}o(VI,"urlForwardHandler");qs.urlForwardHandler=VI});var Fy=g($s=>{"use strict";Object.defineProperty($s,"__esModule",{value:!0});$s.urlRewriteHandler=void 0;var GI=D(),ky=gn(),BI=o((t,e)=>{let r=new URL(t),n=new URL(e);for(let[i,s]of n.searchParams.entries())r.searchParams.append(i,s);return r.toString()},"addQuery");async function KI(t,e){let r=(0,ky.getHandlerUserLogFunction)(e),n=e.route.handler.options,i=n.forwardSearch!==!1,s=n.followRedirects??!1;if(!n||typeof n.__rewriteFunction!="function")throw new GI.ConfigurationError("Invalid options for this route");let a={incomingRequestProperties:e.incomingRequestProperties,requestId:e.requestId,route:e.route,custom:e.custom},c=n.__rewriteFunction(t,a),u=i?BI(c,t.url):c,l=Date.now();r(`URL Rewriting to '${u}'`);let d=await fetch(u.toString(),{method:t.method,body:t.body,headers:t.headers,redirect:s?"follow":"manual"}),p=Date.now()-l;return r(`URL Rewrite received response ${d.status} - ${d.statusText} in ${p}ms`),(0,ky.logBadGatewayResponses)(d,e),d}o(KI,"urlRewriteHandler");$s.urlRewriteHandler=KI});var qy=g(js=>{"use strict";Object.defineProperty(js,"__esModule",{value:!0});js.webSocketHandler=void 0;var Hy=D(),JI=ed(),zI=Ot(),WI=te(),QI=gn();async function YI(t,e){let r=WI.Environment.instance,n=e.route.handler.options,i=(0,QI.getHandlerUserLogFunction)(e);if(!n||!n.rewritePattern)throw new Hy.ConfigurationError("WebSocket Handler must have option 'rewritePattern' specified");let s=t.headers.get("Upgrade");if(!s||s!=="websocket")return zI.HttpProblems.badRequest(t,e,{detail:"Request must include header 'Upgrade: websocket'"});if(!n||typeof n.__rewriteFunction!="function")throw new Hy.ConfigurationError("Invalid options for this route");let a={incomingRequestProperties:e.incomingRequestProperties,requestId:e.requestId,route:e.route,custom:e.custom},c=n.__rewriteFunction(t,a),u=Date.now();if(i(`Attempting WebSocket connection to '${c}'`),r.isDeno){let p=new Headers(t.headers);if(c.startsWith("service:")){let f=await(0,JI.externalServiceTunnelConfig)(c),y=new URL(c);c=new URL(`${f.serviceBaseUrl}${y.pathname}${y.search}`).toString();for(let T in f.tunnelHeaders)p.set(T,f.tunnelHeaders[T])}c=c.replace(/^(http)/,"ws");try{if(p.get("Authorization")){let f=p.get("Authorization")?.replace("Bearer ","");c+=`?apiKey=${f}`}}catch{}let m=JSON.stringify({url:c});return new Response(m,{headers:p})}c=c.replace(/^(ws)/,"http");let l=await fetch(c,{method:t.method,headers:t.headers,body:t.body});if(l.status!==101||!l.webSocket){let p=await l.text(),m=`WebSocket connection error - ${l.status}: ${l.statusText}, content: '${p}'`;throw new Error(m)}let d=Date.now()-u;return i(`WebSocket connected, received response ${l.status} - ${l.statusText} in ${d}ms`),new Response(null,{status:101,webSocket:l.webSocket})}o(YI,"webSocketHandler");js.webSocketHandler=YI});var $y=g(_n=>{"use strict";Object.defineProperty(_n,"__esModule",{value:!0});_n.webSocketPolicyProcessor=_n.getWebSocketPolicyFunctions=void 0;var ZI=D(),XI=o((t,e)=>t.map((n,i)=>{let s;if(typeof n.module=="object"&&(s=n.module[n.export]),!s||typeof s!="function"){let a=e==="inbound"?"WebSocketInboundPolicy":"WebSocketOutboundPolicy",c=`policy in position: ${i+1}, export name: ${n.export}`;throw new ZI.ConfigurationError(`${a} - Websocket policy must be a valid function (${c})`)}return s}),"getWebSocketPolicyFunctions");_n.getWebSocketPolicyFunctions=XI;var eA=o(async(t,e,r,n,i,s)=>{let a=t.data;if(s&&s.length>0){let c=[...s];for(;c.length>0;){let u=c.shift();if(!u)return a;if(a=await u(a,r,e,n,i),a===void 0)return}}return a},"webSocketPolicyProcessor");_n.webSocketPolicyProcessor=eA});var Vy=g(Vs=>{"use strict";Object.defineProperty(Vs,"__esModule",{value:!0});Vs.webSocketPipelineHandler=void 0;var pd=D(),tA=Ot(),rA=te(),nA=gn(),hd=$y();function jy(t,e,r,n,i){t.addEventListener("close",()=>{e.close()}),t.addEventListener("error",s=>{n.log.error("WebSocket error: ",s),e.send(JSON.stringify(s))}),t.addEventListener("message",s=>{try{o(async c=>{let u=await(0,hd.webSocketPolicyProcessor)(c,t,e,r,n,i);u!==void 0&&e.send(u)},"innerPipeline")(s).catch(n.log.error)}catch(a){n.log.error(a)}})}o(jy,"wireUpListeners");async function iA(t,e){let r=rA.Environment.instance,n=e.route.handler.options,i=(0,nA.getHandlerUserLogFunction)(e);if(!n||!n.rewritePattern)throw new pd.ConfigurationError("WebSocket Pipeline Handler must have option 'rewritePattern' specified");let s=t.headers.get("Upgrade");if(!s||s!=="websocket")return tA.HttpProblems.badRequest(t,e,{detail:"Request must include header 'Upgrade: websocket'"});if(!n||typeof n.__rewriteFunction!="function")throw new pd.ConfigurationError("Invalid options for this route");let a={incomingRequestProperties:e.incomingRequestProperties,requestId:e.requestId,route:e.route,custom:e.custom},c=n.__rewriteFunction(t,a),u=Date.now();if(i(`Attempting WebSocket connection to '${c}'`),r.isDeno)throw new pd.ConfigurationError("Websocket pipeline handler is currently not supported on working-copy environments");c=c.replace(/^(ws)/,"http");let l=await fetch(c,{method:t.method,headers:t.headers,body:t.body});if(l.status!==101||!l.webSocket){let I=await l.text(),k=`WebSocket connection error - ${l.status}: ${l.statusText}, content: '${I}'`;throw new Error(k)}let d=new WebSocketPair,[p,m]=Object.values(d),f=Date.now()-u;i(`WebSocket connected, received response ${l.status} - ${l.statusText} in ${f}ms`);let y=l.webSocket;y.accept(),m.accept();let v=n.policies&&n.policies.inbound?(0,hd.getWebSocketPolicyFunctions)(n.policies.inbound,"inbound"):[],T=n.policies&&n.policies.outbound?(0,hd.getWebSocketPolicyFunctions)(n.policies.outbound,"outbound"):[];return jy(m,y,t,e,v),jy(y,m,t,e,T),new Response(null,{status:101,webSocket:p})}o(iA,"webSocketPipelineHandler");Vs.webSocketPipelineHandler=iA});var Gy=g(Gs=>{"use strict";Object.defineProperty(Gs,"__esModule",{value:!0});Gs.DynaTraceLoggingPlugin=void 0;var oA=we(),fd=te(),sA=Ar(),aA=Nt(),cA=mt(),md=class extends aA.LogPlugin{static{o(this,"DynaTraceLoggingPlugin")}options;constructor(e){super(),this.options=e}getTransport(){return new yd(this.options)}};Gs.DynaTraceLoggingPlugin=md;var yd=class{static{o(this,"DynaTraceTransport")}constructor(e){this.#e=e.url,this.#t=e.apiToken,this.#n=fd.Environment.instance.loggingEnvironmentType,this.#i=fd.Environment.instance.loggingEnvironmentStage,this.#r=fd.Environment.instance.deploymentName}#e;#t;#r;#n;#i;async log(e,r){e.messages.forEach(n=>{let i={timestamp:new Date().toISOString(),message:(0,cA.stringifyNonString)((0,sA.serializeError)(n)),severity:e.level,"log.source":e.logSource,requestId:e.requestId,"custom.environment":this.#r,"custom.environmentStage":this.#i,"custom.environmentType":this.#n,"custom.loggingId":e.loggingId,"custom.rayId":e.rayId===null?void 0:e.rayId};this.batcher.enqueue(i)}),r.waitUntil(this.batcher.waitUntilFlushed())}#o=async e=>{e.length!==0&&await fetch(this.#e,{method:"POST",body:JSON.stringify(e),headers:{"content-type":"application/json; charset=utf-8",authorization:`Api-Token ${this.#t}`}})};batcher=new oA.BatchDispatch("dyna-trace-log-transport",10,this.#o)}});var By=g(Bs=>{"use strict";Object.defineProperty(Bs,"__esModule",{value:!0});Bs.LokiLoggingPlugin=void 0;var uA=we(),gd=te(),lA=Ar(),dA=Nt(),pA=mt(),_d=class extends dA.LogPlugin{static{o(this,"LokiLoggingPlugin")}options;constructor(e){super(),this.options=e}getTransport(){return new Ed(this.options)}};Bs.LokiLoggingPlugin=_d;var bd=class{static{o(this,"LokiStream")}constructor(e,r,n,i,s){this.level=e,this.environment=r,this.environmentType=n,this.environmentStage=i,this.requestId=s}job="zuplo";level;environment;environmentType;environmentStage;requestId;equals=e=>this.level===e.level&&this.requestId===e.requestId};function hA(t,e){return btoa(`${t}:${e}`)}o(hA,"createBasicDigest");var Ed=class{static{o(this,"LokiTransport")}constructor(e){this.#e=e.url,this.#t=hA(e.username,e.password),this.#n=gd.Environment.instance.loggingEnvironmentType,this.#i=gd.Environment.instance.loggingEnvironmentStage,this.#r=gd.Environment.instance.deploymentName}#e;#t;#r;#n;#i;async log(e,r){let n=new bd(e.level,this.#r,this.#n,this.#i,e.requestId);e.messages.forEach(i=>{let s={stream:n,message:(0,pA.stringifyNonString)((0,lA.serializeError)(i)),nanoSecondEpoch:`${e.timestamp.getTime()}000000`};this.batcher.enqueue(s)}),r.waitUntil(this.batcher.waitUntilFlushed())}#o=e=>{let r={streams:[]};return e.forEach(n=>{let i=r.streams.find(s=>s.stream.equals(n.stream));i||(i={stream:n.stream,values:[]},r.streams.push(i)),i.values.push([n.nanoSecondEpoch,n.message])}),r};#s=async e=>{if(e.length===0)return;let r=this.#o(e);await fetch(this.#e,{method:"POST",body:JSON.stringify(r),headers:{"content-type":"application/json",authorization:`Basic ${this.#t}`}})};batcher=new uA.BatchDispatch("loki-log-transport",10,this.#s)}});var Ky=g(Ks=>{"use strict";Object.defineProperty(Ks,"__esModule",{value:!0});Ks.SumoLogicLoggingPlugin=void 0;var fA=we(),wd=te(),mA=Ar(),yA=Nt(),gA=mt(),vd=class extends yA.LogPlugin{static{o(this,"SumoLogicLoggingPlugin")}options;constructor(e){super(),this.options=e}getTransport(){return new Td(this.options)}};Ks.SumoLogicLoggingPlugin=vd;var Td=class{static{o(this,"SumoLogicTransport")}constructor(e){this.#e=e.url,this.#i=e.category,this.#o=e.name,this.#r=wd.Environment.instance.loggingEnvironmentType,this.#n=wd.Environment.instance.loggingEnvironmentStage,this.#t=wd.Environment.instance.deploymentName}#e;#t;#r;#n;#i;#o;async log(e,r){e.messages.forEach(n=>{let i={timestamp:new Date().toISOString(),message:(0,gA.stringifyNonString)((0,mA.serializeError)(n)),severity:e.level,source:e.logSource,requestId:e.requestId,environment:this.#t,environmentType:this.#r,environmentStage:this.#n,rayId:e.rayId===null?void 0:e.rayId};this.batcher.enqueue(i)}),r.waitUntil(this.batcher.waitUntilFlushed())}#s=async e=>{if(e.length===0)return;let r=e.map(i=>JSON.stringify(i)).join(`
64
64
  `),n=new Headers({"content-type":"application/json; charset=utf-8"});this.#o&&n.set("X-Sumo-Name",this.#o),this.#i&&n.set("X-Sumo-Category",this.#i),await fetch(this.#e,{method:"POST",body:r,headers:n})};batcher=new fA.BatchDispatch("sumo-logic-log-transport",10,this.#s)}});var zy=g(bn=>{"use strict";Object.defineProperty(bn,"__esModule",{value:!0});bn.VMWareLogInsightTransport=bn.VMWareLogInsightLoggingPlugin=void 0;var _A=D(),bA=we(),Sd=te(),EA=Nt(),Jy=mt(),wA="d3a5b78f-8236-48f5-b1df-4fe269d41172",Id=class extends EA.LogPlugin{static{o(this,"VMWareLogInsightLoggingPlugin")}options;constructor(e){super(),this.options=e}getTransport(){return new Js(this.options)}};bn.VMWareLogInsightLoggingPlugin=Id;var Js=class{static{o(this,"VMWareLogInsightTransport")}constructor(e){let r;try{r=new URL(e.url)}catch{throw new _A.ConfigurationError(`Invalid option 'url' on 'VMWareLogInsightTransport' plugin. Must be a valid URL, received '${e.url}'`)}this.#e=r.origin,this.#r=Sd.Environment.instance.loggingEnvironmentType,this.#n=Sd.Environment.instance.loggingEnvironmentStage,this.#t=Sd.Environment.instance.deploymentName,this.#i=e.onMessageSending,e.fields&&(this.#o=Object.entries(e.fields).map(([n,i])=>({name:n,content:i})))}#e;#t;#r;#n;#i;#o;async log(e,r){let n=this.buildEntry(e,r);this.batcher.enqueue(n),r.waitUntil(this.batcher.waitUntilFlushed())}buildEntry(e,r){let n=(0,Jy.messagesToMultilineText)(e.messages),i={timestamp:Date.now(),text:n,fields:[{name:"severity",content:e.level.toUpperCase()},{name:"request_id",content:e.requestId},{name:"environment_type",content:this.#r},{name:"environment_stage",content:this.#n},{name:"log_source",content:e.logSource},{name:"atomic_counter",content:e.vectorClock}]};return e.rayId&&i.fields.push({name:"request_ray_id",content:e.rayId}),this.#t&&i.fields.push({name:"environment",content:this.#t}),this.#o&&i.fields.push(...this.#o),r.custom&&Object.entries(r.custom).forEach(([s,a])=>{let c=(0,Jy.stringifyNonStringToText)(a);c&&i.fields.push({name:s,content:c})}),this.#i&&(i=this.#i(i)),i}#s=async e=>{if(e.length===0)return;let r=await fetch(`${this.#e}/api/v1/events/ingest/${wA}`,{method:"POST",body:JSON.stringify(e),headers:{"content-type":"application/json; charset=utf-8"}});if(r.status!==200)try{let n=await r.text();console.error("Error logging to Log Insight",n)}catch(n){console.error(n)}};batcher=new bA.BatchDispatch("vmware-log-insights-log-transport",10,this.#s)};bn.VMWareLogInsightTransport=Js});var Qy=g(En=>{"use strict";Object.defineProperty(En,"__esModule",{value:!0});En.AWSLogTransport=En.AWSLoggingPlugin=void 0;var vA=we(),Wy=te(),TA=Ar(),SA=Nt(),IA=mt(),AA=ud(),Ad=class extends SA.LogPlugin{static{o(this,"AWSLoggingPlugin")}options;constructor(e){super(),this.options=e}getTransport(){return new zs(this.options)}};En.AWSLoggingPlugin=Ad;var zs=class{static{o(this,"AWSLogTransport")}awsClient;environment;environmentType;logGroupName;logStreamName;region;batcher=new vA.BatchDispatch("aws-log-transport",10,async e=>{if(e.length===0)return;let r=JSON.stringify({logGroupName:this.logGroupName,logStreamName:this.logStreamName,logEvents:e});await this.awsClient.fetch(`https://logs.${this.region}.amazonaws.com`,{headers:{"Content-Type":"application/x-amz-json-1.1","x-amz-Target":"Logs_20140328.PutLogEvents"},body:r,aws:{accessKeyId:this.awsClient.accessKeyId,secretAccessKey:this.awsClient.secretAccessKey,service:this.awsClient.service,region:this.awsClient.region}})});constructor({accessKeyId:e,logStreamName:r,logGroupName:n,secretAccessKey:i,region:s}){this.awsClient=new AA.AwsClient({accessKeyId:e,secretAccessKey:i,service:"logs",region:s}),this.logGroupName=n,this.logStreamName=r,this.region=s,this.environmentType=Wy.Environment.instance.loggingEnvironmentType,this.environment=Wy.Environment.instance.deploymentName}async log(e,r){e.messages.forEach(n=>{let i={timestamp:new Date().getTime(),message:JSON.stringify({data:(0,IA.stringifyNonString)((0,TA.serializeError)(n)),severity:e.level,source:e.logSource,environment:this.environment,requestId:e.requestId,environmentType:this.environmentType,rayId:e.rayId===null?void 0:e.rayId})};this.batcher.enqueue(i)}),r.waitUntil(this.batcher.waitUntilFlushed())}};En.AWSLogTransport=zs});var Yy=g(Oe=>{"use strict";Object.defineProperty(Oe,"__esModule",{value:!0});Oe.AWSLoggingPlugin=Oe.VMWareLogInsightLoggingPlugin=Oe.SumoLogicLoggingPlugin=Oe.LokiLoggingPlugin=Oe.GoogleCloudLoggingPlugin=Oe.DynaTraceLoggingPlugin=Oe.DataDogLoggingPlugin=void 0;var PA=Ul();Object.defineProperty(Oe,"DataDogLoggingPlugin",{enumerable:!0,get:function(){return PA.DataDogLoggingPlugin}});var RA=Gy();Object.defineProperty(Oe,"DynaTraceLoggingPlugin",{enumerable:!0,get:function(){return RA.DynaTraceLoggingPlugin}});var OA=_s();Object.defineProperty(Oe,"GoogleCloudLoggingPlugin",{enumerable:!0,get:function(){return OA.GoogleCloudLoggingPlugin}});var xA=By();Object.defineProperty(Oe,"LokiLoggingPlugin",{enumerable:!0,get:function(){return xA.LokiLoggingPlugin}});var NA=Ky();Object.defineProperty(Oe,"SumoLogicLoggingPlugin",{enumerable:!0,get:function(){return NA.SumoLogicLoggingPlugin}});var CA=zy();Object.defineProperty(Oe,"VMWareLogInsightLoggingPlugin",{enumerable:!0,get:function(){return CA.VMWareLogInsightLoggingPlugin}});var LA=Qy();Object.defineProperty(Oe,"AWSLoggingPlugin",{enumerable:!0,get:function(){return LA.AWSLoggingPlugin}})});var Zy=g(ar=>{"use strict";Object.defineProperty(ar,"__esModule",{value:!0});ar.DataDogMetricsError=ar.DataDogMetricsTransport=ar.DataDogMetricsPlugin=void 0;var DA=Ge(),UA=we(),MA=po(),Pd=new WeakMap,kA={tags:[]},Rd=class extends MA.MetricsPlugin{static{o(this,"DataDogMetricsPlugin")}options;constructor(e){super(),this.options=e}getTransport(){return new Ws(this.options)}static setContext(e,r){let n=Pd.get(e);n||(n=kA);let i=Object.assign({...n},r);Pd.set(e,i)}};ar.DataDogMetricsPlugin=Rd;var Ws=class{static{o(this,"DataDogMetricsTransport")}#e;#t;#r;#n;#i;#o=void 0;constructor(e){this.#e=e.apiKey,this.#t=e.url??"https://api.datadoghq.com/api/v2/series",this.#r=Object.assign({latency:!0,requestContentLength:!0,responseContentLength:!0},e.metrics),this.#i=e.include??{},this.#n=e.tags??[]}pushMetrics(e,r){this.#o===void 0&&(this.#o=new UA.BatchDispatch("data-dog-metrics-transport",10,this.dispatchFunction,DA.SystemLogMap.getLogger(r)));let n=Math.floor(e.timestamp.getTime()/1e3),i=this.#n.concat(Pd.get(r)?.tags??[]);if(this.#i.country&&i.push(`country:${e.country}`),this.#i.httpMethod&&i.push(`httpMethod:${e.method}`),this.#i.statusCode&&i.push(`statusCode:${e.statusCode}`),this.#i.path){let s=e.systemRouteName||e.routePath;i.push(`path:${s}`)}this.#r.latency&&this.#o.enqueue({metric:"zuplo.request.latency",type:3,points:[{timestamp:n,value:e.durationMs}],tags:i}),this.#r.requestContentLength&&e.requestContentLength&&this.#o.enqueue({metric:"zuplo.request.content_length",type:3,points:[{timestamp:n,value:e.requestContentLength}],tags:i}),this.#r.responseContentLength&&e.responseContentLength&&this.#o.enqueue({metric:"zuplo.response.content_length",type:3,points:[{timestamp:n,value:e.responseContentLength}],tags:i}),r.waitUntil(this.#o.waitUntilFlushed())}dispatchFunction=async e=>{if(e.length===0)return;let r=JSON.stringify({series:e}),n=await fetch(this.#t,{method:"POST",body:r,headers:{"content-type":"application/json","DD-API-KEY":this.#e}});if(!n.ok)throw new Qs(await n.text())}};ar.DataDogMetricsTransport=Ws;var Qs=class t extends Error{static{o(this,"DataDogMetricsError")}constructor(e){super(e),Object.setPrototypeOf(this,t.prototype)}};ar.DataDogMetricsError=Qs});var Xy=g(cr=>{"use strict";Object.defineProperty(cr,"__esModule",{value:!0});cr.DynaTraceMetricsError=cr.DynaTraceMetricsTransport=cr.DynatraceMetricsPlugin=void 0;var FA=Ge(),HA=we(),qA=po(),Od=new WeakMap,$A={dimensions:[]},xd=class extends qA.MetricsPlugin{static{o(this,"DynatraceMetricsPlugin")}options;constructor(e){super(),this.options=e}getTransport(){return new Ys(this.options)}static setContext(e,r){let n=Od.get(e);n||(n=$A);let i=Object.assign({...n},r);Od.set(e,i)}};cr.DynatraceMetricsPlugin=xd;var Ys=class{static{o(this,"DynaTraceMetricsTransport")}apiToken;#e;#t;dimensions;#r;#n=void 0;constructor(e){this.apiToken=e.apiToken,this.#e=e.url,this.#t=Object.assign({latency:!0,requestContentLength:!0,responseContentLength:!0},e.metrics),this.#r=e.include??{},this.dimensions=e.dimensions??[]}pushMetrics(e,r){this.#n===void 0&&(this.#n=new HA.BatchDispatch("dynatrace-metrics-transport",10,this.dispatchFunction,FA.SystemLogMap.getLogger(r)));let n=Math.floor(e.timestamp.getTime()),i=this.dimensions.concat(Od.get(r)?.dimensions??[]);if(this.#r.country&&i.push(`country="${e.country}"`),this.#r.httpMethod&&i.push(`http_method="${e.method}"`),this.#r.statusCode&&i.push(`status_code="${e.statusCode}"`),this.#r.path){let a=e.systemRouteName||e.routePath;i.push(`path="${a}"`)}let s=i.join(",");this.#t.latency&&this.#n.enqueue(`zuplo.request.latency,${s} ${e.durationMs} ${n}`),this.#t.requestContentLength&&e.requestContentLength&&this.#n.enqueue(`zuplo.request.content_length,${s} ${e.requestContentLength} ${n}`),this.#t.responseContentLength&&e.responseContentLength&&this.#n.enqueue(`zuplo.response.content_length,${s} ${e.responseContentLength} ${n}`),r.waitUntil(this.#n.waitUntilFlushed())}dispatchFunction=async e=>{if(e.length===0)return;let r=e.join(`
65
- `),n=await fetch(this.#e,{method:"POST",body:r,headers:{"content-type":"text/plain",Authorization:`Api-Token ${this.apiToken}`}});if(!n.ok)throw new Zs(await n.text())}};cr.DynaTraceMetricsTransport=Ys;var Zs=class t extends Error{static{o(this,"DynaTraceMetricsError")}constructor(e){super(e),Object.setPrototypeOf(this,t.prototype)}};cr.DynaTraceMetricsError=Zs});var eg=g(wn=>{"use strict";Object.defineProperty(wn,"__esModule",{value:!0});wn.DynatraceMetricsPlugin=wn.DataDogMetricsPlugin=void 0;var jA=Zy();Object.defineProperty(wn,"DataDogMetricsPlugin",{enumerable:!0,get:function(){return jA.DataDogMetricsPlugin}});var VA=Xy();Object.defineProperty(wn,"DynatraceMetricsPlugin",{enumerable:!0,get:function(){return VA.DynatraceMetricsPlugin}})});var tg=g(Xs=>{"use strict";Object.defineProperty(Xs,"__esModule",{value:!0});Xs.AuditLogDataStaxProvider=void 0;var Nd=class{static{o(this,"AuditLogDataStaxProvider")}constructor(e){this.#e=e}#e;writeLogBatch=async e=>{await Promise.allSettled(e.map(async r=>{await fetch(this.#e.url,{method:"POST",headers:{"X-Cassandra-Token":this.#e.xCassandraToken,"content-type":"application/json"},body:JSON.stringify(r)})}))}};Xs.AuditLogDataStaxProvider=Nd});var ng=g(ea=>{"use strict";Object.defineProperty(ea,"__esModule",{value:!0});ea.AuditLogPlugin=void 0;var GA=Rt(),BA=we(),Cd=class extends GA.InitializableRuntimePlugin{static{o(this,"AuditLogPlugin")}constructor(e,r){super(),this.#e=e,this.#t=r}#e;#t;async initialize(e){new Ld(e,this.#e,this.#t)}};ea.AuditLogPlugin=Cd;var rg=o(t=>{let e={};return t.forEach((r,n)=>{e[n]=r}),e},"serializableHeaders"),KA={requestFilter:async()=>!0,include:{request:{headers:!0,body:!0},response:{headers:!0,body:!0}}},Ld=class{static{o(this,"AuditPluginImpl")}constructor(e,r,n){this.#t=r;let i={...KA};n?.requestFilter&&(i.requestFilter=n.requestFilter),n?.include?.request&&Object.assign(i,n.include.request),n?.include?.response&&Object.assign(i,n.include.response),this.#e=i,e.addRequestHook(this.#o),this.#r=new BA.BatchDispatch("audit-log",10,this.#n)}#e;#t;#r;#n=async e=>{await this.#t.writeLogBatch(e)};#i=async(e,r,n,i,s,a)=>{try{let c={timestamp:i,durationMs:s,routePath:n.route.path,requestId:n.requestId,userSub:a,request:{url:r.url,method:r.method,headers:this.#e.include?.request?.headers?rg(r.headers):void 0,body:this.#e.include?.request?.body?await r.text():void 0},response:{status:e.status,statusText:e.statusText,headers:this.#e.include?.response?.headers?rg(e.headers):void 0,body:this.#e.include?.response?.body?await e.text():void 0}};this.#r.enqueue(c),n.waitUntil(this.#r.waitUntilFlushed())}catch(c){n.log.error(c)}};#o=async(e,r)=>{try{if(!await this.#e.requestFilter(e,r))return e;let i=new Date,s=Date.now(),a=e.clone();return r.addResponseSendingFinalHook(async(c,u)=>{let l=Date.now(),d=c.clone(),p=this.#i(d,a,r,i,l-s,u.user?.sub).catch(m=>{r.log.error(m)});r.waitUntil(p)}),e}catch(n){return r.log.error(n),e}}}});var ta=g(vn=>{"use strict";Object.defineProperty(vn,"__esModule",{value:!0});vn.getValueFromRequestUser=vn.statusCodesStringToNumberArray=void 0;var ig=D(),og=new Map;function JA(t){if(typeof t!="string")throw new Error("Input must be a string");if(!/^\d+(?:-\d+)?(?:,\s*\d+(?:-\d+)?)*$/.test(t))throw new Error("Malformed input string");let e=og.get(t);if(e)return e;let r=t.split(","),n=[];for(let i of r){let s=i.split("-");if(s.length===2){let a=parseInt(s[0],10),c=parseInt(s[1],10);for(let u=a;u<=c;u++)n.push(u)}else n.push(parseInt(i,10))}return og.set(t,n),n}o(JA,"statusCodesStringToNumberArray");vn.statusCodesStringToNumberArray=JA;function zA(t,e,r){if(!e.startsWith("."))throw new ig.ConfigurationError(`Invalid ${r} - must start with '.' - '${e}' does not`);let n=e.split(".").splice(1),i=t;return n.forEach(s=>{if(i===void 0)throw new ig.RuntimeError(`Error applying ${r} '${e}', reading '${s}'`);i=i[s]}),`${i}`}o(zA,"getValueFromRequestUser");vn.getValueFromRequestUser=zA});var lg=g(Tn=>{"use strict";Object.defineProperty(Tn,"__esModule",{value:!0});Tn.AmberfloMeteringInboundPolicy=Tn.AmberfloMeteringPolicy=void 0;var sg=D(),WA=we(),ag=ta(),ug=new WeakMap,cg={},Dd=class{static{o(this,"AmberfloMeteringPolicy")}static setRequestProperties(e,r){ug.set(e,r)}};Tn.AmberfloMeteringPolicy=Dd;async function QA(t,e,r,n){if(!r.statusCodes)throw new sg.ConfigurationError(`Invalid AmberfloMeterInboundPolicy '${n}': options.statusCodes must be an array of HTTP status code numbers`);let i=Array.isArray(r.statusCodes)?r.statusCodes:(0,ag.statusCodesStringToNumberArray)(r.statusCodes);return e.addResponseSendingFinalHook(async s=>{if(i.includes(s.status)){let a=ug.get(e),c=r.customerId;if(r.customerIdPropertyPath){if(!t.user)throw new sg.RuntimeError(`Unable to apply customerIdPropertyPath '${r.customerIdPropertyPath}' as request.user is 'undefined'.`);c=(0,ag.getValueFromRequestUser)(t.user,r.customerIdPropertyPath,"customerIdPropertyPath")}let u=a?.customerId??c;if(!u){e.log.error(`Error in AmberfloMeterInboundPolicy '${n}': customerId cannot be undefined`);return}let l=a?.meterApiName??r.meterApiName;if(!l){e.log.error(`Error in AmberfloMeterInboundPolicy '${n}': meterApiName cannot be undefined`);return}let d=a?.meterValue??r.meterValue;if(!d){e.log.error(`Error in AmberfloMeterInboundPolicy '${n}': meterValue cannot be undefined`);return}let p={customerId:u,meterApiName:l,meterValue:d,meterTimeInMillis:Date.now(),dimensions:Object.apply(r.dimensions??{},a?.dimensions)},m=cg[r.apiKey];if(!m){let f=r.apiKey,y=t.headers.get("zm-test-id")??"";m=new WA.BatchDispatch("amberflo-ingest-meter",10,async v=>{try{let T=r.url??"https://app.amberflo.io/ingest",I=await fetch(T,{method:"POST",body:JSON.stringify(v),headers:{"content-type":"application/json","x-api-key":f,"zm-test-id":y}});I.ok||e.log.error(`Unexpected response in AmberfloMeteringInboundPolicy '${n}'. ${I.status}: ${await I.text()}`)}catch(T){throw e.log.error(`Error in AmberfloMeteringInboundPolicy '${n}': ${T.message}`),T}}),cg[f]=m}m.enqueue(p),e.waitUntil(m.waitUntilFlushed())}}),t}o(QA,"AmberfloMeteringInboundPolicy");Tn.AmberfloMeteringInboundPolicy=QA});var ur=g(ra=>{"use strict";Object.defineProperty(ra,"__esModule",{value:!0});ra.getPolicyCacheName=void 0;function YA(t){return`zuplo-policy-${t}`}o(YA,"getPolicyCacheName");ra.getPolicyCacheName=YA});var fg=g(Sn=>{"use strict";Object.defineProperty(Sn,"__esModule",{value:!0});Sn.ApiAuthKeyInboundPolicy=Sn.ApiKeyInboundPolicy=void 0;var ZA=ur(),XA=_r(),dg=Xl(),Ud=D(),eP=Ot(),Md=Ge(),kd=te(),tP=ys(),pg="key-metadata-cache-type";function rP(t,e){return e.authScheme===""?t:t.replace(`${e.authScheme} `,"")}o(rP,"getKeyValue");async function hg(t,e,r,n){if(!r.bucketName)if(dg.environment.ZUPLO_API_KEY_SERVICE_BUCKET_NAME)r.bucketName=dg.environment.ZUPLO_API_KEY_SERVICE_BUCKET_NAME;else throw new Ud.ConfigurationError(`ApiKeyInboundPolicy '${n}' - no bucketName property provided`);let i={authHeader:r.authHeader??"authorization",authScheme:r.authScheme??"Bearer",bucketName:r.bucketName,cacheTtlSeconds:r.cacheTtlSeconds??60,allowUnauthenticatedRequests:r.allowUnauthenticatedRequests??!1,disableAutomaticallyAddingKeyHeaderToOpenApi:r.disableAutomaticallyAddingKeyHeaderToOpenApi??!1};if(i.cacheTtlSeconds<60)throw new Ud.ConfigurationError(`ApiKeyInboundPolicy '${n}' - minimum cacheTtlSeconds value is 60s, '${i.cacheTtlSeconds}' is invalid`);let s=o(v=>i.allowUnauthenticatedRequests?t:eP.HttpProblems.unauthorized(t,e,{detail:v}),"unauthorizedResponse"),a=t.headers.get(i.authHeader);if(!a)return s("No Authorization Header");if(!a.toLowerCase().startsWith(i.authScheme.toLowerCase()))return s("Invalid Authorization Scheme");let c=rP(a,i);if(!c||c==="")return s("No key present");let u=await nP(c),l=new XA.MemoryZoneReadThroughCache((0,ZA.getPolicyCacheName)(n),{logger:Md.SystemLogMap.getLogger(e)}),d=await l.get(u);if(d&&d.isValid===!0)return t.user=d.user,t;if(d&&!d.isValid)return d.typeId!==pg&&Md.SystemLogMap.getLogger(e).error(`ApiKeyInboundPolicy '${n}' - cached metadata has invalid typeId '${d.typeId}'`,d),s("Authorization Failed");let p={key:c},m=await(0,tP.fetchRetry)({retryDelayMs:5,retries:2,logger:Md.SystemLogMap.getLogger(e)},`${kd.Environment.instance.apiKeyServiceUrl}/v1/$validate/${i.bucketName}`,{method:"POST",headers:{"content-type":"application/json","zp-rid":e.requestId,"zp-dn":kd.Environment.instance.deploymentName??"unknown","User-Agent":kd.Environment.instance.systemUserAgent},body:JSON.stringify(p)});if(m.status===401)return e.log.info(`ApiKeyInboundPolicy '${n}' - 401 response from Key Service`),s("Authorization Failed");if(m.status!==200){try{let v=await m.text(),T=JSON.parse(v);e.log.error("Unexpected response from key service",T)}catch{e.log.error("Invalid response from key service")}throw new Ud.RuntimeError(`ApiKeyInboundPolicy '${n}' - unexpected response from Key Service. Status: ${m.status}`)}let f=await m.json(),y={isValid:!0,typeId:pg,user:{sub:f.name,data:f.metadata}};return t.user=y.user,l.put(u,y,i.cacheTtlSeconds),t}o(hg,"ApiKeyInboundPolicy");Sn.ApiKeyInboundPolicy=hg;async function nP(t){let e=new TextEncoder().encode(t),r=await crypto.subtle.digest("SHA-256",e);return Array.from(new Uint8Array(r)).map(s=>s.toString(16).padStart(2,"0")).join("")}o(nP,"hashValue");Sn.ApiAuthKeyInboundPolicy=hg});var Ut=g(na=>{"use strict";Object.defineProperty(na,"__esModule",{value:!0});na.OpenIdJwtInboundPolicy=void 0;var Hd=(fs(),Bi(hs)),qd=D(),iP=ve(),Fd={},oP=o(async(t,e)=>{if(!e.jwkUrl||typeof e.jwkUrl!="string")throw new qd.ConfigurationError("Invalid State - jwkUrl not set");Fd[e.jwkUrl]||(Fd[e.jwkUrl]=(0,Hd.createRemoteJWKSet)(new URL(e.jwkUrl),e.headers?{headers:e.headers}:void 0));let{payload:r}=await(0,Hd.jwtVerify)(t,Fd[e.jwkUrl],{issuer:e.issuer,audience:e.audience});return r},"jwkVerifier"),sP=o(async(t,e)=>{let r;if(e.secret===void 0)throw new Error("secretVerifier requires secret to be defined");if(typeof e.secret=="string"){let s=new TextEncoder().encode(e.secret);r=new Uint8Array(s)}else r=e.secret;let{payload:n}=await(0,Hd.jwtVerify)(t,r,{issuer:e.issuer,audience:e.audience});return n},"secretVerifier"),aP=o(async(t,e,r,n)=>{let i=t.headers.get("Authorization"),s="bearer ",a=o(m=>iP.HttpProblems.unauthorized(t,e,{detail:m}),"unauthorizedResponse");if(!r.jwkUrl&&!r.secret)throw new qd.ConfigurationError(`OpenIdJwtInboundPolicy policy '${n}': One of 'jwkUrl' or 'secret' options are required.`);if(r.jwkUrl&&r.secret)throw new qd.ConfigurationError(`OpenIdJwtInboundPolicy policy '${n}': Only one of 'jwkUrl' and 'secret' options should be provided.`);let c=r.jwkUrl?oP:sP,l=await o(async()=>{if(!i)return a("No authorization header");if(i.toLowerCase().indexOf(s)!==0)return a("Invalid bearer token format for authorization header");let m=i.substring(s.length);if(!m||m.length===0)return a("No bearer token on authorization header");try{return await c(m,r)}catch(f){let y=new URL(t.url);return"code"in f&&f.code==="ERR_JWT_EXPIRED"?e.log.warn(`Expired token used on url: ${y.pathname} `,f):e.log.warn(`Invalid token on: ${t.method} ${y.pathname}`,f),a("Invalid token")}},"getJwtOrRejectedResponse")();if(l instanceof Response)return r.allowUnauthenticatedRequests===!0?t:l;let d=r.subPropertyName??"sub",p=l[d];return p?(t.user={sub:p,data:l},t):a(`Token is not valid, no '${d}' property found.`)},"OpenIdJwtInboundPolicy");na.OpenIdJwtInboundPolicy=aP});var mg=g(ia=>{"use strict";Object.defineProperty(ia,"__esModule",{value:!0});ia.Auth0JwtInboundPolicy=void 0;var cP=Ut(),uP=o(async(t,e,r,n)=>(0,cP.OpenIdJwtInboundPolicy)(t,e,{issuer:`https://${r.auth0Domain}/`,audience:r.audience,jwkUrl:`https://${r.auth0Domain}/.well-known/jwks.json`,allowUnauthenticatedRequests:r.allowUnauthenticatedRequests},n),"Auth0JwtInboundPolicy");ia.Auth0JwtInboundPolicy=uP});var yg=g(oa=>{"use strict";Object.defineProperty(oa,"__esModule",{value:!0});oa.BasicAuthInboundPolicy=void 0;var lP=ve(),dP=o(async(t,e,r)=>{let n=t.headers.get("Authorization"),i="basic ",s=o(l=>lP.HttpProblems.unauthorized(t,e,{detail:l}),"unauthorizedResponse"),c=await o(async()=>{if(!n)return await s("No Authorization header");if(n.toLowerCase().indexOf(i)!==0)return await s("Invalid Basic token format for Authorization header");let l=n.substring(i.length);if(!l||l.length===0)return await s("No username:password provided");let d=atob(l).normalize(),p=d.indexOf(":");if(p===-1||/[\0-\x1F\x7F]/.test(d))return await s("Invalid basic token value - see https://tools.ietf.org/html/rfc5234#appendix-B.1");let m=d.substring(0,p),f=d.substring(p+1),y=r.accounts.find(v=>v.username===m&&v.password===f);return y||await s("Invalid username or password")},"getAccountOrRejectedResponse")();if(c instanceof Response)return r.allowUnauthenticatedRequests?t:c;let u=c.username;return t.user={sub:u,data:c.data},t},"BasicAuthInboundPolicy");oa.BasicAuthInboundPolicy=dP});var gg=g(sa=>{"use strict";Object.defineProperty(sa,"__esModule",{value:!0});sa.CachingInboundPolicy=void 0;var pP=ur(),hP=["cdn-cache-control","cloudflare-cdn-cache-control","surrogate-control","cache-tag","expires"];async function fP(t){let e=new TextEncoder().encode(t),r=await crypto.subtle.digest("SHA-256",e);return Array.from(new Uint8Array(r)).map(s=>s.toString(16).padStart(2,"0")).join("")}o(fP,"digestMessage");var mP=o(async(t,e)=>{let r=[...e.dangerouslyIgnoreAuthorizationHeader===!0?[]:["authorization"],...e.headers??[]],n=[];for(let[d,p]of t.headers.entries())r.includes(d)&&n.push({key:d.toLowerCase(),value:p});n.sort((d,p)=>d.key.localeCompare(p.key));let i=await fP(JSON.stringify(n)),s=new URL(t.url),a=new URLSearchParams(s.searchParams);a.set("_z-hdr-dgst",i);let c=e.cacheHttpMethods?.includes(t.method.toUpperCase())&&t.method.toUpperCase()!=="GET";c&&a.set("_z-original-method",t.method);let u=`${s.origin}${s.pathname}?${a}`;return new Request(u,{method:c?"GET":t.method})},"createCacheKeyRequest");async function yP(t,e,r,n){let i=await caches.open(`${(0,pP.getPolicyCacheName)(n)}-${r.cacheId??""}`),s=r?.cacheHttpMethods?.map(u=>u.toUpperCase())??["GET"],a=await mP(t,r),c=await i.match(a);return c||(e.addEventListener("responseSent",u=>{try{let l=r.statusCodes??[200,206,301,302,303,404,410],d=u.response.clone();if(!l.includes(d.status)||!s.includes(t.method.toUpperCase()))return;let p=r?.expirationSecondsTtl??60,m=new Response(d.body,d);hP.forEach(f=>m.headers.delete(f)),m.headers.set("cache-control",`s-maxage=${p}`),e.waitUntil(i.put(a,m))}catch(l){e.log.error(`Error in caching-inbound-policy '${n}': "${l.message}"`,l)}}),t)}o(yP,"CachingInboundPolicy");sa.CachingInboundPolicy=yP});var _g=g(aa=>{"use strict";Object.defineProperty(aa,"__esModule",{value:!0});aa.ChangeMethodInboundPolicy=void 0;var gP=D(),_P=Wn(),bP=o(async(t,e,r,n)=>{if(!r.method)throw new gP.ConfigurationError(`ChangeMethodInboundPolicy '${n}' options.method must be valid HttpMethod`);return new _P.ZuploRequest(t,{method:r.method})},"ChangeMethodInboundPolicy");aa.ChangeMethodInboundPolicy=bP});var bg=g(ca=>{"use strict";Object.defineProperty(ca,"__esModule",{value:!0});ca.ClearHeadersInboundPolicy=void 0;var EP=ke(),wP=o(async(t,e,r)=>{let n=[...r.exclude??[]],i=new Headers;return n.forEach(a=>{let c=t.headers.get(a);c&&i.set(a,c)}),new EP.ZuploRequest(t,{headers:i})},"ClearHeadersInboundPolicy");ca.ClearHeadersInboundPolicy=wP});var Eg=g(ua=>{"use strict";Object.defineProperty(ua,"__esModule",{value:!0});ua.ClearHeadersOutboundPolicy=void 0;var vP=o(async(t,e,r,n)=>{let i=[...n.exclude??[]],s=new Headers;return i.forEach(c=>{let u=t.headers.get(c);u&&s.set(c,u)}),new Response(t.body,{headers:s,status:t.status,statusText:t.statusText})},"ClearHeadersOutboundPolicy");ua.ClearHeadersOutboundPolicy=vP});var wg=g(la=>{"use strict";Object.defineProperty(la,"__esModule",{value:!0});la.ClerkJwtInboundPolicy=void 0;var TP=Ut(),SP=o(async(t,e,r,n)=>{let i=new URL(r.frontendApiUrl.startsWith("https://")||r.frontendApiUrl.startsWith("http://")?r.frontendApiUrl:`https://${r.frontendApiUrl}`),s=new URL(i);return s.pathname="/.well-known/jwks.json",(0,TP.OpenIdJwtInboundPolicy)(t,e,{issuer:i.href.slice(0,-1),jwkUrl:s.toString(),allowUnauthenticatedRequests:r.allowUnauthenticatedRequests},n)},"ClerkJwtInboundPolicy");la.ClerkJwtInboundPolicy=SP});var Tg=g(da=>{"use strict";Object.defineProperty(da,"__esModule",{value:!0});da.CognitoJwtInboundPolicy=void 0;var vg=D(),IP=Ut(),AP=o(async(t,e,r,n)=>{if(!r.userPoolId)throw new vg.ConfigurationError("userPoolId must be set in the options for CognitoJwtInboundPolicy");if(!r.region)throw new vg.ConfigurationError("region must be set in the options for CognitoJwtInboundPolicy");return(0,IP.OpenIdJwtInboundPolicy)(t,e,{issuer:`https://cognito-idp.${r.region}.amazonaws.com/${r.userPoolId}`,jwkUrl:`https://cognito-idp.${r.region}.amazonaws.com/${r.userPoolId}/.well-known/jwks.json`,allowUnauthenticatedRequests:r.allowUnauthenticatedRequests},n)},"CognitoJwtInboundPolicy");da.CognitoJwtInboundPolicy=AP});var Ig=g(pa=>{"use strict";Object.defineProperty(pa,"__esModule",{value:!0});pa.CompositeInboundPolicy=void 0;var PP=D(),RP=un(),Sg=Qn(),OP=o(async(t,e,r,n)=>{if(!r.policies||r.policies.length===0)throw new PP.ConfigurationError(`CompositeInboundPolicy '${n}' must have valid policies defined`);let i=RP.Gateway.instance,s=(0,Sg.getInboundPolicyHandlerAndOptions)(r.policies,i?.routeData.policies);return(0,Sg.toStackedInboundHandler)(s)(t,e)},"CompositeInboundPolicy");pa.CompositeInboundPolicy=OP});var lr=g(ha=>{"use strict";Object.defineProperty(ha,"__esModule",{value:!0});ha.optionValidator=void 0;var _i=D();function xP(t,e){let r=o((s,a,c)=>{let u=t[s];if(!(c&&u===void 0)){if(u===void 0)throw new _i.ConfigurationError(`Value of '${String(s)}' on policy '${e}' is required, but no value was set. If using an environment variable, check that it is set correctly.`);if(a==="array"&&Array.isArray(u))throw new _i.ConfigurationError(`Value of '${String(s)}' on policy '${e}' must be an array. Received type ${typeof u}.`);if(typeof u!==a)throw new _i.ConfigurationError(`Value of '${String(s)}' on policy '${e}' must be of type ${a}. Received type ${typeof u}.`);if(typeof u=="string"&&u.length===0)throw new _i.ConfigurationError(`Value of '${String(s)}' on policy '${e}' must be a non-empty string. The value received is empty. If using an environment variable, check that it is set correctly.`);if(typeof u=="number"&&isNaN(u))throw new _i.ConfigurationError(`Value of '${String(s)}' on policy '${e}' must be valid number. If using an environment variable, check that it is set correctly.`)}},"validate"),n=o((s,a)=>(r(s,a,!0),{optional:n,required:i}),"optional"),i=o((s,a)=>(r(s,a,!1),{optional:n,required:i}),"required");return{optional:n,required:i}}o(xP,"optionValidator");ha.optionValidator=xP});var Ag=g(fa=>{"use strict";Object.defineProperty(fa,"__esModule",{value:!0});fa.FirebaseJwtInboundPolicy=void 0;var NP=lr(),CP=Ut(),LP=o(async(t,e,r,n)=>((0,NP.optionValidator)(r,n).required("projectId","string").optional("allowUnauthenticatedRequests","boolean"),(0,CP.OpenIdJwtInboundPolicy)(t,e,{issuer:`https://securetoken.google.com/${r.projectId}`,audience:r.projectId,jwkUrl:"https://www.googleapis.com/service_accounts/v1/jwk/securetoken@system.gserviceaccount.com",allowUnauthenticatedRequests:r.allowUnauthenticatedRequests},n)),"FirebaseJwtInboundPolicy");fa.FirebaseJwtInboundPolicy=LP});var Pg=g(ma=>{"use strict";Object.defineProperty(ma,"__esModule",{value:!0});ma.FormDataToJsonInboundPolicy=void 0;var DP=ke(),UP=o(async(t,e,r)=>{let n="application/x-www-form-urlencoded",i="multipart/form-data",s=t.headers.get("content-type")?.toLowerCase();if(!s||![i,n].includes(s))return r&&r.badRequestIfNotFormData?new Response(`Bad Request - expected content-type '${n}' or ${i}`,{status:400,statusText:"Bad Request"}):t;let a=await t.formData();if(r&&r.optionalHoneypotName&&a.get(r.optionalHoneypotName)!=="")return new Response("Bad Request",{status:400,statusText:"Bad Request"});let c={};for(let[d,p]of a)c[d]=p.toString();let u=new Headers(t.headers);return u.set("content-type","application/json"),u.delete("content-length"),new DP.ZuploRequest(t,{body:JSON.stringify(c),headers:u})},"FormDataToJsonInboundPolicy");ma.FormDataToJsonInboundPolicy=UP});var Rg=g(ya=>{"use strict";Object.defineProperty(ya,"__esModule",{value:!0});ya.GeoFilterInboundPolicy=void 0;var MP=D(),kP=ve(),In="__unknown__",FP=o(async(t,e,r,n)=>{let i={allow:{countries:Pn(r.allow?.countries,"allow.countries",n),regionCodes:Pn(r.allow?.regionCodes,"allow.regionCode",n),asns:Pn(r.allow?.asns,"allow.asOrganization",n)},block:{countries:Pn(r.block?.countries,"block.countries",n),regionCodes:Pn(r.block?.regionCodes,"block.regionCode",n),asns:Pn(r.block?.asns,"block.asOrganization",n)},ignoreUnknown:r.ignoreUnknown!==!1},s=e.incomingRequestProperties.country?.toLowerCase()??In,a=e.incomingRequestProperties.regionCode?.toLowerCase()??In,c=e.incomingRequestProperties.asn?.toString()??In,u=i.ignoreUnknown&&s===In,l=i.ignoreUnknown&&a===In,d=i.ignoreUnknown&&c===In,p=i.allow.countries,m=i.allow.regionCodes,f=i.allow.asns;if(p.length>0&&!p.includes(s)&&!u||m.length>0&&!m.includes(a)&&!l||f.length>0&&!f.includes(c)&&!d)return An(t,e,n,s,a,c);let y=i.block.countries,v=i.block.regionCodes,T=i.block.asns;return y.length>0&&y.includes(s)&&!u||v.length>0&&v.includes(a)&&!l||T.length>0&&T.includes(c)&&!d?An(t,e,n,s,a,c):t},"GeoFilterInboundPolicy");ya.GeoFilterInboundPolicy=FP;function An(t,e,r,n,i,s){return e.log.debug(`Request blocked by GeoFilterInboundPolicy '${r}' (country: '${n}', regionCode: '${i}', asn: '${s}')`),kP.HttpProblems.forbidden(t,e,{geographicContext:{country:n,regionCode:i,asn:s}})}o(An,"blockedResponse");function Pn(t,e,r){if(typeof t=="string")return t.split(",").map(n=>n.trim().toLowerCase());if(typeof t>"u")return[];if(Array.isArray(t))return t.map(n=>n.trim().toLowerCase());throw new MP.ConfigurationError(`Invalid '${e}' for GeoFilterInboundPolicy '${r}': '${t}', must be a string or string[]`)}o(Pn,"toLowerStringArray")});var Og=g(ga=>{"use strict";Object.defineProperty(ga,"__esModule",{value:!0});ga.JWTScopeValidationInboundPolicy=void 0;var HP=o(async(t,e,r)=>{let n=t.user?.data.scope.split(" ")||[];if(!o((s,a)=>a.every(c=>s.includes(c)),"scopeChecker")(n,r.scopes)){let s={code:"UNAUTHORIZED",help_url:"https://zup.fail/UNAUTHORIZED",message:`JWT must have all the following scopes: ${r.scopes}`};return new Response(JSON.stringify(s),{status:401,statusText:"Unauthorized",headers:{"content-type":"application/json"}})}return t},"JWTScopeValidationInboundPolicy");ga.JWTScopeValidationInboundPolicy=HP});var Ng=g(_a=>{"use strict";Object.defineProperty(_a,"__esModule",{value:!0});_a.MockApiInboundPolicy=void 0;var qP=ve(),$P=o(async(t,e,r,n)=>{let i=e.route.raw().responses;if(!i)return $d(n,t,e,"No responses defined in the OpenAPI document. Add some responses with examples to use this policy.");let s=Object.keys(i),a=[];if(s.length===0)return $d(n,t,e,"No response object defined under responses in the OpenAPI document. Add some response objects with examples to use this policy.");if(s.forEach(c=>{i[c].content&&Object.keys(i[c].content).forEach(l=>{let d=i[c].content[l].examples;d&&Object.keys(d).forEach(m=>{a.push({responseName:c,contentName:l,exampleName:m,exampleValue:d[m]})})})}),a=a.filter(c=>!(r.responsePrefixFilter&&!c.responseName.startsWith(r.responsePrefixFilter)||r.contentType&&c.contentName!==r.contentType||r.exampleName&&c.exampleName!==r.exampleName)),r.random&&a.length>1){let c=Math.floor(Math.random()*a.length);return xg(a[c])}else return a.length>0?xg(a[0]):$d(n,t,e,"No examples matching the mocking options found in the OpenAPI document. Add examples to the OpenAPI document matching the options for this policy or change the mocking options to match the examples in the OpenAPI document.")},"MockApiInboundPolicy");_a.MockApiInboundPolicy=$P;function xg(t){let e=JSON.stringify(t.exampleValue,null,2),r=new Headers;switch(r.append("Content-Type",t.contentName),t.responseName){case"1XX":return new Response(e,{status:100,headers:r});case"2XX":return new Response(e,{status:200,headers:r});case"3XX":return new Response(e,{status:300,headers:r});case"4XX":return new Response(e,{status:400,headers:r});case"5XX":case"default":return new Response(e,{status:500,headers:r});default:return new Response(e,{status:Number(t.responseName),headers:r})}}o(xg,"generateResponse");var $d=o((t,e,r,n)=>{let i=`Error in policy: ${t} - On route ${e.method} ${r.route.path}. ${n}`;return qP.HttpProblems.internalServerError(e,r,{detail:i})},"getProblemDetailResponse")});var Mg=g(Rn=>{"use strict";Object.defineProperty(Rn,"__esModule",{value:!0});Rn.MoesifInboundPolicy=Rn.setMoesifContext=void 0;var jP=D(),VP=we(),GP="Incoming",BP={logRequestBody:!0,logResponseBody:!0};function Cg(t){let e={};return t.forEach((r,n)=>{e[n]=r}),e}o(Cg,"headersToObject");function Lg(){return new Date().toISOString()}o(Lg,"timestamp");var jd=new WeakMap,KP={};function JP(t,e){let r=jd.get(t);r||(r=KP);let n=Object.assign({...r},e);jd.set(t,n)}o(JP,"setMoesifContext");Rn.setMoesifContext=JP;async function Dg(t,e){let r=t.headers.get("content-type"),n=t.clone();if(r&&r.indexOf("json")!==0)try{return await n.json()}catch(s){e.log.error(s)}let i=await n.text();return e.log.debug({textBody:i}),i}o(Dg,"readBody");var zP={},Vd;function Ug(){if(!Vd)throw new jP.RuntimeError("Invalid State - no _lastLogger");return Vd}o(Ug,"getLastLogger");function WP(t){let e=zP[t];return e||(e=new VP.BatchDispatch("moesif-inbound",100,async r=>{let n=JSON.stringify(r);Ug().debug("posting",n);let i=await fetch("https://api.moesif.net/v1/events/batch",{method:"POST",headers:{"content-type":"application/json","X-Moesif-Application-Id":t},body:n});i.ok||Ug().error({status:i.status,body:await i.text()})})),e}o(WP,"getDispatcher");async function QP(t,e,r,n){Vd=e.log;let i=Lg(),s=Object.assign(BP,r);if(!s.applicationId)throw new Error(`Invalid configuration for MoesifInboundPolicy '${n}' - applicationId is required`);let a=s.logRequestBody?await Dg(t,e):void 0;return e.addResponseSendingFinalHook(async(c,u)=>{let l=WP(s.applicationId),d=t.headers.get("true-client-ip"),p=jd.get(e)??{},m={time:i,uri:t.url,verb:t.method,body:a,ip_address:d??void 0,api_version:p.apiVersion,headers:Cg(t.headers)},f=s.logResponseBody?await Dg(c,e):void 0,y={time:Lg(),status:c.status,headers:Cg(c.headers),body:f},v={request:m,response:y,user_id:p.userId??u.user?.sub,session_token:p.sessionToken,company_id:p.companyId,metadata:p.metadata,direction:GP};l.enqueue(v),e.waitUntil(l.waitUntilFlushed())}),t}o(QP,"MoesifInboundPolicy");Rn.MoesifInboundPolicy=QP});var kg=g(ba=>{"use strict";Object.defineProperty(ba,"__esModule",{value:!0});ba.OktaJwtInboundPolicy=void 0;var YP=Ut(),ZP=o(async(t,e,r,n)=>(0,YP.OpenIdJwtInboundPolicy)(t,e,{issuer:r.issuerUrl,audience:r.audience,jwkUrl:`${r.issuerUrl}/v1/keys`,allowUnauthenticatedRequests:r.allowUnauthenticatedRequests},n),"OktaJwtInboundPolicy");ba.OktaJwtInboundPolicy=ZP});var Fg=g(Ea=>{"use strict";Object.defineProperty(Ea,"__esModule",{value:!0});Ea.PropelAuthJwtInboundPolicy=void 0;var XP=(fs(),Bi(hs)),eR=Ut(),Gd,tR=o(async(t,e,r,n)=>{if(!Gd)try{Gd=await(0,XP.importSPKI)(r.verifierKey,"RS256")}catch(i){throw e.log.error("Could not import verifier key"),i}return(0,eR.OpenIdJwtInboundPolicy)(t,e,{issuer:r.authUrl,secret:Gd,allowUnauthenticatedRequests:r.allowUnauthenticatedRequests,subPropertyName:"user_id"},n)},"PropelAuthJwtInboundPolicy");Ea.PropelAuthJwtInboundPolicy=tR});var Hg=g(G=>{"use strict";Object.defineProperty(G,"__esModule",{value:!0});G.throwIfStateNotObject=G.throwIfStateNotNumber=G.throwIfStateNotString=G.throwIfStateUndefinedOrNull=G.throwIfStateUndefined=G.throwIfOptionNotObject=G.throwIfOptionNotNumber=G.throwIfOptionNotString=G.throwIfOptionUndefinedOrNull=G.throwIfOptionUndefined=G.OptionTypeError=G.OptionUndefinedError=G.throwIfNotNumber=G.throwIfNotString=G.throwIfUndefinedOrNull=G.throwIfUndefined=G.ArgumentTypeError=G.ArgumentUndefinedError=G.ValidationError=void 0;var $e=Br(),et=class extends Error{static{o(this,"ValidationError")}constructor(e){super(e)}};G.ValidationError=et;var bi=class extends et{static{o(this,"ArgumentUndefinedError")}constructor(e){super(`The argument '${e}' is undefined.`)}};G.ArgumentUndefinedError=bi;var Ei=class extends et{static{o(this,"ArgumentTypeError")}constructor(e,r){super(`The argument '${e}' must be of type '${r}'.`)}};G.ArgumentTypeError=Ei;function rR(t,e){if((0,$e.isUndefined)(t))throw new bi(e)}o(rR,"throwIfUndefined");G.throwIfUndefined=rR;function Bd(t,e){if((0,$e.isUndefinedOrNull)(t))throw new bi(e)}o(Bd,"throwIfUndefinedOrNull");G.throwIfUndefinedOrNull=Bd;function nR(t,e){if(Bd(t,e),!(0,$e.isString)(t))throw new Ei(e,"string")}o(nR,"throwIfNotString");G.throwIfNotString=nR;function iR(t,e){if(Bd(t,e),!(0,$e.isNumber)(t))throw new Ei(e,"number")}o(iR,"throwIfNotNumber");G.throwIfNotNumber=iR;var wi=class extends et{static{o(this,"OptionUndefinedError")}constructor(e,r,n){super(`The option '${n}' on the ${e} named '${r}' is undefined.`)}};G.OptionUndefinedError=wi;var On=class extends et{static{o(this,"OptionTypeError")}constructor(e,r,n,i){super(`The option '${n}' on the ${e} named '${r}' must be of type '${i}'.`)}};G.OptionTypeError=On;function oR(t,e,r,n){if((0,$e.isUndefined)(n))throw new wi(t,e,r)}o(oR,"throwIfOptionUndefined");G.throwIfOptionUndefined=oR;function wa(t,e,r,n){if((0,$e.isUndefinedOrNull)(n))throw new wi(t,e,r)}o(wa,"throwIfOptionUndefinedOrNull");G.throwIfOptionUndefinedOrNull=wa;function sR(t,e,r,n){if(wa(t,e,r,n),!(0,$e.isString)(n))throw new On(t,e,r,"string")}o(sR,"throwIfOptionNotString");G.throwIfOptionNotString=sR;function aR(t,e,r,n){if(wa(t,e,r,n),!(0,$e.isNumber)(n))throw new On(t,e,r,"number")}o(aR,"throwIfOptionNotNumber");G.throwIfOptionNotNumber=aR;function cR(t,e,r,n){if(wa(t,e,r,n),!(0,$e.isObject)(n))throw new On(t,e,r,"object")}o(cR,"throwIfOptionNotObject");G.throwIfOptionNotObject=cR;function uR(t,e){if((0,$e.isUndefined)(t))throw new et(e)}o(uR,"throwIfStateUndefined");G.throwIfStateUndefined=uR;function va(t,e){if((0,$e.isUndefinedOrNull)(t))throw new et(e)}o(va,"throwIfStateUndefinedOrNull");G.throwIfStateUndefinedOrNull=va;function lR(t,e){if(va(t,e),!(0,$e.isString)(t))throw new et(e);return!0}o(lR,"throwIfStateNotString");G.throwIfStateNotString=lR;function dR(t,e){if(va(t,e),!(0,$e.isNumber)(t))throw new et(e);return!0}o(dR,"throwIfStateNotNumber");G.throwIfStateNotNumber=dR;function pR(t,e){if(va(t,e),!(0,$e.isObject)(t))throw new et(e);return!0}o(pR,"throwIfStateNotObject");G.throwIfStateNotObject=pR});var qg=g(xn=>{"use strict";Object.defineProperty(xn,"__esModule",{value:!0});xn.InMemoryRedisClient=xn.StandardRedisClient=void 0;var Kd=D(),Ta=Hg(),Jd=class t{static{o(this,"StandardRedisClient")}static instance;redisClientUrl;clientAuthToken;userAgent;deploymentName;constructor(e,r,n,i){this.redisClientUrl=e,this.clientAuthToken=r,this.deploymentName=n,this.userAgent=i}static initialize(e,r,n,i){return(0,Ta.throwIfNotString)(e,"redisClientUrl"),(0,Ta.throwIfNotString)(r,"clientAuthToken"),t.instance||(t.instance=new t(e,r,n,i)),t.instance}isEnabled(){return this.redisClientUrl!==void 0&&this.clientAuthToken!==void 0}async fetch({url:e,body:r,method:n,requestId:i}){(0,Ta.throwIfNotString)(e,"url");let s=await fetch(`${this.redisClientUrl}${e}`,{method:n,body:r,headers:{"content-type":"application/json",authorization:`Bearer ${this.clientAuthToken}`,"zp-rid":i,"zp-dn":this.deploymentName,"User-Agent":this.userAgent}}),a=s.headers.get("Content-Type")?.includes("application/json")?await s.json():await s.text();if(s.ok)return a;throw s.status===401?new Kd.SystemError("Redis client failed with 401: Unauthorized"):new Kd.SystemError(`Redis client failed with (${s.status}): ${typeof a=="string"?a:JSON.stringify(a,null,2)}`)}};xn.StandardRedisClient=Jd;var zd=class{static{o(this,"InMemoryRedisClient")}keyValueStore;constructor(){this.keyValueStore=new Map}isEnabled(){return!0}fetch({url:e,body:r,method:n}){if((0,Ta.throwIfNotString)(e,"url"),n==="POST"&&e==="/rate-limit"){let{incrBy:i,expire:s,key:a}=JSON.parse(r),c=Date.now()+s*1e3,u=this.keyValueStore.get(a);u?Date.now()>u.expiresAt?this.keyValueStore.set(a,{value:i,expiresAt:c}):this.keyValueStore.set(a,{value:u.value+i,expiresAt:u.expiresAt}):this.keyValueStore.set(a,{value:i,expiresAt:c});let l=this.keyValueStore.get(a);return Promise.resolve({count:l.value,ttlSeconds:Math.round((l.expiresAt-Date.now())/1e3)})}throw new Kd.SystemError("The in-memory redis client only supports /rate-limit calls")}};xn.InMemoryRedisClient=zd});var Bg=g(Aa=>{"use strict";Object.defineProperty(Aa,"__esModule",{value:!0});Aa.RateLimitInboundPolicy=void 0;var hR=Er(),fR=ke(),mR=ur(),Mt=D(),yR=ve(),$g=Ge(),vi=te(),jg=qg(),Vg=Br(),Sa=(0,hR.debug)("zuplo:policies:RateLimitInboundPolicy"),gR="strict",_R=o(t=>{let e=t.headers.get("cf-connecting-ip")??t.headers.get("true-client-ip");if(e)return e;let r=t.headers.get("x-forwarded-for");return r?r.split(",")[0]:"127.0.0.1"},"getRealIP"),bR=o(async t=>({key:`ip-${_R(t)}`}),"getIP"),ER=o(async t=>({key:`user-${t.user?.sub??"anonymous"}`}),"getUser"),wR=o(async()=>({key:"all-2d77ce9d-9a3c-4206-9ab2-668cfd271095"}),"getAll"),Ia;function vR(t,e){let r;if(Ia)return Ia;if(vi.Environment.instance.isLocalDevelopment)return e.info("Using in-memory redis client for local development."),r=new jg.InMemoryRedisClient,Ia=r,r;let{authApiJWT:n,redisURL:i}=vi.Environment.instance;if(!(0,Vg.isString)(i))throw new Mt.SystemError(`RateLimitInboundPolicy '${t}' - rate limit service URL not configured`);if(!(0,Vg.isString)(n))throw new Mt.SystemError(`RateLimitInboundPolicy '${t}' - service authentication not configured`);if(i&&(r=jg.StandardRedisClient.initialize(i,n,vi.Environment.instance.deploymentName??"unknown",vi.Environment.instance.systemUserAgent)),!r||!r.isEnabled())throw new Mt.SystemError(`RateLimitInboundPolicy '${t}' - no redis ('${r}') or redis.isEnabled ('${r?.isEnabled}) is false`);return Ia=r,r}o(vR,"getRedisClient");async function Gg(t,e,r,n,i){let s=Math.floor(e*60);return await r.fetch({url:"/rate-limit",method:"POST",body:JSON.stringify({incrBy:1,expire:s,key:t}),requestId:i})}o(Gg,"getCountAndUpdateExpiry");function TR(t,e){let r;if(t.rateLimitBy==="function"){if(!t.identifier)throw new Mt.ConfigurationError(`RateLimitInboundPolicy '${e}' - If rateLimitBy set to 'function' options.identifier must be specified`);if(!t.identifier.module)throw new Mt.ConfigurationError(`RateLimitInboundPolicy '${e}' - If rateLimitBy set to 'function' options.identifier.module must be specified`);if(!t.identifier.export)throw new Mt.ConfigurationError(`RateLimitInboundPolicy '${e}' - If rateLimitBy set to 'function' options.identifier.export must be specified`);if(r=t.identifier.module[t.identifier.export],!r||typeof r!="function")throw new Mt.ConfigurationError(`RateLimitInboundPolicy '${e}' - Custom rate limit function must be a valid function`)}return o(async(i,s,a)=>{let c=await r(i,s,a);if(!c.key){let u=`RateLimitInboundPolicy '${a}' - Custom rate limit function must return a valid key property '${JSON.stringify(c,null,2)}'`;throw s.log.error(u),new Mt.RuntimeError(u)}return c},"outerFunction")}o(TR,"wrapUserFunction");var SR="Retry-After",IR=o(async(t,e,r,n)=>{let i=Date.now(),s=$g.SystemLogMap.getLogger(e),a=o((u,l)=>{if(r.throwOnFailure)throw new Mt.SystemError(u,{cause:l});s.error(u,l)},"throwOrLog"),c=o((u,l)=>{let d={};return(!u||u==="retry-after")&&(d[SR]=l.toString()),yR.HttpProblems.tooManyRequests(t,e,void 0,d)},"rateLimited");try{let l={function:TR(r,n),user:ER,ip:bR,all:wR}[r.rateLimitBy],d=await l(t,e,n),p=d.key,m=d.requestsAllowed??r.requestsAllowed,f=d.timeWindowMinutes??r.timeWindowMinutes,y=r.headerMode??"retry-after",v=vR(n,s),I=`bucket/${vi.Environment.instance.build.BUILD_ID}/${n}/${p}`;if((r.mode??gR)==="async"){let x=new fR.ZoneCache((0,mR.getPolicyCacheName)(n),{logger:$g.SystemLogMap.getLogger(e)}),oe=Gg(I,f,v,s,e.requestId),ee=await x.get(I);if(ee!==void 0&&ee<=Date.now()){Sa(`RateLimitInboundPolicy '${n}' - returning 429 from cache for '${I}' (async mode)`);let fe=Math.round((ee-Date.now())/1e3);return c(y,fe)}return e.addEventListener("responseSending",fe=>{try{let Me=fe,E=Me.mutableResponse;Me.mutableResponse=(async()=>{let F=await oe;if(F.count>m){let Ye=Date.now()+F.ttlSeconds*1e3;return x.put(I,Ye,F.ttlSeconds).catch(Vi=>{throw s.error(Vi),Vi}),Sa(`RateLimitInboundPolicy '${n}' - returning 429 from redis for '${I}' (async mode)`),c(y,F.ttlSeconds)}return E})()}catch(Me){s.error(`RateLimitInboundPolicy '${n}' -error in responseSending`,Me)}}),t}let j=await Gg(I,f,v,s,e.requestId);return j.count>m?(Sa(`RateLimitInboundPolicy '${n}' - returning 429 from redis for '${I}' (strict mode)`),c(y,j.ttlSeconds)):t}catch(u){return a(u.message,u),t}finally{let u=Date.now()-i;Sa(`RateLimitInboundPolicy '${n}' - latency ${u}ms`)}},"RateLimitInboundPolicy");Aa.RateLimitInboundPolicy=IR});var Wg=g(Pa=>{"use strict";Object.defineProperty(Pa,"__esModule",{value:!0});Pa.ReadmeMetricsInboundPolicy=void 0;var AR=we(),Wd=te(),Kg=ta(),Qd;function Jg(t){let e=[];for(let[r,n]of t)e.push({name:r,value:n});return e}o(Jg,"headersToNameValuePairs");function PR(t){let e=[];return Object.entries(t).forEach(([r,n])=>{e.push({name:r,value:n})}),e}o(PR,"queryToNameValueParis");function RR(t){if(t===null)return;let e=parseFloat(t);if(!isNaN(e))return e}o(RR,"parseIntOrUndefined");var zg={};async function OR(t,e,r,n){let i=new Date,s=Date.now();return Qd||(Qd={name:"zuplo",version:Wd.Environment.instance.build.ZUPLO_VERSION,comment:`zuplo/${Wd.Environment.instance.build.ZUPLO_VERSION}`}),e.addResponseSendingFinalHook(async a=>{try{let c=r.userLabelPropertyPath&&t.user?(0,Kg.getValueFromRequestUser)(t.user,r.userLabelPropertyPath,"userLabelPropertyPath"):t.user?.sub,u=r.userEmailPropertyPath&&t.user?(0,Kg.getValueFromRequestUser)(t.user,r.userEmailPropertyPath,"userEmailPropertyPath"):void 0,l={clientIPAddress:t.headers.get("true-client-ip")??"",development:r.development!==void 0?r.development:Wd.Environment.instance.isDeno,group:{label:c,email:u,id:t.user?.sub??"anonymous"},request:{log:{creator:Qd,entries:[{startedDateTime:i.toISOString(),time:Date.now()-s,request:{method:t.method,url:r.useFullRequestPath?new URL(t.url).pathname:e.route.path,httpVersion:"2",headers:Jg(t.headers),queryString:PR(t.query)},response:{status:a.status,statusText:a.statusText,headers:Jg(a.headers),content:{size:RR(t.headers.get("content-length"))}}}]}}},d=zg[r.apiKey];if(!d){let p=r.apiKey;d=new AR.BatchDispatch("readme-metering-inbound-policy",10,async m=>{try{let f=r.url??"https://metrics.readme.io/request",y=await fetch(f,{method:"POST",body:JSON.stringify(m),headers:{"content-type":"application/json",authorization:`Basic ${btoa(p+":")}`}});y.status!==202&&e.log.error(`Unexpected response in ReadmeMeteringInboundPolicy '${n}'. ${y.status}: '${await y.text()}'`)}catch(f){throw e.log.error(`Error in ReadmeMeteringInboundPolicy '${n}': '${f.message}'`),f}}),zg[p]=d}d.enqueue(l),e.waitUntil(d.waitUntilFlushed())}catch(c){e.log.error(c)}}),t}o(OR,"ReadmeMetricsInboundPolicy");Pa.ReadmeMetricsInboundPolicy=OR});var Qg=g(Ra=>{"use strict";Object.defineProperty(Ra,"__esModule",{value:!0});Ra.RemoveHeadersInboundPolicy=void 0;var xR=ke(),NR=D(),CR=o(async(t,e,r,n)=>{let i=r?.headers;if(!i||!Array.isArray(i)||i.length===0)throw new NR.ConfigurationError(`RemoveHeadersInboundPolicy '${n}' options.headers must be a non-empty string array of header names`);let s=new Headers(t.headers);return i.forEach(c=>{s.delete(c)}),new xR.ZuploRequest(t,{headers:s})},"RemoveHeadersInboundPolicy");Ra.RemoveHeadersInboundPolicy=CR});var Yg=g(Oa=>{"use strict";Object.defineProperty(Oa,"__esModule",{value:!0});Oa.RemoveHeadersOutboundPolicy=void 0;var LR=D(),DR=o(async(t,e,r,n,i)=>{let s=n?.headers;if(!s||!Array.isArray(s)||s.length===0)throw new LR.ConfigurationError(`RemoveHeadersOutboundPolicy '${i}' options.headers must be a non-empty string array of header names`);let a=new Headers(t.headers);return s.forEach(u=>{a.delete(u)}),new Response(t.body,{headers:a,status:t.status,statusText:t.statusText})},"RemoveHeadersOutboundPolicy");Oa.RemoveHeadersOutboundPolicy=DR});var Zg=g(xa=>{"use strict";Object.defineProperty(xa,"__esModule",{value:!0});xa.RemoveQueryParamsInboundPolicy=void 0;var UR=ke(),MR=D(),kR=o(async(t,e,r,n)=>{let i=r.params;if(!i||!Array.isArray(i)||i.length===0)throw new MR.ConfigurationError(`RemoveQueryParamsInboundPolicy '${n}' options.params must be a non-empty string array of header names`);let s=new URL(t.url);return i.forEach(c=>{s.searchParams.delete(c)}),new UR.ZuploRequest(s.toString(),t)},"RemoveQueryParamsInboundPolicy");xa.RemoveQueryParamsInboundPolicy=kR});var Xg=g(Na=>{"use strict";Object.defineProperty(Na,"__esModule",{value:!0});Na.ReplaceStringOutboundPolicy=void 0;var FR=o(async(t,e,r,n)=>{let i=await t.text(),s=n.mode==="regexp"?new RegExp(n.match,"gm"):n.match,a=i.replaceAll(s,n.replaceWith);return new Response(a,{headers:t.headers,status:t.status,statusText:t.statusText})},"ReplaceStringOutboundPolicy");Na.ReplaceStringOutboundPolicy=FR});var t_=g(Ca=>{"use strict";Object.defineProperty(Ca,"__esModule",{value:!0});Ca.RequestSizeLimitInboundPolicy=void 0;var e_=o(()=>new Response("Maximum request size exceeded",{status:413,statusText:"Payload Too Large"}),"payloadTooLarge"),HR=o(async(t,e,r)=>{let n=r.trustContentLengthHeader??!1;if(["GET","HEAD"].includes(t.method))return t;let i=t.headers.get("content-length"),s=i!==null?parseInt(i):void 0;return s&&!isNaN(s)&&s>r.maxSizeInBytes?e_():s&&n?t:(await t.clone().text()).length>r.maxSizeInBytes?e_():t},"RequestSizeLimitInboundPolicy");Ca.RequestSizeLimitInboundPolicy=HR});var La=g(tt=>{"use strict";Object.defineProperty(tt,"__esModule",{value:!0});tt.sanitizedIdentifierName=tt.getIdForRefSchema=tt.getIdForRequestBodySchema=tt.getIdForParameterSchema=tt.getRawOperationDataIdentifierName=void 0;function qR(t,e,r){return`_${Cr(t+"_"+e+"_"+r)}`}o(qR,"getRawOperationDataIdentifierName");tt.getRawOperationDataIdentifierName=qR;function $R(t,e,r,n){return`_${Cr(t.toLowerCase())}_`+e.toLowerCase()+"_"+r.toLowerCase()+`_${n.toLowerCase()}`}o($R,"getIdForParameterSchema");tt.getIdForParameterSchema=$R;function jR(t,e,r){return`_${Cr(t.toLowerCase())}_`+e.toLowerCase()+`_rb_${Cr(r.toLowerCase())}`}o(jR,"getIdForRequestBodySchema");tt.getIdForRequestBodySchema=jR;function VR(t,e){return`_${Cr(t)}__${Cr(e)}`}o(VR,"getIdForRefSchema");tt.getIdForRefSchema=VR;function Cr(t){let e=[];for(let r=0;r<t.length;r++){let n=t.charCodeAt(r);n>="0".charCodeAt(0)&&n<="9".charCodeAt(0)||n>="A".charCodeAt(0)&&n<="Z".charCodeAt(0)||n>="a".charCodeAt(0)&&n<="z".charCodeAt(0)?e.push(t.charAt(r)):e.push("_")}return e.join("")}o(Cr,"sanitizedIdentifierName");tt.sanitizedIdentifierName=Cr});var Ti=g(Ce=>{"use strict";Object.defineProperty(Ce,"__esModule",{value:!0});Ce.getErrorsFromValidator=Ce.shouldReject=Ce.shouldLog=Ce.logErrors=Ce.validateParameters=Ce.getParametersForOperation=void 0;var GR=un(),Da=Lr(),BR=La(),KR=o(t=>{let e=t.route.raw();return e.parameters?e.parameters.map(n=>({name:n.name,location:n.in,required:n.required,deprecated:n.deprecated,allowEmptyValue:n.allowEmptyValue})):[]},"getParametersForOperation");Ce.getParametersForOperation=KR;var JR=o((t,e,r,n,i)=>{let s=[],a=!0,c=[];return t.forEach(u=>{if(u.required&&!e[u.name])a=!1,s.push(`Required ${i} parameter '${u.name}' not found`);else{let l=(0,BR.getIdForParameterSchema)(r,n,i,u.name),d=GR.Gateway.instance.schemaValidator[l],p=d(e[u.name]),m=(0,Ce.getErrorsFromValidator)(d.errors);p||(a=!1,c.push(`${i} parameter: ${u.name} : ${e[u.name]}`),s.push(`Invalid value for ${i} parameter: '${u.name}' ${m.join(", ")}`))}}),{isValid:a,invalidValues:c,errors:s}},"validateParameters");Ce.validateParameters=JR;var zR=o((t,e,r,n,i)=>{n?t.log[e](r,n,i):t.log[e](r,i)},"logErrors");Ce.logErrors=zR;var WR=o(t=>t===Da.ValidationOptions.logOnly||t===Da.ValidationOptions.rejectAndLog,"shouldLog");Ce.shouldLog=WR;var QR=o(t=>t===Da.ValidationOptions.rejectOnly||t===Da.ValidationOptions.rejectAndLog,"shouldReject");Ce.shouldReject=QR;var YR=o(t=>t?.map(e=>e.instancePath===void 0||e.instancePath===""?e.message??"Unknown validation error":e.instancePath.replace("/","")+" "+e.message)??["Unknown validation error"],"getErrorsFromValidator");Ce.getErrorsFromValidator=YR});var r_=g(Ma=>{"use strict";Object.defineProperty(Ma,"__esModule",{value:!0});Ma.handleBodyValidation=void 0;var ZR=un(),XR=Lr(),Ua=ve(),e0=La(),Ke=Ti();async function t0(t,e,r){if(!r.validateBody||r.validateBody===XR.ValidationOptions.none)return;let n;try{n=await e.clone().json()}catch(f){let y=`Error in request body for method : ${e.method} in route: ${t.route.path} with content-type: ${e.headers.get("Content-Type")}`,v=Ua.HttpProblems.badRequest(e,t,{detail:`${y}, see errors property for more details`,errors:`${f}`});if((0,Ke.shouldLog)(r.validateBody)&&(0,Ke.logErrors)(t,r.logLevel??"info",y,[n],f),(0,Ke.shouldReject)(r.validateBody))return v}if(!e.headers.get("Content-Type")){let f=`No content-type header defined in incoming request to ${e.method} in route: ${t.route.path}`,y=Ua.HttpProblems.badRequest(e,t,{detail:f});return(0,Ke.shouldLog)(r.validateBody)&&(0,Ke.logErrors)(t,r.logLevel??"info",f,[n],[f]),(0,Ke.shouldReject)(r.validateBody)?y:void 0}let i=e.headers.get("Content-Type"),s=i.indexOf(";");s>-1&&(i=i.substring(0,s));let a=(0,e0.getIdForRequestBodySchema)(t.route.path,e.method,i),c=ZR.Gateway.instance.schemaValidator[a];if(!c){let f=`No schema defined for method: ${e.method} in route: ${t.route.path} with content-type: ${e.headers.get("Content-Type")}`,y=Ua.HttpProblems.badRequest(e,t,{detail:f});return(0,Ke.shouldLog)(r.validateBody)&&(0,Ke.logErrors)(t,r.logLevel??"info",f,[n],[f]),(0,Ke.shouldReject)(r.validateBody)?y:void 0}if(c(n))return;let l=c.errors,d="Request body did not pass validation",p=(0,Ke.getErrorsFromValidator)(l),m=Ua.HttpProblems.badRequest(e,t,{detail:`${d}, see errors property for more details`,errors:p});if((0,Ke.shouldLog)(r.validateBody)&&(0,Ke.logErrors)(t,r.logLevel??"info",d,[n],p),(0,Ke.shouldReject)(r.validateBody))return m}o(t0,"handleBodyValidation");Ma.handleBodyValidation=t0});var n_=g(ka=>{"use strict";Object.defineProperty(ka,"__esModule",{value:!0});ka.handleHeadersValidation=void 0;var r0=Lr(),n0=ve(),Si=Ti();function i0(t,e,r){if(!r.validateHeaders||r.validateHeaders===r0.ValidationOptions.none)return;let n={};e.headers.forEach((a,c)=>{n[c]=a});let i=(0,Si.getParametersForOperation)(t),s=(0,Si.validateParameters)(i.filter(a=>a.location==="header"),n,t.route.path,e.method.toLowerCase(),"header");if(!s.isValid){let a="Header validation failed",c=n0.HttpProblems.badRequest(e,t,{detail:`${a}, see errors property for more details`,errors:s.errors});if((0,Si.shouldLog)(r.validateHeaders)&&(0,Si.logErrors)(t,r.logLevel??"info",a,s.invalidValues,s.errors),(0,Si.shouldReject)(r.validateHeaders))return c}}o(i0,"handleHeadersValidation");ka.handleHeadersValidation=i0});var i_=g(Fa=>{"use strict";Object.defineProperty(Fa,"__esModule",{value:!0});Fa.handlePathParameterValidation=void 0;var o0=Lr(),s0=ve(),Ii=Ti();function a0(t,e,r){if(!r.validatePathParameters||r.validatePathParameters===o0.ValidationOptions.none)return;let n=(0,Ii.getParametersForOperation)(t),i=(0,Ii.validateParameters)(n.filter(s=>s.location==="path"),e.params,t.route.path,e.method.toLowerCase(),"path");if(!i.isValid){let s="Path parameters validation failed",a=s0.HttpProblems.badRequest(e,t,{detail:`${s}, see errors property for more details`,errors:i.errors});if((0,Ii.shouldLog)(r.validatePathParameters)&&(0,Ii.logErrors)(t,r.logLevel??"info",s,i.invalidValues,i.errors),(0,Ii.shouldReject)(r.validatePathParameters))return a}}o(a0,"handlePathParameterValidation");Fa.handlePathParameterValidation=a0});var o_=g(Ha=>{"use strict";Object.defineProperty(Ha,"__esModule",{value:!0});Ha.handleQueryParameterValidation=void 0;var c0=Lr(),u0=ve(),Ai=Ti();function l0(t,e,r){if(!r.validateQueryParameters||r.validateQueryParameters===c0.ValidationOptions.none)return;let n=(0,Ai.getParametersForOperation)(t),i=(0,Ai.validateParameters)(n.filter(s=>s.location==="query"),e.query,t.route.path,e.method.toLowerCase(),"query");if(!i.isValid){let s="Query parameters validation failed",a=u0.HttpProblems.badRequest(e,t,{detail:`${s}, see errors property for more details`,errors:i.errors});if((0,Ai.shouldLog)(r.validateQueryParameters)&&(0,Ai.logErrors)(t,r.logLevel??"info",s,i.invalidValues,i.errors),(0,Ai.shouldReject)(r.validateQueryParameters))return a}}o(l0,"handleQueryParameterValidation");Ha.handleQueryParameterValidation=l0});var Lr=g(kt=>{"use strict";Object.defineProperty(kt,"__esModule",{value:!0});kt.SchemaBasedRequestValidation=kt.RequestValidationInboundPolicy=kt.ValidationOptions=void 0;var d0=r_(),p0=n_(),h0=i_(),f0=o_(),s_;(function(t){t.none="none",t.logOnly="log-only",t.rejectAndLog="reject-and-log",t.rejectOnly="reject-only"})(s_||(kt.ValidationOptions=s_={}));var m0=o(async(t,e,r)=>{let n=(0,f0.handleQueryParameterValidation)(e,t,r);if(n!==void 0||(n=(0,h0.handlePathParameterValidation)(e,t,r),n!==void 0)||(n=(0,p0.handleHeadersValidation)(e,t,r),n!==void 0))return n;let i=await(0,d0.handleBodyValidation)(e,t,r);return i!==void 0?i:t},"RequestValidationInboundPolicy");kt.RequestValidationInboundPolicy=m0;kt.SchemaBasedRequestValidation=kt.RequestValidationInboundPolicy});var a_=g(qa=>{"use strict";Object.defineProperty(qa,"__esModule",{value:!0});qa.RequireOriginInboundPolicy=void 0;var y0=ke(),g0=D(),_0=o(async(t,e,r,n)=>{if(r.origins===void 0||r.origins.length===0)throw new g0.ConfigurationError(`RequireOriginInboundPolicy '${n}' configuration error - no allowed origins specified`);let i=typeof r.origins=="string"?r.origins.split(","):r.origins;i=i.map(a=>a.trim());let s=t.headers.get("origin");if(!s||!i.includes(s)){let a=r.failureDetail??"Forbidden";return y0.HttpProblems.forbidden(t,e,{detail:a})}return t},"RequireOriginInboundPolicy");qa.RequireOriginInboundPolicy=_0});var c_=g($a=>{"use strict";Object.defineProperty($a,"__esModule",{value:!0});$a.SetBodyInboundPolicy=void 0;var b0=ke(),E0=o(async(t,e,r)=>new b0.ZuploRequest(t,{body:r.body}),"SetBodyInboundPolicy");$a.SetBodyInboundPolicy=E0});var l_=g(ja=>{"use strict";Object.defineProperty(ja,"__esModule",{value:!0});ja.SetHeadersInboundPolicy=void 0;var w0=ke(),u_=D(),v0=o(async(t,e,r,n)=>{let i=r.headers;if(!i||!Array.isArray(i)||i.length==0)throw new u_.ConfigurationError(`SetHeadersInboundPolicy '${n}' options.headers must be a valid array of { name, value }`);let s=new Headers(t.headers);return i.forEach(c=>{if(!c.name||c.name.length===0)throw new u_.ConfigurationError(`SetHeadersInboundPolicy '${n}' each option.headers[] entry must have a name property`);let u=c.overwrite===void 0?!0:c.overwrite;(!s.has(c.name)||u)&&s.set(c.name,c.value)}),new w0.ZuploRequest(t,{headers:s})},"SetHeadersInboundPolicy");ja.SetHeadersInboundPolicy=v0});var p_=g(Va=>{"use strict";Object.defineProperty(Va,"__esModule",{value:!0});Va.SetHeadersOutboundPolicy=void 0;var d_=D(),T0=o(async(t,e,r,n,i)=>{let s=n.headers;if(!s||!Array.isArray(s)||s.length==0)throw new d_.ConfigurationError(`SetHeadersOutboundPolicy '${i}' options.headers must be a valid array of { name, value }`);let a=new Headers(t.headers);return s.forEach(u=>{if(!u.name||u.name.length===0)throw new d_.ConfigurationError(`SetHeadersOutboundPolicy '${i}' each option.headers[] entry must have a name property`);let l=u.overwrite===void 0?!0:u.overwrite;(!a.has(u.name)||l)&&a.set(u.name,u.value)}),new Response(t.body,{headers:a,status:t.status,statusText:t.statusText})},"SetHeadersOutboundPolicy");Va.SetHeadersOutboundPolicy=T0});var f_=g(Ga=>{"use strict";Object.defineProperty(Ga,"__esModule",{value:!0});Ga.SetQueryParamsInboundPolicy=void 0;var S0=ke(),h_=D(),I0=o(async(t,e,r,n)=>{let i=r.params;if(!i||!Array.isArray(i)||i.length==0)throw new h_.ConfigurationError(`SetQueryParamsInboundPolicy '${n}' options.params must be a valid array of { name, value }`);let s=new URL(t.url);return i.forEach(c=>{if(!c.name||c.name.length===0)throw new h_.ConfigurationError(`SetQueryParamsInboundPolicy '${n}' each option.params[] entry must have a name property`);let u=c.overwrite===void 0?!0:c.overwrite;(!s.searchParams.has(c.name)||u)&&s.searchParams.set(c.name,c.value)}),new S0.ZuploRequest(s.toString(),t)},"SetQueryParamsInboundPolicy");Ga.SetQueryParamsInboundPolicy=I0});var m_=g(Ba=>{"use strict";Object.defineProperty(Ba,"__esModule",{value:!0});Ba.SetStatusOutboundPolicy=void 0;var A0=o(async(t,e,r,n,i)=>{if(!n.status||isNaN(n.status)||n.status<100||n.status>599)throw new Error(`Invalid SetStatusOutboundPolicy '${i}' - status must be a valid number between 100 and 599, not '${n.status}'`);return new Response(t.body,{headers:t.headers,status:n.status,statusText:n.statusText??t.statusText})},"SetStatusOutboundPolicy");Ba.SetStatusOutboundPolicy=A0});var y_=g(Ka=>{"use strict";Object.defineProperty(Ka,"__esModule",{value:!0});Ka.SleepInboundPolicy=void 0;var P0=D(),R0=o(async t=>new Promise((r,n)=>{setTimeout(r,t)}),"sleep"),O0=o(async(t,e,r,n)=>{if(!r||r.sleepInMs===void 0||isNaN(r.sleepInMs))throw new P0.ConfigurationError(`SleepInboundPolicy '${n} must have a valid options.sleepInMs value`);return await R0(r.sleepInMs),t},"SleepInboundPolicy");Ka.SleepInboundPolicy=O0});var __=g(Ja=>{"use strict";Object.defineProperty(Ja,"__esModule",{value:!0});Ja.SupabaseJwtInboundPolicy=void 0;var x0=ke(),g_=D(),N0=ve(),C0=lr(),L0=Ut(),D0=o(async(t,e,r,n)=>{(0,C0.optionValidator)(r,n).required("secret","string").optional("allowUnauthenticatedRequests","boolean").optional("requiredClaims","object");let i={secret:r.secret,allowUnauthenticatedRequests:r.allowUnauthenticatedRequests??!1},s=await(0,L0.OpenIdJwtInboundPolicy)(t,e,i,n);if(s instanceof Response)return s;if(!(s instanceof x0.ZuploRequest))throw new g_.SystemError("Invalid State - SupabaseJwtInboundPolicy encountered a non-response that wasn't a ZuploRequest type')");let a=r.requiredClaims;if(!a)return s;let c=t.user?.data.app_metadata;if(!c)throw new g_.RuntimeError(`SupabaseJwtInboundPolicy policy '${n}' - has requiredClaims but the JWT token had no app_metadata property`);let u=Object.keys(a),l=[];return u.forEach(d=>{let p=a[d];Array.isArray(p)?p.includes(c[d])||l.push(d):p!==c[d]&&l.push(d)}),l.length>0?N0.HttpProblems.unauthorized(t,e,{detail:`Invalid JWT token - missing valid claims ${l.join(", ")}`}):s},"SupabaseJwtInboundPolicy");Ja.SupabaseJwtInboundPolicy=D0});var E_=g(za=>{"use strict";Object.defineProperty(za,"__esModule",{value:!0});za.UpstreamAzureAdServiceAuthInboundPolicy=void 0;var U0=ur(),M0=_r(),b_=D(),k0=Ge(),F0=ys(),H0=lr(),q0=o(async(t,e,r,n)=>{(0,H0.optionValidator)(r,n).required("activeDirectoryTenantId","string").required("activeDirectoryClientId","string").required("activeDirectoryClientSecret","string").optional("tokenRetries","number").optional("expirationOffsetSeconds","number");let i=new M0.MemoryZoneReadThroughCache((0,U0.getPolicyCacheName)(n),{logger:k0.SystemLogMap.getLogger(e)}),s=await i.get(n);if(!s){let a=await $0(r,e);i.put(n,a.access_token,a.expires_in-(r.expirationOffsetSeconds??300)),s=a.access_token}return t.headers.set("Authorization",`Bearer ${s}`),t},"UpstreamAzureAdServiceAuthInboundPolicy");za.UpstreamAzureAdServiceAuthInboundPolicy=q0;async function $0(t,e){let r=new URLSearchParams({client_id:t.activeDirectoryClientId,scope:`${t.activeDirectoryClientId}/.default`,client_secret:t.activeDirectoryClientSecret,grant_type:"client_credentials"}),n=await(0,F0.fetchRetry)({retries:t.tokenRetries??3,retryDelayMs:10},`https://login.microsoftonline.com/${t.activeDirectoryTenantId}/oauth2/v2.0/token`,{headers:{"content-type":"application/x-www-form-urlencoded"},method:"POST",body:r});if(n.status!==200){try{let s=await n.text();e.log.error("Could not get token from Azure AD",s)}catch{}throw new b_.RuntimeError("Could not get token from Azure AD")}let i=await n.json();if(i&&typeof i=="object"&&"access_token"in i&&typeof i.access_token=="string"&&"expires_in"in i&&typeof i.expires_in=="number")return{access_token:i.access_token,expires_in:i.expires_in};throw new b_.RuntimeError("Response returned from Azure AD is not in the expected format.")}o($0,"getAccessToken")});var v_=g(Wa=>{"use strict";Object.defineProperty(Wa,"__esModule",{value:!0});Wa.UpstreamFirebaseAdminAuthInboundPolicy=void 0;var j0=ur(),V0=_r(),G0=D(),B0=Ge(),Yd=sn(),K0=lr(),w_="https://accounts.google.com/o/oauth2/token",Zd,J0=o(async(t,e,r,n)=>{(0,K0.optionValidator)(r,n).required("serviceAccountJson","string"),Zd||(Zd=await Yd.GcpServiceAccount.init(r.serviceAccountJson));let i={scope:["https://www.googleapis.com/auth/cloud-platform","https://www.googleapis.com/auth/firebase.database","https://www.googleapis.com/auth/firebase.messaging","https://www.googleapis.com/auth/identitytoolkit","https://www.googleapis.com/auth/userinfo.email"].join(" ")},s=new V0.MemoryZoneReadThroughCache((0,j0.getPolicyCacheName)(n),{logger:B0.SystemLogMap.getLogger(e)}),a=await s.get(n);if(!a){let c=await(0,Yd.getTokenFromGcpServiceAccount)({serviceAccount:Zd,audience:w_,payload:i}),u=await(0,Yd.exchangeGgpJwtForIdToken)(w_,c,{retries:r.tokenRetries??3,retryDelayMs:10});if(!u.access_token)throw new G0.RuntimeError("Invalid OAuth response from Firebase");a=u.access_token,s.put(n,a,(u.expires_in??3600)-(r.expirationOffsetSeconds??300))}return t.headers.set("Authorization",`Bearer ${a}`),t},"UpstreamFirebaseAdminAuthInboundPolicy");Wa.UpstreamFirebaseAdminAuthInboundPolicy=J0});var T_=g(Qa=>{"use strict";Object.defineProperty(Qa,"__esModule",{value:!0});Qa.sha256=void 0;async function z0(t){let e=new TextEncoder().encode(t),r=await crypto.subtle.digest({name:"SHA-256"},e);return[...new Uint8Array(r)].map(i=>i.toString(16).padStart(2,"0")).join("")}o(z0,"sha256");Qa.sha256=z0});var S_=g(Ya=>{"use strict";Object.defineProperty(Ya,"__esModule",{value:!0});Ya.UpstreamFirebaseUserAuthInboundPolicy=void 0;var W0=ur(),Q0=_r(),Nn=D(),Y0=Ge(),Z0=T_(),Xd=sn(),X0=ta(),eO=lr(),tO="https://identitytoolkit.googleapis.com/google.identity.identitytoolkit.v1.IdentityToolkit",rO=["acr","amr","at_hash","aud","auth_time","azp","cnf","c_hash","exp","iat","iss","jti","nbf","nonce"],ep,nO=o(async(t,e,r,n)=>{if((0,eO.optionValidator)(r,n).required("serviceAccountJson","string").required("webApiKey","string").optional("developerClaims","object").optional("userId","string").optional("userIdPropertyPath","string"),!r.userId&&!r.userIdPropertyPath)throw new Nn.ConfigurationError(`Either 'userId' or 'userIdPropertyPath' options must be set on policy '${n}'.`);let i={};if(typeof r.developerClaims<"u"){for(let d in r.developerClaims)if(Object.prototype.hasOwnProperty.call(r.developerClaims,d)){if(rO.indexOf(d)!==-1)throw new Nn.ConfigurationError(`Developer claim "${d}" is reserved and cannot be specified.`);i[d]=r.developerClaims[d]}}ep||(ep=await Xd.GcpServiceAccount.init(r.serviceAccountJson));let s=r.userId;if(!s&&!r.userIdPropertyPath){if(!t.user)throw new Nn.RuntimeError("Unable to set userId for upstream auth policy as request.user is 'undefined'. Do you have an authentication policy before this policy?.");s=t.user?.sub}else if(r.userIdPropertyPath){if(!t.user)throw new Nn.RuntimeError(`Unable to apply userIdPropertyPath '${r.userIdPropertyPath}' as request.user is 'undefined'. Do you have an authentication policy before this policy?`);s=(0,X0.getValueFromRequestUser)(t.user,r.userIdPropertyPath,"userIdPropertyPath")}if(!s)throw new Nn.RuntimeError(`Unable to determine user from for the policy ${n}`);let a=new Q0.MemoryZoneReadThroughCache((0,W0.getPolicyCacheName)(n),{logger:Y0.SystemLogMap.getLogger(e)}),c={uid:s,claims:i},u=await(0,Z0.sha256)(JSON.stringify(c)),l=await a.get(u);if(!l){let d=await(0,Xd.getTokenFromGcpServiceAccount)({serviceAccount:ep,audience:tO,payload:c}),p=`https://identitytoolkit.googleapis.com/v1/accounts:signInWithCustomToken?key=${r.webApiKey}`,m=await(0,Xd.exchangeFirebaseJwtForIdToken)(p,d,{retries:r.tokenRetries??3,retryDelayMs:10});if(!m.idToken)throw new Nn.RuntimeError("Invalid token response from Firebase");l=m.idToken,a.put(u,l,(m.expiresIn?parseInt(m.expiresIn):3600)-(r.expirationOffsetSeconds??300))}return t.headers.set("Authorization",`Bearer ${l}`),t},"UpstreamFirebaseUserAuthInboundPolicy");Ya.UpstreamFirebaseUserAuthInboundPolicy=nO});var A_=g(Za=>{"use strict";Object.defineProperty(Za,"__esModule",{value:!0});Za.UpstreamGcpJwtInboundPolicy=void 0;var I_=sn(),iO=lr(),tp,oO=o(async(t,e,r,n)=>{(0,iO.optionValidator)(r,n).required("audience","string").required("serviceAccountJson","string"),tp||(tp=await I_.GcpServiceAccount.init(r.serviceAccountJson));let i=await(0,I_.getTokenFromGcpServiceAccount)({serviceAccount:tp,audience:r.audience});return t.headers.set("Authorization",`Bearer ${i}`),t},"UpstreamGcpJwtInboundPolicy");Za.UpstreamGcpJwtInboundPolicy=oO});var O_=g(Xa=>{"use strict";Object.defineProperty(Xa,"__esModule",{value:!0});Xa.UpstreamGcpServiceAuthInboundPolicy=void 0;var P_=ur(),sO=Kc(),aO=_r(),cO=D(),rp=sn(),uO=lr(),R_="https://www.googleapis.com/oauth2/v4/token",np,lO=o(async(t,e,r,n)=>{(0,uO.optionValidator)(r,n).required("audience","string").required("serviceAccountJson","string").optional("tokenRetries","number").optional("expirationOffsetSeconds","number"),np||(np=await rp.GcpServiceAccount.init(r.serviceAccountJson));let i;r.useMemoryCacheOnly?i=new sO.MemoryCache((0,P_.getPolicyCacheName)(n)):i=new aO.MemoryZoneReadThroughCache((0,P_.getPolicyCacheName)(n),e);let s=await i.get(n);if(!s){let a=await(0,rp.getTokenFromGcpServiceAccount)({serviceAccount:np,audience:R_,payload:{target_audience:`${r.audience}`}}),{id_token:c}=await(0,rp.exchangeGgpJwtForIdToken)(R_,a,{retries:r.tokenRetries??3,retryDelayMs:10});if(!c)throw new cO.RuntimeError("Invalid token response from GCP");s=c,i.put(n,s,3600-(r.expirationOffsetSeconds??300))}return t.headers.set("Authorization",`Bearer ${s}`),t},"UpstreamGcpServiceAuthInboundPolicy");Xa.UpstreamGcpServiceAuthInboundPolicy=lO});var N_=g(ec=>{"use strict";Object.defineProperty(ec,"__esModule",{value:!0});ec.ValidateJsonSchemaInbound=void 0;var dO=D(),x_=ve(),pO=o(async(t,e,r)=>{let n=t.clone(),i;try{i=await n.json()}catch{return x_.HttpProblems.badRequest(t,e,{detail:"Invalid JSON body - expected well-formed JSON document"})}if(r.validator(i))return t;let{errors:a}=r.validator;if(!a)throw new dO.SystemError("Invalid state - validator error object is undefined even though validation failed.");let c=a.map(u=>u.instancePath===void 0||u.instancePath===""?"Body "+u.message:u.instancePath.replace("/","")+" "+u.message);return x_.HttpProblems.badRequest(t,e,{detail:"Incoming body did not pass schema validation",errors:c})},"ValidateJsonSchemaInbound");ec.ValidateJsonSchemaInbound=pO});var C_=g(dr=>{"use strict";Object.defineProperty(dr,"__esModule",{value:!0});dr.serialize=dr.ContentTypes=void 0;dr.ContentTypes={Json:"application/json",Form:"application/x-www-form-urlencoded"};function hO(t,e){if(t!==null)return e&&typeof t=="string"?t:typeof t=="object"&&e?.startsWith(dr.ContentTypes.Form)?new URLSearchParams(t).toString():typeof t=="object"&&e?.startsWith(dr.ContentTypes.Json)||!e?JSON.stringify(t):t}o(hO,"serialize");dr.serialize=hO});var L_=g(tc=>{"use strict";Object.defineProperty(tc,"__esModule",{value:!0});tc.ServiceProviderImpl=void 0;var fO=D(),ip=class t{static{o(this,"ServiceProviderImpl")}static#e;services=new Map;constructor(){}static getInstance(){return t.#e||(t.#e=new t),t.#e}setInstance(e){t.#e=e}addService(e,r){if(this.services.get(e))throw new fO.SystemError(`A service with the name ${e} already exists -- you cannot have duplicate services`);this.services.set(e,r)}getService(e){return this.services.get(e)}};tc.ServiceProviderImpl=ip});var D_=g(op=>{"use strict";Object.defineProperty(op,"__esModule",{value:!0});var mO={100:"Continue",101:"Switching Protocols",102:"Processing",103:"Early Hints",200:"OK",201:"Created",202:"Accepted",203:"Non-Authoritative Information",204:"No Content",205:"Reset Content",206:"Partial Content",207:"Multi-Status",208:"Already Reported",226:"IM Used",300:"Multiple Choices",301:"Moved Permanently",302:"Found",303:"See Other",304:"Not Modified",305:"Use Proxy",307:"Temporary Redirect",308:"Permanent Redirect",400:"Bad Request",401:"Unauthorized",402:"Payment Required",403:"Forbidden",404:"Not Found",405:"Method Not Allowed",406:"Not Acceptable",407:"Proxy Authentication Required",408:"Request Timeout",409:"Conflict",410:"Gone",411:"Length Required",412:"Precondition Failed",413:"Payload Too Large",414:"URI Too Long",415:"Unsupported Media Type",416:"Range Not Satisfiable",417:"Expectation Failed",418:"I'm a Teapot",421:"Misdirected Request",422:"Unprocessable Entity",423:"Locked",424:"Failed Dependency",425:"Too Early",426:"Upgrade Required",428:"Precondition Required",429:"Too Many Requests",431:"Request Header Fields Too Large",451:"Unavailable For Legal Reasons",500:"Internal Server Error",501:"Not Implemented",502:"Bad Gateway",503:"Service Unavailable",504:"Gateway Timeout",505:"HTTP Version Not Supported",506:"Variant Also Negotiates",507:"Insufficient Storage",508:"Loop Detected",509:"Bandwidth Limit Exceeded",510:"Not Extended",511:"Network Authentication Required"};op.default=mO});var ke=g(h=>{"use strict";var yO=h&&h.__createBinding||(Object.create?function(t,e,r,n){n===void 0&&(n=r);var i=Object.getOwnPropertyDescriptor(e,r);(!i||("get"in i?!e.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,n,i)}:function(t,e,r,n){n===void 0&&(n=r),t[n]=e[r]}),U_=h&&h.__exportStar||function(t,e){for(var r in t)r!=="default"&&!Object.prototype.hasOwnProperty.call(e,r)&&yO(e,t,r)},gO=h&&h.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(h,"__esModule",{value:!0});h.ReadmeMetricsInboundPolicy=h.RateLimitInboundPolicy=h.BasicRateLimitInboundPolicy=h.PropelAuthJwtInboundPolicy=h.OpenIdJwtInboundPolicy=h.OktaJwtInboundPolicy=h.setMoesifContext=h.MoesifInboundPolicy=h.MockApiInboundPolicy=h.JWTScopeValidationInboundPolicy=h.GeoFilterInboundPolicy=h.FormDataToJsonInboundPolicy=h.FirebaseJwtInboundPolicy=h.CompositeInboundPolicy=h.CognitoJwtInboundPolicy=h.ClerkJwtInboundPolicy=h.ClearHeadersOutboundPolicy=h.ClearHeadersInboundPolicy=h.ChangeMethodInboundPolicy=h.CachingInboundPolicy=h.BasicAuthInboundPolicy=h.Auth0JwtInboundPolicy=h.ApiKeyInboundPolicy=h.ApiAuthKeyInboundPolicy=h.AmberfloMeteringPolicy=h.AmberfloMeteringInboundPolicy=h.AuditLogPlugin=h.AuditLogDataStaxProvider=h.HttpStatusCode=h.webSocketPipelineHandler=h.webSocketHandler=h.urlRewriteHandler=h.urlForwardHandler=h.redirectHandler=h.openApiSpecHandler=h.awsLambdaHandler=h.AwsLambdaHandlerExtensions=h.purgeGatewayCache=h.Handler=h.originalFetch=h.ConfigurationError=h.isZuploReadableEnvVariableName=h.isRestrictedEnvVariableName=h.environment=h.ContextData=h.ResponseSentEvent=h.ResponseSendingEvent=h.VALID_COMPATIBILITY_DATES=h.ZoneCache=h.MemoryZoneReadThroughCache=void 0;h.sanitizedIdentifierName=h.getRawOperationDataIdentifierName=h.getIdForRequestBodySchema=h.getIdForRefSchema=h.getIdForParameterSchema=h.SystemLogMap=h.httpStatuses=h.SYSTEM_LOGGER=h.API_KEY=h.ServiceProviderImpl=h.serialize=h.ContentTypes=h.Router=h.LookupResult=h.SystemRouteName=h.ZuploRequest=h.ProblemResponseFormatter=h.HttpProblems=h.ValidateJsonSchemaInbound=h.UpstreamGcpServiceAuthInboundPolicy=h.UpstreamGcpJwtInboundPolicy=h.UpstreamFirebaseUserAuthInboundPolicy=h.UpstreamFirebaseAdminAuthInboundPolicy=h.UpstreamAzureAdServiceAuthInboundPolicy=h.SupabaseJwtInboundPolicy=h.SleepInboundPolicy=h.SetStatusOutboundPolicy=h.SetQueryParamsInboundPolicy=h.SetHeadersOutboundPolicy=h.SetHeadersInboundPolicy=h.SetBodyInboundPolicy=h.RequireOriginInboundPolicy=h.SchemaBasedRequestValidation=h.RequestValidationInboundPolicy=h.RequestSizeLimitInboundPolicy=h.ReplaceStringOutboundPolicy=h.RemoveQueryParamsInboundPolicy=h.RemoveHeadersOutboundPolicy=h.RemoveHeadersInboundPolicy=void 0;qp();var _O=_r();Object.defineProperty(h,"MemoryZoneReadThroughCache",{enumerable:!0,get:function(){return _O.MemoryZoneReadThroughCache}});var bO=Wc();Object.defineProperty(h,"ZoneCache",{enumerable:!0,get:function(){return bO.ZoneCache}});var EO=jp();Object.defineProperty(h,"VALID_COMPATIBILITY_DATES",{enumerable:!0,get:function(){return EO.VALID_COMPATIBILITY_DATES}});var M_=wr();Object.defineProperty(h,"ResponseSendingEvent",{enumerable:!0,get:function(){return M_.ResponseSendingEvent}});Object.defineProperty(h,"ResponseSentEvent",{enumerable:!0,get:function(){return M_.ResponseSentEvent}});var wO=oy();Object.defineProperty(h,"ContextData",{enumerable:!0,get:function(){return wO.ContextData}});var sp=Xl();Object.defineProperty(h,"environment",{enumerable:!0,get:function(){return sp.environment}});Object.defineProperty(h,"isRestrictedEnvVariableName",{enumerable:!0,get:function(){return sp.isRestrictedEnvVariableName}});Object.defineProperty(h,"isZuploReadableEnvVariableName",{enumerable:!0,get:function(){return sp.isZuploReadableEnvVariableName}});var vO=D();Object.defineProperty(h,"ConfigurationError",{enumerable:!0,get:function(){return vO.ConfigurationError}});var TO=td();Object.defineProperty(h,"originalFetch",{enumerable:!0,get:function(){return TO.originalFetch}});var k_=fy();Object.defineProperty(h,"Handler",{enumerable:!0,get:function(){return k_.Handler}});Object.defineProperty(h,"purgeGatewayCache",{enumerable:!0,get:function(){return k_.purgeGatewayCache}});var F_=Ny();Object.defineProperty(h,"AwsLambdaHandlerExtensions",{enumerable:!0,get:function(){return F_.AwsLambdaHandlerExtensions}});Object.defineProperty(h,"awsLambdaHandler",{enumerable:!0,get:function(){return F_.awsLambdaHandler}});var SO=Ly();Object.defineProperty(h,"openApiSpecHandler",{enumerable:!0,get:function(){return SO.openApiSpecHandler}});var IO=Dy();Object.defineProperty(h,"redirectHandler",{enumerable:!0,get:function(){return IO.redirectHandler}});var AO=My();Object.defineProperty(h,"urlForwardHandler",{enumerable:!0,get:function(){return AO.urlForwardHandler}});var PO=Fy();Object.defineProperty(h,"urlRewriteHandler",{enumerable:!0,get:function(){return PO.urlRewriteHandler}});var RO=qy();Object.defineProperty(h,"webSocketHandler",{enumerable:!0,get:function(){return RO.webSocketHandler}});var OO=Vy();Object.defineProperty(h,"webSocketPipelineHandler",{enumerable:!0,get:function(){return OO.webSocketPipelineHandler}});var xO=fu();Object.defineProperty(h,"HttpStatusCode",{enumerable:!0,get:function(){return xO.HttpStatusCode}});U_(Yy(),h);U_(eg(),h);var NO=tg();Object.defineProperty(h,"AuditLogDataStaxProvider",{enumerable:!0,get:function(){return NO.AuditLogDataStaxProvider}});var CO=ng();Object.defineProperty(h,"AuditLogPlugin",{enumerable:!0,get:function(){return CO.AuditLogPlugin}});var H_=lg();Object.defineProperty(h,"AmberfloMeteringInboundPolicy",{enumerable:!0,get:function(){return H_.AmberfloMeteringInboundPolicy}});Object.defineProperty(h,"AmberfloMeteringPolicy",{enumerable:!0,get:function(){return H_.AmberfloMeteringPolicy}});var q_=fg();Object.defineProperty(h,"ApiAuthKeyInboundPolicy",{enumerable:!0,get:function(){return q_.ApiAuthKeyInboundPolicy}});Object.defineProperty(h,"ApiKeyInboundPolicy",{enumerable:!0,get:function(){return q_.ApiKeyInboundPolicy}});var LO=mg();Object.defineProperty(h,"Auth0JwtInboundPolicy",{enumerable:!0,get:function(){return LO.Auth0JwtInboundPolicy}});var DO=yg();Object.defineProperty(h,"BasicAuthInboundPolicy",{enumerable:!0,get:function(){return DO.BasicAuthInboundPolicy}});var UO=gg();Object.defineProperty(h,"CachingInboundPolicy",{enumerable:!0,get:function(){return UO.CachingInboundPolicy}});var MO=_g();Object.defineProperty(h,"ChangeMethodInboundPolicy",{enumerable:!0,get:function(){return MO.ChangeMethodInboundPolicy}});var kO=bg();Object.defineProperty(h,"ClearHeadersInboundPolicy",{enumerable:!0,get:function(){return kO.ClearHeadersInboundPolicy}});var FO=Eg();Object.defineProperty(h,"ClearHeadersOutboundPolicy",{enumerable:!0,get:function(){return FO.ClearHeadersOutboundPolicy}});var HO=wg();Object.defineProperty(h,"ClerkJwtInboundPolicy",{enumerable:!0,get:function(){return HO.ClerkJwtInboundPolicy}});var qO=Tg();Object.defineProperty(h,"CognitoJwtInboundPolicy",{enumerable:!0,get:function(){return qO.CognitoJwtInboundPolicy}});var $O=Ig();Object.defineProperty(h,"CompositeInboundPolicy",{enumerable:!0,get:function(){return $O.CompositeInboundPolicy}});var jO=Ag();Object.defineProperty(h,"FirebaseJwtInboundPolicy",{enumerable:!0,get:function(){return jO.FirebaseJwtInboundPolicy}});var VO=Pg();Object.defineProperty(h,"FormDataToJsonInboundPolicy",{enumerable:!0,get:function(){return VO.FormDataToJsonInboundPolicy}});var GO=Rg();Object.defineProperty(h,"GeoFilterInboundPolicy",{enumerable:!0,get:function(){return GO.GeoFilterInboundPolicy}});var BO=Og();Object.defineProperty(h,"JWTScopeValidationInboundPolicy",{enumerable:!0,get:function(){return BO.JWTScopeValidationInboundPolicy}});var KO=Ng();Object.defineProperty(h,"MockApiInboundPolicy",{enumerable:!0,get:function(){return KO.MockApiInboundPolicy}});var $_=Mg();Object.defineProperty(h,"MoesifInboundPolicy",{enumerable:!0,get:function(){return $_.MoesifInboundPolicy}});Object.defineProperty(h,"setMoesifContext",{enumerable:!0,get:function(){return $_.setMoesifContext}});var JO=kg();Object.defineProperty(h,"OktaJwtInboundPolicy",{enumerable:!0,get:function(){return JO.OktaJwtInboundPolicy}});var zO=Ut();Object.defineProperty(h,"OpenIdJwtInboundPolicy",{enumerable:!0,get:function(){return zO.OpenIdJwtInboundPolicy}});var WO=Fg();Object.defineProperty(h,"PropelAuthJwtInboundPolicy",{enumerable:!0,get:function(){return WO.PropelAuthJwtInboundPolicy}});var j_=Bg();Object.defineProperty(h,"BasicRateLimitInboundPolicy",{enumerable:!0,get:function(){return j_.RateLimitInboundPolicy}});Object.defineProperty(h,"RateLimitInboundPolicy",{enumerable:!0,get:function(){return j_.RateLimitInboundPolicy}});var QO=Wg();Object.defineProperty(h,"ReadmeMetricsInboundPolicy",{enumerable:!0,get:function(){return QO.ReadmeMetricsInboundPolicy}});var YO=Qg();Object.defineProperty(h,"RemoveHeadersInboundPolicy",{enumerable:!0,get:function(){return YO.RemoveHeadersInboundPolicy}});var ZO=Yg();Object.defineProperty(h,"RemoveHeadersOutboundPolicy",{enumerable:!0,get:function(){return ZO.RemoveHeadersOutboundPolicy}});var XO=Zg();Object.defineProperty(h,"RemoveQueryParamsInboundPolicy",{enumerable:!0,get:function(){return XO.RemoveQueryParamsInboundPolicy}});var ex=Xg();Object.defineProperty(h,"ReplaceStringOutboundPolicy",{enumerable:!0,get:function(){return ex.ReplaceStringOutboundPolicy}});var tx=t_();Object.defineProperty(h,"RequestSizeLimitInboundPolicy",{enumerable:!0,get:function(){return tx.RequestSizeLimitInboundPolicy}});var V_=Lr();Object.defineProperty(h,"RequestValidationInboundPolicy",{enumerable:!0,get:function(){return V_.RequestValidationInboundPolicy}});Object.defineProperty(h,"SchemaBasedRequestValidation",{enumerable:!0,get:function(){return V_.SchemaBasedRequestValidation}});var rx=a_();Object.defineProperty(h,"RequireOriginInboundPolicy",{enumerable:!0,get:function(){return rx.RequireOriginInboundPolicy}});var nx=c_();Object.defineProperty(h,"SetBodyInboundPolicy",{enumerable:!0,get:function(){return nx.SetBodyInboundPolicy}});var ix=l_();Object.defineProperty(h,"SetHeadersInboundPolicy",{enumerable:!0,get:function(){return ix.SetHeadersInboundPolicy}});var ox=p_();Object.defineProperty(h,"SetHeadersOutboundPolicy",{enumerable:!0,get:function(){return ox.SetHeadersOutboundPolicy}});var sx=f_();Object.defineProperty(h,"SetQueryParamsInboundPolicy",{enumerable:!0,get:function(){return sx.SetQueryParamsInboundPolicy}});var ax=m_();Object.defineProperty(h,"SetStatusOutboundPolicy",{enumerable:!0,get:function(){return ax.SetStatusOutboundPolicy}});var cx=y_();Object.defineProperty(h,"SleepInboundPolicy",{enumerable:!0,get:function(){return cx.SleepInboundPolicy}});var ux=__();Object.defineProperty(h,"SupabaseJwtInboundPolicy",{enumerable:!0,get:function(){return ux.SupabaseJwtInboundPolicy}});var lx=E_();Object.defineProperty(h,"UpstreamAzureAdServiceAuthInboundPolicy",{enumerable:!0,get:function(){return lx.UpstreamAzureAdServiceAuthInboundPolicy}});var dx=v_();Object.defineProperty(h,"UpstreamFirebaseAdminAuthInboundPolicy",{enumerable:!0,get:function(){return dx.UpstreamFirebaseAdminAuthInboundPolicy}});var px=S_();Object.defineProperty(h,"UpstreamFirebaseUserAuthInboundPolicy",{enumerable:!0,get:function(){return px.UpstreamFirebaseUserAuthInboundPolicy}});var hx=A_();Object.defineProperty(h,"UpstreamGcpJwtInboundPolicy",{enumerable:!0,get:function(){return hx.UpstreamGcpJwtInboundPolicy}});var fx=O_();Object.defineProperty(h,"UpstreamGcpServiceAuthInboundPolicy",{enumerable:!0,get:function(){return fx.UpstreamGcpServiceAuthInboundPolicy}});var mx=N_();Object.defineProperty(h,"ValidateJsonSchemaInbound",{enumerable:!0,get:function(){return mx.ValidateJsonSchemaInbound}});var yx=ve();Object.defineProperty(h,"HttpProblems",{enumerable:!0,get:function(){return yx.HttpProblems}});var gx=oo();Object.defineProperty(h,"ProblemResponseFormatter",{enumerable:!0,get:function(){return gx.ProblemResponseFormatter}});var _x=Wn();Object.defineProperty(h,"ZuploRequest",{enumerable:!0,get:function(){return _x.ZuploRequest}});var bx=Sr();Object.defineProperty(h,"SystemRouteName",{enumerable:!0,get:function(){return bx.SystemRouteName}});var G_=Gl();Object.defineProperty(h,"LookupResult",{enumerable:!0,get:function(){return G_.LookupResult}});Object.defineProperty(h,"Router",{enumerable:!0,get:function(){return G_.Router}});var B_=C_();Object.defineProperty(h,"ContentTypes",{enumerable:!0,get:function(){return B_.ContentTypes}});Object.defineProperty(h,"serialize",{enumerable:!0,get:function(){return B_.serialize}});var Ex=L_();Object.defineProperty(h,"ServiceProviderImpl",{enumerable:!0,get:function(){return Ex.ServiceProviderImpl}});var K_=Tu();Object.defineProperty(h,"API_KEY",{enumerable:!0,get:function(){return K_.API_KEY}});Object.defineProperty(h,"SYSTEM_LOGGER",{enumerable:!0,get:function(){return K_.SYSTEM_LOGGER}});var wx=D_();Object.defineProperty(h,"httpStatuses",{enumerable:!0,get:function(){return gO(wx).default}});var vx=Ge();Object.defineProperty(h,"SystemLogMap",{enumerable:!0,get:function(){return vx.SystemLogMap}});var Pi=La();Object.defineProperty(h,"getIdForParameterSchema",{enumerable:!0,get:function(){return Pi.getIdForParameterSchema}});Object.defineProperty(h,"getIdForRefSchema",{enumerable:!0,get:function(){return Pi.getIdForRefSchema}});Object.defineProperty(h,"getIdForRequestBodySchema",{enumerable:!0,get:function(){return Pi.getIdForRequestBodySchema}});Object.defineProperty(h,"getRawOperationDataIdentifierName",{enumerable:!0,get:function(){return Pi.getRawOperationDataIdentifierName}});Object.defineProperty(h,"sanitizedIdentifierName",{enumerable:!0,get:function(){return Pi.sanitizedIdentifierName}})});var J_=g(Cn=>{"use strict";Object.defineProperty(Cn,"__esModule",{value:!0});Cn.BaseCryptoBeta=Cn.supportedDigests=void 0;Cn.supportedDigests=["sha-1","sha-256","sha-384","sha-512"];var ap=class{static{o(this,"BaseCryptoBeta")}};Cn.BaseCryptoBeta=ap});var z_=g(rc=>{"use strict";Object.defineProperty(rc,"__esModule",{value:!0});rc.WorkerCryptoBeta=void 0;var cp=J_(),Tx=D(),up=class extends cp.BaseCryptoBeta{static{o(this,"WorkerCryptoBeta")}async digest(e,r){if(!cp.supportedDigests.includes(e.toLowerCase()))throw new Tx.RuntimeError(`Algorithm ${e} is not supported. Try using ${cp.supportedDigests.join(", ")}`);let n=new TextEncoder().encode(r),i=await crypto.subtle.digest(e,n);return Array.from(new Uint8Array(i)).map(c=>c.toString(16).padStart(2,"0")).join("")}};rc.WorkerCryptoBeta=up});var W_=g(nc=>{"use strict";Object.defineProperty(nc,"__esModule",{value:!0});nc.BaseKeyValueStore=void 0;var lp=class{static{o(this,"BaseKeyValueStore")}context;constructor(e){this.context=e}};nc.BaseKeyValueStore=lp});var Y_=g(ic=>{"use strict";Object.defineProperty(ic,"__esModule",{value:!0});ic.WorkerKeyValueStore=void 0;var Q_=D(),Sx=W_(),dp=class extends Sx.BaseKeyValueStore{static{o(this,"WorkerKeyValueStore")}#e;constructor(e){super(e);let n=globalThis.ZUPLO_KV;if(!n)throw new Q_.FeatureNotEnabledError("The Key Value Store feature is not enabled for this project.");this.#e=n}put(e,r,n){if(typeof e!="string")throw new Q_.ConfigurationError("value must be of type string");return this.#e.put(e,r,n?{expirationTtl:n.expirationSecondsTtl}:void 0)}get(e,r){return this.#e.get(e,{type:"text",cacheTtl:r?.cacheSecondsTtl})}delete(e){return this.#e.delete(e)}};ic.WorkerKeyValueStore=dp});var Ot=g(ct=>{"use strict";var Ix=ct&&ct.__createBinding||(Object.create?function(t,e,r,n){n===void 0&&(n=r);var i=Object.getOwnPropertyDescriptor(e,r);(!i||("get"in i?!e.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,n,i)}:function(t,e,r,n){n===void 0&&(n=r),t[n]=e[r]}),Ax=ct&&ct.__exportStar||function(t,e){for(var r in t)r!=="default"&&!Object.prototype.hasOwnProperty.call(e,r)&&Ix(e,t,r)};Object.defineProperty(ct,"__esModule",{value:!0});ct.KeyValueStore=ct.CryptoBeta=void 0;Ax(ke(),ct);var Px=z_();Object.defineProperty(ct,"CryptoBeta",{enumerable:!0,get:function(){return Px.WorkerCryptoBeta}});var Rx=Y_();Object.defineProperty(ct,"KeyValueStore",{enumerable:!0,get:function(){return Rx.WorkerKeyValueStore}})});var UN={};Gi(UN,{GraphQLComplexityLimitInboundPolicy:()=>Ob,GraphQLDisableIntrospectionInboundPolicy:()=>Nb});module.exports=Bi(UN);var Gn=Mp(Ot());function B(t,e){if(!!!t)throw new Error(e)}o(B,"devAssert");function be(t){return typeof t=="object"&&t!==null}o(be,"isObjectLike");function Tt(t,e){if(!!!t)throw new Error(e??"Unexpected invariant triggered.")}o(Tt,"invariant");var Ox=/\r\n|[\n\r]/g;function Ln(t,e){let r=0,n=1;for(let i of t.body.matchAll(Ox)){if(typeof i.index=="number"||Tt(!1),i.index>=e)break;r=i.index+i[0].length,n+=1}return{line:n,column:e+1-r}}o(Ln,"getLocation");function pp(t){return oc(t.source,Ln(t.source,t.start))}o(pp,"printLocation");function oc(t,e){let r=t.locationOffset.column-1,n="".padStart(r)+t.body,i=e.line-1,s=t.locationOffset.line-1,a=e.line+s,c=e.line===1?r:0,u=e.column+c,l=`${t.name}:${a}:${u}
65
+ `),n=await fetch(this.#e,{method:"POST",body:r,headers:{"content-type":"text/plain",Authorization:`Api-Token ${this.apiToken}`}});if(!n.ok)throw new Zs(await n.text())}};cr.DynaTraceMetricsTransport=Ys;var Zs=class t extends Error{static{o(this,"DynaTraceMetricsError")}constructor(e){super(e),Object.setPrototypeOf(this,t.prototype)}};cr.DynaTraceMetricsError=Zs});var eg=g(wn=>{"use strict";Object.defineProperty(wn,"__esModule",{value:!0});wn.DynatraceMetricsPlugin=wn.DataDogMetricsPlugin=void 0;var jA=Zy();Object.defineProperty(wn,"DataDogMetricsPlugin",{enumerable:!0,get:function(){return jA.DataDogMetricsPlugin}});var VA=Xy();Object.defineProperty(wn,"DynatraceMetricsPlugin",{enumerable:!0,get:function(){return VA.DynatraceMetricsPlugin}})});var tg=g(Xs=>{"use strict";Object.defineProperty(Xs,"__esModule",{value:!0});Xs.AuditLogDataStaxProvider=void 0;var Nd=class{static{o(this,"AuditLogDataStaxProvider")}constructor(e){this.#e=e}#e;writeLogBatch=async e=>{await Promise.allSettled(e.map(async r=>{await fetch(this.#e.url,{method:"POST",headers:{"X-Cassandra-Token":this.#e.xCassandraToken,"content-type":"application/json"},body:JSON.stringify(r)})}))}};Xs.AuditLogDataStaxProvider=Nd});var ng=g(ea=>{"use strict";Object.defineProperty(ea,"__esModule",{value:!0});ea.AuditLogPlugin=void 0;var GA=Rt(),BA=we(),Cd=class extends GA.InitializableRuntimePlugin{static{o(this,"AuditLogPlugin")}constructor(e,r){super(),this.#e=e,this.#t=r}#e;#t;async initialize(e){new Ld(e,this.#e,this.#t)}};ea.AuditLogPlugin=Cd;var rg=o(t=>{let e={};return t.forEach((r,n)=>{e[n]=r}),e},"serializableHeaders"),KA={requestFilter:async()=>!0,include:{request:{headers:!0,body:!0},response:{headers:!0,body:!0}}},Ld=class{static{o(this,"AuditPluginImpl")}constructor(e,r,n){this.#t=r;let i={...KA};n?.requestFilter&&(i.requestFilter=n.requestFilter),n?.include?.request&&Object.assign(i,n.include.request),n?.include?.response&&Object.assign(i,n.include.response),this.#e=i,e.addRequestHook(this.#o),this.#r=new BA.BatchDispatch("audit-log",10,this.#n)}#e;#t;#r;#n=async e=>{await this.#t.writeLogBatch(e)};#i=async(e,r,n,i,s,a)=>{try{let c={timestamp:i,durationMs:s,routePath:n.route.path,requestId:n.requestId,userSub:a,request:{url:r.url,method:r.method,headers:this.#e.include?.request?.headers?rg(r.headers):void 0,body:this.#e.include?.request?.body?await r.text():void 0},response:{status:e.status,statusText:e.statusText,headers:this.#e.include?.response?.headers?rg(e.headers):void 0,body:this.#e.include?.response?.body?await e.text():void 0}};this.#r.enqueue(c),n.waitUntil(this.#r.waitUntilFlushed())}catch(c){n.log.error(c)}};#o=async(e,r)=>{try{if(!await this.#e.requestFilter(e,r))return e;let i=new Date,s=Date.now(),a=e.clone();return r.addResponseSendingFinalHook(async(c,u)=>{let l=Date.now(),d=c.clone(),p=this.#i(d,a,r,i,l-s,u.user?.sub).catch(m=>{r.log.error(m)});r.waitUntil(p)}),e}catch(n){return r.log.error(n),e}}}});var ta=g(vn=>{"use strict";Object.defineProperty(vn,"__esModule",{value:!0});vn.getValueFromRequestUser=vn.statusCodesStringToNumberArray=void 0;var ig=D(),og=new Map;function JA(t){if(typeof t!="string")throw new Error("Input must be a string");if(!/^\d+(?:-\d+)?(?:,\s*\d+(?:-\d+)?)*$/.test(t))throw new Error("Malformed input string");let e=og.get(t);if(e)return e;let r=t.split(","),n=[];for(let i of r){let s=i.split("-");if(s.length===2){let a=parseInt(s[0],10),c=parseInt(s[1],10);for(let u=a;u<=c;u++)n.push(u)}else n.push(parseInt(i,10))}return og.set(t,n),n}o(JA,"statusCodesStringToNumberArray");vn.statusCodesStringToNumberArray=JA;function zA(t,e,r){if(!e.startsWith("."))throw new ig.ConfigurationError(`Invalid ${r} - must start with '.' - '${e}' does not`);let n=e.split(".").splice(1),i=t;return n.forEach(s=>{if(i===void 0)throw new ig.RuntimeError(`Error applying ${r} '${e}', reading '${s}'`);i=i[s]}),`${i}`}o(zA,"getValueFromRequestUser");vn.getValueFromRequestUser=zA});var lg=g(Tn=>{"use strict";Object.defineProperty(Tn,"__esModule",{value:!0});Tn.AmberfloMeteringInboundPolicy=Tn.AmberfloMeteringPolicy=void 0;var sg=D(),WA=we(),ag=ta(),ug=new WeakMap,cg={},Dd=class{static{o(this,"AmberfloMeteringPolicy")}static setRequestProperties(e,r){ug.set(e,r)}};Tn.AmberfloMeteringPolicy=Dd;async function QA(t,e,r,n){if(!r.statusCodes)throw new sg.ConfigurationError(`Invalid AmberfloMeterInboundPolicy '${n}': options.statusCodes must be an array of HTTP status code numbers`);let i=Array.isArray(r.statusCodes)?r.statusCodes:(0,ag.statusCodesStringToNumberArray)(r.statusCodes);return e.addResponseSendingFinalHook(async s=>{if(i.includes(s.status)){let a=ug.get(e),c=r.customerId;if(r.customerIdPropertyPath){if(!t.user)throw new sg.RuntimeError(`Unable to apply customerIdPropertyPath '${r.customerIdPropertyPath}' as request.user is 'undefined'.`);c=(0,ag.getValueFromRequestUser)(t.user,r.customerIdPropertyPath,"customerIdPropertyPath")}let u=a?.customerId??c;if(!u){e.log.error(`Error in AmberfloMeterInboundPolicy '${n}': customerId cannot be undefined`);return}let l=a?.meterApiName??r.meterApiName;if(!l){e.log.error(`Error in AmberfloMeterInboundPolicy '${n}': meterApiName cannot be undefined`);return}let d=a?.meterValue??r.meterValue;if(!d){e.log.error(`Error in AmberfloMeterInboundPolicy '${n}': meterValue cannot be undefined`);return}let p={customerId:u,meterApiName:l,meterValue:d,meterTimeInMillis:Date.now(),dimensions:Object.apply(r.dimensions??{},a?.dimensions)},m=cg[r.apiKey];if(!m){let f=r.apiKey,y=t.headers.get("zm-test-id")??"";m=new WA.BatchDispatch("amberflo-ingest-meter",10,async v=>{try{let T=r.url??"https://app.amberflo.io/ingest",I=await fetch(T,{method:"POST",body:JSON.stringify(v),headers:{"content-type":"application/json","x-api-key":f,"zm-test-id":y}});I.ok||e.log.error(`Unexpected response in AmberfloMeteringInboundPolicy '${n}'. ${I.status}: ${await I.text()}`)}catch(T){throw e.log.error(`Error in AmberfloMeteringInboundPolicy '${n}': ${T.message}`),T}}),cg[f]=m}m.enqueue(p),e.waitUntil(m.waitUntilFlushed())}}),t}o(QA,"AmberfloMeteringInboundPolicy");Tn.AmberfloMeteringInboundPolicy=QA});var ur=g(ra=>{"use strict";Object.defineProperty(ra,"__esModule",{value:!0});ra.getPolicyCacheName=void 0;function YA(t){return`zuplo-policy-${t}`}o(YA,"getPolicyCacheName");ra.getPolicyCacheName=YA});var fg=g(Sn=>{"use strict";Object.defineProperty(Sn,"__esModule",{value:!0});Sn.ApiAuthKeyInboundPolicy=Sn.ApiKeyInboundPolicy=void 0;var ZA=ur(),XA=_r(),dg=Xl(),Ud=D(),eP=Ot(),Md=Ge(),kd=te(),tP=ys(),pg="key-metadata-cache-type";function rP(t,e){return e.authScheme===""?t:t.replace(`${e.authScheme} `,"")}o(rP,"getKeyValue");async function hg(t,e,r,n){if(!r.bucketName)if(dg.environment.ZUPLO_API_KEY_SERVICE_BUCKET_NAME)r.bucketName=dg.environment.ZUPLO_API_KEY_SERVICE_BUCKET_NAME;else throw new Ud.ConfigurationError(`ApiKeyInboundPolicy '${n}' - no bucketName property provided`);let i={authHeader:r.authHeader??"authorization",authScheme:r.authScheme??"Bearer",bucketName:r.bucketName,cacheTtlSeconds:r.cacheTtlSeconds??60,allowUnauthenticatedRequests:r.allowUnauthenticatedRequests??!1,disableAutomaticallyAddingKeyHeaderToOpenApi:r.disableAutomaticallyAddingKeyHeaderToOpenApi??!1};if(i.cacheTtlSeconds<60)throw new Ud.ConfigurationError(`ApiKeyInboundPolicy '${n}' - minimum cacheTtlSeconds value is 60s, '${i.cacheTtlSeconds}' is invalid`);let s=o(v=>i.allowUnauthenticatedRequests?t:eP.HttpProblems.unauthorized(t,e,{detail:v}),"unauthorizedResponse"),a=t.headers.get(i.authHeader);if(!a)return s("No Authorization Header");if(!a.toLowerCase().startsWith(i.authScheme.toLowerCase()))return s("Invalid Authorization Scheme");let c=rP(a,i);if(!c||c==="")return s("No key present");let u=await nP(c),l=new XA.MemoryZoneReadThroughCache((0,ZA.getPolicyCacheName)(n),{logger:Md.SystemLogMap.getLogger(e)}),d=await l.get(u);if(d&&d.isValid===!0)return t.user=d.user,t;if(d&&!d.isValid)return d.typeId!==pg&&Md.SystemLogMap.getLogger(e).error(`ApiKeyInboundPolicy '${n}' - cached metadata has invalid typeId '${d.typeId}'`,d),s("Authorization Failed");let p={key:c},m=await(0,tP.fetchRetry)({retryDelayMs:5,retries:2,logger:Md.SystemLogMap.getLogger(e)},`${kd.Environment.instance.apiKeyServiceUrl}/v1/$validate/${i.bucketName}`,{method:"POST",headers:{"content-type":"application/json","zp-rid":e.requestId,"zp-dn":kd.Environment.instance.deploymentName??"unknown","User-Agent":kd.Environment.instance.systemUserAgent},body:JSON.stringify(p)});if(m.status===401)return e.log.info(`ApiKeyInboundPolicy '${n}' - 401 response from Key Service`),s("Authorization Failed");if(m.status!==200){try{let v=await m.text(),T=JSON.parse(v);e.log.error("Unexpected response from key service",T)}catch{e.log.error("Invalid response from key service")}throw new Ud.RuntimeError(`ApiKeyInboundPolicy '${n}' - unexpected response from Key Service. Status: ${m.status}`)}let f=await m.json(),y={isValid:!0,typeId:pg,user:{sub:f.name,data:f.metadata}};return t.user=y.user,l.put(u,y,i.cacheTtlSeconds),t}o(hg,"ApiKeyInboundPolicy");Sn.ApiKeyInboundPolicy=hg;async function nP(t){let e=new TextEncoder().encode(t),r=await crypto.subtle.digest("SHA-256",e);return Array.from(new Uint8Array(r)).map(s=>s.toString(16).padStart(2,"0")).join("")}o(nP,"hashValue");Sn.ApiAuthKeyInboundPolicy=hg});var Mt=g(na=>{"use strict";Object.defineProperty(na,"__esModule",{value:!0});na.OpenIdJwtInboundPolicy=void 0;var Hd=(fs(),Bi(hs)),qd=D(),iP=ve(),Fd={},oP=o(async(t,e)=>{if(!e.jwkUrl||typeof e.jwkUrl!="string")throw new qd.ConfigurationError("Invalid State - jwkUrl not set");Fd[e.jwkUrl]||(Fd[e.jwkUrl]=(0,Hd.createRemoteJWKSet)(new URL(e.jwkUrl),e.headers?{headers:e.headers}:void 0));let{payload:r}=await(0,Hd.jwtVerify)(t,Fd[e.jwkUrl],{issuer:e.issuer,audience:e.audience});return r},"jwkVerifier"),sP=o(async(t,e)=>{let r;if(e.secret===void 0)throw new Error("secretVerifier requires secret to be defined");if(typeof e.secret=="string"){let s=new TextEncoder().encode(e.secret);r=new Uint8Array(s)}else r=e.secret;let{payload:n}=await(0,Hd.jwtVerify)(t,r,{issuer:e.issuer,audience:e.audience});return n},"secretVerifier"),aP=o(async(t,e,r,n)=>{let i=t.headers.get("Authorization"),s="bearer ",a=o(m=>iP.HttpProblems.unauthorized(t,e,{detail:m}),"unauthorizedResponse");if(!r.jwkUrl&&!r.secret)throw new qd.ConfigurationError(`OpenIdJwtInboundPolicy policy '${n}': One of 'jwkUrl' or 'secret' options are required.`);if(r.jwkUrl&&r.secret)throw new qd.ConfigurationError(`OpenIdJwtInboundPolicy policy '${n}': Only one of 'jwkUrl' and 'secret' options should be provided.`);let c=r.jwkUrl?oP:sP,l=await o(async()=>{if(!i)return a("No authorization header");if(i.toLowerCase().indexOf(s)!==0)return a("Invalid bearer token format for authorization header");let m=i.substring(s.length);if(!m||m.length===0)return a("No bearer token on authorization header");try{return await c(m,r)}catch(f){let y=new URL(t.url);return"code"in f&&f.code==="ERR_JWT_EXPIRED"?e.log.warn(`Expired token used on url: ${y.pathname} `,f):e.log.warn(`Invalid token on: ${t.method} ${y.pathname}`,f),a("Invalid token")}},"getJwtOrRejectedResponse")();if(l instanceof Response)return r.allowUnauthenticatedRequests===!0?t:l;let d=r.subPropertyName??"sub",p=l[d];return p?(t.user={sub:p,data:l},t):a(`Token is not valid, no '${d}' property found.`)},"OpenIdJwtInboundPolicy");na.OpenIdJwtInboundPolicy=aP});var mg=g(ia=>{"use strict";Object.defineProperty(ia,"__esModule",{value:!0});ia.Auth0JwtInboundPolicy=void 0;var cP=Mt(),uP=o(async(t,e,r,n)=>(0,cP.OpenIdJwtInboundPolicy)(t,e,{issuer:`https://${r.auth0Domain}/`,audience:r.audience,jwkUrl:`https://${r.auth0Domain}/.well-known/jwks.json`,allowUnauthenticatedRequests:r.allowUnauthenticatedRequests},n),"Auth0JwtInboundPolicy");ia.Auth0JwtInboundPolicy=uP});var yg=g(oa=>{"use strict";Object.defineProperty(oa,"__esModule",{value:!0});oa.BasicAuthInboundPolicy=void 0;var lP=ve(),dP=o(async(t,e,r)=>{let n=t.headers.get("Authorization"),i="basic ",s=o(l=>lP.HttpProblems.unauthorized(t,e,{detail:l}),"unauthorizedResponse"),c=await o(async()=>{if(!n)return await s("No Authorization header");if(n.toLowerCase().indexOf(i)!==0)return await s("Invalid Basic token format for Authorization header");let l=n.substring(i.length);if(!l||l.length===0)return await s("No username:password provided");let d=atob(l).normalize(),p=d.indexOf(":");if(p===-1||/[\0-\x1F\x7F]/.test(d))return await s("Invalid basic token value - see https://tools.ietf.org/html/rfc5234#appendix-B.1");let m=d.substring(0,p),f=d.substring(p+1),y=r.accounts.find(v=>v.username===m&&v.password===f);return y||await s("Invalid username or password")},"getAccountOrRejectedResponse")();if(c instanceof Response)return r.allowUnauthenticatedRequests?t:c;let u=c.username;return t.user={sub:u,data:c.data},t},"BasicAuthInboundPolicy");oa.BasicAuthInboundPolicy=dP});var gg=g(sa=>{"use strict";Object.defineProperty(sa,"__esModule",{value:!0});sa.CachingInboundPolicy=void 0;var pP=ur(),hP=["cdn-cache-control","cloudflare-cdn-cache-control","surrogate-control","cache-tag","expires"];async function fP(t){let e=new TextEncoder().encode(t),r=await crypto.subtle.digest("SHA-256",e);return Array.from(new Uint8Array(r)).map(s=>s.toString(16).padStart(2,"0")).join("")}o(fP,"digestMessage");var mP=o(async(t,e)=>{let r=[...e.dangerouslyIgnoreAuthorizationHeader===!0?[]:["authorization"],...e.headers??[]],n=[];for(let[d,p]of t.headers.entries())r.includes(d)&&n.push({key:d.toLowerCase(),value:p});n.sort((d,p)=>d.key.localeCompare(p.key));let i=await fP(JSON.stringify(n)),s=new URL(t.url),a=new URLSearchParams(s.searchParams);a.set("_z-hdr-dgst",i);let c=e.cacheHttpMethods?.includes(t.method.toUpperCase())&&t.method.toUpperCase()!=="GET";c&&a.set("_z-original-method",t.method);let u=`${s.origin}${s.pathname}?${a}`;return new Request(u,{method:c?"GET":t.method})},"createCacheKeyRequest");async function yP(t,e,r,n){let i=await caches.open(`${(0,pP.getPolicyCacheName)(n)}-${r.cacheId??""}`),s=r?.cacheHttpMethods?.map(u=>u.toUpperCase())??["GET"],a=await mP(t,r),c=await i.match(a);return c||(e.addEventListener("responseSent",u=>{try{let l=r.statusCodes??[200,206,301,302,303,404,410],d=u.response.clone();if(!l.includes(d.status)||!s.includes(t.method.toUpperCase()))return;let p=r?.expirationSecondsTtl??60,m=new Response(d.body,d);hP.forEach(f=>m.headers.delete(f)),m.headers.set("cache-control",`s-maxage=${p}`),e.waitUntil(i.put(a,m))}catch(l){e.log.error(`Error in caching-inbound-policy '${n}': "${l.message}"`,l)}}),t)}o(yP,"CachingInboundPolicy");sa.CachingInboundPolicy=yP});var _g=g(aa=>{"use strict";Object.defineProperty(aa,"__esModule",{value:!0});aa.ChangeMethodInboundPolicy=void 0;var gP=D(),_P=Wn(),bP=o(async(t,e,r,n)=>{if(!r.method)throw new gP.ConfigurationError(`ChangeMethodInboundPolicy '${n}' options.method must be valid HttpMethod`);return new _P.ZuploRequest(t,{method:r.method})},"ChangeMethodInboundPolicy");aa.ChangeMethodInboundPolicy=bP});var bg=g(ca=>{"use strict";Object.defineProperty(ca,"__esModule",{value:!0});ca.ClearHeadersInboundPolicy=void 0;var EP=ke(),wP=o(async(t,e,r)=>{let n=[...r.exclude??[]],i=new Headers;return n.forEach(a=>{let c=t.headers.get(a);c&&i.set(a,c)}),new EP.ZuploRequest(t,{headers:i})},"ClearHeadersInboundPolicy");ca.ClearHeadersInboundPolicy=wP});var Eg=g(ua=>{"use strict";Object.defineProperty(ua,"__esModule",{value:!0});ua.ClearHeadersOutboundPolicy=void 0;var vP=o(async(t,e,r,n)=>{let i=[...n.exclude??[]],s=new Headers;return i.forEach(c=>{let u=t.headers.get(c);u&&s.set(c,u)}),new Response(t.body,{headers:s,status:t.status,statusText:t.statusText})},"ClearHeadersOutboundPolicy");ua.ClearHeadersOutboundPolicy=vP});var wg=g(la=>{"use strict";Object.defineProperty(la,"__esModule",{value:!0});la.ClerkJwtInboundPolicy=void 0;var TP=Mt(),SP=o(async(t,e,r,n)=>{let i=new URL(r.frontendApiUrl.startsWith("https://")||r.frontendApiUrl.startsWith("http://")?r.frontendApiUrl:`https://${r.frontendApiUrl}`),s=new URL(i);return s.pathname="/.well-known/jwks.json",(0,TP.OpenIdJwtInboundPolicy)(t,e,{issuer:i.href.slice(0,-1),jwkUrl:s.toString(),allowUnauthenticatedRequests:r.allowUnauthenticatedRequests},n)},"ClerkJwtInboundPolicy");la.ClerkJwtInboundPolicy=SP});var Tg=g(da=>{"use strict";Object.defineProperty(da,"__esModule",{value:!0});da.CognitoJwtInboundPolicy=void 0;var vg=D(),IP=Mt(),AP=o(async(t,e,r,n)=>{if(!r.userPoolId)throw new vg.ConfigurationError("userPoolId must be set in the options for CognitoJwtInboundPolicy");if(!r.region)throw new vg.ConfigurationError("region must be set in the options for CognitoJwtInboundPolicy");return(0,IP.OpenIdJwtInboundPolicy)(t,e,{issuer:`https://cognito-idp.${r.region}.amazonaws.com/${r.userPoolId}`,jwkUrl:`https://cognito-idp.${r.region}.amazonaws.com/${r.userPoolId}/.well-known/jwks.json`,allowUnauthenticatedRequests:r.allowUnauthenticatedRequests},n)},"CognitoJwtInboundPolicy");da.CognitoJwtInboundPolicy=AP});var Ig=g(pa=>{"use strict";Object.defineProperty(pa,"__esModule",{value:!0});pa.CompositeInboundPolicy=void 0;var PP=D(),RP=un(),Sg=Qn(),OP=o(async(t,e,r,n)=>{if(!r.policies||r.policies.length===0)throw new PP.ConfigurationError(`CompositeInboundPolicy '${n}' must have valid policies defined`);let i=RP.Gateway.instance,s=(0,Sg.getInboundPolicyHandlerAndOptions)(r.policies,i?.routeData.policies);return(0,Sg.toStackedInboundHandler)(s)(t,e)},"CompositeInboundPolicy");pa.CompositeInboundPolicy=OP});var lr=g(ha=>{"use strict";Object.defineProperty(ha,"__esModule",{value:!0});ha.optionValidator=void 0;var _i=D();function xP(t,e){let r=o((s,a,c)=>{let u=t[s];if(!(c&&u===void 0)){if(u===void 0)throw new _i.ConfigurationError(`Value of '${String(s)}' on policy '${e}' is required, but no value was set. If using an environment variable, check that it is set correctly.`);if(a==="array"&&Array.isArray(u))throw new _i.ConfigurationError(`Value of '${String(s)}' on policy '${e}' must be an array. Received type ${typeof u}.`);if(typeof u!==a)throw new _i.ConfigurationError(`Value of '${String(s)}' on policy '${e}' must be of type ${a}. Received type ${typeof u}.`);if(typeof u=="string"&&u.length===0)throw new _i.ConfigurationError(`Value of '${String(s)}' on policy '${e}' must be a non-empty string. The value received is empty. If using an environment variable, check that it is set correctly.`);if(typeof u=="number"&&isNaN(u))throw new _i.ConfigurationError(`Value of '${String(s)}' on policy '${e}' must be valid number. If using an environment variable, check that it is set correctly.`)}},"validate"),n=o((s,a)=>(r(s,a,!0),{optional:n,required:i}),"optional"),i=o((s,a)=>(r(s,a,!1),{optional:n,required:i}),"required");return{optional:n,required:i}}o(xP,"optionValidator");ha.optionValidator=xP});var Ag=g(fa=>{"use strict";Object.defineProperty(fa,"__esModule",{value:!0});fa.FirebaseJwtInboundPolicy=void 0;var NP=lr(),CP=Mt(),LP=o(async(t,e,r,n)=>((0,NP.optionValidator)(r,n).required("projectId","string").optional("allowUnauthenticatedRequests","boolean"),(0,CP.OpenIdJwtInboundPolicy)(t,e,{issuer:`https://securetoken.google.com/${r.projectId}`,audience:r.projectId,jwkUrl:"https://www.googleapis.com/service_accounts/v1/jwk/securetoken@system.gserviceaccount.com",allowUnauthenticatedRequests:r.allowUnauthenticatedRequests},n)),"FirebaseJwtInboundPolicy");fa.FirebaseJwtInboundPolicy=LP});var Pg=g(ma=>{"use strict";Object.defineProperty(ma,"__esModule",{value:!0});ma.FormDataToJsonInboundPolicy=void 0;var DP=ke(),UP=o(async(t,e,r)=>{let n="application/x-www-form-urlencoded",i="multipart/form-data",s=t.headers.get("content-type")?.toLowerCase();if(!s||![i,n].includes(s))return r&&r.badRequestIfNotFormData?new Response(`Bad Request - expected content-type '${n}' or ${i}`,{status:400,statusText:"Bad Request"}):t;let a=await t.formData();if(r&&r.optionalHoneypotName&&a.get(r.optionalHoneypotName)!=="")return new Response("Bad Request",{status:400,statusText:"Bad Request"});let c={};for(let[d,p]of a)c[d]=p.toString();let u=new Headers(t.headers);return u.set("content-type","application/json"),u.delete("content-length"),new DP.ZuploRequest(t,{body:JSON.stringify(c),headers:u})},"FormDataToJsonInboundPolicy");ma.FormDataToJsonInboundPolicy=UP});var Rg=g(ya=>{"use strict";Object.defineProperty(ya,"__esModule",{value:!0});ya.GeoFilterInboundPolicy=void 0;var MP=D(),kP=ve(),In="__unknown__",FP=o(async(t,e,r,n)=>{let i={allow:{countries:Pn(r.allow?.countries,"allow.countries",n),regionCodes:Pn(r.allow?.regionCodes,"allow.regionCode",n),asns:Pn(r.allow?.asns,"allow.asOrganization",n)},block:{countries:Pn(r.block?.countries,"block.countries",n),regionCodes:Pn(r.block?.regionCodes,"block.regionCode",n),asns:Pn(r.block?.asns,"block.asOrganization",n)},ignoreUnknown:r.ignoreUnknown!==!1},s=e.incomingRequestProperties.country?.toLowerCase()??In,a=e.incomingRequestProperties.regionCode?.toLowerCase()??In,c=e.incomingRequestProperties.asn?.toString()??In,u=i.ignoreUnknown&&s===In,l=i.ignoreUnknown&&a===In,d=i.ignoreUnknown&&c===In,p=i.allow.countries,m=i.allow.regionCodes,f=i.allow.asns;if(p.length>0&&!p.includes(s)&&!u||m.length>0&&!m.includes(a)&&!l||f.length>0&&!f.includes(c)&&!d)return An(t,e,n,s,a,c);let y=i.block.countries,v=i.block.regionCodes,T=i.block.asns;return y.length>0&&y.includes(s)&&!u||v.length>0&&v.includes(a)&&!l||T.length>0&&T.includes(c)&&!d?An(t,e,n,s,a,c):t},"GeoFilterInboundPolicy");ya.GeoFilterInboundPolicy=FP;function An(t,e,r,n,i,s){return e.log.debug(`Request blocked by GeoFilterInboundPolicy '${r}' (country: '${n}', regionCode: '${i}', asn: '${s}')`),kP.HttpProblems.forbidden(t,e,{geographicContext:{country:n,regionCode:i,asn:s}})}o(An,"blockedResponse");function Pn(t,e,r){if(typeof t=="string")return t.split(",").map(n=>n.trim().toLowerCase());if(typeof t>"u")return[];if(Array.isArray(t))return t.map(n=>n.trim().toLowerCase());throw new MP.ConfigurationError(`Invalid '${e}' for GeoFilterInboundPolicy '${r}': '${t}', must be a string or string[]`)}o(Pn,"toLowerStringArray")});var Og=g(ga=>{"use strict";Object.defineProperty(ga,"__esModule",{value:!0});ga.JWTScopeValidationInboundPolicy=void 0;var HP=o(async(t,e,r)=>{let n=t.user?.data.scope.split(" ")||[];if(!o((s,a)=>a.every(c=>s.includes(c)),"scopeChecker")(n,r.scopes)){let s={code:"UNAUTHORIZED",help_url:"https://zup.fail/UNAUTHORIZED",message:`JWT must have all the following scopes: ${r.scopes}`};return new Response(JSON.stringify(s),{status:401,statusText:"Unauthorized",headers:{"content-type":"application/json"}})}return t},"JWTScopeValidationInboundPolicy");ga.JWTScopeValidationInboundPolicy=HP});var Ng=g(_a=>{"use strict";Object.defineProperty(_a,"__esModule",{value:!0});_a.MockApiInboundPolicy=void 0;var qP=ve(),$P=o(async(t,e,r,n)=>{let i=e.route.raw().responses;if(!i)return $d(n,t,e,"No responses defined in the OpenAPI document. Add some responses with examples to use this policy.");let s=Object.keys(i),a=[];if(s.length===0)return $d(n,t,e,"No response object defined under responses in the OpenAPI document. Add some response objects with examples to use this policy.");if(s.forEach(c=>{i[c].content&&Object.keys(i[c].content).forEach(l=>{let d=i[c].content[l].examples;d&&Object.keys(d).forEach(m=>{a.push({responseName:c,contentName:l,exampleName:m,exampleValue:d[m]})})})}),a=a.filter(c=>!(r.responsePrefixFilter&&!c.responseName.startsWith(r.responsePrefixFilter)||r.contentType&&c.contentName!==r.contentType||r.exampleName&&c.exampleName!==r.exampleName)),r.random&&a.length>1){let c=Math.floor(Math.random()*a.length);return xg(a[c])}else return a.length>0?xg(a[0]):$d(n,t,e,"No examples matching the mocking options found in the OpenAPI document. Add examples to the OpenAPI document matching the options for this policy or change the mocking options to match the examples in the OpenAPI document.")},"MockApiInboundPolicy");_a.MockApiInboundPolicy=$P;function xg(t){let e=JSON.stringify(t.exampleValue,null,2),r=new Headers;switch(r.append("Content-Type",t.contentName),t.responseName){case"1XX":return new Response(e,{status:100,headers:r});case"2XX":return new Response(e,{status:200,headers:r});case"3XX":return new Response(e,{status:300,headers:r});case"4XX":return new Response(e,{status:400,headers:r});case"5XX":case"default":return new Response(e,{status:500,headers:r});default:return new Response(e,{status:Number(t.responseName),headers:r})}}o(xg,"generateResponse");var $d=o((t,e,r,n)=>{let i=`Error in policy: ${t} - On route ${e.method} ${r.route.path}. ${n}`;return qP.HttpProblems.internalServerError(e,r,{detail:i})},"getProblemDetailResponse")});var Mg=g(Rn=>{"use strict";Object.defineProperty(Rn,"__esModule",{value:!0});Rn.MoesifInboundPolicy=Rn.setMoesifContext=void 0;var jP=D(),VP=we(),GP="Incoming",BP={logRequestBody:!0,logResponseBody:!0};function Cg(t){let e={};return t.forEach((r,n)=>{e[n]=r}),e}o(Cg,"headersToObject");function Lg(){return new Date().toISOString()}o(Lg,"timestamp");var jd=new WeakMap,KP={};function JP(t,e){let r=jd.get(t);r||(r=KP);let n=Object.assign({...r},e);jd.set(t,n)}o(JP,"setMoesifContext");Rn.setMoesifContext=JP;async function Dg(t,e){let r=t.headers.get("content-type"),n=t.clone();if(r&&r.indexOf("json")!==0)try{return await n.json()}catch(s){e.log.error(s)}let i=await n.text();return e.log.debug({textBody:i}),i}o(Dg,"readBody");var zP={},Vd;function Ug(){if(!Vd)throw new jP.RuntimeError("Invalid State - no _lastLogger");return Vd}o(Ug,"getLastLogger");function WP(t){let e=zP[t];return e||(e=new VP.BatchDispatch("moesif-inbound",100,async r=>{let n=JSON.stringify(r);Ug().debug("posting",n);let i=await fetch("https://api.moesif.net/v1/events/batch",{method:"POST",headers:{"content-type":"application/json","X-Moesif-Application-Id":t},body:n});i.ok||Ug().error({status:i.status,body:await i.text()})})),e}o(WP,"getDispatcher");async function QP(t,e,r,n){Vd=e.log;let i=Lg(),s=Object.assign(BP,r);if(!s.applicationId)throw new Error(`Invalid configuration for MoesifInboundPolicy '${n}' - applicationId is required`);let a=s.logRequestBody?await Dg(t,e):void 0;return e.addResponseSendingFinalHook(async(c,u)=>{let l=WP(s.applicationId),d=t.headers.get("true-client-ip"),p=jd.get(e)??{},m={time:i,uri:t.url,verb:t.method,body:a,ip_address:d??void 0,api_version:p.apiVersion,headers:Cg(t.headers)},f=s.logResponseBody?await Dg(c,e):void 0,y={time:Lg(),status:c.status,headers:Cg(c.headers),body:f},v={request:m,response:y,user_id:p.userId??u.user?.sub,session_token:p.sessionToken,company_id:p.companyId,metadata:p.metadata,direction:GP};l.enqueue(v),e.waitUntil(l.waitUntilFlushed())}),t}o(QP,"MoesifInboundPolicy");Rn.MoesifInboundPolicy=QP});var kg=g(ba=>{"use strict";Object.defineProperty(ba,"__esModule",{value:!0});ba.OktaJwtInboundPolicy=void 0;var YP=Mt(),ZP=o(async(t,e,r,n)=>(0,YP.OpenIdJwtInboundPolicy)(t,e,{issuer:r.issuerUrl,audience:r.audience,jwkUrl:`${r.issuerUrl}/v1/keys`,allowUnauthenticatedRequests:r.allowUnauthenticatedRequests},n),"OktaJwtInboundPolicy");ba.OktaJwtInboundPolicy=ZP});var Fg=g(Ea=>{"use strict";Object.defineProperty(Ea,"__esModule",{value:!0});Ea.PropelAuthJwtInboundPolicy=void 0;var XP=(fs(),Bi(hs)),eR=Mt(),Gd,tR=o(async(t,e,r,n)=>{if(!Gd)try{Gd=await(0,XP.importSPKI)(r.verifierKey,"RS256")}catch(i){throw e.log.error("Could not import verifier key"),i}return(0,eR.OpenIdJwtInboundPolicy)(t,e,{issuer:r.authUrl,secret:Gd,allowUnauthenticatedRequests:r.allowUnauthenticatedRequests,subPropertyName:"user_id"},n)},"PropelAuthJwtInboundPolicy");Ea.PropelAuthJwtInboundPolicy=tR});var Hg=g(G=>{"use strict";Object.defineProperty(G,"__esModule",{value:!0});G.throwIfStateNotObject=G.throwIfStateNotNumber=G.throwIfStateNotString=G.throwIfStateUndefinedOrNull=G.throwIfStateUndefined=G.throwIfOptionNotObject=G.throwIfOptionNotNumber=G.throwIfOptionNotString=G.throwIfOptionUndefinedOrNull=G.throwIfOptionUndefined=G.OptionTypeError=G.OptionUndefinedError=G.throwIfNotNumber=G.throwIfNotString=G.throwIfUndefinedOrNull=G.throwIfUndefined=G.ArgumentTypeError=G.ArgumentUndefinedError=G.ValidationError=void 0;var $e=Br(),et=class extends Error{static{o(this,"ValidationError")}constructor(e){super(e)}};G.ValidationError=et;var bi=class extends et{static{o(this,"ArgumentUndefinedError")}constructor(e){super(`The argument '${e}' is undefined.`)}};G.ArgumentUndefinedError=bi;var Ei=class extends et{static{o(this,"ArgumentTypeError")}constructor(e,r){super(`The argument '${e}' must be of type '${r}'.`)}};G.ArgumentTypeError=Ei;function rR(t,e){if((0,$e.isUndefined)(t))throw new bi(e)}o(rR,"throwIfUndefined");G.throwIfUndefined=rR;function Bd(t,e){if((0,$e.isUndefinedOrNull)(t))throw new bi(e)}o(Bd,"throwIfUndefinedOrNull");G.throwIfUndefinedOrNull=Bd;function nR(t,e){if(Bd(t,e),!(0,$e.isString)(t))throw new Ei(e,"string")}o(nR,"throwIfNotString");G.throwIfNotString=nR;function iR(t,e){if(Bd(t,e),!(0,$e.isNumber)(t))throw new Ei(e,"number")}o(iR,"throwIfNotNumber");G.throwIfNotNumber=iR;var wi=class extends et{static{o(this,"OptionUndefinedError")}constructor(e,r,n){super(`The option '${n}' on the ${e} named '${r}' is undefined.`)}};G.OptionUndefinedError=wi;var On=class extends et{static{o(this,"OptionTypeError")}constructor(e,r,n,i){super(`The option '${n}' on the ${e} named '${r}' must be of type '${i}'.`)}};G.OptionTypeError=On;function oR(t,e,r,n){if((0,$e.isUndefined)(n))throw new wi(t,e,r)}o(oR,"throwIfOptionUndefined");G.throwIfOptionUndefined=oR;function wa(t,e,r,n){if((0,$e.isUndefinedOrNull)(n))throw new wi(t,e,r)}o(wa,"throwIfOptionUndefinedOrNull");G.throwIfOptionUndefinedOrNull=wa;function sR(t,e,r,n){if(wa(t,e,r,n),!(0,$e.isString)(n))throw new On(t,e,r,"string")}o(sR,"throwIfOptionNotString");G.throwIfOptionNotString=sR;function aR(t,e,r,n){if(wa(t,e,r,n),!(0,$e.isNumber)(n))throw new On(t,e,r,"number")}o(aR,"throwIfOptionNotNumber");G.throwIfOptionNotNumber=aR;function cR(t,e,r,n){if(wa(t,e,r,n),!(0,$e.isObject)(n))throw new On(t,e,r,"object")}o(cR,"throwIfOptionNotObject");G.throwIfOptionNotObject=cR;function uR(t,e){if((0,$e.isUndefined)(t))throw new et(e)}o(uR,"throwIfStateUndefined");G.throwIfStateUndefined=uR;function va(t,e){if((0,$e.isUndefinedOrNull)(t))throw new et(e)}o(va,"throwIfStateUndefinedOrNull");G.throwIfStateUndefinedOrNull=va;function lR(t,e){if(va(t,e),!(0,$e.isString)(t))throw new et(e);return!0}o(lR,"throwIfStateNotString");G.throwIfStateNotString=lR;function dR(t,e){if(va(t,e),!(0,$e.isNumber)(t))throw new et(e);return!0}o(dR,"throwIfStateNotNumber");G.throwIfStateNotNumber=dR;function pR(t,e){if(va(t,e),!(0,$e.isObject)(t))throw new et(e);return!0}o(pR,"throwIfStateNotObject");G.throwIfStateNotObject=pR});var qg=g(xn=>{"use strict";Object.defineProperty(xn,"__esModule",{value:!0});xn.InMemoryRedisClient=xn.StandardRedisClient=void 0;var Kd=D(),Ta=Hg(),Jd=class t{static{o(this,"StandardRedisClient")}static instance;redisClientUrl;clientAuthToken;userAgent;deploymentName;constructor(e,r,n,i){this.redisClientUrl=e,this.clientAuthToken=r,this.deploymentName=n,this.userAgent=i}static initialize(e,r,n,i){return(0,Ta.throwIfNotString)(e,"redisClientUrl"),(0,Ta.throwIfNotString)(r,"clientAuthToken"),t.instance||(t.instance=new t(e,r,n,i)),t.instance}isEnabled(){return this.redisClientUrl!==void 0&&this.clientAuthToken!==void 0}async fetch({url:e,body:r,method:n,requestId:i}){(0,Ta.throwIfNotString)(e,"url");let s=await fetch(`${this.redisClientUrl}${e}`,{method:n,body:r,headers:{"content-type":"application/json",authorization:`Bearer ${this.clientAuthToken}`,"zp-rid":i,"zp-dn":this.deploymentName,"User-Agent":this.userAgent}}),a=s.headers.get("Content-Type")?.includes("application/json")?await s.json():await s.text();if(s.ok)return a;throw s.status===401?new Kd.SystemError("Redis client failed with 401: Unauthorized"):new Kd.SystemError(`Redis client failed with (${s.status}): ${typeof a=="string"?a:JSON.stringify(a,null,2)}`)}};xn.StandardRedisClient=Jd;var zd=class{static{o(this,"InMemoryRedisClient")}keyValueStore;constructor(){this.keyValueStore=new Map}isEnabled(){return!0}fetch({url:e,body:r,method:n}){if((0,Ta.throwIfNotString)(e,"url"),n==="POST"&&e==="/rate-limit"){let{incrBy:i,expire:s,key:a}=JSON.parse(r),c=Date.now()+s*1e3,u=this.keyValueStore.get(a);u?Date.now()>u.expiresAt?this.keyValueStore.set(a,{value:i,expiresAt:c}):this.keyValueStore.set(a,{value:u.value+i,expiresAt:u.expiresAt}):this.keyValueStore.set(a,{value:i,expiresAt:c});let l=this.keyValueStore.get(a);return Promise.resolve({count:l.value,ttlSeconds:Math.round((l.expiresAt-Date.now())/1e3)})}throw new Kd.SystemError("The in-memory redis client only supports /rate-limit calls")}};xn.InMemoryRedisClient=zd});var Bg=g(Aa=>{"use strict";Object.defineProperty(Aa,"__esModule",{value:!0});Aa.RateLimitInboundPolicy=void 0;var hR=Er(),fR=ke(),mR=ur(),kt=D(),yR=ve(),$g=Ge(),vi=te(),jg=qg(),Vg=Br(),Sa=(0,hR.debug)("zuplo:policies:RateLimitInboundPolicy"),gR="strict",_R=o(t=>{let e=t.headers.get("cf-connecting-ip")??t.headers.get("true-client-ip");if(e)return e;let r=t.headers.get("x-forwarded-for");return r?r.split(",")[0]:"127.0.0.1"},"getRealIP"),bR=o(async t=>({key:`ip-${_R(t)}`}),"getIP"),ER=o(async t=>({key:`user-${t.user?.sub??"anonymous"}`}),"getUser"),wR=o(async()=>({key:"all-2d77ce9d-9a3c-4206-9ab2-668cfd271095"}),"getAll"),Ia;function vR(t,e){let r;if(Ia)return Ia;if(vi.Environment.instance.isLocalDevelopment)return e.info("Using in-memory redis client for local development."),r=new jg.InMemoryRedisClient,Ia=r,r;let{authApiJWT:n,redisURL:i}=vi.Environment.instance;if(!(0,Vg.isString)(i))throw new kt.SystemError(`RateLimitInboundPolicy '${t}' - rate limit service URL not configured`);if(!(0,Vg.isString)(n))throw new kt.SystemError(`RateLimitInboundPolicy '${t}' - service authentication not configured`);if(i&&(r=jg.StandardRedisClient.initialize(i,n,vi.Environment.instance.deploymentName??"unknown",vi.Environment.instance.systemUserAgent)),!r||!r.isEnabled())throw new kt.SystemError(`RateLimitInboundPolicy '${t}' - no redis ('${r}') or redis.isEnabled ('${r?.isEnabled}) is false`);return Ia=r,r}o(vR,"getRedisClient");async function Gg(t,e,r,n,i){let s=Math.floor(e*60);return await r.fetch({url:"/rate-limit",method:"POST",body:JSON.stringify({incrBy:1,expire:s,key:t}),requestId:i})}o(Gg,"getCountAndUpdateExpiry");function TR(t,e){let r;if(t.rateLimitBy==="function"){if(!t.identifier)throw new kt.ConfigurationError(`RateLimitInboundPolicy '${e}' - If rateLimitBy set to 'function' options.identifier must be specified`);if(!t.identifier.module)throw new kt.ConfigurationError(`RateLimitInboundPolicy '${e}' - If rateLimitBy set to 'function' options.identifier.module must be specified`);if(!t.identifier.export)throw new kt.ConfigurationError(`RateLimitInboundPolicy '${e}' - If rateLimitBy set to 'function' options.identifier.export must be specified`);if(r=t.identifier.module[t.identifier.export],!r||typeof r!="function")throw new kt.ConfigurationError(`RateLimitInboundPolicy '${e}' - Custom rate limit function must be a valid function`)}return o(async(i,s,a)=>{let c=await r(i,s,a);if(!c.key){let u=`RateLimitInboundPolicy '${a}' - Custom rate limit function must return a valid key property '${JSON.stringify(c,null,2)}'`;throw s.log.error(u),new kt.RuntimeError(u)}return c},"outerFunction")}o(TR,"wrapUserFunction");var SR="Retry-After",IR=o(async(t,e,r,n)=>{let i=Date.now(),s=$g.SystemLogMap.getLogger(e),a=o((u,l)=>{if(r.throwOnFailure)throw new kt.SystemError(u,{cause:l});s.error(u,l)},"throwOrLog"),c=o((u,l)=>{let d={};return(!u||u==="retry-after")&&(d[SR]=l.toString()),yR.HttpProblems.tooManyRequests(t,e,void 0,d)},"rateLimited");try{let l={function:TR(r,n),user:ER,ip:bR,all:wR}[r.rateLimitBy],d=await l(t,e,n),p=d.key,m=d.requestsAllowed??r.requestsAllowed,f=d.timeWindowMinutes??r.timeWindowMinutes,y=r.headerMode??"retry-after",v=vR(n,s),I=`bucket/${vi.Environment.instance.build.BUILD_ID}/${n}/${p}`;if((r.mode??gR)==="async"){let N=new fR.ZoneCache((0,mR.getPolicyCacheName)(n),{logger:$g.SystemLogMap.getLogger(e)}),oe=Gg(I,f,v,s,e.requestId),ee=await N.get(I);if(ee!==void 0&&ee<=Date.now()){Sa(`RateLimitInboundPolicy '${n}' - returning 429 from cache for '${I}' (async mode)`);let fe=Math.round((ee-Date.now())/1e3);return c(y,fe)}return e.addEventListener("responseSending",fe=>{try{let Me=fe,E=Me.mutableResponse;Me.mutableResponse=(async()=>{let F=await oe;if(F.count>m){let Ye=Date.now()+F.ttlSeconds*1e3;return N.put(I,Ye,F.ttlSeconds).catch(Vi=>{throw s.error(Vi),Vi}),Sa(`RateLimitInboundPolicy '${n}' - returning 429 from redis for '${I}' (async mode)`),c(y,F.ttlSeconds)}return E})()}catch(Me){s.error(`RateLimitInboundPolicy '${n}' -error in responseSending`,Me)}}),t}let j=await Gg(I,f,v,s,e.requestId);return j.count>m?(Sa(`RateLimitInboundPolicy '${n}' - returning 429 from redis for '${I}' (strict mode)`),c(y,j.ttlSeconds)):t}catch(u){return a(u.message,u),t}finally{let u=Date.now()-i;Sa(`RateLimitInboundPolicy '${n}' - latency ${u}ms`)}},"RateLimitInboundPolicy");Aa.RateLimitInboundPolicy=IR});var Wg=g(Pa=>{"use strict";Object.defineProperty(Pa,"__esModule",{value:!0});Pa.ReadmeMetricsInboundPolicy=void 0;var AR=we(),Wd=te(),Kg=ta(),Qd;function Jg(t){let e=[];for(let[r,n]of t)e.push({name:r,value:n});return e}o(Jg,"headersToNameValuePairs");function PR(t){let e=[];return Object.entries(t).forEach(([r,n])=>{e.push({name:r,value:n})}),e}o(PR,"queryToNameValueParis");function RR(t){if(t===null)return;let e=parseFloat(t);if(!isNaN(e))return e}o(RR,"parseIntOrUndefined");var zg={};async function OR(t,e,r,n){let i=new Date,s=Date.now();return Qd||(Qd={name:"zuplo",version:Wd.Environment.instance.build.ZUPLO_VERSION,comment:`zuplo/${Wd.Environment.instance.build.ZUPLO_VERSION}`}),e.addResponseSendingFinalHook(async a=>{try{let c=r.userLabelPropertyPath&&t.user?(0,Kg.getValueFromRequestUser)(t.user,r.userLabelPropertyPath,"userLabelPropertyPath"):t.user?.sub,u=r.userEmailPropertyPath&&t.user?(0,Kg.getValueFromRequestUser)(t.user,r.userEmailPropertyPath,"userEmailPropertyPath"):void 0,l={clientIPAddress:t.headers.get("true-client-ip")??"",development:r.development!==void 0?r.development:Wd.Environment.instance.isDeno,group:{label:c,email:u,id:t.user?.sub??"anonymous"},request:{log:{creator:Qd,entries:[{startedDateTime:i.toISOString(),time:Date.now()-s,request:{method:t.method,url:r.useFullRequestPath?new URL(t.url).pathname:e.route.path,httpVersion:"2",headers:Jg(t.headers),queryString:PR(t.query)},response:{status:a.status,statusText:a.statusText,headers:Jg(a.headers),content:{size:RR(t.headers.get("content-length"))}}}]}}},d=zg[r.apiKey];if(!d){let p=r.apiKey;d=new AR.BatchDispatch("readme-metering-inbound-policy",10,async m=>{try{let f=r.url??"https://metrics.readme.io/request",y=await fetch(f,{method:"POST",body:JSON.stringify(m),headers:{"content-type":"application/json",authorization:`Basic ${btoa(p+":")}`}});y.status!==202&&e.log.error(`Unexpected response in ReadmeMeteringInboundPolicy '${n}'. ${y.status}: '${await y.text()}'`)}catch(f){throw e.log.error(`Error in ReadmeMeteringInboundPolicy '${n}': '${f.message}'`),f}}),zg[p]=d}d.enqueue(l),e.waitUntil(d.waitUntilFlushed())}catch(c){e.log.error(c)}}),t}o(OR,"ReadmeMetricsInboundPolicy");Pa.ReadmeMetricsInboundPolicy=OR});var Qg=g(Ra=>{"use strict";Object.defineProperty(Ra,"__esModule",{value:!0});Ra.RemoveHeadersInboundPolicy=void 0;var xR=ke(),NR=D(),CR=o(async(t,e,r,n)=>{let i=r?.headers;if(!i||!Array.isArray(i)||i.length===0)throw new NR.ConfigurationError(`RemoveHeadersInboundPolicy '${n}' options.headers must be a non-empty string array of header names`);let s=new Headers(t.headers);return i.forEach(c=>{s.delete(c)}),new xR.ZuploRequest(t,{headers:s})},"RemoveHeadersInboundPolicy");Ra.RemoveHeadersInboundPolicy=CR});var Yg=g(Oa=>{"use strict";Object.defineProperty(Oa,"__esModule",{value:!0});Oa.RemoveHeadersOutboundPolicy=void 0;var LR=D(),DR=o(async(t,e,r,n,i)=>{let s=n?.headers;if(!s||!Array.isArray(s)||s.length===0)throw new LR.ConfigurationError(`RemoveHeadersOutboundPolicy '${i}' options.headers must be a non-empty string array of header names`);let a=new Headers(t.headers);return s.forEach(u=>{a.delete(u)}),new Response(t.body,{headers:a,status:t.status,statusText:t.statusText})},"RemoveHeadersOutboundPolicy");Oa.RemoveHeadersOutboundPolicy=DR});var Zg=g(xa=>{"use strict";Object.defineProperty(xa,"__esModule",{value:!0});xa.RemoveQueryParamsInboundPolicy=void 0;var UR=ke(),MR=D(),kR=o(async(t,e,r,n)=>{let i=r.params;if(!i||!Array.isArray(i)||i.length===0)throw new MR.ConfigurationError(`RemoveQueryParamsInboundPolicy '${n}' options.params must be a non-empty string array of header names`);let s=new URL(t.url);return i.forEach(c=>{s.searchParams.delete(c)}),new UR.ZuploRequest(s.toString(),t)},"RemoveQueryParamsInboundPolicy");xa.RemoveQueryParamsInboundPolicy=kR});var Xg=g(Na=>{"use strict";Object.defineProperty(Na,"__esModule",{value:!0});Na.ReplaceStringOutboundPolicy=void 0;var FR=o(async(t,e,r,n)=>{let i=await t.text(),s=n.mode==="regexp"?new RegExp(n.match,"gm"):n.match,a=i.replaceAll(s,n.replaceWith);return new Response(a,{headers:t.headers,status:t.status,statusText:t.statusText})},"ReplaceStringOutboundPolicy");Na.ReplaceStringOutboundPolicy=FR});var t_=g(Ca=>{"use strict";Object.defineProperty(Ca,"__esModule",{value:!0});Ca.RequestSizeLimitInboundPolicy=void 0;var e_=o(()=>new Response("Maximum request size exceeded",{status:413,statusText:"Payload Too Large"}),"payloadTooLarge"),HR=o(async(t,e,r)=>{let n=r.trustContentLengthHeader??!1;if(["GET","HEAD"].includes(t.method))return t;let i=t.headers.get("content-length"),s=i!==null?parseInt(i):void 0;return s&&!isNaN(s)&&s>r.maxSizeInBytes?e_():s&&n?t:(await t.clone().text()).length>r.maxSizeInBytes?e_():t},"RequestSizeLimitInboundPolicy");Ca.RequestSizeLimitInboundPolicy=HR});var La=g(tt=>{"use strict";Object.defineProperty(tt,"__esModule",{value:!0});tt.sanitizedIdentifierName=tt.getIdForRefSchema=tt.getIdForRequestBodySchema=tt.getIdForParameterSchema=tt.getRawOperationDataIdentifierName=void 0;function qR(t,e,r){return`_${Cr(t+"_"+e+"_"+r)}`}o(qR,"getRawOperationDataIdentifierName");tt.getRawOperationDataIdentifierName=qR;function $R(t,e,r,n){return`_${Cr(t.toLowerCase())}_`+e.toLowerCase()+"_"+r.toLowerCase()+`_${n.toLowerCase()}`}o($R,"getIdForParameterSchema");tt.getIdForParameterSchema=$R;function jR(t,e,r){return`_${Cr(t.toLowerCase())}_`+e.toLowerCase()+`_rb_${Cr(r.toLowerCase())}`}o(jR,"getIdForRequestBodySchema");tt.getIdForRequestBodySchema=jR;function VR(t,e){return`_${Cr(t)}__${Cr(e)}`}o(VR,"getIdForRefSchema");tt.getIdForRefSchema=VR;function Cr(t){let e=[];for(let r=0;r<t.length;r++){let n=t.charCodeAt(r);n>="0".charCodeAt(0)&&n<="9".charCodeAt(0)||n>="A".charCodeAt(0)&&n<="Z".charCodeAt(0)||n>="a".charCodeAt(0)&&n<="z".charCodeAt(0)?e.push(t.charAt(r)):e.push("_")}return e.join("")}o(Cr,"sanitizedIdentifierName");tt.sanitizedIdentifierName=Cr});var Ti=g(Ce=>{"use strict";Object.defineProperty(Ce,"__esModule",{value:!0});Ce.getErrorsFromValidator=Ce.shouldReject=Ce.shouldLog=Ce.logErrors=Ce.validateParameters=Ce.getParametersForOperation=void 0;var GR=un(),Da=Lr(),BR=La(),KR=o(t=>{let e=t.route.raw();return e.parameters?e.parameters.map(n=>({name:n.name,location:n.in,required:n.required,deprecated:n.deprecated,allowEmptyValue:n.allowEmptyValue})):[]},"getParametersForOperation");Ce.getParametersForOperation=KR;var JR=o((t,e,r,n,i)=>{let s=[],a=!0,c=[];return t.forEach(u=>{if(u.required&&!e[u.name])a=!1,s.push(`Required ${i} parameter '${u.name}' not found`);else{let l=(0,BR.getIdForParameterSchema)(r,n,i,u.name),d=GR.Gateway.instance.schemaValidator[l],p=d(e[u.name]),m=(0,Ce.getErrorsFromValidator)(d.errors);p||(a=!1,c.push(`${i} parameter: ${u.name} : ${e[u.name]}`),s.push(`Invalid value for ${i} parameter: '${u.name}' ${m.join(", ")}`))}}),{isValid:a,invalidValues:c,errors:s}},"validateParameters");Ce.validateParameters=JR;var zR=o((t,e,r,n,i)=>{n?t.log[e](r,n,i):t.log[e](r,i)},"logErrors");Ce.logErrors=zR;var WR=o(t=>t===Da.ValidationOptions.logOnly||t===Da.ValidationOptions.rejectAndLog,"shouldLog");Ce.shouldLog=WR;var QR=o(t=>t===Da.ValidationOptions.rejectOnly||t===Da.ValidationOptions.rejectAndLog,"shouldReject");Ce.shouldReject=QR;var YR=o(t=>t?.map(e=>e.instancePath===void 0||e.instancePath===""?e.message??"Unknown validation error":e.instancePath.replace("/","")+" "+e.message)??["Unknown validation error"],"getErrorsFromValidator");Ce.getErrorsFromValidator=YR});var r_=g(Ma=>{"use strict";Object.defineProperty(Ma,"__esModule",{value:!0});Ma.handleBodyValidation=void 0;var ZR=un(),XR=Lr(),Ua=ve(),eO=La(),Ke=Ti();async function tO(t,e,r){if(!r.validateBody||r.validateBody===XR.ValidationOptions.none)return;let n;try{n=await e.clone().json()}catch(f){let y=`Error in request body for method : ${e.method} in route: ${t.route.path} with content-type: ${e.headers.get("Content-Type")}`,v=Ua.HttpProblems.badRequest(e,t,{detail:`${y}, see errors property for more details`,errors:`${f}`});if((0,Ke.shouldLog)(r.validateBody)&&(0,Ke.logErrors)(t,r.logLevel??"info",y,[n],f),(0,Ke.shouldReject)(r.validateBody))return v}if(!e.headers.get("Content-Type")){let f=`No content-type header defined in incoming request to ${e.method} in route: ${t.route.path}`,y=Ua.HttpProblems.badRequest(e,t,{detail:f});return(0,Ke.shouldLog)(r.validateBody)&&(0,Ke.logErrors)(t,r.logLevel??"info",f,[n],[f]),(0,Ke.shouldReject)(r.validateBody)?y:void 0}let i=e.headers.get("Content-Type"),s=i.indexOf(";");s>-1&&(i=i.substring(0,s));let a=(0,eO.getIdForRequestBodySchema)(t.route.path,e.method,i),c=ZR.Gateway.instance.schemaValidator[a];if(!c){let f=`No schema defined for method: ${e.method} in route: ${t.route.path} with content-type: ${e.headers.get("Content-Type")}`,y=Ua.HttpProblems.badRequest(e,t,{detail:f});return(0,Ke.shouldLog)(r.validateBody)&&(0,Ke.logErrors)(t,r.logLevel??"info",f,[n],[f]),(0,Ke.shouldReject)(r.validateBody)?y:void 0}if(c(n))return;let l=c.errors,d="Request body did not pass validation",p=(0,Ke.getErrorsFromValidator)(l),m=Ua.HttpProblems.badRequest(e,t,{detail:`${d}, see errors property for more details`,errors:p});if((0,Ke.shouldLog)(r.validateBody)&&(0,Ke.logErrors)(t,r.logLevel??"info",d,[n],p),(0,Ke.shouldReject)(r.validateBody))return m}o(tO,"handleBodyValidation");Ma.handleBodyValidation=tO});var n_=g(ka=>{"use strict";Object.defineProperty(ka,"__esModule",{value:!0});ka.handleHeadersValidation=void 0;var rO=Lr(),nO=ve(),Si=Ti();function iO(t,e,r){if(!r.validateHeaders||r.validateHeaders===rO.ValidationOptions.none)return;let n={};e.headers.forEach((a,c)=>{n[c]=a});let i=(0,Si.getParametersForOperation)(t),s=(0,Si.validateParameters)(i.filter(a=>a.location==="header"),n,t.route.path,e.method.toLowerCase(),"header");if(!s.isValid){let a="Header validation failed",c=nO.HttpProblems.badRequest(e,t,{detail:`${a}, see errors property for more details`,errors:s.errors});if((0,Si.shouldLog)(r.validateHeaders)&&(0,Si.logErrors)(t,r.logLevel??"info",a,s.invalidValues,s.errors),(0,Si.shouldReject)(r.validateHeaders))return c}}o(iO,"handleHeadersValidation");ka.handleHeadersValidation=iO});var i_=g(Fa=>{"use strict";Object.defineProperty(Fa,"__esModule",{value:!0});Fa.handlePathParameterValidation=void 0;var oO=Lr(),sO=ve(),Ii=Ti();function aO(t,e,r){if(!r.validatePathParameters||r.validatePathParameters===oO.ValidationOptions.none)return;let n=(0,Ii.getParametersForOperation)(t),i=(0,Ii.validateParameters)(n.filter(s=>s.location==="path"),e.params,t.route.path,e.method.toLowerCase(),"path");if(!i.isValid){let s="Path parameters validation failed",a=sO.HttpProblems.badRequest(e,t,{detail:`${s}, see errors property for more details`,errors:i.errors});if((0,Ii.shouldLog)(r.validatePathParameters)&&(0,Ii.logErrors)(t,r.logLevel??"info",s,i.invalidValues,i.errors),(0,Ii.shouldReject)(r.validatePathParameters))return a}}o(aO,"handlePathParameterValidation");Fa.handlePathParameterValidation=aO});var o_=g(Ha=>{"use strict";Object.defineProperty(Ha,"__esModule",{value:!0});Ha.handleQueryParameterValidation=void 0;var cO=Lr(),uO=ve(),Ai=Ti();function lO(t,e,r){if(!r.validateQueryParameters||r.validateQueryParameters===cO.ValidationOptions.none)return;let n=(0,Ai.getParametersForOperation)(t),i=(0,Ai.validateParameters)(n.filter(s=>s.location==="query"),e.query,t.route.path,e.method.toLowerCase(),"query");if(!i.isValid){let s="Query parameters validation failed",a=uO.HttpProblems.badRequest(e,t,{detail:`${s}, see errors property for more details`,errors:i.errors});if((0,Ai.shouldLog)(r.validateQueryParameters)&&(0,Ai.logErrors)(t,r.logLevel??"info",s,i.invalidValues,i.errors),(0,Ai.shouldReject)(r.validateQueryParameters))return a}}o(lO,"handleQueryParameterValidation");Ha.handleQueryParameterValidation=lO});var Lr=g(Ft=>{"use strict";Object.defineProperty(Ft,"__esModule",{value:!0});Ft.SchemaBasedRequestValidation=Ft.RequestValidationInboundPolicy=Ft.ValidationOptions=void 0;var dO=r_(),pO=n_(),hO=i_(),fO=o_(),s_;(function(t){t.none="none",t.logOnly="log-only",t.rejectAndLog="reject-and-log",t.rejectOnly="reject-only"})(s_||(Ft.ValidationOptions=s_={}));var mO=o(async(t,e,r)=>{let n=(0,fO.handleQueryParameterValidation)(e,t,r);if(n!==void 0||(n=(0,hO.handlePathParameterValidation)(e,t,r),n!==void 0)||(n=(0,pO.handleHeadersValidation)(e,t,r),n!==void 0))return n;let i=await(0,dO.handleBodyValidation)(e,t,r);return i!==void 0?i:t},"RequestValidationInboundPolicy");Ft.RequestValidationInboundPolicy=mO;Ft.SchemaBasedRequestValidation=Ft.RequestValidationInboundPolicy});var a_=g(qa=>{"use strict";Object.defineProperty(qa,"__esModule",{value:!0});qa.RequireOriginInboundPolicy=void 0;var yO=ke(),gO=D(),_O=o(async(t,e,r,n)=>{if(r.origins===void 0||r.origins.length===0)throw new gO.ConfigurationError(`RequireOriginInboundPolicy '${n}' configuration error - no allowed origins specified`);let i=typeof r.origins=="string"?r.origins.split(","):r.origins;i=i.map(a=>a.trim());let s=t.headers.get("origin");if(!s||!i.includes(s)){let a=r.failureDetail??"Forbidden";return yO.HttpProblems.forbidden(t,e,{detail:a})}return t},"RequireOriginInboundPolicy");qa.RequireOriginInboundPolicy=_O});var c_=g($a=>{"use strict";Object.defineProperty($a,"__esModule",{value:!0});$a.SetBodyInboundPolicy=void 0;var bO=ke(),EO=o(async(t,e,r)=>new bO.ZuploRequest(t,{body:r.body}),"SetBodyInboundPolicy");$a.SetBodyInboundPolicy=EO});var l_=g(ja=>{"use strict";Object.defineProperty(ja,"__esModule",{value:!0});ja.SetHeadersInboundPolicy=void 0;var wO=ke(),u_=D(),vO=o(async(t,e,r,n)=>{let i=r.headers;if(!i||!Array.isArray(i)||i.length==0)throw new u_.ConfigurationError(`SetHeadersInboundPolicy '${n}' options.headers must be a valid array of { name, value }`);let s=new Headers(t.headers);return i.forEach(c=>{if(!c.name||c.name.length===0)throw new u_.ConfigurationError(`SetHeadersInboundPolicy '${n}' each option.headers[] entry must have a name property`);let u=c.overwrite===void 0?!0:c.overwrite;(!s.has(c.name)||u)&&s.set(c.name,c.value)}),new wO.ZuploRequest(t,{headers:s})},"SetHeadersInboundPolicy");ja.SetHeadersInboundPolicy=vO});var p_=g(Va=>{"use strict";Object.defineProperty(Va,"__esModule",{value:!0});Va.SetHeadersOutboundPolicy=void 0;var d_=D(),TO=o(async(t,e,r,n,i)=>{let s=n.headers;if(!s||!Array.isArray(s)||s.length==0)throw new d_.ConfigurationError(`SetHeadersOutboundPolicy '${i}' options.headers must be a valid array of { name, value }`);let a=new Headers(t.headers);return s.forEach(u=>{if(!u.name||u.name.length===0)throw new d_.ConfigurationError(`SetHeadersOutboundPolicy '${i}' each option.headers[] entry must have a name property`);let l=u.overwrite===void 0?!0:u.overwrite;(!a.has(u.name)||l)&&a.set(u.name,u.value)}),new Response(t.body,{headers:a,status:t.status,statusText:t.statusText})},"SetHeadersOutboundPolicy");Va.SetHeadersOutboundPolicy=TO});var f_=g(Ga=>{"use strict";Object.defineProperty(Ga,"__esModule",{value:!0});Ga.SetQueryParamsInboundPolicy=void 0;var SO=ke(),h_=D(),IO=o(async(t,e,r,n)=>{let i=r.params;if(!i||!Array.isArray(i)||i.length==0)throw new h_.ConfigurationError(`SetQueryParamsInboundPolicy '${n}' options.params must be a valid array of { name, value }`);let s=new URL(t.url);return i.forEach(c=>{if(!c.name||c.name.length===0)throw new h_.ConfigurationError(`SetQueryParamsInboundPolicy '${n}' each option.params[] entry must have a name property`);let u=c.overwrite===void 0?!0:c.overwrite;(!s.searchParams.has(c.name)||u)&&s.searchParams.set(c.name,c.value)}),new SO.ZuploRequest(s.toString(),t)},"SetQueryParamsInboundPolicy");Ga.SetQueryParamsInboundPolicy=IO});var m_=g(Ba=>{"use strict";Object.defineProperty(Ba,"__esModule",{value:!0});Ba.SetStatusOutboundPolicy=void 0;var AO=o(async(t,e,r,n,i)=>{if(!n.status||isNaN(n.status)||n.status<100||n.status>599)throw new Error(`Invalid SetStatusOutboundPolicy '${i}' - status must be a valid number between 100 and 599, not '${n.status}'`);return new Response(t.body,{headers:t.headers,status:n.status,statusText:n.statusText??t.statusText})},"SetStatusOutboundPolicy");Ba.SetStatusOutboundPolicy=AO});var y_=g(Ka=>{"use strict";Object.defineProperty(Ka,"__esModule",{value:!0});Ka.SleepInboundPolicy=void 0;var PO=D(),RO=o(async t=>new Promise((r,n)=>{setTimeout(r,t)}),"sleep"),OO=o(async(t,e,r,n)=>{if(!r||r.sleepInMs===void 0||isNaN(r.sleepInMs))throw new PO.ConfigurationError(`SleepInboundPolicy '${n} must have a valid options.sleepInMs value`);return await RO(r.sleepInMs),t},"SleepInboundPolicy");Ka.SleepInboundPolicy=OO});var __=g(Ja=>{"use strict";Object.defineProperty(Ja,"__esModule",{value:!0});Ja.SupabaseJwtInboundPolicy=void 0;var xO=ke(),g_=D(),NO=ve(),CO=lr(),LO=Mt(),DO=o(async(t,e,r,n)=>{(0,CO.optionValidator)(r,n).required("secret","string").optional("allowUnauthenticatedRequests","boolean").optional("requiredClaims","object");let i={secret:r.secret,allowUnauthenticatedRequests:r.allowUnauthenticatedRequests??!1},s=await(0,LO.OpenIdJwtInboundPolicy)(t,e,i,n);if(s instanceof Response)return s;if(!(s instanceof xO.ZuploRequest))throw new g_.SystemError("Invalid State - SupabaseJwtInboundPolicy encountered a non-response that wasn't a ZuploRequest type')");let a=r.requiredClaims;if(!a)return s;let c=t.user?.data.app_metadata;if(!c)throw new g_.RuntimeError(`SupabaseJwtInboundPolicy policy '${n}' - has requiredClaims but the JWT token had no app_metadata property`);let u=Object.keys(a),l=[];return u.forEach(d=>{let p=a[d];Array.isArray(p)?p.includes(c[d])||l.push(d):p!==c[d]&&l.push(d)}),l.length>0?NO.HttpProblems.unauthorized(t,e,{detail:`Invalid JWT token - missing valid claims ${l.join(", ")}`}):s},"SupabaseJwtInboundPolicy");Ja.SupabaseJwtInboundPolicy=DO});var E_=g(za=>{"use strict";Object.defineProperty(za,"__esModule",{value:!0});za.UpstreamAzureAdServiceAuthInboundPolicy=void 0;var UO=ur(),MO=_r(),b_=D(),kO=Ge(),FO=ys(),HO=lr(),qO=o(async(t,e,r,n)=>{(0,HO.optionValidator)(r,n).required("activeDirectoryTenantId","string").required("activeDirectoryClientId","string").required("activeDirectoryClientSecret","string").optional("tokenRetries","number").optional("expirationOffsetSeconds","number");let i=new MO.MemoryZoneReadThroughCache((0,UO.getPolicyCacheName)(n),{logger:kO.SystemLogMap.getLogger(e)}),s=await i.get(n);if(!s){let a=await $O(r,e);i.put(n,a.access_token,a.expires_in-(r.expirationOffsetSeconds??300)),s=a.access_token}return t.headers.set("Authorization",`Bearer ${s}`),t},"UpstreamAzureAdServiceAuthInboundPolicy");za.UpstreamAzureAdServiceAuthInboundPolicy=qO;async function $O(t,e){let r=new URLSearchParams({client_id:t.activeDirectoryClientId,scope:`${t.activeDirectoryClientId}/.default`,client_secret:t.activeDirectoryClientSecret,grant_type:"client_credentials"}),n=await(0,FO.fetchRetry)({retries:t.tokenRetries??3,retryDelayMs:10},`https://login.microsoftonline.com/${t.activeDirectoryTenantId}/oauth2/v2.0/token`,{headers:{"content-type":"application/x-www-form-urlencoded"},method:"POST",body:r});if(n.status!==200){try{let s=await n.text();e.log.error("Could not get token from Azure AD",s)}catch{}throw new b_.RuntimeError("Could not get token from Azure AD")}let i=await n.json();if(i&&typeof i=="object"&&"access_token"in i&&typeof i.access_token=="string"&&"expires_in"in i&&typeof i.expires_in=="number")return{access_token:i.access_token,expires_in:i.expires_in};throw new b_.RuntimeError("Response returned from Azure AD is not in the expected format.")}o($O,"getAccessToken")});var v_=g(Wa=>{"use strict";Object.defineProperty(Wa,"__esModule",{value:!0});Wa.UpstreamFirebaseAdminAuthInboundPolicy=void 0;var jO=ur(),VO=_r(),GO=D(),BO=Ge(),Yd=sn(),KO=lr(),w_="https://accounts.google.com/o/oauth2/token",Zd,JO=o(async(t,e,r,n)=>{(0,KO.optionValidator)(r,n).required("serviceAccountJson","string"),Zd||(Zd=await Yd.GcpServiceAccount.init(r.serviceAccountJson));let i={scope:["https://www.googleapis.com/auth/cloud-platform","https://www.googleapis.com/auth/firebase.database","https://www.googleapis.com/auth/firebase.messaging","https://www.googleapis.com/auth/identitytoolkit","https://www.googleapis.com/auth/userinfo.email"].join(" ")},s=new VO.MemoryZoneReadThroughCache((0,jO.getPolicyCacheName)(n),{logger:BO.SystemLogMap.getLogger(e)}),a=await s.get(n);if(!a){let c=await(0,Yd.getTokenFromGcpServiceAccount)({serviceAccount:Zd,audience:w_,payload:i}),u=await(0,Yd.exchangeGgpJwtForIdToken)(w_,c,{retries:r.tokenRetries??3,retryDelayMs:10});if(!u.access_token)throw new GO.RuntimeError("Invalid OAuth response from Firebase");a=u.access_token,s.put(n,a,(u.expires_in??3600)-(r.expirationOffsetSeconds??300))}return t.headers.set("Authorization",`Bearer ${a}`),t},"UpstreamFirebaseAdminAuthInboundPolicy");Wa.UpstreamFirebaseAdminAuthInboundPolicy=JO});var T_=g(Qa=>{"use strict";Object.defineProperty(Qa,"__esModule",{value:!0});Qa.sha256=void 0;async function zO(t){let e=new TextEncoder().encode(t),r=await crypto.subtle.digest({name:"SHA-256"},e);return[...new Uint8Array(r)].map(i=>i.toString(16).padStart(2,"0")).join("")}o(zO,"sha256");Qa.sha256=zO});var S_=g(Ya=>{"use strict";Object.defineProperty(Ya,"__esModule",{value:!0});Ya.UpstreamFirebaseUserAuthInboundPolicy=void 0;var WO=ur(),QO=_r(),Nn=D(),YO=Ge(),ZO=T_(),Xd=sn(),XO=ta(),e0=lr(),t0="https://identitytoolkit.googleapis.com/google.identity.identitytoolkit.v1.IdentityToolkit",r0=["acr","amr","at_hash","aud","auth_time","azp","cnf","c_hash","exp","iat","iss","jti","nbf","nonce"],ep,n0=o(async(t,e,r,n)=>{if((0,e0.optionValidator)(r,n).required("serviceAccountJson","string").required("webApiKey","string").optional("developerClaims","object").optional("userId","string").optional("userIdPropertyPath","string"),!r.userId&&!r.userIdPropertyPath)throw new Nn.ConfigurationError(`Either 'userId' or 'userIdPropertyPath' options must be set on policy '${n}'.`);let i={};if(typeof r.developerClaims<"u"){for(let d in r.developerClaims)if(Object.prototype.hasOwnProperty.call(r.developerClaims,d)){if(r0.indexOf(d)!==-1)throw new Nn.ConfigurationError(`Developer claim "${d}" is reserved and cannot be specified.`);i[d]=r.developerClaims[d]}}ep||(ep=await Xd.GcpServiceAccount.init(r.serviceAccountJson));let s=r.userId;if(!s&&!r.userIdPropertyPath){if(!t.user)throw new Nn.RuntimeError("Unable to set userId for upstream auth policy as request.user is 'undefined'. Do you have an authentication policy before this policy?.");s=t.user?.sub}else if(r.userIdPropertyPath){if(!t.user)throw new Nn.RuntimeError(`Unable to apply userIdPropertyPath '${r.userIdPropertyPath}' as request.user is 'undefined'. Do you have an authentication policy before this policy?`);s=(0,XO.getValueFromRequestUser)(t.user,r.userIdPropertyPath,"userIdPropertyPath")}if(!s)throw new Nn.RuntimeError(`Unable to determine user from for the policy ${n}`);let a=new QO.MemoryZoneReadThroughCache((0,WO.getPolicyCacheName)(n),{logger:YO.SystemLogMap.getLogger(e)}),c={uid:s,claims:i},u=await(0,ZO.sha256)(JSON.stringify(c)),l=await a.get(u);if(!l){let d=await(0,Xd.getTokenFromGcpServiceAccount)({serviceAccount:ep,audience:t0,payload:c}),p=`https://identitytoolkit.googleapis.com/v1/accounts:signInWithCustomToken?key=${r.webApiKey}`,m=await(0,Xd.exchangeFirebaseJwtForIdToken)(p,d,{retries:r.tokenRetries??3,retryDelayMs:10});if(!m.idToken)throw new Nn.RuntimeError("Invalid token response from Firebase");l=m.idToken,a.put(u,l,(m.expiresIn?parseInt(m.expiresIn):3600)-(r.expirationOffsetSeconds??300))}return t.headers.set("Authorization",`Bearer ${l}`),t},"UpstreamFirebaseUserAuthInboundPolicy");Ya.UpstreamFirebaseUserAuthInboundPolicy=n0});var A_=g(Za=>{"use strict";Object.defineProperty(Za,"__esModule",{value:!0});Za.UpstreamGcpJwtInboundPolicy=void 0;var I_=sn(),i0=lr(),tp,o0=o(async(t,e,r,n)=>{(0,i0.optionValidator)(r,n).required("audience","string").required("serviceAccountJson","string"),tp||(tp=await I_.GcpServiceAccount.init(r.serviceAccountJson));let i=await(0,I_.getTokenFromGcpServiceAccount)({serviceAccount:tp,audience:r.audience});return t.headers.set("Authorization",`Bearer ${i}`),t},"UpstreamGcpJwtInboundPolicy");Za.UpstreamGcpJwtInboundPolicy=o0});var O_=g(Xa=>{"use strict";Object.defineProperty(Xa,"__esModule",{value:!0});Xa.UpstreamGcpServiceAuthInboundPolicy=void 0;var P_=ur(),s0=Kc(),a0=_r(),c0=D(),rp=sn(),u0=lr(),R_="https://www.googleapis.com/oauth2/v4/token",np,l0=o(async(t,e,r,n)=>{(0,u0.optionValidator)(r,n).required("audience","string").required("serviceAccountJson","string").optional("tokenRetries","number").optional("expirationOffsetSeconds","number"),np||(np=await rp.GcpServiceAccount.init(r.serviceAccountJson));let i;r.useMemoryCacheOnly?i=new s0.MemoryCache((0,P_.getPolicyCacheName)(n)):i=new a0.MemoryZoneReadThroughCache((0,P_.getPolicyCacheName)(n),e);let s=await i.get(n);if(!s){let a=await(0,rp.getTokenFromGcpServiceAccount)({serviceAccount:np,audience:R_,payload:{target_audience:`${r.audience}`}}),{id_token:c}=await(0,rp.exchangeGgpJwtForIdToken)(R_,a,{retries:r.tokenRetries??3,retryDelayMs:10});if(!c)throw new c0.RuntimeError("Invalid token response from GCP");s=c,i.put(n,s,3600-(r.expirationOffsetSeconds??300))}return t.headers.set("Authorization",`Bearer ${s}`),t},"UpstreamGcpServiceAuthInboundPolicy");Xa.UpstreamGcpServiceAuthInboundPolicy=l0});var N_=g(ec=>{"use strict";Object.defineProperty(ec,"__esModule",{value:!0});ec.ValidateJsonSchemaInbound=void 0;var d0=D(),x_=ve(),p0=o(async(t,e,r)=>{let n=t.clone(),i;try{i=await n.json()}catch{return x_.HttpProblems.badRequest(t,e,{detail:"Invalid JSON body - expected well-formed JSON document"})}if(r.validator(i))return t;let{errors:a}=r.validator;if(!a)throw new d0.SystemError("Invalid state - validator error object is undefined even though validation failed.");let c=a.map(u=>u.instancePath===void 0||u.instancePath===""?"Body "+u.message:u.instancePath.replace("/","")+" "+u.message);return x_.HttpProblems.badRequest(t,e,{detail:"Incoming body did not pass schema validation",errors:c})},"ValidateJsonSchemaInbound");ec.ValidateJsonSchemaInbound=p0});var C_=g(dr=>{"use strict";Object.defineProperty(dr,"__esModule",{value:!0});dr.serialize=dr.ContentTypes=void 0;dr.ContentTypes={Json:"application/json",Form:"application/x-www-form-urlencoded"};function h0(t,e){if(t!==null)return e&&typeof t=="string"?t:typeof t=="object"&&e?.startsWith(dr.ContentTypes.Form)?new URLSearchParams(t).toString():typeof t=="object"&&e?.startsWith(dr.ContentTypes.Json)||!e?JSON.stringify(t):t}o(h0,"serialize");dr.serialize=h0});var L_=g(tc=>{"use strict";Object.defineProperty(tc,"__esModule",{value:!0});tc.ServiceProviderImpl=void 0;var f0=D(),ip=class t{static{o(this,"ServiceProviderImpl")}static#e;services=new Map;constructor(){}static getInstance(){return t.#e||(t.#e=new t),t.#e}setInstance(e){t.#e=e}addService(e,r){if(this.services.get(e))throw new f0.SystemError(`A service with the name ${e} already exists -- you cannot have duplicate services`);this.services.set(e,r)}getService(e){return this.services.get(e)}};tc.ServiceProviderImpl=ip});var D_=g(op=>{"use strict";Object.defineProperty(op,"__esModule",{value:!0});var m0={100:"Continue",101:"Switching Protocols",102:"Processing",103:"Early Hints",200:"OK",201:"Created",202:"Accepted",203:"Non-Authoritative Information",204:"No Content",205:"Reset Content",206:"Partial Content",207:"Multi-Status",208:"Already Reported",226:"IM Used",300:"Multiple Choices",301:"Moved Permanently",302:"Found",303:"See Other",304:"Not Modified",305:"Use Proxy",307:"Temporary Redirect",308:"Permanent Redirect",400:"Bad Request",401:"Unauthorized",402:"Payment Required",403:"Forbidden",404:"Not Found",405:"Method Not Allowed",406:"Not Acceptable",407:"Proxy Authentication Required",408:"Request Timeout",409:"Conflict",410:"Gone",411:"Length Required",412:"Precondition Failed",413:"Payload Too Large",414:"URI Too Long",415:"Unsupported Media Type",416:"Range Not Satisfiable",417:"Expectation Failed",418:"I'm a Teapot",421:"Misdirected Request",422:"Unprocessable Entity",423:"Locked",424:"Failed Dependency",425:"Too Early",426:"Upgrade Required",428:"Precondition Required",429:"Too Many Requests",431:"Request Header Fields Too Large",451:"Unavailable For Legal Reasons",500:"Internal Server Error",501:"Not Implemented",502:"Bad Gateway",503:"Service Unavailable",504:"Gateway Timeout",505:"HTTP Version Not Supported",506:"Variant Also Negotiates",507:"Insufficient Storage",508:"Loop Detected",509:"Bandwidth Limit Exceeded",510:"Not Extended",511:"Network Authentication Required"};op.default=m0});var ke=g(h=>{"use strict";var y0=h&&h.__createBinding||(Object.create?function(t,e,r,n){n===void 0&&(n=r);var i=Object.getOwnPropertyDescriptor(e,r);(!i||("get"in i?!e.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,n,i)}:function(t,e,r,n){n===void 0&&(n=r),t[n]=e[r]}),U_=h&&h.__exportStar||function(t,e){for(var r in t)r!=="default"&&!Object.prototype.hasOwnProperty.call(e,r)&&y0(e,t,r)},g0=h&&h.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(h,"__esModule",{value:!0});h.ReadmeMetricsInboundPolicy=h.RateLimitInboundPolicy=h.BasicRateLimitInboundPolicy=h.PropelAuthJwtInboundPolicy=h.OpenIdJwtInboundPolicy=h.OktaJwtInboundPolicy=h.setMoesifContext=h.MoesifInboundPolicy=h.MockApiInboundPolicy=h.JWTScopeValidationInboundPolicy=h.GeoFilterInboundPolicy=h.FormDataToJsonInboundPolicy=h.FirebaseJwtInboundPolicy=h.CompositeInboundPolicy=h.CognitoJwtInboundPolicy=h.ClerkJwtInboundPolicy=h.ClearHeadersOutboundPolicy=h.ClearHeadersInboundPolicy=h.ChangeMethodInboundPolicy=h.CachingInboundPolicy=h.BasicAuthInboundPolicy=h.Auth0JwtInboundPolicy=h.ApiKeyInboundPolicy=h.ApiAuthKeyInboundPolicy=h.AmberfloMeteringPolicy=h.AmberfloMeteringInboundPolicy=h.AuditLogPlugin=h.AuditLogDataStaxProvider=h.HttpStatusCode=h.webSocketPipelineHandler=h.webSocketHandler=h.urlRewriteHandler=h.urlForwardHandler=h.redirectHandler=h.openApiSpecHandler=h.awsLambdaHandler=h.AwsLambdaHandlerExtensions=h.purgeGatewayCache=h.Handler=h.originalFetch=h.ConfigurationError=h.isZuploReadableEnvVariableName=h.isRestrictedEnvVariableName=h.environment=h.ContextData=h.ResponseSentEvent=h.ResponseSendingEvent=h.VALID_COMPATIBILITY_DATES=h.ZoneCache=h.MemoryZoneReadThroughCache=void 0;h.sanitizedIdentifierName=h.getRawOperationDataIdentifierName=h.getIdForRequestBodySchema=h.getIdForRefSchema=h.getIdForParameterSchema=h.SystemLogMap=h.httpStatuses=h.SYSTEM_LOGGER=h.API_KEY=h.ServiceProviderImpl=h.serialize=h.ContentTypes=h.Router=h.LookupResult=h.SystemRouteName=h.ZuploRequest=h.ProblemResponseFormatter=h.HttpProblems=h.ValidateJsonSchemaInbound=h.UpstreamGcpServiceAuthInboundPolicy=h.UpstreamGcpJwtInboundPolicy=h.UpstreamFirebaseUserAuthInboundPolicy=h.UpstreamFirebaseAdminAuthInboundPolicy=h.UpstreamAzureAdServiceAuthInboundPolicy=h.SupabaseJwtInboundPolicy=h.SleepInboundPolicy=h.SetStatusOutboundPolicy=h.SetQueryParamsInboundPolicy=h.SetHeadersOutboundPolicy=h.SetHeadersInboundPolicy=h.SetBodyInboundPolicy=h.RequireOriginInboundPolicy=h.SchemaBasedRequestValidation=h.RequestValidationInboundPolicy=h.RequestSizeLimitInboundPolicy=h.ReplaceStringOutboundPolicy=h.RemoveQueryParamsInboundPolicy=h.RemoveHeadersOutboundPolicy=h.RemoveHeadersInboundPolicy=void 0;qp();var _0=_r();Object.defineProperty(h,"MemoryZoneReadThroughCache",{enumerable:!0,get:function(){return _0.MemoryZoneReadThroughCache}});var b0=Wc();Object.defineProperty(h,"ZoneCache",{enumerable:!0,get:function(){return b0.ZoneCache}});var E0=jp();Object.defineProperty(h,"VALID_COMPATIBILITY_DATES",{enumerable:!0,get:function(){return E0.VALID_COMPATIBILITY_DATES}});var M_=wr();Object.defineProperty(h,"ResponseSendingEvent",{enumerable:!0,get:function(){return M_.ResponseSendingEvent}});Object.defineProperty(h,"ResponseSentEvent",{enumerable:!0,get:function(){return M_.ResponseSentEvent}});var w0=oy();Object.defineProperty(h,"ContextData",{enumerable:!0,get:function(){return w0.ContextData}});var sp=Xl();Object.defineProperty(h,"environment",{enumerable:!0,get:function(){return sp.environment}});Object.defineProperty(h,"isRestrictedEnvVariableName",{enumerable:!0,get:function(){return sp.isRestrictedEnvVariableName}});Object.defineProperty(h,"isZuploReadableEnvVariableName",{enumerable:!0,get:function(){return sp.isZuploReadableEnvVariableName}});var v0=D();Object.defineProperty(h,"ConfigurationError",{enumerable:!0,get:function(){return v0.ConfigurationError}});var T0=td();Object.defineProperty(h,"originalFetch",{enumerable:!0,get:function(){return T0.originalFetch}});var k_=fy();Object.defineProperty(h,"Handler",{enumerable:!0,get:function(){return k_.Handler}});Object.defineProperty(h,"purgeGatewayCache",{enumerable:!0,get:function(){return k_.purgeGatewayCache}});var F_=Ny();Object.defineProperty(h,"AwsLambdaHandlerExtensions",{enumerable:!0,get:function(){return F_.AwsLambdaHandlerExtensions}});Object.defineProperty(h,"awsLambdaHandler",{enumerable:!0,get:function(){return F_.awsLambdaHandler}});var S0=Ly();Object.defineProperty(h,"openApiSpecHandler",{enumerable:!0,get:function(){return S0.openApiSpecHandler}});var I0=Dy();Object.defineProperty(h,"redirectHandler",{enumerable:!0,get:function(){return I0.redirectHandler}});var A0=My();Object.defineProperty(h,"urlForwardHandler",{enumerable:!0,get:function(){return A0.urlForwardHandler}});var P0=Fy();Object.defineProperty(h,"urlRewriteHandler",{enumerable:!0,get:function(){return P0.urlRewriteHandler}});var R0=qy();Object.defineProperty(h,"webSocketHandler",{enumerable:!0,get:function(){return R0.webSocketHandler}});var O0=Vy();Object.defineProperty(h,"webSocketPipelineHandler",{enumerable:!0,get:function(){return O0.webSocketPipelineHandler}});var x0=fu();Object.defineProperty(h,"HttpStatusCode",{enumerable:!0,get:function(){return x0.HttpStatusCode}});U_(Yy(),h);U_(eg(),h);var N0=tg();Object.defineProperty(h,"AuditLogDataStaxProvider",{enumerable:!0,get:function(){return N0.AuditLogDataStaxProvider}});var C0=ng();Object.defineProperty(h,"AuditLogPlugin",{enumerable:!0,get:function(){return C0.AuditLogPlugin}});var H_=lg();Object.defineProperty(h,"AmberfloMeteringInboundPolicy",{enumerable:!0,get:function(){return H_.AmberfloMeteringInboundPolicy}});Object.defineProperty(h,"AmberfloMeteringPolicy",{enumerable:!0,get:function(){return H_.AmberfloMeteringPolicy}});var q_=fg();Object.defineProperty(h,"ApiAuthKeyInboundPolicy",{enumerable:!0,get:function(){return q_.ApiAuthKeyInboundPolicy}});Object.defineProperty(h,"ApiKeyInboundPolicy",{enumerable:!0,get:function(){return q_.ApiKeyInboundPolicy}});var L0=mg();Object.defineProperty(h,"Auth0JwtInboundPolicy",{enumerable:!0,get:function(){return L0.Auth0JwtInboundPolicy}});var D0=yg();Object.defineProperty(h,"BasicAuthInboundPolicy",{enumerable:!0,get:function(){return D0.BasicAuthInboundPolicy}});var U0=gg();Object.defineProperty(h,"CachingInboundPolicy",{enumerable:!0,get:function(){return U0.CachingInboundPolicy}});var M0=_g();Object.defineProperty(h,"ChangeMethodInboundPolicy",{enumerable:!0,get:function(){return M0.ChangeMethodInboundPolicy}});var k0=bg();Object.defineProperty(h,"ClearHeadersInboundPolicy",{enumerable:!0,get:function(){return k0.ClearHeadersInboundPolicy}});var F0=Eg();Object.defineProperty(h,"ClearHeadersOutboundPolicy",{enumerable:!0,get:function(){return F0.ClearHeadersOutboundPolicy}});var H0=wg();Object.defineProperty(h,"ClerkJwtInboundPolicy",{enumerable:!0,get:function(){return H0.ClerkJwtInboundPolicy}});var q0=Tg();Object.defineProperty(h,"CognitoJwtInboundPolicy",{enumerable:!0,get:function(){return q0.CognitoJwtInboundPolicy}});var $0=Ig();Object.defineProperty(h,"CompositeInboundPolicy",{enumerable:!0,get:function(){return $0.CompositeInboundPolicy}});var j0=Ag();Object.defineProperty(h,"FirebaseJwtInboundPolicy",{enumerable:!0,get:function(){return j0.FirebaseJwtInboundPolicy}});var V0=Pg();Object.defineProperty(h,"FormDataToJsonInboundPolicy",{enumerable:!0,get:function(){return V0.FormDataToJsonInboundPolicy}});var G0=Rg();Object.defineProperty(h,"GeoFilterInboundPolicy",{enumerable:!0,get:function(){return G0.GeoFilterInboundPolicy}});var B0=Og();Object.defineProperty(h,"JWTScopeValidationInboundPolicy",{enumerable:!0,get:function(){return B0.JWTScopeValidationInboundPolicy}});var K0=Ng();Object.defineProperty(h,"MockApiInboundPolicy",{enumerable:!0,get:function(){return K0.MockApiInboundPolicy}});var $_=Mg();Object.defineProperty(h,"MoesifInboundPolicy",{enumerable:!0,get:function(){return $_.MoesifInboundPolicy}});Object.defineProperty(h,"setMoesifContext",{enumerable:!0,get:function(){return $_.setMoesifContext}});var J0=kg();Object.defineProperty(h,"OktaJwtInboundPolicy",{enumerable:!0,get:function(){return J0.OktaJwtInboundPolicy}});var z0=Mt();Object.defineProperty(h,"OpenIdJwtInboundPolicy",{enumerable:!0,get:function(){return z0.OpenIdJwtInboundPolicy}});var W0=Fg();Object.defineProperty(h,"PropelAuthJwtInboundPolicy",{enumerable:!0,get:function(){return W0.PropelAuthJwtInboundPolicy}});var j_=Bg();Object.defineProperty(h,"BasicRateLimitInboundPolicy",{enumerable:!0,get:function(){return j_.RateLimitInboundPolicy}});Object.defineProperty(h,"RateLimitInboundPolicy",{enumerable:!0,get:function(){return j_.RateLimitInboundPolicy}});var Q0=Wg();Object.defineProperty(h,"ReadmeMetricsInboundPolicy",{enumerable:!0,get:function(){return Q0.ReadmeMetricsInboundPolicy}});var Y0=Qg();Object.defineProperty(h,"RemoveHeadersInboundPolicy",{enumerable:!0,get:function(){return Y0.RemoveHeadersInboundPolicy}});var Z0=Yg();Object.defineProperty(h,"RemoveHeadersOutboundPolicy",{enumerable:!0,get:function(){return Z0.RemoveHeadersOutboundPolicy}});var X0=Zg();Object.defineProperty(h,"RemoveQueryParamsInboundPolicy",{enumerable:!0,get:function(){return X0.RemoveQueryParamsInboundPolicy}});var ex=Xg();Object.defineProperty(h,"ReplaceStringOutboundPolicy",{enumerable:!0,get:function(){return ex.ReplaceStringOutboundPolicy}});var tx=t_();Object.defineProperty(h,"RequestSizeLimitInboundPolicy",{enumerable:!0,get:function(){return tx.RequestSizeLimitInboundPolicy}});var V_=Lr();Object.defineProperty(h,"RequestValidationInboundPolicy",{enumerable:!0,get:function(){return V_.RequestValidationInboundPolicy}});Object.defineProperty(h,"SchemaBasedRequestValidation",{enumerable:!0,get:function(){return V_.SchemaBasedRequestValidation}});var rx=a_();Object.defineProperty(h,"RequireOriginInboundPolicy",{enumerable:!0,get:function(){return rx.RequireOriginInboundPolicy}});var nx=c_();Object.defineProperty(h,"SetBodyInboundPolicy",{enumerable:!0,get:function(){return nx.SetBodyInboundPolicy}});var ix=l_();Object.defineProperty(h,"SetHeadersInboundPolicy",{enumerable:!0,get:function(){return ix.SetHeadersInboundPolicy}});var ox=p_();Object.defineProperty(h,"SetHeadersOutboundPolicy",{enumerable:!0,get:function(){return ox.SetHeadersOutboundPolicy}});var sx=f_();Object.defineProperty(h,"SetQueryParamsInboundPolicy",{enumerable:!0,get:function(){return sx.SetQueryParamsInboundPolicy}});var ax=m_();Object.defineProperty(h,"SetStatusOutboundPolicy",{enumerable:!0,get:function(){return ax.SetStatusOutboundPolicy}});var cx=y_();Object.defineProperty(h,"SleepInboundPolicy",{enumerable:!0,get:function(){return cx.SleepInboundPolicy}});var ux=__();Object.defineProperty(h,"SupabaseJwtInboundPolicy",{enumerable:!0,get:function(){return ux.SupabaseJwtInboundPolicy}});var lx=E_();Object.defineProperty(h,"UpstreamAzureAdServiceAuthInboundPolicy",{enumerable:!0,get:function(){return lx.UpstreamAzureAdServiceAuthInboundPolicy}});var dx=v_();Object.defineProperty(h,"UpstreamFirebaseAdminAuthInboundPolicy",{enumerable:!0,get:function(){return dx.UpstreamFirebaseAdminAuthInboundPolicy}});var px=S_();Object.defineProperty(h,"UpstreamFirebaseUserAuthInboundPolicy",{enumerable:!0,get:function(){return px.UpstreamFirebaseUserAuthInboundPolicy}});var hx=A_();Object.defineProperty(h,"UpstreamGcpJwtInboundPolicy",{enumerable:!0,get:function(){return hx.UpstreamGcpJwtInboundPolicy}});var fx=O_();Object.defineProperty(h,"UpstreamGcpServiceAuthInboundPolicy",{enumerable:!0,get:function(){return fx.UpstreamGcpServiceAuthInboundPolicy}});var mx=N_();Object.defineProperty(h,"ValidateJsonSchemaInbound",{enumerable:!0,get:function(){return mx.ValidateJsonSchemaInbound}});var yx=ve();Object.defineProperty(h,"HttpProblems",{enumerable:!0,get:function(){return yx.HttpProblems}});var gx=oo();Object.defineProperty(h,"ProblemResponseFormatter",{enumerable:!0,get:function(){return gx.ProblemResponseFormatter}});var _x=Wn();Object.defineProperty(h,"ZuploRequest",{enumerable:!0,get:function(){return _x.ZuploRequest}});var bx=Sr();Object.defineProperty(h,"SystemRouteName",{enumerable:!0,get:function(){return bx.SystemRouteName}});var G_=Gl();Object.defineProperty(h,"LookupResult",{enumerable:!0,get:function(){return G_.LookupResult}});Object.defineProperty(h,"Router",{enumerable:!0,get:function(){return G_.Router}});var B_=C_();Object.defineProperty(h,"ContentTypes",{enumerable:!0,get:function(){return B_.ContentTypes}});Object.defineProperty(h,"serialize",{enumerable:!0,get:function(){return B_.serialize}});var Ex=L_();Object.defineProperty(h,"ServiceProviderImpl",{enumerable:!0,get:function(){return Ex.ServiceProviderImpl}});var K_=Tu();Object.defineProperty(h,"API_KEY",{enumerable:!0,get:function(){return K_.API_KEY}});Object.defineProperty(h,"SYSTEM_LOGGER",{enumerable:!0,get:function(){return K_.SYSTEM_LOGGER}});var wx=D_();Object.defineProperty(h,"httpStatuses",{enumerable:!0,get:function(){return g0(wx).default}});var vx=Ge();Object.defineProperty(h,"SystemLogMap",{enumerable:!0,get:function(){return vx.SystemLogMap}});var Pi=La();Object.defineProperty(h,"getIdForParameterSchema",{enumerable:!0,get:function(){return Pi.getIdForParameterSchema}});Object.defineProperty(h,"getIdForRefSchema",{enumerable:!0,get:function(){return Pi.getIdForRefSchema}});Object.defineProperty(h,"getIdForRequestBodySchema",{enumerable:!0,get:function(){return Pi.getIdForRequestBodySchema}});Object.defineProperty(h,"getRawOperationDataIdentifierName",{enumerable:!0,get:function(){return Pi.getRawOperationDataIdentifierName}});Object.defineProperty(h,"sanitizedIdentifierName",{enumerable:!0,get:function(){return Pi.sanitizedIdentifierName}})});var J_=g(Cn=>{"use strict";Object.defineProperty(Cn,"__esModule",{value:!0});Cn.BaseCryptoBeta=Cn.supportedDigests=void 0;Cn.supportedDigests=["sha-1","sha-256","sha-384","sha-512"];var ap=class{static{o(this,"BaseCryptoBeta")}};Cn.BaseCryptoBeta=ap});var z_=g(rc=>{"use strict";Object.defineProperty(rc,"__esModule",{value:!0});rc.WorkerCryptoBeta=void 0;var cp=J_(),Tx=D(),up=class extends cp.BaseCryptoBeta{static{o(this,"WorkerCryptoBeta")}async digest(e,r){if(!cp.supportedDigests.includes(e.toLowerCase()))throw new Tx.RuntimeError(`Algorithm ${e} is not supported. Try using ${cp.supportedDigests.join(", ")}`);let n=new TextEncoder().encode(r),i=await crypto.subtle.digest(e,n);return Array.from(new Uint8Array(i)).map(c=>c.toString(16).padStart(2,"0")).join("")}};rc.WorkerCryptoBeta=up});var W_=g(nc=>{"use strict";Object.defineProperty(nc,"__esModule",{value:!0});nc.BaseKeyValueStore=void 0;var lp=class{static{o(this,"BaseKeyValueStore")}context;constructor(e){this.context=e}};nc.BaseKeyValueStore=lp});var Y_=g(ic=>{"use strict";Object.defineProperty(ic,"__esModule",{value:!0});ic.WorkerKeyValueStore=void 0;var Q_=D(),Sx=W_(),dp=class extends Sx.BaseKeyValueStore{static{o(this,"WorkerKeyValueStore")}#e;constructor(e){super(e);let n=globalThis.ZUPLO_KV;if(!n)throw new Q_.FeatureNotEnabledError("The Key Value Store feature is not enabled for this project.");this.#e=n}put(e,r,n){if(typeof e!="string")throw new Q_.ConfigurationError("value must be of type string");return this.#e.put(e,r,n?{expirationTtl:n.expirationSecondsTtl}:void 0)}get(e,r){return this.#e.get(e,{type:"text",cacheTtl:r?.cacheSecondsTtl})}delete(e){return this.#e.delete(e)}};ic.WorkerKeyValueStore=dp});var Ot=g(ct=>{"use strict";var Ix=ct&&ct.__createBinding||(Object.create?function(t,e,r,n){n===void 0&&(n=r);var i=Object.getOwnPropertyDescriptor(e,r);(!i||("get"in i?!e.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,n,i)}:function(t,e,r,n){n===void 0&&(n=r),t[n]=e[r]}),Ax=ct&&ct.__exportStar||function(t,e){for(var r in t)r!=="default"&&!Object.prototype.hasOwnProperty.call(e,r)&&Ix(e,t,r)};Object.defineProperty(ct,"__esModule",{value:!0});ct.KeyValueStore=ct.CryptoBeta=void 0;Ax(ke(),ct);var Px=z_();Object.defineProperty(ct,"CryptoBeta",{enumerable:!0,get:function(){return Px.WorkerCryptoBeta}});var Rx=Y_();Object.defineProperty(ct,"KeyValueStore",{enumerable:!0,get:function(){return Rx.WorkerKeyValueStore}})});var UN={};Gi(UN,{GraphQLComplexityLimitInboundPolicy:()=>Ob,GraphQLDisableIntrospectionInboundPolicy:()=>Nb});module.exports=Bi(UN);var Gn=Mp(Ot());function B(t,e){if(!!!t)throw new Error(e)}o(B,"devAssert");function be(t){return typeof t=="object"&&t!==null}o(be,"isObjectLike");function Tt(t,e){if(!!!t)throw new Error(e??"Unexpected invariant triggered.")}o(Tt,"invariant");var Ox=/\r\n|[\n\r]/g;function Ln(t,e){let r=0,n=1;for(let i of t.body.matchAll(Ox)){if(typeof i.index=="number"||Tt(!1),i.index>=e)break;r=i.index+i[0].length,n+=1}return{line:n,column:e+1-r}}o(Ln,"getLocation");function pp(t){return oc(t.source,Ln(t.source,t.start))}o(pp,"printLocation");function oc(t,e){let r=t.locationOffset.column-1,n="".padStart(r)+t.body,i=e.line-1,s=t.locationOffset.line-1,a=e.line+s,c=e.line===1?r:0,u=e.column+c,l=`${t.name}:${a}:${u}
66
66
  `,d=n.split(/\r\n|[\n\r]/g),p=d[i];if(p.length>120){let m=Math.floor(u/80),f=u%80,y=[];for(let v=0;v<p.length;v+=80)y.push(p.slice(v,v+80));return l+Z_([[`${a} |`,y[0]],...y.slice(1,m+1).map(v=>["|",v]),["|","^".padStart(f)],["|",y[m+1]]])}return l+Z_([[`${a-1} |`,d[i-1]],[`${a} |`,p],["|","^".padStart(u)],[`${a+1} |`,d[i+1]]])}o(oc,"printSourceLocation");function Z_(t){let e=t.filter(([n,i])=>i!==void 0),r=Math.max(...e.map(([n])=>n.length));return e.map(([n,i])=>n.padStart(r)+(i?" "+i:"")).join(`
67
67
  `)}o(Z_,"printPrefixedLines");function xx(t){let e=t[0];return e==null||"kind"in e||"length"in e?{nodes:e,source:t[1],positions:t[2],path:t[3],originalError:t[4],extensions:t[5]}:e}o(xx,"toNormalizedOptions");var C=class t extends Error{static{o(this,"GraphQLError")}constructor(e,...r){var n,i,s;let{nodes:a,source:c,positions:u,path:l,originalError:d,extensions:p}=xx(r);super(e),this.name="GraphQLError",this.path=l??void 0,this.originalError=d??void 0,this.nodes=X_(Array.isArray(a)?a:a?[a]:void 0);let m=X_((n=this.nodes)===null||n===void 0?void 0:n.map(y=>y.loc).filter(y=>y!=null));this.source=c??(m==null||(i=m[0])===null||i===void 0?void 0:i.source),this.positions=u??m?.map(y=>y.start),this.locations=u&&c?u.map(y=>Ln(c,y)):m?.map(y=>Ln(y.source,y.start));let f=be(d?.extensions)?d?.extensions:void 0;this.extensions=(s=p??f)!==null&&s!==void 0?s:Object.create(null),Object.defineProperties(this,{message:{writable:!0,enumerable:!0},name:{enumerable:!1},nodes:{enumerable:!1},source:{enumerable:!1},positions:{enumerable:!1},originalError:{enumerable:!1}}),d!=null&&d.stack?Object.defineProperty(this,"stack",{value:d.stack,writable:!0,configurable:!0}):Error.captureStackTrace?Error.captureStackTrace(this,t):Object.defineProperty(this,"stack",{value:Error().stack,writable:!0,configurable:!0})}get[Symbol.toStringTag](){return"GraphQLError"}toString(){let e=this.message;if(this.nodes)for(let r of this.nodes)r.loc&&(e+=`
68
68
 
@@ -83,36 +83,36 @@ https://yarnpkg.com/en/docs/selective-version-resolutions
83
83
  Duplicate "graphql" modules cannot be used at the same time since different
84
84
  versions may have different capabilities and behavior. The data from one
85
85
  version used in the function from another could produce confusing and
86
- spurious results.`)}}return!1},"instanceOf");var kn=class{static{o(this,"Source")}constructor(e,r="GraphQL request",n={line:1,column:1}){typeof e=="string"||B(!1,`Body must be a string. Received: ${A(e)}.`),this.body=e,this.name=r,this.locationOffset=n,this.locationOffset.line>0||B(!1,"line in locationOffset is 1-indexed and must be positive."),this.locationOffset.column>0||B(!1,"column in locationOffset is 1-indexed and must be positive.")}get[Symbol.toStringTag](){return"Source"}};function ab(t){return Je(t,kn)}o(ab,"isSource");function pc(t,e){return new dc(t,e).parseDocument()}o(pc,"parse");function hc(t,e){let r=new dc(t,e);r.expectToken(b.SOF);let n=r.parseValueLiteral(!1);return r.expectToken(b.EOF),n}o(hc,"parseValue");var dc=class{static{o(this,"Parser")}constructor(e,r={}){let n=ab(e)?e:new kn(e);this._lexer=new Ci(n),this._options=r,this._tokenCounter=0}parseName(){let e=this.expectToken(b.NAME);return this.node(e,{kind:_.NAME,value:e.value})}parseDocument(){return this.node(this._lexer.token,{kind:_.DOCUMENT,definitions:this.many(b.SOF,this.parseDefinition,b.EOF)})}parseDefinition(){if(this.peek(b.BRACE_L))return this.parseOperationDefinition();let e=this.peekDescription(),r=e?this._lexer.lookahead():this._lexer.token;if(r.kind===b.NAME){switch(r.value){case"schema":return this.parseSchemaDefinition();case"scalar":return this.parseScalarTypeDefinition();case"type":return this.parseObjectTypeDefinition();case"interface":return this.parseInterfaceTypeDefinition();case"union":return this.parseUnionTypeDefinition();case"enum":return this.parseEnumTypeDefinition();case"input":return this.parseInputObjectTypeDefinition();case"directive":return this.parseDirectiveDefinition()}if(e)throw le(this._lexer.source,this._lexer.token.start,"Unexpected description, descriptions are supported only on type definitions.");switch(r.value){case"query":case"mutation":case"subscription":return this.parseOperationDefinition();case"fragment":return this.parseFragmentDefinition();case"extend":return this.parseTypeSystemExtension()}}throw this.unexpected(r)}parseOperationDefinition(){let e=this._lexer.token;if(this.peek(b.BRACE_L))return this.node(e,{kind:_.OPERATION_DEFINITION,operation:rt.QUERY,name:void 0,variableDefinitions:[],directives:[],selectionSet:this.parseSelectionSet()});let r=this.parseOperationType(),n;return this.peek(b.NAME)&&(n=this.parseName()),this.node(e,{kind:_.OPERATION_DEFINITION,operation:r,name:n,variableDefinitions:this.parseVariableDefinitions(),directives:this.parseDirectives(!1),selectionSet:this.parseSelectionSet()})}parseOperationType(){let e=this.expectToken(b.NAME);switch(e.value){case"query":return rt.QUERY;case"mutation":return rt.MUTATION;case"subscription":return rt.SUBSCRIPTION}throw this.unexpected(e)}parseVariableDefinitions(){return this.optionalMany(b.PAREN_L,this.parseVariableDefinition,b.PAREN_R)}parseVariableDefinition(){return this.node(this._lexer.token,{kind:_.VARIABLE_DEFINITION,variable:this.parseVariable(),type:(this.expectToken(b.COLON),this.parseTypeReference()),defaultValue:this.expectOptionalToken(b.EQUALS)?this.parseConstValueLiteral():void 0,directives:this.parseConstDirectives()})}parseVariable(){let e=this._lexer.token;return this.expectToken(b.DOLLAR),this.node(e,{kind:_.VARIABLE,name:this.parseName()})}parseSelectionSet(){return this.node(this._lexer.token,{kind:_.SELECTION_SET,selections:this.many(b.BRACE_L,this.parseSelection,b.BRACE_R)})}parseSelection(){return this.peek(b.SPREAD)?this.parseFragment():this.parseField()}parseField(){let e=this._lexer.token,r=this.parseName(),n,i;return this.expectOptionalToken(b.COLON)?(n=r,i=this.parseName()):i=r,this.node(e,{kind:_.FIELD,alias:n,name:i,arguments:this.parseArguments(!1),directives:this.parseDirectives(!1),selectionSet:this.peek(b.BRACE_L)?this.parseSelectionSet():void 0})}parseArguments(e){let r=e?this.parseConstArgument:this.parseArgument;return this.optionalMany(b.PAREN_L,r,b.PAREN_R)}parseArgument(e=!1){let r=this._lexer.token,n=this.parseName();return this.expectToken(b.COLON),this.node(r,{kind:_.ARGUMENT,name:n,value:this.parseValueLiteral(e)})}parseConstArgument(){return this.parseArgument(!0)}parseFragment(){let e=this._lexer.token;this.expectToken(b.SPREAD);let r=this.expectOptionalKeyword("on");return!r&&this.peek(b.NAME)?this.node(e,{kind:_.FRAGMENT_SPREAD,name:this.parseFragmentName(),directives:this.parseDirectives(!1)}):this.node(e,{kind:_.INLINE_FRAGMENT,typeCondition:r?this.parseNamedType():void 0,directives:this.parseDirectives(!1),selectionSet:this.parseSelectionSet()})}parseFragmentDefinition(){let e=this._lexer.token;return this.expectKeyword("fragment"),this._options.allowLegacyFragmentVariables===!0?this.node(e,{kind:_.FRAGMENT_DEFINITION,name:this.parseFragmentName(),variableDefinitions:this.parseVariableDefinitions(),typeCondition:(this.expectKeyword("on"),this.parseNamedType()),directives:this.parseDirectives(!1),selectionSet:this.parseSelectionSet()}):this.node(e,{kind:_.FRAGMENT_DEFINITION,name:this.parseFragmentName(),typeCondition:(this.expectKeyword("on"),this.parseNamedType()),directives:this.parseDirectives(!1),selectionSet:this.parseSelectionSet()})}parseFragmentName(){if(this._lexer.token.value==="on")throw this.unexpected();return this.parseName()}parseValueLiteral(e){let r=this._lexer.token;switch(r.kind){case b.BRACKET_L:return this.parseList(e);case b.BRACE_L:return this.parseObject(e);case b.INT:return this.advanceLexer(),this.node(r,{kind:_.INT,value:r.value});case b.FLOAT:return this.advanceLexer(),this.node(r,{kind:_.FLOAT,value:r.value});case b.STRING:case b.BLOCK_STRING:return this.parseStringLiteral();case b.NAME:switch(this.advanceLexer(),r.value){case"true":return this.node(r,{kind:_.BOOLEAN,value:!0});case"false":return this.node(r,{kind:_.BOOLEAN,value:!1});case"null":return this.node(r,{kind:_.NULL});default:return this.node(r,{kind:_.ENUM,value:r.value})}case b.DOLLAR:if(e)if(this.expectToken(b.DOLLAR),this._lexer.token.kind===b.NAME){let n=this._lexer.token.value;throw le(this._lexer.source,r.start,`Unexpected variable "$${n}" in constant value.`)}else throw this.unexpected(r);return this.parseVariable();default:throw this.unexpected()}}parseConstValueLiteral(){return this.parseValueLiteral(!0)}parseStringLiteral(){let e=this._lexer.token;return this.advanceLexer(),this.node(e,{kind:_.STRING,value:e.value,block:e.kind===b.BLOCK_STRING})}parseList(e){let r=o(()=>this.parseValueLiteral(e),"item");return this.node(this._lexer.token,{kind:_.LIST,values:this.any(b.BRACKET_L,r,b.BRACKET_R)})}parseObject(e){let r=o(()=>this.parseObjectField(e),"item");return this.node(this._lexer.token,{kind:_.OBJECT,fields:this.any(b.BRACE_L,r,b.BRACE_R)})}parseObjectField(e){let r=this._lexer.token,n=this.parseName();return this.expectToken(b.COLON),this.node(r,{kind:_.OBJECT_FIELD,name:n,value:this.parseValueLiteral(e)})}parseDirectives(e){let r=[];for(;this.peek(b.AT);)r.push(this.parseDirective(e));return r}parseConstDirectives(){return this.parseDirectives(!0)}parseDirective(e){let r=this._lexer.token;return this.expectToken(b.AT),this.node(r,{kind:_.DIRECTIVE,name:this.parseName(),arguments:this.parseArguments(e)})}parseTypeReference(){let e=this._lexer.token,r;if(this.expectOptionalToken(b.BRACKET_L)){let n=this.parseTypeReference();this.expectToken(b.BRACKET_R),r=this.node(e,{kind:_.LIST_TYPE,type:n})}else r=this.parseNamedType();return this.expectOptionalToken(b.BANG)?this.node(e,{kind:_.NON_NULL_TYPE,type:r}):r}parseNamedType(){return this.node(this._lexer.token,{kind:_.NAMED_TYPE,name:this.parseName()})}peekDescription(){return this.peek(b.STRING)||this.peek(b.BLOCK_STRING)}parseDescription(){if(this.peekDescription())return this.parseStringLiteral()}parseSchemaDefinition(){let e=this._lexer.token,r=this.parseDescription();this.expectKeyword("schema");let n=this.parseConstDirectives(),i=this.many(b.BRACE_L,this.parseOperationTypeDefinition,b.BRACE_R);return this.node(e,{kind:_.SCHEMA_DEFINITION,description:r,directives:n,operationTypes:i})}parseOperationTypeDefinition(){let e=this._lexer.token,r=this.parseOperationType();this.expectToken(b.COLON);let n=this.parseNamedType();return this.node(e,{kind:_.OPERATION_TYPE_DEFINITION,operation:r,type:n})}parseScalarTypeDefinition(){let e=this._lexer.token,r=this.parseDescription();this.expectKeyword("scalar");let n=this.parseName(),i=this.parseConstDirectives();return this.node(e,{kind:_.SCALAR_TYPE_DEFINITION,description:r,name:n,directives:i})}parseObjectTypeDefinition(){let e=this._lexer.token,r=this.parseDescription();this.expectKeyword("type");let n=this.parseName(),i=this.parseImplementsInterfaces(),s=this.parseConstDirectives(),a=this.parseFieldsDefinition();return this.node(e,{kind:_.OBJECT_TYPE_DEFINITION,description:r,name:n,interfaces:i,directives:s,fields:a})}parseImplementsInterfaces(){return this.expectOptionalKeyword("implements")?this.delimitedMany(b.AMP,this.parseNamedType):[]}parseFieldsDefinition(){return this.optionalMany(b.BRACE_L,this.parseFieldDefinition,b.BRACE_R)}parseFieldDefinition(){let e=this._lexer.token,r=this.parseDescription(),n=this.parseName(),i=this.parseArgumentDefs();this.expectToken(b.COLON);let s=this.parseTypeReference(),a=this.parseConstDirectives();return this.node(e,{kind:_.FIELD_DEFINITION,description:r,name:n,arguments:i,type:s,directives:a})}parseArgumentDefs(){return this.optionalMany(b.PAREN_L,this.parseInputValueDef,b.PAREN_R)}parseInputValueDef(){let e=this._lexer.token,r=this.parseDescription(),n=this.parseName();this.expectToken(b.COLON);let i=this.parseTypeReference(),s;this.expectOptionalToken(b.EQUALS)&&(s=this.parseConstValueLiteral());let a=this.parseConstDirectives();return this.node(e,{kind:_.INPUT_VALUE_DEFINITION,description:r,name:n,type:i,defaultValue:s,directives:a})}parseInterfaceTypeDefinition(){let e=this._lexer.token,r=this.parseDescription();this.expectKeyword("interface");let n=this.parseName(),i=this.parseImplementsInterfaces(),s=this.parseConstDirectives(),a=this.parseFieldsDefinition();return this.node(e,{kind:_.INTERFACE_TYPE_DEFINITION,description:r,name:n,interfaces:i,directives:s,fields:a})}parseUnionTypeDefinition(){let e=this._lexer.token,r=this.parseDescription();this.expectKeyword("union");let n=this.parseName(),i=this.parseConstDirectives(),s=this.parseUnionMemberTypes();return this.node(e,{kind:_.UNION_TYPE_DEFINITION,description:r,name:n,directives:i,types:s})}parseUnionMemberTypes(){return this.expectOptionalToken(b.EQUALS)?this.delimitedMany(b.PIPE,this.parseNamedType):[]}parseEnumTypeDefinition(){let e=this._lexer.token,r=this.parseDescription();this.expectKeyword("enum");let n=this.parseName(),i=this.parseConstDirectives(),s=this.parseEnumValuesDefinition();return this.node(e,{kind:_.ENUM_TYPE_DEFINITION,description:r,name:n,directives:i,values:s})}parseEnumValuesDefinition(){return this.optionalMany(b.BRACE_L,this.parseEnumValueDefinition,b.BRACE_R)}parseEnumValueDefinition(){let e=this._lexer.token,r=this.parseDescription(),n=this.parseEnumValueName(),i=this.parseConstDirectives();return this.node(e,{kind:_.ENUM_VALUE_DEFINITION,description:r,name:n,directives:i})}parseEnumValueName(){if(this._lexer.token.value==="true"||this._lexer.token.value==="false"||this._lexer.token.value==="null")throw le(this._lexer.source,this._lexer.token.start,`${lc(this._lexer.token)} is reserved and cannot be used for an enum value.`);return this.parseName()}parseInputObjectTypeDefinition(){let e=this._lexer.token,r=this.parseDescription();this.expectKeyword("input");let n=this.parseName(),i=this.parseConstDirectives(),s=this.parseInputFieldsDefinition();return this.node(e,{kind:_.INPUT_OBJECT_TYPE_DEFINITION,description:r,name:n,directives:i,fields:s})}parseInputFieldsDefinition(){return this.optionalMany(b.BRACE_L,this.parseInputValueDef,b.BRACE_R)}parseTypeSystemExtension(){let e=this._lexer.lookahead();if(e.kind===b.NAME)switch(e.value){case"schema":return this.parseSchemaExtension();case"scalar":return this.parseScalarTypeExtension();case"type":return this.parseObjectTypeExtension();case"interface":return this.parseInterfaceTypeExtension();case"union":return this.parseUnionTypeExtension();case"enum":return this.parseEnumTypeExtension();case"input":return this.parseInputObjectTypeExtension()}throw this.unexpected(e)}parseSchemaExtension(){let e=this._lexer.token;this.expectKeyword("extend"),this.expectKeyword("schema");let r=this.parseConstDirectives(),n=this.optionalMany(b.BRACE_L,this.parseOperationTypeDefinition,b.BRACE_R);if(r.length===0&&n.length===0)throw this.unexpected();return this.node(e,{kind:_.SCHEMA_EXTENSION,directives:r,operationTypes:n})}parseScalarTypeExtension(){let e=this._lexer.token;this.expectKeyword("extend"),this.expectKeyword("scalar");let r=this.parseName(),n=this.parseConstDirectives();if(n.length===0)throw this.unexpected();return this.node(e,{kind:_.SCALAR_TYPE_EXTENSION,name:r,directives:n})}parseObjectTypeExtension(){let e=this._lexer.token;this.expectKeyword("extend"),this.expectKeyword("type");let r=this.parseName(),n=this.parseImplementsInterfaces(),i=this.parseConstDirectives(),s=this.parseFieldsDefinition();if(n.length===0&&i.length===0&&s.length===0)throw this.unexpected();return this.node(e,{kind:_.OBJECT_TYPE_EXTENSION,name:r,interfaces:n,directives:i,fields:s})}parseInterfaceTypeExtension(){let e=this._lexer.token;this.expectKeyword("extend"),this.expectKeyword("interface");let r=this.parseName(),n=this.parseImplementsInterfaces(),i=this.parseConstDirectives(),s=this.parseFieldsDefinition();if(n.length===0&&i.length===0&&s.length===0)throw this.unexpected();return this.node(e,{kind:_.INTERFACE_TYPE_EXTENSION,name:r,interfaces:n,directives:i,fields:s})}parseUnionTypeExtension(){let e=this._lexer.token;this.expectKeyword("extend"),this.expectKeyword("union");let r=this.parseName(),n=this.parseConstDirectives(),i=this.parseUnionMemberTypes();if(n.length===0&&i.length===0)throw this.unexpected();return this.node(e,{kind:_.UNION_TYPE_EXTENSION,name:r,directives:n,types:i})}parseEnumTypeExtension(){let e=this._lexer.token;this.expectKeyword("extend"),this.expectKeyword("enum");let r=this.parseName(),n=this.parseConstDirectives(),i=this.parseEnumValuesDefinition();if(n.length===0&&i.length===0)throw this.unexpected();return this.node(e,{kind:_.ENUM_TYPE_EXTENSION,name:r,directives:n,values:i})}parseInputObjectTypeExtension(){let e=this._lexer.token;this.expectKeyword("extend"),this.expectKeyword("input");let r=this.parseName(),n=this.parseConstDirectives(),i=this.parseInputFieldsDefinition();if(n.length===0&&i.length===0)throw this.unexpected();return this.node(e,{kind:_.INPUT_OBJECT_TYPE_EXTENSION,name:r,directives:n,fields:i})}parseDirectiveDefinition(){let e=this._lexer.token,r=this.parseDescription();this.expectKeyword("directive"),this.expectToken(b.AT);let n=this.parseName(),i=this.parseArgumentDefs(),s=this.expectOptionalKeyword("repeatable");this.expectKeyword("on");let a=this.parseDirectiveLocations();return this.node(e,{kind:_.DIRECTIVE_DEFINITION,description:r,name:n,arguments:i,repeatable:s,locations:a})}parseDirectiveLocations(){return this.delimitedMany(b.PIPE,this.parseDirectiveLocation)}parseDirectiveLocation(){let e=this._lexer.token,r=this.parseName();if(Object.prototype.hasOwnProperty.call(K,r.value))return r;throw this.unexpected(e)}node(e,r){return this._options.noLocation!==!0&&(r.loc=new Ri(e,this._lexer.lastToken,this._lexer.source)),r}peek(e){return this._lexer.token.kind===e}expectToken(e){let r=this._lexer.token;if(r.kind===e)return this.advanceLexer(),r;throw le(this._lexer.source,r.start,`Expected ${cb(e)}, found ${lc(r)}.`)}expectOptionalToken(e){return this._lexer.token.kind===e?(this.advanceLexer(),!0):!1}expectKeyword(e){let r=this._lexer.token;if(r.kind===b.NAME&&r.value===e)this.advanceLexer();else throw le(this._lexer.source,r.start,`Expected "${e}", found ${lc(r)}.`)}expectOptionalKeyword(e){let r=this._lexer.token;return r.kind===b.NAME&&r.value===e?(this.advanceLexer(),!0):!1}unexpected(e){let r=e??this._lexer.token;return le(this._lexer.source,r.start,`Unexpected ${lc(r)}.`)}any(e,r,n){this.expectToken(e);let i=[];for(;!this.expectOptionalToken(n);)i.push(r.call(this));return i}optionalMany(e,r,n){if(this.expectOptionalToken(e)){let i=[];do i.push(r.call(this));while(!this.expectOptionalToken(n));return i}return[]}many(e,r,n){this.expectToken(e);let i=[];do i.push(r.call(this));while(!this.expectOptionalToken(n));return i}delimitedMany(e,r){this.expectOptionalToken(e);let n=[];do n.push(r.call(this));while(this.expectOptionalToken(e));return n}advanceLexer(){let{maxTokens:e}=this._options,r=this._lexer.advance();if(e!==void 0&&r.kind!==b.EOF&&(++this._tokenCounter,this._tokenCounter>e))throw le(this._lexer.source,r.start,`Document contains more that ${e} tokens. Parsing aborted.`)}};function lc(t){let e=t.value;return cb(t.kind)+(e!=null?` "${e}"`:"")}o(lc,"getTokenDesc");function cb(t){return ib(t)?`"${t}"`:t}o(cb,"getTokenKindDesc");function fc(t,e){let[r,n]=e?[t,e]:[void 0,t],i=" Did you mean ";r&&(i+=r+" ");let s=n.map(u=>`"${u}"`);switch(s.length){case 0:return"";case 1:return i+s[0]+"?";case 2:return i+s[0]+" or "+s[1]+"?"}let a=s.slice(0,5),c=a.pop();return i+a.join(", ")+", or "+c+"?"}o(fc,"didYouMean");function mp(t){return t}o(mp,"identityFunc");function Fn(t,e){let r=Object.create(null);for(let n of t)r[e(n)]=n;return r}o(Fn,"keyMap");function St(t,e,r){let n=Object.create(null);for(let i of t)n[e(i)]=r(i);return n}o(St,"keyValMap");function Li(t,e){let r=Object.create(null);for(let n of Object.keys(t))r[n]=e(t[n],n);return r}o(Li,"mapValue");function ub(t,e){let r=0,n=0;for(;r<t.length&&n<e.length;){let i=t.charCodeAt(r),s=e.charCodeAt(n);if(mc(i)&&mc(s)){let a=0;do++r,a=a*10+i-yp,i=t.charCodeAt(r);while(mc(i)&&a>0);let c=0;do++n,c=c*10+s-yp,s=e.charCodeAt(n);while(mc(s)&&c>0);if(a<c)return-1;if(a>c)return 1}else{if(i<s)return-1;if(i>s)return 1;++r,++n}}return t.length-e.length}o(ub,"naturalCompare");var yp=48,Jx=57;function mc(t){return!isNaN(t)&&yp<=t&&t<=Jx}o(mc,"isDigit");function yc(t,e){let r=Object.create(null),n=new gp(t),i=Math.floor(t.length*.4)+1;for(let s of e){let a=n.measure(s,i);a!==void 0&&(r[s]=a)}return Object.keys(r).sort((s,a)=>{let c=r[s]-r[a];return c!==0?c:ub(s,a)})}o(yc,"suggestionList");var gp=class{static{o(this,"LexicalDistance")}constructor(e){this._input=e,this._inputLowerCase=e.toLowerCase(),this._inputArray=lb(this._inputLowerCase),this._rows=[new Array(e.length+1).fill(0),new Array(e.length+1).fill(0),new Array(e.length+1).fill(0)]}measure(e,r){if(this._input===e)return 0;let n=e.toLowerCase();if(this._inputLowerCase===n)return 1;let i=lb(n),s=this._inputArray;if(i.length<s.length){let d=i;i=s,s=d}let a=i.length,c=s.length;if(a-c>r)return;let u=this._rows;for(let d=0;d<=c;d++)u[0][d]=d;for(let d=1;d<=a;d++){let p=u[(d-1)%3],m=u[d%3],f=m[0]=d;for(let y=1;y<=c;y++){let v=i[d-1]===s[y-1]?0:1,T=Math.min(p[y]+1,m[y-1]+1,p[y-1]+v);if(d>1&&y>1&&i[d-1]===s[y-2]&&i[d-2]===s[y-1]){let I=u[(d-2)%3][y-2];T=Math.min(T,I+1)}T<f&&(f=T),m[y]=T}if(f>r)return}let l=u[a%3][c];return l<=r?l:void 0}};function lb(t){let e=t.length,r=new Array(e);for(let n=0;n<e;++n)r[n]=t.charCodeAt(n);return r}o(lb,"stringToArray");function Le(t){if(t==null)return Object.create(null);if(Object.getPrototypeOf(t)===null)return t;let e=Object.create(null);for(let[r,n]of Object.entries(t))e[r]=n;return e}o(Le,"toObjMap");function db(t){return`"${t.replace(zx,Wx)}"`}o(db,"printString");var zx=/[\x00-\x1f\x22\x5c\x7f-\x9f]/g;function Wx(t){return Qx[t.charCodeAt(0)]}o(Wx,"escapedReplacer");var Qx=["\\u0000","\\u0001","\\u0002","\\u0003","\\u0004","\\u0005","\\u0006","\\u0007","\\b","\\t","\\n","\\u000B","\\f","\\r","\\u000E","\\u000F","\\u0010","\\u0011","\\u0012","\\u0013","\\u0014","\\u0015","\\u0016","\\u0017","\\u0018","\\u0019","\\u001A","\\u001B","\\u001C","\\u001D","\\u001E","\\u001F","","",'\\"',"","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","\\\\","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","\\u007F","\\u0080","\\u0081","\\u0082","\\u0083","\\u0084","\\u0085","\\u0086","\\u0087","\\u0088","\\u0089","\\u008A","\\u008B","\\u008C","\\u008D","\\u008E","\\u008F","\\u0090","\\u0091","\\u0092","\\u0093","\\u0094","\\u0095","\\u0096","\\u0097","\\u0098","\\u0099","\\u009A","\\u009B","\\u009C","\\u009D","\\u009E","\\u009F"];var _p=Object.freeze({});function pr(t,e,r=hp){let n=new Map;for(let I of Object.values(_))n.set(I,Hn(e,I));let i,s=Array.isArray(t),a=[t],c=-1,u=[],l=t,d,p,m=[],f=[];do{c++;let I=c===a.length,k=I&&u.length!==0;if(I){if(d=f.length===0?void 0:m[m.length-1],l=p,p=f.pop(),k)if(s){l=l.slice();let x=0;for(let[oe,ee]of u){let fe=oe-x;ee===null?(l.splice(fe,1),x++):l[fe]=ee}}else{l=Object.defineProperties({},Object.getOwnPropertyDescriptors(l));for(let[x,oe]of u)l[x]=oe}c=i.index,a=i.keys,u=i.edits,s=i.inArray,i=i.prev}else if(p){if(d=s?c:a[c],l=p[d],l==null)continue;m.push(d)}let j;if(!Array.isArray(l)){var y,v;Oi(l)||B(!1,`Invalid AST Node: ${A(l)}.`);let x=I?(y=n.get(l.kind))===null||y===void 0?void 0:y.leave:(v=n.get(l.kind))===null||v===void 0?void 0:v.enter;if(j=x?.call(e,l,d,p,m,f),j===_p)break;if(j===!1){if(!I){m.pop();continue}}else if(j!==void 0&&(u.push([d,j]),!I))if(Oi(j))l=j;else{m.pop();continue}}if(j===void 0&&k&&u.push([d,l]),I)m.pop();else{var T;i={inArray:s,index:c,keys:a,edits:u,prev:i},s=Array.isArray(l),a=s?l:(T=r[l.kind])!==null&&T!==void 0?T:[],c=-1,u=[],p&&f.push(p),p=l}}while(i!==void 0);return u.length!==0?u[u.length-1][1]:t}o(pr,"visit");function Hn(t,e){let r=t[e];return typeof r=="object"?r:typeof r=="function"?{enter:r,leave:void 0}:{enter:t.enter,leave:t.leave}}o(Hn,"getEnterLeaveForKind");function De(t){return pr(t,Zx)}o(De,"print");var Yx=80,Zx={Name:{leave:t=>t.value},Variable:{leave:t=>"$"+t.name},Document:{leave:t=>O(t.definitions,`
86
+ spurious results.`)}}return!1},"instanceOf");var kn=class{static{o(this,"Source")}constructor(e,r="GraphQL request",n={line:1,column:1}){typeof e=="string"||B(!1,`Body must be a string. Received: ${A(e)}.`),this.body=e,this.name=r,this.locationOffset=n,this.locationOffset.line>0||B(!1,"line in locationOffset is 1-indexed and must be positive."),this.locationOffset.column>0||B(!1,"column in locationOffset is 1-indexed and must be positive.")}get[Symbol.toStringTag](){return"Source"}};function ab(t){return Je(t,kn)}o(ab,"isSource");function pc(t,e){return new dc(t,e).parseDocument()}o(pc,"parse");function hc(t,e){let r=new dc(t,e);r.expectToken(b.SOF);let n=r.parseValueLiteral(!1);return r.expectToken(b.EOF),n}o(hc,"parseValue");var dc=class{static{o(this,"Parser")}constructor(e,r={}){let n=ab(e)?e:new kn(e);this._lexer=new Ci(n),this._options=r,this._tokenCounter=0}parseName(){let e=this.expectToken(b.NAME);return this.node(e,{kind:_.NAME,value:e.value})}parseDocument(){return this.node(this._lexer.token,{kind:_.DOCUMENT,definitions:this.many(b.SOF,this.parseDefinition,b.EOF)})}parseDefinition(){if(this.peek(b.BRACE_L))return this.parseOperationDefinition();let e=this.peekDescription(),r=e?this._lexer.lookahead():this._lexer.token;if(r.kind===b.NAME){switch(r.value){case"schema":return this.parseSchemaDefinition();case"scalar":return this.parseScalarTypeDefinition();case"type":return this.parseObjectTypeDefinition();case"interface":return this.parseInterfaceTypeDefinition();case"union":return this.parseUnionTypeDefinition();case"enum":return this.parseEnumTypeDefinition();case"input":return this.parseInputObjectTypeDefinition();case"directive":return this.parseDirectiveDefinition()}if(e)throw le(this._lexer.source,this._lexer.token.start,"Unexpected description, descriptions are supported only on type definitions.");switch(r.value){case"query":case"mutation":case"subscription":return this.parseOperationDefinition();case"fragment":return this.parseFragmentDefinition();case"extend":return this.parseTypeSystemExtension()}}throw this.unexpected(r)}parseOperationDefinition(){let e=this._lexer.token;if(this.peek(b.BRACE_L))return this.node(e,{kind:_.OPERATION_DEFINITION,operation:rt.QUERY,name:void 0,variableDefinitions:[],directives:[],selectionSet:this.parseSelectionSet()});let r=this.parseOperationType(),n;return this.peek(b.NAME)&&(n=this.parseName()),this.node(e,{kind:_.OPERATION_DEFINITION,operation:r,name:n,variableDefinitions:this.parseVariableDefinitions(),directives:this.parseDirectives(!1),selectionSet:this.parseSelectionSet()})}parseOperationType(){let e=this.expectToken(b.NAME);switch(e.value){case"query":return rt.QUERY;case"mutation":return rt.MUTATION;case"subscription":return rt.SUBSCRIPTION}throw this.unexpected(e)}parseVariableDefinitions(){return this.optionalMany(b.PAREN_L,this.parseVariableDefinition,b.PAREN_R)}parseVariableDefinition(){return this.node(this._lexer.token,{kind:_.VARIABLE_DEFINITION,variable:this.parseVariable(),type:(this.expectToken(b.COLON),this.parseTypeReference()),defaultValue:this.expectOptionalToken(b.EQUALS)?this.parseConstValueLiteral():void 0,directives:this.parseConstDirectives()})}parseVariable(){let e=this._lexer.token;return this.expectToken(b.DOLLAR),this.node(e,{kind:_.VARIABLE,name:this.parseName()})}parseSelectionSet(){return this.node(this._lexer.token,{kind:_.SELECTION_SET,selections:this.many(b.BRACE_L,this.parseSelection,b.BRACE_R)})}parseSelection(){return this.peek(b.SPREAD)?this.parseFragment():this.parseField()}parseField(){let e=this._lexer.token,r=this.parseName(),n,i;return this.expectOptionalToken(b.COLON)?(n=r,i=this.parseName()):i=r,this.node(e,{kind:_.FIELD,alias:n,name:i,arguments:this.parseArguments(!1),directives:this.parseDirectives(!1),selectionSet:this.peek(b.BRACE_L)?this.parseSelectionSet():void 0})}parseArguments(e){let r=e?this.parseConstArgument:this.parseArgument;return this.optionalMany(b.PAREN_L,r,b.PAREN_R)}parseArgument(e=!1){let r=this._lexer.token,n=this.parseName();return this.expectToken(b.COLON),this.node(r,{kind:_.ARGUMENT,name:n,value:this.parseValueLiteral(e)})}parseConstArgument(){return this.parseArgument(!0)}parseFragment(){let e=this._lexer.token;this.expectToken(b.SPREAD);let r=this.expectOptionalKeyword("on");return!r&&this.peek(b.NAME)?this.node(e,{kind:_.FRAGMENT_SPREAD,name:this.parseFragmentName(),directives:this.parseDirectives(!1)}):this.node(e,{kind:_.INLINE_FRAGMENT,typeCondition:r?this.parseNamedType():void 0,directives:this.parseDirectives(!1),selectionSet:this.parseSelectionSet()})}parseFragmentDefinition(){let e=this._lexer.token;return this.expectKeyword("fragment"),this._options.allowLegacyFragmentVariables===!0?this.node(e,{kind:_.FRAGMENT_DEFINITION,name:this.parseFragmentName(),variableDefinitions:this.parseVariableDefinitions(),typeCondition:(this.expectKeyword("on"),this.parseNamedType()),directives:this.parseDirectives(!1),selectionSet:this.parseSelectionSet()}):this.node(e,{kind:_.FRAGMENT_DEFINITION,name:this.parseFragmentName(),typeCondition:(this.expectKeyword("on"),this.parseNamedType()),directives:this.parseDirectives(!1),selectionSet:this.parseSelectionSet()})}parseFragmentName(){if(this._lexer.token.value==="on")throw this.unexpected();return this.parseName()}parseValueLiteral(e){let r=this._lexer.token;switch(r.kind){case b.BRACKET_L:return this.parseList(e);case b.BRACE_L:return this.parseObject(e);case b.INT:return this.advanceLexer(),this.node(r,{kind:_.INT,value:r.value});case b.FLOAT:return this.advanceLexer(),this.node(r,{kind:_.FLOAT,value:r.value});case b.STRING:case b.BLOCK_STRING:return this.parseStringLiteral();case b.NAME:switch(this.advanceLexer(),r.value){case"true":return this.node(r,{kind:_.BOOLEAN,value:!0});case"false":return this.node(r,{kind:_.BOOLEAN,value:!1});case"null":return this.node(r,{kind:_.NULL});default:return this.node(r,{kind:_.ENUM,value:r.value})}case b.DOLLAR:if(e)if(this.expectToken(b.DOLLAR),this._lexer.token.kind===b.NAME){let n=this._lexer.token.value;throw le(this._lexer.source,r.start,`Unexpected variable "$${n}" in constant value.`)}else throw this.unexpected(r);return this.parseVariable();default:throw this.unexpected()}}parseConstValueLiteral(){return this.parseValueLiteral(!0)}parseStringLiteral(){let e=this._lexer.token;return this.advanceLexer(),this.node(e,{kind:_.STRING,value:e.value,block:e.kind===b.BLOCK_STRING})}parseList(e){let r=o(()=>this.parseValueLiteral(e),"item");return this.node(this._lexer.token,{kind:_.LIST,values:this.any(b.BRACKET_L,r,b.BRACKET_R)})}parseObject(e){let r=o(()=>this.parseObjectField(e),"item");return this.node(this._lexer.token,{kind:_.OBJECT,fields:this.any(b.BRACE_L,r,b.BRACE_R)})}parseObjectField(e){let r=this._lexer.token,n=this.parseName();return this.expectToken(b.COLON),this.node(r,{kind:_.OBJECT_FIELD,name:n,value:this.parseValueLiteral(e)})}parseDirectives(e){let r=[];for(;this.peek(b.AT);)r.push(this.parseDirective(e));return r}parseConstDirectives(){return this.parseDirectives(!0)}parseDirective(e){let r=this._lexer.token;return this.expectToken(b.AT),this.node(r,{kind:_.DIRECTIVE,name:this.parseName(),arguments:this.parseArguments(e)})}parseTypeReference(){let e=this._lexer.token,r;if(this.expectOptionalToken(b.BRACKET_L)){let n=this.parseTypeReference();this.expectToken(b.BRACKET_R),r=this.node(e,{kind:_.LIST_TYPE,type:n})}else r=this.parseNamedType();return this.expectOptionalToken(b.BANG)?this.node(e,{kind:_.NON_NULL_TYPE,type:r}):r}parseNamedType(){return this.node(this._lexer.token,{kind:_.NAMED_TYPE,name:this.parseName()})}peekDescription(){return this.peek(b.STRING)||this.peek(b.BLOCK_STRING)}parseDescription(){if(this.peekDescription())return this.parseStringLiteral()}parseSchemaDefinition(){let e=this._lexer.token,r=this.parseDescription();this.expectKeyword("schema");let n=this.parseConstDirectives(),i=this.many(b.BRACE_L,this.parseOperationTypeDefinition,b.BRACE_R);return this.node(e,{kind:_.SCHEMA_DEFINITION,description:r,directives:n,operationTypes:i})}parseOperationTypeDefinition(){let e=this._lexer.token,r=this.parseOperationType();this.expectToken(b.COLON);let n=this.parseNamedType();return this.node(e,{kind:_.OPERATION_TYPE_DEFINITION,operation:r,type:n})}parseScalarTypeDefinition(){let e=this._lexer.token,r=this.parseDescription();this.expectKeyword("scalar");let n=this.parseName(),i=this.parseConstDirectives();return this.node(e,{kind:_.SCALAR_TYPE_DEFINITION,description:r,name:n,directives:i})}parseObjectTypeDefinition(){let e=this._lexer.token,r=this.parseDescription();this.expectKeyword("type");let n=this.parseName(),i=this.parseImplementsInterfaces(),s=this.parseConstDirectives(),a=this.parseFieldsDefinition();return this.node(e,{kind:_.OBJECT_TYPE_DEFINITION,description:r,name:n,interfaces:i,directives:s,fields:a})}parseImplementsInterfaces(){return this.expectOptionalKeyword("implements")?this.delimitedMany(b.AMP,this.parseNamedType):[]}parseFieldsDefinition(){return this.optionalMany(b.BRACE_L,this.parseFieldDefinition,b.BRACE_R)}parseFieldDefinition(){let e=this._lexer.token,r=this.parseDescription(),n=this.parseName(),i=this.parseArgumentDefs();this.expectToken(b.COLON);let s=this.parseTypeReference(),a=this.parseConstDirectives();return this.node(e,{kind:_.FIELD_DEFINITION,description:r,name:n,arguments:i,type:s,directives:a})}parseArgumentDefs(){return this.optionalMany(b.PAREN_L,this.parseInputValueDef,b.PAREN_R)}parseInputValueDef(){let e=this._lexer.token,r=this.parseDescription(),n=this.parseName();this.expectToken(b.COLON);let i=this.parseTypeReference(),s;this.expectOptionalToken(b.EQUALS)&&(s=this.parseConstValueLiteral());let a=this.parseConstDirectives();return this.node(e,{kind:_.INPUT_VALUE_DEFINITION,description:r,name:n,type:i,defaultValue:s,directives:a})}parseInterfaceTypeDefinition(){let e=this._lexer.token,r=this.parseDescription();this.expectKeyword("interface");let n=this.parseName(),i=this.parseImplementsInterfaces(),s=this.parseConstDirectives(),a=this.parseFieldsDefinition();return this.node(e,{kind:_.INTERFACE_TYPE_DEFINITION,description:r,name:n,interfaces:i,directives:s,fields:a})}parseUnionTypeDefinition(){let e=this._lexer.token,r=this.parseDescription();this.expectKeyword("union");let n=this.parseName(),i=this.parseConstDirectives(),s=this.parseUnionMemberTypes();return this.node(e,{kind:_.UNION_TYPE_DEFINITION,description:r,name:n,directives:i,types:s})}parseUnionMemberTypes(){return this.expectOptionalToken(b.EQUALS)?this.delimitedMany(b.PIPE,this.parseNamedType):[]}parseEnumTypeDefinition(){let e=this._lexer.token,r=this.parseDescription();this.expectKeyword("enum");let n=this.parseName(),i=this.parseConstDirectives(),s=this.parseEnumValuesDefinition();return this.node(e,{kind:_.ENUM_TYPE_DEFINITION,description:r,name:n,directives:i,values:s})}parseEnumValuesDefinition(){return this.optionalMany(b.BRACE_L,this.parseEnumValueDefinition,b.BRACE_R)}parseEnumValueDefinition(){let e=this._lexer.token,r=this.parseDescription(),n=this.parseEnumValueName(),i=this.parseConstDirectives();return this.node(e,{kind:_.ENUM_VALUE_DEFINITION,description:r,name:n,directives:i})}parseEnumValueName(){if(this._lexer.token.value==="true"||this._lexer.token.value==="false"||this._lexer.token.value==="null")throw le(this._lexer.source,this._lexer.token.start,`${lc(this._lexer.token)} is reserved and cannot be used for an enum value.`);return this.parseName()}parseInputObjectTypeDefinition(){let e=this._lexer.token,r=this.parseDescription();this.expectKeyword("input");let n=this.parseName(),i=this.parseConstDirectives(),s=this.parseInputFieldsDefinition();return this.node(e,{kind:_.INPUT_OBJECT_TYPE_DEFINITION,description:r,name:n,directives:i,fields:s})}parseInputFieldsDefinition(){return this.optionalMany(b.BRACE_L,this.parseInputValueDef,b.BRACE_R)}parseTypeSystemExtension(){let e=this._lexer.lookahead();if(e.kind===b.NAME)switch(e.value){case"schema":return this.parseSchemaExtension();case"scalar":return this.parseScalarTypeExtension();case"type":return this.parseObjectTypeExtension();case"interface":return this.parseInterfaceTypeExtension();case"union":return this.parseUnionTypeExtension();case"enum":return this.parseEnumTypeExtension();case"input":return this.parseInputObjectTypeExtension()}throw this.unexpected(e)}parseSchemaExtension(){let e=this._lexer.token;this.expectKeyword("extend"),this.expectKeyword("schema");let r=this.parseConstDirectives(),n=this.optionalMany(b.BRACE_L,this.parseOperationTypeDefinition,b.BRACE_R);if(r.length===0&&n.length===0)throw this.unexpected();return this.node(e,{kind:_.SCHEMA_EXTENSION,directives:r,operationTypes:n})}parseScalarTypeExtension(){let e=this._lexer.token;this.expectKeyword("extend"),this.expectKeyword("scalar");let r=this.parseName(),n=this.parseConstDirectives();if(n.length===0)throw this.unexpected();return this.node(e,{kind:_.SCALAR_TYPE_EXTENSION,name:r,directives:n})}parseObjectTypeExtension(){let e=this._lexer.token;this.expectKeyword("extend"),this.expectKeyword("type");let r=this.parseName(),n=this.parseImplementsInterfaces(),i=this.parseConstDirectives(),s=this.parseFieldsDefinition();if(n.length===0&&i.length===0&&s.length===0)throw this.unexpected();return this.node(e,{kind:_.OBJECT_TYPE_EXTENSION,name:r,interfaces:n,directives:i,fields:s})}parseInterfaceTypeExtension(){let e=this._lexer.token;this.expectKeyword("extend"),this.expectKeyword("interface");let r=this.parseName(),n=this.parseImplementsInterfaces(),i=this.parseConstDirectives(),s=this.parseFieldsDefinition();if(n.length===0&&i.length===0&&s.length===0)throw this.unexpected();return this.node(e,{kind:_.INTERFACE_TYPE_EXTENSION,name:r,interfaces:n,directives:i,fields:s})}parseUnionTypeExtension(){let e=this._lexer.token;this.expectKeyword("extend"),this.expectKeyword("union");let r=this.parseName(),n=this.parseConstDirectives(),i=this.parseUnionMemberTypes();if(n.length===0&&i.length===0)throw this.unexpected();return this.node(e,{kind:_.UNION_TYPE_EXTENSION,name:r,directives:n,types:i})}parseEnumTypeExtension(){let e=this._lexer.token;this.expectKeyword("extend"),this.expectKeyword("enum");let r=this.parseName(),n=this.parseConstDirectives(),i=this.parseEnumValuesDefinition();if(n.length===0&&i.length===0)throw this.unexpected();return this.node(e,{kind:_.ENUM_TYPE_EXTENSION,name:r,directives:n,values:i})}parseInputObjectTypeExtension(){let e=this._lexer.token;this.expectKeyword("extend"),this.expectKeyword("input");let r=this.parseName(),n=this.parseConstDirectives(),i=this.parseInputFieldsDefinition();if(n.length===0&&i.length===0)throw this.unexpected();return this.node(e,{kind:_.INPUT_OBJECT_TYPE_EXTENSION,name:r,directives:n,fields:i})}parseDirectiveDefinition(){let e=this._lexer.token,r=this.parseDescription();this.expectKeyword("directive"),this.expectToken(b.AT);let n=this.parseName(),i=this.parseArgumentDefs(),s=this.expectOptionalKeyword("repeatable");this.expectKeyword("on");let a=this.parseDirectiveLocations();return this.node(e,{kind:_.DIRECTIVE_DEFINITION,description:r,name:n,arguments:i,repeatable:s,locations:a})}parseDirectiveLocations(){return this.delimitedMany(b.PIPE,this.parseDirectiveLocation)}parseDirectiveLocation(){let e=this._lexer.token,r=this.parseName();if(Object.prototype.hasOwnProperty.call(K,r.value))return r;throw this.unexpected(e)}node(e,r){return this._options.noLocation!==!0&&(r.loc=new Ri(e,this._lexer.lastToken,this._lexer.source)),r}peek(e){return this._lexer.token.kind===e}expectToken(e){let r=this._lexer.token;if(r.kind===e)return this.advanceLexer(),r;throw le(this._lexer.source,r.start,`Expected ${cb(e)}, found ${lc(r)}.`)}expectOptionalToken(e){return this._lexer.token.kind===e?(this.advanceLexer(),!0):!1}expectKeyword(e){let r=this._lexer.token;if(r.kind===b.NAME&&r.value===e)this.advanceLexer();else throw le(this._lexer.source,r.start,`Expected "${e}", found ${lc(r)}.`)}expectOptionalKeyword(e){let r=this._lexer.token;return r.kind===b.NAME&&r.value===e?(this.advanceLexer(),!0):!1}unexpected(e){let r=e??this._lexer.token;return le(this._lexer.source,r.start,`Unexpected ${lc(r)}.`)}any(e,r,n){this.expectToken(e);let i=[];for(;!this.expectOptionalToken(n);)i.push(r.call(this));return i}optionalMany(e,r,n){if(this.expectOptionalToken(e)){let i=[];do i.push(r.call(this));while(!this.expectOptionalToken(n));return i}return[]}many(e,r,n){this.expectToken(e);let i=[];do i.push(r.call(this));while(!this.expectOptionalToken(n));return i}delimitedMany(e,r){this.expectOptionalToken(e);let n=[];do n.push(r.call(this));while(this.expectOptionalToken(e));return n}advanceLexer(){let{maxTokens:e}=this._options,r=this._lexer.advance();if(e!==void 0&&r.kind!==b.EOF&&(++this._tokenCounter,this._tokenCounter>e))throw le(this._lexer.source,r.start,`Document contains more that ${e} tokens. Parsing aborted.`)}};function lc(t){let e=t.value;return cb(t.kind)+(e!=null?` "${e}"`:"")}o(lc,"getTokenDesc");function cb(t){return ib(t)?`"${t}"`:t}o(cb,"getTokenKindDesc");function fc(t,e){let[r,n]=e?[t,e]:[void 0,t],i=" Did you mean ";r&&(i+=r+" ");let s=n.map(u=>`"${u}"`);switch(s.length){case 0:return"";case 1:return i+s[0]+"?";case 2:return i+s[0]+" or "+s[1]+"?"}let a=s.slice(0,5),c=a.pop();return i+a.join(", ")+", or "+c+"?"}o(fc,"didYouMean");function mp(t){return t}o(mp,"identityFunc");function Fn(t,e){let r=Object.create(null);for(let n of t)r[e(n)]=n;return r}o(Fn,"keyMap");function St(t,e,r){let n=Object.create(null);for(let i of t)n[e(i)]=r(i);return n}o(St,"keyValMap");function Li(t,e){let r=Object.create(null);for(let n of Object.keys(t))r[n]=e(t[n],n);return r}o(Li,"mapValue");function ub(t,e){let r=0,n=0;for(;r<t.length&&n<e.length;){let i=t.charCodeAt(r),s=e.charCodeAt(n);if(mc(i)&&mc(s)){let a=0;do++r,a=a*10+i-yp,i=t.charCodeAt(r);while(mc(i)&&a>0);let c=0;do++n,c=c*10+s-yp,s=e.charCodeAt(n);while(mc(s)&&c>0);if(a<c)return-1;if(a>c)return 1}else{if(i<s)return-1;if(i>s)return 1;++r,++n}}return t.length-e.length}o(ub,"naturalCompare");var yp=48,Jx=57;function mc(t){return!isNaN(t)&&yp<=t&&t<=Jx}o(mc,"isDigit");function yc(t,e){let r=Object.create(null),n=new gp(t),i=Math.floor(t.length*.4)+1;for(let s of e){let a=n.measure(s,i);a!==void 0&&(r[s]=a)}return Object.keys(r).sort((s,a)=>{let c=r[s]-r[a];return c!==0?c:ub(s,a)})}o(yc,"suggestionList");var gp=class{static{o(this,"LexicalDistance")}constructor(e){this._input=e,this._inputLowerCase=e.toLowerCase(),this._inputArray=lb(this._inputLowerCase),this._rows=[new Array(e.length+1).fill(0),new Array(e.length+1).fill(0),new Array(e.length+1).fill(0)]}measure(e,r){if(this._input===e)return 0;let n=e.toLowerCase();if(this._inputLowerCase===n)return 1;let i=lb(n),s=this._inputArray;if(i.length<s.length){let d=i;i=s,s=d}let a=i.length,c=s.length;if(a-c>r)return;let u=this._rows;for(let d=0;d<=c;d++)u[0][d]=d;for(let d=1;d<=a;d++){let p=u[(d-1)%3],m=u[d%3],f=m[0]=d;for(let y=1;y<=c;y++){let v=i[d-1]===s[y-1]?0:1,T=Math.min(p[y]+1,m[y-1]+1,p[y-1]+v);if(d>1&&y>1&&i[d-1]===s[y-2]&&i[d-2]===s[y-1]){let I=u[(d-2)%3][y-2];T=Math.min(T,I+1)}T<f&&(f=T),m[y]=T}if(f>r)return}let l=u[a%3][c];return l<=r?l:void 0}};function lb(t){let e=t.length,r=new Array(e);for(let n=0;n<e;++n)r[n]=t.charCodeAt(n);return r}o(lb,"stringToArray");function Le(t){if(t==null)return Object.create(null);if(Object.getPrototypeOf(t)===null)return t;let e=Object.create(null);for(let[r,n]of Object.entries(t))e[r]=n;return e}o(Le,"toObjMap");function db(t){return`"${t.replace(zx,Wx)}"`}o(db,"printString");var zx=/[\x00-\x1f\x22\x5c\x7f-\x9f]/g;function Wx(t){return Qx[t.charCodeAt(0)]}o(Wx,"escapedReplacer");var Qx=["\\u0000","\\u0001","\\u0002","\\u0003","\\u0004","\\u0005","\\u0006","\\u0007","\\b","\\t","\\n","\\u000B","\\f","\\r","\\u000E","\\u000F","\\u0010","\\u0011","\\u0012","\\u0013","\\u0014","\\u0015","\\u0016","\\u0017","\\u0018","\\u0019","\\u001A","\\u001B","\\u001C","\\u001D","\\u001E","\\u001F","","",'\\"',"","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","\\\\","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","\\u007F","\\u0080","\\u0081","\\u0082","\\u0083","\\u0084","\\u0085","\\u0086","\\u0087","\\u0088","\\u0089","\\u008A","\\u008B","\\u008C","\\u008D","\\u008E","\\u008F","\\u0090","\\u0091","\\u0092","\\u0093","\\u0094","\\u0095","\\u0096","\\u0097","\\u0098","\\u0099","\\u009A","\\u009B","\\u009C","\\u009D","\\u009E","\\u009F"];var _p=Object.freeze({});function pr(t,e,r=hp){let n=new Map;for(let I of Object.values(_))n.set(I,Hn(e,I));let i,s=Array.isArray(t),a=[t],c=-1,u=[],l=t,d,p,m=[],f=[];do{c++;let I=c===a.length,k=I&&u.length!==0;if(I){if(d=f.length===0?void 0:m[m.length-1],l=p,p=f.pop(),k)if(s){l=l.slice();let N=0;for(let[oe,ee]of u){let fe=oe-N;ee===null?(l.splice(fe,1),N++):l[fe]=ee}}else{l=Object.defineProperties({},Object.getOwnPropertyDescriptors(l));for(let[N,oe]of u)l[N]=oe}c=i.index,a=i.keys,u=i.edits,s=i.inArray,i=i.prev}else if(p){if(d=s?c:a[c],l=p[d],l==null)continue;m.push(d)}let j;if(!Array.isArray(l)){var y,v;Oi(l)||B(!1,`Invalid AST Node: ${A(l)}.`);let N=I?(y=n.get(l.kind))===null||y===void 0?void 0:y.leave:(v=n.get(l.kind))===null||v===void 0?void 0:v.enter;if(j=N?.call(e,l,d,p,m,f),j===_p)break;if(j===!1){if(!I){m.pop();continue}}else if(j!==void 0&&(u.push([d,j]),!I))if(Oi(j))l=j;else{m.pop();continue}}if(j===void 0&&k&&u.push([d,l]),I)m.pop();else{var T;i={inArray:s,index:c,keys:a,edits:u,prev:i},s=Array.isArray(l),a=s?l:(T=r[l.kind])!==null&&T!==void 0?T:[],c=-1,u=[],p&&f.push(p),p=l}}while(i!==void 0);return u.length!==0?u[u.length-1][1]:t}o(pr,"visit");function Hn(t,e){let r=t[e];return typeof r=="object"?r:typeof r=="function"?{enter:r,leave:void 0}:{enter:t.enter,leave:t.leave}}o(Hn,"getEnterLeaveForKind");function De(t){return pr(t,Zx)}o(De,"print");var Yx=80,Zx={Name:{leave:t=>t.value},Variable:{leave:t=>"$"+t.name},Document:{leave:t=>x(t.definitions,`
87
87
 
88
- `)},OperationDefinition:{leave(t){let e=J("(",O(t.variableDefinitions,", "),")"),r=O([t.operation,O([t.name,e]),O(t.directives," ")]," ");return(r==="query"?"":r+" ")+t.selectionSet}},VariableDefinition:{leave:({variable:t,type:e,defaultValue:r,directives:n})=>t+": "+e+J(" = ",r)+J(" ",O(n," "))},SelectionSet:{leave:({selections:t})=>ut(t)},Field:{leave({alias:t,name:e,arguments:r,directives:n,selectionSet:i}){let s=J("",t,": ")+e,a=s+J("(",O(r,", "),")");return a.length>Yx&&(a=s+J(`(
89
- `,gc(O(r,`
88
+ `)},OperationDefinition:{leave(t){let e=J("(",x(t.variableDefinitions,", "),")"),r=x([t.operation,x([t.name,e]),x(t.directives," ")]," ");return(r==="query"?"":r+" ")+t.selectionSet}},VariableDefinition:{leave:({variable:t,type:e,defaultValue:r,directives:n})=>t+": "+e+J(" = ",r)+J(" ",x(n," "))},SelectionSet:{leave:({selections:t})=>ut(t)},Field:{leave({alias:t,name:e,arguments:r,directives:n,selectionSet:i}){let s=J("",t,": ")+e,a=s+J("(",x(r,", "),")");return a.length>Yx&&(a=s+J(`(
89
+ `,gc(x(r,`
90
90
  `)),`
91
- )`)),O([a,O(n," "),i]," ")}},Argument:{leave:({name:t,value:e})=>t+": "+e},FragmentSpread:{leave:({name:t,directives:e})=>"..."+t+J(" ",O(e," "))},InlineFragment:{leave:({typeCondition:t,directives:e,selectionSet:r})=>O(["...",J("on ",t),O(e," "),r]," ")},FragmentDefinition:{leave:({name:t,typeCondition:e,variableDefinitions:r,directives:n,selectionSet:i})=>`fragment ${t}${J("(",O(r,", "),")")} on ${e} ${J("",O(n," ")," ")}`+i},IntValue:{leave:({value:t})=>t},FloatValue:{leave:({value:t})=>t},StringValue:{leave:({value:t,block:e})=>e?rb(t):db(t)},BooleanValue:{leave:({value:t})=>t?"true":"false"},NullValue:{leave:()=>"null"},EnumValue:{leave:({value:t})=>t},ListValue:{leave:({values:t})=>"["+O(t,", ")+"]"},ObjectValue:{leave:({fields:t})=>"{"+O(t,", ")+"}"},ObjectField:{leave:({name:t,value:e})=>t+": "+e},Directive:{leave:({name:t,arguments:e})=>"@"+t+J("(",O(e,", "),")")},NamedType:{leave:({name:t})=>t},ListType:{leave:({type:t})=>"["+t+"]"},NonNullType:{leave:({type:t})=>t+"!"},SchemaDefinition:{leave:({description:t,directives:e,operationTypes:r})=>J("",t,`
92
- `)+O(["schema",O(e," "),ut(r)]," ")},OperationTypeDefinition:{leave:({operation:t,type:e})=>t+": "+e},ScalarTypeDefinition:{leave:({description:t,name:e,directives:r})=>J("",t,`
93
- `)+O(["scalar",e,O(r," ")]," ")},ObjectTypeDefinition:{leave:({description:t,name:e,interfaces:r,directives:n,fields:i})=>J("",t,`
94
- `)+O(["type",e,J("implements ",O(r," & ")),O(n," "),ut(i)]," ")},FieldDefinition:{leave:({description:t,name:e,arguments:r,type:n,directives:i})=>J("",t,`
91
+ )`)),x([a,x(n," "),i]," ")}},Argument:{leave:({name:t,value:e})=>t+": "+e},FragmentSpread:{leave:({name:t,directives:e})=>"..."+t+J(" ",x(e," "))},InlineFragment:{leave:({typeCondition:t,directives:e,selectionSet:r})=>x(["...",J("on ",t),x(e," "),r]," ")},FragmentDefinition:{leave:({name:t,typeCondition:e,variableDefinitions:r,directives:n,selectionSet:i})=>`fragment ${t}${J("(",x(r,", "),")")} on ${e} ${J("",x(n," ")," ")}`+i},IntValue:{leave:({value:t})=>t},FloatValue:{leave:({value:t})=>t},StringValue:{leave:({value:t,block:e})=>e?rb(t):db(t)},BooleanValue:{leave:({value:t})=>t?"true":"false"},NullValue:{leave:()=>"null"},EnumValue:{leave:({value:t})=>t},ListValue:{leave:({values:t})=>"["+x(t,", ")+"]"},ObjectValue:{leave:({fields:t})=>"{"+x(t,", ")+"}"},ObjectField:{leave:({name:t,value:e})=>t+": "+e},Directive:{leave:({name:t,arguments:e})=>"@"+t+J("(",x(e,", "),")")},NamedType:{leave:({name:t})=>t},ListType:{leave:({type:t})=>"["+t+"]"},NonNullType:{leave:({type:t})=>t+"!"},SchemaDefinition:{leave:({description:t,directives:e,operationTypes:r})=>J("",t,`
92
+ `)+x(["schema",x(e," "),ut(r)]," ")},OperationTypeDefinition:{leave:({operation:t,type:e})=>t+": "+e},ScalarTypeDefinition:{leave:({description:t,name:e,directives:r})=>J("",t,`
93
+ `)+x(["scalar",e,x(r," ")]," ")},ObjectTypeDefinition:{leave:({description:t,name:e,interfaces:r,directives:n,fields:i})=>J("",t,`
94
+ `)+x(["type",e,J("implements ",x(r," & ")),x(n," "),ut(i)]," ")},FieldDefinition:{leave:({description:t,name:e,arguments:r,type:n,directives:i})=>J("",t,`
95
95
  `)+e+(pb(r)?J(`(
96
- `,gc(O(r,`
96
+ `,gc(x(r,`
97
97
  `)),`
98
- )`):J("(",O(r,", "),")"))+": "+n+J(" ",O(i," "))},InputValueDefinition:{leave:({description:t,name:e,type:r,defaultValue:n,directives:i})=>J("",t,`
99
- `)+O([e+": "+r,J("= ",n),O(i," ")]," ")},InterfaceTypeDefinition:{leave:({description:t,name:e,interfaces:r,directives:n,fields:i})=>J("",t,`
100
- `)+O(["interface",e,J("implements ",O(r," & ")),O(n," "),ut(i)]," ")},UnionTypeDefinition:{leave:({description:t,name:e,directives:r,types:n})=>J("",t,`
101
- `)+O(["union",e,O(r," "),J("= ",O(n," | "))]," ")},EnumTypeDefinition:{leave:({description:t,name:e,directives:r,values:n})=>J("",t,`
102
- `)+O(["enum",e,O(r," "),ut(n)]," ")},EnumValueDefinition:{leave:({description:t,name:e,directives:r})=>J("",t,`
103
- `)+O([e,O(r," ")]," ")},InputObjectTypeDefinition:{leave:({description:t,name:e,directives:r,fields:n})=>J("",t,`
104
- `)+O(["input",e,O(r," "),ut(n)]," ")},DirectiveDefinition:{leave:({description:t,name:e,arguments:r,repeatable:n,locations:i})=>J("",t,`
98
+ )`):J("(",x(r,", "),")"))+": "+n+J(" ",x(i," "))},InputValueDefinition:{leave:({description:t,name:e,type:r,defaultValue:n,directives:i})=>J("",t,`
99
+ `)+x([e+": "+r,J("= ",n),x(i," ")]," ")},InterfaceTypeDefinition:{leave:({description:t,name:e,interfaces:r,directives:n,fields:i})=>J("",t,`
100
+ `)+x(["interface",e,J("implements ",x(r," & ")),x(n," "),ut(i)]," ")},UnionTypeDefinition:{leave:({description:t,name:e,directives:r,types:n})=>J("",t,`
101
+ `)+x(["union",e,x(r," "),J("= ",x(n," | "))]," ")},EnumTypeDefinition:{leave:({description:t,name:e,directives:r,values:n})=>J("",t,`
102
+ `)+x(["enum",e,x(r," "),ut(n)]," ")},EnumValueDefinition:{leave:({description:t,name:e,directives:r})=>J("",t,`
103
+ `)+x([e,x(r," ")]," ")},InputObjectTypeDefinition:{leave:({description:t,name:e,directives:r,fields:n})=>J("",t,`
104
+ `)+x(["input",e,x(r," "),ut(n)]," ")},DirectiveDefinition:{leave:({description:t,name:e,arguments:r,repeatable:n,locations:i})=>J("",t,`
105
105
  `)+"directive @"+e+(pb(r)?J(`(
106
- `,gc(O(r,`
106
+ `,gc(x(r,`
107
107
  `)),`
108
- )`):J("(",O(r,", "),")"))+(n?" repeatable":"")+" on "+O(i," | ")},SchemaExtension:{leave:({directives:t,operationTypes:e})=>O(["extend schema",O(t," "),ut(e)]," ")},ScalarTypeExtension:{leave:({name:t,directives:e})=>O(["extend scalar",t,O(e," ")]," ")},ObjectTypeExtension:{leave:({name:t,interfaces:e,directives:r,fields:n})=>O(["extend type",t,J("implements ",O(e," & ")),O(r," "),ut(n)]," ")},InterfaceTypeExtension:{leave:({name:t,interfaces:e,directives:r,fields:n})=>O(["extend interface",t,J("implements ",O(e," & ")),O(r," "),ut(n)]," ")},UnionTypeExtension:{leave:({name:t,directives:e,types:r})=>O(["extend union",t,O(e," "),J("= ",O(r," | "))]," ")},EnumTypeExtension:{leave:({name:t,directives:e,values:r})=>O(["extend enum",t,O(e," "),ut(r)]," ")},InputObjectTypeExtension:{leave:({name:t,directives:e,fields:r})=>O(["extend input",t,O(e," "),ut(r)]," ")}};function O(t,e=""){var r;return(r=t?.filter(n=>n).join(e))!==null&&r!==void 0?r:""}o(O,"join");function ut(t){return J(`{
109
- `,gc(O(t,`
108
+ )`):J("(",x(r,", "),")"))+(n?" repeatable":"")+" on "+x(i," | ")},SchemaExtension:{leave:({directives:t,operationTypes:e})=>x(["extend schema",x(t," "),ut(e)]," ")},ScalarTypeExtension:{leave:({name:t,directives:e})=>x(["extend scalar",t,x(e," ")]," ")},ObjectTypeExtension:{leave:({name:t,interfaces:e,directives:r,fields:n})=>x(["extend type",t,J("implements ",x(e," & ")),x(r," "),ut(n)]," ")},InterfaceTypeExtension:{leave:({name:t,interfaces:e,directives:r,fields:n})=>x(["extend interface",t,J("implements ",x(e," & ")),x(r," "),ut(n)]," ")},UnionTypeExtension:{leave:({name:t,directives:e,types:r})=>x(["extend union",t,x(e," "),J("= ",x(r," | "))]," ")},EnumTypeExtension:{leave:({name:t,directives:e,values:r})=>x(["extend enum",t,x(e," "),ut(r)]," ")},InputObjectTypeExtension:{leave:({name:t,directives:e,fields:r})=>x(["extend input",t,x(e," "),ut(r)]," ")}};function x(t,e=""){var r;return(r=t?.filter(n=>n).join(e))!==null&&r!==void 0?r:""}o(x,"join");function ut(t){return J(`{
109
+ `,gc(x(t,`
110
110
  `)),`
111
111
  }`)}o(ut,"block");function J(t,e,r=""){return e!=null&&e!==""?t+e+r:""}o(J,"wrap");function gc(t){return J(" ",t.replace(/\n/g,`
112
112
  `))}o(gc,"indent");function pb(t){var e;return(e=t?.some(r=>r.includes(`
113
- `)))!==null&&e!==void 0?e:!1}o(pb,"hasMultilineItems");function Di(t,e){switch(t.kind){case _.NULL:return null;case _.INT:return parseInt(t.value,10);case _.FLOAT:return parseFloat(t.value);case _.STRING:case _.ENUM:case _.BOOLEAN:return t.value;case _.LIST:return t.values.map(r=>Di(r,e));case _.OBJECT:return St(t.fields,r=>r.name.value,r=>Di(r.value,e));case _.VARIABLE:return e?.[t.name.value]}}o(Di,"valueFromASTUntyped");function je(t){if(t!=null||B(!1,"Must provide name."),typeof t=="string"||B(!1,"Expected name to be a string."),t.length===0)throw new C("Expected name to be a non-empty string.");for(let e=1;e<t.length;++e)if(!ac(t.charCodeAt(e)))throw new C(`Names must only contain [_a-zA-Z0-9] but "${t}" does not.`);if(!xi(t.charCodeAt(0)))throw new C(`Names must start with [_a-zA-Z] but "${t}" does not.`);return t}o(je,"assertName");function bp(t){if(t==="true"||t==="false"||t==="null")throw new C(`Enum values cannot be named: ${t}`);return je(t)}o(bp,"assertEnumValueName");function bc(t){return hr(t)||Ne(t)||Ee(t)||nt(t)||We(t)||Pe(t)||Ve(t)||ae(t)}o(bc,"isType");function hr(t){return Je(t,ze)}o(hr,"isScalarType");function Ne(t){return Je(t,xe)}o(Ne,"isObjectType");function Ec(t){if(!Ne(t))throw new Error(`Expected ${A(t)} to be a GraphQL Object type.`);return t}o(Ec,"assertObjectType");function Ee(t){return Je(t,Ft)}o(Ee,"isInterfaceType");function wc(t){if(!Ee(t))throw new Error(`Expected ${A(t)} to be a GraphQL Interface type.`);return t}o(wc,"assertInterfaceType");function nt(t){return Je(t,Ur)}o(nt,"isUnionType");function We(t){return Je(t,It)}o(We,"isEnumType");function Pe(t){return Je(t,Mr)}o(Pe,"isInputObjectType");function Ve(t){return Je(t,de)}o(Ve,"isListType");function ae(t){return Je(t,$)}o(ae,"isNonNullType");function Qe(t){return hr(t)||We(t)||Pe(t)||Ui(t)&&Qe(t.ofType)}o(Qe,"isInputType");function Ht(t){return hr(t)||Ne(t)||Ee(t)||nt(t)||We(t)||Ui(t)&&Ht(t.ofType)}o(Ht,"isOutputType");function fr(t){return hr(t)||We(t)}o(fr,"isLeafType");function At(t){return Ne(t)||Ee(t)||nt(t)}o(At,"isCompositeType");function mr(t){return Ee(t)||nt(t)}o(mr,"isAbstractType");var de=class{static{o(this,"GraphQLList")}constructor(e){bc(e)||B(!1,`Expected ${A(e)} to be a GraphQL type.`),this.ofType=e}get[Symbol.toStringTag](){return"GraphQLList"}toString(){return"["+String(this.ofType)+"]"}toJSON(){return this.toString()}},$=class{static{o(this,"GraphQLNonNull")}constructor(e){vc(e)||B(!1,`Expected ${A(e)} to be a GraphQL nullable type.`),this.ofType=e}get[Symbol.toStringTag](){return"GraphQLNonNull"}toString(){return String(this.ofType)+"!"}toJSON(){return this.toString()}};function Ui(t){return Ve(t)||ae(t)}o(Ui,"isWrappingType");function vc(t){return bc(t)&&!ae(t)}o(vc,"isNullableType");function Tc(t){if(!vc(t))throw new Error(`Expected ${A(t)} to be a GraphQL nullable type.`);return t}o(Tc,"assertNullableType");function Sc(t){if(t)return ae(t)?t.ofType:t}o(Sc,"getNullableType");function lt(t){if(t){let e=t;for(;Ui(e);)e=e.ofType;return e}}o(lt,"getNamedType");function Ic(t){return typeof t=="function"?t():t}o(Ic,"resolveReadonlyArrayThunk");function Ac(t){return typeof t=="function"?t():t}o(Ac,"resolveObjMapThunk");var ze=class{static{o(this,"GraphQLScalarType")}constructor(e){var r,n,i,s;let a=(r=e.parseValue)!==null&&r!==void 0?r:mp;this.name=je(e.name),this.description=e.description,this.specifiedByURL=e.specifiedByURL,this.serialize=(n=e.serialize)!==null&&n!==void 0?n:mp,this.parseValue=a,this.parseLiteral=(i=e.parseLiteral)!==null&&i!==void 0?i:(c,u)=>a(Di(c,u)),this.extensions=Le(e.extensions),this.astNode=e.astNode,this.extensionASTNodes=(s=e.extensionASTNodes)!==null&&s!==void 0?s:[],e.specifiedByURL==null||typeof e.specifiedByURL=="string"||B(!1,`${this.name} must provide "specifiedByURL" as a string, but got: ${A(e.specifiedByURL)}.`),e.serialize==null||typeof e.serialize=="function"||B(!1,`${this.name} must provide "serialize" function. If this custom Scalar is also used as an input type, ensure "parseValue" and "parseLiteral" functions are also provided.`),e.parseLiteral&&(typeof e.parseValue=="function"&&typeof e.parseLiteral=="function"||B(!1,`${this.name} must provide both "parseValue" and "parseLiteral" functions.`))}get[Symbol.toStringTag](){return"GraphQLScalarType"}toConfig(){return{name:this.name,description:this.description,specifiedByURL:this.specifiedByURL,serialize:this.serialize,parseValue:this.parseValue,parseLiteral:this.parseLiteral,extensions:this.extensions,astNode:this.astNode,extensionASTNodes:this.extensionASTNodes}}toString(){return this.name}toJSON(){return this.toString()}},xe=class{static{o(this,"GraphQLObjectType")}constructor(e){var r;this.name=je(e.name),this.description=e.description,this.isTypeOf=e.isTypeOf,this.extensions=Le(e.extensions),this.astNode=e.astNode,this.extensionASTNodes=(r=e.extensionASTNodes)!==null&&r!==void 0?r:[],this._fields=()=>fb(e),this._interfaces=()=>hb(e),e.isTypeOf==null||typeof e.isTypeOf=="function"||B(!1,`${this.name} must provide "isTypeOf" as a function, but got: ${A(e.isTypeOf)}.`)}get[Symbol.toStringTag](){return"GraphQLObjectType"}getFields(){return typeof this._fields=="function"&&(this._fields=this._fields()),this._fields}getInterfaces(){return typeof this._interfaces=="function"&&(this._interfaces=this._interfaces()),this._interfaces}toConfig(){return{name:this.name,description:this.description,interfaces:this.getInterfaces(),fields:mb(this.getFields()),isTypeOf:this.isTypeOf,extensions:this.extensions,astNode:this.astNode,extensionASTNodes:this.extensionASTNodes}}toString(){return this.name}toJSON(){return this.toString()}};function hb(t){var e;let r=Ic((e=t.interfaces)!==null&&e!==void 0?e:[]);return Array.isArray(r)||B(!1,`${t.name} interfaces must be an Array or a function which returns an Array.`),r}o(hb,"defineInterfaces");function fb(t){let e=Ac(t.fields);return qn(e)||B(!1,`${t.name} fields must be an object with field names as keys or a function which returns such an object.`),Li(e,(r,n)=>{var i;qn(r)||B(!1,`${t.name}.${n} field config must be an object.`),r.resolve==null||typeof r.resolve=="function"||B(!1,`${t.name}.${n} field resolver must be a function if provided, but got: ${A(r.resolve)}.`);let s=(i=r.args)!==null&&i!==void 0?i:{};return qn(s)||B(!1,`${t.name}.${n} args must be an object with argument names as keys.`),{name:je(n),description:r.description,type:r.type,args:Ep(s),resolve:r.resolve,subscribe:r.subscribe,deprecationReason:r.deprecationReason,extensions:Le(r.extensions),astNode:r.astNode}})}o(fb,"defineFieldMap");function Ep(t){return Object.entries(t).map(([e,r])=>({name:je(e),description:r.description,type:r.type,defaultValue:r.defaultValue,deprecationReason:r.deprecationReason,extensions:Le(r.extensions),astNode:r.astNode}))}o(Ep,"defineArguments");function qn(t){return be(t)&&!Array.isArray(t)}o(qn,"isPlainObj");function mb(t){return Li(t,e=>({description:e.description,type:e.type,args:wp(e.args),resolve:e.resolve,subscribe:e.subscribe,deprecationReason:e.deprecationReason,extensions:e.extensions,astNode:e.astNode}))}o(mb,"fieldsToFieldsConfig");function wp(t){return St(t,e=>e.name,e=>({description:e.description,type:e.type,defaultValue:e.defaultValue,deprecationReason:e.deprecationReason,extensions:e.extensions,astNode:e.astNode}))}o(wp,"argsToArgsConfig");var Ft=class{static{o(this,"GraphQLInterfaceType")}constructor(e){var r;this.name=je(e.name),this.description=e.description,this.resolveType=e.resolveType,this.extensions=Le(e.extensions),this.astNode=e.astNode,this.extensionASTNodes=(r=e.extensionASTNodes)!==null&&r!==void 0?r:[],this._fields=fb.bind(void 0,e),this._interfaces=hb.bind(void 0,e),e.resolveType==null||typeof e.resolveType=="function"||B(!1,`${this.name} must provide "resolveType" as a function, but got: ${A(e.resolveType)}.`)}get[Symbol.toStringTag](){return"GraphQLInterfaceType"}getFields(){return typeof this._fields=="function"&&(this._fields=this._fields()),this._fields}getInterfaces(){return typeof this._interfaces=="function"&&(this._interfaces=this._interfaces()),this._interfaces}toConfig(){return{name:this.name,description:this.description,interfaces:this.getInterfaces(),fields:mb(this.getFields()),resolveType:this.resolveType,extensions:this.extensions,astNode:this.astNode,extensionASTNodes:this.extensionASTNodes}}toString(){return this.name}toJSON(){return this.toString()}},Ur=class{static{o(this,"GraphQLUnionType")}constructor(e){var r;this.name=je(e.name),this.description=e.description,this.resolveType=e.resolveType,this.extensions=Le(e.extensions),this.astNode=e.astNode,this.extensionASTNodes=(r=e.extensionASTNodes)!==null&&r!==void 0?r:[],this._types=Xx.bind(void 0,e),e.resolveType==null||typeof e.resolveType=="function"||B(!1,`${this.name} must provide "resolveType" as a function, but got: ${A(e.resolveType)}.`)}get[Symbol.toStringTag](){return"GraphQLUnionType"}getTypes(){return typeof this._types=="function"&&(this._types=this._types()),this._types}toConfig(){return{name:this.name,description:this.description,types:this.getTypes(),resolveType:this.resolveType,extensions:this.extensions,astNode:this.astNode,extensionASTNodes:this.extensionASTNodes}}toString(){return this.name}toJSON(){return this.toString()}};function Xx(t){let e=Ic(t.types);return Array.isArray(e)||B(!1,`Must provide Array of types or a function which returns such an array for Union ${t.name}.`),e}o(Xx,"defineTypes");var It=class{static{o(this,"GraphQLEnumType")}constructor(e){var r;this.name=je(e.name),this.description=e.description,this.extensions=Le(e.extensions),this.astNode=e.astNode,this.extensionASTNodes=(r=e.extensionASTNodes)!==null&&r!==void 0?r:[],this._values=eN(this.name,e.values),this._valueLookup=new Map(this._values.map(n=>[n.value,n])),this._nameLookup=Fn(this._values,n=>n.name)}get[Symbol.toStringTag](){return"GraphQLEnumType"}getValues(){return this._values}getValue(e){return this._nameLookup[e]}serialize(e){let r=this._valueLookup.get(e);if(r===void 0)throw new C(`Enum "${this.name}" cannot represent value: ${A(e)}`);return r.name}parseValue(e){if(typeof e!="string"){let n=A(e);throw new C(`Enum "${this.name}" cannot represent non-string value: ${n}.`+_c(this,n))}let r=this.getValue(e);if(r==null)throw new C(`Value "${e}" does not exist in "${this.name}" enum.`+_c(this,e));return r.value}parseLiteral(e,r){if(e.kind!==_.ENUM){let i=De(e);throw new C(`Enum "${this.name}" cannot represent non-enum value: ${i}.`+_c(this,i),{nodes:e})}let n=this.getValue(e.value);if(n==null){let i=De(e);throw new C(`Value "${i}" does not exist in "${this.name}" enum.`+_c(this,i),{nodes:e})}return n.value}toConfig(){let e=St(this.getValues(),r=>r.name,r=>({description:r.description,value:r.value,deprecationReason:r.deprecationReason,extensions:r.extensions,astNode:r.astNode}));return{name:this.name,description:this.description,values:e,extensions:this.extensions,astNode:this.astNode,extensionASTNodes:this.extensionASTNodes}}toString(){return this.name}toJSON(){return this.toString()}};function _c(t,e){let r=t.getValues().map(i=>i.name),n=yc(e,r);return fc("the enum value",n)}o(_c,"didYouMeanEnumValue");function eN(t,e){return qn(e)||B(!1,`${t} values must be an object with value names as keys.`),Object.entries(e).map(([r,n])=>(qn(n)||B(!1,`${t}.${r} must refer to an object with a "value" key representing an internal value but got: ${A(n)}.`),{name:bp(r),description:n.description,value:n.value!==void 0?n.value:r,deprecationReason:n.deprecationReason,extensions:Le(n.extensions),astNode:n.astNode}))}o(eN,"defineEnumValues");var Mr=class{static{o(this,"GraphQLInputObjectType")}constructor(e){var r;this.name=je(e.name),this.description=e.description,this.extensions=Le(e.extensions),this.astNode=e.astNode,this.extensionASTNodes=(r=e.extensionASTNodes)!==null&&r!==void 0?r:[],this._fields=tN.bind(void 0,e)}get[Symbol.toStringTag](){return"GraphQLInputObjectType"}getFields(){return typeof this._fields=="function"&&(this._fields=this._fields()),this._fields}toConfig(){let e=Li(this.getFields(),r=>({description:r.description,type:r.type,defaultValue:r.defaultValue,deprecationReason:r.deprecationReason,extensions:r.extensions,astNode:r.astNode}));return{name:this.name,description:this.description,fields:e,extensions:this.extensions,astNode:this.astNode,extensionASTNodes:this.extensionASTNodes}}toString(){return this.name}toJSON(){return this.toString()}};function tN(t){let e=Ac(t.fields);return qn(e)||B(!1,`${t.name} fields must be an object with field names as keys or a function which returns such an object.`),Li(e,(r,n)=>(!("resolve"in r)||B(!1,`${t.name}.${n} field has a resolve property, but Input Types cannot define resolvers.`),{name:je(n),description:r.description,type:r.type,defaultValue:r.defaultValue,deprecationReason:r.deprecationReason,extensions:Le(r.extensions),astNode:r.astNode}))}o(tN,"defineInputFieldMap");var Pc=2147483647,Rc=-2147483648,vp=new ze({name:"Int",description:"The `Int` scalar type represents non-fractional signed whole numeric values. Int can represent values between -(2^31) and 2^31 - 1.",serialize(t){let e=Mi(t);if(typeof e=="boolean")return e?1:0;let r=e;if(typeof e=="string"&&e!==""&&(r=Number(e)),typeof r!="number"||!Number.isInteger(r))throw new C(`Int cannot represent non-integer value: ${A(e)}`);if(r>Pc||r<Rc)throw new C("Int cannot represent non 32-bit signed integer value: "+A(e));return r},parseValue(t){if(typeof t!="number"||!Number.isInteger(t))throw new C(`Int cannot represent non-integer value: ${A(t)}`);if(t>Pc||t<Rc)throw new C(`Int cannot represent non 32-bit signed integer value: ${t}`);return t},parseLiteral(t){if(t.kind!==_.INT)throw new C(`Int cannot represent non-integer value: ${De(t)}`,{nodes:t});let e=parseInt(t.value,10);if(e>Pc||e<Rc)throw new C(`Int cannot represent non 32-bit signed integer value: ${t.value}`,{nodes:t});return e}}),yb=new ze({name:"Float",description:"The `Float` scalar type represents signed double-precision fractional values as specified by [IEEE 754](https://en.wikipedia.org/wiki/IEEE_floating_point).",serialize(t){let e=Mi(t);if(typeof e=="boolean")return e?1:0;let r=e;if(typeof e=="string"&&e!==""&&(r=Number(e)),typeof r!="number"||!Number.isFinite(r))throw new C(`Float cannot represent non numeric value: ${A(e)}`);return r},parseValue(t){if(typeof t!="number"||!Number.isFinite(t))throw new C(`Float cannot represent non numeric value: ${A(t)}`);return t},parseLiteral(t){if(t.kind!==_.FLOAT&&t.kind!==_.INT)throw new C(`Float cannot represent non numeric value: ${De(t)}`,t);return parseFloat(t.value)}}),ie=new ze({name:"String",description:"The `String` scalar type represents textual data, represented as UTF-8 character sequences. The String type is most often used by GraphQL to represent free-form human-readable text.",serialize(t){let e=Mi(t);if(typeof e=="string")return e;if(typeof e=="boolean")return e?"true":"false";if(typeof e=="number"&&Number.isFinite(e))return e.toString();throw new C(`String cannot represent value: ${A(t)}`)},parseValue(t){if(typeof t!="string")throw new C(`String cannot represent a non string value: ${A(t)}`);return t},parseLiteral(t){if(t.kind!==_.STRING)throw new C(`String cannot represent a non string value: ${De(t)}`,{nodes:t});return t.value}}),Ue=new ze({name:"Boolean",description:"The `Boolean` scalar type represents `true` or `false`.",serialize(t){let e=Mi(t);if(typeof e=="boolean")return e;if(Number.isFinite(e))return e!==0;throw new C(`Boolean cannot represent a non boolean value: ${A(e)}`)},parseValue(t){if(typeof t!="boolean")throw new C(`Boolean cannot represent a non boolean value: ${A(t)}`);return t},parseLiteral(t){if(t.kind!==_.BOOLEAN)throw new C(`Boolean cannot represent a non boolean value: ${De(t)}`,{nodes:t});return t.value}}),Oc=new ze({name:"ID",description:'The `ID` scalar type represents a unique identifier, often used to refetch an object or as key for a cache. The ID type appears in a JSON response as a String; however, it is not intended to be human-readable. When expected as an input type, any string (such as `"4"`) or integer (such as `4`) input value will be accepted as an ID.',serialize(t){let e=Mi(t);if(typeof e=="string")return e;if(Number.isInteger(e))return String(e);throw new C(`ID cannot represent value: ${A(t)}`)},parseValue(t){if(typeof t=="string")return t;if(typeof t=="number"&&Number.isInteger(t))return t.toString();throw new C(`ID cannot represent value: ${A(t)}`)},parseLiteral(t){if(t.kind!==_.STRING&&t.kind!==_.INT)throw new C("ID cannot represent a non-string and non-integer value: "+De(t),{nodes:t});return t.value}}),Tp=Object.freeze([ie,vp,yb,Ue,Oc]);function Mi(t){if(be(t)){if(typeof t.valueOf=="function"){let e=t.valueOf();if(!be(e))return e}if(typeof t.toJSON=="function")return t.toJSON()}return t}o(Mi,"serializeObject");function Sp(t){return Je(t,dt)}o(Sp,"isDirective");var dt=class{static{o(this,"GraphQLDirective")}constructor(e){var r,n;this.name=je(e.name),this.description=e.description,this.locations=e.locations,this.isRepeatable=(r=e.isRepeatable)!==null&&r!==void 0?r:!1,this.extensions=Le(e.extensions),this.astNode=e.astNode,Array.isArray(e.locations)||B(!1,`@${e.name} locations must be an Array.`);let i=(n=e.args)!==null&&n!==void 0?n:{};be(i)&&!Array.isArray(i)||B(!1,`@${e.name} args must be an object with argument names as keys.`),this.args=Ep(i)}get[Symbol.toStringTag](){return"GraphQLDirective"}toConfig(){return{name:this.name,description:this.description,locations:this.locations,args:wp(this.args),isRepeatable:this.isRepeatable,extensions:this.extensions,astNode:this.astNode}}toString(){return"@"+this.name}toJSON(){return this.toString()}},gb=new dt({name:"include",description:"Directs the executor to include this field or fragment only when the `if` argument is true.",locations:[K.FIELD,K.FRAGMENT_SPREAD,K.INLINE_FRAGMENT],args:{if:{type:new $(Ue),description:"Included when true."}}}),_b=new dt({name:"skip",description:"Directs the executor to skip this field or fragment when the `if` argument is true.",locations:[K.FIELD,K.FRAGMENT_SPREAD,K.INLINE_FRAGMENT],args:{if:{type:new $(Ue),description:"Skipped when true."}}}),bb="No longer supported",Eb=new dt({name:"deprecated",description:"Marks an element of a GraphQL schema as no longer supported.",locations:[K.FIELD_DEFINITION,K.ARGUMENT_DEFINITION,K.INPUT_FIELD_DEFINITION,K.ENUM_VALUE],args:{reason:{type:ie,description:"Explains why this element was deprecated, usually also including a suggestion for how to access supported similar data. Formatted using the Markdown syntax, as specified by [CommonMark](https://commonmark.org/).",defaultValue:bb}}}),wb=new dt({name:"specifiedBy",description:"Exposes a URL that specifies the behavior of this scalar.",locations:[K.SCALAR],args:{url:{type:new $(ie),description:"The URL that specifies the behavior of this scalar."}}}),Ip=Object.freeze([gb,_b,Eb,wb]);function xc(t){return typeof t=="object"&&typeof t?.[Symbol.iterator]=="function"}o(xc,"isIterableObject");function kr(t,e){if(ae(e)){let r=kr(t,e.ofType);return r?.kind===_.NULL?null:r}if(t===null)return{kind:_.NULL};if(t===void 0)return null;if(Ve(e)){let r=e.ofType;if(xc(t)){let n=[];for(let i of t){let s=kr(i,r);s!=null&&n.push(s)}return{kind:_.LIST,values:n}}return kr(t,r)}if(Pe(e)){if(!be(t))return null;let r=[];for(let n of Object.values(e.getFields())){let i=kr(t[n.name],n.type);i&&r.push({kind:_.OBJECT_FIELD,name:{kind:_.NAME,value:n.name},value:i})}return{kind:_.OBJECT,fields:r}}if(fr(e)){let r=e.serialize(t);if(r==null)return null;if(typeof r=="boolean")return{kind:_.BOOLEAN,value:r};if(typeof r=="number"&&Number.isFinite(r)){let n=String(r);return vb.test(n)?{kind:_.INT,value:n}:{kind:_.FLOAT,value:n}}if(typeof r=="string")return We(e)?{kind:_.ENUM,value:r}:e===Oc&&vb.test(r)?{kind:_.INT,value:r}:{kind:_.STRING,value:r};throw new TypeError(`Cannot convert value to AST: ${A(r)}.`)}Tt(!1,"Unexpected input type: "+A(e))}o(kr,"astFromValue");var vb=/^-?(?:0|[1-9][0-9]*)$/;var ki=new xe({name:"__Schema",description:"A GraphQL Schema defines the capabilities of a GraphQL server. It exposes all available types and directives on the server, as well as the entry points for query, mutation, and subscription operations.",fields:()=>({description:{type:ie,resolve:t=>t.description},types:{description:"A list of all types supported by this server.",type:new $(new de(new $(it))),resolve(t){return Object.values(t.getTypeMap())}},queryType:{description:"The type that query operations will be rooted at.",type:new $(it),resolve:t=>t.getQueryType()},mutationType:{description:"If this server supports mutation, the type that mutation operations will be rooted at.",type:it,resolve:t=>t.getMutationType()},subscriptionType:{description:"If this server support subscription, the type that subscription operations will be rooted at.",type:it,resolve:t=>t.getSubscriptionType()},directives:{description:"A list of all directives supported by this server.",type:new $(new de(new $(Ap))),resolve:t=>t.getDirectives()}})}),Ap=new xe({name:"__Directive",description:`A Directive provides a way to describe alternate runtime execution and type validation behavior in a GraphQL document.
113
+ `)))!==null&&e!==void 0?e:!1}o(pb,"hasMultilineItems");function Di(t,e){switch(t.kind){case _.NULL:return null;case _.INT:return parseInt(t.value,10);case _.FLOAT:return parseFloat(t.value);case _.STRING:case _.ENUM:case _.BOOLEAN:return t.value;case _.LIST:return t.values.map(r=>Di(r,e));case _.OBJECT:return St(t.fields,r=>r.name.value,r=>Di(r.value,e));case _.VARIABLE:return e?.[t.name.value]}}o(Di,"valueFromASTUntyped");function je(t){if(t!=null||B(!1,"Must provide name."),typeof t=="string"||B(!1,"Expected name to be a string."),t.length===0)throw new C("Expected name to be a non-empty string.");for(let e=1;e<t.length;++e)if(!ac(t.charCodeAt(e)))throw new C(`Names must only contain [_a-zA-Z0-9] but "${t}" does not.`);if(!xi(t.charCodeAt(0)))throw new C(`Names must start with [_a-zA-Z] but "${t}" does not.`);return t}o(je,"assertName");function bp(t){if(t==="true"||t==="false"||t==="null")throw new C(`Enum values cannot be named: ${t}`);return je(t)}o(bp,"assertEnumValueName");function bc(t){return hr(t)||Ne(t)||Ee(t)||nt(t)||We(t)||Pe(t)||Ve(t)||ae(t)}o(bc,"isType");function hr(t){return Je(t,ze)}o(hr,"isScalarType");function Ne(t){return Je(t,xe)}o(Ne,"isObjectType");function Ec(t){if(!Ne(t))throw new Error(`Expected ${A(t)} to be a GraphQL Object type.`);return t}o(Ec,"assertObjectType");function Ee(t){return Je(t,Ht)}o(Ee,"isInterfaceType");function wc(t){if(!Ee(t))throw new Error(`Expected ${A(t)} to be a GraphQL Interface type.`);return t}o(wc,"assertInterfaceType");function nt(t){return Je(t,Ur)}o(nt,"isUnionType");function We(t){return Je(t,It)}o(We,"isEnumType");function Pe(t){return Je(t,Mr)}o(Pe,"isInputObjectType");function Ve(t){return Je(t,de)}o(Ve,"isListType");function ae(t){return Je(t,$)}o(ae,"isNonNullType");function Qe(t){return hr(t)||We(t)||Pe(t)||Ui(t)&&Qe(t.ofType)}o(Qe,"isInputType");function qt(t){return hr(t)||Ne(t)||Ee(t)||nt(t)||We(t)||Ui(t)&&qt(t.ofType)}o(qt,"isOutputType");function fr(t){return hr(t)||We(t)}o(fr,"isLeafType");function At(t){return Ne(t)||Ee(t)||nt(t)}o(At,"isCompositeType");function mr(t){return Ee(t)||nt(t)}o(mr,"isAbstractType");var de=class{static{o(this,"GraphQLList")}constructor(e){bc(e)||B(!1,`Expected ${A(e)} to be a GraphQL type.`),this.ofType=e}get[Symbol.toStringTag](){return"GraphQLList"}toString(){return"["+String(this.ofType)+"]"}toJSON(){return this.toString()}},$=class{static{o(this,"GraphQLNonNull")}constructor(e){vc(e)||B(!1,`Expected ${A(e)} to be a GraphQL nullable type.`),this.ofType=e}get[Symbol.toStringTag](){return"GraphQLNonNull"}toString(){return String(this.ofType)+"!"}toJSON(){return this.toString()}};function Ui(t){return Ve(t)||ae(t)}o(Ui,"isWrappingType");function vc(t){return bc(t)&&!ae(t)}o(vc,"isNullableType");function Tc(t){if(!vc(t))throw new Error(`Expected ${A(t)} to be a GraphQL nullable type.`);return t}o(Tc,"assertNullableType");function Sc(t){if(t)return ae(t)?t.ofType:t}o(Sc,"getNullableType");function lt(t){if(t){let e=t;for(;Ui(e);)e=e.ofType;return e}}o(lt,"getNamedType");function Ic(t){return typeof t=="function"?t():t}o(Ic,"resolveReadonlyArrayThunk");function Ac(t){return typeof t=="function"?t():t}o(Ac,"resolveObjMapThunk");var ze=class{static{o(this,"GraphQLScalarType")}constructor(e){var r,n,i,s;let a=(r=e.parseValue)!==null&&r!==void 0?r:mp;this.name=je(e.name),this.description=e.description,this.specifiedByURL=e.specifiedByURL,this.serialize=(n=e.serialize)!==null&&n!==void 0?n:mp,this.parseValue=a,this.parseLiteral=(i=e.parseLiteral)!==null&&i!==void 0?i:(c,u)=>a(Di(c,u)),this.extensions=Le(e.extensions),this.astNode=e.astNode,this.extensionASTNodes=(s=e.extensionASTNodes)!==null&&s!==void 0?s:[],e.specifiedByURL==null||typeof e.specifiedByURL=="string"||B(!1,`${this.name} must provide "specifiedByURL" as a string, but got: ${A(e.specifiedByURL)}.`),e.serialize==null||typeof e.serialize=="function"||B(!1,`${this.name} must provide "serialize" function. If this custom Scalar is also used as an input type, ensure "parseValue" and "parseLiteral" functions are also provided.`),e.parseLiteral&&(typeof e.parseValue=="function"&&typeof e.parseLiteral=="function"||B(!1,`${this.name} must provide both "parseValue" and "parseLiteral" functions.`))}get[Symbol.toStringTag](){return"GraphQLScalarType"}toConfig(){return{name:this.name,description:this.description,specifiedByURL:this.specifiedByURL,serialize:this.serialize,parseValue:this.parseValue,parseLiteral:this.parseLiteral,extensions:this.extensions,astNode:this.astNode,extensionASTNodes:this.extensionASTNodes}}toString(){return this.name}toJSON(){return this.toString()}},xe=class{static{o(this,"GraphQLObjectType")}constructor(e){var r;this.name=je(e.name),this.description=e.description,this.isTypeOf=e.isTypeOf,this.extensions=Le(e.extensions),this.astNode=e.astNode,this.extensionASTNodes=(r=e.extensionASTNodes)!==null&&r!==void 0?r:[],this._fields=()=>fb(e),this._interfaces=()=>hb(e),e.isTypeOf==null||typeof e.isTypeOf=="function"||B(!1,`${this.name} must provide "isTypeOf" as a function, but got: ${A(e.isTypeOf)}.`)}get[Symbol.toStringTag](){return"GraphQLObjectType"}getFields(){return typeof this._fields=="function"&&(this._fields=this._fields()),this._fields}getInterfaces(){return typeof this._interfaces=="function"&&(this._interfaces=this._interfaces()),this._interfaces}toConfig(){return{name:this.name,description:this.description,interfaces:this.getInterfaces(),fields:mb(this.getFields()),isTypeOf:this.isTypeOf,extensions:this.extensions,astNode:this.astNode,extensionASTNodes:this.extensionASTNodes}}toString(){return this.name}toJSON(){return this.toString()}};function hb(t){var e;let r=Ic((e=t.interfaces)!==null&&e!==void 0?e:[]);return Array.isArray(r)||B(!1,`${t.name} interfaces must be an Array or a function which returns an Array.`),r}o(hb,"defineInterfaces");function fb(t){let e=Ac(t.fields);return qn(e)||B(!1,`${t.name} fields must be an object with field names as keys or a function which returns such an object.`),Li(e,(r,n)=>{var i;qn(r)||B(!1,`${t.name}.${n} field config must be an object.`),r.resolve==null||typeof r.resolve=="function"||B(!1,`${t.name}.${n} field resolver must be a function if provided, but got: ${A(r.resolve)}.`);let s=(i=r.args)!==null&&i!==void 0?i:{};return qn(s)||B(!1,`${t.name}.${n} args must be an object with argument names as keys.`),{name:je(n),description:r.description,type:r.type,args:Ep(s),resolve:r.resolve,subscribe:r.subscribe,deprecationReason:r.deprecationReason,extensions:Le(r.extensions),astNode:r.astNode}})}o(fb,"defineFieldMap");function Ep(t){return Object.entries(t).map(([e,r])=>({name:je(e),description:r.description,type:r.type,defaultValue:r.defaultValue,deprecationReason:r.deprecationReason,extensions:Le(r.extensions),astNode:r.astNode}))}o(Ep,"defineArguments");function qn(t){return be(t)&&!Array.isArray(t)}o(qn,"isPlainObj");function mb(t){return Li(t,e=>({description:e.description,type:e.type,args:wp(e.args),resolve:e.resolve,subscribe:e.subscribe,deprecationReason:e.deprecationReason,extensions:e.extensions,astNode:e.astNode}))}o(mb,"fieldsToFieldsConfig");function wp(t){return St(t,e=>e.name,e=>({description:e.description,type:e.type,defaultValue:e.defaultValue,deprecationReason:e.deprecationReason,extensions:e.extensions,astNode:e.astNode}))}o(wp,"argsToArgsConfig");var Ht=class{static{o(this,"GraphQLInterfaceType")}constructor(e){var r;this.name=je(e.name),this.description=e.description,this.resolveType=e.resolveType,this.extensions=Le(e.extensions),this.astNode=e.astNode,this.extensionASTNodes=(r=e.extensionASTNodes)!==null&&r!==void 0?r:[],this._fields=fb.bind(void 0,e),this._interfaces=hb.bind(void 0,e),e.resolveType==null||typeof e.resolveType=="function"||B(!1,`${this.name} must provide "resolveType" as a function, but got: ${A(e.resolveType)}.`)}get[Symbol.toStringTag](){return"GraphQLInterfaceType"}getFields(){return typeof this._fields=="function"&&(this._fields=this._fields()),this._fields}getInterfaces(){return typeof this._interfaces=="function"&&(this._interfaces=this._interfaces()),this._interfaces}toConfig(){return{name:this.name,description:this.description,interfaces:this.getInterfaces(),fields:mb(this.getFields()),resolveType:this.resolveType,extensions:this.extensions,astNode:this.astNode,extensionASTNodes:this.extensionASTNodes}}toString(){return this.name}toJSON(){return this.toString()}},Ur=class{static{o(this,"GraphQLUnionType")}constructor(e){var r;this.name=je(e.name),this.description=e.description,this.resolveType=e.resolveType,this.extensions=Le(e.extensions),this.astNode=e.astNode,this.extensionASTNodes=(r=e.extensionASTNodes)!==null&&r!==void 0?r:[],this._types=Xx.bind(void 0,e),e.resolveType==null||typeof e.resolveType=="function"||B(!1,`${this.name} must provide "resolveType" as a function, but got: ${A(e.resolveType)}.`)}get[Symbol.toStringTag](){return"GraphQLUnionType"}getTypes(){return typeof this._types=="function"&&(this._types=this._types()),this._types}toConfig(){return{name:this.name,description:this.description,types:this.getTypes(),resolveType:this.resolveType,extensions:this.extensions,astNode:this.astNode,extensionASTNodes:this.extensionASTNodes}}toString(){return this.name}toJSON(){return this.toString()}};function Xx(t){let e=Ic(t.types);return Array.isArray(e)||B(!1,`Must provide Array of types or a function which returns such an array for Union ${t.name}.`),e}o(Xx,"defineTypes");var It=class{static{o(this,"GraphQLEnumType")}constructor(e){var r;this.name=je(e.name),this.description=e.description,this.extensions=Le(e.extensions),this.astNode=e.astNode,this.extensionASTNodes=(r=e.extensionASTNodes)!==null&&r!==void 0?r:[],this._values=eN(this.name,e.values),this._valueLookup=new Map(this._values.map(n=>[n.value,n])),this._nameLookup=Fn(this._values,n=>n.name)}get[Symbol.toStringTag](){return"GraphQLEnumType"}getValues(){return this._values}getValue(e){return this._nameLookup[e]}serialize(e){let r=this._valueLookup.get(e);if(r===void 0)throw new C(`Enum "${this.name}" cannot represent value: ${A(e)}`);return r.name}parseValue(e){if(typeof e!="string"){let n=A(e);throw new C(`Enum "${this.name}" cannot represent non-string value: ${n}.`+_c(this,n))}let r=this.getValue(e);if(r==null)throw new C(`Value "${e}" does not exist in "${this.name}" enum.`+_c(this,e));return r.value}parseLiteral(e,r){if(e.kind!==_.ENUM){let i=De(e);throw new C(`Enum "${this.name}" cannot represent non-enum value: ${i}.`+_c(this,i),{nodes:e})}let n=this.getValue(e.value);if(n==null){let i=De(e);throw new C(`Value "${i}" does not exist in "${this.name}" enum.`+_c(this,i),{nodes:e})}return n.value}toConfig(){let e=St(this.getValues(),r=>r.name,r=>({description:r.description,value:r.value,deprecationReason:r.deprecationReason,extensions:r.extensions,astNode:r.astNode}));return{name:this.name,description:this.description,values:e,extensions:this.extensions,astNode:this.astNode,extensionASTNodes:this.extensionASTNodes}}toString(){return this.name}toJSON(){return this.toString()}};function _c(t,e){let r=t.getValues().map(i=>i.name),n=yc(e,r);return fc("the enum value",n)}o(_c,"didYouMeanEnumValue");function eN(t,e){return qn(e)||B(!1,`${t} values must be an object with value names as keys.`),Object.entries(e).map(([r,n])=>(qn(n)||B(!1,`${t}.${r} must refer to an object with a "value" key representing an internal value but got: ${A(n)}.`),{name:bp(r),description:n.description,value:n.value!==void 0?n.value:r,deprecationReason:n.deprecationReason,extensions:Le(n.extensions),astNode:n.astNode}))}o(eN,"defineEnumValues");var Mr=class{static{o(this,"GraphQLInputObjectType")}constructor(e){var r;this.name=je(e.name),this.description=e.description,this.extensions=Le(e.extensions),this.astNode=e.astNode,this.extensionASTNodes=(r=e.extensionASTNodes)!==null&&r!==void 0?r:[],this._fields=tN.bind(void 0,e)}get[Symbol.toStringTag](){return"GraphQLInputObjectType"}getFields(){return typeof this._fields=="function"&&(this._fields=this._fields()),this._fields}toConfig(){let e=Li(this.getFields(),r=>({description:r.description,type:r.type,defaultValue:r.defaultValue,deprecationReason:r.deprecationReason,extensions:r.extensions,astNode:r.astNode}));return{name:this.name,description:this.description,fields:e,extensions:this.extensions,astNode:this.astNode,extensionASTNodes:this.extensionASTNodes}}toString(){return this.name}toJSON(){return this.toString()}};function tN(t){let e=Ac(t.fields);return qn(e)||B(!1,`${t.name} fields must be an object with field names as keys or a function which returns such an object.`),Li(e,(r,n)=>(!("resolve"in r)||B(!1,`${t.name}.${n} field has a resolve property, but Input Types cannot define resolvers.`),{name:je(n),description:r.description,type:r.type,defaultValue:r.defaultValue,deprecationReason:r.deprecationReason,extensions:Le(r.extensions),astNode:r.astNode}))}o(tN,"defineInputFieldMap");var Pc=2147483647,Rc=-2147483648,vp=new ze({name:"Int",description:"The `Int` scalar type represents non-fractional signed whole numeric values. Int can represent values between -(2^31) and 2^31 - 1.",serialize(t){let e=Mi(t);if(typeof e=="boolean")return e?1:0;let r=e;if(typeof e=="string"&&e!==""&&(r=Number(e)),typeof r!="number"||!Number.isInteger(r))throw new C(`Int cannot represent non-integer value: ${A(e)}`);if(r>Pc||r<Rc)throw new C("Int cannot represent non 32-bit signed integer value: "+A(e));return r},parseValue(t){if(typeof t!="number"||!Number.isInteger(t))throw new C(`Int cannot represent non-integer value: ${A(t)}`);if(t>Pc||t<Rc)throw new C(`Int cannot represent non 32-bit signed integer value: ${t}`);return t},parseLiteral(t){if(t.kind!==_.INT)throw new C(`Int cannot represent non-integer value: ${De(t)}`,{nodes:t});let e=parseInt(t.value,10);if(e>Pc||e<Rc)throw new C(`Int cannot represent non 32-bit signed integer value: ${t.value}`,{nodes:t});return e}}),yb=new ze({name:"Float",description:"The `Float` scalar type represents signed double-precision fractional values as specified by [IEEE 754](https://en.wikipedia.org/wiki/IEEE_floating_point).",serialize(t){let e=Mi(t);if(typeof e=="boolean")return e?1:0;let r=e;if(typeof e=="string"&&e!==""&&(r=Number(e)),typeof r!="number"||!Number.isFinite(r))throw new C(`Float cannot represent non numeric value: ${A(e)}`);return r},parseValue(t){if(typeof t!="number"||!Number.isFinite(t))throw new C(`Float cannot represent non numeric value: ${A(t)}`);return t},parseLiteral(t){if(t.kind!==_.FLOAT&&t.kind!==_.INT)throw new C(`Float cannot represent non numeric value: ${De(t)}`,t);return parseFloat(t.value)}}),ie=new ze({name:"String",description:"The `String` scalar type represents textual data, represented as UTF-8 character sequences. The String type is most often used by GraphQL to represent free-form human-readable text.",serialize(t){let e=Mi(t);if(typeof e=="string")return e;if(typeof e=="boolean")return e?"true":"false";if(typeof e=="number"&&Number.isFinite(e))return e.toString();throw new C(`String cannot represent value: ${A(t)}`)},parseValue(t){if(typeof t!="string")throw new C(`String cannot represent a non string value: ${A(t)}`);return t},parseLiteral(t){if(t.kind!==_.STRING)throw new C(`String cannot represent a non string value: ${De(t)}`,{nodes:t});return t.value}}),Ue=new ze({name:"Boolean",description:"The `Boolean` scalar type represents `true` or `false`.",serialize(t){let e=Mi(t);if(typeof e=="boolean")return e;if(Number.isFinite(e))return e!==0;throw new C(`Boolean cannot represent a non boolean value: ${A(e)}`)},parseValue(t){if(typeof t!="boolean")throw new C(`Boolean cannot represent a non boolean value: ${A(t)}`);return t},parseLiteral(t){if(t.kind!==_.BOOLEAN)throw new C(`Boolean cannot represent a non boolean value: ${De(t)}`,{nodes:t});return t.value}}),Oc=new ze({name:"ID",description:'The `ID` scalar type represents a unique identifier, often used to refetch an object or as key for a cache. The ID type appears in a JSON response as a String; however, it is not intended to be human-readable. When expected as an input type, any string (such as `"4"`) or integer (such as `4`) input value will be accepted as an ID.',serialize(t){let e=Mi(t);if(typeof e=="string")return e;if(Number.isInteger(e))return String(e);throw new C(`ID cannot represent value: ${A(t)}`)},parseValue(t){if(typeof t=="string")return t;if(typeof t=="number"&&Number.isInteger(t))return t.toString();throw new C(`ID cannot represent value: ${A(t)}`)},parseLiteral(t){if(t.kind!==_.STRING&&t.kind!==_.INT)throw new C("ID cannot represent a non-string and non-integer value: "+De(t),{nodes:t});return t.value}}),Tp=Object.freeze([ie,vp,yb,Ue,Oc]);function Mi(t){if(be(t)){if(typeof t.valueOf=="function"){let e=t.valueOf();if(!be(e))return e}if(typeof t.toJSON=="function")return t.toJSON()}return t}o(Mi,"serializeObject");function Sp(t){return Je(t,dt)}o(Sp,"isDirective");var dt=class{static{o(this,"GraphQLDirective")}constructor(e){var r,n;this.name=je(e.name),this.description=e.description,this.locations=e.locations,this.isRepeatable=(r=e.isRepeatable)!==null&&r!==void 0?r:!1,this.extensions=Le(e.extensions),this.astNode=e.astNode,Array.isArray(e.locations)||B(!1,`@${e.name} locations must be an Array.`);let i=(n=e.args)!==null&&n!==void 0?n:{};be(i)&&!Array.isArray(i)||B(!1,`@${e.name} args must be an object with argument names as keys.`),this.args=Ep(i)}get[Symbol.toStringTag](){return"GraphQLDirective"}toConfig(){return{name:this.name,description:this.description,locations:this.locations,args:wp(this.args),isRepeatable:this.isRepeatable,extensions:this.extensions,astNode:this.astNode}}toString(){return"@"+this.name}toJSON(){return this.toString()}},gb=new dt({name:"include",description:"Directs the executor to include this field or fragment only when the `if` argument is true.",locations:[K.FIELD,K.FRAGMENT_SPREAD,K.INLINE_FRAGMENT],args:{if:{type:new $(Ue),description:"Included when true."}}}),_b=new dt({name:"skip",description:"Directs the executor to skip this field or fragment when the `if` argument is true.",locations:[K.FIELD,K.FRAGMENT_SPREAD,K.INLINE_FRAGMENT],args:{if:{type:new $(Ue),description:"Skipped when true."}}}),bb="No longer supported",Eb=new dt({name:"deprecated",description:"Marks an element of a GraphQL schema as no longer supported.",locations:[K.FIELD_DEFINITION,K.ARGUMENT_DEFINITION,K.INPUT_FIELD_DEFINITION,K.ENUM_VALUE],args:{reason:{type:ie,description:"Explains why this element was deprecated, usually also including a suggestion for how to access supported similar data. Formatted using the Markdown syntax, as specified by [CommonMark](https://commonmark.org/).",defaultValue:bb}}}),wb=new dt({name:"specifiedBy",description:"Exposes a URL that specifies the behavior of this scalar.",locations:[K.SCALAR],args:{url:{type:new $(ie),description:"The URL that specifies the behavior of this scalar."}}}),Ip=Object.freeze([gb,_b,Eb,wb]);function xc(t){return typeof t=="object"&&typeof t?.[Symbol.iterator]=="function"}o(xc,"isIterableObject");function kr(t,e){if(ae(e)){let r=kr(t,e.ofType);return r?.kind===_.NULL?null:r}if(t===null)return{kind:_.NULL};if(t===void 0)return null;if(Ve(e)){let r=e.ofType;if(xc(t)){let n=[];for(let i of t){let s=kr(i,r);s!=null&&n.push(s)}return{kind:_.LIST,values:n}}return kr(t,r)}if(Pe(e)){if(!be(t))return null;let r=[];for(let n of Object.values(e.getFields())){let i=kr(t[n.name],n.type);i&&r.push({kind:_.OBJECT_FIELD,name:{kind:_.NAME,value:n.name},value:i})}return{kind:_.OBJECT,fields:r}}if(fr(e)){let r=e.serialize(t);if(r==null)return null;if(typeof r=="boolean")return{kind:_.BOOLEAN,value:r};if(typeof r=="number"&&Number.isFinite(r)){let n=String(r);return vb.test(n)?{kind:_.INT,value:n}:{kind:_.FLOAT,value:n}}if(typeof r=="string")return We(e)?{kind:_.ENUM,value:r}:e===Oc&&vb.test(r)?{kind:_.INT,value:r}:{kind:_.STRING,value:r};throw new TypeError(`Cannot convert value to AST: ${A(r)}.`)}Tt(!1,"Unexpected input type: "+A(e))}o(kr,"astFromValue");var vb=/^-?(?:0|[1-9][0-9]*)$/;var ki=new xe({name:"__Schema",description:"A GraphQL Schema defines the capabilities of a GraphQL server. It exposes all available types and directives on the server, as well as the entry points for query, mutation, and subscription operations.",fields:()=>({description:{type:ie,resolve:t=>t.description},types:{description:"A list of all types supported by this server.",type:new $(new de(new $(it))),resolve(t){return Object.values(t.getTypeMap())}},queryType:{description:"The type that query operations will be rooted at.",type:new $(it),resolve:t=>t.getQueryType()},mutationType:{description:"If this server supports mutation, the type that mutation operations will be rooted at.",type:it,resolve:t=>t.getMutationType()},subscriptionType:{description:"If this server support subscription, the type that subscription operations will be rooted at.",type:it,resolve:t=>t.getSubscriptionType()},directives:{description:"A list of all directives supported by this server.",type:new $(new de(new $(Ap))),resolve:t=>t.getDirectives()}})}),Ap=new xe({name:"__Directive",description:`A Directive provides a way to describe alternate runtime execution and type validation behavior in a GraphQL document.
114
114
 
115
- In some cases, you need to provide options to alter GraphQL's execution behavior in ways field arguments will not suffice, such as conditionally including or skipping a field. Directives provide this by describing additional information to the executor.`,fields:()=>({name:{type:new $(ie),resolve:t=>t.name},description:{type:ie,resolve:t=>t.description},isRepeatable:{type:new $(Ue),resolve:t=>t.isRepeatable},locations:{type:new $(new de(new $(Pp))),resolve:t=>t.locations},args:{type:new $(new de(new $(Fi))),args:{includeDeprecated:{type:Ue,defaultValue:!1}},resolve(t,{includeDeprecated:e}){return e?t.args:t.args.filter(r=>r.deprecationReason==null)}}})}),Pp=new It({name:"__DirectiveLocation",description:"A Directive can be adjacent to many parts of the GraphQL language, a __DirectiveLocation describes one such possible adjacencies.",values:{QUERY:{value:K.QUERY,description:"Location adjacent to a query operation."},MUTATION:{value:K.MUTATION,description:"Location adjacent to a mutation operation."},SUBSCRIPTION:{value:K.SUBSCRIPTION,description:"Location adjacent to a subscription operation."},FIELD:{value:K.FIELD,description:"Location adjacent to a field."},FRAGMENT_DEFINITION:{value:K.FRAGMENT_DEFINITION,description:"Location adjacent to a fragment definition."},FRAGMENT_SPREAD:{value:K.FRAGMENT_SPREAD,description:"Location adjacent to a fragment spread."},INLINE_FRAGMENT:{value:K.INLINE_FRAGMENT,description:"Location adjacent to an inline fragment."},VARIABLE_DEFINITION:{value:K.VARIABLE_DEFINITION,description:"Location adjacent to a variable definition."},SCHEMA:{value:K.SCHEMA,description:"Location adjacent to a schema definition."},SCALAR:{value:K.SCALAR,description:"Location adjacent to a scalar definition."},OBJECT:{value:K.OBJECT,description:"Location adjacent to an object type definition."},FIELD_DEFINITION:{value:K.FIELD_DEFINITION,description:"Location adjacent to a field definition."},ARGUMENT_DEFINITION:{value:K.ARGUMENT_DEFINITION,description:"Location adjacent to an argument definition."},INTERFACE:{value:K.INTERFACE,description:"Location adjacent to an interface definition."},UNION:{value:K.UNION,description:"Location adjacent to a union definition."},ENUM:{value:K.ENUM,description:"Location adjacent to an enum definition."},ENUM_VALUE:{value:K.ENUM_VALUE,description:"Location adjacent to an enum value definition."},INPUT_OBJECT:{value:K.INPUT_OBJECT,description:"Location adjacent to an input object type definition."},INPUT_FIELD_DEFINITION:{value:K.INPUT_FIELD_DEFINITION,description:"Location adjacent to an input object field definition."}}}),it=new xe({name:"__Type",description:"The fundamental unit of any GraphQL Schema is the type. There are many kinds of types in GraphQL as represented by the `__TypeKind` enum.\n\nDepending on the kind of a type, certain fields describe information about that type. Scalar types provide no information beyond a name, description and optional `specifiedByURL`, while Enum types provide their values. Object and Interface types provide the fields they describe. Abstract types, Union and Interface, provide the Object types possible at runtime. List and NonNull types compose other types.",fields:()=>({kind:{type:new $(xp),resolve(t){if(hr(t))return X.SCALAR;if(Ne(t))return X.OBJECT;if(Ee(t))return X.INTERFACE;if(nt(t))return X.UNION;if(We(t))return X.ENUM;if(Pe(t))return X.INPUT_OBJECT;if(Ve(t))return X.LIST;if(ae(t))return X.NON_NULL;Tt(!1,`Unexpected type: "${A(t)}".`)}},name:{type:ie,resolve:t=>"name"in t?t.name:void 0},description:{type:ie,resolve:t=>"description"in t?t.description:void 0},specifiedByURL:{type:ie,resolve:t=>"specifiedByURL"in t?t.specifiedByURL:void 0},fields:{type:new de(new $(Rp)),args:{includeDeprecated:{type:Ue,defaultValue:!1}},resolve(t,{includeDeprecated:e}){if(Ne(t)||Ee(t)){let r=Object.values(t.getFields());return e?r:r.filter(n=>n.deprecationReason==null)}}},interfaces:{type:new de(new $(it)),resolve(t){if(Ne(t)||Ee(t))return t.getInterfaces()}},possibleTypes:{type:new de(new $(it)),resolve(t,e,r,{schema:n}){if(mr(t))return n.getPossibleTypes(t)}},enumValues:{type:new de(new $(Op)),args:{includeDeprecated:{type:Ue,defaultValue:!1}},resolve(t,{includeDeprecated:e}){if(We(t)){let r=t.getValues();return e?r:r.filter(n=>n.deprecationReason==null)}}},inputFields:{type:new de(new $(Fi)),args:{includeDeprecated:{type:Ue,defaultValue:!1}},resolve(t,{includeDeprecated:e}){if(Pe(t)){let r=Object.values(t.getFields());return e?r:r.filter(n=>n.deprecationReason==null)}}},ofType:{type:it,resolve:t=>"ofType"in t?t.ofType:void 0}})}),Rp=new xe({name:"__Field",description:"Object and Interface types are described by a list of Fields, each of which has a name, potentially a list of arguments, and a return type.",fields:()=>({name:{type:new $(ie),resolve:t=>t.name},description:{type:ie,resolve:t=>t.description},args:{type:new $(new de(new $(Fi))),args:{includeDeprecated:{type:Ue,defaultValue:!1}},resolve(t,{includeDeprecated:e}){return e?t.args:t.args.filter(r=>r.deprecationReason==null)}},type:{type:new $(it),resolve:t=>t.type},isDeprecated:{type:new $(Ue),resolve:t=>t.deprecationReason!=null},deprecationReason:{type:ie,resolve:t=>t.deprecationReason}})}),Fi=new xe({name:"__InputValue",description:"Arguments provided to Fields or Directives and the input fields of an InputObject are represented as Input Values which describe their type and optionally a default value.",fields:()=>({name:{type:new $(ie),resolve:t=>t.name},description:{type:ie,resolve:t=>t.description},type:{type:new $(it),resolve:t=>t.type},defaultValue:{type:ie,description:"A GraphQL-formatted string representing the default value for this input value.",resolve(t){let{type:e,defaultValue:r}=t,n=kr(r,e);return n?De(n):null}},isDeprecated:{type:new $(Ue),resolve:t=>t.deprecationReason!=null},deprecationReason:{type:ie,resolve:t=>t.deprecationReason}})}),Op=new xe({name:"__EnumValue",description:"One possible value for a given Enum. Enum values are unique values, not a placeholder for a string or numeric value. However an Enum value is returned in a JSON response as a string.",fields:()=>({name:{type:new $(ie),resolve:t=>t.name},description:{type:ie,resolve:t=>t.description},isDeprecated:{type:new $(Ue),resolve:t=>t.deprecationReason!=null},deprecationReason:{type:ie,resolve:t=>t.deprecationReason}})}),X;(function(t){t.SCALAR="SCALAR",t.OBJECT="OBJECT",t.INTERFACE="INTERFACE",t.UNION="UNION",t.ENUM="ENUM",t.INPUT_OBJECT="INPUT_OBJECT",t.LIST="LIST",t.NON_NULL="NON_NULL"})(X||(X={}));var xp=new It({name:"__TypeKind",description:"An enum describing what kind of type a given `__Type` is.",values:{SCALAR:{value:X.SCALAR,description:"Indicates this type is a scalar."},OBJECT:{value:X.OBJECT,description:"Indicates this type is an object. `fields` and `interfaces` are valid fields."},INTERFACE:{value:X.INTERFACE,description:"Indicates this type is an interface. `fields`, `interfaces`, and `possibleTypes` are valid fields."},UNION:{value:X.UNION,description:"Indicates this type is a union. `possibleTypes` is a valid field."},ENUM:{value:X.ENUM,description:"Indicates this type is an enum. `enumValues` is a valid field."},INPUT_OBJECT:{value:X.INPUT_OBJECT,description:"Indicates this type is an input object. `inputFields` is a valid field."},LIST:{value:X.LIST,description:"Indicates this type is a list. `ofType` is a valid field."},NON_NULL:{value:X.NON_NULL,description:"Indicates this type is a non-null. `ofType` is a valid field."}}}),Nc={name:"__schema",type:new $(ki),description:"Access the current type schema of this server.",args:[],resolve:(t,e,r,{schema:n})=>n,deprecationReason:void 0,extensions:Object.create(null),astNode:void 0},Cc={name:"__type",type:it,description:"Request the type information of a single type.",args:[{name:"name",description:void 0,type:new $(ie),defaultValue:void 0,deprecationReason:void 0,extensions:Object.create(null),astNode:void 0}],resolve:(t,{name:e},r,{schema:n})=>n.getType(e),deprecationReason:void 0,extensions:Object.create(null),astNode:void 0},Lc={name:"__typename",type:new $(ie),description:"The name of the current Object type at runtime.",args:[],resolve:(t,e,r,{parentType:n})=>n.name,deprecationReason:void 0,extensions:Object.create(null),astNode:void 0},Np=Object.freeze([ki,Ap,Pp,it,Rp,Fi,Op,xp]);var Hi=class{static{o(this,"GraphQLSchema")}constructor(e){var r,n;this.__validationErrors=e.assumeValid===!0?[]:void 0,be(e)||B(!1,"Must provide configuration object."),!e.types||Array.isArray(e.types)||B(!1,`"types" must be Array if provided but got: ${A(e.types)}.`),!e.directives||Array.isArray(e.directives)||B(!1,`"directives" must be Array if provided but got: ${A(e.directives)}.`),this.description=e.description,this.extensions=Le(e.extensions),this.astNode=e.astNode,this.extensionASTNodes=(r=e.extensionASTNodes)!==null&&r!==void 0?r:[],this._queryType=e.query,this._mutationType=e.mutation,this._subscriptionType=e.subscription,this._directives=(n=e.directives)!==null&&n!==void 0?n:Ip;let i=new Set(e.types);if(e.types!=null)for(let s of e.types)i.delete(s),pt(s,i);this._queryType!=null&&pt(this._queryType,i),this._mutationType!=null&&pt(this._mutationType,i),this._subscriptionType!=null&&pt(this._subscriptionType,i);for(let s of this._directives)if(Sp(s))for(let a of s.args)pt(a.type,i);pt(ki,i),this._typeMap=Object.create(null),this._subTypeMap=Object.create(null),this._implementationsMap=Object.create(null);for(let s of i){if(s==null)continue;let a=s.name;if(a||B(!1,"One of the provided types for building the Schema is missing a name."),this._typeMap[a]!==void 0)throw new Error(`Schema must contain uniquely named types but contains multiple types named "${a}".`);if(this._typeMap[a]=s,Ee(s)){for(let c of s.getInterfaces())if(Ee(c)){let u=this._implementationsMap[c.name];u===void 0&&(u=this._implementationsMap[c.name]={objects:[],interfaces:[]}),u.interfaces.push(s)}}else if(Ne(s)){for(let c of s.getInterfaces())if(Ee(c)){let u=this._implementationsMap[c.name];u===void 0&&(u=this._implementationsMap[c.name]={objects:[],interfaces:[]}),u.objects.push(s)}}}}get[Symbol.toStringTag](){return"GraphQLSchema"}getQueryType(){return this._queryType}getMutationType(){return this._mutationType}getSubscriptionType(){return this._subscriptionType}getRootType(e){switch(e){case rt.QUERY:return this.getQueryType();case rt.MUTATION:return this.getMutationType();case rt.SUBSCRIPTION:return this.getSubscriptionType()}}getTypeMap(){return this._typeMap}getType(e){return this.getTypeMap()[e]}getPossibleTypes(e){return nt(e)?e.getTypes():this.getImplementations(e).objects}getImplementations(e){let r=this._implementationsMap[e.name];return r??{objects:[],interfaces:[]}}isSubType(e,r){let n=this._subTypeMap[e.name];if(n===void 0){if(n=Object.create(null),nt(e))for(let i of e.getTypes())n[i.name]=!0;else{let i=this.getImplementations(e);for(let s of i.objects)n[s.name]=!0;for(let s of i.interfaces)n[s.name]=!0}this._subTypeMap[e.name]=n}return n[r.name]!==void 0}getDirectives(){return this._directives}getDirective(e){return this.getDirectives().find(r=>r.name===e)}toConfig(){return{description:this.description,query:this.getQueryType(),mutation:this.getMutationType(),subscription:this.getSubscriptionType(),types:Object.values(this.getTypeMap()),directives:this.getDirectives(),extensions:this.extensions,astNode:this.astNode,extensionASTNodes:this.extensionASTNodes,assumeValid:this.__validationErrors!==void 0}}};function pt(t,e){let r=lt(t);if(!e.has(r)){if(e.add(r),nt(r))for(let n of r.getTypes())pt(n,e);else if(Ne(r)||Ee(r)){for(let n of r.getInterfaces())pt(n,e);for(let n of Object.values(r.getFields())){pt(n.type,e);for(let i of n.args)pt(i.type,e)}}else if(Pe(r))for(let n of Object.values(r.getFields()))pt(n.type,e)}return e}o(pt,"collectReferencedTypes");function yr(t,e){switch(e.kind){case _.LIST_TYPE:{let r=yr(t,e.type);return r&&new de(r)}case _.NON_NULL_TYPE:{let r=yr(t,e.type);return r&&new $(r)}case _.NAMED_TYPE:return t.getType(e.name.value)}}o(yr,"typeFromAST");var gr=class{static{o(this,"TypeInfo")}constructor(e,r,n){this._schema=e,this._typeStack=[],this._parentTypeStack=[],this._inputTypeStack=[],this._fieldDefStack=[],this._defaultValueStack=[],this._directive=null,this._argument=null,this._enumValue=null,this._getFieldDef=n??rN,r&&(Qe(r)&&this._inputTypeStack.push(r),At(r)&&this._parentTypeStack.push(r),Ht(r)&&this._typeStack.push(r))}get[Symbol.toStringTag](){return"TypeInfo"}getType(){if(this._typeStack.length>0)return this._typeStack[this._typeStack.length-1]}getParentType(){if(this._parentTypeStack.length>0)return this._parentTypeStack[this._parentTypeStack.length-1]}getInputType(){if(this._inputTypeStack.length>0)return this._inputTypeStack[this._inputTypeStack.length-1]}getParentInputType(){if(this._inputTypeStack.length>1)return this._inputTypeStack[this._inputTypeStack.length-2]}getFieldDef(){if(this._fieldDefStack.length>0)return this._fieldDefStack[this._fieldDefStack.length-1]}getDefaultValue(){if(this._defaultValueStack.length>0)return this._defaultValueStack[this._defaultValueStack.length-1]}getDirective(){return this._directive}getArgument(){return this._argument}getEnumValue(){return this._enumValue}enter(e){let r=this._schema;switch(e.kind){case _.SELECTION_SET:{let i=lt(this.getType());this._parentTypeStack.push(At(i)?i:void 0);break}case _.FIELD:{let i=this.getParentType(),s,a;i&&(s=this._getFieldDef(r,i,e),s&&(a=s.type)),this._fieldDefStack.push(s),this._typeStack.push(Ht(a)?a:void 0);break}case _.DIRECTIVE:this._directive=r.getDirective(e.name.value);break;case _.OPERATION_DEFINITION:{let i=r.getRootType(e.operation);this._typeStack.push(Ne(i)?i:void 0);break}case _.INLINE_FRAGMENT:case _.FRAGMENT_DEFINITION:{let i=e.typeCondition,s=i?yr(r,i):lt(this.getType());this._typeStack.push(Ht(s)?s:void 0);break}case _.VARIABLE_DEFINITION:{let i=yr(r,e.type);this._inputTypeStack.push(Qe(i)?i:void 0);break}case _.ARGUMENT:{var n;let i,s,a=(n=this.getDirective())!==null&&n!==void 0?n:this.getFieldDef();a&&(i=a.args.find(c=>c.name===e.name.value),i&&(s=i.type)),this._argument=i,this._defaultValueStack.push(i?i.defaultValue:void 0),this._inputTypeStack.push(Qe(s)?s:void 0);break}case _.LIST:{let i=Sc(this.getInputType()),s=Ve(i)?i.ofType:i;this._defaultValueStack.push(void 0),this._inputTypeStack.push(Qe(s)?s:void 0);break}case _.OBJECT_FIELD:{let i=lt(this.getInputType()),s,a;Pe(i)&&(a=i.getFields()[e.name.value],a&&(s=a.type)),this._defaultValueStack.push(a?a.defaultValue:void 0),this._inputTypeStack.push(Qe(s)?s:void 0);break}case _.ENUM:{let i=lt(this.getInputType()),s;We(i)&&(s=i.getValue(e.value)),this._enumValue=s;break}default:}}leave(e){switch(e.kind){case _.SELECTION_SET:this._parentTypeStack.pop();break;case _.FIELD:this._fieldDefStack.pop(),this._typeStack.pop();break;case _.DIRECTIVE:this._directive=null;break;case _.OPERATION_DEFINITION:case _.INLINE_FRAGMENT:case _.FRAGMENT_DEFINITION:this._typeStack.pop();break;case _.VARIABLE_DEFINITION:this._inputTypeStack.pop();break;case _.ARGUMENT:this._argument=null,this._defaultValueStack.pop(),this._inputTypeStack.pop();break;case _.LIST:case _.OBJECT_FIELD:this._defaultValueStack.pop(),this._inputTypeStack.pop();break;case _.ENUM:this._enumValue=null;break;default:}}};function rN(t,e,r){let n=r.name.value;if(n===Nc.name&&t.getQueryType()===e)return Nc;if(n===Cc.name&&t.getQueryType()===e)return Cc;if(n===Lc.name&&At(e))return Lc;if(Ne(e)||Ee(e))return e.getFields()[n]}o(rN,"getFieldDef");function $n(t,e){return{enter(...r){let n=r[0];t.enter(n);let i=Hn(e,n.kind).enter;if(i){let s=i.apply(e,r);return s!==void 0&&(t.leave(n),Oi(s)&&t.enter(s)),s}},leave(...r){let n=r[0],i=Hn(e,n.kind).leave,s;return i&&(s=i.apply(e,r)),t.leave(n),s}}}o($n,"visitWithTypeInfo");function Dc(t){return t.map(e=>typeof e=="number"?"["+e.toString()+"]":"."+e).join("")}o(Dc,"printPathArray");function Cp(t,e,r){return{prev:t,key:e,typename:r}}o(Cp,"addPath");function qt(t){let e=[],r=t;for(;r;)e.push(r.key),r=r.prev;return e.reverse()}o(qt,"pathToArray");function Lp(t,e,r=nN){return qi(t,e,r,void 0)}o(Lp,"coerceInputValue");function nN(t,e,r){let n="Invalid value "+A(e);throw t.length>0&&(n+=` at "value${Dc(t)}"`),r.message=n+": "+r.message,r}o(nN,"defaultOnError");function qi(t,e,r,n){if(ae(e)){if(t!=null)return qi(t,e.ofType,r,n);r(qt(n),t,new C(`Expected non-nullable type "${A(e)}" not to be null.`));return}if(t==null)return null;if(Ve(e)){let i=e.ofType;return xc(t)?Array.from(t,(s,a)=>{let c=Cp(n,a,void 0);return qi(s,i,r,c)}):[qi(t,i,r,n)]}if(Pe(e)){if(!be(t)){r(qt(n),t,new C(`Expected type "${e.name}" to be an object.`));return}let i={},s=e.getFields();for(let a of Object.values(s)){let c=t[a.name];if(c===void 0){if(a.defaultValue!==void 0)i[a.name]=a.defaultValue;else if(ae(a.type)){let u=A(a.type);r(qt(n),t,new C(`Field "${a.name}" of required type "${u}" was not provided.`))}continue}i[a.name]=qi(c,a.type,r,Cp(n,a.name,e.name))}for(let a of Object.keys(t))if(!s[a]){let c=yc(a,Object.keys(e.getFields()));r(qt(n),t,new C(`Field "${a}" is not defined by type "${e.name}".`+fc(c)))}return i}if(fr(e)){let i;try{i=e.parseValue(t)}catch(s){s instanceof C?r(qt(n),t,s):r(qt(n),t,new C(`Expected type "${e.name}". `+s.message,{originalError:s}));return}return i===void 0&&r(qt(n),t,new C(`Expected type "${e.name}".`)),i}Tt(!1,"Unexpected input type: "+A(e))}o(qi,"coerceInputValueImpl");function Pt(t,e,r){if(t){if(t.kind===_.VARIABLE){let n=t.name.value;if(r==null||r[n]===void 0)return;let i=r[n];return i===null&&ae(e)?void 0:i}if(ae(e))return t.kind===_.NULL?void 0:Pt(t,e.ofType,r);if(t.kind===_.NULL)return null;if(Ve(e)){let n=e.ofType;if(t.kind===_.LIST){let s=[];for(let a of t.values)if(Tb(a,r)){if(ae(n))return;s.push(null)}else{let c=Pt(a,n,r);if(c===void 0)return;s.push(c)}return s}let i=Pt(t,n,r);return i===void 0?void 0:[i]}if(Pe(e)){if(t.kind!==_.OBJECT)return;let n=Object.create(null),i=Fn(t.fields,s=>s.name.value);for(let s of Object.values(e.getFields())){let a=i[s.name];if(!a||Tb(a.value,r)){if(s.defaultValue!==void 0)n[s.name]=s.defaultValue;else if(ae(s.type))return;continue}let c=Pt(a.value,s.type,r);if(c===void 0)return;n[s.name]=c}return n}if(fr(e)){let n;try{n=e.parseLiteral(t,r)}catch{return}return n===void 0?void 0:n}Tt(!1,"Unexpected input type: "+A(e))}}o(Pt,"valueFromAST");function Tb(t,e){return t.kind===_.VARIABLE&&(e==null||e[t.name.value]===void 0)}o(Tb,"isMissingVariable");function Uc(t,e,r,n){let i=[],s=n?.maxErrors;try{let a=iN(t,e,r,c=>{if(s!=null&&i.length>=s)throw new C("Too many errors processing variables, error limit reached. Execution aborted.");i.push(c)});if(i.length===0)return{coerced:a}}catch(a){i.push(a)}return{errors:i}}o(Uc,"getVariableValues");function iN(t,e,r,n){let i={};for(let s of e){let a=s.variable.name.value,c=yr(t,s.type);if(!Qe(c)){let l=De(s.type);n(new C(`Variable "$${a}" expected value of type "${l}" which cannot be used as an input type.`,{nodes:s.type}));continue}if(!Sb(r,a)){if(s.defaultValue)i[a]=Pt(s.defaultValue,c);else if(ae(c)){let l=A(c);n(new C(`Variable "$${a}" of required type "${l}" was not provided.`,{nodes:s}))}continue}let u=r[a];if(u===null&&ae(c)){let l=A(c);n(new C(`Variable "$${a}" of non-null type "${l}" must not be null.`,{nodes:s}));continue}i[a]=Lp(u,c,(l,d,p)=>{let m=`Variable "$${a}" got invalid value `+A(d);l.length>0&&(m+=` at "${a}${Dc(l)}"`),n(new C(m+"; "+p.message,{nodes:s,originalError:p}))})}return i}o(iN,"coerceVariableValues");function $i(t,e,r){var n;let i={},s=(n=e.arguments)!==null&&n!==void 0?n:[],a=Fn(s,c=>c.name.value);for(let c of t.args){let u=c.name,l=c.type,d=a[u];if(!d){if(c.defaultValue!==void 0)i[u]=c.defaultValue;else if(ae(l))throw new C(`Argument "${u}" of required type "${A(l)}" was not provided.`,{nodes:e});continue}let p=d.value,m=p.kind===_.NULL;if(p.kind===_.VARIABLE){let y=p.name.value;if(r==null||!Sb(r,y)){if(c.defaultValue!==void 0)i[u]=c.defaultValue;else if(ae(l))throw new C(`Argument "${u}" of required type "${A(l)}" was provided the variable "$${y}" which was not provided a runtime value.`,{nodes:p});continue}m=r[y]==null}if(m&&ae(l))throw new C(`Argument "${u}" of non-null type "${A(l)}" must not be null.`,{nodes:p});let f=Pt(p,l,r);if(f===void 0)throw new C(`Argument "${u}" has invalid value ${De(p)}.`,{nodes:p});i[u]=f}return i}o($i,"getArgumentValues");function ji(t,e,r){var n;let i=(n=e.directives)===null||n===void 0?void 0:n.find(s=>s.name.value===t.name);if(i)return $i(t,i,r)}o(ji,"getDirectiveValues");function Sb(t,e){return Object.prototype.hasOwnProperty.call(t,e)}o(Sb,"hasOwnProperty");var Mc=class{static{o(this,"ASTValidationContext")}constructor(e,r){this._ast=e,this._fragments=void 0,this._fragmentSpreads=new Map,this._recursivelyReferencedFragments=new Map,this._onError=r}get[Symbol.toStringTag](){return"ASTValidationContext"}reportError(e){this._onError(e)}getDocument(){return this._ast}getFragment(e){let r;if(this._fragments)r=this._fragments;else{r=Object.create(null);for(let n of this.getDocument().definitions)n.kind===_.FRAGMENT_DEFINITION&&(r[n.name.value]=n);this._fragments=r}return r[e]}getFragmentSpreads(e){let r=this._fragmentSpreads.get(e);if(!r){r=[];let n=[e],i;for(;i=n.pop();)for(let s of i.selections)s.kind===_.FRAGMENT_SPREAD?r.push(s):s.selectionSet&&n.push(s.selectionSet);this._fragmentSpreads.set(e,r)}return r}getRecursivelyReferencedFragments(e){let r=this._recursivelyReferencedFragments.get(e);if(!r){r=[];let n=Object.create(null),i=[e.selectionSet],s;for(;s=i.pop();)for(let a of this.getFragmentSpreads(s)){let c=a.name.value;if(n[c]!==!0){n[c]=!0;let u=this.getFragment(c);u&&(r.push(u),i.push(u.selectionSet))}}this._recursivelyReferencedFragments.set(e,r)}return r}},Ib=class extends Mc{static{o(this,"SDLValidationContext")}constructor(e,r,n){super(e,n),this._schema=r}get[Symbol.toStringTag](){return"SDLValidationContext"}getSchema(){return this._schema}},jn=class extends Mc{static{o(this,"ValidationContext")}constructor(e,r,n,i){super(r,i),this._schema=e,this._typeInfo=n,this._variableUsages=new Map,this._recursiveVariableUsages=new Map}get[Symbol.toStringTag](){return"ValidationContext"}getSchema(){return this._schema}getVariableUsages(e){let r=this._variableUsages.get(e);if(!r){let n=[],i=new gr(this._schema);pr(e,$n(i,{VariableDefinition:()=>!1,Variable(s){n.push({node:s,type:i.getInputType(),defaultValue:i.getDefaultValue()})}})),r=n,this._variableUsages.set(e,r)}return r}getRecursiveVariableUsages(e){let r=this._recursiveVariableUsages.get(e);if(!r){r=this.getVariableUsages(e);for(let n of this.getRecursivelyReferencedFragments(e))r=r.concat(this.getVariableUsages(n));this._recursiveVariableUsages.set(e,r)}return r}getType(){return this._typeInfo.getType()}getParentType(){return this._typeInfo.getParentType()}getInputType(){return this._typeInfo.getInputType()}getParentInputType(){return this._typeInfo.getParentInputType()}getFieldDef(){return this._typeInfo.getFieldDef()}getDirective(){return this._typeInfo.getDirective()}getArgument(){return this._typeInfo.getArgument()}getEnumValue(){return this._typeInfo.getEnumValue()}};function kc(t){let e={descriptions:!0,specifiedByUrl:!1,directiveIsRepeatable:!1,schemaDescription:!1,inputValueDeprecation:!1,...t},r=e.descriptions?"description":"",n=e.specifiedByUrl?"specifiedByURL":"",i=e.directiveIsRepeatable?"isRepeatable":"",s=e.schemaDescription?r:"";function a(c){return e.inputValueDeprecation?c:""}return o(a,"inputDeprecation"),`
115
+ In some cases, you need to provide options to alter GraphQL's execution behavior in ways field arguments will not suffice, such as conditionally including or skipping a field. Directives provide this by describing additional information to the executor.`,fields:()=>({name:{type:new $(ie),resolve:t=>t.name},description:{type:ie,resolve:t=>t.description},isRepeatable:{type:new $(Ue),resolve:t=>t.isRepeatable},locations:{type:new $(new de(new $(Pp))),resolve:t=>t.locations},args:{type:new $(new de(new $(Fi))),args:{includeDeprecated:{type:Ue,defaultValue:!1}},resolve(t,{includeDeprecated:e}){return e?t.args:t.args.filter(r=>r.deprecationReason==null)}}})}),Pp=new It({name:"__DirectiveLocation",description:"A Directive can be adjacent to many parts of the GraphQL language, a __DirectiveLocation describes one such possible adjacencies.",values:{QUERY:{value:K.QUERY,description:"Location adjacent to a query operation."},MUTATION:{value:K.MUTATION,description:"Location adjacent to a mutation operation."},SUBSCRIPTION:{value:K.SUBSCRIPTION,description:"Location adjacent to a subscription operation."},FIELD:{value:K.FIELD,description:"Location adjacent to a field."},FRAGMENT_DEFINITION:{value:K.FRAGMENT_DEFINITION,description:"Location adjacent to a fragment definition."},FRAGMENT_SPREAD:{value:K.FRAGMENT_SPREAD,description:"Location adjacent to a fragment spread."},INLINE_FRAGMENT:{value:K.INLINE_FRAGMENT,description:"Location adjacent to an inline fragment."},VARIABLE_DEFINITION:{value:K.VARIABLE_DEFINITION,description:"Location adjacent to a variable definition."},SCHEMA:{value:K.SCHEMA,description:"Location adjacent to a schema definition."},SCALAR:{value:K.SCALAR,description:"Location adjacent to a scalar definition."},OBJECT:{value:K.OBJECT,description:"Location adjacent to an object type definition."},FIELD_DEFINITION:{value:K.FIELD_DEFINITION,description:"Location adjacent to a field definition."},ARGUMENT_DEFINITION:{value:K.ARGUMENT_DEFINITION,description:"Location adjacent to an argument definition."},INTERFACE:{value:K.INTERFACE,description:"Location adjacent to an interface definition."},UNION:{value:K.UNION,description:"Location adjacent to a union definition."},ENUM:{value:K.ENUM,description:"Location adjacent to an enum definition."},ENUM_VALUE:{value:K.ENUM_VALUE,description:"Location adjacent to an enum value definition."},INPUT_OBJECT:{value:K.INPUT_OBJECT,description:"Location adjacent to an input object type definition."},INPUT_FIELD_DEFINITION:{value:K.INPUT_FIELD_DEFINITION,description:"Location adjacent to an input object field definition."}}}),it=new xe({name:"__Type",description:"The fundamental unit of any GraphQL Schema is the type. There are many kinds of types in GraphQL as represented by the `__TypeKind` enum.\n\nDepending on the kind of a type, certain fields describe information about that type. Scalar types provide no information beyond a name, description and optional `specifiedByURL`, while Enum types provide their values. Object and Interface types provide the fields they describe. Abstract types, Union and Interface, provide the Object types possible at runtime. List and NonNull types compose other types.",fields:()=>({kind:{type:new $(xp),resolve(t){if(hr(t))return X.SCALAR;if(Ne(t))return X.OBJECT;if(Ee(t))return X.INTERFACE;if(nt(t))return X.UNION;if(We(t))return X.ENUM;if(Pe(t))return X.INPUT_OBJECT;if(Ve(t))return X.LIST;if(ae(t))return X.NON_NULL;Tt(!1,`Unexpected type: "${A(t)}".`)}},name:{type:ie,resolve:t=>"name"in t?t.name:void 0},description:{type:ie,resolve:t=>"description"in t?t.description:void 0},specifiedByURL:{type:ie,resolve:t=>"specifiedByURL"in t?t.specifiedByURL:void 0},fields:{type:new de(new $(Rp)),args:{includeDeprecated:{type:Ue,defaultValue:!1}},resolve(t,{includeDeprecated:e}){if(Ne(t)||Ee(t)){let r=Object.values(t.getFields());return e?r:r.filter(n=>n.deprecationReason==null)}}},interfaces:{type:new de(new $(it)),resolve(t){if(Ne(t)||Ee(t))return t.getInterfaces()}},possibleTypes:{type:new de(new $(it)),resolve(t,e,r,{schema:n}){if(mr(t))return n.getPossibleTypes(t)}},enumValues:{type:new de(new $(Op)),args:{includeDeprecated:{type:Ue,defaultValue:!1}},resolve(t,{includeDeprecated:e}){if(We(t)){let r=t.getValues();return e?r:r.filter(n=>n.deprecationReason==null)}}},inputFields:{type:new de(new $(Fi)),args:{includeDeprecated:{type:Ue,defaultValue:!1}},resolve(t,{includeDeprecated:e}){if(Pe(t)){let r=Object.values(t.getFields());return e?r:r.filter(n=>n.deprecationReason==null)}}},ofType:{type:it,resolve:t=>"ofType"in t?t.ofType:void 0}})}),Rp=new xe({name:"__Field",description:"Object and Interface types are described by a list of Fields, each of which has a name, potentially a list of arguments, and a return type.",fields:()=>({name:{type:new $(ie),resolve:t=>t.name},description:{type:ie,resolve:t=>t.description},args:{type:new $(new de(new $(Fi))),args:{includeDeprecated:{type:Ue,defaultValue:!1}},resolve(t,{includeDeprecated:e}){return e?t.args:t.args.filter(r=>r.deprecationReason==null)}},type:{type:new $(it),resolve:t=>t.type},isDeprecated:{type:new $(Ue),resolve:t=>t.deprecationReason!=null},deprecationReason:{type:ie,resolve:t=>t.deprecationReason}})}),Fi=new xe({name:"__InputValue",description:"Arguments provided to Fields or Directives and the input fields of an InputObject are represented as Input Values which describe their type and optionally a default value.",fields:()=>({name:{type:new $(ie),resolve:t=>t.name},description:{type:ie,resolve:t=>t.description},type:{type:new $(it),resolve:t=>t.type},defaultValue:{type:ie,description:"A GraphQL-formatted string representing the default value for this input value.",resolve(t){let{type:e,defaultValue:r}=t,n=kr(r,e);return n?De(n):null}},isDeprecated:{type:new $(Ue),resolve:t=>t.deprecationReason!=null},deprecationReason:{type:ie,resolve:t=>t.deprecationReason}})}),Op=new xe({name:"__EnumValue",description:"One possible value for a given Enum. Enum values are unique values, not a placeholder for a string or numeric value. However an Enum value is returned in a JSON response as a string.",fields:()=>({name:{type:new $(ie),resolve:t=>t.name},description:{type:ie,resolve:t=>t.description},isDeprecated:{type:new $(Ue),resolve:t=>t.deprecationReason!=null},deprecationReason:{type:ie,resolve:t=>t.deprecationReason}})}),X;(function(t){t.SCALAR="SCALAR",t.OBJECT="OBJECT",t.INTERFACE="INTERFACE",t.UNION="UNION",t.ENUM="ENUM",t.INPUT_OBJECT="INPUT_OBJECT",t.LIST="LIST",t.NON_NULL="NON_NULL"})(X||(X={}));var xp=new It({name:"__TypeKind",description:"An enum describing what kind of type a given `__Type` is.",values:{SCALAR:{value:X.SCALAR,description:"Indicates this type is a scalar."},OBJECT:{value:X.OBJECT,description:"Indicates this type is an object. `fields` and `interfaces` are valid fields."},INTERFACE:{value:X.INTERFACE,description:"Indicates this type is an interface. `fields`, `interfaces`, and `possibleTypes` are valid fields."},UNION:{value:X.UNION,description:"Indicates this type is a union. `possibleTypes` is a valid field."},ENUM:{value:X.ENUM,description:"Indicates this type is an enum. `enumValues` is a valid field."},INPUT_OBJECT:{value:X.INPUT_OBJECT,description:"Indicates this type is an input object. `inputFields` is a valid field."},LIST:{value:X.LIST,description:"Indicates this type is a list. `ofType` is a valid field."},NON_NULL:{value:X.NON_NULL,description:"Indicates this type is a non-null. `ofType` is a valid field."}}}),Nc={name:"__schema",type:new $(ki),description:"Access the current type schema of this server.",args:[],resolve:(t,e,r,{schema:n})=>n,deprecationReason:void 0,extensions:Object.create(null),astNode:void 0},Cc={name:"__type",type:it,description:"Request the type information of a single type.",args:[{name:"name",description:void 0,type:new $(ie),defaultValue:void 0,deprecationReason:void 0,extensions:Object.create(null),astNode:void 0}],resolve:(t,{name:e},r,{schema:n})=>n.getType(e),deprecationReason:void 0,extensions:Object.create(null),astNode:void 0},Lc={name:"__typename",type:new $(ie),description:"The name of the current Object type at runtime.",args:[],resolve:(t,e,r,{parentType:n})=>n.name,deprecationReason:void 0,extensions:Object.create(null),astNode:void 0},Np=Object.freeze([ki,Ap,Pp,it,Rp,Fi,Op,xp]);var Hi=class{static{o(this,"GraphQLSchema")}constructor(e){var r,n;this.__validationErrors=e.assumeValid===!0?[]:void 0,be(e)||B(!1,"Must provide configuration object."),!e.types||Array.isArray(e.types)||B(!1,`"types" must be Array if provided but got: ${A(e.types)}.`),!e.directives||Array.isArray(e.directives)||B(!1,`"directives" must be Array if provided but got: ${A(e.directives)}.`),this.description=e.description,this.extensions=Le(e.extensions),this.astNode=e.astNode,this.extensionASTNodes=(r=e.extensionASTNodes)!==null&&r!==void 0?r:[],this._queryType=e.query,this._mutationType=e.mutation,this._subscriptionType=e.subscription,this._directives=(n=e.directives)!==null&&n!==void 0?n:Ip;let i=new Set(e.types);if(e.types!=null)for(let s of e.types)i.delete(s),pt(s,i);this._queryType!=null&&pt(this._queryType,i),this._mutationType!=null&&pt(this._mutationType,i),this._subscriptionType!=null&&pt(this._subscriptionType,i);for(let s of this._directives)if(Sp(s))for(let a of s.args)pt(a.type,i);pt(ki,i),this._typeMap=Object.create(null),this._subTypeMap=Object.create(null),this._implementationsMap=Object.create(null);for(let s of i){if(s==null)continue;let a=s.name;if(a||B(!1,"One of the provided types for building the Schema is missing a name."),this._typeMap[a]!==void 0)throw new Error(`Schema must contain uniquely named types but contains multiple types named "${a}".`);if(this._typeMap[a]=s,Ee(s)){for(let c of s.getInterfaces())if(Ee(c)){let u=this._implementationsMap[c.name];u===void 0&&(u=this._implementationsMap[c.name]={objects:[],interfaces:[]}),u.interfaces.push(s)}}else if(Ne(s)){for(let c of s.getInterfaces())if(Ee(c)){let u=this._implementationsMap[c.name];u===void 0&&(u=this._implementationsMap[c.name]={objects:[],interfaces:[]}),u.objects.push(s)}}}}get[Symbol.toStringTag](){return"GraphQLSchema"}getQueryType(){return this._queryType}getMutationType(){return this._mutationType}getSubscriptionType(){return this._subscriptionType}getRootType(e){switch(e){case rt.QUERY:return this.getQueryType();case rt.MUTATION:return this.getMutationType();case rt.SUBSCRIPTION:return this.getSubscriptionType()}}getTypeMap(){return this._typeMap}getType(e){return this.getTypeMap()[e]}getPossibleTypes(e){return nt(e)?e.getTypes():this.getImplementations(e).objects}getImplementations(e){let r=this._implementationsMap[e.name];return r??{objects:[],interfaces:[]}}isSubType(e,r){let n=this._subTypeMap[e.name];if(n===void 0){if(n=Object.create(null),nt(e))for(let i of e.getTypes())n[i.name]=!0;else{let i=this.getImplementations(e);for(let s of i.objects)n[s.name]=!0;for(let s of i.interfaces)n[s.name]=!0}this._subTypeMap[e.name]=n}return n[r.name]!==void 0}getDirectives(){return this._directives}getDirective(e){return this.getDirectives().find(r=>r.name===e)}toConfig(){return{description:this.description,query:this.getQueryType(),mutation:this.getMutationType(),subscription:this.getSubscriptionType(),types:Object.values(this.getTypeMap()),directives:this.getDirectives(),extensions:this.extensions,astNode:this.astNode,extensionASTNodes:this.extensionASTNodes,assumeValid:this.__validationErrors!==void 0}}};function pt(t,e){let r=lt(t);if(!e.has(r)){if(e.add(r),nt(r))for(let n of r.getTypes())pt(n,e);else if(Ne(r)||Ee(r)){for(let n of r.getInterfaces())pt(n,e);for(let n of Object.values(r.getFields())){pt(n.type,e);for(let i of n.args)pt(i.type,e)}}else if(Pe(r))for(let n of Object.values(r.getFields()))pt(n.type,e)}return e}o(pt,"collectReferencedTypes");function yr(t,e){switch(e.kind){case _.LIST_TYPE:{let r=yr(t,e.type);return r&&new de(r)}case _.NON_NULL_TYPE:{let r=yr(t,e.type);return r&&new $(r)}case _.NAMED_TYPE:return t.getType(e.name.value)}}o(yr,"typeFromAST");var gr=class{static{o(this,"TypeInfo")}constructor(e,r,n){this._schema=e,this._typeStack=[],this._parentTypeStack=[],this._inputTypeStack=[],this._fieldDefStack=[],this._defaultValueStack=[],this._directive=null,this._argument=null,this._enumValue=null,this._getFieldDef=n??rN,r&&(Qe(r)&&this._inputTypeStack.push(r),At(r)&&this._parentTypeStack.push(r),qt(r)&&this._typeStack.push(r))}get[Symbol.toStringTag](){return"TypeInfo"}getType(){if(this._typeStack.length>0)return this._typeStack[this._typeStack.length-1]}getParentType(){if(this._parentTypeStack.length>0)return this._parentTypeStack[this._parentTypeStack.length-1]}getInputType(){if(this._inputTypeStack.length>0)return this._inputTypeStack[this._inputTypeStack.length-1]}getParentInputType(){if(this._inputTypeStack.length>1)return this._inputTypeStack[this._inputTypeStack.length-2]}getFieldDef(){if(this._fieldDefStack.length>0)return this._fieldDefStack[this._fieldDefStack.length-1]}getDefaultValue(){if(this._defaultValueStack.length>0)return this._defaultValueStack[this._defaultValueStack.length-1]}getDirective(){return this._directive}getArgument(){return this._argument}getEnumValue(){return this._enumValue}enter(e){let r=this._schema;switch(e.kind){case _.SELECTION_SET:{let i=lt(this.getType());this._parentTypeStack.push(At(i)?i:void 0);break}case _.FIELD:{let i=this.getParentType(),s,a;i&&(s=this._getFieldDef(r,i,e),s&&(a=s.type)),this._fieldDefStack.push(s),this._typeStack.push(qt(a)?a:void 0);break}case _.DIRECTIVE:this._directive=r.getDirective(e.name.value);break;case _.OPERATION_DEFINITION:{let i=r.getRootType(e.operation);this._typeStack.push(Ne(i)?i:void 0);break}case _.INLINE_FRAGMENT:case _.FRAGMENT_DEFINITION:{let i=e.typeCondition,s=i?yr(r,i):lt(this.getType());this._typeStack.push(qt(s)?s:void 0);break}case _.VARIABLE_DEFINITION:{let i=yr(r,e.type);this._inputTypeStack.push(Qe(i)?i:void 0);break}case _.ARGUMENT:{var n;let i,s,a=(n=this.getDirective())!==null&&n!==void 0?n:this.getFieldDef();a&&(i=a.args.find(c=>c.name===e.name.value),i&&(s=i.type)),this._argument=i,this._defaultValueStack.push(i?i.defaultValue:void 0),this._inputTypeStack.push(Qe(s)?s:void 0);break}case _.LIST:{let i=Sc(this.getInputType()),s=Ve(i)?i.ofType:i;this._defaultValueStack.push(void 0),this._inputTypeStack.push(Qe(s)?s:void 0);break}case _.OBJECT_FIELD:{let i=lt(this.getInputType()),s,a;Pe(i)&&(a=i.getFields()[e.name.value],a&&(s=a.type)),this._defaultValueStack.push(a?a.defaultValue:void 0),this._inputTypeStack.push(Qe(s)?s:void 0);break}case _.ENUM:{let i=lt(this.getInputType()),s;We(i)&&(s=i.getValue(e.value)),this._enumValue=s;break}default:}}leave(e){switch(e.kind){case _.SELECTION_SET:this._parentTypeStack.pop();break;case _.FIELD:this._fieldDefStack.pop(),this._typeStack.pop();break;case _.DIRECTIVE:this._directive=null;break;case _.OPERATION_DEFINITION:case _.INLINE_FRAGMENT:case _.FRAGMENT_DEFINITION:this._typeStack.pop();break;case _.VARIABLE_DEFINITION:this._inputTypeStack.pop();break;case _.ARGUMENT:this._argument=null,this._defaultValueStack.pop(),this._inputTypeStack.pop();break;case _.LIST:case _.OBJECT_FIELD:this._defaultValueStack.pop(),this._inputTypeStack.pop();break;case _.ENUM:this._enumValue=null;break;default:}}};function rN(t,e,r){let n=r.name.value;if(n===Nc.name&&t.getQueryType()===e)return Nc;if(n===Cc.name&&t.getQueryType()===e)return Cc;if(n===Lc.name&&At(e))return Lc;if(Ne(e)||Ee(e))return e.getFields()[n]}o(rN,"getFieldDef");function $n(t,e){return{enter(...r){let n=r[0];t.enter(n);let i=Hn(e,n.kind).enter;if(i){let s=i.apply(e,r);return s!==void 0&&(t.leave(n),Oi(s)&&t.enter(s)),s}},leave(...r){let n=r[0],i=Hn(e,n.kind).leave,s;return i&&(s=i.apply(e,r)),t.leave(n),s}}}o($n,"visitWithTypeInfo");function Dc(t){return t.map(e=>typeof e=="number"?"["+e.toString()+"]":"."+e).join("")}o(Dc,"printPathArray");function Cp(t,e,r){return{prev:t,key:e,typename:r}}o(Cp,"addPath");function $t(t){let e=[],r=t;for(;r;)e.push(r.key),r=r.prev;return e.reverse()}o($t,"pathToArray");function Lp(t,e,r=nN){return qi(t,e,r,void 0)}o(Lp,"coerceInputValue");function nN(t,e,r){let n="Invalid value "+A(e);throw t.length>0&&(n+=` at "value${Dc(t)}"`),r.message=n+": "+r.message,r}o(nN,"defaultOnError");function qi(t,e,r,n){if(ae(e)){if(t!=null)return qi(t,e.ofType,r,n);r($t(n),t,new C(`Expected non-nullable type "${A(e)}" not to be null.`));return}if(t==null)return null;if(Ve(e)){let i=e.ofType;return xc(t)?Array.from(t,(s,a)=>{let c=Cp(n,a,void 0);return qi(s,i,r,c)}):[qi(t,i,r,n)]}if(Pe(e)){if(!be(t)){r($t(n),t,new C(`Expected type "${e.name}" to be an object.`));return}let i={},s=e.getFields();for(let a of Object.values(s)){let c=t[a.name];if(c===void 0){if(a.defaultValue!==void 0)i[a.name]=a.defaultValue;else if(ae(a.type)){let u=A(a.type);r($t(n),t,new C(`Field "${a.name}" of required type "${u}" was not provided.`))}continue}i[a.name]=qi(c,a.type,r,Cp(n,a.name,e.name))}for(let a of Object.keys(t))if(!s[a]){let c=yc(a,Object.keys(e.getFields()));r($t(n),t,new C(`Field "${a}" is not defined by type "${e.name}".`+fc(c)))}return i}if(fr(e)){let i;try{i=e.parseValue(t)}catch(s){s instanceof C?r($t(n),t,s):r($t(n),t,new C(`Expected type "${e.name}". `+s.message,{originalError:s}));return}return i===void 0&&r($t(n),t,new C(`Expected type "${e.name}".`)),i}Tt(!1,"Unexpected input type: "+A(e))}o(qi,"coerceInputValueImpl");function Pt(t,e,r){if(t){if(t.kind===_.VARIABLE){let n=t.name.value;if(r==null||r[n]===void 0)return;let i=r[n];return i===null&&ae(e)?void 0:i}if(ae(e))return t.kind===_.NULL?void 0:Pt(t,e.ofType,r);if(t.kind===_.NULL)return null;if(Ve(e)){let n=e.ofType;if(t.kind===_.LIST){let s=[];for(let a of t.values)if(Tb(a,r)){if(ae(n))return;s.push(null)}else{let c=Pt(a,n,r);if(c===void 0)return;s.push(c)}return s}let i=Pt(t,n,r);return i===void 0?void 0:[i]}if(Pe(e)){if(t.kind!==_.OBJECT)return;let n=Object.create(null),i=Fn(t.fields,s=>s.name.value);for(let s of Object.values(e.getFields())){let a=i[s.name];if(!a||Tb(a.value,r)){if(s.defaultValue!==void 0)n[s.name]=s.defaultValue;else if(ae(s.type))return;continue}let c=Pt(a.value,s.type,r);if(c===void 0)return;n[s.name]=c}return n}if(fr(e)){let n;try{n=e.parseLiteral(t,r)}catch{return}return n===void 0?void 0:n}Tt(!1,"Unexpected input type: "+A(e))}}o(Pt,"valueFromAST");function Tb(t,e){return t.kind===_.VARIABLE&&(e==null||e[t.name.value]===void 0)}o(Tb,"isMissingVariable");function Uc(t,e,r,n){let i=[],s=n?.maxErrors;try{let a=iN(t,e,r,c=>{if(s!=null&&i.length>=s)throw new C("Too many errors processing variables, error limit reached. Execution aborted.");i.push(c)});if(i.length===0)return{coerced:a}}catch(a){i.push(a)}return{errors:i}}o(Uc,"getVariableValues");function iN(t,e,r,n){let i={};for(let s of e){let a=s.variable.name.value,c=yr(t,s.type);if(!Qe(c)){let l=De(s.type);n(new C(`Variable "$${a}" expected value of type "${l}" which cannot be used as an input type.`,{nodes:s.type}));continue}if(!Sb(r,a)){if(s.defaultValue)i[a]=Pt(s.defaultValue,c);else if(ae(c)){let l=A(c);n(new C(`Variable "$${a}" of required type "${l}" was not provided.`,{nodes:s}))}continue}let u=r[a];if(u===null&&ae(c)){let l=A(c);n(new C(`Variable "$${a}" of non-null type "${l}" must not be null.`,{nodes:s}));continue}i[a]=Lp(u,c,(l,d,p)=>{let m=`Variable "$${a}" got invalid value `+A(d);l.length>0&&(m+=` at "${a}${Dc(l)}"`),n(new C(m+"; "+p.message,{nodes:s,originalError:p}))})}return i}o(iN,"coerceVariableValues");function $i(t,e,r){var n;let i={},s=(n=e.arguments)!==null&&n!==void 0?n:[],a=Fn(s,c=>c.name.value);for(let c of t.args){let u=c.name,l=c.type,d=a[u];if(!d){if(c.defaultValue!==void 0)i[u]=c.defaultValue;else if(ae(l))throw new C(`Argument "${u}" of required type "${A(l)}" was not provided.`,{nodes:e});continue}let p=d.value,m=p.kind===_.NULL;if(p.kind===_.VARIABLE){let y=p.name.value;if(r==null||!Sb(r,y)){if(c.defaultValue!==void 0)i[u]=c.defaultValue;else if(ae(l))throw new C(`Argument "${u}" of required type "${A(l)}" was provided the variable "$${y}" which was not provided a runtime value.`,{nodes:p});continue}m=r[y]==null}if(m&&ae(l))throw new C(`Argument "${u}" of non-null type "${A(l)}" must not be null.`,{nodes:p});let f=Pt(p,l,r);if(f===void 0)throw new C(`Argument "${u}" has invalid value ${De(p)}.`,{nodes:p});i[u]=f}return i}o($i,"getArgumentValues");function ji(t,e,r){var n;let i=(n=e.directives)===null||n===void 0?void 0:n.find(s=>s.name.value===t.name);if(i)return $i(t,i,r)}o(ji,"getDirectiveValues");function Sb(t,e){return Object.prototype.hasOwnProperty.call(t,e)}o(Sb,"hasOwnProperty");var Mc=class{static{o(this,"ASTValidationContext")}constructor(e,r){this._ast=e,this._fragments=void 0,this._fragmentSpreads=new Map,this._recursivelyReferencedFragments=new Map,this._onError=r}get[Symbol.toStringTag](){return"ASTValidationContext"}reportError(e){this._onError(e)}getDocument(){return this._ast}getFragment(e){let r;if(this._fragments)r=this._fragments;else{r=Object.create(null);for(let n of this.getDocument().definitions)n.kind===_.FRAGMENT_DEFINITION&&(r[n.name.value]=n);this._fragments=r}return r[e]}getFragmentSpreads(e){let r=this._fragmentSpreads.get(e);if(!r){r=[];let n=[e],i;for(;i=n.pop();)for(let s of i.selections)s.kind===_.FRAGMENT_SPREAD?r.push(s):s.selectionSet&&n.push(s.selectionSet);this._fragmentSpreads.set(e,r)}return r}getRecursivelyReferencedFragments(e){let r=this._recursivelyReferencedFragments.get(e);if(!r){r=[];let n=Object.create(null),i=[e.selectionSet],s;for(;s=i.pop();)for(let a of this.getFragmentSpreads(s)){let c=a.name.value;if(n[c]!==!0){n[c]=!0;let u=this.getFragment(c);u&&(r.push(u),i.push(u.selectionSet))}}this._recursivelyReferencedFragments.set(e,r)}return r}},Ib=class extends Mc{static{o(this,"SDLValidationContext")}constructor(e,r,n){super(e,n),this._schema=r}get[Symbol.toStringTag](){return"SDLValidationContext"}getSchema(){return this._schema}},jn=class extends Mc{static{o(this,"ValidationContext")}constructor(e,r,n,i){super(r,i),this._schema=e,this._typeInfo=n,this._variableUsages=new Map,this._recursiveVariableUsages=new Map}get[Symbol.toStringTag](){return"ValidationContext"}getSchema(){return this._schema}getVariableUsages(e){let r=this._variableUsages.get(e);if(!r){let n=[],i=new gr(this._schema);pr(e,$n(i,{VariableDefinition:()=>!1,Variable(s){n.push({node:s,type:i.getInputType(),defaultValue:i.getDefaultValue()})}})),r=n,this._variableUsages.set(e,r)}return r}getRecursiveVariableUsages(e){let r=this._recursiveVariableUsages.get(e);if(!r){r=this.getVariableUsages(e);for(let n of this.getRecursivelyReferencedFragments(e))r=r.concat(this.getVariableUsages(n));this._recursiveVariableUsages.set(e,r)}return r}getType(){return this._typeInfo.getType()}getParentType(){return this._typeInfo.getParentType()}getInputType(){return this._typeInfo.getInputType()}getParentInputType(){return this._typeInfo.getParentInputType()}getFieldDef(){return this._typeInfo.getFieldDef()}getDirective(){return this._typeInfo.getDirective()}getArgument(){return this._typeInfo.getArgument()}getEnumValue(){return this._typeInfo.getEnumValue()}};function kc(t){let e={descriptions:!0,specifiedByUrl:!1,directiveIsRepeatable:!1,schemaDescription:!1,inputValueDeprecation:!1,...t},r=e.descriptions?"description":"",n=e.specifiedByUrl?"specifiedByURL":"",i=e.directiveIsRepeatable?"isRepeatable":"",s=e.schemaDescription?r:"";function a(c){return e.inputValueDeprecation?c:""}return o(a,"inputDeprecation"),`
116
116
  query IntrospectionQuery {
117
117
  __schema {
118
118
  ${s}
@@ -217,5 +217,5 @@ In some cases, you need to provide options to alter GraphQL's execution behavior
217
217
  }
218
218
  }
219
219
  }
220
- `}o(kc,"getIntrospectionQuery");function Fc(t,e){be(t)&&be(t.__schema)||B(!1,`Invalid or incomplete introspection result. Ensure that you are passing "data" property of introspection response and no "errors" was returned alongside: ${A(t)}.`);let r=t.__schema,n=St(r.types,E=>E.name,E=>m(E));for(let E of[...Tp,...Np])n[E.name]&&(n[E.name]=E);let i=r.queryType?d(r.queryType):null,s=r.mutationType?d(r.mutationType):null,a=r.subscriptionType?d(r.subscriptionType):null,c=r.directives?r.directives.map(Me):[];return new Hi({description:r.description,query:i,mutation:s,subscription:a,types:Object.values(n),directives:c,assumeValid:e?.assumeValid});function u(E){if(E.kind===X.LIST){let F=E.ofType;if(!F)throw new Error("Decorated type deeper than introspection query.");return new de(u(F))}if(E.kind===X.NON_NULL){let F=E.ofType;if(!F)throw new Error("Decorated type deeper than introspection query.");let Ye=u(F);return new $(Tc(Ye))}return l(E)}function l(E){let F=E.name;if(!F)throw new Error(`Unknown type reference: ${A(E)}.`);let Ye=n[F];if(!Ye)throw new Error(`Invalid or incomplete schema, unknown type: ${F}. Ensure that a full introspection query is used in order to build a client schema.`);return Ye}function d(E){return Ec(l(E))}function p(E){return wc(l(E))}function m(E){if(E!=null&&E.name!=null&&E.kind!=null)switch(E.kind){case X.SCALAR:return f(E);case X.OBJECT:return v(E);case X.INTERFACE:return T(E);case X.UNION:return I(E);case X.ENUM:return k(E);case X.INPUT_OBJECT:return j(E)}let F=A(E);throw new Error(`Invalid or incomplete introspection result. Ensure that a full introspection query is used in order to build a client schema: ${F}.`)}function f(E){return new ze({name:E.name,description:E.description,specifiedByURL:E.specifiedByURL})}function y(E){if(E.interfaces===null&&E.kind===X.INTERFACE)return[];if(!E.interfaces){let F=A(E);throw new Error(`Introspection result missing interfaces: ${F}.`)}return E.interfaces.map(p)}function v(E){return new xe({name:E.name,description:E.description,interfaces:()=>y(E),fields:()=>x(E)})}function T(E){return new Ft({name:E.name,description:E.description,interfaces:()=>y(E),fields:()=>x(E)})}function I(E){if(!E.possibleTypes){let F=A(E);throw new Error(`Introspection result missing possibleTypes: ${F}.`)}return new Ur({name:E.name,description:E.description,types:()=>E.possibleTypes.map(d)})}function k(E){if(!E.enumValues){let F=A(E);throw new Error(`Introspection result missing enumValues: ${F}.`)}return new It({name:E.name,description:E.description,values:St(E.enumValues,F=>F.name,F=>({description:F.description,deprecationReason:F.deprecationReason}))})}function j(E){if(!E.inputFields){let F=A(E);throw new Error(`Introspection result missing inputFields: ${F}.`)}return new Mr({name:E.name,description:E.description,fields:()=>ee(E.inputFields)})}function x(E){if(!E.fields)throw new Error(`Introspection result missing fields: ${A(E)}.`);return St(E.fields,F=>F.name,oe)}function oe(E){let F=u(E.type);if(!Ht(F)){let Ye=A(F);throw new Error(`Introspection must provide output type for fields, but received: ${Ye}.`)}if(!E.args){let Ye=A(E);throw new Error(`Introspection result missing field args: ${Ye}.`)}return{description:E.description,deprecationReason:E.deprecationReason,type:F,args:ee(E.args)}}function ee(E){return St(E,F=>F.name,fe)}function fe(E){let F=u(E.type);if(!Qe(F)){let Vi=A(F);throw new Error(`Introspection must provide input type for arguments, but received: ${Vi}.`)}let Ye=E.defaultValue!=null?Pt(hc(E.defaultValue),F):void 0;return{description:E.description,type:F,defaultValue:Ye,deprecationReason:E.deprecationReason}}function Me(E){if(!E.args){let F=A(E);throw new Error(`Introspection result missing directive args: ${F}.`)}if(!E.locations){let F=A(E);throw new Error(`Introspection result missing directive locations: ${F}.`)}return new dt({name:E.name,description:E.description,isRepeatable:E.isRepeatable,locations:E.locations.slice(),args:ee(E.args)})}}o(Fc,"buildClientSchema");function RN(t,e){return`The query exceeds the maximum complexity of ${t}. Actual complexity is ${e}`}o(RN,"queryComplexityMessage");function Ab(t){let e=new gr(t.schema),r=[],n=new jn(t.schema,t.query,e,s=>r.push(s)),i=new Dp(n,{maximumComplexity:t.maximumComplexity??1/0,estimators:t.estimators,variables:t.variables,operationName:t.operationName,context:t.context});if(pr(t.query,$n(e,i)),r.length)throw r.pop();return i.complexity}o(Ab,"getComplexity");var Dp=class{static{o(this,"QueryComplexity")}context;complexity;options;OperationDefinition;estimators;includeDirectiveDef;skipDirectiveDef;variableValues;requestContext;constructor(e,r){if(Number(r.maximumComplexity)<=0)throw new Error("Maximum query complexity must be a positive number");this.context=e,this.complexity=0,this.options=r,this.includeDirectiveDef=this.context.getSchema().getDirective("include")||void 0,this.skipDirectiveDef=this.context.getSchema().getDirective("skip")||void 0,this.estimators=r.estimators,this.variableValues={},this.requestContext=r.context,this.OperationDefinition={enter:this.onOperationDefinitionEnter,leave:this.onOperationDefinitionLeave}}onOperationDefinitionEnter(e){if(typeof this.options.operationName=="string"&&this.options.operationName!==e.name?.value)return;let{coerced:r,errors:n}=Uc(this.context.getSchema(),e.variableDefinitions?[...e.variableDefinitions]:[],this.options.variables??{});if(n&&n.length){n.forEach(s=>this.context.reportError(s));return}this.variableValues=r||{};let i=this.context.getSchema();switch(e.operation){case"query":{let s=i.getQueryType();if(!s)throw new Error("Schema does not define the required query root type");this.complexity+=this.nodeComplexity(e,s);break}case"mutation":{let s=i.getMutationType();if(!s)throw new Error("Schema does not define the required mutation root type");this.complexity+=this.nodeComplexity(e,s);break}case"subscription":{let s=i.getSubscriptionType();if(!s)throw new Error("Schema does not define the required mutation subscription type");this.complexity+=this.nodeComplexity(e,s);break}default:throw new Error(`Query complexity could not be calculated for operation of type ${e.operation}`)}}onOperationDefinitionLeave(e){if(!(typeof this.options.operationName=="string"&&this.options.operationName!==e.name?.value)&&(this.options.onComplete&&this.options.onComplete(this.complexity),this.complexity>this.options.maximumComplexity))return this.context.reportError(this.createError())}nodeComplexity(e,r){if(e.selectionSet){let n={};(r instanceof xe||r instanceof Ft)&&(n=r.getFields());let i;mr(r)?i=this.context.getSchema().getPossibleTypes(r).map(a=>a.name):i=[r.name];let s=e.selectionSet.selections.reduce((a,c)=>{let u=a,l=!0,d=!1;for(let p of c.directives??[])switch(p.name.value){case"include":{let f=this.includeDirectiveDef&&ji(this.includeDirectiveDef,c,this.variableValues||{});typeof f?.if=="boolean"&&(l=f.if);break}case"skip":{let f=this.skipDirectiveDef&&ji(this.skipDirectiveDef,c,this.variableValues||{});typeof f?.if=="boolean"&&(d=f.if);break}}if(!l||d)return a;switch(c.kind){case _.FIELD:{let p=n[c.name.value];if(!p)break;let m=lt(p.type),f;try{f=$i(p,c,this.variableValues||{})}catch(I){return this.context.reportError(I),a}let y=0;At(m)&&(y=this.nodeComplexity(c,m));let v={childComplexity:y,args:f,field:p,node:c,type:r,context:this.requestContext};if(!this.estimators.find(I=>{let k=I(v);return typeof k=="number"&&!isNaN(k)?(u=Vn(k,a,i),!0):!1}))return this.context.reportError(new C(`No complexity could be calculated for field ${r.name}.${p.name}. At least one complexity estimator has to return a complexity score.`)),a;break}case _.FRAGMENT_SPREAD:{let p=this.context.getFragment(c.name.value);if(!p)break;let m=this.context.getSchema().getType(p.typeCondition.name.value);if(!At(m))break;let f=this.nodeComplexity(p,m);mr(m)?u=Vn(f,a,this.context.getSchema().getPossibleTypes(m).map(y=>y.name)):u=Vn(f,a,[m.name]);break}case _.INLINE_FRAGMENT:{let p=r;if(c.typeCondition&&c.typeCondition.name&&(p=this.context.getSchema().getType(c.typeCondition.name.value)||p,!At(p)))break;let m=this.nodeComplexity(c,p);mr(p)?u=Vn(m,a,this.context.getSchema().getPossibleTypes(p).map(f=>f.name)):u=Vn(m,a,[p.name]);break}default:{u=Vn(this.nodeComplexity(c,r),a,i);break}}return u},{});return s?Math.max(...Object.values(s),0):NaN}return 0}createError(){return typeof this.options.createError=="function"?this.options.createError(this.options.maximumComplexity,this.complexity):new C(RN(this.options.maximumComplexity,this.complexity))}};function Vn(t,e,r){for(let n of r)Object.prototype.hasOwnProperty.call(e,n)?e[n]+=t:e[n]=t;return e}o(Vn,"addComplexities");function Pb(t){let e=t?.defaultComplexity??1;return r=>e+r.childComplexity}o(Pb,"simpleEstimator");var Rb=o((t,e,r={})=>{let{definitions:n}=t,i=ON(n),s=xN(n);return Object.entries(s).map(([a,c])=>Hc(c,i,0,e,a,r))},"depthLimit");function ON(t){return t.reduce((e,r)=>(r.kind===_.FRAGMENT_DEFINITION&&(e[r?.name?.value??""]=r),e),{})}o(ON,"getFragments");function xN(t){return t.reduce((e,r)=>{if(r.kind===_.OPERATION_DEFINITION){let n=r?.name?.value??"";e[n]=r}return e},{})}o(xN,"getQueriesAndMutations");function Hc(t,e,r,n,i,s){if(r>n)throw s?.onLimitReached?.(r,i),new C(`${i||"Your query"} exceeds maximum operation depth of ${n}`,{nodes:[t]});let a=s?.ignore??[/^__/];switch(t.kind){case _.FIELD:return NN(t,a)||!t.selectionSet?0:1+Math.max(...t.selectionSet.selections.map(c=>Hc(c,e,r+1,n,i,s)));case _.FRAGMENT_SPREAD:return Hc(e[t.name.value],e,r,n,i,s);case _.INLINE_FRAGMENT:case _.FRAGMENT_DEFINITION:case _.OPERATION_DEFINITION:return Math.max(...t.selectionSet.selections.map(c=>Hc(c,e,r,n,i,s)));default:throw new Error("uh oh! depth crawler cannot handle: "+t.kind)}}o(Hc,"determineDepth");var NN=o((t,e)=>e.find(r=>t.name.value.match(r)!==null)||!1,"isIgnored");var CN=o(async(t,e)=>{if(!e.complexityLimit)throw new Gn.ConfigurationError("No complexity maximum defined, you need to pass a maxComplexity to the policy");let n=e.endpointUrl;if(!n)throw new Gn.ConfigurationError("No GraphQL endpoint, you need to pass a endpointUrl to the policy");let i=kc(),c=(await(await fetch(n,{method:"POST",body:JSON.stringify({query:i}),headers:{"Content-Type":"application/json"}})).json()).data;if(!c||!c?.__schema)throw new C("GraphQL introspection query failed, enable introspection or pass a schema url in configuration.");let u=Fc(c,{assumeValid:!0}),l=Ab({estimators:[Pb({defaultComplexity:1})],schema:u,query:t,variables:{count:10}});if(e.complexityLimit&&l>e.complexityLimit)throw new C(`Query is too complex (${l}/${e.complexityLimit}), remove some fields and try again`)},"applyComplexityLimitPolicy"),LN=o(async(t,e)=>{let r=e.depthLimit;if(!r)throw new Gn.ConfigurationError("No maximum depth defined, you need to pass a maxDepth to the policy");return Math.max(...Rb(t,r))},"applyDepthLimitPolicy"),Ob=o(async(t,e,r)=>{let n=Gn.SystemLogMap.getLogger(e);try{let s=await t.clone().json(),a=pc(s.query);r.useDepthLimit&&await LN(a,r.useDepthLimit),r.useComplexityLimit&&await CN(a,r.useComplexityLimit)}catch(i){if(i instanceof C)return n.info(i),new Response(JSON.stringify(i.toJSON()),{status:400,headers:{"Content-Type":"application/json"}});throw i}return t},"GraphQLComplexityLimitInboundPolicy");var xb=Mp(Ot());function DN(t){if(!t)return!1;let e=t.replace(/\s/g,"");return e.includes("__schema")||e.includes("__type")}o(DN,"isIntrospectionQuery");var Nb=o(async(t,e,r)=>{let i=await t.clone().json();return DN(i.query)?xb.HttpProblems.forbidden(t,e,{detail:"Introspection queries are not allowed"}):t},"GraphQLDisableIntrospectionInboundPolicy");
220
+ `}o(kc,"getIntrospectionQuery");function Fc(t,e){be(t)&&be(t.__schema)||B(!1,`Invalid or incomplete introspection result. Ensure that you are passing "data" property of introspection response and no "errors" was returned alongside: ${A(t)}.`);let r=t.__schema,n=St(r.types,E=>E.name,E=>m(E));for(let E of[...Tp,...Np])n[E.name]&&(n[E.name]=E);let i=r.queryType?d(r.queryType):null,s=r.mutationType?d(r.mutationType):null,a=r.subscriptionType?d(r.subscriptionType):null,c=r.directives?r.directives.map(Me):[];return new Hi({description:r.description,query:i,mutation:s,subscription:a,types:Object.values(n),directives:c,assumeValid:e?.assumeValid});function u(E){if(E.kind===X.LIST){let F=E.ofType;if(!F)throw new Error("Decorated type deeper than introspection query.");return new de(u(F))}if(E.kind===X.NON_NULL){let F=E.ofType;if(!F)throw new Error("Decorated type deeper than introspection query.");let Ye=u(F);return new $(Tc(Ye))}return l(E)}function l(E){let F=E.name;if(!F)throw new Error(`Unknown type reference: ${A(E)}.`);let Ye=n[F];if(!Ye)throw new Error(`Invalid or incomplete schema, unknown type: ${F}. Ensure that a full introspection query is used in order to build a client schema.`);return Ye}function d(E){return Ec(l(E))}function p(E){return wc(l(E))}function m(E){if(E!=null&&E.name!=null&&E.kind!=null)switch(E.kind){case X.SCALAR:return f(E);case X.OBJECT:return v(E);case X.INTERFACE:return T(E);case X.UNION:return I(E);case X.ENUM:return k(E);case X.INPUT_OBJECT:return j(E)}let F=A(E);throw new Error(`Invalid or incomplete introspection result. Ensure that a full introspection query is used in order to build a client schema: ${F}.`)}function f(E){return new ze({name:E.name,description:E.description,specifiedByURL:E.specifiedByURL})}function y(E){if(E.interfaces===null&&E.kind===X.INTERFACE)return[];if(!E.interfaces){let F=A(E);throw new Error(`Introspection result missing interfaces: ${F}.`)}return E.interfaces.map(p)}function v(E){return new xe({name:E.name,description:E.description,interfaces:()=>y(E),fields:()=>N(E)})}function T(E){return new Ht({name:E.name,description:E.description,interfaces:()=>y(E),fields:()=>N(E)})}function I(E){if(!E.possibleTypes){let F=A(E);throw new Error(`Introspection result missing possibleTypes: ${F}.`)}return new Ur({name:E.name,description:E.description,types:()=>E.possibleTypes.map(d)})}function k(E){if(!E.enumValues){let F=A(E);throw new Error(`Introspection result missing enumValues: ${F}.`)}return new It({name:E.name,description:E.description,values:St(E.enumValues,F=>F.name,F=>({description:F.description,deprecationReason:F.deprecationReason}))})}function j(E){if(!E.inputFields){let F=A(E);throw new Error(`Introspection result missing inputFields: ${F}.`)}return new Mr({name:E.name,description:E.description,fields:()=>ee(E.inputFields)})}function N(E){if(!E.fields)throw new Error(`Introspection result missing fields: ${A(E)}.`);return St(E.fields,F=>F.name,oe)}function oe(E){let F=u(E.type);if(!qt(F)){let Ye=A(F);throw new Error(`Introspection must provide output type for fields, but received: ${Ye}.`)}if(!E.args){let Ye=A(E);throw new Error(`Introspection result missing field args: ${Ye}.`)}return{description:E.description,deprecationReason:E.deprecationReason,type:F,args:ee(E.args)}}function ee(E){return St(E,F=>F.name,fe)}function fe(E){let F=u(E.type);if(!Qe(F)){let Vi=A(F);throw new Error(`Introspection must provide input type for arguments, but received: ${Vi}.`)}let Ye=E.defaultValue!=null?Pt(hc(E.defaultValue),F):void 0;return{description:E.description,type:F,defaultValue:Ye,deprecationReason:E.deprecationReason}}function Me(E){if(!E.args){let F=A(E);throw new Error(`Introspection result missing directive args: ${F}.`)}if(!E.locations){let F=A(E);throw new Error(`Introspection result missing directive locations: ${F}.`)}return new dt({name:E.name,description:E.description,isRepeatable:E.isRepeatable,locations:E.locations.slice(),args:ee(E.args)})}}o(Fc,"buildClientSchema");function RN(t,e){return`The query exceeds the maximum complexity of ${t}. Actual complexity is ${e}`}o(RN,"queryComplexityMessage");function Ab(t){let e=new gr(t.schema),r=[],n=new jn(t.schema,t.query,e,s=>r.push(s)),i=new Dp(n,{maximumComplexity:t.maximumComplexity??1/0,estimators:t.estimators,variables:t.variables,operationName:t.operationName,context:t.context});if(pr(t.query,$n(e,i)),r.length)throw r.pop();return i.complexity}o(Ab,"getComplexity");var Dp=class{static{o(this,"QueryComplexity")}context;complexity;options;OperationDefinition;estimators;includeDirectiveDef;skipDirectiveDef;variableValues;requestContext;constructor(e,r){if(Number(r.maximumComplexity)<=0)throw new Error("Maximum query complexity must be a positive number");this.context=e,this.complexity=0,this.options=r,this.includeDirectiveDef=this.context.getSchema().getDirective("include")||void 0,this.skipDirectiveDef=this.context.getSchema().getDirective("skip")||void 0,this.estimators=r.estimators,this.variableValues={},this.requestContext=r.context,this.OperationDefinition={enter:this.onOperationDefinitionEnter,leave:this.onOperationDefinitionLeave}}onOperationDefinitionEnter(e){if(typeof this.options.operationName=="string"&&this.options.operationName!==e.name?.value)return;let{coerced:r,errors:n}=Uc(this.context.getSchema(),e.variableDefinitions?[...e.variableDefinitions]:[],this.options.variables??{});if(n&&n.length){n.forEach(s=>this.context.reportError(s));return}this.variableValues=r||{};let i=this.context.getSchema();switch(e.operation){case"query":{let s=i.getQueryType();if(!s)throw new Error("Schema does not define the required query root type");this.complexity+=this.nodeComplexity(e,s);break}case"mutation":{let s=i.getMutationType();if(!s)throw new Error("Schema does not define the required mutation root type");this.complexity+=this.nodeComplexity(e,s);break}case"subscription":{let s=i.getSubscriptionType();if(!s)throw new Error("Schema does not define the required mutation subscription type");this.complexity+=this.nodeComplexity(e,s);break}default:throw new Error(`Query complexity could not be calculated for operation of type ${e.operation}`)}}onOperationDefinitionLeave(e){if(!(typeof this.options.operationName=="string"&&this.options.operationName!==e.name?.value)&&(this.options.onComplete&&this.options.onComplete(this.complexity),this.complexity>this.options.maximumComplexity))return this.context.reportError(this.createError())}nodeComplexity(e,r){if(e.selectionSet){let n={};(r instanceof xe||r instanceof Ht)&&(n=r.getFields());let i;mr(r)?i=this.context.getSchema().getPossibleTypes(r).map(a=>a.name):i=[r.name];let s=e.selectionSet.selections.reduce((a,c)=>{let u=a,l=!0,d=!1;for(let p of c.directives??[])switch(p.name.value){case"include":{let f=this.includeDirectiveDef&&ji(this.includeDirectiveDef,c,this.variableValues||{});typeof f?.if=="boolean"&&(l=f.if);break}case"skip":{let f=this.skipDirectiveDef&&ji(this.skipDirectiveDef,c,this.variableValues||{});typeof f?.if=="boolean"&&(d=f.if);break}}if(!l||d)return a;switch(c.kind){case _.FIELD:{let p=n[c.name.value];if(!p)break;let m=lt(p.type),f;try{f=$i(p,c,this.variableValues||{})}catch(I){return this.context.reportError(I),a}let y=0;At(m)&&(y=this.nodeComplexity(c,m));let v={childComplexity:y,args:f,field:p,node:c,type:r,context:this.requestContext};if(!this.estimators.find(I=>{let k=I(v);return typeof k=="number"&&!isNaN(k)?(u=Vn(k,a,i),!0):!1}))return this.context.reportError(new C(`No complexity could be calculated for field ${r.name}.${p.name}. At least one complexity estimator has to return a complexity score.`)),a;break}case _.FRAGMENT_SPREAD:{let p=this.context.getFragment(c.name.value);if(!p)break;let m=this.context.getSchema().getType(p.typeCondition.name.value);if(!At(m))break;let f=this.nodeComplexity(p,m);mr(m)?u=Vn(f,a,this.context.getSchema().getPossibleTypes(m).map(y=>y.name)):u=Vn(f,a,[m.name]);break}case _.INLINE_FRAGMENT:{let p=r;if(c.typeCondition&&c.typeCondition.name&&(p=this.context.getSchema().getType(c.typeCondition.name.value)||p,!At(p)))break;let m=this.nodeComplexity(c,p);mr(p)?u=Vn(m,a,this.context.getSchema().getPossibleTypes(p).map(f=>f.name)):u=Vn(m,a,[p.name]);break}default:{u=Vn(this.nodeComplexity(c,r),a,i);break}}return u},{});return s?Math.max(...Object.values(s),0):NaN}return 0}createError(){return typeof this.options.createError=="function"?this.options.createError(this.options.maximumComplexity,this.complexity):new C(RN(this.options.maximumComplexity,this.complexity))}};function Vn(t,e,r){for(let n of r)Object.prototype.hasOwnProperty.call(e,n)?e[n]+=t:e[n]=t;return e}o(Vn,"addComplexities");function Pb(t){let e=t?.defaultComplexity??1;return r=>e+r.childComplexity}o(Pb,"simpleEstimator");var Rb=o((t,e,r={})=>{let{definitions:n}=t,i=ON(n),s=xN(n);return Object.entries(s).map(([a,c])=>Hc(c,i,0,e,a,r))},"depthLimit");function ON(t){return t.reduce((e,r)=>(r.kind===_.FRAGMENT_DEFINITION&&(e[r?.name?.value??""]=r),e),{})}o(ON,"getFragments");function xN(t){return t.reduce((e,r)=>{if(r.kind===_.OPERATION_DEFINITION){let n=r?.name?.value??"";e[n]=r}return e},{})}o(xN,"getQueriesAndMutations");function Hc(t,e,r,n,i,s){if(r>n)throw s?.onLimitReached?.(r,i),new C(`${i||"Your query"} exceeds maximum operation depth of ${n}`,{nodes:[t]});let a=s?.ignore??[/^__/];switch(t.kind){case _.FIELD:return NN(t,a)||!t.selectionSet?0:1+Math.max(...t.selectionSet.selections.map(c=>Hc(c,e,r+1,n,i,s)));case _.FRAGMENT_SPREAD:return Hc(e[t.name.value],e,r,n,i,s);case _.INLINE_FRAGMENT:case _.FRAGMENT_DEFINITION:case _.OPERATION_DEFINITION:return Math.max(...t.selectionSet.selections.map(c=>Hc(c,e,r,n,i,s)));default:throw new Error("uh oh! depth crawler cannot handle: "+t.kind)}}o(Hc,"determineDepth");var NN=o((t,e)=>e.find(r=>t.name.value.match(r)!==null)||!1,"isIgnored");var CN=o(async(t,e)=>{if(!e.complexityLimit)throw new Gn.ConfigurationError("No complexity maximum defined, you need to pass a maxComplexity to the policy");let n=e.endpointUrl;if(!n)throw new Gn.ConfigurationError("No GraphQL endpoint, you need to pass a endpointUrl to the policy");let i=kc(),c=(await(await fetch(n,{method:"POST",body:JSON.stringify({query:i}),headers:{"Content-Type":"application/json"}})).json()).data;if(!c||!c?.__schema)throw new C("GraphQL introspection query failed, enable introspection or pass a schema url in configuration.");let u=Fc(c,{assumeValid:!0}),l=Ab({estimators:[Pb({defaultComplexity:1})],schema:u,query:t,variables:{count:10}});if(e.complexityLimit&&l>e.complexityLimit)throw new C(`Query is too complex (${l}/${e.complexityLimit}), remove some fields and try again`)},"applyComplexityLimitPolicy"),LN=o(async(t,e)=>{let r=e.depthLimit;if(!r)throw new Gn.ConfigurationError("No maximum depth defined, you need to pass a maxDepth to the policy");return Math.max(...Rb(t,r))},"applyDepthLimitPolicy"),Ob=o(async(t,e,r)=>{let n=Gn.SystemLogMap.getLogger(e);try{let s=await t.clone().json(),a=pc(s.query);r.useDepthLimit&&await LN(a,r.useDepthLimit),r.useComplexityLimit&&await CN(a,r.useComplexityLimit)}catch(i){if(i instanceof C)return n.info(i),new Response(JSON.stringify(i.toJSON()),{status:400,headers:{"Content-Type":"application/json"}});throw i}return t},"GraphQLComplexityLimitInboundPolicy");var xb=Mp(Ot());function DN(t){if(!t)return!1;let e=t.replace(/\s/g,"");return e.includes("__schema")||e.includes("__type")}o(DN,"isIntrospectionQuery");var Nb=o(async(t,e,r)=>{let i=await t.clone().json();return DN(i.query)?xb.HttpProblems.forbidden(t,e,{detail:"Introspection queries are not allowed"}):t},"GraphQLDisableIntrospectionInboundPolicy");
221
221
  /*! For license information please see index.minified.js.LEGAL.txt */