@zuplo/graphql 5.1818.0 → 5.1819.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 +29 -29
  2. package/package.json +1 -1
package/index.minified.js CHANGED
@@ -22,17 +22,17 @@
22
22
  * DEALINGS IN THE SOFTWARE.
23
23
  *--------------------------------------------------------------------------------------------*/
24
24
 
25
- "use strict";var Fw=Object.create;var vi=Object.defineProperty;var Hw=Object.getOwnPropertyDescriptor;var qw=Object.getOwnPropertyNames;var $w=Object.getPrototypeOf,jw=Object.prototype.hasOwnProperty;var o=(t,e)=>vi(t,"name",{value:e,configurable:!0});var L=(t,e)=>()=>(t&&(e=t(t=0)),e);var _=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports),So=(t,e)=>{for(var r in e)vi(t,r,{get:e[r],enumerable:!0})},Eh=(t,e,r,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let i of qw(e))!jw.call(t,i)&&i!==r&&vi(t,i,{get:()=>e[i],enumerable:!(n=Hw(e,i))||n.enumerable});return t};var wh=(t,e,r)=>(r=t!=null?Fw($w(t)):{},Eh(e||!t||!t.__esModule?vi(r,"default",{value:t,enumerable:!0}):r,t)),Io=t=>Eh(vi({},"__esModule",{value:!0}),t);var k=_(At=>{"use strict";Object.defineProperty(At,"__esModule",{value:!0});At.FeatureNotEnabledError=At.ConfigurationError=At.RuntimeError=At.SystemError=void 0;var ku=class extends Error{static{o(this,"SystemError")}constructor(e,r){super(e,r),this.name="InternalError"}};At.SystemError=ku;var Ti=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"}};At.RuntimeError=Ti;var Fu=class extends Ti{static{o(this,"ConfigurationError")}constructor(e,r){super(e,r),this.name="ConfigurationError"}};At.ConfigurationError=Fu;var Hu=class extends Ti{static{o(this,"FeatureNotEnabledError")}constructor(e,r){super(e,r),this.name="FeatureNotEnabledError"}};At.FeatureNotEnabledError=Hu});var ie=_(Po=>{"use strict";Object.defineProperty(Po,"__esModule",{value:!0});Po.Environment=void 0;var Vw=k(),qu=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 Vw.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 meteringServiceUrl(){return this.config.metering_service_url??"https://meters.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"}};Po.Environment=qu});var Ih=_(Sh=>{"use strict";Object.defineProperty(Sh,"__esModule",{value:!0});var vh=ie();Function.prototype.toString=function(){return"[native code]"};var Ao=globalThis,Th=Ao.caches;if(Th){let t=Th.open;Ao.caches.open=function(e){let r=vh.Environment.instance.deploymentName??vh.Environment.instance.build.BUILD_ID;return t.call(this,`${r}-${e}`)},delete Ao.caches.default,Object.freeze(Ao.caches)}});var Vu=_(Ro=>{"use strict";Object.defineProperty(Ro,"__esModule",{value:!0});Ro.MemoryCache=void 0;var Bw=1e4,Gw=1e3,Ph=new Map,$u=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+Bw*1e3>e&&(this.purge(),this.#t=e)}purge(){let e=Date.now();this.#r.forEach((r,n)=>{r.expiresAt>=e&&this.#r.delete(n)})}},ju=class{static{o(this,"MemoryCache")}constructor(e,r={maxSize:Gw}){this.name=e;let n=Ph.get(e);n||(n=new $u(r),Ph.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()}};Ro.MemoryCache=ju});var No=_(Oo=>{"use strict";Object.defineProperty(Oo,"__esModule",{value:!0});Oo.ZoneCache=void 0;var Bu="__zuplo-expiry-header",Gu=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(Bu);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(Bu,`${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(Bu,`${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)}};Oo.ZoneCache=Gu});var nr=_(Co=>{"use strict";Object.defineProperty(Co,"__esModule",{value:!0});Co.MemoryZoneReadThroughCache=void 0;var Kw=Vu(),Jw=No(),Ku=class{static{o(this,"MemoryZoneReadThroughCache")}constructor(e,r){let n=`f6726488-fd18-4b7f-9c30-6070565e8042-${e}`;this.#e=e,this.#t=new Kw.MemoryCache(n),this.#r=new Jw.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},s=this.#r.put(e,i,n).catch(a=>{this.#n.log.error(`Error in MemoryZoneReadThroughCache: '${this.#e}'`,a)});this.#n.waitUntil(s)}};Co.MemoryZoneReadThroughCache=Ku});var un=_(M=>{"use strict";Object.defineProperty(M,"__esModule",{value:!0});M.DYNAMIC_METERS_CONTEXT_DATA=M.METERING_SUBSCRIPTION_CONTEXT_DATA=M.INTERNAL_HEADERS_TO_REMOVE=M.DISPATCH_HEADERS_TO_REMOVE=M.ZP_TIMEZONE_HEADER=M.ZP_REGION_CODE_HEADER=M.ZP_REGION_HEADER=M.ZP_METRO_CODE_HEADER=M.ZP_POSTAL_CODE_HEADER=M.ZP_COLO_HEADER=M.ZP_AS_ORG_HEADER=M.ZP_ASN_HEADER=M.TRUE_CLIENT_IP=M.ZP_IP_LATITUDE_HEADER=M.ZP_IP_LONGITUDE_HEADER=M.ZP_IP_COUNTRY_HEADER=M.ZP_IP_CONTINENT_HEADER=M.ZP_IP_CITY_HEADER=M.CF_IP_LATITUDE_HEADER=M.CF_IP_LONGITUDE_HEADER=M.CF_IP_COUNTRY_HEADER=M.CF_IP_CONTINENT_HEADER=M.CF_IP_CITY_HEADER=M.RAY_ID_HEADER=M.BODY_REMOVED_HEADER=M.REQUEST_ID_HEADER=M.LEGACY_REQUEST_ID_HEADER=void 0;M.LEGACY_REQUEST_ID_HEADER="zuplo-request-id";M.REQUEST_ID_HEADER="zp-rid";M.BODY_REMOVED_HEADER="zp-body-removed";M.RAY_ID_HEADER="cf-ray";M.CF_IP_CITY_HEADER="cf-ipcity";M.CF_IP_CONTINENT_HEADER="cf-ipcontinent";M.CF_IP_COUNTRY_HEADER="cf-ipcountry";M.CF_IP_LONGITUDE_HEADER="cf-iplongitude";M.CF_IP_LATITUDE_HEADER="cf-iplatitude";M.ZP_IP_CITY_HEADER="zp-ipcity";M.ZP_IP_CONTINENT_HEADER="zp-ipcontinent";M.ZP_IP_COUNTRY_HEADER="zp-ipcountry";M.ZP_IP_LONGITUDE_HEADER="zp-iplongitude";M.ZP_IP_LATITUDE_HEADER="zp-iplatitude";M.TRUE_CLIENT_IP="true-client-ip";M.ZP_ASN_HEADER="zp-asn";M.ZP_AS_ORG_HEADER="zp-asorg";M.ZP_COLO_HEADER="zp-colo";M.ZP_POSTAL_CODE_HEADER="zp-postalcode";M.ZP_METRO_CODE_HEADER="zp-metrocode";M.ZP_REGION_HEADER="zp-region";M.ZP_REGION_CODE_HEADER="zp-regioncode";M.ZP_TIMEZONE_HEADER="zp-timezone";M.DISPATCH_HEADERS_TO_REMOVE=[M.CF_IP_CITY_HEADER,M.CF_IP_CONTINENT_HEADER,M.CF_IP_COUNTRY_HEADER,M.CF_IP_LONGITUDE_HEADER,M.CF_IP_LATITUDE_HEADER,M.ZP_ASN_HEADER,M.ZP_AS_ORG_HEADER,M.ZP_COLO_HEADER,M.ZP_POSTAL_CODE_HEADER,M.ZP_METRO_CODE_HEADER,M.ZP_REGION_HEADER,M.ZP_REGION_CODE_HEADER,M.ZP_TIMEZONE_HEADER];M.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"];M.METERING_SUBSCRIPTION_CONTEXT_DATA="zuplo_meters_d7831150-6d8a-416d-b920-4a7bec209a49";M.DYNAMIC_METERS_CONTEXT_DATA="zuplo_dynamic_meters_0c8cdc26-2514-4756-8adb-474a6e103d91"});var Mh=_(N=>{"use strict";Object.defineProperty(N,"__esModule",{value:!0});N.generateColor=N.colorFunctions=N.stripColor=N.bgRgb24=N.rgb24=N.bgRgb8=N.rgb8=N.bgBrightWhite=N.bgBrightCyan=N.bgBrightMagenta=N.bgBrightBlue=N.bgBrightYellow=N.bgBrightGreen=N.bgBrightRed=N.bgBrightBlack=N.bgWhite=N.bgCyan=N.bgMagenta=N.bgBlue=N.bgYellow=N.bgGreen=N.bgRed=N.bgBlack=N.brightWhite=N.brightCyan=N.brightMagenta=N.brightBlue=N.brightYellow=N.brightGreen=N.brightRed=N.brightBlack=N.gray=N.white=N.cyan=N.magenta=N.blue=N.yellow=N.green=N.red=N.black=N.strikethrough=N.hidden=N.inverse=N.underline=N.italic=N.dim=N.bold=N.reset=N.getColorEnabled=N.setColorEnabled=void 0;var Ah=!0,Ju=!Ah;function zw(t){Ah||(Ju=t)}o(zw,"setColorEnabled");N.setColorEnabled=zw;function Ww(){return Ju}o(Ww,"getColorEnabled");N.getColorEnabled=Ww;function z(t,e){return{open:`\x1B[${t.join(";")}m`,close:`\x1B[${e}m`,regexp:new RegExp(`\\x1b\\[${e}m`,"g")}}o(z,"code");function W(t,e){return Ju?`${e.open}${t.replace(e.regexp,e.open)}${e.close}`:t}o(W,"run");function Qw(t){return W(t,z([0],0))}o(Qw,"reset");N.reset=Qw;function Yw(t){return W(t,z([1],22))}o(Yw,"bold");N.bold=Yw;function Zw(t){return W(t,z([2],22))}o(Zw,"dim");N.dim=Zw;function Xw(t){return W(t,z([3],23))}o(Xw,"italic");N.italic=Xw;function ev(t){return W(t,z([4],24))}o(ev,"underline");N.underline=ev;function tv(t){return W(t,z([7],27))}o(tv,"inverse");N.inverse=tv;function rv(t){return W(t,z([8],28))}o(rv,"hidden");N.hidden=rv;function nv(t){return W(t,z([9],29))}o(nv,"strikethrough");N.strikethrough=nv;function iv(t){return W(t,z([30],39))}o(iv,"black");N.black=iv;function Rh(t){return W(t,z([31],39))}o(Rh,"red");N.red=Rh;function Oh(t){return W(t,z([32],39))}o(Oh,"green");N.green=Oh;function Nh(t){return W(t,z([33],39))}o(Nh,"yellow");N.yellow=Nh;function Ch(t){return W(t,z([34],39))}o(Ch,"blue");N.blue=Ch;function xh(t){return W(t,z([35],39))}o(xh,"magenta");N.magenta=xh;function Lh(t){return W(t,z([36],39))}o(Lh,"cyan");N.cyan=Lh;function ov(t){return W(t,z([37],39))}o(ov,"white");N.white=ov;function sv(t){return Dh(t)}o(sv,"gray");N.gray=sv;function Dh(t){return W(t,z([90],39))}o(Dh,"brightBlack");N.brightBlack=Dh;function av(t){return W(t,z([91],39))}o(av,"brightRed");N.brightRed=av;function cv(t){return W(t,z([92],39))}o(cv,"brightGreen");N.brightGreen=cv;function uv(t){return W(t,z([93],39))}o(uv,"brightYellow");N.brightYellow=uv;function lv(t){return W(t,z([94],39))}o(lv,"brightBlue");N.brightBlue=lv;function dv(t){return W(t,z([95],39))}o(dv,"brightMagenta");N.brightMagenta=dv;function pv(t){return W(t,z([96],39))}o(pv,"brightCyan");N.brightCyan=pv;function fv(t){return W(t,z([97],39))}o(fv,"brightWhite");N.brightWhite=fv;function hv(t){return W(t,z([40],49))}o(hv,"bgBlack");N.bgBlack=hv;function mv(t){return W(t,z([41],49))}o(mv,"bgRed");N.bgRed=mv;function yv(t){return W(t,z([42],49))}o(yv,"bgGreen");N.bgGreen=yv;function gv(t){return W(t,z([43],49))}o(gv,"bgYellow");N.bgYellow=gv;function bv(t){return W(t,z([44],49))}o(bv,"bgBlue");N.bgBlue=bv;function _v(t){return W(t,z([45],49))}o(_v,"bgMagenta");N.bgMagenta=_v;function Ev(t){return W(t,z([46],49))}o(Ev,"bgCyan");N.bgCyan=Ev;function wv(t){return W(t,z([47],49))}o(wv,"bgWhite");N.bgWhite=wv;function vv(t){return W(t,z([100],49))}o(vv,"bgBrightBlack");N.bgBrightBlack=vv;function Tv(t){return W(t,z([101],49))}o(Tv,"bgBrightRed");N.bgBrightRed=Tv;function Sv(t){return W(t,z([102],49))}o(Sv,"bgBrightGreen");N.bgBrightGreen=Sv;function Iv(t){return W(t,z([103],49))}o(Iv,"bgBrightYellow");N.bgBrightYellow=Iv;function Pv(t){return W(t,z([104],49))}o(Pv,"bgBrightBlue");N.bgBrightBlue=Pv;function Av(t){return W(t,z([105],49))}o(Av,"bgBrightMagenta");N.bgBrightMagenta=Av;function Rv(t){return W(t,z([106],49))}o(Rv,"bgBrightCyan");N.bgBrightCyan=Rv;function Ov(t){return W(t,z([107],49))}o(Ov,"bgBrightWhite");N.bgBrightWhite=Ov;function ir(t,e=255,r=0){return Math.trunc(Math.max(Math.min(t,e),r))}o(ir,"clampAndTruncate");function Nv(t,e){return W(t,z([38,5,ir(e)],39))}o(Nv,"rgb8");N.rgb8=Nv;function Cv(t,e){return W(t,z([48,5,ir(e)],49))}o(Cv,"bgRgb8");N.bgRgb8=Cv;function xv(t,e){return typeof e=="number"?W(t,z([38,2,e>>16&255,e>>8&255,e&255],39)):W(t,z([38,2,ir(e.r),ir(e.g),ir(e.b)],39))}o(xv,"rgb24");N.rgb24=xv;function Lv(t,e){return typeof e=="number"?W(t,z([48,2,e>>16&255,e>>8&255,e&255],49)):W(t,z([48,2,ir(e.r),ir(e.g),ir(e.b)],49))}o(Lv,"bgRgb24");N.bgRgb24=Lv;var Dv=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 Mv(t){return t.replace(Dv,"")}o(Mv,"stripColor");N.stripColor=Mv;N.colorFunctions=[Rh,Oh,Nh,Ch,xh,Lh];function Uv(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(Uv,"hashCode");function kv(t){let e=Math.abs(Uv(t));return N.colorFunctions[e%N.colorFunctions.length]}o(kv,"generateColor");N.generateColor=kv});var Uh=_(xo=>{"use strict";Object.defineProperty(xo,"__esModule",{value:!0});xo.format=void 0;function Fv(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
- `).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(Fv,"format");xo.format=Fv});var jh=_(Do=>{"use strict";Object.defineProperty(Do,"__esModule",{value:!0});Do.inspect=void 0;function Ur(t,e,r,n){let i={seen:[],stylize:Hv,showHidden:e??!1,depth:r??2,colors:n??!1,customInspect:!0};return i.colors&&(i.stylize=$v),Lo(i,t,i.depth)}o(Ur,"inspect");Do.inspect=Ur;Ur.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]};Ur.styles={special:"cyan",number:"yellow",boolean:"yellow",undefined:"grey",null:"bold",string:"green",date:"magenta",regexp:"red"};function Hv(t,e){return t}o(Hv,"stylizeNoColor");function qv(t){return typeof t=="boolean"}o(qv,"isBoolean");function Fh(t){return t===void 0}o(Fh,"isUndefined");function $v(t,e){let r=Ur.styles[e];return r?"\x1B["+Ur.colors[r][0]+"m"+t+"\x1B["+Ur.colors[r][1]+"m":t}o($v,"stylizeWithColor");function zu(t){return typeof t=="function"}o(zu,"isFunction");function Hh(t){return typeof t=="string"}o(Hh,"isString");function jv(t){return typeof t=="number"}o(jv,"isNumber");function qh(t){return t===null}o(qh,"isNull");function $h(t,e){return Object.prototype.hasOwnProperty.call(t,e)}o($h,"hasOwn");function Wu(t){return Xu(t)&&el(t)==="[object RegExp]"}o(Wu,"isRegExp");function Xu(t){return typeof t=="object"&&t!==null}o(Xu,"isObject");function Qu(t){return Xu(t)&&(el(t)==="[object Error]"||t instanceof Error)}o(Qu,"isError");function kh(t){return Xu(t)&&el(t)==="[object Date]"}o(kh,"isDate");function el(t){return Object.prototype.toString.call(t)}o(el,"objectToString");function Vv(t){let e={};return t.forEach(function(r,n){e[r]=!0}),e}o(Vv,"arrayToHash");function Bv(t,e,r,n,i){let s=[];for(let a=0,c=e.length;a<c;++a)$h(e,String(a))?s.push(Zu(t,e,r,n,String(a),!0)):s.push("");return i.forEach(function(a){a.match(/^\d+$/)||s.push(Zu(t,e,r,n,a,!0))}),s}o(Bv,"formatArray");function Yu(t){return"["+Error.prototype.toString.call(t)+"]"}o(Yu,"formatError");function Lo(t,e,r){if(t.customInspect&&e&&zu(e.inspect)&&e.inspect!==Ur&&!(e.constructor&&e.constructor.prototype===e)){let d=e.inspect(r,t);return Hh(d)||(d=Lo(t,d,r)),d}let n=Gv(t,e);if(n)return n;let i=Object.keys(e),s=Vv(i);try{t.showHidden&&Object.getOwnPropertyNames&&(i=Object.getOwnPropertyNames(e))}catch{}if(Qu(e)&&(i.indexOf("message")>=0||i.indexOf("description")>=0))return Yu(e);if(i.length===0){if(zu(e)){let d=e.name?": "+e.name:"";return t.stylize("[Function"+d+"]","special")}if(Wu(e))return t.stylize(RegExp.prototype.toString.call(e),"regexp");if(kh(e))return t.stylize(Date.prototype.toString.call(e),"date");if(Qu(e))return Yu(e)}let a="",c=!1,u=["{","}"];if(Array.isArray(e)&&(c=!0,u=["[","]"]),zu(e)&&(a=" [Function"+(e.name?": "+e.name:"")+"]"),Wu(e)&&(a=" "+RegExp.prototype.toString.call(e)),kh(e)&&(a=" "+Date.prototype.toUTCString.call(e)),Qu(e)&&(a=" "+Yu(e)),i.length===0&&(!c||e.length==0))return u[0]+a+u[1];if(r<0)return Wu(e)?t.stylize(RegExp.prototype.toString.call(e),"regexp"):t.stylize("[Object]","special");t.seen.push(e);let l;return c?l=Bv(t,e,r,s,i):l=i.map(function(d){return Zu(t,e,r,s,d,c)}),t.seen.pop(),Kv(l,a,u)}o(Lo,"formatValue");function Zu(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")),$h(n,i)||(a="["+i+"]"),c||(t.seen.indexOf(u.value)<0?(qh(r)?c=Lo(t,u.value,null):c=Lo(t,u.value,r-1),c.indexOf(`
25
+ "use strict";var Hw=Object.create;var vi=Object.defineProperty;var qw=Object.getOwnPropertyDescriptor;var $w=Object.getOwnPropertyNames;var jw=Object.getPrototypeOf,Vw=Object.prototype.hasOwnProperty;var o=(t,e)=>vi(t,"name",{value:e,configurable:!0});var L=(t,e)=>()=>(t&&(e=t(t=0)),e);var _=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports),So=(t,e)=>{for(var r in e)vi(t,r,{get:e[r],enumerable:!0})},Eh=(t,e,r,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let i of $w(e))!Vw.call(t,i)&&i!==r&&vi(t,i,{get:()=>e[i],enumerable:!(n=qw(e,i))||n.enumerable});return t};var wh=(t,e,r)=>(r=t!=null?Hw(jw(t)):{},Eh(e||!t||!t.__esModule?vi(r,"default",{value:t,enumerable:!0}):r,t)),Io=t=>Eh(vi({},"__esModule",{value:!0}),t);var k=_(At=>{"use strict";Object.defineProperty(At,"__esModule",{value:!0});At.FeatureNotEnabledError=At.ConfigurationError=At.RuntimeError=At.SystemError=void 0;var ku=class extends Error{static{o(this,"SystemError")}constructor(e,r){super(e,r),this.name="InternalError"}};At.SystemError=ku;var Ti=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"}};At.RuntimeError=Ti;var Fu=class extends Ti{static{o(this,"ConfigurationError")}constructor(e,r){super(e,r),this.name="ConfigurationError"}};At.ConfigurationError=Fu;var Hu=class extends Ti{static{o(this,"FeatureNotEnabledError")}constructor(e,r){super(e,r),this.name="FeatureNotEnabledError"}};At.FeatureNotEnabledError=Hu});var ie=_(Po=>{"use strict";Object.defineProperty(Po,"__esModule",{value:!0});Po.Environment=void 0;var Bw=k(),qu=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 Bw.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 meteringServiceUrl(){return this.config.metering_service_url??"https://meters.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"}};Po.Environment=qu});var Ih=_(Sh=>{"use strict";Object.defineProperty(Sh,"__esModule",{value:!0});var vh=ie();Function.prototype.toString=function(){return"[native code]"};var Ao=globalThis,Th=Ao.caches;if(Th){let t=Th.open;Ao.caches.open=function(e){let r=vh.Environment.instance.deploymentName??vh.Environment.instance.build.BUILD_ID;return t.call(this,`${r}-${e}`)},delete Ao.caches.default,Object.freeze(Ao.caches)}});var Vu=_(Ro=>{"use strict";Object.defineProperty(Ro,"__esModule",{value:!0});Ro.MemoryCache=void 0;var Gw=1e4,Kw=1e3,Ph=new Map,$u=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+Gw*1e3>e&&(this.purge(),this.#t=e)}purge(){let e=Date.now();this.#r.forEach((r,n)=>{r.expiresAt>=e&&this.#r.delete(n)})}},ju=class{static{o(this,"MemoryCache")}constructor(e,r={maxSize:Kw}){this.name=e;let n=Ph.get(e);n||(n=new $u(r),Ph.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()}};Ro.MemoryCache=ju});var No=_(Oo=>{"use strict";Object.defineProperty(Oo,"__esModule",{value:!0});Oo.ZoneCache=void 0;var Bu="__zuplo-expiry-header",Gu=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(Bu);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(Bu,`${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(Bu,`${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)}};Oo.ZoneCache=Gu});var nr=_(Co=>{"use strict";Object.defineProperty(Co,"__esModule",{value:!0});Co.MemoryZoneReadThroughCache=void 0;var Jw=Vu(),zw=No(),Ku=class{static{o(this,"MemoryZoneReadThroughCache")}constructor(e,r){let n=`f6726488-fd18-4b7f-9c30-6070565e8042-${e}`;this.#e=e,this.#t=new Jw.MemoryCache(n),this.#r=new zw.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},s=this.#r.put(e,i,n).catch(a=>{this.#n.log.error(`Error in MemoryZoneReadThroughCache: '${this.#e}'`,a)});this.#n.waitUntil(s)}};Co.MemoryZoneReadThroughCache=Ku});var un=_(M=>{"use strict";Object.defineProperty(M,"__esModule",{value:!0});M.DYNAMIC_METERS_CONTEXT_DATA=M.METERING_SUBSCRIPTION_CONTEXT_DATA=M.INTERNAL_HEADERS_TO_REMOVE=M.DISPATCH_HEADERS_TO_REMOVE=M.ZP_TIMEZONE_HEADER=M.ZP_REGION_CODE_HEADER=M.ZP_REGION_HEADER=M.ZP_METRO_CODE_HEADER=M.ZP_POSTAL_CODE_HEADER=M.ZP_COLO_HEADER=M.ZP_AS_ORG_HEADER=M.ZP_ASN_HEADER=M.TRUE_CLIENT_IP=M.ZP_IP_LATITUDE_HEADER=M.ZP_IP_LONGITUDE_HEADER=M.ZP_IP_COUNTRY_HEADER=M.ZP_IP_CONTINENT_HEADER=M.ZP_IP_CITY_HEADER=M.CF_IP_LATITUDE_HEADER=M.CF_IP_LONGITUDE_HEADER=M.CF_IP_COUNTRY_HEADER=M.CF_IP_CONTINENT_HEADER=M.CF_IP_CITY_HEADER=M.RAY_ID_HEADER=M.BODY_REMOVED_HEADER=M.REQUEST_ID_HEADER=M.LEGACY_REQUEST_ID_HEADER=void 0;M.LEGACY_REQUEST_ID_HEADER="zuplo-request-id";M.REQUEST_ID_HEADER="zp-rid";M.BODY_REMOVED_HEADER="zp-body-removed";M.RAY_ID_HEADER="cf-ray";M.CF_IP_CITY_HEADER="cf-ipcity";M.CF_IP_CONTINENT_HEADER="cf-ipcontinent";M.CF_IP_COUNTRY_HEADER="cf-ipcountry";M.CF_IP_LONGITUDE_HEADER="cf-iplongitude";M.CF_IP_LATITUDE_HEADER="cf-iplatitude";M.ZP_IP_CITY_HEADER="zp-ipcity";M.ZP_IP_CONTINENT_HEADER="zp-ipcontinent";M.ZP_IP_COUNTRY_HEADER="zp-ipcountry";M.ZP_IP_LONGITUDE_HEADER="zp-iplongitude";M.ZP_IP_LATITUDE_HEADER="zp-iplatitude";M.TRUE_CLIENT_IP="true-client-ip";M.ZP_ASN_HEADER="zp-asn";M.ZP_AS_ORG_HEADER="zp-asorg";M.ZP_COLO_HEADER="zp-colo";M.ZP_POSTAL_CODE_HEADER="zp-postalcode";M.ZP_METRO_CODE_HEADER="zp-metrocode";M.ZP_REGION_HEADER="zp-region";M.ZP_REGION_CODE_HEADER="zp-regioncode";M.ZP_TIMEZONE_HEADER="zp-timezone";M.DISPATCH_HEADERS_TO_REMOVE=[M.CF_IP_CITY_HEADER,M.CF_IP_CONTINENT_HEADER,M.CF_IP_COUNTRY_HEADER,M.CF_IP_LONGITUDE_HEADER,M.CF_IP_LATITUDE_HEADER,M.ZP_ASN_HEADER,M.ZP_AS_ORG_HEADER,M.ZP_COLO_HEADER,M.ZP_POSTAL_CODE_HEADER,M.ZP_METRO_CODE_HEADER,M.ZP_REGION_HEADER,M.ZP_REGION_CODE_HEADER,M.ZP_TIMEZONE_HEADER];M.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"];M.METERING_SUBSCRIPTION_CONTEXT_DATA="zuplo_meters_d7831150-6d8a-416d-b920-4a7bec209a49";M.DYNAMIC_METERS_CONTEXT_DATA="zuplo_dynamic_meters_0c8cdc26-2514-4756-8adb-474a6e103d91"});var Mh=_(N=>{"use strict";Object.defineProperty(N,"__esModule",{value:!0});N.generateColor=N.colorFunctions=N.stripColor=N.bgRgb24=N.rgb24=N.bgRgb8=N.rgb8=N.bgBrightWhite=N.bgBrightCyan=N.bgBrightMagenta=N.bgBrightBlue=N.bgBrightYellow=N.bgBrightGreen=N.bgBrightRed=N.bgBrightBlack=N.bgWhite=N.bgCyan=N.bgMagenta=N.bgBlue=N.bgYellow=N.bgGreen=N.bgRed=N.bgBlack=N.brightWhite=N.brightCyan=N.brightMagenta=N.brightBlue=N.brightYellow=N.brightGreen=N.brightRed=N.brightBlack=N.gray=N.white=N.cyan=N.magenta=N.blue=N.yellow=N.green=N.red=N.black=N.strikethrough=N.hidden=N.inverse=N.underline=N.italic=N.dim=N.bold=N.reset=N.getColorEnabled=N.setColorEnabled=void 0;var Ah=!0,Ju=!Ah;function Ww(t){Ah||(Ju=t)}o(Ww,"setColorEnabled");N.setColorEnabled=Ww;function Qw(){return Ju}o(Qw,"getColorEnabled");N.getColorEnabled=Qw;function z(t,e){return{open:`\x1B[${t.join(";")}m`,close:`\x1B[${e}m`,regexp:new RegExp(`\\x1b\\[${e}m`,"g")}}o(z,"code");function W(t,e){return Ju?`${e.open}${t.replace(e.regexp,e.open)}${e.close}`:t}o(W,"run");function Yw(t){return W(t,z([0],0))}o(Yw,"reset");N.reset=Yw;function Zw(t){return W(t,z([1],22))}o(Zw,"bold");N.bold=Zw;function Xw(t){return W(t,z([2],22))}o(Xw,"dim");N.dim=Xw;function ev(t){return W(t,z([3],23))}o(ev,"italic");N.italic=ev;function tv(t){return W(t,z([4],24))}o(tv,"underline");N.underline=tv;function rv(t){return W(t,z([7],27))}o(rv,"inverse");N.inverse=rv;function nv(t){return W(t,z([8],28))}o(nv,"hidden");N.hidden=nv;function iv(t){return W(t,z([9],29))}o(iv,"strikethrough");N.strikethrough=iv;function ov(t){return W(t,z([30],39))}o(ov,"black");N.black=ov;function Rh(t){return W(t,z([31],39))}o(Rh,"red");N.red=Rh;function Oh(t){return W(t,z([32],39))}o(Oh,"green");N.green=Oh;function Nh(t){return W(t,z([33],39))}o(Nh,"yellow");N.yellow=Nh;function Ch(t){return W(t,z([34],39))}o(Ch,"blue");N.blue=Ch;function xh(t){return W(t,z([35],39))}o(xh,"magenta");N.magenta=xh;function Lh(t){return W(t,z([36],39))}o(Lh,"cyan");N.cyan=Lh;function sv(t){return W(t,z([37],39))}o(sv,"white");N.white=sv;function av(t){return Dh(t)}o(av,"gray");N.gray=av;function Dh(t){return W(t,z([90],39))}o(Dh,"brightBlack");N.brightBlack=Dh;function cv(t){return W(t,z([91],39))}o(cv,"brightRed");N.brightRed=cv;function uv(t){return W(t,z([92],39))}o(uv,"brightGreen");N.brightGreen=uv;function lv(t){return W(t,z([93],39))}o(lv,"brightYellow");N.brightYellow=lv;function dv(t){return W(t,z([94],39))}o(dv,"brightBlue");N.brightBlue=dv;function pv(t){return W(t,z([95],39))}o(pv,"brightMagenta");N.brightMagenta=pv;function fv(t){return W(t,z([96],39))}o(fv,"brightCyan");N.brightCyan=fv;function hv(t){return W(t,z([97],39))}o(hv,"brightWhite");N.brightWhite=hv;function mv(t){return W(t,z([40],49))}o(mv,"bgBlack");N.bgBlack=mv;function yv(t){return W(t,z([41],49))}o(yv,"bgRed");N.bgRed=yv;function gv(t){return W(t,z([42],49))}o(gv,"bgGreen");N.bgGreen=gv;function bv(t){return W(t,z([43],49))}o(bv,"bgYellow");N.bgYellow=bv;function _v(t){return W(t,z([44],49))}o(_v,"bgBlue");N.bgBlue=_v;function Ev(t){return W(t,z([45],49))}o(Ev,"bgMagenta");N.bgMagenta=Ev;function wv(t){return W(t,z([46],49))}o(wv,"bgCyan");N.bgCyan=wv;function vv(t){return W(t,z([47],49))}o(vv,"bgWhite");N.bgWhite=vv;function Tv(t){return W(t,z([100],49))}o(Tv,"bgBrightBlack");N.bgBrightBlack=Tv;function Sv(t){return W(t,z([101],49))}o(Sv,"bgBrightRed");N.bgBrightRed=Sv;function Iv(t){return W(t,z([102],49))}o(Iv,"bgBrightGreen");N.bgBrightGreen=Iv;function Pv(t){return W(t,z([103],49))}o(Pv,"bgBrightYellow");N.bgBrightYellow=Pv;function Av(t){return W(t,z([104],49))}o(Av,"bgBrightBlue");N.bgBrightBlue=Av;function Rv(t){return W(t,z([105],49))}o(Rv,"bgBrightMagenta");N.bgBrightMagenta=Rv;function Ov(t){return W(t,z([106],49))}o(Ov,"bgBrightCyan");N.bgBrightCyan=Ov;function Nv(t){return W(t,z([107],49))}o(Nv,"bgBrightWhite");N.bgBrightWhite=Nv;function ir(t,e=255,r=0){return Math.trunc(Math.max(Math.min(t,e),r))}o(ir,"clampAndTruncate");function Cv(t,e){return W(t,z([38,5,ir(e)],39))}o(Cv,"rgb8");N.rgb8=Cv;function xv(t,e){return W(t,z([48,5,ir(e)],49))}o(xv,"bgRgb8");N.bgRgb8=xv;function Lv(t,e){return typeof e=="number"?W(t,z([38,2,e>>16&255,e>>8&255,e&255],39)):W(t,z([38,2,ir(e.r),ir(e.g),ir(e.b)],39))}o(Lv,"rgb24");N.rgb24=Lv;function Dv(t,e){return typeof e=="number"?W(t,z([48,2,e>>16&255,e>>8&255,e&255],49)):W(t,z([48,2,ir(e.r),ir(e.g),ir(e.b)],49))}o(Dv,"bgRgb24");N.bgRgb24=Dv;var Mv=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 Uv(t){return t.replace(Mv,"")}o(Uv,"stripColor");N.stripColor=Uv;N.colorFunctions=[Rh,Oh,Nh,Ch,xh,Lh];function kv(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(kv,"hashCode");function Fv(t){let e=Math.abs(kv(t));return N.colorFunctions[e%N.colorFunctions.length]}o(Fv,"generateColor");N.generateColor=Fv});var Uh=_(xo=>{"use strict";Object.defineProperty(xo,"__esModule",{value:!0});xo.format=void 0;function Hv(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
+ `).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(Hv,"format");xo.format=Hv});var jh=_(Do=>{"use strict";Object.defineProperty(Do,"__esModule",{value:!0});Do.inspect=void 0;function Ur(t,e,r,n){let i={seen:[],stylize:qv,showHidden:e??!1,depth:r??2,colors:n??!1,customInspect:!0};return i.colors&&(i.stylize=jv),Lo(i,t,i.depth)}o(Ur,"inspect");Do.inspect=Ur;Ur.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]};Ur.styles={special:"cyan",number:"yellow",boolean:"yellow",undefined:"grey",null:"bold",string:"green",date:"magenta",regexp:"red"};function qv(t,e){return t}o(qv,"stylizeNoColor");function $v(t){return typeof t=="boolean"}o($v,"isBoolean");function Fh(t){return t===void 0}o(Fh,"isUndefined");function jv(t,e){let r=Ur.styles[e];return r?"\x1B["+Ur.colors[r][0]+"m"+t+"\x1B["+Ur.colors[r][1]+"m":t}o(jv,"stylizeWithColor");function zu(t){return typeof t=="function"}o(zu,"isFunction");function Hh(t){return typeof t=="string"}o(Hh,"isString");function Vv(t){return typeof t=="number"}o(Vv,"isNumber");function qh(t){return t===null}o(qh,"isNull");function $h(t,e){return Object.prototype.hasOwnProperty.call(t,e)}o($h,"hasOwn");function Wu(t){return Xu(t)&&el(t)==="[object RegExp]"}o(Wu,"isRegExp");function Xu(t){return typeof t=="object"&&t!==null}o(Xu,"isObject");function Qu(t){return Xu(t)&&(el(t)==="[object Error]"||t instanceof Error)}o(Qu,"isError");function kh(t){return Xu(t)&&el(t)==="[object Date]"}o(kh,"isDate");function el(t){return Object.prototype.toString.call(t)}o(el,"objectToString");function Bv(t){let e={};return t.forEach(function(r,n){e[r]=!0}),e}o(Bv,"arrayToHash");function Gv(t,e,r,n,i){let s=[];for(let a=0,c=e.length;a<c;++a)$h(e,String(a))?s.push(Zu(t,e,r,n,String(a),!0)):s.push("");return i.forEach(function(a){a.match(/^\d+$/)||s.push(Zu(t,e,r,n,a,!0))}),s}o(Gv,"formatArray");function Yu(t){return"["+Error.prototype.toString.call(t)+"]"}o(Yu,"formatError");function Lo(t,e,r){if(t.customInspect&&e&&zu(e.inspect)&&e.inspect!==Ur&&!(e.constructor&&e.constructor.prototype===e)){let d=e.inspect(r,t);return Hh(d)||(d=Lo(t,d,r)),d}let n=Kv(t,e);if(n)return n;let i=Object.keys(e),s=Bv(i);try{t.showHidden&&Object.getOwnPropertyNames&&(i=Object.getOwnPropertyNames(e))}catch{}if(Qu(e)&&(i.indexOf("message")>=0||i.indexOf("description")>=0))return Yu(e);if(i.length===0){if(zu(e)){let d=e.name?": "+e.name:"";return t.stylize("[Function"+d+"]","special")}if(Wu(e))return t.stylize(RegExp.prototype.toString.call(e),"regexp");if(kh(e))return t.stylize(Date.prototype.toString.call(e),"date");if(Qu(e))return Yu(e)}let a="",c=!1,u=["{","}"];if(Array.isArray(e)&&(c=!0,u=["[","]"]),zu(e)&&(a=" [Function"+(e.name?": "+e.name:"")+"]"),Wu(e)&&(a=" "+RegExp.prototype.toString.call(e)),kh(e)&&(a=" "+Date.prototype.toUTCString.call(e)),Qu(e)&&(a=" "+Yu(e)),i.length===0&&(!c||e.length==0))return u[0]+a+u[1];if(r<0)return Wu(e)?t.stylize(RegExp.prototype.toString.call(e),"regexp"):t.stylize("[Object]","special");t.seen.push(e);let l;return c?l=Gv(t,e,r,s,i):l=i.map(function(d){return Zu(t,e,r,s,d,c)}),t.seen.pop(),Jv(l,a,u)}o(Lo,"formatValue");function Zu(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")),$h(n,i)||(a="["+i+"]"),c||(t.seen.indexOf(u.value)<0?(qh(r)?c=Lo(t,u.value,null):c=Lo(t,u.value,r-1),c.indexOf(`
27
27
  `)>-1&&(s?c=c.split(`
28
28
  `).map(function(l){return" "+l}).join(`
29
29
  `).substr(2):c=`
30
30
  `+c.split(`
31
31
  `).map(function(l){return" "+l}).join(`
32
- `))):c=t.stylize("[Circular]","special")),Fh(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(Zu,"formatProperty");function Gv(t,e){if(Fh(e))return t.stylize("undefined","undefined");if(Hh(e)){let r="'"+JSON.stringify(e).replace(/^"|"$/g,"").replace(/'/g,"\\'").replace(/\\"/g,'"')+"'";return t.stylize(r,"string")}if(jv(e))return t.stylize(""+e,"number");if(qv(e))return t.stylize(""+e,"boolean");if(qh(e))return t.stylize("null","null")}o(Gv,"formatPrimitive");function Kv(t,e,r){let n=0;return t.reduce(function(s,a){return n++,a.indexOf(`
32
+ `))):c=t.stylize("[Circular]","special")),Fh(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(Zu,"formatProperty");function Kv(t,e){if(Fh(e))return t.stylize("undefined","undefined");if(Hh(e)){let r="'"+JSON.stringify(e).replace(/^"|"$/g,"").replace(/'/g,"\\'").replace(/\\"/g,'"')+"'";return t.stylize(r,"string")}if(Vv(e))return t.stylize(""+e,"number");if($v(e))return t.stylize(""+e,"boolean");if(qh(e))return t.stylize("null","null")}o(Kv,"formatPrimitive");function Jv(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(Kv,"reduceToSingleString")});var Vh=_(Mo=>{"use strict";Object.defineProperty(Mo,"__esModule",{value:!0});Mo.format=void 0;var Jv=Uh(),zv=jh(),Wv=o((t,...e)=>(0,Jv.format)(zv.inspect,t,e),"format");Mo.format=Wv});var kr=_(or=>{"use strict";Object.defineProperty(or,"__esModule",{value:!0});or.debug=or.withoutEnv=or.Debugger=void 0;var Qv=Mh(),Yv=Vh(),Uo=class{static{o(this,"Debugger")}manager;ns;color;last;enabled;constructor(e,r){this.manager=e,this.ns=r,this.color=(0,Qv.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,Yv.format)(r,...e);let s=`${this.color(this.ns)} ${r} ${this.color(`+${i}ms`)}`;console.log(s),this.last=Date.now()}};or.Debugger=Uo;var ko=class{static{o(this,"DebugManager")}debuggers;enabled;constructor(e){this.debuggers=new Map,this.enabled=e??[]}};function Bh(t){return!t||t.length===0?[]:(t=t.replace(/\s/g,"").replace(/\*/g,".+"),t.split(",").map(e=>new RegExp(`^${e}$`)))}o(Bh,"extract");var Si;function Zv(t){t||(t=[]),typeof t=="string"&&(t=Bh(t)),Si=new ko(t)}o(Zv,"withoutEnv");or.withoutEnv=Zv;function Xv(t){let e=globalThis.DEBUG;Si||(Si=new ko(Bh(e)));let r=new Uo(Si,t);return Si.debuggers.set(t,r),Object.assign(r.log.bind(r),{self:r})}o(Xv,"debug");or.debug=Xv});var Ho=_(ln=>{"use strict";Object.defineProperty(ln,"__esModule",{value:!0});ln.ProblemResponseFormatter=ln.InternalProblemResponseFormatter=void 0;var eT=k(),Fo=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 eT.RuntimeError("Error in custom 'problemResponseFormat'",{cause:s})}})}};ln.InternalProblemResponseFormatter=Fo;var tl=class{static{o(this,"ProblemResponseFormatter")}static async format(e,r,n){return await Fo.problemResponseFormat(e,r,n)}};ln.ProblemResponseFormatter=tl});var Kh=_(qo=>{"use strict";Object.defineProperty(qo,"__esModule",{value:!0});qo.deepFreeze=void 0;function Gh(t){for(let e in t){let r=t[e];r&&typeof r=="object"&&Gh(r)}return Object.freeze(t)}o(Gh,"deepFreeze");qo.deepFreeze=Gh});var Ge=_($o=>{"use strict";Object.defineProperty($o,"__esModule",{value:!0});$o.ZuploRequest=void 0;var Jh=Kh(),rl=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){let e={},r=new URL(this.url).searchParams;for(let[n,i]of r.entries())e[n]=i;this.#e=e}return(0,Jh.deepFreeze)(this.#e)}get params(){return(0,Jh.deepFreeze)(this.#t)}user};$o.ZuploRequest=rl});var Rt=_(Se=>{"use strict";Object.defineProperty(Se,"__esModule",{value:!0});Se.initializeRuntime=Se.invokeOnResponseSendingFinalExtensions=Se.invokeOnResponseSendingExtensions=Se.invokeOnRequestExtensions=Se.plugins=Se.runtimeExtensions=Se.SystemRuntimePlugin=Se.RuntimePlugin=void 0;var zh=k(),tT=Ho(),rT=Ge(),Vo=class{static{o(this,"RuntimePlugin")}};Se.RuntimePlugin=Vo;var Bo=class extends Vo{static{o(this,"SystemRuntimePlugin")}async initialize(e){return Promise.resolve()}registerRoutes(e,r){}};Se.SystemRuntimePlugin=Bo;Se.runtimeExtensions={};var nl=[];Se.plugins=nl;var Wh=[],Qh=[],Yh=[],jo={addPlugin(t){nl.push(t)},addRequestHook(t){Wh.push(t)},addResponseSendingHook(t){Qh.push(t)},addResponseSendingFinalHook(t){Yh.push(t)}},nT=o(async(t,e)=>{let r=t;for(let n of Wh){let i=await n(r,e);if(i instanceof rT.ZuploRequest)r=i;else{if(i instanceof Response)return i;throw new zh.ConfigurationError(`Invalid state - the OnRequest hook must return a ZuploRequest or Response. Received ${typeof r}.`)}}return r},"invokeOnRequestExtensions");Se.invokeOnRequestExtensions=nT;var iT=o(async(t,e,r)=>{let n=t;for(let i of Qh){let s=await i(t,e,r);if(s instanceof Response)n=s;else throw new zh.ConfigurationError(`Invalid state - the OnResponseSending hook must return a Response. Received ${typeof n}.`)}return n},"invokeOnResponseSendingExtensions");Se.invokeOnResponseSendingExtensions=iT;var oT=o(async(t,e,r)=>{for(let n of Yh)await n(t,e,r)},"invokeOnResponseSendingFinalExtensions");Se.invokeOnResponseSendingFinalExtensions=oT;async function sT(t=()=>Promise.resolve()){await t(jo),Se.runtimeExtensions.value=jo;for(let e of nl)e instanceof Bo&&await e.initialize(jo);tT.InternalProblemResponseFormatter.setProblemResponseFormat(jo.problemResponseFormat)}o(sT,"initializeRuntime");Se.initializeRuntime=sT});var il=_(sr=>{"use strict";Object.defineProperty(sr,"__esModule",{value:!0});sr.serialize=sr.ContentTypes=void 0;sr.ContentTypes={Json:"application/json",Form:"application/x-www-form-urlencoded"};function aT(t,e){if(t!==null)return e&&typeof t=="string"?t:typeof t=="object"&&e?.startsWith(sr.ContentTypes.Form)?new URLSearchParams(t).toString():typeof t=="object"&&e?.startsWith(sr.ContentTypes.Json)||!e?JSON.stringify(t):t}o(aT,"serialize");sr.serialize=aT});var ol=_(Go=>{"use strict";Object.defineProperty(Go,"__esModule",{value:!0});Go.isSystemRoute=void 0;var Zh=Fr();function cT(t){return Zh.Gateway.instance.runtimeSettings.developerPortal.enabled&&t.pathname.startsWith(Zh.Gateway.instance.runtimeSettings.developerPortal.sitePathname)||t.pathname.startsWith("/__zuplo/")}o(cT,"isSystemRoute");Go.isSystemRoute=cT});var Bt=_(Ko=>{"use strict";Object.defineProperty(Ko,"__esModule",{value:!0});Ko.Pipeline=void 0;var sl=Hr(),Xh=Rt(),uT=il(),lT=ie(),dT=ol(),al=class{static{o(this,"Pipeline")}constructor(e){this.execute=this.#t(e)}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=({processors:e,gateway:r,handler:n})=>async(i,s)=>{let a=[...e],c=o(async b=>{let v=a.pop();return v?v(i,s,r,c):await this.#e(async g=>{let S=await n(g,s);return pT(S)},r)(b,s)},"nextPipe"),l=await c(i),d=new URL(i.url);if((0,dT.isSystemRoute)(d)&&lT.Environment.instance.build.COMPATIBILITY_FLAGS.doNotRunHooksOnSystemRoutes)return l;let p=new sl.ResponseSendingEvent(i,l);s.dispatchEvent(p);let f=sl.ZuploContextExtensions.getContextExtensions(s),h=f.latestRequest,m;try{m=await p.mutableResponse}catch(b){return s.log.error(b),r.errorHandler(i,s,b)}try{m=await f.onResponseSending(m,h,s)}catch(b){return s.log.error(`Error invoking 'context.onResponseSending' hook: '${b.message}'`,b),r.errorHandler(i,s,b)}try{m=await(0,Xh.invokeOnResponseSendingExtensions)(m,h,s)}catch(b){return s.log.error(`Error invoking 'context.onResponseSending' hook: '${b.message}'`,b),r.errorHandler(i,s,b)}s.dispatchEvent(new sl.ResponseSentEvent(i,m));try{await f.onResponseSendingFinal(l,h,s)}catch(b){throw s.log.error(`Error invoking 'runtime.onResponseSending' hook: '${b.message}'`,b),b}try{await(0,Xh.invokeOnResponseSendingFinalExtensions)(l,h,s)}catch(b){throw s.log.error(`Error invoking 'runtime.onResponseSending' hook: '${b.message}'`,b),b}return m}};Ko.Pipeline=al;function pT(t){return t instanceof Response?t:typeof t>"u"?new Response:new Response((0,uT.serialize)(t),{headers:{"content-type":"application/json"}})}o(pT,"resultToResponse")});var zo=_(Jo=>{"use strict";Object.defineProperty(Jo,"__esModule",{value:!0});Jo.MetricsPlugin=void 0;var fT=Rt(),cl=class extends fT.RuntimePlugin{static{o(this,"MetricsPlugin")}};Jo.MetricsPlugin=cl});var Ze=_(Wo=>{"use strict";Object.defineProperty(Wo,"__esModule",{value:!0});Wo.SystemLogMap=void 0;var hT=k(),ul=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 hT.SystemError(n)}return r}static addLogger(e,r){t.#e.set(e,r)}};Wo.SystemLogMap=ul});var Ne=_(Qo=>{"use strict";Object.defineProperty(Qo,"__esModule",{value:!0});Qo.BatchDispatch=void 0;var ll=class{static{o(this,"BatchDispatch")}constructor(e,r,n,i){this.#t=e,this.#o=r,this.#n=n,this.#r=i??console}#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.error(`Uncaught error in BatchDispatcher named '${this.#t}'}`,i.message,i.stack)}).finally(()=>{r()})}},this.#o)}))};waitUntilFlushed=async()=>{if(this.#e)return this.#e}};Qo.BatchDispatch=ll});var tm=_(Zo=>{"use strict";Object.defineProperty(Zo,"__esModule",{value:!0});Zo.EllieMetricsTransport=void 0;var em=Ze(),mT=Ne(),Yo=ie(),dl=class{static{o(this,"EllieMetricsTransport")}#e;#t;#r;constructor(e){this.#r=Yo.Environment.instance.loggingId,this.#e=e,this.#t=new mT.BatchDispatch("ellie-metrics-transport",10,this.dispatchFunction,em.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}=Yo.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":Yo.Environment.instance.deploymentName??"unknown","user-agent":Yo.Environment.instance.systemUserAgent}});if(!c.ok){let u=await c.text();em.SystemLogMap.getLogger(this.#e).error(`Metrics POST responded ${c.status}: ${c.statusText}`,u)}}}};Zo.EllieMetricsTransport=dl});var mt=_(qr=>{"use strict";Object.defineProperty(qr,"__esModule",{value:!0});qr.systemNoVersion=qr.SystemRouteConfiguration=void 0;var pl=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=qr.systemNoVersion.name,this.handler={export:"SYSTEM_IGNORED",module:"SYSTEM_IGNORED"},this.systemRouteName=i}label;path;methods;handler;corsPolicy;version;policies;systemRouteName;raw(){return{}}};qr.SystemRouteConfiguration=pl;qr.systemNoVersion={name:"__system-no-version",pathPrefix:""}});var ar=_(Xo=>{"use strict";Object.defineProperty(Xo,"__esModule",{value:!0});Xo.metricsProcessor=void 0;var rm=un(),yT=Hr(),gT=Rt(),bT=zo(),_T=tm(),ET=mt(),wT=o(async(t,e,r,n)=>{let i=new Date,s=Date.now(),a=await n(t),c=t.headers.get(rm.RAY_ID_HEADER)??void 0,u=t.headers.get(rm.TRUE_CLIENT_IP)??void 0,l=e.incomingRequestProperties,d;e.route instanceof ET.SystemRouteConfiguration&&(d=e.route.systemRouteName);let p=yT.ZuploContextExtensions.getContextExtensions(e).latestRequest,f={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},h=[];return h.push(new _T.EllieMetricsTransport(e)),gT.plugins.forEach(m=>{if(m instanceof bT.MetricsPlugin){let b=m.getTransport();h.push(b)}}),h.forEach(m=>{m.pushMetrics(f,e)}),a},"metricsProcessor");Xo.metricsProcessor=wT});var fl=_(es=>{"use strict";Object.defineProperty(es,"__esModule",{value:!0});es.SystemRouteName=void 0;var nm;(function(t){t.Build="build-data",t.CorsPreflight="cors-preflight",t.DeveloperPortal="developer-portal",t.DeveloperPortalLegacy="developer-portal-legacy",t.StripePlugin="stripe-plugin",t.EmptyGatewayCatchall="empty-gateway-catchall",t.Ping="ping",t.UnmatchedPath="unmatched-path"})(nm||(es.SystemRouteName=nm={}))});var om=_(im=>{"use strict";Object.defineProperty(im,"__esModule",{value:!0})});var $r=_(cr=>{"use strict";var vT=cr&&cr.__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]}),sm=cr&&cr.__exportStar||function(t,e){for(var r in t)r!=="default"&&!Object.prototype.hasOwnProperty.call(e,r)&&vT(e,t,r)};Object.defineProperty(cr,"__esModule",{value:!0});sm(fl(),cr);sm(om(),cr)});var am=_(ts=>{"use strict";Object.defineProperty(ts,"__esModule",{value:!0});ts.registerBuildRoute=void 0;var TT=Gt(),ST=Bt(),IT=ar(),PT=$r(),AT=mt(),RT=Ze(),OT=ie(),NT=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 TT.HttpProblems.notFound(s,a);let l=OT.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"&&RT.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 ST.Pipeline({processors:[IT.metricsProcessor],handler:r,gateway:e}),i=new AT.SystemRouteConfiguration({label:"SYSTEM_BUILD_ROUTE",methods:["GET"],path:"/__zuplo/build",systemRouteName:PT.SystemRouteName.Build});t.addRoute(i,n.execute)},"registerBuildRoute");ts.registerBuildRoute=NT});var hl=_(dn=>{"use strict";Object.defineProperty(dn,"__esModule",{value:!0});dn.HTTP_STATUS_TITLES=dn.HttpStatusCode=void 0;var cm;(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"})(cm||(dn.HttpStatusCode=cm={}));dn.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 yl=_(ml=>{"use strict";Object.defineProperty(ml,"__esModule",{value:!0});var CT={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"};ml.default=CT});var pe=_(pn=>{"use strict";var xT=pn&&pn.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(pn,"__esModule",{value:!0});pn.HttpProblems=void 0;var LT=un(),H=hl(),DT=xT(yl()),MT=ie(),gl=Ho();function UT(t){return`${new URL(t.url).pathname}`}o(UT,"instance");function kT(t,e){let r={timestamp:new Date().toISOString(),requestId:e.requestId,buildId:MT.Environment.instance.build.BUILD_ID},n=t.headers.get(LT.RAY_ID_HEADER);return n&&(r.rayId=n),r}o(kT,"trace");var FT=o((t,e,r,n,i)=>({problem:{type:t.type,title:t.title,status:t.status,detail:t.detail,instance:UT(e),trace:kT(e,r),...n},additionalHeaders:i,statusText:DT.default[t.status]}),"merge"),bl=class{static{o(this,"HttpProblemsBase")}static format=(e,r,n)=>"problem"in e?gl.ProblemResponseFormatter.format(e,r,n):gl.ProblemResponseFormatter.format({problem:e},r,n);static getProblemFromStatus(e,r){return{type:`https://httpproblems.com/http-status/${e}`,status:e,title:H.HTTP_STATUS_TITLES[e],...r}}},_l=class extends bl{static{o(this,"HttpProblems")}static#e(e,r,n,i,s){let a=FT(this.getProblemFromStatus(e),r,n,i,s);return gl.ProblemResponseFormatter.format(a,r,n)}static continue=(e,r,n,i)=>this.#e(H.HttpStatusCode.OK,e,r,n,i);static switchingProtocols=(e,r,n,i)=>this.#e(H.HttpStatusCode.SWITCHING_PROTOCOLS,e,r,n,i);static processing=(e,r,n,i)=>this.#e(H.HttpStatusCode.PROCESSING,e,r,n,i);static earlyHints=(e,r,n,i)=>this.#e(H.HttpStatusCode.EARLY_HINTS,e,r,n,i);static ok=(e,r,n,i)=>this.#e(H.HttpStatusCode.OK,e,r,n,i);static created=(e,r,n,i)=>this.#e(H.HttpStatusCode.CREATED,e,r,n,i);static accepted=(e,r,n,i)=>this.#e(H.HttpStatusCode.ACCEPTED,e,r,n,i);static nonAuthoritativeInformation=(e,r,n,i)=>this.#e(H.HttpStatusCode.NON_AUTHORITATIVE_INFORMATION,e,r,n,i);static noContent=(e,r,n,i)=>this.#e(H.HttpStatusCode.NO_CONTENT,e,r,n,i);static resetContent=(e,r,n,i)=>this.#e(H.HttpStatusCode.RESET_CONTENT,e,r,n,i);static partialContent=(e,r,n,i)=>this.#e(H.HttpStatusCode.PARTIAL_CONTENT,e,r,n,i);static multiStatus=(e,r,n,i)=>this.#e(H.HttpStatusCode.MULTI_STATUS,e,r,n,i);static alreadyReported=(e,r,n,i)=>this.#e(H.HttpStatusCode.ALREADY_REPORTED,e,r,n,i);static imUsed=(e,r,n,i)=>this.#e(H.HttpStatusCode.IM_USED,e,r,n,i);static multipleChoices=(e,r,n,i)=>this.#e(H.HttpStatusCode.MULTIPLE_CHOICES,e,r,n,i);static movedPermanently=(e,r,n,i)=>this.#e(H.HttpStatusCode.MOVED_PERMANENTLY,e,r,n,i);static found=(e,r,n,i)=>this.#e(H.HttpStatusCode.FOUND,e,r,n,i);static seeOther=(e,r,n,i)=>this.#e(H.HttpStatusCode.SEE_OTHER,e,r,n,i);static notModified=(e,r,n,i)=>this.#e(H.HttpStatusCode.NOT_MODIFIED,e,r,n,i);static useProxy=(e,r,n,i)=>this.#e(H.HttpStatusCode.USE_PROXY,e,r,n,i);static switchProxy=(e,r,n,i)=>this.#e(H.HttpStatusCode.SWITCH_PROXY,e,r,n,i);static temporaryRedirect=(e,r,n,i)=>this.#e(H.HttpStatusCode.TEMPORARY_REDIRECT,e,r,n,i);static permanentRedirect=(e,r,n,i)=>this.#e(H.HttpStatusCode.PERMANENT_REDIRECT,e,r,n,i);static badRequest=(e,r,n,i)=>this.#e(H.HttpStatusCode.BAD_REQUEST,e,r,n,i);static unauthorized=(e,r,n,i)=>this.#e(H.HttpStatusCode.UNAUTHORIZED,e,r,n,i);static paymentRequired=(e,r,n,i)=>this.#e(H.HttpStatusCode.PAYMENT_REQUIRED,e,r,n,i);static forbidden=(e,r,n,i)=>this.#e(H.HttpStatusCode.FORBIDDEN,e,r,n,i);static notFound=(e,r,n,i)=>this.#e(H.HttpStatusCode.NOT_FOUND,e,r,n,i);static methodNotAllowed=(e,r,n,i)=>this.#e(H.HttpStatusCode.METHOD_NOT_ALLOWED,e,r,n,i);static notAcceptable=(e,r,n,i)=>this.#e(H.HttpStatusCode.NOT_ACCEPTABLE,e,r,n,i);static proxyAuthenticationRequired=(e,r,n,i)=>this.#e(H.HttpStatusCode.PROXY_AUTHENTICATION_REQUIRED,e,r,n,i);static requestTimeout=(e,r,n,i)=>this.#e(H.HttpStatusCode.REQUEST_TIMEOUT,e,r,n,i);static conflict=(e,r,n,i)=>this.#e(H.HttpStatusCode.CONFLICT,e,r,n,i);static gone=(e,r,n,i)=>this.#e(H.HttpStatusCode.GONE,e,r,n,i);static lengthRequired=(e,r,n,i)=>this.#e(H.HttpStatusCode.LENGTH_REQUIRED,e,r,n,i);static preconditionFailed=(e,r,n,i)=>this.#e(H.HttpStatusCode.PRECONDITION_FAILED,e,r,n,i);static contentTooLarge=(e,r,n,i)=>this.#e(H.HttpStatusCode.CONTENT_TOO_LARGE,e,r,n,i);static uriTooLong=(e,r,n,i)=>this.#e(H.HttpStatusCode.URI_TOO_LONG,e,r,n,i);static unsupportedMediaType=(e,r,n,i)=>this.#e(H.HttpStatusCode.UNSUPPORTED_MEDIA_TYPE,e,r,n,i);static rangeNotSatisfiable=(e,r,n,i)=>this.#e(H.HttpStatusCode.RANGE_NOT_SATISFIABLE,e,r,n,i);static expectationFailed=(e,r,n,i)=>this.#e(H.HttpStatusCode.EXPECTATION_FAILED,e,r,n,i);static imATeapot=(e,r,n,i)=>this.#e(H.HttpStatusCode.I_AM_A_TEAPOT,e,r,n,i);static misdirectedRequest=(e,r,n,i)=>this.#e(H.HttpStatusCode.MISDIRECTED_REQUEST,e,r,n,i);static unprocessableContent=(e,r,n,i)=>this.#e(H.HttpStatusCode.UNPROCESSABLE_CONTENT,e,r,n,i);static locked=(e,r,n,i)=>this.#e(H.HttpStatusCode.LOCKED,e,r,n,i);static failedDependency=(e,r,n,i)=>this.#e(H.HttpStatusCode.FAILED_DEPENDENCY,e,r,n,i);static tooEarly=(e,r,n,i)=>this.#e(H.HttpStatusCode.TOO_EARLY,e,r,n,i);static upgradeRequired=(e,r,n,i)=>this.#e(H.HttpStatusCode.UPGRADE_REQUIRED,e,r,n,i);static preconditionRequired=(e,r,n,i)=>this.#e(H.HttpStatusCode.PRECONDITION_REQUIRED,e,r,n,i);static tooManyRequests=(e,r,n,i)=>this.#e(H.HttpStatusCode.TOO_MANY_REQUESTS,e,r,n,i);static requestHeaderFieldsTooLarge=(e,r,n,i)=>this.#e(H.HttpStatusCode.REQUEST_HEADER_FIELDS_TOO_LARGE,e,r,n,i);static unavailableForLegalReasons=(e,r,n,i)=>this.#e(H.HttpStatusCode.UNAVAILABLE_FOR_LEGAL_REASONS,e,r,n,i);static internalServerError=(e,r,n,i)=>this.#e(H.HttpStatusCode.INTERNAL_SERVER_ERROR,e,r,n,i);static notImplemented=(e,r,n,i)=>this.#e(H.HttpStatusCode.NOT_IMPLEMENTED,e,r,n,i);static badGateway=(e,r,n,i)=>this.#e(H.HttpStatusCode.BAD_GATEWAY,e,r,n,i);static serviceUnavailable=(e,r,n,i)=>this.#e(H.HttpStatusCode.SERVICE_UNAVAILABLE,e,r,n,i);static gatewayTimeout=(e,r,n,i)=>this.#e(H.HttpStatusCode.GATEWAY_TIMEOUT,e,r,n,i);static httpVersionNotSupported=(e,r,n,i)=>this.#e(H.HttpStatusCode.HTTP_VERSION_NOT_SUPPORTED,e,r,n,i);static variantAlsoNegotiates=(e,r,n,i)=>this.#e(H.HttpStatusCode.VARIANT_ALSO_NEGOTIATES,e,r,n,i);static insufficientStorage=(e,r,n,i)=>this.#e(H.HttpStatusCode.INSUFFICIENT_STORAGE,e,r,n,i);static loopDetected=(e,r,n,i)=>this.#e(H.HttpStatusCode.LOOP_DETECTED,e,r,n,i);static notExtended=(e,r,n,i)=>this.#e(H.HttpStatusCode.NOT_EXTENDED,e,r,n,i);static networkAuthenticationRequired=(e,r,n,i)=>this.#e(H.HttpStatusCode.NETWORK_AUTHENTICATION_REQUIRED,e,r,n,i)};pn.HttpProblems=_l});var st=_(K=>{"use strict";Object.defineProperty(K,"__esModule",{value:!0});K.isErrorLike=K.withUndefinedAsNull=K.withNullAsUndefined=K.validateConstraint=K.validateConstraints=K.areFunctions=K.isFunction=K.isEmptyObject=K.assertAllDefined=K.assertIsDefined=K.assertType=K.isUndefinedOrNull=K.isDefined=K.isUndefined=K.isBoolean=K.isIterable=K.isNumber=K.isTypedArray=K.isArray=K.isObject=K.getOwnEnumerableKeys=K.isRegexp=K.isStringArray=K.isNonEmptyString=K.isString=K.toString=void 0;var{toString:HT}=Object.prototype,{propertyIsEnumerable:qT}=Object.prototype;function um(t){return HT.call(t)}o(um,"toString");K.toString=um;function rs(t){return typeof t=="string"}o(rs,"isString");K.isString=rs;function $T(t){return rs(t)&&t!==""}o($T,"isNonEmptyString");K.isNonEmptyString=$T;function jT(t){return Array.isArray(t)&&t.every(e=>rs(e))}o(jT,"isStringArray");K.isStringArray=jT;function VT(t){return um(t)==="[object RegExp]"}o(VT,"isRegexp");K.isRegexp=VT;function BT(t){return[...Object.keys(t),...Object.getOwnPropertySymbols(t).filter(e=>qT.call(t,e))]}o(BT,"getOwnEnumerableKeys");K.getOwnEnumerableKeys=BT;function El(t){return typeof t=="object"&&t!==null&&!Array.isArray(t)&&!(t instanceof RegExp)&&!(t instanceof Date)}o(El,"isObject");K.isObject=El;function GT(t){return El(t)&&Array.isArray(t)}o(GT,"isArray");K.isArray=GT;function KT(t){let e=Object.getPrototypeOf(Uint8Array);return typeof t=="object"&&t instanceof e}o(KT,"isTypedArray");K.isTypedArray=KT;function JT(t){return typeof t=="number"&&!isNaN(t)}o(JT,"isNumber");K.isNumber=JT;function zT(t){return!!t&&typeof t[Symbol.iterator]=="function"}o(zT,"isIterable");K.isIterable=zT;function WT(t){return t===!0||t===!1}o(WT,"isBoolean");K.isBoolean=WT;function lm(t){return typeof t>"u"}o(lm,"isUndefined");K.isUndefined=lm;function QT(t){return!Ii(t)}o(QT,"isDefined");K.isDefined=QT;function Ii(t){return lm(t)||t===null}o(Ii,"isUndefinedOrNull");K.isUndefinedOrNull=Ii;function YT(t,e){if(!t)throw new Error(e?`Unexpected type, expected '${e}'`:"Unexpected type")}o(YT,"assertType");K.assertType=YT;function ZT(t){if(Ii(t))throw new Error("Assertion Failed: argument is undefined or null");return t}o(ZT,"assertIsDefined");K.assertIsDefined=ZT;function XT(...t){let e=[];for(let r=0;r<t.length;r++){let n=t[r];if(Ii(n))throw new Error(`Assertion Failed: argument at index ${r} is undefined or null`);e.push(n)}return e}o(XT,"assertAllDefined");K.assertAllDefined=XT;var eS=Object.prototype.hasOwnProperty;function tS(t){if(!El(t))return!1;for(let e in t)if(eS.call(t,e))return!1;return!0}o(tS,"isEmptyObject");K.isEmptyObject=tS;function wl(t){return typeof t=="function"}o(wl,"isFunction");K.isFunction=wl;function rS(...t){return t.length>0&&t.every(wl)}o(rS,"areFunctions");K.areFunctions=rS;function nS(t,e){let r=Math.min(t.length,e.length);for(let n=0;n<r;n++)dm(t[n],e[n])}o(nS,"validateConstraints");K.validateConstraints=nS;function dm(t,e){if(rs(e)){if(typeof t!==e)throw new Error(`argument does not match constraint: typeof ${e}`)}else if(wl(e)){try{if(t instanceof e)return}catch{}if(!Ii(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(dm,"validateConstraint");K.validateConstraint=dm;function iS(t){return t===null?void 0:t}o(iS,"withNullAsUndefined");K.withNullAsUndefined=iS;function oS(t){return typeof t>"u"?null:t}o(oS,"withUndefinedAsNull");K.withUndefinedAsNull=oS;function sS(t){return!!t&&typeof t=="object"&&"name"in t&&"message"in t&&"stack"in t}o(sS,"isErrorLike");K.isErrorLike=sS});var Kt=_(Ot=>{"use strict";Object.defineProperty(Ot,"__esModule",{value:!0});Ot.parseValueToBoolean=Ot.parseValueToStringArray=Ot.getValueFromRequestUser=Ot.statusCodesStringToNumberArray=void 0;var fn=k(),vl=st(),pm=new Map;function aS(t){if(Array.isArray(t)&&!t.some(i=>typeof i!="number"))return t;if(typeof t!="string")throw new Error("Input must be a string or an array of numbers");if(!/^\d+(?:-\d+)?(?:,\s*\d+(?:-\d+)?)*$/.test(t))throw new Error("Malformed input string");let e=pm.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 pm.set(t,n),n}o(aS,"statusCodesStringToNumberArray");Ot.statusCodesStringToNumberArray=aS;function cS(t,e,r){if(!e.startsWith("."))throw new fn.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 fn.RuntimeError(`Error applying ${r} '${e}', reading '${s}'`);i=i[s]}),`${i}`}o(cS,"getValueFromRequestUser");Ot.getValueFromRequestUser=cS;function uS(t){if(Array.isArray(t)){if(t.includes(r=>typeof r!="string"))throw new fn.ConfigurationError("Received an array that contains non-string values.");return t}if((0,vl.isString)(t))return t.includes(",")?t.split(",").map(r=>r.trim()).filter(r=>r!==","&&r!==""):[t];throw new fn.ConfigurationError(`Expected type of string, received type '${typeof t}'`)}o(uS,"parseValueToStringArray");Ot.parseValueToStringArray=uS;function lS(t){if((0,vl.isBoolean)(t))return t;if((0,vl.isString)(t)){if(t.toLowerCase()==="true")return!0;if(t.toLowerCase()==="false")return!1;throw new fn.ConfigurationError(`Attempted to parse string to boolean, but received ${t} which cannot be parsed.`)}throw new fn.ConfigurationError(`Expected type of boolean, received type '${typeof t}'`)}o(lS,"parseValueToBoolean");Ot.parseValueToBoolean=lS});var is=_(ur=>{"use strict";Object.defineProperty(ur,"__esModule",{value:!0});ur.generateCorsHeaders=ur.findMatchingOrigin=ur.parseCorsPolicies=void 0;var jr=k(),fm=Kt(),ns=st();function dS(t){if(t==null)return[];if(!Array.isArray(t))throw new jr.ConfigurationError(`Invalid corsPolicy configuration. Expected an array of objects, received '${typeof t}'`);return t.map(r=>{if(!(0,ns.isObject)(r))throw new jr.ConfigurationError(`Invalid custom cors policy is set. Expected an object, received '${typeof r}'`);if(!(0,ns.isNonEmptyString)(r.name))throw new jr.ConfigurationError("Value of 'name' on custom cors policies must be a non-empty string.");if(r.maxAge!==void 0&&!(0,ns.isNumber)(r.maxAge))throw new jr.ConfigurationError(`Value of 'maxAge' on custom cors policies must be a non-empty string. Received type '${typeof r.maxAge}'`);if(r.allowCredentials!==void 0&&!(0,ns.isBoolean)(r.allowCredentials))throw new jr.ConfigurationError("Value of 'allowCredentials' on custom cors policies must be a boolean or not be set. If using an environment variable, check that it is set correctly.");let n=Tl(r,"allowedHeaders"),i=Tl(r,"allowedMethods"),s=Tl(r,"exposeHeaders"),a;try{a=(0,fm.parseValueToStringArray)(r.allowedOrigins)}catch(u){throw new jr.ConfigurationError(`Value of 'allowedOrigins' on custom cors policies is invalid. ${u.message} If using an environment variable, check that it is set correctly.`)}return{name:r.name,allowCredentials:typeof r.allowCredentials=="boolean"?String(r.allowCredentials):void 0,allowedOrigins:a,allowedHeaders:n?n.join(", "):void 0,allowedMethods:i?i.join(", "):void 0,exposeHeaders:s?s.join(", "):void 0,maxAge:typeof r.maxAge=="number"?r.maxAge.toString():void 0}})}o(dS,"parseCorsPolicies");ur.parseCorsPolicies=dS;function Tl(t,e){let r;if(t[e]!==void 0)try{r=(0,fm.parseValueToStringArray)(t[e])}catch(n){throw new jr.ConfigurationError(`Value of '${e}' on custom cors policies is invalid. ${n.message} If using an environment variable, check that it is set correctly.`)}return r}o(Tl,"parseOptionalProperty");var pS=o((t,e)=>{if(e===null)return;if(t.find(a=>a==="*"))return e;let n=t.map(a=>a.trim().toLowerCase()),i=e.toLowerCase();return n.find(a=>a===i)},"findMatchingOrigin");ur.findMatchingOrigin=pS;var fS=o((t,e)=>{let r={"access-control-allow-origin":e};t.allowedHeaders&&(r["access-control-allow-headers"]=t.allowedHeaders),t.allowedMethods&&(r["access-control-allow-methods"]=t.allowedMethods),t.exposeHeaders&&(r["access-control-expose-headers"]=t.exposeHeaders);let n=t.allowCredentials;n&&(r["access-control-allow-credentials"]=n);let i=t.maxAge?.toString()??void 0;return i&&(r["access-control-max-age"]=i),r},"generateCorsHeaders");ur.generateCorsHeaders=fS});var mm=_(os=>{"use strict";Object.defineProperty(os,"__esModule",{value:!0});os.registerCorsRoute=void 0;var hS=k(),mS=Bt(),Sl=pe(),yS=ar(),gS=$r(),bS=mt(),hm=is(),_S=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 Sl.HttpProblems.badRequest(a,c,{detail:"Expect headers origin and access-control-request-method"});let f=t.lookup(l,u);if(!f)return Sl.HttpProblems.notFound(a,c);let h=f.routeConfiguration,m=ES(l,d,p,h,r);return m.isValid?new Response(void 0,{status:200,statusText:"OK",headers:m.headers}):(m.error&&c.log.warn(m.error),Sl.HttpProblems.notFound(a,c))},"optionsHandler"),i=new mS.Pipeline({processors:[yS.metricsProcessor],handler:n,gateway:e}),s=new bS.SystemRouteConfiguration({label:"SYSTEM_CORS_ROUTE",methods:["OPTIONS"],path:"/(.*)",systemRouteName:gS.SystemRouteName.CorsPreflight});t.addRoute(s,i.execute)},"registerCorsRoute");os.registerCorsRoute=_S;var ES=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,error:`No CORS policy set for the route '${n.pathPattern}'`};let a=i?.find(l=>l.name===n.corsPolicy);if(!a)throw new hS.ConfigurationError(`Invalid Configuration - corsPolicy '${n.corsPolicy}' not found in *.oas.json 'corsPolicies' section.`);let c=(0,hm.findMatchingOrigin)(a.allowedOrigins,r);return c?{isValid:!0,headers:(0,hm.generateCorsHeaders)(a,c)}:{...s,error:`The CORS policy '${a.name}' does not allow the origin '${r}'`}},"validateAndBuildResponseHeaders")});var ym=_(ss=>{"use strict";Object.defineProperty(ss,"__esModule",{value:!0});ss.registerNoRoutes=void 0;var wS=Bt(),vS=ar(),TS=$r(),SS=mt(),IS=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 wS.Pipeline({processors:[vS.metricsProcessor],handler:r,gateway:e}),i=new SS.SystemRouteConfiguration({label:"SYSTEM_NO_ROUTES",methods:["CONNECT","DELETE","GET","HEAD","OPTIONS","PATCH","POST","PUT","TRACE"],path:"/(.*)",systemRouteName:TS.SystemRouteName.EmptyGatewayCatchall});t.addRoute(i,n.execute)},"registerNoRoutes");ss.registerNoRoutes=IS});var gm=_(Vr=>{"use strict";Object.defineProperty(Vr,"__esModule",{value:!0});Vr.registerNotMatchedHandler=Vr.notFoundRouteConfiguration=void 0;var PS=Hr(),AS=Rt(),RS=Bt(),OS=pe(),NS=ar(),CS=$r(),xS=mt();Vr.notFoundRouteConfiguration=new xS.SystemRouteConfiguration({label:"SYSTEM_NOT_FOUND_ROUTE",methods:["CONNECT","DELETE","GET","HEAD","OPTIONS","PATCH","POST","PUT","TRACE"],path:"/(.*)",systemRouteName:CS.SystemRouteName.UnmatchedPath});var LS=o((t,e)=>{let r=o(async(i,s)=>{let a=AS.runtimeExtensions.value?.notFoundHandler;if(a){let c=PS.ZuploContextExtensions.getContextExtensions(s);return a(i,s,{routesMatchedByPathOnly:c.pathOnlyMatches??[]})}return OS.HttpProblems.notFound(i,s)},"notFoundHandler"),n=new RS.Pipeline({processors:[NS.metricsProcessor],handler:r,gateway:e});t.addRoute(Vr.notFoundRouteConfiguration,n.execute)},"registerNotMatchedHandler");Vr.registerNotMatchedHandler=LS});var Il=_(as=>{"use strict";Object.defineProperty(as,"__esModule",{value:!0});as.corsProcessor=void 0;var Em=k(),bm=is(),DS=["access-control-allow-origin","access-control-allow-headers","access-control-expose-headers","access-control-allow-credentials","access-control-max-age"],_m=o(t=>{DS.forEach(e=>t.delete(e))},"stripCorsHeaders"),MS=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 _m(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 Em.SystemError(`The CorsProcessor is in the wrong place in the pipeline. It should only receive HttpResponse type but got '${typeof s}'`);let a=US(i,r.routeData.corsPolicies),c=kS(t,a),u=new Headers(s.headers);return _m(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");as.corsProcessor=MS;var US=o((t,e)=>{if(t.corsPolicy==="anything-goes")return{name:"anything-goes",allowedHeaders:"*",allowedOrigins:["*"],allowedMethods:t.methods.join(", "),exposeHeaders:"*",allowCredentials:"true",maxAge:"600"};let r=e?.find(n=>n.name===t.corsPolicy);if(r===void 0)throw new Em.ConfigurationError(`Invalid Configuration - no corsPolicy '${t.corsPolicy}' found in *.oas.json`);return r},"getCorsPolicy"),kS=o((t,e)=>{let r=(0,bm.findMatchingOrigin)(e.allowedOrigins,t.headers.get("origin"));return r?(0,bm.generateCorsHeaders)(e,r):{}},"getCorsHeaders")});var wm=_(cs=>{"use strict";Object.defineProperty(cs,"__esModule",{value:!0});cs.registerPingRoute=void 0;var FS=Bt(),HS=Il(),qS=$r(),$S=mt(),jS=o((t,e)=>{let r=o(async()=>new Response(null,{status:200}),"pingRouteHandler"),n=new FS.Pipeline({processors:[HS.corsProcessor],handler:r,gateway:e}),i=new $S.SystemRouteConfiguration({corsPolicy:"anything-goes",label:"SYSTEM_PING_ROUTE",methods:["GET"],path:"/__zuplo/ping",systemRouteName:qS.SystemRouteName.Ping});t.addRoute(i,n.execute)},"registerPingRoute");cs.registerPingRoute=jS});var mn=_(hn=>{"use strict";Object.defineProperty(hn,"__esModule",{value:!0});hn.OutboundPolicy=hn.InboundPolicy=void 0;var VS=k(),BS=st(),us=class{static{o(this,"PolicyBase")}options;policyName;constructor(e,r){if(!(0,BS.isString)(r))throw new VS.RuntimeError(`The name of a policy must be a string. Received '${r}' of type '${typeof r}'`);this.options=e,this.policyName=r}},Pl=class extends us{static{o(this,"InboundPolicy")}};hn.InboundPolicy=Pl;var Al=class extends us{static{o(this,"OutboundPolicy")}};hn.OutboundPolicy=Al});var yn=_(yt=>{"use strict";Object.defineProperty(yt,"__esModule",{value:!0});yt.createInternalPolicyProcessor=yt.policyProcessor=yt.toStackedInboundHandler=yt.getInboundPolicyInstances=void 0;var GS=Hr(),qe=k(),ls=mn(),vm=Ge(),KS=ie(),Nl=class extends ls.InboundPolicy{static{o(this,"InboundFunctionOnlyPolicy")}#e;constructor(e,r,n){super(r,n),this.#e=e}handler(e,r){return this.#e(e,r,this.options,this.policyName)}},Cl=class extends ls.OutboundPolicy{static{o(this,"OutboundFunctionOnlyPolicy")}#e;constructor(e,r,n){super(r,n),this.#e=e}handler(e,r,n){return this.#e(e,r,n,this.options,this.policyName)}},Rl=new Map;function Tm(t,e){let r,n;return Array.isArray(t)?r=t:(r=t.policies?.inbound??[],n=t.path),r.filter(s=>!Rl.has(s)).forEach(s=>{let a=e?.find(l=>l.name===s);if(!a)throw new qe.ConfigurationError(`Invalid state - no Policy with the name '${s}' ${n&&`on route '${n}'`} was found in the policies configuration (check case).`);if(typeof a.handler?.module!="object")throw new qe.ConfigurationError(`Invalid state - invalid policy '${s}' on route '${n}' (typeof policy '${typeof a.handler?.module}')`);let c=a.handler?.module[a.handler.export];if(typeof c!="function")throw new qe.ConfigurationError(`Invalid state - invalid policy '${s}' on route '${n}' (typeof module '${typeof c}')`);let u;if(typeof c!="function")throw new qe.ConfigurationError(`Invalid state - invalid policy '${s}' on route '${n}' (typeof module '${typeof c}')`);if(c.prototype instanceof ls.InboundPolicy)u=new c(a.handler.options,a.name);else if(typeof c=="function")u=new Nl(c,a.handler.options,a.name);else throw new qe.ConfigurationError(`Invalid state - invalid policy '${s}' on route '${n}' (typeof policy '${typeof c}')`);if(typeof u.handler!="function")throw new qe.ConfigurationError(`Invalid state - invalid handler on policy '${s}' on route '${n}' (typeof handler '${typeof u.handler}')`);Rl.set(a.name,u)}),r.map(s=>{let a=Rl.get(s);if(a===void 0)throw new qe.RuntimeError("Internal error. Policy not found in cache.");return a})}o(Tm,"getInboundPolicyInstances");yt.getInboundPolicyInstances=Tm;var Ol=new Map;function JS(t,e){let r=t.policies?.outbound??[];return r.filter(i=>!Ol.has(i)).forEach(i=>{let s=e?.find(u=>u.name===i);if(!s)throw new qe.ConfigurationError(`Invalid state - no Policy with the name '${i}' on route '${t.path}' was found in the policies configuration (check case).`);if(typeof s.handler?.module!="object")throw new qe.ConfigurationError(`Invalid state - invalid policy '${i}' on route '${t.path}' (typeof policy '${typeof s.handler?.module}')`);let a=s.handler?.module[s.handler.export],c;if(typeof a!="function")throw new qe.ConfigurationError(`Invalid state - invalid policy '${i}' on route '${t.path}' (typeof module '${typeof a}')`);if(a.prototype instanceof ls.OutboundPolicy)c=new a(s.handler.options??{},s.name);else if(typeof a=="function")c=new Cl(a,s.handler.options??{},s.name);else throw new qe.ConfigurationError(`Invalid state - invalid policy '${i}' on route '${t.path}' (typeof policy '${typeof a}')`);if(typeof c.handler!="function")throw new qe.ConfigurationError(`Invalid state - invalid handler on policy '${i}' on route '${t.path}'`);Ol.set(s.name,c)}),r.map(i=>{let s=Ol.get(i);if(s===void 0)throw new qe.RuntimeError("Internal error. Policy not found in cache.");return s})}o(JS,"getOutboundPolicyInstances");var zS=o(t=>async(e,r)=>{let n=GS.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);if(c instanceof vm.ZuploRequest)s=c;else if(c instanceof Request)s=new vm.ZuploRequest(c);else{if(c instanceof Response)return c;throw new qe.ConfigurationError(`Invalid state - invalid handler on policy '${a.policyName}' on route '${r.route.path}. The result of an inbound policy must be a Response or Request.`)}n.latestRequest=s}return s},"toStackedInboundHandler");yt.toStackedInboundHandler=zS;var WS=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);if(!(c instanceof Response))throw new qe.ConfigurationError(`Invalid state - invalid handler on policy '${a.policyName}' on route '${n.route.path}. The result of an outbound policy must be a Response.`);s=c}return s},"toStackedOutboundHandler"),QS=o(async(t,e,r,n)=>{let i=Tm(e.route,r.routeData.policies),s=JS(e.route,r.routeData.policies);return Sm({request:t,context:e,inboundPolicies:i,outboundPolicies:s,gateway:r,next:n})},"policyProcessor");yt.policyProcessor=QS;function YS({inboundPolicies:t=[],outboundPolicies:e=[]}){return o(async(n,i,s,a)=>Sm({request:n,context:i,inboundPolicies:t,outboundPolicies:e,gateway:s,next:a}),"policyProcessor")}o(YS,"createInternalPolicyProcessor");yt.createInternalPolicyProcessor=YS;async function Sm({request:t,context:e,inboundPolicies:r,outboundPolicies:n,gateway:i,next:s}){let a=(0,yt.toStackedInboundHandler)(r);try{let c=await a(t,e);if(c instanceof Response)return c;let u=await s(c),l=WS(n),d;return KS.Environment.instance.build.COMPATIBILITY_FLAGS.runOutboundPoliciesOnHandlerOnAllStatuses?d=l(u,t,e):d=u.ok?l(u,t,e):u,d}catch(c){return e.log.error(c),i.errorHandler(t,e,c)}}o(Sm,"executePolicyProcessor")});var Im=_(gn=>{"use strict";Object.defineProperty(gn,"__esModule",{value:!0});gn.serialize=gn.parse=void 0;var ZS=Object.prototype.toString,ds=/^[\u0009\u0020-\u007e\u0080-\u00ff]+$/;function XS(t,e){if(typeof t!="string")throw new TypeError("argument str must be a string");let r={},i=(e||{}).decode||tI,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]=iI(l,i)}s=c+1}return r}o(XS,"parse");gn.parse=XS;function eI(t,e,r){let n=r||{},i=n.encode||rI;if(typeof i!="function")throw new TypeError("option encode is invalid");if(!ds.test(t))throw new TypeError("argument name is invalid");let s=i(e);if(s&&!ds.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(!ds.test(n.domain))throw new TypeError("option domain is invalid");a+="; Domain="+n.domain}if(n.path){if(!ds.test(n.path))throw new TypeError("option path is invalid");a+="; Path="+n.path}if(n.expires){let c=n.expires;if(!nI(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(eI,"serialize");gn.serialize=eI;function tI(t){return t.indexOf("%")!==-1?decodeURIComponent(t):t}o(tI,"decode");function rI(t){return encodeURIComponent(t)}o(rI,"encode");function nI(t){return ZS.call(t)==="[object Date]"||t instanceof Date}o(nI,"isDate");function iI(t,e){try{return e(t)}catch{return t}}o(iI,"tryDecode")});var Pm=_(ps=>{"use strict";Object.defineProperty(ps,"__esModule",{value:!0});ps.devPortalBaseURL=void 0;var oI=Im();function sI(t,e){try{let r=/v\d+(-\d+)?/g,i=(0,oI.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(sI,"devPortalBaseURL");ps.devPortalBaseURL=sI});var Cm=_(bn=>{"use strict";Object.defineProperty(bn,"__esModule",{value:!0});bn.registerDevPortalLegacyRedirectRoute=bn.registerDevPortalV3Route=void 0;var xl=Gt(),Rm=Bt(),Om=ar(),aI=yn(),Nm=mt(),cI=Pm(),lr=ie(),Am="/__zuplo/dev-portal",uI="dev-portal-id",lI="dev-portal-host",dI="zp-account",pI="zp-project",fI="dev-portal-build",hI=`
35
+ `)+" "+r[1]:r[0]+e+" "+t.join(", ")+" "+r[1]}o(Jv,"reduceToSingleString")});var Vh=_(Mo=>{"use strict";Object.defineProperty(Mo,"__esModule",{value:!0});Mo.format=void 0;var zv=Uh(),Wv=jh(),Qv=o((t,...e)=>(0,zv.format)(Wv.inspect,t,e),"format");Mo.format=Qv});var kr=_(or=>{"use strict";Object.defineProperty(or,"__esModule",{value:!0});or.debug=or.withoutEnv=or.Debugger=void 0;var Yv=Mh(),Zv=Vh(),Uo=class{static{o(this,"Debugger")}manager;ns;color;last;enabled;constructor(e,r){this.manager=e,this.ns=r,this.color=(0,Yv.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,Zv.format)(r,...e);let s=`${this.color(this.ns)} ${r} ${this.color(`+${i}ms`)}`;console.log(s),this.last=Date.now()}};or.Debugger=Uo;var ko=class{static{o(this,"DebugManager")}debuggers;enabled;constructor(e){this.debuggers=new Map,this.enabled=e??[]}};function Bh(t){return!t||t.length===0?[]:(t=t.replace(/\s/g,"").replace(/\*/g,".+"),t.split(",").map(e=>new RegExp(`^${e}$`)))}o(Bh,"extract");var Si;function Xv(t){t||(t=[]),typeof t=="string"&&(t=Bh(t)),Si=new ko(t)}o(Xv,"withoutEnv");or.withoutEnv=Xv;function eT(t){let e=globalThis.DEBUG;Si||(Si=new ko(Bh(e)));let r=new Uo(Si,t);return Si.debuggers.set(t,r),Object.assign(r.log.bind(r),{self:r})}o(eT,"debug");or.debug=eT});var Ho=_(ln=>{"use strict";Object.defineProperty(ln,"__esModule",{value:!0});ln.ProblemResponseFormatter=ln.InternalProblemResponseFormatter=void 0;var tT=k(),Fo=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 tT.RuntimeError("Error in custom 'problemResponseFormat'",{cause:s})}})}};ln.InternalProblemResponseFormatter=Fo;var tl=class{static{o(this,"ProblemResponseFormatter")}static async format(e,r,n){return await Fo.problemResponseFormat(e,r,n)}};ln.ProblemResponseFormatter=tl});var Kh=_(qo=>{"use strict";Object.defineProperty(qo,"__esModule",{value:!0});qo.deepFreeze=void 0;function Gh(t){for(let e in t){let r=t[e];r&&typeof r=="object"&&Gh(r)}return Object.freeze(t)}o(Gh,"deepFreeze");qo.deepFreeze=Gh});var Ge=_($o=>{"use strict";Object.defineProperty($o,"__esModule",{value:!0});$o.ZuploRequest=void 0;var Jh=Kh(),rl=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){let e={},r=new URL(this.url).searchParams;for(let[n,i]of r.entries())e[n]=i;this.#e=e}return(0,Jh.deepFreeze)(this.#e)}get params(){return(0,Jh.deepFreeze)(this.#t)}user};$o.ZuploRequest=rl});var Rt=_(Se=>{"use strict";Object.defineProperty(Se,"__esModule",{value:!0});Se.initializeRuntime=Se.invokeOnResponseSendingFinalExtensions=Se.invokeOnResponseSendingExtensions=Se.invokeOnRequestExtensions=Se.plugins=Se.runtimeExtensions=Se.SystemRuntimePlugin=Se.RuntimePlugin=void 0;var zh=k(),rT=Ho(),nT=Ge(),Vo=class{static{o(this,"RuntimePlugin")}};Se.RuntimePlugin=Vo;var Bo=class extends Vo{static{o(this,"SystemRuntimePlugin")}async initialize(e){return Promise.resolve()}registerRoutes(e,r){}};Se.SystemRuntimePlugin=Bo;Se.runtimeExtensions={};var nl=[];Se.plugins=nl;var Wh=[],Qh=[],Yh=[],jo={addPlugin(t){nl.push(t)},addRequestHook(t){Wh.push(t)},addResponseSendingHook(t){Qh.push(t)},addResponseSendingFinalHook(t){Yh.push(t)}},iT=o(async(t,e)=>{let r=t;for(let n of Wh){let i=await n(r,e);if(i instanceof nT.ZuploRequest)r=i;else{if(i instanceof Response)return i;throw new zh.ConfigurationError(`Invalid state - the OnRequest hook must return a ZuploRequest or Response. Received ${typeof r}.`)}}return r},"invokeOnRequestExtensions");Se.invokeOnRequestExtensions=iT;var oT=o(async(t,e,r)=>{let n=t;for(let i of Qh){let s=await i(t,e,r);if(s instanceof Response)n=s;else throw new zh.ConfigurationError(`Invalid state - the OnResponseSending hook must return a Response. Received ${typeof n}.`)}return n},"invokeOnResponseSendingExtensions");Se.invokeOnResponseSendingExtensions=oT;var sT=o(async(t,e,r)=>{for(let n of Yh)await n(t,e,r)},"invokeOnResponseSendingFinalExtensions");Se.invokeOnResponseSendingFinalExtensions=sT;async function aT(t=()=>Promise.resolve()){await t(jo),Se.runtimeExtensions.value=jo;for(let e of nl)e instanceof Bo&&await e.initialize(jo);rT.InternalProblemResponseFormatter.setProblemResponseFormat(jo.problemResponseFormat)}o(aT,"initializeRuntime");Se.initializeRuntime=aT});var il=_(sr=>{"use strict";Object.defineProperty(sr,"__esModule",{value:!0});sr.serialize=sr.ContentTypes=void 0;sr.ContentTypes={Json:"application/json",Form:"application/x-www-form-urlencoded"};function cT(t,e){if(t!==null)return e&&typeof t=="string"?t:typeof t=="object"&&e?.startsWith(sr.ContentTypes.Form)?new URLSearchParams(t).toString():typeof t=="object"&&e?.startsWith(sr.ContentTypes.Json)||!e?JSON.stringify(t):t}o(cT,"serialize");sr.serialize=cT});var ol=_(Go=>{"use strict";Object.defineProperty(Go,"__esModule",{value:!0});Go.isSystemRoute=void 0;var Zh=Fr();function uT(t){return Zh.Gateway.instance.runtimeSettings.developerPortal.enabled&&t.pathname.startsWith(Zh.Gateway.instance.runtimeSettings.developerPortal.sitePathname)||t.pathname.startsWith("/__zuplo/")}o(uT,"isSystemRoute");Go.isSystemRoute=uT});var Bt=_(Ko=>{"use strict";Object.defineProperty(Ko,"__esModule",{value:!0});Ko.Pipeline=void 0;var sl=Hr(),Xh=Rt(),lT=il(),dT=ie(),pT=ol(),al=class{static{o(this,"Pipeline")}constructor(e){this.execute=this.#t(e)}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=({processors:e,gateway:r,handler:n})=>async(i,s)=>{let a=[...e],c=o(async b=>{let v=a.pop();return v?v(i,s,r,c):await this.#e(async g=>{let S=await n(g,s);return fT(S)},r)(b,s)},"nextPipe"),l=await c(i),d=new URL(i.url);if((0,pT.isSystemRoute)(d)&&dT.Environment.instance.build.COMPATIBILITY_FLAGS.doNotRunHooksOnSystemRoutes)return l;let p=new sl.ResponseSendingEvent(i,l);s.dispatchEvent(p);let f=sl.ZuploContextExtensions.getContextExtensions(s),h=f.latestRequest,m;try{m=await p.mutableResponse}catch(b){return s.log.error(b),r.errorHandler(i,s,b)}try{m=await f.onResponseSending(m,h,s)}catch(b){return s.log.error(`Error invoking 'context.onResponseSending' hook: '${b.message}'`,b),r.errorHandler(i,s,b)}try{m=await(0,Xh.invokeOnResponseSendingExtensions)(m,h,s)}catch(b){return s.log.error(`Error invoking 'context.onResponseSending' hook: '${b.message}'`,b),r.errorHandler(i,s,b)}s.dispatchEvent(new sl.ResponseSentEvent(i,m));try{await f.onResponseSendingFinal(l,h,s)}catch(b){throw s.log.error(`Error invoking 'runtime.onResponseSending' hook: '${b.message}'`,b),b}try{await(0,Xh.invokeOnResponseSendingFinalExtensions)(l,h,s)}catch(b){throw s.log.error(`Error invoking 'runtime.onResponseSending' hook: '${b.message}'`,b),b}return m}};Ko.Pipeline=al;function fT(t){return t instanceof Response?t:typeof t>"u"?new Response:new Response((0,lT.serialize)(t),{headers:{"content-type":"application/json"}})}o(fT,"resultToResponse")});var zo=_(Jo=>{"use strict";Object.defineProperty(Jo,"__esModule",{value:!0});Jo.MetricsPlugin=void 0;var hT=Rt(),cl=class extends hT.RuntimePlugin{static{o(this,"MetricsPlugin")}};Jo.MetricsPlugin=cl});var Ze=_(Wo=>{"use strict";Object.defineProperty(Wo,"__esModule",{value:!0});Wo.SystemLogMap=void 0;var mT=k(),ul=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 mT.SystemError(n)}return r}static addLogger(e,r){t.#e.set(e,r)}};Wo.SystemLogMap=ul});var Ne=_(Qo=>{"use strict";Object.defineProperty(Qo,"__esModule",{value:!0});Qo.BatchDispatch=void 0;var ll=class{static{o(this,"BatchDispatch")}constructor(e,r,n,i){this.#t=e,this.#o=r,this.#n=n,this.#r=i??console}#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.error(`Uncaught error in BatchDispatcher named '${this.#t}'}`,i.message,i.stack)}).finally(()=>{r()})}},this.#o)}))};waitUntilFlushed=async()=>{if(this.#e)return this.#e}};Qo.BatchDispatch=ll});var tm=_(Zo=>{"use strict";Object.defineProperty(Zo,"__esModule",{value:!0});Zo.EllieMetricsTransport=void 0;var em=Ze(),yT=Ne(),Yo=ie(),dl=class{static{o(this,"EllieMetricsTransport")}#e;#t;#r;constructor(e){this.#r=Yo.Environment.instance.loggingId,this.#e=e,this.#t=new yT.BatchDispatch("ellie-metrics-transport",10,this.dispatchFunction,em.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}=Yo.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":Yo.Environment.instance.deploymentName??"unknown","user-agent":Yo.Environment.instance.systemUserAgent}});if(!c.ok){let u=await c.text();em.SystemLogMap.getLogger(this.#e).error(`Metrics POST responded ${c.status}: ${c.statusText}`,u)}}}};Zo.EllieMetricsTransport=dl});var mt=_(qr=>{"use strict";Object.defineProperty(qr,"__esModule",{value:!0});qr.systemNoVersion=qr.SystemRouteConfiguration=void 0;var pl=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=qr.systemNoVersion.name,this.handler={export:"SYSTEM_IGNORED",module:"SYSTEM_IGNORED"},this.systemRouteName=i}label;path;methods;handler;corsPolicy;version;policies;systemRouteName;raw(){return{}}};qr.SystemRouteConfiguration=pl;qr.systemNoVersion={name:"__system-no-version",pathPrefix:""}});var ar=_(Xo=>{"use strict";Object.defineProperty(Xo,"__esModule",{value:!0});Xo.metricsProcessor=void 0;var rm=un(),gT=Hr(),bT=Rt(),_T=zo(),ET=tm(),wT=mt(),vT=o(async(t,e,r,n)=>{let i=new Date,s=Date.now(),a=await n(t),c=t.headers.get(rm.RAY_ID_HEADER)??void 0,u=t.headers.get(rm.TRUE_CLIENT_IP)??void 0,l=e.incomingRequestProperties,d;e.route instanceof wT.SystemRouteConfiguration&&(d=e.route.systemRouteName);let p=gT.ZuploContextExtensions.getContextExtensions(e).latestRequest,f={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},h=[];return h.push(new ET.EllieMetricsTransport(e)),bT.plugins.forEach(m=>{if(m instanceof _T.MetricsPlugin){let b=m.getTransport();h.push(b)}}),h.forEach(m=>{m.pushMetrics(f,e)}),a},"metricsProcessor");Xo.metricsProcessor=vT});var fl=_(es=>{"use strict";Object.defineProperty(es,"__esModule",{value:!0});es.SystemRouteName=void 0;var nm;(function(t){t.Build="build-data",t.CorsPreflight="cors-preflight",t.DeveloperPortal="developer-portal",t.DeveloperPortalLegacy="developer-portal-legacy",t.StripePlugin="stripe-plugin",t.EmptyGatewayCatchall="empty-gateway-catchall",t.Ping="ping",t.UnmatchedPath="unmatched-path"})(nm||(es.SystemRouteName=nm={}))});var om=_(im=>{"use strict";Object.defineProperty(im,"__esModule",{value:!0})});var $r=_(cr=>{"use strict";var TT=cr&&cr.__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]}),sm=cr&&cr.__exportStar||function(t,e){for(var r in t)r!=="default"&&!Object.prototype.hasOwnProperty.call(e,r)&&TT(e,t,r)};Object.defineProperty(cr,"__esModule",{value:!0});sm(fl(),cr);sm(om(),cr)});var am=_(ts=>{"use strict";Object.defineProperty(ts,"__esModule",{value:!0});ts.registerBuildRoute=void 0;var ST=Gt(),IT=Bt(),PT=ar(),AT=$r(),RT=mt(),OT=Ze(),NT=ie(),CT=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 ST.HttpProblems.notFound(s,a);let l=NT.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"&&OT.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 IT.Pipeline({processors:[PT.metricsProcessor],handler:r,gateway:e}),i=new RT.SystemRouteConfiguration({label:"SYSTEM_BUILD_ROUTE",methods:["GET"],path:"/__zuplo/build",systemRouteName:AT.SystemRouteName.Build});t.addRoute(i,n.execute)},"registerBuildRoute");ts.registerBuildRoute=CT});var hl=_(dn=>{"use strict";Object.defineProperty(dn,"__esModule",{value:!0});dn.HTTP_STATUS_TITLES=dn.HttpStatusCode=void 0;var cm;(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"})(cm||(dn.HttpStatusCode=cm={}));dn.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 yl=_(ml=>{"use strict";Object.defineProperty(ml,"__esModule",{value:!0});var xT={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"};ml.default=xT});var pe=_(pn=>{"use strict";var LT=pn&&pn.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(pn,"__esModule",{value:!0});pn.HttpProblems=void 0;var DT=un(),H=hl(),MT=LT(yl()),UT=ie(),gl=Ho();function kT(t){return`${new URL(t.url).pathname}`}o(kT,"instance");function FT(t,e){let r={timestamp:new Date().toISOString(),requestId:e.requestId,buildId:UT.Environment.instance.build.BUILD_ID},n=t.headers.get(DT.RAY_ID_HEADER);return n&&(r.rayId=n),r}o(FT,"trace");var HT=o((t,e,r,n,i)=>({problem:{type:t.type,title:t.title,status:t.status,detail:t.detail,instance:kT(e),trace:FT(e,r),...n},additionalHeaders:i,statusText:MT.default[t.status]}),"merge"),bl=class{static{o(this,"HttpProblemsBase")}static format=(e,r,n)=>"problem"in e?gl.ProblemResponseFormatter.format(e,r,n):gl.ProblemResponseFormatter.format({problem:e},r,n);static getProblemFromStatus(e,r){return{type:`https://httpproblems.com/http-status/${e}`,status:e,title:H.HTTP_STATUS_TITLES[e],...r}}},_l=class extends bl{static{o(this,"HttpProblems")}static#e(e,r,n,i,s){let a=HT(this.getProblemFromStatus(e),r,n,i,s);return gl.ProblemResponseFormatter.format(a,r,n)}static continue=(e,r,n,i)=>this.#e(H.HttpStatusCode.OK,e,r,n,i);static switchingProtocols=(e,r,n,i)=>this.#e(H.HttpStatusCode.SWITCHING_PROTOCOLS,e,r,n,i);static processing=(e,r,n,i)=>this.#e(H.HttpStatusCode.PROCESSING,e,r,n,i);static earlyHints=(e,r,n,i)=>this.#e(H.HttpStatusCode.EARLY_HINTS,e,r,n,i);static ok=(e,r,n,i)=>this.#e(H.HttpStatusCode.OK,e,r,n,i);static created=(e,r,n,i)=>this.#e(H.HttpStatusCode.CREATED,e,r,n,i);static accepted=(e,r,n,i)=>this.#e(H.HttpStatusCode.ACCEPTED,e,r,n,i);static nonAuthoritativeInformation=(e,r,n,i)=>this.#e(H.HttpStatusCode.NON_AUTHORITATIVE_INFORMATION,e,r,n,i);static noContent=(e,r,n,i)=>this.#e(H.HttpStatusCode.NO_CONTENT,e,r,n,i);static resetContent=(e,r,n,i)=>this.#e(H.HttpStatusCode.RESET_CONTENT,e,r,n,i);static partialContent=(e,r,n,i)=>this.#e(H.HttpStatusCode.PARTIAL_CONTENT,e,r,n,i);static multiStatus=(e,r,n,i)=>this.#e(H.HttpStatusCode.MULTI_STATUS,e,r,n,i);static alreadyReported=(e,r,n,i)=>this.#e(H.HttpStatusCode.ALREADY_REPORTED,e,r,n,i);static imUsed=(e,r,n,i)=>this.#e(H.HttpStatusCode.IM_USED,e,r,n,i);static multipleChoices=(e,r,n,i)=>this.#e(H.HttpStatusCode.MULTIPLE_CHOICES,e,r,n,i);static movedPermanently=(e,r,n,i)=>this.#e(H.HttpStatusCode.MOVED_PERMANENTLY,e,r,n,i);static found=(e,r,n,i)=>this.#e(H.HttpStatusCode.FOUND,e,r,n,i);static seeOther=(e,r,n,i)=>this.#e(H.HttpStatusCode.SEE_OTHER,e,r,n,i);static notModified=(e,r,n,i)=>this.#e(H.HttpStatusCode.NOT_MODIFIED,e,r,n,i);static useProxy=(e,r,n,i)=>this.#e(H.HttpStatusCode.USE_PROXY,e,r,n,i);static switchProxy=(e,r,n,i)=>this.#e(H.HttpStatusCode.SWITCH_PROXY,e,r,n,i);static temporaryRedirect=(e,r,n,i)=>this.#e(H.HttpStatusCode.TEMPORARY_REDIRECT,e,r,n,i);static permanentRedirect=(e,r,n,i)=>this.#e(H.HttpStatusCode.PERMANENT_REDIRECT,e,r,n,i);static badRequest=(e,r,n,i)=>this.#e(H.HttpStatusCode.BAD_REQUEST,e,r,n,i);static unauthorized=(e,r,n,i)=>this.#e(H.HttpStatusCode.UNAUTHORIZED,e,r,n,i);static paymentRequired=(e,r,n,i)=>this.#e(H.HttpStatusCode.PAYMENT_REQUIRED,e,r,n,i);static forbidden=(e,r,n,i)=>this.#e(H.HttpStatusCode.FORBIDDEN,e,r,n,i);static notFound=(e,r,n,i)=>this.#e(H.HttpStatusCode.NOT_FOUND,e,r,n,i);static methodNotAllowed=(e,r,n,i)=>this.#e(H.HttpStatusCode.METHOD_NOT_ALLOWED,e,r,n,i);static notAcceptable=(e,r,n,i)=>this.#e(H.HttpStatusCode.NOT_ACCEPTABLE,e,r,n,i);static proxyAuthenticationRequired=(e,r,n,i)=>this.#e(H.HttpStatusCode.PROXY_AUTHENTICATION_REQUIRED,e,r,n,i);static requestTimeout=(e,r,n,i)=>this.#e(H.HttpStatusCode.REQUEST_TIMEOUT,e,r,n,i);static conflict=(e,r,n,i)=>this.#e(H.HttpStatusCode.CONFLICT,e,r,n,i);static gone=(e,r,n,i)=>this.#e(H.HttpStatusCode.GONE,e,r,n,i);static lengthRequired=(e,r,n,i)=>this.#e(H.HttpStatusCode.LENGTH_REQUIRED,e,r,n,i);static preconditionFailed=(e,r,n,i)=>this.#e(H.HttpStatusCode.PRECONDITION_FAILED,e,r,n,i);static contentTooLarge=(e,r,n,i)=>this.#e(H.HttpStatusCode.CONTENT_TOO_LARGE,e,r,n,i);static uriTooLong=(e,r,n,i)=>this.#e(H.HttpStatusCode.URI_TOO_LONG,e,r,n,i);static unsupportedMediaType=(e,r,n,i)=>this.#e(H.HttpStatusCode.UNSUPPORTED_MEDIA_TYPE,e,r,n,i);static rangeNotSatisfiable=(e,r,n,i)=>this.#e(H.HttpStatusCode.RANGE_NOT_SATISFIABLE,e,r,n,i);static expectationFailed=(e,r,n,i)=>this.#e(H.HttpStatusCode.EXPECTATION_FAILED,e,r,n,i);static imATeapot=(e,r,n,i)=>this.#e(H.HttpStatusCode.I_AM_A_TEAPOT,e,r,n,i);static misdirectedRequest=(e,r,n,i)=>this.#e(H.HttpStatusCode.MISDIRECTED_REQUEST,e,r,n,i);static unprocessableContent=(e,r,n,i)=>this.#e(H.HttpStatusCode.UNPROCESSABLE_CONTENT,e,r,n,i);static locked=(e,r,n,i)=>this.#e(H.HttpStatusCode.LOCKED,e,r,n,i);static failedDependency=(e,r,n,i)=>this.#e(H.HttpStatusCode.FAILED_DEPENDENCY,e,r,n,i);static tooEarly=(e,r,n,i)=>this.#e(H.HttpStatusCode.TOO_EARLY,e,r,n,i);static upgradeRequired=(e,r,n,i)=>this.#e(H.HttpStatusCode.UPGRADE_REQUIRED,e,r,n,i);static preconditionRequired=(e,r,n,i)=>this.#e(H.HttpStatusCode.PRECONDITION_REQUIRED,e,r,n,i);static tooManyRequests=(e,r,n,i)=>this.#e(H.HttpStatusCode.TOO_MANY_REQUESTS,e,r,n,i);static requestHeaderFieldsTooLarge=(e,r,n,i)=>this.#e(H.HttpStatusCode.REQUEST_HEADER_FIELDS_TOO_LARGE,e,r,n,i);static unavailableForLegalReasons=(e,r,n,i)=>this.#e(H.HttpStatusCode.UNAVAILABLE_FOR_LEGAL_REASONS,e,r,n,i);static internalServerError=(e,r,n,i)=>this.#e(H.HttpStatusCode.INTERNAL_SERVER_ERROR,e,r,n,i);static notImplemented=(e,r,n,i)=>this.#e(H.HttpStatusCode.NOT_IMPLEMENTED,e,r,n,i);static badGateway=(e,r,n,i)=>this.#e(H.HttpStatusCode.BAD_GATEWAY,e,r,n,i);static serviceUnavailable=(e,r,n,i)=>this.#e(H.HttpStatusCode.SERVICE_UNAVAILABLE,e,r,n,i);static gatewayTimeout=(e,r,n,i)=>this.#e(H.HttpStatusCode.GATEWAY_TIMEOUT,e,r,n,i);static httpVersionNotSupported=(e,r,n,i)=>this.#e(H.HttpStatusCode.HTTP_VERSION_NOT_SUPPORTED,e,r,n,i);static variantAlsoNegotiates=(e,r,n,i)=>this.#e(H.HttpStatusCode.VARIANT_ALSO_NEGOTIATES,e,r,n,i);static insufficientStorage=(e,r,n,i)=>this.#e(H.HttpStatusCode.INSUFFICIENT_STORAGE,e,r,n,i);static loopDetected=(e,r,n,i)=>this.#e(H.HttpStatusCode.LOOP_DETECTED,e,r,n,i);static notExtended=(e,r,n,i)=>this.#e(H.HttpStatusCode.NOT_EXTENDED,e,r,n,i);static networkAuthenticationRequired=(e,r,n,i)=>this.#e(H.HttpStatusCode.NETWORK_AUTHENTICATION_REQUIRED,e,r,n,i)};pn.HttpProblems=_l});var st=_(K=>{"use strict";Object.defineProperty(K,"__esModule",{value:!0});K.isErrorLike=K.withUndefinedAsNull=K.withNullAsUndefined=K.validateConstraint=K.validateConstraints=K.areFunctions=K.isFunction=K.isEmptyObject=K.assertAllDefined=K.assertIsDefined=K.assertType=K.isUndefinedOrNull=K.isDefined=K.isUndefined=K.isBoolean=K.isIterable=K.isNumber=K.isTypedArray=K.isArray=K.isObject=K.getOwnEnumerableKeys=K.isRegexp=K.isStringArray=K.isNonEmptyString=K.isString=K.toString=void 0;var{toString:qT}=Object.prototype,{propertyIsEnumerable:$T}=Object.prototype;function um(t){return qT.call(t)}o(um,"toString");K.toString=um;function rs(t){return typeof t=="string"}o(rs,"isString");K.isString=rs;function jT(t){return rs(t)&&t!==""}o(jT,"isNonEmptyString");K.isNonEmptyString=jT;function VT(t){return Array.isArray(t)&&t.every(e=>rs(e))}o(VT,"isStringArray");K.isStringArray=VT;function BT(t){return um(t)==="[object RegExp]"}o(BT,"isRegexp");K.isRegexp=BT;function GT(t){return[...Object.keys(t),...Object.getOwnPropertySymbols(t).filter(e=>$T.call(t,e))]}o(GT,"getOwnEnumerableKeys");K.getOwnEnumerableKeys=GT;function El(t){return typeof t=="object"&&t!==null&&!Array.isArray(t)&&!(t instanceof RegExp)&&!(t instanceof Date)}o(El,"isObject");K.isObject=El;function KT(t){return El(t)&&Array.isArray(t)}o(KT,"isArray");K.isArray=KT;function JT(t){let e=Object.getPrototypeOf(Uint8Array);return typeof t=="object"&&t instanceof e}o(JT,"isTypedArray");K.isTypedArray=JT;function zT(t){return typeof t=="number"&&!isNaN(t)}o(zT,"isNumber");K.isNumber=zT;function WT(t){return!!t&&typeof t[Symbol.iterator]=="function"}o(WT,"isIterable");K.isIterable=WT;function QT(t){return t===!0||t===!1}o(QT,"isBoolean");K.isBoolean=QT;function lm(t){return typeof t>"u"}o(lm,"isUndefined");K.isUndefined=lm;function YT(t){return!Ii(t)}o(YT,"isDefined");K.isDefined=YT;function Ii(t){return lm(t)||t===null}o(Ii,"isUndefinedOrNull");K.isUndefinedOrNull=Ii;function ZT(t,e){if(!t)throw new Error(e?`Unexpected type, expected '${e}'`:"Unexpected type")}o(ZT,"assertType");K.assertType=ZT;function XT(t){if(Ii(t))throw new Error("Assertion Failed: argument is undefined or null");return t}o(XT,"assertIsDefined");K.assertIsDefined=XT;function eS(...t){let e=[];for(let r=0;r<t.length;r++){let n=t[r];if(Ii(n))throw new Error(`Assertion Failed: argument at index ${r} is undefined or null`);e.push(n)}return e}o(eS,"assertAllDefined");K.assertAllDefined=eS;var tS=Object.prototype.hasOwnProperty;function rS(t){if(!El(t))return!1;for(let e in t)if(tS.call(t,e))return!1;return!0}o(rS,"isEmptyObject");K.isEmptyObject=rS;function wl(t){return typeof t=="function"}o(wl,"isFunction");K.isFunction=wl;function nS(...t){return t.length>0&&t.every(wl)}o(nS,"areFunctions");K.areFunctions=nS;function iS(t,e){let r=Math.min(t.length,e.length);for(let n=0;n<r;n++)dm(t[n],e[n])}o(iS,"validateConstraints");K.validateConstraints=iS;function dm(t,e){if(rs(e)){if(typeof t!==e)throw new Error(`argument does not match constraint: typeof ${e}`)}else if(wl(e)){try{if(t instanceof e)return}catch{}if(!Ii(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(dm,"validateConstraint");K.validateConstraint=dm;function oS(t){return t===null?void 0:t}o(oS,"withNullAsUndefined");K.withNullAsUndefined=oS;function sS(t){return typeof t>"u"?null:t}o(sS,"withUndefinedAsNull");K.withUndefinedAsNull=sS;function aS(t){return!!t&&typeof t=="object"&&"name"in t&&"message"in t&&"stack"in t}o(aS,"isErrorLike");K.isErrorLike=aS});var Kt=_(Ot=>{"use strict";Object.defineProperty(Ot,"__esModule",{value:!0});Ot.parseValueToBoolean=Ot.parseValueToStringArray=Ot.getValueFromRequestUser=Ot.statusCodesStringToNumberArray=void 0;var fn=k(),vl=st(),pm=new Map;function cS(t){if(Array.isArray(t)&&!t.some(i=>typeof i!="number"))return t;if(typeof t!="string")throw new Error("Input must be a string or an array of numbers");if(!/^\d+(?:-\d+)?(?:,\s*\d+(?:-\d+)?)*$/.test(t))throw new Error("Malformed input string");let e=pm.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 pm.set(t,n),n}o(cS,"statusCodesStringToNumberArray");Ot.statusCodesStringToNumberArray=cS;function uS(t,e,r){if(!e.startsWith("."))throw new fn.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 fn.RuntimeError(`Error applying ${r} '${e}', reading '${s}'`);i=i[s]}),`${i}`}o(uS,"getValueFromRequestUser");Ot.getValueFromRequestUser=uS;function lS(t){if(Array.isArray(t)){if(t.includes(r=>typeof r!="string"))throw new fn.ConfigurationError("Received an array that contains non-string values.");return t}if((0,vl.isString)(t))return t.includes(",")?t.split(",").map(r=>r.trim()).filter(r=>r!==","&&r!==""):[t];throw new fn.ConfigurationError(`Expected type of string, received type '${typeof t}'`)}o(lS,"parseValueToStringArray");Ot.parseValueToStringArray=lS;function dS(t){if((0,vl.isBoolean)(t))return t;if((0,vl.isString)(t)){if(t.toLowerCase()==="true")return!0;if(t.toLowerCase()==="false")return!1;throw new fn.ConfigurationError(`Attempted to parse string to boolean, but received ${t} which cannot be parsed.`)}throw new fn.ConfigurationError(`Expected type of boolean, received type '${typeof t}'`)}o(dS,"parseValueToBoolean");Ot.parseValueToBoolean=dS});var is=_(ur=>{"use strict";Object.defineProperty(ur,"__esModule",{value:!0});ur.generateCorsHeaders=ur.findMatchingOrigin=ur.parseCorsPolicies=void 0;var jr=k(),fm=Kt(),ns=st();function pS(t){if(t==null)return[];if(!Array.isArray(t))throw new jr.ConfigurationError(`Invalid corsPolicy configuration. Expected an array of objects, received '${typeof t}'`);return t.map(r=>{if(!(0,ns.isObject)(r))throw new jr.ConfigurationError(`Invalid custom cors policy is set. Expected an object, received '${typeof r}'`);if(!(0,ns.isNonEmptyString)(r.name))throw new jr.ConfigurationError("Value of 'name' on custom cors policies must be a non-empty string.");if(r.maxAge!==void 0&&!(0,ns.isNumber)(r.maxAge))throw new jr.ConfigurationError(`Value of 'maxAge' on custom cors policies must be a non-empty string. Received type '${typeof r.maxAge}'`);if(r.allowCredentials!==void 0&&!(0,ns.isBoolean)(r.allowCredentials))throw new jr.ConfigurationError("Value of 'allowCredentials' on custom cors policies must be a boolean or not be set. If using an environment variable, check that it is set correctly.");let n=Tl(r,"allowedHeaders"),i=Tl(r,"allowedMethods"),s=Tl(r,"exposeHeaders"),a;try{a=(0,fm.parseValueToStringArray)(r.allowedOrigins)}catch(u){throw new jr.ConfigurationError(`Value of 'allowedOrigins' on custom cors policies is invalid. ${u.message} If using an environment variable, check that it is set correctly.`)}return{name:r.name,allowCredentials:typeof r.allowCredentials=="boolean"?String(r.allowCredentials):void 0,allowedOrigins:a,allowedHeaders:n?n.join(", "):void 0,allowedMethods:i?i.join(", "):void 0,exposeHeaders:s?s.join(", "):void 0,maxAge:typeof r.maxAge=="number"?r.maxAge.toString():void 0}})}o(pS,"parseCorsPolicies");ur.parseCorsPolicies=pS;function Tl(t,e){let r;if(t[e]!==void 0)try{r=(0,fm.parseValueToStringArray)(t[e])}catch(n){throw new jr.ConfigurationError(`Value of '${e}' on custom cors policies is invalid. ${n.message} If using an environment variable, check that it is set correctly.`)}return r}o(Tl,"parseOptionalProperty");var fS=o((t,e)=>{if(e===null)return;if(t.find(a=>a==="*"))return e;let n=t.map(a=>a.trim().toLowerCase()),i=e.toLowerCase();return n.find(a=>a===i)},"findMatchingOrigin");ur.findMatchingOrigin=fS;var hS=o((t,e)=>{let r={"access-control-allow-origin":e};t.allowedHeaders&&(r["access-control-allow-headers"]=t.allowedHeaders),t.allowedMethods&&(r["access-control-allow-methods"]=t.allowedMethods),t.exposeHeaders&&(r["access-control-expose-headers"]=t.exposeHeaders);let n=t.allowCredentials;n&&(r["access-control-allow-credentials"]=n);let i=t.maxAge?.toString()??void 0;return i&&(r["access-control-max-age"]=i),r},"generateCorsHeaders");ur.generateCorsHeaders=hS});var mm=_(os=>{"use strict";Object.defineProperty(os,"__esModule",{value:!0});os.registerCorsRoute=void 0;var mS=k(),yS=Bt(),Sl=pe(),gS=ar(),bS=$r(),_S=mt(),hm=is(),ES=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 Sl.HttpProblems.badRequest(a,c,{detail:"Expect headers origin and access-control-request-method"});let f=t.lookup(l,u);if(!f)return Sl.HttpProblems.notFound(a,c);let h=f.routeConfiguration,m=wS(l,d,p,h,r);return m.isValid?new Response(void 0,{status:200,statusText:"OK",headers:m.headers}):(m.error&&c.log.warn(m.error),Sl.HttpProblems.notFound(a,c))},"optionsHandler"),i=new yS.Pipeline({processors:[gS.metricsProcessor],handler:n,gateway:e}),s=new _S.SystemRouteConfiguration({label:"SYSTEM_CORS_ROUTE",methods:["OPTIONS"],path:"/(.*)",systemRouteName:bS.SystemRouteName.CorsPreflight});t.addRoute(s,i.execute)},"registerCorsRoute");os.registerCorsRoute=ES;var wS=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,error:`No CORS policy set for the route '${n.pathPattern}'`};let a=i?.find(l=>l.name===n.corsPolicy);if(!a)throw new mS.ConfigurationError(`Invalid Configuration - corsPolicy '${n.corsPolicy}' not found in *.oas.json 'corsPolicies' section.`);let c=(0,hm.findMatchingOrigin)(a.allowedOrigins,r);return c?{isValid:!0,headers:(0,hm.generateCorsHeaders)(a,c)}:{...s,error:`The CORS policy '${a.name}' does not allow the origin '${r}'`}},"validateAndBuildResponseHeaders")});var ym=_(ss=>{"use strict";Object.defineProperty(ss,"__esModule",{value:!0});ss.registerNoRoutes=void 0;var vS=Bt(),TS=ar(),SS=$r(),IS=mt(),PS=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 vS.Pipeline({processors:[TS.metricsProcessor],handler:r,gateway:e}),i=new IS.SystemRouteConfiguration({label:"SYSTEM_NO_ROUTES",methods:["CONNECT","DELETE","GET","HEAD","OPTIONS","PATCH","POST","PUT","TRACE"],path:"/(.*)",systemRouteName:SS.SystemRouteName.EmptyGatewayCatchall});t.addRoute(i,n.execute)},"registerNoRoutes");ss.registerNoRoutes=PS});var gm=_(Vr=>{"use strict";Object.defineProperty(Vr,"__esModule",{value:!0});Vr.registerNotMatchedHandler=Vr.notFoundRouteConfiguration=void 0;var AS=Hr(),RS=Rt(),OS=Bt(),NS=pe(),CS=ar(),xS=$r(),LS=mt();Vr.notFoundRouteConfiguration=new LS.SystemRouteConfiguration({label:"SYSTEM_NOT_FOUND_ROUTE",methods:["CONNECT","DELETE","GET","HEAD","OPTIONS","PATCH","POST","PUT","TRACE"],path:"/(.*)",systemRouteName:xS.SystemRouteName.UnmatchedPath});var DS=o((t,e)=>{let r=o(async(i,s)=>{let a=RS.runtimeExtensions.value?.notFoundHandler;if(a){let c=AS.ZuploContextExtensions.getContextExtensions(s);return a(i,s,{routesMatchedByPathOnly:c.pathOnlyMatches??[]})}return NS.HttpProblems.notFound(i,s)},"notFoundHandler"),n=new OS.Pipeline({processors:[CS.metricsProcessor],handler:r,gateway:e});t.addRoute(Vr.notFoundRouteConfiguration,n.execute)},"registerNotMatchedHandler");Vr.registerNotMatchedHandler=DS});var Il=_(as=>{"use strict";Object.defineProperty(as,"__esModule",{value:!0});as.corsProcessor=void 0;var Em=k(),bm=is(),MS=["access-control-allow-origin","access-control-allow-headers","access-control-expose-headers","access-control-allow-credentials","access-control-max-age"],_m=o(t=>{MS.forEach(e=>t.delete(e))},"stripCorsHeaders"),US=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 _m(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 Em.SystemError(`The CorsProcessor is in the wrong place in the pipeline. It should only receive HttpResponse type but got '${typeof s}'`);let a=kS(i,r.routeData.corsPolicies),c=FS(t,a),u=new Headers(s.headers);return _m(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");as.corsProcessor=US;var kS=o((t,e)=>{if(t.corsPolicy==="anything-goes")return{name:"anything-goes",allowedHeaders:"*",allowedOrigins:["*"],allowedMethods:t.methods.join(", "),exposeHeaders:"*",allowCredentials:"true",maxAge:"600"};let r=e?.find(n=>n.name===t.corsPolicy);if(r===void 0)throw new Em.ConfigurationError(`Invalid Configuration - no corsPolicy '${t.corsPolicy}' found in *.oas.json`);return r},"getCorsPolicy"),FS=o((t,e)=>{let r=(0,bm.findMatchingOrigin)(e.allowedOrigins,t.headers.get("origin"));return r?(0,bm.generateCorsHeaders)(e,r):{}},"getCorsHeaders")});var wm=_(cs=>{"use strict";Object.defineProperty(cs,"__esModule",{value:!0});cs.registerPingRoute=void 0;var HS=Bt(),qS=Il(),$S=$r(),jS=mt(),VS=o((t,e)=>{let r=o(async()=>new Response(null,{status:200}),"pingRouteHandler"),n=new HS.Pipeline({processors:[qS.corsProcessor],handler:r,gateway:e}),i=new jS.SystemRouteConfiguration({corsPolicy:"anything-goes",label:"SYSTEM_PING_ROUTE",methods:["GET"],path:"/__zuplo/ping",systemRouteName:$S.SystemRouteName.Ping});t.addRoute(i,n.execute)},"registerPingRoute");cs.registerPingRoute=VS});var mn=_(hn=>{"use strict";Object.defineProperty(hn,"__esModule",{value:!0});hn.OutboundPolicy=hn.InboundPolicy=void 0;var BS=k(),GS=st(),us=class{static{o(this,"PolicyBase")}options;policyName;constructor(e,r){if(!(0,GS.isString)(r))throw new BS.RuntimeError(`The name of a policy must be a string. Received '${r}' of type '${typeof r}'`);this.options=e,this.policyName=r}},Pl=class extends us{static{o(this,"InboundPolicy")}};hn.InboundPolicy=Pl;var Al=class extends us{static{o(this,"OutboundPolicy")}};hn.OutboundPolicy=Al});var yn=_(yt=>{"use strict";Object.defineProperty(yt,"__esModule",{value:!0});yt.createInternalPolicyProcessor=yt.policyProcessor=yt.toStackedInboundHandler=yt.getInboundPolicyInstances=void 0;var KS=Hr(),qe=k(),ls=mn(),vm=Ge(),JS=ie(),Nl=class extends ls.InboundPolicy{static{o(this,"InboundFunctionOnlyPolicy")}#e;constructor(e,r,n){super(r,n),this.#e=e}handler(e,r){return this.#e(e,r,this.options,this.policyName)}},Cl=class extends ls.OutboundPolicy{static{o(this,"OutboundFunctionOnlyPolicy")}#e;constructor(e,r,n){super(r,n),this.#e=e}handler(e,r,n){return this.#e(e,r,n,this.options,this.policyName)}},Rl=new Map;function Tm(t,e){let r,n;return Array.isArray(t)?r=t:(r=t.policies?.inbound??[],n=t.path),r.filter(s=>!Rl.has(s)).forEach(s=>{let a=e?.find(l=>l.name===s);if(!a)throw new qe.ConfigurationError(`Invalid state - no Policy with the name '${s}' ${n&&`on route '${n}'`} was found in the policies configuration (check case).`);if(typeof a.handler?.module!="object")throw new qe.ConfigurationError(`Invalid state - invalid policy '${s}' on route '${n}' (typeof policy '${typeof a.handler?.module}')`);let c=a.handler?.module[a.handler.export];if(typeof c!="function")throw new qe.ConfigurationError(`Invalid state - invalid policy '${s}' on route '${n}' (typeof module '${typeof c}')`);let u;if(typeof c!="function")throw new qe.ConfigurationError(`Invalid state - invalid policy '${s}' on route '${n}' (typeof module '${typeof c}')`);if(c.prototype instanceof ls.InboundPolicy)u=new c(a.handler.options,a.name);else if(typeof c=="function")u=new Nl(c,a.handler.options,a.name);else throw new qe.ConfigurationError(`Invalid state - invalid policy '${s}' on route '${n}' (typeof policy '${typeof c}')`);if(typeof u.handler!="function")throw new qe.ConfigurationError(`Invalid state - invalid handler on policy '${s}' on route '${n}' (typeof handler '${typeof u.handler}')`);Rl.set(a.name,u)}),r.map(s=>{let a=Rl.get(s);if(a===void 0)throw new qe.RuntimeError("Internal error. Policy not found in cache.");return a})}o(Tm,"getInboundPolicyInstances");yt.getInboundPolicyInstances=Tm;var Ol=new Map;function zS(t,e){let r=t.policies?.outbound??[];return r.filter(i=>!Ol.has(i)).forEach(i=>{let s=e?.find(u=>u.name===i);if(!s)throw new qe.ConfigurationError(`Invalid state - no Policy with the name '${i}' on route '${t.path}' was found in the policies configuration (check case).`);if(typeof s.handler?.module!="object")throw new qe.ConfigurationError(`Invalid state - invalid policy '${i}' on route '${t.path}' (typeof policy '${typeof s.handler?.module}')`);let a=s.handler?.module[s.handler.export],c;if(typeof a!="function")throw new qe.ConfigurationError(`Invalid state - invalid policy '${i}' on route '${t.path}' (typeof module '${typeof a}')`);if(a.prototype instanceof ls.OutboundPolicy)c=new a(s.handler.options??{},s.name);else if(typeof a=="function")c=new Cl(a,s.handler.options??{},s.name);else throw new qe.ConfigurationError(`Invalid state - invalid policy '${i}' on route '${t.path}' (typeof policy '${typeof a}')`);if(typeof c.handler!="function")throw new qe.ConfigurationError(`Invalid state - invalid handler on policy '${i}' on route '${t.path}'`);Ol.set(s.name,c)}),r.map(i=>{let s=Ol.get(i);if(s===void 0)throw new qe.RuntimeError("Internal error. Policy not found in cache.");return s})}o(zS,"getOutboundPolicyInstances");var WS=o(t=>async(e,r)=>{let n=KS.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);if(c instanceof vm.ZuploRequest)s=c;else if(c instanceof Request)s=new vm.ZuploRequest(c);else{if(c instanceof Response)return c;throw new qe.ConfigurationError(`Invalid state - invalid handler on policy '${a.policyName}' on route '${r.route.path}. The result of an inbound policy must be a Response or Request.`)}n.latestRequest=s}return s},"toStackedInboundHandler");yt.toStackedInboundHandler=WS;var QS=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);if(!(c instanceof Response))throw new qe.ConfigurationError(`Invalid state - invalid handler on policy '${a.policyName}' on route '${n.route.path}. The result of an outbound policy must be a Response.`);s=c}return s},"toStackedOutboundHandler"),YS=o(async(t,e,r,n)=>{let i=Tm(e.route,r.routeData.policies),s=zS(e.route,r.routeData.policies);return Sm({request:t,context:e,inboundPolicies:i,outboundPolicies:s,gateway:r,next:n})},"policyProcessor");yt.policyProcessor=YS;function ZS({inboundPolicies:t=[],outboundPolicies:e=[]}){return o(async(n,i,s,a)=>Sm({request:n,context:i,inboundPolicies:t,outboundPolicies:e,gateway:s,next:a}),"policyProcessor")}o(ZS,"createInternalPolicyProcessor");yt.createInternalPolicyProcessor=ZS;async function Sm({request:t,context:e,inboundPolicies:r,outboundPolicies:n,gateway:i,next:s}){let a=(0,yt.toStackedInboundHandler)(r);try{let c=await a(t,e);if(c instanceof Response)return c;let u=await s(c),l=QS(n),d;return JS.Environment.instance.build.COMPATIBILITY_FLAGS.runOutboundPoliciesOnHandlerOnAllStatuses?d=l(u,t,e):d=u.ok?l(u,t,e):u,d}catch(c){return e.log.error(c),i.errorHandler(t,e,c)}}o(Sm,"executePolicyProcessor")});var Im=_(gn=>{"use strict";Object.defineProperty(gn,"__esModule",{value:!0});gn.serialize=gn.parse=void 0;var XS=Object.prototype.toString,ds=/^[\u0009\u0020-\u007e\u0080-\u00ff]+$/;function eI(t,e){if(typeof t!="string")throw new TypeError("argument str must be a string");let r={},i=(e||{}).decode||rI,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]=oI(l,i)}s=c+1}return r}o(eI,"parse");gn.parse=eI;function tI(t,e,r){let n=r||{},i=n.encode||nI;if(typeof i!="function")throw new TypeError("option encode is invalid");if(!ds.test(t))throw new TypeError("argument name is invalid");let s=i(e);if(s&&!ds.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(!ds.test(n.domain))throw new TypeError("option domain is invalid");a+="; Domain="+n.domain}if(n.path){if(!ds.test(n.path))throw new TypeError("option path is invalid");a+="; Path="+n.path}if(n.expires){let c=n.expires;if(!iI(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(tI,"serialize");gn.serialize=tI;function rI(t){return t.indexOf("%")!==-1?decodeURIComponent(t):t}o(rI,"decode");function nI(t){return encodeURIComponent(t)}o(nI,"encode");function iI(t){return XS.call(t)==="[object Date]"||t instanceof Date}o(iI,"isDate");function oI(t,e){try{return e(t)}catch{return t}}o(oI,"tryDecode")});var Pm=_(ps=>{"use strict";Object.defineProperty(ps,"__esModule",{value:!0});ps.devPortalBaseURL=void 0;var sI=Im();function aI(t,e){try{let r=/v\d+(-\d+)?/g,i=(0,sI.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(aI,"devPortalBaseURL");ps.devPortalBaseURL=aI});var Cm=_(bn=>{"use strict";Object.defineProperty(bn,"__esModule",{value:!0});bn.registerDevPortalLegacyRedirectRoute=bn.registerDevPortalV3Route=void 0;var xl=Gt(),Rm=Bt(),Om=ar(),cI=yn(),Nm=mt(),uI=Pm(),lr=ie(),Am="/__zuplo/dev-portal",lI="dev-portal-id",dI="dev-portal-host",pI="zp-account",fI="zp-project",hI="dev-portal-build",mI=`
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
- `,mI=o((t,e)=>{let{sitePathname:r}=e.runtimeSettings.developerPortal,n=lr.Environment.instance.deploymentName,i=lr.Environment.instance.devPortalBaseUrl,s=o(async(u,l)=>{if(lr.Environment.instance.isLocalDevelopment)return new Response(hI,{headers:{"content-type":"text/html"}});if(!n)return xl.HttpProblems.internalServerError(u,l,{detail:"Unable to retrieve deployment name. Please contact support for assistance."});let d=new URL(u.url),p=(0,cI.devPortalBaseURL)(i,u.headers),f=new URL(`${d.pathname}${d.search}`,p),{headers:h,method:m,body:b}=u;return lr.Environment.instance.build.ACCOUNT_NAME&&h.set(dI,lr.Environment.instance.build.ACCOUNT_NAME),lr.Environment.instance.build.PROJECT_NAME&&h.set(pI,lr.Environment.instance.build.PROJECT_NAME),h.set(uI,n),h.set(lI,d.host),h.set(fI,lr.Environment.instance.build.BUILD_ID),await fetch(f.toString(),{headers:h,method:m,body:b,redirect:"manual"})},"devPortalRoute"),a=new Rm.Pipeline({processors:[Om.metricsProcessor,aI.policyProcessor],handler:s,gateway:e}),c=new Nm.SystemRouteConfiguration({label:"SYSTEM_API_DOCS_V3_ROUTE",methods:["GET","PUT","POST","DELETE","PATCH","HEAD"],path:`(${r}|/_next)(.*)`,systemRouteName:xl.SystemRouteName.DeveloperPortal});t.addRoute(c,a.execute)},"registerDevPortalV3Route");bn.registerDevPortalV3Route=mI;var yI=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(Am.length)}`,Response.redirect(c.toString(),302)},"devPortalRedirectRoute"),i=new Rm.Pipeline({processors:[Om.metricsProcessor],handler:n,gateway:e}),s=new Nm.SystemRouteConfiguration({label:"SYSTEM_API_DOCS_REDIRECT_ROUTE",methods:["GET"],path:`${Am}(.*)`,systemRouteName:xl.SystemRouteName.DeveloperPortalLegacy});t.addRoute(s,i.execute)},"registerDevPortalLegacyRedirectRoute");bn.registerDevPortalLegacyRedirectRoute=yI});var Ll=_(_n=>{"use strict";Object.defineProperty(_n,"__esModule",{value:!0});_n.API_KEY=_n.SYSTEM_LOGGER=void 0;_n.SYSTEM_LOGGER="system-logger";_n.API_KEY="api-key"});var xm=_(fs=>{"use strict";Object.defineProperty(fs,"__esModule",{value:!0});fs.CoreLogger=void 0;var Dl=0,Ml=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){Dl>=Number.MAX_SAFE_INTEGER&&(Dl=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:Dl++};this.#t[e](c,a)}};fs.CoreLogger=Ml});var Jt=_(hs=>{"use strict";Object.defineProperty(hs,"__esModule",{value:!0});hs.LogPlugin=void 0;var gI=Rt(),Ul=class extends gI.RuntimePlugin{static{o(this,"LogPlugin")}};hs.LogPlugin=Ul});var Lm=_(ms=>{"use strict";Object.defineProperty(ms,"__esModule",{value:!0});ms.LoggingContext=void 0;var kl=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)}};ms.LoggingContext=kl});var Dm=_(ys=>{"use strict";Object.defineProperty(ys,"__esModule",{value:!0});ys.RequestLogger=void 0;var Fl=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)}};ys.RequestLogger=Fl});var Br=_(dr=>{"use strict";Object.defineProperty(dr,"__esModule",{value:!0});dr.cleanStack=dr.serializeError=dr.NonError=void 0;var Mm=st(),bI=[EvalError,RangeError,ReferenceError,SyntaxError,TypeError,URIError].filter(Boolean).map(t=>[t.name,t]),_I=new Map(bI),Hl=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)}}};dr.NonError=Hl;var EI=[{property:"name",enumerable:!1},{property:"message",enumerable:!1},{property:"stack",enumerable:!1},{property:"code",enumerable:!0},{property:"cause",enumerable:!1}],ql=Symbol(".toJSON was called"),wI=o(t=>{t[ql]=!0;let e=t.toJSON();return delete t[ql],e},"toJSON"),vI=o(t=>_I.get(t)??Error,"getErrorConstructor"),Um=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,Mm.isErrorLike)(t)){let l=vI(t.name);r=new l}else r={};if(e.push(t),s>=i)return r;if(a&&typeof t.toJSON=="function"&&t[ql]!==!0)return wI(t);let u=o(l=>Um({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 EI)typeof t[l]<"u"&&t[l]!==null&&Object.defineProperty(r,l,{value:(0,Mm.isErrorLike)(t[l])?u(t[l]):t[l],enumerable:n?!0:d,configurable:!0,writable:!0});return r},"destroyCircular");function TI(t,e){let r=e?.maxDepth??Number.POSITIVE_INFINITY,n=e?.useToJSON??!0;return typeof t=="object"&&t!==null?Um({from:t,seen:[],forceEnumerable:!0,maxDepth:r,depth:0,useToJSON:n,serialize:!0}):typeof t=="function"?`[Function: ${t.name??"anonymous"}]`:t}o(TI,"serializeError");dr.serializeError=TI;var SI=/file:\/\/\/(.*?)\/dist\//g,II=/\(https:\/\/raw\.githubusercontent\.com\/.*?\)/g,PI="at async Event.respondWith";function AI(t){return typeof t!="string"?t:t.split(`
50
- `).filter(e=>!e.trim().startsWith("at async file")).map((e,r)=>{let n=e.replaceAll(SI,"").replaceAll(II,"").replaceAll(PI,"").trim();return r===0||n.length===0?n:` ${n}`}).filter(e=>e.length>0).join(`
51
- `)}o(AI,"cleanStack");dr.cleanStack=AI});var km=_(jl=>{"use strict";Object.defineProperty(jl,"__esModule",{value:!0});var $l=st();function RI(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:`
49
+ `,yI=o((t,e)=>{let{sitePathname:r}=e.runtimeSettings.developerPortal,n=lr.Environment.instance.deploymentName,i=lr.Environment.instance.devPortalBaseUrl,s=o(async(u,l)=>{if(lr.Environment.instance.isLocalDevelopment)return new Response(mI,{headers:{"content-type":"text/html"}});if(!n)return xl.HttpProblems.internalServerError(u,l,{detail:"Unable to retrieve deployment name. Please contact support for assistance."});let d=new URL(u.url),p=(0,uI.devPortalBaseURL)(i,u.headers),f=new URL(`${d.pathname}${d.search}`,p),{headers:h,method:m,body:b}=u;return lr.Environment.instance.build.ACCOUNT_NAME&&h.set(pI,lr.Environment.instance.build.ACCOUNT_NAME),lr.Environment.instance.build.PROJECT_NAME&&h.set(fI,lr.Environment.instance.build.PROJECT_NAME),h.set(lI,n),h.set(dI,d.host),h.set(hI,lr.Environment.instance.build.BUILD_ID),await fetch(f.toString(),{headers:h,method:m,body:b,redirect:"manual"})},"devPortalRoute"),a=new Rm.Pipeline({processors:[Om.metricsProcessor,cI.policyProcessor],handler:s,gateway:e}),c=new Nm.SystemRouteConfiguration({label:"SYSTEM_API_DOCS_V3_ROUTE",methods:["GET","PUT","POST","DELETE","PATCH","HEAD"],path:`(${r}|/_next)(.*)`,systemRouteName:xl.SystemRouteName.DeveloperPortal});t.addRoute(c,a.execute)},"registerDevPortalV3Route");bn.registerDevPortalV3Route=yI;var gI=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(Am.length)}`,Response.redirect(c.toString(),302)},"devPortalRedirectRoute"),i=new Rm.Pipeline({processors:[Om.metricsProcessor],handler:n,gateway:e}),s=new Nm.SystemRouteConfiguration({label:"SYSTEM_API_DOCS_REDIRECT_ROUTE",methods:["GET"],path:`${Am}(.*)`,systemRouteName:xl.SystemRouteName.DeveloperPortalLegacy});t.addRoute(s,i.execute)},"registerDevPortalLegacyRedirectRoute");bn.registerDevPortalLegacyRedirectRoute=gI});var Ll=_(_n=>{"use strict";Object.defineProperty(_n,"__esModule",{value:!0});_n.API_KEY=_n.SYSTEM_LOGGER=void 0;_n.SYSTEM_LOGGER="system-logger";_n.API_KEY="api-key"});var xm=_(fs=>{"use strict";Object.defineProperty(fs,"__esModule",{value:!0});fs.CoreLogger=void 0;var Dl=0,Ml=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){Dl>=Number.MAX_SAFE_INTEGER&&(Dl=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:Dl++};this.#t[e](c,a)}};fs.CoreLogger=Ml});var Jt=_(hs=>{"use strict";Object.defineProperty(hs,"__esModule",{value:!0});hs.LogPlugin=void 0;var bI=Rt(),Ul=class extends bI.RuntimePlugin{static{o(this,"LogPlugin")}};hs.LogPlugin=Ul});var Lm=_(ms=>{"use strict";Object.defineProperty(ms,"__esModule",{value:!0});ms.LoggingContext=void 0;var kl=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)}};ms.LoggingContext=kl});var Dm=_(ys=>{"use strict";Object.defineProperty(ys,"__esModule",{value:!0});ys.RequestLogger=void 0;var Fl=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)}};ys.RequestLogger=Fl});var Br=_(dr=>{"use strict";Object.defineProperty(dr,"__esModule",{value:!0});dr.cleanStack=dr.serializeError=dr.NonError=void 0;var Mm=st(),_I=[EvalError,RangeError,ReferenceError,SyntaxError,TypeError,URIError].filter(Boolean).map(t=>[t.name,t]),EI=new Map(_I),Hl=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)}}};dr.NonError=Hl;var wI=[{property:"name",enumerable:!1},{property:"message",enumerable:!1},{property:"stack",enumerable:!1},{property:"code",enumerable:!0},{property:"cause",enumerable:!1}],ql=Symbol(".toJSON was called"),vI=o(t=>{t[ql]=!0;let e=t.toJSON();return delete t[ql],e},"toJSON"),TI=o(t=>EI.get(t)??Error,"getErrorConstructor"),Um=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,Mm.isErrorLike)(t)){let l=TI(t.name);r=new l}else r={};if(e.push(t),s>=i)return r;if(a&&typeof t.toJSON=="function"&&t[ql]!==!0)return vI(t);let u=o(l=>Um({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 wI)typeof t[l]<"u"&&t[l]!==null&&Object.defineProperty(r,l,{value:(0,Mm.isErrorLike)(t[l])?u(t[l]):t[l],enumerable:n?!0:d,configurable:!0,writable:!0});return r},"destroyCircular");function SI(t,e){let r=e?.maxDepth??Number.POSITIVE_INFINITY,n=e?.useToJSON??!0;return typeof t=="object"&&t!==null?Um({from:t,seen:[],forceEnumerable:!0,maxDepth:r,depth:0,useToJSON:n,serialize:!0}):typeof t=="function"?`[Function: ${t.name??"anonymous"}]`:t}o(SI,"serializeError");dr.serializeError=SI;var II=/file:\/\/\/(.*?)\/dist\//g,PI=/\(https:\/\/raw\.githubusercontent\.com\/.*?\)/g,AI="at async Event.respondWith";function RI(t){return typeof t!="string"?t:t.split(`
50
+ `).filter(e=>!e.trim().startsWith("at async file")).map((e,r)=>{let n=e.replaceAll(II,"").replaceAll(PI,"").replaceAll(AI,"").trim();return r===0||n.length===0?n:` ${n}`}).filter(e=>e.length>0).join(`
51
+ `)}o(RI,"cleanStack");dr.cleanStack=RI});var km=_(jl=>{"use strict";Object.defineProperty(jl,"__esModule",{value:!0});var $l=st();function OI(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 f=o(h=>{if(c.inlineCharacterLimit===void 0)return h;let m=h.replace(new RegExp(p.newline,"g"),"").replace(new RegExp(p.newlineOrSpace,"g")," ").replace(new RegExp(p.pad+"|"+p.indent,"g"),"");return m.length<=c.inlineCharacterLimit?m:h.replace(new RegExp(p.newline+"|"+p.newlineOrSpace,"g"),`
54
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,$l.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 h="["+p.newline+a.map((m,b)=>{let v=a.length-1===b?p.newline:","+p.newlineOrSpace,A=s(m,c,u+d,l+1);return c.transform&&(A=c.transform(a,b,A)),p.indent+A+v}).join("")+p.pad+"]";return n.pop(),f(h)}if((0,$l.isObject)(a)){let h=(0,$l.getOwnEnumerableKeys)(a);if(c.filter&&(h=h.filter(b=>c.filter?.(a,b))),h.length===0)return"{}";n.push(a);let m="{"+p.newline+h.map((b,v)=>{let A=h.length-1===v?p.newline:","+p.newlineOrSpace,g=typeof b=="symbol",S=!g&&/^[a-z$_][$\w]*$/i.test(b),O=g||S?b:s(b,c,"",l+1),V=s(a[b],c,u+d,l+1);return c.transform&&(V=c.transform(a,b,V)),p.indent+String(O)+": "+V+A}).join("")+p.pad+"}";return n.pop(),f(m)}return a=a.replace(/\\/g,"\\\\"),a=String(a).replace(/[\r\n]/g,h=>h===`
55
- `?"\\n":"\\r"),c.singleQuotes===!1?(a=a.replace(/"/g,'\\"'),`"${a}"`):(a=a.replace(/'/g,"\\'"),`'${a}'`)},"stringify")(t,e,r,0)}o(RI,"stringifyObject");jl.default=RI});var Nt=_(Ke=>{"use strict";var OI=Ke&&Ke.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(Ke,"__esModule",{value:!0});Ke.stringifyNonStringToText=Ke.stringifyNonString=Ke.messagesToMultilineText=Ke.extractBestMessage=Ke.makeErrorsSerializable=void 0;var Vl=Br(),Fm=OI(km()),Hm=st();function NI(t){return t.map(e=>(0,Vl.serializeError)(e))}o(NI,"makeErrorsSerializable");Ke.makeErrorsSerializable=NI;function CI(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:qm((0,Vl.serializeError)(e))}o(CI,"extractBestMessage");Ke.extractBestMessage=CI;function xI(t){let e=[];return t.forEach(r=>{if(typeof r=="string")e.push(r);else if((0,Hm.isErrorLike)(r))if(r.stack)e.push(r.stack);else{let n=(0,Fm.default)((0,Vl.serializeError)(r));e.push(n)}else if(typeof r=="object"){let n=(0,Fm.default)(r);e.push(n)}else{let n=$m(r);e.push(n)}}),e.join(`
56
- `)}o(xI,"messagesToMultilineText");Ke.messagesToMultilineText=xI;function qm(t){return typeof t=="string"?t:JSON.stringify(t)}o(qm,"stringifyNonString");Ke.stringifyNonString=qm;function $m(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,Hm.toString)(t):"unknown"}o($m,"stringifyNonStringToText");Ke.stringifyNonStringToText=$m});var G,me,Ce=L(()=>{G=crypto,me=o(t=>t instanceof CryptoKey,"isCryptoKey")});var LI,gs,Bl=L(()=>{Ce();LI=o(async(t,e)=>{let r=`SHA-${t.slice(-3)}`;return new Uint8Array(await G.subtle.digest(r,e))},"digest"),gs=LI});function xe(...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 jm(t,e){return xe(ae.encode(t),new Uint8Array([0]),e)}function Gl(t,e,r){if(e<0||e>=bs)throw new RangeError(`value must be >= 0 and <= ${bs-1}. Received ${e}`);t.set([e>>>24,e>>>16,e>>>8,e&255],r)}function _s(t){let e=Math.floor(t/bs),r=t%bs,n=new Uint8Array(8);return Gl(n,e,0),Gl(n,r,4),n}function Es(t){let e=new Uint8Array(4);return Gl(e,t),e}function ws(t){return xe(Es(t.length),t)}async function Vm(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(Es(s+1)),a.set(t,4),a.set(r,4+t.length),i.set(await gs("sha256",a),s*32)}return i.slice(0,e>>3)}var ae,ge,bs,Ie=L(()=>{Bl();ae=new TextEncoder,ge=new TextDecoder,bs=2**32;o(xe,"concat");o(jm,"p2s");o(Gl,"writeUInt32BE");o(_s,"uint64be");o(Es,"uint32be");o(ws,"lengthAndInput");o(Vm,"concatKdf")});var vs,ce,Kl,de,Le=L(()=>{Ie();vs=o(t=>{let e=t;typeof e=="string"&&(e=ae.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"),ce=o(t=>vs(t).replace(/=/g,"").replace(/\+/g,"-").replace(/\//g,"_"),"encode"),Kl=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"),de=o(t=>{let e=t;e instanceof Uint8Array&&(e=ge.decode(e)),e=e.replace(/-/g,"+").replace(/_/g,"/").replace(/\s/g,"");try{return Kl(e)}catch{throw new TypeError("The input to be decoded is not correctly encoded.")}},"decode")});var Jl={};So(Jl,{JOSEAlgNotAllowed:()=>pr,JOSEError:()=>ve,JOSENotSupported:()=>J,JWEDecryptionFailed:()=>zt,JWEInvalid:()=>F,JWKInvalid:()=>Pi,JWKSInvalid:()=>fr,JWKSMultipleMatchingKeys:()=>Ai,JWKSNoMatchingKey:()=>Gr,JWKSTimeout:()=>Ri,JWSInvalid:()=>ne,JWSSignatureVerificationFailed:()=>Kr,JWTClaimValidationFailed:()=>Pe,JWTExpired:()=>En,JWTInvalid:()=>_e});var ve,Pe,En,pr,J,zt,F,ne,_e,Pi,fr,Gr,Ai,Ri,Kr,Y=L(()=>{ve=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)}},Pe=class extends ve{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}},En=class extends ve{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}},pr=class extends ve{static{o(this,"JOSEAlgNotAllowed")}constructor(){super(...arguments),this.code="ERR_JOSE_ALG_NOT_ALLOWED"}static get code(){return"ERR_JOSE_ALG_NOT_ALLOWED"}},J=class extends ve{static{o(this,"JOSENotSupported")}constructor(){super(...arguments),this.code="ERR_JOSE_NOT_SUPPORTED"}static get code(){return"ERR_JOSE_NOT_SUPPORTED"}},zt=class extends ve{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"}},F=class extends ve{static{o(this,"JWEInvalid")}constructor(){super(...arguments),this.code="ERR_JWE_INVALID"}static get code(){return"ERR_JWE_INVALID"}},ne=class extends ve{static{o(this,"JWSInvalid")}constructor(){super(...arguments),this.code="ERR_JWS_INVALID"}static get code(){return"ERR_JWS_INVALID"}},_e=class extends ve{static{o(this,"JWTInvalid")}constructor(){super(...arguments),this.code="ERR_JWT_INVALID"}static get code(){return"ERR_JWT_INVALID"}},Pi=class extends ve{static{o(this,"JWKInvalid")}constructor(){super(...arguments),this.code="ERR_JWK_INVALID"}static get code(){return"ERR_JWK_INVALID"}},fr=class extends ve{static{o(this,"JWKSInvalid")}constructor(){super(...arguments),this.code="ERR_JWKS_INVALID"}static get code(){return"ERR_JWKS_INVALID"}},Gr=class extends ve{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"}},Ai=class extends ve{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"}},Ri=class extends ve{static{o(this,"JWKSTimeout")}constructor(){super(...arguments),this.code="ERR_JWKS_TIMEOUT",this.message="request timed out"}static get code(){return"ERR_JWKS_TIMEOUT"}},Kr=class extends ve{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 hr,Oi=L(()=>{Ce();hr=G.getRandomValues.bind(G)});function zl(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 J(`Unsupported JWE Algorithm: ${t}`)}}var Ts,Ss=L(()=>{Y();Oi();o(zl,"bitLength");Ts=o(t=>hr(new Uint8Array(zl(t)>>3)),"default")});var DI,Is,Wl=L(()=>{Y();Ss();DI=o((t,e)=>{if(e.length<<3!==zl(t))throw new F("Invalid Initialization Vector length")},"checkIvLength"),Is=DI});var MI,wn,Ql=L(()=>{Y();MI=o((t,e)=>{let r=t.byteLength<<3;if(r!==e)throw new F(`Invalid Content Encryption Key length. Expected ${e} bits, got ${r} bits`)},"checkCekLength"),wn=MI});var UI,Gm,Km=L(()=>{UI=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"),Gm=UI});function De(t,e="algorithm.name"){return new TypeError(`CryptoKey does not support this operation, its ${e} must be ${t}`)}function mr(t,e){return t.name===e}function Ps(t){return parseInt(t.name.slice(4),10)}function kI(t){switch(t){case"ES256":return"P-256";case"ES384":return"P-384";case"ES512":return"P-521";default:throw new Error("unreachable")}}function Jm(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 zm(t,e,...r){switch(e){case"HS256":case"HS384":case"HS512":{if(!mr(t.algorithm,"HMAC"))throw De("HMAC");let n=parseInt(e.slice(2),10);if(Ps(t.algorithm.hash)!==n)throw De(`SHA-${n}`,"algorithm.hash");break}case"RS256":case"RS384":case"RS512":{if(!mr(t.algorithm,"RSASSA-PKCS1-v1_5"))throw De("RSASSA-PKCS1-v1_5");let n=parseInt(e.slice(2),10);if(Ps(t.algorithm.hash)!==n)throw De(`SHA-${n}`,"algorithm.hash");break}case"PS256":case"PS384":case"PS512":{if(!mr(t.algorithm,"RSA-PSS"))throw De("RSA-PSS");let n=parseInt(e.slice(2),10);if(Ps(t.algorithm.hash)!==n)throw De(`SHA-${n}`,"algorithm.hash");break}case"EdDSA":{if(t.algorithm.name!=="Ed25519"&&t.algorithm.name!=="Ed448")throw De("Ed25519 or Ed448");break}case"ES256":case"ES384":case"ES512":{if(!mr(t.algorithm,"ECDSA"))throw De("ECDSA");let n=kI(e);if(t.algorithm.namedCurve!==n)throw De(n,"algorithm.namedCurve");break}default:throw new TypeError("CryptoKey does not support this operation")}Jm(t,r)}function Je(t,e,...r){switch(e){case"A128GCM":case"A192GCM":case"A256GCM":{if(!mr(t.algorithm,"AES-GCM"))throw De("AES-GCM");let n=parseInt(e.slice(1,4),10);if(t.algorithm.length!==n)throw De(n,"algorithm.length");break}case"A128KW":case"A192KW":case"A256KW":{if(!mr(t.algorithm,"AES-KW"))throw De("AES-KW");let n=parseInt(e.slice(1,4),10);if(t.algorithm.length!==n)throw De(n,"algorithm.length");break}case"ECDH":{switch(t.algorithm.name){case"ECDH":case"X25519":case"X448":break;default:throw De("ECDH, X25519, or X448")}break}case"PBES2-HS256+A128KW":case"PBES2-HS384+A192KW":case"PBES2-HS512+A256KW":if(!mr(t.algorithm,"PBKDF2"))throw De("PBKDF2");break;case"RSA-OAEP":case"RSA-OAEP-256":case"RSA-OAEP-384":case"RSA-OAEP-512":{if(!mr(t.algorithm,"RSA-OAEP"))throw De("RSA-OAEP");let n=parseInt(e.slice(9),10)||1;if(Ps(t.algorithm.hash)!==n)throw De(`SHA-${n}`,"algorithm.hash");break}default:throw new TypeError("CryptoKey does not support this operation")}Jm(t,r)}var yr=L(()=>{o(De,"unusable");o(mr,"isAlgorithm");o(Ps,"getHashLength");o(kI,"getNamedCurve");o(Jm,"checkUsage");o(zm,"checkSigCryptoKey");o(Je,"checkEncCryptoKey")});function Wm(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 Yl(t,e,...r){return Wm(`Key for the ${t} algorithm must be `,e,...r)}var fe,gt=L(()=>{o(Wm,"message");fe=o((t,...e)=>Wm("Key must be ",t,...e),"default");o(Yl,"withAlg")});var Zl,oe,bt=L(()=>{Ce();Zl=o(t=>me(t),"default"),oe=["CryptoKey"]});async function FI(t,e,r,n,i,s){if(!(e instanceof Uint8Array))throw new TypeError(fe(e,"Uint8Array"));let a=parseInt(t.slice(1,4),10),c=await G.subtle.importKey("raw",e.subarray(a>>3),"AES-CBC",!1,["decrypt"]),u=await G.subtle.importKey("raw",e.subarray(0,a>>3),{hash:`SHA-${a<<1}`,name:"HMAC"},!1,["sign"]),l=xe(s,n,r,_s(s.length<<3)),d=new Uint8Array((await G.subtle.sign("HMAC",u,l)).slice(0,a>>3)),p;try{p=Gm(i,d)}catch{}if(!p)throw new zt;let f;try{f=new Uint8Array(await G.subtle.decrypt({iv:n,name:"AES-CBC"},c,r))}catch{}if(!f)throw new zt;return f}async function HI(t,e,r,n,i,s){let a;e instanceof Uint8Array?a=await G.subtle.importKey("raw",e,"AES-GCM",!1,["decrypt"]):(Je(e,t,"decrypt"),a=e);try{return new Uint8Array(await G.subtle.decrypt({additionalData:s,iv:n,name:"AES-GCM",tagLength:128},a,xe(r,i)))}catch{throw new zt}}var qI,As,Xl=L(()=>{Ie();Wl();Ql();Km();Y();Ce();yr();gt();bt();o(FI,"cbcDecrypt");o(HI,"gcmDecrypt");qI=o(async(t,e,r,n,i,s)=>{if(!me(e)&&!(e instanceof Uint8Array))throw new TypeError(fe(e,...oe,"Uint8Array"));switch(Is(t,n),t){case"A128CBC-HS256":case"A192CBC-HS384":case"A256CBC-HS512":return e instanceof Uint8Array&&wn(e,parseInt(t.slice(-3),10)),FI(t,e,r,n,i,s);case"A128GCM":case"A192GCM":case"A256GCM":return e instanceof Uint8Array&&wn(e,parseInt(t.slice(1,4),10)),HI(t,e,r,n,i,s);default:throw new J("Unsupported JWE Content Encryption Algorithm")}},"decrypt"),As=qI});var Qm,Ym,ed=L(()=>{Y();Qm=o(async()=>{throw new J('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"),Ym=o(async()=>{throw new J('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 $I,Ct,vn=L(()=>{$I=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"),Ct=$I});function jI(t){return typeof t=="object"&&t!==null}function se(t){if(!jI(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 ze=L(()=>{o(jI,"isObjectLike");o(se,"isObject")});var VI,Tn,td=L(()=>{VI=[{hash:"SHA-256",name:"HMAC"},!0,["sign"]],Tn=VI});function Zm(t,e){if(t.algorithm.length!==parseInt(e.slice(1,4),10))throw new TypeError(`Invalid key size for alg: ${e}`)}function Xm(t,e,r){if(me(t))return Je(t,e,r),t;if(t instanceof Uint8Array)return G.subtle.importKey("raw",t,"AES-KW",!0,[r]);throw new TypeError(fe(t,...oe,"Uint8Array"))}var Ni,Ci,Rs=L(()=>{td();Ce();yr();gt();bt();o(Zm,"checkKeySize");o(Xm,"getCryptoKey");Ni=o(async(t,e,r)=>{let n=await Xm(e,t,"wrapKey");Zm(n,t);let i=await G.subtle.importKey("raw",r,...Tn);return new Uint8Array(await G.subtle.wrapKey("raw",i,n,"AES-KW"))},"wrap"),Ci=o(async(t,e,r)=>{let n=await Xm(e,t,"unwrapKey");Zm(n,t);let i=await G.subtle.unwrapKey("raw",r,n,"AES-KW",...Tn);return new Uint8Array(await G.subtle.exportKey("raw",i))},"unwrap")});async function Os(t,e,r,n,i=new Uint8Array(0),s=new Uint8Array(0)){if(!me(t))throw new TypeError(fe(t,...oe));if(Je(t,"ECDH"),!me(e))throw new TypeError(fe(e,...oe));Je(e,"ECDH","deriveBits");let a=xe(ws(ae.encode(r)),ws(i),ws(s),Es(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 G.subtle.deriveBits({name:t.algorithm.name,public:t},e,c));return Vm(u,n,a)}async function ey(t){if(!me(t))throw new TypeError(fe(t,...oe));return G.subtle.generateKey(t.algorithm,!0,["deriveBits"])}function Ns(t){if(!me(t))throw new TypeError(fe(t,...oe));return["P-256","P-384","P-521"].includes(t.algorithm.namedCurve)||t.algorithm.name==="X25519"||t.algorithm.name==="X448"}var rd=L(()=>{Ie();Ce();yr();gt();bt();o(Os,"deriveKey");o(ey,"generateEpk");o(Ns,"ecdhAllowed")});function nd(t){if(!(t instanceof Uint8Array)||t.length<8)throw new F("PBES2 Salt Input must be 8 or more octets")}var ry=L(()=>{Y();o(nd,"checkP2s")});function BI(t,e){if(t instanceof Uint8Array)return G.subtle.importKey("raw",t,"PBKDF2",!1,["deriveBits"]);if(me(t))return Je(t,e,"deriveBits","deriveKey"),t;throw new TypeError(fe(t,...oe,"Uint8Array"))}async function ny(t,e,r,n){nd(t);let i=jm(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 BI(n,e);if(u.usages.includes("deriveBits"))return new Uint8Array(await G.subtle.deriveBits(a,u,s));if(u.usages.includes("deriveKey"))return G.subtle.deriveKey(a,u,c,!1,["wrapKey","unwrapKey"]);throw new TypeError('PBKDF2 key "usages" must include "deriveBits" or "deriveKey"')}var iy,oy,id=L(()=>{Oi();Ie();Le();Rs();ry();Ce();yr();gt();bt();o(BI,"getCryptoKey");o(ny,"deriveKey");iy=o(async(t,e,r,n=2048,i=hr(new Uint8Array(16)))=>{let s=await ny(i,t,n,e);return{encryptedKey:await Ni(t.slice(-6),s,r),p2c:n,p2s:ce(i)}},"encrypt"),oy=o(async(t,e,r,n,i)=>{let s=await ny(i,t,n,e);return Ci(t.slice(-6),s,r)},"decrypt")});function Sn(t){switch(t){case"RSA-OAEP":case"RSA-OAEP-256":case"RSA-OAEP-384":case"RSA-OAEP-512":return"RSA-OAEP";default:throw new J(`alg ${t} is not supported either by JOSE or your javascript runtime`)}}var sy=L(()=>{Y();o(Sn,"subtleRsaEs")});var Jr,Cs=L(()=>{Jr=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 ay,cy,od=L(()=>{sy();td();Ce();yr();Cs();gt();bt();ay=o(async(t,e,r)=>{if(!me(e))throw new TypeError(fe(e,...oe));if(Je(e,t,"encrypt","wrapKey"),Jr(t,e),e.usages.includes("encrypt"))return new Uint8Array(await G.subtle.encrypt(Sn(t),e,r));if(e.usages.includes("wrapKey")){let n=await G.subtle.importKey("raw",r,...Tn);return new Uint8Array(await G.subtle.wrapKey("raw",n,e,Sn(t)))}throw new TypeError('RSA-OAEP key "usages" must include "encrypt" or "wrapKey" for this operation')},"encrypt"),cy=o(async(t,e,r)=>{if(!me(e))throw new TypeError(fe(e,...oe));if(Je(e,t,"decrypt","unwrapKey"),Jr(t,e),e.usages.includes("decrypt"))return new Uint8Array(await G.subtle.decrypt(Sn(t),e,r));if(e.usages.includes("unwrapKey")){let n=await G.subtle.unwrapKey("raw",r,e,Sn(t),...Tn);return new Uint8Array(await G.subtle.exportKey("raw",n))}throw new TypeError('RSA-OAEP key "usages" must include "decrypt" or "unwrapKey" for this operation')},"decrypt")});function xi(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 J(`Unsupported JWE Algorithm: ${t}`)}}var xt,Li=L(()=>{Y();Oi();o(xi,"bitLength");xt=o(t=>hr(new Uint8Array(xi(t)>>3)),"default")});var sd,uy=L(()=>{sd=o((t,e)=>{let r=(t.match(/.{1,64}/g)||[]).join(`
55
+ `?"\\n":"\\r"),c.singleQuotes===!1?(a=a.replace(/"/g,'\\"'),`"${a}"`):(a=a.replace(/'/g,"\\'"),`'${a}'`)},"stringify")(t,e,r,0)}o(OI,"stringifyObject");jl.default=OI});var Nt=_(Ke=>{"use strict";var NI=Ke&&Ke.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(Ke,"__esModule",{value:!0});Ke.stringifyNonStringToText=Ke.stringifyNonString=Ke.messagesToMultilineText=Ke.extractBestMessage=Ke.makeErrorsSerializable=void 0;var Vl=Br(),Fm=NI(km()),Hm=st();function CI(t){return t.map(e=>(0,Vl.serializeError)(e))}o(CI,"makeErrorsSerializable");Ke.makeErrorsSerializable=CI;function xI(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:qm((0,Vl.serializeError)(e))}o(xI,"extractBestMessage");Ke.extractBestMessage=xI;function LI(t){let e=[];return t.forEach(r=>{if(typeof r=="string")e.push(r);else if((0,Hm.isErrorLike)(r))if(r.stack)e.push(r.stack);else{let n=(0,Fm.default)((0,Vl.serializeError)(r));e.push(n)}else if(typeof r=="object"){let n=(0,Fm.default)(r);e.push(n)}else{let n=$m(r);e.push(n)}}),e.join(`
56
+ `)}o(LI,"messagesToMultilineText");Ke.messagesToMultilineText=LI;function qm(t){return typeof t=="string"?t:JSON.stringify(t)}o(qm,"stringifyNonString");Ke.stringifyNonString=qm;function $m(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,Hm.toString)(t):"unknown"}o($m,"stringifyNonStringToText");Ke.stringifyNonStringToText=$m});var G,me,Ce=L(()=>{G=crypto,me=o(t=>t instanceof CryptoKey,"isCryptoKey")});var DI,gs,Bl=L(()=>{Ce();DI=o(async(t,e)=>{let r=`SHA-${t.slice(-3)}`;return new Uint8Array(await G.subtle.digest(r,e))},"digest"),gs=DI});function xe(...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 jm(t,e){return xe(ae.encode(t),new Uint8Array([0]),e)}function Gl(t,e,r){if(e<0||e>=bs)throw new RangeError(`value must be >= 0 and <= ${bs-1}. Received ${e}`);t.set([e>>>24,e>>>16,e>>>8,e&255],r)}function _s(t){let e=Math.floor(t/bs),r=t%bs,n=new Uint8Array(8);return Gl(n,e,0),Gl(n,r,4),n}function Es(t){let e=new Uint8Array(4);return Gl(e,t),e}function ws(t){return xe(Es(t.length),t)}async function Vm(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(Es(s+1)),a.set(t,4),a.set(r,4+t.length),i.set(await gs("sha256",a),s*32)}return i.slice(0,e>>3)}var ae,ge,bs,Ie=L(()=>{Bl();ae=new TextEncoder,ge=new TextDecoder,bs=2**32;o(xe,"concat");o(jm,"p2s");o(Gl,"writeUInt32BE");o(_s,"uint64be");o(Es,"uint32be");o(ws,"lengthAndInput");o(Vm,"concatKdf")});var vs,ce,Kl,de,Le=L(()=>{Ie();vs=o(t=>{let e=t;typeof e=="string"&&(e=ae.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"),ce=o(t=>vs(t).replace(/=/g,"").replace(/\+/g,"-").replace(/\//g,"_"),"encode"),Kl=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"),de=o(t=>{let e=t;e instanceof Uint8Array&&(e=ge.decode(e)),e=e.replace(/-/g,"+").replace(/_/g,"/").replace(/\s/g,"");try{return Kl(e)}catch{throw new TypeError("The input to be decoded is not correctly encoded.")}},"decode")});var Jl={};So(Jl,{JOSEAlgNotAllowed:()=>pr,JOSEError:()=>ve,JOSENotSupported:()=>J,JWEDecryptionFailed:()=>zt,JWEInvalid:()=>F,JWKInvalid:()=>Pi,JWKSInvalid:()=>fr,JWKSMultipleMatchingKeys:()=>Ai,JWKSNoMatchingKey:()=>Gr,JWKSTimeout:()=>Ri,JWSInvalid:()=>ne,JWSSignatureVerificationFailed:()=>Kr,JWTClaimValidationFailed:()=>Pe,JWTExpired:()=>En,JWTInvalid:()=>_e});var ve,Pe,En,pr,J,zt,F,ne,_e,Pi,fr,Gr,Ai,Ri,Kr,Y=L(()=>{ve=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)}},Pe=class extends ve{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}},En=class extends ve{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}},pr=class extends ve{static{o(this,"JOSEAlgNotAllowed")}constructor(){super(...arguments),this.code="ERR_JOSE_ALG_NOT_ALLOWED"}static get code(){return"ERR_JOSE_ALG_NOT_ALLOWED"}},J=class extends ve{static{o(this,"JOSENotSupported")}constructor(){super(...arguments),this.code="ERR_JOSE_NOT_SUPPORTED"}static get code(){return"ERR_JOSE_NOT_SUPPORTED"}},zt=class extends ve{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"}},F=class extends ve{static{o(this,"JWEInvalid")}constructor(){super(...arguments),this.code="ERR_JWE_INVALID"}static get code(){return"ERR_JWE_INVALID"}},ne=class extends ve{static{o(this,"JWSInvalid")}constructor(){super(...arguments),this.code="ERR_JWS_INVALID"}static get code(){return"ERR_JWS_INVALID"}},_e=class extends ve{static{o(this,"JWTInvalid")}constructor(){super(...arguments),this.code="ERR_JWT_INVALID"}static get code(){return"ERR_JWT_INVALID"}},Pi=class extends ve{static{o(this,"JWKInvalid")}constructor(){super(...arguments),this.code="ERR_JWK_INVALID"}static get code(){return"ERR_JWK_INVALID"}},fr=class extends ve{static{o(this,"JWKSInvalid")}constructor(){super(...arguments),this.code="ERR_JWKS_INVALID"}static get code(){return"ERR_JWKS_INVALID"}},Gr=class extends ve{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"}},Ai=class extends ve{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"}},Ri=class extends ve{static{o(this,"JWKSTimeout")}constructor(){super(...arguments),this.code="ERR_JWKS_TIMEOUT",this.message="request timed out"}static get code(){return"ERR_JWKS_TIMEOUT"}},Kr=class extends ve{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 hr,Oi=L(()=>{Ce();hr=G.getRandomValues.bind(G)});function zl(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 J(`Unsupported JWE Algorithm: ${t}`)}}var Ts,Ss=L(()=>{Y();Oi();o(zl,"bitLength");Ts=o(t=>hr(new Uint8Array(zl(t)>>3)),"default")});var MI,Is,Wl=L(()=>{Y();Ss();MI=o((t,e)=>{if(e.length<<3!==zl(t))throw new F("Invalid Initialization Vector length")},"checkIvLength"),Is=MI});var UI,wn,Ql=L(()=>{Y();UI=o((t,e)=>{let r=t.byteLength<<3;if(r!==e)throw new F(`Invalid Content Encryption Key length. Expected ${e} bits, got ${r} bits`)},"checkCekLength"),wn=UI});var kI,Gm,Km=L(()=>{kI=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"),Gm=kI});function De(t,e="algorithm.name"){return new TypeError(`CryptoKey does not support this operation, its ${e} must be ${t}`)}function mr(t,e){return t.name===e}function Ps(t){return parseInt(t.name.slice(4),10)}function FI(t){switch(t){case"ES256":return"P-256";case"ES384":return"P-384";case"ES512":return"P-521";default:throw new Error("unreachable")}}function Jm(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 zm(t,e,...r){switch(e){case"HS256":case"HS384":case"HS512":{if(!mr(t.algorithm,"HMAC"))throw De("HMAC");let n=parseInt(e.slice(2),10);if(Ps(t.algorithm.hash)!==n)throw De(`SHA-${n}`,"algorithm.hash");break}case"RS256":case"RS384":case"RS512":{if(!mr(t.algorithm,"RSASSA-PKCS1-v1_5"))throw De("RSASSA-PKCS1-v1_5");let n=parseInt(e.slice(2),10);if(Ps(t.algorithm.hash)!==n)throw De(`SHA-${n}`,"algorithm.hash");break}case"PS256":case"PS384":case"PS512":{if(!mr(t.algorithm,"RSA-PSS"))throw De("RSA-PSS");let n=parseInt(e.slice(2),10);if(Ps(t.algorithm.hash)!==n)throw De(`SHA-${n}`,"algorithm.hash");break}case"EdDSA":{if(t.algorithm.name!=="Ed25519"&&t.algorithm.name!=="Ed448")throw De("Ed25519 or Ed448");break}case"ES256":case"ES384":case"ES512":{if(!mr(t.algorithm,"ECDSA"))throw De("ECDSA");let n=FI(e);if(t.algorithm.namedCurve!==n)throw De(n,"algorithm.namedCurve");break}default:throw new TypeError("CryptoKey does not support this operation")}Jm(t,r)}function Je(t,e,...r){switch(e){case"A128GCM":case"A192GCM":case"A256GCM":{if(!mr(t.algorithm,"AES-GCM"))throw De("AES-GCM");let n=parseInt(e.slice(1,4),10);if(t.algorithm.length!==n)throw De(n,"algorithm.length");break}case"A128KW":case"A192KW":case"A256KW":{if(!mr(t.algorithm,"AES-KW"))throw De("AES-KW");let n=parseInt(e.slice(1,4),10);if(t.algorithm.length!==n)throw De(n,"algorithm.length");break}case"ECDH":{switch(t.algorithm.name){case"ECDH":case"X25519":case"X448":break;default:throw De("ECDH, X25519, or X448")}break}case"PBES2-HS256+A128KW":case"PBES2-HS384+A192KW":case"PBES2-HS512+A256KW":if(!mr(t.algorithm,"PBKDF2"))throw De("PBKDF2");break;case"RSA-OAEP":case"RSA-OAEP-256":case"RSA-OAEP-384":case"RSA-OAEP-512":{if(!mr(t.algorithm,"RSA-OAEP"))throw De("RSA-OAEP");let n=parseInt(e.slice(9),10)||1;if(Ps(t.algorithm.hash)!==n)throw De(`SHA-${n}`,"algorithm.hash");break}default:throw new TypeError("CryptoKey does not support this operation")}Jm(t,r)}var yr=L(()=>{o(De,"unusable");o(mr,"isAlgorithm");o(Ps,"getHashLength");o(FI,"getNamedCurve");o(Jm,"checkUsage");o(zm,"checkSigCryptoKey");o(Je,"checkEncCryptoKey")});function Wm(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 Yl(t,e,...r){return Wm(`Key for the ${t} algorithm must be `,e,...r)}var fe,gt=L(()=>{o(Wm,"message");fe=o((t,...e)=>Wm("Key must be ",t,...e),"default");o(Yl,"withAlg")});var Zl,oe,bt=L(()=>{Ce();Zl=o(t=>me(t),"default"),oe=["CryptoKey"]});async function HI(t,e,r,n,i,s){if(!(e instanceof Uint8Array))throw new TypeError(fe(e,"Uint8Array"));let a=parseInt(t.slice(1,4),10),c=await G.subtle.importKey("raw",e.subarray(a>>3),"AES-CBC",!1,["decrypt"]),u=await G.subtle.importKey("raw",e.subarray(0,a>>3),{hash:`SHA-${a<<1}`,name:"HMAC"},!1,["sign"]),l=xe(s,n,r,_s(s.length<<3)),d=new Uint8Array((await G.subtle.sign("HMAC",u,l)).slice(0,a>>3)),p;try{p=Gm(i,d)}catch{}if(!p)throw new zt;let f;try{f=new Uint8Array(await G.subtle.decrypt({iv:n,name:"AES-CBC"},c,r))}catch{}if(!f)throw new zt;return f}async function qI(t,e,r,n,i,s){let a;e instanceof Uint8Array?a=await G.subtle.importKey("raw",e,"AES-GCM",!1,["decrypt"]):(Je(e,t,"decrypt"),a=e);try{return new Uint8Array(await G.subtle.decrypt({additionalData:s,iv:n,name:"AES-GCM",tagLength:128},a,xe(r,i)))}catch{throw new zt}}var $I,As,Xl=L(()=>{Ie();Wl();Ql();Km();Y();Ce();yr();gt();bt();o(HI,"cbcDecrypt");o(qI,"gcmDecrypt");$I=o(async(t,e,r,n,i,s)=>{if(!me(e)&&!(e instanceof Uint8Array))throw new TypeError(fe(e,...oe,"Uint8Array"));switch(Is(t,n),t){case"A128CBC-HS256":case"A192CBC-HS384":case"A256CBC-HS512":return e instanceof Uint8Array&&wn(e,parseInt(t.slice(-3),10)),HI(t,e,r,n,i,s);case"A128GCM":case"A192GCM":case"A256GCM":return e instanceof Uint8Array&&wn(e,parseInt(t.slice(1,4),10)),qI(t,e,r,n,i,s);default:throw new J("Unsupported JWE Content Encryption Algorithm")}},"decrypt"),As=$I});var Qm,Ym,ed=L(()=>{Y();Qm=o(async()=>{throw new J('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"),Ym=o(async()=>{throw new J('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 jI,Ct,vn=L(()=>{jI=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"),Ct=jI});function VI(t){return typeof t=="object"&&t!==null}function se(t){if(!VI(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 ze=L(()=>{o(VI,"isObjectLike");o(se,"isObject")});var BI,Tn,td=L(()=>{BI=[{hash:"SHA-256",name:"HMAC"},!0,["sign"]],Tn=BI});function Zm(t,e){if(t.algorithm.length!==parseInt(e.slice(1,4),10))throw new TypeError(`Invalid key size for alg: ${e}`)}function Xm(t,e,r){if(me(t))return Je(t,e,r),t;if(t instanceof Uint8Array)return G.subtle.importKey("raw",t,"AES-KW",!0,[r]);throw new TypeError(fe(t,...oe,"Uint8Array"))}var Ni,Ci,Rs=L(()=>{td();Ce();yr();gt();bt();o(Zm,"checkKeySize");o(Xm,"getCryptoKey");Ni=o(async(t,e,r)=>{let n=await Xm(e,t,"wrapKey");Zm(n,t);let i=await G.subtle.importKey("raw",r,...Tn);return new Uint8Array(await G.subtle.wrapKey("raw",i,n,"AES-KW"))},"wrap"),Ci=o(async(t,e,r)=>{let n=await Xm(e,t,"unwrapKey");Zm(n,t);let i=await G.subtle.unwrapKey("raw",r,n,"AES-KW",...Tn);return new Uint8Array(await G.subtle.exportKey("raw",i))},"unwrap")});async function Os(t,e,r,n,i=new Uint8Array(0),s=new Uint8Array(0)){if(!me(t))throw new TypeError(fe(t,...oe));if(Je(t,"ECDH"),!me(e))throw new TypeError(fe(e,...oe));Je(e,"ECDH","deriveBits");let a=xe(ws(ae.encode(r)),ws(i),ws(s),Es(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 G.subtle.deriveBits({name:t.algorithm.name,public:t},e,c));return Vm(u,n,a)}async function ey(t){if(!me(t))throw new TypeError(fe(t,...oe));return G.subtle.generateKey(t.algorithm,!0,["deriveBits"])}function Ns(t){if(!me(t))throw new TypeError(fe(t,...oe));return["P-256","P-384","P-521"].includes(t.algorithm.namedCurve)||t.algorithm.name==="X25519"||t.algorithm.name==="X448"}var rd=L(()=>{Ie();Ce();yr();gt();bt();o(Os,"deriveKey");o(ey,"generateEpk");o(Ns,"ecdhAllowed")});function nd(t){if(!(t instanceof Uint8Array)||t.length<8)throw new F("PBES2 Salt Input must be 8 or more octets")}var ry=L(()=>{Y();o(nd,"checkP2s")});function GI(t,e){if(t instanceof Uint8Array)return G.subtle.importKey("raw",t,"PBKDF2",!1,["deriveBits"]);if(me(t))return Je(t,e,"deriveBits","deriveKey"),t;throw new TypeError(fe(t,...oe,"Uint8Array"))}async function ny(t,e,r,n){nd(t);let i=jm(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 GI(n,e);if(u.usages.includes("deriveBits"))return new Uint8Array(await G.subtle.deriveBits(a,u,s));if(u.usages.includes("deriveKey"))return G.subtle.deriveKey(a,u,c,!1,["wrapKey","unwrapKey"]);throw new TypeError('PBKDF2 key "usages" must include "deriveBits" or "deriveKey"')}var iy,oy,id=L(()=>{Oi();Ie();Le();Rs();ry();Ce();yr();gt();bt();o(GI,"getCryptoKey");o(ny,"deriveKey");iy=o(async(t,e,r,n=2048,i=hr(new Uint8Array(16)))=>{let s=await ny(i,t,n,e);return{encryptedKey:await Ni(t.slice(-6),s,r),p2c:n,p2s:ce(i)}},"encrypt"),oy=o(async(t,e,r,n,i)=>{let s=await ny(i,t,n,e);return Ci(t.slice(-6),s,r)},"decrypt")});function Sn(t){switch(t){case"RSA-OAEP":case"RSA-OAEP-256":case"RSA-OAEP-384":case"RSA-OAEP-512":return"RSA-OAEP";default:throw new J(`alg ${t} is not supported either by JOSE or your javascript runtime`)}}var sy=L(()=>{Y();o(Sn,"subtleRsaEs")});var Jr,Cs=L(()=>{Jr=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 ay,cy,od=L(()=>{sy();td();Ce();yr();Cs();gt();bt();ay=o(async(t,e,r)=>{if(!me(e))throw new TypeError(fe(e,...oe));if(Je(e,t,"encrypt","wrapKey"),Jr(t,e),e.usages.includes("encrypt"))return new Uint8Array(await G.subtle.encrypt(Sn(t),e,r));if(e.usages.includes("wrapKey")){let n=await G.subtle.importKey("raw",r,...Tn);return new Uint8Array(await G.subtle.wrapKey("raw",n,e,Sn(t)))}throw new TypeError('RSA-OAEP key "usages" must include "encrypt" or "wrapKey" for this operation')},"encrypt"),cy=o(async(t,e,r)=>{if(!me(e))throw new TypeError(fe(e,...oe));if(Je(e,t,"decrypt","unwrapKey"),Jr(t,e),e.usages.includes("decrypt"))return new Uint8Array(await G.subtle.decrypt(Sn(t),e,r));if(e.usages.includes("unwrapKey")){let n=await G.subtle.unwrapKey("raw",r,e,Sn(t),...Tn);return new Uint8Array(await G.subtle.exportKey("raw",n))}throw new TypeError('RSA-OAEP key "usages" must include "decrypt" or "unwrapKey" for this operation')},"decrypt")});function xi(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 J(`Unsupported JWE Algorithm: ${t}`)}}var xt,Li=L(()=>{Y();Oi();o(xi,"bitLength");xt=o(t=>hr(new Uint8Array(xi(t)>>3)),"default")});var sd,uy=L(()=>{sd=o((t,e)=>{let r=(t.match(/.{1,64}/g)||[]).join(`
57
57
  `);return`-----BEGIN ${e}-----
58
58
  ${r}
59
- -----END ${e}-----`},"default")});function dy(t){let e=[],r=0;for(;r<t.length;){let n=gy(t.subarray(r));e.push(n),r+=n.byteLength}return e}function gy(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 GI(t){let e=dy(dy(gy(t).contents)[0].contents);return vs(e[e[0].raw[0]===160?6:5].raw)}function KI(t){let e=t.replace(/(?:-----(?:BEGIN|END) CERTIFICATE-----|\s)/g,""),r=Kl(e);return sd(GI(r),"PUBLIC KEY")}var py,fy,hy,gr,ly,my,yy,ad,by,xs=L(()=>{Ce();gt();Le();uy();Y();bt();py=o(async(t,e,r)=>{if(!me(r))throw new TypeError(fe(r,...oe));if(!r.extractable)throw new TypeError("CryptoKey is not extractable");if(r.type!==t)throw new TypeError(`key is not a ${t} key`);return sd(vs(new Uint8Array(await G.subtle.exportKey(e,r))),`${t.toUpperCase()} KEY`)},"genericExport"),fy=o(t=>py("public","spki",t),"toSPKI"),hy=o(t=>py("private","pkcs8",t),"toPKCS8"),gr=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])||gr(t,e,n+1)},"findOid"),ly=o(t=>{switch(!0){case gr(t,[42,134,72,206,61,3,1,7]):return"P-256";case gr(t,[43,129,4,0,34]):return"P-384";case gr(t,[43,129,4,0,35]):return"P-521";case gr(t,[43,101,110]):return"X25519";case gr(t,[43,101,111]):return"X448";case gr(t,[43,101,112]):return"Ed25519";case gr(t,[43,101,113]):return"Ed448";default:throw new J("Invalid or unsupported EC Key Curve or OKP Key Sub Type")}},"getNamedCurve"),my=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=ly(u);a=d.startsWith("P-")?{name:"ECDH",namedCurve:d}:{name:d},c=l?[]:["deriveBits"];break}case"EdDSA":a={name:ly(u)},c=l?["verify"]:["sign"];break;default:throw new J('Invalid or unsupported "alg" (Algorithm) value')}return G.subtle.importKey(e,u,a,(s=i?.extractable)!==null&&s!==void 0?s:!1,c)},"genericImport"),yy=o((t,e,r)=>my(/(?:-----(?:BEGIN|END) PRIVATE KEY-----|\s)/g,"pkcs8",t,e,r),"fromPKCS8"),ad=o((t,e,r)=>my(/(?:-----(?:BEGIN|END) PUBLIC KEY-----|\s)/g,"spki",t,e,r),"fromSPKI");o(dy,"getElement");o(gy,"parseElement");o(GI,"spkiFromX509");o(KI,"getSPKI");by=o((t,e,r)=>{let n;try{n=KI(t)}catch(i){throw new TypeError("failed to parse the X.509 certificate",{cause:i})}return ad(n,e,r)},"fromX509")});function JI(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 J(`${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 J('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 J('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 J('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 J('Invalid or unsupported JWK "alg" (Algorithm) Parameter value')}break}default:throw new J('Invalid or unsupported JWK "kty" (Key Type) Parameter value')}return{algorithm:e,keyUsages:r}}var zI,cd,_y=L(()=>{Ce();Y();Le();o(JI,"subtleMapping");zI=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}=JI(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 G.subtle.importKey("raw",de(t.k),...s);let a={...t};return delete a.alg,delete a.use,G.subtle.importKey("jwk",a,...s)},"parse"),cd=zI});async function Ey(t,e,r){if(typeof t!="string"||t.indexOf("-----BEGIN PUBLIC KEY-----")!==0)throw new TypeError('"spki" must be SPKI formatted string');return ad(t,e,r)}async function wy(t,e,r){if(typeof t!="string"||t.indexOf("-----BEGIN CERTIFICATE-----")!==0)throw new TypeError('"x509" must be X.509 formatted string');return by(t,e,r)}async function vy(t,e,r){if(typeof t!="string"||t.indexOf("-----BEGIN PRIVATE KEY-----")!==0)throw new TypeError('"pkcs8" must be PKCS#8 formatted string');return yy(t,e,r)}async function br(t,e,r){var n;if(!se(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?cd({...t,alg:e,ext:(n=t.ext)!==null&&n!==void 0?n:!1}):de(t.k);case"RSA":if(t.oth!==void 0)throw new J('RSA JWK "oth" (Other Primes Info) Parameter value is not supported');case"EC":case"OKP":return cd({...t,alg:e});default:throw new J('Unsupported "kty" (Key Type) Parameter value')}}var Di=L(()=>{Le();xs();_y();Y();ze();o(Ey,"importSPKI");o(wy,"importX509");o(vy,"importPKCS8");o(br,"importJWK")});var WI,QI,YI,_r,Mi=L(()=>{gt();bt();WI=o((t,e)=>{if(!(e instanceof Uint8Array)){if(!Zl(e))throw new TypeError(Yl(t,e,...oe,"Uint8Array"));if(e.type!=="secret")throw new TypeError(`${oe.join(" or ")} instances for symmetric algorithms must be of type "secret"`)}},"symmetricTypeCheck"),QI=o((t,e,r)=>{if(!Zl(e))throw new TypeError(Yl(t,e,...oe));if(e.type==="secret")throw new TypeError(`${oe.join(" or ")} instances for asymmetric algorithms must not be of type "secret"`);if(r==="sign"&&e.type==="public")throw new TypeError(`${oe.join(" or ")} instances for asymmetric algorithm signing must be of type "private"`);if(r==="decrypt"&&e.type==="public")throw new TypeError(`${oe.join(" or ")} instances for asymmetric algorithm decryption must be of type "private"`);if(e.algorithm&&r==="verify"&&e.type==="private")throw new TypeError(`${oe.join(" or ")} instances for asymmetric algorithm verifying must be of type "public"`);if(e.algorithm&&r==="encrypt"&&e.type==="private")throw new TypeError(`${oe.join(" or ")} instances for asymmetric algorithm encryption must be of type "public"`)},"asymmetricTypeCheck"),YI=o((t,e,r)=>{t.startsWith("HS")||t==="dir"||t.startsWith("PBES2")||/^A\d{3}(?:GCM)?KW$/.test(t)?WI(t,e):QI(t,e,r)},"checkKeyType"),_r=YI});async function ZI(t,e,r,n,i){if(!(r instanceof Uint8Array))throw new TypeError(fe(r,"Uint8Array"));let s=parseInt(t.slice(1,4),10),a=await G.subtle.importKey("raw",r.subarray(s>>3),"AES-CBC",!1,["encrypt"]),c=await G.subtle.importKey("raw",r.subarray(0,s>>3),{hash:`SHA-${s<<1}`,name:"HMAC"},!1,["sign"]),u=new Uint8Array(await G.subtle.encrypt({iv:n,name:"AES-CBC"},a,e)),l=xe(i,n,u,_s(i.length<<3)),d=new Uint8Array((await G.subtle.sign("HMAC",c,l)).slice(0,s>>3));return{ciphertext:u,tag:d}}async function XI(t,e,r,n,i){let s;r instanceof Uint8Array?s=await G.subtle.importKey("raw",r,"AES-GCM",!1,["encrypt"]):(Je(r,t,"encrypt"),s=r);let a=new Uint8Array(await G.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 eP,Ui,ud=L(()=>{Ie();Wl();Ql();Ce();yr();gt();Y();bt();o(ZI,"cbcEncrypt");o(XI,"gcmEncrypt");eP=o(async(t,e,r,n,i)=>{if(!me(r)&&!(r instanceof Uint8Array))throw new TypeError(fe(r,...oe,"Uint8Array"));switch(Is(t,n),t){case"A128CBC-HS256":case"A192CBC-HS384":case"A256CBC-HS512":return r instanceof Uint8Array&&wn(r,parseInt(t.slice(-3),10)),ZI(t,e,r,n,i);case"A128GCM":case"A192GCM":case"A256GCM":return r instanceof Uint8Array&&wn(r,parseInt(t.slice(1,4),10)),XI(t,e,r,n,i);default:throw new J("Unsupported JWE Content Encryption Algorithm")}},"encrypt"),Ui=eP});async function Ty(t,e,r,n){let i=t.slice(0,7);n||(n=Ts(i));let{ciphertext:s,tag:a}=await Ui(i,r,e,n,new Uint8Array(0));return{encryptedKey:s,iv:ce(n),tag:ce(a)}}async function Sy(t,e,r,n,i){let s=t.slice(0,7);return As(s,e,r,n,i,new Uint8Array(0))}var ld=L(()=>{ud();Xl();Ss();Le();o(Ty,"wrap");o(Sy,"unwrap")});async function tP(t,e,r,n,i){switch(_r(t,e,"decrypt"),t){case"dir":{if(r!==void 0)throw new F("Encountered unexpected JWE Encrypted Key");return e}case"ECDH-ES":if(r!==void 0)throw new F("Encountered unexpected JWE Encrypted Key");case"ECDH-ES+A128KW":case"ECDH-ES+A192KW":case"ECDH-ES+A256KW":{if(!se(n.epk))throw new F('JOSE Header "epk" (Ephemeral Public Key) missing or invalid');if(!Ns(e))throw new J("ECDH with the provided key is not allowed or not supported by your javascript runtime");let s=await br(n.epk,t),a,c;if(n.apu!==void 0){if(typeof n.apu!="string")throw new F('JOSE Header "apu" (Agreement PartyUInfo) invalid');a=de(n.apu)}if(n.apv!==void 0){if(typeof n.apv!="string")throw new F('JOSE Header "apv" (Agreement PartyVInfo) invalid');c=de(n.apv)}let u=await Os(s,e,t==="ECDH-ES"?n.enc:t,t==="ECDH-ES"?xi(n.enc):parseInt(t.slice(-5,-2),10),a,c);if(t==="ECDH-ES")return u;if(r===void 0)throw new F("JWE Encrypted Key missing");return Ci(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 F("JWE Encrypted Key missing");return cy(t,e,r)}case"PBES2-HS256+A128KW":case"PBES2-HS384+A192KW":case"PBES2-HS512+A256KW":{if(r===void 0)throw new F("JWE Encrypted Key missing");if(typeof n.p2c!="number")throw new F('JOSE Header "p2c" (PBES2 Count) missing or invalid');let s=i?.maxPBES2Count||1e4;if(n.p2c>s)throw new F('JOSE Header "p2c" (PBES2 Count) out is of acceptable bounds');if(typeof n.p2s!="string")throw new F('JOSE Header "p2s" (PBES2 Salt) missing or invalid');return oy(t,e,r,n.p2c,de(n.p2s))}case"A128KW":case"A192KW":case"A256KW":{if(r===void 0)throw new F("JWE Encrypted Key missing");return Ci(t,e,r)}case"A128GCMKW":case"A192GCMKW":case"A256GCMKW":{if(r===void 0)throw new F("JWE Encrypted Key missing");if(typeof n.iv!="string")throw new F('JOSE Header "iv" (Initialization Vector) missing or invalid');if(typeof n.tag!="string")throw new F('JOSE Header "tag" (Authentication Tag) missing or invalid');let s=de(n.iv),a=de(n.tag);return Sy(t,e,r,s,a)}default:throw new J('Invalid or unsupported "alg" (JWE Algorithm) header value')}}var Iy,Py=L(()=>{Rs();rd();id();od();Le();Y();Li();Di();Mi();ze();ld();o(tP,"decryptKeyManagement");Iy=tP});function rP(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 J(`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 Lt,In=L(()=>{Y();o(rP,"validateCrit");Lt=rP});var nP,ki,dd=L(()=>{nP=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"),ki=nP});async function Pn(t,e,r){var n;if(!se(t))throw new F("Flattened JWE must be an object");if(t.protected===void 0&&t.header===void 0&&t.unprotected===void 0)throw new F("JOSE Header missing");if(typeof t.iv!="string")throw new F("JWE Initialization Vector missing or incorrect type");if(typeof t.ciphertext!="string")throw new F("JWE Ciphertext missing or incorrect type");if(typeof t.tag!="string")throw new F("JWE Authentication Tag missing or incorrect type");if(t.protected!==void 0&&typeof t.protected!="string")throw new F("JWE Protected Header incorrect type");if(t.encrypted_key!==void 0&&typeof t.encrypted_key!="string")throw new F("JWE Encrypted Key incorrect type");if(t.aad!==void 0&&typeof t.aad!="string")throw new F("JWE AAD incorrect type");if(t.header!==void 0&&!se(t.header))throw new F("JWE Shared Unprotected Header incorrect type");if(t.unprotected!==void 0&&!se(t.unprotected))throw new F("JWE Per-Recipient Unprotected Header incorrect type");let i;if(t.protected)try{let S=de(t.protected);i=JSON.parse(ge.decode(S))}catch{throw new F("JWE Protected Header is invalid")}if(!Ct(i,t.header,t.unprotected))throw new F("JWE Protected, JWE Unprotected Header, and JWE Per-Recipient Unprotected Header Parameter names must be disjoint");let s={...i,...t.header,...t.unprotected};if(Lt(F,new Map,r?.crit,i,s),s.zip!==void 0){if(!i||!i.zip)throw new F('JWE "zip" (Compression Algorithm) Header MUST be integrity protected');if(s.zip!=="DEF")throw new J('Unsupported JWE "zip" (Compression Algorithm) Header Parameter value')}let{alg:a,enc:c}=s;if(typeof a!="string"||!a)throw new F("missing JWE Algorithm (alg) in JWE Header");if(typeof c!="string"||!c)throw new F("missing JWE Encryption Algorithm (enc) in JWE Header");let u=r&&ki("keyManagementAlgorithms",r.keyManagementAlgorithms),l=r&&ki("contentEncryptionAlgorithms",r.contentEncryptionAlgorithms);if(u&&!u.has(a))throw new pr('"alg" (Algorithm) Header Parameter not allowed');if(l&&!l.has(c))throw new pr('"enc" (Encryption Algorithm) Header Parameter not allowed');let d;t.encrypted_key!==void 0&&(d=de(t.encrypted_key));let p=!1;typeof e=="function"&&(e=await e(i,t),p=!0);let f;try{f=await Iy(a,e,d,s,r)}catch(S){if(S instanceof TypeError||S instanceof F||S instanceof J)throw S;f=xt(c)}let h=de(t.iv),m=de(t.tag),b=ae.encode((n=t.protected)!==null&&n!==void 0?n:""),v;t.aad!==void 0?v=xe(b,ae.encode("."),ae.encode(t.aad)):v=b;let A=await As(c,f,de(t.ciphertext),h,m,v);s.zip==="DEF"&&(A=await(r?.inflateRaw||Qm)(A));let g={plaintext:A};return t.protected!==void 0&&(g.protectedHeader=i),t.aad!==void 0&&(g.additionalAuthenticatedData=de(t.aad)),t.unprotected!==void 0&&(g.sharedUnprotectedHeader=t.unprotected),t.header!==void 0&&(g.unprotectedHeader=t.header),p?{...g,key:e}:g}var Ls=L(()=>{Le();Xl();ed();Y();vn();ze();Py();Ie();Li();In();dd();o(Pn,"flattenedDecrypt")});async function Ds(t,e,r){if(t instanceof Uint8Array&&(t=ge.decode(t)),typeof t!="string")throw new F("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 F("Invalid Compact JWE");let l=await Pn({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 pd=L(()=>{Ls();Y();Ie();o(Ds,"compactDecrypt")});async function Ay(t,e,r){if(!se(t))throw new F("General JWE must be an object");if(!Array.isArray(t.recipients)||!t.recipients.every(se))throw new F("JWE Recipients missing or incorrect type");if(!t.recipients.length)throw new F("JWE Recipients has no members");for(let n of t.recipients)try{return await Pn({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 zt}var Ry=L(()=>{Ls();Y();ze();o(Ay,"generalDecrypt")});var iP,Oy,Ny=L(()=>{Ce();gt();Le();bt();iP=o(async t=>{if(t instanceof Uint8Array)return{kty:"oct",k:ce(t)};if(!me(t))throw new TypeError(fe(t,...oe,"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 G.subtle.exportKey("jwk",t);return s},"keyToJWK"),Oy=iP});async function Cy(t){return fy(t)}async function xy(t){return hy(t)}async function Ms(t){return Oy(t)}var fd=L(()=>{xs();xs();Ny();o(Cy,"exportSPKI");o(xy,"exportPKCS8");o(Ms,"exportJWK")});async function oP(t,e,r,n,i={}){let s,a,c;switch(_r(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(!Ns(r))throw new J("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 ey(r)).privateKey);let{x:p,y:f,crv:h,kty:m}=await Ms(d),b=await Os(r,d,t==="ECDH-ES"?e:t,t==="ECDH-ES"?xi(e):parseInt(t.slice(-5,-2),10),u,l);if(a={epk:{x:p,crv:h,kty:m}},m==="EC"&&(a.epk.y=f),u&&(a.apu=ce(u)),l&&(a.apv=ce(l)),t==="ECDH-ES"){c=b;break}c=n||xt(e);let v=t.slice(-6);s=await Ni(v,b,c);break}case"RSA1_5":case"RSA-OAEP":case"RSA-OAEP-256":case"RSA-OAEP-384":case"RSA-OAEP-512":{c=n||xt(e),s=await ay(t,r,c);break}case"PBES2-HS256+A128KW":case"PBES2-HS384+A192KW":case"PBES2-HS512+A256KW":{c=n||xt(e);let{p2c:u,p2s:l}=i;({encryptedKey:s,...a}=await iy(t,r,c,u,l));break}case"A128KW":case"A192KW":case"A256KW":{c=n||xt(e),s=await Ni(t,r,c);break}case"A128GCMKW":case"A192GCMKW":case"A256GCMKW":{c=n||xt(e);let{iv:u}=i;({encryptedKey:s,...a}=await Ty(t,r,c,u));break}default:throw new J('Invalid or unsupported "alg" (JWE Algorithm) header value')}return{cek:c,encryptedKey:s,parameters:a}}var Us,hd=L(()=>{Rs();rd();id();od();Le();Li();Y();fd();Mi();ld();o(oP,"encryptKeyManagement");Us=oP});var md,Wt,ks=L(()=>{Le();ud();ed();Ss();hd();Y();vn();Ie();In();md=Symbol(),Wt=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 F("either setProtectedHeader, setUnprotectedHeader, or sharedUnprotectedHeader must be called before #encrypt()");if(!Ct(this._protectedHeader,this._unprotectedHeader,this._sharedUnprotectedHeader))throw new F("JWE Protected, JWE Shared Unprotected and JWE Per-Recipient Header Parameter names must be disjoint");let n={...this._protectedHeader,...this._unprotectedHeader,...this._sharedUnprotectedHeader};if(Lt(F,new Map,r?.crit,this._protectedHeader,n),n.zip!==void 0){if(!this._protectedHeader||!this._protectedHeader.zip)throw new F('JWE "zip" (Compression Algorithm) Header MUST be integrity protected');if(n.zip!=="DEF")throw new J('Unsupported JWE "zip" (Compression Algorithm) Header Parameter value')}let{alg:i,enc:s}=n;if(typeof i!="string"||!i)throw new F('JWE "alg" (Algorithm) Header Parameter missing or invalid');if(typeof s!="string"||!s)throw new F('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 m;({cek:c,encryptedKey:a,parameters:m}=await Us(i,s,e,this._cek,this._keyManagementParameters)),m&&(r&&md in r?this._unprotectedHeader?this._unprotectedHeader={...this._unprotectedHeader,...m}:this.setUnprotectedHeader(m):this._protectedHeader?this._protectedHeader={...this._protectedHeader,...m}:this.setProtectedHeader(m))}this._iv||(this._iv=Ts(s));let u,l,d;this._protectedHeader?l=ae.encode(ce(JSON.stringify(this._protectedHeader))):l=ae.encode(""),this._aad?(d=ce(this._aad),u=xe(l,ae.encode("."),ae.encode(d))):u=l;let p,f;if(n.zip==="DEF"){let m=await(r?.deflateRaw||Ym)(this._plaintext);({ciphertext:p,tag:f}=await Ui(s,m,c,this._iv,u))}else({ciphertext:p,tag:f}=await Ui(s,this._plaintext,c,this._iv,u));let h={ciphertext:ce(p),iv:ce(this._iv),tag:ce(f)};return a&&(h.encrypted_key=ce(a)),d&&(h.aad=d),this._protectedHeader&&(h.protected=ge.decode(l)),this._sharedUnprotectedHeader&&(h.unprotected=this._sharedUnprotectedHeader),this._unprotectedHeader&&(h.header=this._unprotectedHeader),h}}});var yd,Fs,Ly=L(()=>{ks();Y();Li();vn();hd();Le();In();yd=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}},Fs=class{static{o(this,"GeneralEncrypt")}constructor(e){this._recipients=[],this._plaintext=e}addRecipient(e,r){let n=new yd(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 F("at least one recipient must be added");if(e={deflateRaw:e?.deflateRaw},this._recipients.length===1){let[u]=this._recipients,l=await new Wt(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(!Ct(this._protectedHeader,this._unprotectedHeader,l.unprotectedHeader))throw new F("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 F('JWE "alg" (Algorithm) Header Parameter missing or invalid');if(p==="dir"||p==="ECDH-ES")throw new F('"dir" and "ECDH-ES" alg may only be used with a single recipient');if(typeof d.enc!="string"||!d.enc)throw new F('JWE "enc" (Encryption Algorithm) Header Parameter missing or invalid');if(!s)s=d.enc;else if(s!==d.enc)throw new F('JWE "enc" (Encryption Algorithm) Header Parameter must be the same for all recipients');if(Lt(F,new Map,l.options.crit,this._protectedHeader,d),d.zip!==void 0&&(!this._protectedHeader||!this._protectedHeader.zip))throw new F('JWE "zip" (Compression Algorithm) Header MUST be integrity protected')}let a=xt(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 f={...this._protectedHeader,...this._unprotectedHeader,...l.unprotectedHeader}.alg.startsWith("PBES2")?2048+u:void 0;if(u===0){let b=await new Wt(this._plaintext).setAdditionalAuthenticatedData(this._aad).setContentEncryptionKey(a).setProtectedHeader(this._protectedHeader).setSharedUnprotectedHeader(this._unprotectedHeader).setUnprotectedHeader(l.unprotectedHeader).setKeyManagementParameters({p2c:f}).encrypt(l.key,{...l.options,...e,[md]:!0});c.ciphertext=b.ciphertext,c.iv=b.iv,c.tag=b.tag,b.aad&&(c.aad=b.aad),b.protected&&(c.protected=b.protected),b.unprotected&&(c.unprotected=b.unprotected),d.encrypted_key=b.encrypted_key,b.header&&(d.header=b.header);continue}let{encryptedKey:h,parameters:m}=await Us(((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:f});d.encrypted_key=ce(h),(l.unprotectedHeader||m)&&(d.header={...l.unprotectedHeader,...m})}return c}}});function Fi(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 J(`alg ${t} is not supported either by JOSE or your javascript runtime`)}}var gd=L(()=>{Y();o(Fi,"subtleDsa")});function Hi(t,e,r){if(me(e))return zm(e,t,r),e;if(e instanceof Uint8Array){if(!t.startsWith("HS"))throw new TypeError(fe(e,...oe));return G.subtle.importKey("raw",e,{hash:`SHA-${t.slice(-3)}`,name:"HMAC"},!1,[r])}throw new TypeError(fe(e,...oe,"Uint8Array"))}var bd=L(()=>{Ce();yr();gt();bt();o(Hi,"getCryptoKey")});var sP,Dy,My=L(()=>{gd();Ce();Cs();bd();sP=o(async(t,e,r,n)=>{let i=await Hi(t,e,"verify");Jr(t,i);let s=Fi(t,i.algorithm);try{return await G.subtle.verify(s,i,r,n)}catch{return!1}},"verify"),Dy=sP});async function An(t,e,r){var n;if(!se(t))throw new ne("Flattened JWS must be an object");if(t.protected===void 0&&t.header===void 0)throw new ne('Flattened JWS must have either of the "protected" or "header" members');if(t.protected!==void 0&&typeof t.protected!="string")throw new ne("JWS Protected Header incorrect type");if(t.payload===void 0)throw new ne("JWS Payload missing");if(typeof t.signature!="string")throw new ne("JWS Signature missing or incorrect type");if(t.header!==void 0&&!se(t.header))throw new ne("JWS Unprotected Header incorrect type");let i={};if(t.protected)try{let v=de(t.protected);i=JSON.parse(ge.decode(v))}catch{throw new ne("JWS Protected Header is invalid")}if(!Ct(i,t.header))throw new ne("JWS Protected and JWS Unprotected Header Parameter names must be disjoint");let s={...i,...t.header},a=Lt(ne,new Map([["b64",!0]]),r?.crit,i,s),c=!0;if(a.has("b64")&&(c=i.b64,typeof c!="boolean"))throw new ne('The "b64" (base64url-encode payload) Header Parameter must be a boolean');let{alg:u}=s;if(typeof u!="string"||!u)throw new ne('JWS "alg" (Algorithm) Header Parameter missing or invalid');let l=r&&ki("algorithms",r.algorithms);if(l&&!l.has(u))throw new pr('"alg" (Algorithm) Header Parameter not allowed');if(c){if(typeof t.payload!="string")throw new ne("JWS Payload must be a string")}else if(typeof t.payload!="string"&&!(t.payload instanceof Uint8Array))throw new ne("JWS Payload must be a string or an Uint8Array instance");let d=!1;typeof e=="function"&&(e=await e(i,t),d=!0),_r(u,e,"verify");let p=xe(ae.encode((n=t.protected)!==null&&n!==void 0?n:""),ae.encode("."),typeof t.payload=="string"?ae.encode(t.payload):t.payload),f=de(t.signature);if(!await Dy(u,e,f,p))throw new Kr;let m;c?m=de(t.payload):typeof t.payload=="string"?m=ae.encode(t.payload):m=t.payload;let b={payload:m};return t.protected!==void 0&&(b.protectedHeader=i),t.header!==void 0&&(b.unprotectedHeader=t.header),d?{...b,key:e}:b}var Hs=L(()=>{Le();My();Y();Ie();vn();ze();Mi();In();dd();o(An,"flattenedVerify")});async function qs(t,e,r){if(t instanceof Uint8Array&&(t=ge.decode(t)),typeof t!="string")throw new ne("Compact JWS must be a string or Uint8Array");let{0:n,1:i,2:s,length:a}=t.split(".");if(a!==3)throw new ne("Invalid Compact JWS");let c=await An({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 _d=L(()=>{Hs();Y();Ie();o(qs,"compactVerify")});async function Uy(t,e,r){if(!se(t))throw new ne("General JWS must be an object");if(!Array.isArray(t.signatures)||!t.signatures.every(se))throw new ne("JWS Signatures missing or incorrect type");for(let n of t.signatures)try{return await An({header:n.header,payload:t.payload,protected:n.protected,signature:n.signature},e,r)}catch{}throw new Kr}var ky=L(()=>{Hs();Y();ze();o(Uy,"generalVerify")});var Rn,Ed=L(()=>{Rn=o(t=>Math.floor(t.getTime()/1e3),"default")});var aP,On,wd=L(()=>{aP=/^(\d+|\d+\.\d+) ?(seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)$/i,On=o(t=>{let e=aP.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 Fy,cP,Nn,$s=L(()=>{Y();Ie();Ed();wd();ze();Fy=o(t=>t.toLowerCase().replace(/^application\//,""),"normalizeTyp"),cP=o((t,e)=>typeof t=="string"?e.includes(t):Array.isArray(t)?e.some(Set.prototype.has.bind(new Set(t))):!1,"checkAudiencePresence"),Nn=o((t,e,r={})=>{let{typ:n}=r;if(n&&(typeof t.typ!="string"||Fy(t.typ)!==Fy(n)))throw new Pe('unexpected "typ" JWT header value',"typ","check_failed");let i;try{i=JSON.parse(ge.decode(e))}catch{}if(!se(i))throw new _e("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 h of new Set(s.reverse()))if(!(h in i))throw new Pe(`missing required "${h}" claim`,h,"missing");if(a&&!(Array.isArray(a)?a:[a]).includes(i.iss))throw new Pe('unexpected "iss" claim value',"iss","check_failed");if(c&&i.sub!==c)throw new Pe('unexpected "sub" claim value',"sub","check_failed");if(u&&!cP(i.aud,typeof u=="string"?[u]:u))throw new Pe('unexpected "aud" claim value',"aud","check_failed");let d;switch(typeof r.clockTolerance){case"string":d=On(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,f=Rn(p||new Date);if((i.iat!==void 0||l)&&typeof i.iat!="number")throw new Pe('"iat" claim must be a number',"iat","invalid");if(i.nbf!==void 0){if(typeof i.nbf!="number")throw new Pe('"nbf" claim must be a number',"nbf","invalid");if(i.nbf>f+d)throw new Pe('"nbf" claim timestamp check failed',"nbf","check_failed")}if(i.exp!==void 0){if(typeof i.exp!="number")throw new Pe('"exp" claim must be a number',"exp","invalid");if(i.exp<=f-d)throw new En('"exp" claim timestamp check failed',"exp","check_failed")}if(l){let h=f-i.iat,m=typeof l=="number"?l:On(l);if(h-d>m)throw new En('"iat" claim timestamp check failed (too far in the past)',"iat","check_failed");if(h<0-d)throw new Pe('"iat" claim timestamp check failed (it should be in the past)',"iat","check_failed")}return i},"default")});async function Hy(t,e,r){var n;let i=await qs(t,e,r);if(!((n=i.protectedHeader.crit)===null||n===void 0)&&n.includes("b64")&&i.protectedHeader.b64===!1)throw new _e("JWTs MUST NOT use unencoded payload");let a={payload:Nn(i.protectedHeader,i.payload,r),protectedHeader:i.protectedHeader};return typeof e=="function"?{...a,key:i.key}:a}var qy=L(()=>{_d();$s();Y();o(Hy,"jwtVerify")});async function $y(t,e,r){let n=await Ds(t,e,r),i=Nn(n.protectedHeader,n.plaintext,r),{protectedHeader:s}=n;if(s.iss!==void 0&&s.iss!==i.iss)throw new Pe('replicated "iss" claim header parameter mismatch',"iss","mismatch");if(s.sub!==void 0&&s.sub!==i.sub)throw new Pe('replicated "sub" claim header parameter mismatch',"sub","mismatch");if(s.aud!==void 0&&JSON.stringify(s.aud)!==JSON.stringify(i.aud))throw new Pe('replicated "aud" claim header parameter mismatch',"aud","mismatch");let a={payload:i,protectedHeader:s};return typeof e=="function"?{...a,key:n.key}:a}var jy=L(()=>{pd();$s();Y();o($y,"jwtDecrypt")});var Cn,vd=L(()=>{ks();Cn=class{static{o(this,"CompactEncrypt")}constructor(e){this._flattened=new Wt(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 uP,Vy,By=L(()=>{gd();Ce();Cs();bd();uP=o(async(t,e,r)=>{let n=await Hi(t,e,"sign");Jr(t,n);let i=await G.subtle.sign(Fi(t,n.algorithm),n,r);return new Uint8Array(i)},"sign"),Vy=uP});var Er,js=L(()=>{Le();By();vn();Y();Ie();Mi();In();Er=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 ne("either setProtectedHeader or setUnprotectedHeader must be called before #sign()");if(!Ct(this._protectedHeader,this._unprotectedHeader))throw new ne("JWS Protected and JWS Unprotected Header Parameter names must be disjoint");let n={...this._protectedHeader,...this._unprotectedHeader},i=Lt(ne,new Map([["b64",!0]]),r?.crit,this._protectedHeader,n),s=!0;if(i.has("b64")&&(s=this._protectedHeader.b64,typeof s!="boolean"))throw new ne('The "b64" (base64url-encode payload) Header Parameter must be a boolean');let{alg:a}=n;if(typeof a!="string"||!a)throw new ne('JWS "alg" (Algorithm) Header Parameter missing or invalid');_r(a,e,"sign");let c=this._payload;s&&(c=ae.encode(ce(c)));let u;this._protectedHeader?u=ae.encode(ce(JSON.stringify(this._protectedHeader))):u=ae.encode("");let l=xe(u,ae.encode("."),c),d=await Vy(a,e,l),p={signature:ce(d),payload:""};return s&&(p.payload=ge.decode(c)),this._unprotectedHeader&&(p.header=this._unprotectedHeader),this._protectedHeader&&(p.protected=ge.decode(u)),p}}});var xn,Td=L(()=>{js();xn=class{static{o(this,"CompactSign")}constructor(e){this._flattened=new Er(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 Sd,Vs,Gy=L(()=>{js();Y();Sd=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}},Vs=class{static{o(this,"GeneralSign")}constructor(e){this._signatures=[],this._payload=e}addSignature(e,r){let n=new Sd(this,e,r);return this._signatures.push(n),n}async sign(){if(!this._signatures.length)throw new ne("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 Er(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 ne("inconsistent use of JWS Unencoded Payload (RFC7797)");e.signatures.push(a)}return e}}});var wr,Bs=L(()=>{Ed();ze();wd();wr=class{static{o(this,"ProduceJWT")}constructor(e){if(!se(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:Rn(new Date)+On(e)},this}setExpirationTime(e){return typeof e=="number"?this._payload={...this._payload,exp:e}:this._payload={...this._payload,exp:Rn(new Date)+On(e)},this}setIssuedAt(e){return typeof e>"u"?this._payload={...this._payload,iat:Rn(new Date)}:this._payload={...this._payload,iat:e},this}}});var Gs,Ky=L(()=>{Td();Y();Ie();Bs();Gs=class extends wr{static{o(this,"SignJWT")}setProtectedHeader(e){return this._protectedHeader=e,this}async sign(e,r){var n;let i=new xn(ae.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 _e("JWTs MUST NOT use unencoded payload");return i.sign(e,r)}}});var Ks,Jy=L(()=>{vd();Ie();Bs();Ks=class extends wr{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 Cn(ae.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 Id(t,e){if(!se(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":vr(t.crv,'"crv" (Curve) Parameter'),vr(t.x,'"x" (X Coordinate) Parameter'),vr(t.y,'"y" (Y Coordinate) Parameter'),r={crv:t.crv,kty:t.kty,x:t.x,y:t.y};break;case"OKP":vr(t.crv,'"crv" (Subtype of Key Pair) Parameter'),vr(t.x,'"x" (Public Key) Parameter'),r={crv:t.crv,kty:t.kty,x:t.x};break;case"RSA":vr(t.e,'"e" (Exponent) Parameter'),vr(t.n,'"n" (Modulus) Parameter'),r={e:t.e,kty:t.kty,n:t.n};break;case"oct":vr(t.k,'"k" (Key Value) Parameter'),r={k:t.k,kty:t.kty};break;default:throw new J('"kty" (Key Type) Parameter missing or unsupported')}let n=ae.encode(JSON.stringify(r));return ce(await gs(e,n))}async function zy(t,e){e??(e="sha256");let r=await Id(t,e);return`urn:ietf:params:oauth:jwk-thumbprint:sha-${e.slice(-3)}:${r}`}var vr,Wy=L(()=>{Bl();Le();Y();Ie();ze();vr=o((t,e)=>{if(typeof t!="string"||!t)throw new Pi(`${e} missing or invalid`)},"check");o(Id,"calculateJwkThumbprint");o(zy,"calculateJwkThumbprintUri")});async function Qy(t,e){let r={...t,...e?.header};if(!se(r.jwk))throw new ne('"jwk" (JSON Web Key) Header Parameter must be a JSON object');let n=await br({...r.jwk,ext:!0},r.alg,!0);if(n instanceof Uint8Array||n.type!=="public")throw new ne('"jwk" (JSON Web Key) Header Parameter must be a public key');return n}var Yy=L(()=>{Di();ze();Y();o(Qy,"EmbeddedJWK")});function lP(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 J('Unsupported "alg" value for a JSON Web Key Set')}}function Pd(t){return t&&typeof t=="object"&&Array.isArray(t.keys)&&t.keys.every(dP)}function dP(t){return se(t)}function pP(t){return typeof structuredClone=="function"?structuredClone(t):JSON.parse(JSON.stringify(t))}async function Zy(t,e,r){let n=t.get(e)||t.set(e,{}).get(e);if(n[r]===void 0){let i=await br({...e,ext:!0},r);if(i instanceof Uint8Array||i.type!=="public")throw new fr("JSON Web Key Set members must be public keys");n[r]=i}return n[r]}function Xy(t){let e=new qi(t);return async function(r,n){return e.getKey(r,n)}}var qi,Ad=L(()=>{Di();Y();ze();o(lP,"getKtyFromAlg");o(Pd,"isJWKSLike");o(dP,"isJWKLike");o(pP,"clone");qi=class{static{o(this,"LocalJWKSet")}constructor(e){if(this._cached=new WeakMap,!Pd(e))throw new fr("JSON Web Key Set malformed");this._jwks=pP(e)}async getKey(e,r){let{alg:n,kid:i}={...e,...r?.header},s=lP(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 Gr;if(u!==1){let l=new Ai,{_cached:d}=this;throw l[Symbol.asyncIterator]=async function*(){for(let p of a)try{yield await Zy(d,p,n)}catch{continue}},l}return Zy(this._cached,c,n)}};o(Zy,"importWithAlgCache");o(Xy,"createLocalJWKSet")});var fP,eg,tg=L(()=>{Y();fP=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 Ri:c});if(i!==void 0&&clearTimeout(i),a.status!==200)throw new ve("Expected 200 OK from the JSON Web Key Set HTTP response");try{return await a.json()}catch{throw new ve("Failed to parse the JSON Web Key Set HTTP response as JSON")}},"fetchJwks"),eg=fP});function hP(){return typeof WebSocketPair<"u"||typeof navigator<"u"&&navigator.userAgent==="Cloudflare-Workers"||typeof EdgeRuntime<"u"&&EdgeRuntime==="vercel"}function rg(t,e){let r=new Rd(t,e);return async function(n,i){return r.getKey(n,i)}}var Rd,ng=L(()=>{tg();Y();Ad();o(hP,"isCloudflareWorkers");Rd=class extends qi{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 Gr&&this.coolingDown()===!1)return await this.reload(),super.getKey(e,r);throw n}}async reload(){this._pendingFetch&&hP()&&(this._pendingFetch=void 0),this._pendingFetch||(this._pendingFetch=eg(this._url,this._timeoutDuration,this._options).then(e=>{if(!Pd(e))throw new fr("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(rg,"createRemoteJWKSet")});var Js,ig=L(()=>{Le();Ie();Y();$s();Bs();Js=class extends wr{static{o(this,"UnsecuredJWT")}encode(){let e=ce(JSON.stringify({alg:"none"})),r=ce(JSON.stringify(this._payload));return`${e}.${r}.`}static decode(e,r){if(typeof e!="string")throw new _e("Unsecured JWT must be a string");let{0:n,1:i,2:s,length:a}=e.split(".");if(a!==3||s!=="")throw new _e("Invalid Unsecured JWT");let c;try{if(c=JSON.parse(ge.decode(de(n))),c.alg!=="none")throw new Error}catch{throw new _e("Invalid Unsecured JWT")}return{payload:Nn(c,de(i),r),header:c}}}});var Od={};So(Od,{decode:()=>$i,encode:()=>mP});var mP,$i,zs=L(()=>{Le();mP=ce,$i=de});function og(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(ge.decode($i(e)));if(!se(r))throw new Error;return r}catch{throw new TypeError("Invalid Token or Protected Header formatting")}}var sg=L(()=>{zs();Ie();ze();o(og,"decodeProtectedHeader")});function ag(t){if(typeof t!="string")throw new _e("JWTs must use Compact JWS serialization, JWT must be a string");let{1:e,length:r}=t.split(".");if(r===5)throw new _e("Only JWTs using Compact JWS serialization can be decoded");if(r!==3)throw new _e("Invalid JWT");if(!e)throw new _e("JWTs must contain a payload");let n;try{n=$i(e)}catch{throw new _e("Failed to parse the base64url encoded payload")}let i;try{i=JSON.parse(ge.decode(n))}catch{throw new _e("Failed to parse the decoded payload as JSON")}if(!se(i))throw new _e("Invalid JWT Claims Set");return i}var cg=L(()=>{zs();Ie();ze();Y();o(ag,"decodeJwt")});async function ug(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),hr(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 J('Invalid or unsupported JWK "alg" (Algorithm) Parameter value')}return G.subtle.generateKey(i,(r=e?.extractable)!==null&&r!==void 0?r:!1,s)}function Nd(t){var e;let r=(e=t?.modulusLength)!==null&&e!==void 0?e:2048;if(typeof r!="number"||r<2048)throw new J("Invalid or unsupported modulusLength option provided, 2048 bits or larger keys must be used");return r}async function lg(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:Nd(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:Nd(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:Nd(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 J("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 J("Invalid or unsupported crv option provided, supported values are P-256, P-384, P-521, X25519, and X448")}break}default:throw new J('Invalid or unsupported JWK "alg" (Algorithm) Parameter value')}return G.subtle.generateKey(s,(i=e?.extractable)!==null&&i!==void 0?i:!1,a)}var Cd=L(()=>{Ce();Y();Oi();o(ug,"generateSecret");o(Nd,"getModulusLengthOption");o(lg,"generateKeyPair")});async function dg(t,e){return lg(t,e)}var pg=L(()=>{Cd();o(dg,"generateKeyPair")});async function fg(t,e){return ug(t,e)}var hg=L(()=>{Cd();o(fg,"generateSecret")});var Ws={};So(Ws,{CompactEncrypt:()=>Cn,CompactSign:()=>xn,EmbeddedJWK:()=>Qy,EncryptJWT:()=>Ks,FlattenedEncrypt:()=>Wt,FlattenedSign:()=>Er,GeneralEncrypt:()=>Fs,GeneralSign:()=>Vs,SignJWT:()=>Gs,UnsecuredJWT:()=>Js,base64url:()=>Od,calculateJwkThumbprint:()=>Id,calculateJwkThumbprintUri:()=>zy,compactDecrypt:()=>Ds,compactVerify:()=>qs,createLocalJWKSet:()=>Xy,createRemoteJWKSet:()=>rg,decodeJwt:()=>ag,decodeProtectedHeader:()=>og,errors:()=>Jl,exportJWK:()=>Ms,exportPKCS8:()=>xy,exportSPKI:()=>Cy,flattenedDecrypt:()=>Pn,flattenedVerify:()=>An,generalDecrypt:()=>Ay,generalVerify:()=>Uy,generateKeyPair:()=>dg,generateSecret:()=>fg,importJWK:()=>br,importPKCS8:()=>vy,importSPKI:()=>Ey,importX509:()=>wy,jwtDecrypt:()=>$y,jwtVerify:()=>Hy});var Qs=L(()=>{pd();Ls();Ry();Ly();_d();Hs();ky();qy();jy();vd();ks();Td();js();Gy();Ky();Jy();Wy();Yy();Ad();ng();ig();fd();Di();sg();cg();Y();pg();hg();zs()});var Ln=_(Ys=>{"use strict";Object.defineProperty(Ys,"__esModule",{value:!0});Ys.fetchRetry=void 0;var yP=k();async function gP(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 yP.ConfigurationError("An unknown error occurred, ensure retries is not negative")}o(gP,"fetchRetry");Ys.fetchRetry=gP});var Dn=_(at=>{"use strict";Object.defineProperty(at,"__esModule",{value:!0});at.GcpServiceAccount=at.fetchToken=at.exchangeGgpJwtForIdToken=at.exchangeFirebaseJwtForIdToken=at.getTokenFromGcpServiceAccount=void 0;var mg=(Qs(),Io(Ws)),bP=k(),_P=Ln();async function EP({serviceAccount:t,audience:e,expirationTime:r="1h",payload:n={}}){let{clientEmail:i,privateKeyId:s,privateKey:a}=t;return await new mg.SignJWT(n).setProtectedHeader({alg:"RS256",kid:s}).setIssuer(i).setSubject(i).setAudience(e).setIssuedAt().setExpirationTime(r).sign(a)}o(EP,"getTokenFromGcpServiceAccount");at.getTokenFromGcpServiceAccount=EP;async function wP(t,e,r){return Ld(t,{token:e,returnSecureToken:!0},r)}o(wP,"exchangeFirebaseJwtForIdToken");at.exchangeFirebaseJwtForIdToken=wP;async function vP(t,e,r){return Ld(t,{grant_type:"urn:ietf:params:oauth:grant-type:jwt-bearer",assertion:e},r)}o(vP,"exchangeGgpJwtForIdToken");at.exchangeGgpJwtForIdToken=vP;async function Ld(t,e,r){let n=await(0,_P.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 bP.RuntimeError({message:"Could not get token from Google Identity",extensionMembers:s})}return await n.json()}o(Ld,"fetchToken");at.fetchToken=Ld;var xd=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,mg.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}};at.GcpServiceAccount=xd});var Xs=_(Qt=>{"use strict";Object.defineProperty(Qt,"__esModule",{value:!0});Qt.GoogleLogTransport=Qt.ZuploToGCPMap=Qt.GoogleCloudLoggingPlugin=void 0;var TP=k(),SP=Ne(),Dd=ie(),Md=Dn(),IP=Jt(),yg=Nt(),Ud=class extends IP.LogPlugin{static{o(this,"GoogleCloudLoggingPlugin")}options;constructor(e){super(),this.options=e}getTransport(){return new Zs(this.options)}};Qt.GoogleCloudLoggingPlugin=Ud;var PP="https://logging.googleapis.com/v2/entries:write?alt=json";Qt.ZuploToGCPMap={error:"ERROR",warn:"WARNING",info:"INFO",debug:"DEBUG"};var Zs=class{static{o(this,"GoogleLogTransport")}constructor(e){this.#r=e.logName,this.#e=e.serviceAccountJson,this.#i=Dd.Environment.instance.loggingEnvironmentType,this.#o=Dd.Environment.instance.loggingEnvironmentStage,this.#n=Dd.Environment.instance.deploymentName}#e;#t;#r;#n;#i;#o;async init(){this.#t=await Md.GcpServiceAccount.init(this.#e)}log(e,r){if(!this.#t)throw new TP.SystemError("Invalid state - Google log transport is not initialized");if(e.messages.length===0)return;let n={allMessages:(0,yg.makeErrorsSerializable)(e.messages)},i=this.#t.projectId??"zuplo-production",s={logName:this.#r,resource:{type:"global"},severity:Qt.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,yg.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 Md.GcpServiceAccount.init(this.#e));let r=await(0,Md.getTokenFromGcpServiceAccount)({serviceAccount:this.#t,audience:"https://logging.googleapis.com/google.logging.v2.LoggingServiceV2"}),n=await fetch(PP,{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 SP.BatchDispatch("google-log-transport",1,this.dispatchFunction)};Qt.GoogleLogTransport=Zs});var kd=_(Mn=>{"use strict";Object.defineProperty(Mn,"__esModule",{value:!0});Mn.gcpLogFormat=Mn.GCP_LOG_FORMAT=void 0;var gg=Nt(),AP=Xs();Mn.GCP_LOG_FORMAT="gcp";function RP(t){let e={allMessages:(0,gg.makeErrorsSerializable)(t.messages)},r="zuplo-production",n=(0,gg.extractBestMessage)(e.allMessages),i={logName:`projects/${r}/logs/runtime-user`,message:n,severity:AP.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(RP,"gcpLogFormat");Mn.gcpLogFormat=RP});var _g=_(ea=>{"use strict";Object.defineProperty(ea,"__esModule",{value:!0});ea.ConsoleTransport=void 0;var bg=kd(),Fd=class{static{o(this,"ConsoleTransport")}constructor(e,r){this.#e=e??console,this.#t=r}#e;#t;log(e){if(this.#t===bg.GCP_LOG_FORMAT){if(e.messages.length===0)return;this.#e[e.level].apply(null,[(0,bg.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}])}};ea.ConsoleTransport=Fd});var Bd=_(Un=>{"use strict";Object.defineProperty(Un,"__esModule",{value:!0});Un.DataDogTransport=Un.DataDogLoggingPlugin=void 0;var OP=Ne(),Hd=ie(),NP=Jt(),Eg=Nt(),Vd=class extends NP.LogPlugin{static{o(this,"DataDogLoggingPlugin")}options;constructor(e){super(),this.options=e}getTransport(){return new ta(this.options)}};Un.DataDogLoggingPlugin=Vd;var qd="__ddtags",$d="__ddattr",jd=o(t=>t.replaceAll(",","_").replaceAll(":","_"),"cleanTagText"),CP=o(t=>{let e=Object.keys(t),r=[];return e.forEach(n=>{let i=t[n];i==null?r.push(jd(n)):r.push(`${jd(n)}:${jd(i.toString())}`)}),r.join(",")},"formatTags"),ta=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=Hd.Environment.instance.loggingEnvironmentType,this.#i=Hd.Environment.instance.loggingEnvironmentStage,this.#r=Hd.Environment.instance.deploymentName}#e;#t;#r;#n;#i;log(e,r){let n={},i=r.custom[qd];i&&typeof i=="object"&&Object.assign(n,i);let s=[...e.messages],a=e.messages.findIndex(h=>h[qd]!==void 0);a>-1&&(Object.assign(n,s[a][qd]),s.splice(a,1));let c={},u=r.custom[$d];u&&typeof u=="object"&&Object.assign(c,u);let l=e.messages.findIndex(h=>h[$d]!==void 0);l>-1&&(Object.assign(c,s[l][$d]),s.splice(l,1));let d=(0,Eg.makeErrorsSerializable)(s),f={message:{...{...e,activityId:e.requestId,trace:e.requestId},messages:d},ddsource:"Zuplo",hostname:new URL(r.originalRequest.url).hostname,msg:(0,Eg.extractBestMessage)(d),service:e.loggingId,ddtags:CP(n),environment:this.#r,environment_type:this.#n,environment_stage:this.#i};Object.assign(f,c),this.batcher.enqueue(f),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 OP.BatchDispatch("data-dog-transport",10,this.dispatchFunction)};Un.DataDogTransport=ta});var vg=_(ra=>{"use strict";Object.defineProperty(ra,"__esModule",{value:!0});ra.ProcessTransport=void 0;var wg=kd(),Gd=class{static{o(this,"ProcessTransport")}constructor(e,r){this.#e=e,this.#t=r}#e;#t;log(e){if(this.#t===wg.GCP_LOG_FORMAT){if(e.messages.length===0)return;this.#e[e.level].apply(null,[(0,wg.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}])}};ra.ProcessTransport=Gd});var Sg=_(ia=>{"use strict";Object.defineProperty(ia,"__esModule",{value:!0});ia.RemoteLogTransport=void 0;var xP=Ne(),Tg=ie(),LP=Nt(),DP=o(({url:t,remoteLogToken:e,loggingId:r,sendOnlyErrors:n})=>async i=>{let s;if(n===!0?s=i.filter(a=>a.level==="error"):s=i,s.length!==0)try{await fetch(`${t}/publish/${r}`,{method:"POST",body:JSON.stringify({timestamp:Date.now(),type:"log",message:s.map(a=>({...a,messages:(0,LP.makeErrorsSerializable)(a.messages)}))}),headers:{"content-type":"application/json",authentication:`Bearer ${e}`,"user-agent":Tg.Environment.instance.systemUserAgent,"zp-dn":Tg.Environment.instance.deploymentName??"unknown"}})}catch(a){console.error(a)}},"dispatchFunction"),na,Kd=class{static{o(this,"RemoteLogTransport")}constructor(e){na||(na=new xP.BatchDispatch("remote-log-transport",1,DP(e)))}log(e,r){na.enqueue(e),r.waitUntil(na.waitUntilFlushed())}};ia.RemoteLogTransport=Kd});var Ig=_(zr=>{"use strict";Object.defineProperty(zr,"__esModule",{value:!0});zr.unifiedFormatter=zr.SeverityNumberOpenTelemetryMap=void 0;zr.SeverityNumberOpenTelemetryMap={internal:1,trace:2,debug:5,info:9,warn:13,error:17,fatal:21};var MP=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:zr.SeverityNumberOpenTelemetryMap[r.level],body:r.messages,attributes:n}},"unifiedFormatter");zr.unifiedFormatter=MP});var Ag=_(sa=>{"use strict";Object.defineProperty(sa,"__esModule",{value:!0});sa.UnifiedLogTransport=void 0;var UP=Ne(),Pg=ie(),kP=Ig(),FP=o(({url:t,remoteLogToken:e,deploymentName:r,build:n})=>async i=>{if(i.length===0)return;let s=(0,kP.unifiedFormatter)(r,n);try{await fetch(`${t}/v1/runtime-logs`,{method:"POST",body:JSON.stringify({entries:i.map(s)}),headers:{"content-type":"application/json",authentication:`Bearer ${e}`,"user-agent":Pg.Environment.instance.systemUserAgent,"zp-dn":Pg.Environment.instance.deploymentName??"unknown"}})}catch(a){console.error(a)}},"dispatchFunction"),oa,Jd=class{static{o(this,"UnifiedLogTransport")}constructor(e){oa||(oa=new UP.BatchDispatch("unified-log-transport",1,FP(e)))}async log(e,r){oa.enqueue(e),r.waitUntil(oa.waitUntilFlushed())}};sa.UnifiedLogTransport=Jd});var Dg=_(aa=>{"use strict";Object.defineProperty(aa,"__esModule",{value:!0});aa.LogInitializer=void 0;var HP=kr(),qP=Rt(),Rg=Ll(),Og=ie(),Ng=xm(),$P=Jt(),jP=Lm(),Cg=Dm(),xg=_g(),VP=Bd(),BP=Xs(),Lg=vg(),GP=Sg(),KP=Ag(),zd=(0,HP.debug)("zuplo:logging"),Wd=class t{static{o(this,"LogInitializer")}systemCoreLogger;userCoreLogger;constructor({systemCoreLogger:e,userCoreLogger:r}){this.systemCoreLogger=e,this.userCoreLogger=r}static async init(e){let r=await t.setupSystemCoreLogger(Og.Environment.instance,e),n=await t.setupUserCoreLogger(Og.Environment.instance,e);return new t({systemCoreLogger:r,userCoreLogger:n})}static async setupSystemCoreLogger(e,r){let{build:n}=e;zd("Gateway.setupSystemCoreLogger");let i=[],s=r.getService(Rg.SYSTEM_LOGGER);return s?i.push(new Lg.ProcessTransport(s.logger,e.logFormat)):e.isDeno&&i.push(new xg.ConsoleTransport(console,e.logFormat)),e.isCloudflare&&e.deploymentName&&e.remoteLogToken&&i.push(new KP.UnifiedLogTransport({url:e.remoteLogURL,deploymentName:e.deploymentName,remoteLogToken:e.remoteLogToken,build:e.build})),await Promise.all(i.map(async a=>{a.init&&await a.init()})),new Ng.CoreLogger(e.systemLogLevel,"system",e.loggingId,n.BUILD_ID,i)}static async setupUserCoreLogger(e,r){zd("Gateway.setupUserCoreLogger");let n=[],{runtime:i,build:s}=e,a=r.getService(Rg.SYSTEM_LOGGER);if(a&&a.captureUserLogs===!0?n.push(new Lg.ProcessTransport(a.logger,e.logFormat)):e.isDeno&&n.push(new xg.ConsoleTransport(console,e.logFormat)),e.remoteLogToken&&e.loggingId&&n.push(new GP.RemoteLogTransport({loggingId:e.loggingId,url:e.remoteLogURL,remoteLogToken:e.remoteLogToken,sendOnlyErrors:e.isCloudflare})),i.GCP_USER_LOG_NAME&&i.GCP_USER_LOG_SVC_ACCT_JSON&&n.push(new BP.GoogleLogTransport({serviceAccountJson:i.GCP_USER_LOG_SVC_ACCT_JSON,logName:i.GCP_USER_LOG_NAME})),i.ZUPLO_USER_LOGGER_DATA_DOG_API_KEY){let c=i.ZUPLO_USER_LOGGER_DATA_DOG_URL;n.push(new VP.DataDogTransport({apiKey:i.ZUPLO_USER_LOGGER_DATA_DOG_API_KEY,url:c}))}return qP.plugins.forEach(c=>{c instanceof $P.LogPlugin&&n.push(c.getTransport())}),await Promise.all(n.map(async c=>{c.init&&await c.init()})),new Ng.CoreLogger(e.userLogLevel,"user",e.loggingId,s.BUILD_ID,n)}createRequestLoggers(e,r,n,i,s){zd("Gateway.createRequestLoggers");let a=new jP.LoggingContext(n,i,s),c=new Cg.RequestLogger(e,r,this.systemCoreLogger,a);return{userRequestLogger:new Cg.RequestLogger(e,r,this.userCoreLogger,a),systemRequestLogger:c}}};aa.LogInitializer=Wd});var Yd=_(ca=>{"use strict";Object.defineProperty(ca,"__esModule",{value:!0});ca.UserRouteConfiguration=void 0;var Qd=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};ca.UserRouteConfiguration=Qd});var Xd=_(Dt=>{"use strict";Object.defineProperty(Dt,"__esModule",{value:!0});Dt.Router=Dt.RouterError=Dt.LookupResult=Dt.RouterEntry=void 0;var Mg=k(),JP=mt(),zP=Yd(),ua=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};Dt.RouterEntry=ua;var ji=class{static{o(this,"LookupResult")}constructor(e,r,n){this.routeConfiguration=e,this.params=n??{},this.executableHandler=r}executableHandler;routeConfiguration;params};Dt.LookupResult=ji;var la=class extends Error{static{o(this,"RouterError")}constructor(e,r){super(e,r)}};Dt.RouterError=la;var Zd=class{static{o(this,"Router")}constructor(e){this.routeEntries=[],this.versions=e}versions;routeEntries;addRoute(e,r){if(!(e instanceof zP.UserRouteConfiguration||e instanceof JP.SystemRouteConfiguration))throw new Mg.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 ua(i,s,e,r);Object.freeze(a.config),this.routeEntries.push(a)}catch(s){throw new la(`addRoute-error: Invalid path '${i}'. '${s.message}'`,{cause:s})}}lookup(e,r){if(typeof e>"u")throw new Mg.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 ji(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 ji(i.config,i.executableHandler,a.pathname.groups);r.push(c)}}return r}};Dt.Router=Zd});var Fr=_(pa=>{"use strict";Object.defineProperty(pa,"__esModule",{value:!0});pa.Gateway=void 0;var WP=kr(),Ug=am(),kg=mm(),QP=ym(),Fg=gm(),Hg=wm(),Yt=un(),da=Hr(),qg=Cm(),Ut=k(),Vi=Rt(),YP=Dg(),ZP=Bt(),XP=pe(),eA=Il(),tA=ar(),rA=yn(),nA=Ge(),iA=Xd(),ep=mt(),$g=Yd(),oA=Ze(),sA=is(),tp=ie(),jg=Br(),Vg=ol(),Mt=(0,WP.debug)("zuplo:runtime"),aA=o(t=>{let e=t.findIndex(r=>r.name===ep.systemNoVersion.name);return e>-1?[...t.splice(e),ep.systemNoVersion]:[...t,ep.systemNoVersion]},"setupSystemNoVersion"),rp=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,Mt("Gateway.constructor"),this.#r=this.setupRoutes(),this.#i=this.setupErrorHandler(),this.#t=n}static async initialize(e,r,n,i,s){if(Mt("Gateway.initialize"),!t.#e){await(0,Vi.initializeRuntime)(s);let a=await YP.LogInitializer.init(n),c=e(),u={...c,corsPolicies:(0,sA.parseCorsPolicies)(c.corsPolicies)},l=new t(u,r,a,i);t.#e=l}return t.#e}static purgeGatewayCache(){Mt("Gateway.purgeGatewayCache"),t.#e=void 0}static get instance(){if(!t.#e)throw new Ut.SystemError("Gateway cannot be used before it is initialized");return t.#e}instanceId=crypto.randomUUID();#t;#r;#n=[rA.policyProcessor,eA.corsProcessor,tA.metricsProcessor];#i;setupRoutes=()=>{Mt("Gateway.setupRoutes");let e=this.routeData,r=aA(e.versions),n=new iA.Router(r);if(e.routes.length===0)return(0,Ug.registerBuildRoute)(n,this),(0,Hg.registerPingRoute)(n,this),(0,kg.registerCorsRoute)(n,this),(0,QP.registerNoRoutes)(n,this),n;let{enabled:i}=this.runtimeSettings.developerPortal;i&&((0,qg.registerDevPortalLegacyRedirectRoute)(n,this),(0,qg.registerDevPortalV3Route)(n,this)),(0,Ug.registerBuildRoute)(n,this),(0,Hg.registerPingRoute)(n,this),(0,kg.registerCorsRoute)(n,this);for(let s of Vi.plugins)s instanceof Vi.SystemRuntimePlugin&&s.registerRoutes(n,this);return e.routes.forEach(s=>{let a;if(typeof s.handler?.module=="object"&&(a=s.handler?.module[s.handler.export]),typeof a!="function")throw new Ut.ConfigurationError(`Invalid state - No handler on route for path '${s.path}'`);let c=new ZP.Pipeline({processors:this.#n,handler:a,gateway:this}),u=new $g.UserRouteConfiguration(s);n.addRoute(u,c.execute)}),(0,Fg.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 Ut.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 Mt("An error occurred in the user's errorHandler",i),this.#o(e,r,i)}}#o(e,r,n){Mt("Gateway.internalErrorResponse");let i={};if(tp.Environment.instance.isDeno){if(n instanceof Ut.RuntimeError&&n.extensionMembers)i=n.extensionMembers;else if(n.cause){let s=(0,jg.serializeError)(n.cause);"stack"in s&&(s.stack=(0,jg.cleanStack)(s.stack)),i={cause:s}}}return XP.HttpProblems.internalServerError(e,r,{detail:n.message,...i})}#s(e){let r=new Headers(e.headers);return Yt.DISPATCH_HEADERS_TO_REMOVE.forEach(n=>{r.delete(n)}),tp.Environment.instance.isDeno&&Yt.INTERNAL_HEADERS_TO_REMOVE.forEach(n=>{r.delete(n)}),new Request(e,{headers:r})}async handleRequest(e,r){let n=e.headers.get(Yt.REQUEST_ID_HEADER)??e.headers.get(Yt.LEGACY_REQUEST_ID_HEADER),i=e.headers.get(Yt.RAY_ID_HEADER);if(!n){n=crypto.randomUUID();let v=new Headers(e.headers);v.set(Yt.REQUEST_ID_HEADER,n),e=new Request(e,{headers:v})}if(["GET","HEAD"].includes(e.method)&&e.body){let v=new Headers(e.headers);v.set(Yt.BODY_REMOVED_HEADER,"true"),e=new Request(e,{headers:v,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 Ut.SystemError(`Invalid state - no route match - should have been picked up by the not found handler, path: '${l}'`);let p=new da.HeaderIncomingRequestProperties(e.headers),f=this.#s(e),h=new nA.ZuploRequest(f,{params:d.params}),m=new da.SystemZuploContext({logger:a,route:d.routeConfiguration,requestId:n,event:r,custom:s,incomingRequestProperties:p}),b=da.ZuploContextExtensions.initialize(m,h);if(d.routeConfiguration===Fg.notFoundRouteConfiguration&&Vi.runtimeExtensions.value?.notFoundHandler!==void 0){let v=this.#r.lookupByPathOnly(l);b.pathOnlyMatches=v.map(A=>A.routeConfiguration).filter(A=>A instanceof $g.UserRouteConfiguration)}try{if(oA.SystemLogMap.addLogger(m,c),tp.Environment.instance.build.COMPATIBILITY_FLAGS.doNotRunHooksOnSystemRoutes?!(0,Vg.isSystemRoute)(u):!u.pathname.startsWith("/__zuplo")){let g=await(0,Vi.invokeOnRequestExtensions)(h,m);if(g instanceof Response)return g;{let S=da.ZuploContextExtensions.getContextExtensions(m);h=g,S.latestRequest=h}}(0,Vg.isSystemRoute)(u)||a.debug(`Request received '${u.pathname}'`,{method:e.method,url:u.pathname,hostname:u.hostname,route:d.routeConfiguration.path});let v=d.executableHandler;cA(v,d,e),Mt("Gateway.handleRequest - call user handler");let A=await v(h,m);if(Mt("Gateway.handleRequest - user handler"),!(A instanceof Response))throw new Ut.RuntimeError(`Invalid Response type from the request handler: ${typeof A}`);if(A.bodyUsed)throw new Ut.RuntimeError("The response object has already been used. Return a new response instead.");if(A.headers.get(Yt.REQUEST_ID_HEADER)===null&&!A.webSocket){let g=new Headers(A.headers);return g.set(Yt.REQUEST_ID_HEADER,n),new Response(A.body,{status:A.status,statusText:A.statusText,headers:g,cf:A.cf})}else return A}catch(v){return Mt("Gateway - error executing handler",v),v instanceof Ut.RuntimeError?(a.error(v),c.warn(v)):c.error(v),await this.#o(h,m,v)}}};pa.Gateway=rp;function cA(t,e,r){if(Mt("Gateway.checkHandler"),!t)throw typeof e.routeConfiguration>"u"?new Ut.ConfigurationError(`Invalid state - no routeConfiguration for '${r.method}:${r.url}`):new Ut.ConfigurationError(`Invalid state. No handler for request '${r.method}':'${e.routeConfiguration.path}'`)}o(cA,"checkHandler")});var Bg=_(fa=>{"use strict";Object.defineProperty(fa,"__esModule",{value:!0});fa.invokeInboundPolicy=void 0;var uA=k(),lA=Fr(),dA=yn(),pA=o(async(t,e,r)=>{let n=lA.Gateway.instance.routeData.policies,i=(0,dA.getInboundPolicyInstances)([t],n);if(i.length===0)throw new uA.RuntimeError(`Invalid 'invokeInboundPolicy call' - no policy '${t}' found.`);return i[0].handler(e,r)},"invokeInboundPolicy");fa.invokeInboundPolicy=pA});var Hr=_(ct=>{"use strict";Object.defineProperty(ct,"__esModule",{value:!0});ct.SystemZuploContext=ct.ZuploContextExtensions=ct.ResponseSentEvent=ct.ResponseSendingEvent=ct.HeaderIncomingRequestProperties=void 0;var Ae=un(),fA=k(),hA=Bg(),np=class{static{o(this,"HeaderIncomingRequestProperties")}#e;constructor(e){this.#e=e}get asn(){try{let e=this.#e.get(Ae.ZP_ASN_HEADER);if(typeof e=="string")return parseInt(e)}catch{}}get asOrganization(){return this.#e.get(Ae.ZP_AS_ORG_HEADER)??void 0}get city(){return this.#e.get(Ae.CF_IP_CITY_HEADER)??this.#e.get(Ae.ZP_IP_CITY_HEADER)??void 0}get continent(){return this.#e.get(Ae.CF_IP_CONTINENT_HEADER)??this.#e.get(Ae.ZP_IP_CONTINENT_HEADER)??void 0}get country(){return this.#e.get(Ae.CF_IP_COUNTRY_HEADER)??this.#e.get(Ae.ZP_IP_COUNTRY_HEADER)??void 0}get latitude(){return this.#e.get(Ae.CF_IP_LATITUDE_HEADER)??this.#e.get(Ae.ZP_IP_LATITUDE_HEADER)??void 0}get longitude(){return this.#e.get(Ae.CF_IP_LONGITUDE_HEADER)??this.#e.get(Ae.ZP_IP_LONGITUDE_HEADER)??void 0}get colo(){return this.#e.get(Ae.ZP_COLO_HEADER)??void 0}get postalCode(){return this.#e.get(Ae.ZP_POSTAL_CODE_HEADER)??void 0}get metroCode(){return this.#e.get(Ae.ZP_METRO_CODE_HEADER)??void 0}get region(){return this.#e.get(Ae.ZP_REGION_HEADER)??void 0}get regionCode(){return this.#e.get(Ae.ZP_REGION_CODE_HEADER)??void 0}get timezone(){return this.#e.get(Ae.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}}};ct.HeaderIncomingRequestProperties=np;var ip=class extends Event{static{o(this,"ResponseSendingEvent")}constructor(e,r){super("responseSending"),this.request=e,this.mutableResponse=r}request;mutableResponse};ct.ResponseSendingEvent=ip;var op=class extends Event{static{o(this,"ResponseSentEvent")}constructor(e,r){super("responseSent"),this.request=e,this.response=r}request;response};ct.ResponseSentEvent=op;var Bi=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 fA.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}};ct.ZuploContextExtensions=Bi;var sp=class extends EventTarget{static{o(this,"SystemZuploContext")}constructor({logger:e,route:r,requestId:n,event: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,hA.invokeInboundPolicy)(c,u,this),this.waitUntil=c=>{this.#e.waitUntil(c)},this.addResponseSendingHook=c=>{Bi.getContextExtensions(this).addResponseSendingHook(c)},this.addResponseSendingFinalHook=c=>{Bi.getContextExtensions(this).addResponseSendingFinalHook(c)},Object.freeze(this)}#e;requestId;log;route;custom;incomingRequestProperties;invokeInboundPolicy;waitUntil;addResponseSendingHook;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)}};ct.SystemZuploContext=sp});var cp=_(ha=>{"use strict";Object.defineProperty(ha,"__esModule",{value:!0});ha.ContextData=void 0;var ap=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),t.#e.set(e,i)}static get(e,r){return t.#e||(t.#e=new WeakMap),t.#e.get(e)?.get(r)}};ha.ContextData=ap});var Gi=_(Tr=>{"use strict";Object.defineProperty(Tr,"__esModule",{value:!0});Tr.environment=Tr.isZuploReadableEnvVariableName=Tr.isRestrictedEnvVariableName=void 0;var mA=["ZUPLO_USER_LOGGER_DATA_DOG_API_KEY","ZUPLO_USER_LOGGER_DATA_DOG_URL","ZUPLO_LOG_LEVEL","ZUPLO_HANDLER_WRITE_LOG_LEVEL"];function Gg(t){return t.startsWith("__ZUPLO")||t.startsWith("ZUPLO_")?!mA.includes(t)&&!t.startsWith("ZUPLO_PUBLIC_"):!1}o(Gg,"isRestrictedEnvVariableName");Tr.isRestrictedEnvVariableName=Gg;function Kg(t){return!!t.startsWith("ZUPLO_")}o(Kg,"isZuploReadableEnvVariableName");Tr.isZuploReadableEnvVariableName=Kg;var yA=new Proxy({},{get(t,e){if(Gg(String(e))&&!Kg(String(e)))return;let r=globalThis,n;return r.process?n=r.process.env[e]:n=r[e],n}});Tr.environment=yA});var up=_(kn=>{"use strict";Object.defineProperty(kn,"__esModule",{value:!0});kn.externalServiceHandler=kn.externalServiceTunnelConfig=void 0;var gA=kr(),Wr=k(),bA=lp(),Ki=ie(),_t=(0,gA.debug)("zuplo:runtime:external-service");function zg(){let t,{__ZUPLO_EXTERNAL_SERVICE_TOKEN:e}=Ki.Environment.instance.runtime;if(e&&e!=="undefined")try{let r=atob(e);t=JSON.parse(r)}catch{}return t}o(zg,"getServiceAuth");async function _A(t){let e=zg();if(!e)throw _t("There is no external service auth configured for this zup."),new Wr.RuntimeError("There are no external services configured for this zup.");if(typeof t!="string")throw _t("Cannot call external service with Request object"),new Wr.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(Ki.Environment.instance.useSha256ServiceRouting){_t("Using sha256 service routing");let a=Ki.Environment.instance.build;if(a.ACCOUNT_NAME&&a.PROJECT_NAME&&a.ENVIRONMENT_TYPE)s=`https://${await Wg(n,a.ACCOUNT_NAME,a.PROJECT_NAME,a.ENVIRONMENT_TYPE)}.zuptunnel.com`;else throw _t("Cannot use sha256 service routing, missing build variables"),new Wr.RuntimeError("Failed to generate fully qualified tunnel url.")}else s=`https://${n}.zuptunnel.com`;return{serviceBaseUrl:s,tunnelHeaders:i}}o(_A,"externalServiceTunnelConfig");kn.externalServiceTunnelConfig=_A;async function EA(t,e){let r=zg();if(r)if(_t(`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(Ki.Environment.instance.useSha256ServiceRouting){_t("Using sha256 service routing");let d=Ki.Environment.instance.build;if(d.ACCOUNT_NAME&&d.PROJECT_NAME&&d.ENVIRONMENT_TYPE)c=`https://${await Wg(i,d.ACCOUNT_NAME,d.PROJECT_NAME,d.ENVIRONMENT_TYPE)}.zuptunnel.com`;else throw _t("Cannot use sha256 service routing, missing build variables"),new Wr.RuntimeError("Failed to generate fully qualified tunnel url.")}else c=`https://${i}.zuptunnel.com`;let u=new URL(`${c}${n.pathname}${n.search}`);_t(`Calling external service: ${u.toString()}`);let l=await(0,bA.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 Wr.RuntimeError("Could not connect to secure tunnel.");return l}else throw _t("Cannot call external service with Request object"),new Wr.RuntimeError("Currently, we only support fetch(<some_string>, ...).");else throw _t("There is no external service auth configured for this zup."),new Wr.RuntimeError("There are no external services configured for this zup.")}o(EA,"externalServiceHandler");kn.externalServiceHandler=EA;async function Wg(t,e,r,n){let i=t.toLowerCase(),s=e.toLowerCase(),a=r.toLowerCase(),c=wA(n);_t(`Hashing service name: ${s}-${i}.${s}-${a}-${c}`);let u=await Jg(`${s}-${i}`),l=await Jg(`${s}-${a}-${c}`);return`${u}.${l}`}o(Wg,"hashServiceName");async function Jg(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(Jg,"hashSegment");function wA(t){let e=t.toLowerCase();switch(e){case"production":case"preview":return e;default:return"working-copy"}}o(wA,"sanitizeEnvironmentType")});var lp=_(Fn=>{"use strict";Object.defineProperty(Fn,"__esModule",{value:!0});Fn.originalFetch=void 0;var vA=up(),Qg=new Map;Qg.set("service:",vA.externalServiceHandler);Fn.originalFetch=globalThis.fetch;globalThis.fetch=function(t,e){let r=TA(e);if(typeof t=="string"){let n=new URL(t),i=Qg.get(n.protocol);return i?i(t,r):(0,Fn.originalFetch)(t,r)}else return(0,Fn.originalFetch)(t,r)};var TA=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 Xg=_(Hn=>{"use strict";Object.defineProperty(Hn,"__esModule",{value:!0});Hn.Handler=Hn.purgeGatewayCache=void 0;var SA=k(),Zg=Fr(),Yg=ie(),IA=o(()=>{Zg.Gateway.purgeGatewayCache()},"purgeGatewayCache");Hn.purgeGatewayCache=IA;var dp=class{static{o(this,"Handler")}routeLoader;buildEnvironment;runtimeEnvironment;runtimeSettings;serviceProvider;schemaValidations;runtimeInit;constructor(e,r,n,i,s,a,c){this.routeLoader=e,this.buildEnvironment=r,this.runtimeEnvironment=n,this.runtimeSettings=i,this.serviceProvider=s,this.schemaValidations=a,this.runtimeInit=c}requestHandler=async(e,r)=>{Yg.Environment.initialize(this.buildEnvironment,this.runtimeEnvironment);let n;try{n=await Zg.Gateway.initialize(this.routeLoader,this.runtimeSettings,this.serviceProvider,this.schemaValidations,this.runtimeInit)}catch(i){console.error("Error initializing gateway.",i);let s="Error initializing gateway. Check your 'zuplo.runtime.ts' for errors or contact support.";i instanceof SA.ConfigurationError&&(s=i.message);let a={status:500,title:"Gateway Initialization Error",type:"https://httpproblems.com/http-status/500",detail:s,instance:e.url,trace:{timestamp:Date.now(),rayId:e.headers.get("cf-ray")??void 0,buildId:this.buildEnvironment.BUILD_ID},message:Yg.Environment.instance.isDeno?i.message:void 0};return new Response(JSON.stringify(a,null,2),{status:500,headers:{"content-type":"application/json"}})}return n.handleRequest(e,r)}};Hn.Handler=dp});var nb=_(Ue=>{"use strict";Object.defineProperty(Ue,"__esModule",{value:!0});Ue.pathToRegexp=Ue.tokensToRegexp=Ue.regexpToFunction=Ue.match=Ue.tokensToFunction=Ue.compile=Ue.parse=void 0;function PA(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(PA,"lexer");function pp(t,e){e===void 0&&(e={});for(var r=PA(t),n=e.prefixes,i=n===void 0?"./":n,s="[^".concat(qn(e.delimiter||"/#?"),"]+?"),a=[],c=0,u=0,l="",d=o(function(w){if(u<r.length&&r[u].type===w)return r[u++].value},"tryConsume"),p=o(function(w){var T=d(w);if(T!==void 0)return T;var C=r[u],E=C.type,P=C.index;throw new TypeError("Unexpected ".concat(E," at ").concat(P,", expected ").concat(w))},"mustConsume"),f=o(function(){for(var w="",T;T=d("CHAR")||d("ESCAPED_CHAR");)w+=T;return w},"consumeText");u<r.length;){var h=d("CHAR"),m=d("NAME"),b=d("PATTERN");if(m||b){var v=h||"";i.indexOf(v)===-1&&(l+=v,v=""),l&&(a.push(l),l=""),a.push({name:m||c++,prefix:v,suffix:"",pattern:b||s,modifier:d("MODIFIER")||""});continue}var A=h||d("ESCAPED_CHAR");if(A){l+=A;continue}l&&(a.push(l),l="");var g=d("OPEN");if(g){var v=f(),S=d("NAME")||"",O=d("PATTERN")||"",V=f();p("CLOSE"),a.push({name:S||(O?c++:""),pattern:S&&!O?s:O,prefix:v,suffix:V,modifier:d("MODIFIER")||""});continue}p("END")}return a}o(pp,"parse");Ue.parse=pp;function AA(t,e){return eb(pp(t,e),e)}o(AA,"compile");Ue.compile=AA;function eb(t,e){e===void 0&&(e={});var r=fp(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 f=u?u[p.name]:void 0,h=p.modifier==="?"||p.modifier==="*",m=p.modifier==="*"||p.modifier==="+";if(Array.isArray(f)){if(!m)throw new TypeError('Expected "'.concat(p.name,'" to not repeat, but got an array'));if(f.length===0){if(h)continue;throw new TypeError('Expected "'.concat(p.name,'" to not be empty'))}for(var b=0;b<f.length;b++){var v=i(f[b],p);if(a&&!c[d].test(v))throw new TypeError('Expected all "'.concat(p.name,'" to match "').concat(p.pattern,'", but got "').concat(v,'"'));l+=p.prefix+v+p.suffix}continue}if(typeof f=="string"||typeof f=="number"){var v=i(String(f),p);if(a&&!c[d].test(v))throw new TypeError('Expected "'.concat(p.name,'" to match "').concat(p.pattern,'", but got "').concat(v,'"'));l+=p.prefix+v+p.suffix;continue}if(!h){var A=m?"an array":"a string";throw new TypeError('Expected "'.concat(p.name,'" to be ').concat(A))}}return l}}o(eb,"tokensToFunction");Ue.tokensToFunction=eb;function RA(t,e){var r=[],n=hp(t,r,e);return tb(n,r,e)}o(RA,"match");Ue.match=RA;function tb(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(f){if(a[f]===void 0)return"continue";var h=e[f-1];h.modifier==="*"||h.modifier==="+"?l[h.name]=a[f].split(h.prefix+h.suffix).map(function(m){return i(m,h)}):l[h.name]=i(a[f],h)},"_loop_1"),p=1;p<a.length;p++)d(p);return{path:c,index:u,params:l}}}o(tb,"regexpToFunction");Ue.regexpToFunction=tb;function qn(t){return t.replace(/([.+*?=^!:${}()[\]|/\\])/g,"\\$1")}o(qn,"escapeString");function fp(t){return t&&t.sensitive?"":"i"}o(fp,"flags");function OA(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(OA,"regexpToRegexp");function NA(t,e,r){var n=t.map(function(i){return hp(i,e,r).source});return new RegExp("(?:".concat(n.join("|"),")"),fp(r))}o(NA,"arrayToRegexp");function CA(t,e,r){return rb(pp(t,r),e,r)}o(CA,"stringToRegexp");function rb(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(P){return P}:l,p=r.delimiter,f=p===void 0?"/#?":p,h=r.endsWith,m=h===void 0?"":h,b="[".concat(qn(m),"]|$"),v="[".concat(qn(f),"]"),A=a?"^":"",g=0,S=t;g<S.length;g++){var O=S[g];if(typeof O=="string")A+=qn(d(O));else{var V=qn(d(O.prefix)),w=qn(d(O.suffix));if(O.pattern)if(e&&e.push(O),V||w)if(O.modifier==="+"||O.modifier==="*"){var T=O.modifier==="*"?"?":"";A+="(?:".concat(V,"((?:").concat(O.pattern,")(?:").concat(w).concat(V,"(?:").concat(O.pattern,"))*)").concat(w,")").concat(T)}else A+="(?:".concat(V,"(").concat(O.pattern,")").concat(w,")").concat(O.modifier);else O.modifier==="+"||O.modifier==="*"?A+="((?:".concat(O.pattern,")").concat(O.modifier,")"):A+="(".concat(O.pattern,")").concat(O.modifier);else A+="(?:".concat(V).concat(w,")").concat(O.modifier)}}if(u)i||(A+="".concat(v,"?")),A+=r.endsWith?"(?=".concat(b,")"):"$";else{var C=t[t.length-1],E=typeof C=="string"?v.indexOf(C[C.length-1])>-1:C===void 0;i||(A+="(?:".concat(v,"(?=").concat(b,"))?")),E||(A+="(?=".concat(v,"|").concat(b,")"))}return new RegExp(A,fp(r))}o(rb,"tokensToRegexp");Ue.tokensToRegexp=rb;function hp(t,e,r){return t instanceof RegExp?OA(t,e):Array.isArray(t)?NA(t,e,r):CA(t,e,r)}o(hp,"pathToRegexp");Ue.pathToRegexp=hp});var bp=_($n=>{"use strict";Object.defineProperty($n,"__esModule",{value:!0});$n.AwsV4Signer=$n.AwsClient=void 0;var xA=kr(),ab=k(),LA=(0,xA.debug)("zuplo:runtime"),yp=new TextEncoder,ib={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"},DA=["authorization","content-type","content-length","user-agent","presigned-expires","expect","x-amzn-trace-id","range","connection"],gp=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 ma(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){LA("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 ab.ConfigurationError("An unknown error occurred, ensure retries is not negative")}};$n.AwsClient=gp;var ma=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:f,appendSessionToken:h,allHeaders:m,singleEncode:b}){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 v,A;(!u||!l)&&([v,A]=MA(this.url,this.headers)),this.service=u||v||"",this.region=l||A||"us-east-1",this.cache=d||new Map,this.datetime=p||new Date().toISOString().replace(/[:-]|\.\d{3}/g,""),this.signQuery=f,this.appendSessionToken=h||this.service==="iotdevicegateway",this.headers.delete("Host");let g=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"),g.set("X-Amz-Date",this.datetime),this.sessionToken&&!this.appendSessionToken&&g.set("X-Amz-Security-Token",this.sessionToken),this.signableHeaders=["host",...this.headers.keys()].filter(O=>m||!DA.includes(O)).sort(),this.signedHeaders=this.signableHeaders.join(";"),this.canonicalHeaders=this.signableHeaders.map(O=>O+":"+(O==="host"?this.url.host:(this.headers.get(O)||"").replace(/\s+/g," "))).join(`
59
+ -----END ${e}-----`},"default")});function dy(t){let e=[],r=0;for(;r<t.length;){let n=gy(t.subarray(r));e.push(n),r+=n.byteLength}return e}function gy(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 KI(t){let e=dy(dy(gy(t).contents)[0].contents);return vs(e[e[0].raw[0]===160?6:5].raw)}function JI(t){let e=t.replace(/(?:-----(?:BEGIN|END) CERTIFICATE-----|\s)/g,""),r=Kl(e);return sd(KI(r),"PUBLIC KEY")}var py,fy,hy,gr,ly,my,yy,ad,by,xs=L(()=>{Ce();gt();Le();uy();Y();bt();py=o(async(t,e,r)=>{if(!me(r))throw new TypeError(fe(r,...oe));if(!r.extractable)throw new TypeError("CryptoKey is not extractable");if(r.type!==t)throw new TypeError(`key is not a ${t} key`);return sd(vs(new Uint8Array(await G.subtle.exportKey(e,r))),`${t.toUpperCase()} KEY`)},"genericExport"),fy=o(t=>py("public","spki",t),"toSPKI"),hy=o(t=>py("private","pkcs8",t),"toPKCS8"),gr=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])||gr(t,e,n+1)},"findOid"),ly=o(t=>{switch(!0){case gr(t,[42,134,72,206,61,3,1,7]):return"P-256";case gr(t,[43,129,4,0,34]):return"P-384";case gr(t,[43,129,4,0,35]):return"P-521";case gr(t,[43,101,110]):return"X25519";case gr(t,[43,101,111]):return"X448";case gr(t,[43,101,112]):return"Ed25519";case gr(t,[43,101,113]):return"Ed448";default:throw new J("Invalid or unsupported EC Key Curve or OKP Key Sub Type")}},"getNamedCurve"),my=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=ly(u);a=d.startsWith("P-")?{name:"ECDH",namedCurve:d}:{name:d},c=l?[]:["deriveBits"];break}case"EdDSA":a={name:ly(u)},c=l?["verify"]:["sign"];break;default:throw new J('Invalid or unsupported "alg" (Algorithm) value')}return G.subtle.importKey(e,u,a,(s=i?.extractable)!==null&&s!==void 0?s:!1,c)},"genericImport"),yy=o((t,e,r)=>my(/(?:-----(?:BEGIN|END) PRIVATE KEY-----|\s)/g,"pkcs8",t,e,r),"fromPKCS8"),ad=o((t,e,r)=>my(/(?:-----(?:BEGIN|END) PUBLIC KEY-----|\s)/g,"spki",t,e,r),"fromSPKI");o(dy,"getElement");o(gy,"parseElement");o(KI,"spkiFromX509");o(JI,"getSPKI");by=o((t,e,r)=>{let n;try{n=JI(t)}catch(i){throw new TypeError("failed to parse the X.509 certificate",{cause:i})}return ad(n,e,r)},"fromX509")});function zI(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 J(`${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 J('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 J('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 J('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 J('Invalid or unsupported JWK "alg" (Algorithm) Parameter value')}break}default:throw new J('Invalid or unsupported JWK "kty" (Key Type) Parameter value')}return{algorithm:e,keyUsages:r}}var WI,cd,_y=L(()=>{Ce();Y();Le();o(zI,"subtleMapping");WI=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}=zI(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 G.subtle.importKey("raw",de(t.k),...s);let a={...t};return delete a.alg,delete a.use,G.subtle.importKey("jwk",a,...s)},"parse"),cd=WI});async function Ey(t,e,r){if(typeof t!="string"||t.indexOf("-----BEGIN PUBLIC KEY-----")!==0)throw new TypeError('"spki" must be SPKI formatted string');return ad(t,e,r)}async function wy(t,e,r){if(typeof t!="string"||t.indexOf("-----BEGIN CERTIFICATE-----")!==0)throw new TypeError('"x509" must be X.509 formatted string');return by(t,e,r)}async function vy(t,e,r){if(typeof t!="string"||t.indexOf("-----BEGIN PRIVATE KEY-----")!==0)throw new TypeError('"pkcs8" must be PKCS#8 formatted string');return yy(t,e,r)}async function br(t,e,r){var n;if(!se(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?cd({...t,alg:e,ext:(n=t.ext)!==null&&n!==void 0?n:!1}):de(t.k);case"RSA":if(t.oth!==void 0)throw new J('RSA JWK "oth" (Other Primes Info) Parameter value is not supported');case"EC":case"OKP":return cd({...t,alg:e});default:throw new J('Unsupported "kty" (Key Type) Parameter value')}}var Di=L(()=>{Le();xs();_y();Y();ze();o(Ey,"importSPKI");o(wy,"importX509");o(vy,"importPKCS8");o(br,"importJWK")});var QI,YI,ZI,_r,Mi=L(()=>{gt();bt();QI=o((t,e)=>{if(!(e instanceof Uint8Array)){if(!Zl(e))throw new TypeError(Yl(t,e,...oe,"Uint8Array"));if(e.type!=="secret")throw new TypeError(`${oe.join(" or ")} instances for symmetric algorithms must be of type "secret"`)}},"symmetricTypeCheck"),YI=o((t,e,r)=>{if(!Zl(e))throw new TypeError(Yl(t,e,...oe));if(e.type==="secret")throw new TypeError(`${oe.join(" or ")} instances for asymmetric algorithms must not be of type "secret"`);if(r==="sign"&&e.type==="public")throw new TypeError(`${oe.join(" or ")} instances for asymmetric algorithm signing must be of type "private"`);if(r==="decrypt"&&e.type==="public")throw new TypeError(`${oe.join(" or ")} instances for asymmetric algorithm decryption must be of type "private"`);if(e.algorithm&&r==="verify"&&e.type==="private")throw new TypeError(`${oe.join(" or ")} instances for asymmetric algorithm verifying must be of type "public"`);if(e.algorithm&&r==="encrypt"&&e.type==="private")throw new TypeError(`${oe.join(" or ")} instances for asymmetric algorithm encryption must be of type "public"`)},"asymmetricTypeCheck"),ZI=o((t,e,r)=>{t.startsWith("HS")||t==="dir"||t.startsWith("PBES2")||/^A\d{3}(?:GCM)?KW$/.test(t)?QI(t,e):YI(t,e,r)},"checkKeyType"),_r=ZI});async function XI(t,e,r,n,i){if(!(r instanceof Uint8Array))throw new TypeError(fe(r,"Uint8Array"));let s=parseInt(t.slice(1,4),10),a=await G.subtle.importKey("raw",r.subarray(s>>3),"AES-CBC",!1,["encrypt"]),c=await G.subtle.importKey("raw",r.subarray(0,s>>3),{hash:`SHA-${s<<1}`,name:"HMAC"},!1,["sign"]),u=new Uint8Array(await G.subtle.encrypt({iv:n,name:"AES-CBC"},a,e)),l=xe(i,n,u,_s(i.length<<3)),d=new Uint8Array((await G.subtle.sign("HMAC",c,l)).slice(0,s>>3));return{ciphertext:u,tag:d}}async function eP(t,e,r,n,i){let s;r instanceof Uint8Array?s=await G.subtle.importKey("raw",r,"AES-GCM",!1,["encrypt"]):(Je(r,t,"encrypt"),s=r);let a=new Uint8Array(await G.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 tP,Ui,ud=L(()=>{Ie();Wl();Ql();Ce();yr();gt();Y();bt();o(XI,"cbcEncrypt");o(eP,"gcmEncrypt");tP=o(async(t,e,r,n,i)=>{if(!me(r)&&!(r instanceof Uint8Array))throw new TypeError(fe(r,...oe,"Uint8Array"));switch(Is(t,n),t){case"A128CBC-HS256":case"A192CBC-HS384":case"A256CBC-HS512":return r instanceof Uint8Array&&wn(r,parseInt(t.slice(-3),10)),XI(t,e,r,n,i);case"A128GCM":case"A192GCM":case"A256GCM":return r instanceof Uint8Array&&wn(r,parseInt(t.slice(1,4),10)),eP(t,e,r,n,i);default:throw new J("Unsupported JWE Content Encryption Algorithm")}},"encrypt"),Ui=tP});async function Ty(t,e,r,n){let i=t.slice(0,7);n||(n=Ts(i));let{ciphertext:s,tag:a}=await Ui(i,r,e,n,new Uint8Array(0));return{encryptedKey:s,iv:ce(n),tag:ce(a)}}async function Sy(t,e,r,n,i){let s=t.slice(0,7);return As(s,e,r,n,i,new Uint8Array(0))}var ld=L(()=>{ud();Xl();Ss();Le();o(Ty,"wrap");o(Sy,"unwrap")});async function rP(t,e,r,n,i){switch(_r(t,e,"decrypt"),t){case"dir":{if(r!==void 0)throw new F("Encountered unexpected JWE Encrypted Key");return e}case"ECDH-ES":if(r!==void 0)throw new F("Encountered unexpected JWE Encrypted Key");case"ECDH-ES+A128KW":case"ECDH-ES+A192KW":case"ECDH-ES+A256KW":{if(!se(n.epk))throw new F('JOSE Header "epk" (Ephemeral Public Key) missing or invalid');if(!Ns(e))throw new J("ECDH with the provided key is not allowed or not supported by your javascript runtime");let s=await br(n.epk,t),a,c;if(n.apu!==void 0){if(typeof n.apu!="string")throw new F('JOSE Header "apu" (Agreement PartyUInfo) invalid');a=de(n.apu)}if(n.apv!==void 0){if(typeof n.apv!="string")throw new F('JOSE Header "apv" (Agreement PartyVInfo) invalid');c=de(n.apv)}let u=await Os(s,e,t==="ECDH-ES"?n.enc:t,t==="ECDH-ES"?xi(n.enc):parseInt(t.slice(-5,-2),10),a,c);if(t==="ECDH-ES")return u;if(r===void 0)throw new F("JWE Encrypted Key missing");return Ci(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 F("JWE Encrypted Key missing");return cy(t,e,r)}case"PBES2-HS256+A128KW":case"PBES2-HS384+A192KW":case"PBES2-HS512+A256KW":{if(r===void 0)throw new F("JWE Encrypted Key missing");if(typeof n.p2c!="number")throw new F('JOSE Header "p2c" (PBES2 Count) missing or invalid');let s=i?.maxPBES2Count||1e4;if(n.p2c>s)throw new F('JOSE Header "p2c" (PBES2 Count) out is of acceptable bounds');if(typeof n.p2s!="string")throw new F('JOSE Header "p2s" (PBES2 Salt) missing or invalid');return oy(t,e,r,n.p2c,de(n.p2s))}case"A128KW":case"A192KW":case"A256KW":{if(r===void 0)throw new F("JWE Encrypted Key missing");return Ci(t,e,r)}case"A128GCMKW":case"A192GCMKW":case"A256GCMKW":{if(r===void 0)throw new F("JWE Encrypted Key missing");if(typeof n.iv!="string")throw new F('JOSE Header "iv" (Initialization Vector) missing or invalid');if(typeof n.tag!="string")throw new F('JOSE Header "tag" (Authentication Tag) missing or invalid');let s=de(n.iv),a=de(n.tag);return Sy(t,e,r,s,a)}default:throw new J('Invalid or unsupported "alg" (JWE Algorithm) header value')}}var Iy,Py=L(()=>{Rs();rd();id();od();Le();Y();Li();Di();Mi();ze();ld();o(rP,"decryptKeyManagement");Iy=rP});function nP(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 J(`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 Lt,In=L(()=>{Y();o(nP,"validateCrit");Lt=nP});var iP,ki,dd=L(()=>{iP=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"),ki=iP});async function Pn(t,e,r){var n;if(!se(t))throw new F("Flattened JWE must be an object");if(t.protected===void 0&&t.header===void 0&&t.unprotected===void 0)throw new F("JOSE Header missing");if(typeof t.iv!="string")throw new F("JWE Initialization Vector missing or incorrect type");if(typeof t.ciphertext!="string")throw new F("JWE Ciphertext missing or incorrect type");if(typeof t.tag!="string")throw new F("JWE Authentication Tag missing or incorrect type");if(t.protected!==void 0&&typeof t.protected!="string")throw new F("JWE Protected Header incorrect type");if(t.encrypted_key!==void 0&&typeof t.encrypted_key!="string")throw new F("JWE Encrypted Key incorrect type");if(t.aad!==void 0&&typeof t.aad!="string")throw new F("JWE AAD incorrect type");if(t.header!==void 0&&!se(t.header))throw new F("JWE Shared Unprotected Header incorrect type");if(t.unprotected!==void 0&&!se(t.unprotected))throw new F("JWE Per-Recipient Unprotected Header incorrect type");let i;if(t.protected)try{let S=de(t.protected);i=JSON.parse(ge.decode(S))}catch{throw new F("JWE Protected Header is invalid")}if(!Ct(i,t.header,t.unprotected))throw new F("JWE Protected, JWE Unprotected Header, and JWE Per-Recipient Unprotected Header Parameter names must be disjoint");let s={...i,...t.header,...t.unprotected};if(Lt(F,new Map,r?.crit,i,s),s.zip!==void 0){if(!i||!i.zip)throw new F('JWE "zip" (Compression Algorithm) Header MUST be integrity protected');if(s.zip!=="DEF")throw new J('Unsupported JWE "zip" (Compression Algorithm) Header Parameter value')}let{alg:a,enc:c}=s;if(typeof a!="string"||!a)throw new F("missing JWE Algorithm (alg) in JWE Header");if(typeof c!="string"||!c)throw new F("missing JWE Encryption Algorithm (enc) in JWE Header");let u=r&&ki("keyManagementAlgorithms",r.keyManagementAlgorithms),l=r&&ki("contentEncryptionAlgorithms",r.contentEncryptionAlgorithms);if(u&&!u.has(a))throw new pr('"alg" (Algorithm) Header Parameter not allowed');if(l&&!l.has(c))throw new pr('"enc" (Encryption Algorithm) Header Parameter not allowed');let d;t.encrypted_key!==void 0&&(d=de(t.encrypted_key));let p=!1;typeof e=="function"&&(e=await e(i,t),p=!0);let f;try{f=await Iy(a,e,d,s,r)}catch(S){if(S instanceof TypeError||S instanceof F||S instanceof J)throw S;f=xt(c)}let h=de(t.iv),m=de(t.tag),b=ae.encode((n=t.protected)!==null&&n!==void 0?n:""),v;t.aad!==void 0?v=xe(b,ae.encode("."),ae.encode(t.aad)):v=b;let A=await As(c,f,de(t.ciphertext),h,m,v);s.zip==="DEF"&&(A=await(r?.inflateRaw||Qm)(A));let g={plaintext:A};return t.protected!==void 0&&(g.protectedHeader=i),t.aad!==void 0&&(g.additionalAuthenticatedData=de(t.aad)),t.unprotected!==void 0&&(g.sharedUnprotectedHeader=t.unprotected),t.header!==void 0&&(g.unprotectedHeader=t.header),p?{...g,key:e}:g}var Ls=L(()=>{Le();Xl();ed();Y();vn();ze();Py();Ie();Li();In();dd();o(Pn,"flattenedDecrypt")});async function Ds(t,e,r){if(t instanceof Uint8Array&&(t=ge.decode(t)),typeof t!="string")throw new F("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 F("Invalid Compact JWE");let l=await Pn({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 pd=L(()=>{Ls();Y();Ie();o(Ds,"compactDecrypt")});async function Ay(t,e,r){if(!se(t))throw new F("General JWE must be an object");if(!Array.isArray(t.recipients)||!t.recipients.every(se))throw new F("JWE Recipients missing or incorrect type");if(!t.recipients.length)throw new F("JWE Recipients has no members");for(let n of t.recipients)try{return await Pn({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 zt}var Ry=L(()=>{Ls();Y();ze();o(Ay,"generalDecrypt")});var oP,Oy,Ny=L(()=>{Ce();gt();Le();bt();oP=o(async t=>{if(t instanceof Uint8Array)return{kty:"oct",k:ce(t)};if(!me(t))throw new TypeError(fe(t,...oe,"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 G.subtle.exportKey("jwk",t);return s},"keyToJWK"),Oy=oP});async function Cy(t){return fy(t)}async function xy(t){return hy(t)}async function Ms(t){return Oy(t)}var fd=L(()=>{xs();xs();Ny();o(Cy,"exportSPKI");o(xy,"exportPKCS8");o(Ms,"exportJWK")});async function sP(t,e,r,n,i={}){let s,a,c;switch(_r(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(!Ns(r))throw new J("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 ey(r)).privateKey);let{x:p,y:f,crv:h,kty:m}=await Ms(d),b=await Os(r,d,t==="ECDH-ES"?e:t,t==="ECDH-ES"?xi(e):parseInt(t.slice(-5,-2),10),u,l);if(a={epk:{x:p,crv:h,kty:m}},m==="EC"&&(a.epk.y=f),u&&(a.apu=ce(u)),l&&(a.apv=ce(l)),t==="ECDH-ES"){c=b;break}c=n||xt(e);let v=t.slice(-6);s=await Ni(v,b,c);break}case"RSA1_5":case"RSA-OAEP":case"RSA-OAEP-256":case"RSA-OAEP-384":case"RSA-OAEP-512":{c=n||xt(e),s=await ay(t,r,c);break}case"PBES2-HS256+A128KW":case"PBES2-HS384+A192KW":case"PBES2-HS512+A256KW":{c=n||xt(e);let{p2c:u,p2s:l}=i;({encryptedKey:s,...a}=await iy(t,r,c,u,l));break}case"A128KW":case"A192KW":case"A256KW":{c=n||xt(e),s=await Ni(t,r,c);break}case"A128GCMKW":case"A192GCMKW":case"A256GCMKW":{c=n||xt(e);let{iv:u}=i;({encryptedKey:s,...a}=await Ty(t,r,c,u));break}default:throw new J('Invalid or unsupported "alg" (JWE Algorithm) header value')}return{cek:c,encryptedKey:s,parameters:a}}var Us,hd=L(()=>{Rs();rd();id();od();Le();Li();Y();fd();Mi();ld();o(sP,"encryptKeyManagement");Us=sP});var md,Wt,ks=L(()=>{Le();ud();ed();Ss();hd();Y();vn();Ie();In();md=Symbol(),Wt=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 F("either setProtectedHeader, setUnprotectedHeader, or sharedUnprotectedHeader must be called before #encrypt()");if(!Ct(this._protectedHeader,this._unprotectedHeader,this._sharedUnprotectedHeader))throw new F("JWE Protected, JWE Shared Unprotected and JWE Per-Recipient Header Parameter names must be disjoint");let n={...this._protectedHeader,...this._unprotectedHeader,...this._sharedUnprotectedHeader};if(Lt(F,new Map,r?.crit,this._protectedHeader,n),n.zip!==void 0){if(!this._protectedHeader||!this._protectedHeader.zip)throw new F('JWE "zip" (Compression Algorithm) Header MUST be integrity protected');if(n.zip!=="DEF")throw new J('Unsupported JWE "zip" (Compression Algorithm) Header Parameter value')}let{alg:i,enc:s}=n;if(typeof i!="string"||!i)throw new F('JWE "alg" (Algorithm) Header Parameter missing or invalid');if(typeof s!="string"||!s)throw new F('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 m;({cek:c,encryptedKey:a,parameters:m}=await Us(i,s,e,this._cek,this._keyManagementParameters)),m&&(r&&md in r?this._unprotectedHeader?this._unprotectedHeader={...this._unprotectedHeader,...m}:this.setUnprotectedHeader(m):this._protectedHeader?this._protectedHeader={...this._protectedHeader,...m}:this.setProtectedHeader(m))}this._iv||(this._iv=Ts(s));let u,l,d;this._protectedHeader?l=ae.encode(ce(JSON.stringify(this._protectedHeader))):l=ae.encode(""),this._aad?(d=ce(this._aad),u=xe(l,ae.encode("."),ae.encode(d))):u=l;let p,f;if(n.zip==="DEF"){let m=await(r?.deflateRaw||Ym)(this._plaintext);({ciphertext:p,tag:f}=await Ui(s,m,c,this._iv,u))}else({ciphertext:p,tag:f}=await Ui(s,this._plaintext,c,this._iv,u));let h={ciphertext:ce(p),iv:ce(this._iv),tag:ce(f)};return a&&(h.encrypted_key=ce(a)),d&&(h.aad=d),this._protectedHeader&&(h.protected=ge.decode(l)),this._sharedUnprotectedHeader&&(h.unprotected=this._sharedUnprotectedHeader),this._unprotectedHeader&&(h.header=this._unprotectedHeader),h}}});var yd,Fs,Ly=L(()=>{ks();Y();Li();vn();hd();Le();In();yd=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}},Fs=class{static{o(this,"GeneralEncrypt")}constructor(e){this._recipients=[],this._plaintext=e}addRecipient(e,r){let n=new yd(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 F("at least one recipient must be added");if(e={deflateRaw:e?.deflateRaw},this._recipients.length===1){let[u]=this._recipients,l=await new Wt(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(!Ct(this._protectedHeader,this._unprotectedHeader,l.unprotectedHeader))throw new F("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 F('JWE "alg" (Algorithm) Header Parameter missing or invalid');if(p==="dir"||p==="ECDH-ES")throw new F('"dir" and "ECDH-ES" alg may only be used with a single recipient');if(typeof d.enc!="string"||!d.enc)throw new F('JWE "enc" (Encryption Algorithm) Header Parameter missing or invalid');if(!s)s=d.enc;else if(s!==d.enc)throw new F('JWE "enc" (Encryption Algorithm) Header Parameter must be the same for all recipients');if(Lt(F,new Map,l.options.crit,this._protectedHeader,d),d.zip!==void 0&&(!this._protectedHeader||!this._protectedHeader.zip))throw new F('JWE "zip" (Compression Algorithm) Header MUST be integrity protected')}let a=xt(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 f={...this._protectedHeader,...this._unprotectedHeader,...l.unprotectedHeader}.alg.startsWith("PBES2")?2048+u:void 0;if(u===0){let b=await new Wt(this._plaintext).setAdditionalAuthenticatedData(this._aad).setContentEncryptionKey(a).setProtectedHeader(this._protectedHeader).setSharedUnprotectedHeader(this._unprotectedHeader).setUnprotectedHeader(l.unprotectedHeader).setKeyManagementParameters({p2c:f}).encrypt(l.key,{...l.options,...e,[md]:!0});c.ciphertext=b.ciphertext,c.iv=b.iv,c.tag=b.tag,b.aad&&(c.aad=b.aad),b.protected&&(c.protected=b.protected),b.unprotected&&(c.unprotected=b.unprotected),d.encrypted_key=b.encrypted_key,b.header&&(d.header=b.header);continue}let{encryptedKey:h,parameters:m}=await Us(((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:f});d.encrypted_key=ce(h),(l.unprotectedHeader||m)&&(d.header={...l.unprotectedHeader,...m})}return c}}});function Fi(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 J(`alg ${t} is not supported either by JOSE or your javascript runtime`)}}var gd=L(()=>{Y();o(Fi,"subtleDsa")});function Hi(t,e,r){if(me(e))return zm(e,t,r),e;if(e instanceof Uint8Array){if(!t.startsWith("HS"))throw new TypeError(fe(e,...oe));return G.subtle.importKey("raw",e,{hash:`SHA-${t.slice(-3)}`,name:"HMAC"},!1,[r])}throw new TypeError(fe(e,...oe,"Uint8Array"))}var bd=L(()=>{Ce();yr();gt();bt();o(Hi,"getCryptoKey")});var aP,Dy,My=L(()=>{gd();Ce();Cs();bd();aP=o(async(t,e,r,n)=>{let i=await Hi(t,e,"verify");Jr(t,i);let s=Fi(t,i.algorithm);try{return await G.subtle.verify(s,i,r,n)}catch{return!1}},"verify"),Dy=aP});async function An(t,e,r){var n;if(!se(t))throw new ne("Flattened JWS must be an object");if(t.protected===void 0&&t.header===void 0)throw new ne('Flattened JWS must have either of the "protected" or "header" members');if(t.protected!==void 0&&typeof t.protected!="string")throw new ne("JWS Protected Header incorrect type");if(t.payload===void 0)throw new ne("JWS Payload missing");if(typeof t.signature!="string")throw new ne("JWS Signature missing or incorrect type");if(t.header!==void 0&&!se(t.header))throw new ne("JWS Unprotected Header incorrect type");let i={};if(t.protected)try{let v=de(t.protected);i=JSON.parse(ge.decode(v))}catch{throw new ne("JWS Protected Header is invalid")}if(!Ct(i,t.header))throw new ne("JWS Protected and JWS Unprotected Header Parameter names must be disjoint");let s={...i,...t.header},a=Lt(ne,new Map([["b64",!0]]),r?.crit,i,s),c=!0;if(a.has("b64")&&(c=i.b64,typeof c!="boolean"))throw new ne('The "b64" (base64url-encode payload) Header Parameter must be a boolean');let{alg:u}=s;if(typeof u!="string"||!u)throw new ne('JWS "alg" (Algorithm) Header Parameter missing or invalid');let l=r&&ki("algorithms",r.algorithms);if(l&&!l.has(u))throw new pr('"alg" (Algorithm) Header Parameter not allowed');if(c){if(typeof t.payload!="string")throw new ne("JWS Payload must be a string")}else if(typeof t.payload!="string"&&!(t.payload instanceof Uint8Array))throw new ne("JWS Payload must be a string or an Uint8Array instance");let d=!1;typeof e=="function"&&(e=await e(i,t),d=!0),_r(u,e,"verify");let p=xe(ae.encode((n=t.protected)!==null&&n!==void 0?n:""),ae.encode("."),typeof t.payload=="string"?ae.encode(t.payload):t.payload),f=de(t.signature);if(!await Dy(u,e,f,p))throw new Kr;let m;c?m=de(t.payload):typeof t.payload=="string"?m=ae.encode(t.payload):m=t.payload;let b={payload:m};return t.protected!==void 0&&(b.protectedHeader=i),t.header!==void 0&&(b.unprotectedHeader=t.header),d?{...b,key:e}:b}var Hs=L(()=>{Le();My();Y();Ie();vn();ze();Mi();In();dd();o(An,"flattenedVerify")});async function qs(t,e,r){if(t instanceof Uint8Array&&(t=ge.decode(t)),typeof t!="string")throw new ne("Compact JWS must be a string or Uint8Array");let{0:n,1:i,2:s,length:a}=t.split(".");if(a!==3)throw new ne("Invalid Compact JWS");let c=await An({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 _d=L(()=>{Hs();Y();Ie();o(qs,"compactVerify")});async function Uy(t,e,r){if(!se(t))throw new ne("General JWS must be an object");if(!Array.isArray(t.signatures)||!t.signatures.every(se))throw new ne("JWS Signatures missing or incorrect type");for(let n of t.signatures)try{return await An({header:n.header,payload:t.payload,protected:n.protected,signature:n.signature},e,r)}catch{}throw new Kr}var ky=L(()=>{Hs();Y();ze();o(Uy,"generalVerify")});var Rn,Ed=L(()=>{Rn=o(t=>Math.floor(t.getTime()/1e3),"default")});var cP,On,wd=L(()=>{cP=/^(\d+|\d+\.\d+) ?(seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)$/i,On=o(t=>{let e=cP.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 Fy,uP,Nn,$s=L(()=>{Y();Ie();Ed();wd();ze();Fy=o(t=>t.toLowerCase().replace(/^application\//,""),"normalizeTyp"),uP=o((t,e)=>typeof t=="string"?e.includes(t):Array.isArray(t)?e.some(Set.prototype.has.bind(new Set(t))):!1,"checkAudiencePresence"),Nn=o((t,e,r={})=>{let{typ:n}=r;if(n&&(typeof t.typ!="string"||Fy(t.typ)!==Fy(n)))throw new Pe('unexpected "typ" JWT header value',"typ","check_failed");let i;try{i=JSON.parse(ge.decode(e))}catch{}if(!se(i))throw new _e("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 h of new Set(s.reverse()))if(!(h in i))throw new Pe(`missing required "${h}" claim`,h,"missing");if(a&&!(Array.isArray(a)?a:[a]).includes(i.iss))throw new Pe('unexpected "iss" claim value',"iss","check_failed");if(c&&i.sub!==c)throw new Pe('unexpected "sub" claim value',"sub","check_failed");if(u&&!uP(i.aud,typeof u=="string"?[u]:u))throw new Pe('unexpected "aud" claim value',"aud","check_failed");let d;switch(typeof r.clockTolerance){case"string":d=On(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,f=Rn(p||new Date);if((i.iat!==void 0||l)&&typeof i.iat!="number")throw new Pe('"iat" claim must be a number',"iat","invalid");if(i.nbf!==void 0){if(typeof i.nbf!="number")throw new Pe('"nbf" claim must be a number',"nbf","invalid");if(i.nbf>f+d)throw new Pe('"nbf" claim timestamp check failed',"nbf","check_failed")}if(i.exp!==void 0){if(typeof i.exp!="number")throw new Pe('"exp" claim must be a number',"exp","invalid");if(i.exp<=f-d)throw new En('"exp" claim timestamp check failed',"exp","check_failed")}if(l){let h=f-i.iat,m=typeof l=="number"?l:On(l);if(h-d>m)throw new En('"iat" claim timestamp check failed (too far in the past)',"iat","check_failed");if(h<0-d)throw new Pe('"iat" claim timestamp check failed (it should be in the past)',"iat","check_failed")}return i},"default")});async function Hy(t,e,r){var n;let i=await qs(t,e,r);if(!((n=i.protectedHeader.crit)===null||n===void 0)&&n.includes("b64")&&i.protectedHeader.b64===!1)throw new _e("JWTs MUST NOT use unencoded payload");let a={payload:Nn(i.protectedHeader,i.payload,r),protectedHeader:i.protectedHeader};return typeof e=="function"?{...a,key:i.key}:a}var qy=L(()=>{_d();$s();Y();o(Hy,"jwtVerify")});async function $y(t,e,r){let n=await Ds(t,e,r),i=Nn(n.protectedHeader,n.plaintext,r),{protectedHeader:s}=n;if(s.iss!==void 0&&s.iss!==i.iss)throw new Pe('replicated "iss" claim header parameter mismatch',"iss","mismatch");if(s.sub!==void 0&&s.sub!==i.sub)throw new Pe('replicated "sub" claim header parameter mismatch',"sub","mismatch");if(s.aud!==void 0&&JSON.stringify(s.aud)!==JSON.stringify(i.aud))throw new Pe('replicated "aud" claim header parameter mismatch',"aud","mismatch");let a={payload:i,protectedHeader:s};return typeof e=="function"?{...a,key:n.key}:a}var jy=L(()=>{pd();$s();Y();o($y,"jwtDecrypt")});var Cn,vd=L(()=>{ks();Cn=class{static{o(this,"CompactEncrypt")}constructor(e){this._flattened=new Wt(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 lP,Vy,By=L(()=>{gd();Ce();Cs();bd();lP=o(async(t,e,r)=>{let n=await Hi(t,e,"sign");Jr(t,n);let i=await G.subtle.sign(Fi(t,n.algorithm),n,r);return new Uint8Array(i)},"sign"),Vy=lP});var Er,js=L(()=>{Le();By();vn();Y();Ie();Mi();In();Er=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 ne("either setProtectedHeader or setUnprotectedHeader must be called before #sign()");if(!Ct(this._protectedHeader,this._unprotectedHeader))throw new ne("JWS Protected and JWS Unprotected Header Parameter names must be disjoint");let n={...this._protectedHeader,...this._unprotectedHeader},i=Lt(ne,new Map([["b64",!0]]),r?.crit,this._protectedHeader,n),s=!0;if(i.has("b64")&&(s=this._protectedHeader.b64,typeof s!="boolean"))throw new ne('The "b64" (base64url-encode payload) Header Parameter must be a boolean');let{alg:a}=n;if(typeof a!="string"||!a)throw new ne('JWS "alg" (Algorithm) Header Parameter missing or invalid');_r(a,e,"sign");let c=this._payload;s&&(c=ae.encode(ce(c)));let u;this._protectedHeader?u=ae.encode(ce(JSON.stringify(this._protectedHeader))):u=ae.encode("");let l=xe(u,ae.encode("."),c),d=await Vy(a,e,l),p={signature:ce(d),payload:""};return s&&(p.payload=ge.decode(c)),this._unprotectedHeader&&(p.header=this._unprotectedHeader),this._protectedHeader&&(p.protected=ge.decode(u)),p}}});var xn,Td=L(()=>{js();xn=class{static{o(this,"CompactSign")}constructor(e){this._flattened=new Er(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 Sd,Vs,Gy=L(()=>{js();Y();Sd=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}},Vs=class{static{o(this,"GeneralSign")}constructor(e){this._signatures=[],this._payload=e}addSignature(e,r){let n=new Sd(this,e,r);return this._signatures.push(n),n}async sign(){if(!this._signatures.length)throw new ne("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 Er(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 ne("inconsistent use of JWS Unencoded Payload (RFC7797)");e.signatures.push(a)}return e}}});var wr,Bs=L(()=>{Ed();ze();wd();wr=class{static{o(this,"ProduceJWT")}constructor(e){if(!se(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:Rn(new Date)+On(e)},this}setExpirationTime(e){return typeof e=="number"?this._payload={...this._payload,exp:e}:this._payload={...this._payload,exp:Rn(new Date)+On(e)},this}setIssuedAt(e){return typeof e>"u"?this._payload={...this._payload,iat:Rn(new Date)}:this._payload={...this._payload,iat:e},this}}});var Gs,Ky=L(()=>{Td();Y();Ie();Bs();Gs=class extends wr{static{o(this,"SignJWT")}setProtectedHeader(e){return this._protectedHeader=e,this}async sign(e,r){var n;let i=new xn(ae.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 _e("JWTs MUST NOT use unencoded payload");return i.sign(e,r)}}});var Ks,Jy=L(()=>{vd();Ie();Bs();Ks=class extends wr{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 Cn(ae.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 Id(t,e){if(!se(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":vr(t.crv,'"crv" (Curve) Parameter'),vr(t.x,'"x" (X Coordinate) Parameter'),vr(t.y,'"y" (Y Coordinate) Parameter'),r={crv:t.crv,kty:t.kty,x:t.x,y:t.y};break;case"OKP":vr(t.crv,'"crv" (Subtype of Key Pair) Parameter'),vr(t.x,'"x" (Public Key) Parameter'),r={crv:t.crv,kty:t.kty,x:t.x};break;case"RSA":vr(t.e,'"e" (Exponent) Parameter'),vr(t.n,'"n" (Modulus) Parameter'),r={e:t.e,kty:t.kty,n:t.n};break;case"oct":vr(t.k,'"k" (Key Value) Parameter'),r={k:t.k,kty:t.kty};break;default:throw new J('"kty" (Key Type) Parameter missing or unsupported')}let n=ae.encode(JSON.stringify(r));return ce(await gs(e,n))}async function zy(t,e){e??(e="sha256");let r=await Id(t,e);return`urn:ietf:params:oauth:jwk-thumbprint:sha-${e.slice(-3)}:${r}`}var vr,Wy=L(()=>{Bl();Le();Y();Ie();ze();vr=o((t,e)=>{if(typeof t!="string"||!t)throw new Pi(`${e} missing or invalid`)},"check");o(Id,"calculateJwkThumbprint");o(zy,"calculateJwkThumbprintUri")});async function Qy(t,e){let r={...t,...e?.header};if(!se(r.jwk))throw new ne('"jwk" (JSON Web Key) Header Parameter must be a JSON object');let n=await br({...r.jwk,ext:!0},r.alg,!0);if(n instanceof Uint8Array||n.type!=="public")throw new ne('"jwk" (JSON Web Key) Header Parameter must be a public key');return n}var Yy=L(()=>{Di();ze();Y();o(Qy,"EmbeddedJWK")});function dP(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 J('Unsupported "alg" value for a JSON Web Key Set')}}function Pd(t){return t&&typeof t=="object"&&Array.isArray(t.keys)&&t.keys.every(pP)}function pP(t){return se(t)}function fP(t){return typeof structuredClone=="function"?structuredClone(t):JSON.parse(JSON.stringify(t))}async function Zy(t,e,r){let n=t.get(e)||t.set(e,{}).get(e);if(n[r]===void 0){let i=await br({...e,ext:!0},r);if(i instanceof Uint8Array||i.type!=="public")throw new fr("JSON Web Key Set members must be public keys");n[r]=i}return n[r]}function Xy(t){let e=new qi(t);return async function(r,n){return e.getKey(r,n)}}var qi,Ad=L(()=>{Di();Y();ze();o(dP,"getKtyFromAlg");o(Pd,"isJWKSLike");o(pP,"isJWKLike");o(fP,"clone");qi=class{static{o(this,"LocalJWKSet")}constructor(e){if(this._cached=new WeakMap,!Pd(e))throw new fr("JSON Web Key Set malformed");this._jwks=fP(e)}async getKey(e,r){let{alg:n,kid:i}={...e,...r?.header},s=dP(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 Gr;if(u!==1){let l=new Ai,{_cached:d}=this;throw l[Symbol.asyncIterator]=async function*(){for(let p of a)try{yield await Zy(d,p,n)}catch{continue}},l}return Zy(this._cached,c,n)}};o(Zy,"importWithAlgCache");o(Xy,"createLocalJWKSet")});var hP,eg,tg=L(()=>{Y();hP=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 Ri:c});if(i!==void 0&&clearTimeout(i),a.status!==200)throw new ve("Expected 200 OK from the JSON Web Key Set HTTP response");try{return await a.json()}catch{throw new ve("Failed to parse the JSON Web Key Set HTTP response as JSON")}},"fetchJwks"),eg=hP});function mP(){return typeof WebSocketPair<"u"||typeof navigator<"u"&&navigator.userAgent==="Cloudflare-Workers"||typeof EdgeRuntime<"u"&&EdgeRuntime==="vercel"}function rg(t,e){let r=new Rd(t,e);return async function(n,i){return r.getKey(n,i)}}var Rd,ng=L(()=>{tg();Y();Ad();o(mP,"isCloudflareWorkers");Rd=class extends qi{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 Gr&&this.coolingDown()===!1)return await this.reload(),super.getKey(e,r);throw n}}async reload(){this._pendingFetch&&mP()&&(this._pendingFetch=void 0),this._pendingFetch||(this._pendingFetch=eg(this._url,this._timeoutDuration,this._options).then(e=>{if(!Pd(e))throw new fr("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(rg,"createRemoteJWKSet")});var Js,ig=L(()=>{Le();Ie();Y();$s();Bs();Js=class extends wr{static{o(this,"UnsecuredJWT")}encode(){let e=ce(JSON.stringify({alg:"none"})),r=ce(JSON.stringify(this._payload));return`${e}.${r}.`}static decode(e,r){if(typeof e!="string")throw new _e("Unsecured JWT must be a string");let{0:n,1:i,2:s,length:a}=e.split(".");if(a!==3||s!=="")throw new _e("Invalid Unsecured JWT");let c;try{if(c=JSON.parse(ge.decode(de(n))),c.alg!=="none")throw new Error}catch{throw new _e("Invalid Unsecured JWT")}return{payload:Nn(c,de(i),r),header:c}}}});var Od={};So(Od,{decode:()=>$i,encode:()=>yP});var yP,$i,zs=L(()=>{Le();yP=ce,$i=de});function og(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(ge.decode($i(e)));if(!se(r))throw new Error;return r}catch{throw new TypeError("Invalid Token or Protected Header formatting")}}var sg=L(()=>{zs();Ie();ze();o(og,"decodeProtectedHeader")});function ag(t){if(typeof t!="string")throw new _e("JWTs must use Compact JWS serialization, JWT must be a string");let{1:e,length:r}=t.split(".");if(r===5)throw new _e("Only JWTs using Compact JWS serialization can be decoded");if(r!==3)throw new _e("Invalid JWT");if(!e)throw new _e("JWTs must contain a payload");let n;try{n=$i(e)}catch{throw new _e("Failed to parse the base64url encoded payload")}let i;try{i=JSON.parse(ge.decode(n))}catch{throw new _e("Failed to parse the decoded payload as JSON")}if(!se(i))throw new _e("Invalid JWT Claims Set");return i}var cg=L(()=>{zs();Ie();ze();Y();o(ag,"decodeJwt")});async function ug(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),hr(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 J('Invalid or unsupported JWK "alg" (Algorithm) Parameter value')}return G.subtle.generateKey(i,(r=e?.extractable)!==null&&r!==void 0?r:!1,s)}function Nd(t){var e;let r=(e=t?.modulusLength)!==null&&e!==void 0?e:2048;if(typeof r!="number"||r<2048)throw new J("Invalid or unsupported modulusLength option provided, 2048 bits or larger keys must be used");return r}async function lg(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:Nd(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:Nd(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:Nd(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 J("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 J("Invalid or unsupported crv option provided, supported values are P-256, P-384, P-521, X25519, and X448")}break}default:throw new J('Invalid or unsupported JWK "alg" (Algorithm) Parameter value')}return G.subtle.generateKey(s,(i=e?.extractable)!==null&&i!==void 0?i:!1,a)}var Cd=L(()=>{Ce();Y();Oi();o(ug,"generateSecret");o(Nd,"getModulusLengthOption");o(lg,"generateKeyPair")});async function dg(t,e){return lg(t,e)}var pg=L(()=>{Cd();o(dg,"generateKeyPair")});async function fg(t,e){return ug(t,e)}var hg=L(()=>{Cd();o(fg,"generateSecret")});var Ws={};So(Ws,{CompactEncrypt:()=>Cn,CompactSign:()=>xn,EmbeddedJWK:()=>Qy,EncryptJWT:()=>Ks,FlattenedEncrypt:()=>Wt,FlattenedSign:()=>Er,GeneralEncrypt:()=>Fs,GeneralSign:()=>Vs,SignJWT:()=>Gs,UnsecuredJWT:()=>Js,base64url:()=>Od,calculateJwkThumbprint:()=>Id,calculateJwkThumbprintUri:()=>zy,compactDecrypt:()=>Ds,compactVerify:()=>qs,createLocalJWKSet:()=>Xy,createRemoteJWKSet:()=>rg,decodeJwt:()=>ag,decodeProtectedHeader:()=>og,errors:()=>Jl,exportJWK:()=>Ms,exportPKCS8:()=>xy,exportSPKI:()=>Cy,flattenedDecrypt:()=>Pn,flattenedVerify:()=>An,generalDecrypt:()=>Ay,generalVerify:()=>Uy,generateKeyPair:()=>dg,generateSecret:()=>fg,importJWK:()=>br,importPKCS8:()=>vy,importSPKI:()=>Ey,importX509:()=>wy,jwtDecrypt:()=>$y,jwtVerify:()=>Hy});var Qs=L(()=>{pd();Ls();Ry();Ly();_d();Hs();ky();qy();jy();vd();ks();Td();js();Gy();Ky();Jy();Wy();Yy();Ad();ng();ig();fd();Di();sg();cg();Y();pg();hg();zs()});var Ln=_(Ys=>{"use strict";Object.defineProperty(Ys,"__esModule",{value:!0});Ys.fetchRetry=void 0;var gP=k();async function bP(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 gP.ConfigurationError("An unknown error occurred, ensure retries is not negative")}o(bP,"fetchRetry");Ys.fetchRetry=bP});var Dn=_(at=>{"use strict";Object.defineProperty(at,"__esModule",{value:!0});at.GcpServiceAccount=at.fetchToken=at.exchangeGgpJwtForIdToken=at.exchangeFirebaseJwtForIdToken=at.getTokenFromGcpServiceAccount=void 0;var mg=(Qs(),Io(Ws)),_P=k(),EP=Ln();async function wP({serviceAccount:t,audience:e,expirationTime:r="1h",payload:n={}}){let{clientEmail:i,privateKeyId:s,privateKey:a}=t;return await new mg.SignJWT(n).setProtectedHeader({alg:"RS256",kid:s}).setIssuer(i).setSubject(i).setAudience(e).setIssuedAt().setExpirationTime(r).sign(a)}o(wP,"getTokenFromGcpServiceAccount");at.getTokenFromGcpServiceAccount=wP;async function vP(t,e,r){return Ld(t,{token:e,returnSecureToken:!0},r)}o(vP,"exchangeFirebaseJwtForIdToken");at.exchangeFirebaseJwtForIdToken=vP;async function TP(t,e,r){return Ld(t,{grant_type:"urn:ietf:params:oauth:grant-type:jwt-bearer",assertion:e},r)}o(TP,"exchangeGgpJwtForIdToken");at.exchangeGgpJwtForIdToken=TP;async function Ld(t,e,r){let n=await(0,EP.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 _P.RuntimeError({message:"Could not get token from Google Identity",extensionMembers:s})}return await n.json()}o(Ld,"fetchToken");at.fetchToken=Ld;var xd=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,mg.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}};at.GcpServiceAccount=xd});var Xs=_(Qt=>{"use strict";Object.defineProperty(Qt,"__esModule",{value:!0});Qt.GoogleLogTransport=Qt.ZuploToGCPMap=Qt.GoogleCloudLoggingPlugin=void 0;var SP=k(),IP=Ne(),Dd=ie(),Md=Dn(),PP=Jt(),yg=Nt(),Ud=class extends PP.LogPlugin{static{o(this,"GoogleCloudLoggingPlugin")}options;constructor(e){super(),this.options=e}getTransport(){return new Zs(this.options)}};Qt.GoogleCloudLoggingPlugin=Ud;var AP="https://logging.googleapis.com/v2/entries:write?alt=json";Qt.ZuploToGCPMap={error:"ERROR",warn:"WARNING",info:"INFO",debug:"DEBUG"};var Zs=class{static{o(this,"GoogleLogTransport")}constructor(e){this.#r=e.logName,this.#e=e.serviceAccountJson,this.#i=Dd.Environment.instance.loggingEnvironmentType,this.#o=Dd.Environment.instance.loggingEnvironmentStage,this.#n=Dd.Environment.instance.deploymentName}#e;#t;#r;#n;#i;#o;async init(){this.#t=await Md.GcpServiceAccount.init(this.#e)}log(e,r){if(!this.#t)throw new SP.SystemError("Invalid state - Google log transport is not initialized");if(e.messages.length===0)return;let n={allMessages:(0,yg.makeErrorsSerializable)(e.messages)},i=this.#t.projectId??"zuplo-production",s={logName:this.#r,resource:{type:"global"},severity:Qt.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,yg.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 Md.GcpServiceAccount.init(this.#e));let r=await(0,Md.getTokenFromGcpServiceAccount)({serviceAccount:this.#t,audience:"https://logging.googleapis.com/google.logging.v2.LoggingServiceV2"}),n=await fetch(AP,{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 IP.BatchDispatch("google-log-transport",1,this.dispatchFunction)};Qt.GoogleLogTransport=Zs});var kd=_(Mn=>{"use strict";Object.defineProperty(Mn,"__esModule",{value:!0});Mn.gcpLogFormat=Mn.GCP_LOG_FORMAT=void 0;var gg=Nt(),RP=Xs();Mn.GCP_LOG_FORMAT="gcp";function OP(t){let e={allMessages:(0,gg.makeErrorsSerializable)(t.messages)},r="zuplo-production",n=(0,gg.extractBestMessage)(e.allMessages),i={logName:`projects/${r}/logs/runtime-user`,message:n,severity:RP.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(OP,"gcpLogFormat");Mn.gcpLogFormat=OP});var _g=_(ea=>{"use strict";Object.defineProperty(ea,"__esModule",{value:!0});ea.ConsoleTransport=void 0;var bg=kd(),Fd=class{static{o(this,"ConsoleTransport")}constructor(e,r){this.#e=e??console,this.#t=r}#e;#t;log(e){if(this.#t===bg.GCP_LOG_FORMAT){if(e.messages.length===0)return;this.#e[e.level].apply(null,[(0,bg.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}])}};ea.ConsoleTransport=Fd});var Bd=_(Un=>{"use strict";Object.defineProperty(Un,"__esModule",{value:!0});Un.DataDogTransport=Un.DataDogLoggingPlugin=void 0;var NP=Ne(),Hd=ie(),CP=Jt(),Eg=Nt(),Vd=class extends CP.LogPlugin{static{o(this,"DataDogLoggingPlugin")}options;constructor(e){super(),this.options=e}getTransport(){return new ta(this.options)}};Un.DataDogLoggingPlugin=Vd;var qd="__ddtags",$d="__ddattr",jd=o(t=>t.replaceAll(",","_").replaceAll(":","_"),"cleanTagText"),xP=o(t=>{let e=Object.keys(t),r=[];return e.forEach(n=>{let i=t[n];i==null?r.push(jd(n)):r.push(`${jd(n)}:${jd(i.toString())}`)}),r.join(",")},"formatTags"),ta=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=Hd.Environment.instance.loggingEnvironmentType,this.#i=Hd.Environment.instance.loggingEnvironmentStage,this.#r=Hd.Environment.instance.deploymentName}#e;#t;#r;#n;#i;log(e,r){let n={},i=r.custom[qd];i&&typeof i=="object"&&Object.assign(n,i);let s=[...e.messages],a=e.messages.findIndex(h=>h[qd]!==void 0);a>-1&&(Object.assign(n,s[a][qd]),s.splice(a,1));let c={},u=r.custom[$d];u&&typeof u=="object"&&Object.assign(c,u);let l=e.messages.findIndex(h=>h[$d]!==void 0);l>-1&&(Object.assign(c,s[l][$d]),s.splice(l,1));let d=(0,Eg.makeErrorsSerializable)(s),f={message:{...{...e,activityId:e.requestId,trace:e.requestId},messages:d},ddsource:"Zuplo",hostname:new URL(r.originalRequest.url).hostname,msg:(0,Eg.extractBestMessage)(d),service:e.loggingId,ddtags:xP(n),environment:this.#r,environment_type:this.#n,environment_stage:this.#i};Object.assign(f,c),this.batcher.enqueue(f),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 NP.BatchDispatch("data-dog-transport",10,this.dispatchFunction)};Un.DataDogTransport=ta});var vg=_(ra=>{"use strict";Object.defineProperty(ra,"__esModule",{value:!0});ra.ProcessTransport=void 0;var wg=kd(),Gd=class{static{o(this,"ProcessTransport")}constructor(e,r){this.#e=e,this.#t=r}#e;#t;log(e){if(this.#t===wg.GCP_LOG_FORMAT){if(e.messages.length===0)return;this.#e[e.level].apply(null,[(0,wg.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}])}};ra.ProcessTransport=Gd});var Sg=_(ia=>{"use strict";Object.defineProperty(ia,"__esModule",{value:!0});ia.RemoteLogTransport=void 0;var LP=Ne(),Tg=ie(),DP=Nt(),MP=o(({url:t,remoteLogToken:e,loggingId:r,sendOnlyErrors:n})=>async i=>{let s;if(n===!0?s=i.filter(a=>a.level==="error"):s=i,s.length!==0)try{await fetch(`${t}/publish/${r}`,{method:"POST",body:JSON.stringify({timestamp:Date.now(),type:"log",message:s.map(a=>({...a,messages:(0,DP.makeErrorsSerializable)(a.messages)}))}),headers:{"content-type":"application/json",authentication:`Bearer ${e}`,"user-agent":Tg.Environment.instance.systemUserAgent,"zp-dn":Tg.Environment.instance.deploymentName??"unknown"}})}catch(a){console.error(a)}},"dispatchFunction"),na,Kd=class{static{o(this,"RemoteLogTransport")}constructor(e){na||(na=new LP.BatchDispatch("remote-log-transport",1,MP(e)))}log(e,r){na.enqueue(e),r.waitUntil(na.waitUntilFlushed())}};ia.RemoteLogTransport=Kd});var Ig=_(zr=>{"use strict";Object.defineProperty(zr,"__esModule",{value:!0});zr.unifiedFormatter=zr.SeverityNumberOpenTelemetryMap=void 0;zr.SeverityNumberOpenTelemetryMap={internal:1,trace:2,debug:5,info:9,warn:13,error:17,fatal:21};var UP=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:zr.SeverityNumberOpenTelemetryMap[r.level],body:r.messages,attributes:n}},"unifiedFormatter");zr.unifiedFormatter=UP});var Ag=_(sa=>{"use strict";Object.defineProperty(sa,"__esModule",{value:!0});sa.UnifiedLogTransport=void 0;var kP=Ne(),Pg=ie(),FP=Ig(),HP=o(({url:t,remoteLogToken:e,deploymentName:r,build:n})=>async i=>{if(i.length===0)return;let s=(0,FP.unifiedFormatter)(r,n);try{await fetch(`${t}/v1/runtime-logs`,{method:"POST",body:JSON.stringify({entries:i.map(s)}),headers:{"content-type":"application/json",authentication:`Bearer ${e}`,"user-agent":Pg.Environment.instance.systemUserAgent,"zp-dn":Pg.Environment.instance.deploymentName??"unknown"}})}catch(a){console.error(a)}},"dispatchFunction"),oa,Jd=class{static{o(this,"UnifiedLogTransport")}constructor(e){oa||(oa=new kP.BatchDispatch("unified-log-transport",1,HP(e)))}async log(e,r){oa.enqueue(e),r.waitUntil(oa.waitUntilFlushed())}};sa.UnifiedLogTransport=Jd});var Dg=_(aa=>{"use strict";Object.defineProperty(aa,"__esModule",{value:!0});aa.LogInitializer=void 0;var qP=kr(),$P=Rt(),Rg=Ll(),Og=ie(),Ng=xm(),jP=Jt(),VP=Lm(),Cg=Dm(),xg=_g(),BP=Bd(),GP=Xs(),Lg=vg(),KP=Sg(),JP=Ag(),zd=(0,qP.debug)("zuplo:logging"),Wd=class t{static{o(this,"LogInitializer")}systemCoreLogger;userCoreLogger;constructor({systemCoreLogger:e,userCoreLogger:r}){this.systemCoreLogger=e,this.userCoreLogger=r}static async init(e){let r=await t.setupSystemCoreLogger(Og.Environment.instance,e),n=await t.setupUserCoreLogger(Og.Environment.instance,e);return new t({systemCoreLogger:r,userCoreLogger:n})}static async setupSystemCoreLogger(e,r){let{build:n}=e;zd("Gateway.setupSystemCoreLogger");let i=[],s=r.getService(Rg.SYSTEM_LOGGER);return s?i.push(new Lg.ProcessTransport(s.logger,e.logFormat)):e.isDeno&&i.push(new xg.ConsoleTransport(console,e.logFormat)),e.isCloudflare&&e.deploymentName&&e.remoteLogToken&&i.push(new JP.UnifiedLogTransport({url:e.remoteLogURL,deploymentName:e.deploymentName,remoteLogToken:e.remoteLogToken,build:e.build})),await Promise.all(i.map(async a=>{a.init&&await a.init()})),new Ng.CoreLogger(e.systemLogLevel,"system",e.loggingId,n.BUILD_ID,i)}static async setupUserCoreLogger(e,r){zd("Gateway.setupUserCoreLogger");let n=[],{runtime:i,build:s}=e,a=r.getService(Rg.SYSTEM_LOGGER);if(a&&a.captureUserLogs===!0?n.push(new Lg.ProcessTransport(a.logger,e.logFormat)):e.isDeno&&n.push(new xg.ConsoleTransport(console,e.logFormat)),e.remoteLogToken&&e.loggingId&&n.push(new KP.RemoteLogTransport({loggingId:e.loggingId,url:e.remoteLogURL,remoteLogToken:e.remoteLogToken,sendOnlyErrors:e.isCloudflare})),i.GCP_USER_LOG_NAME&&i.GCP_USER_LOG_SVC_ACCT_JSON&&n.push(new GP.GoogleLogTransport({serviceAccountJson:i.GCP_USER_LOG_SVC_ACCT_JSON,logName:i.GCP_USER_LOG_NAME})),i.ZUPLO_USER_LOGGER_DATA_DOG_API_KEY){let c=i.ZUPLO_USER_LOGGER_DATA_DOG_URL;n.push(new BP.DataDogTransport({apiKey:i.ZUPLO_USER_LOGGER_DATA_DOG_API_KEY,url:c}))}return $P.plugins.forEach(c=>{c instanceof jP.LogPlugin&&n.push(c.getTransport())}),await Promise.all(n.map(async c=>{c.init&&await c.init()})),new Ng.CoreLogger(e.userLogLevel,"user",e.loggingId,s.BUILD_ID,n)}createRequestLoggers(e,r,n,i,s){zd("Gateway.createRequestLoggers");let a=new VP.LoggingContext(n,i,s),c=new Cg.RequestLogger(e,r,this.systemCoreLogger,a);return{userRequestLogger:new Cg.RequestLogger(e,r,this.userCoreLogger,a),systemRequestLogger:c}}};aa.LogInitializer=Wd});var Yd=_(ca=>{"use strict";Object.defineProperty(ca,"__esModule",{value:!0});ca.UserRouteConfiguration=void 0;var Qd=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};ca.UserRouteConfiguration=Qd});var Xd=_(Dt=>{"use strict";Object.defineProperty(Dt,"__esModule",{value:!0});Dt.Router=Dt.RouterError=Dt.LookupResult=Dt.RouterEntry=void 0;var Mg=k(),zP=mt(),WP=Yd(),ua=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};Dt.RouterEntry=ua;var ji=class{static{o(this,"LookupResult")}constructor(e,r,n){this.routeConfiguration=e,this.params=n??{},this.executableHandler=r}executableHandler;routeConfiguration;params};Dt.LookupResult=ji;var la=class extends Error{static{o(this,"RouterError")}constructor(e,r){super(e,r)}};Dt.RouterError=la;var Zd=class{static{o(this,"Router")}constructor(e){this.routeEntries=[],this.versions=e}versions;routeEntries;addRoute(e,r){if(!(e instanceof WP.UserRouteConfiguration||e instanceof zP.SystemRouteConfiguration))throw new Mg.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 ua(i,s,e,r);Object.freeze(a.config),this.routeEntries.push(a)}catch(s){throw new la(`addRoute-error: Invalid path '${i}'. '${s.message}'`,{cause:s})}}lookup(e,r){if(typeof e>"u")throw new Mg.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 ji(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 ji(i.config,i.executableHandler,a.pathname.groups);r.push(c)}}return r}};Dt.Router=Zd});var Fr=_(pa=>{"use strict";Object.defineProperty(pa,"__esModule",{value:!0});pa.Gateway=void 0;var QP=kr(),Ug=am(),kg=mm(),YP=ym(),Fg=gm(),Hg=wm(),Yt=un(),da=Hr(),qg=Cm(),Ut=k(),Vi=Rt(),ZP=Dg(),XP=Bt(),eA=pe(),tA=Il(),rA=ar(),nA=yn(),iA=Ge(),oA=Xd(),ep=mt(),$g=Yd(),sA=Ze(),aA=is(),tp=ie(),jg=Br(),Vg=ol(),Mt=(0,QP.debug)("zuplo:runtime"),cA=o(t=>{let e=t.findIndex(r=>r.name===ep.systemNoVersion.name);return e>-1?[...t.splice(e),ep.systemNoVersion]:[...t,ep.systemNoVersion]},"setupSystemNoVersion"),rp=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,Mt("Gateway.constructor"),this.#r=this.setupRoutes(),this.#i=this.setupErrorHandler(),this.#t=n}static async initialize(e,r,n,i,s){if(Mt("Gateway.initialize"),!t.#e){await(0,Vi.initializeRuntime)(s);let a=await ZP.LogInitializer.init(n),c=e(),u={...c,corsPolicies:(0,aA.parseCorsPolicies)(c.corsPolicies)},l=new t(u,r,a,i);t.#e=l}return t.#e}static purgeGatewayCache(){Mt("Gateway.purgeGatewayCache"),t.#e=void 0}static get instance(){if(!t.#e)throw new Ut.SystemError("Gateway cannot be used before it is initialized");return t.#e}instanceId=crypto.randomUUID();#t;#r;#n=[nA.policyProcessor,tA.corsProcessor,rA.metricsProcessor];#i;setupRoutes=()=>{Mt("Gateway.setupRoutes");let e=this.routeData,r=cA(e.versions),n=new oA.Router(r);if(e.routes.length===0)return(0,Ug.registerBuildRoute)(n,this),(0,Hg.registerPingRoute)(n,this),(0,kg.registerCorsRoute)(n,this),(0,YP.registerNoRoutes)(n,this),n;let{enabled:i}=this.runtimeSettings.developerPortal;i&&((0,qg.registerDevPortalLegacyRedirectRoute)(n,this),(0,qg.registerDevPortalV3Route)(n,this)),(0,Ug.registerBuildRoute)(n,this),(0,Hg.registerPingRoute)(n,this),(0,kg.registerCorsRoute)(n,this);for(let s of Vi.plugins)s instanceof Vi.SystemRuntimePlugin&&s.registerRoutes(n,this);return e.routes.forEach(s=>{let a;if(typeof s.handler?.module=="object"&&(a=s.handler?.module[s.handler.export]),typeof a!="function")throw new Ut.ConfigurationError(`Invalid state - No handler on route for path '${s.path}'`);let c=new XP.Pipeline({processors:this.#n,handler:a,gateway:this}),u=new $g.UserRouteConfiguration(s);n.addRoute(u,c.execute)}),(0,Fg.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 Ut.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 Mt("An error occurred in the user's errorHandler",i),this.#o(e,r,i)}}#o(e,r,n){Mt("Gateway.internalErrorResponse");let i={};if(tp.Environment.instance.isDeno){if(n instanceof Ut.RuntimeError&&n.extensionMembers)i=n.extensionMembers;else if(n.cause){let s=(0,jg.serializeError)(n.cause);"stack"in s&&(s.stack=(0,jg.cleanStack)(s.stack)),i={cause:s}}}return eA.HttpProblems.internalServerError(e,r,{detail:n.message,...i})}#s(e){let r=new Headers(e.headers);return Yt.DISPATCH_HEADERS_TO_REMOVE.forEach(n=>{r.delete(n)}),tp.Environment.instance.isDeno&&Yt.INTERNAL_HEADERS_TO_REMOVE.forEach(n=>{r.delete(n)}),new Request(e,{headers:r})}async handleRequest(e,r){let n=e.headers.get(Yt.REQUEST_ID_HEADER)??e.headers.get(Yt.LEGACY_REQUEST_ID_HEADER),i=e.headers.get(Yt.RAY_ID_HEADER);if(!n){n=crypto.randomUUID();let v=new Headers(e.headers);v.set(Yt.REQUEST_ID_HEADER,n),e=new Request(e,{headers:v})}if(["GET","HEAD"].includes(e.method)&&e.body){let v=new Headers(e.headers);v.set(Yt.BODY_REMOVED_HEADER,"true"),e=new Request(e,{headers:v,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 Ut.SystemError(`Invalid state - no route match - should have been picked up by the not found handler, path: '${l}'`);let p=new da.HeaderIncomingRequestProperties(e.headers),f=this.#s(e),h=new iA.ZuploRequest(f,{params:d.params}),m=new da.SystemZuploContext({logger:a,route:d.routeConfiguration,requestId:n,event:r,custom:s,incomingRequestProperties:p}),b=da.ZuploContextExtensions.initialize(m,h);if(d.routeConfiguration===Fg.notFoundRouteConfiguration&&Vi.runtimeExtensions.value?.notFoundHandler!==void 0){let v=this.#r.lookupByPathOnly(l);b.pathOnlyMatches=v.map(A=>A.routeConfiguration).filter(A=>A instanceof $g.UserRouteConfiguration)}try{if(sA.SystemLogMap.addLogger(m,c),tp.Environment.instance.build.COMPATIBILITY_FLAGS.doNotRunHooksOnSystemRoutes?!(0,Vg.isSystemRoute)(u):!u.pathname.startsWith("/__zuplo")){let g=await(0,Vi.invokeOnRequestExtensions)(h,m);if(g instanceof Response)return g;{let S=da.ZuploContextExtensions.getContextExtensions(m);h=g,S.latestRequest=h}}(0,Vg.isSystemRoute)(u)||a.debug(`Request received '${u.pathname}'`,{method:e.method,url:u.pathname,hostname:u.hostname,route:d.routeConfiguration.path});let v=d.executableHandler;uA(v,d,e),Mt("Gateway.handleRequest - call user handler");let A=await v(h,m);if(Mt("Gateway.handleRequest - user handler"),!(A instanceof Response))throw new Ut.RuntimeError(`Invalid Response type from the request handler: ${typeof A}`);if(A.bodyUsed)throw new Ut.RuntimeError("The response object has already been used. Return a new response instead.");if(A.headers.get(Yt.REQUEST_ID_HEADER)===null&&!A.webSocket){let g=new Headers(A.headers);return g.set(Yt.REQUEST_ID_HEADER,n),new Response(A.body,{status:A.status,statusText:A.statusText,headers:g,cf:A.cf})}else return A}catch(v){return Mt("Gateway - error executing handler",v),v instanceof Ut.RuntimeError?(a.error(v),c.warn(v)):c.error(v),await this.#o(h,m,v)}}};pa.Gateway=rp;function uA(t,e,r){if(Mt("Gateway.checkHandler"),!t)throw typeof e.routeConfiguration>"u"?new Ut.ConfigurationError(`Invalid state - no routeConfiguration for '${r.method}:${r.url}`):new Ut.ConfigurationError(`Invalid state. No handler for request '${r.method}':'${e.routeConfiguration.path}'`)}o(uA,"checkHandler")});var Bg=_(fa=>{"use strict";Object.defineProperty(fa,"__esModule",{value:!0});fa.invokeInboundPolicy=void 0;var lA=k(),dA=Fr(),pA=yn(),fA=o(async(t,e,r)=>{let n=dA.Gateway.instance.routeData.policies,i=(0,pA.getInboundPolicyInstances)([t],n);if(i.length===0)throw new lA.RuntimeError(`Invalid 'invokeInboundPolicy call' - no policy '${t}' found.`);return i[0].handler(e,r)},"invokeInboundPolicy");fa.invokeInboundPolicy=fA});var Hr=_(ct=>{"use strict";Object.defineProperty(ct,"__esModule",{value:!0});ct.SystemZuploContext=ct.ZuploContextExtensions=ct.ResponseSentEvent=ct.ResponseSendingEvent=ct.HeaderIncomingRequestProperties=void 0;var Ae=un(),hA=k(),mA=Bg(),np=class{static{o(this,"HeaderIncomingRequestProperties")}#e;constructor(e){this.#e=e}get asn(){try{let e=this.#e.get(Ae.ZP_ASN_HEADER);if(typeof e=="string")return parseInt(e)}catch{}}get asOrganization(){return this.#e.get(Ae.ZP_AS_ORG_HEADER)??void 0}get city(){return this.#e.get(Ae.CF_IP_CITY_HEADER)??this.#e.get(Ae.ZP_IP_CITY_HEADER)??void 0}get continent(){return this.#e.get(Ae.CF_IP_CONTINENT_HEADER)??this.#e.get(Ae.ZP_IP_CONTINENT_HEADER)??void 0}get country(){return this.#e.get(Ae.CF_IP_COUNTRY_HEADER)??this.#e.get(Ae.ZP_IP_COUNTRY_HEADER)??void 0}get latitude(){return this.#e.get(Ae.CF_IP_LATITUDE_HEADER)??this.#e.get(Ae.ZP_IP_LATITUDE_HEADER)??void 0}get longitude(){return this.#e.get(Ae.CF_IP_LONGITUDE_HEADER)??this.#e.get(Ae.ZP_IP_LONGITUDE_HEADER)??void 0}get colo(){return this.#e.get(Ae.ZP_COLO_HEADER)??void 0}get postalCode(){return this.#e.get(Ae.ZP_POSTAL_CODE_HEADER)??void 0}get metroCode(){return this.#e.get(Ae.ZP_METRO_CODE_HEADER)??void 0}get region(){return this.#e.get(Ae.ZP_REGION_HEADER)??void 0}get regionCode(){return this.#e.get(Ae.ZP_REGION_CODE_HEADER)??void 0}get timezone(){return this.#e.get(Ae.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}}};ct.HeaderIncomingRequestProperties=np;var ip=class extends Event{static{o(this,"ResponseSendingEvent")}constructor(e,r){super("responseSending"),this.request=e,this.mutableResponse=r}request;mutableResponse};ct.ResponseSendingEvent=ip;var op=class extends Event{static{o(this,"ResponseSentEvent")}constructor(e,r){super("responseSent"),this.request=e,this.response=r}request;response};ct.ResponseSentEvent=op;var Bi=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 hA.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}};ct.ZuploContextExtensions=Bi;var sp=class extends EventTarget{static{o(this,"SystemZuploContext")}constructor({logger:e,route:r,requestId:n,event: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,mA.invokeInboundPolicy)(c,u,this),this.waitUntil=c=>{this.#e.waitUntil(c)},this.addResponseSendingHook=c=>{Bi.getContextExtensions(this).addResponseSendingHook(c)},this.addResponseSendingFinalHook=c=>{Bi.getContextExtensions(this).addResponseSendingFinalHook(c)},Object.freeze(this)}#e;requestId;log;route;custom;incomingRequestProperties;invokeInboundPolicy;waitUntil;addResponseSendingHook;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)}};ct.SystemZuploContext=sp});var cp=_(ha=>{"use strict";Object.defineProperty(ha,"__esModule",{value:!0});ha.ContextData=void 0;var ap=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),t.#e.set(e,i)}static get(e,r){return t.#e||(t.#e=new WeakMap),t.#e.get(e)?.get(r)}};ha.ContextData=ap});var Gi=_(Tr=>{"use strict";Object.defineProperty(Tr,"__esModule",{value:!0});Tr.environment=Tr.isZuploReadableEnvVariableName=Tr.isRestrictedEnvVariableName=void 0;var yA=["ZUPLO_USER_LOGGER_DATA_DOG_API_KEY","ZUPLO_USER_LOGGER_DATA_DOG_URL","ZUPLO_LOG_LEVEL","ZUPLO_HANDLER_WRITE_LOG_LEVEL"];function Gg(t){return t.startsWith("__ZUPLO")||t.startsWith("ZUPLO_")?!yA.includes(t)&&!t.startsWith("ZUPLO_PUBLIC_"):!1}o(Gg,"isRestrictedEnvVariableName");Tr.isRestrictedEnvVariableName=Gg;function Kg(t){return!!t.startsWith("ZUPLO_")}o(Kg,"isZuploReadableEnvVariableName");Tr.isZuploReadableEnvVariableName=Kg;var gA=new Proxy({},{get(t,e){if(Gg(String(e))&&!Kg(String(e)))return;let r=globalThis,n;return r.process?n=r.process.env[e]:n=r[e],n}});Tr.environment=gA});var up=_(kn=>{"use strict";Object.defineProperty(kn,"__esModule",{value:!0});kn.externalServiceHandler=kn.externalServiceTunnelConfig=void 0;var bA=kr(),Wr=k(),_A=lp(),Ki=ie(),_t=(0,bA.debug)("zuplo:runtime:external-service");function zg(){let t,{__ZUPLO_EXTERNAL_SERVICE_TOKEN:e}=Ki.Environment.instance.runtime;if(e&&e!=="undefined")try{let r=atob(e);t=JSON.parse(r)}catch{}return t}o(zg,"getServiceAuth");async function EA(t){let e=zg();if(!e)throw _t("There is no external service auth configured for this zup."),new Wr.RuntimeError("There are no external services configured for this zup.");if(typeof t!="string")throw _t("Cannot call external service with Request object"),new Wr.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(Ki.Environment.instance.useSha256ServiceRouting){_t("Using sha256 service routing");let a=Ki.Environment.instance.build;if(a.ACCOUNT_NAME&&a.PROJECT_NAME&&a.ENVIRONMENT_TYPE)s=`https://${await Wg(n,a.ACCOUNT_NAME,a.PROJECT_NAME,a.ENVIRONMENT_TYPE)}.zuptunnel.com`;else throw _t("Cannot use sha256 service routing, missing build variables"),new Wr.RuntimeError("Failed to generate fully qualified tunnel url.")}else s=`https://${n}.zuptunnel.com`;return{serviceBaseUrl:s,tunnelHeaders:i}}o(EA,"externalServiceTunnelConfig");kn.externalServiceTunnelConfig=EA;async function wA(t,e){let r=zg();if(r)if(_t(`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(Ki.Environment.instance.useSha256ServiceRouting){_t("Using sha256 service routing");let d=Ki.Environment.instance.build;if(d.ACCOUNT_NAME&&d.PROJECT_NAME&&d.ENVIRONMENT_TYPE)c=`https://${await Wg(i,d.ACCOUNT_NAME,d.PROJECT_NAME,d.ENVIRONMENT_TYPE)}.zuptunnel.com`;else throw _t("Cannot use sha256 service routing, missing build variables"),new Wr.RuntimeError("Failed to generate fully qualified tunnel url.")}else c=`https://${i}.zuptunnel.com`;let u=new URL(`${c}${n.pathname}${n.search}`);_t(`Calling external service: ${u.toString()}`);let l=await(0,_A.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 Wr.RuntimeError("Could not connect to secure tunnel.");return l}else throw _t("Cannot call external service with Request object"),new Wr.RuntimeError("Currently, we only support fetch(<some_string>, ...).");else throw _t("There is no external service auth configured for this zup."),new Wr.RuntimeError("There are no external services configured for this zup.")}o(wA,"externalServiceHandler");kn.externalServiceHandler=wA;async function Wg(t,e,r,n){let i=t.toLowerCase(),s=e.toLowerCase(),a=r.toLowerCase(),c=vA(n);_t(`Hashing service name: ${s}-${i}.${s}-${a}-${c}`);let u=await Jg(`${s}-${i}`),l=await Jg(`${s}-${a}-${c}`);return`${u}.${l}`}o(Wg,"hashServiceName");async function Jg(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(Jg,"hashSegment");function vA(t){let e=t.toLowerCase();switch(e){case"production":case"preview":return e;default:return"working-copy"}}o(vA,"sanitizeEnvironmentType")});var lp=_(Fn=>{"use strict";Object.defineProperty(Fn,"__esModule",{value:!0});Fn.originalFetch=void 0;var TA=up(),Qg=new Map;Qg.set("service:",TA.externalServiceHandler);Fn.originalFetch=globalThis.fetch;globalThis.fetch=function(t,e){let r=SA(e);if(typeof t=="string"){let n=new URL(t),i=Qg.get(n.protocol);return i?i(t,r):(0,Fn.originalFetch)(t,r)}else return(0,Fn.originalFetch)(t,r)};var SA=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 Xg=_(Hn=>{"use strict";Object.defineProperty(Hn,"__esModule",{value:!0});Hn.Handler=Hn.purgeGatewayCache=void 0;var IA=k(),Zg=Fr(),Yg=ie(),PA=o(()=>{Zg.Gateway.purgeGatewayCache()},"purgeGatewayCache");Hn.purgeGatewayCache=PA;var dp=class{static{o(this,"Handler")}routeLoader;buildEnvironment;runtimeEnvironment;runtimeSettings;serviceProvider;schemaValidations;runtimeInit;constructor(e,r,n,i,s,a,c){this.routeLoader=e,this.buildEnvironment=r,this.runtimeEnvironment=n,this.runtimeSettings=i,this.serviceProvider=s,this.schemaValidations=a,this.runtimeInit=c}requestHandler=async(e,r)=>{Yg.Environment.initialize(this.buildEnvironment,this.runtimeEnvironment);let n;try{n=await Zg.Gateway.initialize(this.routeLoader,this.runtimeSettings,this.serviceProvider,this.schemaValidations,this.runtimeInit)}catch(i){console.error("Error initializing gateway.",i);let s="Error initializing gateway. Check your 'zuplo.runtime.ts' for errors or contact support.";i instanceof IA.ConfigurationError&&(s=i.message);let a={status:500,title:"Gateway Initialization Error",type:"https://httpproblems.com/http-status/500",detail:s,instance:e.url,trace:{timestamp:Date.now(),rayId:e.headers.get("cf-ray")??void 0,buildId:this.buildEnvironment.BUILD_ID},message:Yg.Environment.instance.isDeno?i.message:void 0};return new Response(JSON.stringify(a,null,2),{status:500,headers:{"content-type":"application/json"}})}return n.handleRequest(e,r)}};Hn.Handler=dp});var nb=_(Ue=>{"use strict";Object.defineProperty(Ue,"__esModule",{value:!0});Ue.pathToRegexp=Ue.tokensToRegexp=Ue.regexpToFunction=Ue.match=Ue.tokensToFunction=Ue.compile=Ue.parse=void 0;function AA(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(AA,"lexer");function pp(t,e){e===void 0&&(e={});for(var r=AA(t),n=e.prefixes,i=n===void 0?"./":n,s="[^".concat(qn(e.delimiter||"/#?"),"]+?"),a=[],c=0,u=0,l="",d=o(function(w){if(u<r.length&&r[u].type===w)return r[u++].value},"tryConsume"),p=o(function(w){var T=d(w);if(T!==void 0)return T;var C=r[u],E=C.type,P=C.index;throw new TypeError("Unexpected ".concat(E," at ").concat(P,", expected ").concat(w))},"mustConsume"),f=o(function(){for(var w="",T;T=d("CHAR")||d("ESCAPED_CHAR");)w+=T;return w},"consumeText");u<r.length;){var h=d("CHAR"),m=d("NAME"),b=d("PATTERN");if(m||b){var v=h||"";i.indexOf(v)===-1&&(l+=v,v=""),l&&(a.push(l),l=""),a.push({name:m||c++,prefix:v,suffix:"",pattern:b||s,modifier:d("MODIFIER")||""});continue}var A=h||d("ESCAPED_CHAR");if(A){l+=A;continue}l&&(a.push(l),l="");var g=d("OPEN");if(g){var v=f(),S=d("NAME")||"",O=d("PATTERN")||"",V=f();p("CLOSE"),a.push({name:S||(O?c++:""),pattern:S&&!O?s:O,prefix:v,suffix:V,modifier:d("MODIFIER")||""});continue}p("END")}return a}o(pp,"parse");Ue.parse=pp;function RA(t,e){return eb(pp(t,e),e)}o(RA,"compile");Ue.compile=RA;function eb(t,e){e===void 0&&(e={});var r=fp(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 f=u?u[p.name]:void 0,h=p.modifier==="?"||p.modifier==="*",m=p.modifier==="*"||p.modifier==="+";if(Array.isArray(f)){if(!m)throw new TypeError('Expected "'.concat(p.name,'" to not repeat, but got an array'));if(f.length===0){if(h)continue;throw new TypeError('Expected "'.concat(p.name,'" to not be empty'))}for(var b=0;b<f.length;b++){var v=i(f[b],p);if(a&&!c[d].test(v))throw new TypeError('Expected all "'.concat(p.name,'" to match "').concat(p.pattern,'", but got "').concat(v,'"'));l+=p.prefix+v+p.suffix}continue}if(typeof f=="string"||typeof f=="number"){var v=i(String(f),p);if(a&&!c[d].test(v))throw new TypeError('Expected "'.concat(p.name,'" to match "').concat(p.pattern,'", but got "').concat(v,'"'));l+=p.prefix+v+p.suffix;continue}if(!h){var A=m?"an array":"a string";throw new TypeError('Expected "'.concat(p.name,'" to be ').concat(A))}}return l}}o(eb,"tokensToFunction");Ue.tokensToFunction=eb;function OA(t,e){var r=[],n=hp(t,r,e);return tb(n,r,e)}o(OA,"match");Ue.match=OA;function tb(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(f){if(a[f]===void 0)return"continue";var h=e[f-1];h.modifier==="*"||h.modifier==="+"?l[h.name]=a[f].split(h.prefix+h.suffix).map(function(m){return i(m,h)}):l[h.name]=i(a[f],h)},"_loop_1"),p=1;p<a.length;p++)d(p);return{path:c,index:u,params:l}}}o(tb,"regexpToFunction");Ue.regexpToFunction=tb;function qn(t){return t.replace(/([.+*?=^!:${}()[\]|/\\])/g,"\\$1")}o(qn,"escapeString");function fp(t){return t&&t.sensitive?"":"i"}o(fp,"flags");function NA(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(NA,"regexpToRegexp");function CA(t,e,r){var n=t.map(function(i){return hp(i,e,r).source});return new RegExp("(?:".concat(n.join("|"),")"),fp(r))}o(CA,"arrayToRegexp");function xA(t,e,r){return rb(pp(t,r),e,r)}o(xA,"stringToRegexp");function rb(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(P){return P}:l,p=r.delimiter,f=p===void 0?"/#?":p,h=r.endsWith,m=h===void 0?"":h,b="[".concat(qn(m),"]|$"),v="[".concat(qn(f),"]"),A=a?"^":"",g=0,S=t;g<S.length;g++){var O=S[g];if(typeof O=="string")A+=qn(d(O));else{var V=qn(d(O.prefix)),w=qn(d(O.suffix));if(O.pattern)if(e&&e.push(O),V||w)if(O.modifier==="+"||O.modifier==="*"){var T=O.modifier==="*"?"?":"";A+="(?:".concat(V,"((?:").concat(O.pattern,")(?:").concat(w).concat(V,"(?:").concat(O.pattern,"))*)").concat(w,")").concat(T)}else A+="(?:".concat(V,"(").concat(O.pattern,")").concat(w,")").concat(O.modifier);else O.modifier==="+"||O.modifier==="*"?A+="((?:".concat(O.pattern,")").concat(O.modifier,")"):A+="(".concat(O.pattern,")").concat(O.modifier);else A+="(?:".concat(V).concat(w,")").concat(O.modifier)}}if(u)i||(A+="".concat(v,"?")),A+=r.endsWith?"(?=".concat(b,")"):"$";else{var C=t[t.length-1],E=typeof C=="string"?v.indexOf(C[C.length-1])>-1:C===void 0;i||(A+="(?:".concat(v,"(?=").concat(b,"))?")),E||(A+="(?=".concat(v,"|").concat(b,")"))}return new RegExp(A,fp(r))}o(rb,"tokensToRegexp");Ue.tokensToRegexp=rb;function hp(t,e,r){return t instanceof RegExp?NA(t,e):Array.isArray(t)?CA(t,e,r):xA(t,e,r)}o(hp,"pathToRegexp");Ue.pathToRegexp=hp});var bp=_($n=>{"use strict";Object.defineProperty($n,"__esModule",{value:!0});$n.AwsV4Signer=$n.AwsClient=void 0;var LA=kr(),ab=k(),DA=(0,LA.debug)("zuplo:runtime"),yp=new TextEncoder,ib={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"},MA=["authorization","content-type","content-length","user-agent","presigned-expires","expect","x-amzn-trace-id","range","connection"],gp=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 ma(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){DA("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 ab.ConfigurationError("An unknown error occurred, ensure retries is not negative")}};$n.AwsClient=gp;var ma=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:f,appendSessionToken:h,allHeaders:m,singleEncode:b}){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 v,A;(!u||!l)&&([v,A]=UA(this.url,this.headers)),this.service=u||v||"",this.region=l||A||"us-east-1",this.cache=d||new Map,this.datetime=p||new Date().toISOString().replace(/[:-]|\.\d{3}/g,""),this.signQuery=f,this.appendSessionToken=h||this.service==="iotdevicegateway",this.headers.delete("Host");let g=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"),g.set("X-Amz-Date",this.datetime),this.sessionToken&&!this.appendSessionToken&&g.set("X-Amz-Security-Token",this.sessionToken),this.signableHeaders=["host",...this.headers.keys()].filter(O=>m||!MA.includes(O)).sort(),this.signedHeaders=this.signableHeaders.join(";"),this.canonicalHeaders=this.signableHeaders.map(O=>O+":"+(O==="host"?this.url.host:(this.headers.get(O)||"").replace(/\s+/g," "))).join(`
60
60
  `),this.credentialString=[this.datetime.slice(0,8),this.region,this.service,"aws4_request"].join("/"),this.signQuery&&(this.service==="s3"&&!g.has("X-Amz-Expires")&&g.set("X-Amz-Expires","86400"),g.set("X-Amz-Algorithm","AWS4-HMAC-SHA256"),g.set("X-Amz-Credential",this.accessKeyId+"/"+this.credentialString),g.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,"/");b||(this.encodedPath=encodeURIComponent(this.encodedPath).replace(/%2F/g,"/")),this.encodedPath=sb(this.encodedPath);let S=new Set;this.encodedSearch=[...this.url.searchParams].filter(([O])=>{if(!O)return!1;if(this.service==="s3"){if(S.has(O))return!1;S.add(O)}return!0}).map(O=>O.map(V=>sb(encodeURIComponent(V)))).sort(([O,V],[w,T])=>O<w?-1:O>w?1:V<T?-1:V>T?1:0).map(O=>O.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 Ji("AWS4"+this.secretAccessKey,e),s=await Ji(i,this.region),a=await Ji(s,this.service);n=await Ji(a,"aws4_request"),this.cache.set(r,n)}return mp(await Ji(n,await this.stringToSign()))}async stringToSign(){return["AWS4-HMAC-SHA256",this.datetime,this.credentialString,mp(await ob(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
- `)}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 ab.RuntimeError("body must be a string, ArrayBuffer or ArrayBufferView, unless you include the X-Amz-Content-Sha256 header");e=mp(await ob(this.body||""))}return e}};$n.AwsV4Signer=ma;async function Ji(t,e){let r=await crypto.subtle.importKey("raw",typeof t=="string"?yp.encode(t):t,{name:"HMAC",hash:{name:"SHA-256"}},!1,["sign"]);return crypto.subtle.sign("HMAC",r,yp.encode(e))}o(Ji,"hmac");async function ob(t){return crypto.subtle.digest("SHA-256",typeof t=="string"?yp.encode(t):t)}o(ob,"hash");function mp(t){return Array.prototype.map.call(new Uint8Array(t),e=>("0"+e.toString(16)).slice(-2)).join("")}o(mp,"buf2hex");function sb(t){return t.replace(/[!'()*]/g,e=>"%"+e.charCodeAt(0).toString(16).toUpperCase())}o(sb,"encodeRfc3986");function MA(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 ib?[ib[s],a]:[s,a]}o(MA,"guessServiceRegion")});var cb=_(kt=>{"use strict";Object.defineProperty(kt,"__esModule",{value:!0});kt.convertStringToUtf8Array=kt.convertUtf8ArrayToString=kt.base64Encode=kt.base64Decode=void 0;function UA(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(UA,"b64ToUint6");function kA(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|=UA(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(kA,"base64Decode");kt.base64Decode=kA;function ya(t){return t<26?t+65:t<52?t+71:t<62?t-4:t===62?43:t===63?47:65}o(ya,"uint6ToB64");function FA(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(ya(i>>>18&63),ya(i>>>12&63),ya(i>>>6&63),ya(i&63)),i=0);return r.substring(0,r.length-2+e)+(e===2?"":e===1?"=":"==")}o(FA,"base64Encode");kt.base64Encode=FA;function HA(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(HA,"convertUtf8ArrayToString");kt.convertUtf8ArrayToString=HA;function qA(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(qA,"convertStringToUtf8Array");kt.convertStringToUtf8Array=qA});var ub=_(ga=>{"use strict";Object.defineProperty(ga,"__esModule",{value:!0});ga.toCLFDate=void 0;function jn(t){let e=t.toString();return`${e.length===1?"0":""}${e}`}o(jn,"numberToString");function $A(t){let e=t.getTimezoneOffset(),r=Math.abs(e),n=e>0?"-":"+",i=jn(Math.floor(r/60)),s=jn(r%60);return`${n}${i}${s}`}o($A,"getCLFOffset");function jA(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=jn(t.getDate()),n=e[t.getMonth()],i=t.getFullYear(),s=jn(t.getHours()),a=jn(t.getMinutes()),c=jn(t.getSeconds()),u=$A(t);return`${r}/${n}/${i}:${s}:${a}:${c} ${u}`}o(jA,"toCLFDate");ga.toCLFDate=jA});var yb=_(Sr=>{"use strict";Object.defineProperty(Sr,"__esModule",{value:!0});Sr.getResponse=Sr.awsLambdaHandler=Sr.AwsLambdaHandlerExtensions=void 0;var VA=kr(),lb=nb(),zi=k(),BA=Gt(),GA=bp(),pb=cb(),fb=ub(),db=(0,VA.debug)("zuplo:runtime"),KA="X-Amzn-Trace-Id",JA="x-amzn-errortype",hb=[],zA=o(async(t,e,r)=>{let n=r;for await(let i of hb)n=await i(t,e,r);return n},"onSendingAwsLambdaEvent"),Xe=class extends zi.RuntimeError{static{o(this,"AwsLambdaError")}traceId;errorType;constructor(e,r){super(`Failed to invoke AWS Lambda function. ${e}`),this.traceId=r.get(KA)??void 0,this.errorType=r.get(JA)??void 0}};Sr.AwsLambdaHandlerExtensions={addSendingAwsLambdaEventHook:t=>{hb.push(t)}};async function WA(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 zi.ConfigurationError("awsAccessKeyId is not set in the handler options");if(!n)throw new zi.ConfigurationError("secretAccessKey is not set in the handler options");if(!i)throw new zi.ConfigurationError("region is not set in the handler options");if(!s)throw new zi.ConfigurationError("functionName is not set in the handler options");let l=new GA.AwsClient({accessKeyId:r,secretAccessKey:n}),d=`https://lambda.${i}.amazonaws.com/2015-03-31/functions/${s}/invocations`;if(db(`AWS Lambda URL: ${d}`),!a)return l.fetch(d,{body:await t.arrayBuffer()});let[p,f]=await ZA(t,{binaryMediaTypes:u}),{options:h}=e.route.handler,m;h&&typeof h=="object"&&"payloadFormatVersion"in h&&h.payloadFormatVersion==="2.0"?m=YA(t,e):m=await QA(t,e,{useAwsResourcePathStyle:c}),db("Calling onSendingAwsLambdaEvent hook");let b=await zA(t,e,m);b.body=p,b.isBase64Encoded=f;let v=await l.fetch(d,{body:JSON.stringify(b)});try{return mb(v)}catch(A){if(A instanceof Xe){let g=h&&typeof h=="object"&&"returnAmazonTraceIdHeader"in h&&h.returnAmazonTraceIdHeader&&A.traceId?{AMZN_TRACE_ID_HEADER:A.traceId}:void 0;return BA.HttpProblems.internalServerError(t,e,void 0,g)}throw A}}o(WA,"awsLambdaHandler");Sr.awsLambdaHandler=WA;async function mb(t){let e;try{e=await t.json()}catch{throw new Xe("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 Xe(e.message,t.headers):new Xe(`Status: ${t.statusText}`,t.headers);if(e&&typeof e=="object"&&"errorMessage"in e&&typeof e.errorMessage=="string")throw new Xe(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 Xe(`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 Xe(`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 Xe(`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 Xe("Response was set to base64 encoded but no body was set",t.headers);if(typeof e.body!="string")throw new Xe("Response was set to base64 encoded but body was not a string",t.headers);n=(0,pb.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 Xe(`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(mb,"getResponse");Sr.getResponse=mb;async function QA(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,fb.toCLFDate)(),requestTimeEpoch:new Date().valueOf(),resourceId:e.route.operationId??null,resourcePath:e0(e.route.path,r),stage:null},pathParameters:t.params,stageVariables:null}}o(QA,"buildEventVersion1");function YA(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,fb.toCLFDate)(),timeEpoch:new Date().valueOf()},pathParameters:t.params,stageVariables:null}}o(YA,"buildEventVersion2");async function ZA(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&&XA(e,i)){let s=await t.arrayBuffer();r=(0,pb.base64Encode)(new Uint8Array(s)),n=!0}else r=await t.clone().text();return[r,n]}o(ZA,"getBodyResult");function XA(t,e){let r=e.split(";")[0].trim().toLowerCase();return t.findIndex(n=>n==="*/*"?!0:n.toLowerCase()===r)>-1}o(XA,"matchesContentType");function e0(t,e=!1){if(!e)return t;let r=(0,lb.parse)(t),n=(0,lb.compile)(t),i={};return r.forEach(s=>{typeof s=="string"?i[s]=`{${s}}`:i[s.name]=`{${s.name}}`}),n(i)}o(e0,"getResourcePath")});var Bn=_(Vn=>{"use strict";Object.defineProperty(Vn,"__esModule",{value:!0});Vn.getHandlerUserLogFunction=Vn.logBadGatewayResponses=void 0;var t0=Ze(),r0=ie(),n0=[502,503,504];async function i0(t,e){if(n0.includes(t.status)){let r=t0.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(i0,"logBadGatewayResponses");Vn.logBadGatewayResponses=i0;var _p;function o0(t){if(_p===void 0){let r=r0.Environment.instance.runtime.ZUPLO_HANDLER_WRITE_LOG_LEVEL;["debug","info","warn","error"].includes(r??"")||(r="debug"),_p=r}return t.log[_p]}o(o0,"getHandlerUserLogFunction");Vn.getHandlerUserLogFunction=o0});var bb=_(ba=>{"use strict";Object.defineProperty(ba,"__esModule",{value:!0});ba.openApiSpecHandler=void 0;var gb=k(),s0=pe(),Ep=ie(),a0=Bn();async function c0(t,e){let r=Ep.Environment.instance.build.BUILD_ID,{buildAssetsUrl:n}=Ep.Environment.instance,i=e.route.handler.options,{openApiFilePath:s}=i;if(!s)throw new gb.ConfigurationError("Open API Spec Handler must have 'openApiFilePath' specified");let a=u0(s);if(!a.isValid)throw new gb.ConfigurationError(a.error);let c;Ep.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 s0.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,a0.logBadGatewayResponses)(l,e),l}o(c0,"openApiSpecHandler");ba.openApiSpecHandler=c0;var u0=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 _b=_(_a=>{"use strict";Object.defineProperty(_a,"__esModule",{value:!0});_a.redirectHandler=void 0;var l0=k();async function d0(t,e){let r=e.route.handler.options;if(!r.location)throw new l0.ConfigurationError("Redirect Handler must have 'location' specified");let n=r.status??302;return new Response(null,{status:n,headers:{location:r.location}})}o(d0,"redirectHandler");_a.redirectHandler=d0});var wb=_(Ea=>{"use strict";Object.defineProperty(Ea,"__esModule",{value:!0});Ea.urlForwardHandler=void 0;var p0=k(),Eb=Bn();function f0(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(f0,"join");async function h0(t,e){let r=(0,Eb.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 p0.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=f0(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}),f=Date.now()-d;return r(`URL Forward received response ${p.status} - ${p.statusText} in ${f}ms`),(0,Eb.logBadGatewayResponses)(p,e),p}o(h0,"urlForwardHandler");Ea.urlForwardHandler=h0});var Tb=_(wa=>{"use strict";Object.defineProperty(wa,"__esModule",{value:!0});wa.urlRewriteHandler=void 0;var m0=k(),vb=Bn(),y0=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 g0(t,e){let r=(0,vb.getHandlerUserLogFunction)(e),n=e.route.handler.options,i=n.forwardSearch!==!1,s=n.followRedirects??!1;if(!n||typeof n.__rewriteFunction!="function")throw new m0.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?y0(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,vb.logBadGatewayResponses)(d,e),d}o(g0,"urlRewriteHandler");wa.urlRewriteHandler=g0});var Ib=_(va=>{"use strict";Object.defineProperty(va,"__esModule",{value:!0});va.webSocketHandler=void 0;var Sb=k(),b0=up(),_0=Gt(),E0=ie(),w0=Bn();async function v0(t,e){let r=E0.Environment.instance,n=e.route.handler.options,i=(0,w0.getHandlerUserLogFunction)(e);if(!n||!n.rewritePattern)throw new Sb.ConfigurationError("WebSocket Handler must have option 'rewritePattern' specified");let s=t.headers.get("Upgrade");if(!s||s!=="websocket")return _0.HttpProblems.badRequest(t,e,{detail:"Request must include header 'Upgrade: websocket'"});if(!n||typeof n.__rewriteFunction!="function")throw new Sb.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 h=await(0,b0.externalServiceTunnelConfig)(c),m=new URL(c);c=new URL(`${h.serviceBaseUrl}${m.pathname}${m.search}`).toString();for(let v in h.tunnelHeaders)p.set(v,h.tunnelHeaders[v])}c=c.replace(/^(http)/,"ws");try{if(p.get("Authorization")){let h=p.get("Authorization")?.replace("Bearer ","");c+=`?apiKey=${h}`}}catch{}let f=JSON.stringify({url:c});return new Response(f,{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(),f=`WebSocket connection error - ${l.status}: ${l.statusText}, content: '${p}'`;throw new Error(f)}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(v0,"webSocketHandler");va.webSocketHandler=v0});var Pb=_(Gn=>{"use strict";Object.defineProperty(Gn,"__esModule",{value:!0});Gn.webSocketPolicyProcessor=Gn.getWebSocketPolicyFunctions=void 0;var T0=k(),S0=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 T0.ConfigurationError(`${a} - Websocket policy must be a valid function (${c})`)}return s}),"getWebSocketPolicyFunctions");Gn.getWebSocketPolicyFunctions=S0;var I0=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");Gn.webSocketPolicyProcessor=I0});var Rb=_(Ta=>{"use strict";Object.defineProperty(Ta,"__esModule",{value:!0});Ta.webSocketPipelineHandler=void 0;var wp=k(),P0=Gt(),A0=ie(),R0=Bn(),vp=Pb();function Ab(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{let c=o(async u=>{let l=await(0,vp.webSocketPolicyProcessor)(u,t,e,r,n,i);l!==void 0&&e.send(l)},"innerPipeline")(s).catch(n.log.error);n.waitUntil(c)}catch(a){n.log.error(a)}})}o(Ab,"wireUpListeners");async function O0(t,e){let r=A0.Environment.instance,n=e.route.handler.options,i=(0,R0.getHandlerUserLogFunction)(e);if(!n||!n.rewritePattern)throw new wp.ConfigurationError("WebSocket Pipeline Handler must have option 'rewritePattern' specified");let s=t.headers.get("Upgrade");if(!s||s!=="websocket")return P0.HttpProblems.badRequest(t,e,{detail:"Request must include header 'Upgrade: websocket'"});if(!n||typeof n.__rewriteFunction!="function")throw new wp.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 wp.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 A=await l.text(),g=`WebSocket connection error - ${l.status}: ${l.statusText}, content: '${A}'`;throw new Error(g)}let d=new WebSocketPair,[p,f]=Object.values(d),h=Date.now()-u;i(`WebSocket connected, received response ${l.status} - ${l.statusText} in ${h}ms`);let m=l.webSocket;m.accept(),f.accept();let b=n.policies&&n.policies.inbound?(0,vp.getWebSocketPolicyFunctions)(n.policies.inbound,"inbound"):[],v=n.policies&&n.policies.outbound?(0,vp.getWebSocketPolicyFunctions)(n.policies.outbound,"outbound"):[];return Ab(f,m,t,e,b),Ab(m,f,t,e,v),new Response(null,{status:101,webSocket:p})}o(O0,"webSocketPipelineHandler");Ta.webSocketPipelineHandler=O0});var Ob=_(Sa=>{"use strict";Object.defineProperty(Sa,"__esModule",{value:!0});Sa.DynaTraceLoggingPlugin=void 0;var N0=Ne(),Tp=ie(),C0=Br(),x0=Jt(),L0=Nt(),Sp=class extends x0.LogPlugin{static{o(this,"DynaTraceLoggingPlugin")}options;constructor(e){super(),this.options=e}getTransport(){return new Ip(this.options)}};Sa.DynaTraceLoggingPlugin=Sp;var Ip=class{static{o(this,"DynaTraceTransport")}constructor(e){this.#e=e.url,this.#t=e.apiToken,this.#n=Tp.Environment.instance.loggingEnvironmentType,this.#i=Tp.Environment.instance.loggingEnvironmentStage,this.#r=Tp.Environment.instance.deploymentName}#e;#t;#r;#n;#i;log(e,r){e.messages.forEach(n=>{let i={timestamp:new Date().toISOString(),message:(0,L0.stringifyNonString)((0,C0.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 N0.BatchDispatch("dyna-trace-log-transport",10,this.#o)}});var Nb=_(Ia=>{"use strict";Object.defineProperty(Ia,"__esModule",{value:!0});Ia.LokiLoggingPlugin=void 0;var D0=Ne(),Pp=ie(),M0=Br(),U0=Jt(),k0=Nt(),Ap=class extends U0.LogPlugin{static{o(this,"LokiLoggingPlugin")}options;constructor(e){super(),this.options=e}getTransport(){return new Op(this.options)}};Ia.LokiLoggingPlugin=Ap;var Rp=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 F0(t,e){return btoa(`${t}:${e}`)}o(F0,"createBasicDigest");var Op=class{static{o(this,"LokiTransport")}constructor(e){this.#e=e.url,this.#t=F0(e.username,e.password),this.#n=Pp.Environment.instance.loggingEnvironmentType,this.#i=Pp.Environment.instance.loggingEnvironmentStage,this.#r=Pp.Environment.instance.deploymentName}#e;#t;#r;#n;#i;log(e,r){let n=new Rp(e.level,this.#r,this.#n,this.#i,e.requestId);e.messages.forEach(i=>{let s={stream:n,message:(0,k0.stringifyNonString)((0,M0.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 D0.BatchDispatch("loki-log-transport",10,this.#s)}});var Cb=_(Pa=>{"use strict";Object.defineProperty(Pa,"__esModule",{value:!0});Pa.SumoLogicLoggingPlugin=void 0;var H0=Ne(),Np=ie(),q0=Br(),$0=Jt(),j0=Nt(),Cp=class extends $0.LogPlugin{static{o(this,"SumoLogicLoggingPlugin")}options;constructor(e){super(),this.options=e}getTransport(){return new xp(this.options)}};Pa.SumoLogicLoggingPlugin=Cp;var xp=class{static{o(this,"SumoLogicTransport")}constructor(e){this.#e=e.url,this.#i=e.category,this.#o=e.name,this.#r=Np.Environment.instance.loggingEnvironmentType,this.#n=Np.Environment.instance.loggingEnvironmentStage,this.#t=Np.Environment.instance.deploymentName}#e;#t;#r;#n;#i;#o;log(e,r){e.messages.forEach(n=>{let i={timestamp:new Date().toISOString(),message:(0,j0.stringifyNonString)((0,q0.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
- `),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 H0.BatchDispatch("sumo-logic-log-transport",10,this.#s)}});var Lb=_(Kn=>{"use strict";Object.defineProperty(Kn,"__esModule",{value:!0});Kn.VMWareLogInsightTransport=Kn.VMWareLogInsightLoggingPlugin=void 0;var V0=k(),B0=Ne(),Lp=ie(),G0=Jt(),xb=Nt(),K0="d3a5b78f823648f5b1df4fe269d41172",Dp=class extends G0.LogPlugin{static{o(this,"VMWareLogInsightLoggingPlugin")}options;constructor(e){super(),this.options=e}getTransport(){return new Aa(this.options)}};Kn.VMWareLogInsightLoggingPlugin=Dp;var Aa=class{static{o(this,"VMWareLogInsightTransport")}constructor(e){let r;try{r=new URL(e.url),r.pathname==="/"&&(r.pathname=`/api/v1/events/ingest/${e.agentId??K0}`)}catch{throw new V0.ConfigurationError(`Invalid option 'url' on 'VMWareLogInsightTransport' plugin. Must be a valid URL, received '${e.url}'`)}this.#e=r.origin,this.#n=Lp.Environment.instance.loggingEnvironmentType,this.#i=Lp.Environment.instance.loggingEnvironmentStage,this.#r=Lp.Environment.instance.deploymentName,this.#o=e.onMessageSending,this.#t=e.textReplacements,e.fields&&(this.#s=Object.entries(e.fields).map(([n,i])=>({name:n,content:i})))}#e;#t;#r;#n;#i;#o;#s;log(e,r){let n=this.buildEntry(e,r);this.batcher.enqueue(n),r.waitUntil(this.batcher.waitUntilFlushed())}buildEntry(e,r){let n=(0,xb.messagesToMultilineText)(e.messages);this.#t?.forEach(s=>{n=n.replaceAll(s[0],s[1])});let i={timestamp:Date.now(),text:n,fields:[{name:"severity",content:e.level.toUpperCase()},{name:"request_id",content:e.requestId},{name:"environment_type",content:this.#n},{name:"environment_stage",content:this.#i},{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.#r&&i.fields.push({name:"environment",content:this.#r}),this.#s&&i.fields.push(...this.#s),r.custom&&Object.entries(r.custom).forEach(([s,a])=>{let c=(0,xb.stringifyNonStringToText)(a);c&&i.fields.push({name:s,content:c})}),this.#o&&(i=this.#o(i)),i}#a=async e=>{if(e.length===0)return;let r=await fetch(this.#e,{method:"POST",body:JSON.stringify({events: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 B0.BatchDispatch("vmware-log-insights-log-transport",10,this.#a)};Kn.VMWareLogInsightTransport=Aa});var Mb=_(Jn=>{"use strict";Object.defineProperty(Jn,"__esModule",{value:!0});Jn.AWSLogTransport=Jn.AWSLoggingPlugin=void 0;var J0=bp(),z0=Ne(),Db=ie(),W0=Br(),Q0=Jt(),Y0=Nt(),Mp=class extends Q0.LogPlugin{static{o(this,"AWSLoggingPlugin")}options;constructor(e){super(),this.options=e}getTransport(){return new Ra(this.options)}};Jn.AWSLoggingPlugin=Mp;var Ra=class{static{o(this,"AWSLogTransport")}awsClient;environment;environmentType;logGroupName;logStreamName;region;batcher=new z0.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 J0.AwsClient({accessKeyId:e,secretAccessKey:i,service:"logs",region:s}),this.logGroupName=n,this.logStreamName=r,this.region=s,this.environmentType=Db.Environment.instance.loggingEnvironmentType,this.environment=Db.Environment.instance.deploymentName}log(e,r){e.messages.forEach(n=>{let i={timestamp:new Date().getTime(),message:JSON.stringify({data:(0,Y0.stringifyNonString)((0,W0.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())}};Jn.AWSLogTransport=Ra});var Ub=_(ke=>{"use strict";Object.defineProperty(ke,"__esModule",{value:!0});ke.AWSLoggingPlugin=ke.VMWareLogInsightLoggingPlugin=ke.SumoLogicLoggingPlugin=ke.LokiLoggingPlugin=ke.GoogleCloudLoggingPlugin=ke.DynaTraceLoggingPlugin=ke.DataDogLoggingPlugin=void 0;var Z0=Bd();Object.defineProperty(ke,"DataDogLoggingPlugin",{enumerable:!0,get:function(){return Z0.DataDogLoggingPlugin}});var X0=Ob();Object.defineProperty(ke,"DynaTraceLoggingPlugin",{enumerable:!0,get:function(){return X0.DynaTraceLoggingPlugin}});var eR=Xs();Object.defineProperty(ke,"GoogleCloudLoggingPlugin",{enumerable:!0,get:function(){return eR.GoogleCloudLoggingPlugin}});var tR=Nb();Object.defineProperty(ke,"LokiLoggingPlugin",{enumerable:!0,get:function(){return tR.LokiLoggingPlugin}});var rR=Cb();Object.defineProperty(ke,"SumoLogicLoggingPlugin",{enumerable:!0,get:function(){return rR.SumoLogicLoggingPlugin}});var nR=Lb();Object.defineProperty(ke,"VMWareLogInsightLoggingPlugin",{enumerable:!0,get:function(){return nR.VMWareLogInsightLoggingPlugin}});var iR=Mb();Object.defineProperty(ke,"AWSLoggingPlugin",{enumerable:!0,get:function(){return iR.AWSLoggingPlugin}})});var kb=_(Ir=>{"use strict";Object.defineProperty(Ir,"__esModule",{value:!0});Ir.DataDogMetricsError=Ir.DataDogMetricsTransport=Ir.DataDogMetricsPlugin=void 0;var oR=Ze(),sR=Ne(),aR=zo(),Up=new WeakMap,cR={tags:[]},kp=class extends aR.MetricsPlugin{static{o(this,"DataDogMetricsPlugin")}options;constructor(e){super(),this.options=e}getTransport(){return new Oa(this.options)}static setContext(e,r){let n=Up.get(e);n||(n=cR);let i=Object.assign({...n},r);Up.set(e,i)}};Ir.DataDogMetricsPlugin=kp;var Oa=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 sR.BatchDispatch("data-dog-metrics-transport",10,this.dispatchFunction,oR.SystemLogMap.getLogger(r)));let n=Math.floor(e.timestamp.getTime()/1e3),i=this.#n.concat(Up.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 Na(await n.text())}};Ir.DataDogMetricsTransport=Oa;var Na=class t extends Error{static{o(this,"DataDogMetricsError")}constructor(e){super(e),Object.setPrototypeOf(this,t.prototype)}};Ir.DataDogMetricsError=Na});var Fb=_(Pr=>{"use strict";Object.defineProperty(Pr,"__esModule",{value:!0});Pr.DynaTraceMetricsError=Pr.DynaTraceMetricsTransport=Pr.DynatraceMetricsPlugin=void 0;var uR=Ze(),lR=Ne(),dR=zo(),Fp=new WeakMap,pR={dimensions:[]},Hp=class extends dR.MetricsPlugin{static{o(this,"DynatraceMetricsPlugin")}options;constructor(e){super(),this.options=e}getTransport(){return new Ca(this.options)}static setContext(e,r){let n=Fp.get(e);n||(n=pR);let i=Object.assign({...n},r);Fp.set(e,i)}};Pr.DynatraceMetricsPlugin=Hp;var Ca=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 lR.BatchDispatch("dynatrace-metrics-transport",10,this.dispatchFunction,uR.SystemLogMap.getLogger(r)));let n=Math.floor(e.timestamp.getTime()),i=this.dimensions.concat(Fp.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 xa(await n.text())}};Pr.DynaTraceMetricsTransport=Ca;var xa=class t extends Error{static{o(this,"DynaTraceMetricsError")}constructor(e){super(e),Object.setPrototypeOf(this,t.prototype)}};Pr.DynaTraceMetricsError=xa});var Hb=_(zn=>{"use strict";Object.defineProperty(zn,"__esModule",{value:!0});zn.DynatraceMetricsPlugin=zn.DataDogMetricsPlugin=void 0;var fR=kb();Object.defineProperty(zn,"DataDogMetricsPlugin",{enumerable:!0,get:function(){return fR.DataDogMetricsPlugin}});var hR=Fb();Object.defineProperty(zn,"DynatraceMetricsPlugin",{enumerable:!0,get:function(){return hR.DynatraceMetricsPlugin}})});var qb=_(La=>{"use strict";Object.defineProperty(La,"__esModule",{value:!0});La.AuditLogDataStaxProvider=void 0;var qp=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)})}))}};La.AuditLogDataStaxProvider=qp});var jb=_(Da=>{"use strict";Object.defineProperty(Da,"__esModule",{value:!0});Da.AuditLogPlugin=void 0;var mR=Rt(),yR=Ne(),$p=class extends mR.SystemRuntimePlugin{static{o(this,"AuditLogPlugin")}constructor(e,r){super(),this.#e=e,this.#t=r}#e;#t;async initialize(e){new jp(e,this.#e,this.#t)}};Da.AuditLogPlugin=$p;var $b=o(t=>{let e={};return t.forEach((r,n)=>{e[n]=r}),e},"serializableHeaders"),gR={requestFilter:async()=>!0,include:{request:{headers:!0,body:!0},response:{headers:!0,body:!0}}},jp=class{static{o(this,"AuditPluginImpl")}constructor(e,r,n){this.#t=r;let i={...gR};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 yR.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?$b(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?$b(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(f=>{r.log.error(f)});r.waitUntil(p)}),e}catch(n){return r.log.error(n),e}}}});var Vb=_(Wn=>{"use strict";Object.defineProperty(Wn,"__esModule",{value:!0});Wn.StripeSignatureVerificationError=Wn.StripeError=void 0;var Ma=class extends Error{static{o(this,"StripeError")}message;type;raw;rawType;headers;requestId;code;doc_url;param;detail;statusCode;charge;decline_code;payment_method_type;payment_intent;payment_method;setup_intent;source;constructor(e={}){super(e.message),this.type=this.constructor.name,this.raw=e,this.rawType=e.type,this.code=e.code,this.doc_url=e.doc_url,this.param=e.param,this.detail=e.detail,this.headers=e.headers,this.requestId=e.requestId,this.statusCode=e.statusCode,this.message=e.message,this.charge=e.charge,this.decline_code=e.decline_code,this.payment_intent=e.payment_intent,this.payment_method=e.payment_method,this.payment_method_type=e.payment_method_type,this.setup_intent=e.setup_intent,this.source=e.source}};Wn.StripeError=Ma;var Vp=class extends Ma{static{o(this,"StripeSignatureVerificationError")}header;payload;constructor(e,r,n={}){super(n),this.header=e,this.payload=r}};Wn.StripeSignatureVerificationError=Vp});var Gb=_(Qn=>{"use strict";Object.defineProperty(Qn,"__esModule",{value:!0});Qn.computeHMACSignatureAsync=Qn.constructEventAsync=void 0;var Qr=Vb(),bR="v1",_R=300;async function ER(t,e,r,n=_R,i){return await vR(t,e,r,n,i),t instanceof Uint8Array?JSON.parse(new TextDecoder("utf8").decode(t)):JSON.parse(t)}o(ER,"constructEventAsync");Qn.constructEventAsync=ER;function wR(t,e){return`${e.timestamp}.${t}`}o(wR,"makeHMACContent");async function vR(t,e,r,n,i){let{decodedHeader:s,decodedPayload:a,details:c,suspectPayloadType:u}=TR(t,e,bR),l=/\s/.test(r),d=await Bb(wR(a,c),r);return SR(a,s,c,d,n,u,l,i)}o(vR,"verifyHeaderAsync");function TR(t,e,r){if(!t)throw new Qr.StripeSignatureVerificationError(e,t,{message:"No webhook payload was provided."});let n=typeof t!="string"&&!(t instanceof Uint8Array),i=new TextDecoder("utf8"),s=t instanceof Uint8Array?i.decode(t):t;if(Array.isArray(e))throw new Error("Unexpected: An array was passed as a header, which should not be possible for the stripe-signature header.");if(e==null||e=="")throw new Qr.StripeSignatureVerificationError(e,t,{message:"No stripe-signature header value was provided."});let a=e instanceof Uint8Array?i.decode(e):e,c=IR(a,r);if(!c||c.timestamp===-1)throw new Qr.StripeSignatureVerificationError(a,s,{message:"Unable to extract timestamp and signatures from header"});if(!c.signatures.length)throw new Qr.StripeSignatureVerificationError(a,s,{message:"No signatures found with expected scheme"});return{decodedPayload:s,decodedHeader:a,details:c,suspectPayloadType:n}}o(TR,"parseEventDetails");function SR(t,e,r,n,i,s,a,c){let u=!!r.signatures.filter(f=>PR(f,n)).length,l=`
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 ab.RuntimeError("body must be a string, ArrayBuffer or ArrayBufferView, unless you include the X-Amz-Content-Sha256 header");e=mp(await ob(this.body||""))}return e}};$n.AwsV4Signer=ma;async function Ji(t,e){let r=await crypto.subtle.importKey("raw",typeof t=="string"?yp.encode(t):t,{name:"HMAC",hash:{name:"SHA-256"}},!1,["sign"]);return crypto.subtle.sign("HMAC",r,yp.encode(e))}o(Ji,"hmac");async function ob(t){return crypto.subtle.digest("SHA-256",typeof t=="string"?yp.encode(t):t)}o(ob,"hash");function mp(t){return Array.prototype.map.call(new Uint8Array(t),e=>("0"+e.toString(16)).slice(-2)).join("")}o(mp,"buf2hex");function sb(t){return t.replace(/[!'()*]/g,e=>"%"+e.charCodeAt(0).toString(16).toUpperCase())}o(sb,"encodeRfc3986");function UA(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 ib?[ib[s],a]:[s,a]}o(UA,"guessServiceRegion")});var cb=_(kt=>{"use strict";Object.defineProperty(kt,"__esModule",{value:!0});kt.convertStringToUtf8Array=kt.convertUtf8ArrayToString=kt.base64Encode=kt.base64Decode=void 0;function kA(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(kA,"b64ToUint6");function FA(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|=kA(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(FA,"base64Decode");kt.base64Decode=FA;function ya(t){return t<26?t+65:t<52?t+71:t<62?t-4:t===62?43:t===63?47:65}o(ya,"uint6ToB64");function HA(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(ya(i>>>18&63),ya(i>>>12&63),ya(i>>>6&63),ya(i&63)),i=0);return r.substring(0,r.length-2+e)+(e===2?"":e===1?"=":"==")}o(HA,"base64Encode");kt.base64Encode=HA;function qA(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(qA,"convertUtf8ArrayToString");kt.convertUtf8ArrayToString=qA;function $A(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($A,"convertStringToUtf8Array");kt.convertStringToUtf8Array=$A});var ub=_(ga=>{"use strict";Object.defineProperty(ga,"__esModule",{value:!0});ga.toCLFDate=void 0;function jn(t){let e=t.toString();return`${e.length===1?"0":""}${e}`}o(jn,"numberToString");function jA(t){let e=t.getTimezoneOffset(),r=Math.abs(e),n=e>0?"-":"+",i=jn(Math.floor(r/60)),s=jn(r%60);return`${n}${i}${s}`}o(jA,"getCLFOffset");function VA(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=jn(t.getDate()),n=e[t.getMonth()],i=t.getFullYear(),s=jn(t.getHours()),a=jn(t.getMinutes()),c=jn(t.getSeconds()),u=jA(t);return`${r}/${n}/${i}:${s}:${a}:${c} ${u}`}o(VA,"toCLFDate");ga.toCLFDate=VA});var yb=_(Sr=>{"use strict";Object.defineProperty(Sr,"__esModule",{value:!0});Sr.getResponse=Sr.awsLambdaHandler=Sr.AwsLambdaHandlerExtensions=void 0;var BA=kr(),lb=nb(),zi=k(),GA=Gt(),KA=bp(),pb=cb(),fb=ub(),db=(0,BA.debug)("zuplo:runtime"),JA="X-Amzn-Trace-Id",zA="x-amzn-errortype",hb=[],WA=o(async(t,e,r)=>{let n=r;for await(let i of hb)n=await i(t,e,r);return n},"onSendingAwsLambdaEvent"),Xe=class extends zi.RuntimeError{static{o(this,"AwsLambdaError")}traceId;errorType;constructor(e,r){super(`Failed to invoke AWS Lambda function. ${e}`),this.traceId=r.get(JA)??void 0,this.errorType=r.get(zA)??void 0}};Sr.AwsLambdaHandlerExtensions={addSendingAwsLambdaEventHook:t=>{hb.push(t)}};async function QA(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 zi.ConfigurationError("awsAccessKeyId is not set in the handler options");if(!n)throw new zi.ConfigurationError("secretAccessKey is not set in the handler options");if(!i)throw new zi.ConfigurationError("region is not set in the handler options");if(!s)throw new zi.ConfigurationError("functionName is not set in the handler options");let l=new KA.AwsClient({accessKeyId:r,secretAccessKey:n}),d=`https://lambda.${i}.amazonaws.com/2015-03-31/functions/${s}/invocations`;if(db(`AWS Lambda URL: ${d}`),!a)return l.fetch(d,{body:await t.arrayBuffer()});let[p,f]=await XA(t,{binaryMediaTypes:u}),{options:h}=e.route.handler,m;h&&typeof h=="object"&&"payloadFormatVersion"in h&&h.payloadFormatVersion==="2.0"?m=ZA(t,e):m=await YA(t,e,{useAwsResourcePathStyle:c}),db("Calling onSendingAwsLambdaEvent hook");let b=await WA(t,e,m);b.body=p,b.isBase64Encoded=f;let v=await l.fetch(d,{body:JSON.stringify(b)});try{return mb(v)}catch(A){if(A instanceof Xe){let g=h&&typeof h=="object"&&"returnAmazonTraceIdHeader"in h&&h.returnAmazonTraceIdHeader&&A.traceId?{AMZN_TRACE_ID_HEADER:A.traceId}:void 0;return GA.HttpProblems.internalServerError(t,e,void 0,g)}throw A}}o(QA,"awsLambdaHandler");Sr.awsLambdaHandler=QA;async function mb(t){let e;try{e=await t.json()}catch{throw new Xe("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 Xe(e.message,t.headers):new Xe(`Status: ${t.statusText}`,t.headers);if(e&&typeof e=="object"&&"errorMessage"in e&&typeof e.errorMessage=="string")throw new Xe(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 Xe(`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 Xe(`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 Xe(`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 Xe("Response was set to base64 encoded but no body was set",t.headers);if(typeof e.body!="string")throw new Xe("Response was set to base64 encoded but body was not a string",t.headers);n=(0,pb.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 Xe(`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(mb,"getResponse");Sr.getResponse=mb;async function YA(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,fb.toCLFDate)(),requestTimeEpoch:new Date().valueOf(),resourceId:e.route.operationId??null,resourcePath:t0(e.route.path,r),stage:null},pathParameters:t.params,stageVariables:null}}o(YA,"buildEventVersion1");function ZA(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,fb.toCLFDate)(),timeEpoch:new Date().valueOf()},pathParameters:t.params,stageVariables:null}}o(ZA,"buildEventVersion2");async function XA(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&&e0(e,i)){let s=await t.arrayBuffer();r=(0,pb.base64Encode)(new Uint8Array(s)),n=!0}else r=await t.clone().text();return[r,n]}o(XA,"getBodyResult");function e0(t,e){let r=e.split(";")[0].trim().toLowerCase();return t.findIndex(n=>n==="*/*"?!0:n.toLowerCase()===r)>-1}o(e0,"matchesContentType");function t0(t,e=!1){if(!e)return t;let r=(0,lb.parse)(t),n=(0,lb.compile)(t),i={};return r.forEach(s=>{typeof s=="string"?i[s]=`{${s}}`:i[s.name]=`{${s.name}}`}),n(i)}o(t0,"getResourcePath")});var Bn=_(Vn=>{"use strict";Object.defineProperty(Vn,"__esModule",{value:!0});Vn.getHandlerUserLogFunction=Vn.logBadGatewayResponses=void 0;var r0=Ze(),n0=ie(),i0=[502,503,504];async function o0(t,e){if(i0.includes(t.status)){let r=r0.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(o0,"logBadGatewayResponses");Vn.logBadGatewayResponses=o0;var _p;function s0(t){if(_p===void 0){let r=n0.Environment.instance.runtime.ZUPLO_HANDLER_WRITE_LOG_LEVEL;["debug","info","warn","error"].includes(r??"")||(r="debug"),_p=r}return t.log[_p]}o(s0,"getHandlerUserLogFunction");Vn.getHandlerUserLogFunction=s0});var bb=_(ba=>{"use strict";Object.defineProperty(ba,"__esModule",{value:!0});ba.openApiSpecHandler=void 0;var gb=k(),a0=pe(),Ep=ie(),c0=Bn();async function u0(t,e){let r=Ep.Environment.instance.build.BUILD_ID,{buildAssetsUrl:n}=Ep.Environment.instance,i=e.route.handler.options,{openApiFilePath:s}=i;if(!s)throw new gb.ConfigurationError("Open API Spec Handler must have 'openApiFilePath' specified");let a=l0(s);if(!a.isValid)throw new gb.ConfigurationError(a.error);let c;Ep.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 a0.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,c0.logBadGatewayResponses)(l,e),l}o(u0,"openApiSpecHandler");ba.openApiSpecHandler=u0;var l0=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 _b=_(_a=>{"use strict";Object.defineProperty(_a,"__esModule",{value:!0});_a.redirectHandler=void 0;var d0=k();async function p0(t,e){let r=e.route.handler.options;if(!r.location)throw new d0.ConfigurationError("Redirect Handler must have 'location' specified");let n=r.status??302;return new Response(null,{status:n,headers:{location:r.location}})}o(p0,"redirectHandler");_a.redirectHandler=p0});var wb=_(Ea=>{"use strict";Object.defineProperty(Ea,"__esModule",{value:!0});Ea.urlForwardHandler=void 0;var f0=k(),Eb=Bn();function h0(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(h0,"join");async function m0(t,e){let r=(0,Eb.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 f0.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=h0(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}),f=Date.now()-d;return r(`URL Forward received response ${p.status} - ${p.statusText} in ${f}ms`),(0,Eb.logBadGatewayResponses)(p,e),p}o(m0,"urlForwardHandler");Ea.urlForwardHandler=m0});var Tb=_(wa=>{"use strict";Object.defineProperty(wa,"__esModule",{value:!0});wa.urlRewriteHandler=void 0;var y0=k(),vb=Bn(),g0=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 b0(t,e){let r=(0,vb.getHandlerUserLogFunction)(e),n=e.route.handler.options,i=n.forwardSearch!==!1,s=n.followRedirects??!1;if(!n||typeof n.__rewriteFunction!="function")throw new y0.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?g0(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,vb.logBadGatewayResponses)(d,e),d}o(b0,"urlRewriteHandler");wa.urlRewriteHandler=b0});var Ib=_(va=>{"use strict";Object.defineProperty(va,"__esModule",{value:!0});va.webSocketHandler=void 0;var Sb=k(),_0=up(),E0=Gt(),w0=ie(),v0=Bn();async function T0(t,e){let r=w0.Environment.instance,n=e.route.handler.options,i=(0,v0.getHandlerUserLogFunction)(e);if(!n||!n.rewritePattern)throw new Sb.ConfigurationError("WebSocket Handler must have option 'rewritePattern' specified");let s=t.headers.get("Upgrade");if(!s||s!=="websocket")return E0.HttpProblems.badRequest(t,e,{detail:"Request must include header 'Upgrade: websocket'"});if(!n||typeof n.__rewriteFunction!="function")throw new Sb.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 h=await(0,_0.externalServiceTunnelConfig)(c),m=new URL(c);c=new URL(`${h.serviceBaseUrl}${m.pathname}${m.search}`).toString();for(let v in h.tunnelHeaders)p.set(v,h.tunnelHeaders[v])}c=c.replace(/^(http)/,"ws");try{if(p.get("Authorization")){let h=p.get("Authorization")?.replace("Bearer ","");c+=`?apiKey=${h}`}}catch{}let f=JSON.stringify({url:c});return new Response(f,{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(),f=`WebSocket connection error - ${l.status}: ${l.statusText}, content: '${p}'`;throw new Error(f)}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(T0,"webSocketHandler");va.webSocketHandler=T0});var Pb=_(Gn=>{"use strict";Object.defineProperty(Gn,"__esModule",{value:!0});Gn.webSocketPolicyProcessor=Gn.getWebSocketPolicyFunctions=void 0;var S0=k(),I0=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 S0.ConfigurationError(`${a} - Websocket policy must be a valid function (${c})`)}return s}),"getWebSocketPolicyFunctions");Gn.getWebSocketPolicyFunctions=I0;var P0=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");Gn.webSocketPolicyProcessor=P0});var Rb=_(Ta=>{"use strict";Object.defineProperty(Ta,"__esModule",{value:!0});Ta.webSocketPipelineHandler=void 0;var wp=k(),A0=Gt(),R0=ie(),O0=Bn(),vp=Pb();function Ab(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{let c=o(async u=>{let l=await(0,vp.webSocketPolicyProcessor)(u,t,e,r,n,i);l!==void 0&&e.send(l)},"innerPipeline")(s).catch(n.log.error);n.waitUntil(c)}catch(a){n.log.error(a)}})}o(Ab,"wireUpListeners");async function N0(t,e){let r=R0.Environment.instance,n=e.route.handler.options,i=(0,O0.getHandlerUserLogFunction)(e);if(!n||!n.rewritePattern)throw new wp.ConfigurationError("WebSocket Pipeline Handler must have option 'rewritePattern' specified");let s=t.headers.get("Upgrade");if(!s||s!=="websocket")return A0.HttpProblems.badRequest(t,e,{detail:"Request must include header 'Upgrade: websocket'"});if(!n||typeof n.__rewriteFunction!="function")throw new wp.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 wp.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 A=await l.text(),g=`WebSocket connection error - ${l.status}: ${l.statusText}, content: '${A}'`;throw new Error(g)}let d=new WebSocketPair,[p,f]=Object.values(d),h=Date.now()-u;i(`WebSocket connected, received response ${l.status} - ${l.statusText} in ${h}ms`);let m=l.webSocket;m.accept(),f.accept();let b=n.policies&&n.policies.inbound?(0,vp.getWebSocketPolicyFunctions)(n.policies.inbound,"inbound"):[],v=n.policies&&n.policies.outbound?(0,vp.getWebSocketPolicyFunctions)(n.policies.outbound,"outbound"):[];return Ab(f,m,t,e,b),Ab(m,f,t,e,v),new Response(null,{status:101,webSocket:p})}o(N0,"webSocketPipelineHandler");Ta.webSocketPipelineHandler=N0});var Ob=_(Sa=>{"use strict";Object.defineProperty(Sa,"__esModule",{value:!0});Sa.DynaTraceLoggingPlugin=void 0;var C0=Ne(),Tp=ie(),x0=Br(),L0=Jt(),D0=Nt(),Sp=class extends L0.LogPlugin{static{o(this,"DynaTraceLoggingPlugin")}options;constructor(e){super(),this.options=e}getTransport(){return new Ip(this.options)}};Sa.DynaTraceLoggingPlugin=Sp;var Ip=class{static{o(this,"DynaTraceTransport")}constructor(e){this.#e=e.url,this.#t=e.apiToken,this.#n=Tp.Environment.instance.loggingEnvironmentType,this.#i=Tp.Environment.instance.loggingEnvironmentStage,this.#r=Tp.Environment.instance.deploymentName}#e;#t;#r;#n;#i;log(e,r){e.messages.forEach(n=>{let i={timestamp:new Date().toISOString(),message:(0,D0.stringifyNonString)((0,x0.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 C0.BatchDispatch("dyna-trace-log-transport",10,this.#o)}});var Nb=_(Ia=>{"use strict";Object.defineProperty(Ia,"__esModule",{value:!0});Ia.LokiLoggingPlugin=void 0;var M0=Ne(),Pp=ie(),U0=Br(),k0=Jt(),F0=Nt(),Ap=class extends k0.LogPlugin{static{o(this,"LokiLoggingPlugin")}options;constructor(e){super(),this.options=e}getTransport(){return new Op(this.options)}};Ia.LokiLoggingPlugin=Ap;var Rp=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 H0(t,e){return btoa(`${t}:${e}`)}o(H0,"createBasicDigest");var Op=class{static{o(this,"LokiTransport")}constructor(e){this.#e=e.url,this.#t=H0(e.username,e.password),this.#n=Pp.Environment.instance.loggingEnvironmentType,this.#i=Pp.Environment.instance.loggingEnvironmentStage,this.#r=Pp.Environment.instance.deploymentName}#e;#t;#r;#n;#i;log(e,r){let n=new Rp(e.level,this.#r,this.#n,this.#i,e.requestId);e.messages.forEach(i=>{let s={stream:n,message:(0,F0.stringifyNonString)((0,U0.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 M0.BatchDispatch("loki-log-transport",10,this.#s)}});var Cb=_(Pa=>{"use strict";Object.defineProperty(Pa,"__esModule",{value:!0});Pa.SumoLogicLoggingPlugin=void 0;var q0=Ne(),Np=ie(),$0=Br(),j0=Jt(),V0=Nt(),Cp=class extends j0.LogPlugin{static{o(this,"SumoLogicLoggingPlugin")}options;constructor(e){super(),this.options=e}getTransport(){return new xp(this.options)}};Pa.SumoLogicLoggingPlugin=Cp;var xp=class{static{o(this,"SumoLogicTransport")}constructor(e){this.#e=e.url,this.#i=e.category,this.#o=e.name,this.#r=Np.Environment.instance.loggingEnvironmentType,this.#n=Np.Environment.instance.loggingEnvironmentStage,this.#t=Np.Environment.instance.deploymentName}#e;#t;#r;#n;#i;#o;log(e,r){e.messages.forEach(n=>{let i={timestamp:new Date().toISOString(),message:(0,V0.stringifyNonString)((0,$0.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
+ `),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 q0.BatchDispatch("sumo-logic-log-transport",10,this.#s)}});var Db=_(Kn=>{"use strict";Object.defineProperty(Kn,"__esModule",{value:!0});Kn.VMWareLogInsightTransport=Kn.VMWareLogInsightLoggingPlugin=void 0;var xb=k(),B0=Ne(),Lp=ie(),G0=Jt(),Lb=Nt(),K0="d3a5b78f823648f5b1df4fe269d41172",Dp=class extends G0.LogPlugin{static{o(this,"VMWareLogInsightLoggingPlugin")}options;constructor(e){super(),this.options=e}getTransport(){return new Aa(this.options)}};Kn.VMWareLogInsightLoggingPlugin=Dp;var Aa=class{static{o(this,"VMWareLogInsightTransport")}constructor(e){if(!URL.canParse(e.url))throw new xb.ConfigurationError(`VMWareLogInsightTransport - The option 'url' must be a valid URL. The value provided '${e.url}' could not be parsed.`);let r;try{r=new URL(e.url),r.pathname==="/"&&(r.pathname=`/api/v1/events/ingest/${e.agentId??K0}`)}catch{throw new xb.ConfigurationError(`Invalid option 'url' on 'VMWareLogInsightTransport' plugin. Must be a valid URL, received '${e.url}'`)}this.#e=r.toString(),this.#n=Lp.Environment.instance.loggingEnvironmentType,this.#i=Lp.Environment.instance.loggingEnvironmentStage,this.#r=Lp.Environment.instance.deploymentName,this.#o=e.onMessageSending,this.#t=e.textReplacements,e.fields&&(this.#s=Object.entries(e.fields).map(([n,i])=>({name:n,content:i})))}#e;#t;#r;#n;#i;#o;#s;log(e,r){let n=this.buildEntry(e,r);this.batcher.enqueue(n),r.waitUntil(this.batcher.waitUntilFlushed())}buildEntry(e,r){let n=(0,Lb.messagesToMultilineText)(e.messages);this.#t?.forEach(s=>{n=n.replaceAll(s[0],s[1])});let i={timestamp:Date.now(),text:n,fields:[{name:"severity",content:e.level.toUpperCase()},{name:"request_id",content:e.requestId},{name:"environment_type",content:this.#n},{name:"environment_stage",content:this.#i},{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.#r&&i.fields.push({name:"environment",content:this.#r}),this.#s&&i.fields.push(...this.#s),r.custom&&Object.entries(r.custom).forEach(([s,a])=>{let c=(0,Lb.stringifyNonStringToText)(a);c&&i.fields.push({name:s,content:c})}),this.#o&&(i=this.#o(i)),i}#a=async e=>{if(e.length===0)return;let r=await fetch(this.#e,{method:"POST",body:JSON.stringify({events: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 B0.BatchDispatch("vmware-log-insights-log-transport",10,this.#a)};Kn.VMWareLogInsightTransport=Aa});var Ub=_(Jn=>{"use strict";Object.defineProperty(Jn,"__esModule",{value:!0});Jn.AWSLogTransport=Jn.AWSLoggingPlugin=void 0;var J0=bp(),z0=Ne(),Mb=ie(),W0=Br(),Q0=Jt(),Y0=Nt(),Mp=class extends Q0.LogPlugin{static{o(this,"AWSLoggingPlugin")}options;constructor(e){super(),this.options=e}getTransport(){return new Ra(this.options)}};Jn.AWSLoggingPlugin=Mp;var Ra=class{static{o(this,"AWSLogTransport")}awsClient;environment;environmentType;logGroupName;logStreamName;region;batcher=new z0.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 J0.AwsClient({accessKeyId:e,secretAccessKey:i,service:"logs",region:s}),this.logGroupName=n,this.logStreamName=r,this.region=s,this.environmentType=Mb.Environment.instance.loggingEnvironmentType,this.environment=Mb.Environment.instance.deploymentName}log(e,r){e.messages.forEach(n=>{let i={timestamp:new Date().getTime(),message:JSON.stringify({data:(0,Y0.stringifyNonString)((0,W0.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())}};Jn.AWSLogTransport=Ra});var kb=_(ke=>{"use strict";Object.defineProperty(ke,"__esModule",{value:!0});ke.AWSLoggingPlugin=ke.VMWareLogInsightLoggingPlugin=ke.SumoLogicLoggingPlugin=ke.LokiLoggingPlugin=ke.GoogleCloudLoggingPlugin=ke.DynaTraceLoggingPlugin=ke.DataDogLoggingPlugin=void 0;var Z0=Bd();Object.defineProperty(ke,"DataDogLoggingPlugin",{enumerable:!0,get:function(){return Z0.DataDogLoggingPlugin}});var X0=Ob();Object.defineProperty(ke,"DynaTraceLoggingPlugin",{enumerable:!0,get:function(){return X0.DynaTraceLoggingPlugin}});var eR=Xs();Object.defineProperty(ke,"GoogleCloudLoggingPlugin",{enumerable:!0,get:function(){return eR.GoogleCloudLoggingPlugin}});var tR=Nb();Object.defineProperty(ke,"LokiLoggingPlugin",{enumerable:!0,get:function(){return tR.LokiLoggingPlugin}});var rR=Cb();Object.defineProperty(ke,"SumoLogicLoggingPlugin",{enumerable:!0,get:function(){return rR.SumoLogicLoggingPlugin}});var nR=Db();Object.defineProperty(ke,"VMWareLogInsightLoggingPlugin",{enumerable:!0,get:function(){return nR.VMWareLogInsightLoggingPlugin}});var iR=Ub();Object.defineProperty(ke,"AWSLoggingPlugin",{enumerable:!0,get:function(){return iR.AWSLoggingPlugin}})});var Fb=_(Ir=>{"use strict";Object.defineProperty(Ir,"__esModule",{value:!0});Ir.DataDogMetricsError=Ir.DataDogMetricsTransport=Ir.DataDogMetricsPlugin=void 0;var oR=Ze(),sR=Ne(),aR=zo(),Up=new WeakMap,cR={tags:[]},kp=class extends aR.MetricsPlugin{static{o(this,"DataDogMetricsPlugin")}options;constructor(e){super(),this.options=e}getTransport(){return new Oa(this.options)}static setContext(e,r){let n=Up.get(e);n||(n=cR);let i=Object.assign({...n},r);Up.set(e,i)}};Ir.DataDogMetricsPlugin=kp;var Oa=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 sR.BatchDispatch("data-dog-metrics-transport",10,this.dispatchFunction,oR.SystemLogMap.getLogger(r)));let n=Math.floor(e.timestamp.getTime()/1e3),i=this.#n.concat(Up.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 Na(await n.text())}};Ir.DataDogMetricsTransport=Oa;var Na=class t extends Error{static{o(this,"DataDogMetricsError")}constructor(e){super(e),Object.setPrototypeOf(this,t.prototype)}};Ir.DataDogMetricsError=Na});var Hb=_(Pr=>{"use strict";Object.defineProperty(Pr,"__esModule",{value:!0});Pr.DynaTraceMetricsError=Pr.DynaTraceMetricsTransport=Pr.DynatraceMetricsPlugin=void 0;var uR=Ze(),lR=Ne(),dR=zo(),Fp=new WeakMap,pR={dimensions:[]},Hp=class extends dR.MetricsPlugin{static{o(this,"DynatraceMetricsPlugin")}options;constructor(e){super(),this.options=e}getTransport(){return new Ca(this.options)}static setContext(e,r){let n=Fp.get(e);n||(n=pR);let i=Object.assign({...n},r);Fp.set(e,i)}};Pr.DynatraceMetricsPlugin=Hp;var Ca=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 lR.BatchDispatch("dynatrace-metrics-transport",10,this.dispatchFunction,uR.SystemLogMap.getLogger(r)));let n=Math.floor(e.timestamp.getTime()),i=this.dimensions.concat(Fp.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 xa(await n.text())}};Pr.DynaTraceMetricsTransport=Ca;var xa=class t extends Error{static{o(this,"DynaTraceMetricsError")}constructor(e){super(e),Object.setPrototypeOf(this,t.prototype)}};Pr.DynaTraceMetricsError=xa});var qb=_(zn=>{"use strict";Object.defineProperty(zn,"__esModule",{value:!0});zn.DynatraceMetricsPlugin=zn.DataDogMetricsPlugin=void 0;var fR=Fb();Object.defineProperty(zn,"DataDogMetricsPlugin",{enumerable:!0,get:function(){return fR.DataDogMetricsPlugin}});var hR=Hb();Object.defineProperty(zn,"DynatraceMetricsPlugin",{enumerable:!0,get:function(){return hR.DynatraceMetricsPlugin}})});var $b=_(La=>{"use strict";Object.defineProperty(La,"__esModule",{value:!0});La.AuditLogDataStaxProvider=void 0;var qp=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)})}))}};La.AuditLogDataStaxProvider=qp});var Vb=_(Da=>{"use strict";Object.defineProperty(Da,"__esModule",{value:!0});Da.AuditLogPlugin=void 0;var mR=Rt(),yR=Ne(),$p=class extends mR.SystemRuntimePlugin{static{o(this,"AuditLogPlugin")}constructor(e,r){super(),this.#e=e,this.#t=r}#e;#t;async initialize(e){new jp(e,this.#e,this.#t)}};Da.AuditLogPlugin=$p;var jb=o(t=>{let e={};return t.forEach((r,n)=>{e[n]=r}),e},"serializableHeaders"),gR={requestFilter:async()=>!0,include:{request:{headers:!0,body:!0},response:{headers:!0,body:!0}}},jp=class{static{o(this,"AuditPluginImpl")}constructor(e,r,n){this.#t=r;let i={...gR};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 yR.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?jb(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?jb(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(f=>{r.log.error(f)});r.waitUntil(p)}),e}catch(n){return r.log.error(n),e}}}});var Bb=_(Wn=>{"use strict";Object.defineProperty(Wn,"__esModule",{value:!0});Wn.StripeSignatureVerificationError=Wn.StripeError=void 0;var Ma=class extends Error{static{o(this,"StripeError")}message;type;raw;rawType;headers;requestId;code;doc_url;param;detail;statusCode;charge;decline_code;payment_method_type;payment_intent;payment_method;setup_intent;source;constructor(e={}){super(e.message),this.type=this.constructor.name,this.raw=e,this.rawType=e.type,this.code=e.code,this.doc_url=e.doc_url,this.param=e.param,this.detail=e.detail,this.headers=e.headers,this.requestId=e.requestId,this.statusCode=e.statusCode,this.message=e.message,this.charge=e.charge,this.decline_code=e.decline_code,this.payment_intent=e.payment_intent,this.payment_method=e.payment_method,this.payment_method_type=e.payment_method_type,this.setup_intent=e.setup_intent,this.source=e.source}};Wn.StripeError=Ma;var Vp=class extends Ma{static{o(this,"StripeSignatureVerificationError")}header;payload;constructor(e,r,n={}){super(n),this.header=e,this.payload=r}};Wn.StripeSignatureVerificationError=Vp});var Kb=_(Qn=>{"use strict";Object.defineProperty(Qn,"__esModule",{value:!0});Qn.computeHMACSignatureAsync=Qn.constructEventAsync=void 0;var Qr=Bb(),bR="v1",_R=300;async function ER(t,e,r,n=_R,i){return await vR(t,e,r,n,i),t instanceof Uint8Array?JSON.parse(new TextDecoder("utf8").decode(t)):JSON.parse(t)}o(ER,"constructEventAsync");Qn.constructEventAsync=ER;function wR(t,e){return`${e.timestamp}.${t}`}o(wR,"makeHMACContent");async function vR(t,e,r,n,i){let{decodedHeader:s,decodedPayload:a,details:c,suspectPayloadType:u}=TR(t,e,bR),l=/\s/.test(r),d=await Gb(wR(a,c),r);return SR(a,s,c,d,n,u,l,i)}o(vR,"verifyHeaderAsync");function TR(t,e,r){if(!t)throw new Qr.StripeSignatureVerificationError(e,t,{message:"No webhook payload was provided."});let n=typeof t!="string"&&!(t instanceof Uint8Array),i=new TextDecoder("utf8"),s=t instanceof Uint8Array?i.decode(t):t;if(Array.isArray(e))throw new Error("Unexpected: An array was passed as a header, which should not be possible for the stripe-signature header.");if(e==null||e=="")throw new Qr.StripeSignatureVerificationError(e,t,{message:"No stripe-signature header value was provided."});let a=e instanceof Uint8Array?i.decode(e):e,c=IR(a,r);if(!c||c.timestamp===-1)throw new Qr.StripeSignatureVerificationError(a,s,{message:"Unable to extract timestamp and signatures from header"});if(!c.signatures.length)throw new Qr.StripeSignatureVerificationError(a,s,{message:"No signatures found with expected scheme"});return{decodedPayload:s,decodedHeader:a,details:c,suspectPayloadType:n}}o(TR,"parseEventDetails");function SR(t,e,r,n,i,s,a,c){let u=!!r.signatures.filter(f=>PR(f,n)).length,l=`
66
66
  Learn more about webhook signing and explore webhook integration examples for various frameworks at https://github.com/stripe/stripe-node#webhook-signing`,d=a?`
67
67
 
68
68
  Note: The provided signing secret contains whitespace. This often indicates an extra newline or space is in the value`:"";if(!u)throw s?new Qr.StripeSignatureVerificationError(e,t,{message:`Webhook payload must be provided as a string or a Buffer (https://nodejs.org/api/buffer.html) instance representing the _raw_ request body.Payload was provided as a parsed JavaScript object instead.
@@ -71,22 +71,22 @@ Signature verification is impossible without access to the original signed mater
71
71
  `+d}):new Qr.StripeSignatureVerificationError(e,t,{message:`No signatures found matching the expected signature for payload. Are you passing the raw request body you received from Stripe?
72
72
  If a webhook request is being forwarded by a third-party tool, ensure that the exact request body, including JSON formatting and new line style, is preserved.
73
73
  `+l+`
74
- `+d});let p=Math.floor((typeof c=="number"?c:Date.now())/1e3)-r.timestamp;if(i>0&&p>i)throw new Qr.StripeSignatureVerificationError(e,t,{message:"Timestamp outside the tolerance zone"});return!0}o(SR,"validateComputedSignature");function IR(t,e){return typeof t!="string"?null:t.split(",").reduce((r,n)=>{let i=n.split("=");return i[0]==="t"&&(r.timestamp=parseInt(i[1],10)),i[0]===e&&r.signatures.push(i[1]),r},{timestamp:-1,signatures:[]})}o(IR,"parseHeader");function PR(t,e){if(t.length!==e.length)return!1;let r=t.length,n=0;for(let i=0;i<r;++i)n|=t.charCodeAt(i)^e.charCodeAt(i);return n===0}o(PR,"secureCompare");async function Bb(t,e){let r=new TextEncoder,n=await crypto.subtle.importKey("raw",r.encode(e),{name:"HMAC",hash:{name:"SHA-256"}},!1,["sign"]),i=await crypto.subtle.sign("hmac",n,r.encode(t)),s=new Uint8Array(i),a=new Array(s.length);for(let c=0;c<s.length;c++)a[c]=Bp[s[c]];return a.join("")}o(Bb,"computeHMACSignatureAsync");Qn.computeHMACSignatureAsync=Bb;var Bp=new Array(256);for(let t=0;t<Bp.length;t++)Bp[t]=t.toString(16).padStart(2,"0")});var Et=_(Ua=>{"use strict";Object.defineProperty(Ua,"__esModule",{value:!0});Ua.optionValidator=void 0;var Yn=k(),AR=st();function RR(t,e){if(!(0,AR.isObject)(t))throw new Yn.ConfigurationError(`Options on policy '${e}' is expected to be an object. Received the type '${typeof t}'.`);let r=o((s,a,c)=>{let u=t[s];if(!(c&&u===void 0)){if(u===void 0)throw new Yn.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 Yn.ConfigurationError(`Value of '${String(s)}' on policy '${e}' must be an array. Received type ${typeof u}.`);if(typeof u!==a)throw new Yn.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 Yn.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 Yn.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(RR,"optionValidator");Ua.optionValidator=RR});var Kp=_(ka=>{"use strict";Object.defineProperty(ka,"__esModule",{value:!0});ka.StripeWebhookVerificationInboundPolicy=void 0;var OR=mn(),NR=pe(),CR=Gb(),xR=Et(),Gp=class extends OR.InboundPolicy{static{o(this,"StripeWebhookVerificationInboundPolicy")}async handler(e,r){(0,xR.optionValidator)(this.options,this.policyName).required("signingSecret","string").optional("tolerance","number");let n=e.headers.get("stripe-signature");try{let i=await e.clone().text();await(0,CR.constructEventAsync)(i,n,this.options.signingSecret)}catch(i){let s=i.message;if(i.type&&i.type==="StripeSignatureVerificationError"){let a=i.message,u=/Note:(.*)/g.exec(a);s=u?u[1].trim():a}return r.log.error("Error validating stripe webhook",s),NR.HttpProblems.badRequest(e,r,{title:"Webhook Error",detail:s})}return e}};ka.StripeWebhookVerificationInboundPolicy=Gp});var Jb=_(Fa=>{"use strict";Object.defineProperty(Fa,"__esModule",{value:!0});Fa.isStripeWebhookEvent=void 0;var Kb=st();function LR(t){return t!==null&&typeof t=="object"&&"id"in t&&(0,Kb.isString)(t.id)&&"type"in t&&(0,Kb.isString)(t.type)}o(LR,"isStripeWebhookEvent");Fa.isStripeWebhookEvent=LR});var zb=_(Ha=>{"use strict";Object.defineProperty(Ha,"__esModule",{value:!0});Ha.MeteringPlugin=void 0;var DR=Rt(),Jp=class extends DR.SystemRuntimePlugin{static{o(this,"MeteringPlugin")}};Ha.MeteringPlugin=Jp});var Qp=_(Wp=>{"use strict";Object.defineProperty(Wp,"__esModule",{value:!0});var zp=k(),MR={getSubscription:async({subscriptionId:t,stripeSecretKey:e,logger:r})=>{let n=await fetch(`https://api.stripe.com/v1/subscriptions/${t}`,{headers:{Authorization:`Bearer ${e}`}}),i=await n.json();if(n.status!==200){let s="Error retrieving subscription from Stripe API.";throw r.error(s,i),new zp.RuntimeError(s)}return i},getCustomer:async({customerId:t,stripeSecretKey:e,logger:r})=>{let n=await fetch(`https://api.stripe.com/v1/customers/${t}`,{headers:{Authorization:`Bearer ${e}`}}),i=await n.json();if(n.status!==200){let s="Error retrieving customer from Stripe API.";throw r.error(s,i),new zp.RuntimeError(s)}return i},getUpcomingInvoice:async({customerId:t,stripeSecretKey:e,logger:r})=>{let n=await fetch(`https://api.stripe.com/v1/invoices/upcoming?customer=${t}`,{headers:{Authorization:`Bearer ${e}`}}),i=await n.json();if(n.status!==200){let s="Error retrieving customer upcoming invoice from Stripe API.";throw r.error(s,i),new zp.RuntimeError(s)}return i}};Wp.default=MR});var Wb=_(Ar=>{"use strict";Object.defineProperty(Ar,"__esModule",{value:!0});Ar.deleteConsumer=Ar.createConsumerInvite=Ar.createConsumer=void 0;var Yp=k(),Zp=Ze(),Xp=ie(),ef=Ln(),tf="https://api-key-management-service-eq7z4lly2a-ue.a.run.app";async function UR({apiKeyBucketName:t,stripeSubscriptionId:e,stripeProductId:r,stripeCustomerId:n,managerEmail:i,managerSub:s,context:a}){let{authApiJWT:c}=Xp.Environment.instance,u=new URL(`/v1/buckets/${t}/consumers`,tf);u.searchParams.set("with-api-key","true");let l=crypto.randomUUID(),d={name:l,description:"API Subscription",tags:{subscriptionExternalId:e,planExternalIds:[r]},metadata:{stripeSubscriptionId:e,stripeProductId:r,stripeCustomerId:n},managers:[{sub:s,email:i}]},p=await(0,ef.fetchRetry)({retryDelayMs:5,retries:2,logger:Zp.SystemLogMap.getLogger(a)},u.toString(),{method:"POST",headers:{Authorization:`Bearer ${c}`,"content-type":"application/json"},body:JSON.stringify(d)}),f=await p.json();if(p.status!==200){let h="Error creating API Key Consumer";throw a.log.error(h,f),new Yp.RuntimeError(h)}return a.log.info("Successfully created API Key Consumer",{consumerId:l,stripeSubscriptionId:e,stripeProductId:r}),l}o(UR,"createConsumer");Ar.createConsumer=UR;async function kR({apiKeyBucketName:t,stripeSubscriptionId:e,stripeProductId:r,stripeCustomerId:n,managerEmail:i,context:s}){let{authApiJWT:a}=Xp.Environment.instance,c=new URL(`/v1/buckets/${t}/consumers`,tf);c.searchParams.set("with-api-key","true");let u=crypto.randomUUID(),l={name:u,description:"API Subscription",tags:{subscriptionExternalId:e,planExternalIds:[r]},metadata:{stripeSubscriptionId:e,stripeProductId:r,stripeCustomerId:n},managers:[i]},d=await(0,ef.fetchRetry)({retryDelayMs:5,retries:2,logger:Zp.SystemLogMap.getLogger(s)},c.toString(),{method:"POST",headers:{Authorization:`Bearer ${a}`,"content-type":"application/json"},body:JSON.stringify(l)}),p=await d.json();if(d.status!==200){let f="Error creating API Key Consumer";throw s.log.error(f,p),new Yp.RuntimeError(f)}return s.log.info("Successfully created API Key Consumer with Manager Invite",{consumerId:u,stripeSubscriptionId:e,stripeProductId:r}),u}o(kR,"createConsumerInvite");Ar.createConsumerInvite=kR;async function FR({apiKeyBucketName:t,consumerId:e,context:r}){let{authApiJWT:n}=Xp.Environment.instance,i=new URL(`/v1/buckets/${t}/consumers/${e}`,tf);i.searchParams.set("with-api-key","true");let s=await(0,ef.fetchRetry)({retryDelayMs:5,retries:2,logger:Zp.SystemLogMap.getLogger(r)},i.toString(),{method:"DELETE",headers:{Authorization:`Bearer ${n}`,"content-type":"application/json"},body:JSON.stringify({})});if(s.status!==204){let a=await s.json(),c="Error deleting API Key Consumer";throw r.log.error(c,a),new Yp.RuntimeError(c)}return r.log.info(`Successfully deleted API Key Consumer '${e}`),e}o(FR,"deleteConsumer");Ar.deleteConsumer=FR});var qa=_(Or=>{"use strict";Object.defineProperty(Or,"__esModule",{value:!0});Or.getSubscription=Or.updateSubscription=Or.createSubscription=void 0;var Rr=k(),rf=Ze(),nf=ie(),of=Ln(),sf=st();async function HR({context:t,stripeSubscriptionId:e,stripeProductId:r,customerKey:n,meteringBucketId:i,meteringBucketRegion:s,customerExternalId:a,subscriptionStatus:c}){let u={status:c,type:"periodic",renewalStrategy:"monthly",region:s,subscriptionExternalId:e,planExternalIds:[r],customerKey:n,customerExternalId:a},{authApiJWT:l,meteringServiceUrl:d}=nf.Environment.instance;if(!(0,sf.isNonEmptyString)(l))throw new Rr.SystemError("No Zuplo JWT token set.");let p=await(0,of.fetchRetry)({retryDelayMs:5,retries:2,logger:rf.SystemLogMap.getLogger(t)},`${d}/internal/v1/metering/${i}/subscriptions`,{headers:{Authorization:`Bearer ${l}`,"Content-Type":"application/json","zp-rid":t.requestId},method:"POST",body:JSON.stringify(u)});if(!p.ok){let f="Error creating metering subscription.",h;try{h=await p.json()}catch{h={status:p.status,statusText:p.statusText}}throw t.log.error(f,h),new Rr.RuntimeError(f)}t.log.info("Successfully created/updated metering subscription.",u)}o(HR,"createSubscription");Or.createSubscription=HR;async function qR({context:t,meteringSubscriptionId:e,meteringBucketId:r,requestBody:n}){let{authApiJWT:i,meteringServiceUrl:s}=nf.Environment.instance;if(!(0,sf.isNonEmptyString)(i))throw new Rr.SystemError("No Zuplo JWT token set.");let a=await(0,of.fetchRetry)({retryDelayMs:5,retries:2,logger:rf.SystemLogMap.getLogger(t)},`${s}/internal/v1/metering/${r}/subscriptions/${e}`,{headers:{Authorization:`Bearer ${i}`,"Content-Type":"application/json","zp-rid":t.requestId},method:"PATCH",body:JSON.stringify(n)});if(!a.ok){let c=`Error updating metering subscription to '${JSON.stringify(n)}'.`,u;try{u=await a.json()}catch{u={status:a.status,statusText:a.statusText}}throw t.log.error(c,u),new Rr.RuntimeError(c)}t.log.info(`Successfully update metering subscription to '${JSON.stringify(n)}'.`)}o(qR,"updateSubscription");Or.updateSubscription=qR;async function $R({context:t,stripeSubscriptionId:e,stripeCustomerId:r,meteringBucketId:n}){let{authApiJWT:i,meteringServiceUrl:s}=nf.Environment.instance;if(!(0,sf.isNonEmptyString)(i))throw new Rr.SystemError("No Zuplo JWT token set.");let a=await(0,of.fetchRetry)({retryDelayMs:5,retries:2,logger:rf.SystemLogMap.getLogger(t)},`${s}/internal/v1/metering/${n}/subscriptions?subscriptionExternalId=${e}`,{headers:{Authorization:`Bearer ${i}`,"zp-rid":t.requestId},method:"GET"});if(!a.ok){let u="Error querying for metering subscription.",l;try{l=await a.json()}catch{l={status:a.status,statusText:a.statusText}}throw t.log.error(u,l),new Rr.RuntimeError(u,l)}let c=await a.json();if(c.data.length===0){let u="Subscription was not found and the event was ignored by Stripe metering plugin webhook.";throw t.log.error(u),new Rr.RuntimeError(u)}if(c.data[0].customerExternalId!==r){let u="A subscription was not found for the customer provided and the event was ignored by Stripe metering plugin webhook.";throw t.log.error(u),new Rr.RuntimeError(u)}return c.data[0]}o($R,"getSubscription");Or.getSubscription=$R});var af=_($a=>{"use strict";Object.defineProperty($a,"__esModule",{value:!0});$a.stripeStatusToMeteringStatus=void 0;function jR(t){return t.replaceAll("_","-")}o(jR,"stripeStatusToMeteringStatus");$a.stripeStatusToMeteringStatus=jR});var Qb=_(Wi=>{"use strict";var VR=Wi&&Wi.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(Wi,"__esModule",{value:!0});var Yr=pe(),BR=VR(Qp()),cf=Wb(),GR=qa(),KR=af();async function JR(t,e,r,n){let i=r.data.object.id;if(!i)return e.log.warn(`Invalid Stripe webhook event. Expected event '${r.id}' to have '.data.object.id' be the subscription ID.`),Yr.HttpProblems.badRequest(t,e,{detail:"Invalid Stripe webhook event. Expected '.data.object.id' to be the subscription ID."});let s=r.data.object.plan;if(!s||!s.product)return e.log.warn(`Invalid Stripe API result. Expected event '${r.id}' to have a plan data.`),Yr.HttpProblems.badRequest(t,e,{detail:"Invalid Stripe API result. Expected event to have a plan data."});let a=r.data.object.customer;if(!a)return e.log.warn(`Invalid Stripe webhook event. Expected '.data.object.customer' to be provided by event '${r.id}'`),Yr.HttpProblems.badRequest(t,e,{detail:"Invalid Stripe webhook event. Expected '.data.object.customer' to be provided"});let c=s.product,u;if(r.data.object.metadata&&r.data.object.metadata.zuplo_created_by_email&&r.data.object.metadata.zuplo_created_by_sub)u=await(0,cf.createConsumer)({apiKeyBucketName:n.apiKeyBucketName,stripeProductId:c,stripeSubscriptionId:i,stripeCustomerId:a,managerEmail:r.data.object.metadata.zuplo_created_by_email,managerSub:r.data.object.metadata.zuplo_created_by_sub,context:e});else{let l=await BR.default.getCustomer({logger:e.log,stripeSecretKey:n.stripeSecretKey,customerId:a});if(!l.email)return e.log.warn(`Invalid Stripe API result. Expected customer '${a}' to contain email address.`),Yr.HttpProblems.badRequest(t,e,{detail:"Invalid Stripe API result. Expected customer to contain email address."});u=await(0,cf.createConsumerInvite)({apiKeyBucketName:n.apiKeyBucketName,stripeProductId:c,stripeSubscriptionId:i,stripeCustomerId:a,managerEmail:l.email,context:e})}if(!u)return Yr.HttpProblems.internalServerError(t,e,{detail:"No consumer was created, skipping creation of subscription"});try{let l=(0,KR.stripeStatusToMeteringStatus)(r.data.object.status);await(0,GR.createSubscription)({context:e,stripeProductId:c,stripeSubscriptionId:i,customerKey:u,meteringBucketId:n.meteringBucketId,meteringBucketRegion:n.meteringBucketRegion,customerExternalId:a,subscriptionStatus:l})}catch(l){return await(0,cf.deleteConsumer)({apiKeyBucketName:n.apiKeyBucketName,consumerId:u,context:e}),Yr.HttpProblems.internalServerError(t,e,{detail:l.message})}return Yr.HttpProblems.ok(t,e)}o(JR,"onCustomerSubscriptionCreated");Wi.default=JR});var Zb=_(lf=>{"use strict";Object.defineProperty(lf,"__esModule",{value:!0});var uf=pe(),Yb=qa();async function zR(t,e,r,n){let i=r.data.object.id;if(!i)return e.log.warn(`Invalid Stripe webhook event. Expected event '${r.id}' to have '.data.object.id' be the subscription ID.`),uf.HttpProblems.badRequest(t,e,{detail:"Invalid Stripe webhook event. Expected '.data.object.id' to be the subscription ID."});let s=r.data.object.customer;if(!s)return e.log.warn(`Invalid Stripe webhook event. Expected '.data.object.customer' to be provided by event '${r.id}'`),uf.HttpProblems.badRequest(t,e,{detail:"Invalid Stripe webhook event. Expected '.data.object.customer' to be provided"});let a=await(0,Yb.getSubscription)({context:e,stripeSubscriptionId:i,stripeCustomerId:s,meteringBucketId:n.meteringBucketId});return await(0,Yb.updateSubscription)({context:e,meteringSubscriptionId:a.id,meteringBucketId:n.meteringBucketId,requestBody:{status:"canceled",planExternalIds:a.planExternalIds}}),uf.HttpProblems.ok(t,e)}o(zR,"onCustomerSubscriptionDeleted");lf.default=zR});var Xb=_(Yi=>{"use strict";var WR=Yi&&Yi.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(Yi,"__esModule",{value:!0});var Qi=pe(),QR=WR(Qp()),ja=qa(),YR=af();async function ZR(t,e,r,n){let i=r.data.object.id;if(!i)return e.log.warn(`Invalid Stripe webhook event. Expected event '${r.id}' to include '.data.object.id' as the subscription ID.`),Qi.HttpProblems.badRequest(t,e,{detail:"Invalid Stripe webhook event. Expected '.data.object.id' to be the subscription ID."});let s=r.data.object.customer;if(!s)return e.log.warn(`Invalid Stripe webhook event. Expected '.data.object.customer' to be provided by event '${r.id}'`),Qi.HttpProblems.badRequest(t,e,{detail:"Invalid Stripe webhook event. Expected '.data.object.customer' to be provided"});if(r.data.previous_attributes){let a=r.data.previous_attributes;if(a.status&&a.status!==r.data.object.status){e.log.debug(`Processing subscription status change from Stripe event '${r.id}'.`);let c=await(0,ja.getSubscription)({context:e,stripeSubscriptionId:i,stripeCustomerId:s,meteringBucketId:n.meteringBucketId}),u=(0,YR.stripeStatusToMeteringStatus)(r.data.object.status);return await(0,ja.updateSubscription)({context:e,meteringSubscriptionId:c.id,meteringBucketId:n.meteringBucketId,requestBody:{status:u,planExternalIds:c.planExternalIds}}),Qi.HttpProblems.ok(t,e)}if(a.plan&&a.plan.product!==r.data.object.plan.product){e.log.debug(`Processing subscription plan change from Stripe event '${r.id}'.`);let c=await(0,ja.getSubscription)({context:e,stripeSubscriptionId:i,stripeCustomerId:s,meteringBucketId:n.meteringBucketId}),u=r.data.object.plan.product,d=(await QR.default.getUpcomingInvoice({customerId:s,logger:e.log,stripeSecretKey:n.stripeSecretKey})).lines.data.filter(f=>f.proration&&f.price.product===u),p=0;return d.length===0?e.log.warn(`The plan change does not include proration details. Subscription event '${r.id}'`):p=parseFloat(d[0].unit_amount_excluding_tax)/d[0].price.unit_amount,await(0,ja.updateSubscription)({context:e,meteringSubscriptionId:c.id,meteringBucketId:n.meteringBucketId,requestBody:{status:c.status,planExternalIds:[u],prorate:p}}),Qi.HttpProblems.ok(t,e)}}return e.log.warn(`This update event '${r.id}' is not supported by Stripe metering plugin webhook.`),Qi.HttpProblems.badRequest(t,e,{detail:"This update event is not supported by Stripe metering plugin webhook."})}o(ZR,"onCustomerSubscriptionUpdated");Yi.default=ZR});var t_=_(Zn=>{"use strict";var pf=Zn&&Zn.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(Zn,"__esModule",{value:!0});Zn.StripeMeteringPlugin=void 0;var Va=Gi(),Ba=k(),XR=Bt(),eO=Kp(),e_=pe(),tO=ar(),rO=yn(),nO=fl(),iO=mt(),oO=ie(),sO=Jb(),aO=zb(),cO=pf(Qb()),uO=pf(Zb()),lO=pf(Xb()),df=class extends aO.MeteringPlugin{static{o(this,"StripeMeteringPlugin")}options;constructor(e){super(),this.options=e}registerRoutes(e,r){let n=o(async(c,u)=>{if(this.options.__testMode===!0)return u.log.warn("Received Stripe webhook event of in test mode."),"success";let{meteringBucketId:l,apiKeyBucketName:d}=this.options;if(!l)if(Va.environment.ZUPLO_METERING_SERVICE_BUCKET_ID)l=Va.environment.ZUPLO_METERING_SERVICE_BUCKET_ID;else throw new Ba.ConfigurationError("StripeMeteringPlugin - No 'meteringBucketId' property provided");if(!d)if(Va.environment.ZUPLO_API_KEY_SERVICE_BUCKET_NAME)d=Va.environment.ZUPLO_API_KEY_SERVICE_BUCKET_NAME;else throw new Ba.ConfigurationError("StripeMeteringPlugin - No 'apiKeyBucketName' property provided");if(!oO.Environment.instance.build.ACCOUNT_NAME)throw new Ba.SystemError("Build environment is not configured correctly. Expected 'ACCOUNT_NAME' to be set.");let p=this.options.meteringBucketRegion??"us-central1";if(!dO(p))throw new Ba.ConfigurationError(`StripeMeteringPlugin - The value '${p}' on the property 'meteringBucketRegion' is invalid.`);let f=await c.json();if(!(0,sO.isStripeWebhookEvent)(f))return e_.HttpProblems.badRequest(c,u,{detail:"The received body was not in the expected format."});switch(u.log.info(`Received Stripe webhook event of type '${f.type}' with ID '${f.id}'.`),f.type){case"customer.subscription.created":return await(0,cO.default)(c,u,f,{meteringBucketId:l,apiKeyBucketName:d,meteringBucketRegion:p,stripeSecretKey:this.options.stripeSecretKey});case"customer.subscription.updated":return await(0,lO.default)(c,u,f,{meteringBucketId:l,apiKeyBucketName:d,meteringBucketRegion:p,stripeSecretKey:this.options.stripeSecretKey});case"customer.subscription.deleted":return await(0,uO.default)(c,u,f,{meteringBucketId:l});default:return e_.HttpProblems.badRequest(c,u,{detail:"Event is not supported by Stripe metering plugin webhook."})}},"stripeWebhookHandler"),i=(0,rO.createInternalPolicyProcessor)({inboundPolicies:[new eO.StripeWebhookVerificationInboundPolicy({signingSecret:this.options.webhooks.signingSecret,tolerance:this.options.webhooks.tolerance},"stripe-webhook-verification")]}),s=new XR.Pipeline({processors:[tO.metricsProcessor,i],handler:n,gateway:r}),a=new iO.SystemRouteConfiguration({label:"PLUGIN_STRIPE_WEBHOOK_ROUTE",methods:["POST"],path:this.options.webhooks.routePath??"/__plugins/stripe/webhooks",systemRouteName:nO.SystemRouteName.StripePlugin});e.addRoute(a,s.execute)}};Zn.StripeMeteringPlugin=df;function dO(t){return t!==null&&typeof t=="string"&&["us-central1","europe-west4"].includes(t)}o(dO,"isMetricsRegion")});var s_=_(Xn=>{"use strict";Object.defineProperty(Xn,"__esModule",{value:!0});Xn.AmberfloMeteringInboundPolicy=Xn.AmberfloMeteringPolicy=void 0;var r_=k(),pO=Ne(),n_=Kt(),o_=new WeakMap,i_={},ff=class{static{o(this,"AmberfloMeteringPolicy")}static setRequestProperties(e,r){o_.set(e,r)}};Xn.AmberfloMeteringPolicy=ff;async function fO(t,e,r,n){if(!r.statusCodes)throw new r_.ConfigurationError(`Invalid AmberfloMeterInboundPolicy '${n}': options.statusCodes must be an array of HTTP status code numbers`);let i=(0,n_.statusCodesStringToNumberArray)(r.statusCodes);return e.addResponseSendingFinalHook(async s=>{if(i.includes(s.status)){let a=o_.get(e),c=r.customerId;if(r.customerIdPropertyPath){if(!t.user)throw new r_.RuntimeError(`Unable to apply customerIdPropertyPath '${r.customerIdPropertyPath}' as request.user is 'undefined'.`);c=(0,n_.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)},f=i_[r.apiKey];if(!f){let h=r.apiKey,m=t.headers.get("zm-test-id")??"";f=new pO.BatchDispatch("amberflo-ingest-meter",10,async b=>{try{let v=r.url??"https://app.amberflo.io/ingest",A=await fetch(v,{method:"POST",body:JSON.stringify(b),headers:{"content-type":"application/json","x-api-key":h,"zm-test-id":m}});A.ok||e.log.error(`Unexpected response in AmberfloMeteringInboundPolicy '${n}'. ${A.status}: ${await A.text()}`)}catch(v){throw e.log.error(`Error in AmberfloMeteringInboundPolicy '${n}': ${v.message}`),v}}),i_[h]=f}f.enqueue(p),e.waitUntil(f.waitUntilFlushed())}}),t}o(fO,"AmberfloMeteringInboundPolicy");Xn.AmberfloMeteringInboundPolicy=fO});var hf=_(Ga=>{"use strict";Object.defineProperty(Ga,"__esModule",{value:!0});Ga.sha256=void 0;async function hO(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(hO,"sha256");Ga.sha256=hO});var Zt=_(Ka=>{"use strict";Object.defineProperty(Ka,"__esModule",{value:!0});Ka.getPolicyCacheName=void 0;var mO=hf(),a_=new Map;async function yO(t,e){let r,n=a_.get(t);return n!==void 0?r=n:(r=`zuplo-policy-${await(0,mO.sha256)(JSON.stringify({policyName:t,options:e}))}`,a_.set(t,r)),r}o(yO,"getPolicyCacheName");Ka.getPolicyCacheName=yO});var gf=_(Ja=>{"use strict";Object.defineProperty(Ja,"__esModule",{value:!0});Ja.ApiKeyInboundPolicy=void 0;var gO=Zt(),bO=nr(),c_=Gi(),mf=k(),_O=Gt(),u_=Ze(),yf=ie(),EO=Ln(),l_="key-metadata-cache-type";function wO(t,e){return e.authScheme===""?t:t.replace(`${e.authScheme} `,"")}o(wO,"getKeyValue");async function vO(t,e,r,n){if(!r.bucketName)if(c_.environment.ZUPLO_API_KEY_SERVICE_BUCKET_NAME)r.bucketName=c_.environment.ZUPLO_API_KEY_SERVICE_BUCKET_NAME;else throw new mf.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 mf.ConfigurationError(`ApiKeyInboundPolicy '${n}' - minimum cacheTtlSeconds value is 60s, '${i.cacheTtlSeconds}' is invalid`);let s=o(v=>i.allowUnauthenticatedRequests?t:_O.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=wO(a,i);if(!c||c==="")return s("No key present");let u=await TO(c),l=await(0,gO.getPolicyCacheName)(n,i),d=new bO.MemoryZoneReadThroughCache(l,e),p=await d.get(u);if(p&&p.isValid===!0)return t.user=p.user,t;if(p&&!p.isValid)return p.typeId!==l_&&u_.SystemLogMap.getLogger(e).error(`ApiKeyInboundPolicy '${n}' - cached metadata has invalid typeId '${p.typeId}'`,p),s("Authorization Failed");let f={key:c},h=await(0,EO.fetchRetry)({retryDelayMs:5,retries:2,logger:u_.SystemLogMap.getLogger(e)},`${yf.Environment.instance.apiKeyServiceUrl}/v1/$validate/${i.bucketName}`,{method:"POST",headers:{"content-type":"application/json","zp-rid":e.requestId,"zp-dn":yf.Environment.instance.deploymentName??"unknown","User-Agent":yf.Environment.instance.systemUserAgent},body:JSON.stringify(f)});if(h.status===401)return e.log.info(`ApiKeyInboundPolicy '${n}' - 401 response from Key Service`),s("Authorization Failed");if(h.status!==200){try{let v=await h.text(),A=JSON.parse(v);e.log.error("Unexpected response from key service",A)}catch{e.log.error("Invalid response from key service")}throw new mf.RuntimeError(`ApiKeyInboundPolicy '${n}' - unexpected response from Key Service. Status: ${h.status}`)}let m=await h.json(),b={isValid:!0,typeId:l_,user:{sub:m.name,data:m.metadata}};return t.user=b.user,d.put(u,b,i.cacheTtlSeconds),t}o(vO,"ApiKeyInboundPolicy");Ja.ApiKeyInboundPolicy=vO;async function TO(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(TO,"hashValue")});var d_=_(za=>{"use strict";Object.defineProperty(za,"__esModule",{value:!0});za.ApiAuthKeyInboundPolicy=void 0;var SO=gf();za.ApiAuthKeyInboundPolicy=SO.ApiKeyInboundPolicy});var Xt=_(Wa=>{"use strict";Object.defineProperty(Wa,"__esModule",{value:!0});Wa.OpenIdJwtInboundPolicy=void 0;var _f=(Qs(),Io(Ws)),Ef=k(),IO=pe(),bf={},PO=o(async(t,e)=>{if(!e.jwkUrl||typeof e.jwkUrl!="string")throw new Ef.ConfigurationError("Invalid State - jwkUrl not set");bf[e.jwkUrl]||(bf[e.jwkUrl]=(0,_f.createRemoteJWKSet)(new URL(e.jwkUrl),e.headers?{headers:e.headers}:void 0));let{payload:r}=await(0,_f.jwtVerify)(t,bf[e.jwkUrl],{issuer:e.issuer,audience:e.audience});return r},"jwkVerifier"),AO=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,_f.jwtVerify)(t,r,{issuer:e.issuer,audience:e.audience});return n},"secretVerifier"),RO=o(async(t,e,r,n)=>{let i=t.headers.get("Authorization"),s="bearer ",a=o(f=>IO.HttpProblems.unauthorized(t,e,{detail:f}),"unauthorizedResponse");if(!r.jwkUrl&&!r.secret)throw new Ef.ConfigurationError(`OpenIdJwtInboundPolicy policy '${n}': One of 'jwkUrl' or 'secret' options are required.`);if(r.jwkUrl&&r.secret)throw new Ef.ConfigurationError(`OpenIdJwtInboundPolicy policy '${n}': Only one of 'jwkUrl' and 'secret' options should be provided.`);let c=r.jwkUrl?PO:AO,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 f=i.substring(s.length);if(!f||f.length===0)return a("No bearer token on authorization header");try{return await c(f,r)}catch(h){let m=new URL(t.url);return"code"in h&&h.code==="ERR_JWT_EXPIRED"?e.log.warn(`Expired token used on url: ${m.pathname} `,h):e.log.warn(`Invalid token on: ${t.method} ${m.pathname}`,h),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");Wa.OpenIdJwtInboundPolicy=RO});var p_=_(Qa=>{"use strict";Object.defineProperty(Qa,"__esModule",{value:!0});Qa.Auth0JwtInboundPolicy=void 0;var OO=Xt(),NO=o(async(t,e,r,n)=>(0,OO.OpenIdJwtInboundPolicy)(t,e,{issuer:`https://${r.auth0Domain}/`,audience:r.audience,jwkUrl:`https://${r.auth0Domain}/.well-known/jwks.json`,allowUnauthenticatedRequests:r.allowUnauthenticatedRequests},n),"Auth0JwtInboundPolicy");Qa.Auth0JwtInboundPolicy=NO});var f_=_(Ya=>{"use strict";Object.defineProperty(Ya,"__esModule",{value:!0});Ya.BasicAuthInboundPolicy=void 0;var CO=pe(),xO=o(async(t,e,r)=>{let n=t.headers.get("Authorization"),i="basic ",s=o(l=>CO.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 f=d.substring(0,p),h=d.substring(p+1),m=r.accounts.find(b=>b.username===f&&b.password===h);return m||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");Ya.BasicAuthInboundPolicy=xO});var h_=_(Za=>{"use strict";Object.defineProperty(Za,"__esModule",{value:!0});Za.CachingInboundPolicy=void 0;var LO=Zt(),DO=["cdn-cache-control","cloudflare-cdn-cache-control","surrogate-control","cache-tag","expires"];async function MO(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(MO,"digestMessage");var UO=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 MO(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 kO(t,e,r,n){let i=await(0,LO.getPolicyCacheName)(n,r),s=await caches.open(i),a=r?.cacheHttpMethods?.map(l=>l.toUpperCase())??["GET"],c=await UO(t,r),u=await s.match(c);return u||(e.addEventListener("responseSent",l=>{try{let d=r.statusCodes??[200,206,301,302,303,404,410],p=l.response.clone();if(!d.includes(p.status)||!a.includes(t.method.toUpperCase()))return;let f=r?.expirationSecondsTtl??60,h=new Response(p.body,p);DO.forEach(m=>h.headers.delete(m)),h.headers.set("cache-control",`s-maxage=${f}`),e.waitUntil(s.put(c,h))}catch(d){e.log.error(`Error in caching-inbound-policy '${n}': "${d.message}"`,d)}}),t)}o(kO,"CachingInboundPolicy");Za.CachingInboundPolicy=kO});var m_=_(Xa=>{"use strict";Object.defineProperty(Xa,"__esModule",{value:!0});Xa.ChangeMethodInboundPolicy=void 0;var FO=k(),HO=Ge(),qO=o(async(t,e,r,n)=>{if(!r.method)throw new FO.ConfigurationError(`ChangeMethodInboundPolicy '${n}' options.method must be valid HttpMethod`);return new HO.ZuploRequest(t,{method:r.method})},"ChangeMethodInboundPolicy");Xa.ChangeMethodInboundPolicy=qO});var y_=_(ec=>{"use strict";Object.defineProperty(ec,"__esModule",{value:!0});ec.ClearHeadersInboundPolicy=void 0;var $O=Ge(),jO=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 $O.ZuploRequest(t,{headers:i})},"ClearHeadersInboundPolicy");ec.ClearHeadersInboundPolicy=jO});var g_=_(tc=>{"use strict";Object.defineProperty(tc,"__esModule",{value:!0});tc.ClearHeadersOutboundPolicy=void 0;var VO=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");tc.ClearHeadersOutboundPolicy=VO});var b_=_(rc=>{"use strict";Object.defineProperty(rc,"__esModule",{value:!0});rc.ClerkJwtInboundPolicy=void 0;var BO=Xt(),GO=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,BO.OpenIdJwtInboundPolicy)(t,e,{issuer:i.href.slice(0,-1),jwkUrl:s.toString(),allowUnauthenticatedRequests:r.allowUnauthenticatedRequests},n)},"ClerkJwtInboundPolicy");rc.ClerkJwtInboundPolicy=GO});var E_=_(nc=>{"use strict";Object.defineProperty(nc,"__esModule",{value:!0});nc.CognitoJwtInboundPolicy=void 0;var __=k(),KO=Xt(),JO=o(async(t,e,r,n)=>{if(!r.userPoolId)throw new __.ConfigurationError("userPoolId must be set in the options for CognitoJwtInboundPolicy");if(!r.region)throw new __.ConfigurationError("region must be set in the options for CognitoJwtInboundPolicy");return(0,KO.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");nc.CognitoJwtInboundPolicy=JO});var v_=_(ic=>{"use strict";Object.defineProperty(ic,"__esModule",{value:!0});ic.CompositeInboundPolicy=void 0;var zO=k(),WO=Fr(),w_=yn(),QO=o(async(t,e,r,n)=>{if(!r.policies||r.policies.length===0)throw new zO.ConfigurationError(`CompositeInboundPolicy '${n}' must have valid policies defined`);let i=WO.Gateway.instance,s=(0,w_.getInboundPolicyInstances)(r.policies,i?.routeData.policies);return(0,w_.toStackedInboundHandler)(s)(t,e)},"CompositeInboundPolicy");ic.CompositeInboundPolicy=QO});var T_=_(sc=>{"use strict";Object.defineProperty(sc,"__esModule",{value:!0});sc.CurityPhantomTokenInboundPolicy=void 0;var YO=Zt(),ZO=nr(),oc=pe(),XO=o(async(t,e,r,n)=>{let i=t.headers.get("Authorization");if(!i)return oc.HttpProblems.unauthorized(t,e,{detail:"No authorization header"});let s=eN(i);if(!s)return oc.HttpProblems.unauthorized(t,e,{detail:"Failed to parse token from Authorization header"});let a=await(0,YO.getPolicyCacheName)(n,r),c=new ZO.MemoryZoneReadThroughCache(a,e),u=await c.get(s);if(!u){let l=await fetch(r.introspectionUrl,{headers:{Authorization:"Basic "+btoa(`${r.clientId}:${r.clientSecret}`),Accept:"application/jwt","Content-Type":"application/x-www-form-urlencoded"},method:"POST",body:"token="+s+"&token_type_hint=access_token"}),d=await l.text();if(l.status===200)u=d,c.put(s,u,r.cacheDurationSeconds??600);else return l.status>=500?(e.log.error(`Error introspecting token - ${l.status}: '${d}'`),oc.HttpProblems.internalServerError(t,e,{detail:"Problem encountered authorizing the HTTP request"})):oc.HttpProblems.unauthorized(t,e)}return t.headers.set("Authorization",`Bearer ${u}`),t},"CurityPhantomTokenInboundPolicy");sc.CurityPhantomTokenInboundPolicy=XO;function eN(t){return t.split(" ")[0]==="Bearer"?t.split(" ")[1]:null}o(eN,"getToken")});var S_=_(ac=>{"use strict";Object.defineProperty(ac,"__esModule",{value:!0});ac.FirebaseJwtInboundPolicy=void 0;var tN=Et(),rN=Xt(),nN=o(async(t,e,r,n)=>((0,tN.optionValidator)(r,n).required("projectId","string").optional("allowUnauthenticatedRequests","boolean"),(0,rN.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");ac.FirebaseJwtInboundPolicy=nN});var I_=_(cc=>{"use strict";Object.defineProperty(cc,"__esModule",{value:!0});cc.FormDataToJsonInboundPolicy=void 0;var iN=Ge(),oN=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 iN.ZuploRequest(t,{body:JSON.stringify(c),headers:u})},"FormDataToJsonInboundPolicy");cc.FormDataToJsonInboundPolicy=oN});var P_=_(uc=>{"use strict";Object.defineProperty(uc,"__esModule",{value:!0});uc.GeoFilterInboundPolicy=void 0;var sN=k(),aN=pe(),ei="__unknown__",cN=o(async(t,e,r,n)=>{let i={allow:{countries:ri(r.allow?.countries,"allow.countries",n),regionCodes:ri(r.allow?.regionCodes,"allow.regionCode",n),asns:ri(r.allow?.asns,"allow.asOrganization",n)},block:{countries:ri(r.block?.countries,"block.countries",n),regionCodes:ri(r.block?.regionCodes,"block.regionCode",n),asns:ri(r.block?.asns,"block.asOrganization",n)},ignoreUnknown:r.ignoreUnknown!==!1},s=e.incomingRequestProperties.country?.toLowerCase()??ei,a=e.incomingRequestProperties.regionCode?.toLowerCase()??ei,c=e.incomingRequestProperties.asn?.toString()??ei,u=i.ignoreUnknown&&s===ei,l=i.ignoreUnknown&&a===ei,d=i.ignoreUnknown&&c===ei,p=i.allow.countries,f=i.allow.regionCodes,h=i.allow.asns;if(p.length>0&&!p.includes(s)&&!u||f.length>0&&!f.includes(a)&&!l||h.length>0&&!h.includes(c)&&!d)return ti(t,e,n,s,a,c);let m=i.block.countries,b=i.block.regionCodes,v=i.block.asns;return m.length>0&&m.includes(s)&&!u||b.length>0&&b.includes(a)&&!l||v.length>0&&v.includes(c)&&!d?ti(t,e,n,s,a,c):t},"GeoFilterInboundPolicy");uc.GeoFilterInboundPolicy=cN;function ti(t,e,r,n,i,s){return e.log.debug(`Request blocked by GeoFilterInboundPolicy '${r}' (country: '${n}', regionCode: '${i}', asn: '${s}')`),aN.HttpProblems.forbidden(t,e,{geographicContext:{country:n,regionCode:i,asn:s}})}o(ti,"blockedResponse");function ri(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 sN.ConfigurationError(`Invalid '${e}' for GeoFilterInboundPolicy '${r}': '${t}', must be a string or string[]`)}o(ri,"toLowerStringArray")});var A_=_(lc=>{"use strict";Object.defineProperty(lc,"__esModule",{value:!0});lc.JWTScopeValidationInboundPolicy=void 0;var uN=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");lc.JWTScopeValidationInboundPolicy=uN});var O_=_(dc=>{"use strict";Object.defineProperty(dc,"__esModule",{value:!0});dc.MockApiInboundPolicy=void 0;var lN=pe(),dN=o(async(t,e,r,n)=>{let i=e.route.raw().responses;if(!i)return wf(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 wf(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(f=>{a.push({responseName:c,contentName:l,exampleName:f,exampleValue:d[f]})})})}),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 R_(a[c])}else return a.length>0?R_(a[0]):wf(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");dc.MockApiInboundPolicy=dN;function R_(t){let e=JSON.stringify(t.exampleValue,null,2),r=new Headers;switch(r.set("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(R_,"generateResponse");var wf=o((t,e,r,n)=>{let i=`Error in policy: ${t} - On route ${e.method} ${r.route.path}. ${n}`;return lN.HttpProblems.internalServerError(e,r,{detail:i})},"getProblemDetailResponse")});var D_=_(ni=>{"use strict";Object.defineProperty(ni,"__esModule",{value:!0});ni.MoesifInboundPolicy=ni.setMoesifContext=void 0;var pN=k(),fN=Ne(),hN="Incoming",mN={logRequestBody:!0,logResponseBody:!0};function N_(t){let e={};return t.forEach((r,n)=>{e[n]=r}),e}o(N_,"headersToObject");function C_(){return new Date().toISOString()}o(C_,"timestamp");var vf=new WeakMap,yN={};function gN(t,e){let r=vf.get(t);r||(r=yN);let n=Object.assign({...r},e);vf.set(t,n)}o(gN,"setMoesifContext");ni.setMoesifContext=gN;async function x_(t,e){let r=t.headers.get("content-type");if(r&&r.indexOf("json")!==0)try{return await t.clone().json()}catch(i){e.log.error(i)}let n=await t.clone().text();return e.log.debug({textBody:n}),n}o(x_,"readBody");var bN={},Tf;function L_(){if(!Tf)throw new pN.RuntimeError("Invalid State - no _lastLogger");return Tf}o(L_,"getLastLogger");function _N(t){let e=bN[t];return e||(e=new fN.BatchDispatch("moesif-inbound",100,async r=>{let n=JSON.stringify(r);L_().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||L_().error({status:i.status,body:await i.text()})})),e}o(_N,"getDispatcher");async function EN(t,e,r,n){Tf=e.log;let i=C_(),s=Object.assign(mN,r);if(!s.applicationId)throw new Error(`Invalid configuration for MoesifInboundPolicy '${n}' - applicationId is required`);let a=s.logRequestBody?await x_(t,e):void 0;return e.addResponseSendingFinalHook(async(c,u)=>{let l=_N(s.applicationId),d=t.headers.get("true-client-ip"),p=vf.get(e)??{},f={time:i,uri:t.url,verb:t.method,body:a,ip_address:d??void 0,api_version:p.apiVersion,headers:N_(t.headers)},h=s.logResponseBody?await x_(c,e):void 0,m={time:C_(),status:c.status,headers:N_(c.headers),body:h},b={request:f,response:m,user_id:p.userId??u.user?.sub,session_token:p.sessionToken,company_id:p.companyId,metadata:p.metadata,direction:hN};l.enqueue(b),e.waitUntil(l.waitUntilFlushed())}),t}o(EN,"MoesifInboundPolicy");ni.MoesifInboundPolicy=EN});var k_=_(ii=>{"use strict";Object.defineProperty(ii,"__esModule",{value:!0});ii.consumeSubcriptionQuotas=ii.loadSubscription=void 0;var M_=Ze(),U_=ie();async function wN(t,e,r,n){let i=M_.SystemLogMap.getLogger(t),{authApiJWT:s,meteringServiceUrl:a}=U_.Environment.instance,c;try{let l=await fetch(`${a}/internal/v1/metering/${n}/subscriptions?customerKey=${e}`,{headers:{Authorization:`Bearer ${s}`,"zp-rid":t.requestId},method:"GET"});if(l.ok)c=await l.json();else{let d=await l.json(),p=d.detail??d.title??"Unknown error on quota consumption.";t.log.error(`MonetizationInboundPolicy '${r}' - Error loading subscription. ${l.status} - ${p}`),i.error(`MonetizationInboundPolicy '${r}' - Error loading subscription.${l.status} - ${p}`)}}catch(l){i.error(`MonetizationInboundPolicy '${r}' - Error loading subscription`,l)}return c&&c.data&&c.data.length>0?c.data[0]:void 0}o(wN,"loadSubscription");ii.loadSubscription=wN;async function vN(t,e,r,n,i){let{authApiJWT:s,meteringServiceUrl:a}=U_.Environment.instance,c=M_.SystemLogMap.getLogger(t);try{let u=await fetch(`${a}/internal/v1/metering/${n}/subscriptions/${e}/quotas/consume`,{headers:{Authorization:`Bearer ${s}`,"zp-rid":t.requestId},method:"POST",body:JSON.stringify({meters:i})});if(!u.ok){let l=await u.json(),d=l.detail??l.title??"Unknown error on quota consumption.";t.log.error(`MonetizationInboundPolicy '${r}' - Error updating subscription quota. ${u.status} - ${d}`),c.error(`MonetizationInboundPolicy '${r}' - Error updating subscription quota. ${u.status} - ${d}`)}}catch(u){t.log.error(`MonetizationInboundPolicy '${r}' - Error updating subscription quota.`),c.error(`MonetizationInboundPolicy '${r}' - Error updating subscription quota.`,u)}}o(vN,"consumeSubcriptionQuotas");ii.consumeSubcriptionQuotas=vN});var F_=_(oi=>{"use strict";Object.defineProperty(oi,"__esModule",{value:!0});oi.parseAllowedSubscriptionStatuses=oi.validateMeters=void 0;var Zr=k(),TN=Kt(),SN=new Set(["active","inactive","incomplete","incomplete-expired","trialing","past-due","canceled","unpaid"]);function IN(t,e){try{let r=[];for(let n in t)typeof t[n]!="number"&&!(Number.isInteger(t[n])&&/^-?\d+$/.test(t[n].toString()))&&r.push(n);if(r.length>0)throw new Zr.ConfigurationError(r.length>1?`The values found in these properties are not integers : ${r.join(", ")}`:`The value in property '${r[0]}' is not an integer`)}catch(r){throw r instanceof Zr.ConfigurationError?new Zr.ConfigurationError(`MonetizationInboundPolicy '${e}' - The property 'meters' is invalid. ${r.message}`):r}}o(IN,"validateMeters");oi.validateMeters=IN;function PN(t,e){if(t)try{if(t.length===0)throw new Zr.ConfigurationError("Must set valid subscription statuses");let r=(0,TN.parseValueToStringArray)(t),n=[];for(let i of r)SN.has(i)||n.push(i);if(n.length>0)throw new Zr.ConfigurationError(`Found the following invalid statuses: ${n.join(", ")}`);return t}catch(r){throw r instanceof Zr.ConfigurationError?new Zr.ConfigurationError(`MonetizationInboundPolicy '${e}' - The property 'allowedSubscriptionStatuses' is invalid. ${r.message}`):r}else return["active","incomplete","trialing"]}o(PN,"parseAllowedSubscriptionStatuses");oi.parseAllowedSubscriptionStatuses=PN});var $_=_(hc=>{"use strict";Object.defineProperty(hc,"__esModule",{value:!0});hc.MonetizationInboundPolicy=void 0;var Xr=un(),en=cp(),pc=Gi(),H_=k(),AN=mn(),tn=pe(),RN=Kt(),ON=Et(),q_=k_(),fc=F_(),Sf=class extends AN.InboundPolicy{static{o(this,"MonetizationInboundPolicy")}static getSubscription(e){return en.ContextData.get(e,Xr.METERING_SUBSCRIPTION_CONTEXT_DATA)}static setMeters(e,r){(0,fc.validateMeters)(r,"setMeters"),en.ContextData.set(e,Xr.DYNAMIC_METERS_CONTEXT_DATA,r)}async handler(e,r){(0,ON.optionValidator)(this.options,this.policyName).optional("allowRequestsWithoutSubscription","boolean").optional("allowRequestsOverQuota","boolean").optional("bucketId","string"),this.options.meterOnStatusCodes||(this.options.meterOnStatusCodes="200-299");let n=this.options.allowRequestsOverQuota??!1,i=(0,RN.statusCodesStringToNumberArray)(this.options.meterOnStatusCodes),s=en.ContextData.get(r,Xr.DYNAMIC_METERS_CONTEXT_DATA),a={...this.options.meters,...s};(0,fc.validateMeters)(a,this.policyName);let c=this.options.allowRequestsWithoutSubscription??!1,u=(0,fc.parseAllowedSubscriptionStatuses)(this.options.allowedSubscriptionStatuses,this.policyName);r.addResponseSendingFinalHook(async(b,v,A)=>{let g=en.ContextData.get(A,Xr.METERING_SUBSCRIPTION_CONTEXT_DATA);if((this.options.allowRequestsWithoutSubscription??!1)&&!g){A.log.debug(`MonetizationInboundPolicy '${this.policyName}' - No subscription found and property 'allowRequestsWithoutSubscription' is true`);return}if(!this.options.bucketId)if(pc.environment.ZUPLO_METERING_SERVICE_BUCKET_ID)this.options.bucketId=pc.environment.ZUPLO_METERING_SERVICE_BUCKET_ID;else throw new H_.ConfigurationError(`MonetizationInboundPolicy '${this.policyName}' - No bucketId property provided`);let O=en.ContextData.get(A,Xr.DYNAMIC_METERS_CONTEXT_DATA),V={...this.options.meters,...O};(0,fc.validateMeters)(V,this.policyName),i.includes(b.status)&&g&&V&&(A.log.debug(`MonetizationInboundPolicy '${this.policyName}' - Updating subscription '${g.id}' with meters '${JSON.stringify(V)} on response status '${b.status}'`),await(0,q_.consumeSubcriptionQuotas)(A,g.id,this.policyName,this.options.bucketId,V))});let l=e.user;if(!l)return c?e:tn.HttpProblems.unauthorized(e,r,{detail:"Unable to check subscription for anonymous user"});if(!this.options.bucketId)if(pc.environment.ZUPLO_METERING_SERVICE_BUCKET_ID)this.options.bucketId=pc.environment.ZUPLO_METERING_SERVICE_BUCKET_ID;else throw new H_.ConfigurationError(`MonetizationInboundPolicy '${this.policyName}' - No bucketId property provided`);let{sub:d}=l,p=await(0,q_.loadSubscription)(r,d,this.policyName,this.options.bucketId);if(!p)return r.log.warn("No valid subscription found"),c?e:tn.HttpProblems.unauthorized(e,r,{detail:"No valid subscription found"});if(!u.includes(p.status)&&!c)return r.log.warn(`Subscription '${p.id}' has status '${p.status}' which is not part of the allowed statuses.`),tn.HttpProblems.unauthorized(e,r,{detail:"No valid subscription found"});u.includes(p.status)&&(r.log.debug(`Loading subscription '${p.id}' for user sub '${d}' to ContextData`),en.ContextData.set(r,Xr.METERING_SUBSCRIPTION_CONTEXT_DATA,p));let f=en.ContextData.get(r,Xr.METERING_SUBSCRIPTION_CONTEXT_DATA);if(!f)return c?e:(r.log.warn("Subscription is not available for user"),tn.HttpProblems.paymentRequired(e,r,{detail:"Subscription is not available for user",title:"No Subscription"}));if(f&&Object.keys(f.meters).length===0)return r.log.error(`Quota is not set up for subscription '${f.id}'`),tn.HttpProblems.tooManyRequests(e,r,{detail:"Quota is not set up for the user's subscription",title:"Quota Exceeded"});let m=Object.keys(a).filter(b=>!Object.keys(f.meters).includes(b));if(m.length>0)return r.log.warn(`The following policy meters are not present in the subscription: ${m.join(", ")}`),tn.HttpProblems.tooManyRequests(e,r,{detail:`The following policy meters are not present in the subscription: ${m.join(", ")}`,title:"Quota Exceeded"});for(let b of Object.keys(a))if(f.meters[b].consumed<=0&&!n)return tn.HttpProblems.tooManyRequests(e,r,{detail:`Quota exceeded for meter '${b}'`,title:"Quota Exceeded"});return e}};hc.MonetizationInboundPolicy=Sf});var j_=_(mc=>{"use strict";Object.defineProperty(mc,"__esModule",{value:!0});mc.OktaJwtInboundPolicy=void 0;var NN=Xt(),CN=o(async(t,e,r,n)=>(0,NN.OpenIdJwtInboundPolicy)(t,e,{issuer:r.issuerUrl,audience:r.audience,jwkUrl:`${r.issuerUrl}/v1/keys`,allowUnauthenticatedRequests:r.allowUnauthenticatedRequests},n),"OktaJwtInboundPolicy");mc.OktaJwtInboundPolicy=CN});var V_=_(yc=>{"use strict";Object.defineProperty(yc,"__esModule",{value:!0});yc.PropelAuthJwtInboundPolicy=void 0;var xN=(Qs(),Io(Ws)),LN=Xt(),If,DN=o(async(t,e,r,n)=>{if(!If)try{If=await(0,xN.importSPKI)(r.verifierKey,"RS256")}catch(i){throw e.log.error("Could not import verifier key"),i}return(0,LN.OpenIdJwtInboundPolicy)(t,e,{issuer:r.authUrl,secret:If,allowUnauthenticatedRequests:r.allowUnauthenticatedRequests,subPropertyName:"user_id"},n)},"PropelAuthJwtInboundPolicy");yc.PropelAuthJwtInboundPolicy=DN});var B_=_(Z=>{"use strict";Object.defineProperty(Z,"__esModule",{value:!0});Z.throwIfStateNotObject=Z.throwIfStateNotNumber=Z.throwIfStateNotString=Z.throwIfStateUndefinedOrNull=Z.throwIfStateUndefined=Z.throwIfOptionNotObject=Z.throwIfOptionNotNumber=Z.throwIfOptionNotString=Z.throwIfOptionUndefinedOrNull=Z.throwIfOptionUndefined=Z.OptionTypeError=Z.OptionUndefinedError=Z.throwIfNotNumber=Z.throwIfNotString=Z.throwIfUndefinedOrNull=Z.throwIfUndefined=Z.ArgumentTypeError=Z.ArgumentUndefinedError=Z.ValidationError=void 0;var We=st(),ut=class extends Error{static{o(this,"ValidationError")}constructor(e){super(e)}};Z.ValidationError=ut;var Zi=class extends ut{static{o(this,"ArgumentUndefinedError")}constructor(e){super(`The argument '${e}' is undefined.`)}};Z.ArgumentUndefinedError=Zi;var Xi=class extends ut{static{o(this,"ArgumentTypeError")}constructor(e,r){super(`The argument '${e}' must be of type '${r}'.`)}};Z.ArgumentTypeError=Xi;function MN(t,e){if((0,We.isUndefined)(t))throw new Zi(e)}o(MN,"throwIfUndefined");Z.throwIfUndefined=MN;function Pf(t,e){if((0,We.isUndefinedOrNull)(t))throw new Zi(e)}o(Pf,"throwIfUndefinedOrNull");Z.throwIfUndefinedOrNull=Pf;function UN(t,e){if(Pf(t,e),!(0,We.isString)(t))throw new Xi(e,"string")}o(UN,"throwIfNotString");Z.throwIfNotString=UN;function kN(t,e){if(Pf(t,e),!(0,We.isNumber)(t))throw new Xi(e,"number")}o(kN,"throwIfNotNumber");Z.throwIfNotNumber=kN;var eo=class extends ut{static{o(this,"OptionUndefinedError")}constructor(e,r,n){super(`The option '${n}' on the ${e} named '${r}' is undefined.`)}};Z.OptionUndefinedError=eo;var si=class extends ut{static{o(this,"OptionTypeError")}constructor(e,r,n,i){super(`The option '${n}' on the ${e} named '${r}' must be of type '${i}'.`)}};Z.OptionTypeError=si;function FN(t,e,r,n){if((0,We.isUndefined)(n))throw new eo(t,e,r)}o(FN,"throwIfOptionUndefined");Z.throwIfOptionUndefined=FN;function gc(t,e,r,n){if((0,We.isUndefinedOrNull)(n))throw new eo(t,e,r)}o(gc,"throwIfOptionUndefinedOrNull");Z.throwIfOptionUndefinedOrNull=gc;function HN(t,e,r,n){if(gc(t,e,r,n),!(0,We.isString)(n))throw new si(t,e,r,"string")}o(HN,"throwIfOptionNotString");Z.throwIfOptionNotString=HN;function qN(t,e,r,n){if(gc(t,e,r,n),!(0,We.isNumber)(n))throw new si(t,e,r,"number")}o(qN,"throwIfOptionNotNumber");Z.throwIfOptionNotNumber=qN;function $N(t,e,r,n){if(gc(t,e,r,n),!(0,We.isObject)(n))throw new si(t,e,r,"object")}o($N,"throwIfOptionNotObject");Z.throwIfOptionNotObject=$N;function jN(t,e){if((0,We.isUndefined)(t))throw new ut(e)}o(jN,"throwIfStateUndefined");Z.throwIfStateUndefined=jN;function bc(t,e){if((0,We.isUndefinedOrNull)(t))throw new ut(e)}o(bc,"throwIfStateUndefinedOrNull");Z.throwIfStateUndefinedOrNull=bc;function VN(t,e){if(bc(t,e),!(0,We.isString)(t))throw new ut(e);return!0}o(VN,"throwIfStateNotString");Z.throwIfStateNotString=VN;function BN(t,e){if(bc(t,e),!(0,We.isNumber)(t))throw new ut(e);return!0}o(BN,"throwIfStateNotNumber");Z.throwIfStateNotNumber=BN;function GN(t,e){if(bc(t,e),!(0,We.isObject)(t))throw new ut(e);return!0}o(GN,"throwIfStateNotObject");Z.throwIfStateNotObject=GN});var G_=_(ai=>{"use strict";Object.defineProperty(ai,"__esModule",{value:!0});ai.InMemoryRedisClient=ai.StandardRedisClient=void 0;var Af=k(),_c=B_(),Rf=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,_c.throwIfNotString)(e,"redisClientUrl"),(0,_c.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,_c.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 Af.SystemError("Redis client failed with 401: Unauthorized"):new Af.SystemError(`Redis client failed with (${s.status}): ${typeof a=="string"?a:JSON.stringify(a,null,2)}`)}};ai.StandardRedisClient=Rf;var Of=class{static{o(this,"InMemoryRedisClient")}keyValueStore;constructor(){this.keyValueStore=new Map}isEnabled(){return!0}fetch({url:e,body:r,method:n}){if((0,_c.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 Af.SystemError("The in-memory redis client only supports /rate-limit calls")}};ai.InMemoryRedisClient=Of});var Q_=_(vc=>{"use strict";Object.defineProperty(vc,"__esModule",{value:!0});vc.RateLimitInboundPolicy=void 0;var KN=kr(),JN=Zt(),zN=No(),Ft=k(),WN=pe(),K_=Ze(),to=ie(),J_=G_(),z_=st(),Ec=(0,KN.debug)("zuplo:policies:RateLimitInboundPolicy"),QN="strict",YN=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"),ZN=o(async t=>({key:`ip-${YN(t)}`}),"getIP"),XN=o(async t=>({key:`user-${t.user?.sub??"anonymous"}`}),"getUser"),eC=o(async()=>({key:"all-2d77ce9d-9a3c-4206-9ab2-668cfd271095"}),"getAll"),wc;function tC(t,e){let r;if(wc)return wc;if(to.Environment.instance.isLocalDevelopment)return e.info("Using in-memory redis client for local development."),r=new J_.InMemoryRedisClient,wc=r,r;let{authApiJWT:n,redisURL:i}=to.Environment.instance;if(!(0,z_.isString)(i))throw new Ft.SystemError(`RateLimitInboundPolicy '${t}' - rate limit service URL not configured`);if(!(0,z_.isString)(n))throw new Ft.SystemError(`RateLimitInboundPolicy '${t}' - service authentication not configured`);if(i&&(r=J_.StandardRedisClient.initialize(i,n,to.Environment.instance.deploymentName??"unknown",to.Environment.instance.systemUserAgent)),!r||!r.isEnabled())throw new Ft.SystemError(`RateLimitInboundPolicy '${t}' - no redis ('${r}') or redis.isEnabled ('${r?.isEnabled}) is false`);return wc=r,r}o(tC,"getRedisClient");async function W_(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(W_,"getCountAndUpdateExpiry");function rC(t,e){let r;if(t.rateLimitBy==="function"){if(!t.identifier)throw new Ft.ConfigurationError(`RateLimitInboundPolicy '${e}' - If rateLimitBy set to 'function' options.identifier must be specified`);if(!t.identifier.module)throw new Ft.ConfigurationError(`RateLimitInboundPolicy '${e}' - If rateLimitBy set to 'function' options.identifier.module must be specified`);if(!t.identifier.export)throw new Ft.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 Ft.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 Ft.RuntimeError(u)}return c},"outerFunction")}o(rC,"wrapUserFunction");var nC="Retry-After",iC=o(async(t,e,r,n)=>{let i=Date.now(),s=K_.SystemLogMap.getLogger(e),a=o((u,l)=>{if(r.throwOnFailure)throw new Ft.SystemError(u,{cause:l});s.error(u,l)},"throwOrLog"),c=o((u,l)=>{let d={};return(!u||u==="retry-after")&&(d[nC]=l.toString()),WN.HttpProblems.tooManyRequests(t,e,void 0,d)},"rateLimited");try{let l={function:rC(r,n),user:XN,ip:ZN,all:eC}[r.rateLimitBy],d=await l(t,e,n),p=d.key,f=d.requestsAllowed??r.requestsAllowed,h=d.timeWindowMinutes??r.timeWindowMinutes,m=r.headerMode??"retry-after",b=tC(n,s),A=`bucket/${to.Environment.instance.build.BUILD_ID}/${n}/${p}`;if((r.mode??QN)==="async"){let O=await(0,JN.getPolicyCacheName)(n,r),V=new zN.ZoneCache(O,{logger:K_.SystemLogMap.getLogger(e)}),w=W_(A,h,b,s,e.requestId),T=await V.get(A);if(T!==void 0&&T<=Date.now()){Ec(`RateLimitInboundPolicy '${n}' - returning 429 from cache for '${A}' (async mode)`);let C=Math.round((T-Date.now())/1e3);return c(m,C)}return e.addEventListener("responseSending",C=>{try{let E=C,P=E.mutableResponse;E.mutableResponse=(async()=>{let x=await w;if(x.count>f){let X=Date.now()+x.ttlSeconds*1e3,q=V.put(A,X,x.ttlSeconds).catch(D=>{throw s.error(new Ft.SystemError("Error caching rate limit result.",{cause:D})),D});return e.waitUntil(q),Ec(`RateLimitInboundPolicy '${n}' - returning 429 from redis for '${A}' (async mode)`),c(m,x.ttlSeconds)}return P})()}catch(E){s.error(`RateLimitInboundPolicy '${n}' -error in responseSending`,E)}}),t}let S=await W_(A,h,b,s,e.requestId);return S.count>f?(Ec(`RateLimitInboundPolicy '${n}' - returning 429 from redis for '${A}' (strict mode)`),c(m,S.ttlSeconds)):t}catch(u){return a(u.message,u),t}finally{let u=Date.now()-i;Ec(`RateLimitInboundPolicy '${n}' - latency ${u}ms`)}},"RateLimitInboundPolicy");vc.RateLimitInboundPolicy=iC});var eE=_(Tc=>{"use strict";Object.defineProperty(Tc,"__esModule",{value:!0});Tc.ReadmeMetricsInboundPolicy=void 0;var oC=Ne(),Nf=ie(),Y_=Kt(),Cf;function Z_(t){let e=[];for(let[r,n]of t)e.push({name:r,value:n});return e}o(Z_,"headersToNameValuePairs");function sC(t){let e=[];return Object.entries(t).forEach(([r,n])=>{e.push({name:r,value:n})}),e}o(sC,"queryToNameValueParis");function aC(t){if(t===null)return;let e=parseFloat(t);if(!isNaN(e))return e}o(aC,"parseIntOrUndefined");var X_={};async function cC(t,e,r,n){let i=new Date,s=Date.now();return Cf||(Cf={name:"zuplo",version:Nf.Environment.instance.build.ZUPLO_VERSION,comment:`zuplo/${Nf.Environment.instance.build.ZUPLO_VERSION}`}),e.addResponseSendingFinalHook(async a=>{try{let c=r.userLabelPropertyPath&&t.user?(0,Y_.getValueFromRequestUser)(t.user,r.userLabelPropertyPath,"userLabelPropertyPath"):t.user?.sub,u=r.userEmailPropertyPath&&t.user?(0,Y_.getValueFromRequestUser)(t.user,r.userEmailPropertyPath,"userEmailPropertyPath"):void 0,l={clientIPAddress:t.headers.get("true-client-ip")??"",development:r.development!==void 0?r.development:Nf.Environment.instance.isDeno,group:{label:c,email:u,id:t.user?.sub??"anonymous"},request:{log:{creator:Cf,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:Z_(t.headers),queryString:sC(t.query)},response:{status:a.status,statusText:a.statusText,headers:Z_(a.headers),content:{size:aC(t.headers.get("content-length"))}}}]}}},d=X_[r.apiKey];if(!d){let p=r.apiKey;d=new oC.BatchDispatch("readme-metering-inbound-policy",10,async f=>{try{let h=r.url??"https://metrics.readme.io/request",m=await fetch(h,{method:"POST",body:JSON.stringify(f),headers:{"content-type":"application/json",authorization:`Basic ${btoa(p+":")}`}});m.status!==202&&e.log.error(`Unexpected response in ReadmeMeteringInboundPolicy '${n}'. ${m.status}: '${await m.text()}'`)}catch(h){throw e.log.error(`Error in ReadmeMeteringInboundPolicy '${n}': '${h.message}'`),h}}),X_[p]=d}d.enqueue(l),e.waitUntil(d.waitUntilFlushed())}catch(c){e.log.error(c)}}),t}o(cC,"ReadmeMetricsInboundPolicy");Tc.ReadmeMetricsInboundPolicy=cC});var tE=_(Sc=>{"use strict";Object.defineProperty(Sc,"__esModule",{value:!0});Sc.RemoveHeadersInboundPolicy=void 0;var uC=k(),lC=Ge(),dC=o(async(t,e,r,n)=>{let i=r?.headers;if(!i||!Array.isArray(i)||i.length===0)throw new uC.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 lC.ZuploRequest(t,{headers:s})},"RemoveHeadersInboundPolicy");Sc.RemoveHeadersInboundPolicy=dC});var rE=_(Ic=>{"use strict";Object.defineProperty(Ic,"__esModule",{value:!0});Ic.RemoveHeadersOutboundPolicy=void 0;var pC=k(),fC=o(async(t,e,r,n,i)=>{let s=n?.headers;if(!s||!Array.isArray(s)||s.length===0)throw new pC.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");Ic.RemoveHeadersOutboundPolicy=fC});var nE=_(Pc=>{"use strict";Object.defineProperty(Pc,"__esModule",{value:!0});Pc.RemoveQueryParamsInboundPolicy=void 0;var hC=k(),mC=Ge(),yC=o(async(t,e,r,n)=>{let i=r.params;if(!i||!Array.isArray(i)||i.length===0)throw new hC.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 mC.ZuploRequest(s.toString(),t)},"RemoveQueryParamsInboundPolicy");Pc.RemoveQueryParamsInboundPolicy=yC});var iE=_(Ac=>{"use strict";Object.defineProperty(Ac,"__esModule",{value:!0});Ac.ReplaceStringOutboundPolicy=void 0;var gC=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");Ac.ReplaceStringOutboundPolicy=gC});var sE=_(Rc=>{"use strict";Object.defineProperty(Rc,"__esModule",{value:!0});Rc.RequestSizeLimitInboundPolicy=void 0;var oE=o(()=>new Response("Maximum request size exceeded",{status:413,statusText:"Payload Too Large"}),"payloadTooLarge"),bC=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?oE():s&&n?t:(await t.clone().text()).length>r.maxSizeInBytes?oE():t},"RequestSizeLimitInboundPolicy");Rc.RequestSizeLimitInboundPolicy=bC});var Oc=_(lt=>{"use strict";Object.defineProperty(lt,"__esModule",{value:!0});lt.sanitizedIdentifierName=lt.getIdForRefSchema=lt.getIdForRequestBodySchema=lt.getIdForParameterSchema=lt.getRawOperationDataIdentifierName=void 0;function _C(t,e,r){return`_${rn(t+"_"+e+"_"+r)}`}o(_C,"getRawOperationDataIdentifierName");lt.getRawOperationDataIdentifierName=_C;function EC(t,e,r,n){return`_${rn(t.toLowerCase())}_`+e.toLowerCase()+"_"+r.toLowerCase()+`_${n.toLowerCase()}`}o(EC,"getIdForParameterSchema");lt.getIdForParameterSchema=EC;function wC(t,e,r){return`_${rn(t.toLowerCase())}_`+e.toLowerCase()+`_rb_${rn(r.toLowerCase())}`}o(wC,"getIdForRequestBodySchema");lt.getIdForRequestBodySchema=wC;function vC(t,e){return`_${rn(t)}__${rn(e)}`}o(vC,"getIdForRefSchema");lt.getIdForRefSchema=vC;function rn(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(rn,"sanitizedIdentifierName");lt.sanitizedIdentifierName=rn});var ro=_($e=>{"use strict";Object.defineProperty($e,"__esModule",{value:!0});$e.getErrorsFromValidator=$e.shouldReject=$e.shouldLog=$e.logErrors=$e.validateParameters=$e.getParametersForOperation=void 0;var TC=Fr(),SC=Oc(),IC=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");$e.getParametersForOperation=IC;var PC=o((t,e,r,n,i)=>{let s=[],a=!0,c=[];return t.forEach(u=>{let l=u.required||i==="path";if(l&&!e[u.name])a=!1,s.push(`Required ${i} parameter '${u.name}' not found`);else if(!(!l&&!e[u.name])){let d=(0,SC.getIdForParameterSchema)(r,n,i,u.name),p=TC.Gateway.instance.schemaValidator[d],f=p(e[u.name]),h=(0,$e.getErrorsFromValidator)(p.errors);f||(a=!1,c.push(`${i} parameter: ${u.name} : ${e[u.name]}`),s.push(`Invalid value for ${i} parameter: '${u.name}' ${h.join(", ")}`))}}),{isValid:a,invalidValues:c,errors:s}},"validateParameters");$e.validateParameters=PC;var AC=o((t,e,r,n,i)=>{n?t.log[e](r,n,i):t.log[e](r,i)},"logErrors");$e.logErrors=AC;var RC=o(t=>t==="log-only"||t==="reject-and-log","shouldLog");$e.shouldLog=RC;var OC=o(t=>t==="reject-only"||t==="reject-and-log","shouldReject");$e.shouldReject=OC;var NC=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");$e.getErrorsFromValidator=NC});var aE=_(Cc=>{"use strict";Object.defineProperty(Cc,"__esModule",{value:!0});Cc.handleBodyValidation=void 0;var CC=Fr(),Nc=pe(),xC=Oc(),et=ro();async function LC(t,e,r){if(!r.validateBody||r.validateBody==="none")return;let n;try{n=await e.clone().json()}catch(h){let m=`Error in request body for method : ${e.method} in route: ${t.route.path} with content-type: ${e.headers.get("Content-Type")}`,b=Nc.HttpProblems.badRequest(e,t,{detail:`${m}, see errors property for more details`,errors:`${h}`});if((0,et.shouldLog)(r.validateBody)&&(0,et.logErrors)(t,r.logLevel??"info",m,[n],h),(0,et.shouldReject)(r.validateBody))return b}if(!e.headers.get("Content-Type")){let h=`No content-type header defined in incoming request to ${e.method} in route: ${t.route.path}`,m=Nc.HttpProblems.badRequest(e,t,{detail:h});return(0,et.shouldLog)(r.validateBody)&&(0,et.logErrors)(t,r.logLevel??"info",h,[n],[h]),(0,et.shouldReject)(r.validateBody)?m:void 0}let i=e.headers.get("Content-Type"),s=i.indexOf(";");s>-1&&(i=i.substring(0,s));let a=(0,xC.getIdForRequestBodySchema)(t.route.path,e.method,i),c=CC.Gateway.instance.schemaValidator[a];if(!c){let h=`No schema defined for method: ${e.method} in route: ${t.route.path} with content-type: ${e.headers.get("Content-Type")}`,m=Nc.HttpProblems.badRequest(e,t,{detail:h});return(0,et.shouldLog)(r.validateBody)&&(0,et.logErrors)(t,r.logLevel??"info",h,[n],[h]),(0,et.shouldReject)(r.validateBody)?m:void 0}if(c(n))return;let l=c.errors,d="Request body did not pass validation",p=(0,et.getErrorsFromValidator)(l),f=Nc.HttpProblems.badRequest(e,t,{detail:`${d}, see errors property for more details`,errors:p});if((0,et.shouldLog)(r.validateBody)&&(0,et.logErrors)(t,r.logLevel??"info",d,[n],p),(0,et.shouldReject)(r.validateBody))return f}o(LC,"handleBodyValidation");Cc.handleBodyValidation=LC});var cE=_(xc=>{"use strict";Object.defineProperty(xc,"__esModule",{value:!0});xc.handleHeadersValidation=void 0;var DC=pe(),no=ro();function MC(t,e,r){if(!r.validateHeaders||r.validateHeaders==="none")return;let n={};e.headers.forEach((a,c)=>{n[c]=a});let i=(0,no.getParametersForOperation)(t),s=(0,no.validateParameters)(i.filter(a=>a.location==="header"),n,t.route.path,e.method.toLowerCase(),"header");if(!s.isValid){let a="Header validation failed",c=DC.HttpProblems.badRequest(e,t,{detail:`${a}, see errors property for more details`,errors:s.errors});if((0,no.shouldLog)(r.validateHeaders)&&(0,no.logErrors)(t,r.logLevel??"info",a,s.invalidValues,s.errors),(0,no.shouldReject)(r.validateHeaders))return c}}o(MC,"handleHeadersValidation");xc.handleHeadersValidation=MC});var uE=_(Lc=>{"use strict";Object.defineProperty(Lc,"__esModule",{value:!0});Lc.handlePathParameterValidation=void 0;var UC=pe(),io=ro();function kC(t,e,r){if(!r.validatePathParameters||r.validatePathParameters==="none")return;let n=(0,io.getParametersForOperation)(t),i=(0,io.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=UC.HttpProblems.badRequest(e,t,{detail:`${s}, see errors property for more details`,errors:i.errors});if((0,io.shouldLog)(r.validatePathParameters)&&(0,io.logErrors)(t,r.logLevel??"info",s,i.invalidValues,i.errors),(0,io.shouldReject)(r.validatePathParameters))return a}}o(kC,"handlePathParameterValidation");Lc.handlePathParameterValidation=kC});var lE=_(Dc=>{"use strict";Object.defineProperty(Dc,"__esModule",{value:!0});Dc.handleQueryParameterValidation=void 0;var FC=pe(),oo=ro();function HC(t,e,r){if(!r.validateQueryParameters||r.validateQueryParameters==="none")return;let n=(0,oo.getParametersForOperation)(t),i=(0,oo.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=FC.HttpProblems.badRequest(e,t,{detail:`${s}, see errors property for more details`,errors:i.errors});if((0,oo.shouldLog)(r.validateQueryParameters)&&(0,oo.logErrors)(t,r.logLevel??"info",s,i.invalidValues,i.errors),(0,oo.shouldReject)(r.validateQueryParameters))return a}}o(HC,"handleQueryParameterValidation");Dc.handleQueryParameterValidation=HC});var dE=_(nn=>{"use strict";Object.defineProperty(nn,"__esModule",{value:!0});nn.SchemaBasedRequestValidation=nn.RequestValidationInboundPolicy=void 0;var qC=aE(),$C=cE(),jC=uE(),VC=lE(),BC=o(async(t,e,r)=>{let n=(0,VC.handleQueryParameterValidation)(e,t,r);if(n!==void 0||(n=(0,jC.handlePathParameterValidation)(e,t,r),n!==void 0)||(n=(0,$C.handleHeadersValidation)(e,t,r),n!==void 0))return n;let i=await(0,qC.handleBodyValidation)(e,t,r);return i!==void 0?i:t},"RequestValidationInboundPolicy");nn.RequestValidationInboundPolicy=BC;nn.SchemaBasedRequestValidation=nn.RequestValidationInboundPolicy});var pE=_(Mc=>{"use strict";Object.defineProperty(Mc,"__esModule",{value:!0});Mc.RequireOriginInboundPolicy=void 0;var GC=k(),KC=pe(),JC=o(async(t,e,r,n)=>{if(r.origins===void 0||r.origins.length===0)throw new GC.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 KC.HttpProblems.forbidden(t,e,{detail:a})}return t},"RequireOriginInboundPolicy");Mc.RequireOriginInboundPolicy=JC});var fE=_(Uc=>{"use strict";Object.defineProperty(Uc,"__esModule",{value:!0});Uc.SetBodyInboundPolicy=void 0;var zC=Ge(),WC=o(async(t,e,r)=>new zC.ZuploRequest(t,{body:r.body}),"SetBodyInboundPolicy");Uc.SetBodyInboundPolicy=WC});var mE=_(kc=>{"use strict";Object.defineProperty(kc,"__esModule",{value:!0});kc.SetHeadersInboundPolicy=void 0;var hE=k(),QC=Ge(),YC=o(async(t,e,r,n)=>{let i=r.headers;if(!i||!Array.isArray(i)||i.length==0)throw new hE.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 hE.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 QC.ZuploRequest(t,{headers:s})},"SetHeadersInboundPolicy");kc.SetHeadersInboundPolicy=YC});var gE=_(Fc=>{"use strict";Object.defineProperty(Fc,"__esModule",{value:!0});Fc.SetHeadersOutboundPolicy=void 0;var yE=k(),ZC=o(async(t,e,r,n,i)=>{let s=n.headers;if(!s||!Array.isArray(s)||s.length==0)throw new yE.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 yE.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");Fc.SetHeadersOutboundPolicy=ZC});var _E=_(Hc=>{"use strict";Object.defineProperty(Hc,"__esModule",{value:!0});Hc.SetQueryParamsInboundPolicy=void 0;var bE=k(),XC=Ge(),ex=o(async(t,e,r,n)=>{let i=r.params;if(!i||!Array.isArray(i)||i.length==0)throw new bE.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 bE.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 XC.ZuploRequest(s.toString(),t)},"SetQueryParamsInboundPolicy");Hc.SetQueryParamsInboundPolicy=ex});var EE=_(qc=>{"use strict";Object.defineProperty(qc,"__esModule",{value:!0});qc.SetStatusOutboundPolicy=void 0;var tx=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");qc.SetStatusOutboundPolicy=tx});var wE=_($c=>{"use strict";Object.defineProperty($c,"__esModule",{value:!0});$c.SleepInboundPolicy=void 0;var rx=k(),nx=o(async t=>new Promise(r=>{setTimeout(r,t)}),"sleep"),ix=o(async(t,e,r,n)=>{if(!r||r.sleepInMs===void 0||isNaN(r.sleepInMs))throw new rx.ConfigurationError(`SleepInboundPolicy '${n} must have a valid options.sleepInMs value`);return await nx(r.sleepInMs),t},"SleepInboundPolicy");$c.SleepInboundPolicy=ix});var TE=_(jc=>{"use strict";Object.defineProperty(jc,"__esModule",{value:!0});jc.SupabaseJwtInboundPolicy=void 0;var vE=k(),ox=pe(),sx=Ge(),ax=Et(),cx=Xt(),ux=o(async(t,e,r,n)=>{(0,ax.optionValidator)(r,n).required("secret","string").optional("allowUnauthenticatedRequests","boolean").optional("requiredClaims","object");let i={secret:r.secret,allowUnauthenticatedRequests:r.allowUnauthenticatedRequests??!1},s=await(0,cx.OpenIdJwtInboundPolicy)(t,e,i,n);if(s instanceof Response)return s;if(!(s instanceof sx.ZuploRequest))throw new vE.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 vE.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?ox.HttpProblems.unauthorized(t,e,{detail:`Invalid JWT token - missing valid claims ${l.join(", ")}`}):s},"SupabaseJwtInboundPolicy");jc.SupabaseJwtInboundPolicy=ux});var IE=_(Vc=>{"use strict";Object.defineProperty(Vc,"__esModule",{value:!0});Vc.UpstreamAzureAdServiceAuthInboundPolicy=void 0;var lx=Zt(),dx=nr(),SE=k(),px=Ln(),fx=Et(),hx=o(async(t,e,r,n)=>{(0,fx.optionValidator)(r,n).required("activeDirectoryTenantId","string").required("activeDirectoryClientId","string").required("activeDirectoryClientSecret","string").optional("tokenRetries","number").optional("expirationOffsetSeconds","number");let i=await(0,lx.getPolicyCacheName)(n,r),s=new dx.MemoryZoneReadThroughCache(i,e),a=await s.get(n);if(!a){let c=await mx(r,e);s.put(n,c.access_token,c.expires_in-(r.expirationOffsetSeconds??300)),a=c.access_token}return t.headers.set("Authorization",`Bearer ${a}`),t},"UpstreamAzureAdServiceAuthInboundPolicy");Vc.UpstreamAzureAdServiceAuthInboundPolicy=hx;async function mx(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,px.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 SE.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 SE.RuntimeError("Response returned from Azure AD is not in the expected format.")}o(mx,"getAccessToken")});var AE=_(Bc=>{"use strict";Object.defineProperty(Bc,"__esModule",{value:!0});Bc.UpstreamFirebaseAdminAuthInboundPolicy=void 0;var yx=Zt(),gx=nr(),bx=k(),xf=Dn(),_x=Et(),PE="https://accounts.google.com/o/oauth2/token",Lf,Ex=o(async(t,e,r,n)=>{(0,_x.optionValidator)(r,n).required("serviceAccountJson","string"),Lf||(Lf=await xf.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=await(0,yx.getPolicyCacheName)(n,r),a=new gx.MemoryZoneReadThroughCache(s,e),c=await a.get(n);if(!c){let u=await(0,xf.getTokenFromGcpServiceAccount)({serviceAccount:Lf,audience:PE,payload:i}),l=await(0,xf.exchangeGgpJwtForIdToken)(PE,u,{retries:r.tokenRetries??3,retryDelayMs:10});if(!l.access_token)throw new bx.RuntimeError("Invalid OAuth response from Firebase");c=l.access_token,a.put(n,c,(l.expires_in??3600)-(r.expirationOffsetSeconds??300))}return t.headers.set("Authorization",`Bearer ${c}`),t},"UpstreamFirebaseAdminAuthInboundPolicy");Bc.UpstreamFirebaseAdminAuthInboundPolicy=Ex});var RE=_(Gc=>{"use strict";Object.defineProperty(Gc,"__esModule",{value:!0});Gc.UpstreamFirebaseUserAuthInboundPolicy=void 0;var wx=Zt(),vx=nr(),ci=k(),Tx=hf(),Df=Dn(),Sx=Kt(),Ix=Et(),Px="https://identitytoolkit.googleapis.com/google.identity.identitytoolkit.v1.IdentityToolkit",Ax=["acr","amr","at_hash","aud","auth_time","azp","cnf","c_hash","exp","iat","iss","jti","nbf","nonce"],Mf,Rx=o(async(t,e,r,n)=>{if((0,Ix.optionValidator)(r,n).required("serviceAccountJson","string").required("webApiKey","string").optional("developerClaims","object").optional("userId","string").optional("userIdPropertyPath","string"),!r.userId&&!r.userIdPropertyPath)throw new ci.ConfigurationError(`Either 'userId' or 'userIdPropertyPath' options must be set on policy '${n}'.`);let i={};if(typeof r.developerClaims<"u"){for(let p in r.developerClaims)if(Object.prototype.hasOwnProperty.call(r.developerClaims,p)){if(Ax.indexOf(p)!==-1)throw new ci.ConfigurationError(`Developer claim "${p}" is reserved and cannot be specified.`);i[p]=r.developerClaims[p]}}Mf||(Mf=await Df.GcpServiceAccount.init(r.serviceAccountJson));let s=r.userId;if(!s&&!r.userIdPropertyPath){if(!t.user)throw new ci.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 ci.RuntimeError(`Unable to apply userIdPropertyPath '${r.userIdPropertyPath}' as request.user is 'undefined'. Do you have an authentication policy before this policy?`);s=(0,Sx.getValueFromRequestUser)(t.user,r.userIdPropertyPath,"userIdPropertyPath")}if(!s)throw new ci.RuntimeError(`Unable to determine user from for the policy ${n}`);let a=await(0,wx.getPolicyCacheName)(n,r),c=new vx.MemoryZoneReadThroughCache(a,e),u={uid:s,claims:i},l=await(0,Tx.sha256)(JSON.stringify(u)),d=await c.get(l);if(!d){let p=await(0,Df.getTokenFromGcpServiceAccount)({serviceAccount:Mf,audience:Px,payload:u}),f=`https://identitytoolkit.googleapis.com/v1/accounts:signInWithCustomToken?key=${r.webApiKey}`,h=await(0,Df.exchangeFirebaseJwtForIdToken)(f,p,{retries:r.tokenRetries??3,retryDelayMs:10});if(!h.idToken)throw new ci.RuntimeError("Invalid token response from Firebase");d=h.idToken,c.put(l,d,(h.expiresIn?parseInt(h.expiresIn):3600)-(r.expirationOffsetSeconds??300))}return t.headers.set("Authorization",`Bearer ${d}`),t},"UpstreamFirebaseUserAuthInboundPolicy");Gc.UpstreamFirebaseUserAuthInboundPolicy=Rx});var NE=_(Kc=>{"use strict";Object.defineProperty(Kc,"__esModule",{value:!0});Kc.UpstreamGcpJwtInboundPolicy=void 0;var OE=Dn(),Ox=Et(),Uf,Nx=o(async(t,e,r,n)=>{(0,Ox.optionValidator)(r,n).required("audience","string").required("serviceAccountJson","string"),Uf||(Uf=await OE.GcpServiceAccount.init(r.serviceAccountJson));let i=await(0,OE.getTokenFromGcpServiceAccount)({serviceAccount:Uf,audience:r.audience});return t.headers.set("Authorization",`Bearer ${i}`),t},"UpstreamGcpJwtInboundPolicy");Kc.UpstreamGcpJwtInboundPolicy=Nx});var xE=_(Jc=>{"use strict";Object.defineProperty(Jc,"__esModule",{value:!0});Jc.UpstreamGcpServiceAuthInboundPolicy=void 0;var Cx=Zt(),xx=Vu(),Lx=nr(),so=k(),kf=Dn(),Dx=Kt(),Mx=Et(),CE="https://www.googleapis.com/oauth2/v4/token",Ff,Ux=o(async(t,e,r,n)=>{(0,Mx.optionValidator)(r,n).required("serviceAccountJson","string").optional("audience","string").optional("tokenRetries","number").optional("expirationOffsetSeconds","number"),Ff||(Ff=await kf.GcpServiceAccount.init(r.serviceAccountJson));let i={};if(r.scopes&&r.audience)throw new so.ConfigurationError("UpstreamGcpServiceAuthInboundPolicy - Either the 'scopes' or the 'audience' property can be set, not both.");if(r.scopes)try{let u=(0,Dx.parseValueToStringArray)(r.scopes);i.scope=u.join(" ")}catch(u){throw u instanceof so.ConfigurationError?new so.ConfigurationError(`UpstreamGcpServiceAuthInboundPolicy - The property 'scopes' is invalid. ${u.message}`):u}r.audience&&(i.target_audience=`${r.audience}`);let s=await(0,Cx.getPolicyCacheName)(n,r),a;r.useMemoryCacheOnly?a=new xx.MemoryCache(s):a=new Lx.MemoryZoneReadThroughCache(s,e);let c=await a.get(n);if(!c){let u=await(0,kf.getTokenFromGcpServiceAccount)({serviceAccount:Ff,audience:CE,payload:i}),l=await(0,kf.exchangeGgpJwtForIdToken)(CE,u,{retries:r.tokenRetries??3,retryDelayMs:10});if(r.audience){if(!l.id_token)throw new so.RuntimeError("Invalid token response from GCP");c=l.id_token}else{if(!l.access_token)throw new so.RuntimeError("Invalid token response from GCP");c=l.access_token}a.put(n,c,3600-(r.expirationOffsetSeconds??300))}return t.headers.set("Authorization",`Bearer ${c}`),t},"UpstreamGcpServiceAuthInboundPolicy");Jc.UpstreamGcpServiceAuthInboundPolicy=Ux});var DE=_(zc=>{"use strict";Object.defineProperty(zc,"__esModule",{value:!0});zc.ValidateJsonSchemaInbound=void 0;var kx=k(),LE=pe(),Fx=o(async(t,e,r)=>{let n=t.clone(),i;try{i=await n.json()}catch{return LE.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 kx.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 LE.HttpProblems.badRequest(t,e,{detail:"Incoming body did not pass schema validation",errors:c})},"ValidateJsonSchemaInbound");zc.ValidateJsonSchemaInbound=Fx});var kE=_((XK,UE)=>{"use strict";var Hx=Object.defineProperty,qx=Object.getOwnPropertyNames,B=o((t,e)=>Hx(t,"name",{value:e,configurable:!0}),"__name"),wt=o((t,e)=>o(function(){return e||(0,t[qx(t)[0]])((e={exports:{}}).exports,e),e.exports},"__require"),"__commonJS"),Hf=wt({"node_modules/fast-xml-parser/src/util.js"(t){"use strict";var e=":A-Za-z_\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD",r=e+"\\-.\\d\\u00B7\\u0300-\\u036F\\u203F-\\u2040",n="["+e+"]["+r+"]*",i=new RegExp("^"+n+"$"),s=B(function(c,u){let l=[],d=u.exec(c);for(;d;){let p=[];p.startIndex=u.lastIndex-d[0].length;let f=d.length;for(let h=0;h<f;h++)p.push(d[h]);l.push(p),d=u.exec(c)}return l},"getAllMatches"),a=B(function(c){let u=i.exec(c);return!(u===null||typeof u>"u")},"isName");t.isExist=function(c){return typeof c<"u"},t.isEmptyObject=function(c){return Object.keys(c).length===0},t.merge=function(c,u,l){if(u){let d=Object.keys(u),p=d.length;for(let f=0;f<p;f++)l==="strict"?c[d[f]]=[u[d[f]]]:c[d[f]]=u[d[f]]}},t.getValue=function(c){return t.isExist(c)?c:""},t.isName=a,t.getAllMatches=s,t.nameRegexp=n}}),ME=wt({"node_modules/fast-xml-parser/src/validator.js"(t){"use strict";var e=Hf(),r={allowBooleanAttributes:!1,unpairedTags:[]};t.validate=function(g,S){S=Object.assign({},r,S);let O=[],V=!1,w=!1;g[0]==="\uFEFF"&&(g=g.substr(1));for(let T=0;T<g.length;T++)if(g[T]==="<"&&g[T+1]==="?"){if(T+=2,T=i(g,T),T.err)return T}else if(g[T]==="<"){let C=T;if(T++,g[T]==="!"){T=s(g,T);continue}else{let E=!1;g[T]==="/"&&(E=!0,T++);let P="";for(;T<g.length&&g[T]!==">"&&g[T]!==" "&&g[T]!==" "&&g[T]!==`
74
+ `+d});let p=Math.floor((typeof c=="number"?c:Date.now())/1e3)-r.timestamp;if(i>0&&p>i)throw new Qr.StripeSignatureVerificationError(e,t,{message:"Timestamp outside the tolerance zone"});return!0}o(SR,"validateComputedSignature");function IR(t,e){return typeof t!="string"?null:t.split(",").reduce((r,n)=>{let i=n.split("=");return i[0]==="t"&&(r.timestamp=parseInt(i[1],10)),i[0]===e&&r.signatures.push(i[1]),r},{timestamp:-1,signatures:[]})}o(IR,"parseHeader");function PR(t,e){if(t.length!==e.length)return!1;let r=t.length,n=0;for(let i=0;i<r;++i)n|=t.charCodeAt(i)^e.charCodeAt(i);return n===0}o(PR,"secureCompare");async function Gb(t,e){let r=new TextEncoder,n=await crypto.subtle.importKey("raw",r.encode(e),{name:"HMAC",hash:{name:"SHA-256"}},!1,["sign"]),i=await crypto.subtle.sign("hmac",n,r.encode(t)),s=new Uint8Array(i),a=new Array(s.length);for(let c=0;c<s.length;c++)a[c]=Bp[s[c]];return a.join("")}o(Gb,"computeHMACSignatureAsync");Qn.computeHMACSignatureAsync=Gb;var Bp=new Array(256);for(let t=0;t<Bp.length;t++)Bp[t]=t.toString(16).padStart(2,"0")});var Et=_(Ua=>{"use strict";Object.defineProperty(Ua,"__esModule",{value:!0});Ua.optionValidator=void 0;var Yn=k(),AR=st();function RR(t,e){if(!(0,AR.isObject)(t))throw new Yn.ConfigurationError(`Options on policy '${e}' is expected to be an object. Received the type '${typeof t}'.`);let r=o((s,a,c)=>{let u=t[s];if(!(c&&u===void 0)){if(u===void 0)throw new Yn.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 Yn.ConfigurationError(`Value of '${String(s)}' on policy '${e}' must be an array. Received type ${typeof u}.`);if(typeof u!==a)throw new Yn.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 Yn.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 Yn.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(RR,"optionValidator");Ua.optionValidator=RR});var Kp=_(ka=>{"use strict";Object.defineProperty(ka,"__esModule",{value:!0});ka.StripeWebhookVerificationInboundPolicy=void 0;var OR=mn(),NR=pe(),CR=Kb(),xR=Et(),Gp=class extends OR.InboundPolicy{static{o(this,"StripeWebhookVerificationInboundPolicy")}async handler(e,r){(0,xR.optionValidator)(this.options,this.policyName).required("signingSecret","string").optional("tolerance","number");let n=e.headers.get("stripe-signature");try{let i=await e.clone().text();await(0,CR.constructEventAsync)(i,n,this.options.signingSecret)}catch(i){let s=i.message;if(i.type&&i.type==="StripeSignatureVerificationError"){let a=i.message,u=/Note:(.*)/g.exec(a);s=u?u[1].trim():a}return r.log.error("Error validating stripe webhook",s),NR.HttpProblems.badRequest(e,r,{title:"Webhook Error",detail:s})}return e}};ka.StripeWebhookVerificationInboundPolicy=Gp});var zb=_(Fa=>{"use strict";Object.defineProperty(Fa,"__esModule",{value:!0});Fa.isStripeWebhookEvent=void 0;var Jb=st();function LR(t){return t!==null&&typeof t=="object"&&"id"in t&&(0,Jb.isString)(t.id)&&"type"in t&&(0,Jb.isString)(t.type)}o(LR,"isStripeWebhookEvent");Fa.isStripeWebhookEvent=LR});var Wb=_(Ha=>{"use strict";Object.defineProperty(Ha,"__esModule",{value:!0});Ha.MeteringPlugin=void 0;var DR=Rt(),Jp=class extends DR.SystemRuntimePlugin{static{o(this,"MeteringPlugin")}};Ha.MeteringPlugin=Jp});var Qp=_(Wp=>{"use strict";Object.defineProperty(Wp,"__esModule",{value:!0});var zp=k(),MR={getSubscription:async({subscriptionId:t,stripeSecretKey:e,logger:r})=>{let n=await fetch(`https://api.stripe.com/v1/subscriptions/${t}`,{headers:{Authorization:`Bearer ${e}`}}),i=await n.json();if(n.status!==200){let s="Error retrieving subscription from Stripe API.";throw r.error(s,i),new zp.RuntimeError(s)}return i},getCustomer:async({customerId:t,stripeSecretKey:e,logger:r})=>{let n=await fetch(`https://api.stripe.com/v1/customers/${t}`,{headers:{Authorization:`Bearer ${e}`}}),i=await n.json();if(n.status!==200){let s="Error retrieving customer from Stripe API.";throw r.error(s,i),new zp.RuntimeError(s)}return i},getUpcomingInvoice:async({customerId:t,stripeSecretKey:e,logger:r})=>{let n=await fetch(`https://api.stripe.com/v1/invoices/upcoming?customer=${t}`,{headers:{Authorization:`Bearer ${e}`}}),i=await n.json();if(n.status!==200){let s="Error retrieving customer upcoming invoice from Stripe API.";throw r.error(s,i),new zp.RuntimeError(s)}return i}};Wp.default=MR});var Qb=_(Ar=>{"use strict";Object.defineProperty(Ar,"__esModule",{value:!0});Ar.deleteConsumer=Ar.createConsumerInvite=Ar.createConsumer=void 0;var Yp=k(),Zp=Ze(),Xp=ie(),ef=Ln(),tf="https://api-key-management-service-eq7z4lly2a-ue.a.run.app";async function UR({apiKeyBucketName:t,stripeSubscriptionId:e,stripeProductId:r,stripeCustomerId:n,managerEmail:i,managerSub:s,context:a}){let{authApiJWT:c}=Xp.Environment.instance,u=new URL(`/v1/buckets/${t}/consumers`,tf);u.searchParams.set("with-api-key","true");let l=crypto.randomUUID(),d={name:l,description:"API Subscription",tags:{subscriptionExternalId:e,planExternalIds:[r]},metadata:{stripeSubscriptionId:e,stripeProductId:r,stripeCustomerId:n},managers:[{sub:s,email:i}]},p=await(0,ef.fetchRetry)({retryDelayMs:5,retries:2,logger:Zp.SystemLogMap.getLogger(a)},u.toString(),{method:"POST",headers:{Authorization:`Bearer ${c}`,"content-type":"application/json"},body:JSON.stringify(d)}),f=await p.json();if(p.status!==200){let h="Error creating API Key Consumer";throw a.log.error(h,f),new Yp.RuntimeError(h)}return a.log.info("Successfully created API Key Consumer",{consumerId:l,stripeSubscriptionId:e,stripeProductId:r}),l}o(UR,"createConsumer");Ar.createConsumer=UR;async function kR({apiKeyBucketName:t,stripeSubscriptionId:e,stripeProductId:r,stripeCustomerId:n,managerEmail:i,context:s}){let{authApiJWT:a}=Xp.Environment.instance,c=new URL(`/v1/buckets/${t}/consumers`,tf);c.searchParams.set("with-api-key","true");let u=crypto.randomUUID(),l={name:u,description:"API Subscription",tags:{subscriptionExternalId:e,planExternalIds:[r]},metadata:{stripeSubscriptionId:e,stripeProductId:r,stripeCustomerId:n},managers:[i]},d=await(0,ef.fetchRetry)({retryDelayMs:5,retries:2,logger:Zp.SystemLogMap.getLogger(s)},c.toString(),{method:"POST",headers:{Authorization:`Bearer ${a}`,"content-type":"application/json"},body:JSON.stringify(l)}),p=await d.json();if(d.status!==200){let f="Error creating API Key Consumer";throw s.log.error(f,p),new Yp.RuntimeError(f)}return s.log.info("Successfully created API Key Consumer with Manager Invite",{consumerId:u,stripeSubscriptionId:e,stripeProductId:r}),u}o(kR,"createConsumerInvite");Ar.createConsumerInvite=kR;async function FR({apiKeyBucketName:t,consumerId:e,context:r}){let{authApiJWT:n}=Xp.Environment.instance,i=new URL(`/v1/buckets/${t}/consumers/${e}`,tf);i.searchParams.set("with-api-key","true");let s=await(0,ef.fetchRetry)({retryDelayMs:5,retries:2,logger:Zp.SystemLogMap.getLogger(r)},i.toString(),{method:"DELETE",headers:{Authorization:`Bearer ${n}`,"content-type":"application/json"},body:JSON.stringify({})});if(s.status!==204){let a=await s.json(),c="Error deleting API Key Consumer";throw r.log.error(c,a),new Yp.RuntimeError(c)}return r.log.info(`Successfully deleted API Key Consumer '${e}`),e}o(FR,"deleteConsumer");Ar.deleteConsumer=FR});var qa=_(Or=>{"use strict";Object.defineProperty(Or,"__esModule",{value:!0});Or.getSubscription=Or.updateSubscription=Or.createSubscription=void 0;var Rr=k(),rf=Ze(),nf=ie(),of=Ln(),sf=st();async function HR({context:t,stripeSubscriptionId:e,stripeProductId:r,customerKey:n,meteringBucketId:i,meteringBucketRegion:s,customerExternalId:a,subscriptionStatus:c}){let u={status:c,type:"periodic",renewalStrategy:"monthly",region:s,subscriptionExternalId:e,planExternalIds:[r],customerKey:n,customerExternalId:a},{authApiJWT:l,meteringServiceUrl:d}=nf.Environment.instance;if(!(0,sf.isNonEmptyString)(l))throw new Rr.SystemError("No Zuplo JWT token set.");let p=await(0,of.fetchRetry)({retryDelayMs:5,retries:2,logger:rf.SystemLogMap.getLogger(t)},`${d}/internal/v1/metering/${i}/subscriptions`,{headers:{Authorization:`Bearer ${l}`,"Content-Type":"application/json","zp-rid":t.requestId},method:"POST",body:JSON.stringify(u)});if(!p.ok){let f="Error creating metering subscription.",h;try{h=await p.json()}catch{h={status:p.status,statusText:p.statusText}}throw t.log.error(f,h),new Rr.RuntimeError(f)}t.log.info("Successfully created/updated metering subscription.",u)}o(HR,"createSubscription");Or.createSubscription=HR;async function qR({context:t,meteringSubscriptionId:e,meteringBucketId:r,requestBody:n}){let{authApiJWT:i,meteringServiceUrl:s}=nf.Environment.instance;if(!(0,sf.isNonEmptyString)(i))throw new Rr.SystemError("No Zuplo JWT token set.");let a=await(0,of.fetchRetry)({retryDelayMs:5,retries:2,logger:rf.SystemLogMap.getLogger(t)},`${s}/internal/v1/metering/${r}/subscriptions/${e}`,{headers:{Authorization:`Bearer ${i}`,"Content-Type":"application/json","zp-rid":t.requestId},method:"PATCH",body:JSON.stringify(n)});if(!a.ok){let c=`Error updating metering subscription to '${JSON.stringify(n)}'.`,u;try{u=await a.json()}catch{u={status:a.status,statusText:a.statusText}}throw t.log.error(c,u),new Rr.RuntimeError(c)}t.log.info(`Successfully update metering subscription to '${JSON.stringify(n)}'.`)}o(qR,"updateSubscription");Or.updateSubscription=qR;async function $R({context:t,stripeSubscriptionId:e,stripeCustomerId:r,meteringBucketId:n}){let{authApiJWT:i,meteringServiceUrl:s}=nf.Environment.instance;if(!(0,sf.isNonEmptyString)(i))throw new Rr.SystemError("No Zuplo JWT token set.");let a=await(0,of.fetchRetry)({retryDelayMs:5,retries:2,logger:rf.SystemLogMap.getLogger(t)},`${s}/internal/v1/metering/${n}/subscriptions?subscriptionExternalId=${e}`,{headers:{Authorization:`Bearer ${i}`,"zp-rid":t.requestId},method:"GET"});if(!a.ok){let u="Error querying for metering subscription.",l;try{l=await a.json()}catch{l={status:a.status,statusText:a.statusText}}throw t.log.error(u,l),new Rr.RuntimeError(u,l)}let c=await a.json();if(c.data.length===0){let u="Subscription was not found and the event was ignored by Stripe metering plugin webhook.";throw t.log.error(u),new Rr.RuntimeError(u)}if(c.data[0].customerExternalId!==r){let u="A subscription was not found for the customer provided and the event was ignored by Stripe metering plugin webhook.";throw t.log.error(u),new Rr.RuntimeError(u)}return c.data[0]}o($R,"getSubscription");Or.getSubscription=$R});var af=_($a=>{"use strict";Object.defineProperty($a,"__esModule",{value:!0});$a.stripeStatusToMeteringStatus=void 0;function jR(t){return t.replaceAll("_","-")}o(jR,"stripeStatusToMeteringStatus");$a.stripeStatusToMeteringStatus=jR});var Yb=_(Wi=>{"use strict";var VR=Wi&&Wi.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(Wi,"__esModule",{value:!0});var Yr=pe(),BR=VR(Qp()),cf=Qb(),GR=qa(),KR=af();async function JR(t,e,r,n){let i=r.data.object.id;if(!i)return e.log.warn(`Invalid Stripe webhook event. Expected event '${r.id}' to have '.data.object.id' be the subscription ID.`),Yr.HttpProblems.badRequest(t,e,{detail:"Invalid Stripe webhook event. Expected '.data.object.id' to be the subscription ID."});let s=r.data.object.plan;if(!s||!s.product)return e.log.warn(`Invalid Stripe API result. Expected event '${r.id}' to have a plan data.`),Yr.HttpProblems.badRequest(t,e,{detail:"Invalid Stripe API result. Expected event to have a plan data."});let a=r.data.object.customer;if(!a)return e.log.warn(`Invalid Stripe webhook event. Expected '.data.object.customer' to be provided by event '${r.id}'`),Yr.HttpProblems.badRequest(t,e,{detail:"Invalid Stripe webhook event. Expected '.data.object.customer' to be provided"});let c=s.product,u;if(r.data.object.metadata&&r.data.object.metadata.zuplo_created_by_email&&r.data.object.metadata.zuplo_created_by_sub)u=await(0,cf.createConsumer)({apiKeyBucketName:n.apiKeyBucketName,stripeProductId:c,stripeSubscriptionId:i,stripeCustomerId:a,managerEmail:r.data.object.metadata.zuplo_created_by_email,managerSub:r.data.object.metadata.zuplo_created_by_sub,context:e});else{let l=await BR.default.getCustomer({logger:e.log,stripeSecretKey:n.stripeSecretKey,customerId:a});if(!l.email)return e.log.warn(`Invalid Stripe API result. Expected customer '${a}' to contain email address.`),Yr.HttpProblems.badRequest(t,e,{detail:"Invalid Stripe API result. Expected customer to contain email address."});u=await(0,cf.createConsumerInvite)({apiKeyBucketName:n.apiKeyBucketName,stripeProductId:c,stripeSubscriptionId:i,stripeCustomerId:a,managerEmail:l.email,context:e})}if(!u)return Yr.HttpProblems.internalServerError(t,e,{detail:"No consumer was created, skipping creation of subscription"});try{let l=(0,KR.stripeStatusToMeteringStatus)(r.data.object.status);await(0,GR.createSubscription)({context:e,stripeProductId:c,stripeSubscriptionId:i,customerKey:u,meteringBucketId:n.meteringBucketId,meteringBucketRegion:n.meteringBucketRegion,customerExternalId:a,subscriptionStatus:l})}catch(l){return await(0,cf.deleteConsumer)({apiKeyBucketName:n.apiKeyBucketName,consumerId:u,context:e}),Yr.HttpProblems.internalServerError(t,e,{detail:l.message})}return Yr.HttpProblems.ok(t,e)}o(JR,"onCustomerSubscriptionCreated");Wi.default=JR});var Xb=_(lf=>{"use strict";Object.defineProperty(lf,"__esModule",{value:!0});var uf=pe(),Zb=qa();async function zR(t,e,r,n){let i=r.data.object.id;if(!i)return e.log.warn(`Invalid Stripe webhook event. Expected event '${r.id}' to have '.data.object.id' be the subscription ID.`),uf.HttpProblems.badRequest(t,e,{detail:"Invalid Stripe webhook event. Expected '.data.object.id' to be the subscription ID."});let s=r.data.object.customer;if(!s)return e.log.warn(`Invalid Stripe webhook event. Expected '.data.object.customer' to be provided by event '${r.id}'`),uf.HttpProblems.badRequest(t,e,{detail:"Invalid Stripe webhook event. Expected '.data.object.customer' to be provided"});let a=await(0,Zb.getSubscription)({context:e,stripeSubscriptionId:i,stripeCustomerId:s,meteringBucketId:n.meteringBucketId});return await(0,Zb.updateSubscription)({context:e,meteringSubscriptionId:a.id,meteringBucketId:n.meteringBucketId,requestBody:{status:"canceled",planExternalIds:a.planExternalIds}}),uf.HttpProblems.ok(t,e)}o(zR,"onCustomerSubscriptionDeleted");lf.default=zR});var e_=_(Yi=>{"use strict";var WR=Yi&&Yi.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(Yi,"__esModule",{value:!0});var Qi=pe(),QR=WR(Qp()),ja=qa(),YR=af();async function ZR(t,e,r,n){let i=r.data.object.id;if(!i)return e.log.warn(`Invalid Stripe webhook event. Expected event '${r.id}' to include '.data.object.id' as the subscription ID.`),Qi.HttpProblems.badRequest(t,e,{detail:"Invalid Stripe webhook event. Expected '.data.object.id' to be the subscription ID."});let s=r.data.object.customer;if(!s)return e.log.warn(`Invalid Stripe webhook event. Expected '.data.object.customer' to be provided by event '${r.id}'`),Qi.HttpProblems.badRequest(t,e,{detail:"Invalid Stripe webhook event. Expected '.data.object.customer' to be provided"});if(r.data.previous_attributes){let a=r.data.previous_attributes;if(a.status&&a.status!==r.data.object.status){e.log.debug(`Processing subscription status change from Stripe event '${r.id}'.`);let c=await(0,ja.getSubscription)({context:e,stripeSubscriptionId:i,stripeCustomerId:s,meteringBucketId:n.meteringBucketId}),u=(0,YR.stripeStatusToMeteringStatus)(r.data.object.status);return await(0,ja.updateSubscription)({context:e,meteringSubscriptionId:c.id,meteringBucketId:n.meteringBucketId,requestBody:{status:u,planExternalIds:c.planExternalIds}}),Qi.HttpProblems.ok(t,e)}if(a.plan&&a.plan.product!==r.data.object.plan.product){e.log.debug(`Processing subscription plan change from Stripe event '${r.id}'.`);let c=await(0,ja.getSubscription)({context:e,stripeSubscriptionId:i,stripeCustomerId:s,meteringBucketId:n.meteringBucketId}),u=r.data.object.plan.product,d=(await QR.default.getUpcomingInvoice({customerId:s,logger:e.log,stripeSecretKey:n.stripeSecretKey})).lines.data.filter(f=>f.proration&&f.price.product===u),p=0;return d.length===0?e.log.warn(`The plan change does not include proration details. Subscription event '${r.id}'`):p=parseFloat(d[0].unit_amount_excluding_tax)/d[0].price.unit_amount,await(0,ja.updateSubscription)({context:e,meteringSubscriptionId:c.id,meteringBucketId:n.meteringBucketId,requestBody:{status:c.status,planExternalIds:[u],prorate:p}}),Qi.HttpProblems.ok(t,e)}}return e.log.warn(`This update event '${r.id}' is not supported by Stripe metering plugin webhook.`),Qi.HttpProblems.badRequest(t,e,{detail:"This update event is not supported by Stripe metering plugin webhook."})}o(ZR,"onCustomerSubscriptionUpdated");Yi.default=ZR});var r_=_(Zn=>{"use strict";var pf=Zn&&Zn.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(Zn,"__esModule",{value:!0});Zn.StripeMeteringPlugin=void 0;var Va=Gi(),Ba=k(),XR=Bt(),eO=Kp(),t_=pe(),tO=ar(),rO=yn(),nO=fl(),iO=mt(),oO=ie(),sO=zb(),aO=Wb(),cO=pf(Yb()),uO=pf(Xb()),lO=pf(e_()),df=class extends aO.MeteringPlugin{static{o(this,"StripeMeteringPlugin")}options;constructor(e){super(),this.options=e}registerRoutes(e,r){let n=o(async(c,u)=>{if(this.options.__testMode===!0)return u.log.warn("Received Stripe webhook event of in test mode."),"success";let{meteringBucketId:l,apiKeyBucketName:d}=this.options;if(!l)if(Va.environment.ZUPLO_METERING_SERVICE_BUCKET_ID)l=Va.environment.ZUPLO_METERING_SERVICE_BUCKET_ID;else throw new Ba.ConfigurationError("StripeMeteringPlugin - No 'meteringBucketId' property provided");if(!d)if(Va.environment.ZUPLO_API_KEY_SERVICE_BUCKET_NAME)d=Va.environment.ZUPLO_API_KEY_SERVICE_BUCKET_NAME;else throw new Ba.ConfigurationError("StripeMeteringPlugin - No 'apiKeyBucketName' property provided");if(!oO.Environment.instance.build.ACCOUNT_NAME)throw new Ba.SystemError("Build environment is not configured correctly. Expected 'ACCOUNT_NAME' to be set.");let p=this.options.meteringBucketRegion??"us-central1";if(!dO(p))throw new Ba.ConfigurationError(`StripeMeteringPlugin - The value '${p}' on the property 'meteringBucketRegion' is invalid.`);let f=await c.json();if(!(0,sO.isStripeWebhookEvent)(f))return t_.HttpProblems.badRequest(c,u,{detail:"The received body was not in the expected format."});switch(u.log.info(`Received Stripe webhook event of type '${f.type}' with ID '${f.id}'.`),f.type){case"customer.subscription.created":return await(0,cO.default)(c,u,f,{meteringBucketId:l,apiKeyBucketName:d,meteringBucketRegion:p,stripeSecretKey:this.options.stripeSecretKey});case"customer.subscription.updated":return await(0,lO.default)(c,u,f,{meteringBucketId:l,apiKeyBucketName:d,meteringBucketRegion:p,stripeSecretKey:this.options.stripeSecretKey});case"customer.subscription.deleted":return await(0,uO.default)(c,u,f,{meteringBucketId:l});default:return t_.HttpProblems.badRequest(c,u,{detail:"Event is not supported by Stripe metering plugin webhook."})}},"stripeWebhookHandler"),i=(0,rO.createInternalPolicyProcessor)({inboundPolicies:[new eO.StripeWebhookVerificationInboundPolicy({signingSecret:this.options.webhooks.signingSecret,tolerance:this.options.webhooks.tolerance},"stripe-webhook-verification")]}),s=new XR.Pipeline({processors:[tO.metricsProcessor,i],handler:n,gateway:r}),a=new iO.SystemRouteConfiguration({label:"PLUGIN_STRIPE_WEBHOOK_ROUTE",methods:["POST"],path:this.options.webhooks.routePath??"/__plugins/stripe/webhooks",systemRouteName:nO.SystemRouteName.StripePlugin});e.addRoute(a,s.execute)}};Zn.StripeMeteringPlugin=df;function dO(t){return t!==null&&typeof t=="string"&&["us-central1","europe-west4"].includes(t)}o(dO,"isMetricsRegion")});var a_=_(Xn=>{"use strict";Object.defineProperty(Xn,"__esModule",{value:!0});Xn.AmberfloMeteringInboundPolicy=Xn.AmberfloMeteringPolicy=void 0;var n_=k(),pO=Ne(),i_=Kt(),s_=new WeakMap,o_={},ff=class{static{o(this,"AmberfloMeteringPolicy")}static setRequestProperties(e,r){s_.set(e,r)}};Xn.AmberfloMeteringPolicy=ff;async function fO(t,e,r,n){if(!r.statusCodes)throw new n_.ConfigurationError(`Invalid AmberfloMeterInboundPolicy '${n}': options.statusCodes must be an array of HTTP status code numbers`);let i=(0,i_.statusCodesStringToNumberArray)(r.statusCodes);return e.addResponseSendingFinalHook(async s=>{if(i.includes(s.status)){let a=s_.get(e),c=r.customerId;if(r.customerIdPropertyPath){if(!t.user)throw new n_.RuntimeError(`Unable to apply customerIdPropertyPath '${r.customerIdPropertyPath}' as request.user is 'undefined'.`);c=(0,i_.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)},f=o_[r.apiKey];if(!f){let h=r.apiKey,m=t.headers.get("zm-test-id")??"";f=new pO.BatchDispatch("amberflo-ingest-meter",10,async b=>{try{let v=r.url??"https://app.amberflo.io/ingest",A=await fetch(v,{method:"POST",body:JSON.stringify(b),headers:{"content-type":"application/json","x-api-key":h,"zm-test-id":m}});A.ok||e.log.error(`Unexpected response in AmberfloMeteringInboundPolicy '${n}'. ${A.status}: ${await A.text()}`)}catch(v){throw e.log.error(`Error in AmberfloMeteringInboundPolicy '${n}': ${v.message}`),v}}),o_[h]=f}f.enqueue(p),e.waitUntil(f.waitUntilFlushed())}}),t}o(fO,"AmberfloMeteringInboundPolicy");Xn.AmberfloMeteringInboundPolicy=fO});var hf=_(Ga=>{"use strict";Object.defineProperty(Ga,"__esModule",{value:!0});Ga.sha256=void 0;async function hO(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(hO,"sha256");Ga.sha256=hO});var Zt=_(Ka=>{"use strict";Object.defineProperty(Ka,"__esModule",{value:!0});Ka.getPolicyCacheName=void 0;var mO=hf(),c_=new Map;async function yO(t,e){let r,n=c_.get(t);return n!==void 0?r=n:(r=`zuplo-policy-${await(0,mO.sha256)(JSON.stringify({policyName:t,options:e}))}`,c_.set(t,r)),r}o(yO,"getPolicyCacheName");Ka.getPolicyCacheName=yO});var gf=_(Ja=>{"use strict";Object.defineProperty(Ja,"__esModule",{value:!0});Ja.ApiKeyInboundPolicy=void 0;var gO=Zt(),bO=nr(),u_=Gi(),mf=k(),_O=Gt(),l_=Ze(),yf=ie(),EO=Ln(),d_="key-metadata-cache-type";function wO(t,e){return e.authScheme===""?t:t.replace(`${e.authScheme} `,"")}o(wO,"getKeyValue");async function vO(t,e,r,n){if(!r.bucketName)if(u_.environment.ZUPLO_API_KEY_SERVICE_BUCKET_NAME)r.bucketName=u_.environment.ZUPLO_API_KEY_SERVICE_BUCKET_NAME;else throw new mf.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 mf.ConfigurationError(`ApiKeyInboundPolicy '${n}' - minimum cacheTtlSeconds value is 60s, '${i.cacheTtlSeconds}' is invalid`);let s=o(v=>i.allowUnauthenticatedRequests?t:_O.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=wO(a,i);if(!c||c==="")return s("No key present");let u=await TO(c),l=await(0,gO.getPolicyCacheName)(n,i),d=new bO.MemoryZoneReadThroughCache(l,e),p=await d.get(u);if(p&&p.isValid===!0)return t.user=p.user,t;if(p&&!p.isValid)return p.typeId!==d_&&l_.SystemLogMap.getLogger(e).error(`ApiKeyInboundPolicy '${n}' - cached metadata has invalid typeId '${p.typeId}'`,p),s("Authorization Failed");let f={key:c},h=await(0,EO.fetchRetry)({retryDelayMs:5,retries:2,logger:l_.SystemLogMap.getLogger(e)},`${yf.Environment.instance.apiKeyServiceUrl}/v1/$validate/${i.bucketName}`,{method:"POST",headers:{"content-type":"application/json","zp-rid":e.requestId,"zp-dn":yf.Environment.instance.deploymentName??"unknown","User-Agent":yf.Environment.instance.systemUserAgent},body:JSON.stringify(f)});if(h.status===401)return e.log.info(`ApiKeyInboundPolicy '${n}' - 401 response from Key Service`),s("Authorization Failed");if(h.status!==200){try{let v=await h.text(),A=JSON.parse(v);e.log.error("Unexpected response from key service",A)}catch{e.log.error("Invalid response from key service")}throw new mf.RuntimeError(`ApiKeyInboundPolicy '${n}' - unexpected response from Key Service. Status: ${h.status}`)}let m=await h.json(),b={isValid:!0,typeId:d_,user:{sub:m.name,data:m.metadata}};return t.user=b.user,d.put(u,b,i.cacheTtlSeconds),t}o(vO,"ApiKeyInboundPolicy");Ja.ApiKeyInboundPolicy=vO;async function TO(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(TO,"hashValue")});var p_=_(za=>{"use strict";Object.defineProperty(za,"__esModule",{value:!0});za.ApiAuthKeyInboundPolicy=void 0;var SO=gf();za.ApiAuthKeyInboundPolicy=SO.ApiKeyInboundPolicy});var Xt=_(Wa=>{"use strict";Object.defineProperty(Wa,"__esModule",{value:!0});Wa.OpenIdJwtInboundPolicy=void 0;var _f=(Qs(),Io(Ws)),Ef=k(),IO=pe(),bf={},PO=o(async(t,e)=>{if(!e.jwkUrl||typeof e.jwkUrl!="string")throw new Ef.ConfigurationError("Invalid State - jwkUrl not set");bf[e.jwkUrl]||(bf[e.jwkUrl]=(0,_f.createRemoteJWKSet)(new URL(e.jwkUrl),e.headers?{headers:e.headers}:void 0));let{payload:r}=await(0,_f.jwtVerify)(t,bf[e.jwkUrl],{issuer:e.issuer,audience:e.audience});return r},"jwkVerifier"),AO=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,_f.jwtVerify)(t,r,{issuer:e.issuer,audience:e.audience});return n},"secretVerifier"),RO=o(async(t,e,r,n)=>{let i=t.headers.get("Authorization"),s="bearer ",a=o(f=>IO.HttpProblems.unauthorized(t,e,{detail:f}),"unauthorizedResponse");if(!r.jwkUrl&&!r.secret)throw new Ef.ConfigurationError(`OpenIdJwtInboundPolicy policy '${n}': One of 'jwkUrl' or 'secret' options are required.`);if(r.jwkUrl&&r.secret)throw new Ef.ConfigurationError(`OpenIdJwtInboundPolicy policy '${n}': Only one of 'jwkUrl' and 'secret' options should be provided.`);let c=r.jwkUrl?PO:AO,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 f=i.substring(s.length);if(!f||f.length===0)return a("No bearer token on authorization header");try{return await c(f,r)}catch(h){let m=new URL(t.url);return"code"in h&&h.code==="ERR_JWT_EXPIRED"?e.log.warn(`Expired token used on url: ${m.pathname} `,h):e.log.warn(`Invalid token on: ${t.method} ${m.pathname}`,h),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");Wa.OpenIdJwtInboundPolicy=RO});var f_=_(Qa=>{"use strict";Object.defineProperty(Qa,"__esModule",{value:!0});Qa.Auth0JwtInboundPolicy=void 0;var OO=Xt(),NO=o(async(t,e,r,n)=>(0,OO.OpenIdJwtInboundPolicy)(t,e,{issuer:`https://${r.auth0Domain}/`,audience:r.audience,jwkUrl:`https://${r.auth0Domain}/.well-known/jwks.json`,allowUnauthenticatedRequests:r.allowUnauthenticatedRequests},n),"Auth0JwtInboundPolicy");Qa.Auth0JwtInboundPolicy=NO});var h_=_(Ya=>{"use strict";Object.defineProperty(Ya,"__esModule",{value:!0});Ya.BasicAuthInboundPolicy=void 0;var CO=pe(),xO=o(async(t,e,r)=>{let n=t.headers.get("Authorization"),i="basic ",s=o(l=>CO.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 f=d.substring(0,p),h=d.substring(p+1),m=r.accounts.find(b=>b.username===f&&b.password===h);return m||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");Ya.BasicAuthInboundPolicy=xO});var m_=_(Za=>{"use strict";Object.defineProperty(Za,"__esModule",{value:!0});Za.CachingInboundPolicy=void 0;var LO=Zt(),DO=["cdn-cache-control","cloudflare-cdn-cache-control","surrogate-control","cache-tag","expires"];async function MO(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(MO,"digestMessage");var UO=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 MO(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 kO(t,e,r,n){let i=await(0,LO.getPolicyCacheName)(n,r),s=await caches.open(i),a=r?.cacheHttpMethods?.map(l=>l.toUpperCase())??["GET"],c=await UO(t,r),u=await s.match(c);return u||(e.addEventListener("responseSent",l=>{try{let d=r.statusCodes??[200,206,301,302,303,404,410],p=l.response.clone();if(!d.includes(p.status)||!a.includes(t.method.toUpperCase()))return;let f=r?.expirationSecondsTtl??60,h=new Response(p.body,p);DO.forEach(m=>h.headers.delete(m)),h.headers.set("cache-control",`s-maxage=${f}`),e.waitUntil(s.put(c,h))}catch(d){e.log.error(`Error in caching-inbound-policy '${n}': "${d.message}"`,d)}}),t)}o(kO,"CachingInboundPolicy");Za.CachingInboundPolicy=kO});var y_=_(Xa=>{"use strict";Object.defineProperty(Xa,"__esModule",{value:!0});Xa.ChangeMethodInboundPolicy=void 0;var FO=k(),HO=Ge(),qO=o(async(t,e,r,n)=>{if(!r.method)throw new FO.ConfigurationError(`ChangeMethodInboundPolicy '${n}' options.method must be valid HttpMethod`);return new HO.ZuploRequest(t,{method:r.method})},"ChangeMethodInboundPolicy");Xa.ChangeMethodInboundPolicy=qO});var g_=_(ec=>{"use strict";Object.defineProperty(ec,"__esModule",{value:!0});ec.ClearHeadersInboundPolicy=void 0;var $O=Ge(),jO=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 $O.ZuploRequest(t,{headers:i})},"ClearHeadersInboundPolicy");ec.ClearHeadersInboundPolicy=jO});var b_=_(tc=>{"use strict";Object.defineProperty(tc,"__esModule",{value:!0});tc.ClearHeadersOutboundPolicy=void 0;var VO=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");tc.ClearHeadersOutboundPolicy=VO});var __=_(rc=>{"use strict";Object.defineProperty(rc,"__esModule",{value:!0});rc.ClerkJwtInboundPolicy=void 0;var BO=Xt(),GO=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,BO.OpenIdJwtInboundPolicy)(t,e,{issuer:i.href.slice(0,-1),jwkUrl:s.toString(),allowUnauthenticatedRequests:r.allowUnauthenticatedRequests},n)},"ClerkJwtInboundPolicy");rc.ClerkJwtInboundPolicy=GO});var w_=_(nc=>{"use strict";Object.defineProperty(nc,"__esModule",{value:!0});nc.CognitoJwtInboundPolicy=void 0;var E_=k(),KO=Xt(),JO=o(async(t,e,r,n)=>{if(!r.userPoolId)throw new E_.ConfigurationError("userPoolId must be set in the options for CognitoJwtInboundPolicy");if(!r.region)throw new E_.ConfigurationError("region must be set in the options for CognitoJwtInboundPolicy");return(0,KO.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");nc.CognitoJwtInboundPolicy=JO});var T_=_(ic=>{"use strict";Object.defineProperty(ic,"__esModule",{value:!0});ic.CompositeInboundPolicy=void 0;var zO=k(),WO=Fr(),v_=yn(),QO=o(async(t,e,r,n)=>{if(!r.policies||r.policies.length===0)throw new zO.ConfigurationError(`CompositeInboundPolicy '${n}' must have valid policies defined`);let i=WO.Gateway.instance,s=(0,v_.getInboundPolicyInstances)(r.policies,i?.routeData.policies);return(0,v_.toStackedInboundHandler)(s)(t,e)},"CompositeInboundPolicy");ic.CompositeInboundPolicy=QO});var S_=_(sc=>{"use strict";Object.defineProperty(sc,"__esModule",{value:!0});sc.CurityPhantomTokenInboundPolicy=void 0;var YO=Zt(),ZO=nr(),oc=pe(),XO=o(async(t,e,r,n)=>{let i=t.headers.get("Authorization");if(!i)return oc.HttpProblems.unauthorized(t,e,{detail:"No authorization header"});let s=eN(i);if(!s)return oc.HttpProblems.unauthorized(t,e,{detail:"Failed to parse token from Authorization header"});let a=await(0,YO.getPolicyCacheName)(n,r),c=new ZO.MemoryZoneReadThroughCache(a,e),u=await c.get(s);if(!u){let l=await fetch(r.introspectionUrl,{headers:{Authorization:"Basic "+btoa(`${r.clientId}:${r.clientSecret}`),Accept:"application/jwt","Content-Type":"application/x-www-form-urlencoded"},method:"POST",body:"token="+s+"&token_type_hint=access_token"}),d=await l.text();if(l.status===200)u=d,c.put(s,u,r.cacheDurationSeconds??600);else return l.status>=500?(e.log.error(`Error introspecting token - ${l.status}: '${d}'`),oc.HttpProblems.internalServerError(t,e,{detail:"Problem encountered authorizing the HTTP request"})):oc.HttpProblems.unauthorized(t,e)}return t.headers.set("Authorization",`Bearer ${u}`),t},"CurityPhantomTokenInboundPolicy");sc.CurityPhantomTokenInboundPolicy=XO;function eN(t){return t.split(" ")[0]==="Bearer"?t.split(" ")[1]:null}o(eN,"getToken")});var I_=_(ac=>{"use strict";Object.defineProperty(ac,"__esModule",{value:!0});ac.FirebaseJwtInboundPolicy=void 0;var tN=Et(),rN=Xt(),nN=o(async(t,e,r,n)=>((0,tN.optionValidator)(r,n).required("projectId","string").optional("allowUnauthenticatedRequests","boolean"),(0,rN.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");ac.FirebaseJwtInboundPolicy=nN});var P_=_(cc=>{"use strict";Object.defineProperty(cc,"__esModule",{value:!0});cc.FormDataToJsonInboundPolicy=void 0;var iN=Ge(),oN=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 iN.ZuploRequest(t,{body:JSON.stringify(c),headers:u})},"FormDataToJsonInboundPolicy");cc.FormDataToJsonInboundPolicy=oN});var A_=_(uc=>{"use strict";Object.defineProperty(uc,"__esModule",{value:!0});uc.GeoFilterInboundPolicy=void 0;var sN=k(),aN=pe(),ei="__unknown__",cN=o(async(t,e,r,n)=>{let i={allow:{countries:ri(r.allow?.countries,"allow.countries",n),regionCodes:ri(r.allow?.regionCodes,"allow.regionCode",n),asns:ri(r.allow?.asns,"allow.asOrganization",n)},block:{countries:ri(r.block?.countries,"block.countries",n),regionCodes:ri(r.block?.regionCodes,"block.regionCode",n),asns:ri(r.block?.asns,"block.asOrganization",n)},ignoreUnknown:r.ignoreUnknown!==!1},s=e.incomingRequestProperties.country?.toLowerCase()??ei,a=e.incomingRequestProperties.regionCode?.toLowerCase()??ei,c=e.incomingRequestProperties.asn?.toString()??ei,u=i.ignoreUnknown&&s===ei,l=i.ignoreUnknown&&a===ei,d=i.ignoreUnknown&&c===ei,p=i.allow.countries,f=i.allow.regionCodes,h=i.allow.asns;if(p.length>0&&!p.includes(s)&&!u||f.length>0&&!f.includes(a)&&!l||h.length>0&&!h.includes(c)&&!d)return ti(t,e,n,s,a,c);let m=i.block.countries,b=i.block.regionCodes,v=i.block.asns;return m.length>0&&m.includes(s)&&!u||b.length>0&&b.includes(a)&&!l||v.length>0&&v.includes(c)&&!d?ti(t,e,n,s,a,c):t},"GeoFilterInboundPolicy");uc.GeoFilterInboundPolicy=cN;function ti(t,e,r,n,i,s){return e.log.debug(`Request blocked by GeoFilterInboundPolicy '${r}' (country: '${n}', regionCode: '${i}', asn: '${s}')`),aN.HttpProblems.forbidden(t,e,{geographicContext:{country:n,regionCode:i,asn:s}})}o(ti,"blockedResponse");function ri(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 sN.ConfigurationError(`Invalid '${e}' for GeoFilterInboundPolicy '${r}': '${t}', must be a string or string[]`)}o(ri,"toLowerStringArray")});var R_=_(lc=>{"use strict";Object.defineProperty(lc,"__esModule",{value:!0});lc.JWTScopeValidationInboundPolicy=void 0;var uN=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");lc.JWTScopeValidationInboundPolicy=uN});var N_=_(dc=>{"use strict";Object.defineProperty(dc,"__esModule",{value:!0});dc.MockApiInboundPolicy=void 0;var lN=pe(),dN=o(async(t,e,r,n)=>{let i=e.route.raw().responses;if(!i)return wf(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 wf(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(f=>{a.push({responseName:c,contentName:l,exampleName:f,exampleValue:d[f]})})})}),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 O_(a[c])}else return a.length>0?O_(a[0]):wf(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");dc.MockApiInboundPolicy=dN;function O_(t){let e=JSON.stringify(t.exampleValue,null,2),r=new Headers;switch(r.set("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(O_,"generateResponse");var wf=o((t,e,r,n)=>{let i=`Error in policy: ${t} - On route ${e.method} ${r.route.path}. ${n}`;return lN.HttpProblems.internalServerError(e,r,{detail:i})},"getProblemDetailResponse")});var M_=_(ni=>{"use strict";Object.defineProperty(ni,"__esModule",{value:!0});ni.MoesifInboundPolicy=ni.setMoesifContext=void 0;var pN=k(),fN=Ne(),hN="Incoming",mN={logRequestBody:!0,logResponseBody:!0};function C_(t){let e={};return t.forEach((r,n)=>{e[n]=r}),e}o(C_,"headersToObject");function x_(){return new Date().toISOString()}o(x_,"timestamp");var vf=new WeakMap,yN={};function gN(t,e){let r=vf.get(t);r||(r=yN);let n=Object.assign({...r},e);vf.set(t,n)}o(gN,"setMoesifContext");ni.setMoesifContext=gN;async function L_(t,e){let r=t.headers.get("content-type");if(r&&r.indexOf("json")!==0)try{return await t.clone().json()}catch(i){e.log.error(i)}let n=await t.clone().text();return e.log.debug({textBody:n}),n}o(L_,"readBody");var bN={},Tf;function D_(){if(!Tf)throw new pN.RuntimeError("Invalid State - no _lastLogger");return Tf}o(D_,"getLastLogger");function _N(t){let e=bN[t];return e||(e=new fN.BatchDispatch("moesif-inbound",100,async r=>{let n=JSON.stringify(r);D_().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||D_().error({status:i.status,body:await i.text()})})),e}o(_N,"getDispatcher");async function EN(t,e,r,n){Tf=e.log;let i=x_(),s=Object.assign(mN,r);if(!s.applicationId)throw new Error(`Invalid configuration for MoesifInboundPolicy '${n}' - applicationId is required`);let a=s.logRequestBody?await L_(t,e):void 0;return e.addResponseSendingFinalHook(async(c,u)=>{let l=_N(s.applicationId),d=t.headers.get("true-client-ip"),p=vf.get(e)??{},f={time:i,uri:t.url,verb:t.method,body:a,ip_address:d??void 0,api_version:p.apiVersion,headers:C_(t.headers)},h=s.logResponseBody?await L_(c,e):void 0,m={time:x_(),status:c.status,headers:C_(c.headers),body:h},b={request:f,response:m,user_id:p.userId??u.user?.sub,session_token:p.sessionToken,company_id:p.companyId,metadata:p.metadata,direction:hN};l.enqueue(b),e.waitUntil(l.waitUntilFlushed())}),t}o(EN,"MoesifInboundPolicy");ni.MoesifInboundPolicy=EN});var F_=_(ii=>{"use strict";Object.defineProperty(ii,"__esModule",{value:!0});ii.consumeSubcriptionQuotas=ii.loadSubscription=void 0;var U_=Ze(),k_=ie();async function wN(t,e,r,n){let i=U_.SystemLogMap.getLogger(t),{authApiJWT:s,meteringServiceUrl:a}=k_.Environment.instance,c;try{let l=await fetch(`${a}/internal/v1/metering/${n}/subscriptions?customerKey=${e}`,{headers:{Authorization:`Bearer ${s}`,"zp-rid":t.requestId},method:"GET"});if(l.ok)c=await l.json();else{let d=await l.json(),p=d.detail??d.title??"Unknown error on quota consumption.";t.log.error(`MonetizationInboundPolicy '${r}' - Error loading subscription. ${l.status} - ${p}`),i.error(`MonetizationInboundPolicy '${r}' - Error loading subscription.${l.status} - ${p}`)}}catch(l){i.error(`MonetizationInboundPolicy '${r}' - Error loading subscription`,l)}return c&&c.data&&c.data.length>0?c.data[0]:void 0}o(wN,"loadSubscription");ii.loadSubscription=wN;async function vN(t,e,r,n,i){let{authApiJWT:s,meteringServiceUrl:a}=k_.Environment.instance,c=U_.SystemLogMap.getLogger(t);try{let u=await fetch(`${a}/internal/v1/metering/${n}/subscriptions/${e}/quotas/consume`,{headers:{Authorization:`Bearer ${s}`,"zp-rid":t.requestId},method:"POST",body:JSON.stringify({meters:i})});if(!u.ok){let l=await u.json(),d=l.detail??l.title??"Unknown error on quota consumption.";t.log.error(`MonetizationInboundPolicy '${r}' - Error updating subscription quota. ${u.status} - ${d}`),c.error(`MonetizationInboundPolicy '${r}' - Error updating subscription quota. ${u.status} - ${d}`)}}catch(u){t.log.error(`MonetizationInboundPolicy '${r}' - Error updating subscription quota.`),c.error(`MonetizationInboundPolicy '${r}' - Error updating subscription quota.`,u)}}o(vN,"consumeSubcriptionQuotas");ii.consumeSubcriptionQuotas=vN});var H_=_(oi=>{"use strict";Object.defineProperty(oi,"__esModule",{value:!0});oi.parseAllowedSubscriptionStatuses=oi.validateMeters=void 0;var Zr=k(),TN=Kt(),SN=new Set(["active","inactive","incomplete","incomplete-expired","trialing","past-due","canceled","unpaid"]);function IN(t,e){try{let r=[];for(let n in t)typeof t[n]!="number"&&!(Number.isInteger(t[n])&&/^-?\d+$/.test(t[n].toString()))&&r.push(n);if(r.length>0)throw new Zr.ConfigurationError(r.length>1?`The values found in these properties are not integers : ${r.join(", ")}`:`The value in property '${r[0]}' is not an integer`)}catch(r){throw r instanceof Zr.ConfigurationError?new Zr.ConfigurationError(`MonetizationInboundPolicy '${e}' - The property 'meters' is invalid. ${r.message}`):r}}o(IN,"validateMeters");oi.validateMeters=IN;function PN(t,e){if(t)try{if(t.length===0)throw new Zr.ConfigurationError("Must set valid subscription statuses");let r=(0,TN.parseValueToStringArray)(t),n=[];for(let i of r)SN.has(i)||n.push(i);if(n.length>0)throw new Zr.ConfigurationError(`Found the following invalid statuses: ${n.join(", ")}`);return t}catch(r){throw r instanceof Zr.ConfigurationError?new Zr.ConfigurationError(`MonetizationInboundPolicy '${e}' - The property 'allowedSubscriptionStatuses' is invalid. ${r.message}`):r}else return["active","incomplete","trialing"]}o(PN,"parseAllowedSubscriptionStatuses");oi.parseAllowedSubscriptionStatuses=PN});var j_=_(hc=>{"use strict";Object.defineProperty(hc,"__esModule",{value:!0});hc.MonetizationInboundPolicy=void 0;var Xr=un(),en=cp(),pc=Gi(),q_=k(),AN=mn(),tn=pe(),RN=Kt(),ON=Et(),$_=F_(),fc=H_(),Sf=class extends AN.InboundPolicy{static{o(this,"MonetizationInboundPolicy")}static getSubscription(e){return en.ContextData.get(e,Xr.METERING_SUBSCRIPTION_CONTEXT_DATA)}static setMeters(e,r){(0,fc.validateMeters)(r,"setMeters"),en.ContextData.set(e,Xr.DYNAMIC_METERS_CONTEXT_DATA,r)}async handler(e,r){(0,ON.optionValidator)(this.options,this.policyName).optional("allowRequestsWithoutSubscription","boolean").optional("allowRequestsOverQuota","boolean").optional("bucketId","string"),this.options.meterOnStatusCodes||(this.options.meterOnStatusCodes="200-299");let n=this.options.allowRequestsOverQuota??!1,i=(0,RN.statusCodesStringToNumberArray)(this.options.meterOnStatusCodes),s=en.ContextData.get(r,Xr.DYNAMIC_METERS_CONTEXT_DATA),a={...this.options.meters,...s};(0,fc.validateMeters)(a,this.policyName);let c=this.options.allowRequestsWithoutSubscription??!1,u=(0,fc.parseAllowedSubscriptionStatuses)(this.options.allowedSubscriptionStatuses,this.policyName);r.addResponseSendingFinalHook(async(b,v,A)=>{let g=en.ContextData.get(A,Xr.METERING_SUBSCRIPTION_CONTEXT_DATA);if((this.options.allowRequestsWithoutSubscription??!1)&&!g){A.log.debug(`MonetizationInboundPolicy '${this.policyName}' - No subscription found and property 'allowRequestsWithoutSubscription' is true`);return}if(!this.options.bucketId)if(pc.environment.ZUPLO_METERING_SERVICE_BUCKET_ID)this.options.bucketId=pc.environment.ZUPLO_METERING_SERVICE_BUCKET_ID;else throw new q_.ConfigurationError(`MonetizationInboundPolicy '${this.policyName}' - No bucketId property provided`);let O=en.ContextData.get(A,Xr.DYNAMIC_METERS_CONTEXT_DATA),V={...this.options.meters,...O};(0,fc.validateMeters)(V,this.policyName),i.includes(b.status)&&g&&V&&(A.log.debug(`MonetizationInboundPolicy '${this.policyName}' - Updating subscription '${g.id}' with meters '${JSON.stringify(V)} on response status '${b.status}'`),await(0,$_.consumeSubcriptionQuotas)(A,g.id,this.policyName,this.options.bucketId,V))});let l=e.user;if(!l)return c?e:tn.HttpProblems.unauthorized(e,r,{detail:"Unable to check subscription for anonymous user"});if(!this.options.bucketId)if(pc.environment.ZUPLO_METERING_SERVICE_BUCKET_ID)this.options.bucketId=pc.environment.ZUPLO_METERING_SERVICE_BUCKET_ID;else throw new q_.ConfigurationError(`MonetizationInboundPolicy '${this.policyName}' - No bucketId property provided`);let{sub:d}=l,p=await(0,$_.loadSubscription)(r,d,this.policyName,this.options.bucketId);if(!p)return r.log.warn("No valid subscription found"),c?e:tn.HttpProblems.unauthorized(e,r,{detail:"No valid subscription found"});if(!u.includes(p.status)&&!c)return r.log.warn(`Subscription '${p.id}' has status '${p.status}' which is not part of the allowed statuses.`),tn.HttpProblems.unauthorized(e,r,{detail:"No valid subscription found"});u.includes(p.status)&&(r.log.debug(`Loading subscription '${p.id}' for user sub '${d}' to ContextData`),en.ContextData.set(r,Xr.METERING_SUBSCRIPTION_CONTEXT_DATA,p));let f=en.ContextData.get(r,Xr.METERING_SUBSCRIPTION_CONTEXT_DATA);if(!f)return c?e:(r.log.warn("Subscription is not available for user"),tn.HttpProblems.paymentRequired(e,r,{detail:"Subscription is not available for user",title:"No Subscription"}));if(f&&Object.keys(f.meters).length===0)return r.log.error(`Quota is not set up for subscription '${f.id}'`),tn.HttpProblems.tooManyRequests(e,r,{detail:"Quota is not set up for the user's subscription",title:"Quota Exceeded"});let m=Object.keys(a).filter(b=>!Object.keys(f.meters).includes(b));if(m.length>0)return r.log.warn(`The following policy meters are not present in the subscription: ${m.join(", ")}`),tn.HttpProblems.tooManyRequests(e,r,{detail:`The following policy meters are not present in the subscription: ${m.join(", ")}`,title:"Quota Exceeded"});for(let b of Object.keys(a))if(f.meters[b].consumed<=0&&!n)return tn.HttpProblems.tooManyRequests(e,r,{detail:`Quota exceeded for meter '${b}'`,title:"Quota Exceeded"});return e}};hc.MonetizationInboundPolicy=Sf});var V_=_(mc=>{"use strict";Object.defineProperty(mc,"__esModule",{value:!0});mc.OktaJwtInboundPolicy=void 0;var NN=Xt(),CN=o(async(t,e,r,n)=>(0,NN.OpenIdJwtInboundPolicy)(t,e,{issuer:r.issuerUrl,audience:r.audience,jwkUrl:`${r.issuerUrl}/v1/keys`,allowUnauthenticatedRequests:r.allowUnauthenticatedRequests},n),"OktaJwtInboundPolicy");mc.OktaJwtInboundPolicy=CN});var B_=_(yc=>{"use strict";Object.defineProperty(yc,"__esModule",{value:!0});yc.PropelAuthJwtInboundPolicy=void 0;var xN=(Qs(),Io(Ws)),LN=Xt(),If,DN=o(async(t,e,r,n)=>{if(!If)try{If=await(0,xN.importSPKI)(r.verifierKey,"RS256")}catch(i){throw e.log.error("Could not import verifier key"),i}return(0,LN.OpenIdJwtInboundPolicy)(t,e,{issuer:r.authUrl,secret:If,allowUnauthenticatedRequests:r.allowUnauthenticatedRequests,subPropertyName:"user_id"},n)},"PropelAuthJwtInboundPolicy");yc.PropelAuthJwtInboundPolicy=DN});var G_=_(Z=>{"use strict";Object.defineProperty(Z,"__esModule",{value:!0});Z.throwIfStateNotObject=Z.throwIfStateNotNumber=Z.throwIfStateNotString=Z.throwIfStateUndefinedOrNull=Z.throwIfStateUndefined=Z.throwIfOptionNotObject=Z.throwIfOptionNotNumber=Z.throwIfOptionNotString=Z.throwIfOptionUndefinedOrNull=Z.throwIfOptionUndefined=Z.OptionTypeError=Z.OptionUndefinedError=Z.throwIfNotNumber=Z.throwIfNotString=Z.throwIfUndefinedOrNull=Z.throwIfUndefined=Z.ArgumentTypeError=Z.ArgumentUndefinedError=Z.ValidationError=void 0;var We=st(),ut=class extends Error{static{o(this,"ValidationError")}constructor(e){super(e)}};Z.ValidationError=ut;var Zi=class extends ut{static{o(this,"ArgumentUndefinedError")}constructor(e){super(`The argument '${e}' is undefined.`)}};Z.ArgumentUndefinedError=Zi;var Xi=class extends ut{static{o(this,"ArgumentTypeError")}constructor(e,r){super(`The argument '${e}' must be of type '${r}'.`)}};Z.ArgumentTypeError=Xi;function MN(t,e){if((0,We.isUndefined)(t))throw new Zi(e)}o(MN,"throwIfUndefined");Z.throwIfUndefined=MN;function Pf(t,e){if((0,We.isUndefinedOrNull)(t))throw new Zi(e)}o(Pf,"throwIfUndefinedOrNull");Z.throwIfUndefinedOrNull=Pf;function UN(t,e){if(Pf(t,e),!(0,We.isString)(t))throw new Xi(e,"string")}o(UN,"throwIfNotString");Z.throwIfNotString=UN;function kN(t,e){if(Pf(t,e),!(0,We.isNumber)(t))throw new Xi(e,"number")}o(kN,"throwIfNotNumber");Z.throwIfNotNumber=kN;var eo=class extends ut{static{o(this,"OptionUndefinedError")}constructor(e,r,n){super(`The option '${n}' on the ${e} named '${r}' is undefined.`)}};Z.OptionUndefinedError=eo;var si=class extends ut{static{o(this,"OptionTypeError")}constructor(e,r,n,i){super(`The option '${n}' on the ${e} named '${r}' must be of type '${i}'.`)}};Z.OptionTypeError=si;function FN(t,e,r,n){if((0,We.isUndefined)(n))throw new eo(t,e,r)}o(FN,"throwIfOptionUndefined");Z.throwIfOptionUndefined=FN;function gc(t,e,r,n){if((0,We.isUndefinedOrNull)(n))throw new eo(t,e,r)}o(gc,"throwIfOptionUndefinedOrNull");Z.throwIfOptionUndefinedOrNull=gc;function HN(t,e,r,n){if(gc(t,e,r,n),!(0,We.isString)(n))throw new si(t,e,r,"string")}o(HN,"throwIfOptionNotString");Z.throwIfOptionNotString=HN;function qN(t,e,r,n){if(gc(t,e,r,n),!(0,We.isNumber)(n))throw new si(t,e,r,"number")}o(qN,"throwIfOptionNotNumber");Z.throwIfOptionNotNumber=qN;function $N(t,e,r,n){if(gc(t,e,r,n),!(0,We.isObject)(n))throw new si(t,e,r,"object")}o($N,"throwIfOptionNotObject");Z.throwIfOptionNotObject=$N;function jN(t,e){if((0,We.isUndefined)(t))throw new ut(e)}o(jN,"throwIfStateUndefined");Z.throwIfStateUndefined=jN;function bc(t,e){if((0,We.isUndefinedOrNull)(t))throw new ut(e)}o(bc,"throwIfStateUndefinedOrNull");Z.throwIfStateUndefinedOrNull=bc;function VN(t,e){if(bc(t,e),!(0,We.isString)(t))throw new ut(e);return!0}o(VN,"throwIfStateNotString");Z.throwIfStateNotString=VN;function BN(t,e){if(bc(t,e),!(0,We.isNumber)(t))throw new ut(e);return!0}o(BN,"throwIfStateNotNumber");Z.throwIfStateNotNumber=BN;function GN(t,e){if(bc(t,e),!(0,We.isObject)(t))throw new ut(e);return!0}o(GN,"throwIfStateNotObject");Z.throwIfStateNotObject=GN});var K_=_(ai=>{"use strict";Object.defineProperty(ai,"__esModule",{value:!0});ai.InMemoryRedisClient=ai.StandardRedisClient=void 0;var Af=k(),_c=G_(),Rf=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,_c.throwIfNotString)(e,"redisClientUrl"),(0,_c.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,_c.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 Af.SystemError("Redis client failed with 401: Unauthorized"):new Af.SystemError(`Redis client failed with (${s.status}): ${typeof a=="string"?a:JSON.stringify(a,null,2)}`)}};ai.StandardRedisClient=Rf;var Of=class{static{o(this,"InMemoryRedisClient")}keyValueStore;constructor(){this.keyValueStore=new Map}isEnabled(){return!0}fetch({url:e,body:r,method:n}){if((0,_c.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 Af.SystemError("The in-memory redis client only supports /rate-limit calls")}};ai.InMemoryRedisClient=Of});var Y_=_(vc=>{"use strict";Object.defineProperty(vc,"__esModule",{value:!0});vc.RateLimitInboundPolicy=void 0;var KN=kr(),JN=Zt(),zN=No(),Ft=k(),WN=pe(),J_=Ze(),to=ie(),z_=K_(),W_=st(),Ec=(0,KN.debug)("zuplo:policies:RateLimitInboundPolicy"),QN="strict",YN=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"),ZN=o(async t=>({key:`ip-${YN(t)}`}),"getIP"),XN=o(async t=>({key:`user-${t.user?.sub??"anonymous"}`}),"getUser"),eC=o(async()=>({key:"all-2d77ce9d-9a3c-4206-9ab2-668cfd271095"}),"getAll"),wc;function tC(t,e){let r;if(wc)return wc;if(to.Environment.instance.isLocalDevelopment)return e.info("Using in-memory redis client for local development."),r=new z_.InMemoryRedisClient,wc=r,r;let{authApiJWT:n,redisURL:i}=to.Environment.instance;if(!(0,W_.isString)(i))throw new Ft.SystemError(`RateLimitInboundPolicy '${t}' - rate limit service URL not configured`);if(!(0,W_.isString)(n))throw new Ft.SystemError(`RateLimitInboundPolicy '${t}' - service authentication not configured`);if(i&&(r=z_.StandardRedisClient.initialize(i,n,to.Environment.instance.deploymentName??"unknown",to.Environment.instance.systemUserAgent)),!r||!r.isEnabled())throw new Ft.SystemError(`RateLimitInboundPolicy '${t}' - no redis ('${r}') or redis.isEnabled ('${r?.isEnabled}) is false`);return wc=r,r}o(tC,"getRedisClient");async function Q_(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(Q_,"getCountAndUpdateExpiry");function rC(t,e){let r;if(t.rateLimitBy==="function"){if(!t.identifier)throw new Ft.ConfigurationError(`RateLimitInboundPolicy '${e}' - If rateLimitBy set to 'function' options.identifier must be specified`);if(!t.identifier.module)throw new Ft.ConfigurationError(`RateLimitInboundPolicy '${e}' - If rateLimitBy set to 'function' options.identifier.module must be specified`);if(!t.identifier.export)throw new Ft.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 Ft.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 Ft.RuntimeError(u)}return c},"outerFunction")}o(rC,"wrapUserFunction");var nC="Retry-After",iC=o(async(t,e,r,n)=>{let i=Date.now(),s=J_.SystemLogMap.getLogger(e),a=o((u,l)=>{if(r.throwOnFailure)throw new Ft.SystemError(u,{cause:l});s.error(u,l)},"throwOrLog"),c=o((u,l)=>{let d={};return(!u||u==="retry-after")&&(d[nC]=l.toString()),WN.HttpProblems.tooManyRequests(t,e,void 0,d)},"rateLimited");try{let l={function:rC(r,n),user:XN,ip:ZN,all:eC}[r.rateLimitBy],d=await l(t,e,n),p=d.key,f=d.requestsAllowed??r.requestsAllowed,h=d.timeWindowMinutes??r.timeWindowMinutes,m=r.headerMode??"retry-after",b=tC(n,s),A=`bucket/${to.Environment.instance.build.BUILD_ID}/${n}/${p}`;if((r.mode??QN)==="async"){let O=await(0,JN.getPolicyCacheName)(n,r),V=new zN.ZoneCache(O,{logger:J_.SystemLogMap.getLogger(e)}),w=Q_(A,h,b,s,e.requestId),T=await V.get(A);if(T!==void 0&&T<=Date.now()){Ec(`RateLimitInboundPolicy '${n}' - returning 429 from cache for '${A}' (async mode)`);let C=Math.round((T-Date.now())/1e3);return c(m,C)}return e.addEventListener("responseSending",C=>{try{let E=C,P=E.mutableResponse;E.mutableResponse=(async()=>{let x=await w;if(x.count>f){let X=Date.now()+x.ttlSeconds*1e3,q=V.put(A,X,x.ttlSeconds).catch(D=>{throw s.error(new Ft.SystemError("Error caching rate limit result.",{cause:D})),D});return e.waitUntil(q),Ec(`RateLimitInboundPolicy '${n}' - returning 429 from redis for '${A}' (async mode)`),c(m,x.ttlSeconds)}return P})()}catch(E){s.error(`RateLimitInboundPolicy '${n}' -error in responseSending`,E)}}),t}let S=await Q_(A,h,b,s,e.requestId);return S.count>f?(Ec(`RateLimitInboundPolicy '${n}' - returning 429 from redis for '${A}' (strict mode)`),c(m,S.ttlSeconds)):t}catch(u){return a(u.message,u),t}finally{let u=Date.now()-i;Ec(`RateLimitInboundPolicy '${n}' - latency ${u}ms`)}},"RateLimitInboundPolicy");vc.RateLimitInboundPolicy=iC});var tE=_(Tc=>{"use strict";Object.defineProperty(Tc,"__esModule",{value:!0});Tc.ReadmeMetricsInboundPolicy=void 0;var oC=Ne(),Nf=ie(),Z_=Kt(),Cf;function X_(t){let e=[];for(let[r,n]of t)e.push({name:r,value:n});return e}o(X_,"headersToNameValuePairs");function sC(t){let e=[];return Object.entries(t).forEach(([r,n])=>{e.push({name:r,value:n})}),e}o(sC,"queryToNameValueParis");function aC(t){if(t===null)return;let e=parseFloat(t);if(!isNaN(e))return e}o(aC,"parseIntOrUndefined");var eE={};async function cC(t,e,r,n){let i=new Date,s=Date.now();return Cf||(Cf={name:"zuplo",version:Nf.Environment.instance.build.ZUPLO_VERSION,comment:`zuplo/${Nf.Environment.instance.build.ZUPLO_VERSION}`}),e.addResponseSendingFinalHook(async a=>{try{let c=r.userLabelPropertyPath&&t.user?(0,Z_.getValueFromRequestUser)(t.user,r.userLabelPropertyPath,"userLabelPropertyPath"):t.user?.sub,u=r.userEmailPropertyPath&&t.user?(0,Z_.getValueFromRequestUser)(t.user,r.userEmailPropertyPath,"userEmailPropertyPath"):void 0,l={clientIPAddress:t.headers.get("true-client-ip")??"",development:r.development!==void 0?r.development:Nf.Environment.instance.isDeno,group:{label:c,email:u,id:t.user?.sub??"anonymous"},request:{log:{creator:Cf,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:X_(t.headers),queryString:sC(t.query)},response:{status:a.status,statusText:a.statusText,headers:X_(a.headers),content:{size:aC(t.headers.get("content-length"))}}}]}}},d=eE[r.apiKey];if(!d){let p=r.apiKey;d=new oC.BatchDispatch("readme-metering-inbound-policy",10,async f=>{try{let h=r.url??"https://metrics.readme.io/request",m=await fetch(h,{method:"POST",body:JSON.stringify(f),headers:{"content-type":"application/json",authorization:`Basic ${btoa(p+":")}`}});m.status!==202&&e.log.error(`Unexpected response in ReadmeMeteringInboundPolicy '${n}'. ${m.status}: '${await m.text()}'`)}catch(h){throw e.log.error(`Error in ReadmeMeteringInboundPolicy '${n}': '${h.message}'`),h}}),eE[p]=d}d.enqueue(l),e.waitUntil(d.waitUntilFlushed())}catch(c){e.log.error(c)}}),t}o(cC,"ReadmeMetricsInboundPolicy");Tc.ReadmeMetricsInboundPolicy=cC});var rE=_(Sc=>{"use strict";Object.defineProperty(Sc,"__esModule",{value:!0});Sc.RemoveHeadersInboundPolicy=void 0;var uC=k(),lC=Ge(),dC=o(async(t,e,r,n)=>{let i=r?.headers;if(!i||!Array.isArray(i)||i.length===0)throw new uC.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 lC.ZuploRequest(t,{headers:s})},"RemoveHeadersInboundPolicy");Sc.RemoveHeadersInboundPolicy=dC});var nE=_(Ic=>{"use strict";Object.defineProperty(Ic,"__esModule",{value:!0});Ic.RemoveHeadersOutboundPolicy=void 0;var pC=k(),fC=o(async(t,e,r,n,i)=>{let s=n?.headers;if(!s||!Array.isArray(s)||s.length===0)throw new pC.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");Ic.RemoveHeadersOutboundPolicy=fC});var iE=_(Pc=>{"use strict";Object.defineProperty(Pc,"__esModule",{value:!0});Pc.RemoveQueryParamsInboundPolicy=void 0;var hC=k(),mC=Ge(),yC=o(async(t,e,r,n)=>{let i=r.params;if(!i||!Array.isArray(i)||i.length===0)throw new hC.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 mC.ZuploRequest(s.toString(),t)},"RemoveQueryParamsInboundPolicy");Pc.RemoveQueryParamsInboundPolicy=yC});var oE=_(Ac=>{"use strict";Object.defineProperty(Ac,"__esModule",{value:!0});Ac.ReplaceStringOutboundPolicy=void 0;var gC=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");Ac.ReplaceStringOutboundPolicy=gC});var aE=_(Rc=>{"use strict";Object.defineProperty(Rc,"__esModule",{value:!0});Rc.RequestSizeLimitInboundPolicy=void 0;var sE=o(()=>new Response("Maximum request size exceeded",{status:413,statusText:"Payload Too Large"}),"payloadTooLarge"),bC=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?sE():s&&n?t:(await t.clone().text()).length>r.maxSizeInBytes?sE():t},"RequestSizeLimitInboundPolicy");Rc.RequestSizeLimitInboundPolicy=bC});var Oc=_(lt=>{"use strict";Object.defineProperty(lt,"__esModule",{value:!0});lt.sanitizedIdentifierName=lt.getIdForRefSchema=lt.getIdForRequestBodySchema=lt.getIdForParameterSchema=lt.getRawOperationDataIdentifierName=void 0;function _C(t,e,r){return`_${rn(t+"_"+e+"_"+r)}`}o(_C,"getRawOperationDataIdentifierName");lt.getRawOperationDataIdentifierName=_C;function EC(t,e,r,n){return`_${rn(t.toLowerCase())}_`+e.toLowerCase()+"_"+r.toLowerCase()+`_${n.toLowerCase()}`}o(EC,"getIdForParameterSchema");lt.getIdForParameterSchema=EC;function wC(t,e,r){return`_${rn(t.toLowerCase())}_`+e.toLowerCase()+`_rb_${rn(r.toLowerCase())}`}o(wC,"getIdForRequestBodySchema");lt.getIdForRequestBodySchema=wC;function vC(t,e){return`_${rn(t)}__${rn(e)}`}o(vC,"getIdForRefSchema");lt.getIdForRefSchema=vC;function rn(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(rn,"sanitizedIdentifierName");lt.sanitizedIdentifierName=rn});var ro=_($e=>{"use strict";Object.defineProperty($e,"__esModule",{value:!0});$e.getErrorsFromValidator=$e.shouldReject=$e.shouldLog=$e.logErrors=$e.validateParameters=$e.getParametersForOperation=void 0;var TC=Fr(),SC=Oc(),IC=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");$e.getParametersForOperation=IC;var PC=o((t,e,r,n,i)=>{let s=[],a=!0,c=[];return t.forEach(u=>{let l=u.required||i==="path";if(l&&!e[u.name])a=!1,s.push(`Required ${i} parameter '${u.name}' not found`);else if(!(!l&&!e[u.name])){let d=(0,SC.getIdForParameterSchema)(r,n,i,u.name),p=TC.Gateway.instance.schemaValidator[d],f=p(e[u.name]),h=(0,$e.getErrorsFromValidator)(p.errors);f||(a=!1,c.push(`${i} parameter: ${u.name} : ${e[u.name]}`),s.push(`Invalid value for ${i} parameter: '${u.name}' ${h.join(", ")}`))}}),{isValid:a,invalidValues:c,errors:s}},"validateParameters");$e.validateParameters=PC;var AC=o((t,e,r,n,i)=>{n?t.log[e](r,n,i):t.log[e](r,i)},"logErrors");$e.logErrors=AC;var RC=o(t=>t==="log-only"||t==="reject-and-log","shouldLog");$e.shouldLog=RC;var OC=o(t=>t==="reject-only"||t==="reject-and-log","shouldReject");$e.shouldReject=OC;var NC=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");$e.getErrorsFromValidator=NC});var cE=_(Cc=>{"use strict";Object.defineProperty(Cc,"__esModule",{value:!0});Cc.handleBodyValidation=void 0;var CC=Fr(),Nc=pe(),xC=Oc(),et=ro();async function LC(t,e,r){if(!r.validateBody||r.validateBody==="none")return;let n;try{n=await e.clone().json()}catch(h){let m=`Error in request body for method : ${e.method} in route: ${t.route.path} with content-type: ${e.headers.get("Content-Type")}`,b=Nc.HttpProblems.badRequest(e,t,{detail:`${m}, see errors property for more details`,errors:`${h}`});if((0,et.shouldLog)(r.validateBody)&&(0,et.logErrors)(t,r.logLevel??"info",m,[n],h),(0,et.shouldReject)(r.validateBody))return b}if(!e.headers.get("Content-Type")){let h=`No content-type header defined in incoming request to ${e.method} in route: ${t.route.path}`,m=Nc.HttpProblems.badRequest(e,t,{detail:h});return(0,et.shouldLog)(r.validateBody)&&(0,et.logErrors)(t,r.logLevel??"info",h,[n],[h]),(0,et.shouldReject)(r.validateBody)?m:void 0}let i=e.headers.get("Content-Type"),s=i.indexOf(";");s>-1&&(i=i.substring(0,s));let a=(0,xC.getIdForRequestBodySchema)(t.route.path,e.method,i),c=CC.Gateway.instance.schemaValidator[a];if(!c){let h=`No schema defined for method: ${e.method} in route: ${t.route.path} with content-type: ${e.headers.get("Content-Type")}`,m=Nc.HttpProblems.badRequest(e,t,{detail:h});return(0,et.shouldLog)(r.validateBody)&&(0,et.logErrors)(t,r.logLevel??"info",h,[n],[h]),(0,et.shouldReject)(r.validateBody)?m:void 0}if(c(n))return;let l=c.errors,d="Request body did not pass validation",p=(0,et.getErrorsFromValidator)(l),f=Nc.HttpProblems.badRequest(e,t,{detail:`${d}, see errors property for more details`,errors:p});if((0,et.shouldLog)(r.validateBody)&&(0,et.logErrors)(t,r.logLevel??"info",d,[n],p),(0,et.shouldReject)(r.validateBody))return f}o(LC,"handleBodyValidation");Cc.handleBodyValidation=LC});var uE=_(xc=>{"use strict";Object.defineProperty(xc,"__esModule",{value:!0});xc.handleHeadersValidation=void 0;var DC=pe(),no=ro();function MC(t,e,r){if(!r.validateHeaders||r.validateHeaders==="none")return;let n={};e.headers.forEach((a,c)=>{n[c]=a});let i=(0,no.getParametersForOperation)(t),s=(0,no.validateParameters)(i.filter(a=>a.location==="header"),n,t.route.path,e.method.toLowerCase(),"header");if(!s.isValid){let a="Header validation failed",c=DC.HttpProblems.badRequest(e,t,{detail:`${a}, see errors property for more details`,errors:s.errors});if((0,no.shouldLog)(r.validateHeaders)&&(0,no.logErrors)(t,r.logLevel??"info",a,s.invalidValues,s.errors),(0,no.shouldReject)(r.validateHeaders))return c}}o(MC,"handleHeadersValidation");xc.handleHeadersValidation=MC});var lE=_(Lc=>{"use strict";Object.defineProperty(Lc,"__esModule",{value:!0});Lc.handlePathParameterValidation=void 0;var UC=pe(),io=ro();function kC(t,e,r){if(!r.validatePathParameters||r.validatePathParameters==="none")return;let n=(0,io.getParametersForOperation)(t),i=(0,io.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=UC.HttpProblems.badRequest(e,t,{detail:`${s}, see errors property for more details`,errors:i.errors});if((0,io.shouldLog)(r.validatePathParameters)&&(0,io.logErrors)(t,r.logLevel??"info",s,i.invalidValues,i.errors),(0,io.shouldReject)(r.validatePathParameters))return a}}o(kC,"handlePathParameterValidation");Lc.handlePathParameterValidation=kC});var dE=_(Dc=>{"use strict";Object.defineProperty(Dc,"__esModule",{value:!0});Dc.handleQueryParameterValidation=void 0;var FC=pe(),oo=ro();function HC(t,e,r){if(!r.validateQueryParameters||r.validateQueryParameters==="none")return;let n=(0,oo.getParametersForOperation)(t),i=(0,oo.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=FC.HttpProblems.badRequest(e,t,{detail:`${s}, see errors property for more details`,errors:i.errors});if((0,oo.shouldLog)(r.validateQueryParameters)&&(0,oo.logErrors)(t,r.logLevel??"info",s,i.invalidValues,i.errors),(0,oo.shouldReject)(r.validateQueryParameters))return a}}o(HC,"handleQueryParameterValidation");Dc.handleQueryParameterValidation=HC});var pE=_(nn=>{"use strict";Object.defineProperty(nn,"__esModule",{value:!0});nn.SchemaBasedRequestValidation=nn.RequestValidationInboundPolicy=void 0;var qC=cE(),$C=uE(),jC=lE(),VC=dE(),BC=o(async(t,e,r)=>{let n=(0,VC.handleQueryParameterValidation)(e,t,r);if(n!==void 0||(n=(0,jC.handlePathParameterValidation)(e,t,r),n!==void 0)||(n=(0,$C.handleHeadersValidation)(e,t,r),n!==void 0))return n;let i=await(0,qC.handleBodyValidation)(e,t,r);return i!==void 0?i:t},"RequestValidationInboundPolicy");nn.RequestValidationInboundPolicy=BC;nn.SchemaBasedRequestValidation=nn.RequestValidationInboundPolicy});var fE=_(Mc=>{"use strict";Object.defineProperty(Mc,"__esModule",{value:!0});Mc.RequireOriginInboundPolicy=void 0;var GC=k(),KC=pe(),JC=o(async(t,e,r,n)=>{if(r.origins===void 0||r.origins.length===0)throw new GC.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 KC.HttpProblems.forbidden(t,e,{detail:a})}return t},"RequireOriginInboundPolicy");Mc.RequireOriginInboundPolicy=JC});var hE=_(Uc=>{"use strict";Object.defineProperty(Uc,"__esModule",{value:!0});Uc.SetBodyInboundPolicy=void 0;var zC=Ge(),WC=o(async(t,e,r)=>new zC.ZuploRequest(t,{body:r.body}),"SetBodyInboundPolicy");Uc.SetBodyInboundPolicy=WC});var yE=_(kc=>{"use strict";Object.defineProperty(kc,"__esModule",{value:!0});kc.SetHeadersInboundPolicy=void 0;var mE=k(),QC=Ge(),YC=o(async(t,e,r,n)=>{let i=r.headers;if(!i||!Array.isArray(i)||i.length==0)throw new mE.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 mE.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 QC.ZuploRequest(t,{headers:s})},"SetHeadersInboundPolicy");kc.SetHeadersInboundPolicy=YC});var bE=_(Fc=>{"use strict";Object.defineProperty(Fc,"__esModule",{value:!0});Fc.SetHeadersOutboundPolicy=void 0;var gE=k(),ZC=o(async(t,e,r,n,i)=>{let s=n.headers;if(!s||!Array.isArray(s)||s.length==0)throw new gE.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 gE.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");Fc.SetHeadersOutboundPolicy=ZC});var EE=_(Hc=>{"use strict";Object.defineProperty(Hc,"__esModule",{value:!0});Hc.SetQueryParamsInboundPolicy=void 0;var _E=k(),XC=Ge(),ex=o(async(t,e,r,n)=>{let i=r.params;if(!i||!Array.isArray(i)||i.length==0)throw new _E.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 _E.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 XC.ZuploRequest(s.toString(),t)},"SetQueryParamsInboundPolicy");Hc.SetQueryParamsInboundPolicy=ex});var wE=_(qc=>{"use strict";Object.defineProperty(qc,"__esModule",{value:!0});qc.SetStatusOutboundPolicy=void 0;var tx=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");qc.SetStatusOutboundPolicy=tx});var vE=_($c=>{"use strict";Object.defineProperty($c,"__esModule",{value:!0});$c.SleepInboundPolicy=void 0;var rx=k(),nx=o(async t=>new Promise(r=>{setTimeout(r,t)}),"sleep"),ix=o(async(t,e,r,n)=>{if(!r||r.sleepInMs===void 0||isNaN(r.sleepInMs))throw new rx.ConfigurationError(`SleepInboundPolicy '${n} must have a valid options.sleepInMs value`);return await nx(r.sleepInMs),t},"SleepInboundPolicy");$c.SleepInboundPolicy=ix});var SE=_(jc=>{"use strict";Object.defineProperty(jc,"__esModule",{value:!0});jc.SupabaseJwtInboundPolicy=void 0;var TE=k(),ox=pe(),sx=Ge(),ax=Et(),cx=Xt(),ux=o(async(t,e,r,n)=>{(0,ax.optionValidator)(r,n).required("secret","string").optional("allowUnauthenticatedRequests","boolean").optional("requiredClaims","object");let i={secret:r.secret,allowUnauthenticatedRequests:r.allowUnauthenticatedRequests??!1},s=await(0,cx.OpenIdJwtInboundPolicy)(t,e,i,n);if(s instanceof Response)return s;if(!(s instanceof sx.ZuploRequest))throw new TE.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 TE.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?ox.HttpProblems.unauthorized(t,e,{detail:`Invalid JWT token - missing valid claims ${l.join(", ")}`}):s},"SupabaseJwtInboundPolicy");jc.SupabaseJwtInboundPolicy=ux});var PE=_(Vc=>{"use strict";Object.defineProperty(Vc,"__esModule",{value:!0});Vc.UpstreamAzureAdServiceAuthInboundPolicy=void 0;var lx=Zt(),dx=nr(),IE=k(),px=Ln(),fx=Et(),hx=o(async(t,e,r,n)=>{(0,fx.optionValidator)(r,n).required("activeDirectoryTenantId","string").required("activeDirectoryClientId","string").required("activeDirectoryClientSecret","string").optional("tokenRetries","number").optional("expirationOffsetSeconds","number");let i=await(0,lx.getPolicyCacheName)(n,r),s=new dx.MemoryZoneReadThroughCache(i,e),a=await s.get(n);if(!a){let c=await mx(r,e);s.put(n,c.access_token,c.expires_in-(r.expirationOffsetSeconds??300)),a=c.access_token}return t.headers.set("Authorization",`Bearer ${a}`),t},"UpstreamAzureAdServiceAuthInboundPolicy");Vc.UpstreamAzureAdServiceAuthInboundPolicy=hx;async function mx(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,px.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 IE.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 IE.RuntimeError("Response returned from Azure AD is not in the expected format.")}o(mx,"getAccessToken")});var RE=_(Bc=>{"use strict";Object.defineProperty(Bc,"__esModule",{value:!0});Bc.UpstreamFirebaseAdminAuthInboundPolicy=void 0;var yx=Zt(),gx=nr(),bx=k(),xf=Dn(),_x=Et(),AE="https://accounts.google.com/o/oauth2/token",Lf,Ex=o(async(t,e,r,n)=>{(0,_x.optionValidator)(r,n).required("serviceAccountJson","string"),Lf||(Lf=await xf.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=await(0,yx.getPolicyCacheName)(n,r),a=new gx.MemoryZoneReadThroughCache(s,e),c=await a.get(n);if(!c){let u=await(0,xf.getTokenFromGcpServiceAccount)({serviceAccount:Lf,audience:AE,payload:i}),l=await(0,xf.exchangeGgpJwtForIdToken)(AE,u,{retries:r.tokenRetries??3,retryDelayMs:10});if(!l.access_token)throw new bx.RuntimeError("Invalid OAuth response from Firebase");c=l.access_token,a.put(n,c,(l.expires_in??3600)-(r.expirationOffsetSeconds??300))}return t.headers.set("Authorization",`Bearer ${c}`),t},"UpstreamFirebaseAdminAuthInboundPolicy");Bc.UpstreamFirebaseAdminAuthInboundPolicy=Ex});var OE=_(Gc=>{"use strict";Object.defineProperty(Gc,"__esModule",{value:!0});Gc.UpstreamFirebaseUserAuthInboundPolicy=void 0;var wx=Zt(),vx=nr(),ci=k(),Tx=hf(),Df=Dn(),Sx=Kt(),Ix=Et(),Px="https://identitytoolkit.googleapis.com/google.identity.identitytoolkit.v1.IdentityToolkit",Ax=["acr","amr","at_hash","aud","auth_time","azp","cnf","c_hash","exp","iat","iss","jti","nbf","nonce"],Mf,Rx=o(async(t,e,r,n)=>{if((0,Ix.optionValidator)(r,n).required("serviceAccountJson","string").required("webApiKey","string").optional("developerClaims","object").optional("userId","string").optional("userIdPropertyPath","string"),!r.userId&&!r.userIdPropertyPath)throw new ci.ConfigurationError(`Either 'userId' or 'userIdPropertyPath' options must be set on policy '${n}'.`);let i={};if(typeof r.developerClaims<"u"){for(let p in r.developerClaims)if(Object.prototype.hasOwnProperty.call(r.developerClaims,p)){if(Ax.indexOf(p)!==-1)throw new ci.ConfigurationError(`Developer claim "${p}" is reserved and cannot be specified.`);i[p]=r.developerClaims[p]}}Mf||(Mf=await Df.GcpServiceAccount.init(r.serviceAccountJson));let s=r.userId;if(!s&&!r.userIdPropertyPath){if(!t.user)throw new ci.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 ci.RuntimeError(`Unable to apply userIdPropertyPath '${r.userIdPropertyPath}' as request.user is 'undefined'. Do you have an authentication policy before this policy?`);s=(0,Sx.getValueFromRequestUser)(t.user,r.userIdPropertyPath,"userIdPropertyPath")}if(!s)throw new ci.RuntimeError(`Unable to determine user from for the policy ${n}`);let a=await(0,wx.getPolicyCacheName)(n,r),c=new vx.MemoryZoneReadThroughCache(a,e),u={uid:s,claims:i},l=await(0,Tx.sha256)(JSON.stringify(u)),d=await c.get(l);if(!d){let p=await(0,Df.getTokenFromGcpServiceAccount)({serviceAccount:Mf,audience:Px,payload:u}),f=`https://identitytoolkit.googleapis.com/v1/accounts:signInWithCustomToken?key=${r.webApiKey}`,h=await(0,Df.exchangeFirebaseJwtForIdToken)(f,p,{retries:r.tokenRetries??3,retryDelayMs:10});if(!h.idToken)throw new ci.RuntimeError("Invalid token response from Firebase");d=h.idToken,c.put(l,d,(h.expiresIn?parseInt(h.expiresIn):3600)-(r.expirationOffsetSeconds??300))}return t.headers.set("Authorization",`Bearer ${d}`),t},"UpstreamFirebaseUserAuthInboundPolicy");Gc.UpstreamFirebaseUserAuthInboundPolicy=Rx});var CE=_(Kc=>{"use strict";Object.defineProperty(Kc,"__esModule",{value:!0});Kc.UpstreamGcpJwtInboundPolicy=void 0;var NE=Dn(),Ox=Et(),Uf,Nx=o(async(t,e,r,n)=>{(0,Ox.optionValidator)(r,n).required("audience","string").required("serviceAccountJson","string"),Uf||(Uf=await NE.GcpServiceAccount.init(r.serviceAccountJson));let i=await(0,NE.getTokenFromGcpServiceAccount)({serviceAccount:Uf,audience:r.audience});return t.headers.set("Authorization",`Bearer ${i}`),t},"UpstreamGcpJwtInboundPolicy");Kc.UpstreamGcpJwtInboundPolicy=Nx});var LE=_(Jc=>{"use strict";Object.defineProperty(Jc,"__esModule",{value:!0});Jc.UpstreamGcpServiceAuthInboundPolicy=void 0;var Cx=Zt(),xx=Vu(),Lx=nr(),so=k(),kf=Dn(),Dx=Kt(),Mx=Et(),xE="https://www.googleapis.com/oauth2/v4/token",Ff,Ux=o(async(t,e,r,n)=>{(0,Mx.optionValidator)(r,n).required("serviceAccountJson","string").optional("audience","string").optional("tokenRetries","number").optional("expirationOffsetSeconds","number"),Ff||(Ff=await kf.GcpServiceAccount.init(r.serviceAccountJson));let i={};if(r.scopes&&r.audience)throw new so.ConfigurationError("UpstreamGcpServiceAuthInboundPolicy - Either the 'scopes' or the 'audience' property can be set, not both.");if(r.scopes)try{let u=(0,Dx.parseValueToStringArray)(r.scopes);i.scope=u.join(" ")}catch(u){throw u instanceof so.ConfigurationError?new so.ConfigurationError(`UpstreamGcpServiceAuthInboundPolicy - The property 'scopes' is invalid. ${u.message}`):u}r.audience&&(i.target_audience=`${r.audience}`);let s=await(0,Cx.getPolicyCacheName)(n,r),a;r.useMemoryCacheOnly?a=new xx.MemoryCache(s):a=new Lx.MemoryZoneReadThroughCache(s,e);let c=await a.get(n);if(!c){let u=await(0,kf.getTokenFromGcpServiceAccount)({serviceAccount:Ff,audience:xE,payload:i}),l=await(0,kf.exchangeGgpJwtForIdToken)(xE,u,{retries:r.tokenRetries??3,retryDelayMs:10});if(r.audience){if(!l.id_token)throw new so.RuntimeError("Invalid token response from GCP");c=l.id_token}else{if(!l.access_token)throw new so.RuntimeError("Invalid token response from GCP");c=l.access_token}a.put(n,c,3600-(r.expirationOffsetSeconds??300))}return t.headers.set("Authorization",`Bearer ${c}`),t},"UpstreamGcpServiceAuthInboundPolicy");Jc.UpstreamGcpServiceAuthInboundPolicy=Ux});var ME=_(zc=>{"use strict";Object.defineProperty(zc,"__esModule",{value:!0});zc.ValidateJsonSchemaInbound=void 0;var kx=k(),DE=pe(),Fx=o(async(t,e,r)=>{let n=t.clone(),i;try{i=await n.json()}catch{return DE.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 kx.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 DE.HttpProblems.badRequest(t,e,{detail:"Incoming body did not pass schema validation",errors:c})},"ValidateJsonSchemaInbound");zc.ValidateJsonSchemaInbound=Fx});var FE=_((XK,kE)=>{"use strict";var Hx=Object.defineProperty,qx=Object.getOwnPropertyNames,B=o((t,e)=>Hx(t,"name",{value:e,configurable:!0}),"__name"),wt=o((t,e)=>o(function(){return e||(0,t[qx(t)[0]])((e={exports:{}}).exports,e),e.exports},"__require"),"__commonJS"),Hf=wt({"node_modules/fast-xml-parser/src/util.js"(t){"use strict";var e=":A-Za-z_\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD",r=e+"\\-.\\d\\u00B7\\u0300-\\u036F\\u203F-\\u2040",n="["+e+"]["+r+"]*",i=new RegExp("^"+n+"$"),s=B(function(c,u){let l=[],d=u.exec(c);for(;d;){let p=[];p.startIndex=u.lastIndex-d[0].length;let f=d.length;for(let h=0;h<f;h++)p.push(d[h]);l.push(p),d=u.exec(c)}return l},"getAllMatches"),a=B(function(c){let u=i.exec(c);return!(u===null||typeof u>"u")},"isName");t.isExist=function(c){return typeof c<"u"},t.isEmptyObject=function(c){return Object.keys(c).length===0},t.merge=function(c,u,l){if(u){let d=Object.keys(u),p=d.length;for(let f=0;f<p;f++)l==="strict"?c[d[f]]=[u[d[f]]]:c[d[f]]=u[d[f]]}},t.getValue=function(c){return t.isExist(c)?c:""},t.isName=a,t.getAllMatches=s,t.nameRegexp=n}}),UE=wt({"node_modules/fast-xml-parser/src/validator.js"(t){"use strict";var e=Hf(),r={allowBooleanAttributes:!1,unpairedTags:[]};t.validate=function(g,S){S=Object.assign({},r,S);let O=[],V=!1,w=!1;g[0]==="\uFEFF"&&(g=g.substr(1));for(let T=0;T<g.length;T++)if(g[T]==="<"&&g[T+1]==="?"){if(T+=2,T=i(g,T),T.err)return T}else if(g[T]==="<"){let C=T;if(T++,g[T]==="!"){T=s(g,T);continue}else{let E=!1;g[T]==="/"&&(E=!0,T++);let P="";for(;T<g.length&&g[T]!==">"&&g[T]!==" "&&g[T]!==" "&&g[T]!==`
75
75
  `&&g[T]!=="\r";T++)P+=g[T];if(P=P.trim(),P[P.length-1]==="/"&&(P=P.substring(0,P.length-1),T--),!b(P)){let q;return P.trim().length===0?q="Invalid space after '<'.":q="Tag '"+P+"' is an invalid name.",h("InvalidTag",q,v(g,T))}let x=u(g,T);if(x===!1)return h("InvalidAttr","Attributes for '"+P+"' have open quote.",v(g,T));let X=x.value;if(T=x.index,X[X.length-1]==="/"){let q=T-X.length;X=X.substring(0,X.length-1);let D=d(X,S);if(D===!0)V=!0;else return h(D.err.code,D.err.msg,v(g,q+D.err.line))}else if(E)if(x.tagClosed){if(X.trim().length>0)return h("InvalidTag","Closing tag '"+P+"' can't have attributes or invalid starting.",v(g,C));{let q=O.pop();if(P!==q.tagName){let D=v(g,q.tagStartPos);return h("InvalidTag","Expected closing tag '"+q.tagName+"' (opened in line "+D.line+", col "+D.col+") instead of closing tag '"+P+"'.",v(g,C))}O.length==0&&(w=!0)}}else return h("InvalidTag","Closing tag '"+P+"' doesn't have proper closing.",v(g,T));else{let q=d(X,S);if(q!==!0)return h(q.err.code,q.err.msg,v(g,T-X.length+q.err.line));if(w===!0)return h("InvalidXml","Multiple possible root nodes found.",v(g,T));S.unpairedTags.indexOf(P)!==-1||O.push({tagName:P,tagStartPos:C}),V=!0}for(T++;T<g.length;T++)if(g[T]==="<")if(g[T+1]==="!"){T++,T=s(g,T);continue}else if(g[T+1]==="?"){if(T=i(g,++T),T.err)return T}else break;else if(g[T]==="&"){let q=f(g,T);if(q==-1)return h("InvalidChar","char '&' is not expected.",v(g,T));T=q}else if(w===!0&&!n(g[T]))return h("InvalidXml","Extra text at the end",v(g,T));g[T]==="<"&&T--}}else{if(n(g[T]))continue;return h("InvalidChar","char '"+g[T]+"' is not expected.",v(g,T))}if(V){if(O.length==1)return h("InvalidTag","Unclosed tag '"+O[0].tagName+"'.",v(g,O[0].tagStartPos));if(O.length>0)return h("InvalidXml","Invalid '"+JSON.stringify(O.map(T=>T.tagName),null,4).replace(/\r?\n/g,"")+"' found.",{line:1,col:1})}else return h("InvalidXml","Start tag expected.",1);return!0};function n(g){return g===" "||g===" "||g===`
76
76
  `||g==="\r"}o(n,"isWhiteSpace"),B(n,"isWhiteSpace");function i(g,S){let O=S;for(;S<g.length;S++)if(g[S]=="?"||g[S]==" "){let V=g.substr(O,S-O);if(S>5&&V==="xml")return h("InvalidXml","XML declaration allowed only at the start of the document.",v(g,S));if(g[S]=="?"&&g[S+1]==">"){S++;break}else continue}return S}o(i,"readPI"),B(i,"readPI");function s(g,S){if(g.length>S+5&&g[S+1]==="-"&&g[S+2]==="-"){for(S+=3;S<g.length;S++)if(g[S]==="-"&&g[S+1]==="-"&&g[S+2]===">"){S+=2;break}}else if(g.length>S+8&&g[S+1]==="D"&&g[S+2]==="O"&&g[S+3]==="C"&&g[S+4]==="T"&&g[S+5]==="Y"&&g[S+6]==="P"&&g[S+7]==="E"){let O=1;for(S+=8;S<g.length;S++)if(g[S]==="<")O++;else if(g[S]===">"&&(O--,O===0))break}else if(g.length>S+9&&g[S+1]==="["&&g[S+2]==="C"&&g[S+3]==="D"&&g[S+4]==="A"&&g[S+5]==="T"&&g[S+6]==="A"&&g[S+7]==="["){for(S+=8;S<g.length;S++)if(g[S]==="]"&&g[S+1]==="]"&&g[S+2]===">"){S+=2;break}}return S}o(s,"readCommentAndCDATA"),B(s,"readCommentAndCDATA");var a='"',c="'";function u(g,S){let O="",V="",w=!1;for(;S<g.length;S++){if(g[S]===a||g[S]===c)V===""?V=g[S]:V!==g[S]||(V="");else if(g[S]===">"&&V===""){w=!0;break}O+=g[S]}return V!==""?!1:{value:O,index:S,tagClosed:w}}o(u,"readAttributeStr"),B(u,"readAttributeStr");var l=new RegExp(`(\\s*)([^\\s=]+)(\\s*=)?(\\s*(['"])(([\\s\\S])*?)\\5)?`,"g");function d(g,S){let O=e.getAllMatches(g,l),V={};for(let w=0;w<O.length;w++){if(O[w][1].length===0)return h("InvalidAttr","Attribute '"+O[w][2]+"' has no space in starting.",A(O[w]));if(O[w][3]!==void 0&&O[w][4]===void 0)return h("InvalidAttr","Attribute '"+O[w][2]+"' is without value.",A(O[w]));if(O[w][3]===void 0&&!S.allowBooleanAttributes)return h("InvalidAttr","boolean attribute '"+O[w][2]+"' is not allowed.",A(O[w]));let T=O[w][2];if(!m(T))return h("InvalidAttr","Attribute '"+T+"' is an invalid name.",A(O[w]));if(!V.hasOwnProperty(T))V[T]=1;else return h("InvalidAttr","Attribute '"+T+"' is repeated.",A(O[w]))}return!0}o(d,"validateAttributeString"),B(d,"validateAttributeString");function p(g,S){let O=/\d/;for(g[S]==="x"&&(S++,O=/[\da-fA-F]/);S<g.length;S++){if(g[S]===";")return S;if(!g[S].match(O))break}return-1}o(p,"validateNumberAmpersand"),B(p,"validateNumberAmpersand");function f(g,S){if(S++,g[S]===";")return-1;if(g[S]==="#")return S++,p(g,S);let O=0;for(;S<g.length;S++,O++)if(!(g[S].match(/\w/)&&O<20)){if(g[S]===";")break;return-1}return S}o(f,"validateAmpersand"),B(f,"validateAmpersand");function h(g,S,O){return{err:{code:g,msg:S,line:O.line||O,col:O.col}}}o(h,"getErrorObject"),B(h,"getErrorObject");function m(g){return e.isName(g)}o(m,"validateAttrName"),B(m,"validateAttrName");function b(g){return e.isName(g)}o(b,"validateTagName"),B(b,"validateTagName");function v(g,S){let O=g.substring(0,S).split(/\r?\n/);return{line:O.length,col:O[O.length-1].length+1}}o(v,"getLineNumberForPosition"),B(v,"getLineNumberForPosition");function A(g){return g.startIndex+g[1].length}o(A,"getPositionFromMatch"),B(A,"getPositionFromMatch")}}),$x=wt({"node_modules/fast-xml-parser/src/xmlparser/OptionsBuilder.js"(t){var e={preserveOrder:!1,attributeNamePrefix:"@_",attributesGroupName:!1,textNodeName:"#text",ignoreAttributes:!0,removeNSPrefix:!1,allowBooleanAttributes:!1,parseTagValue:!0,parseAttributeValue:!1,trimValues:!0,cdataPropName:!1,numberParseOptions:{hex:!0,leadingZeros:!0,eNotation:!0},tagValueProcessor:function(n,i){return i},attributeValueProcessor:function(n,i){return i},stopNodes:[],alwaysCreateTextNode:!1,isArray:()=>!1,commentPropName:!1,unpairedTags:[],processEntities:!0,htmlEntities:!1,ignoreDeclaration:!1,ignorePiTags:!1,transformTagName:!1,transformAttributeName:!1,updateTag:function(n,i,s){return n}},r=B(function(n){return Object.assign({},e,n)},"buildOptions");t.buildOptions=r,t.defaultOptions=e}}),jx=wt({"node_modules/fast-xml-parser/src/xmlparser/xmlNode.js"(t,e){"use strict";var r=class{static{o(this,"XmlNode")}static{B(this,"XmlNode")}constructor(n){this.tagname=n,this.child=[],this[":@"]={}}add(n,i){n==="__proto__"&&(n="#__proto__"),this.child.push({[n]:i})}addChild(n){n.tagname==="__proto__"&&(n.tagname="#__proto__"),n[":@"]&&Object.keys(n[":@"]).length>0?this.child.push({[n.tagname]:n.child,":@":n[":@"]}):this.child.push({[n.tagname]:n.child})}};e.exports=r}}),Vx=wt({"node_modules/fast-xml-parser/src/xmlparser/DocTypeReader.js"(t,e){var r=Hf();function n(p,f){let h={};if(p[f+3]==="O"&&p[f+4]==="C"&&p[f+5]==="T"&&p[f+6]==="Y"&&p[f+7]==="P"&&p[f+8]==="E"){f=f+9;let m=1,b=!1,v=!1,A="";for(;f<p.length;f++)if(p[f]==="<"&&!v){if(b&&a(p,f))f+=7,[entityName,val,f]=i(p,f+1),val.indexOf("&")===-1&&(h[d(entityName)]={regx:RegExp(`&${entityName};`,"g"),val});else if(b&&c(p,f))f+=8;else if(b&&u(p,f))f+=8;else if(b&&l(p,f))f+=9;else if(s)v=!0;else throw new Error("Invalid DOCTYPE");m++,A=""}else if(p[f]===">"){if(v?p[f-1]==="-"&&p[f-2]==="-"&&(v=!1,m--):m--,m===0)break}else p[f]==="["?b=!0:A+=p[f];if(m!==0)throw new Error("Unclosed DOCTYPE")}else throw new Error("Invalid Tag instead of DOCTYPE");return{entities:h,i:f}}o(n,"readDocType"),B(n,"readDocType");function i(p,f){let h="";for(;f<p.length&&p[f]!=="'"&&p[f]!=='"';f++)h+=p[f];if(h=h.trim(),h.indexOf(" ")!==-1)throw new Error("External entites are not supported");let m=p[f++],b="";for(;f<p.length&&p[f]!==m;f++)b+=p[f];return[h,b,f]}o(i,"readEntityExp"),B(i,"readEntityExp");function s(p,f){return p[f+1]==="!"&&p[f+2]==="-"&&p[f+3]==="-"}o(s,"isComment"),B(s,"isComment");function a(p,f){return p[f+1]==="!"&&p[f+2]==="E"&&p[f+3]==="N"&&p[f+4]==="T"&&p[f+5]==="I"&&p[f+6]==="T"&&p[f+7]==="Y"}o(a,"isEntity"),B(a,"isEntity");function c(p,f){return p[f+1]==="!"&&p[f+2]==="E"&&p[f+3]==="L"&&p[f+4]==="E"&&p[f+5]==="M"&&p[f+6]==="E"&&p[f+7]==="N"&&p[f+8]==="T"}o(c,"isElement"),B(c,"isElement");function u(p,f){return p[f+1]==="!"&&p[f+2]==="A"&&p[f+3]==="T"&&p[f+4]==="T"&&p[f+5]==="L"&&p[f+6]==="I"&&p[f+7]==="S"&&p[f+8]==="T"}o(u,"isAttlist"),B(u,"isAttlist");function l(p,f){return p[f+1]==="!"&&p[f+2]==="N"&&p[f+3]==="O"&&p[f+4]==="T"&&p[f+5]==="A"&&p[f+6]==="T"&&p[f+7]==="I"&&p[f+8]==="O"&&p[f+9]==="N"}o(l,"isNotation"),B(l,"isNotation");function d(p){if(r.isName(p))return p;throw new Error(`Invalid entity name ${p}`)}o(d,"validateEntityName"),B(d,"validateEntityName"),e.exports=n}}),Bx=wt({"../../node_modules/strnum/strnum.js"(t,e){var r=/^[-+]?0x[a-fA-F0-9]+$/,n=/^([\-\+])?(0*)(\.[0-9]+([eE]\-?[0-9]+)?|[0-9]+(\.[0-9]+([eE]\-?[0-9]+)?)?)$/;!Number.parseInt&&window.parseInt&&(Number.parseInt=window.parseInt),!Number.parseFloat&&window.parseFloat&&(Number.parseFloat=window.parseFloat);var i={hex:!0,leadingZeros:!0,decimalPoint:".",eNotation:!0};function s(c,u={}){if(u=Object.assign({},i,u),!c||typeof c!="string")return c;let l=c.trim();if(u.skipLike!==void 0&&u.skipLike.test(l))return c;if(u.hex&&r.test(l))return Number.parseInt(l,16);{let d=n.exec(l);if(d){let p=d[1],f=d[2],h=a(d[3]),m=d[4]||d[6];if(!u.leadingZeros&&f.length>0&&p&&l[2]!==".")return c;if(!u.leadingZeros&&f.length>0&&!p&&l[1]!==".")return c;{let b=Number(l),v=""+b;return v.search(/[eE]/)!==-1||m?u.eNotation?b:c:l.indexOf(".")!==-1?v==="0"&&h===""||v===h||p&&v==="-"+h?b:c:f?h===v||p+h===v?b:c:l===v||l===p+v?b:c}}else return c}}o(s,"toNumber"),B(s,"toNumber");function a(c){return c&&c.indexOf(".")!==-1&&(c=c.replace(/0+$/,""),c==="."?c="0":c[0]==="."?c="0"+c:c[c.length-1]==="."&&(c=c.substr(0,c.length-1))),c}o(a,"trimZeros"),B(a,"trimZeros"),e.exports=s}}),Gx=wt({"node_modules/fast-xml-parser/src/xmlparser/OrderedObjParser.js"(t,e){"use strict";var r=Hf(),n=jx(),i=Vx(),s=Bx(),a=class{static{o(this,"OrderedObjParser")}static{B(this,"OrderedObjParser")}constructor(w){this.options=w,this.currentNode=null,this.tagsNodeStack=[],this.docTypeEntities={},this.lastEntities={apos:{regex:/&(apos|#39|#x27);/g,val:"'"},gt:{regex:/&(gt|#62|#x3E);/g,val:">"},lt:{regex:/&(lt|#60|#x3C);/g,val:"<"},quot:{regex:/&(quot|#34|#x22);/g,val:'"'}},this.ampEntity={regex:/&(amp|#38|#x26);/g,val:"&"},this.htmlEntities={space:{regex:/&(nbsp|#160);/g,val:" "},cent:{regex:/&(cent|#162);/g,val:"\xA2"},pound:{regex:/&(pound|#163);/g,val:"\xA3"},yen:{regex:/&(yen|#165);/g,val:"\xA5"},euro:{regex:/&(euro|#8364);/g,val:"\u20AC"},copyright:{regex:/&(copy|#169);/g,val:"\xA9"},reg:{regex:/&(reg|#174);/g,val:"\xAE"},inr:{regex:/&(inr|#8377);/g,val:"\u20B9"}},this.addExternalEntities=c,this.parseXml=f,this.parseTextData=u,this.resolveNameSpace=l,this.buildAttributesMap=p,this.isItStopNode=v,this.replaceEntitiesValue=m,this.readStopNodeData=O,this.saveTextToParentTag=b,this.addChild=h}};function c(w){let T=Object.keys(w);for(let C=0;C<T.length;C++){let E=T[C];this.lastEntities[E]={regex:new RegExp("&"+E+";","g"),val:w[E]}}}o(c,"addExternalEntities"),B(c,"addExternalEntities");function u(w,T,C,E,P,x,X){if(w!==void 0&&(this.options.trimValues&&!E&&(w=w.trim()),w.length>0)){X||(w=this.replaceEntitiesValue(w));let q=this.options.tagValueProcessor(T,w,C,P,x);return q==null?w:typeof q!=typeof w||q!==w?q:this.options.trimValues?V(w,this.options.parseTagValue,this.options.numberParseOptions):w.trim()===w?V(w,this.options.parseTagValue,this.options.numberParseOptions):w}}o(u,"parseTextData"),B(u,"parseTextData");function l(w){if(this.options.removeNSPrefix){let T=w.split(":"),C=w.charAt(0)==="/"?"/":"";if(T[0]==="xmlns")return"";T.length===2&&(w=C+T[1])}return w}o(l,"resolveNameSpace"),B(l,"resolveNameSpace");var d=new RegExp(`([^\\s=]+)\\s*(=\\s*(['"])([\\s\\S]*?)\\3)?`,"gm");function p(w,T,C){if(!this.options.ignoreAttributes&&typeof w=="string"){let E=r.getAllMatches(w,d),P=E.length,x={};for(let X=0;X<P;X++){let q=this.resolveNameSpace(E[X][1]),D=E[X][4],be=this.options.attributeNamePrefix+q;if(q.length)if(this.options.transformAttributeName&&(be=this.options.transformAttributeName(be)),be==="__proto__"&&(be="#__proto__"),D!==void 0){this.options.trimValues&&(D=D.trim()),D=this.replaceEntitiesValue(D);let le=this.options.attributeValueProcessor(q,D,T);le==null?x[be]=D:typeof le!=typeof D||le!==D?x[be]=le:x[be]=V(D,this.options.parseAttributeValue,this.options.numberParseOptions)}else this.options.allowBooleanAttributes&&(x[be]=!0)}if(!Object.keys(x).length)return;if(this.options.attributesGroupName){let X={};return X[this.options.attributesGroupName]=x,X}return x}}o(p,"buildAttributesMap"),B(p,"buildAttributesMap");var f=B(function(w){w=w.replace(/\r\n?/g,`
77
- `);let T=new n("!xml"),C=T,E="",P="";for(let x=0;x<w.length;x++)if(w[x]==="<")if(w[x+1]==="/"){let q=g(w,">",x,"Closing Tag is not closed."),D=w.substring(x+2,q).trim();if(this.options.removeNSPrefix){let ht=D.indexOf(":");ht!==-1&&(D=D.substr(ht+1))}this.options.transformTagName&&(D=this.options.transformTagName(D)),C&&(E=this.saveTextToParentTag(E,C,P));let be=P.substring(P.lastIndexOf(".")+1);if(D&&this.options.unpairedTags.indexOf(D)!==-1)throw new Error(`Unpaired tag can not be used as closing tag: </${D}>`);let le=0;be&&this.options.unpairedTags.indexOf(be)!==-1?(le=P.lastIndexOf(".",P.lastIndexOf(".")-1),this.tagsNodeStack.pop()):le=P.lastIndexOf("."),P=P.substring(0,le),C=this.tagsNodeStack.pop(),E="",x=q}else if(w[x+1]==="?"){let q=S(w,x,!1,"?>");if(!q)throw new Error("Pi Tag is not closed.");if(E=this.saveTextToParentTag(E,C,P),!(this.options.ignoreDeclaration&&q.tagName==="?xml"||this.options.ignorePiTags)){let D=new n(q.tagName);D.add(this.options.textNodeName,""),q.tagName!==q.tagExp&&q.attrExpPresent&&(D[":@"]=this.buildAttributesMap(q.tagExp,P,q.tagName)),this.addChild(C,D,P)}x=q.closeIndex+1}else if(w.substr(x+1,3)==="!--"){let q=g(w,"-->",x+4,"Comment is not closed.");if(this.options.commentPropName){let D=w.substring(x+4,q-2);E=this.saveTextToParentTag(E,C,P),C.add(this.options.commentPropName,[{[this.options.textNodeName]:D}])}x=q}else if(w.substr(x+1,2)==="!D"){let q=i(w,x);this.docTypeEntities=q.entities,x=q.i}else if(w.substr(x+1,2)==="!["){let q=g(w,"]]>",x,"CDATA is not closed.")-2,D=w.substring(x+9,q);E=this.saveTextToParentTag(E,C,P);let be=this.parseTextData(D,C.tagname,P,!0,!1,!0,!0);be==null&&(be=""),this.options.cdataPropName?C.add(this.options.cdataPropName,[{[this.options.textNodeName]:D}]):C.add(this.options.textNodeName,be),x=q+2}else{let q=S(w,x,this.options.removeNSPrefix),D=q.tagName,be=q.rawTagName,le=q.tagExp,ht=q.attrExpPresent,bh=q.closeIndex;this.options.transformTagName&&(D=this.options.transformTagName(D)),C&&E&&C.tagname!=="!xml"&&(E=this.saveTextToParentTag(E,C,P,!1));let _h=C;if(_h&&this.options.unpairedTags.indexOf(_h.tagname)!==-1&&(C=this.tagsNodeStack.pop(),P=P.substring(0,P.lastIndexOf("."))),D!==T.tagname&&(P+=P?"."+D:D),this.isItStopNode(this.options.stopNodes,P,D)){let ot="";if(le.length>0&&le.lastIndexOf("/")===le.length-1)x=q.closeIndex;else if(this.options.unpairedTags.indexOf(D)!==-1)x=q.closeIndex;else{let Uu=this.readStopNodeData(w,be,bh+1);if(!Uu)throw new Error(`Unexpected end of ${be}`);x=Uu.i,ot=Uu.tagContent}let Mu=new n(D);D!==le&&ht&&(Mu[":@"]=this.buildAttributesMap(le,P,D)),ot&&(ot=this.parseTextData(ot,D,P,!0,ht,!0,!0)),P=P.substr(0,P.lastIndexOf(".")),Mu.add(this.options.textNodeName,ot),this.addChild(C,Mu,P)}else{if(le.length>0&&le.lastIndexOf("/")===le.length-1){D[D.length-1]==="/"?(D=D.substr(0,D.length-1),P=P.substr(0,P.length-1),le=D):le=le.substr(0,le.length-1),this.options.transformTagName&&(D=this.options.transformTagName(D));let ot=new n(D);D!==le&&ht&&(ot[":@"]=this.buildAttributesMap(le,P,D)),this.addChild(C,ot,P),P=P.substr(0,P.lastIndexOf("."))}else{let ot=new n(D);this.tagsNodeStack.push(C),D!==le&&ht&&(ot[":@"]=this.buildAttributesMap(le,P,D)),this.addChild(C,ot,P),C=ot}E="",x=bh}}else E+=w[x];return T.child},"parseXml");function h(w,T,C){let E=this.options.updateTag(T.tagname,C,T[":@"]);E===!1||(typeof E=="string"&&(T.tagname=E),w.addChild(T))}o(h,"addChild"),B(h,"addChild");var m=B(function(w){if(this.options.processEntities){for(let T in this.docTypeEntities){let C=this.docTypeEntities[T];w=w.replace(C.regx,C.val)}for(let T in this.lastEntities){let C=this.lastEntities[T];w=w.replace(C.regex,C.val)}if(this.options.htmlEntities)for(let T in this.htmlEntities){let C=this.htmlEntities[T];w=w.replace(C.regex,C.val)}w=w.replace(this.ampEntity.regex,this.ampEntity.val)}return w},"replaceEntitiesValue");function b(w,T,C,E){return w&&(E===void 0&&(E=Object.keys(T.child).length===0),w=this.parseTextData(w,T.tagname,C,!1,T[":@"]?Object.keys(T[":@"]).length!==0:!1,E),w!==void 0&&w!==""&&T.add(this.options.textNodeName,w),w=""),w}o(b,"saveTextToParentTag"),B(b,"saveTextToParentTag");function v(w,T,C){let E="*."+C;for(let P in w){let x=w[P];if(E===x||T===x)return!0}return!1}o(v,"isItStopNode"),B(v,"isItStopNode");function A(w,T,C=">"){let E,P="";for(let x=T;x<w.length;x++){let X=w[x];if(E)X===E&&(E="");else if(X==='"'||X==="'")E=X;else if(X===C[0])if(C[1]){if(w[x+1]===C[1])return{data:P,index:x}}else return{data:P,index:x};else X===" "&&(X=" ");P+=X}}o(A,"tagExpWithClosingIndex"),B(A,"tagExpWithClosingIndex");function g(w,T,C,E){let P=w.indexOf(T,C);if(P===-1)throw new Error(E);return P+T.length-1}o(g,"findClosingIndex"),B(g,"findClosingIndex");function S(w,T,C,E=">"){let P=A(w,T+1,E);if(!P)return;let x=P.data,X=P.index,q=x.search(/\s/),D=x,be=!0;q!==-1&&(D=x.substring(0,q),x=x.substring(q+1).trimStart());let le=D;if(C){let ht=D.indexOf(":");ht!==-1&&(D=D.substr(ht+1),be=D!==P.data.substr(ht+1))}return{tagName:D,tagExp:x,closeIndex:X,attrExpPresent:be,rawTagName:le}}o(S,"readTagExp"),B(S,"readTagExp");function O(w,T,C){let E=C,P=1;for(;C<w.length;C++)if(w[C]==="<")if(w[C+1]==="/"){let x=g(w,">",C,`${T} is not closed`);if(w.substring(C+2,x).trim()===T&&(P--,P===0))return{tagContent:w.substring(E,C),i:x};C=x}else if(w[C+1]==="?")C=g(w,"?>",C+1,"StopNode is not closed.");else if(w.substr(C+1,3)==="!--")C=g(w,"-->",C+3,"StopNode is not closed.");else if(w.substr(C+1,2)==="![")C=g(w,"]]>",C,"StopNode is not closed.")-2;else{let x=S(w,C,">");x&&((x&&x.tagName)===T&&x.tagExp[x.tagExp.length-1]!=="/"&&P++,C=x.closeIndex)}}o(O,"readStopNodeData"),B(O,"readStopNodeData");function V(w,T,C){if(T&&typeof w=="string"){let E=w.trim();return E==="true"?!0:E==="false"?!1:s(w,C)}else return r.isExist(w)?w:""}o(V,"parseValue"),B(V,"parseValue"),e.exports=a}}),Kx=wt({"node_modules/fast-xml-parser/src/xmlparser/node2json.js"(t){"use strict";function e(a,c){return r(a,c)}o(e,"prettify"),B(e,"prettify");function r(a,c,u){let l,d={};for(let p=0;p<a.length;p++){let f=a[p],h=n(f),m="";if(u===void 0?m=h:m=u+"."+h,h===c.textNodeName)l===void 0?l=f[h]:l+=""+f[h];else{if(h===void 0)continue;if(f[h]){let b=r(f[h],c,m),v=s(b,c);f[":@"]?i(b,f[":@"],m,c):Object.keys(b).length===1&&b[c.textNodeName]!==void 0&&!c.alwaysCreateTextNode?b=b[c.textNodeName]:Object.keys(b).length===0&&(c.alwaysCreateTextNode?b[c.textNodeName]="":b=""),d[h]!==void 0&&d.hasOwnProperty(h)?(Array.isArray(d[h])||(d[h]=[d[h]]),d[h].push(b)):c.isArray(h,m,v)?d[h]=[b]:d[h]=b}}}return typeof l=="string"?l.length>0&&(d[c.textNodeName]=l):l!==void 0&&(d[c.textNodeName]=l),d}o(r,"compress"),B(r,"compress");function n(a){let c=Object.keys(a);for(let u=0;u<c.length;u++){let l=c[u];if(l!==":@")return l}}o(n,"propName"),B(n,"propName");function i(a,c,u,l){if(c){let d=Object.keys(c),p=d.length;for(let f=0;f<p;f++){let h=d[f];l.isArray(h,u+"."+h,!0,!0)?a[h]=[c[h]]:a[h]=c[h]}}}o(i,"assignAttributes"),B(i,"assignAttributes");function s(a,c){let{textNodeName:u}=c,l=Object.keys(a).length;return!!(l===0||l===1&&(a[u]||typeof a[u]=="boolean"||a[u]===0))}o(s,"isLeafTag"),B(s,"isLeafTag"),t.prettify=e}}),Jx=wt({"node_modules/fast-xml-parser/src/xmlparser/XMLParser.js"(t,e){var{buildOptions:r}=$x(),n=Gx(),{prettify:i}=Kx(),s=ME(),a=class{static{o(this,"XMLParser2")}static{B(this,"XMLParser")}constructor(c){this.externalEntities={},this.options=r(c)}parse(c,u){if(typeof c!="string")if(c.toString)c=c.toString();else throw new Error("XML data is accepted in String or Bytes[] form.");if(u){u===!0&&(u={});let p=s.validate(c,u);if(p!==!0)throw Error(`${p.err.msg}:${p.err.line}:${p.err.col}`)}let l=new n(this.options);l.addExternalEntities(this.externalEntities);let d=l.parseXml(c);return this.options.preserveOrder||d===void 0?d:i(d,this.options)}addEntity(c,u){if(u.indexOf("&")!==-1)throw new Error("Entity value can't have '&'");if(c.indexOf("&")!==-1||c.indexOf(";")!==-1)throw new Error("An entity must be set without '&' and ';'. Eg. use '#xD' for '&#xD;'");if(u==="&")throw new Error("An entity with value '&' is not permitted");this.externalEntities[c]=u}};e.exports=a}}),zx=wt({"node_modules/fast-xml-parser/src/xmlbuilder/orderedJs2Xml.js"(t,e){var r=`
77
+ `);let T=new n("!xml"),C=T,E="",P="";for(let x=0;x<w.length;x++)if(w[x]==="<")if(w[x+1]==="/"){let q=g(w,">",x,"Closing Tag is not closed."),D=w.substring(x+2,q).trim();if(this.options.removeNSPrefix){let ht=D.indexOf(":");ht!==-1&&(D=D.substr(ht+1))}this.options.transformTagName&&(D=this.options.transformTagName(D)),C&&(E=this.saveTextToParentTag(E,C,P));let be=P.substring(P.lastIndexOf(".")+1);if(D&&this.options.unpairedTags.indexOf(D)!==-1)throw new Error(`Unpaired tag can not be used as closing tag: </${D}>`);let le=0;be&&this.options.unpairedTags.indexOf(be)!==-1?(le=P.lastIndexOf(".",P.lastIndexOf(".")-1),this.tagsNodeStack.pop()):le=P.lastIndexOf("."),P=P.substring(0,le),C=this.tagsNodeStack.pop(),E="",x=q}else if(w[x+1]==="?"){let q=S(w,x,!1,"?>");if(!q)throw new Error("Pi Tag is not closed.");if(E=this.saveTextToParentTag(E,C,P),!(this.options.ignoreDeclaration&&q.tagName==="?xml"||this.options.ignorePiTags)){let D=new n(q.tagName);D.add(this.options.textNodeName,""),q.tagName!==q.tagExp&&q.attrExpPresent&&(D[":@"]=this.buildAttributesMap(q.tagExp,P,q.tagName)),this.addChild(C,D,P)}x=q.closeIndex+1}else if(w.substr(x+1,3)==="!--"){let q=g(w,"-->",x+4,"Comment is not closed.");if(this.options.commentPropName){let D=w.substring(x+4,q-2);E=this.saveTextToParentTag(E,C,P),C.add(this.options.commentPropName,[{[this.options.textNodeName]:D}])}x=q}else if(w.substr(x+1,2)==="!D"){let q=i(w,x);this.docTypeEntities=q.entities,x=q.i}else if(w.substr(x+1,2)==="!["){let q=g(w,"]]>",x,"CDATA is not closed.")-2,D=w.substring(x+9,q);E=this.saveTextToParentTag(E,C,P);let be=this.parseTextData(D,C.tagname,P,!0,!1,!0,!0);be==null&&(be=""),this.options.cdataPropName?C.add(this.options.cdataPropName,[{[this.options.textNodeName]:D}]):C.add(this.options.textNodeName,be),x=q+2}else{let q=S(w,x,this.options.removeNSPrefix),D=q.tagName,be=q.rawTagName,le=q.tagExp,ht=q.attrExpPresent,bh=q.closeIndex;this.options.transformTagName&&(D=this.options.transformTagName(D)),C&&E&&C.tagname!=="!xml"&&(E=this.saveTextToParentTag(E,C,P,!1));let _h=C;if(_h&&this.options.unpairedTags.indexOf(_h.tagname)!==-1&&(C=this.tagsNodeStack.pop(),P=P.substring(0,P.lastIndexOf("."))),D!==T.tagname&&(P+=P?"."+D:D),this.isItStopNode(this.options.stopNodes,P,D)){let ot="";if(le.length>0&&le.lastIndexOf("/")===le.length-1)x=q.closeIndex;else if(this.options.unpairedTags.indexOf(D)!==-1)x=q.closeIndex;else{let Uu=this.readStopNodeData(w,be,bh+1);if(!Uu)throw new Error(`Unexpected end of ${be}`);x=Uu.i,ot=Uu.tagContent}let Mu=new n(D);D!==le&&ht&&(Mu[":@"]=this.buildAttributesMap(le,P,D)),ot&&(ot=this.parseTextData(ot,D,P,!0,ht,!0,!0)),P=P.substr(0,P.lastIndexOf(".")),Mu.add(this.options.textNodeName,ot),this.addChild(C,Mu,P)}else{if(le.length>0&&le.lastIndexOf("/")===le.length-1){D[D.length-1]==="/"?(D=D.substr(0,D.length-1),P=P.substr(0,P.length-1),le=D):le=le.substr(0,le.length-1),this.options.transformTagName&&(D=this.options.transformTagName(D));let ot=new n(D);D!==le&&ht&&(ot[":@"]=this.buildAttributesMap(le,P,D)),this.addChild(C,ot,P),P=P.substr(0,P.lastIndexOf("."))}else{let ot=new n(D);this.tagsNodeStack.push(C),D!==le&&ht&&(ot[":@"]=this.buildAttributesMap(le,P,D)),this.addChild(C,ot,P),C=ot}E="",x=bh}}else E+=w[x];return T.child},"parseXml");function h(w,T,C){let E=this.options.updateTag(T.tagname,C,T[":@"]);E===!1||(typeof E=="string"&&(T.tagname=E),w.addChild(T))}o(h,"addChild"),B(h,"addChild");var m=B(function(w){if(this.options.processEntities){for(let T in this.docTypeEntities){let C=this.docTypeEntities[T];w=w.replace(C.regx,C.val)}for(let T in this.lastEntities){let C=this.lastEntities[T];w=w.replace(C.regex,C.val)}if(this.options.htmlEntities)for(let T in this.htmlEntities){let C=this.htmlEntities[T];w=w.replace(C.regex,C.val)}w=w.replace(this.ampEntity.regex,this.ampEntity.val)}return w},"replaceEntitiesValue");function b(w,T,C,E){return w&&(E===void 0&&(E=Object.keys(T.child).length===0),w=this.parseTextData(w,T.tagname,C,!1,T[":@"]?Object.keys(T[":@"]).length!==0:!1,E),w!==void 0&&w!==""&&T.add(this.options.textNodeName,w),w=""),w}o(b,"saveTextToParentTag"),B(b,"saveTextToParentTag");function v(w,T,C){let E="*."+C;for(let P in w){let x=w[P];if(E===x||T===x)return!0}return!1}o(v,"isItStopNode"),B(v,"isItStopNode");function A(w,T,C=">"){let E,P="";for(let x=T;x<w.length;x++){let X=w[x];if(E)X===E&&(E="");else if(X==='"'||X==="'")E=X;else if(X===C[0])if(C[1]){if(w[x+1]===C[1])return{data:P,index:x}}else return{data:P,index:x};else X===" "&&(X=" ");P+=X}}o(A,"tagExpWithClosingIndex"),B(A,"tagExpWithClosingIndex");function g(w,T,C,E){let P=w.indexOf(T,C);if(P===-1)throw new Error(E);return P+T.length-1}o(g,"findClosingIndex"),B(g,"findClosingIndex");function S(w,T,C,E=">"){let P=A(w,T+1,E);if(!P)return;let x=P.data,X=P.index,q=x.search(/\s/),D=x,be=!0;q!==-1&&(D=x.substring(0,q),x=x.substring(q+1).trimStart());let le=D;if(C){let ht=D.indexOf(":");ht!==-1&&(D=D.substr(ht+1),be=D!==P.data.substr(ht+1))}return{tagName:D,tagExp:x,closeIndex:X,attrExpPresent:be,rawTagName:le}}o(S,"readTagExp"),B(S,"readTagExp");function O(w,T,C){let E=C,P=1;for(;C<w.length;C++)if(w[C]==="<")if(w[C+1]==="/"){let x=g(w,">",C,`${T} is not closed`);if(w.substring(C+2,x).trim()===T&&(P--,P===0))return{tagContent:w.substring(E,C),i:x};C=x}else if(w[C+1]==="?")C=g(w,"?>",C+1,"StopNode is not closed.");else if(w.substr(C+1,3)==="!--")C=g(w,"-->",C+3,"StopNode is not closed.");else if(w.substr(C+1,2)==="![")C=g(w,"]]>",C,"StopNode is not closed.")-2;else{let x=S(w,C,">");x&&((x&&x.tagName)===T&&x.tagExp[x.tagExp.length-1]!=="/"&&P++,C=x.closeIndex)}}o(O,"readStopNodeData"),B(O,"readStopNodeData");function V(w,T,C){if(T&&typeof w=="string"){let E=w.trim();return E==="true"?!0:E==="false"?!1:s(w,C)}else return r.isExist(w)?w:""}o(V,"parseValue"),B(V,"parseValue"),e.exports=a}}),Kx=wt({"node_modules/fast-xml-parser/src/xmlparser/node2json.js"(t){"use strict";function e(a,c){return r(a,c)}o(e,"prettify"),B(e,"prettify");function r(a,c,u){let l,d={};for(let p=0;p<a.length;p++){let f=a[p],h=n(f),m="";if(u===void 0?m=h:m=u+"."+h,h===c.textNodeName)l===void 0?l=f[h]:l+=""+f[h];else{if(h===void 0)continue;if(f[h]){let b=r(f[h],c,m),v=s(b,c);f[":@"]?i(b,f[":@"],m,c):Object.keys(b).length===1&&b[c.textNodeName]!==void 0&&!c.alwaysCreateTextNode?b=b[c.textNodeName]:Object.keys(b).length===0&&(c.alwaysCreateTextNode?b[c.textNodeName]="":b=""),d[h]!==void 0&&d.hasOwnProperty(h)?(Array.isArray(d[h])||(d[h]=[d[h]]),d[h].push(b)):c.isArray(h,m,v)?d[h]=[b]:d[h]=b}}}return typeof l=="string"?l.length>0&&(d[c.textNodeName]=l):l!==void 0&&(d[c.textNodeName]=l),d}o(r,"compress"),B(r,"compress");function n(a){let c=Object.keys(a);for(let u=0;u<c.length;u++){let l=c[u];if(l!==":@")return l}}o(n,"propName"),B(n,"propName");function i(a,c,u,l){if(c){let d=Object.keys(c),p=d.length;for(let f=0;f<p;f++){let h=d[f];l.isArray(h,u+"."+h,!0,!0)?a[h]=[c[h]]:a[h]=c[h]}}}o(i,"assignAttributes"),B(i,"assignAttributes");function s(a,c){let{textNodeName:u}=c,l=Object.keys(a).length;return!!(l===0||l===1&&(a[u]||typeof a[u]=="boolean"||a[u]===0))}o(s,"isLeafTag"),B(s,"isLeafTag"),t.prettify=e}}),Jx=wt({"node_modules/fast-xml-parser/src/xmlparser/XMLParser.js"(t,e){var{buildOptions:r}=$x(),n=Gx(),{prettify:i}=Kx(),s=UE(),a=class{static{o(this,"XMLParser2")}static{B(this,"XMLParser")}constructor(c){this.externalEntities={},this.options=r(c)}parse(c,u){if(typeof c!="string")if(c.toString)c=c.toString();else throw new Error("XML data is accepted in String or Bytes[] form.");if(u){u===!0&&(u={});let p=s.validate(c,u);if(p!==!0)throw Error(`${p.err.msg}:${p.err.line}:${p.err.col}`)}let l=new n(this.options);l.addExternalEntities(this.externalEntities);let d=l.parseXml(c);return this.options.preserveOrder||d===void 0?d:i(d,this.options)}addEntity(c,u){if(u.indexOf("&")!==-1)throw new Error("Entity value can't have '&'");if(c.indexOf("&")!==-1||c.indexOf(";")!==-1)throw new Error("An entity must be set without '&' and ';'. Eg. use '#xD' for '&#xD;'");if(u==="&")throw new Error("An entity with value '&' is not permitted");this.externalEntities[c]=u}};e.exports=a}}),zx=wt({"node_modules/fast-xml-parser/src/xmlbuilder/orderedJs2Xml.js"(t,e){var r=`
78
78
  `;function n(l,d){let p="";return d.format&&d.indentBy.length>0&&(p=r),i(l,d,"",p)}o(n,"toXml"),B(n,"toXml");function i(l,d,p,f){let h="",m=!1;for(let b=0;b<l.length;b++){let v=l[b],A=s(v);if(A===void 0)continue;let g="";if(p.length===0?g=A:g=`${p}.${A}`,A===d.textNodeName){let T=v[A];c(g,d)||(T=d.tagValueProcessor(A,T),T=u(T,d)),m&&(h+=f),h+=T,m=!1;continue}else if(A===d.cdataPropName){m&&(h+=f),h+=`<![CDATA[${v[A][0][d.textNodeName]}]]>`,m=!1;continue}else if(A===d.commentPropName){h+=f+`<!--${v[A][0][d.textNodeName]}-->`,m=!0;continue}else if(A[0]==="?"){let T=a(v[":@"],d),C=A==="?xml"?"":f,E=v[A][0][d.textNodeName];E=E.length!==0?" "+E:"",h+=C+`<${A}${E}${T}?>`,m=!0;continue}let S=f;S!==""&&(S+=d.indentBy);let O=a(v[":@"],d),V=f+`<${A}${O}`,w=i(v[A],d,g,S);d.unpairedTags.indexOf(A)!==-1?d.suppressUnpairedNode?h+=V+">":h+=V+"/>":(!w||w.length===0)&&d.suppressEmptyNode?h+=V+"/>":w&&w.endsWith(">")?h+=V+`>${w}${f}</${A}>`:(h+=V+">",w&&f!==""&&(w.includes("/>")||w.includes("</"))?h+=f+d.indentBy+w+f:h+=w,h+=`</${A}>`),m=!0}return h}o(i,"arrToStr"),B(i,"arrToStr");function s(l){let d=Object.keys(l);for(let p=0;p<d.length;p++){let f=d[p];if(l.hasOwnProperty(f)&&f!==":@")return f}}o(s,"propName"),B(s,"propName");function a(l,d){let p="";if(l&&!d.ignoreAttributes)for(let f in l){if(!l.hasOwnProperty(f))continue;let h=d.attributeValueProcessor(f,l[f]);h=u(h,d),h===!0&&d.suppressBooleanAttributes?p+=` ${f.substr(d.attributeNamePrefix.length)}`:p+=` ${f.substr(d.attributeNamePrefix.length)}="${h}"`}return p}o(a,"attr_to_str"),B(a,"attr_to_str");function c(l,d){l=l.substr(0,l.length-d.textNodeName.length-1);let p=l.substr(l.lastIndexOf(".")+1);for(let f in d.stopNodes)if(d.stopNodes[f]===l||d.stopNodes[f]==="*."+p)return!0;return!1}o(c,"isStopNode"),B(c,"isStopNode");function u(l,d){if(l&&l.length>0&&d.processEntities)for(let p=0;p<d.entities.length;p++){let f=d.entities[p];l=l.replace(f.regex,f.val)}return l}o(u,"replaceEntitiesValue"),B(u,"replaceEntitiesValue"),e.exports=n}}),Wx=wt({"node_modules/fast-xml-parser/src/xmlbuilder/json2xml.js"(t,e){"use strict";var r=zx(),n={attributeNamePrefix:"@_",attributesGroupName:!1,textNodeName:"#text",ignoreAttributes:!0,cdataPropName:!1,format:!1,indentBy:" ",suppressEmptyNode:!1,suppressUnpairedNode:!0,suppressBooleanAttributes:!0,tagValueProcessor:function(u,l){return l},attributeValueProcessor:function(u,l){return l},preserveOrder:!1,commentPropName:!1,unpairedTags:[],entities:[{regex:new RegExp("&","g"),val:"&amp;"},{regex:new RegExp(">","g"),val:"&gt;"},{regex:new RegExp("<","g"),val:"&lt;"},{regex:new RegExp("'","g"),val:"&apos;"},{regex:new RegExp('"',"g"),val:"&quot;"}],processEntities:!0,stopNodes:[],oneListGroup:!1};function i(u){this.options=Object.assign({},n,u),this.options.ignoreAttributes||this.options.attributesGroupName?this.isAttribute=function(){return!1}:(this.attrPrefixLen=this.options.attributeNamePrefix.length,this.isAttribute=c),this.processTextOrObjNode=s,this.options.format?(this.indentate=a,this.tagEndChar=`>
79
79
  `,this.newLine=`
80
- `):(this.indentate=function(){return""},this.tagEndChar=">",this.newLine="")}o(i,"Builder"),B(i,"Builder"),i.prototype.build=function(u){return this.options.preserveOrder?r(u,this.options):(Array.isArray(u)&&this.options.arrayNodeName&&this.options.arrayNodeName.length>1&&(u={[this.options.arrayNodeName]:u}),this.j2x(u,0).val)},i.prototype.j2x=function(u,l){let d="",p="";for(let f in u)if(Object.prototype.hasOwnProperty.call(u,f))if(typeof u[f]>"u")this.isAttribute(f)&&(p+="");else if(u[f]===null)this.isAttribute(f)?p+="":f[0]==="?"?p+=this.indentate(l)+"<"+f+"?"+this.tagEndChar:p+=this.indentate(l)+"<"+f+"/"+this.tagEndChar;else if(u[f]instanceof Date)p+=this.buildTextValNode(u[f],f,"",l);else if(typeof u[f]!="object"){let h=this.isAttribute(f);if(h)d+=this.buildAttrPairStr(h,""+u[f]);else if(f===this.options.textNodeName){let m=this.options.tagValueProcessor(f,""+u[f]);p+=this.replaceEntitiesValue(m)}else p+=this.buildTextValNode(u[f],f,"",l)}else if(Array.isArray(u[f])){let h=u[f].length,m="";for(let b=0;b<h;b++){let v=u[f][b];typeof v>"u"||(v===null?f[0]==="?"?p+=this.indentate(l)+"<"+f+"?"+this.tagEndChar:p+=this.indentate(l)+"<"+f+"/"+this.tagEndChar:typeof v=="object"?this.options.oneListGroup?m+=this.j2x(v,l+1).val:m+=this.processTextOrObjNode(v,f,l):m+=this.buildTextValNode(v,f,"",l))}this.options.oneListGroup&&(m=this.buildObjectNode(m,f,"",l)),p+=m}else if(this.options.attributesGroupName&&f===this.options.attributesGroupName){let h=Object.keys(u[f]),m=h.length;for(let b=0;b<m;b++)d+=this.buildAttrPairStr(h[b],""+u[f][h[b]])}else p+=this.processTextOrObjNode(u[f],f,l);return{attrStr:d,val:p}},i.prototype.buildAttrPairStr=function(u,l){return l=this.options.attributeValueProcessor(u,""+l),l=this.replaceEntitiesValue(l),this.options.suppressBooleanAttributes&&l==="true"?" "+u:" "+u+'="'+l+'"'};function s(u,l,d){let p=this.j2x(u,d+1);return u[this.options.textNodeName]!==void 0&&Object.keys(u).length===1?this.buildTextValNode(u[this.options.textNodeName],l,p.attrStr,d):this.buildObjectNode(p.val,l,p.attrStr,d)}o(s,"processTextOrObjNode"),B(s,"processTextOrObjNode"),i.prototype.buildObjectNode=function(u,l,d,p){if(u==="")return l[0]==="?"?this.indentate(p)+"<"+l+d+"?"+this.tagEndChar:this.indentate(p)+"<"+l+d+this.closeTag(l)+this.tagEndChar;{let f="</"+l+this.tagEndChar,h="";return l[0]==="?"&&(h="?",f=""),(d||d==="")&&u.indexOf("<")===-1?this.indentate(p)+"<"+l+d+h+">"+u+f:this.options.commentPropName!==!1&&l===this.options.commentPropName&&h.length===0?this.indentate(p)+`<!--${u}-->`+this.newLine:this.indentate(p)+"<"+l+d+h+this.tagEndChar+u+this.indentate(p)+f}},i.prototype.closeTag=function(u){let l="";return this.options.unpairedTags.indexOf(u)!==-1?this.options.suppressUnpairedNode||(l="/"):this.options.suppressEmptyNode?l="/":l=`></${u}`,l},i.prototype.buildTextValNode=function(u,l,d,p){if(this.options.cdataPropName!==!1&&l===this.options.cdataPropName)return this.indentate(p)+`<![CDATA[${u}]]>`+this.newLine;if(this.options.commentPropName!==!1&&l===this.options.commentPropName)return this.indentate(p)+`<!--${u}-->`+this.newLine;if(l[0]==="?")return this.indentate(p)+"<"+l+d+"?"+this.tagEndChar;{let f=this.options.tagValueProcessor(l,u);return f=this.replaceEntitiesValue(f),f===""?this.indentate(p)+"<"+l+d+this.closeTag(l)+this.tagEndChar:this.indentate(p)+"<"+l+d+">"+f+"</"+l+this.tagEndChar}},i.prototype.replaceEntitiesValue=function(u){if(u&&u.length>0&&this.options.processEntities)for(let l=0;l<this.options.entities.length;l++){let d=this.options.entities[l];u=u.replace(d.regex,d.val)}return u};function a(u){return this.options.indentBy.repeat(u)}o(a,"indentate"),B(a,"indentate");function c(u){return u.startsWith(this.options.attributeNamePrefix)&&u!==this.options.textNodeName?u.substr(this.attrPrefixLen):!1}o(c,"isAttribute"),B(c,"isAttribute"),e.exports=i}}),Qx=ME(),Yx=Jx(),Zx=Wx();UE.exports={XMLParser:Yx,XMLValidator:Qx,XMLBuilder:Zx}});var FE=_(Wc=>{"use strict";Object.defineProperty(Wc,"__esModule",{value:!0});Wc.XmlToJsonOutboundPolicy=void 0;var Xx=k(),eL=mn(),tL=kE(),rL=Kt(),nL=Et(),qf=class extends eL.OutboundPolicy{static{o(this,"XmlToJsonOutboundPolicy")}parser;parseOnStatusCodes;constructor(e,r){super(e,r),(0,nL.optionValidator)(this.options,this.policyName).optional("removeNSPrefix","boolean").optional("ignoreProcessingInstructions","boolean").optional("ignoreDeclarations","boolean").optional("ignoreAttributes","boolean").optional("stopNodes","array").optional("attributeNamePrefix","string").optional("textNodeName","string").optional("trimValues","boolean"),this.parseOnStatusCodes=e.parseOnStatusCodes?(0,rL.statusCodesStringToNumberArray)(e.parseOnStatusCodes):void 0,this.parser=new tL.XMLParser({removeNSPrefix:e?.removeNSPrefix??!0,ignorePiTags:e?.ignoreProcessingInstructions??!0,ignoreDeclaration:e?.ignoreDeclarations??!0,ignoreAttributes:e?.ignoreAttributes??!0,stopNodes:e?.stopNodes??[],attributeNamePrefix:e?.attributeNamePrefix??"@_",textNodeName:e?.textNodeName??"#text",trimValues:e?.trimValues??!0})}async handler(e,r,n){if(this.parseOnStatusCodes&&!this.parseOnStatusCodes.includes(e.status))return e;let i;try{let c=await e.text();i=this.parser.parse(c)}catch(c){let u=`XmlToJsonOutboundPolicy - Error parsing XML contents in policy '${this.policyName}'.`;throw n.log.error(u,c),new Xx.RuntimeError(u)}let s=new Headers(e.headers);return s.set("content-type","application/json"),new Response(JSON.stringify(i),{status:e.status,statusText:e.statusText,headers:s})}};Wc.XmlToJsonOutboundPolicy=qf});var HE=_(Qc=>{"use strict";Object.defineProperty(Qc,"__esModule",{value:!0});Qc.ServiceProviderImpl=void 0;var iL=k(),$f=class{static{o(this,"ServiceProviderImpl")}services=new Map;addService(e,r){if(this.services.get(e))throw new iL.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)}};Qc.ServiceProviderImpl=$f});var ZE=_(y=>{"use strict";var oL=y&&y.__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]}),jf=y&&y.__exportStar||function(t,e){for(var r in t)r!=="default"&&!Object.prototype.hasOwnProperty.call(e,r)&&oL(e,t,r)},sL=y&&y.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(y,"__esModule",{value:!0});y.OpenIdJwtInboundPolicy=y.OktaJwtInboundPolicy=y.MonetizationInboundPolicy=y.setMoesifContext=y.MoesifInboundPolicy=y.MockApiInboundPolicy=y.JWTScopeValidationInboundPolicy=y.GeoFilterInboundPolicy=y.FormDataToJsonInboundPolicy=y.FirebaseJwtInboundPolicy=y.CurityPhantomTokenInboundPolicy=y.CompositeInboundPolicy=y.CognitoJwtInboundPolicy=y.ClerkJwtInboundPolicy=y.ClearHeadersOutboundPolicy=y.ClearHeadersInboundPolicy=y.ChangeMethodInboundPolicy=y.CachingInboundPolicy=y.BasicAuthInboundPolicy=y.Auth0JwtInboundPolicy=y.ApiKeyInboundPolicy=y.ApiAuthKeyInboundPolicy=y.AmberfloMeteringPolicy=y.AmberfloMeteringInboundPolicy=y.OutboundPolicy=y.InboundPolicy=y.AuditLogPlugin=y.AuditLogDataStaxProvider=y.HttpStatusCode=y.webSocketPipelineHandler=y.webSocketHandler=y.urlRewriteHandler=y.urlForwardHandler=y.redirectHandler=y.openApiSpecHandler=y.awsLambdaHandler=y.AwsLambdaHandlerExtensions=y.purgeGatewayCache=y.Handler=y.originalFetch=y.RuntimeError=y.ConfigurationError=y.isZuploReadableEnvVariableName=y.isRestrictedEnvVariableName=y.environment=y.ContextData=y.ResponseSentEvent=y.ResponseSendingEvent=y.ZoneCache=y.MemoryZoneReadThroughCache=void 0;y.sanitizedIdentifierName=y.getRawOperationDataIdentifierName=y.getIdForRequestBodySchema=y.getIdForRefSchema=y.getIdForParameterSchema=y.SystemLogMap=y.httpStatuses=y.SYSTEM_LOGGER=y.API_KEY=y.ServiceProviderImpl=y.serialize=y.ContentTypes=y.Router=y.LookupResult=y.SystemRouteName=y.ZuploRequest=y.ProblemResponseFormatter=y.HttpProblems=y.XmlToJsonOutboundPolicy=y.ValidateJsonSchemaInbound=y.UpstreamGcpServiceAuthInboundPolicy=y.UpstreamGcpJwtInboundPolicy=y.UpstreamFirebaseUserAuthInboundPolicy=y.UpstreamFirebaseAdminAuthInboundPolicy=y.UpstreamAzureAdServiceAuthInboundPolicy=y.SupabaseJwtInboundPolicy=y.StripeWebhookVerificationInboundPolicy=y.SleepInboundPolicy=y.SetStatusOutboundPolicy=y.SetQueryParamsInboundPolicy=y.SetHeadersOutboundPolicy=y.SetHeadersInboundPolicy=y.SetBodyInboundPolicy=y.RequireOriginInboundPolicy=y.SchemaBasedRequestValidation=y.RequestValidationInboundPolicy=y.RequestSizeLimitInboundPolicy=y.ReplaceStringOutboundPolicy=y.RemoveQueryParamsInboundPolicy=y.RemoveHeadersOutboundPolicy=y.RemoveHeadersInboundPolicy=y.ReadmeMetricsInboundPolicy=y.RateLimitInboundPolicy=y.BasicRateLimitInboundPolicy=y.PropelAuthJwtInboundPolicy=void 0;Ih();var aL=nr();Object.defineProperty(y,"MemoryZoneReadThroughCache",{enumerable:!0,get:function(){return aL.MemoryZoneReadThroughCache}});var cL=No();Object.defineProperty(y,"ZoneCache",{enumerable:!0,get:function(){return cL.ZoneCache}});var qE=Hr();Object.defineProperty(y,"ResponseSendingEvent",{enumerable:!0,get:function(){return qE.ResponseSendingEvent}});Object.defineProperty(y,"ResponseSentEvent",{enumerable:!0,get:function(){return qE.ResponseSentEvent}});var uL=cp();Object.defineProperty(y,"ContextData",{enumerable:!0,get:function(){return uL.ContextData}});var Vf=Gi();Object.defineProperty(y,"environment",{enumerable:!0,get:function(){return Vf.environment}});Object.defineProperty(y,"isRestrictedEnvVariableName",{enumerable:!0,get:function(){return Vf.isRestrictedEnvVariableName}});Object.defineProperty(y,"isZuploReadableEnvVariableName",{enumerable:!0,get:function(){return Vf.isZuploReadableEnvVariableName}});var $E=k();Object.defineProperty(y,"ConfigurationError",{enumerable:!0,get:function(){return $E.ConfigurationError}});Object.defineProperty(y,"RuntimeError",{enumerable:!0,get:function(){return $E.RuntimeError}});var lL=lp();Object.defineProperty(y,"originalFetch",{enumerable:!0,get:function(){return lL.originalFetch}});var jE=Xg();Object.defineProperty(y,"Handler",{enumerable:!0,get:function(){return jE.Handler}});Object.defineProperty(y,"purgeGatewayCache",{enumerable:!0,get:function(){return jE.purgeGatewayCache}});var VE=yb();Object.defineProperty(y,"AwsLambdaHandlerExtensions",{enumerable:!0,get:function(){return VE.AwsLambdaHandlerExtensions}});Object.defineProperty(y,"awsLambdaHandler",{enumerable:!0,get:function(){return VE.awsLambdaHandler}});var dL=bb();Object.defineProperty(y,"openApiSpecHandler",{enumerable:!0,get:function(){return dL.openApiSpecHandler}});var pL=_b();Object.defineProperty(y,"redirectHandler",{enumerable:!0,get:function(){return pL.redirectHandler}});var fL=wb();Object.defineProperty(y,"urlForwardHandler",{enumerable:!0,get:function(){return fL.urlForwardHandler}});var hL=Tb();Object.defineProperty(y,"urlRewriteHandler",{enumerable:!0,get:function(){return hL.urlRewriteHandler}});var mL=Ib();Object.defineProperty(y,"webSocketHandler",{enumerable:!0,get:function(){return mL.webSocketHandler}});var yL=Rb();Object.defineProperty(y,"webSocketPipelineHandler",{enumerable:!0,get:function(){return yL.webSocketPipelineHandler}});var gL=hl();Object.defineProperty(y,"HttpStatusCode",{enumerable:!0,get:function(){return gL.HttpStatusCode}});jf(Ub(),y);jf(Hb(),y);var bL=qb();Object.defineProperty(y,"AuditLogDataStaxProvider",{enumerable:!0,get:function(){return bL.AuditLogDataStaxProvider}});var _L=jb();Object.defineProperty(y,"AuditLogPlugin",{enumerable:!0,get:function(){return _L.AuditLogPlugin}});jf(t_(),y);var BE=mn();Object.defineProperty(y,"InboundPolicy",{enumerable:!0,get:function(){return BE.InboundPolicy}});Object.defineProperty(y,"OutboundPolicy",{enumerable:!0,get:function(){return BE.OutboundPolicy}});var GE=s_();Object.defineProperty(y,"AmberfloMeteringInboundPolicy",{enumerable:!0,get:function(){return GE.AmberfloMeteringInboundPolicy}});Object.defineProperty(y,"AmberfloMeteringPolicy",{enumerable:!0,get:function(){return GE.AmberfloMeteringPolicy}});var EL=d_();Object.defineProperty(y,"ApiAuthKeyInboundPolicy",{enumerable:!0,get:function(){return EL.ApiAuthKeyInboundPolicy}});var wL=gf();Object.defineProperty(y,"ApiKeyInboundPolicy",{enumerable:!0,get:function(){return wL.ApiKeyInboundPolicy}});var vL=p_();Object.defineProperty(y,"Auth0JwtInboundPolicy",{enumerable:!0,get:function(){return vL.Auth0JwtInboundPolicy}});var TL=f_();Object.defineProperty(y,"BasicAuthInboundPolicy",{enumerable:!0,get:function(){return TL.BasicAuthInboundPolicy}});var SL=h_();Object.defineProperty(y,"CachingInboundPolicy",{enumerable:!0,get:function(){return SL.CachingInboundPolicy}});var IL=m_();Object.defineProperty(y,"ChangeMethodInboundPolicy",{enumerable:!0,get:function(){return IL.ChangeMethodInboundPolicy}});var PL=y_();Object.defineProperty(y,"ClearHeadersInboundPolicy",{enumerable:!0,get:function(){return PL.ClearHeadersInboundPolicy}});var AL=g_();Object.defineProperty(y,"ClearHeadersOutboundPolicy",{enumerable:!0,get:function(){return AL.ClearHeadersOutboundPolicy}});var RL=b_();Object.defineProperty(y,"ClerkJwtInboundPolicy",{enumerable:!0,get:function(){return RL.ClerkJwtInboundPolicy}});var OL=E_();Object.defineProperty(y,"CognitoJwtInboundPolicy",{enumerable:!0,get:function(){return OL.CognitoJwtInboundPolicy}});var NL=v_();Object.defineProperty(y,"CompositeInboundPolicy",{enumerable:!0,get:function(){return NL.CompositeInboundPolicy}});var CL=T_();Object.defineProperty(y,"CurityPhantomTokenInboundPolicy",{enumerable:!0,get:function(){return CL.CurityPhantomTokenInboundPolicy}});var xL=S_();Object.defineProperty(y,"FirebaseJwtInboundPolicy",{enumerable:!0,get:function(){return xL.FirebaseJwtInboundPolicy}});var LL=I_();Object.defineProperty(y,"FormDataToJsonInboundPolicy",{enumerable:!0,get:function(){return LL.FormDataToJsonInboundPolicy}});var DL=P_();Object.defineProperty(y,"GeoFilterInboundPolicy",{enumerable:!0,get:function(){return DL.GeoFilterInboundPolicy}});var ML=A_();Object.defineProperty(y,"JWTScopeValidationInboundPolicy",{enumerable:!0,get:function(){return ML.JWTScopeValidationInboundPolicy}});var UL=O_();Object.defineProperty(y,"MockApiInboundPolicy",{enumerable:!0,get:function(){return UL.MockApiInboundPolicy}});var KE=D_();Object.defineProperty(y,"MoesifInboundPolicy",{enumerable:!0,get:function(){return KE.MoesifInboundPolicy}});Object.defineProperty(y,"setMoesifContext",{enumerable:!0,get:function(){return KE.setMoesifContext}});var kL=$_();Object.defineProperty(y,"MonetizationInboundPolicy",{enumerable:!0,get:function(){return kL.MonetizationInboundPolicy}});var FL=j_();Object.defineProperty(y,"OktaJwtInboundPolicy",{enumerable:!0,get:function(){return FL.OktaJwtInboundPolicy}});var HL=Xt();Object.defineProperty(y,"OpenIdJwtInboundPolicy",{enumerable:!0,get:function(){return HL.OpenIdJwtInboundPolicy}});var qL=V_();Object.defineProperty(y,"PropelAuthJwtInboundPolicy",{enumerable:!0,get:function(){return qL.PropelAuthJwtInboundPolicy}});var JE=Q_();Object.defineProperty(y,"BasicRateLimitInboundPolicy",{enumerable:!0,get:function(){return JE.RateLimitInboundPolicy}});Object.defineProperty(y,"RateLimitInboundPolicy",{enumerable:!0,get:function(){return JE.RateLimitInboundPolicy}});var $L=eE();Object.defineProperty(y,"ReadmeMetricsInboundPolicy",{enumerable:!0,get:function(){return $L.ReadmeMetricsInboundPolicy}});var jL=tE();Object.defineProperty(y,"RemoveHeadersInboundPolicy",{enumerable:!0,get:function(){return jL.RemoveHeadersInboundPolicy}});var VL=rE();Object.defineProperty(y,"RemoveHeadersOutboundPolicy",{enumerable:!0,get:function(){return VL.RemoveHeadersOutboundPolicy}});var BL=nE();Object.defineProperty(y,"RemoveQueryParamsInboundPolicy",{enumerable:!0,get:function(){return BL.RemoveQueryParamsInboundPolicy}});var GL=iE();Object.defineProperty(y,"ReplaceStringOutboundPolicy",{enumerable:!0,get:function(){return GL.ReplaceStringOutboundPolicy}});var KL=sE();Object.defineProperty(y,"RequestSizeLimitInboundPolicy",{enumerable:!0,get:function(){return KL.RequestSizeLimitInboundPolicy}});var zE=dE();Object.defineProperty(y,"RequestValidationInboundPolicy",{enumerable:!0,get:function(){return zE.RequestValidationInboundPolicy}});Object.defineProperty(y,"SchemaBasedRequestValidation",{enumerable:!0,get:function(){return zE.SchemaBasedRequestValidation}});var JL=pE();Object.defineProperty(y,"RequireOriginInboundPolicy",{enumerable:!0,get:function(){return JL.RequireOriginInboundPolicy}});var zL=fE();Object.defineProperty(y,"SetBodyInboundPolicy",{enumerable:!0,get:function(){return zL.SetBodyInboundPolicy}});var WL=mE();Object.defineProperty(y,"SetHeadersInboundPolicy",{enumerable:!0,get:function(){return WL.SetHeadersInboundPolicy}});var QL=gE();Object.defineProperty(y,"SetHeadersOutboundPolicy",{enumerable:!0,get:function(){return QL.SetHeadersOutboundPolicy}});var YL=_E();Object.defineProperty(y,"SetQueryParamsInboundPolicy",{enumerable:!0,get:function(){return YL.SetQueryParamsInboundPolicy}});var ZL=EE();Object.defineProperty(y,"SetStatusOutboundPolicy",{enumerable:!0,get:function(){return ZL.SetStatusOutboundPolicy}});var XL=wE();Object.defineProperty(y,"SleepInboundPolicy",{enumerable:!0,get:function(){return XL.SleepInboundPolicy}});var e1=Kp();Object.defineProperty(y,"StripeWebhookVerificationInboundPolicy",{enumerable:!0,get:function(){return e1.StripeWebhookVerificationInboundPolicy}});var t1=TE();Object.defineProperty(y,"SupabaseJwtInboundPolicy",{enumerable:!0,get:function(){return t1.SupabaseJwtInboundPolicy}});var r1=IE();Object.defineProperty(y,"UpstreamAzureAdServiceAuthInboundPolicy",{enumerable:!0,get:function(){return r1.UpstreamAzureAdServiceAuthInboundPolicy}});var n1=AE();Object.defineProperty(y,"UpstreamFirebaseAdminAuthInboundPolicy",{enumerable:!0,get:function(){return n1.UpstreamFirebaseAdminAuthInboundPolicy}});var i1=RE();Object.defineProperty(y,"UpstreamFirebaseUserAuthInboundPolicy",{enumerable:!0,get:function(){return i1.UpstreamFirebaseUserAuthInboundPolicy}});var o1=NE();Object.defineProperty(y,"UpstreamGcpJwtInboundPolicy",{enumerable:!0,get:function(){return o1.UpstreamGcpJwtInboundPolicy}});var s1=xE();Object.defineProperty(y,"UpstreamGcpServiceAuthInboundPolicy",{enumerable:!0,get:function(){return s1.UpstreamGcpServiceAuthInboundPolicy}});var a1=DE();Object.defineProperty(y,"ValidateJsonSchemaInbound",{enumerable:!0,get:function(){return a1.ValidateJsonSchemaInbound}});var c1=FE();Object.defineProperty(y,"XmlToJsonOutboundPolicy",{enumerable:!0,get:function(){return c1.XmlToJsonOutboundPolicy}});var u1=pe();Object.defineProperty(y,"HttpProblems",{enumerable:!0,get:function(){return u1.HttpProblems}});var l1=Ho();Object.defineProperty(y,"ProblemResponseFormatter",{enumerable:!0,get:function(){return l1.ProblemResponseFormatter}});var d1=Ge();Object.defineProperty(y,"ZuploRequest",{enumerable:!0,get:function(){return d1.ZuploRequest}});var p1=$r();Object.defineProperty(y,"SystemRouteName",{enumerable:!0,get:function(){return p1.SystemRouteName}});var WE=Xd();Object.defineProperty(y,"LookupResult",{enumerable:!0,get:function(){return WE.LookupResult}});Object.defineProperty(y,"Router",{enumerable:!0,get:function(){return WE.Router}});var QE=il();Object.defineProperty(y,"ContentTypes",{enumerable:!0,get:function(){return QE.ContentTypes}});Object.defineProperty(y,"serialize",{enumerable:!0,get:function(){return QE.serialize}});var f1=HE();Object.defineProperty(y,"ServiceProviderImpl",{enumerable:!0,get:function(){return f1.ServiceProviderImpl}});var YE=Ll();Object.defineProperty(y,"API_KEY",{enumerable:!0,get:function(){return YE.API_KEY}});Object.defineProperty(y,"SYSTEM_LOGGER",{enumerable:!0,get:function(){return YE.SYSTEM_LOGGER}});var h1=yl();Object.defineProperty(y,"httpStatuses",{enumerable:!0,get:function(){return sL(h1).default}});var m1=Ze();Object.defineProperty(y,"SystemLogMap",{enumerable:!0,get:function(){return m1.SystemLogMap}});var ao=Oc();Object.defineProperty(y,"getIdForParameterSchema",{enumerable:!0,get:function(){return ao.getIdForParameterSchema}});Object.defineProperty(y,"getIdForRefSchema",{enumerable:!0,get:function(){return ao.getIdForRefSchema}});Object.defineProperty(y,"getIdForRequestBodySchema",{enumerable:!0,get:function(){return ao.getIdForRequestBodySchema}});Object.defineProperty(y,"getRawOperationDataIdentifierName",{enumerable:!0,get:function(){return ao.getRawOperationDataIdentifierName}});Object.defineProperty(y,"sanitizedIdentifierName",{enumerable:!0,get:function(){return ao.sanitizedIdentifierName}})});var XE=_(ui=>{"use strict";Object.defineProperty(ui,"__esModule",{value:!0});ui.BaseCryptoBeta=ui.supportedDigests=void 0;ui.supportedDigests=["sha-1","sha-256","sha-384","sha-512"];var Bf=class{static{o(this,"BaseCryptoBeta")}};ui.BaseCryptoBeta=Bf});var ew=_(Yc=>{"use strict";Object.defineProperty(Yc,"__esModule",{value:!0});Yc.WorkerCryptoBeta=void 0;var Gf=XE(),y1=k(),Kf=class extends Gf.BaseCryptoBeta{static{o(this,"WorkerCryptoBeta")}async digest(e,r){if(!Gf.supportedDigests.includes(e.toLowerCase()))throw new y1.RuntimeError(`Algorithm ${e} is not supported. Try using ${Gf.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("")}};Yc.WorkerCryptoBeta=Kf});var tw=_(Zc=>{"use strict";Object.defineProperty(Zc,"__esModule",{value:!0});Zc.BaseKeyValueStore=void 0;var Jf=class{static{o(this,"BaseKeyValueStore")}context;constructor(e){this.context=e}};Zc.BaseKeyValueStore=Jf});var nw=_(Xc=>{"use strict";Object.defineProperty(Xc,"__esModule",{value:!0});Xc.WorkerKeyValueStore=void 0;var rw=k(),g1=tw(),zf=class extends g1.BaseKeyValueStore{static{o(this,"WorkerKeyValueStore")}#e;constructor(e){super(e);let n=globalThis.ZUPLO_KV;if(!n)throw new rw.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 rw.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)}};Xc.WorkerKeyValueStore=zf});var Gt=_(vt=>{"use strict";var b1=vt&&vt.__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]}),_1=vt&&vt.__exportStar||function(t,e){for(var r in t)r!=="default"&&!Object.prototype.hasOwnProperty.call(e,r)&&b1(e,t,r)};Object.defineProperty(vt,"__esModule",{value:!0});vt.KeyValueStore=vt.CryptoBeta=void 0;_1(ZE(),vt);var E1=ew();Object.defineProperty(vt,"CryptoBeta",{enumerable:!0,get:function(){return E1.WorkerCryptoBeta}});var w1=nw();Object.defineProperty(vt,"KeyValueStore",{enumerable:!0,get:function(){return w1.WorkerKeyValueStore}})});var RD={};So(RD,{GraphQLComplexityLimitInboundPolicy:()=>Mw,GraphQLDisableIntrospectionInboundPolicy:()=>kw});module.exports=Io(RD);var wi=wh(Gt());function ee(t,e){if(!!!t)throw new Error(e)}o(ee,"devAssert");function Re(t){return typeof t=="object"&&t!==null}o(Re,"isObjectLike");function Ht(t,e){if(!!!t)throw new Error(e??"Unexpected invariant triggered.")}o(Ht,"invariant");var v1=/\r\n|[\n\r]/g;function li(t,e){let r=0,n=1;for(let i of t.body.matchAll(v1)){if(typeof i.index=="number"||Ht(!1),i.index>=e)break;r=i.index+i[0].length,n+=1}return{line:n,column:e+1-r}}o(li,"getLocation");function Wf(t){return eu(t.source,li(t.source,t.start))}o(Wf,"printLocation");function eu(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}
81
- `,d=n.split(/\r\n|[\n\r]/g),p=d[i];if(p.length>120){let f=Math.floor(u/80),h=u%80,m=[];for(let b=0;b<p.length;b+=80)m.push(p.slice(b,b+80));return l+iw([[`${a} |`,m[0]],...m.slice(1,f+1).map(b=>["|",b]),["|","^".padStart(h)],["|",m[f+1]]])}return l+iw([[`${a-1} |`,d[i-1]],[`${a} |`,p],["|","^".padStart(u)],[`${a+1} |`,d[i+1]]])}o(eu,"printSourceLocation");function iw(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(`
82
- `)}o(iw,"printPrefixedLines");function T1(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(T1,"toNormalizedOptions");var j=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}=T1(r);super(e),this.name="GraphQLError",this.path=l??void 0,this.originalError=d??void 0,this.nodes=ow(Array.isArray(a)?a:a?[a]:void 0);let f=ow((n=this.nodes)===null||n===void 0?void 0:n.map(m=>m.loc).filter(m=>m!=null));this.source=c??(f==null||(i=f[0])===null||i===void 0?void 0:i.source),this.positions=u??f?.map(m=>m.start),this.locations=u&&c?u.map(m=>li(c,m)):f?.map(m=>li(m.source,m.start));let h=Re(d?.extensions)?d?.extensions:void 0;this.extensions=(s=p??h)!==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+=`
80
+ `):(this.indentate=function(){return""},this.tagEndChar=">",this.newLine="")}o(i,"Builder"),B(i,"Builder"),i.prototype.build=function(u){return this.options.preserveOrder?r(u,this.options):(Array.isArray(u)&&this.options.arrayNodeName&&this.options.arrayNodeName.length>1&&(u={[this.options.arrayNodeName]:u}),this.j2x(u,0).val)},i.prototype.j2x=function(u,l){let d="",p="";for(let f in u)if(Object.prototype.hasOwnProperty.call(u,f))if(typeof u[f]>"u")this.isAttribute(f)&&(p+="");else if(u[f]===null)this.isAttribute(f)?p+="":f[0]==="?"?p+=this.indentate(l)+"<"+f+"?"+this.tagEndChar:p+=this.indentate(l)+"<"+f+"/"+this.tagEndChar;else if(u[f]instanceof Date)p+=this.buildTextValNode(u[f],f,"",l);else if(typeof u[f]!="object"){let h=this.isAttribute(f);if(h)d+=this.buildAttrPairStr(h,""+u[f]);else if(f===this.options.textNodeName){let m=this.options.tagValueProcessor(f,""+u[f]);p+=this.replaceEntitiesValue(m)}else p+=this.buildTextValNode(u[f],f,"",l)}else if(Array.isArray(u[f])){let h=u[f].length,m="";for(let b=0;b<h;b++){let v=u[f][b];typeof v>"u"||(v===null?f[0]==="?"?p+=this.indentate(l)+"<"+f+"?"+this.tagEndChar:p+=this.indentate(l)+"<"+f+"/"+this.tagEndChar:typeof v=="object"?this.options.oneListGroup?m+=this.j2x(v,l+1).val:m+=this.processTextOrObjNode(v,f,l):m+=this.buildTextValNode(v,f,"",l))}this.options.oneListGroup&&(m=this.buildObjectNode(m,f,"",l)),p+=m}else if(this.options.attributesGroupName&&f===this.options.attributesGroupName){let h=Object.keys(u[f]),m=h.length;for(let b=0;b<m;b++)d+=this.buildAttrPairStr(h[b],""+u[f][h[b]])}else p+=this.processTextOrObjNode(u[f],f,l);return{attrStr:d,val:p}},i.prototype.buildAttrPairStr=function(u,l){return l=this.options.attributeValueProcessor(u,""+l),l=this.replaceEntitiesValue(l),this.options.suppressBooleanAttributes&&l==="true"?" "+u:" "+u+'="'+l+'"'};function s(u,l,d){let p=this.j2x(u,d+1);return u[this.options.textNodeName]!==void 0&&Object.keys(u).length===1?this.buildTextValNode(u[this.options.textNodeName],l,p.attrStr,d):this.buildObjectNode(p.val,l,p.attrStr,d)}o(s,"processTextOrObjNode"),B(s,"processTextOrObjNode"),i.prototype.buildObjectNode=function(u,l,d,p){if(u==="")return l[0]==="?"?this.indentate(p)+"<"+l+d+"?"+this.tagEndChar:this.indentate(p)+"<"+l+d+this.closeTag(l)+this.tagEndChar;{let f="</"+l+this.tagEndChar,h="";return l[0]==="?"&&(h="?",f=""),(d||d==="")&&u.indexOf("<")===-1?this.indentate(p)+"<"+l+d+h+">"+u+f:this.options.commentPropName!==!1&&l===this.options.commentPropName&&h.length===0?this.indentate(p)+`<!--${u}-->`+this.newLine:this.indentate(p)+"<"+l+d+h+this.tagEndChar+u+this.indentate(p)+f}},i.prototype.closeTag=function(u){let l="";return this.options.unpairedTags.indexOf(u)!==-1?this.options.suppressUnpairedNode||(l="/"):this.options.suppressEmptyNode?l="/":l=`></${u}`,l},i.prototype.buildTextValNode=function(u,l,d,p){if(this.options.cdataPropName!==!1&&l===this.options.cdataPropName)return this.indentate(p)+`<![CDATA[${u}]]>`+this.newLine;if(this.options.commentPropName!==!1&&l===this.options.commentPropName)return this.indentate(p)+`<!--${u}-->`+this.newLine;if(l[0]==="?")return this.indentate(p)+"<"+l+d+"?"+this.tagEndChar;{let f=this.options.tagValueProcessor(l,u);return f=this.replaceEntitiesValue(f),f===""?this.indentate(p)+"<"+l+d+this.closeTag(l)+this.tagEndChar:this.indentate(p)+"<"+l+d+">"+f+"</"+l+this.tagEndChar}},i.prototype.replaceEntitiesValue=function(u){if(u&&u.length>0&&this.options.processEntities)for(let l=0;l<this.options.entities.length;l++){let d=this.options.entities[l];u=u.replace(d.regex,d.val)}return u};function a(u){return this.options.indentBy.repeat(u)}o(a,"indentate"),B(a,"indentate");function c(u){return u.startsWith(this.options.attributeNamePrefix)&&u!==this.options.textNodeName?u.substr(this.attrPrefixLen):!1}o(c,"isAttribute"),B(c,"isAttribute"),e.exports=i}}),Qx=UE(),Yx=Jx(),Zx=Wx();kE.exports={XMLParser:Yx,XMLValidator:Qx,XMLBuilder:Zx}});var HE=_(Wc=>{"use strict";Object.defineProperty(Wc,"__esModule",{value:!0});Wc.XmlToJsonOutboundPolicy=void 0;var Xx=k(),eL=mn(),tL=FE(),rL=Kt(),nL=Et(),qf=class extends eL.OutboundPolicy{static{o(this,"XmlToJsonOutboundPolicy")}parser;parseOnStatusCodes;constructor(e,r){super(e,r),(0,nL.optionValidator)(this.options,this.policyName).optional("removeNSPrefix","boolean").optional("ignoreProcessingInstructions","boolean").optional("ignoreDeclarations","boolean").optional("ignoreAttributes","boolean").optional("stopNodes","array").optional("attributeNamePrefix","string").optional("textNodeName","string").optional("trimValues","boolean"),this.parseOnStatusCodes=e.parseOnStatusCodes?(0,rL.statusCodesStringToNumberArray)(e.parseOnStatusCodes):void 0,this.parser=new tL.XMLParser({removeNSPrefix:e?.removeNSPrefix??!0,ignorePiTags:e?.ignoreProcessingInstructions??!0,ignoreDeclaration:e?.ignoreDeclarations??!0,ignoreAttributes:e?.ignoreAttributes??!0,stopNodes:e?.stopNodes??[],attributeNamePrefix:e?.attributeNamePrefix??"@_",textNodeName:e?.textNodeName??"#text",trimValues:e?.trimValues??!0})}async handler(e,r,n){if(this.parseOnStatusCodes&&!this.parseOnStatusCodes.includes(e.status))return e;let i;try{let c=await e.text();i=this.parser.parse(c)}catch(c){let u=`XmlToJsonOutboundPolicy - Error parsing XML contents in policy '${this.policyName}'.`;throw n.log.error(u,c),new Xx.RuntimeError(u)}let s=new Headers(e.headers);return s.set("content-type","application/json"),new Response(JSON.stringify(i),{status:e.status,statusText:e.statusText,headers:s})}};Wc.XmlToJsonOutboundPolicy=qf});var qE=_(Qc=>{"use strict";Object.defineProperty(Qc,"__esModule",{value:!0});Qc.ServiceProviderImpl=void 0;var iL=k(),$f=class{static{o(this,"ServiceProviderImpl")}services=new Map;addService(e,r){if(this.services.get(e))throw new iL.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)}};Qc.ServiceProviderImpl=$f});var XE=_(y=>{"use strict";var oL=y&&y.__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]}),jf=y&&y.__exportStar||function(t,e){for(var r in t)r!=="default"&&!Object.prototype.hasOwnProperty.call(e,r)&&oL(e,t,r)},sL=y&&y.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(y,"__esModule",{value:!0});y.OpenIdJwtInboundPolicy=y.OktaJwtInboundPolicy=y.MonetizationInboundPolicy=y.setMoesifContext=y.MoesifInboundPolicy=y.MockApiInboundPolicy=y.JWTScopeValidationInboundPolicy=y.GeoFilterInboundPolicy=y.FormDataToJsonInboundPolicy=y.FirebaseJwtInboundPolicy=y.CurityPhantomTokenInboundPolicy=y.CompositeInboundPolicy=y.CognitoJwtInboundPolicy=y.ClerkJwtInboundPolicy=y.ClearHeadersOutboundPolicy=y.ClearHeadersInboundPolicy=y.ChangeMethodInboundPolicy=y.CachingInboundPolicy=y.BasicAuthInboundPolicy=y.Auth0JwtInboundPolicy=y.ApiKeyInboundPolicy=y.ApiAuthKeyInboundPolicy=y.AmberfloMeteringPolicy=y.AmberfloMeteringInboundPolicy=y.OutboundPolicy=y.InboundPolicy=y.AuditLogPlugin=y.AuditLogDataStaxProvider=y.HttpStatusCode=y.webSocketPipelineHandler=y.webSocketHandler=y.urlRewriteHandler=y.urlForwardHandler=y.redirectHandler=y.openApiSpecHandler=y.awsLambdaHandler=y.AwsLambdaHandlerExtensions=y.purgeGatewayCache=y.Handler=y.originalFetch=y.RuntimeError=y.ConfigurationError=y.isZuploReadableEnvVariableName=y.isRestrictedEnvVariableName=y.environment=y.ContextData=y.ResponseSentEvent=y.ResponseSendingEvent=y.ZoneCache=y.MemoryZoneReadThroughCache=void 0;y.sanitizedIdentifierName=y.getRawOperationDataIdentifierName=y.getIdForRequestBodySchema=y.getIdForRefSchema=y.getIdForParameterSchema=y.SystemLogMap=y.httpStatuses=y.SYSTEM_LOGGER=y.API_KEY=y.ServiceProviderImpl=y.serialize=y.ContentTypes=y.Router=y.LookupResult=y.SystemRouteName=y.ZuploRequest=y.ProblemResponseFormatter=y.HttpProblems=y.XmlToJsonOutboundPolicy=y.ValidateJsonSchemaInbound=y.UpstreamGcpServiceAuthInboundPolicy=y.UpstreamGcpJwtInboundPolicy=y.UpstreamFirebaseUserAuthInboundPolicy=y.UpstreamFirebaseAdminAuthInboundPolicy=y.UpstreamAzureAdServiceAuthInboundPolicy=y.SupabaseJwtInboundPolicy=y.StripeWebhookVerificationInboundPolicy=y.SleepInboundPolicy=y.SetStatusOutboundPolicy=y.SetQueryParamsInboundPolicy=y.SetHeadersOutboundPolicy=y.SetHeadersInboundPolicy=y.SetBodyInboundPolicy=y.RequireOriginInboundPolicy=y.SchemaBasedRequestValidation=y.RequestValidationInboundPolicy=y.RequestSizeLimitInboundPolicy=y.ReplaceStringOutboundPolicy=y.RemoveQueryParamsInboundPolicy=y.RemoveHeadersOutboundPolicy=y.RemoveHeadersInboundPolicy=y.ReadmeMetricsInboundPolicy=y.RateLimitInboundPolicy=y.BasicRateLimitInboundPolicy=y.PropelAuthJwtInboundPolicy=void 0;Ih();var aL=nr();Object.defineProperty(y,"MemoryZoneReadThroughCache",{enumerable:!0,get:function(){return aL.MemoryZoneReadThroughCache}});var cL=No();Object.defineProperty(y,"ZoneCache",{enumerable:!0,get:function(){return cL.ZoneCache}});var $E=Hr();Object.defineProperty(y,"ResponseSendingEvent",{enumerable:!0,get:function(){return $E.ResponseSendingEvent}});Object.defineProperty(y,"ResponseSentEvent",{enumerable:!0,get:function(){return $E.ResponseSentEvent}});var uL=cp();Object.defineProperty(y,"ContextData",{enumerable:!0,get:function(){return uL.ContextData}});var Vf=Gi();Object.defineProperty(y,"environment",{enumerable:!0,get:function(){return Vf.environment}});Object.defineProperty(y,"isRestrictedEnvVariableName",{enumerable:!0,get:function(){return Vf.isRestrictedEnvVariableName}});Object.defineProperty(y,"isZuploReadableEnvVariableName",{enumerable:!0,get:function(){return Vf.isZuploReadableEnvVariableName}});var jE=k();Object.defineProperty(y,"ConfigurationError",{enumerable:!0,get:function(){return jE.ConfigurationError}});Object.defineProperty(y,"RuntimeError",{enumerable:!0,get:function(){return jE.RuntimeError}});var lL=lp();Object.defineProperty(y,"originalFetch",{enumerable:!0,get:function(){return lL.originalFetch}});var VE=Xg();Object.defineProperty(y,"Handler",{enumerable:!0,get:function(){return VE.Handler}});Object.defineProperty(y,"purgeGatewayCache",{enumerable:!0,get:function(){return VE.purgeGatewayCache}});var BE=yb();Object.defineProperty(y,"AwsLambdaHandlerExtensions",{enumerable:!0,get:function(){return BE.AwsLambdaHandlerExtensions}});Object.defineProperty(y,"awsLambdaHandler",{enumerable:!0,get:function(){return BE.awsLambdaHandler}});var dL=bb();Object.defineProperty(y,"openApiSpecHandler",{enumerable:!0,get:function(){return dL.openApiSpecHandler}});var pL=_b();Object.defineProperty(y,"redirectHandler",{enumerable:!0,get:function(){return pL.redirectHandler}});var fL=wb();Object.defineProperty(y,"urlForwardHandler",{enumerable:!0,get:function(){return fL.urlForwardHandler}});var hL=Tb();Object.defineProperty(y,"urlRewriteHandler",{enumerable:!0,get:function(){return hL.urlRewriteHandler}});var mL=Ib();Object.defineProperty(y,"webSocketHandler",{enumerable:!0,get:function(){return mL.webSocketHandler}});var yL=Rb();Object.defineProperty(y,"webSocketPipelineHandler",{enumerable:!0,get:function(){return yL.webSocketPipelineHandler}});var gL=hl();Object.defineProperty(y,"HttpStatusCode",{enumerable:!0,get:function(){return gL.HttpStatusCode}});jf(kb(),y);jf(qb(),y);var bL=$b();Object.defineProperty(y,"AuditLogDataStaxProvider",{enumerable:!0,get:function(){return bL.AuditLogDataStaxProvider}});var _L=Vb();Object.defineProperty(y,"AuditLogPlugin",{enumerable:!0,get:function(){return _L.AuditLogPlugin}});jf(r_(),y);var GE=mn();Object.defineProperty(y,"InboundPolicy",{enumerable:!0,get:function(){return GE.InboundPolicy}});Object.defineProperty(y,"OutboundPolicy",{enumerable:!0,get:function(){return GE.OutboundPolicy}});var KE=a_();Object.defineProperty(y,"AmberfloMeteringInboundPolicy",{enumerable:!0,get:function(){return KE.AmberfloMeteringInboundPolicy}});Object.defineProperty(y,"AmberfloMeteringPolicy",{enumerable:!0,get:function(){return KE.AmberfloMeteringPolicy}});var EL=p_();Object.defineProperty(y,"ApiAuthKeyInboundPolicy",{enumerable:!0,get:function(){return EL.ApiAuthKeyInboundPolicy}});var wL=gf();Object.defineProperty(y,"ApiKeyInboundPolicy",{enumerable:!0,get:function(){return wL.ApiKeyInboundPolicy}});var vL=f_();Object.defineProperty(y,"Auth0JwtInboundPolicy",{enumerable:!0,get:function(){return vL.Auth0JwtInboundPolicy}});var TL=h_();Object.defineProperty(y,"BasicAuthInboundPolicy",{enumerable:!0,get:function(){return TL.BasicAuthInboundPolicy}});var SL=m_();Object.defineProperty(y,"CachingInboundPolicy",{enumerable:!0,get:function(){return SL.CachingInboundPolicy}});var IL=y_();Object.defineProperty(y,"ChangeMethodInboundPolicy",{enumerable:!0,get:function(){return IL.ChangeMethodInboundPolicy}});var PL=g_();Object.defineProperty(y,"ClearHeadersInboundPolicy",{enumerable:!0,get:function(){return PL.ClearHeadersInboundPolicy}});var AL=b_();Object.defineProperty(y,"ClearHeadersOutboundPolicy",{enumerable:!0,get:function(){return AL.ClearHeadersOutboundPolicy}});var RL=__();Object.defineProperty(y,"ClerkJwtInboundPolicy",{enumerable:!0,get:function(){return RL.ClerkJwtInboundPolicy}});var OL=w_();Object.defineProperty(y,"CognitoJwtInboundPolicy",{enumerable:!0,get:function(){return OL.CognitoJwtInboundPolicy}});var NL=T_();Object.defineProperty(y,"CompositeInboundPolicy",{enumerable:!0,get:function(){return NL.CompositeInboundPolicy}});var CL=S_();Object.defineProperty(y,"CurityPhantomTokenInboundPolicy",{enumerable:!0,get:function(){return CL.CurityPhantomTokenInboundPolicy}});var xL=I_();Object.defineProperty(y,"FirebaseJwtInboundPolicy",{enumerable:!0,get:function(){return xL.FirebaseJwtInboundPolicy}});var LL=P_();Object.defineProperty(y,"FormDataToJsonInboundPolicy",{enumerable:!0,get:function(){return LL.FormDataToJsonInboundPolicy}});var DL=A_();Object.defineProperty(y,"GeoFilterInboundPolicy",{enumerable:!0,get:function(){return DL.GeoFilterInboundPolicy}});var ML=R_();Object.defineProperty(y,"JWTScopeValidationInboundPolicy",{enumerable:!0,get:function(){return ML.JWTScopeValidationInboundPolicy}});var UL=N_();Object.defineProperty(y,"MockApiInboundPolicy",{enumerable:!0,get:function(){return UL.MockApiInboundPolicy}});var JE=M_();Object.defineProperty(y,"MoesifInboundPolicy",{enumerable:!0,get:function(){return JE.MoesifInboundPolicy}});Object.defineProperty(y,"setMoesifContext",{enumerable:!0,get:function(){return JE.setMoesifContext}});var kL=j_();Object.defineProperty(y,"MonetizationInboundPolicy",{enumerable:!0,get:function(){return kL.MonetizationInboundPolicy}});var FL=V_();Object.defineProperty(y,"OktaJwtInboundPolicy",{enumerable:!0,get:function(){return FL.OktaJwtInboundPolicy}});var HL=Xt();Object.defineProperty(y,"OpenIdJwtInboundPolicy",{enumerable:!0,get:function(){return HL.OpenIdJwtInboundPolicy}});var qL=B_();Object.defineProperty(y,"PropelAuthJwtInboundPolicy",{enumerable:!0,get:function(){return qL.PropelAuthJwtInboundPolicy}});var zE=Y_();Object.defineProperty(y,"BasicRateLimitInboundPolicy",{enumerable:!0,get:function(){return zE.RateLimitInboundPolicy}});Object.defineProperty(y,"RateLimitInboundPolicy",{enumerable:!0,get:function(){return zE.RateLimitInboundPolicy}});var $L=tE();Object.defineProperty(y,"ReadmeMetricsInboundPolicy",{enumerable:!0,get:function(){return $L.ReadmeMetricsInboundPolicy}});var jL=rE();Object.defineProperty(y,"RemoveHeadersInboundPolicy",{enumerable:!0,get:function(){return jL.RemoveHeadersInboundPolicy}});var VL=nE();Object.defineProperty(y,"RemoveHeadersOutboundPolicy",{enumerable:!0,get:function(){return VL.RemoveHeadersOutboundPolicy}});var BL=iE();Object.defineProperty(y,"RemoveQueryParamsInboundPolicy",{enumerable:!0,get:function(){return BL.RemoveQueryParamsInboundPolicy}});var GL=oE();Object.defineProperty(y,"ReplaceStringOutboundPolicy",{enumerable:!0,get:function(){return GL.ReplaceStringOutboundPolicy}});var KL=aE();Object.defineProperty(y,"RequestSizeLimitInboundPolicy",{enumerable:!0,get:function(){return KL.RequestSizeLimitInboundPolicy}});var WE=pE();Object.defineProperty(y,"RequestValidationInboundPolicy",{enumerable:!0,get:function(){return WE.RequestValidationInboundPolicy}});Object.defineProperty(y,"SchemaBasedRequestValidation",{enumerable:!0,get:function(){return WE.SchemaBasedRequestValidation}});var JL=fE();Object.defineProperty(y,"RequireOriginInboundPolicy",{enumerable:!0,get:function(){return JL.RequireOriginInboundPolicy}});var zL=hE();Object.defineProperty(y,"SetBodyInboundPolicy",{enumerable:!0,get:function(){return zL.SetBodyInboundPolicy}});var WL=yE();Object.defineProperty(y,"SetHeadersInboundPolicy",{enumerable:!0,get:function(){return WL.SetHeadersInboundPolicy}});var QL=bE();Object.defineProperty(y,"SetHeadersOutboundPolicy",{enumerable:!0,get:function(){return QL.SetHeadersOutboundPolicy}});var YL=EE();Object.defineProperty(y,"SetQueryParamsInboundPolicy",{enumerable:!0,get:function(){return YL.SetQueryParamsInboundPolicy}});var ZL=wE();Object.defineProperty(y,"SetStatusOutboundPolicy",{enumerable:!0,get:function(){return ZL.SetStatusOutboundPolicy}});var XL=vE();Object.defineProperty(y,"SleepInboundPolicy",{enumerable:!0,get:function(){return XL.SleepInboundPolicy}});var e1=Kp();Object.defineProperty(y,"StripeWebhookVerificationInboundPolicy",{enumerable:!0,get:function(){return e1.StripeWebhookVerificationInboundPolicy}});var t1=SE();Object.defineProperty(y,"SupabaseJwtInboundPolicy",{enumerable:!0,get:function(){return t1.SupabaseJwtInboundPolicy}});var r1=PE();Object.defineProperty(y,"UpstreamAzureAdServiceAuthInboundPolicy",{enumerable:!0,get:function(){return r1.UpstreamAzureAdServiceAuthInboundPolicy}});var n1=RE();Object.defineProperty(y,"UpstreamFirebaseAdminAuthInboundPolicy",{enumerable:!0,get:function(){return n1.UpstreamFirebaseAdminAuthInboundPolicy}});var i1=OE();Object.defineProperty(y,"UpstreamFirebaseUserAuthInboundPolicy",{enumerable:!0,get:function(){return i1.UpstreamFirebaseUserAuthInboundPolicy}});var o1=CE();Object.defineProperty(y,"UpstreamGcpJwtInboundPolicy",{enumerable:!0,get:function(){return o1.UpstreamGcpJwtInboundPolicy}});var s1=LE();Object.defineProperty(y,"UpstreamGcpServiceAuthInboundPolicy",{enumerable:!0,get:function(){return s1.UpstreamGcpServiceAuthInboundPolicy}});var a1=ME();Object.defineProperty(y,"ValidateJsonSchemaInbound",{enumerable:!0,get:function(){return a1.ValidateJsonSchemaInbound}});var c1=HE();Object.defineProperty(y,"XmlToJsonOutboundPolicy",{enumerable:!0,get:function(){return c1.XmlToJsonOutboundPolicy}});var u1=pe();Object.defineProperty(y,"HttpProblems",{enumerable:!0,get:function(){return u1.HttpProblems}});var l1=Ho();Object.defineProperty(y,"ProblemResponseFormatter",{enumerable:!0,get:function(){return l1.ProblemResponseFormatter}});var d1=Ge();Object.defineProperty(y,"ZuploRequest",{enumerable:!0,get:function(){return d1.ZuploRequest}});var p1=$r();Object.defineProperty(y,"SystemRouteName",{enumerable:!0,get:function(){return p1.SystemRouteName}});var QE=Xd();Object.defineProperty(y,"LookupResult",{enumerable:!0,get:function(){return QE.LookupResult}});Object.defineProperty(y,"Router",{enumerable:!0,get:function(){return QE.Router}});var YE=il();Object.defineProperty(y,"ContentTypes",{enumerable:!0,get:function(){return YE.ContentTypes}});Object.defineProperty(y,"serialize",{enumerable:!0,get:function(){return YE.serialize}});var f1=qE();Object.defineProperty(y,"ServiceProviderImpl",{enumerable:!0,get:function(){return f1.ServiceProviderImpl}});var ZE=Ll();Object.defineProperty(y,"API_KEY",{enumerable:!0,get:function(){return ZE.API_KEY}});Object.defineProperty(y,"SYSTEM_LOGGER",{enumerable:!0,get:function(){return ZE.SYSTEM_LOGGER}});var h1=yl();Object.defineProperty(y,"httpStatuses",{enumerable:!0,get:function(){return sL(h1).default}});var m1=Ze();Object.defineProperty(y,"SystemLogMap",{enumerable:!0,get:function(){return m1.SystemLogMap}});var ao=Oc();Object.defineProperty(y,"getIdForParameterSchema",{enumerable:!0,get:function(){return ao.getIdForParameterSchema}});Object.defineProperty(y,"getIdForRefSchema",{enumerable:!0,get:function(){return ao.getIdForRefSchema}});Object.defineProperty(y,"getIdForRequestBodySchema",{enumerable:!0,get:function(){return ao.getIdForRequestBodySchema}});Object.defineProperty(y,"getRawOperationDataIdentifierName",{enumerable:!0,get:function(){return ao.getRawOperationDataIdentifierName}});Object.defineProperty(y,"sanitizedIdentifierName",{enumerable:!0,get:function(){return ao.sanitizedIdentifierName}})});var ew=_(ui=>{"use strict";Object.defineProperty(ui,"__esModule",{value:!0});ui.BaseCryptoBeta=ui.supportedDigests=void 0;ui.supportedDigests=["sha-1","sha-256","sha-384","sha-512"];var Bf=class{static{o(this,"BaseCryptoBeta")}};ui.BaseCryptoBeta=Bf});var tw=_(Yc=>{"use strict";Object.defineProperty(Yc,"__esModule",{value:!0});Yc.WorkerCryptoBeta=void 0;var Gf=ew(),y1=k(),Kf=class extends Gf.BaseCryptoBeta{static{o(this,"WorkerCryptoBeta")}async digest(e,r){if(!Gf.supportedDigests.includes(e.toLowerCase()))throw new y1.RuntimeError(`Algorithm ${e} is not supported. Try using ${Gf.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("")}};Yc.WorkerCryptoBeta=Kf});var rw=_(Zc=>{"use strict";Object.defineProperty(Zc,"__esModule",{value:!0});Zc.BaseKeyValueStore=void 0;var Jf=class{static{o(this,"BaseKeyValueStore")}context;constructor(e){this.context=e}};Zc.BaseKeyValueStore=Jf});var iw=_(Xc=>{"use strict";Object.defineProperty(Xc,"__esModule",{value:!0});Xc.WorkerKeyValueStore=void 0;var nw=k(),g1=rw(),zf=class extends g1.BaseKeyValueStore{static{o(this,"WorkerKeyValueStore")}#e;constructor(e){super(e);let n=globalThis.ZUPLO_KV;if(!n)throw new nw.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 nw.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)}};Xc.WorkerKeyValueStore=zf});var Gt=_(vt=>{"use strict";var b1=vt&&vt.__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]}),_1=vt&&vt.__exportStar||function(t,e){for(var r in t)r!=="default"&&!Object.prototype.hasOwnProperty.call(e,r)&&b1(e,t,r)};Object.defineProperty(vt,"__esModule",{value:!0});vt.KeyValueStore=vt.CryptoBeta=void 0;_1(XE(),vt);var E1=tw();Object.defineProperty(vt,"CryptoBeta",{enumerable:!0,get:function(){return E1.WorkerCryptoBeta}});var w1=iw();Object.defineProperty(vt,"KeyValueStore",{enumerable:!0,get:function(){return w1.WorkerKeyValueStore}})});var RD={};So(RD,{GraphQLComplexityLimitInboundPolicy:()=>Uw,GraphQLDisableIntrospectionInboundPolicy:()=>Fw});module.exports=Io(RD);var wi=wh(Gt());function ee(t,e){if(!!!t)throw new Error(e)}o(ee,"devAssert");function Re(t){return typeof t=="object"&&t!==null}o(Re,"isObjectLike");function Ht(t,e){if(!!!t)throw new Error(e??"Unexpected invariant triggered.")}o(Ht,"invariant");var v1=/\r\n|[\n\r]/g;function li(t,e){let r=0,n=1;for(let i of t.body.matchAll(v1)){if(typeof i.index=="number"||Ht(!1),i.index>=e)break;r=i.index+i[0].length,n+=1}return{line:n,column:e+1-r}}o(li,"getLocation");function Wf(t){return eu(t.source,li(t.source,t.start))}o(Wf,"printLocation");function eu(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}
81
+ `,d=n.split(/\r\n|[\n\r]/g),p=d[i];if(p.length>120){let f=Math.floor(u/80),h=u%80,m=[];for(let b=0;b<p.length;b+=80)m.push(p.slice(b,b+80));return l+ow([[`${a} |`,m[0]],...m.slice(1,f+1).map(b=>["|",b]),["|","^".padStart(h)],["|",m[f+1]]])}return l+ow([[`${a-1} |`,d[i-1]],[`${a} |`,p],["|","^".padStart(u)],[`${a+1} |`,d[i+1]]])}o(eu,"printSourceLocation");function ow(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(`
82
+ `)}o(ow,"printPrefixedLines");function T1(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(T1,"toNormalizedOptions");var j=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}=T1(r);super(e),this.name="GraphQLError",this.path=l??void 0,this.originalError=d??void 0,this.nodes=sw(Array.isArray(a)?a:a?[a]:void 0);let f=sw((n=this.nodes)===null||n===void 0?void 0:n.map(m=>m.loc).filter(m=>m!=null));this.source=c??(f==null||(i=f[0])===null||i===void 0?void 0:i.source),this.positions=u??f?.map(m=>m.start),this.locations=u&&c?u.map(m=>li(c,m)):f?.map(m=>li(m.source,m.start));let h=Re(d?.extensions)?d?.extensions:void 0;this.extensions=(s=p??h)!==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+=`
83
83
 
84
84
  `+Wf(r.loc));else if(this.source&&this.locations)for(let r of this.locations)e+=`
85
85
 
86
- `+eu(this.source,r);return e}toJSON(){let e={message:this.message};return this.locations!=null&&(e.locations=this.locations),this.path!=null&&(e.path=this.path),this.extensions!=null&&Object.keys(this.extensions).length>0&&(e.extensions=this.extensions),e}};function ow(t){return t===void 0||t.length===0?void 0:t}o(ow,"undefinedIfEmpty");function Ee(t,e,r){return new j(`Syntax Error: ${r}`,{source:t,positions:[e]})}o(Ee,"syntaxError");var co=class{static{o(this,"Location")}constructor(e,r,n){this.start=e.start,this.end=r.end,this.startToken=e,this.endToken=r,this.source=n}get[Symbol.toStringTag](){return"Location"}toJSON(){return{start:this.start,end:this.end}}},di=class{static{o(this,"Token")}constructor(e,r,n,i,s,a){this.kind=e,this.start=r,this.end=n,this.line=i,this.column=s,this.value=a,this.prev=null,this.next=null}get[Symbol.toStringTag](){return"Token"}toJSON(){return{kind:this.kind,value:this.value,line:this.line,column:this.column}}},Qf={Name:[],Document:["definitions"],OperationDefinition:["name","variableDefinitions","directives","selectionSet"],VariableDefinition:["variable","type","defaultValue","directives"],Variable:["name"],SelectionSet:["selections"],Field:["alias","name","arguments","directives","selectionSet"],Argument:["name","value"],FragmentSpread:["name","directives"],InlineFragment:["typeCondition","directives","selectionSet"],FragmentDefinition:["name","variableDefinitions","typeCondition","directives","selectionSet"],IntValue:[],FloatValue:[],StringValue:[],BooleanValue:[],NullValue:[],EnumValue:[],ListValue:["values"],ObjectValue:["fields"],ObjectField:["name","value"],Directive:["name","arguments"],NamedType:["name"],ListType:["type"],NonNullType:["type"],SchemaDefinition:["description","directives","operationTypes"],OperationTypeDefinition:["type"],ScalarTypeDefinition:["description","name","directives"],ObjectTypeDefinition:["description","name","interfaces","directives","fields"],FieldDefinition:["description","name","arguments","type","directives"],InputValueDefinition:["description","name","type","defaultValue","directives"],InterfaceTypeDefinition:["description","name","interfaces","directives","fields"],UnionTypeDefinition:["description","name","directives","types"],EnumTypeDefinition:["description","name","directives","values"],EnumValueDefinition:["description","name","directives"],InputObjectTypeDefinition:["description","name","directives","fields"],DirectiveDefinition:["description","name","arguments","locations"],SchemaExtension:["directives","operationTypes"],ScalarTypeExtension:["name","directives"],ObjectTypeExtension:["name","interfaces","directives","fields"],InterfaceTypeExtension:["name","interfaces","directives","fields"],UnionTypeExtension:["name","directives","types"],EnumTypeExtension:["name","directives","values"],InputObjectTypeExtension:["name","directives","fields"]},S1=new Set(Object.keys(Qf));function uo(t){let e=t?.kind;return typeof e=="string"&&S1.has(e)}o(uo,"isNode");var dt;(function(t){t.QUERY="query",t.MUTATION="mutation",t.SUBSCRIPTION="subscription"})(dt||(dt={}));var te;(function(t){t.QUERY="QUERY",t.MUTATION="MUTATION",t.SUBSCRIPTION="SUBSCRIPTION",t.FIELD="FIELD",t.FRAGMENT_DEFINITION="FRAGMENT_DEFINITION",t.FRAGMENT_SPREAD="FRAGMENT_SPREAD",t.INLINE_FRAGMENT="INLINE_FRAGMENT",t.VARIABLE_DEFINITION="VARIABLE_DEFINITION",t.SCHEMA="SCHEMA",t.SCALAR="SCALAR",t.OBJECT="OBJECT",t.FIELD_DEFINITION="FIELD_DEFINITION",t.ARGUMENT_DEFINITION="ARGUMENT_DEFINITION",t.INTERFACE="INTERFACE",t.UNION="UNION",t.ENUM="ENUM",t.ENUM_VALUE="ENUM_VALUE",t.INPUT_OBJECT="INPUT_OBJECT",t.INPUT_FIELD_DEFINITION="INPUT_FIELD_DEFINITION"})(te||(te={}));var I;(function(t){t.NAME="Name",t.DOCUMENT="Document",t.OPERATION_DEFINITION="OperationDefinition",t.VARIABLE_DEFINITION="VariableDefinition",t.SELECTION_SET="SelectionSet",t.FIELD="Field",t.ARGUMENT="Argument",t.FRAGMENT_SPREAD="FragmentSpread",t.INLINE_FRAGMENT="InlineFragment",t.FRAGMENT_DEFINITION="FragmentDefinition",t.VARIABLE="Variable",t.INT="IntValue",t.FLOAT="FloatValue",t.STRING="StringValue",t.BOOLEAN="BooleanValue",t.NULL="NullValue",t.ENUM="EnumValue",t.LIST="ListValue",t.OBJECT="ObjectValue",t.OBJECT_FIELD="ObjectField",t.DIRECTIVE="Directive",t.NAMED_TYPE="NamedType",t.LIST_TYPE="ListType",t.NON_NULL_TYPE="NonNullType",t.SCHEMA_DEFINITION="SchemaDefinition",t.OPERATION_TYPE_DEFINITION="OperationTypeDefinition",t.SCALAR_TYPE_DEFINITION="ScalarTypeDefinition",t.OBJECT_TYPE_DEFINITION="ObjectTypeDefinition",t.FIELD_DEFINITION="FieldDefinition",t.INPUT_VALUE_DEFINITION="InputValueDefinition",t.INTERFACE_TYPE_DEFINITION="InterfaceTypeDefinition",t.UNION_TYPE_DEFINITION="UnionTypeDefinition",t.ENUM_TYPE_DEFINITION="EnumTypeDefinition",t.ENUM_VALUE_DEFINITION="EnumValueDefinition",t.INPUT_OBJECT_TYPE_DEFINITION="InputObjectTypeDefinition",t.DIRECTIVE_DEFINITION="DirectiveDefinition",t.SCHEMA_EXTENSION="SchemaExtension",t.SCALAR_TYPE_EXTENSION="ScalarTypeExtension",t.OBJECT_TYPE_EXTENSION="ObjectTypeExtension",t.INTERFACE_TYPE_EXTENSION="InterfaceTypeExtension",t.UNION_TYPE_EXTENSION="UnionTypeExtension",t.ENUM_TYPE_EXTENSION="EnumTypeExtension",t.INPUT_OBJECT_TYPE_EXTENSION="InputObjectTypeExtension"})(I||(I={}));function tu(t){return t===9||t===32}o(tu,"isWhiteSpace");function pi(t){return t>=48&&t<=57}o(pi,"isDigit");function sw(t){return t>=97&&t<=122||t>=65&&t<=90}o(sw,"isLetter");function lo(t){return sw(t)||t===95}o(lo,"isNameStart");function ru(t){return sw(t)||pi(t)||t===95}o(ru,"isNameContinue");function aw(t){var e;let r=Number.MAX_SAFE_INTEGER,n=null,i=-1;for(let a=0;a<t.length;++a){var s;let c=t[a],u=I1(c);u!==c.length&&(n=(s=n)!==null&&s!==void 0?s:a,i=a,a!==0&&u<r&&(r=u))}return t.map((a,c)=>c===0?a:a.slice(r)).slice((e=n)!==null&&e!==void 0?e:0,i+1)}o(aw,"dedentBlockStringLines");function I1(t){let e=0;for(;e<t.length&&tu(t.charCodeAt(e));)++e;return e}o(I1,"leadingWhitespace");function cw(t,e){let r=t.replace(/"""/g,'\\"""'),n=r.split(/\r\n|[\n\r]/g),i=n.length===1,s=n.length>1&&n.slice(1).every(h=>h.length===0||tu(h.charCodeAt(0))),a=r.endsWith('\\"""'),c=t.endsWith('"')&&!a,u=t.endsWith("\\"),l=c||u,d=!(e!=null&&e.minimize)&&(!i||t.length>70||l||s||a),p="",f=i&&tu(t.charCodeAt(0));return(d&&!f||s)&&(p+=`
86
+ `+eu(this.source,r);return e}toJSON(){let e={message:this.message};return this.locations!=null&&(e.locations=this.locations),this.path!=null&&(e.path=this.path),this.extensions!=null&&Object.keys(this.extensions).length>0&&(e.extensions=this.extensions),e}};function sw(t){return t===void 0||t.length===0?void 0:t}o(sw,"undefinedIfEmpty");function Ee(t,e,r){return new j(`Syntax Error: ${r}`,{source:t,positions:[e]})}o(Ee,"syntaxError");var co=class{static{o(this,"Location")}constructor(e,r,n){this.start=e.start,this.end=r.end,this.startToken=e,this.endToken=r,this.source=n}get[Symbol.toStringTag](){return"Location"}toJSON(){return{start:this.start,end:this.end}}},di=class{static{o(this,"Token")}constructor(e,r,n,i,s,a){this.kind=e,this.start=r,this.end=n,this.line=i,this.column=s,this.value=a,this.prev=null,this.next=null}get[Symbol.toStringTag](){return"Token"}toJSON(){return{kind:this.kind,value:this.value,line:this.line,column:this.column}}},Qf={Name:[],Document:["definitions"],OperationDefinition:["name","variableDefinitions","directives","selectionSet"],VariableDefinition:["variable","type","defaultValue","directives"],Variable:["name"],SelectionSet:["selections"],Field:["alias","name","arguments","directives","selectionSet"],Argument:["name","value"],FragmentSpread:["name","directives"],InlineFragment:["typeCondition","directives","selectionSet"],FragmentDefinition:["name","variableDefinitions","typeCondition","directives","selectionSet"],IntValue:[],FloatValue:[],StringValue:[],BooleanValue:[],NullValue:[],EnumValue:[],ListValue:["values"],ObjectValue:["fields"],ObjectField:["name","value"],Directive:["name","arguments"],NamedType:["name"],ListType:["type"],NonNullType:["type"],SchemaDefinition:["description","directives","operationTypes"],OperationTypeDefinition:["type"],ScalarTypeDefinition:["description","name","directives"],ObjectTypeDefinition:["description","name","interfaces","directives","fields"],FieldDefinition:["description","name","arguments","type","directives"],InputValueDefinition:["description","name","type","defaultValue","directives"],InterfaceTypeDefinition:["description","name","interfaces","directives","fields"],UnionTypeDefinition:["description","name","directives","types"],EnumTypeDefinition:["description","name","directives","values"],EnumValueDefinition:["description","name","directives"],InputObjectTypeDefinition:["description","name","directives","fields"],DirectiveDefinition:["description","name","arguments","locations"],SchemaExtension:["directives","operationTypes"],ScalarTypeExtension:["name","directives"],ObjectTypeExtension:["name","interfaces","directives","fields"],InterfaceTypeExtension:["name","interfaces","directives","fields"],UnionTypeExtension:["name","directives","types"],EnumTypeExtension:["name","directives","values"],InputObjectTypeExtension:["name","directives","fields"]},S1=new Set(Object.keys(Qf));function uo(t){let e=t?.kind;return typeof e=="string"&&S1.has(e)}o(uo,"isNode");var dt;(function(t){t.QUERY="query",t.MUTATION="mutation",t.SUBSCRIPTION="subscription"})(dt||(dt={}));var te;(function(t){t.QUERY="QUERY",t.MUTATION="MUTATION",t.SUBSCRIPTION="SUBSCRIPTION",t.FIELD="FIELD",t.FRAGMENT_DEFINITION="FRAGMENT_DEFINITION",t.FRAGMENT_SPREAD="FRAGMENT_SPREAD",t.INLINE_FRAGMENT="INLINE_FRAGMENT",t.VARIABLE_DEFINITION="VARIABLE_DEFINITION",t.SCHEMA="SCHEMA",t.SCALAR="SCALAR",t.OBJECT="OBJECT",t.FIELD_DEFINITION="FIELD_DEFINITION",t.ARGUMENT_DEFINITION="ARGUMENT_DEFINITION",t.INTERFACE="INTERFACE",t.UNION="UNION",t.ENUM="ENUM",t.ENUM_VALUE="ENUM_VALUE",t.INPUT_OBJECT="INPUT_OBJECT",t.INPUT_FIELD_DEFINITION="INPUT_FIELD_DEFINITION"})(te||(te={}));var I;(function(t){t.NAME="Name",t.DOCUMENT="Document",t.OPERATION_DEFINITION="OperationDefinition",t.VARIABLE_DEFINITION="VariableDefinition",t.SELECTION_SET="SelectionSet",t.FIELD="Field",t.ARGUMENT="Argument",t.FRAGMENT_SPREAD="FragmentSpread",t.INLINE_FRAGMENT="InlineFragment",t.FRAGMENT_DEFINITION="FragmentDefinition",t.VARIABLE="Variable",t.INT="IntValue",t.FLOAT="FloatValue",t.STRING="StringValue",t.BOOLEAN="BooleanValue",t.NULL="NullValue",t.ENUM="EnumValue",t.LIST="ListValue",t.OBJECT="ObjectValue",t.OBJECT_FIELD="ObjectField",t.DIRECTIVE="Directive",t.NAMED_TYPE="NamedType",t.LIST_TYPE="ListType",t.NON_NULL_TYPE="NonNullType",t.SCHEMA_DEFINITION="SchemaDefinition",t.OPERATION_TYPE_DEFINITION="OperationTypeDefinition",t.SCALAR_TYPE_DEFINITION="ScalarTypeDefinition",t.OBJECT_TYPE_DEFINITION="ObjectTypeDefinition",t.FIELD_DEFINITION="FieldDefinition",t.INPUT_VALUE_DEFINITION="InputValueDefinition",t.INTERFACE_TYPE_DEFINITION="InterfaceTypeDefinition",t.UNION_TYPE_DEFINITION="UnionTypeDefinition",t.ENUM_TYPE_DEFINITION="EnumTypeDefinition",t.ENUM_VALUE_DEFINITION="EnumValueDefinition",t.INPUT_OBJECT_TYPE_DEFINITION="InputObjectTypeDefinition",t.DIRECTIVE_DEFINITION="DirectiveDefinition",t.SCHEMA_EXTENSION="SchemaExtension",t.SCALAR_TYPE_EXTENSION="ScalarTypeExtension",t.OBJECT_TYPE_EXTENSION="ObjectTypeExtension",t.INTERFACE_TYPE_EXTENSION="InterfaceTypeExtension",t.UNION_TYPE_EXTENSION="UnionTypeExtension",t.ENUM_TYPE_EXTENSION="EnumTypeExtension",t.INPUT_OBJECT_TYPE_EXTENSION="InputObjectTypeExtension"})(I||(I={}));function tu(t){return t===9||t===32}o(tu,"isWhiteSpace");function pi(t){return t>=48&&t<=57}o(pi,"isDigit");function aw(t){return t>=97&&t<=122||t>=65&&t<=90}o(aw,"isLetter");function lo(t){return aw(t)||t===95}o(lo,"isNameStart");function ru(t){return aw(t)||pi(t)||t===95}o(ru,"isNameContinue");function cw(t){var e;let r=Number.MAX_SAFE_INTEGER,n=null,i=-1;for(let a=0;a<t.length;++a){var s;let c=t[a],u=I1(c);u!==c.length&&(n=(s=n)!==null&&s!==void 0?s:a,i=a,a!==0&&u<r&&(r=u))}return t.map((a,c)=>c===0?a:a.slice(r)).slice((e=n)!==null&&e!==void 0?e:0,i+1)}o(cw,"dedentBlockStringLines");function I1(t){let e=0;for(;e<t.length&&tu(t.charCodeAt(e));)++e;return e}o(I1,"leadingWhitespace");function uw(t,e){let r=t.replace(/"""/g,'\\"""'),n=r.split(/\r\n|[\n\r]/g),i=n.length===1,s=n.length>1&&n.slice(1).every(h=>h.length===0||tu(h.charCodeAt(0))),a=r.endsWith('\\"""'),c=t.endsWith('"')&&!a,u=t.endsWith("\\"),l=c||u,d=!(e!=null&&e.minimize)&&(!i||t.length>70||l||s||a),p="",f=i&&tu(t.charCodeAt(0));return(d&&!f||s)&&(p+=`
87
87
  `),p+=r,(d||l)&&(p+=`
88
- `),'"""'+p+'"""'}o(cw,"printBlockString");var R;(function(t){t.SOF="<SOF>",t.EOF="<EOF>",t.BANG="!",t.DOLLAR="$",t.AMP="&",t.PAREN_L="(",t.PAREN_R=")",t.SPREAD="...",t.COLON=":",t.EQUALS="=",t.AT="@",t.BRACKET_L="[",t.BRACKET_R="]",t.BRACE_L="{",t.PIPE="|",t.BRACE_R="}",t.NAME="Name",t.INT="Int",t.FLOAT="Float",t.STRING="String",t.BLOCK_STRING="BlockString",t.COMMENT="Comment"})(R||(R={}));var fo=class{static{o(this,"Lexer")}constructor(e){let r=new di(R.SOF,0,0,0,0);this.source=e,this.lastToken=r,this.token=r,this.line=1,this.lineStart=0}get[Symbol.toStringTag](){return"Lexer"}advance(){return this.lastToken=this.token,this.token=this.lookahead()}lookahead(){let e=this.token;if(e.kind!==R.EOF)do if(e.next)e=e.next;else{let r=P1(this,e.end);e.next=r,r.prev=e,e=r}while(e.kind===R.COMMENT);return e}};function lw(t){return t===R.BANG||t===R.DOLLAR||t===R.AMP||t===R.PAREN_L||t===R.PAREN_R||t===R.SPREAD||t===R.COLON||t===R.EQUALS||t===R.AT||t===R.BRACKET_L||t===R.BRACKET_R||t===R.BRACE_L||t===R.PIPE||t===R.BRACE_R}o(lw,"isPunctuatorTokenKind");function fi(t){return t>=0&&t<=55295||t>=57344&&t<=1114111}o(fi,"isUnicodeScalarValue");function nu(t,e){return dw(t.charCodeAt(e))&&pw(t.charCodeAt(e+1))}o(nu,"isSupplementaryCodePoint");function dw(t){return t>=55296&&t<=56319}o(dw,"isLeadingSurrogate");function pw(t){return t>=56320&&t<=57343}o(pw,"isTrailingSurrogate");function on(t,e){let r=t.source.body.codePointAt(e);if(r===void 0)return R.EOF;if(r>=32&&r<=126){let n=String.fromCodePoint(r);return n==='"'?`'"'`:`"${n}"`}return"U+"+r.toString(16).toUpperCase().padStart(4,"0")}o(on,"printCodePointAt");function Te(t,e,r,n,i){let s=t.line,a=1+r-t.lineStart;return new di(e,r,n,s,a,i)}o(Te,"createToken");function P1(t,e){let r=t.source.body,n=r.length,i=e;for(;i<n;){let s=r.charCodeAt(i);switch(s){case 65279:case 9:case 32:case 44:++i;continue;case 10:++i,++t.line,t.lineStart=i;continue;case 13:r.charCodeAt(i+1)===10?i+=2:++i,++t.line,t.lineStart=i;continue;case 35:return A1(t,i);case 33:return Te(t,R.BANG,i,i+1);case 36:return Te(t,R.DOLLAR,i,i+1);case 38:return Te(t,R.AMP,i,i+1);case 40:return Te(t,R.PAREN_L,i,i+1);case 41:return Te(t,R.PAREN_R,i,i+1);case 46:if(r.charCodeAt(i+1)===46&&r.charCodeAt(i+2)===46)return Te(t,R.SPREAD,i,i+3);break;case 58:return Te(t,R.COLON,i,i+1);case 61:return Te(t,R.EQUALS,i,i+1);case 64:return Te(t,R.AT,i,i+1);case 91:return Te(t,R.BRACKET_L,i,i+1);case 93:return Te(t,R.BRACKET_R,i,i+1);case 123:return Te(t,R.BRACE_L,i,i+1);case 124:return Te(t,R.PIPE,i,i+1);case 125:return Te(t,R.BRACE_R,i,i+1);case 34:return r.charCodeAt(i+1)===34&&r.charCodeAt(i+2)===34?L1(t,i):O1(t,i)}if(pi(s)||s===45)return R1(t,i,s);if(lo(s))return D1(t,i);throw Ee(t.source,i,s===39?`Unexpected single quote character ('), did you mean to use a double quote (")?`:fi(s)||nu(r,i)?`Unexpected character: ${on(t,i)}.`:`Invalid character: ${on(t,i)}.`)}return Te(t,R.EOF,n,n)}o(P1,"readNextToken");function A1(t,e){let r=t.source.body,n=r.length,i=e+1;for(;i<n;){let s=r.charCodeAt(i);if(s===10||s===13)break;if(fi(s))++i;else if(nu(r,i))i+=2;else break}return Te(t,R.COMMENT,e,i,r.slice(e+1,i))}o(A1,"readComment");function R1(t,e,r){let n=t.source.body,i=e,s=r,a=!1;if(s===45&&(s=n.charCodeAt(++i)),s===48){if(s=n.charCodeAt(++i),pi(s))throw Ee(t.source,i,`Invalid number, unexpected digit after 0: ${on(t,i)}.`)}else i=Yf(t,i,s),s=n.charCodeAt(i);if(s===46&&(a=!0,s=n.charCodeAt(++i),i=Yf(t,i,s),s=n.charCodeAt(i)),(s===69||s===101)&&(a=!0,s=n.charCodeAt(++i),(s===43||s===45)&&(s=n.charCodeAt(++i)),i=Yf(t,i,s),s=n.charCodeAt(i)),s===46||lo(s))throw Ee(t.source,i,`Invalid number, expected digit but got: ${on(t,i)}.`);return Te(t,a?R.FLOAT:R.INT,e,i,n.slice(e,i))}o(R1,"readNumber");function Yf(t,e,r){if(!pi(r))throw Ee(t.source,e,`Invalid number, expected digit but got: ${on(t,e)}.`);let n=t.source.body,i=e+1;for(;pi(n.charCodeAt(i));)++i;return i}o(Yf,"readDigits");function O1(t,e){let r=t.source.body,n=r.length,i=e+1,s=i,a="";for(;i<n;){let c=r.charCodeAt(i);if(c===34)return a+=r.slice(s,i),Te(t,R.STRING,e,i+1,a);if(c===92){a+=r.slice(s,i);let u=r.charCodeAt(i+1)===117?r.charCodeAt(i+2)===123?N1(t,i):C1(t,i):x1(t,i);a+=u.value,i+=u.size,s=i;continue}if(c===10||c===13)break;if(fi(c))++i;else if(nu(r,i))i+=2;else throw Ee(t.source,i,`Invalid character within String: ${on(t,i)}.`)}throw Ee(t.source,i,"Unterminated string.")}o(O1,"readString");function N1(t,e){let r=t.source.body,n=0,i=3;for(;i<12;){let s=r.charCodeAt(e+i++);if(s===125){if(i<5||!fi(n))break;return{value:String.fromCodePoint(n),size:i}}if(n=n<<4|po(s),n<0)break}throw Ee(t.source,e,`Invalid Unicode escape sequence: "${r.slice(e,e+i)}".`)}o(N1,"readEscapedUnicodeVariableWidth");function C1(t,e){let r=t.source.body,n=uw(r,e+2);if(fi(n))return{value:String.fromCodePoint(n),size:6};if(dw(n)&&r.charCodeAt(e+6)===92&&r.charCodeAt(e+7)===117){let i=uw(r,e+8);if(pw(i))return{value:String.fromCodePoint(n,i),size:12}}throw Ee(t.source,e,`Invalid Unicode escape sequence: "${r.slice(e,e+6)}".`)}o(C1,"readEscapedUnicodeFixedWidth");function uw(t,e){return po(t.charCodeAt(e))<<12|po(t.charCodeAt(e+1))<<8|po(t.charCodeAt(e+2))<<4|po(t.charCodeAt(e+3))}o(uw,"read16BitHexCode");function po(t){return t>=48&&t<=57?t-48:t>=65&&t<=70?t-55:t>=97&&t<=102?t-87:-1}o(po,"readHexDigit");function x1(t,e){let r=t.source.body;switch(r.charCodeAt(e+1)){case 34:return{value:'"',size:2};case 92:return{value:"\\",size:2};case 47:return{value:"/",size:2};case 98:return{value:"\b",size:2};case 102:return{value:"\f",size:2};case 110:return{value:`
89
- `,size:2};case 114:return{value:"\r",size:2};case 116:return{value:" ",size:2}}throw Ee(t.source,e,`Invalid character escape sequence: "${r.slice(e,e+2)}".`)}o(x1,"readEscapedCharacter");function L1(t,e){let r=t.source.body,n=r.length,i=t.lineStart,s=e+3,a=s,c="",u=[];for(;s<n;){let l=r.charCodeAt(s);if(l===34&&r.charCodeAt(s+1)===34&&r.charCodeAt(s+2)===34){c+=r.slice(a,s),u.push(c);let d=Te(t,R.BLOCK_STRING,e,s+3,aw(u).join(`
88
+ `),'"""'+p+'"""'}o(uw,"printBlockString");var R;(function(t){t.SOF="<SOF>",t.EOF="<EOF>",t.BANG="!",t.DOLLAR="$",t.AMP="&",t.PAREN_L="(",t.PAREN_R=")",t.SPREAD="...",t.COLON=":",t.EQUALS="=",t.AT="@",t.BRACKET_L="[",t.BRACKET_R="]",t.BRACE_L="{",t.PIPE="|",t.BRACE_R="}",t.NAME="Name",t.INT="Int",t.FLOAT="Float",t.STRING="String",t.BLOCK_STRING="BlockString",t.COMMENT="Comment"})(R||(R={}));var fo=class{static{o(this,"Lexer")}constructor(e){let r=new di(R.SOF,0,0,0,0);this.source=e,this.lastToken=r,this.token=r,this.line=1,this.lineStart=0}get[Symbol.toStringTag](){return"Lexer"}advance(){return this.lastToken=this.token,this.token=this.lookahead()}lookahead(){let e=this.token;if(e.kind!==R.EOF)do if(e.next)e=e.next;else{let r=P1(this,e.end);e.next=r,r.prev=e,e=r}while(e.kind===R.COMMENT);return e}};function dw(t){return t===R.BANG||t===R.DOLLAR||t===R.AMP||t===R.PAREN_L||t===R.PAREN_R||t===R.SPREAD||t===R.COLON||t===R.EQUALS||t===R.AT||t===R.BRACKET_L||t===R.BRACKET_R||t===R.BRACE_L||t===R.PIPE||t===R.BRACE_R}o(dw,"isPunctuatorTokenKind");function fi(t){return t>=0&&t<=55295||t>=57344&&t<=1114111}o(fi,"isUnicodeScalarValue");function nu(t,e){return pw(t.charCodeAt(e))&&fw(t.charCodeAt(e+1))}o(nu,"isSupplementaryCodePoint");function pw(t){return t>=55296&&t<=56319}o(pw,"isLeadingSurrogate");function fw(t){return t>=56320&&t<=57343}o(fw,"isTrailingSurrogate");function on(t,e){let r=t.source.body.codePointAt(e);if(r===void 0)return R.EOF;if(r>=32&&r<=126){let n=String.fromCodePoint(r);return n==='"'?`'"'`:`"${n}"`}return"U+"+r.toString(16).toUpperCase().padStart(4,"0")}o(on,"printCodePointAt");function Te(t,e,r,n,i){let s=t.line,a=1+r-t.lineStart;return new di(e,r,n,s,a,i)}o(Te,"createToken");function P1(t,e){let r=t.source.body,n=r.length,i=e;for(;i<n;){let s=r.charCodeAt(i);switch(s){case 65279:case 9:case 32:case 44:++i;continue;case 10:++i,++t.line,t.lineStart=i;continue;case 13:r.charCodeAt(i+1)===10?i+=2:++i,++t.line,t.lineStart=i;continue;case 35:return A1(t,i);case 33:return Te(t,R.BANG,i,i+1);case 36:return Te(t,R.DOLLAR,i,i+1);case 38:return Te(t,R.AMP,i,i+1);case 40:return Te(t,R.PAREN_L,i,i+1);case 41:return Te(t,R.PAREN_R,i,i+1);case 46:if(r.charCodeAt(i+1)===46&&r.charCodeAt(i+2)===46)return Te(t,R.SPREAD,i,i+3);break;case 58:return Te(t,R.COLON,i,i+1);case 61:return Te(t,R.EQUALS,i,i+1);case 64:return Te(t,R.AT,i,i+1);case 91:return Te(t,R.BRACKET_L,i,i+1);case 93:return Te(t,R.BRACKET_R,i,i+1);case 123:return Te(t,R.BRACE_L,i,i+1);case 124:return Te(t,R.PIPE,i,i+1);case 125:return Te(t,R.BRACE_R,i,i+1);case 34:return r.charCodeAt(i+1)===34&&r.charCodeAt(i+2)===34?L1(t,i):O1(t,i)}if(pi(s)||s===45)return R1(t,i,s);if(lo(s))return D1(t,i);throw Ee(t.source,i,s===39?`Unexpected single quote character ('), did you mean to use a double quote (")?`:fi(s)||nu(r,i)?`Unexpected character: ${on(t,i)}.`:`Invalid character: ${on(t,i)}.`)}return Te(t,R.EOF,n,n)}o(P1,"readNextToken");function A1(t,e){let r=t.source.body,n=r.length,i=e+1;for(;i<n;){let s=r.charCodeAt(i);if(s===10||s===13)break;if(fi(s))++i;else if(nu(r,i))i+=2;else break}return Te(t,R.COMMENT,e,i,r.slice(e+1,i))}o(A1,"readComment");function R1(t,e,r){let n=t.source.body,i=e,s=r,a=!1;if(s===45&&(s=n.charCodeAt(++i)),s===48){if(s=n.charCodeAt(++i),pi(s))throw Ee(t.source,i,`Invalid number, unexpected digit after 0: ${on(t,i)}.`)}else i=Yf(t,i,s),s=n.charCodeAt(i);if(s===46&&(a=!0,s=n.charCodeAt(++i),i=Yf(t,i,s),s=n.charCodeAt(i)),(s===69||s===101)&&(a=!0,s=n.charCodeAt(++i),(s===43||s===45)&&(s=n.charCodeAt(++i)),i=Yf(t,i,s),s=n.charCodeAt(i)),s===46||lo(s))throw Ee(t.source,i,`Invalid number, expected digit but got: ${on(t,i)}.`);return Te(t,a?R.FLOAT:R.INT,e,i,n.slice(e,i))}o(R1,"readNumber");function Yf(t,e,r){if(!pi(r))throw Ee(t.source,e,`Invalid number, expected digit but got: ${on(t,e)}.`);let n=t.source.body,i=e+1;for(;pi(n.charCodeAt(i));)++i;return i}o(Yf,"readDigits");function O1(t,e){let r=t.source.body,n=r.length,i=e+1,s=i,a="";for(;i<n;){let c=r.charCodeAt(i);if(c===34)return a+=r.slice(s,i),Te(t,R.STRING,e,i+1,a);if(c===92){a+=r.slice(s,i);let u=r.charCodeAt(i+1)===117?r.charCodeAt(i+2)===123?N1(t,i):C1(t,i):x1(t,i);a+=u.value,i+=u.size,s=i;continue}if(c===10||c===13)break;if(fi(c))++i;else if(nu(r,i))i+=2;else throw Ee(t.source,i,`Invalid character within String: ${on(t,i)}.`)}throw Ee(t.source,i,"Unterminated string.")}o(O1,"readString");function N1(t,e){let r=t.source.body,n=0,i=3;for(;i<12;){let s=r.charCodeAt(e+i++);if(s===125){if(i<5||!fi(n))break;return{value:String.fromCodePoint(n),size:i}}if(n=n<<4|po(s),n<0)break}throw Ee(t.source,e,`Invalid Unicode escape sequence: "${r.slice(e,e+i)}".`)}o(N1,"readEscapedUnicodeVariableWidth");function C1(t,e){let r=t.source.body,n=lw(r,e+2);if(fi(n))return{value:String.fromCodePoint(n),size:6};if(pw(n)&&r.charCodeAt(e+6)===92&&r.charCodeAt(e+7)===117){let i=lw(r,e+8);if(fw(i))return{value:String.fromCodePoint(n,i),size:12}}throw Ee(t.source,e,`Invalid Unicode escape sequence: "${r.slice(e,e+6)}".`)}o(C1,"readEscapedUnicodeFixedWidth");function lw(t,e){return po(t.charCodeAt(e))<<12|po(t.charCodeAt(e+1))<<8|po(t.charCodeAt(e+2))<<4|po(t.charCodeAt(e+3))}o(lw,"read16BitHexCode");function po(t){return t>=48&&t<=57?t-48:t>=65&&t<=70?t-55:t>=97&&t<=102?t-87:-1}o(po,"readHexDigit");function x1(t,e){let r=t.source.body;switch(r.charCodeAt(e+1)){case 34:return{value:'"',size:2};case 92:return{value:"\\",size:2};case 47:return{value:"/",size:2};case 98:return{value:"\b",size:2};case 102:return{value:"\f",size:2};case 110:return{value:`
89
+ `,size:2};case 114:return{value:"\r",size:2};case 116:return{value:" ",size:2}}throw Ee(t.source,e,`Invalid character escape sequence: "${r.slice(e,e+2)}".`)}o(x1,"readEscapedCharacter");function L1(t,e){let r=t.source.body,n=r.length,i=t.lineStart,s=e+3,a=s,c="",u=[];for(;s<n;){let l=r.charCodeAt(s);if(l===34&&r.charCodeAt(s+1)===34&&r.charCodeAt(s+2)===34){c+=r.slice(a,s),u.push(c);let d=Te(t,R.BLOCK_STRING,e,s+3,cw(u).join(`
90
90
  `));return t.line+=u.length-1,t.lineStart=i,d}if(l===92&&r.charCodeAt(s+1)===34&&r.charCodeAt(s+2)===34&&r.charCodeAt(s+3)===34){c+=r.slice(a,s),a=s+1,s+=4;continue}if(l===10||l===13){c+=r.slice(a,s),u.push(c),l===13&&r.charCodeAt(s+1)===10?s+=2:++s,c="",a=s,i=s;continue}if(fi(l))++s;else if(nu(r,s))s+=2;else throw Ee(t.source,s,`Invalid character within String: ${on(t,s)}.`)}throw Ee(t.source,s,"Unterminated string.")}o(L1,"readBlockString");function D1(t,e){let r=t.source.body,n=r.length,i=e+1;for(;i<n;){let s=r.charCodeAt(i);if(ru(s))++i;else break}return Te(t,R.NAME,e,i,r.slice(e,i))}o(D1,"readName");function U(t){return iu(t,[])}o(U,"inspect");function iu(t,e){switch(typeof t){case"string":return JSON.stringify(t);case"function":return t.name?`[function ${t.name}]`:"[function]";case"object":return M1(t,e);default:return String(t)}}o(iu,"formatValue");function M1(t,e){if(t===null)return"null";if(e.includes(t))return"[Circular]";let r=[...e,t];if(U1(t)){let n=t.toJSON();if(n!==t)return typeof n=="string"?n:iu(n,r)}else if(Array.isArray(t))return F1(t,r);return k1(t,r)}o(M1,"formatObjectValue");function U1(t){return typeof t.toJSON=="function"}o(U1,"isJSONable");function k1(t,e){let r=Object.entries(t);return r.length===0?"{}":e.length>2?"["+H1(t)+"]":"{ "+r.map(([i,s])=>i+": "+iu(s,e)).join(", ")+" }"}o(k1,"formatObject");function F1(t,e){if(t.length===0)return"[]";if(e.length>2)return"[Array]";let r=Math.min(10,t.length),n=t.length-r,i=[];for(let s=0;s<r;++s)i.push(iu(t[s],e));return n===1?i.push("... 1 more item"):n>1&&i.push(`... ${n} more items`),"["+i.join(", ")+"]"}o(F1,"formatArray");function H1(t){let e=Object.prototype.toString.call(t).replace(/^\[object /,"").replace(/]$/,"");if(e==="Object"&&typeof t.constructor=="function"){let r=t.constructor.name;if(typeof r=="string"&&r!=="")return r}return e}o(H1,"getObjectTag");var tt=globalThis.process&&globalThis.process.env.NODE_ENV==="production"?o(function(e,r){return e instanceof r},"instanceOf"):o(function(e,r){if(e instanceof r)return!0;if(typeof e=="object"&&e!==null){var n;let i=r.prototype[Symbol.toStringTag],s=Symbol.toStringTag in e?e[Symbol.toStringTag]:(n=e.constructor)===null||n===void 0?void 0:n.name;if(i===s){let a=U(e);throw new Error(`Cannot use ${i} "${a}" from another module or realm.
91
91
 
92
92
  Ensure that there is only one instance of "graphql" in the node_modules
@@ -98,16 +98,16 @@ https://yarnpkg.com/en/docs/selective-version-resolutions
98
98
  Duplicate "graphql" modules cannot be used at the same time since different
99
99
  versions may have different capabilities and behavior. The data from one
100
100
  version used in the function from another could produce confusing and
101
- spurious results.`)}}return!1},"instanceOf");var hi=class{static{o(this,"Source")}constructor(e,r="GraphQL request",n={line:1,column:1}){typeof e=="string"||ee(!1,`Body must be a string. Received: ${U(e)}.`),this.body=e,this.name=r,this.locationOffset=n,this.locationOffset.line>0||ee(!1,"line in locationOffset is 1-indexed and must be positive."),this.locationOffset.column>0||ee(!1,"column in locationOffset is 1-indexed and must be positive.")}get[Symbol.toStringTag](){return"Source"}};function fw(t){return tt(t,hi)}o(fw,"isSource");function au(t,e){return new su(t,e).parseDocument()}o(au,"parse");function cu(t,e){let r=new su(t,e);r.expectToken(R.SOF);let n=r.parseValueLiteral(!1);return r.expectToken(R.EOF),n}o(cu,"parseValue");var su=class{static{o(this,"Parser")}constructor(e,r={}){let n=fw(e)?e:new hi(e);this._lexer=new fo(n),this._options=r,this._tokenCounter=0}parseName(){let e=this.expectToken(R.NAME);return this.node(e,{kind:I.NAME,value:e.value})}parseDocument(){return this.node(this._lexer.token,{kind:I.DOCUMENT,definitions:this.many(R.SOF,this.parseDefinition,R.EOF)})}parseDefinition(){if(this.peek(R.BRACE_L))return this.parseOperationDefinition();let e=this.peekDescription(),r=e?this._lexer.lookahead():this._lexer.token;if(r.kind===R.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 Ee(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(R.BRACE_L))return this.node(e,{kind:I.OPERATION_DEFINITION,operation:dt.QUERY,name:void 0,variableDefinitions:[],directives:[],selectionSet:this.parseSelectionSet()});let r=this.parseOperationType(),n;return this.peek(R.NAME)&&(n=this.parseName()),this.node(e,{kind:I.OPERATION_DEFINITION,operation:r,name:n,variableDefinitions:this.parseVariableDefinitions(),directives:this.parseDirectives(!1),selectionSet:this.parseSelectionSet()})}parseOperationType(){let e=this.expectToken(R.NAME);switch(e.value){case"query":return dt.QUERY;case"mutation":return dt.MUTATION;case"subscription":return dt.SUBSCRIPTION}throw this.unexpected(e)}parseVariableDefinitions(){return this.optionalMany(R.PAREN_L,this.parseVariableDefinition,R.PAREN_R)}parseVariableDefinition(){return this.node(this._lexer.token,{kind:I.VARIABLE_DEFINITION,variable:this.parseVariable(),type:(this.expectToken(R.COLON),this.parseTypeReference()),defaultValue:this.expectOptionalToken(R.EQUALS)?this.parseConstValueLiteral():void 0,directives:this.parseConstDirectives()})}parseVariable(){let e=this._lexer.token;return this.expectToken(R.DOLLAR),this.node(e,{kind:I.VARIABLE,name:this.parseName()})}parseSelectionSet(){return this.node(this._lexer.token,{kind:I.SELECTION_SET,selections:this.many(R.BRACE_L,this.parseSelection,R.BRACE_R)})}parseSelection(){return this.peek(R.SPREAD)?this.parseFragment():this.parseField()}parseField(){let e=this._lexer.token,r=this.parseName(),n,i;return this.expectOptionalToken(R.COLON)?(n=r,i=this.parseName()):i=r,this.node(e,{kind:I.FIELD,alias:n,name:i,arguments:this.parseArguments(!1),directives:this.parseDirectives(!1),selectionSet:this.peek(R.BRACE_L)?this.parseSelectionSet():void 0})}parseArguments(e){let r=e?this.parseConstArgument:this.parseArgument;return this.optionalMany(R.PAREN_L,r,R.PAREN_R)}parseArgument(e=!1){let r=this._lexer.token,n=this.parseName();return this.expectToken(R.COLON),this.node(r,{kind:I.ARGUMENT,name:n,value:this.parseValueLiteral(e)})}parseConstArgument(){return this.parseArgument(!0)}parseFragment(){let e=this._lexer.token;this.expectToken(R.SPREAD);let r=this.expectOptionalKeyword("on");return!r&&this.peek(R.NAME)?this.node(e,{kind:I.FRAGMENT_SPREAD,name:this.parseFragmentName(),directives:this.parseDirectives(!1)}):this.node(e,{kind:I.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:I.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:I.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 R.BRACKET_L:return this.parseList(e);case R.BRACE_L:return this.parseObject(e);case R.INT:return this.advanceLexer(),this.node(r,{kind:I.INT,value:r.value});case R.FLOAT:return this.advanceLexer(),this.node(r,{kind:I.FLOAT,value:r.value});case R.STRING:case R.BLOCK_STRING:return this.parseStringLiteral();case R.NAME:switch(this.advanceLexer(),r.value){case"true":return this.node(r,{kind:I.BOOLEAN,value:!0});case"false":return this.node(r,{kind:I.BOOLEAN,value:!1});case"null":return this.node(r,{kind:I.NULL});default:return this.node(r,{kind:I.ENUM,value:r.value})}case R.DOLLAR:if(e)if(this.expectToken(R.DOLLAR),this._lexer.token.kind===R.NAME){let n=this._lexer.token.value;throw Ee(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:I.STRING,value:e.value,block:e.kind===R.BLOCK_STRING})}parseList(e){let r=o(()=>this.parseValueLiteral(e),"item");return this.node(this._lexer.token,{kind:I.LIST,values:this.any(R.BRACKET_L,r,R.BRACKET_R)})}parseObject(e){let r=o(()=>this.parseObjectField(e),"item");return this.node(this._lexer.token,{kind:I.OBJECT,fields:this.any(R.BRACE_L,r,R.BRACE_R)})}parseObjectField(e){let r=this._lexer.token,n=this.parseName();return this.expectToken(R.COLON),this.node(r,{kind:I.OBJECT_FIELD,name:n,value:this.parseValueLiteral(e)})}parseDirectives(e){let r=[];for(;this.peek(R.AT);)r.push(this.parseDirective(e));return r}parseConstDirectives(){return this.parseDirectives(!0)}parseDirective(e){let r=this._lexer.token;return this.expectToken(R.AT),this.node(r,{kind:I.DIRECTIVE,name:this.parseName(),arguments:this.parseArguments(e)})}parseTypeReference(){let e=this._lexer.token,r;if(this.expectOptionalToken(R.BRACKET_L)){let n=this.parseTypeReference();this.expectToken(R.BRACKET_R),r=this.node(e,{kind:I.LIST_TYPE,type:n})}else r=this.parseNamedType();return this.expectOptionalToken(R.BANG)?this.node(e,{kind:I.NON_NULL_TYPE,type:r}):r}parseNamedType(){return this.node(this._lexer.token,{kind:I.NAMED_TYPE,name:this.parseName()})}peekDescription(){return this.peek(R.STRING)||this.peek(R.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(R.BRACE_L,this.parseOperationTypeDefinition,R.BRACE_R);return this.node(e,{kind:I.SCHEMA_DEFINITION,description:r,directives:n,operationTypes:i})}parseOperationTypeDefinition(){let e=this._lexer.token,r=this.parseOperationType();this.expectToken(R.COLON);let n=this.parseNamedType();return this.node(e,{kind:I.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:I.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:I.OBJECT_TYPE_DEFINITION,description:r,name:n,interfaces:i,directives:s,fields:a})}parseImplementsInterfaces(){return this.expectOptionalKeyword("implements")?this.delimitedMany(R.AMP,this.parseNamedType):[]}parseFieldsDefinition(){return this.optionalMany(R.BRACE_L,this.parseFieldDefinition,R.BRACE_R)}parseFieldDefinition(){let e=this._lexer.token,r=this.parseDescription(),n=this.parseName(),i=this.parseArgumentDefs();this.expectToken(R.COLON);let s=this.parseTypeReference(),a=this.parseConstDirectives();return this.node(e,{kind:I.FIELD_DEFINITION,description:r,name:n,arguments:i,type:s,directives:a})}parseArgumentDefs(){return this.optionalMany(R.PAREN_L,this.parseInputValueDef,R.PAREN_R)}parseInputValueDef(){let e=this._lexer.token,r=this.parseDescription(),n=this.parseName();this.expectToken(R.COLON);let i=this.parseTypeReference(),s;this.expectOptionalToken(R.EQUALS)&&(s=this.parseConstValueLiteral());let a=this.parseConstDirectives();return this.node(e,{kind:I.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:I.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:I.UNION_TYPE_DEFINITION,description:r,name:n,directives:i,types:s})}parseUnionMemberTypes(){return this.expectOptionalToken(R.EQUALS)?this.delimitedMany(R.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:I.ENUM_TYPE_DEFINITION,description:r,name:n,directives:i,values:s})}parseEnumValuesDefinition(){return this.optionalMany(R.BRACE_L,this.parseEnumValueDefinition,R.BRACE_R)}parseEnumValueDefinition(){let e=this._lexer.token,r=this.parseDescription(),n=this.parseEnumValueName(),i=this.parseConstDirectives();return this.node(e,{kind:I.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 Ee(this._lexer.source,this._lexer.token.start,`${ou(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:I.INPUT_OBJECT_TYPE_DEFINITION,description:r,name:n,directives:i,fields:s})}parseInputFieldsDefinition(){return this.optionalMany(R.BRACE_L,this.parseInputValueDef,R.BRACE_R)}parseTypeSystemExtension(){let e=this._lexer.lookahead();if(e.kind===R.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(R.BRACE_L,this.parseOperationTypeDefinition,R.BRACE_R);if(r.length===0&&n.length===0)throw this.unexpected();return this.node(e,{kind:I.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:I.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:I.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:I.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:I.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:I.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:I.INPUT_OBJECT_TYPE_EXTENSION,name:r,directives:n,fields:i})}parseDirectiveDefinition(){let e=this._lexer.token,r=this.parseDescription();this.expectKeyword("directive"),this.expectToken(R.AT);let n=this.parseName(),i=this.parseArgumentDefs(),s=this.expectOptionalKeyword("repeatable");this.expectKeyword("on");let a=this.parseDirectiveLocations();return this.node(e,{kind:I.DIRECTIVE_DEFINITION,description:r,name:n,arguments:i,repeatable:s,locations:a})}parseDirectiveLocations(){return this.delimitedMany(R.PIPE,this.parseDirectiveLocation)}parseDirectiveLocation(){let e=this._lexer.token,r=this.parseName();if(Object.prototype.hasOwnProperty.call(te,r.value))return r;throw this.unexpected(e)}node(e,r){return this._options.noLocation!==!0&&(r.loc=new co(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 Ee(this._lexer.source,r.start,`Expected ${hw(e)}, found ${ou(r)}.`)}expectOptionalToken(e){return this._lexer.token.kind===e?(this.advanceLexer(),!0):!1}expectKeyword(e){let r=this._lexer.token;if(r.kind===R.NAME&&r.value===e)this.advanceLexer();else throw Ee(this._lexer.source,r.start,`Expected "${e}", found ${ou(r)}.`)}expectOptionalKeyword(e){let r=this._lexer.token;return r.kind===R.NAME&&r.value===e?(this.advanceLexer(),!0):!1}unexpected(e){let r=e??this._lexer.token;return Ee(this._lexer.source,r.start,`Unexpected ${ou(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!==R.EOF&&(++this._tokenCounter,this._tokenCounter>e))throw Ee(this._lexer.source,r.start,`Document contains more that ${e} tokens. Parsing aborted.`)}};function ou(t){let e=t.value;return hw(t.kind)+(e!=null?` "${e}"`:"")}o(ou,"getTokenDesc");function hw(t){return lw(t)?`"${t}"`:t}o(hw,"getTokenKindDesc");function uu(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(uu,"didYouMean");function Zf(t){return t}o(Zf,"identityFunc");function mi(t,e){let r=Object.create(null);for(let n of t)r[e(n)]=n;return r}o(mi,"keyMap");function qt(t,e,r){let n=Object.create(null);for(let i of t)n[e(i)]=r(i);return n}o(qt,"keyValMap");function ho(t,e){let r=Object.create(null);for(let n of Object.keys(t))r[n]=e(t[n],n);return r}o(ho,"mapValue");function mw(t,e){let r=0,n=0;for(;r<t.length&&n<e.length;){let i=t.charCodeAt(r),s=e.charCodeAt(n);if(lu(i)&&lu(s)){let a=0;do++r,a=a*10+i-Xf,i=t.charCodeAt(r);while(lu(i)&&a>0);let c=0;do++n,c=c*10+s-Xf,s=e.charCodeAt(n);while(lu(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(mw,"naturalCompare");var Xf=48,q1=57;function lu(t){return!isNaN(t)&&Xf<=t&&t<=q1}o(lu,"isDigit");function du(t,e){let r=Object.create(null),n=new eh(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:mw(s,a)})}o(du,"suggestionList");var eh=class{static{o(this,"LexicalDistance")}constructor(e){this._input=e,this._inputLowerCase=e.toLowerCase(),this._inputArray=yw(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=yw(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],f=u[d%3],h=f[0]=d;for(let m=1;m<=c;m++){let b=i[d-1]===s[m-1]?0:1,v=Math.min(p[m]+1,f[m-1]+1,p[m-1]+b);if(d>1&&m>1&&i[d-1]===s[m-2]&&i[d-2]===s[m-1]){let A=u[(d-2)%3][m-2];v=Math.min(v,A+1)}v<h&&(h=v),f[m]=v}if(h>r)return}let l=u[a%3][c];return l<=r?l:void 0}};function yw(t){let e=t.length,r=new Array(e);for(let n=0;n<e;++n)r[n]=t.charCodeAt(n);return r}o(yw,"stringToArray");function je(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(je,"toObjMap");function gw(t){return`"${t.replace($1,j1)}"`}o(gw,"printString");var $1=/[\x00-\x1f\x22\x5c\x7f-\x9f]/g;function j1(t){return V1[t.charCodeAt(0)]}o(j1,"escapedReplacer");var V1=["\\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 th=Object.freeze({});function Nr(t,e,r=Qf){let n=new Map;for(let A of Object.values(I))n.set(A,yi(e,A));let i,s=Array.isArray(t),a=[t],c=-1,u=[],l=t,d,p,f=[],h=[];do{c++;let A=c===a.length,g=A&&u.length!==0;if(A){if(d=h.length===0?void 0:f[f.length-1],l=p,p=h.pop(),g)if(s){l=l.slice();let O=0;for(let[V,w]of u){let T=V-O;w===null?(l.splice(T,1),O++):l[T]=w}}else{l=Object.defineProperties({},Object.getOwnPropertyDescriptors(l));for(let[O,V]of u)l[O]=V}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;f.push(d)}let S;if(!Array.isArray(l)){var m,b;uo(l)||ee(!1,`Invalid AST Node: ${U(l)}.`);let O=A?(m=n.get(l.kind))===null||m===void 0?void 0:m.leave:(b=n.get(l.kind))===null||b===void 0?void 0:b.enter;if(S=O?.call(e,l,d,p,f,h),S===th)break;if(S===!1){if(!A){f.pop();continue}}else if(S!==void 0&&(u.push([d,S]),!A))if(uo(S))l=S;else{f.pop();continue}}if(S===void 0&&g&&u.push([d,l]),A)f.pop();else{var v;i={inArray:s,index:c,keys:a,edits:u,prev:i},s=Array.isArray(l),a=s?l:(v=r[l.kind])!==null&&v!==void 0?v:[],c=-1,u=[],p&&h.push(p),p=l}}while(i!==void 0);return u.length!==0?u[u.length-1][1]:t}o(Nr,"visit");function yi(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(yi,"getEnterLeaveForKind");function Ve(t){return Nr(t,G1)}o(Ve,"print");var B1=80,G1={Name:{leave:t=>t.value},Variable:{leave:t=>"$"+t.name},Document:{leave:t=>$(t.definitions,`
101
+ spurious results.`)}}return!1},"instanceOf");var hi=class{static{o(this,"Source")}constructor(e,r="GraphQL request",n={line:1,column:1}){typeof e=="string"||ee(!1,`Body must be a string. Received: ${U(e)}.`),this.body=e,this.name=r,this.locationOffset=n,this.locationOffset.line>0||ee(!1,"line in locationOffset is 1-indexed and must be positive."),this.locationOffset.column>0||ee(!1,"column in locationOffset is 1-indexed and must be positive.")}get[Symbol.toStringTag](){return"Source"}};function hw(t){return tt(t,hi)}o(hw,"isSource");function au(t,e){return new su(t,e).parseDocument()}o(au,"parse");function cu(t,e){let r=new su(t,e);r.expectToken(R.SOF);let n=r.parseValueLiteral(!1);return r.expectToken(R.EOF),n}o(cu,"parseValue");var su=class{static{o(this,"Parser")}constructor(e,r={}){let n=hw(e)?e:new hi(e);this._lexer=new fo(n),this._options=r,this._tokenCounter=0}parseName(){let e=this.expectToken(R.NAME);return this.node(e,{kind:I.NAME,value:e.value})}parseDocument(){return this.node(this._lexer.token,{kind:I.DOCUMENT,definitions:this.many(R.SOF,this.parseDefinition,R.EOF)})}parseDefinition(){if(this.peek(R.BRACE_L))return this.parseOperationDefinition();let e=this.peekDescription(),r=e?this._lexer.lookahead():this._lexer.token;if(r.kind===R.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 Ee(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(R.BRACE_L))return this.node(e,{kind:I.OPERATION_DEFINITION,operation:dt.QUERY,name:void 0,variableDefinitions:[],directives:[],selectionSet:this.parseSelectionSet()});let r=this.parseOperationType(),n;return this.peek(R.NAME)&&(n=this.parseName()),this.node(e,{kind:I.OPERATION_DEFINITION,operation:r,name:n,variableDefinitions:this.parseVariableDefinitions(),directives:this.parseDirectives(!1),selectionSet:this.parseSelectionSet()})}parseOperationType(){let e=this.expectToken(R.NAME);switch(e.value){case"query":return dt.QUERY;case"mutation":return dt.MUTATION;case"subscription":return dt.SUBSCRIPTION}throw this.unexpected(e)}parseVariableDefinitions(){return this.optionalMany(R.PAREN_L,this.parseVariableDefinition,R.PAREN_R)}parseVariableDefinition(){return this.node(this._lexer.token,{kind:I.VARIABLE_DEFINITION,variable:this.parseVariable(),type:(this.expectToken(R.COLON),this.parseTypeReference()),defaultValue:this.expectOptionalToken(R.EQUALS)?this.parseConstValueLiteral():void 0,directives:this.parseConstDirectives()})}parseVariable(){let e=this._lexer.token;return this.expectToken(R.DOLLAR),this.node(e,{kind:I.VARIABLE,name:this.parseName()})}parseSelectionSet(){return this.node(this._lexer.token,{kind:I.SELECTION_SET,selections:this.many(R.BRACE_L,this.parseSelection,R.BRACE_R)})}parseSelection(){return this.peek(R.SPREAD)?this.parseFragment():this.parseField()}parseField(){let e=this._lexer.token,r=this.parseName(),n,i;return this.expectOptionalToken(R.COLON)?(n=r,i=this.parseName()):i=r,this.node(e,{kind:I.FIELD,alias:n,name:i,arguments:this.parseArguments(!1),directives:this.parseDirectives(!1),selectionSet:this.peek(R.BRACE_L)?this.parseSelectionSet():void 0})}parseArguments(e){let r=e?this.parseConstArgument:this.parseArgument;return this.optionalMany(R.PAREN_L,r,R.PAREN_R)}parseArgument(e=!1){let r=this._lexer.token,n=this.parseName();return this.expectToken(R.COLON),this.node(r,{kind:I.ARGUMENT,name:n,value:this.parseValueLiteral(e)})}parseConstArgument(){return this.parseArgument(!0)}parseFragment(){let e=this._lexer.token;this.expectToken(R.SPREAD);let r=this.expectOptionalKeyword("on");return!r&&this.peek(R.NAME)?this.node(e,{kind:I.FRAGMENT_SPREAD,name:this.parseFragmentName(),directives:this.parseDirectives(!1)}):this.node(e,{kind:I.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:I.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:I.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 R.BRACKET_L:return this.parseList(e);case R.BRACE_L:return this.parseObject(e);case R.INT:return this.advanceLexer(),this.node(r,{kind:I.INT,value:r.value});case R.FLOAT:return this.advanceLexer(),this.node(r,{kind:I.FLOAT,value:r.value});case R.STRING:case R.BLOCK_STRING:return this.parseStringLiteral();case R.NAME:switch(this.advanceLexer(),r.value){case"true":return this.node(r,{kind:I.BOOLEAN,value:!0});case"false":return this.node(r,{kind:I.BOOLEAN,value:!1});case"null":return this.node(r,{kind:I.NULL});default:return this.node(r,{kind:I.ENUM,value:r.value})}case R.DOLLAR:if(e)if(this.expectToken(R.DOLLAR),this._lexer.token.kind===R.NAME){let n=this._lexer.token.value;throw Ee(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:I.STRING,value:e.value,block:e.kind===R.BLOCK_STRING})}parseList(e){let r=o(()=>this.parseValueLiteral(e),"item");return this.node(this._lexer.token,{kind:I.LIST,values:this.any(R.BRACKET_L,r,R.BRACKET_R)})}parseObject(e){let r=o(()=>this.parseObjectField(e),"item");return this.node(this._lexer.token,{kind:I.OBJECT,fields:this.any(R.BRACE_L,r,R.BRACE_R)})}parseObjectField(e){let r=this._lexer.token,n=this.parseName();return this.expectToken(R.COLON),this.node(r,{kind:I.OBJECT_FIELD,name:n,value:this.parseValueLiteral(e)})}parseDirectives(e){let r=[];for(;this.peek(R.AT);)r.push(this.parseDirective(e));return r}parseConstDirectives(){return this.parseDirectives(!0)}parseDirective(e){let r=this._lexer.token;return this.expectToken(R.AT),this.node(r,{kind:I.DIRECTIVE,name:this.parseName(),arguments:this.parseArguments(e)})}parseTypeReference(){let e=this._lexer.token,r;if(this.expectOptionalToken(R.BRACKET_L)){let n=this.parseTypeReference();this.expectToken(R.BRACKET_R),r=this.node(e,{kind:I.LIST_TYPE,type:n})}else r=this.parseNamedType();return this.expectOptionalToken(R.BANG)?this.node(e,{kind:I.NON_NULL_TYPE,type:r}):r}parseNamedType(){return this.node(this._lexer.token,{kind:I.NAMED_TYPE,name:this.parseName()})}peekDescription(){return this.peek(R.STRING)||this.peek(R.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(R.BRACE_L,this.parseOperationTypeDefinition,R.BRACE_R);return this.node(e,{kind:I.SCHEMA_DEFINITION,description:r,directives:n,operationTypes:i})}parseOperationTypeDefinition(){let e=this._lexer.token,r=this.parseOperationType();this.expectToken(R.COLON);let n=this.parseNamedType();return this.node(e,{kind:I.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:I.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:I.OBJECT_TYPE_DEFINITION,description:r,name:n,interfaces:i,directives:s,fields:a})}parseImplementsInterfaces(){return this.expectOptionalKeyword("implements")?this.delimitedMany(R.AMP,this.parseNamedType):[]}parseFieldsDefinition(){return this.optionalMany(R.BRACE_L,this.parseFieldDefinition,R.BRACE_R)}parseFieldDefinition(){let e=this._lexer.token,r=this.parseDescription(),n=this.parseName(),i=this.parseArgumentDefs();this.expectToken(R.COLON);let s=this.parseTypeReference(),a=this.parseConstDirectives();return this.node(e,{kind:I.FIELD_DEFINITION,description:r,name:n,arguments:i,type:s,directives:a})}parseArgumentDefs(){return this.optionalMany(R.PAREN_L,this.parseInputValueDef,R.PAREN_R)}parseInputValueDef(){let e=this._lexer.token,r=this.parseDescription(),n=this.parseName();this.expectToken(R.COLON);let i=this.parseTypeReference(),s;this.expectOptionalToken(R.EQUALS)&&(s=this.parseConstValueLiteral());let a=this.parseConstDirectives();return this.node(e,{kind:I.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:I.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:I.UNION_TYPE_DEFINITION,description:r,name:n,directives:i,types:s})}parseUnionMemberTypes(){return this.expectOptionalToken(R.EQUALS)?this.delimitedMany(R.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:I.ENUM_TYPE_DEFINITION,description:r,name:n,directives:i,values:s})}parseEnumValuesDefinition(){return this.optionalMany(R.BRACE_L,this.parseEnumValueDefinition,R.BRACE_R)}parseEnumValueDefinition(){let e=this._lexer.token,r=this.parseDescription(),n=this.parseEnumValueName(),i=this.parseConstDirectives();return this.node(e,{kind:I.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 Ee(this._lexer.source,this._lexer.token.start,`${ou(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:I.INPUT_OBJECT_TYPE_DEFINITION,description:r,name:n,directives:i,fields:s})}parseInputFieldsDefinition(){return this.optionalMany(R.BRACE_L,this.parseInputValueDef,R.BRACE_R)}parseTypeSystemExtension(){let e=this._lexer.lookahead();if(e.kind===R.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(R.BRACE_L,this.parseOperationTypeDefinition,R.BRACE_R);if(r.length===0&&n.length===0)throw this.unexpected();return this.node(e,{kind:I.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:I.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:I.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:I.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:I.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:I.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:I.INPUT_OBJECT_TYPE_EXTENSION,name:r,directives:n,fields:i})}parseDirectiveDefinition(){let e=this._lexer.token,r=this.parseDescription();this.expectKeyword("directive"),this.expectToken(R.AT);let n=this.parseName(),i=this.parseArgumentDefs(),s=this.expectOptionalKeyword("repeatable");this.expectKeyword("on");let a=this.parseDirectiveLocations();return this.node(e,{kind:I.DIRECTIVE_DEFINITION,description:r,name:n,arguments:i,repeatable:s,locations:a})}parseDirectiveLocations(){return this.delimitedMany(R.PIPE,this.parseDirectiveLocation)}parseDirectiveLocation(){let e=this._lexer.token,r=this.parseName();if(Object.prototype.hasOwnProperty.call(te,r.value))return r;throw this.unexpected(e)}node(e,r){return this._options.noLocation!==!0&&(r.loc=new co(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 Ee(this._lexer.source,r.start,`Expected ${mw(e)}, found ${ou(r)}.`)}expectOptionalToken(e){return this._lexer.token.kind===e?(this.advanceLexer(),!0):!1}expectKeyword(e){let r=this._lexer.token;if(r.kind===R.NAME&&r.value===e)this.advanceLexer();else throw Ee(this._lexer.source,r.start,`Expected "${e}", found ${ou(r)}.`)}expectOptionalKeyword(e){let r=this._lexer.token;return r.kind===R.NAME&&r.value===e?(this.advanceLexer(),!0):!1}unexpected(e){let r=e??this._lexer.token;return Ee(this._lexer.source,r.start,`Unexpected ${ou(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!==R.EOF&&(++this._tokenCounter,this._tokenCounter>e))throw Ee(this._lexer.source,r.start,`Document contains more that ${e} tokens. Parsing aborted.`)}};function ou(t){let e=t.value;return mw(t.kind)+(e!=null?` "${e}"`:"")}o(ou,"getTokenDesc");function mw(t){return dw(t)?`"${t}"`:t}o(mw,"getTokenKindDesc");function uu(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(uu,"didYouMean");function Zf(t){return t}o(Zf,"identityFunc");function mi(t,e){let r=Object.create(null);for(let n of t)r[e(n)]=n;return r}o(mi,"keyMap");function qt(t,e,r){let n=Object.create(null);for(let i of t)n[e(i)]=r(i);return n}o(qt,"keyValMap");function ho(t,e){let r=Object.create(null);for(let n of Object.keys(t))r[n]=e(t[n],n);return r}o(ho,"mapValue");function yw(t,e){let r=0,n=0;for(;r<t.length&&n<e.length;){let i=t.charCodeAt(r),s=e.charCodeAt(n);if(lu(i)&&lu(s)){let a=0;do++r,a=a*10+i-Xf,i=t.charCodeAt(r);while(lu(i)&&a>0);let c=0;do++n,c=c*10+s-Xf,s=e.charCodeAt(n);while(lu(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(yw,"naturalCompare");var Xf=48,q1=57;function lu(t){return!isNaN(t)&&Xf<=t&&t<=q1}o(lu,"isDigit");function du(t,e){let r=Object.create(null),n=new eh(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:yw(s,a)})}o(du,"suggestionList");var eh=class{static{o(this,"LexicalDistance")}constructor(e){this._input=e,this._inputLowerCase=e.toLowerCase(),this._inputArray=gw(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=gw(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],f=u[d%3],h=f[0]=d;for(let m=1;m<=c;m++){let b=i[d-1]===s[m-1]?0:1,v=Math.min(p[m]+1,f[m-1]+1,p[m-1]+b);if(d>1&&m>1&&i[d-1]===s[m-2]&&i[d-2]===s[m-1]){let A=u[(d-2)%3][m-2];v=Math.min(v,A+1)}v<h&&(h=v),f[m]=v}if(h>r)return}let l=u[a%3][c];return l<=r?l:void 0}};function gw(t){let e=t.length,r=new Array(e);for(let n=0;n<e;++n)r[n]=t.charCodeAt(n);return r}o(gw,"stringToArray");function je(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(je,"toObjMap");function bw(t){return`"${t.replace($1,j1)}"`}o(bw,"printString");var $1=/[\x00-\x1f\x22\x5c\x7f-\x9f]/g;function j1(t){return V1[t.charCodeAt(0)]}o(j1,"escapedReplacer");var V1=["\\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 th=Object.freeze({});function Nr(t,e,r=Qf){let n=new Map;for(let A of Object.values(I))n.set(A,yi(e,A));let i,s=Array.isArray(t),a=[t],c=-1,u=[],l=t,d,p,f=[],h=[];do{c++;let A=c===a.length,g=A&&u.length!==0;if(A){if(d=h.length===0?void 0:f[f.length-1],l=p,p=h.pop(),g)if(s){l=l.slice();let O=0;for(let[V,w]of u){let T=V-O;w===null?(l.splice(T,1),O++):l[T]=w}}else{l=Object.defineProperties({},Object.getOwnPropertyDescriptors(l));for(let[O,V]of u)l[O]=V}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;f.push(d)}let S;if(!Array.isArray(l)){var m,b;uo(l)||ee(!1,`Invalid AST Node: ${U(l)}.`);let O=A?(m=n.get(l.kind))===null||m===void 0?void 0:m.leave:(b=n.get(l.kind))===null||b===void 0?void 0:b.enter;if(S=O?.call(e,l,d,p,f,h),S===th)break;if(S===!1){if(!A){f.pop();continue}}else if(S!==void 0&&(u.push([d,S]),!A))if(uo(S))l=S;else{f.pop();continue}}if(S===void 0&&g&&u.push([d,l]),A)f.pop();else{var v;i={inArray:s,index:c,keys:a,edits:u,prev:i},s=Array.isArray(l),a=s?l:(v=r[l.kind])!==null&&v!==void 0?v:[],c=-1,u=[],p&&h.push(p),p=l}}while(i!==void 0);return u.length!==0?u[u.length-1][1]:t}o(Nr,"visit");function yi(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(yi,"getEnterLeaveForKind");function Ve(t){return Nr(t,G1)}o(Ve,"print");var B1=80,G1={Name:{leave:t=>t.value},Variable:{leave:t=>"$"+t.name},Document:{leave:t=>$(t.definitions,`
102
102
 
103
103
  `)},OperationDefinition:{leave(t){let e=re("(",$(t.variableDefinitions,", "),")"),r=$([t.operation,$([t.name,e]),$(t.directives," ")]," ");return(r==="query"?"":r+" ")+t.selectionSet}},VariableDefinition:{leave:({variable:t,type:e,defaultValue:r,directives:n})=>t+": "+e+re(" = ",r)+re(" ",$(n," "))},SelectionSet:{leave:({selections:t})=>Tt(t)},Field:{leave({alias:t,name:e,arguments:r,directives:n,selectionSet:i}){let s=re("",t,": ")+e,a=s+re("(",$(r,", "),")");return a.length>B1&&(a=s+re(`(
104
104
  `,pu($(r,`
105
105
  `)),`
106
- )`)),$([a,$(n," "),i]," ")}},Argument:{leave:({name:t,value:e})=>t+": "+e},FragmentSpread:{leave:({name:t,directives:e})=>"..."+t+re(" ",$(e," "))},InlineFragment:{leave:({typeCondition:t,directives:e,selectionSet:r})=>$(["...",re("on ",t),$(e," "),r]," ")},FragmentDefinition:{leave:({name:t,typeCondition:e,variableDefinitions:r,directives:n,selectionSet:i})=>`fragment ${t}${re("(",$(r,", "),")")} on ${e} ${re("",$(n," ")," ")}`+i},IntValue:{leave:({value:t})=>t},FloatValue:{leave:({value:t})=>t},StringValue:{leave:({value:t,block:e})=>e?cw(t):gw(t)},BooleanValue:{leave:({value:t})=>t?"true":"false"},NullValue:{leave:()=>"null"},EnumValue:{leave:({value:t})=>t},ListValue:{leave:({values:t})=>"["+$(t,", ")+"]"},ObjectValue:{leave:({fields:t})=>"{"+$(t,", ")+"}"},ObjectField:{leave:({name:t,value:e})=>t+": "+e},Directive:{leave:({name:t,arguments:e})=>"@"+t+re("(",$(e,", "),")")},NamedType:{leave:({name:t})=>t},ListType:{leave:({type:t})=>"["+t+"]"},NonNullType:{leave:({type:t})=>t+"!"},SchemaDefinition:{leave:({description:t,directives:e,operationTypes:r})=>re("",t,`
106
+ )`)),$([a,$(n," "),i]," ")}},Argument:{leave:({name:t,value:e})=>t+": "+e},FragmentSpread:{leave:({name:t,directives:e})=>"..."+t+re(" ",$(e," "))},InlineFragment:{leave:({typeCondition:t,directives:e,selectionSet:r})=>$(["...",re("on ",t),$(e," "),r]," ")},FragmentDefinition:{leave:({name:t,typeCondition:e,variableDefinitions:r,directives:n,selectionSet:i})=>`fragment ${t}${re("(",$(r,", "),")")} on ${e} ${re("",$(n," ")," ")}`+i},IntValue:{leave:({value:t})=>t},FloatValue:{leave:({value:t})=>t},StringValue:{leave:({value:t,block:e})=>e?uw(t):bw(t)},BooleanValue:{leave:({value:t})=>t?"true":"false"},NullValue:{leave:()=>"null"},EnumValue:{leave:({value:t})=>t},ListValue:{leave:({values:t})=>"["+$(t,", ")+"]"},ObjectValue:{leave:({fields:t})=>"{"+$(t,", ")+"}"},ObjectField:{leave:({name:t,value:e})=>t+": "+e},Directive:{leave:({name:t,arguments:e})=>"@"+t+re("(",$(e,", "),")")},NamedType:{leave:({name:t})=>t},ListType:{leave:({type:t})=>"["+t+"]"},NonNullType:{leave:({type:t})=>t+"!"},SchemaDefinition:{leave:({description:t,directives:e,operationTypes:r})=>re("",t,`
107
107
  `)+$(["schema",$(e," "),Tt(r)]," ")},OperationTypeDefinition:{leave:({operation:t,type:e})=>t+": "+e},ScalarTypeDefinition:{leave:({description:t,name:e,directives:r})=>re("",t,`
108
108
  `)+$(["scalar",e,$(r," ")]," ")},ObjectTypeDefinition:{leave:({description:t,name:e,interfaces:r,directives:n,fields:i})=>re("",t,`
109
109
  `)+$(["type",e,re("implements ",$(r," & ")),$(n," "),Tt(i)]," ")},FieldDefinition:{leave:({description:t,name:e,arguments:r,type:n,directives:i})=>re("",t,`
110
- `)+e+(bw(r)?re(`(
110
+ `)+e+(_w(r)?re(`(
111
111
  `,pu($(r,`
112
112
  `)),`
113
113
  )`):re("(",$(r,", "),")"))+": "+n+re(" ",$(i," "))},InputValueDefinition:{leave:({description:t,name:e,type:r,defaultValue:n,directives:i})=>re("",t,`
@@ -117,17 +117,17 @@ spurious results.`)}}return!1},"instanceOf");var hi=class{static{o(this,"Source"
117
117
  `)+$(["enum",e,$(r," "),Tt(n)]," ")},EnumValueDefinition:{leave:({description:t,name:e,directives:r})=>re("",t,`
118
118
  `)+$([e,$(r," ")]," ")},InputObjectTypeDefinition:{leave:({description:t,name:e,directives:r,fields:n})=>re("",t,`
119
119
  `)+$(["input",e,$(r," "),Tt(n)]," ")},DirectiveDefinition:{leave:({description:t,name:e,arguments:r,repeatable:n,locations:i})=>re("",t,`
120
- `)+"directive @"+e+(bw(r)?re(`(
120
+ `)+"directive @"+e+(_w(r)?re(`(
121
121
  `,pu($(r,`
122
122
  `)),`
123
123
  )`):re("(",$(r,", "),")"))+(n?" repeatable":"")+" on "+$(i," | ")},SchemaExtension:{leave:({directives:t,operationTypes:e})=>$(["extend schema",$(t," "),Tt(e)]," ")},ScalarTypeExtension:{leave:({name:t,directives:e})=>$(["extend scalar",t,$(e," ")]," ")},ObjectTypeExtension:{leave:({name:t,interfaces:e,directives:r,fields:n})=>$(["extend type",t,re("implements ",$(e," & ")),$(r," "),Tt(n)]," ")},InterfaceTypeExtension:{leave:({name:t,interfaces:e,directives:r,fields:n})=>$(["extend interface",t,re("implements ",$(e," & ")),$(r," "),Tt(n)]," ")},UnionTypeExtension:{leave:({name:t,directives:e,types:r})=>$(["extend union",t,$(e," "),re("= ",$(r," | "))]," ")},EnumTypeExtension:{leave:({name:t,directives:e,values:r})=>$(["extend enum",t,$(e," "),Tt(r)]," ")},InputObjectTypeExtension:{leave:({name:t,directives:e,fields:r})=>$(["extend input",t,$(e," "),Tt(r)]," ")}};function $(t,e=""){var r;return(r=t?.filter(n=>n).join(e))!==null&&r!==void 0?r:""}o($,"join");function Tt(t){return re(`{
124
124
  `,pu($(t,`
125
125
  `)),`
126
126
  }`)}o(Tt,"block");function re(t,e,r=""){return e!=null&&e!==""?t+e+r:""}o(re,"wrap");function pu(t){return re(" ",t.replace(/\n/g,`
127
- `))}o(pu,"indent");function bw(t){var e;return(e=t?.some(r=>r.includes(`
128
- `)))!==null&&e!==void 0?e:!1}o(bw,"hasMultilineItems");function mo(t,e){switch(t.kind){case I.NULL:return null;case I.INT:return parseInt(t.value,10);case I.FLOAT:return parseFloat(t.value);case I.STRING:case I.ENUM:case I.BOOLEAN:return t.value;case I.LIST:return t.values.map(r=>mo(r,e));case I.OBJECT:return qt(t.fields,r=>r.name.value,r=>mo(r.value,e));case I.VARIABLE:return e?.[t.name.value]}}o(mo,"valueFromASTUntyped");function Qe(t){if(t!=null||ee(!1,"Must provide name."),typeof t=="string"||ee(!1,"Expected name to be a string."),t.length===0)throw new j("Expected name to be a non-empty string.");for(let e=1;e<t.length;++e)if(!ru(t.charCodeAt(e)))throw new j(`Names must only contain [_a-zA-Z0-9] but "${t}" does not.`);if(!lo(t.charCodeAt(0)))throw new j(`Names must start with [_a-zA-Z] but "${t}" does not.`);return t}o(Qe,"assertName");function rh(t){if(t==="true"||t==="false"||t==="null")throw new j(`Enum values cannot be named: ${t}`);return Qe(t)}o(rh,"assertEnumValueName");function hu(t){return Cr(t)||He(t)||Oe(t)||pt(t)||nt(t)||Me(t)||Ye(t)||ye(t)}o(hu,"isType");function Cr(t){return tt(t,rt)}o(Cr,"isScalarType");function He(t){return tt(t,Fe)}o(He,"isObjectType");function mu(t){if(!He(t))throw new Error(`Expected ${U(t)} to be a GraphQL Object type.`);return t}o(mu,"assertObjectType");function Oe(t){return tt(t,er)}o(Oe,"isInterfaceType");function yu(t){if(!Oe(t))throw new Error(`Expected ${U(t)} to be a GraphQL Interface type.`);return t}o(yu,"assertInterfaceType");function pt(t){return tt(t,sn)}o(pt,"isUnionType");function nt(t){return tt(t,$t)}o(nt,"isEnumType");function Me(t){return tt(t,an)}o(Me,"isInputObjectType");function Ye(t){return tt(t,we)}o(Ye,"isListType");function ye(t){return tt(t,Q)}o(ye,"isNonNullType");function it(t){return Cr(t)||nt(t)||Me(t)||yo(t)&&it(t.ofType)}o(it,"isInputType");function tr(t){return Cr(t)||He(t)||Oe(t)||pt(t)||nt(t)||yo(t)&&tr(t.ofType)}o(tr,"isOutputType");function xr(t){return Cr(t)||nt(t)}o(xr,"isLeafType");function jt(t){return He(t)||Oe(t)||pt(t)}o(jt,"isCompositeType");function Lr(t){return Oe(t)||pt(t)}o(Lr,"isAbstractType");var we=class{static{o(this,"GraphQLList")}constructor(e){hu(e)||ee(!1,`Expected ${U(e)} to be a GraphQL type.`),this.ofType=e}get[Symbol.toStringTag](){return"GraphQLList"}toString(){return"["+String(this.ofType)+"]"}toJSON(){return this.toString()}},Q=class{static{o(this,"GraphQLNonNull")}constructor(e){gu(e)||ee(!1,`Expected ${U(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 yo(t){return Ye(t)||ye(t)}o(yo,"isWrappingType");function gu(t){return hu(t)&&!ye(t)}o(gu,"isNullableType");function bu(t){if(!gu(t))throw new Error(`Expected ${U(t)} to be a GraphQL nullable type.`);return t}o(bu,"assertNullableType");function _u(t){if(t)return ye(t)?t.ofType:t}o(_u,"getNullableType");function St(t){if(t){let e=t;for(;yo(e);)e=e.ofType;return e}}o(St,"getNamedType");function Eu(t){return typeof t=="function"?t():t}o(Eu,"resolveReadonlyArrayThunk");function wu(t){return typeof t=="function"?t():t}o(wu,"resolveObjMapThunk");var rt=class{static{o(this,"GraphQLScalarType")}constructor(e){var r,n,i,s;let a=(r=e.parseValue)!==null&&r!==void 0?r:Zf;this.name=Qe(e.name),this.description=e.description,this.specifiedByURL=e.specifiedByURL,this.serialize=(n=e.serialize)!==null&&n!==void 0?n:Zf,this.parseValue=a,this.parseLiteral=(i=e.parseLiteral)!==null&&i!==void 0?i:(c,u)=>a(mo(c,u)),this.extensions=je(e.extensions),this.astNode=e.astNode,this.extensionASTNodes=(s=e.extensionASTNodes)!==null&&s!==void 0?s:[],e.specifiedByURL==null||typeof e.specifiedByURL=="string"||ee(!1,`${this.name} must provide "specifiedByURL" as a string, but got: ${U(e.specifiedByURL)}.`),e.serialize==null||typeof e.serialize=="function"||ee(!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"||ee(!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()}},Fe=class{static{o(this,"GraphQLObjectType")}constructor(e){var r;this.name=Qe(e.name),this.description=e.description,this.isTypeOf=e.isTypeOf,this.extensions=je(e.extensions),this.astNode=e.astNode,this.extensionASTNodes=(r=e.extensionASTNodes)!==null&&r!==void 0?r:[],this._fields=()=>Ew(e),this._interfaces=()=>_w(e),e.isTypeOf==null||typeof e.isTypeOf=="function"||ee(!1,`${this.name} must provide "isTypeOf" as a function, but got: ${U(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:ww(this.getFields()),isTypeOf:this.isTypeOf,extensions:this.extensions,astNode:this.astNode,extensionASTNodes:this.extensionASTNodes}}toString(){return this.name}toJSON(){return this.toString()}};function _w(t){var e;let r=Eu((e=t.interfaces)!==null&&e!==void 0?e:[]);return Array.isArray(r)||ee(!1,`${t.name} interfaces must be an Array or a function which returns an Array.`),r}o(_w,"defineInterfaces");function Ew(t){let e=wu(t.fields);return gi(e)||ee(!1,`${t.name} fields must be an object with field names as keys or a function which returns such an object.`),ho(e,(r,n)=>{var i;gi(r)||ee(!1,`${t.name}.${n} field config must be an object.`),r.resolve==null||typeof r.resolve=="function"||ee(!1,`${t.name}.${n} field resolver must be a function if provided, but got: ${U(r.resolve)}.`);let s=(i=r.args)!==null&&i!==void 0?i:{};return gi(s)||ee(!1,`${t.name}.${n} args must be an object with argument names as keys.`),{name:Qe(n),description:r.description,type:r.type,args:nh(s),resolve:r.resolve,subscribe:r.subscribe,deprecationReason:r.deprecationReason,extensions:je(r.extensions),astNode:r.astNode}})}o(Ew,"defineFieldMap");function nh(t){return Object.entries(t).map(([e,r])=>({name:Qe(e),description:r.description,type:r.type,defaultValue:r.defaultValue,deprecationReason:r.deprecationReason,extensions:je(r.extensions),astNode:r.astNode}))}o(nh,"defineArguments");function gi(t){return Re(t)&&!Array.isArray(t)}o(gi,"isPlainObj");function ww(t){return ho(t,e=>({description:e.description,type:e.type,args:ih(e.args),resolve:e.resolve,subscribe:e.subscribe,deprecationReason:e.deprecationReason,extensions:e.extensions,astNode:e.astNode}))}o(ww,"fieldsToFieldsConfig");function ih(t){return qt(t,e=>e.name,e=>({description:e.description,type:e.type,defaultValue:e.defaultValue,deprecationReason:e.deprecationReason,extensions:e.extensions,astNode:e.astNode}))}o(ih,"argsToArgsConfig");var er=class{static{o(this,"GraphQLInterfaceType")}constructor(e){var r;this.name=Qe(e.name),this.description=e.description,this.resolveType=e.resolveType,this.extensions=je(e.extensions),this.astNode=e.astNode,this.extensionASTNodes=(r=e.extensionASTNodes)!==null&&r!==void 0?r:[],this._fields=Ew.bind(void 0,e),this._interfaces=_w.bind(void 0,e),e.resolveType==null||typeof e.resolveType=="function"||ee(!1,`${this.name} must provide "resolveType" as a function, but got: ${U(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:ww(this.getFields()),resolveType:this.resolveType,extensions:this.extensions,astNode:this.astNode,extensionASTNodes:this.extensionASTNodes}}toString(){return this.name}toJSON(){return this.toString()}},sn=class{static{o(this,"GraphQLUnionType")}constructor(e){var r;this.name=Qe(e.name),this.description=e.description,this.resolveType=e.resolveType,this.extensions=je(e.extensions),this.astNode=e.astNode,this.extensionASTNodes=(r=e.extensionASTNodes)!==null&&r!==void 0?r:[],this._types=K1.bind(void 0,e),e.resolveType==null||typeof e.resolveType=="function"||ee(!1,`${this.name} must provide "resolveType" as a function, but got: ${U(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 K1(t){let e=Eu(t.types);return Array.isArray(e)||ee(!1,`Must provide Array of types or a function which returns such an array for Union ${t.name}.`),e}o(K1,"defineTypes");var $t=class{static{o(this,"GraphQLEnumType")}constructor(e){var r;this.name=Qe(e.name),this.description=e.description,this.extensions=je(e.extensions),this.astNode=e.astNode,this.extensionASTNodes=(r=e.extensionASTNodes)!==null&&r!==void 0?r:[],this._values=J1(this.name,e.values),this._valueLookup=new Map(this._values.map(n=>[n.value,n])),this._nameLookup=mi(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 j(`Enum "${this.name}" cannot represent value: ${U(e)}`);return r.name}parseValue(e){if(typeof e!="string"){let n=U(e);throw new j(`Enum "${this.name}" cannot represent non-string value: ${n}.`+fu(this,n))}let r=this.getValue(e);if(r==null)throw new j(`Value "${e}" does not exist in "${this.name}" enum.`+fu(this,e));return r.value}parseLiteral(e,r){if(e.kind!==I.ENUM){let i=Ve(e);throw new j(`Enum "${this.name}" cannot represent non-enum value: ${i}.`+fu(this,i),{nodes:e})}let n=this.getValue(e.value);if(n==null){let i=Ve(e);throw new j(`Value "${i}" does not exist in "${this.name}" enum.`+fu(this,i),{nodes:e})}return n.value}toConfig(){let e=qt(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 fu(t,e){let r=t.getValues().map(i=>i.name),n=du(e,r);return uu("the enum value",n)}o(fu,"didYouMeanEnumValue");function J1(t,e){return gi(e)||ee(!1,`${t} values must be an object with value names as keys.`),Object.entries(e).map(([r,n])=>(gi(n)||ee(!1,`${t}.${r} must refer to an object with a "value" key representing an internal value but got: ${U(n)}.`),{name:rh(r),description:n.description,value:n.value!==void 0?n.value:r,deprecationReason:n.deprecationReason,extensions:je(n.extensions),astNode:n.astNode}))}o(J1,"defineEnumValues");var an=class{static{o(this,"GraphQLInputObjectType")}constructor(e){var r;this.name=Qe(e.name),this.description=e.description,this.extensions=je(e.extensions),this.astNode=e.astNode,this.extensionASTNodes=(r=e.extensionASTNodes)!==null&&r!==void 0?r:[],this._fields=z1.bind(void 0,e)}get[Symbol.toStringTag](){return"GraphQLInputObjectType"}getFields(){return typeof this._fields=="function"&&(this._fields=this._fields()),this._fields}toConfig(){let e=ho(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 z1(t){let e=wu(t.fields);return gi(e)||ee(!1,`${t.name} fields must be an object with field names as keys or a function which returns such an object.`),ho(e,(r,n)=>(!("resolve"in r)||ee(!1,`${t.name}.${n} field has a resolve property, but Input Types cannot define resolvers.`),{name:Qe(n),description:r.description,type:r.type,defaultValue:r.defaultValue,deprecationReason:r.deprecationReason,extensions:je(r.extensions),astNode:r.astNode}))}o(z1,"defineInputFieldMap");var vu=2147483647,Tu=-2147483648,oh=new rt({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=go(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 j(`Int cannot represent non-integer value: ${U(e)}`);if(r>vu||r<Tu)throw new j("Int cannot represent non 32-bit signed integer value: "+U(e));return r},parseValue(t){if(typeof t!="number"||!Number.isInteger(t))throw new j(`Int cannot represent non-integer value: ${U(t)}`);if(t>vu||t<Tu)throw new j(`Int cannot represent non 32-bit signed integer value: ${t}`);return t},parseLiteral(t){if(t.kind!==I.INT)throw new j(`Int cannot represent non-integer value: ${Ve(t)}`,{nodes:t});let e=parseInt(t.value,10);if(e>vu||e<Tu)throw new j(`Int cannot represent non 32-bit signed integer value: ${t.value}`,{nodes:t});return e}}),vw=new rt({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=go(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 j(`Float cannot represent non numeric value: ${U(e)}`);return r},parseValue(t){if(typeof t!="number"||!Number.isFinite(t))throw new j(`Float cannot represent non numeric value: ${U(t)}`);return t},parseLiteral(t){if(t.kind!==I.FLOAT&&t.kind!==I.INT)throw new j(`Float cannot represent non numeric value: ${Ve(t)}`,t);return parseFloat(t.value)}}),he=new rt({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=go(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 j(`String cannot represent value: ${U(t)}`)},parseValue(t){if(typeof t!="string")throw new j(`String cannot represent a non string value: ${U(t)}`);return t},parseLiteral(t){if(t.kind!==I.STRING)throw new j(`String cannot represent a non string value: ${Ve(t)}`,{nodes:t});return t.value}}),Be=new rt({name:"Boolean",description:"The `Boolean` scalar type represents `true` or `false`.",serialize(t){let e=go(t);if(typeof e=="boolean")return e;if(Number.isFinite(e))return e!==0;throw new j(`Boolean cannot represent a non boolean value: ${U(e)}`)},parseValue(t){if(typeof t!="boolean")throw new j(`Boolean cannot represent a non boolean value: ${U(t)}`);return t},parseLiteral(t){if(t.kind!==I.BOOLEAN)throw new j(`Boolean cannot represent a non boolean value: ${Ve(t)}`,{nodes:t});return t.value}}),Su=new rt({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=go(t);if(typeof e=="string")return e;if(Number.isInteger(e))return String(e);throw new j(`ID cannot represent value: ${U(t)}`)},parseValue(t){if(typeof t=="string")return t;if(typeof t=="number"&&Number.isInteger(t))return t.toString();throw new j(`ID cannot represent value: ${U(t)}`)},parseLiteral(t){if(t.kind!==I.STRING&&t.kind!==I.INT)throw new j("ID cannot represent a non-string and non-integer value: "+Ve(t),{nodes:t});return t.value}}),sh=Object.freeze([he,oh,vw,Be,Su]);function go(t){if(Re(t)){if(typeof t.valueOf=="function"){let e=t.valueOf();if(!Re(e))return e}if(typeof t.toJSON=="function")return t.toJSON()}return t}o(go,"serializeObject");function ah(t){return tt(t,It)}o(ah,"isDirective");var It=class{static{o(this,"GraphQLDirective")}constructor(e){var r,n;this.name=Qe(e.name),this.description=e.description,this.locations=e.locations,this.isRepeatable=(r=e.isRepeatable)!==null&&r!==void 0?r:!1,this.extensions=je(e.extensions),this.astNode=e.astNode,Array.isArray(e.locations)||ee(!1,`@${e.name} locations must be an Array.`);let i=(n=e.args)!==null&&n!==void 0?n:{};Re(i)&&!Array.isArray(i)||ee(!1,`@${e.name} args must be an object with argument names as keys.`),this.args=nh(i)}get[Symbol.toStringTag](){return"GraphQLDirective"}toConfig(){return{name:this.name,description:this.description,locations:this.locations,args:ih(this.args),isRepeatable:this.isRepeatable,extensions:this.extensions,astNode:this.astNode}}toString(){return"@"+this.name}toJSON(){return this.toString()}},Tw=new It({name:"include",description:"Directs the executor to include this field or fragment only when the `if` argument is true.",locations:[te.FIELD,te.FRAGMENT_SPREAD,te.INLINE_FRAGMENT],args:{if:{type:new Q(Be),description:"Included when true."}}}),Sw=new It({name:"skip",description:"Directs the executor to skip this field or fragment when the `if` argument is true.",locations:[te.FIELD,te.FRAGMENT_SPREAD,te.INLINE_FRAGMENT],args:{if:{type:new Q(Be),description:"Skipped when true."}}}),Iw="No longer supported",Pw=new It({name:"deprecated",description:"Marks an element of a GraphQL schema as no longer supported.",locations:[te.FIELD_DEFINITION,te.ARGUMENT_DEFINITION,te.INPUT_FIELD_DEFINITION,te.ENUM_VALUE],args:{reason:{type:he,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:Iw}}}),Aw=new It({name:"specifiedBy",description:"Exposes a URL that specifies the behavior of this scalar.",locations:[te.SCALAR],args:{url:{type:new Q(he),description:"The URL that specifies the behavior of this scalar."}}}),ch=Object.freeze([Tw,Sw,Pw,Aw]);function Iu(t){return typeof t=="object"&&typeof t?.[Symbol.iterator]=="function"}o(Iu,"isIterableObject");function cn(t,e){if(ye(e)){let r=cn(t,e.ofType);return r?.kind===I.NULL?null:r}if(t===null)return{kind:I.NULL};if(t===void 0)return null;if(Ye(e)){let r=e.ofType;if(Iu(t)){let n=[];for(let i of t){let s=cn(i,r);s!=null&&n.push(s)}return{kind:I.LIST,values:n}}return cn(t,r)}if(Me(e)){if(!Re(t))return null;let r=[];for(let n of Object.values(e.getFields())){let i=cn(t[n.name],n.type);i&&r.push({kind:I.OBJECT_FIELD,name:{kind:I.NAME,value:n.name},value:i})}return{kind:I.OBJECT,fields:r}}if(xr(e)){let r=e.serialize(t);if(r==null)return null;if(typeof r=="boolean")return{kind:I.BOOLEAN,value:r};if(typeof r=="number"&&Number.isFinite(r)){let n=String(r);return Rw.test(n)?{kind:I.INT,value:n}:{kind:I.FLOAT,value:n}}if(typeof r=="string")return nt(e)?{kind:I.ENUM,value:r}:e===Su&&Rw.test(r)?{kind:I.INT,value:r}:{kind:I.STRING,value:r};throw new TypeError(`Cannot convert value to AST: ${U(r)}.`)}Ht(!1,"Unexpected input type: "+U(e))}o(cn,"astFromValue");var Rw=/^-?(?:0|[1-9][0-9]*)$/;var bo=new Fe({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:he,resolve:t=>t.description},types:{description:"A list of all types supported by this server.",type:new Q(new we(new Q(ft))),resolve(t){return Object.values(t.getTypeMap())}},queryType:{description:"The type that query operations will be rooted at.",type:new Q(ft),resolve:t=>t.getQueryType()},mutationType:{description:"If this server supports mutation, the type that mutation operations will be rooted at.",type:ft,resolve:t=>t.getMutationType()},subscriptionType:{description:"If this server support subscription, the type that subscription operations will be rooted at.",type:ft,resolve:t=>t.getSubscriptionType()},directives:{description:"A list of all directives supported by this server.",type:new Q(new we(new Q(uh))),resolve:t=>t.getDirectives()}})}),uh=new Fe({name:"__Directive",description:`A Directive provides a way to describe alternate runtime execution and type validation behavior in a GraphQL document.
127
+ `))}o(pu,"indent");function _w(t){var e;return(e=t?.some(r=>r.includes(`
128
+ `)))!==null&&e!==void 0?e:!1}o(_w,"hasMultilineItems");function mo(t,e){switch(t.kind){case I.NULL:return null;case I.INT:return parseInt(t.value,10);case I.FLOAT:return parseFloat(t.value);case I.STRING:case I.ENUM:case I.BOOLEAN:return t.value;case I.LIST:return t.values.map(r=>mo(r,e));case I.OBJECT:return qt(t.fields,r=>r.name.value,r=>mo(r.value,e));case I.VARIABLE:return e?.[t.name.value]}}o(mo,"valueFromASTUntyped");function Qe(t){if(t!=null||ee(!1,"Must provide name."),typeof t=="string"||ee(!1,"Expected name to be a string."),t.length===0)throw new j("Expected name to be a non-empty string.");for(let e=1;e<t.length;++e)if(!ru(t.charCodeAt(e)))throw new j(`Names must only contain [_a-zA-Z0-9] but "${t}" does not.`);if(!lo(t.charCodeAt(0)))throw new j(`Names must start with [_a-zA-Z] but "${t}" does not.`);return t}o(Qe,"assertName");function rh(t){if(t==="true"||t==="false"||t==="null")throw new j(`Enum values cannot be named: ${t}`);return Qe(t)}o(rh,"assertEnumValueName");function hu(t){return Cr(t)||He(t)||Oe(t)||pt(t)||nt(t)||Me(t)||Ye(t)||ye(t)}o(hu,"isType");function Cr(t){return tt(t,rt)}o(Cr,"isScalarType");function He(t){return tt(t,Fe)}o(He,"isObjectType");function mu(t){if(!He(t))throw new Error(`Expected ${U(t)} to be a GraphQL Object type.`);return t}o(mu,"assertObjectType");function Oe(t){return tt(t,er)}o(Oe,"isInterfaceType");function yu(t){if(!Oe(t))throw new Error(`Expected ${U(t)} to be a GraphQL Interface type.`);return t}o(yu,"assertInterfaceType");function pt(t){return tt(t,sn)}o(pt,"isUnionType");function nt(t){return tt(t,$t)}o(nt,"isEnumType");function Me(t){return tt(t,an)}o(Me,"isInputObjectType");function Ye(t){return tt(t,we)}o(Ye,"isListType");function ye(t){return tt(t,Q)}o(ye,"isNonNullType");function it(t){return Cr(t)||nt(t)||Me(t)||yo(t)&&it(t.ofType)}o(it,"isInputType");function tr(t){return Cr(t)||He(t)||Oe(t)||pt(t)||nt(t)||yo(t)&&tr(t.ofType)}o(tr,"isOutputType");function xr(t){return Cr(t)||nt(t)}o(xr,"isLeafType");function jt(t){return He(t)||Oe(t)||pt(t)}o(jt,"isCompositeType");function Lr(t){return Oe(t)||pt(t)}o(Lr,"isAbstractType");var we=class{static{o(this,"GraphQLList")}constructor(e){hu(e)||ee(!1,`Expected ${U(e)} to be a GraphQL type.`),this.ofType=e}get[Symbol.toStringTag](){return"GraphQLList"}toString(){return"["+String(this.ofType)+"]"}toJSON(){return this.toString()}},Q=class{static{o(this,"GraphQLNonNull")}constructor(e){gu(e)||ee(!1,`Expected ${U(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 yo(t){return Ye(t)||ye(t)}o(yo,"isWrappingType");function gu(t){return hu(t)&&!ye(t)}o(gu,"isNullableType");function bu(t){if(!gu(t))throw new Error(`Expected ${U(t)} to be a GraphQL nullable type.`);return t}o(bu,"assertNullableType");function _u(t){if(t)return ye(t)?t.ofType:t}o(_u,"getNullableType");function St(t){if(t){let e=t;for(;yo(e);)e=e.ofType;return e}}o(St,"getNamedType");function Eu(t){return typeof t=="function"?t():t}o(Eu,"resolveReadonlyArrayThunk");function wu(t){return typeof t=="function"?t():t}o(wu,"resolveObjMapThunk");var rt=class{static{o(this,"GraphQLScalarType")}constructor(e){var r,n,i,s;let a=(r=e.parseValue)!==null&&r!==void 0?r:Zf;this.name=Qe(e.name),this.description=e.description,this.specifiedByURL=e.specifiedByURL,this.serialize=(n=e.serialize)!==null&&n!==void 0?n:Zf,this.parseValue=a,this.parseLiteral=(i=e.parseLiteral)!==null&&i!==void 0?i:(c,u)=>a(mo(c,u)),this.extensions=je(e.extensions),this.astNode=e.astNode,this.extensionASTNodes=(s=e.extensionASTNodes)!==null&&s!==void 0?s:[],e.specifiedByURL==null||typeof e.specifiedByURL=="string"||ee(!1,`${this.name} must provide "specifiedByURL" as a string, but got: ${U(e.specifiedByURL)}.`),e.serialize==null||typeof e.serialize=="function"||ee(!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"||ee(!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()}},Fe=class{static{o(this,"GraphQLObjectType")}constructor(e){var r;this.name=Qe(e.name),this.description=e.description,this.isTypeOf=e.isTypeOf,this.extensions=je(e.extensions),this.astNode=e.astNode,this.extensionASTNodes=(r=e.extensionASTNodes)!==null&&r!==void 0?r:[],this._fields=()=>ww(e),this._interfaces=()=>Ew(e),e.isTypeOf==null||typeof e.isTypeOf=="function"||ee(!1,`${this.name} must provide "isTypeOf" as a function, but got: ${U(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:vw(this.getFields()),isTypeOf:this.isTypeOf,extensions:this.extensions,astNode:this.astNode,extensionASTNodes:this.extensionASTNodes}}toString(){return this.name}toJSON(){return this.toString()}};function Ew(t){var e;let r=Eu((e=t.interfaces)!==null&&e!==void 0?e:[]);return Array.isArray(r)||ee(!1,`${t.name} interfaces must be an Array or a function which returns an Array.`),r}o(Ew,"defineInterfaces");function ww(t){let e=wu(t.fields);return gi(e)||ee(!1,`${t.name} fields must be an object with field names as keys or a function which returns such an object.`),ho(e,(r,n)=>{var i;gi(r)||ee(!1,`${t.name}.${n} field config must be an object.`),r.resolve==null||typeof r.resolve=="function"||ee(!1,`${t.name}.${n} field resolver must be a function if provided, but got: ${U(r.resolve)}.`);let s=(i=r.args)!==null&&i!==void 0?i:{};return gi(s)||ee(!1,`${t.name}.${n} args must be an object with argument names as keys.`),{name:Qe(n),description:r.description,type:r.type,args:nh(s),resolve:r.resolve,subscribe:r.subscribe,deprecationReason:r.deprecationReason,extensions:je(r.extensions),astNode:r.astNode}})}o(ww,"defineFieldMap");function nh(t){return Object.entries(t).map(([e,r])=>({name:Qe(e),description:r.description,type:r.type,defaultValue:r.defaultValue,deprecationReason:r.deprecationReason,extensions:je(r.extensions),astNode:r.astNode}))}o(nh,"defineArguments");function gi(t){return Re(t)&&!Array.isArray(t)}o(gi,"isPlainObj");function vw(t){return ho(t,e=>({description:e.description,type:e.type,args:ih(e.args),resolve:e.resolve,subscribe:e.subscribe,deprecationReason:e.deprecationReason,extensions:e.extensions,astNode:e.astNode}))}o(vw,"fieldsToFieldsConfig");function ih(t){return qt(t,e=>e.name,e=>({description:e.description,type:e.type,defaultValue:e.defaultValue,deprecationReason:e.deprecationReason,extensions:e.extensions,astNode:e.astNode}))}o(ih,"argsToArgsConfig");var er=class{static{o(this,"GraphQLInterfaceType")}constructor(e){var r;this.name=Qe(e.name),this.description=e.description,this.resolveType=e.resolveType,this.extensions=je(e.extensions),this.astNode=e.astNode,this.extensionASTNodes=(r=e.extensionASTNodes)!==null&&r!==void 0?r:[],this._fields=ww.bind(void 0,e),this._interfaces=Ew.bind(void 0,e),e.resolveType==null||typeof e.resolveType=="function"||ee(!1,`${this.name} must provide "resolveType" as a function, but got: ${U(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:vw(this.getFields()),resolveType:this.resolveType,extensions:this.extensions,astNode:this.astNode,extensionASTNodes:this.extensionASTNodes}}toString(){return this.name}toJSON(){return this.toString()}},sn=class{static{o(this,"GraphQLUnionType")}constructor(e){var r;this.name=Qe(e.name),this.description=e.description,this.resolveType=e.resolveType,this.extensions=je(e.extensions),this.astNode=e.astNode,this.extensionASTNodes=(r=e.extensionASTNodes)!==null&&r!==void 0?r:[],this._types=K1.bind(void 0,e),e.resolveType==null||typeof e.resolveType=="function"||ee(!1,`${this.name} must provide "resolveType" as a function, but got: ${U(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 K1(t){let e=Eu(t.types);return Array.isArray(e)||ee(!1,`Must provide Array of types or a function which returns such an array for Union ${t.name}.`),e}o(K1,"defineTypes");var $t=class{static{o(this,"GraphQLEnumType")}constructor(e){var r;this.name=Qe(e.name),this.description=e.description,this.extensions=je(e.extensions),this.astNode=e.astNode,this.extensionASTNodes=(r=e.extensionASTNodes)!==null&&r!==void 0?r:[],this._values=J1(this.name,e.values),this._valueLookup=new Map(this._values.map(n=>[n.value,n])),this._nameLookup=mi(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 j(`Enum "${this.name}" cannot represent value: ${U(e)}`);return r.name}parseValue(e){if(typeof e!="string"){let n=U(e);throw new j(`Enum "${this.name}" cannot represent non-string value: ${n}.`+fu(this,n))}let r=this.getValue(e);if(r==null)throw new j(`Value "${e}" does not exist in "${this.name}" enum.`+fu(this,e));return r.value}parseLiteral(e,r){if(e.kind!==I.ENUM){let i=Ve(e);throw new j(`Enum "${this.name}" cannot represent non-enum value: ${i}.`+fu(this,i),{nodes:e})}let n=this.getValue(e.value);if(n==null){let i=Ve(e);throw new j(`Value "${i}" does not exist in "${this.name}" enum.`+fu(this,i),{nodes:e})}return n.value}toConfig(){let e=qt(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 fu(t,e){let r=t.getValues().map(i=>i.name),n=du(e,r);return uu("the enum value",n)}o(fu,"didYouMeanEnumValue");function J1(t,e){return gi(e)||ee(!1,`${t} values must be an object with value names as keys.`),Object.entries(e).map(([r,n])=>(gi(n)||ee(!1,`${t}.${r} must refer to an object with a "value" key representing an internal value but got: ${U(n)}.`),{name:rh(r),description:n.description,value:n.value!==void 0?n.value:r,deprecationReason:n.deprecationReason,extensions:je(n.extensions),astNode:n.astNode}))}o(J1,"defineEnumValues");var an=class{static{o(this,"GraphQLInputObjectType")}constructor(e){var r;this.name=Qe(e.name),this.description=e.description,this.extensions=je(e.extensions),this.astNode=e.astNode,this.extensionASTNodes=(r=e.extensionASTNodes)!==null&&r!==void 0?r:[],this._fields=z1.bind(void 0,e)}get[Symbol.toStringTag](){return"GraphQLInputObjectType"}getFields(){return typeof this._fields=="function"&&(this._fields=this._fields()),this._fields}toConfig(){let e=ho(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 z1(t){let e=wu(t.fields);return gi(e)||ee(!1,`${t.name} fields must be an object with field names as keys or a function which returns such an object.`),ho(e,(r,n)=>(!("resolve"in r)||ee(!1,`${t.name}.${n} field has a resolve property, but Input Types cannot define resolvers.`),{name:Qe(n),description:r.description,type:r.type,defaultValue:r.defaultValue,deprecationReason:r.deprecationReason,extensions:je(r.extensions),astNode:r.astNode}))}o(z1,"defineInputFieldMap");var vu=2147483647,Tu=-2147483648,oh=new rt({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=go(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 j(`Int cannot represent non-integer value: ${U(e)}`);if(r>vu||r<Tu)throw new j("Int cannot represent non 32-bit signed integer value: "+U(e));return r},parseValue(t){if(typeof t!="number"||!Number.isInteger(t))throw new j(`Int cannot represent non-integer value: ${U(t)}`);if(t>vu||t<Tu)throw new j(`Int cannot represent non 32-bit signed integer value: ${t}`);return t},parseLiteral(t){if(t.kind!==I.INT)throw new j(`Int cannot represent non-integer value: ${Ve(t)}`,{nodes:t});let e=parseInt(t.value,10);if(e>vu||e<Tu)throw new j(`Int cannot represent non 32-bit signed integer value: ${t.value}`,{nodes:t});return e}}),Tw=new rt({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=go(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 j(`Float cannot represent non numeric value: ${U(e)}`);return r},parseValue(t){if(typeof t!="number"||!Number.isFinite(t))throw new j(`Float cannot represent non numeric value: ${U(t)}`);return t},parseLiteral(t){if(t.kind!==I.FLOAT&&t.kind!==I.INT)throw new j(`Float cannot represent non numeric value: ${Ve(t)}`,t);return parseFloat(t.value)}}),he=new rt({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=go(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 j(`String cannot represent value: ${U(t)}`)},parseValue(t){if(typeof t!="string")throw new j(`String cannot represent a non string value: ${U(t)}`);return t},parseLiteral(t){if(t.kind!==I.STRING)throw new j(`String cannot represent a non string value: ${Ve(t)}`,{nodes:t});return t.value}}),Be=new rt({name:"Boolean",description:"The `Boolean` scalar type represents `true` or `false`.",serialize(t){let e=go(t);if(typeof e=="boolean")return e;if(Number.isFinite(e))return e!==0;throw new j(`Boolean cannot represent a non boolean value: ${U(e)}`)},parseValue(t){if(typeof t!="boolean")throw new j(`Boolean cannot represent a non boolean value: ${U(t)}`);return t},parseLiteral(t){if(t.kind!==I.BOOLEAN)throw new j(`Boolean cannot represent a non boolean value: ${Ve(t)}`,{nodes:t});return t.value}}),Su=new rt({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=go(t);if(typeof e=="string")return e;if(Number.isInteger(e))return String(e);throw new j(`ID cannot represent value: ${U(t)}`)},parseValue(t){if(typeof t=="string")return t;if(typeof t=="number"&&Number.isInteger(t))return t.toString();throw new j(`ID cannot represent value: ${U(t)}`)},parseLiteral(t){if(t.kind!==I.STRING&&t.kind!==I.INT)throw new j("ID cannot represent a non-string and non-integer value: "+Ve(t),{nodes:t});return t.value}}),sh=Object.freeze([he,oh,Tw,Be,Su]);function go(t){if(Re(t)){if(typeof t.valueOf=="function"){let e=t.valueOf();if(!Re(e))return e}if(typeof t.toJSON=="function")return t.toJSON()}return t}o(go,"serializeObject");function ah(t){return tt(t,It)}o(ah,"isDirective");var It=class{static{o(this,"GraphQLDirective")}constructor(e){var r,n;this.name=Qe(e.name),this.description=e.description,this.locations=e.locations,this.isRepeatable=(r=e.isRepeatable)!==null&&r!==void 0?r:!1,this.extensions=je(e.extensions),this.astNode=e.astNode,Array.isArray(e.locations)||ee(!1,`@${e.name} locations must be an Array.`);let i=(n=e.args)!==null&&n!==void 0?n:{};Re(i)&&!Array.isArray(i)||ee(!1,`@${e.name} args must be an object with argument names as keys.`),this.args=nh(i)}get[Symbol.toStringTag](){return"GraphQLDirective"}toConfig(){return{name:this.name,description:this.description,locations:this.locations,args:ih(this.args),isRepeatable:this.isRepeatable,extensions:this.extensions,astNode:this.astNode}}toString(){return"@"+this.name}toJSON(){return this.toString()}},Sw=new It({name:"include",description:"Directs the executor to include this field or fragment only when the `if` argument is true.",locations:[te.FIELD,te.FRAGMENT_SPREAD,te.INLINE_FRAGMENT],args:{if:{type:new Q(Be),description:"Included when true."}}}),Iw=new It({name:"skip",description:"Directs the executor to skip this field or fragment when the `if` argument is true.",locations:[te.FIELD,te.FRAGMENT_SPREAD,te.INLINE_FRAGMENT],args:{if:{type:new Q(Be),description:"Skipped when true."}}}),Pw="No longer supported",Aw=new It({name:"deprecated",description:"Marks an element of a GraphQL schema as no longer supported.",locations:[te.FIELD_DEFINITION,te.ARGUMENT_DEFINITION,te.INPUT_FIELD_DEFINITION,te.ENUM_VALUE],args:{reason:{type:he,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:Pw}}}),Rw=new It({name:"specifiedBy",description:"Exposes a URL that specifies the behavior of this scalar.",locations:[te.SCALAR],args:{url:{type:new Q(he),description:"The URL that specifies the behavior of this scalar."}}}),ch=Object.freeze([Sw,Iw,Aw,Rw]);function Iu(t){return typeof t=="object"&&typeof t?.[Symbol.iterator]=="function"}o(Iu,"isIterableObject");function cn(t,e){if(ye(e)){let r=cn(t,e.ofType);return r?.kind===I.NULL?null:r}if(t===null)return{kind:I.NULL};if(t===void 0)return null;if(Ye(e)){let r=e.ofType;if(Iu(t)){let n=[];for(let i of t){let s=cn(i,r);s!=null&&n.push(s)}return{kind:I.LIST,values:n}}return cn(t,r)}if(Me(e)){if(!Re(t))return null;let r=[];for(let n of Object.values(e.getFields())){let i=cn(t[n.name],n.type);i&&r.push({kind:I.OBJECT_FIELD,name:{kind:I.NAME,value:n.name},value:i})}return{kind:I.OBJECT,fields:r}}if(xr(e)){let r=e.serialize(t);if(r==null)return null;if(typeof r=="boolean")return{kind:I.BOOLEAN,value:r};if(typeof r=="number"&&Number.isFinite(r)){let n=String(r);return Ow.test(n)?{kind:I.INT,value:n}:{kind:I.FLOAT,value:n}}if(typeof r=="string")return nt(e)?{kind:I.ENUM,value:r}:e===Su&&Ow.test(r)?{kind:I.INT,value:r}:{kind:I.STRING,value:r};throw new TypeError(`Cannot convert value to AST: ${U(r)}.`)}Ht(!1,"Unexpected input type: "+U(e))}o(cn,"astFromValue");var Ow=/^-?(?:0|[1-9][0-9]*)$/;var bo=new Fe({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:he,resolve:t=>t.description},types:{description:"A list of all types supported by this server.",type:new Q(new we(new Q(ft))),resolve(t){return Object.values(t.getTypeMap())}},queryType:{description:"The type that query operations will be rooted at.",type:new Q(ft),resolve:t=>t.getQueryType()},mutationType:{description:"If this server supports mutation, the type that mutation operations will be rooted at.",type:ft,resolve:t=>t.getMutationType()},subscriptionType:{description:"If this server support subscription, the type that subscription operations will be rooted at.",type:ft,resolve:t=>t.getSubscriptionType()},directives:{description:"A list of all directives supported by this server.",type:new Q(new we(new Q(uh))),resolve:t=>t.getDirectives()}})}),uh=new Fe({name:"__Directive",description:`A Directive provides a way to describe alternate runtime execution and type validation behavior in a GraphQL document.
129
129
 
130
- 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 Q(he),resolve:t=>t.name},description:{type:he,resolve:t=>t.description},isRepeatable:{type:new Q(Be),resolve:t=>t.isRepeatable},locations:{type:new Q(new we(new Q(lh))),resolve:t=>t.locations},args:{type:new Q(new we(new Q(_o))),args:{includeDeprecated:{type:Be,defaultValue:!1}},resolve(t,{includeDeprecated:e}){return e?t.args:t.args.filter(r=>r.deprecationReason==null)}}})}),lh=new $t({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:te.QUERY,description:"Location adjacent to a query operation."},MUTATION:{value:te.MUTATION,description:"Location adjacent to a mutation operation."},SUBSCRIPTION:{value:te.SUBSCRIPTION,description:"Location adjacent to a subscription operation."},FIELD:{value:te.FIELD,description:"Location adjacent to a field."},FRAGMENT_DEFINITION:{value:te.FRAGMENT_DEFINITION,description:"Location adjacent to a fragment definition."},FRAGMENT_SPREAD:{value:te.FRAGMENT_SPREAD,description:"Location adjacent to a fragment spread."},INLINE_FRAGMENT:{value:te.INLINE_FRAGMENT,description:"Location adjacent to an inline fragment."},VARIABLE_DEFINITION:{value:te.VARIABLE_DEFINITION,description:"Location adjacent to a variable definition."},SCHEMA:{value:te.SCHEMA,description:"Location adjacent to a schema definition."},SCALAR:{value:te.SCALAR,description:"Location adjacent to a scalar definition."},OBJECT:{value:te.OBJECT,description:"Location adjacent to an object type definition."},FIELD_DEFINITION:{value:te.FIELD_DEFINITION,description:"Location adjacent to a field definition."},ARGUMENT_DEFINITION:{value:te.ARGUMENT_DEFINITION,description:"Location adjacent to an argument definition."},INTERFACE:{value:te.INTERFACE,description:"Location adjacent to an interface definition."},UNION:{value:te.UNION,description:"Location adjacent to a union definition."},ENUM:{value:te.ENUM,description:"Location adjacent to an enum definition."},ENUM_VALUE:{value:te.ENUM_VALUE,description:"Location adjacent to an enum value definition."},INPUT_OBJECT:{value:te.INPUT_OBJECT,description:"Location adjacent to an input object type definition."},INPUT_FIELD_DEFINITION:{value:te.INPUT_FIELD_DEFINITION,description:"Location adjacent to an input object field definition."}}}),ft=new Fe({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 Q(fh),resolve(t){if(Cr(t))return ue.SCALAR;if(He(t))return ue.OBJECT;if(Oe(t))return ue.INTERFACE;if(pt(t))return ue.UNION;if(nt(t))return ue.ENUM;if(Me(t))return ue.INPUT_OBJECT;if(Ye(t))return ue.LIST;if(ye(t))return ue.NON_NULL;Ht(!1,`Unexpected type: "${U(t)}".`)}},name:{type:he,resolve:t=>"name"in t?t.name:void 0},description:{type:he,resolve:t=>"description"in t?t.description:void 0},specifiedByURL:{type:he,resolve:t=>"specifiedByURL"in t?t.specifiedByURL:void 0},fields:{type:new we(new Q(dh)),args:{includeDeprecated:{type:Be,defaultValue:!1}},resolve(t,{includeDeprecated:e}){if(He(t)||Oe(t)){let r=Object.values(t.getFields());return e?r:r.filter(n=>n.deprecationReason==null)}}},interfaces:{type:new we(new Q(ft)),resolve(t){if(He(t)||Oe(t))return t.getInterfaces()}},possibleTypes:{type:new we(new Q(ft)),resolve(t,e,r,{schema:n}){if(Lr(t))return n.getPossibleTypes(t)}},enumValues:{type:new we(new Q(ph)),args:{includeDeprecated:{type:Be,defaultValue:!1}},resolve(t,{includeDeprecated:e}){if(nt(t)){let r=t.getValues();return e?r:r.filter(n=>n.deprecationReason==null)}}},inputFields:{type:new we(new Q(_o)),args:{includeDeprecated:{type:Be,defaultValue:!1}},resolve(t,{includeDeprecated:e}){if(Me(t)){let r=Object.values(t.getFields());return e?r:r.filter(n=>n.deprecationReason==null)}}},ofType:{type:ft,resolve:t=>"ofType"in t?t.ofType:void 0}})}),dh=new Fe({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 Q(he),resolve:t=>t.name},description:{type:he,resolve:t=>t.description},args:{type:new Q(new we(new Q(_o))),args:{includeDeprecated:{type:Be,defaultValue:!1}},resolve(t,{includeDeprecated:e}){return e?t.args:t.args.filter(r=>r.deprecationReason==null)}},type:{type:new Q(ft),resolve:t=>t.type},isDeprecated:{type:new Q(Be),resolve:t=>t.deprecationReason!=null},deprecationReason:{type:he,resolve:t=>t.deprecationReason}})}),_o=new Fe({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 Q(he),resolve:t=>t.name},description:{type:he,resolve:t=>t.description},type:{type:new Q(ft),resolve:t=>t.type},defaultValue:{type:he,description:"A GraphQL-formatted string representing the default value for this input value.",resolve(t){let{type:e,defaultValue:r}=t,n=cn(r,e);return n?Ve(n):null}},isDeprecated:{type:new Q(Be),resolve:t=>t.deprecationReason!=null},deprecationReason:{type:he,resolve:t=>t.deprecationReason}})}),ph=new Fe({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 Q(he),resolve:t=>t.name},description:{type:he,resolve:t=>t.description},isDeprecated:{type:new Q(Be),resolve:t=>t.deprecationReason!=null},deprecationReason:{type:he,resolve:t=>t.deprecationReason}})}),ue;(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"})(ue||(ue={}));var fh=new $t({name:"__TypeKind",description:"An enum describing what kind of type a given `__Type` is.",values:{SCALAR:{value:ue.SCALAR,description:"Indicates this type is a scalar."},OBJECT:{value:ue.OBJECT,description:"Indicates this type is an object. `fields` and `interfaces` are valid fields."},INTERFACE:{value:ue.INTERFACE,description:"Indicates this type is an interface. `fields`, `interfaces`, and `possibleTypes` are valid fields."},UNION:{value:ue.UNION,description:"Indicates this type is a union. `possibleTypes` is a valid field."},ENUM:{value:ue.ENUM,description:"Indicates this type is an enum. `enumValues` is a valid field."},INPUT_OBJECT:{value:ue.INPUT_OBJECT,description:"Indicates this type is an input object. `inputFields` is a valid field."},LIST:{value:ue.LIST,description:"Indicates this type is a list. `ofType` is a valid field."},NON_NULL:{value:ue.NON_NULL,description:"Indicates this type is a non-null. `ofType` is a valid field."}}}),Pu={name:"__schema",type:new Q(bo),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},Au={name:"__type",type:ft,description:"Request the type information of a single type.",args:[{name:"name",description:void 0,type:new Q(he),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},Ru={name:"__typename",type:new Q(he),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},hh=Object.freeze([bo,uh,lh,ft,dh,_o,ph,fh]);var Eo=class{static{o(this,"GraphQLSchema")}constructor(e){var r,n;this.__validationErrors=e.assumeValid===!0?[]:void 0,Re(e)||ee(!1,"Must provide configuration object."),!e.types||Array.isArray(e.types)||ee(!1,`"types" must be Array if provided but got: ${U(e.types)}.`),!e.directives||Array.isArray(e.directives)||ee(!1,`"directives" must be Array if provided but got: ${U(e.directives)}.`),this.description=e.description,this.extensions=je(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:ch;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(ah(s))for(let a of s.args)Pt(a.type,i);Pt(bo,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||ee(!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,Oe(s)){for(let c of s.getInterfaces())if(Oe(c)){let u=this._implementationsMap[c.name];u===void 0&&(u=this._implementationsMap[c.name]={objects:[],interfaces:[]}),u.interfaces.push(s)}}else if(He(s)){for(let c of s.getInterfaces())if(Oe(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 dt.QUERY:return this.getQueryType();case dt.MUTATION:return this.getMutationType();case dt.SUBSCRIPTION:return this.getSubscriptionType()}}getTypeMap(){return this._typeMap}getType(e){return this.getTypeMap()[e]}getPossibleTypes(e){return pt(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),pt(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=St(t);if(!e.has(r)){if(e.add(r),pt(r))for(let n of r.getTypes())Pt(n,e);else if(He(r)||Oe(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(Me(r))for(let n of Object.values(r.getFields()))Pt(n.type,e)}return e}o(Pt,"collectReferencedTypes");function Dr(t,e){switch(e.kind){case I.LIST_TYPE:{let r=Dr(t,e.type);return r&&new we(r)}case I.NON_NULL_TYPE:{let r=Dr(t,e.type);return r&&new Q(r)}case I.NAMED_TYPE:return t.getType(e.name.value)}}o(Dr,"typeFromAST");var Mr=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??W1,r&&(it(r)&&this._inputTypeStack.push(r),jt(r)&&this._parentTypeStack.push(r),tr(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 I.SELECTION_SET:{let i=St(this.getType());this._parentTypeStack.push(jt(i)?i:void 0);break}case I.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(tr(a)?a:void 0);break}case I.DIRECTIVE:this._directive=r.getDirective(e.name.value);break;case I.OPERATION_DEFINITION:{let i=r.getRootType(e.operation);this._typeStack.push(He(i)?i:void 0);break}case I.INLINE_FRAGMENT:case I.FRAGMENT_DEFINITION:{let i=e.typeCondition,s=i?Dr(r,i):St(this.getType());this._typeStack.push(tr(s)?s:void 0);break}case I.VARIABLE_DEFINITION:{let i=Dr(r,e.type);this._inputTypeStack.push(it(i)?i:void 0);break}case I.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(it(s)?s:void 0);break}case I.LIST:{let i=_u(this.getInputType()),s=Ye(i)?i.ofType:i;this._defaultValueStack.push(void 0),this._inputTypeStack.push(it(s)?s:void 0);break}case I.OBJECT_FIELD:{let i=St(this.getInputType()),s,a;Me(i)&&(a=i.getFields()[e.name.value],a&&(s=a.type)),this._defaultValueStack.push(a?a.defaultValue:void 0),this._inputTypeStack.push(it(s)?s:void 0);break}case I.ENUM:{let i=St(this.getInputType()),s;nt(i)&&(s=i.getValue(e.value)),this._enumValue=s;break}default:}}leave(e){switch(e.kind){case I.SELECTION_SET:this._parentTypeStack.pop();break;case I.FIELD:this._fieldDefStack.pop(),this._typeStack.pop();break;case I.DIRECTIVE:this._directive=null;break;case I.OPERATION_DEFINITION:case I.INLINE_FRAGMENT:case I.FRAGMENT_DEFINITION:this._typeStack.pop();break;case I.VARIABLE_DEFINITION:this._inputTypeStack.pop();break;case I.ARGUMENT:this._argument=null,this._defaultValueStack.pop(),this._inputTypeStack.pop();break;case I.LIST:case I.OBJECT_FIELD:this._defaultValueStack.pop(),this._inputTypeStack.pop();break;case I.ENUM:this._enumValue=null;break;default:}}};function W1(t,e,r){let n=r.name.value;if(n===Pu.name&&t.getQueryType()===e)return Pu;if(n===Au.name&&t.getQueryType()===e)return Au;if(n===Ru.name&&jt(e))return Ru;if(He(e)||Oe(e))return e.getFields()[n]}o(W1,"getFieldDef");function bi(t,e){return{enter(...r){let n=r[0];t.enter(n);let i=yi(e,n.kind).enter;if(i){let s=i.apply(e,r);return s!==void 0&&(t.leave(n),uo(s)&&t.enter(s)),s}},leave(...r){let n=r[0],i=yi(e,n.kind).leave,s;return i&&(s=i.apply(e,r)),t.leave(n),s}}}o(bi,"visitWithTypeInfo");function Ou(t){return t.map(e=>typeof e=="number"?"["+e.toString()+"]":"."+e).join("")}o(Ou,"printPathArray");function mh(t,e,r){return{prev:t,key:e,typename:r}}o(mh,"addPath");function rr(t){let e=[],r=t;for(;r;)e.push(r.key),r=r.prev;return e.reverse()}o(rr,"pathToArray");function yh(t,e,r=Q1){return wo(t,e,r,void 0)}o(yh,"coerceInputValue");function Q1(t,e,r){let n="Invalid value "+U(e);throw t.length>0&&(n+=` at "value${Ou(t)}"`),r.message=n+": "+r.message,r}o(Q1,"defaultOnError");function wo(t,e,r,n){if(ye(e)){if(t!=null)return wo(t,e.ofType,r,n);r(rr(n),t,new j(`Expected non-nullable type "${U(e)}" not to be null.`));return}if(t==null)return null;if(Ye(e)){let i=e.ofType;return Iu(t)?Array.from(t,(s,a)=>{let c=mh(n,a,void 0);return wo(s,i,r,c)}):[wo(t,i,r,n)]}if(Me(e)){if(!Re(t)){r(rr(n),t,new j(`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(ye(a.type)){let u=U(a.type);r(rr(n),t,new j(`Field "${a.name}" of required type "${u}" was not provided.`))}continue}i[a.name]=wo(c,a.type,r,mh(n,a.name,e.name))}for(let a of Object.keys(t))if(!s[a]){let c=du(a,Object.keys(e.getFields()));r(rr(n),t,new j(`Field "${a}" is not defined by type "${e.name}".`+uu(c)))}return i}if(xr(e)){let i;try{i=e.parseValue(t)}catch(s){s instanceof j?r(rr(n),t,s):r(rr(n),t,new j(`Expected type "${e.name}". `+s.message,{originalError:s}));return}return i===void 0&&r(rr(n),t,new j(`Expected type "${e.name}".`)),i}Ht(!1,"Unexpected input type: "+U(e))}o(wo,"coerceInputValueImpl");function Vt(t,e,r){if(t){if(t.kind===I.VARIABLE){let n=t.name.value;if(r==null||r[n]===void 0)return;let i=r[n];return i===null&&ye(e)?void 0:i}if(ye(e))return t.kind===I.NULL?void 0:Vt(t,e.ofType,r);if(t.kind===I.NULL)return null;if(Ye(e)){let n=e.ofType;if(t.kind===I.LIST){let s=[];for(let a of t.values)if(Ow(a,r)){if(ye(n))return;s.push(null)}else{let c=Vt(a,n,r);if(c===void 0)return;s.push(c)}return s}let i=Vt(t,n,r);return i===void 0?void 0:[i]}if(Me(e)){if(t.kind!==I.OBJECT)return;let n=Object.create(null),i=mi(t.fields,s=>s.name.value);for(let s of Object.values(e.getFields())){let a=i[s.name];if(!a||Ow(a.value,r)){if(s.defaultValue!==void 0)n[s.name]=s.defaultValue;else if(ye(s.type))return;continue}let c=Vt(a.value,s.type,r);if(c===void 0)return;n[s.name]=c}return n}if(xr(e)){let n;try{n=e.parseLiteral(t,r)}catch{return}return n===void 0?void 0:n}Ht(!1,"Unexpected input type: "+U(e))}}o(Vt,"valueFromAST");function Ow(t,e){return t.kind===I.VARIABLE&&(e==null||e[t.name.value]===void 0)}o(Ow,"isMissingVariable");function Nu(t,e,r,n){let i=[],s=n?.maxErrors;try{let a=Y1(t,e,r,c=>{if(s!=null&&i.length>=s)throw new j("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(Nu,"getVariableValues");function Y1(t,e,r,n){let i={};for(let s of e){let a=s.variable.name.value,c=Dr(t,s.type);if(!it(c)){let l=Ve(s.type);n(new j(`Variable "$${a}" expected value of type "${l}" which cannot be used as an input type.`,{nodes:s.type}));continue}if(!Nw(r,a)){if(s.defaultValue)i[a]=Vt(s.defaultValue,c);else if(ye(c)){let l=U(c);n(new j(`Variable "$${a}" of required type "${l}" was not provided.`,{nodes:s}))}continue}let u=r[a];if(u===null&&ye(c)){let l=U(c);n(new j(`Variable "$${a}" of non-null type "${l}" must not be null.`,{nodes:s}));continue}i[a]=yh(u,c,(l,d,p)=>{let f=`Variable "$${a}" got invalid value `+U(d);l.length>0&&(f+=` at "${a}${Ou(l)}"`),n(new j(f+"; "+p.message,{nodes:s,originalError:p}))})}return i}o(Y1,"coerceVariableValues");function vo(t,e,r){var n;let i={},s=(n=e.arguments)!==null&&n!==void 0?n:[],a=mi(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(ye(l))throw new j(`Argument "${u}" of required type "${U(l)}" was not provided.`,{nodes:e});continue}let p=d.value,f=p.kind===I.NULL;if(p.kind===I.VARIABLE){let m=p.name.value;if(r==null||!Nw(r,m)){if(c.defaultValue!==void 0)i[u]=c.defaultValue;else if(ye(l))throw new j(`Argument "${u}" of required type "${U(l)}" was provided the variable "$${m}" which was not provided a runtime value.`,{nodes:p});continue}f=r[m]==null}if(f&&ye(l))throw new j(`Argument "${u}" of non-null type "${U(l)}" must not be null.`,{nodes:p});let h=Vt(p,l,r);if(h===void 0)throw new j(`Argument "${u}" has invalid value ${Ve(p)}.`,{nodes:p});i[u]=h}return i}o(vo,"getArgumentValues");function To(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 vo(t,i,r)}o(To,"getDirectiveValues");function Nw(t,e){return Object.prototype.hasOwnProperty.call(t,e)}o(Nw,"hasOwnProperty");var Cu=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===I.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===I.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}},Cw=class extends Cu{static{o(this,"SDLValidationContext")}constructor(e,r,n){super(e,n),this._schema=r}get[Symbol.toStringTag](){return"SDLValidationContext"}getSchema(){return this._schema}},_i=class extends Cu{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 Mr(this._schema);Nr(e,bi(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 xu(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"),`
130
+ 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 Q(he),resolve:t=>t.name},description:{type:he,resolve:t=>t.description},isRepeatable:{type:new Q(Be),resolve:t=>t.isRepeatable},locations:{type:new Q(new we(new Q(lh))),resolve:t=>t.locations},args:{type:new Q(new we(new Q(_o))),args:{includeDeprecated:{type:Be,defaultValue:!1}},resolve(t,{includeDeprecated:e}){return e?t.args:t.args.filter(r=>r.deprecationReason==null)}}})}),lh=new $t({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:te.QUERY,description:"Location adjacent to a query operation."},MUTATION:{value:te.MUTATION,description:"Location adjacent to a mutation operation."},SUBSCRIPTION:{value:te.SUBSCRIPTION,description:"Location adjacent to a subscription operation."},FIELD:{value:te.FIELD,description:"Location adjacent to a field."},FRAGMENT_DEFINITION:{value:te.FRAGMENT_DEFINITION,description:"Location adjacent to a fragment definition."},FRAGMENT_SPREAD:{value:te.FRAGMENT_SPREAD,description:"Location adjacent to a fragment spread."},INLINE_FRAGMENT:{value:te.INLINE_FRAGMENT,description:"Location adjacent to an inline fragment."},VARIABLE_DEFINITION:{value:te.VARIABLE_DEFINITION,description:"Location adjacent to a variable definition."},SCHEMA:{value:te.SCHEMA,description:"Location adjacent to a schema definition."},SCALAR:{value:te.SCALAR,description:"Location adjacent to a scalar definition."},OBJECT:{value:te.OBJECT,description:"Location adjacent to an object type definition."},FIELD_DEFINITION:{value:te.FIELD_DEFINITION,description:"Location adjacent to a field definition."},ARGUMENT_DEFINITION:{value:te.ARGUMENT_DEFINITION,description:"Location adjacent to an argument definition."},INTERFACE:{value:te.INTERFACE,description:"Location adjacent to an interface definition."},UNION:{value:te.UNION,description:"Location adjacent to a union definition."},ENUM:{value:te.ENUM,description:"Location adjacent to an enum definition."},ENUM_VALUE:{value:te.ENUM_VALUE,description:"Location adjacent to an enum value definition."},INPUT_OBJECT:{value:te.INPUT_OBJECT,description:"Location adjacent to an input object type definition."},INPUT_FIELD_DEFINITION:{value:te.INPUT_FIELD_DEFINITION,description:"Location adjacent to an input object field definition."}}}),ft=new Fe({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 Q(fh),resolve(t){if(Cr(t))return ue.SCALAR;if(He(t))return ue.OBJECT;if(Oe(t))return ue.INTERFACE;if(pt(t))return ue.UNION;if(nt(t))return ue.ENUM;if(Me(t))return ue.INPUT_OBJECT;if(Ye(t))return ue.LIST;if(ye(t))return ue.NON_NULL;Ht(!1,`Unexpected type: "${U(t)}".`)}},name:{type:he,resolve:t=>"name"in t?t.name:void 0},description:{type:he,resolve:t=>"description"in t?t.description:void 0},specifiedByURL:{type:he,resolve:t=>"specifiedByURL"in t?t.specifiedByURL:void 0},fields:{type:new we(new Q(dh)),args:{includeDeprecated:{type:Be,defaultValue:!1}},resolve(t,{includeDeprecated:e}){if(He(t)||Oe(t)){let r=Object.values(t.getFields());return e?r:r.filter(n=>n.deprecationReason==null)}}},interfaces:{type:new we(new Q(ft)),resolve(t){if(He(t)||Oe(t))return t.getInterfaces()}},possibleTypes:{type:new we(new Q(ft)),resolve(t,e,r,{schema:n}){if(Lr(t))return n.getPossibleTypes(t)}},enumValues:{type:new we(new Q(ph)),args:{includeDeprecated:{type:Be,defaultValue:!1}},resolve(t,{includeDeprecated:e}){if(nt(t)){let r=t.getValues();return e?r:r.filter(n=>n.deprecationReason==null)}}},inputFields:{type:new we(new Q(_o)),args:{includeDeprecated:{type:Be,defaultValue:!1}},resolve(t,{includeDeprecated:e}){if(Me(t)){let r=Object.values(t.getFields());return e?r:r.filter(n=>n.deprecationReason==null)}}},ofType:{type:ft,resolve:t=>"ofType"in t?t.ofType:void 0}})}),dh=new Fe({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 Q(he),resolve:t=>t.name},description:{type:he,resolve:t=>t.description},args:{type:new Q(new we(new Q(_o))),args:{includeDeprecated:{type:Be,defaultValue:!1}},resolve(t,{includeDeprecated:e}){return e?t.args:t.args.filter(r=>r.deprecationReason==null)}},type:{type:new Q(ft),resolve:t=>t.type},isDeprecated:{type:new Q(Be),resolve:t=>t.deprecationReason!=null},deprecationReason:{type:he,resolve:t=>t.deprecationReason}})}),_o=new Fe({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 Q(he),resolve:t=>t.name},description:{type:he,resolve:t=>t.description},type:{type:new Q(ft),resolve:t=>t.type},defaultValue:{type:he,description:"A GraphQL-formatted string representing the default value for this input value.",resolve(t){let{type:e,defaultValue:r}=t,n=cn(r,e);return n?Ve(n):null}},isDeprecated:{type:new Q(Be),resolve:t=>t.deprecationReason!=null},deprecationReason:{type:he,resolve:t=>t.deprecationReason}})}),ph=new Fe({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 Q(he),resolve:t=>t.name},description:{type:he,resolve:t=>t.description},isDeprecated:{type:new Q(Be),resolve:t=>t.deprecationReason!=null},deprecationReason:{type:he,resolve:t=>t.deprecationReason}})}),ue;(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"})(ue||(ue={}));var fh=new $t({name:"__TypeKind",description:"An enum describing what kind of type a given `__Type` is.",values:{SCALAR:{value:ue.SCALAR,description:"Indicates this type is a scalar."},OBJECT:{value:ue.OBJECT,description:"Indicates this type is an object. `fields` and `interfaces` are valid fields."},INTERFACE:{value:ue.INTERFACE,description:"Indicates this type is an interface. `fields`, `interfaces`, and `possibleTypes` are valid fields."},UNION:{value:ue.UNION,description:"Indicates this type is a union. `possibleTypes` is a valid field."},ENUM:{value:ue.ENUM,description:"Indicates this type is an enum. `enumValues` is a valid field."},INPUT_OBJECT:{value:ue.INPUT_OBJECT,description:"Indicates this type is an input object. `inputFields` is a valid field."},LIST:{value:ue.LIST,description:"Indicates this type is a list. `ofType` is a valid field."},NON_NULL:{value:ue.NON_NULL,description:"Indicates this type is a non-null. `ofType` is a valid field."}}}),Pu={name:"__schema",type:new Q(bo),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},Au={name:"__type",type:ft,description:"Request the type information of a single type.",args:[{name:"name",description:void 0,type:new Q(he),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},Ru={name:"__typename",type:new Q(he),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},hh=Object.freeze([bo,uh,lh,ft,dh,_o,ph,fh]);var Eo=class{static{o(this,"GraphQLSchema")}constructor(e){var r,n;this.__validationErrors=e.assumeValid===!0?[]:void 0,Re(e)||ee(!1,"Must provide configuration object."),!e.types||Array.isArray(e.types)||ee(!1,`"types" must be Array if provided but got: ${U(e.types)}.`),!e.directives||Array.isArray(e.directives)||ee(!1,`"directives" must be Array if provided but got: ${U(e.directives)}.`),this.description=e.description,this.extensions=je(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:ch;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(ah(s))for(let a of s.args)Pt(a.type,i);Pt(bo,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||ee(!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,Oe(s)){for(let c of s.getInterfaces())if(Oe(c)){let u=this._implementationsMap[c.name];u===void 0&&(u=this._implementationsMap[c.name]={objects:[],interfaces:[]}),u.interfaces.push(s)}}else if(He(s)){for(let c of s.getInterfaces())if(Oe(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 dt.QUERY:return this.getQueryType();case dt.MUTATION:return this.getMutationType();case dt.SUBSCRIPTION:return this.getSubscriptionType()}}getTypeMap(){return this._typeMap}getType(e){return this.getTypeMap()[e]}getPossibleTypes(e){return pt(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),pt(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=St(t);if(!e.has(r)){if(e.add(r),pt(r))for(let n of r.getTypes())Pt(n,e);else if(He(r)||Oe(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(Me(r))for(let n of Object.values(r.getFields()))Pt(n.type,e)}return e}o(Pt,"collectReferencedTypes");function Dr(t,e){switch(e.kind){case I.LIST_TYPE:{let r=Dr(t,e.type);return r&&new we(r)}case I.NON_NULL_TYPE:{let r=Dr(t,e.type);return r&&new Q(r)}case I.NAMED_TYPE:return t.getType(e.name.value)}}o(Dr,"typeFromAST");var Mr=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??W1,r&&(it(r)&&this._inputTypeStack.push(r),jt(r)&&this._parentTypeStack.push(r),tr(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 I.SELECTION_SET:{let i=St(this.getType());this._parentTypeStack.push(jt(i)?i:void 0);break}case I.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(tr(a)?a:void 0);break}case I.DIRECTIVE:this._directive=r.getDirective(e.name.value);break;case I.OPERATION_DEFINITION:{let i=r.getRootType(e.operation);this._typeStack.push(He(i)?i:void 0);break}case I.INLINE_FRAGMENT:case I.FRAGMENT_DEFINITION:{let i=e.typeCondition,s=i?Dr(r,i):St(this.getType());this._typeStack.push(tr(s)?s:void 0);break}case I.VARIABLE_DEFINITION:{let i=Dr(r,e.type);this._inputTypeStack.push(it(i)?i:void 0);break}case I.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(it(s)?s:void 0);break}case I.LIST:{let i=_u(this.getInputType()),s=Ye(i)?i.ofType:i;this._defaultValueStack.push(void 0),this._inputTypeStack.push(it(s)?s:void 0);break}case I.OBJECT_FIELD:{let i=St(this.getInputType()),s,a;Me(i)&&(a=i.getFields()[e.name.value],a&&(s=a.type)),this._defaultValueStack.push(a?a.defaultValue:void 0),this._inputTypeStack.push(it(s)?s:void 0);break}case I.ENUM:{let i=St(this.getInputType()),s;nt(i)&&(s=i.getValue(e.value)),this._enumValue=s;break}default:}}leave(e){switch(e.kind){case I.SELECTION_SET:this._parentTypeStack.pop();break;case I.FIELD:this._fieldDefStack.pop(),this._typeStack.pop();break;case I.DIRECTIVE:this._directive=null;break;case I.OPERATION_DEFINITION:case I.INLINE_FRAGMENT:case I.FRAGMENT_DEFINITION:this._typeStack.pop();break;case I.VARIABLE_DEFINITION:this._inputTypeStack.pop();break;case I.ARGUMENT:this._argument=null,this._defaultValueStack.pop(),this._inputTypeStack.pop();break;case I.LIST:case I.OBJECT_FIELD:this._defaultValueStack.pop(),this._inputTypeStack.pop();break;case I.ENUM:this._enumValue=null;break;default:}}};function W1(t,e,r){let n=r.name.value;if(n===Pu.name&&t.getQueryType()===e)return Pu;if(n===Au.name&&t.getQueryType()===e)return Au;if(n===Ru.name&&jt(e))return Ru;if(He(e)||Oe(e))return e.getFields()[n]}o(W1,"getFieldDef");function bi(t,e){return{enter(...r){let n=r[0];t.enter(n);let i=yi(e,n.kind).enter;if(i){let s=i.apply(e,r);return s!==void 0&&(t.leave(n),uo(s)&&t.enter(s)),s}},leave(...r){let n=r[0],i=yi(e,n.kind).leave,s;return i&&(s=i.apply(e,r)),t.leave(n),s}}}o(bi,"visitWithTypeInfo");function Ou(t){return t.map(e=>typeof e=="number"?"["+e.toString()+"]":"."+e).join("")}o(Ou,"printPathArray");function mh(t,e,r){return{prev:t,key:e,typename:r}}o(mh,"addPath");function rr(t){let e=[],r=t;for(;r;)e.push(r.key),r=r.prev;return e.reverse()}o(rr,"pathToArray");function yh(t,e,r=Q1){return wo(t,e,r,void 0)}o(yh,"coerceInputValue");function Q1(t,e,r){let n="Invalid value "+U(e);throw t.length>0&&(n+=` at "value${Ou(t)}"`),r.message=n+": "+r.message,r}o(Q1,"defaultOnError");function wo(t,e,r,n){if(ye(e)){if(t!=null)return wo(t,e.ofType,r,n);r(rr(n),t,new j(`Expected non-nullable type "${U(e)}" not to be null.`));return}if(t==null)return null;if(Ye(e)){let i=e.ofType;return Iu(t)?Array.from(t,(s,a)=>{let c=mh(n,a,void 0);return wo(s,i,r,c)}):[wo(t,i,r,n)]}if(Me(e)){if(!Re(t)){r(rr(n),t,new j(`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(ye(a.type)){let u=U(a.type);r(rr(n),t,new j(`Field "${a.name}" of required type "${u}" was not provided.`))}continue}i[a.name]=wo(c,a.type,r,mh(n,a.name,e.name))}for(let a of Object.keys(t))if(!s[a]){let c=du(a,Object.keys(e.getFields()));r(rr(n),t,new j(`Field "${a}" is not defined by type "${e.name}".`+uu(c)))}return i}if(xr(e)){let i;try{i=e.parseValue(t)}catch(s){s instanceof j?r(rr(n),t,s):r(rr(n),t,new j(`Expected type "${e.name}". `+s.message,{originalError:s}));return}return i===void 0&&r(rr(n),t,new j(`Expected type "${e.name}".`)),i}Ht(!1,"Unexpected input type: "+U(e))}o(wo,"coerceInputValueImpl");function Vt(t,e,r){if(t){if(t.kind===I.VARIABLE){let n=t.name.value;if(r==null||r[n]===void 0)return;let i=r[n];return i===null&&ye(e)?void 0:i}if(ye(e))return t.kind===I.NULL?void 0:Vt(t,e.ofType,r);if(t.kind===I.NULL)return null;if(Ye(e)){let n=e.ofType;if(t.kind===I.LIST){let s=[];for(let a of t.values)if(Nw(a,r)){if(ye(n))return;s.push(null)}else{let c=Vt(a,n,r);if(c===void 0)return;s.push(c)}return s}let i=Vt(t,n,r);return i===void 0?void 0:[i]}if(Me(e)){if(t.kind!==I.OBJECT)return;let n=Object.create(null),i=mi(t.fields,s=>s.name.value);for(let s of Object.values(e.getFields())){let a=i[s.name];if(!a||Nw(a.value,r)){if(s.defaultValue!==void 0)n[s.name]=s.defaultValue;else if(ye(s.type))return;continue}let c=Vt(a.value,s.type,r);if(c===void 0)return;n[s.name]=c}return n}if(xr(e)){let n;try{n=e.parseLiteral(t,r)}catch{return}return n===void 0?void 0:n}Ht(!1,"Unexpected input type: "+U(e))}}o(Vt,"valueFromAST");function Nw(t,e){return t.kind===I.VARIABLE&&(e==null||e[t.name.value]===void 0)}o(Nw,"isMissingVariable");function Nu(t,e,r,n){let i=[],s=n?.maxErrors;try{let a=Y1(t,e,r,c=>{if(s!=null&&i.length>=s)throw new j("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(Nu,"getVariableValues");function Y1(t,e,r,n){let i={};for(let s of e){let a=s.variable.name.value,c=Dr(t,s.type);if(!it(c)){let l=Ve(s.type);n(new j(`Variable "$${a}" expected value of type "${l}" which cannot be used as an input type.`,{nodes:s.type}));continue}if(!Cw(r,a)){if(s.defaultValue)i[a]=Vt(s.defaultValue,c);else if(ye(c)){let l=U(c);n(new j(`Variable "$${a}" of required type "${l}" was not provided.`,{nodes:s}))}continue}let u=r[a];if(u===null&&ye(c)){let l=U(c);n(new j(`Variable "$${a}" of non-null type "${l}" must not be null.`,{nodes:s}));continue}i[a]=yh(u,c,(l,d,p)=>{let f=`Variable "$${a}" got invalid value `+U(d);l.length>0&&(f+=` at "${a}${Ou(l)}"`),n(new j(f+"; "+p.message,{nodes:s,originalError:p}))})}return i}o(Y1,"coerceVariableValues");function vo(t,e,r){var n;let i={},s=(n=e.arguments)!==null&&n!==void 0?n:[],a=mi(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(ye(l))throw new j(`Argument "${u}" of required type "${U(l)}" was not provided.`,{nodes:e});continue}let p=d.value,f=p.kind===I.NULL;if(p.kind===I.VARIABLE){let m=p.name.value;if(r==null||!Cw(r,m)){if(c.defaultValue!==void 0)i[u]=c.defaultValue;else if(ye(l))throw new j(`Argument "${u}" of required type "${U(l)}" was provided the variable "$${m}" which was not provided a runtime value.`,{nodes:p});continue}f=r[m]==null}if(f&&ye(l))throw new j(`Argument "${u}" of non-null type "${U(l)}" must not be null.`,{nodes:p});let h=Vt(p,l,r);if(h===void 0)throw new j(`Argument "${u}" has invalid value ${Ve(p)}.`,{nodes:p});i[u]=h}return i}o(vo,"getArgumentValues");function To(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 vo(t,i,r)}o(To,"getDirectiveValues");function Cw(t,e){return Object.prototype.hasOwnProperty.call(t,e)}o(Cw,"hasOwnProperty");var Cu=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===I.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===I.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}},xw=class extends Cu{static{o(this,"SDLValidationContext")}constructor(e,r,n){super(e,n),this._schema=r}get[Symbol.toStringTag](){return"SDLValidationContext"}getSchema(){return this._schema}},_i=class extends Cu{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 Mr(this._schema);Nr(e,bi(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 xu(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"),`
131
131
  query IntrospectionQuery {
132
132
  __schema {
133
133
  ${s}
@@ -232,5 +232,5 @@ In some cases, you need to provide options to alter GraphQL's execution behavior
232
232
  }
233
233
  }
234
234
  }
235
- `}o(xu,"getIntrospectionQuery");function Lu(t,e){Re(t)&&Re(t.__schema)||ee(!1,`Invalid or incomplete introspection result. Ensure that you are passing "data" property of introspection response and no "errors" was returned alongside: ${U(t)}.`);let r=t.__schema,n=qt(r.types,E=>E.name,E=>f(E));for(let E of[...sh,...hh])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(C):[];return new Eo({description:r.description,query:i,mutation:s,subscription:a,types:Object.values(n),directives:c,assumeValid:e?.assumeValid});function u(E){if(E.kind===ue.LIST){let P=E.ofType;if(!P)throw new Error("Decorated type deeper than introspection query.");return new we(u(P))}if(E.kind===ue.NON_NULL){let P=E.ofType;if(!P)throw new Error("Decorated type deeper than introspection query.");let x=u(P);return new Q(bu(x))}return l(E)}function l(E){let P=E.name;if(!P)throw new Error(`Unknown type reference: ${U(E)}.`);let x=n[P];if(!x)throw new Error(`Invalid or incomplete schema, unknown type: ${P}. Ensure that a full introspection query is used in order to build a client schema.`);return x}function d(E){return mu(l(E))}function p(E){return yu(l(E))}function f(E){if(E!=null&&E.name!=null&&E.kind!=null)switch(E.kind){case ue.SCALAR:return h(E);case ue.OBJECT:return b(E);case ue.INTERFACE:return v(E);case ue.UNION:return A(E);case ue.ENUM:return g(E);case ue.INPUT_OBJECT:return S(E)}let P=U(E);throw new Error(`Invalid or incomplete introspection result. Ensure that a full introspection query is used in order to build a client schema: ${P}.`)}function h(E){return new rt({name:E.name,description:E.description,specifiedByURL:E.specifiedByURL})}function m(E){if(E.interfaces===null&&E.kind===ue.INTERFACE)return[];if(!E.interfaces){let P=U(E);throw new Error(`Introspection result missing interfaces: ${P}.`)}return E.interfaces.map(p)}function b(E){return new Fe({name:E.name,description:E.description,interfaces:()=>m(E),fields:()=>O(E)})}function v(E){return new er({name:E.name,description:E.description,interfaces:()=>m(E),fields:()=>O(E)})}function A(E){if(!E.possibleTypes){let P=U(E);throw new Error(`Introspection result missing possibleTypes: ${P}.`)}return new sn({name:E.name,description:E.description,types:()=>E.possibleTypes.map(d)})}function g(E){if(!E.enumValues){let P=U(E);throw new Error(`Introspection result missing enumValues: ${P}.`)}return new $t({name:E.name,description:E.description,values:qt(E.enumValues,P=>P.name,P=>({description:P.description,deprecationReason:P.deprecationReason}))})}function S(E){if(!E.inputFields){let P=U(E);throw new Error(`Introspection result missing inputFields: ${P}.`)}return new an({name:E.name,description:E.description,fields:()=>w(E.inputFields)})}function O(E){if(!E.fields)throw new Error(`Introspection result missing fields: ${U(E)}.`);return qt(E.fields,P=>P.name,V)}function V(E){let P=u(E.type);if(!tr(P)){let x=U(P);throw new Error(`Introspection must provide output type for fields, but received: ${x}.`)}if(!E.args){let x=U(E);throw new Error(`Introspection result missing field args: ${x}.`)}return{description:E.description,deprecationReason:E.deprecationReason,type:P,args:w(E.args)}}function w(E){return qt(E,P=>P.name,T)}function T(E){let P=u(E.type);if(!it(P)){let X=U(P);throw new Error(`Introspection must provide input type for arguments, but received: ${X}.`)}let x=E.defaultValue!=null?Vt(cu(E.defaultValue),P):void 0;return{description:E.description,type:P,defaultValue:x,deprecationReason:E.deprecationReason}}function C(E){if(!E.args){let P=U(E);throw new Error(`Introspection result missing directive args: ${P}.`)}if(!E.locations){let P=U(E);throw new Error(`Introspection result missing directive locations: ${P}.`)}return new It({name:E.name,description:E.description,isRepeatable:E.isRepeatable,locations:E.locations.slice(),args:w(E.args)})}}o(Lu,"buildClientSchema");function wD(t,e){return`The query exceeds the maximum complexity of ${t}. Actual complexity is ${e}`}o(wD,"queryComplexityMessage");function xw(t){let e=new Mr(t.schema),r=[],n=new _i(t.schema,t.query,e,s=>r.push(s)),i=new gh(n,{maximumComplexity:t.maximumComplexity??1/0,estimators:t.estimators,variables:t.variables,operationName:t.operationName,context:t.context});if(Nr(t.query,bi(e,i)),r.length)throw r.pop();return i.complexity}o(xw,"getComplexity");var gh=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}=Nu(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 Fe||r instanceof er)&&(n=r.getFields());let i;Lr(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 h=this.includeDirectiveDef&&To(this.includeDirectiveDef,c,this.variableValues||{});typeof h?.if=="boolean"&&(l=h.if);break}case"skip":{let h=this.skipDirectiveDef&&To(this.skipDirectiveDef,c,this.variableValues||{});typeof h?.if=="boolean"&&(d=h.if);break}}if(!l||d)return a;switch(c.kind){case I.FIELD:{let p=n[c.name.value];if(!p)break;let f=St(p.type),h;try{h=vo(p,c,this.variableValues||{})}catch(A){return this.context.reportError(A),a}let m=0;jt(f)&&(m=this.nodeComplexity(c,f));let b={childComplexity:m,args:h,field:p,node:c,type:r,context:this.requestContext};if(!this.estimators.find(A=>{let g=A(b);return typeof g=="number"&&!isNaN(g)?(u=Ei(g,a,i),!0):!1}))return this.context.reportError(new j(`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 I.FRAGMENT_SPREAD:{let p=this.context.getFragment(c.name.value);if(!p)break;let f=this.context.getSchema().getType(p.typeCondition.name.value);if(!jt(f))break;let h=this.nodeComplexity(p,f);Lr(f)?u=Ei(h,a,this.context.getSchema().getPossibleTypes(f).map(m=>m.name)):u=Ei(h,a,[f.name]);break}case I.INLINE_FRAGMENT:{let p=r;if(c.typeCondition&&c.typeCondition.name&&(p=this.context.getSchema().getType(c.typeCondition.name.value)||p,!jt(p)))break;let f=this.nodeComplexity(c,p);Lr(p)?u=Ei(f,a,this.context.getSchema().getPossibleTypes(p).map(h=>h.name)):u=Ei(f,a,[p.name]);break}default:{u=Ei(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 j(wD(this.options.maximumComplexity,this.complexity))}};function Ei(t,e,r){for(let n of r)Object.prototype.hasOwnProperty.call(e,n)?e[n]+=t:e[n]=t;return e}o(Ei,"addComplexities");function Lw(t){let e=t?.defaultComplexity??1;return r=>e+r.childComplexity}o(Lw,"simpleEstimator");var Dw=o((t,e,r={})=>{let{definitions:n}=t,i=vD(n),s=TD(n);return Object.entries(s).map(([a,c])=>Du(c,i,0,e,a,r))},"depthLimit");function vD(t){return t.reduce((e,r)=>(r.kind===I.FRAGMENT_DEFINITION&&(e[r?.name?.value??""]=r),e),{})}o(vD,"getFragments");function TD(t){return t.reduce((e,r)=>{if(r.kind===I.OPERATION_DEFINITION){let n=r?.name?.value??"";e[n]=r}return e},{})}o(TD,"getQueriesAndMutations");function Du(t,e,r,n,i,s){if(r>n)throw s?.onLimitReached?.(r,i),new j(`${i||"Your query"} exceeds maximum operation depth of ${n}`,{nodes:[t]});let a=s?.ignore??[/^__/];switch(t.kind){case I.FIELD:return SD(t,a)||!t.selectionSet?0:1+Math.max(...t.selectionSet.selections.map(c=>Du(c,e,r+1,n,i,s)));case I.FRAGMENT_SPREAD:return Du(e[t.name.value],e,r,n,i,s);case I.INLINE_FRAGMENT:case I.FRAGMENT_DEFINITION:case I.OPERATION_DEFINITION:return Math.max(...t.selectionSet.selections.map(c=>Du(c,e,r,n,i,s)));default:throw new Error("uh oh! depth crawler cannot handle: "+t.kind)}}o(Du,"determineDepth");var SD=o((t,e)=>e.find(r=>t.name.value.match(r)!==null)||!1,"isIgnored");var ID=o(async(t,e)=>{if(!e.complexityLimit)throw new wi.ConfigurationError("No complexity maximum defined, you need to pass a maxComplexity to the policy");let n=e.endpointUrl;if(!n)throw new wi.ConfigurationError("No GraphQL endpoint, you need to pass a endpointUrl to the policy");let i=xu(),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 j("GraphQL introspection query failed, enable introspection or pass a schema url in configuration.");let u=Lu(c,{assumeValid:!0}),l=xw({estimators:[Lw({defaultComplexity:1})],schema:u,query:t,variables:{count:10}});if(e.complexityLimit&&l>e.complexityLimit)throw new j(`Query is too complex (${l}/${e.complexityLimit}), remove some fields and try again`)},"applyComplexityLimitPolicy"),PD=o(async(t,e)=>{let r=e.depthLimit;if(!r)throw new wi.ConfigurationError("No maximum depth defined, you need to pass a maxDepth to the policy");return Math.max(...Dw(t,r))},"applyDepthLimitPolicy"),Mw=o(async(t,e,r)=>{let n=wi.SystemLogMap.getLogger(e);try{let s=await t.clone().json(),a=au(s.query);r.useDepthLimit&&await PD(a,r.useDepthLimit),r.useComplexityLimit&&await ID(a,r.useComplexityLimit)}catch(i){if(i instanceof j)return n.info(i),new Response(JSON.stringify(i.toJSON()),{status:400,headers:{"Content-Type":"application/json"}});throw i}return t},"GraphQLComplexityLimitInboundPolicy");var Uw=wh(Gt());function AD(t){if(!t)return!1;let e=t.replace(/\s/g,"");return e.includes("__schema")||e.includes("__type")}o(AD,"isIntrospectionQuery");var kw=o(async(t,e)=>{let n=await t.clone().json();return AD(n.query)?Uw.HttpProblems.forbidden(t,e,{detail:"Introspection queries are not allowed"}):t},"GraphQLDisableIntrospectionInboundPolicy");
235
+ `}o(xu,"getIntrospectionQuery");function Lu(t,e){Re(t)&&Re(t.__schema)||ee(!1,`Invalid or incomplete introspection result. Ensure that you are passing "data" property of introspection response and no "errors" was returned alongside: ${U(t)}.`);let r=t.__schema,n=qt(r.types,E=>E.name,E=>f(E));for(let E of[...sh,...hh])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(C):[];return new Eo({description:r.description,query:i,mutation:s,subscription:a,types:Object.values(n),directives:c,assumeValid:e?.assumeValid});function u(E){if(E.kind===ue.LIST){let P=E.ofType;if(!P)throw new Error("Decorated type deeper than introspection query.");return new we(u(P))}if(E.kind===ue.NON_NULL){let P=E.ofType;if(!P)throw new Error("Decorated type deeper than introspection query.");let x=u(P);return new Q(bu(x))}return l(E)}function l(E){let P=E.name;if(!P)throw new Error(`Unknown type reference: ${U(E)}.`);let x=n[P];if(!x)throw new Error(`Invalid or incomplete schema, unknown type: ${P}. Ensure that a full introspection query is used in order to build a client schema.`);return x}function d(E){return mu(l(E))}function p(E){return yu(l(E))}function f(E){if(E!=null&&E.name!=null&&E.kind!=null)switch(E.kind){case ue.SCALAR:return h(E);case ue.OBJECT:return b(E);case ue.INTERFACE:return v(E);case ue.UNION:return A(E);case ue.ENUM:return g(E);case ue.INPUT_OBJECT:return S(E)}let P=U(E);throw new Error(`Invalid or incomplete introspection result. Ensure that a full introspection query is used in order to build a client schema: ${P}.`)}function h(E){return new rt({name:E.name,description:E.description,specifiedByURL:E.specifiedByURL})}function m(E){if(E.interfaces===null&&E.kind===ue.INTERFACE)return[];if(!E.interfaces){let P=U(E);throw new Error(`Introspection result missing interfaces: ${P}.`)}return E.interfaces.map(p)}function b(E){return new Fe({name:E.name,description:E.description,interfaces:()=>m(E),fields:()=>O(E)})}function v(E){return new er({name:E.name,description:E.description,interfaces:()=>m(E),fields:()=>O(E)})}function A(E){if(!E.possibleTypes){let P=U(E);throw new Error(`Introspection result missing possibleTypes: ${P}.`)}return new sn({name:E.name,description:E.description,types:()=>E.possibleTypes.map(d)})}function g(E){if(!E.enumValues){let P=U(E);throw new Error(`Introspection result missing enumValues: ${P}.`)}return new $t({name:E.name,description:E.description,values:qt(E.enumValues,P=>P.name,P=>({description:P.description,deprecationReason:P.deprecationReason}))})}function S(E){if(!E.inputFields){let P=U(E);throw new Error(`Introspection result missing inputFields: ${P}.`)}return new an({name:E.name,description:E.description,fields:()=>w(E.inputFields)})}function O(E){if(!E.fields)throw new Error(`Introspection result missing fields: ${U(E)}.`);return qt(E.fields,P=>P.name,V)}function V(E){let P=u(E.type);if(!tr(P)){let x=U(P);throw new Error(`Introspection must provide output type for fields, but received: ${x}.`)}if(!E.args){let x=U(E);throw new Error(`Introspection result missing field args: ${x}.`)}return{description:E.description,deprecationReason:E.deprecationReason,type:P,args:w(E.args)}}function w(E){return qt(E,P=>P.name,T)}function T(E){let P=u(E.type);if(!it(P)){let X=U(P);throw new Error(`Introspection must provide input type for arguments, but received: ${X}.`)}let x=E.defaultValue!=null?Vt(cu(E.defaultValue),P):void 0;return{description:E.description,type:P,defaultValue:x,deprecationReason:E.deprecationReason}}function C(E){if(!E.args){let P=U(E);throw new Error(`Introspection result missing directive args: ${P}.`)}if(!E.locations){let P=U(E);throw new Error(`Introspection result missing directive locations: ${P}.`)}return new It({name:E.name,description:E.description,isRepeatable:E.isRepeatable,locations:E.locations.slice(),args:w(E.args)})}}o(Lu,"buildClientSchema");function wD(t,e){return`The query exceeds the maximum complexity of ${t}. Actual complexity is ${e}`}o(wD,"queryComplexityMessage");function Lw(t){let e=new Mr(t.schema),r=[],n=new _i(t.schema,t.query,e,s=>r.push(s)),i=new gh(n,{maximumComplexity:t.maximumComplexity??1/0,estimators:t.estimators,variables:t.variables,operationName:t.operationName,context:t.context});if(Nr(t.query,bi(e,i)),r.length)throw r.pop();return i.complexity}o(Lw,"getComplexity");var gh=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}=Nu(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 Fe||r instanceof er)&&(n=r.getFields());let i;Lr(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 h=this.includeDirectiveDef&&To(this.includeDirectiveDef,c,this.variableValues||{});typeof h?.if=="boolean"&&(l=h.if);break}case"skip":{let h=this.skipDirectiveDef&&To(this.skipDirectiveDef,c,this.variableValues||{});typeof h?.if=="boolean"&&(d=h.if);break}}if(!l||d)return a;switch(c.kind){case I.FIELD:{let p=n[c.name.value];if(!p)break;let f=St(p.type),h;try{h=vo(p,c,this.variableValues||{})}catch(A){return this.context.reportError(A),a}let m=0;jt(f)&&(m=this.nodeComplexity(c,f));let b={childComplexity:m,args:h,field:p,node:c,type:r,context:this.requestContext};if(!this.estimators.find(A=>{let g=A(b);return typeof g=="number"&&!isNaN(g)?(u=Ei(g,a,i),!0):!1}))return this.context.reportError(new j(`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 I.FRAGMENT_SPREAD:{let p=this.context.getFragment(c.name.value);if(!p)break;let f=this.context.getSchema().getType(p.typeCondition.name.value);if(!jt(f))break;let h=this.nodeComplexity(p,f);Lr(f)?u=Ei(h,a,this.context.getSchema().getPossibleTypes(f).map(m=>m.name)):u=Ei(h,a,[f.name]);break}case I.INLINE_FRAGMENT:{let p=r;if(c.typeCondition&&c.typeCondition.name&&(p=this.context.getSchema().getType(c.typeCondition.name.value)||p,!jt(p)))break;let f=this.nodeComplexity(c,p);Lr(p)?u=Ei(f,a,this.context.getSchema().getPossibleTypes(p).map(h=>h.name)):u=Ei(f,a,[p.name]);break}default:{u=Ei(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 j(wD(this.options.maximumComplexity,this.complexity))}};function Ei(t,e,r){for(let n of r)Object.prototype.hasOwnProperty.call(e,n)?e[n]+=t:e[n]=t;return e}o(Ei,"addComplexities");function Dw(t){let e=t?.defaultComplexity??1;return r=>e+r.childComplexity}o(Dw,"simpleEstimator");var Mw=o((t,e,r={})=>{let{definitions:n}=t,i=vD(n),s=TD(n);return Object.entries(s).map(([a,c])=>Du(c,i,0,e,a,r))},"depthLimit");function vD(t){return t.reduce((e,r)=>(r.kind===I.FRAGMENT_DEFINITION&&(e[r?.name?.value??""]=r),e),{})}o(vD,"getFragments");function TD(t){return t.reduce((e,r)=>{if(r.kind===I.OPERATION_DEFINITION){let n=r?.name?.value??"";e[n]=r}return e},{})}o(TD,"getQueriesAndMutations");function Du(t,e,r,n,i,s){if(r>n)throw s?.onLimitReached?.(r,i),new j(`${i||"Your query"} exceeds maximum operation depth of ${n}`,{nodes:[t]});let a=s?.ignore??[/^__/];switch(t.kind){case I.FIELD:return SD(t,a)||!t.selectionSet?0:1+Math.max(...t.selectionSet.selections.map(c=>Du(c,e,r+1,n,i,s)));case I.FRAGMENT_SPREAD:return Du(e[t.name.value],e,r,n,i,s);case I.INLINE_FRAGMENT:case I.FRAGMENT_DEFINITION:case I.OPERATION_DEFINITION:return Math.max(...t.selectionSet.selections.map(c=>Du(c,e,r,n,i,s)));default:throw new Error("uh oh! depth crawler cannot handle: "+t.kind)}}o(Du,"determineDepth");var SD=o((t,e)=>e.find(r=>t.name.value.match(r)!==null)||!1,"isIgnored");var ID=o(async(t,e)=>{if(!e.complexityLimit)throw new wi.ConfigurationError("No complexity maximum defined, you need to pass a maxComplexity to the policy");let n=e.endpointUrl;if(!n)throw new wi.ConfigurationError("No GraphQL endpoint, you need to pass a endpointUrl to the policy");let i=xu(),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 j("GraphQL introspection query failed, enable introspection or pass a schema url in configuration.");let u=Lu(c,{assumeValid:!0}),l=Lw({estimators:[Dw({defaultComplexity:1})],schema:u,query:t,variables:{count:10}});if(e.complexityLimit&&l>e.complexityLimit)throw new j(`Query is too complex (${l}/${e.complexityLimit}), remove some fields and try again`)},"applyComplexityLimitPolicy"),PD=o(async(t,e)=>{let r=e.depthLimit;if(!r)throw new wi.ConfigurationError("No maximum depth defined, you need to pass a maxDepth to the policy");return Math.max(...Mw(t,r))},"applyDepthLimitPolicy"),Uw=o(async(t,e,r)=>{let n=wi.SystemLogMap.getLogger(e);try{let s=await t.clone().json(),a=au(s.query);r.useDepthLimit&&await PD(a,r.useDepthLimit),r.useComplexityLimit&&await ID(a,r.useComplexityLimit)}catch(i){if(i instanceof j)return n.info(i),new Response(JSON.stringify(i.toJSON()),{status:400,headers:{"Content-Type":"application/json"}});throw i}return t},"GraphQLComplexityLimitInboundPolicy");var kw=wh(Gt());function AD(t){if(!t)return!1;let e=t.replace(/\s/g,"");return e.includes("__schema")||e.includes("__type")}o(AD,"isIntrospectionQuery");var Fw=o(async(t,e)=>{let n=await t.clone().json();return AD(n.query)?kw.HttpProblems.forbidden(t,e,{detail:"Introspection queries are not allowed"}):t},"GraphQLDisableIntrospectionInboundPolicy");
236
236
  /*! For license information please see index.minified.js.LEGAL.txt */