veloce-ts 0.2.2 → 0.2.3

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 (62) hide show
  1. package/CHANGELOG.md +6 -0
  2. package/dist/cjs/src/index.js +7 -7
  3. package/dist/cjs/src/index.js.map +5 -5
  4. package/dist/cjs/src/websocket/index.js +15 -2
  5. package/dist/cjs/src/websocket/index.js.map +7 -4
  6. package/dist/esm/chunk-2100y16g.js +5 -0
  7. package/dist/esm/chunk-2100y16g.js.map +10 -0
  8. package/dist/esm/{chunk-9f0s1qbb.js → chunk-5q75d71c.js} +2 -2
  9. package/dist/esm/{chunk-9f0s1qbb.js.map → chunk-5q75d71c.js.map} +1 -1
  10. package/dist/esm/{chunk-09p9prja.js → chunk-8dpc6an2.js} +1 -1
  11. package/dist/esm/{chunk-r8ssy5cv.js → chunk-9v7atckx.js} +2 -2
  12. package/dist/esm/{chunk-r8ssy5cv.js.map → chunk-9v7atckx.js.map} +1 -1
  13. package/dist/esm/{chunk-dpjkne9h.js → chunk-bvstdn0t.js} +1 -1
  14. package/dist/esm/{chunk-dfhwaw13.js → chunk-ctwpr5gr.js} +1 -1
  15. package/dist/esm/{chunk-q0w1t07v.js → chunk-dfay135z.js} +3 -3
  16. package/dist/esm/{chunk-q0w1t07v.js.map → chunk-dfay135z.js.map} +1 -1
  17. package/dist/esm/{chunk-3vd5qsws.js → chunk-dtw2tbsd.js} +2 -2
  18. package/dist/esm/{chunk-3vd5qsws.js.map → chunk-dtw2tbsd.js.map} +1 -1
  19. package/dist/esm/{chunk-qg4ngg5j.js → chunk-k66rn4fj.js} +3 -3
  20. package/dist/esm/{chunk-qg4ngg5j.js.map → chunk-k66rn4fj.js.map} +1 -1
  21. package/dist/esm/{chunk-vzhqg5mb.js → chunk-mky5qqg0.js} +3 -3
  22. package/dist/esm/{chunk-vzhqg5mb.js.map → chunk-mky5qqg0.js.map} +1 -1
  23. package/dist/esm/{chunk-vkkzgaf7.js → chunk-mznkhz9c.js} +2 -2
  24. package/dist/esm/{chunk-vkkzgaf7.js.map → chunk-mznkhz9c.js.map} +1 -1
  25. package/dist/esm/{chunk-3nhrrhv9.js → chunk-s5z0wb7e.js} +3 -3
  26. package/dist/esm/{chunk-3nhrrhv9.js.map → chunk-s5z0wb7e.js.map} +1 -1
  27. package/dist/esm/{chunk-gy9nsvnk.js → chunk-vh4sxcpe.js} +3 -3
  28. package/dist/esm/{chunk-gy9nsvnk.js.map → chunk-vh4sxcpe.js.map} +1 -1
  29. package/dist/esm/{chunk-4s66h6qw.js → chunk-xa333k40.js} +1 -1
  30. package/dist/esm/{chunk-f64j5zbr.js → chunk-y262e56g.js} +2 -2
  31. package/dist/esm/{chunk-f64j5zbr.js.map → chunk-y262e56g.js.map} +1 -1
  32. package/dist/esm/{chunk-sv2c5krg.js → chunk-yq3gf9ts.js} +3 -3
  33. package/dist/esm/{chunk-sv2c5krg.js.map → chunk-yq3gf9ts.js.map} +1 -1
  34. package/dist/esm/src/cli/index.js +3 -3
  35. package/dist/esm/src/cli/index.js.map +1 -1
  36. package/dist/esm/src/docs/index.js +3 -3
  37. package/dist/esm/src/docs/index.js.map +1 -1
  38. package/dist/esm/src/errors/index.js +2 -2
  39. package/dist/esm/src/errors/index.js.map +1 -1
  40. package/dist/esm/src/graphql/index.js +2 -2
  41. package/dist/esm/src/graphql/index.js.map +1 -1
  42. package/dist/esm/src/index.js +3 -3
  43. package/dist/esm/src/index.js.map +3 -4
  44. package/dist/esm/src/middleware/index.js +2 -2
  45. package/dist/esm/src/middleware/index.js.map +1 -1
  46. package/dist/esm/src/plugins/index.js +3 -3
  47. package/dist/esm/src/plugins/index.js.map +1 -1
  48. package/dist/esm/src/testing/index.js +2 -2
  49. package/dist/esm/src/testing/index.js.map +3 -4
  50. package/dist/esm/src/types/index.js +2 -2
  51. package/dist/esm/src/types/index.js.map +1 -1
  52. package/dist/esm/src/validation/index.js +2 -2
  53. package/dist/esm/src/validation/index.js.map +1 -1
  54. package/dist/esm/src/websocket/index.js +2 -2
  55. package/dist/esm/src/websocket/index.js.map +4 -3
  56. package/dist/types/websocket/index.d.ts +1 -0
  57. package/dist/types/websocket/index.d.ts.map +1 -1
  58. package/package.json +1 -1
  59. /package/dist/esm/{chunk-09p9prja.js.map → chunk-8dpc6an2.js.map} +0 -0
  60. /package/dist/esm/{chunk-dpjkne9h.js.map → chunk-bvstdn0t.js.map} +0 -0
  61. /package/dist/esm/{chunk-dfhwaw13.js.map → chunk-ctwpr5gr.js.map} +0 -0
  62. /package/dist/esm/{chunk-4s66h6qw.js.map → chunk-xa333k40.js.map} +0 -0
@@ -1,6 +1,6 @@
1
1
  // @bun
2
- import"./websocket/index.js";import{a as s3}from"./plugins/index.js";import{b as r3,c as t3,d as a3}from"../chunk-vkkzgaf7.js";import{e as h,f as P,g as L9,h as n6,i as I3}from"../chunk-3nhrrhv9.js";import"./middleware/index.js";import{A as WY,B as HY,C as YY,D as FY,E as XY,F as UY,j as C,k as B2,l as A9,m as r6,n as O3,o as N3,p as j3,q as S3,r as E3,s as A3,t as x3,u as z2,v as L2,w as N2,x as j2,y as S2,z as v0}from"./testing/index.js";import{G as k3,H as b3,I as h3}from"../chunk-3vd5qsws.js";import{J as O2}from"../chunk-gy9nsvnk.js";import"./types/index.js";import{K as E2,L as A2,M as x2}from"./docs/index.js";import"./graphql/index.js";import{$ as qY,N as f3,O as v3,P as y3,Q as g3,R as u3,S as m3,T as d3,U as c3,V as l3,W as p3,X as n3,Y as i3,Z as o3,_ as e3,aa as $Y,ba as ZY,ca as QY,da as JY}from"../chunk-q0w1t07v.js";import{ea as g0}from"../chunk-qg4ngg5j.js";import{fa as _2}from"../chunk-vzhqg5mb.js";import{ga as C2}from"../chunk-sv2c5krg.js";import{ha as R3,ia as K3,ja as P3,ka as M3,la as T3}from"../chunk-r8ssy5cv.js";import{oa as X}from"../chunk-9f0s1qbb.js";import{pa as a6,ra as D,ta as K}from"../chunk-f64j5zbr.js";var n=D((o6,m0)=>{/*! safe-buffer. MIT License. Feross Aboukhadijeh <https://feross.org/opensource> */var B6=K("buffer"),v=B6.Buffer;function u0(q,$){for(var Z in q)$[Z]=q[Z]}if(v.from&&v.alloc&&v.allocUnsafe&&v.allocUnsafeSlow)m0.exports=B6;else u0(B6,o6),o6.Buffer=m;function m(q,$,Z){return v(q,$,Z)}m.prototype=Object.create(v.prototype);u0(v,m);m.from=function(q,$,Z){if(typeof q==="number")throw TypeError("Argument must not be a number");return v(q,$,Z)};m.alloc=function(q,$,Z){if(typeof q!=="number")throw TypeError("Argument must be a number");var Q=v(q);if($!==void 0)if(typeof Z==="string")Q.fill($,Z);else Q.fill($);else Q.fill(0);return Q};m.allocUnsafe=function(q){if(typeof q!=="number")throw TypeError("Argument must be a number");return v(q)};m.allocUnsafeSlow=function(q){if(typeof q!=="number")throw TypeError("Argument must be a number");return B6.SlowBuffer(q)}});var e6=D(($7,d0)=>{var z6=n().Buffer,k9=K("stream"),b9=K("util");function L6(q){if(this.buffer=null,this.writable=!0,this.readable=!0,!q)return this.buffer=z6.alloc(0),this;if(typeof q.pipe==="function")return this.buffer=z6.alloc(0),q.pipe(this),this;if(q.length||typeof q==="object")return this.buffer=q,this.writable=!1,process.nextTick(function(){this.emit("end",q),this.readable=!1,this.emit("close")}.bind(this)),this;throw TypeError("Unexpected data type ("+typeof q+")")}b9.inherits(L6,k9);L6.prototype.write=function($){this.buffer=z6.concat([this.buffer,z6.from($)]),this.emit("data",$)};L6.prototype.end=function($){if($)this.write($);this.emit("end",$),this.emit("close"),this.writable=!1,this.readable=!1};d0.exports=L6});var l0=D((Z7,c0)=>{function q0(q){var $=(q/8|0)+(q%8===0?0:1);return $}var h9={ES256:q0(256),ES384:q0(384),ES512:q0(521)};function f9(q){var $=h9[q];if($)return $;throw Error('Unknown algorithm "'+q+'"')}c0.exports=f9});var a0=D((Q7,t0)=>{var C6=n().Buffer,n0=l0(),_6=128,i0=0,v9=32,y9=16,g9=2,s0=y9|v9|i0<<6,O6=g9|i0<<6;function u9(q){return q.replace(/=/g,"").replace(/\+/g,"-").replace(/\//g,"_")}function r0(q){if(C6.isBuffer(q))return q;else if(typeof q==="string")return C6.from(q,"base64");throw TypeError("ECDSA signature must be a Base64 string or a Buffer")}function m9(q,$){q=r0(q);var Z=n0($),Q=Z+1,J=q.length,W=0;if(q[W++]!==s0)throw Error('Could not find expected "seq"');var H=q[W++];if(H===(_6|1))H=q[W++];if(J-W<H)throw Error('"seq" specified length of "'+H+'", only "'+(J-W)+'" remaining');if(q[W++]!==O6)throw Error('Could not find expected "int" for "r"');var Y=q[W++];if(J-W-2<Y)throw Error('"r" specified length of "'+Y+'", only "'+(J-W-2)+'" available');if(Q<Y)throw Error('"r" specified length of "'+Y+'", max of "'+Q+'" is acceptable');var V=W;if(W+=Y,q[W++]!==O6)throw Error('Could not find expected "int" for "s"');var F=q[W++];if(J-W!==F)throw Error('"s" specified length of "'+F+'", expected "'+(J-W)+'"');if(Q<F)throw Error('"s" specified length of "'+F+'", max of "'+Q+'" is acceptable');var U=W;if(W+=F,W!==J)throw Error('Expected to consume entire buffer, but "'+(J-W)+'" bytes remain');var G=Z-Y,_=Z-F,z=C6.allocUnsafe(G+Y+_+F);for(W=0;W<G;++W)z[W]=0;q.copy(z,W,V+Math.max(-G,0),V+Y),W=Z;for(var j=W;W<j+_;++W)z[W]=0;return q.copy(z,W,U+Math.max(-_,0),U+F),z=z.toString("base64"),z=u9(z),z}function p0(q,$,Z){var Q=0;while($+Q<Z&&q[$+Q]===0)++Q;var J=q[$+Q]>=_6;if(J)--Q;return Q}function d9(q,$){q=r0(q);var Z=n0($),Q=q.length;if(Q!==Z*2)throw TypeError('"'+$+'" signatures must be "'+Z*2+'" bytes, saw "'+Q+'"');var J=p0(q,0,Z),W=p0(q,Z,q.length),H=Z-J,Y=Z-W,V=2+H+1+1+Y,F=V<_6,U=C6.allocUnsafe((F?2:3)+V),G=0;if(U[G++]=s0,F)U[G++]=V;else U[G++]=_6|1,U[G++]=V&255;if(U[G++]=O6,U[G++]=H,J<0)U[G++]=0,G+=q.copy(U,G,0,Z);else G+=q.copy(U,G,J,Z);if(U[G++]=O6,U[G++]=Y,W<0)U[G++]=0,q.copy(U,G,Z);else q.copy(U,G,Z+W);return U}t0.exports={derToJose:m9,joseToDer:d9}});var e0=D((J7,o0)=>{var q6=K("buffer").Buffer,$0=K("buffer").SlowBuffer;o0.exports=N6;function N6(q,$){if(!q6.isBuffer(q)||!q6.isBuffer($))return!1;if(q.length!==$.length)return!1;var Z=0;for(var Q=0;Q<q.length;Q++)Z|=q[Q]^$[Q];return Z===0}N6.install=function(){q6.prototype.equal=$0.prototype.equal=function($){return N6(this,$)}};var c9=q6.prototype.equal,l9=$0.prototype.equal;N6.restore=function(){q6.prototype.equal=c9,$0.prototype.equal=l9}});var W0=D((W7,F8)=>{var s=n().Buffer,M=K("crypto"),$8=a0(),q8=K("util"),p9=`"%s" is not a valid algorithm.
2
+ import{a as P3,b as M3,c as T3,d as I3}from"./websocket/index.js";import{e as p3}from"./plugins/index.js";import{f as n3,g as i3,h as s3}from"../chunk-mznkhz9c.js";import{i as h,j as P,k as z9,l as n6,m as A3}from"../chunk-s5z0wb7e.js";import"./middleware/index.js";import{A as j2,B as S2,C as f0,D as ZY,E as QY,F as JY,G as WY,H as HY,I as YY,n as B2,o as E9,p as r6,q as D3,r as w3,s as B3,t as z3,u as L3,v as C3,w as _3,x as z2,y as L2,z as N2}from"./testing/index.js";import{J as C}from"../chunk-2100y16g.js";import{K as K3,L as R3,M as x3}from"../chunk-dtw2tbsd.js";import{N as O2}from"../chunk-vh4sxcpe.js";import"./types/index.js";import{O as E2,P as A2,Q as K2}from"./docs/index.js";import"./graphql/index.js";import{$ as c3,R as k3,S as b3,T as h3,U as f3,V as y3,W as v3,X as g3,Y as u3,Z as m3,_ as d3,aa as l3,ba as r3,ca as t3,da as a3,ea as o3,fa as e3,ga as qY,ha as $Y}from"../chunk-dfay135z.js";import{ia as w2}from"../chunk-k66rn4fj.js";import{ja as _2}from"../chunk-mky5qqg0.js";import{ka as C2}from"../chunk-yq3gf9ts.js";import{la as O3,ma as N3,na as j3,oa as S3,pa as E3}from"../chunk-9v7atckx.js";import{sa as X}from"../chunk-5q75d71c.js";import{ta as B9,va as D,xa as x}from"../chunk-y262e56g.js";var n=D((a6,g0)=>{/*! safe-buffer. MIT License. Feross Aboukhadijeh <https://feross.org/opensource> */var B6=x("buffer"),y=B6.Buffer;function v0(q,$){for(var Z in q)$[Z]=q[Z]}if(y.from&&y.alloc&&y.allocUnsafe&&y.allocUnsafeSlow)g0.exports=B6;else v0(B6,a6),a6.Buffer=m;function m(q,$,Z){return y(q,$,Z)}m.prototype=Object.create(y.prototype);v0(y,m);m.from=function(q,$,Z){if(typeof q==="number")throw TypeError("Argument must not be a number");return y(q,$,Z)};m.alloc=function(q,$,Z){if(typeof q!=="number")throw TypeError("Argument must be a number");var Q=y(q);if($!==void 0)if(typeof Z==="string")Q.fill($,Z);else Q.fill($);else Q.fill(0);return Q};m.allocUnsafe=function(q){if(typeof q!=="number")throw TypeError("Argument must be a number");return y(q)};m.allocUnsafeSlow=function(q){if(typeof q!=="number")throw TypeError("Argument must be a number");return B6.SlowBuffer(q)}});var o6=D((s2,u0)=>{var z6=n().Buffer,I9=x("stream"),k9=x("util");function L6(q){if(this.buffer=null,this.writable=!0,this.readable=!0,!q)return this.buffer=z6.alloc(0),this;if(typeof q.pipe==="function")return this.buffer=z6.alloc(0),q.pipe(this),this;if(q.length||typeof q==="object")return this.buffer=q,this.writable=!1,process.nextTick(function(){this.emit("end",q),this.readable=!1,this.emit("close")}.bind(this)),this;throw TypeError("Unexpected data type ("+typeof q+")")}k9.inherits(L6,I9);L6.prototype.write=function($){this.buffer=z6.concat([this.buffer,z6.from($)]),this.emit("data",$)};L6.prototype.end=function($){if($)this.write($);this.emit("end",$),this.emit("close"),this.writable=!1,this.readable=!1};u0.exports=L6});var d0=D((r2,m0)=>{function e6(q){var $=(q/8|0)+(q%8===0?0:1);return $}var b9={ES256:e6(256),ES384:e6(384),ES512:e6(521)};function h9(q){var $=b9[q];if($)return $;throw Error('Unknown algorithm "'+q+'"')}m0.exports=h9});var r0=D((t2,s0)=>{var C6=n().Buffer,l0=d0(),_6=128,p0=0,f9=32,y9=16,v9=2,n0=y9|f9|p0<<6,O6=v9|p0<<6;function g9(q){return q.replace(/=/g,"").replace(/\+/g,"-").replace(/\//g,"_")}function i0(q){if(C6.isBuffer(q))return q;else if(typeof q==="string")return C6.from(q,"base64");throw TypeError("ECDSA signature must be a Base64 string or a Buffer")}function u9(q,$){q=i0(q);var Z=l0($),Q=Z+1,J=q.length,W=0;if(q[W++]!==n0)throw Error('Could not find expected "seq"');var H=q[W++];if(H===(_6|1))H=q[W++];if(J-W<H)throw Error('"seq" specified length of "'+H+'", only "'+(J-W)+'" remaining');if(q[W++]!==O6)throw Error('Could not find expected "int" for "r"');var Y=q[W++];if(J-W-2<Y)throw Error('"r" specified length of "'+Y+'", only "'+(J-W-2)+'" available');if(Q<Y)throw Error('"r" specified length of "'+Y+'", max of "'+Q+'" is acceptable');var V=W;if(W+=Y,q[W++]!==O6)throw Error('Could not find expected "int" for "s"');var F=q[W++];if(J-W!==F)throw Error('"s" specified length of "'+F+'", expected "'+(J-W)+'"');if(Q<F)throw Error('"s" specified length of "'+F+'", max of "'+Q+'" is acceptable');var U=W;if(W+=F,W!==J)throw Error('Expected to consume entire buffer, but "'+(J-W)+'" bytes remain');var G=Z-Y,_=Z-F,z=C6.allocUnsafe(G+Y+_+F);for(W=0;W<G;++W)z[W]=0;q.copy(z,W,V+Math.max(-G,0),V+Y),W=Z;for(var j=W;W<j+_;++W)z[W]=0;return q.copy(z,W,U+Math.max(-_,0),U+F),z=z.toString("base64"),z=g9(z),z}function c0(q,$,Z){var Q=0;while($+Q<Z&&q[$+Q]===0)++Q;var J=q[$+Q]>=_6;if(J)--Q;return Q}function m9(q,$){q=i0(q);var Z=l0($),Q=q.length;if(Q!==Z*2)throw TypeError('"'+$+'" signatures must be "'+Z*2+'" bytes, saw "'+Q+'"');var J=c0(q,0,Z),W=c0(q,Z,q.length),H=Z-J,Y=Z-W,V=2+H+1+1+Y,F=V<_6,U=C6.allocUnsafe((F?2:3)+V),G=0;if(U[G++]=n0,F)U[G++]=V;else U[G++]=_6|1,U[G++]=V&255;if(U[G++]=O6,U[G++]=H,J<0)U[G++]=0,G+=q.copy(U,G,0,Z);else G+=q.copy(U,G,J,Z);if(U[G++]=O6,U[G++]=Y,W<0)U[G++]=0,q.copy(U,G,Z);else q.copy(U,G,Z+W);return U}s0.exports={derToJose:u9,joseToDer:m9}});var a0=D((a2,t0)=>{var q6=x("buffer").Buffer,q0=x("buffer").SlowBuffer;t0.exports=N6;function N6(q,$){if(!q6.isBuffer(q)||!q6.isBuffer($))return!1;if(q.length!==$.length)return!1;var Z=0;for(var Q=0;Q<q.length;Q++)Z|=q[Q]^$[Q];return Z===0}N6.install=function(){q6.prototype.equal=q0.prototype.equal=function($){return N6(this,$)}};var d9=q6.prototype.equal,c9=q0.prototype.equal;N6.restore=function(){q6.prototype.equal=d9,q0.prototype.equal=c9}});var J0=D((o2,H8)=>{var s=n().Buffer,M=x("crypto"),e0=r0(),o0=x("util"),l9=`"%s" is not a valid algorithm.
3
3
  Supported algorithms are:
4
- "HS256", "HS384", "HS512", "RS256", "RS384", "RS512", "PS256", "PS384", "PS512", "ES256", "ES384", "ES512" and "none".`,$6="secret must be a string or buffer",i="key must be a string or a buffer",n9="key must be a string, a buffer or an object",Q0=typeof M.createPublicKey==="function";if(Q0)i+=" or a KeyObject",$6+="or a KeyObject";function Z8(q){if(s.isBuffer(q))return;if(typeof q==="string")return;if(!Q0)throw k(i);if(typeof q!=="object")throw k(i);if(typeof q.type!=="string")throw k(i);if(typeof q.asymmetricKeyType!=="string")throw k(i);if(typeof q.export!=="function")throw k(i)}function Q8(q){if(s.isBuffer(q))return;if(typeof q==="string")return;if(typeof q==="object")return;throw k(n9)}function i9(q){if(s.isBuffer(q))return;if(typeof q==="string")return q;if(!Q0)throw k($6);if(typeof q!=="object")throw k($6);if(q.type!=="secret")throw k($6);if(typeof q.export!=="function")throw k($6)}function J0(q){return q.replace(/=/g,"").replace(/\+/g,"-").replace(/\//g,"_")}function J8(q){q=q.toString();var $=4-q.length%4;if($!==4)for(var Z=0;Z<$;++Z)q+="=";return q.replace(/\-/g,"+").replace(/_/g,"/")}function k(q){var $=[].slice.call(arguments,1),Z=q8.format.bind(q8,q).apply(null,$);return TypeError(Z)}function s9(q){return s.isBuffer(q)||typeof q==="string"}function Z6(q){if(!s9(q))q=JSON.stringify(q);return q}function W8(q){return function(Z,Q){i9(Q),Z=Z6(Z);var J=M.createHmac("sha"+q,Q),W=(J.update(Z),J.digest("base64"));return J0(W)}}var Z0,r9="timingSafeEqual"in M?function($,Z){if($.byteLength!==Z.byteLength)return!1;return M.timingSafeEqual($,Z)}:function($,Z){if(!Z0)Z0=e0();return Z0($,Z)};function t9(q){return function(Z,Q,J){var W=W8(q)(Z,J);return r9(s.from(Q),s.from(W))}}function H8(q){return function(Z,Q){Q8(Q),Z=Z6(Z);var J=M.createSign("RSA-SHA"+q),W=(J.update(Z),J.sign(Q,"base64"));return J0(W)}}function Y8(q){return function(Z,Q,J){Z8(J),Z=Z6(Z),Q=J8(Q);var W=M.createVerify("RSA-SHA"+q);return W.update(Z),W.verify(J,Q,"base64")}}function a9(q){return function(Z,Q){Q8(Q),Z=Z6(Z);var J=M.createSign("RSA-SHA"+q),W=(J.update(Z),J.sign({key:Q,padding:M.constants.RSA_PKCS1_PSS_PADDING,saltLength:M.constants.RSA_PSS_SALTLEN_DIGEST},"base64"));return J0(W)}}function o9(q){return function(Z,Q,J){Z8(J),Z=Z6(Z),Q=J8(Q);var W=M.createVerify("RSA-SHA"+q);return W.update(Z),W.verify({key:J,padding:M.constants.RSA_PKCS1_PSS_PADDING,saltLength:M.constants.RSA_PSS_SALTLEN_DIGEST},Q,"base64")}}function e9(q){var $=H8(q);return function(){var Q=$.apply(null,arguments);return Q=$8.derToJose(Q,"ES"+q),Q}}function qq(q){var $=Y8(q);return function(Q,J,W){J=$8.joseToDer(J,"ES"+q).toString("base64");var H=$(Q,J,W);return H}}function $q(){return function(){return""}}function Zq(){return function($,Z){return Z===""}}F8.exports=function($){var Z={hs:W8,rs:H8,ps:a9,es:e9,none:$q},Q={hs:t9,rs:Y8,ps:o9,es:qq,none:Zq},J=$.match(/^(RS|PS|ES|HS)(256|384|512)$|^(none)$/i);if(!J)throw k(p9,$);var W=(J[1]||J[3]).toLowerCase(),H=J[2];return{sign:Z[W](H),verify:Q[W](H)}}});var H0=D((H7,X8)=>{var Qq=K("buffer").Buffer;X8.exports=function($){if(typeof $==="string")return $;if(typeof $==="number"||Qq.isBuffer($))return $.toString();return JSON.stringify($)}});var B8=D((Y7,w8)=>{var Jq=n().Buffer,U8=e6(),Wq=W0(),Hq=K("stream"),V8=H0(),Y0=K("util");function G8(q,$){return Jq.from(q,$).toString("base64").replace(/=/g,"").replace(/\+/g,"-").replace(/\//g,"_")}function Yq(q,$,Z){Z=Z||"utf8";var Q=G8(V8(q),"binary"),J=G8(V8($),Z);return Y0.format("%s.%s",Q,J)}function D8(q){var{header:$,payload:Z}=q,Q=q.secret||q.privateKey,J=q.encoding,W=Wq($.alg),H=Yq($,Z,J),Y=W.sign(H,Q);return Y0.format("%s.%s",H,Y)}function j6(q){var $=q.secret||q.privateKey||q.key,Z=new U8($);this.readable=!0,this.header=q.header,this.encoding=q.encoding,this.secret=this.privateKey=this.key=Z,this.payload=new U8(q.payload),this.secret.once("close",function(){if(!this.payload.writable&&this.readable)this.sign()}.bind(this)),this.payload.once("close",function(){if(!this.secret.writable&&this.readable)this.sign()}.bind(this))}Y0.inherits(j6,Hq);j6.prototype.sign=function(){try{var $=D8({header:this.header,payload:this.payload.buffer,secret:this.secret.buffer,encoding:this.encoding});return this.emit("done",$),this.emit("data",$),this.emit("end"),this.readable=!1,$}catch(Z){this.readable=!1,this.emit("error",Z),this.emit("close")}};j6.sign=D8;w8.exports=j6});var A8=D((F7,E8)=>{var L8=n().Buffer,z8=e6(),Fq=W0(),Xq=K("stream"),C8=H0(),Uq=K("util"),Vq=/^[a-zA-Z0-9\-_]+?\.[a-zA-Z0-9\-_]+?\.([a-zA-Z0-9\-_]+)?$/;function Gq(q){return Object.prototype.toString.call(q)==="[object Object]"}function Dq(q){if(Gq(q))return q;try{return JSON.parse(q)}catch($){return}}function _8(q){var $=q.split(".",1)[0];return Dq(L8.from($,"base64").toString("binary"))}function wq(q){return q.split(".",2).join(".")}function O8(q){return q.split(".")[2]}function Bq(q,$){$=$||"utf8";var Z=q.split(".")[1];return L8.from(Z,"base64").toString($)}function N8(q){return Vq.test(q)&&!!_8(q)}function j8(q,$,Z){if(!$){var Q=Error("Missing algorithm parameter for jws.verify");throw Q.code="MISSING_ALGORITHM",Q}q=C8(q);var J=O8(q),W=wq(q),H=Fq($);return H.verify(W,J,Z)}function S8(q,$){if($=$||{},q=C8(q),!N8(q))return null;var Z=_8(q);if(!Z)return null;var Q=Bq(q);if(Z.typ==="JWT"||$.json)Q=JSON.parse(Q,$.encoding);return{header:Z,payload:Q,signature:O8(q)}}function r(q){q=q||{};var $=q.secret||q.publicKey||q.key,Z=new z8($);this.readable=!0,this.algorithm=q.algorithm,this.encoding=q.encoding,this.secret=this.publicKey=this.key=Z,this.signature=new z8(q.signature),this.secret.once("close",function(){if(!this.signature.writable&&this.readable)this.verify()}.bind(this)),this.signature.once("close",function(){if(!this.secret.writable&&this.readable)this.verify()}.bind(this))}Uq.inherits(r,Xq);r.prototype.verify=function(){try{var $=j8(this.signature.buffer,this.algorithm,this.key.buffer),Z=S8(this.signature.buffer,this.encoding);return this.emit("done",$,Z),this.emit("data",$),this.emit("end"),this.readable=!1,$}catch(Q){this.readable=!1,this.emit("error",Q),this.emit("close")}};r.decode=S8;r.isValid=N8;r.verify=j8;E8.exports=r});var E6=D((Lq)=>{var x8=B8(),S6=A8(),zq=["HS256","HS384","HS512","RS256","RS384","RS512","PS256","PS384","PS512","ES256","ES384","ES512"];Lq.ALGORITHMS=zq;Lq.sign=x8.sign;Lq.verify=S6.verify;Lq.decode=S6.decode;Lq.isValid=S6.isValid;Lq.createSign=function($){return new x8($)};Lq.createVerify=function($){return new S6($)}});var F0=D((U7,R8)=>{var Aq=E6();R8.exports=function(q,$){$=$||{};var Z=Aq.decode(q,$);if(!Z)return null;var Q=Z.payload;if(typeof Q==="string")try{var J=JSON.parse(Q);if(J!==null&&typeof J==="object")Q=J}catch(W){}if($.complete===!0)return{header:Z.header,payload:Q,signature:Z.signature};return Q}});var Q6=D((V7,K8)=>{var A6=function(q,$){if(Error.call(this,q),Error.captureStackTrace)Error.captureStackTrace(this,this.constructor);if(this.name="JsonWebTokenError",this.message=q,$)this.inner=$};A6.prototype=Object.create(Error.prototype);A6.prototype.constructor=A6;K8.exports=A6});var X0=D((G7,M8)=>{var P8=Q6(),x6=function(q,$){P8.call(this,q),this.name="NotBeforeError",this.date=$};x6.prototype=Object.create(P8.prototype);x6.prototype.constructor=x6;M8.exports=x6});var U0=D((D7,I8)=>{var T8=Q6(),R6=function(q,$){T8.call(this,q),this.name="TokenExpiredError",this.expiredAt=$};R6.prototype=Object.create(T8.prototype);R6.prototype.constructor=R6;I8.exports=R6});var b8=D((w7,k8)=>{var t=1000,a=t*60,o=a*60,d=o*24,xq=d*7,Rq=d*365.25;k8.exports=function(q,$){$=$||{};var Z=typeof q;if(Z==="string"&&q.length>0)return Kq(q);else if(Z==="number"&&isFinite(q))return $.long?Mq(q):Pq(q);throw Error("val is not a non-empty string or a valid number. val="+JSON.stringify(q))};function Kq(q){if(q=String(q),q.length>100)return;var $=/^(-?(?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(q);if(!$)return;var Z=parseFloat($[1]),Q=($[2]||"ms").toLowerCase();switch(Q){case"years":case"year":case"yrs":case"yr":case"y":return Z*Rq;case"weeks":case"week":case"w":return Z*xq;case"days":case"day":case"d":return Z*d;case"hours":case"hour":case"hrs":case"hr":case"h":return Z*o;case"minutes":case"minute":case"mins":case"min":case"m":return Z*a;case"seconds":case"second":case"secs":case"sec":case"s":return Z*t;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return Z;default:return}}function Pq(q){var $=Math.abs(q);if($>=d)return Math.round(q/d)+"d";if($>=o)return Math.round(q/o)+"h";if($>=a)return Math.round(q/a)+"m";if($>=t)return Math.round(q/t)+"s";return q+"ms"}function Mq(q){var $=Math.abs(q);if($>=d)return K6(q,$,d,"day");if($>=o)return K6(q,$,o,"hour");if($>=a)return K6(q,$,a,"minute");if($>=t)return K6(q,$,t,"second");return q+" ms"}function K6(q,$,Z,Q){var J=$>=Z*1.5;return Math.round(q/Z)+" "+Q+(J?"s":"")}});var V0=D((B7,h8)=>{var Tq=b8();h8.exports=function(q,$){var Z=$||Math.floor(Date.now()/1000);if(typeof q==="string"){var Q=Tq(q);if(typeof Q>"u")return;return Math.floor(Z+Q/1000)}else if(typeof q==="number")return Z+q;else return}});var J6=D((z7,f8)=>{var Iq=Number.MAX_SAFE_INTEGER||9007199254740991,kq=["major","premajor","minor","preminor","patch","prepatch","prerelease"];f8.exports={MAX_LENGTH:256,MAX_SAFE_COMPONENT_LENGTH:16,MAX_SAFE_BUILD_LENGTH:250,MAX_SAFE_INTEGER:Iq,RELEASE_TYPES:kq,SEMVER_SPEC_VERSION:"2.0.0",FLAG_INCLUDE_PRERELEASE:1,FLAG_LOOSE:2}});var W6=D((L7,v8)=>{var bq=typeof process==="object"&&process.env&&process.env.NODE_DEBUG&&/\bsemver\b/i.test(process.env.NODE_DEBUG)?(...q)=>console.error("SEMVER",...q):()=>{};v8.exports=bq});var e=D((y,y8)=>{var{MAX_SAFE_COMPONENT_LENGTH:G0,MAX_SAFE_BUILD_LENGTH:hq,MAX_LENGTH:fq}=J6(),vq=W6();y=y8.exports={};var yq=y.re=[],gq=y.safeRe=[],w=y.src=[],uq=y.safeSrc=[],B=y.t={},mq=0,D0="[a-zA-Z0-9-]",dq=[["\\s",1],["\\d",fq],[D0,hq]],cq=(q)=>{for(let[$,Z]of dq)q=q.split(`${$}*`).join(`${$}{0,${Z}}`).split(`${$}+`).join(`${$}{1,${Z}}`);return q},L=(q,$,Z)=>{let Q=cq($),J=mq++;vq(q,J,$),B[q]=J,w[J]=$,uq[J]=Q,yq[J]=new RegExp($,Z?"g":void 0),gq[J]=new RegExp(Q,Z?"g":void 0)};L("NUMERICIDENTIFIER","0|[1-9]\\d*");L("NUMERICIDENTIFIERLOOSE","\\d+");L("NONNUMERICIDENTIFIER",`\\d*[a-zA-Z-]${D0}*`);L("MAINVERSION",`(${w[B.NUMERICIDENTIFIER]})\\.(${w[B.NUMERICIDENTIFIER]})\\.(${w[B.NUMERICIDENTIFIER]})`);L("MAINVERSIONLOOSE",`(${w[B.NUMERICIDENTIFIERLOOSE]})\\.(${w[B.NUMERICIDENTIFIERLOOSE]})\\.(${w[B.NUMERICIDENTIFIERLOOSE]})`);L("PRERELEASEIDENTIFIER",`(?:${w[B.NONNUMERICIDENTIFIER]}|${w[B.NUMERICIDENTIFIER]})`);L("PRERELEASEIDENTIFIERLOOSE",`(?:${w[B.NONNUMERICIDENTIFIER]}|${w[B.NUMERICIDENTIFIERLOOSE]})`);L("PRERELEASE",`(?:-(${w[B.PRERELEASEIDENTIFIER]}(?:\\.${w[B.PRERELEASEIDENTIFIER]})*))`);L("PRERELEASELOOSE",`(?:-?(${w[B.PRERELEASEIDENTIFIERLOOSE]}(?:\\.${w[B.PRERELEASEIDENTIFIERLOOSE]})*))`);L("BUILDIDENTIFIER",`${D0}+`);L("BUILD",`(?:\\+(${w[B.BUILDIDENTIFIER]}(?:\\.${w[B.BUILDIDENTIFIER]})*))`);L("FULLPLAIN",`v?${w[B.MAINVERSION]}${w[B.PRERELEASE]}?${w[B.BUILD]}?`);L("FULL",`^${w[B.FULLPLAIN]}$`);L("LOOSEPLAIN",`[v=\\s]*${w[B.MAINVERSIONLOOSE]}${w[B.PRERELEASELOOSE]}?${w[B.BUILD]}?`);L("LOOSE",`^${w[B.LOOSEPLAIN]}$`);L("GTLT","((?:<|>)?=?)");L("XRANGEIDENTIFIERLOOSE",`${w[B.NUMERICIDENTIFIERLOOSE]}|x|X|\\*`);L("XRANGEIDENTIFIER",`${w[B.NUMERICIDENTIFIER]}|x|X|\\*`);L("XRANGEPLAIN",`[v=\\s]*(${w[B.XRANGEIDENTIFIER]})(?:\\.(${w[B.XRANGEIDENTIFIER]})(?:\\.(${w[B.XRANGEIDENTIFIER]})(?:${w[B.PRERELEASE]})?${w[B.BUILD]}?)?)?`);L("XRANGEPLAINLOOSE",`[v=\\s]*(${w[B.XRANGEIDENTIFIERLOOSE]})(?:\\.(${w[B.XRANGEIDENTIFIERLOOSE]})(?:\\.(${w[B.XRANGEIDENTIFIERLOOSE]})(?:${w[B.PRERELEASELOOSE]})?${w[B.BUILD]}?)?)?`);L("XRANGE",`^${w[B.GTLT]}\\s*${w[B.XRANGEPLAIN]}$`);L("XRANGELOOSE",`^${w[B.GTLT]}\\s*${w[B.XRANGEPLAINLOOSE]}$`);L("COERCEPLAIN",`(^|[^\\d])(\\d{1,${G0}})(?:\\.(\\d{1,${G0}}))?(?:\\.(\\d{1,${G0}}))?`);L("COERCE",`${w[B.COERCEPLAIN]}(?:$|[^\\d])`);L("COERCEFULL",w[B.COERCEPLAIN]+`(?:${w[B.PRERELEASE]})?(?:${w[B.BUILD]})?(?:$|[^\\d])`);L("COERCERTL",w[B.COERCE],!0);L("COERCERTLFULL",w[B.COERCEFULL],!0);L("LONETILDE","(?:~>?)");L("TILDETRIM",`(\\s*)${w[B.LONETILDE]}\\s+`,!0);y.tildeTrimReplace="$1~";L("TILDE",`^${w[B.LONETILDE]}${w[B.XRANGEPLAIN]}$`);L("TILDELOOSE",`^${w[B.LONETILDE]}${w[B.XRANGEPLAINLOOSE]}$`);L("LONECARET","(?:\\^)");L("CARETTRIM",`(\\s*)${w[B.LONECARET]}\\s+`,!0);y.caretTrimReplace="$1^";L("CARET",`^${w[B.LONECARET]}${w[B.XRANGEPLAIN]}$`);L("CARETLOOSE",`^${w[B.LONECARET]}${w[B.XRANGEPLAINLOOSE]}$`);L("COMPARATORLOOSE",`^${w[B.GTLT]}\\s*(${w[B.LOOSEPLAIN]})$|^$`);L("COMPARATOR",`^${w[B.GTLT]}\\s*(${w[B.FULLPLAIN]})$|^$`);L("COMPARATORTRIM",`(\\s*)${w[B.GTLT]}\\s*(${w[B.LOOSEPLAIN]}|${w[B.XRANGEPLAIN]})`,!0);y.comparatorTrimReplace="$1$2$3";L("HYPHENRANGE",`^\\s*(${w[B.XRANGEPLAIN]})\\s+-\\s+(${w[B.XRANGEPLAIN]})\\s*$`);L("HYPHENRANGELOOSE",`^\\s*(${w[B.XRANGEPLAINLOOSE]})\\s+-\\s+(${w[B.XRANGEPLAINLOOSE]})\\s*$`);L("STAR","(<|>)?=?\\s*\\*");L("GTE0","^\\s*>=\\s*0\\.0\\.0\\s*$");L("GTE0PRE","^\\s*>=\\s*0\\.0\\.0-0\\s*$")});var P6=D((C7,g8)=>{var lq=Object.freeze({loose:!0}),pq=Object.freeze({}),nq=(q)=>{if(!q)return pq;if(typeof q!=="object")return lq;return q};g8.exports=nq});var w0=D((_7,d8)=>{var u8=/^[0-9]+$/,m8=(q,$)=>{if(typeof q==="number"&&typeof $==="number")return q===$?0:q<$?-1:1;let Z=u8.test(q),Q=u8.test($);if(Z&&Q)q=+q,$=+$;return q===$?0:Z&&!Q?-1:Q&&!Z?1:q<$?-1:1},iq=(q,$)=>m8($,q);d8.exports={compareIdentifiers:m8,rcompareIdentifiers:iq}});var S=D((O7,l8)=>{var M6=W6(),{MAX_LENGTH:c8,MAX_SAFE_INTEGER:T6}=J6(),{safeRe:I6,t:k6}=e(),sq=P6(),{compareIdentifiers:B0}=w0();class b{constructor(q,$){if($=sq($),q instanceof b)if(q.loose===!!$.loose&&q.includePrerelease===!!$.includePrerelease)return q;else q=q.version;else if(typeof q!=="string")throw TypeError(`Invalid version. Must be a string. Got type "${typeof q}".`);if(q.length>c8)throw TypeError(`version is longer than ${c8} characters`);M6("SemVer",q,$),this.options=$,this.loose=!!$.loose,this.includePrerelease=!!$.includePrerelease;let Z=q.trim().match($.loose?I6[k6.LOOSE]:I6[k6.FULL]);if(!Z)throw TypeError(`Invalid Version: ${q}`);if(this.raw=q,this.major=+Z[1],this.minor=+Z[2],this.patch=+Z[3],this.major>T6||this.major<0)throw TypeError("Invalid major version");if(this.minor>T6||this.minor<0)throw TypeError("Invalid minor version");if(this.patch>T6||this.patch<0)throw TypeError("Invalid patch version");if(!Z[4])this.prerelease=[];else this.prerelease=Z[4].split(".").map((Q)=>{if(/^[0-9]+$/.test(Q)){let J=+Q;if(J>=0&&J<T6)return J}return Q});this.build=Z[5]?Z[5].split("."):[],this.format()}format(){if(this.version=`${this.major}.${this.minor}.${this.patch}`,this.prerelease.length)this.version+=`-${this.prerelease.join(".")}`;return this.version}toString(){return this.version}compare(q){if(M6("SemVer.compare",this.version,this.options,q),!(q instanceof b)){if(typeof q==="string"&&q===this.version)return 0;q=new b(q,this.options)}if(q.version===this.version)return 0;return this.compareMain(q)||this.comparePre(q)}compareMain(q){if(!(q instanceof b))q=new b(q,this.options);if(this.major<q.major)return-1;if(this.major>q.major)return 1;if(this.minor<q.minor)return-1;if(this.minor>q.minor)return 1;if(this.patch<q.patch)return-1;if(this.patch>q.patch)return 1;return 0}comparePre(q){if(!(q instanceof b))q=new b(q,this.options);if(this.prerelease.length&&!q.prerelease.length)return-1;else if(!this.prerelease.length&&q.prerelease.length)return 1;else if(!this.prerelease.length&&!q.prerelease.length)return 0;let $=0;do{let Z=this.prerelease[$],Q=q.prerelease[$];if(M6("prerelease compare",$,Z,Q),Z===void 0&&Q===void 0)return 0;else if(Q===void 0)return 1;else if(Z===void 0)return-1;else if(Z===Q)continue;else return B0(Z,Q)}while(++$)}compareBuild(q){if(!(q instanceof b))q=new b(q,this.options);let $=0;do{let Z=this.build[$],Q=q.build[$];if(M6("build compare",$,Z,Q),Z===void 0&&Q===void 0)return 0;else if(Q===void 0)return 1;else if(Z===void 0)return-1;else if(Z===Q)continue;else return B0(Z,Q)}while(++$)}inc(q,$,Z){if(q.startsWith("pre")){if(!$&&Z===!1)throw Error("invalid increment argument: identifier is empty");if($){let Q=`-${$}`.match(this.options.loose?I6[k6.PRERELEASELOOSE]:I6[k6.PRERELEASE]);if(!Q||Q[1]!==$)throw Error(`invalid identifier: ${$}`)}}switch(q){case"premajor":this.prerelease.length=0,this.patch=0,this.minor=0,this.major++,this.inc("pre",$,Z);break;case"preminor":this.prerelease.length=0,this.patch=0,this.minor++,this.inc("pre",$,Z);break;case"prepatch":this.prerelease.length=0,this.inc("patch",$,Z),this.inc("pre",$,Z);break;case"prerelease":if(this.prerelease.length===0)this.inc("patch",$,Z);this.inc("pre",$,Z);break;case"release":if(this.prerelease.length===0)throw Error(`version ${this.raw} is not a prerelease`);this.prerelease.length=0;break;case"major":if(this.minor!==0||this.patch!==0||this.prerelease.length===0)this.major++;this.minor=0,this.patch=0,this.prerelease=[];break;case"minor":if(this.patch!==0||this.prerelease.length===0)this.minor++;this.patch=0,this.prerelease=[];break;case"patch":if(this.prerelease.length===0)this.patch++;this.prerelease=[];break;case"pre":{let Q=Number(Z)?1:0;if(this.prerelease.length===0)this.prerelease=[Q];else{let J=this.prerelease.length;while(--J>=0)if(typeof this.prerelease[J]==="number")this.prerelease[J]++,J=-2;if(J===-1){if($===this.prerelease.join(".")&&Z===!1)throw Error("invalid increment argument: identifier already exists");this.prerelease.push(Q)}}if($){let J=[$,Q];if(Z===!1)J=[$];if(B0(this.prerelease[0],$)===0){if(isNaN(this.prerelease[1]))this.prerelease=J}else this.prerelease=J}break}default:throw Error(`invalid increment argument: ${q}`)}if(this.raw=this.format(),this.build.length)this.raw+=`+${this.build.join(".")}`;return this}}l8.exports=b});var c=D((N7,n8)=>{var p8=S(),rq=(q,$,Z=!1)=>{if(q instanceof p8)return q;try{return new p8(q,$)}catch(Q){if(!Z)return null;throw Q}};n8.exports=rq});var s8=D((j7,i8)=>{var tq=c(),aq=(q,$)=>{let Z=tq(q,$);return Z?Z.version:null};i8.exports=aq});var t8=D((S7,r8)=>{var oq=c(),eq=(q,$)=>{let Z=oq(q.trim().replace(/^[=v]+/,""),$);return Z?Z.version:null};r8.exports=eq});var e8=D((E7,o8)=>{var a8=S(),q$=(q,$,Z,Q,J)=>{if(typeof Z==="string")J=Q,Q=Z,Z=void 0;try{return new a8(q instanceof a8?q.version:q,Z).inc($,Q,J).version}catch(W){return null}};o8.exports=q$});var Z1=D((A7,$1)=>{var q1=c(),$$=(q,$)=>{let Z=q1(q,null,!0),Q=q1($,null,!0),J=Z.compare(Q);if(J===0)return null;let W=J>0,H=W?Z:Q,Y=W?Q:Z,V=!!H.prerelease.length;if(!!Y.prerelease.length&&!V){if(!Y.patch&&!Y.minor)return"major";if(Y.compareMain(H)===0){if(Y.minor&&!Y.patch)return"minor";return"patch"}}let U=V?"pre":"";if(Z.major!==Q.major)return U+"major";if(Z.minor!==Q.minor)return U+"minor";if(Z.patch!==Q.patch)return U+"patch";return"prerelease"};$1.exports=$$});var J1=D((x7,Q1)=>{var Z$=S(),Q$=(q,$)=>new Z$(q,$).major;Q1.exports=Q$});var H1=D((R7,W1)=>{var J$=S(),W$=(q,$)=>new J$(q,$).minor;W1.exports=W$});var F1=D((K7,Y1)=>{var H$=S(),Y$=(q,$)=>new H$(q,$).patch;Y1.exports=Y$});var U1=D((P7,X1)=>{var F$=c(),X$=(q,$)=>{let Z=F$(q,$);return Z&&Z.prerelease.length?Z.prerelease:null};X1.exports=X$});var T=D((M7,G1)=>{var V1=S(),U$=(q,$,Z)=>new V1(q,Z).compare(new V1($,Z));G1.exports=U$});var w1=D((T7,D1)=>{var V$=T(),G$=(q,$,Z)=>V$($,q,Z);D1.exports=G$});var z1=D((I7,B1)=>{var D$=T(),w$=(q,$)=>D$(q,$,!0);B1.exports=w$});var b6=D((k7,C1)=>{var L1=S(),B$=(q,$,Z)=>{let Q=new L1(q,Z),J=new L1($,Z);return Q.compare(J)||Q.compareBuild(J)};C1.exports=B$});var O1=D((b7,_1)=>{var z$=b6(),L$=(q,$)=>q.sort((Z,Q)=>z$(Z,Q,$));_1.exports=L$});var j1=D((h7,N1)=>{var C$=b6(),_$=(q,$)=>q.sort((Z,Q)=>C$(Q,Z,$));N1.exports=_$});var H6=D((f7,S1)=>{var O$=T(),N$=(q,$,Z)=>O$(q,$,Z)>0;S1.exports=N$});var h6=D((v7,E1)=>{var j$=T(),S$=(q,$,Z)=>j$(q,$,Z)<0;E1.exports=S$});var z0=D((y7,A1)=>{var E$=T(),A$=(q,$,Z)=>E$(q,$,Z)===0;A1.exports=A$});var L0=D((g7,x1)=>{var x$=T(),R$=(q,$,Z)=>x$(q,$,Z)!==0;x1.exports=R$});var f6=D((u7,R1)=>{var K$=T(),P$=(q,$,Z)=>K$(q,$,Z)>=0;R1.exports=P$});var v6=D((m7,K1)=>{var M$=T(),T$=(q,$,Z)=>M$(q,$,Z)<=0;K1.exports=T$});var C0=D((d7,P1)=>{var I$=z0(),k$=L0(),b$=H6(),h$=f6(),f$=h6(),v$=v6(),y$=(q,$,Z,Q)=>{switch($){case"===":if(typeof q==="object")q=q.version;if(typeof Z==="object")Z=Z.version;return q===Z;case"!==":if(typeof q==="object")q=q.version;if(typeof Z==="object")Z=Z.version;return q!==Z;case"":case"=":case"==":return I$(q,Z,Q);case"!=":return k$(q,Z,Q);case">":return b$(q,Z,Q);case">=":return h$(q,Z,Q);case"<":return f$(q,Z,Q);case"<=":return v$(q,Z,Q);default:throw TypeError(`Invalid operator: ${$}`)}};P1.exports=y$});var T1=D((c7,M1)=>{var g$=S(),u$=c(),{safeRe:y6,t:g6}=e(),m$=(q,$)=>{if(q instanceof g$)return q;if(typeof q==="number")q=String(q);if(typeof q!=="string")return null;$=$||{};let Z=null;if(!$.rtl)Z=q.match($.includePrerelease?y6[g6.COERCEFULL]:y6[g6.COERCE]);else{let V=$.includePrerelease?y6[g6.COERCERTLFULL]:y6[g6.COERCERTL],F;while((F=V.exec(q))&&(!Z||Z.index+Z[0].length!==q.length)){if(!Z||F.index+F[0].length!==Z.index+Z[0].length)Z=F;V.lastIndex=F.index+F[1].length+F[2].length}V.lastIndex=-1}if(Z===null)return null;let Q=Z[2],J=Z[3]||"0",W=Z[4]||"0",H=$.includePrerelease&&Z[5]?`-${Z[5]}`:"",Y=$.includePrerelease&&Z[6]?`+${Z[6]}`:"";return u$(`${Q}.${J}.${W}${H}${Y}`,$)};M1.exports=m$});var b1=D((l7,k1)=>{class I1{constructor(){this.max=1000,this.map=new Map}get(q){let $=this.map.get(q);if($===void 0)return;else return this.map.delete(q),this.map.set(q,$),$}delete(q){return this.map.delete(q)}set(q,$){if(!this.delete(q)&&$!==void 0){if(this.map.size>=this.max){let Q=this.map.keys().next().value;this.delete(Q)}this.map.set(q,$)}return this}}k1.exports=I1});var I=D((p7,y1)=>{var d$=/\s+/g;class Y6{constructor(q,$){if($=l$($),q instanceof Y6)if(q.loose===!!$.loose&&q.includePrerelease===!!$.includePrerelease)return q;else return new Y6(q.raw,$);if(q instanceof _0)return this.raw=q.value,this.set=[[q]],this.formatted=void 0,this;if(this.options=$,this.loose=!!$.loose,this.includePrerelease=!!$.includePrerelease,this.raw=q.trim().replace(d$," "),this.set=this.raw.split("||").map((Z)=>this.parseRange(Z.trim())).filter((Z)=>Z.length),!this.set.length)throw TypeError(`Invalid SemVer Range: ${this.raw}`);if(this.set.length>1){let Z=this.set[0];if(this.set=this.set.filter((Q)=>!f1(Q[0])),this.set.length===0)this.set=[Z];else if(this.set.length>1){for(let Q of this.set)if(Q.length===1&&a$(Q[0])){this.set=[Q];break}}}this.formatted=void 0}get range(){if(this.formatted===void 0){this.formatted="";for(let q=0;q<this.set.length;q++){if(q>0)this.formatted+="||";let $=this.set[q];for(let Z=0;Z<$.length;Z++){if(Z>0)this.formatted+=" ";this.formatted+=$[Z].toString().trim()}}}return this.formatted}format(){return this.range}toString(){return this.range}parseRange(q){let Z=((this.options.includePrerelease&&r$)|(this.options.loose&&t$))+":"+q,Q=h1.get(Z);if(Q)return Q;let J=this.options.loose,W=J?A[E.HYPHENRANGELOOSE]:A[E.HYPHENRANGE];q=q.replace(W,YZ(this.options.includePrerelease)),N("hyphen replace",q),q=q.replace(A[E.COMPARATORTRIM],n$),N("comparator trim",q),q=q.replace(A[E.TILDETRIM],i$),N("tilde trim",q),q=q.replace(A[E.CARETTRIM],s$),N("caret trim",q);let H=q.split(" ").map((U)=>o$(U,this.options)).join(" ").split(/\s+/).map((U)=>HZ(U,this.options));if(J)H=H.filter((U)=>{return N("loose invalid filter",U,this.options),!!U.match(A[E.COMPARATORLOOSE])});N("range list",H);let Y=new Map,V=H.map((U)=>new _0(U,this.options));for(let U of V){if(f1(U))return[U];Y.set(U.value,U)}if(Y.size>1&&Y.has(""))Y.delete("");let F=[...Y.values()];return h1.set(Z,F),F}intersects(q,$){if(!(q instanceof Y6))throw TypeError("a Range is required");return this.set.some((Z)=>{return v1(Z,$)&&q.set.some((Q)=>{return v1(Q,$)&&Z.every((J)=>{return Q.every((W)=>{return J.intersects(W,$)})})})})}test(q){if(!q)return!1;if(typeof q==="string")try{q=new p$(q,this.options)}catch($){return!1}for(let $=0;$<this.set.length;$++)if(FZ(this.set[$],q,this.options))return!0;return!1}}y1.exports=Y6;var c$=b1(),h1=new c$,l$=P6(),_0=F6(),N=W6(),p$=S(),{safeRe:A,t:E,comparatorTrimReplace:n$,tildeTrimReplace:i$,caretTrimReplace:s$}=e(),{FLAG_INCLUDE_PRERELEASE:r$,FLAG_LOOSE:t$}=J6(),f1=(q)=>q.value==="<0.0.0-0",a$=(q)=>q.value==="",v1=(q,$)=>{let Z=!0,Q=q.slice(),J=Q.pop();while(Z&&Q.length)Z=Q.every((W)=>{return J.intersects(W,$)}),J=Q.pop();return Z},o$=(q,$)=>{return q=q.replace(A[E.BUILD],""),N("comp",q,$),q=$Z(q,$),N("caret",q),q=e$(q,$),N("tildes",q),q=QZ(q,$),N("xrange",q),q=WZ(q,$),N("stars",q),q},x=(q)=>!q||q.toLowerCase()==="x"||q==="*",e$=(q,$)=>{return q.trim().split(/\s+/).map((Z)=>qZ(Z,$)).join(" ")},qZ=(q,$)=>{let Z=$.loose?A[E.TILDELOOSE]:A[E.TILDE];return q.replace(Z,(Q,J,W,H,Y)=>{N("tilde",q,Q,J,W,H,Y);let V;if(x(J))V="";else if(x(W))V=`>=${J}.0.0 <${+J+1}.0.0-0`;else if(x(H))V=`>=${J}.${W}.0 <${J}.${+W+1}.0-0`;else if(Y)N("replaceTilde pr",Y),V=`>=${J}.${W}.${H}-${Y} <${J}.${+W+1}.0-0`;else V=`>=${J}.${W}.${H} <${J}.${+W+1}.0-0`;return N("tilde return",V),V})},$Z=(q,$)=>{return q.trim().split(/\s+/).map((Z)=>ZZ(Z,$)).join(" ")},ZZ=(q,$)=>{N("caret",q,$);let Z=$.loose?A[E.CARETLOOSE]:A[E.CARET],Q=$.includePrerelease?"-0":"";return q.replace(Z,(J,W,H,Y,V)=>{N("caret",q,J,W,H,Y,V);let F;if(x(W))F="";else if(x(H))F=`>=${W}.0.0${Q} <${+W+1}.0.0-0`;else if(x(Y))if(W==="0")F=`>=${W}.${H}.0${Q} <${W}.${+H+1}.0-0`;else F=`>=${W}.${H}.0${Q} <${+W+1}.0.0-0`;else if(V)if(N("replaceCaret pr",V),W==="0")if(H==="0")F=`>=${W}.${H}.${Y}-${V} <${W}.${H}.${+Y+1}-0`;else F=`>=${W}.${H}.${Y}-${V} <${W}.${+H+1}.0-0`;else F=`>=${W}.${H}.${Y}-${V} <${+W+1}.0.0-0`;else if(N("no pr"),W==="0")if(H==="0")F=`>=${W}.${H}.${Y}${Q} <${W}.${H}.${+Y+1}-0`;else F=`>=${W}.${H}.${Y}${Q} <${W}.${+H+1}.0-0`;else F=`>=${W}.${H}.${Y} <${+W+1}.0.0-0`;return N("caret return",F),F})},QZ=(q,$)=>{return N("replaceXRanges",q,$),q.split(/\s+/).map((Z)=>JZ(Z,$)).join(" ")},JZ=(q,$)=>{q=q.trim();let Z=$.loose?A[E.XRANGELOOSE]:A[E.XRANGE];return q.replace(Z,(Q,J,W,H,Y,V)=>{N("xRange",q,Q,J,W,H,Y,V);let F=x(W),U=F||x(H),G=U||x(Y),_=G;if(J==="="&&_)J="";if(V=$.includePrerelease?"-0":"",F)if(J===">"||J==="<")Q="<0.0.0-0";else Q="*";else if(J&&_){if(U)H=0;if(Y=0,J===">")if(J=">=",U)W=+W+1,H=0,Y=0;else H=+H+1,Y=0;else if(J==="<=")if(J="<",U)W=+W+1;else H=+H+1;if(J==="<")V="-0";Q=`${J+W}.${H}.${Y}${V}`}else if(U)Q=`>=${W}.0.0${V} <${+W+1}.0.0-0`;else if(G)Q=`>=${W}.${H}.0${V} <${W}.${+H+1}.0-0`;return N("xRange return",Q),Q})},WZ=(q,$)=>{return N("replaceStars",q,$),q.trim().replace(A[E.STAR],"")},HZ=(q,$)=>{return N("replaceGTE0",q,$),q.trim().replace(A[$.includePrerelease?E.GTE0PRE:E.GTE0],"")},YZ=(q)=>($,Z,Q,J,W,H,Y,V,F,U,G,_)=>{if(x(Q))Z="";else if(x(J))Z=`>=${Q}.0.0${q?"-0":""}`;else if(x(W))Z=`>=${Q}.${J}.0${q?"-0":""}`;else if(H)Z=`>=${Z}`;else Z=`>=${Z}${q?"-0":""}`;if(x(F))V="";else if(x(U))V=`<${+F+1}.0.0-0`;else if(x(G))V=`<${F}.${+U+1}.0-0`;else if(_)V=`<=${F}.${U}.${G}-${_}`;else if(q)V=`<${F}.${U}.${+G+1}-0`;else V=`<=${V}`;return`${Z} ${V}`.trim()},FZ=(q,$,Z)=>{for(let Q=0;Q<q.length;Q++)if(!q[Q].test($))return!1;if($.prerelease.length&&!Z.includePrerelease){for(let Q=0;Q<q.length;Q++){if(N(q[Q].semver),q[Q].semver===_0.ANY)continue;if(q[Q].semver.prerelease.length>0){let J=q[Q].semver;if(J.major===$.major&&J.minor===$.minor&&J.patch===$.patch)return!0}}return!1}return!0}});var F6=D((n7,l1)=>{var X6=Symbol("SemVer ANY");class u6{static get ANY(){return X6}constructor(q,$){if($=g1($),q instanceof u6)if(q.loose===!!$.loose)return q;else q=q.value;if(q=q.trim().split(/\s+/).join(" "),N0("comparator",q,$),this.options=$,this.loose=!!$.loose,this.parse(q),this.semver===X6)this.value="";else this.value=this.operator+this.semver.version;N0("comp",this)}parse(q){let $=this.options.loose?u1[m1.COMPARATORLOOSE]:u1[m1.COMPARATOR],Z=q.match($);if(!Z)throw TypeError(`Invalid comparator: ${q}`);if(this.operator=Z[1]!==void 0?Z[1]:"",this.operator==="=")this.operator="";if(!Z[2])this.semver=X6;else this.semver=new d1(Z[2],this.options.loose)}toString(){return this.value}test(q){if(N0("Comparator.test",q,this.options.loose),this.semver===X6||q===X6)return!0;if(typeof q==="string")try{q=new d1(q,this.options)}catch($){return!1}return O0(q,this.operator,this.semver,this.options)}intersects(q,$){if(!(q instanceof u6))throw TypeError("a Comparator is required");if(this.operator===""){if(this.value==="")return!0;return new c1(q.value,$).test(this.value)}else if(q.operator===""){if(q.value==="")return!0;return new c1(this.value,$).test(q.semver)}if($=g1($),$.includePrerelease&&(this.value==="<0.0.0-0"||q.value==="<0.0.0-0"))return!1;if(!$.includePrerelease&&(this.value.startsWith("<0.0.0")||q.value.startsWith("<0.0.0")))return!1;if(this.operator.startsWith(">")&&q.operator.startsWith(">"))return!0;if(this.operator.startsWith("<")&&q.operator.startsWith("<"))return!0;if(this.semver.version===q.semver.version&&this.operator.includes("=")&&q.operator.includes("="))return!0;if(O0(this.semver,"<",q.semver,$)&&this.operator.startsWith(">")&&q.operator.startsWith("<"))return!0;if(O0(this.semver,">",q.semver,$)&&this.operator.startsWith("<")&&q.operator.startsWith(">"))return!0;return!1}}l1.exports=u6;var g1=P6(),{safeRe:u1,t:m1}=e(),O0=C0(),N0=W6(),d1=S(),c1=I()});var U6=D((i7,p1)=>{var XZ=I(),UZ=(q,$,Z)=>{try{$=new XZ($,Z)}catch(Q){return!1}return $.test(q)};p1.exports=UZ});var i1=D((s7,n1)=>{var VZ=I(),GZ=(q,$)=>new VZ(q,$).set.map((Z)=>Z.map((Q)=>Q.value).join(" ").trim().split(" "));n1.exports=GZ});var r1=D((r7,s1)=>{var DZ=S(),wZ=I(),BZ=(q,$,Z)=>{let Q=null,J=null,W=null;try{W=new wZ($,Z)}catch(H){return null}return q.forEach((H)=>{if(W.test(H)){if(!Q||J.compare(H)===-1)Q=H,J=new DZ(Q,Z)}}),Q};s1.exports=BZ});var a1=D((t7,t1)=>{var zZ=S(),LZ=I(),CZ=(q,$,Z)=>{let Q=null,J=null,W=null;try{W=new LZ($,Z)}catch(H){return null}return q.forEach((H)=>{if(W.test(H)){if(!Q||J.compare(H)===1)Q=H,J=new zZ(Q,Z)}}),Q};t1.exports=CZ});var q4=D((a7,e1)=>{var j0=S(),_Z=I(),o1=H6(),OZ=(q,$)=>{q=new _Z(q,$);let Z=new j0("0.0.0");if(q.test(Z))return Z;if(Z=new j0("0.0.0-0"),q.test(Z))return Z;Z=null;for(let Q=0;Q<q.set.length;++Q){let J=q.set[Q],W=null;if(J.forEach((H)=>{let Y=new j0(H.semver.version);switch(H.operator){case">":if(Y.prerelease.length===0)Y.patch++;else Y.prerelease.push(0);Y.raw=Y.format();case"":case">=":if(!W||o1(Y,W))W=Y;break;case"<":case"<=":break;default:throw Error(`Unexpected operation: ${H.operator}`)}}),W&&(!Z||o1(Z,W)))Z=W}if(Z&&q.test(Z))return Z;return null};e1.exports=OZ});var Z4=D((o7,$4)=>{var NZ=I(),jZ=(q,$)=>{try{return new NZ(q,$).range||"*"}catch(Z){return null}};$4.exports=jZ});var m6=D((e7,H4)=>{var SZ=S(),W4=F6(),{ANY:EZ}=W4,AZ=I(),xZ=U6(),Q4=H6(),J4=h6(),RZ=v6(),KZ=f6(),PZ=(q,$,Z,Q)=>{q=new SZ(q,Q),$=new AZ($,Q);let J,W,H,Y,V;switch(Z){case">":J=Q4,W=RZ,H=J4,Y=">",V=">=";break;case"<":J=J4,W=KZ,H=Q4,Y="<",V="<=";break;default:throw TypeError('Must provide a hilo val of "<" or ">"')}if(xZ(q,$,Q))return!1;for(let F=0;F<$.set.length;++F){let U=$.set[F],G=null,_=null;if(U.forEach((z)=>{if(z.semver===EZ)z=new W4(">=0.0.0");if(G=G||z,_=_||z,J(z.semver,G.semver,Q))G=z;else if(H(z.semver,_.semver,Q))_=z}),G.operator===Y||G.operator===V)return!1;if((!_.operator||_.operator===Y)&&W(q,_.semver))return!1;else if(_.operator===V&&H(q,_.semver))return!1}return!0};H4.exports=PZ});var F4=D((qW,Y4)=>{var MZ=m6(),TZ=(q,$,Z)=>MZ(q,$,">",Z);Y4.exports=TZ});var U4=D(($W,X4)=>{var IZ=m6(),kZ=(q,$,Z)=>IZ(q,$,"<",Z);X4.exports=kZ});var D4=D((ZW,G4)=>{var V4=I(),bZ=(q,$,Z)=>{return q=new V4(q,Z),$=new V4($,Z),q.intersects($,Z)};G4.exports=bZ});var B4=D((QW,w4)=>{var hZ=U6(),fZ=T();w4.exports=(q,$,Z)=>{let Q=[],J=null,W=null,H=q.sort((U,G)=>fZ(U,G,Z));for(let U of H)if(hZ(U,$,Z)){if(W=U,!J)J=U}else{if(W)Q.push([J,W]);W=null,J=null}if(J)Q.push([J,null]);let Y=[];for(let[U,G]of Q)if(U===G)Y.push(U);else if(!G&&U===H[0])Y.push("*");else if(!G)Y.push(`>=${U}`);else if(U===H[0])Y.push(`<=${G}`);else Y.push(`${U} - ${G}`);let V=Y.join(" || "),F=typeof $.raw==="string"?$.raw:String($);return V.length<F.length?V:$}});var N4=D((JW,O4)=>{var z4=I(),E0=F6(),{ANY:S0}=E0,V6=U6(),A0=T(),vZ=(q,$,Z={})=>{if(q===$)return!0;q=new z4(q,Z),$=new z4($,Z);let Q=!1;q:for(let J of q.set){for(let W of $.set){let H=gZ(J,W,Z);if(Q=Q||H!==null,H)continue q}if(Q)return!1}return!0},yZ=[new E0(">=0.0.0-0")],L4=[new E0(">=0.0.0")],gZ=(q,$,Z)=>{if(q===$)return!0;if(q.length===1&&q[0].semver===S0)if($.length===1&&$[0].semver===S0)return!0;else if(Z.includePrerelease)q=yZ;else q=L4;if($.length===1&&$[0].semver===S0)if(Z.includePrerelease)return!0;else $=L4;let Q=new Set,J,W;for(let z of q)if(z.operator===">"||z.operator===">=")J=C4(J,z,Z);else if(z.operator==="<"||z.operator==="<=")W=_4(W,z,Z);else Q.add(z.semver);if(Q.size>1)return null;let H;if(J&&W){if(H=A0(J.semver,W.semver,Z),H>0)return null;else if(H===0&&(J.operator!==">="||W.operator!=="<="))return null}for(let z of Q){if(J&&!V6(z,String(J),Z))return null;if(W&&!V6(z,String(W),Z))return null;for(let j of $)if(!V6(z,String(j),Z))return!1;return!0}let Y,V,F,U,G=W&&!Z.includePrerelease&&W.semver.prerelease.length?W.semver:!1,_=J&&!Z.includePrerelease&&J.semver.prerelease.length?J.semver:!1;if(G&&G.prerelease.length===1&&W.operator==="<"&&G.prerelease[0]===0)G=!1;for(let z of $){if(U=U||z.operator===">"||z.operator===">=",F=F||z.operator==="<"||z.operator==="<=",J){if(_){if(z.semver.prerelease&&z.semver.prerelease.length&&z.semver.major===_.major&&z.semver.minor===_.minor&&z.semver.patch===_.patch)_=!1}if(z.operator===">"||z.operator===">="){if(Y=C4(J,z,Z),Y===z&&Y!==J)return!1}else if(J.operator===">="&&!V6(J.semver,String(z),Z))return!1}if(W){if(G){if(z.semver.prerelease&&z.semver.prerelease.length&&z.semver.major===G.major&&z.semver.minor===G.minor&&z.semver.patch===G.patch)G=!1}if(z.operator==="<"||z.operator==="<="){if(V=_4(W,z,Z),V===z&&V!==W)return!1}else if(W.operator==="<="&&!V6(W.semver,String(z),Z))return!1}if(!z.operator&&(W||J)&&H!==0)return!1}if(J&&F&&!W&&H!==0)return!1;if(W&&U&&!J&&H!==0)return!1;if(_||G)return!1;return!0},C4=(q,$,Z)=>{if(!q)return $;let Q=A0(q.semver,$.semver,Z);return Q>0?q:Q<0?$:$.operator===">"&&q.operator===">="?$:q},_4=(q,$,Z)=>{if(!q)return $;let Q=A0(q.semver,$.semver,Z);return Q<0?q:Q>0?$:$.operator==="<"&&q.operator==="<="?$:q};O4.exports=vZ});var d6=D((WW,E4)=>{var x0=e(),j4=J6(),uZ=S(),S4=w0(),mZ=c(),dZ=s8(),cZ=t8(),lZ=e8(),pZ=Z1(),nZ=J1(),iZ=H1(),sZ=F1(),rZ=U1(),tZ=T(),aZ=w1(),oZ=z1(),eZ=b6(),qQ=O1(),$Q=j1(),ZQ=H6(),QQ=h6(),JQ=z0(),WQ=L0(),HQ=f6(),YQ=v6(),FQ=C0(),XQ=T1(),UQ=F6(),VQ=I(),GQ=U6(),DQ=i1(),wQ=r1(),BQ=a1(),zQ=q4(),LQ=Z4(),CQ=m6(),_Q=F4(),OQ=U4(),NQ=D4(),jQ=B4(),SQ=N4();E4.exports={parse:mZ,valid:dZ,clean:cZ,inc:lZ,diff:pZ,major:nZ,minor:iZ,patch:sZ,prerelease:rZ,compare:tZ,rcompare:aZ,compareLoose:oZ,compareBuild:eZ,sort:qQ,rsort:$Q,gt:ZQ,lt:QQ,eq:JQ,neq:WQ,gte:HQ,lte:YQ,cmp:FQ,coerce:XQ,Comparator:UQ,Range:VQ,satisfies:GQ,toComparators:DQ,maxSatisfying:wQ,minSatisfying:BQ,minVersion:zQ,validRange:LQ,outside:CQ,gtr:_Q,ltr:OQ,intersects:NQ,simplifyRange:jQ,subset:SQ,SemVer:uZ,re:x0.re,src:x0.src,tokens:x0.t,SEMVER_SPEC_VERSION:j4.SEMVER_SPEC_VERSION,RELEASE_TYPES:j4.RELEASE_TYPES,compareIdentifiers:S4.compareIdentifiers,rcompareIdentifiers:S4.rcompareIdentifiers}});var x4=D((HW,A4)=>{var EQ=d6();A4.exports=EQ.satisfies(process.version,">=15.7.0")});var K4=D((YW,R4)=>{var AQ=d6();R4.exports=AQ.satisfies(process.version,">=16.9.0")});var R0=D((FW,P4)=>{var xQ=x4(),RQ=K4(),KQ={ec:["ES256","ES384","ES512"],rsa:["RS256","PS256","RS384","PS384","RS512","PS512"],"rsa-pss":["PS256","PS384","PS512"]},PQ={ES256:"prime256v1",ES384:"secp384r1",ES512:"secp521r1"};P4.exports=function(q,$){if(!q||!$)return;let Z=$.asymmetricKeyType;if(!Z)return;let Q=KQ[Z];if(!Q)throw Error(`Unknown key type "${Z}".`);if(!Q.includes(q))throw Error(`"alg" parameter for "${Z}" key type must be one of: ${Q.join(", ")}.`);if(xQ)switch(Z){case"ec":let J=$.asymmetricKeyDetails.namedCurve,W=PQ[q];if(J!==W)throw Error(`"alg" parameter "${q}" requires curve "${W}".`);break;case"rsa-pss":if(RQ){let H=parseInt(q.slice(-3),10),{hashAlgorithm:Y,mgf1HashAlgorithm:V,saltLength:F}=$.asymmetricKeyDetails;if(Y!==`sha${H}`||V!==Y)throw Error(`Invalid key for this operation, its RSA-PSS parameters do not meet the requirements of "alg" ${q}.`);if(F!==void 0&&F>H>>3)throw Error(`Invalid key for this operation, its RSA-PSS parameter saltLength does not meet the requirements of "alg" ${q}.`)}break}}});var K0=D((XW,M4)=>{var MQ=d6();M4.exports=MQ.satisfies(process.version,"^6.12.0 || >=8.0.0")});var k4=D((UW,I4)=>{var O=Q6(),TQ=X0(),T4=U0(),IQ=F0(),kQ=V0(),bQ=R0(),hQ=K0(),fQ=E6(),{KeyObject:vQ,createSecretKey:yQ,createPublicKey:gQ}=K("crypto"),P0=["RS256","RS384","RS512"],uQ=["ES256","ES384","ES512"],M0=["RS256","RS384","RS512"],mQ=["HS256","HS384","HS512"];if(hQ)P0.splice(P0.length,0,"PS256","PS384","PS512"),M0.splice(M0.length,0,"PS256","PS384","PS512");I4.exports=function(q,$,Z,Q){if(typeof Z==="function"&&!Q)Q=Z,Z={};if(!Z)Z={};Z=Object.assign({},Z);let J;if(Q)J=Q;else J=function(U,G){if(U)throw U;return G};if(Z.clockTimestamp&&typeof Z.clockTimestamp!=="number")return J(new O("clockTimestamp must be a number"));if(Z.nonce!==void 0&&(typeof Z.nonce!=="string"||Z.nonce.trim()===""))return J(new O("nonce must be a non-empty string"));if(Z.allowInvalidAsymmetricKeyTypes!==void 0&&typeof Z.allowInvalidAsymmetricKeyTypes!=="boolean")return J(new O("allowInvalidAsymmetricKeyTypes must be a boolean"));let W=Z.clockTimestamp||Math.floor(Date.now()/1000);if(!q)return J(new O("jwt must be provided"));if(typeof q!=="string")return J(new O("jwt must be a string"));let H=q.split(".");if(H.length!==3)return J(new O("jwt malformed"));let Y;try{Y=IQ(q,{complete:!0})}catch(U){return J(U)}if(!Y)return J(new O("invalid token"));let V=Y.header,F;if(typeof $==="function"){if(!Q)return J(new O("verify must be called asynchronous if secret or public key is provided as a callback"));F=$}else F=function(U,G){return G(null,$)};return F(V,function(U,G){if(U)return J(new O("error in secret or public key callback: "+U.message));let _=H[2].trim()!=="";if(!_&&G)return J(new O("jwt signature is required"));if(_&&!G)return J(new O("secret or public key must be provided"));if(!_&&!Z.algorithms)return J(new O('please specify "none" in "algorithms" to verify unsigned tokens'));if(G!=null&&!(G instanceof vQ))try{G=gQ(G)}catch(R){try{G=yQ(typeof G==="string"?Buffer.from(G):G)}catch(R9){return J(new O("secretOrPublicKey is not valid key material"))}}if(!Z.algorithms)if(G.type==="secret")Z.algorithms=mQ;else if(["rsa","rsa-pss"].includes(G.asymmetricKeyType))Z.algorithms=M0;else if(G.asymmetricKeyType==="ec")Z.algorithms=uQ;else Z.algorithms=P0;if(Z.algorithms.indexOf(Y.header.alg)===-1)return J(new O("invalid algorithm"));if(V.alg.startsWith("HS")&&G.type!=="secret")return J(new O(`secretOrPublicKey must be a symmetric key when using ${V.alg}`));else if(/^(?:RS|PS|ES)/.test(V.alg)&&G.type!=="public")return J(new O(`secretOrPublicKey must be an asymmetric key when using ${V.alg}`));if(!Z.allowInvalidAsymmetricKeyTypes)try{bQ(V.alg,G)}catch(R){return J(R)}let z;try{z=fQ.verify(q,Y.header.alg,G)}catch(R){return J(R)}if(!z)return J(new O("invalid signature"));let j=Y.payload;if(typeof j.nbf<"u"&&!Z.ignoreNotBefore){if(typeof j.nbf!=="number")return J(new O("invalid nbf value"));if(j.nbf>W+(Z.clockTolerance||0))return J(new TQ("jwt not active",new Date(j.nbf*1000)))}if(typeof j.exp<"u"&&!Z.ignoreExpiration){if(typeof j.exp!=="number")return J(new O("invalid exp value"));if(W>=j.exp+(Z.clockTolerance||0))return J(new T4("jwt expired",new Date(j.exp*1000)))}if(Z.audience){let R=Array.isArray(Z.audience)?Z.audience:[Z.audience];if(!(Array.isArray(j.aud)?j.aud:[j.aud]).some(function(y0){return R.some(function(t6){return t6 instanceof RegExp?t6.test(y0):t6===y0})}))return J(new O("jwt audience invalid. expected: "+R.join(" or ")))}if(Z.issuer){if(typeof Z.issuer==="string"&&j.iss!==Z.issuer||Array.isArray(Z.issuer)&&Z.issuer.indexOf(j.iss)===-1)return J(new O("jwt issuer invalid. expected: "+Z.issuer))}if(Z.subject){if(j.sub!==Z.subject)return J(new O("jwt subject invalid. expected: "+Z.subject))}if(Z.jwtid){if(j.jti!==Z.jwtid)return J(new O("jwt jwtid invalid. expected: "+Z.jwtid))}if(Z.nonce){if(j.nonce!==Z.nonce)return J(new O("jwt nonce invalid. expected: "+Z.nonce))}if(Z.maxAge){if(typeof j.iat!=="number")return J(new O("iat required when maxAge is specified"));let R=kQ(Z.maxAge,j.iat);if(typeof R>"u")return J(new O('"maxAge" should be a number of seconds or string representing a timespan eg: "1d", "20h", 60'));if(W>=R+(Z.clockTolerance||0))return J(new T4("maxAge exceeded",new Date(R*1000)))}if(Z.complete===!0){let R=Y.signature;return J(null,{header:V,payload:j,signature:R})}return J(null,j)})}});var g4=D((VW,y4)=>{var b4=1/0,f4=9007199254740991,dQ=179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,h4=NaN,cQ="[object Arguments]",lQ="[object Function]",pQ="[object GeneratorFunction]",nQ="[object String]",iQ="[object Symbol]",sQ=/^\s+|\s+$/g,rQ=/^[-+]0x[0-9a-f]+$/i,tQ=/^0b[01]+$/i,aQ=/^0o[0-7]+$/i,oQ=/^(?:0|[1-9]\d*)$/,eQ=parseInt;function q5(q,$){var Z=-1,Q=q?q.length:0,J=Array(Q);while(++Z<Q)J[Z]=$(q[Z],Z,q);return J}function $5(q,$,Z,Q){var J=q.length,W=Z+(Q?1:-1);while(Q?W--:++W<J)if($(q[W],W,q))return W;return-1}function Z5(q,$,Z){if($!==$)return $5(q,Q5,Z);var Q=Z-1,J=q.length;while(++Q<J)if(q[Q]===$)return Q;return-1}function Q5(q){return q!==q}function J5(q,$){var Z=-1,Q=Array(q);while(++Z<q)Q[Z]=$(Z);return Q}function W5(q,$){return q5($,function(Z){return q[Z]})}function H5(q,$){return function(Z){return q($(Z))}}var c6=Object.prototype,I0=c6.hasOwnProperty,l6=c6.toString,Y5=c6.propertyIsEnumerable,F5=H5(Object.keys,Object),X5=Math.max;function U5(q,$){var Z=v4(q)||B5(q)?J5(q.length,String):[],Q=Z.length,J=!!Q;for(var W in q)if(($||I0.call(q,W))&&!(J&&(W=="length"||G5(W,Q))))Z.push(W);return Z}function V5(q){if(!D5(q))return F5(q);var $=[];for(var Z in Object(q))if(I0.call(q,Z)&&Z!="constructor")$.push(Z);return $}function G5(q,$){return $=$==null?f4:$,!!$&&(typeof q=="number"||oQ.test(q))&&(q>-1&&q%1==0&&q<$)}function D5(q){var $=q&&q.constructor,Z=typeof $=="function"&&$.prototype||c6;return q===Z}function w5(q,$,Z,Q){q=k0(q)?q:A5(q),Z=Z&&!Q?j5(Z):0;var J=q.length;if(Z<0)Z=X5(J+Z,0);return _5(q)?Z<=J&&q.indexOf($,Z)>-1:!!J&&Z5(q,$,Z)>-1}function B5(q){return z5(q)&&I0.call(q,"callee")&&(!Y5.call(q,"callee")||l6.call(q)==cQ)}var v4=Array.isArray;function k0(q){return q!=null&&C5(q.length)&&!L5(q)}function z5(q){return b0(q)&&k0(q)}function L5(q){var $=T0(q)?l6.call(q):"";return $==lQ||$==pQ}function C5(q){return typeof q=="number"&&q>-1&&q%1==0&&q<=f4}function T0(q){var $=typeof q;return!!q&&($=="object"||$=="function")}function b0(q){return!!q&&typeof q=="object"}function _5(q){return typeof q=="string"||!v4(q)&&b0(q)&&l6.call(q)==nQ}function O5(q){return typeof q=="symbol"||b0(q)&&l6.call(q)==iQ}function N5(q){if(!q)return q===0?q:0;if(q=S5(q),q===b4||q===-b4){var $=q<0?-1:1;return $*dQ}return q===q?q:0}function j5(q){var $=N5(q),Z=$%1;return $===$?Z?$-Z:$:0}function S5(q){if(typeof q=="number")return q;if(O5(q))return h4;if(T0(q)){var $=typeof q.valueOf=="function"?q.valueOf():q;q=T0($)?$+"":$}if(typeof q!="string")return q===0?q:+q;q=q.replace(sQ,"");var Z=tQ.test(q);return Z||aQ.test(q)?eQ(q.slice(2),Z?2:8):rQ.test(q)?h4:+q}function E5(q){return k0(q)?U5(q):V5(q)}function A5(q){return q?W5(q,E5(q)):[]}y4.exports=w5});var m4=D((GW,u4)=>{var x5="[object Boolean]",R5=Object.prototype,K5=R5.toString;function P5(q){return q===!0||q===!1||M5(q)&&K5.call(q)==x5}function M5(q){return!!q&&typeof q=="object"}u4.exports=P5});var n4=D((DW,p4)=>{var d4=1/0,T5=179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,c4=NaN,I5="[object Symbol]",k5=/^\s+|\s+$/g,b5=/^[-+]0x[0-9a-f]+$/i,h5=/^0b[01]+$/i,f5=/^0o[0-7]+$/i,v5=parseInt,y5=Object.prototype,g5=y5.toString;function u5(q){return typeof q=="number"&&q==l5(q)}function l4(q){var $=typeof q;return!!q&&($=="object"||$=="function")}function m5(q){return!!q&&typeof q=="object"}function d5(q){return typeof q=="symbol"||m5(q)&&g5.call(q)==I5}function c5(q){if(!q)return q===0?q:0;if(q=p5(q),q===d4||q===-d4){var $=q<0?-1:1;return $*T5}return q===q?q:0}function l5(q){var $=c5(q),Z=$%1;return $===$?Z?$-Z:$:0}function p5(q){if(typeof q=="number")return q;if(d5(q))return c4;if(l4(q)){var $=typeof q.valueOf=="function"?q.valueOf():q;q=l4($)?$+"":$}if(typeof q!="string")return q===0?q:+q;q=q.replace(k5,"");var Z=h5.test(q);return Z||f5.test(q)?v5(q.slice(2),Z?2:8):b5.test(q)?c4:+q}p4.exports=u5});var s4=D((wW,i4)=>{var n5="[object Number]",i5=Object.prototype,s5=i5.toString;function r5(q){return!!q&&typeof q=="object"}function t5(q){return typeof q=="number"||r5(q)&&s5.call(q)==n5}i4.exports=t5});var o4=D((BW,a4)=>{var a5="[object Object]";function o5(q){var $=!1;if(q!=null&&typeof q.toString!="function")try{$=!!(q+"")}catch(Z){}return $}function e5(q,$){return function(Z){return q($(Z))}}var qJ=Function.prototype,r4=Object.prototype,t4=qJ.toString,$J=r4.hasOwnProperty,ZJ=t4.call(Object),QJ=r4.toString,JJ=e5(Object.getPrototypeOf,Object);function WJ(q){return!!q&&typeof q=="object"}function HJ(q){if(!WJ(q)||QJ.call(q)!=a5||o5(q))return!1;var $=JJ(q);if($===null)return!0;var Z=$J.call($,"constructor")&&$.constructor;return typeof Z=="function"&&Z instanceof Z&&t4.call(Z)==ZJ}a4.exports=HJ});var q9=D((zW,e4)=>{var YJ="[object String]",FJ=Object.prototype,XJ=FJ.toString,UJ=Array.isArray;function VJ(q){return!!q&&typeof q=="object"}function GJ(q){return typeof q=="string"||!UJ(q)&&VJ(q)&&XJ.call(q)==YJ}e4.exports=GJ});var W9=D((LW,J9)=>{var DJ="Expected a function",$9=1/0,wJ=179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,Z9=NaN,BJ="[object Symbol]",zJ=/^\s+|\s+$/g,LJ=/^[-+]0x[0-9a-f]+$/i,CJ=/^0b[01]+$/i,_J=/^0o[0-7]+$/i,OJ=parseInt,NJ=Object.prototype,jJ=NJ.toString;function SJ(q,$){var Z;if(typeof $!="function")throw TypeError(DJ);return q=KJ(q),function(){if(--q>0)Z=$.apply(this,arguments);if(q<=1)$=void 0;return Z}}function EJ(q){return SJ(2,q)}function Q9(q){var $=typeof q;return!!q&&($=="object"||$=="function")}function AJ(q){return!!q&&typeof q=="object"}function xJ(q){return typeof q=="symbol"||AJ(q)&&jJ.call(q)==BJ}function RJ(q){if(!q)return q===0?q:0;if(q=PJ(q),q===$9||q===-$9){var $=q<0?-1:1;return $*wJ}return q===q?q:0}function KJ(q){var $=RJ(q),Z=$%1;return $===$?Z?$-Z:$:0}function PJ(q){if(typeof q=="number")return q;if(xJ(q))return Z9;if(Q9(q)){var $=typeof q.valueOf=="function"?q.valueOf():q;q=Q9($)?$+"":$}if(typeof q!="string")return q===0?q:+q;q=q.replace(zJ,"");var Z=CJ.test(q);return Z||_J.test(q)?OJ(q.slice(2),Z?2:8):LJ.test(q)?Z9:+q}J9.exports=EJ});var w9=D((CW,D9)=>{var H9=V0(),MJ=K0(),TJ=R0(),Y9=E6(),IJ=g4(),p6=m4(),F9=n4(),h0=s4(),U9=o4(),g=q9(),kJ=W9(),{KeyObject:bJ,createSecretKey:hJ,createPrivateKey:fJ}=K("crypto"),V9=["RS256","RS384","RS512","ES256","ES384","ES512","HS256","HS384","HS512","none"];if(MJ)V9.splice(3,0,"PS256","PS384","PS512");var vJ={expiresIn:{isValid:function(q){return F9(q)||g(q)&&q},message:'"expiresIn" should be a number of seconds or string representing a timespan'},notBefore:{isValid:function(q){return F9(q)||g(q)&&q},message:'"notBefore" should be a number of seconds or string representing a timespan'},audience:{isValid:function(q){return g(q)||Array.isArray(q)},message:'"audience" must be a string or array'},algorithm:{isValid:IJ.bind(null,V9),message:'"algorithm" must be a valid string enum value'},header:{isValid:U9,message:'"header" must be an object'},encoding:{isValid:g,message:'"encoding" must be a string'},issuer:{isValid:g,message:'"issuer" must be a string'},subject:{isValid:g,message:'"subject" must be a string'},jwtid:{isValid:g,message:'"jwtid" must be a string'},noTimestamp:{isValid:p6,message:'"noTimestamp" must be a boolean'},keyid:{isValid:g,message:'"keyid" must be a string'},mutatePayload:{isValid:p6,message:'"mutatePayload" must be a boolean'},allowInsecureKeySizes:{isValid:p6,message:'"allowInsecureKeySizes" must be a boolean'},allowInvalidAsymmetricKeyTypes:{isValid:p6,message:'"allowInvalidAsymmetricKeyTypes" must be a boolean'}},yJ={iat:{isValid:h0,message:'"iat" should be a number of seconds'},exp:{isValid:h0,message:'"exp" should be a number of seconds'},nbf:{isValid:h0,message:'"nbf" should be a number of seconds'}};function G9(q,$,Z,Q){if(!U9(Z))throw Error('Expected "'+Q+'" to be a plain object.');Object.keys(Z).forEach(function(J){let W=q[J];if(!W){if(!$)throw Error('"'+J+'" is not allowed in "'+Q+'"');return}if(!W.isValid(Z[J]))throw Error(W.message)})}function gJ(q){return G9(vJ,!1,q,"options")}function uJ(q){return G9(yJ,!0,q,"payload")}var X9={audience:"aud",issuer:"iss",subject:"sub",jwtid:"jti"},mJ=["expiresIn","notBefore","noTimestamp","audience","issuer","subject","jwtid"];D9.exports=function(q,$,Z,Q){if(typeof Z==="function")Q=Z,Z={};else Z=Z||{};let J=typeof q==="object"&&!Buffer.isBuffer(q),W=Object.assign({alg:Z.algorithm||"HS256",typ:J?"JWT":void 0,kid:Z.keyid},Z.header);function H(F){if(Q)return Q(F);throw F}if(!$&&Z.algorithm!=="none")return H(Error("secretOrPrivateKey must have a value"));if($!=null&&!($ instanceof bJ))try{$=fJ($)}catch(F){try{$=hJ(typeof $==="string"?Buffer.from($):$)}catch(U){return H(Error("secretOrPrivateKey is not valid key material"))}}if(W.alg.startsWith("HS")&&$.type!=="secret")return H(Error(`secretOrPrivateKey must be a symmetric key when using ${W.alg}`));else if(/^(?:RS|PS|ES)/.test(W.alg)){if($.type!=="private")return H(Error(`secretOrPrivateKey must be an asymmetric key when using ${W.alg}`));if(!Z.allowInsecureKeySizes&&!W.alg.startsWith("ES")&&$.asymmetricKeyDetails!==void 0&&$.asymmetricKeyDetails.modulusLength<2048)return H(Error(`secretOrPrivateKey has a minimum key size of 2048 bits for ${W.alg}`))}if(typeof q>"u")return H(Error("payload is required"));else if(J){try{uJ(q)}catch(F){return H(F)}if(!Z.mutatePayload)q=Object.assign({},q)}else{let F=mJ.filter(function(U){return typeof Z[U]<"u"});if(F.length>0)return H(Error("invalid "+F.join(",")+" option for "+typeof q+" payload"))}if(typeof q.exp<"u"&&typeof Z.expiresIn<"u")return H(Error('Bad "options.expiresIn" option the payload already has an "exp" property.'));if(typeof q.nbf<"u"&&typeof Z.notBefore<"u")return H(Error('Bad "options.notBefore" option the payload already has an "nbf" property.'));try{gJ(Z)}catch(F){return H(F)}if(!Z.allowInvalidAsymmetricKeyTypes)try{TJ(W.alg,$)}catch(F){return H(F)}let Y=q.iat||Math.floor(Date.now()/1000);if(Z.noTimestamp)delete q.iat;else if(J)q.iat=Y;if(typeof Z.notBefore<"u"){try{q.nbf=H9(Z.notBefore,Y)}catch(F){return H(F)}if(typeof q.nbf>"u")return H(Error('"notBefore" should be a number of seconds or string representing a timespan eg: "1d", "20h", 60'))}if(typeof Z.expiresIn<"u"&&typeof q==="object"){try{q.exp=H9(Z.expiresIn,Y)}catch(F){return H(F)}if(typeof q.exp>"u")return H(Error('"expiresIn" should be a number of seconds or string representing a timespan eg: "1d", "20h", 60'))}Object.keys(X9).forEach(function(F){let U=X9[F];if(typeof Z[F]<"u"){if(typeof q[U]<"u")return H(Error('Bad "options.'+F+'" option. The payload already has an "'+U+'" property.'));q[U]=Z[F]}});let V=Z.encoding||"utf8";if(typeof Q==="function")Q=Q&&kJ(Q),Y9.createSign({header:W,privateKey:$,payload:q,encoding:V}).once("error",Q).once("done",function(F){if(!Z.allowInsecureKeySizes&&/^(?:RS|PS)/.test(W.alg)&&F.length<256)return Q(Error(`secretOrPrivateKey has a minimum key size of 2048 bits for ${W.alg}`));Q(null,F)});else{let F=Y9.sign({header:W,payload:q,secret:$,encoding:V});if(!Z.allowInsecureKeySizes&&/^(?:RS|PS)/.test(W.alg)&&F.length<256)throw Error(`secretOrPrivateKey has a minimum key size of 2048 bits for ${W.alg}`);return F}}});var z9=D((_W,B9)=>{B9.exports={decode:F0(),verify:k4(),sign:w9(),JsonWebTokenError:Q6(),NotBeforeError:X0(),TokenExpiredError:U0()}});var PH=a6(g0(),1);function P2(q="",$){return(Z)=>{let Q=q.trim();if(Q&&!Q.startsWith("/"))Q="/"+Q;if(Q.endsWith("/"))Q=Q.slice(0,-1);C.defineController(Z,{prefix:Q,middleware:$?.middleware||[]})}}function p(q){return($="")=>{return(Z,Q)=>{let J=$.trim();if(J&&!J.startsWith("/"))J="/"+J;let W=Reflect.getMetadata("route:middleware",Z,Q)||[];C.defineRoute(Z,Q,{method:q,path:J,middleware:W,parameters:[],dependencies:[],responses:[]})}}}var M2=p("GET"),T2=p("POST"),I2=p("PUT"),k2=p("DELETE"),b2=p("PATCH"),h2=p("ALL");function K9(q){return($,Z,Q)=>{if(!Z)return;let J={index:Q,type:"body",schema:q,required:!0};C.defineParameter($,Z,Q,J)}}function P9(q){return($,Z,Q)=>{if(!Z)return;let J={index:Q,type:"param",name:q,required:!0};C.defineParameter($,Z,Q,J)}}function M9(q){return($,Z,Q)=>{if(!Z)return;let J={index:Q,type:"header",name:q,required:!1};C.defineParameter($,Z,Q,J)}}function T9(q){return($,Z,Q)=>{if(!Z)return;let J={index:Q,type:"cookie",name:q,required:!1};C.defineParameter($,Z,Q,J)}}function I9(){return(q,$,Z)=>{if(!$)return;let Q={index:Z,type:"context",required:!0};C.defineParameter(q,$,Z,Q)}}function u2(q,$="request"){return(Z,Q,J)=>{if(Q===void 0)throw Error("@Depends decorator can only be used on method parameters, not constructor parameters");C.defineDependency(Z,Q,J,{index:J,provider:q,scope:$})}}function d2(...q){return($,Z)=>{let Q=Reflect.getMetadata("route:middleware",$,Z)||[];Reflect.defineMetadata("route:middleware",[...Q,...q],$,Z)}}function p2(q){return($,Z)=>{let Q=C.getRouteMetadata($,Z);C.defineRoute($,Z,{...Q,docs:{...Q?.docs,...q}})}}function n2(q){return($,Z)=>{let Q=C.getRouteMetadata($,Z),J=Q?.responses||[],W=J.findIndex((Y)=>Y.statusCode===q.statusCode),H;if(W>=0)H=[...J],H[W]=q;else H=[...J,q];C.defineRoute($,Z,{...Q,responses:H})}}var s2=a6(g0(),1);function t2(q){return($)=>{C.defineWebSocket($,{path:q})}}function a2(){return(q,$)=>{C.defineWebSocketHandler(q,$,{type:"connect",method:$})}}function o2(q){return($,Z)=>{C.defineWebSocketHandler($,Z,{type:"message",method:Z,schema:q})}}function e2(){return(q,$)=>{C.defineWebSocketHandler(q,$,{type:"disconnect",method:$})}}var u=a6(z9(),1);class f0{config;blacklistedTokens=new Set;constructor(q){this.config=q;if(!q.secret)throw Error("JWT secret is required")}generateTokens(q){let $=Math.floor(Date.now()/1000),Z=this.parseExpiration(this.config.expiresIn||"1h"),Q={sub:q.sub,...q,iat:$,exp:$+Z,iss:this.config.issuer,aud:this.config.audience},J=u.sign(Q,this.config.secret,{algorithm:this.config.algorithm||"HS256"}),W={sub:q.sub,type:"refresh",iat:$,exp:$+this.parseExpiration(this.config.refreshExpiresIn||"7d"),iss:this.config.issuer,aud:this.config.audience},H=u.sign(W,this.config.refreshSecret||this.config.secret,{algorithm:this.config.algorithm||"HS256"});return{accessToken:J,refreshToken:H,expiresIn:Z}}verifyAccessToken(q){if(this.isBlacklisted(q))throw Error("Token has been revoked");try{return u.verify(q,this.config.secret,{algorithms:[this.config.algorithm||"HS256"],issuer:this.config.issuer,audience:this.config.audience})}catch($){if($ instanceof Error)throw Error(`Invalid token: ${$.message}`);throw Error("Invalid token")}}verifyRefreshToken(q){if(this.isBlacklisted(q))throw Error("Refresh token has been revoked");try{let $=u.verify(q,this.config.refreshSecret||this.config.secret,{algorithms:[this.config.algorithm||"HS256"],issuer:this.config.issuer,audience:this.config.audience});if($.type!=="refresh")throw Error("Invalid refresh token type");return $}catch($){if($ instanceof Error)throw Error(`Invalid refresh token: ${$.message}`);throw Error("Invalid refresh token")}}refreshAccessToken(q){let $=this.verifyRefreshToken(q);return this.blacklistToken(q),this.generateTokens({sub:$.sub,...Object.fromEntries(Object.entries($).filter(([Z])=>!["iat","exp","iss","aud","type"].includes(Z)))})}decodeToken(q){try{return u.decode(q)}catch{return null}}blacklistToken(q){this.blacklistedTokens.add(q)}isBlacklisted(q){return this.blacklistedTokens.has(q)}cleanupBlacklist(){let q=Math.floor(Date.now()/1000);for(let $ of this.blacklistedTokens){let Z=this.decodeToken($);if(Z&&Z.exp&&Z.exp<q)this.blacklistedTokens.delete($)}}parseExpiration(q){if(typeof q==="number")return q;let $={s:1,m:60,h:3600,d:86400,w:604800},Z=q.match(/^(\d+)([smhdw])$/);if(!Z)throw Error(`Invalid expiration format: ${q}`);let[,Q,J]=Z;return parseInt(Q)*$[J]}}var NW=X.object({sub:X.string(),iat:X.number().optional(),exp:X.number().optional(),iss:X.string().optional(),aud:X.string().optional()}).passthrough(),jW=X.object({username:X.string().min(1),password:X.string().min(1)}),SW=X.object({refreshToken:X.string().min(1)});class i6{config;userProvider;jwtProvider;constructor(q,$){this.config=q;this.userProvider=$;this.jwtProvider=new f0(q)}async login(q,$){let Z=await this.userProvider.findByCredentials(q,$);if(!Z)throw new h("Invalid credentials");let Q=this.jwtProvider.generateTokens({sub:Z.id,username:Z.username,email:Z.email,roles:Z.roles||[],permissions:Z.permissions||[]});return{user:Z,tokens:Q}}async refresh(q){try{return this.jwtProvider.refreshAccessToken(q)}catch($){throw new n6($ instanceof Error?$.message:"Invalid refresh token")}}async logout(q,$){if(this.jwtProvider.blacklistToken(q),$)this.jwtProvider.blacklistToken($)}async verifyToken(q){try{let $=this.jwtProvider.verifyAccessToken(q),Z=await this.userProvider.findById($.sub);if(!Z)throw new h("User not found");return Z}catch($){if($ instanceof Error){if($.message.includes("expired"))throw new L9;throw new n6($.message)}throw new n6("Token verification failed")}}getUserFromToken(q){return this.jwtProvider.verifyAccessToken(q)}hasRoles(q,$){let Z=q.roles||[];return $.every((Q)=>Z.includes(Q))}hasPermissions(q,$){let Z=q.permissions||[];return $.every((Q)=>Z.includes(Q))}async register(q){let $=await this.userProvider.hashPassword(q.password),Z={id:crypto.randomUUID(),username:q.username,email:q.email,roles:q.roles||["user"]},Q=this.jwtProvider.generateTokens({sub:Z.id,username:Z.username,email:Z.email,roles:Z.roles});return{user:Z,tokens:Q}}cleanup(){this.jwtProvider.cleanupBlacklist()}getJWTProvider(){return this.jwtProvider}}class dJ{users=new Map;async findByCredentials(q,$){for(let[Z,Q]of this.users)if(Q.username===q){if(await this.verifyPassword($,Q.passwordHash)){let{passwordHash:W,...H}=Q;return H}}return null}async findById(q){let $=this.users.get(q);if($){let{passwordHash:Z,...Q}=$;return Q}return null}async hashPassword(q){return Buffer.from(q).toString("base64")}async verifyPassword(q,$){return await this.hashPassword(q)===$}async createUser(q){let $=crypto.randomUUID(),Z=await this.hashPassword(q.password),Q={id:$,username:q.username,email:q.email,roles:q.roles||["user"],passwordHash:Z};this.users.set($,Q);let{passwordHash:J,...W}=Q;return W}}class G6{roles=new Map;hierarchy=new Map;compiledPermissions=new Map;defineRole(q){if(this.roles.set(q.name,q),q.inherits&&q.inherits.length>0)this.hierarchy.set(q.name,q.inherits);this.compiledPermissions.clear()}defineRoles(q){for(let $ of q)this.defineRole($)}getRolePermissions(q){if(this.compiledPermissions.has(q))return Array.from(this.compiledPermissions.get(q));let $=new Set;return this.collectPermissions(q,$,new Set),this.compiledPermissions.set(q,$),Array.from($)}roleHasPermission(q,$){return this.getRolePermissions(q).includes($)}userHasPermission(q,$){for(let Z of q)if(this.roleHasPermission(Z,$))return!0;return!1}userHasRoles(q,$){return $.every((Z)=>q.includes(Z))}userHasAnyRole(q,$){return $.some((Z)=>q.includes(Z))}getRolesWithPermission(q){let $=[];for(let Z of this.roles.keys())if(this.roleHasPermission(Z,q))$.push(Z);return $}getRoleHierarchy(q){let $=[];return this.collectParentRoles(q,$,new Set),$}roleInheritsFrom(q,$){return this.getRoleHierarchy(q).includes($)}getAllRoles(){return Array.from(this.roles.values())}getRole(q){return this.roles.get(q)}roleExists(q){return this.roles.has(q)}validateRoles(q){let $=[],Z=[];for(let Q of q)if(this.roleExists(Q))$.push(Q);else Z.push(Q);return{valid:$,invalid:Z}}getEffectiveRoles(q){let $=new Set;for(let Z of q)$.add(Z),this.getRoleHierarchy(Z).forEach((J)=>$.add(J));return Array.from($)}compareRoleLevels(q,$){let Z=this.getRole(q),Q=this.getRole($),J=Z?.level??0,W=Q?.level??0;return J-W}getHighestRoleLevel(q){let $=0;for(let Z of q){let Q=this.getRole(Z);if(Q&&Q.level&&Q.level>$)$=Q.level}return $}collectPermissions(q,$,Z){if(Z.has(q))throw Error(`Circular role inheritance detected: ${q}`);Z.add(q);let Q=this.roles.get(q);if(!Q)throw Error(`Role not found: ${q}`);Q.permissions.forEach((W)=>$.add(W));let J=this.hierarchy.get(q)||[];for(let W of J)this.collectPermissions(W,$,new Set(Z))}collectParentRoles(q,$,Z){if(Z.has(q))return;Z.add(q);let Q=this.hierarchy.get(q)||[];for(let J of Q)$.push(J),this.collectParentRoles(J,$,Z)}}function C9(){let q=new G6;return q.defineRoles([{name:"guest",description:"Guest user with minimal permissions",permissions:["read:public"],level:1},{name:"user",description:"Regular authenticated user",permissions:["read:own","write:own","read:public"],inherits:["guest"],level:10},{name:"moderator",description:"Moderator with content management permissions",permissions:["read:all","write:all","moderate:content"],inherits:["user"],level:50},{name:"admin",description:"Administrator with full system access",permissions:["*"],inherits:["moderator"],level:100},{name:"super-admin",description:"Super administrator with unrestricted access",permissions:["*","system:*"],inherits:["admin"],level:1000}]),q}var IW=X.object({name:X.string().min(1),description:X.string().optional(),permissions:X.array(X.string()),inherits:X.array(X.string()).optional(),level:X.number().optional()}),kW=X.object({userId:X.string(),roles:X.array(X.string())}),bW=X.object({userId:X.string(),permission:X.string()});class D6{static matches(q,$){if($==="*")return!0;if($.endsWith("*")){let Z=$.slice(0,-1);return q.startsWith(Z)}return q===$}static hasPermission(q,$){return q.some((Z)=>this.matches($,Z))}static filterByPattern(q,$){return q.filter((Z)=>this.matches(Z,$))}}function vW(q){return($,Z)=>{let Q={required:!q?.optional,config:q};C.defineAuth($,Z,Q)}}function yW(){return(q,$,Z)=>{if($)C.defineParameter(q,$,Z,{index:Z,type:"current-user",required:!1})}}function gW(){return(q,$,Z)=>{if($)C.defineParameter(q,$,Z,{index:Z,type:"token",required:!1})}}function _9(q){return async($,Z)=>{let Q=$.req.header("Authorization");if(!Q||!Q.startsWith("Bearer "))$.set("auth.error","Missing or invalid Authorization header"),$.set("auth.authenticated",!1);else{let J=Q.substring(7);try{let W=q.verifyAccessToken(J);$.set("auth.user",W),$.set("auth.token",J),$.set("auth.authenticated",!0)}catch(W){$.set("auth.error",W instanceof Error?W.message:"Authentication failed"),$.set("auth.authenticated",!1)}}await Z()}}function l(q){return q.get("auth.user")||null}function O9(q){return q.get("auth.token")||null}function uW(q){return q.get("auth.authenticated")===!0}function mW(q){return q.get("auth.error")||null}function cJ(q){return($,Z)=>{let J={config:Array.isArray(q)?{roles:q,requireAll:!1,allowInherited:!0}:{requireAll:!1,allowInherited:!0,...q}};C.defineRoles($,Z,J)}}function lJ(q){return($,Z)=>{let J={config:Array.isArray(q)?{permissions:q,requireAll:!1}:{requireAll:!1,...q}};C.definePermissions($,Z,J)}}function N9(q){return cJ([q])}function sW(q){return lJ([q])}function rW(){return N9("admin")}function tW(){return N9("super-admin")}function aW(q){return($,Z)=>{C.defineMinimumRole($,Z,{roleName:q})}}function j9(q){return async($,Z)=>{$.set("rbac",q),await Z()}}class s6{rbac;constructor(q){this.rbac=q}checkRoles(q,$){let Z=l(q);if(!Z)throw new P("Authentication required for role check");let Q=Z.roles||[],J=$.allowInherited?this.rbac.getEffectiveRoles(Q):Q,W;if($.requireAll)W=$.roles.every((H)=>J.includes(H));else W=$.roles.some((H)=>J.includes(H));if(!W){let H=$.requireAll?"all":"any";throw new P(`Access denied. Required ${H} of roles: ${$.roles.join(", ")}`)}}checkPermissions(q,$){let Z=l(q);if(!Z)throw new P("Authentication required for permission check");let Q=Z.roles||[],J=new Set;for(let Y of Q)this.rbac.getRolePermissions(Y).forEach((F)=>J.add(F));let W=Array.from(J),H;if($.requireAll)H=$.permissions.every((Y)=>D6.hasPermission(W,Y));else H=$.permissions.some((Y)=>D6.hasPermission(W,Y));if(!H){let Y=$.requireAll?"all":"any";throw new P(`Access denied. Required ${Y} of permissions: ${$.permissions.join(", ")}`)}}checkMinimumRole(q,$){let Z=l(q);if(!Z)throw new P("Authentication required for role level check");let Q=Z.roles||[],J=this.rbac.getHighestRoleLevel(Q),W=this.rbac.getRole($);if(!W)throw Error(`Required role not found: ${$}`);let H=W.level||0;if(J<H)throw new P(`Access denied. Minimum role level required: ${$} (level ${H})`)}}function pJ(q){return q.get("rbac")||null}function S9(q){return l(q)?.roles||[]}function nJ(q){let $=pJ(q),Z=S9(q);if(!$)return[];let Q=new Set;for(let J of Z)$.getRolePermissions(J).forEach((H)=>Q.add(H));return Array.from(Q)}function oW(q,$){return S9(q).includes($)}function eW(q,$){let Z=nJ(q);return D6.hasPermission(Z,$)}class iJ{config;name="rbac";version="1.0.0";dependencies=["auth"];rbac;guard;constructor(q={}){this.config=q;if(q.rbac)this.rbac=q.rbac;else if(q.useDefaults!==!1)this.rbac=C9();else this.rbac=new G6;if(q.roles)this.rbac.defineRoles(q.roles);this.guard=new s6(this.rbac)}async install(q){let $=j9(this.rbac);if(q.use($),q.getContainer().register(G6,{factory:()=>this.rbac,scope:"singleton"}),q.getContainer().register(s6,{factory:()=>this.guard,scope:"singleton"}),this.extendRouterCompiler(q),this.config.enableManagementRoutes!==!1)this.addManagementRoutes(q)}extendRouterCompiler(q){let $=q.compile.bind(q);q.compile=async()=>{await $();let Z=q.getMetadata().getRoutes();for(let Q of Z)if(Q.roles||Q.permissions||Q.minimumRole)this.addRBACGuards(q,Q)}}addRBACGuards(q,$){}addManagementRoutes(q){let $=this.config.routes||{};q.get($.roles||"/rbac/roles",{handler:(Z)=>{let Q=this.rbac.getAllRoles();return Z.json({success:!0,roles:Q.map((J)=>({name:J.name,description:J.description,permissions:J.permissions,inherits:J.inherits,level:J.level}))})}}),q.get("/rbac/roles/:roleName",{handler:(Z)=>{let Q=Z.req.param("roleName"),J=this.rbac.getRole(Q);if(!J)return Z.json({error:"Role not found"},404);let W=this.rbac.getRolePermissions(Q),H=this.rbac.getRoleHierarchy(Q);return Z.json({success:!0,role:{...J,effectivePermissions:W,hierarchy:H}})}}),q.get("/rbac/roles/:roleName/permissions",{handler:(Z)=>{let Q=Z.req.param("roleName");if(!this.rbac.roleExists(Q))return Z.json({error:"Role not found"},404);let J=this.rbac.getRolePermissions(Q);return Z.json({success:!0,role:Q,permissions:J})}}),q.post("/rbac/check-permission",{handler:async(Z)=>{let Q=await Z.req.json(),{roles:J,permission:W}=Q;if(!Array.isArray(J)||!W)return Z.json({error:"Invalid request body"},400);let H=this.rbac.userHasPermission(J,W);return Z.json({success:!0,hasPermission:H,roles:J,permission:W})}}),q.post("/rbac/check-roles",{handler:async(Z)=>{let Q=await Z.req.json(),{userRoles:J,requiredRoles:W,requireAll:H=!1}=Q;if(!Array.isArray(J)||!Array.isArray(W))return Z.json({error:"Invalid request body"},400);let Y=H?this.rbac.userHasRoles(J,W):this.rbac.userHasAnyRole(J,W);return Z.json({success:!0,hasRoles:Y,userRoles:J,requiredRoles:W,requireAll:H})}}),q.post("/rbac/effective-roles",{handler:async(Z)=>{let Q=await Z.req.json(),{roles:J}=Q;if(!Array.isArray(J))return Z.json({error:"Invalid request body"},400);let W=this.rbac.getEffectiveRoles(J);return Z.json({success:!0,inputRoles:J,effectiveRoles:W})}}),q.post("/rbac/user-permissions",{handler:async(Z)=>{let Q=await Z.req.json(),{roles:J}=Q;if(!Array.isArray(J))return Z.json({error:"Invalid request body"},400);let W=new Set;for(let H of J)if(this.rbac.roleExists(H))this.rbac.getRolePermissions(H).forEach((V)=>W.add(V));return Z.json({success:!0,roles:J,permissions:Array.from(W)})}})}getRBACManager(){return this.rbac}getGuard(){return this.guard}}class sJ{config;name="auth";version="1.0.0";authService;constructor(q){this.config=q;this.authService=new i6(q.jwt,q.userProvider)}async install(q){let $=_9(this.authService.getJWTProvider());if(q.use($),q.getContainer().register(i6,{factory:()=>this.authService,scope:"singleton"}),this.config.enableDefaultRoutes!==!1)this.addDefaultRoutes(q);this.extendRouterCompiler(q)}extendRouterCompiler(q){q.use(async(Z,Q)=>{Z.set("authService",this.authService),await Q()});let $=q.compile.bind(q);q.compile=async()=>{await $();let Z=q.getHono(),Q=q.getMetadata().getRoutes();for(let J of Q){let W=C.getAuthMetadata(J.target.prototype,J.propertyKey);if(J.auth?.required||W?.required){console.log("Adding auth middleware for route:",J.path,J.method);let Y=J.auth?.config||W?.config;Z.use(J.path,async(V,F)=>{if(console.log("Auth middleware executing for:",V.req.path,V.req.method,"target:",J.path,J.method),V.req.method!==J.method)return console.log("Method mismatch, skipping auth check"),F();console.log("Checking authentication...");let U=V.get("auth.user"),G=V.get("auth.error");if(!U){let _=G||"Authentication required";throw console.log("No user found, throwing auth exception"),new h(_)}if(Y?.roles?.length){if(!this.authService.hasRoles(U,Y.roles))throw new P(`Required roles: ${Y.roles.join(", ")}`)}if(Y?.permissions?.length){if(!this.authService.hasPermissions(U,Y.permissions))throw new P(`Required permissions: ${Y.permissions.join(", ")}`)}await F()})}}}}buildPath(q){return q.path}pathMatches(q,$){let Z=q.replace(/:([^/]+)/g,"([^/]+)");return new RegExp(`^${Z}$`).test($)}addDefaultRoutes(q){let $=this.config.routes||{};if(q.post($.login||"/auth/login",{handler:async(Z)=>{let Q=await Z.req.json(),{username:J,password:W}=Q;try{let H=await this.authService.login(J,W);return{success:!0,user:H.user,tokens:H.tokens}}catch(H){throw new h(H instanceof Error?H.message:"Login failed")}},schema:{body:X.object({username:X.string().min(1),password:X.string().min(1)})}}),q.post($.refresh||"/auth/refresh",{handler:async(Z)=>{let Q=await Z.req.json(),{refreshToken:J}=Q;try{return{success:!0,tokens:await this.authService.refresh(J)}}catch(W){throw new h(W instanceof Error?W.message:"Token refresh failed")}},schema:{body:X.object({refreshToken:X.string().min(1)})}}),q.post($.logout||"/auth/logout",{handler:async(Z)=>{let Q=O9(Z),J=await Z.req.json(),{refreshToken:W}=J;if(Q)await this.authService.logout(Q,W);return{success:!0,message:"Logged out successfully"}},schema:{body:X.object({refreshToken:X.string().optional()})}}),"createUser"in this.config.userProvider)q.post($.register||"/auth/register",{handler:async(Z)=>{let Q=await Z.req.json(),{username:J,password:W,email:H}=Q;try{let Y=await this.authService.register({username:J,password:W,email:H});return{success:!0,user:Y.user,tokens:Y.tokens}}catch(Y){throw new h(Y instanceof Error?Y.message:"Registration failed")}},schema:{body:X.object({username:X.string().min(1),password:X.string().min(6),email:X.string().email().optional()})}});q.get("/auth/me",{handler:async(Z)=>{let Q=l(Z);if(!Q)throw new h("Not authenticated");return{success:!0,user:Q}}})}getAuthService(){return this.authService}}var BH=X.object({code:X.string(),state:X.string(),error:X.string().optional(),error_description:X.string().optional()}),zH=X.object({accessToken:X.string(),refreshToken:X.string().optional(),expiresIn:X.number().optional(),tokenType:X.string(),scope:X.string().optional()}),rJ=X.object({id:X.string(),email:X.string().optional(),name:X.string().optional(),username:X.string().optional(),avatar:X.string().optional(),provider:X.string()}).passthrough();function tJ(q){return($,Z)=>{let Q={provider:q.provider,config:q};C.defineOAuth($,Z,Q)}}function aJ(){return(q,$,Z)=>{if($)C.defineParameter(q,$,Z,{index:Z,type:"oauth-user",required:!0})}}function oJ(){return(q,$,Z)=>{if($)C.defineParameter(q,$,Z,{index:Z,type:"oauth-token",required:!0})}}function eJ(q){return q.get("oauth.user")||null}function q2(q){return q.get("oauth.token")||null}function $2(q){return q.get("oauth.authenticated")===!0}function Z2(q){return q.get("oauth.provider")||null}class E9{store;config;constructor(q,$){this.store=q;this.config={name:"sessionId",maxAge:86400000,secure:!1,httpOnly:!0,sameSite:"lax",path:"/",rolling:!1,genid:()=>crypto.randomUUID(),...$,domain:$.domain}}async createSession(q,$={},Z){let Q=this.config.genid(),J=new Date,W=Z?.maxAge||this.config.maxAge,H={id:Q,userId:q,data:$,createdAt:J,updatedAt:J,expiresAt:new Date(J.getTime()+W),ipAddress:Z?.ipAddress,userAgent:Z?.userAgent,csrfToken:this.generateCSRFToken()};return await this.store.set(Q,H),H}async getSession(q){return await this.store.get(q)}async updateSession(q,$){let Z=await this.store.get(q);if(!Z)return null;if(Z.data={...Z.data,...$},Z.updatedAt=new Date,this.config.rolling)Z.expiresAt=new Date(Date.now()+this.config.maxAge);return await this.store.set(q,Z),Z}async touchSession(q){if(this.config.rolling){let $=await this.store.get(q);if($)$.updatedAt=new Date,$.expiresAt=new Date(Date.now()+this.config.maxAge),await this.store.set(q,$)}else await this.store.touch(q)}async destroySession(q){await this.store.destroy(q)}async regenerateSession(q){let $=await this.store.get(q);if(!$)return null;let Z=this.config.genid(),Q={...$,id:Z,updatedAt:new Date,csrfToken:this.generateCSRFToken()};return await this.store.set(Z,Q),await this.store.destroy(q),Q}async getUserSessions(q){return(await this.store.all()).filter((Z)=>Z.userId===q)}async destroyUserSessions(q){let $=await this.getUserSessions(q);for(let Z of $)await this.store.destroy(Z.id)}validateCSRFToken(q,$){return q.csrfToken===$}generateCSRFToken(){return crypto.randomUUID()}getCookieOptions(){let q={maxAge:this.config.maxAge,secure:this.config.secure,httpOnly:this.config.httpOnly,sameSite:this.config.sameSite,path:this.config.path};if(this.config.domain)q.domain=this.config.domain;return q}getConfig(){return{...this.config}}getStore(){return this.store}}var Q2=X.object({id:X.string(),userId:X.string(),data:X.record(X.any()),createdAt:X.date(),updatedAt:X.date(),expiresAt:X.date().optional(),ipAddress:X.string().optional(),userAgent:X.string().optional(),csrfToken:X.string().optional()}),NH=X.object({name:X.string().optional(),secret:X.string(),maxAge:X.number().optional(),secure:X.boolean().optional(),httpOnly:X.boolean().optional(),sameSite:X.enum(["strict","lax","none"]).optional(),domain:X.string().optional(),path:X.string().optional(),rolling:X.boolean().optional()}),jH=X.object({userId:X.string(),data:X.record(X.any()).optional(),maxAge:X.number().optional(),ipAddress:X.string().optional(),userAgent:X.string().optional()}),SH=X.object({data:X.record(X.any())});function J2(q={}){return($,Z)=>{let Q={config:q};C.defineSession($,Z,Q)}}function W2(){return(q,$,Z)=>{if($)C.defineParameter(q,$,Z,{index:Z,type:"current-session",required:!0})}}function H2(){return(q,$,Z)=>{if($)C.defineParameter(q,$,Z,{index:Z,type:"csrf-token",required:!0})}}function Y2(){return(q,$)=>{C.defineCSRF(q,$,{required:!0})}}function F2(q,$){return async(Z,Q)=>{let J=q.getConfig(),W=A9(Z,J.name),H=null;if(W){if(H=await q.getSession(W),H)await q.touchSession(W)}Z.set("session",H),Z.set("sessionManager",q),Z.set("csrfProtection",$),await Q()}}class x9{sessionManager;csrfProtection;constructor(q,$){this.sessionManager=q;this.csrfProtection=$}checkSession(q,$){let Z=f(q);if($.required&&!Z)throw new h("Session required");if(Z&&$.csrf)this.checkCSRF(q,Z)}checkCSRF(q,$){if(!this.csrfProtection)throw Error("CSRF protection not configured");let Z=q.req.header("X-CSRF-Token")||q.req.query("_csrf");if(!Z)throw new P("CSRF token required");if(!this.csrfProtection.validateToken($.id,Z))throw new P("Invalid CSRF token")}async createSession(q,$,Z={}){let Q=w6(q);if(!Q)throw Error("Session manager not available");let J=q.req.header("X-Forwarded-For")||q.req.header("X-Real-IP")||"unknown",W=q.req.header("User-Agent")||"unknown",H=await Q.createSession($,Z,{ipAddress:J,userAgent:W}),Y=Q.getCookieOptions();return r6(q,Q.getConfig().name,H.id,Y),q.set("session",H),H}async updateSession(q,$){let Z=f(q),Q=w6(q);if(!Z||!Q)return null;let J=await Q.updateSession(Z.id,$);if(J)q.set("session",J);return J}async destroySession(q){let $=f(q),Z=w6(q);if(!$||!Z)return;await Z.destroySession($.id);let Q=Z.getConfig();if(r6(q,Q.name,"",{...Z.getCookieOptions(),maxAge:0}),q.set("session",null),this.csrfProtection)this.csrfProtection.removeToken($.id)}async regenerateSession(q){let $=f(q),Z=w6(q);if(!$||!Z)return null;let Q=await Z.regenerateSession($.id);if(Q){let J=Z.getCookieOptions();if(r6(q,Z.getConfig().name,Q.id,J),q.set("session",Q),this.csrfProtection)this.csrfProtection.removeToken($.id),this.csrfProtection.generateToken(Q.id)}return Q}generateCSRFToken(q){let $=f(q);if(!$||!this.csrfProtection)return null;return this.csrfProtection.generateToken($.id)}}function f(q){return q.get("session")||null}function w6(q){return q.get("sessionManager")||null}function X2(q){return q.get("csrfProtection")||null}function U2(q,$){let Z=f(q);if(!Z)return null;if($)return Z.data[$];return Z.data}function V2(q){return f(q)!==null}function G2(q){return f(q)?.userId||null}function D2(q,$,Z){let Q=f(q);if(Q)Q.data[$]=Z,q.set("session",Q)}function w2(q,$){let Z=f(q);if(Z&&$ in Z.data)delete Z.data[$],q.set("session",Z)}export{A2 as zodToJsonSchema,o3 as zodToGraphQLType,$Y as zodObjectToGraphQLType,ZY as zodObjectToGraphQLInput,X as z,XY as setupTestApp,D2 as setSessionData,w2 as removeSessionData,YY as mockDependency,V2 as isSessionAuthenticated,$2 as isOAuthAuthenticated,e3 as isNullable,uW as isAuthenticated,n3 as hasResolverMetadata,i3 as hasFieldMetadata,S9 as getUserRoles,nJ as getUserPermissions,O9 as getToken,G2 as getSessionUserId,w6 as getSessionManager,U2 as getSessionData,d3 as getResolverMetadata,pJ as getRBACManager,eJ as getOAuthUser,q2 as getOAuthToken,Z2 as getOAuthProvider,c3 as getFieldsMetadata,l3 as getFieldMetadata,qY as getDefaultValue,l as getCurrentUser,f as getCurrentSession,X2 as getCSRFProtection,mW as getAuthError,p3 as getArgumentsMetadata,FY as createTestClient,HY as createTestApp,F2 as createSessionMiddleware,b3 as createRateLimitMiddleware,j9 as createRBACMiddleware,C9 as createDefaultRBAC,k3 as createCorsMiddleware,h3 as createCompressionMiddleware,_9 as createAuthMiddleware,UY as clearMocks,oW as checkUserRole,eW as checkUserPermission,E2 as ZodToJsonSchemaConverter,a3 as WebSocketPlugin,t3 as WebSocketManager,r3 as WebSocketConnection,t2 as WebSocket,v0 as VeloceTS,v0 as Veloce,C2 as ValidationException,_2 as ValidationEngine,d2 as UseMiddleware,P3 as UnauthorizedException,I3 as TokenRevokedException,NW as TokenPayloadSchema,L9 as TokenExpiredException,gW as Token,WY as TestClient,tW as SuperAdminOnly,g3 as Subscription,A3 as StreamResponse,E9 as SessionManager,x9 as SessionGuard,Q2 as SessionDataSchema,J2 as Session,L2 as RouterCompiler,cJ as Roles,IW as RoleSchema,kW as RoleAssignmentSchema,x3 as ResponseSerializer,O3 as Response,f3 as Resolver,N9 as RequireRole,sW as RequirePermission,Y2 as RequireCSRF,SW as RefreshRequestSchema,S3 as RedirectResponse,iJ as RBACPlugin,G6 as RBACManager,s6 as RBACGuard,v3 as Query,I2 as Put,T2 as Post,N2 as PluginManager,lJ as Permissions,D6 as PermissionMatcher,bW as PermissionCheckSchema,b2 as Patch,P9 as Param,s3 as OpenAPIPlugin,x2 as OpenAPIGenerator,o2 as OnMessage,e2 as OnDisconnect,a2 as OnConnect,rJ as OAuthUserSchema,aJ as OAuthUser,oJ as OAuthToken,tJ as OAuth,K3 as NotFoundException,y3 as Mutation,aW as MinimumRole,C as MetadataRegistry,z2 as MetadataCompiler,jW as LoginRequestSchema,f0 as JWTProvider,N3 as JSONResponse,n6 as InvalidTokenException,dJ as InMemoryUserProvider,j2 as HonoAdapter,M9 as Header,R3 as HTTPException,j3 as HTMLResponse,g3 as GraphQLSubscription,QY as GraphQLSchemaBuilder,v3 as GraphQLQuery,JY as GraphQLPlugin,y3 as GraphQLMutation,m3 as GraphQLCtx,M2 as Get,g3 as GQLSubscription,v3 as GQLQuery,y3 as GQLMutation,m3 as GQLContext,M3 as ForbiddenException,E3 as FileResponse,v0 as FastAPITS,S2 as ExpressAdapter,O2 as ErrorHandler,u2 as Depends,k2 as Delete,B2 as DIContainer,yW as CurrentUser,W2 as CurrentSession,I9 as Ctx,T9 as Cookie,P2 as Controller,H2 as CSRFToken,K9 as Body,T3 as BadRequestException,P as AuthorizationException,h as AuthenticationException,i6 as AuthService,sJ as AuthPlugin,vW as Auth,u3 as Arg,n2 as ApiResponse,p2 as ApiDoc,h2 as All,rW as AdminOnly};
4
+ "HS256", "HS384", "HS512", "RS256", "RS384", "RS512", "PS256", "PS384", "PS512", "ES256", "ES384", "ES512" and "none".`,$6="secret must be a string or buffer",i="key must be a string or a buffer",p9="key must be a string, a buffer or an object",Z0=typeof M.createPublicKey==="function";if(Z0)i+=" or a KeyObject",$6+="or a KeyObject";function q8(q){if(s.isBuffer(q))return;if(typeof q==="string")return;if(!Z0)throw k(i);if(typeof q!=="object")throw k(i);if(typeof q.type!=="string")throw k(i);if(typeof q.asymmetricKeyType!=="string")throw k(i);if(typeof q.export!=="function")throw k(i)}function $8(q){if(s.isBuffer(q))return;if(typeof q==="string")return;if(typeof q==="object")return;throw k(p9)}function n9(q){if(s.isBuffer(q))return;if(typeof q==="string")return q;if(!Z0)throw k($6);if(typeof q!=="object")throw k($6);if(q.type!=="secret")throw k($6);if(typeof q.export!=="function")throw k($6)}function Q0(q){return q.replace(/=/g,"").replace(/\+/g,"-").replace(/\//g,"_")}function Z8(q){q=q.toString();var $=4-q.length%4;if($!==4)for(var Z=0;Z<$;++Z)q+="=";return q.replace(/\-/g,"+").replace(/_/g,"/")}function k(q){var $=[].slice.call(arguments,1),Z=o0.format.bind(o0,q).apply(null,$);return TypeError(Z)}function i9(q){return s.isBuffer(q)||typeof q==="string"}function Z6(q){if(!i9(q))q=JSON.stringify(q);return q}function Q8(q){return function(Z,Q){n9(Q),Z=Z6(Z);var J=M.createHmac("sha"+q,Q),W=(J.update(Z),J.digest("base64"));return Q0(W)}}var $0,s9="timingSafeEqual"in M?function($,Z){if($.byteLength!==Z.byteLength)return!1;return M.timingSafeEqual($,Z)}:function($,Z){if(!$0)$0=a0();return $0($,Z)};function r9(q){return function(Z,Q,J){var W=Q8(q)(Z,J);return s9(s.from(Q),s.from(W))}}function J8(q){return function(Z,Q){$8(Q),Z=Z6(Z);var J=M.createSign("RSA-SHA"+q),W=(J.update(Z),J.sign(Q,"base64"));return Q0(W)}}function W8(q){return function(Z,Q,J){q8(J),Z=Z6(Z),Q=Z8(Q);var W=M.createVerify("RSA-SHA"+q);return W.update(Z),W.verify(J,Q,"base64")}}function t9(q){return function(Z,Q){$8(Q),Z=Z6(Z);var J=M.createSign("RSA-SHA"+q),W=(J.update(Z),J.sign({key:Q,padding:M.constants.RSA_PKCS1_PSS_PADDING,saltLength:M.constants.RSA_PSS_SALTLEN_DIGEST},"base64"));return Q0(W)}}function a9(q){return function(Z,Q,J){q8(J),Z=Z6(Z),Q=Z8(Q);var W=M.createVerify("RSA-SHA"+q);return W.update(Z),W.verify({key:J,padding:M.constants.RSA_PKCS1_PSS_PADDING,saltLength:M.constants.RSA_PSS_SALTLEN_DIGEST},Q,"base64")}}function o9(q){var $=J8(q);return function(){var Q=$.apply(null,arguments);return Q=e0.derToJose(Q,"ES"+q),Q}}function e9(q){var $=W8(q);return function(Q,J,W){J=e0.joseToDer(J,"ES"+q).toString("base64");var H=$(Q,J,W);return H}}function qq(){return function(){return""}}function $q(){return function($,Z){return Z===""}}H8.exports=function($){var Z={hs:Q8,rs:J8,ps:t9,es:o9,none:qq},Q={hs:r9,rs:W8,ps:a9,es:e9,none:$q},J=$.match(/^(RS|PS|ES|HS)(256|384|512)$|^(none)$/i);if(!J)throw k(l9,$);var W=(J[1]||J[3]).toLowerCase(),H=J[2];return{sign:Z[W](H),verify:Q[W](H)}}});var W0=D((e2,Y8)=>{var Zq=x("buffer").Buffer;Y8.exports=function($){if(typeof $==="string")return $;if(typeof $==="number"||Zq.isBuffer($))return $.toString();return JSON.stringify($)}});var D8=D((q7,G8)=>{var Qq=n().Buffer,F8=o6(),Jq=J0(),Wq=x("stream"),X8=W0(),H0=x("util");function U8(q,$){return Qq.from(q,$).toString("base64").replace(/=/g,"").replace(/\+/g,"-").replace(/\//g,"_")}function Hq(q,$,Z){Z=Z||"utf8";var Q=U8(X8(q),"binary"),J=U8(X8($),Z);return H0.format("%s.%s",Q,J)}function V8(q){var{header:$,payload:Z}=q,Q=q.secret||q.privateKey,J=q.encoding,W=Jq($.alg),H=Hq($,Z,J),Y=W.sign(H,Q);return H0.format("%s.%s",H,Y)}function j6(q){var $=q.secret||q.privateKey||q.key,Z=new F8($);this.readable=!0,this.header=q.header,this.encoding=q.encoding,this.secret=this.privateKey=this.key=Z,this.payload=new F8(q.payload),this.secret.once("close",function(){if(!this.payload.writable&&this.readable)this.sign()}.bind(this)),this.payload.once("close",function(){if(!this.secret.writable&&this.readable)this.sign()}.bind(this))}H0.inherits(j6,Wq);j6.prototype.sign=function(){try{var $=V8({header:this.header,payload:this.payload.buffer,secret:this.secret.buffer,encoding:this.encoding});return this.emit("done",$),this.emit("data",$),this.emit("end"),this.readable=!1,$}catch(Z){this.readable=!1,this.emit("error",Z),this.emit("close")}};j6.sign=V8;G8.exports=j6});var S8=D(($7,j8)=>{var B8=n().Buffer,w8=o6(),Yq=J0(),Fq=x("stream"),z8=W0(),Xq=x("util"),Uq=/^[a-zA-Z0-9\-_]+?\.[a-zA-Z0-9\-_]+?\.([a-zA-Z0-9\-_]+)?$/;function Vq(q){return Object.prototype.toString.call(q)==="[object Object]"}function Gq(q){if(Vq(q))return q;try{return JSON.parse(q)}catch($){return}}function L8(q){var $=q.split(".",1)[0];return Gq(B8.from($,"base64").toString("binary"))}function Dq(q){return q.split(".",2).join(".")}function C8(q){return q.split(".")[2]}function wq(q,$){$=$||"utf8";var Z=q.split(".")[1];return B8.from(Z,"base64").toString($)}function _8(q){return Uq.test(q)&&!!L8(q)}function O8(q,$,Z){if(!$){var Q=Error("Missing algorithm parameter for jws.verify");throw Q.code="MISSING_ALGORITHM",Q}q=z8(q);var J=C8(q),W=Dq(q),H=Yq($);return H.verify(W,J,Z)}function N8(q,$){if($=$||{},q=z8(q),!_8(q))return null;var Z=L8(q);if(!Z)return null;var Q=wq(q);if(Z.typ==="JWT"||$.json)Q=JSON.parse(Q,$.encoding);return{header:Z,payload:Q,signature:C8(q)}}function r(q){q=q||{};var $=q.secret||q.publicKey||q.key,Z=new w8($);this.readable=!0,this.algorithm=q.algorithm,this.encoding=q.encoding,this.secret=this.publicKey=this.key=Z,this.signature=new w8(q.signature),this.secret.once("close",function(){if(!this.signature.writable&&this.readable)this.verify()}.bind(this)),this.signature.once("close",function(){if(!this.secret.writable&&this.readable)this.verify()}.bind(this))}Xq.inherits(r,Fq);r.prototype.verify=function(){try{var $=O8(this.signature.buffer,this.algorithm,this.key.buffer),Z=N8(this.signature.buffer,this.encoding);return this.emit("done",$,Z),this.emit("data",$),this.emit("end"),this.readable=!1,$}catch(Q){this.readable=!1,this.emit("error",Q),this.emit("close")}};r.decode=N8;r.isValid=_8;r.verify=O8;j8.exports=r});var E6=D((zq)=>{var E8=D8(),S6=S8(),Bq=["HS256","HS384","HS512","RS256","RS384","RS512","PS256","PS384","PS512","ES256","ES384","ES512"];zq.ALGORITHMS=Bq;zq.sign=E8.sign;zq.verify=S6.verify;zq.decode=S6.decode;zq.isValid=S6.isValid;zq.createSign=function($){return new E8($)};zq.createVerify=function($){return new S6($)}});var Y0=D((Q7,A8)=>{var Eq=E6();A8.exports=function(q,$){$=$||{};var Z=Eq.decode(q,$);if(!Z)return null;var Q=Z.payload;if(typeof Q==="string")try{var J=JSON.parse(Q);if(J!==null&&typeof J==="object")Q=J}catch(W){}if($.complete===!0)return{header:Z.header,payload:Q,signature:Z.signature};return Q}});var Q6=D((J7,K8)=>{var A6=function(q,$){if(Error.call(this,q),Error.captureStackTrace)Error.captureStackTrace(this,this.constructor);if(this.name="JsonWebTokenError",this.message=q,$)this.inner=$};A6.prototype=Object.create(Error.prototype);A6.prototype.constructor=A6;K8.exports=A6});var F0=D((W7,x8)=>{var R8=Q6(),K6=function(q,$){R8.call(this,q),this.name="NotBeforeError",this.date=$};K6.prototype=Object.create(R8.prototype);K6.prototype.constructor=K6;x8.exports=K6});var X0=D((H7,M8)=>{var P8=Q6(),R6=function(q,$){P8.call(this,q),this.name="TokenExpiredError",this.expiredAt=$};R6.prototype=Object.create(P8.prototype);R6.prototype.constructor=R6;M8.exports=R6});var I8=D((Y7,T8)=>{var t=1000,a=t*60,o=a*60,d=o*24,Aq=d*7,Kq=d*365.25;T8.exports=function(q,$){$=$||{};var Z=typeof q;if(Z==="string"&&q.length>0)return Rq(q);else if(Z==="number"&&isFinite(q))return $.long?Pq(q):xq(q);throw Error("val is not a non-empty string or a valid number. val="+JSON.stringify(q))};function Rq(q){if(q=String(q),q.length>100)return;var $=/^(-?(?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(q);if(!$)return;var Z=parseFloat($[1]),Q=($[2]||"ms").toLowerCase();switch(Q){case"years":case"year":case"yrs":case"yr":case"y":return Z*Kq;case"weeks":case"week":case"w":return Z*Aq;case"days":case"day":case"d":return Z*d;case"hours":case"hour":case"hrs":case"hr":case"h":return Z*o;case"minutes":case"minute":case"mins":case"min":case"m":return Z*a;case"seconds":case"second":case"secs":case"sec":case"s":return Z*t;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return Z;default:return}}function xq(q){var $=Math.abs(q);if($>=d)return Math.round(q/d)+"d";if($>=o)return Math.round(q/o)+"h";if($>=a)return Math.round(q/a)+"m";if($>=t)return Math.round(q/t)+"s";return q+"ms"}function Pq(q){var $=Math.abs(q);if($>=d)return x6(q,$,d,"day");if($>=o)return x6(q,$,o,"hour");if($>=a)return x6(q,$,a,"minute");if($>=t)return x6(q,$,t,"second");return q+" ms"}function x6(q,$,Z,Q){var J=$>=Z*1.5;return Math.round(q/Z)+" "+Q+(J?"s":"")}});var U0=D((F7,k8)=>{var Mq=I8();k8.exports=function(q,$){var Z=$||Math.floor(Date.now()/1000);if(typeof q==="string"){var Q=Mq(q);if(typeof Q>"u")return;return Math.floor(Z+Q/1000)}else if(typeof q==="number")return Z+q;else return}});var J6=D((X7,b8)=>{var Tq=Number.MAX_SAFE_INTEGER||9007199254740991,Iq=["major","premajor","minor","preminor","patch","prepatch","prerelease"];b8.exports={MAX_LENGTH:256,MAX_SAFE_COMPONENT_LENGTH:16,MAX_SAFE_BUILD_LENGTH:250,MAX_SAFE_INTEGER:Tq,RELEASE_TYPES:Iq,SEMVER_SPEC_VERSION:"2.0.0",FLAG_INCLUDE_PRERELEASE:1,FLAG_LOOSE:2}});var W6=D((U7,h8)=>{var kq=typeof process==="object"&&process.env&&process.env.NODE_DEBUG&&/\bsemver\b/i.test(process.env.NODE_DEBUG)?(...q)=>console.error("SEMVER",...q):()=>{};h8.exports=kq});var e=D((v,f8)=>{var{MAX_SAFE_COMPONENT_LENGTH:V0,MAX_SAFE_BUILD_LENGTH:bq,MAX_LENGTH:hq}=J6(),fq=W6();v=f8.exports={};var yq=v.re=[],vq=v.safeRe=[],w=v.src=[],gq=v.safeSrc=[],B=v.t={},uq=0,G0="[a-zA-Z0-9-]",mq=[["\\s",1],["\\d",hq],[G0,bq]],dq=(q)=>{for(let[$,Z]of mq)q=q.split(`${$}*`).join(`${$}{0,${Z}}`).split(`${$}+`).join(`${$}{1,${Z}}`);return q},L=(q,$,Z)=>{let Q=dq($),J=uq++;fq(q,J,$),B[q]=J,w[J]=$,gq[J]=Q,yq[J]=new RegExp($,Z?"g":void 0),vq[J]=new RegExp(Q,Z?"g":void 0)};L("NUMERICIDENTIFIER","0|[1-9]\\d*");L("NUMERICIDENTIFIERLOOSE","\\d+");L("NONNUMERICIDENTIFIER",`\\d*[a-zA-Z-]${G0}*`);L("MAINVERSION",`(${w[B.NUMERICIDENTIFIER]})\\.(${w[B.NUMERICIDENTIFIER]})\\.(${w[B.NUMERICIDENTIFIER]})`);L("MAINVERSIONLOOSE",`(${w[B.NUMERICIDENTIFIERLOOSE]})\\.(${w[B.NUMERICIDENTIFIERLOOSE]})\\.(${w[B.NUMERICIDENTIFIERLOOSE]})`);L("PRERELEASEIDENTIFIER",`(?:${w[B.NONNUMERICIDENTIFIER]}|${w[B.NUMERICIDENTIFIER]})`);L("PRERELEASEIDENTIFIERLOOSE",`(?:${w[B.NONNUMERICIDENTIFIER]}|${w[B.NUMERICIDENTIFIERLOOSE]})`);L("PRERELEASE",`(?:-(${w[B.PRERELEASEIDENTIFIER]}(?:\\.${w[B.PRERELEASEIDENTIFIER]})*))`);L("PRERELEASELOOSE",`(?:-?(${w[B.PRERELEASEIDENTIFIERLOOSE]}(?:\\.${w[B.PRERELEASEIDENTIFIERLOOSE]})*))`);L("BUILDIDENTIFIER",`${G0}+`);L("BUILD",`(?:\\+(${w[B.BUILDIDENTIFIER]}(?:\\.${w[B.BUILDIDENTIFIER]})*))`);L("FULLPLAIN",`v?${w[B.MAINVERSION]}${w[B.PRERELEASE]}?${w[B.BUILD]}?`);L("FULL",`^${w[B.FULLPLAIN]}$`);L("LOOSEPLAIN",`[v=\\s]*${w[B.MAINVERSIONLOOSE]}${w[B.PRERELEASELOOSE]}?${w[B.BUILD]}?`);L("LOOSE",`^${w[B.LOOSEPLAIN]}$`);L("GTLT","((?:<|>)?=?)");L("XRANGEIDENTIFIERLOOSE",`${w[B.NUMERICIDENTIFIERLOOSE]}|x|X|\\*`);L("XRANGEIDENTIFIER",`${w[B.NUMERICIDENTIFIER]}|x|X|\\*`);L("XRANGEPLAIN",`[v=\\s]*(${w[B.XRANGEIDENTIFIER]})(?:\\.(${w[B.XRANGEIDENTIFIER]})(?:\\.(${w[B.XRANGEIDENTIFIER]})(?:${w[B.PRERELEASE]})?${w[B.BUILD]}?)?)?`);L("XRANGEPLAINLOOSE",`[v=\\s]*(${w[B.XRANGEIDENTIFIERLOOSE]})(?:\\.(${w[B.XRANGEIDENTIFIERLOOSE]})(?:\\.(${w[B.XRANGEIDENTIFIERLOOSE]})(?:${w[B.PRERELEASELOOSE]})?${w[B.BUILD]}?)?)?`);L("XRANGE",`^${w[B.GTLT]}\\s*${w[B.XRANGEPLAIN]}$`);L("XRANGELOOSE",`^${w[B.GTLT]}\\s*${w[B.XRANGEPLAINLOOSE]}$`);L("COERCEPLAIN",`(^|[^\\d])(\\d{1,${V0}})(?:\\.(\\d{1,${V0}}))?(?:\\.(\\d{1,${V0}}))?`);L("COERCE",`${w[B.COERCEPLAIN]}(?:$|[^\\d])`);L("COERCEFULL",w[B.COERCEPLAIN]+`(?:${w[B.PRERELEASE]})?(?:${w[B.BUILD]})?(?:$|[^\\d])`);L("COERCERTL",w[B.COERCE],!0);L("COERCERTLFULL",w[B.COERCEFULL],!0);L("LONETILDE","(?:~>?)");L("TILDETRIM",`(\\s*)${w[B.LONETILDE]}\\s+`,!0);v.tildeTrimReplace="$1~";L("TILDE",`^${w[B.LONETILDE]}${w[B.XRANGEPLAIN]}$`);L("TILDELOOSE",`^${w[B.LONETILDE]}${w[B.XRANGEPLAINLOOSE]}$`);L("LONECARET","(?:\\^)");L("CARETTRIM",`(\\s*)${w[B.LONECARET]}\\s+`,!0);v.caretTrimReplace="$1^";L("CARET",`^${w[B.LONECARET]}${w[B.XRANGEPLAIN]}$`);L("CARETLOOSE",`^${w[B.LONECARET]}${w[B.XRANGEPLAINLOOSE]}$`);L("COMPARATORLOOSE",`^${w[B.GTLT]}\\s*(${w[B.LOOSEPLAIN]})$|^$`);L("COMPARATOR",`^${w[B.GTLT]}\\s*(${w[B.FULLPLAIN]})$|^$`);L("COMPARATORTRIM",`(\\s*)${w[B.GTLT]}\\s*(${w[B.LOOSEPLAIN]}|${w[B.XRANGEPLAIN]})`,!0);v.comparatorTrimReplace="$1$2$3";L("HYPHENRANGE",`^\\s*(${w[B.XRANGEPLAIN]})\\s+-\\s+(${w[B.XRANGEPLAIN]})\\s*$`);L("HYPHENRANGELOOSE",`^\\s*(${w[B.XRANGEPLAINLOOSE]})\\s+-\\s+(${w[B.XRANGEPLAINLOOSE]})\\s*$`);L("STAR","(<|>)?=?\\s*\\*");L("GTE0","^\\s*>=\\s*0\\.0\\.0\\s*$");L("GTE0PRE","^\\s*>=\\s*0\\.0\\.0-0\\s*$")});var P6=D((V7,y8)=>{var cq=Object.freeze({loose:!0}),lq=Object.freeze({}),pq=(q)=>{if(!q)return lq;if(typeof q!=="object")return cq;return q};y8.exports=pq});var D0=D((G7,u8)=>{var v8=/^[0-9]+$/,g8=(q,$)=>{if(typeof q==="number"&&typeof $==="number")return q===$?0:q<$?-1:1;let Z=v8.test(q),Q=v8.test($);if(Z&&Q)q=+q,$=+$;return q===$?0:Z&&!Q?-1:Q&&!Z?1:q<$?-1:1},nq=(q,$)=>g8($,q);u8.exports={compareIdentifiers:g8,rcompareIdentifiers:nq}});var S=D((D7,d8)=>{var M6=W6(),{MAX_LENGTH:m8,MAX_SAFE_INTEGER:T6}=J6(),{safeRe:I6,t:k6}=e(),iq=P6(),{compareIdentifiers:w0}=D0();class b{constructor(q,$){if($=iq($),q instanceof b)if(q.loose===!!$.loose&&q.includePrerelease===!!$.includePrerelease)return q;else q=q.version;else if(typeof q!=="string")throw TypeError(`Invalid version. Must be a string. Got type "${typeof q}".`);if(q.length>m8)throw TypeError(`version is longer than ${m8} characters`);M6("SemVer",q,$),this.options=$,this.loose=!!$.loose,this.includePrerelease=!!$.includePrerelease;let Z=q.trim().match($.loose?I6[k6.LOOSE]:I6[k6.FULL]);if(!Z)throw TypeError(`Invalid Version: ${q}`);if(this.raw=q,this.major=+Z[1],this.minor=+Z[2],this.patch=+Z[3],this.major>T6||this.major<0)throw TypeError("Invalid major version");if(this.minor>T6||this.minor<0)throw TypeError("Invalid minor version");if(this.patch>T6||this.patch<0)throw TypeError("Invalid patch version");if(!Z[4])this.prerelease=[];else this.prerelease=Z[4].split(".").map((Q)=>{if(/^[0-9]+$/.test(Q)){let J=+Q;if(J>=0&&J<T6)return J}return Q});this.build=Z[5]?Z[5].split("."):[],this.format()}format(){if(this.version=`${this.major}.${this.minor}.${this.patch}`,this.prerelease.length)this.version+=`-${this.prerelease.join(".")}`;return this.version}toString(){return this.version}compare(q){if(M6("SemVer.compare",this.version,this.options,q),!(q instanceof b)){if(typeof q==="string"&&q===this.version)return 0;q=new b(q,this.options)}if(q.version===this.version)return 0;return this.compareMain(q)||this.comparePre(q)}compareMain(q){if(!(q instanceof b))q=new b(q,this.options);if(this.major<q.major)return-1;if(this.major>q.major)return 1;if(this.minor<q.minor)return-1;if(this.minor>q.minor)return 1;if(this.patch<q.patch)return-1;if(this.patch>q.patch)return 1;return 0}comparePre(q){if(!(q instanceof b))q=new b(q,this.options);if(this.prerelease.length&&!q.prerelease.length)return-1;else if(!this.prerelease.length&&q.prerelease.length)return 1;else if(!this.prerelease.length&&!q.prerelease.length)return 0;let $=0;do{let Z=this.prerelease[$],Q=q.prerelease[$];if(M6("prerelease compare",$,Z,Q),Z===void 0&&Q===void 0)return 0;else if(Q===void 0)return 1;else if(Z===void 0)return-1;else if(Z===Q)continue;else return w0(Z,Q)}while(++$)}compareBuild(q){if(!(q instanceof b))q=new b(q,this.options);let $=0;do{let Z=this.build[$],Q=q.build[$];if(M6("build compare",$,Z,Q),Z===void 0&&Q===void 0)return 0;else if(Q===void 0)return 1;else if(Z===void 0)return-1;else if(Z===Q)continue;else return w0(Z,Q)}while(++$)}inc(q,$,Z){if(q.startsWith("pre")){if(!$&&Z===!1)throw Error("invalid increment argument: identifier is empty");if($){let Q=`-${$}`.match(this.options.loose?I6[k6.PRERELEASELOOSE]:I6[k6.PRERELEASE]);if(!Q||Q[1]!==$)throw Error(`invalid identifier: ${$}`)}}switch(q){case"premajor":this.prerelease.length=0,this.patch=0,this.minor=0,this.major++,this.inc("pre",$,Z);break;case"preminor":this.prerelease.length=0,this.patch=0,this.minor++,this.inc("pre",$,Z);break;case"prepatch":this.prerelease.length=0,this.inc("patch",$,Z),this.inc("pre",$,Z);break;case"prerelease":if(this.prerelease.length===0)this.inc("patch",$,Z);this.inc("pre",$,Z);break;case"release":if(this.prerelease.length===0)throw Error(`version ${this.raw} is not a prerelease`);this.prerelease.length=0;break;case"major":if(this.minor!==0||this.patch!==0||this.prerelease.length===0)this.major++;this.minor=0,this.patch=0,this.prerelease=[];break;case"minor":if(this.patch!==0||this.prerelease.length===0)this.minor++;this.patch=0,this.prerelease=[];break;case"patch":if(this.prerelease.length===0)this.patch++;this.prerelease=[];break;case"pre":{let Q=Number(Z)?1:0;if(this.prerelease.length===0)this.prerelease=[Q];else{let J=this.prerelease.length;while(--J>=0)if(typeof this.prerelease[J]==="number")this.prerelease[J]++,J=-2;if(J===-1){if($===this.prerelease.join(".")&&Z===!1)throw Error("invalid increment argument: identifier already exists");this.prerelease.push(Q)}}if($){let J=[$,Q];if(Z===!1)J=[$];if(w0(this.prerelease[0],$)===0){if(isNaN(this.prerelease[1]))this.prerelease=J}else this.prerelease=J}break}default:throw Error(`invalid increment argument: ${q}`)}if(this.raw=this.format(),this.build.length)this.raw+=`+${this.build.join(".")}`;return this}}d8.exports=b});var c=D((w7,l8)=>{var c8=S(),sq=(q,$,Z=!1)=>{if(q instanceof c8)return q;try{return new c8(q,$)}catch(Q){if(!Z)return null;throw Q}};l8.exports=sq});var n8=D((B7,p8)=>{var rq=c(),tq=(q,$)=>{let Z=rq(q,$);return Z?Z.version:null};p8.exports=tq});var s8=D((z7,i8)=>{var aq=c(),oq=(q,$)=>{let Z=aq(q.trim().replace(/^[=v]+/,""),$);return Z?Z.version:null};i8.exports=oq});var a8=D((L7,t8)=>{var r8=S(),eq=(q,$,Z,Q,J)=>{if(typeof Z==="string")J=Q,Q=Z,Z=void 0;try{return new r8(q instanceof r8?q.version:q,Z).inc($,Q,J).version}catch(W){return null}};t8.exports=eq});var q1=D((C7,e8)=>{var o8=c(),q$=(q,$)=>{let Z=o8(q,null,!0),Q=o8($,null,!0),J=Z.compare(Q);if(J===0)return null;let W=J>0,H=W?Z:Q,Y=W?Q:Z,V=!!H.prerelease.length;if(!!Y.prerelease.length&&!V){if(!Y.patch&&!Y.minor)return"major";if(Y.compareMain(H)===0){if(Y.minor&&!Y.patch)return"minor";return"patch"}}let U=V?"pre":"";if(Z.major!==Q.major)return U+"major";if(Z.minor!==Q.minor)return U+"minor";if(Z.patch!==Q.patch)return U+"patch";return"prerelease"};e8.exports=q$});var Z1=D((_7,$1)=>{var $$=S(),Z$=(q,$)=>new $$(q,$).major;$1.exports=Z$});var J1=D((O7,Q1)=>{var Q$=S(),J$=(q,$)=>new Q$(q,$).minor;Q1.exports=J$});var H1=D((N7,W1)=>{var W$=S(),H$=(q,$)=>new W$(q,$).patch;W1.exports=H$});var F1=D((j7,Y1)=>{var Y$=c(),F$=(q,$)=>{let Z=Y$(q,$);return Z&&Z.prerelease.length?Z.prerelease:null};Y1.exports=F$});var T=D((S7,U1)=>{var X1=S(),X$=(q,$,Z)=>new X1(q,Z).compare(new X1($,Z));U1.exports=X$});var G1=D((E7,V1)=>{var U$=T(),V$=(q,$,Z)=>U$($,q,Z);V1.exports=V$});var w1=D((A7,D1)=>{var G$=T(),D$=(q,$)=>G$(q,$,!0);D1.exports=D$});var b6=D((K7,z1)=>{var B1=S(),w$=(q,$,Z)=>{let Q=new B1(q,Z),J=new B1($,Z);return Q.compare(J)||Q.compareBuild(J)};z1.exports=w$});var C1=D((R7,L1)=>{var B$=b6(),z$=(q,$)=>q.sort((Z,Q)=>B$(Z,Q,$));L1.exports=z$});var O1=D((x7,_1)=>{var L$=b6(),C$=(q,$)=>q.sort((Z,Q)=>L$(Q,Z,$));_1.exports=C$});var H6=D((P7,N1)=>{var _$=T(),O$=(q,$,Z)=>_$(q,$,Z)>0;N1.exports=O$});var h6=D((M7,j1)=>{var N$=T(),j$=(q,$,Z)=>N$(q,$,Z)<0;j1.exports=j$});var B0=D((T7,S1)=>{var S$=T(),E$=(q,$,Z)=>S$(q,$,Z)===0;S1.exports=E$});var z0=D((I7,E1)=>{var A$=T(),K$=(q,$,Z)=>A$(q,$,Z)!==0;E1.exports=K$});var f6=D((k7,A1)=>{var R$=T(),x$=(q,$,Z)=>R$(q,$,Z)>=0;A1.exports=x$});var y6=D((b7,K1)=>{var P$=T(),M$=(q,$,Z)=>P$(q,$,Z)<=0;K1.exports=M$});var L0=D((h7,R1)=>{var T$=B0(),I$=z0(),k$=H6(),b$=f6(),h$=h6(),f$=y6(),y$=(q,$,Z,Q)=>{switch($){case"===":if(typeof q==="object")q=q.version;if(typeof Z==="object")Z=Z.version;return q===Z;case"!==":if(typeof q==="object")q=q.version;if(typeof Z==="object")Z=Z.version;return q!==Z;case"":case"=":case"==":return T$(q,Z,Q);case"!=":return I$(q,Z,Q);case">":return k$(q,Z,Q);case">=":return b$(q,Z,Q);case"<":return h$(q,Z,Q);case"<=":return f$(q,Z,Q);default:throw TypeError(`Invalid operator: ${$}`)}};R1.exports=y$});var P1=D((f7,x1)=>{var v$=S(),g$=c(),{safeRe:v6,t:g6}=e(),u$=(q,$)=>{if(q instanceof v$)return q;if(typeof q==="number")q=String(q);if(typeof q!=="string")return null;$=$||{};let Z=null;if(!$.rtl)Z=q.match($.includePrerelease?v6[g6.COERCEFULL]:v6[g6.COERCE]);else{let V=$.includePrerelease?v6[g6.COERCERTLFULL]:v6[g6.COERCERTL],F;while((F=V.exec(q))&&(!Z||Z.index+Z[0].length!==q.length)){if(!Z||F.index+F[0].length!==Z.index+Z[0].length)Z=F;V.lastIndex=F.index+F[1].length+F[2].length}V.lastIndex=-1}if(Z===null)return null;let Q=Z[2],J=Z[3]||"0",W=Z[4]||"0",H=$.includePrerelease&&Z[5]?`-${Z[5]}`:"",Y=$.includePrerelease&&Z[6]?`+${Z[6]}`:"";return g$(`${Q}.${J}.${W}${H}${Y}`,$)};x1.exports=u$});var I1=D((y7,T1)=>{class M1{constructor(){this.max=1000,this.map=new Map}get(q){let $=this.map.get(q);if($===void 0)return;else return this.map.delete(q),this.map.set(q,$),$}delete(q){return this.map.delete(q)}set(q,$){if(!this.delete(q)&&$!==void 0){if(this.map.size>=this.max){let Q=this.map.keys().next().value;this.delete(Q)}this.map.set(q,$)}return this}}T1.exports=M1});var I=D((v7,f1)=>{var m$=/\s+/g;class Y6{constructor(q,$){if($=c$($),q instanceof Y6)if(q.loose===!!$.loose&&q.includePrerelease===!!$.includePrerelease)return q;else return new Y6(q.raw,$);if(q instanceof C0)return this.raw=q.value,this.set=[[q]],this.formatted=void 0,this;if(this.options=$,this.loose=!!$.loose,this.includePrerelease=!!$.includePrerelease,this.raw=q.trim().replace(m$," "),this.set=this.raw.split("||").map((Z)=>this.parseRange(Z.trim())).filter((Z)=>Z.length),!this.set.length)throw TypeError(`Invalid SemVer Range: ${this.raw}`);if(this.set.length>1){let Z=this.set[0];if(this.set=this.set.filter((Q)=>!b1(Q[0])),this.set.length===0)this.set=[Z];else if(this.set.length>1){for(let Q of this.set)if(Q.length===1&&t$(Q[0])){this.set=[Q];break}}}this.formatted=void 0}get range(){if(this.formatted===void 0){this.formatted="";for(let q=0;q<this.set.length;q++){if(q>0)this.formatted+="||";let $=this.set[q];for(let Z=0;Z<$.length;Z++){if(Z>0)this.formatted+=" ";this.formatted+=$[Z].toString().trim()}}}return this.formatted}format(){return this.range}toString(){return this.range}parseRange(q){let Z=((this.options.includePrerelease&&s$)|(this.options.loose&&r$))+":"+q,Q=k1.get(Z);if(Q)return Q;let J=this.options.loose,W=J?A[E.HYPHENRANGELOOSE]:A[E.HYPHENRANGE];q=q.replace(W,HZ(this.options.includePrerelease)),N("hyphen replace",q),q=q.replace(A[E.COMPARATORTRIM],p$),N("comparator trim",q),q=q.replace(A[E.TILDETRIM],n$),N("tilde trim",q),q=q.replace(A[E.CARETTRIM],i$),N("caret trim",q);let H=q.split(" ").map((U)=>a$(U,this.options)).join(" ").split(/\s+/).map((U)=>WZ(U,this.options));if(J)H=H.filter((U)=>{return N("loose invalid filter",U,this.options),!!U.match(A[E.COMPARATORLOOSE])});N("range list",H);let Y=new Map,V=H.map((U)=>new C0(U,this.options));for(let U of V){if(b1(U))return[U];Y.set(U.value,U)}if(Y.size>1&&Y.has(""))Y.delete("");let F=[...Y.values()];return k1.set(Z,F),F}intersects(q,$){if(!(q instanceof Y6))throw TypeError("a Range is required");return this.set.some((Z)=>{return h1(Z,$)&&q.set.some((Q)=>{return h1(Q,$)&&Z.every((J)=>{return Q.every((W)=>{return J.intersects(W,$)})})})})}test(q){if(!q)return!1;if(typeof q==="string")try{q=new l$(q,this.options)}catch($){return!1}for(let $=0;$<this.set.length;$++)if(YZ(this.set[$],q,this.options))return!0;return!1}}f1.exports=Y6;var d$=I1(),k1=new d$,c$=P6(),C0=F6(),N=W6(),l$=S(),{safeRe:A,t:E,comparatorTrimReplace:p$,tildeTrimReplace:n$,caretTrimReplace:i$}=e(),{FLAG_INCLUDE_PRERELEASE:s$,FLAG_LOOSE:r$}=J6(),b1=(q)=>q.value==="<0.0.0-0",t$=(q)=>q.value==="",h1=(q,$)=>{let Z=!0,Q=q.slice(),J=Q.pop();while(Z&&Q.length)Z=Q.every((W)=>{return J.intersects(W,$)}),J=Q.pop();return Z},a$=(q,$)=>{return q=q.replace(A[E.BUILD],""),N("comp",q,$),q=qZ(q,$),N("caret",q),q=o$(q,$),N("tildes",q),q=ZZ(q,$),N("xrange",q),q=JZ(q,$),N("stars",q),q},K=(q)=>!q||q.toLowerCase()==="x"||q==="*",o$=(q,$)=>{return q.trim().split(/\s+/).map((Z)=>e$(Z,$)).join(" ")},e$=(q,$)=>{let Z=$.loose?A[E.TILDELOOSE]:A[E.TILDE];return q.replace(Z,(Q,J,W,H,Y)=>{N("tilde",q,Q,J,W,H,Y);let V;if(K(J))V="";else if(K(W))V=`>=${J}.0.0 <${+J+1}.0.0-0`;else if(K(H))V=`>=${J}.${W}.0 <${J}.${+W+1}.0-0`;else if(Y)N("replaceTilde pr",Y),V=`>=${J}.${W}.${H}-${Y} <${J}.${+W+1}.0-0`;else V=`>=${J}.${W}.${H} <${J}.${+W+1}.0-0`;return N("tilde return",V),V})},qZ=(q,$)=>{return q.trim().split(/\s+/).map((Z)=>$Z(Z,$)).join(" ")},$Z=(q,$)=>{N("caret",q,$);let Z=$.loose?A[E.CARETLOOSE]:A[E.CARET],Q=$.includePrerelease?"-0":"";return q.replace(Z,(J,W,H,Y,V)=>{N("caret",q,J,W,H,Y,V);let F;if(K(W))F="";else if(K(H))F=`>=${W}.0.0${Q} <${+W+1}.0.0-0`;else if(K(Y))if(W==="0")F=`>=${W}.${H}.0${Q} <${W}.${+H+1}.0-0`;else F=`>=${W}.${H}.0${Q} <${+W+1}.0.0-0`;else if(V)if(N("replaceCaret pr",V),W==="0")if(H==="0")F=`>=${W}.${H}.${Y}-${V} <${W}.${H}.${+Y+1}-0`;else F=`>=${W}.${H}.${Y}-${V} <${W}.${+H+1}.0-0`;else F=`>=${W}.${H}.${Y}-${V} <${+W+1}.0.0-0`;else if(N("no pr"),W==="0")if(H==="0")F=`>=${W}.${H}.${Y}${Q} <${W}.${H}.${+Y+1}-0`;else F=`>=${W}.${H}.${Y}${Q} <${W}.${+H+1}.0-0`;else F=`>=${W}.${H}.${Y} <${+W+1}.0.0-0`;return N("caret return",F),F})},ZZ=(q,$)=>{return N("replaceXRanges",q,$),q.split(/\s+/).map((Z)=>QZ(Z,$)).join(" ")},QZ=(q,$)=>{q=q.trim();let Z=$.loose?A[E.XRANGELOOSE]:A[E.XRANGE];return q.replace(Z,(Q,J,W,H,Y,V)=>{N("xRange",q,Q,J,W,H,Y,V);let F=K(W),U=F||K(H),G=U||K(Y),_=G;if(J==="="&&_)J="";if(V=$.includePrerelease?"-0":"",F)if(J===">"||J==="<")Q="<0.0.0-0";else Q="*";else if(J&&_){if(U)H=0;if(Y=0,J===">")if(J=">=",U)W=+W+1,H=0,Y=0;else H=+H+1,Y=0;else if(J==="<=")if(J="<",U)W=+W+1;else H=+H+1;if(J==="<")V="-0";Q=`${J+W}.${H}.${Y}${V}`}else if(U)Q=`>=${W}.0.0${V} <${+W+1}.0.0-0`;else if(G)Q=`>=${W}.${H}.0${V} <${W}.${+H+1}.0-0`;return N("xRange return",Q),Q})},JZ=(q,$)=>{return N("replaceStars",q,$),q.trim().replace(A[E.STAR],"")},WZ=(q,$)=>{return N("replaceGTE0",q,$),q.trim().replace(A[$.includePrerelease?E.GTE0PRE:E.GTE0],"")},HZ=(q)=>($,Z,Q,J,W,H,Y,V,F,U,G,_)=>{if(K(Q))Z="";else if(K(J))Z=`>=${Q}.0.0${q?"-0":""}`;else if(K(W))Z=`>=${Q}.${J}.0${q?"-0":""}`;else if(H)Z=`>=${Z}`;else Z=`>=${Z}${q?"-0":""}`;if(K(F))V="";else if(K(U))V=`<${+F+1}.0.0-0`;else if(K(G))V=`<${F}.${+U+1}.0-0`;else if(_)V=`<=${F}.${U}.${G}-${_}`;else if(q)V=`<${F}.${U}.${+G+1}-0`;else V=`<=${V}`;return`${Z} ${V}`.trim()},YZ=(q,$,Z)=>{for(let Q=0;Q<q.length;Q++)if(!q[Q].test($))return!1;if($.prerelease.length&&!Z.includePrerelease){for(let Q=0;Q<q.length;Q++){if(N(q[Q].semver),q[Q].semver===C0.ANY)continue;if(q[Q].semver.prerelease.length>0){let J=q[Q].semver;if(J.major===$.major&&J.minor===$.minor&&J.patch===$.patch)return!0}}return!1}return!0}});var F6=D((g7,d1)=>{var X6=Symbol("SemVer ANY");class u6{static get ANY(){return X6}constructor(q,$){if($=y1($),q instanceof u6)if(q.loose===!!$.loose)return q;else q=q.value;if(q=q.trim().split(/\s+/).join(" "),O0("comparator",q,$),this.options=$,this.loose=!!$.loose,this.parse(q),this.semver===X6)this.value="";else this.value=this.operator+this.semver.version;O0("comp",this)}parse(q){let $=this.options.loose?v1[g1.COMPARATORLOOSE]:v1[g1.COMPARATOR],Z=q.match($);if(!Z)throw TypeError(`Invalid comparator: ${q}`);if(this.operator=Z[1]!==void 0?Z[1]:"",this.operator==="=")this.operator="";if(!Z[2])this.semver=X6;else this.semver=new u1(Z[2],this.options.loose)}toString(){return this.value}test(q){if(O0("Comparator.test",q,this.options.loose),this.semver===X6||q===X6)return!0;if(typeof q==="string")try{q=new u1(q,this.options)}catch($){return!1}return _0(q,this.operator,this.semver,this.options)}intersects(q,$){if(!(q instanceof u6))throw TypeError("a Comparator is required");if(this.operator===""){if(this.value==="")return!0;return new m1(q.value,$).test(this.value)}else if(q.operator===""){if(q.value==="")return!0;return new m1(this.value,$).test(q.semver)}if($=y1($),$.includePrerelease&&(this.value==="<0.0.0-0"||q.value==="<0.0.0-0"))return!1;if(!$.includePrerelease&&(this.value.startsWith("<0.0.0")||q.value.startsWith("<0.0.0")))return!1;if(this.operator.startsWith(">")&&q.operator.startsWith(">"))return!0;if(this.operator.startsWith("<")&&q.operator.startsWith("<"))return!0;if(this.semver.version===q.semver.version&&this.operator.includes("=")&&q.operator.includes("="))return!0;if(_0(this.semver,"<",q.semver,$)&&this.operator.startsWith(">")&&q.operator.startsWith("<"))return!0;if(_0(this.semver,">",q.semver,$)&&this.operator.startsWith("<")&&q.operator.startsWith(">"))return!0;return!1}}d1.exports=u6;var y1=P6(),{safeRe:v1,t:g1}=e(),_0=L0(),O0=W6(),u1=S(),m1=I()});var U6=D((u7,c1)=>{var FZ=I(),XZ=(q,$,Z)=>{try{$=new FZ($,Z)}catch(Q){return!1}return $.test(q)};c1.exports=XZ});var p1=D((m7,l1)=>{var UZ=I(),VZ=(q,$)=>new UZ(q,$).set.map((Z)=>Z.map((Q)=>Q.value).join(" ").trim().split(" "));l1.exports=VZ});var i1=D((d7,n1)=>{var GZ=S(),DZ=I(),wZ=(q,$,Z)=>{let Q=null,J=null,W=null;try{W=new DZ($,Z)}catch(H){return null}return q.forEach((H)=>{if(W.test(H)){if(!Q||J.compare(H)===-1)Q=H,J=new GZ(Q,Z)}}),Q};n1.exports=wZ});var r1=D((c7,s1)=>{var BZ=S(),zZ=I(),LZ=(q,$,Z)=>{let Q=null,J=null,W=null;try{W=new zZ($,Z)}catch(H){return null}return q.forEach((H)=>{if(W.test(H)){if(!Q||J.compare(H)===1)Q=H,J=new BZ(Q,Z)}}),Q};s1.exports=LZ});var o1=D((l7,a1)=>{var N0=S(),CZ=I(),t1=H6(),_Z=(q,$)=>{q=new CZ(q,$);let Z=new N0("0.0.0");if(q.test(Z))return Z;if(Z=new N0("0.0.0-0"),q.test(Z))return Z;Z=null;for(let Q=0;Q<q.set.length;++Q){let J=q.set[Q],W=null;if(J.forEach((H)=>{let Y=new N0(H.semver.version);switch(H.operator){case">":if(Y.prerelease.length===0)Y.patch++;else Y.prerelease.push(0);Y.raw=Y.format();case"":case">=":if(!W||t1(Y,W))W=Y;break;case"<":case"<=":break;default:throw Error(`Unexpected operation: ${H.operator}`)}}),W&&(!Z||t1(Z,W)))Z=W}if(Z&&q.test(Z))return Z;return null};a1.exports=_Z});var q4=D((p7,e1)=>{var OZ=I(),NZ=(q,$)=>{try{return new OZ(q,$).range||"*"}catch(Z){return null}};e1.exports=NZ});var m6=D((n7,J4)=>{var jZ=S(),Q4=F6(),{ANY:SZ}=Q4,EZ=I(),AZ=U6(),$4=H6(),Z4=h6(),KZ=y6(),RZ=f6(),xZ=(q,$,Z,Q)=>{q=new jZ(q,Q),$=new EZ($,Q);let J,W,H,Y,V;switch(Z){case">":J=$4,W=KZ,H=Z4,Y=">",V=">=";break;case"<":J=Z4,W=RZ,H=$4,Y="<",V="<=";break;default:throw TypeError('Must provide a hilo val of "<" or ">"')}if(AZ(q,$,Q))return!1;for(let F=0;F<$.set.length;++F){let U=$.set[F],G=null,_=null;if(U.forEach((z)=>{if(z.semver===SZ)z=new Q4(">=0.0.0");if(G=G||z,_=_||z,J(z.semver,G.semver,Q))G=z;else if(H(z.semver,_.semver,Q))_=z}),G.operator===Y||G.operator===V)return!1;if((!_.operator||_.operator===Y)&&W(q,_.semver))return!1;else if(_.operator===V&&H(q,_.semver))return!1}return!0};J4.exports=xZ});var H4=D((i7,W4)=>{var PZ=m6(),MZ=(q,$,Z)=>PZ(q,$,">",Z);W4.exports=MZ});var F4=D((s7,Y4)=>{var TZ=m6(),IZ=(q,$,Z)=>TZ(q,$,"<",Z);Y4.exports=IZ});var V4=D((r7,U4)=>{var X4=I(),kZ=(q,$,Z)=>{return q=new X4(q,Z),$=new X4($,Z),q.intersects($,Z)};U4.exports=kZ});var D4=D((t7,G4)=>{var bZ=U6(),hZ=T();G4.exports=(q,$,Z)=>{let Q=[],J=null,W=null,H=q.sort((U,G)=>hZ(U,G,Z));for(let U of H)if(bZ(U,$,Z)){if(W=U,!J)J=U}else{if(W)Q.push([J,W]);W=null,J=null}if(J)Q.push([J,null]);let Y=[];for(let[U,G]of Q)if(U===G)Y.push(U);else if(!G&&U===H[0])Y.push("*");else if(!G)Y.push(`>=${U}`);else if(U===H[0])Y.push(`<=${G}`);else Y.push(`${U} - ${G}`);let V=Y.join(" || "),F=typeof $.raw==="string"?$.raw:String($);return V.length<F.length?V:$}});var _4=D((a7,C4)=>{var w4=I(),S0=F6(),{ANY:j0}=S0,V6=U6(),E0=T(),fZ=(q,$,Z={})=>{if(q===$)return!0;q=new w4(q,Z),$=new w4($,Z);let Q=!1;q:for(let J of q.set){for(let W of $.set){let H=vZ(J,W,Z);if(Q=Q||H!==null,H)continue q}if(Q)return!1}return!0},yZ=[new S0(">=0.0.0-0")],B4=[new S0(">=0.0.0")],vZ=(q,$,Z)=>{if(q===$)return!0;if(q.length===1&&q[0].semver===j0)if($.length===1&&$[0].semver===j0)return!0;else if(Z.includePrerelease)q=yZ;else q=B4;if($.length===1&&$[0].semver===j0)if(Z.includePrerelease)return!0;else $=B4;let Q=new Set,J,W;for(let z of q)if(z.operator===">"||z.operator===">=")J=z4(J,z,Z);else if(z.operator==="<"||z.operator==="<=")W=L4(W,z,Z);else Q.add(z.semver);if(Q.size>1)return null;let H;if(J&&W){if(H=E0(J.semver,W.semver,Z),H>0)return null;else if(H===0&&(J.operator!==">="||W.operator!=="<="))return null}for(let z of Q){if(J&&!V6(z,String(J),Z))return null;if(W&&!V6(z,String(W),Z))return null;for(let j of $)if(!V6(z,String(j),Z))return!1;return!0}let Y,V,F,U,G=W&&!Z.includePrerelease&&W.semver.prerelease.length?W.semver:!1,_=J&&!Z.includePrerelease&&J.semver.prerelease.length?J.semver:!1;if(G&&G.prerelease.length===1&&W.operator==="<"&&G.prerelease[0]===0)G=!1;for(let z of $){if(U=U||z.operator===">"||z.operator===">=",F=F||z.operator==="<"||z.operator==="<=",J){if(_){if(z.semver.prerelease&&z.semver.prerelease.length&&z.semver.major===_.major&&z.semver.minor===_.minor&&z.semver.patch===_.patch)_=!1}if(z.operator===">"||z.operator===">="){if(Y=z4(J,z,Z),Y===z&&Y!==J)return!1}else if(J.operator===">="&&!V6(J.semver,String(z),Z))return!1}if(W){if(G){if(z.semver.prerelease&&z.semver.prerelease.length&&z.semver.major===G.major&&z.semver.minor===G.minor&&z.semver.patch===G.patch)G=!1}if(z.operator==="<"||z.operator==="<="){if(V=L4(W,z,Z),V===z&&V!==W)return!1}else if(W.operator==="<="&&!V6(W.semver,String(z),Z))return!1}if(!z.operator&&(W||J)&&H!==0)return!1}if(J&&F&&!W&&H!==0)return!1;if(W&&U&&!J&&H!==0)return!1;if(_||G)return!1;return!0},z4=(q,$,Z)=>{if(!q)return $;let Q=E0(q.semver,$.semver,Z);return Q>0?q:Q<0?$:$.operator===">"&&q.operator===">="?$:q},L4=(q,$,Z)=>{if(!q)return $;let Q=E0(q.semver,$.semver,Z);return Q<0?q:Q>0?$:$.operator==="<"&&q.operator==="<="?$:q};C4.exports=fZ});var d6=D((o7,j4)=>{var A0=e(),O4=J6(),gZ=S(),N4=D0(),uZ=c(),mZ=n8(),dZ=s8(),cZ=a8(),lZ=q1(),pZ=Z1(),nZ=J1(),iZ=H1(),sZ=F1(),rZ=T(),tZ=G1(),aZ=w1(),oZ=b6(),eZ=C1(),qQ=O1(),$Q=H6(),ZQ=h6(),QQ=B0(),JQ=z0(),WQ=f6(),HQ=y6(),YQ=L0(),FQ=P1(),XQ=F6(),UQ=I(),VQ=U6(),GQ=p1(),DQ=i1(),wQ=r1(),BQ=o1(),zQ=q4(),LQ=m6(),CQ=H4(),_Q=F4(),OQ=V4(),NQ=D4(),jQ=_4();j4.exports={parse:uZ,valid:mZ,clean:dZ,inc:cZ,diff:lZ,major:pZ,minor:nZ,patch:iZ,prerelease:sZ,compare:rZ,rcompare:tZ,compareLoose:aZ,compareBuild:oZ,sort:eZ,rsort:qQ,gt:$Q,lt:ZQ,eq:QQ,neq:JQ,gte:WQ,lte:HQ,cmp:YQ,coerce:FQ,Comparator:XQ,Range:UQ,satisfies:VQ,toComparators:GQ,maxSatisfying:DQ,minSatisfying:wQ,minVersion:BQ,validRange:zQ,outside:LQ,gtr:CQ,ltr:_Q,intersects:OQ,simplifyRange:NQ,subset:jQ,SemVer:gZ,re:A0.re,src:A0.src,tokens:A0.t,SEMVER_SPEC_VERSION:O4.SEMVER_SPEC_VERSION,RELEASE_TYPES:O4.RELEASE_TYPES,compareIdentifiers:N4.compareIdentifiers,rcompareIdentifiers:N4.rcompareIdentifiers}});var E4=D((e7,S4)=>{var SQ=d6();S4.exports=SQ.satisfies(process.version,">=15.7.0")});var K4=D((qW,A4)=>{var EQ=d6();A4.exports=EQ.satisfies(process.version,">=16.9.0")});var K0=D(($W,R4)=>{var AQ=E4(),KQ=K4(),RQ={ec:["ES256","ES384","ES512"],rsa:["RS256","PS256","RS384","PS384","RS512","PS512"],"rsa-pss":["PS256","PS384","PS512"]},xQ={ES256:"prime256v1",ES384:"secp384r1",ES512:"secp521r1"};R4.exports=function(q,$){if(!q||!$)return;let Z=$.asymmetricKeyType;if(!Z)return;let Q=RQ[Z];if(!Q)throw Error(`Unknown key type "${Z}".`);if(!Q.includes(q))throw Error(`"alg" parameter for "${Z}" key type must be one of: ${Q.join(", ")}.`);if(AQ)switch(Z){case"ec":let J=$.asymmetricKeyDetails.namedCurve,W=xQ[q];if(J!==W)throw Error(`"alg" parameter "${q}" requires curve "${W}".`);break;case"rsa-pss":if(KQ){let H=parseInt(q.slice(-3),10),{hashAlgorithm:Y,mgf1HashAlgorithm:V,saltLength:F}=$.asymmetricKeyDetails;if(Y!==`sha${H}`||V!==Y)throw Error(`Invalid key for this operation, its RSA-PSS parameters do not meet the requirements of "alg" ${q}.`);if(F!==void 0&&F>H>>3)throw Error(`Invalid key for this operation, its RSA-PSS parameter saltLength does not meet the requirements of "alg" ${q}.`)}break}}});var R0=D((ZW,x4)=>{var PQ=d6();x4.exports=PQ.satisfies(process.version,"^6.12.0 || >=8.0.0")});var T4=D((QW,M4)=>{var O=Q6(),MQ=F0(),P4=X0(),TQ=Y0(),IQ=U0(),kQ=K0(),bQ=R0(),hQ=E6(),{KeyObject:fQ,createSecretKey:yQ,createPublicKey:vQ}=x("crypto"),x0=["RS256","RS384","RS512"],gQ=["ES256","ES384","ES512"],P0=["RS256","RS384","RS512"],uQ=["HS256","HS384","HS512"];if(bQ)x0.splice(x0.length,0,"PS256","PS384","PS512"),P0.splice(P0.length,0,"PS256","PS384","PS512");M4.exports=function(q,$,Z,Q){if(typeof Z==="function"&&!Q)Q=Z,Z={};if(!Z)Z={};Z=Object.assign({},Z);let J;if(Q)J=Q;else J=function(U,G){if(U)throw U;return G};if(Z.clockTimestamp&&typeof Z.clockTimestamp!=="number")return J(new O("clockTimestamp must be a number"));if(Z.nonce!==void 0&&(typeof Z.nonce!=="string"||Z.nonce.trim()===""))return J(new O("nonce must be a non-empty string"));if(Z.allowInvalidAsymmetricKeyTypes!==void 0&&typeof Z.allowInvalidAsymmetricKeyTypes!=="boolean")return J(new O("allowInvalidAsymmetricKeyTypes must be a boolean"));let W=Z.clockTimestamp||Math.floor(Date.now()/1000);if(!q)return J(new O("jwt must be provided"));if(typeof q!=="string")return J(new O("jwt must be a string"));let H=q.split(".");if(H.length!==3)return J(new O("jwt malformed"));let Y;try{Y=TQ(q,{complete:!0})}catch(U){return J(U)}if(!Y)return J(new O("invalid token"));let V=Y.header,F;if(typeof $==="function"){if(!Q)return J(new O("verify must be called asynchronous if secret or public key is provided as a callback"));F=$}else F=function(U,G){return G(null,$)};return F(V,function(U,G){if(U)return J(new O("error in secret or public key callback: "+U.message));let _=H[2].trim()!=="";if(!_&&G)return J(new O("jwt signature is required"));if(_&&!G)return J(new O("secret or public key must be provided"));if(!_&&!Z.algorithms)return J(new O('please specify "none" in "algorithms" to verify unsigned tokens'));if(G!=null&&!(G instanceof fQ))try{G=vQ(G)}catch(R){try{G=yQ(typeof G==="string"?Buffer.from(G):G)}catch(K9){return J(new O("secretOrPublicKey is not valid key material"))}}if(!Z.algorithms)if(G.type==="secret")Z.algorithms=uQ;else if(["rsa","rsa-pss"].includes(G.asymmetricKeyType))Z.algorithms=P0;else if(G.asymmetricKeyType==="ec")Z.algorithms=gQ;else Z.algorithms=x0;if(Z.algorithms.indexOf(Y.header.alg)===-1)return J(new O("invalid algorithm"));if(V.alg.startsWith("HS")&&G.type!=="secret")return J(new O(`secretOrPublicKey must be a symmetric key when using ${V.alg}`));else if(/^(?:RS|PS|ES)/.test(V.alg)&&G.type!=="public")return J(new O(`secretOrPublicKey must be an asymmetric key when using ${V.alg}`));if(!Z.allowInvalidAsymmetricKeyTypes)try{kQ(V.alg,G)}catch(R){return J(R)}let z;try{z=hQ.verify(q,Y.header.alg,G)}catch(R){return J(R)}if(!z)return J(new O("invalid signature"));let j=Y.payload;if(typeof j.nbf<"u"&&!Z.ignoreNotBefore){if(typeof j.nbf!=="number")return J(new O("invalid nbf value"));if(j.nbf>W+(Z.clockTolerance||0))return J(new MQ("jwt not active",new Date(j.nbf*1000)))}if(typeof j.exp<"u"&&!Z.ignoreExpiration){if(typeof j.exp!=="number")return J(new O("invalid exp value"));if(W>=j.exp+(Z.clockTolerance||0))return J(new P4("jwt expired",new Date(j.exp*1000)))}if(Z.audience){let R=Array.isArray(Z.audience)?Z.audience:[Z.audience];if(!(Array.isArray(j.aud)?j.aud:[j.aud]).some(function(y0){return R.some(function(t6){return t6 instanceof RegExp?t6.test(y0):t6===y0})}))return J(new O("jwt audience invalid. expected: "+R.join(" or ")))}if(Z.issuer){if(typeof Z.issuer==="string"&&j.iss!==Z.issuer||Array.isArray(Z.issuer)&&Z.issuer.indexOf(j.iss)===-1)return J(new O("jwt issuer invalid. expected: "+Z.issuer))}if(Z.subject){if(j.sub!==Z.subject)return J(new O("jwt subject invalid. expected: "+Z.subject))}if(Z.jwtid){if(j.jti!==Z.jwtid)return J(new O("jwt jwtid invalid. expected: "+Z.jwtid))}if(Z.nonce){if(j.nonce!==Z.nonce)return J(new O("jwt nonce invalid. expected: "+Z.nonce))}if(Z.maxAge){if(typeof j.iat!=="number")return J(new O("iat required when maxAge is specified"));let R=IQ(Z.maxAge,j.iat);if(typeof R>"u")return J(new O('"maxAge" should be a number of seconds or string representing a timespan eg: "1d", "20h", 60'));if(W>=R+(Z.clockTolerance||0))return J(new P4("maxAge exceeded",new Date(R*1000)))}if(Z.complete===!0){let R=Y.signature;return J(null,{header:V,payload:j,signature:R})}return J(null,j)})}});var y4=D((JW,f4)=>{var I4=1/0,b4=9007199254740991,mQ=179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,k4=NaN,dQ="[object Arguments]",cQ="[object Function]",lQ="[object GeneratorFunction]",pQ="[object String]",nQ="[object Symbol]",iQ=/^\s+|\s+$/g,sQ=/^[-+]0x[0-9a-f]+$/i,rQ=/^0b[01]+$/i,tQ=/^0o[0-7]+$/i,aQ=/^(?:0|[1-9]\d*)$/,oQ=parseInt;function eQ(q,$){var Z=-1,Q=q?q.length:0,J=Array(Q);while(++Z<Q)J[Z]=$(q[Z],Z,q);return J}function q5(q,$,Z,Q){var J=q.length,W=Z+(Q?1:-1);while(Q?W--:++W<J)if($(q[W],W,q))return W;return-1}function $5(q,$,Z){if($!==$)return q5(q,Z5,Z);var Q=Z-1,J=q.length;while(++Q<J)if(q[Q]===$)return Q;return-1}function Z5(q){return q!==q}function Q5(q,$){var Z=-1,Q=Array(q);while(++Z<q)Q[Z]=$(Z);return Q}function J5(q,$){return eQ($,function(Z){return q[Z]})}function W5(q,$){return function(Z){return q($(Z))}}var c6=Object.prototype,T0=c6.hasOwnProperty,l6=c6.toString,H5=c6.propertyIsEnumerable,Y5=W5(Object.keys,Object),F5=Math.max;function X5(q,$){var Z=h4(q)||w5(q)?Q5(q.length,String):[],Q=Z.length,J=!!Q;for(var W in q)if(($||T0.call(q,W))&&!(J&&(W=="length"||V5(W,Q))))Z.push(W);return Z}function U5(q){if(!G5(q))return Y5(q);var $=[];for(var Z in Object(q))if(T0.call(q,Z)&&Z!="constructor")$.push(Z);return $}function V5(q,$){return $=$==null?b4:$,!!$&&(typeof q=="number"||aQ.test(q))&&(q>-1&&q%1==0&&q<$)}function G5(q){var $=q&&q.constructor,Z=typeof $=="function"&&$.prototype||c6;return q===Z}function D5(q,$,Z,Q){q=I0(q)?q:E5(q),Z=Z&&!Q?N5(Z):0;var J=q.length;if(Z<0)Z=F5(J+Z,0);return C5(q)?Z<=J&&q.indexOf($,Z)>-1:!!J&&$5(q,$,Z)>-1}function w5(q){return B5(q)&&T0.call(q,"callee")&&(!H5.call(q,"callee")||l6.call(q)==dQ)}var h4=Array.isArray;function I0(q){return q!=null&&L5(q.length)&&!z5(q)}function B5(q){return k0(q)&&I0(q)}function z5(q){var $=M0(q)?l6.call(q):"";return $==cQ||$==lQ}function L5(q){return typeof q=="number"&&q>-1&&q%1==0&&q<=b4}function M0(q){var $=typeof q;return!!q&&($=="object"||$=="function")}function k0(q){return!!q&&typeof q=="object"}function C5(q){return typeof q=="string"||!h4(q)&&k0(q)&&l6.call(q)==pQ}function _5(q){return typeof q=="symbol"||k0(q)&&l6.call(q)==nQ}function O5(q){if(!q)return q===0?q:0;if(q=j5(q),q===I4||q===-I4){var $=q<0?-1:1;return $*mQ}return q===q?q:0}function N5(q){var $=O5(q),Z=$%1;return $===$?Z?$-Z:$:0}function j5(q){if(typeof q=="number")return q;if(_5(q))return k4;if(M0(q)){var $=typeof q.valueOf=="function"?q.valueOf():q;q=M0($)?$+"":$}if(typeof q!="string")return q===0?q:+q;q=q.replace(iQ,"");var Z=rQ.test(q);return Z||tQ.test(q)?oQ(q.slice(2),Z?2:8):sQ.test(q)?k4:+q}function S5(q){return I0(q)?X5(q):U5(q)}function E5(q){return q?J5(q,S5(q)):[]}f4.exports=D5});var g4=D((WW,v4)=>{var A5="[object Boolean]",K5=Object.prototype,R5=K5.toString;function x5(q){return q===!0||q===!1||P5(q)&&R5.call(q)==A5}function P5(q){return!!q&&typeof q=="object"}v4.exports=x5});var l4=D((HW,c4)=>{var u4=1/0,M5=179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,m4=NaN,T5="[object Symbol]",I5=/^\s+|\s+$/g,k5=/^[-+]0x[0-9a-f]+$/i,b5=/^0b[01]+$/i,h5=/^0o[0-7]+$/i,f5=parseInt,y5=Object.prototype,v5=y5.toString;function g5(q){return typeof q=="number"&&q==c5(q)}function d4(q){var $=typeof q;return!!q&&($=="object"||$=="function")}function u5(q){return!!q&&typeof q=="object"}function m5(q){return typeof q=="symbol"||u5(q)&&v5.call(q)==T5}function d5(q){if(!q)return q===0?q:0;if(q=l5(q),q===u4||q===-u4){var $=q<0?-1:1;return $*M5}return q===q?q:0}function c5(q){var $=d5(q),Z=$%1;return $===$?Z?$-Z:$:0}function l5(q){if(typeof q=="number")return q;if(m5(q))return m4;if(d4(q)){var $=typeof q.valueOf=="function"?q.valueOf():q;q=d4($)?$+"":$}if(typeof q!="string")return q===0?q:+q;q=q.replace(I5,"");var Z=b5.test(q);return Z||h5.test(q)?f5(q.slice(2),Z?2:8):k5.test(q)?m4:+q}c4.exports=g5});var n4=D((YW,p4)=>{var p5="[object Number]",n5=Object.prototype,i5=n5.toString;function s5(q){return!!q&&typeof q=="object"}function r5(q){return typeof q=="number"||s5(q)&&i5.call(q)==p5}p4.exports=r5});var t4=D((FW,r4)=>{var t5="[object Object]";function a5(q){var $=!1;if(q!=null&&typeof q.toString!="function")try{$=!!(q+"")}catch(Z){}return $}function o5(q,$){return function(Z){return q($(Z))}}var e5=Function.prototype,i4=Object.prototype,s4=e5.toString,qJ=i4.hasOwnProperty,$J=s4.call(Object),ZJ=i4.toString,QJ=o5(Object.getPrototypeOf,Object);function JJ(q){return!!q&&typeof q=="object"}function WJ(q){if(!JJ(q)||ZJ.call(q)!=t5||a5(q))return!1;var $=QJ(q);if($===null)return!0;var Z=qJ.call($,"constructor")&&$.constructor;return typeof Z=="function"&&Z instanceof Z&&s4.call(Z)==$J}r4.exports=WJ});var o4=D((XW,a4)=>{var HJ="[object String]",YJ=Object.prototype,FJ=YJ.toString,XJ=Array.isArray;function UJ(q){return!!q&&typeof q=="object"}function VJ(q){return typeof q=="string"||!XJ(q)&&UJ(q)&&FJ.call(q)==HJ}a4.exports=VJ});var Q9=D((UW,Z9)=>{var GJ="Expected a function",e4=1/0,DJ=179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,q9=NaN,wJ="[object Symbol]",BJ=/^\s+|\s+$/g,zJ=/^[-+]0x[0-9a-f]+$/i,LJ=/^0b[01]+$/i,CJ=/^0o[0-7]+$/i,_J=parseInt,OJ=Object.prototype,NJ=OJ.toString;function jJ(q,$){var Z;if(typeof $!="function")throw TypeError(GJ);return q=RJ(q),function(){if(--q>0)Z=$.apply(this,arguments);if(q<=1)$=void 0;return Z}}function SJ(q){return jJ(2,q)}function $9(q){var $=typeof q;return!!q&&($=="object"||$=="function")}function EJ(q){return!!q&&typeof q=="object"}function AJ(q){return typeof q=="symbol"||EJ(q)&&NJ.call(q)==wJ}function KJ(q){if(!q)return q===0?q:0;if(q=xJ(q),q===e4||q===-e4){var $=q<0?-1:1;return $*DJ}return q===q?q:0}function RJ(q){var $=KJ(q),Z=$%1;return $===$?Z?$-Z:$:0}function xJ(q){if(typeof q=="number")return q;if(AJ(q))return q9;if($9(q)){var $=typeof q.valueOf=="function"?q.valueOf():q;q=$9($)?$+"":$}if(typeof q!="string")return q===0?q:+q;q=q.replace(BJ,"");var Z=LJ.test(q);return Z||CJ.test(q)?_J(q.slice(2),Z?2:8):zJ.test(q)?q9:+q}Z9.exports=SJ});var G9=D((VW,V9)=>{var J9=U0(),PJ=R0(),MJ=K0(),W9=E6(),TJ=y4(),p6=g4(),H9=l4(),b0=n4(),F9=t4(),g=o4(),IJ=Q9(),{KeyObject:kJ,createSecretKey:bJ,createPrivateKey:hJ}=x("crypto"),X9=["RS256","RS384","RS512","ES256","ES384","ES512","HS256","HS384","HS512","none"];if(PJ)X9.splice(3,0,"PS256","PS384","PS512");var fJ={expiresIn:{isValid:function(q){return H9(q)||g(q)&&q},message:'"expiresIn" should be a number of seconds or string representing a timespan'},notBefore:{isValid:function(q){return H9(q)||g(q)&&q},message:'"notBefore" should be a number of seconds or string representing a timespan'},audience:{isValid:function(q){return g(q)||Array.isArray(q)},message:'"audience" must be a string or array'},algorithm:{isValid:TJ.bind(null,X9),message:'"algorithm" must be a valid string enum value'},header:{isValid:F9,message:'"header" must be an object'},encoding:{isValid:g,message:'"encoding" must be a string'},issuer:{isValid:g,message:'"issuer" must be a string'},subject:{isValid:g,message:'"subject" must be a string'},jwtid:{isValid:g,message:'"jwtid" must be a string'},noTimestamp:{isValid:p6,message:'"noTimestamp" must be a boolean'},keyid:{isValid:g,message:'"keyid" must be a string'},mutatePayload:{isValid:p6,message:'"mutatePayload" must be a boolean'},allowInsecureKeySizes:{isValid:p6,message:'"allowInsecureKeySizes" must be a boolean'},allowInvalidAsymmetricKeyTypes:{isValid:p6,message:'"allowInvalidAsymmetricKeyTypes" must be a boolean'}},yJ={iat:{isValid:b0,message:'"iat" should be a number of seconds'},exp:{isValid:b0,message:'"exp" should be a number of seconds'},nbf:{isValid:b0,message:'"nbf" should be a number of seconds'}};function U9(q,$,Z,Q){if(!F9(Z))throw Error('Expected "'+Q+'" to be a plain object.');Object.keys(Z).forEach(function(J){let W=q[J];if(!W){if(!$)throw Error('"'+J+'" is not allowed in "'+Q+'"');return}if(!W.isValid(Z[J]))throw Error(W.message)})}function vJ(q){return U9(fJ,!1,q,"options")}function gJ(q){return U9(yJ,!0,q,"payload")}var Y9={audience:"aud",issuer:"iss",subject:"sub",jwtid:"jti"},uJ=["expiresIn","notBefore","noTimestamp","audience","issuer","subject","jwtid"];V9.exports=function(q,$,Z,Q){if(typeof Z==="function")Q=Z,Z={};else Z=Z||{};let J=typeof q==="object"&&!Buffer.isBuffer(q),W=Object.assign({alg:Z.algorithm||"HS256",typ:J?"JWT":void 0,kid:Z.keyid},Z.header);function H(F){if(Q)return Q(F);throw F}if(!$&&Z.algorithm!=="none")return H(Error("secretOrPrivateKey must have a value"));if($!=null&&!($ instanceof kJ))try{$=hJ($)}catch(F){try{$=bJ(typeof $==="string"?Buffer.from($):$)}catch(U){return H(Error("secretOrPrivateKey is not valid key material"))}}if(W.alg.startsWith("HS")&&$.type!=="secret")return H(Error(`secretOrPrivateKey must be a symmetric key when using ${W.alg}`));else if(/^(?:RS|PS|ES)/.test(W.alg)){if($.type!=="private")return H(Error(`secretOrPrivateKey must be an asymmetric key when using ${W.alg}`));if(!Z.allowInsecureKeySizes&&!W.alg.startsWith("ES")&&$.asymmetricKeyDetails!==void 0&&$.asymmetricKeyDetails.modulusLength<2048)return H(Error(`secretOrPrivateKey has a minimum key size of 2048 bits for ${W.alg}`))}if(typeof q>"u")return H(Error("payload is required"));else if(J){try{gJ(q)}catch(F){return H(F)}if(!Z.mutatePayload)q=Object.assign({},q)}else{let F=uJ.filter(function(U){return typeof Z[U]<"u"});if(F.length>0)return H(Error("invalid "+F.join(",")+" option for "+typeof q+" payload"))}if(typeof q.exp<"u"&&typeof Z.expiresIn<"u")return H(Error('Bad "options.expiresIn" option the payload already has an "exp" property.'));if(typeof q.nbf<"u"&&typeof Z.notBefore<"u")return H(Error('Bad "options.notBefore" option the payload already has an "nbf" property.'));try{vJ(Z)}catch(F){return H(F)}if(!Z.allowInvalidAsymmetricKeyTypes)try{MJ(W.alg,$)}catch(F){return H(F)}let Y=q.iat||Math.floor(Date.now()/1000);if(Z.noTimestamp)delete q.iat;else if(J)q.iat=Y;if(typeof Z.notBefore<"u"){try{q.nbf=J9(Z.notBefore,Y)}catch(F){return H(F)}if(typeof q.nbf>"u")return H(Error('"notBefore" should be a number of seconds or string representing a timespan eg: "1d", "20h", 60'))}if(typeof Z.expiresIn<"u"&&typeof q==="object"){try{q.exp=J9(Z.expiresIn,Y)}catch(F){return H(F)}if(typeof q.exp>"u")return H(Error('"expiresIn" should be a number of seconds or string representing a timespan eg: "1d", "20h", 60'))}Object.keys(Y9).forEach(function(F){let U=Y9[F];if(typeof Z[F]<"u"){if(typeof q[U]<"u")return H(Error('Bad "options.'+F+'" option. The payload already has an "'+U+'" property.'));q[U]=Z[F]}});let V=Z.encoding||"utf8";if(typeof Q==="function")Q=Q&&IJ(Q),W9.createSign({header:W,privateKey:$,payload:q,encoding:V}).once("error",Q).once("done",function(F){if(!Z.allowInsecureKeySizes&&/^(?:RS|PS)/.test(W.alg)&&F.length<256)return Q(Error(`secretOrPrivateKey has a minimum key size of 2048 bits for ${W.alg}`));Q(null,F)});else{let F=W9.sign({header:W,payload:q,secret:$,encoding:V});if(!Z.allowInsecureKeySizes&&/^(?:RS|PS)/.test(W.alg)&&F.length<256)throw Error(`secretOrPrivateKey has a minimum key size of 2048 bits for ${W.alg}`);return F}}});var w9=D((GW,D9)=>{D9.exports={decode:Y0(),verify:T4(),sign:G9(),JsonWebTokenError:Q6(),NotBeforeError:F0(),TokenExpiredError:X0()}});var jH=B9(w2(),1);function P2(q="",$){return(Z)=>{let Q=q.trim();if(Q&&!Q.startsWith("/"))Q="/"+Q;if(Q.endsWith("/"))Q=Q.slice(0,-1);C.defineController(Z,{prefix:Q,middleware:$?.middleware||[]})}}function p(q){return($="")=>{return(Z,Q)=>{let J=$.trim();if(J&&!J.startsWith("/"))J="/"+J;let W=Reflect.getMetadata("route:middleware",Z,Q)||[];C.defineRoute(Z,Q,{method:q,path:J,middleware:W,parameters:[],dependencies:[],responses:[]})}}}var M2=p("GET"),T2=p("POST"),I2=p("PUT"),k2=p("DELETE"),b2=p("PATCH"),h2=p("ALL");function R9(q){return($,Z,Q)=>{if(!Z)return;let J={index:Q,type:"body",schema:q,required:!0};C.defineParameter($,Z,Q,J)}}function x9(q){return($,Z,Q)=>{if(!Z)return;let J={index:Q,type:"param",name:q,required:!0};C.defineParameter($,Z,Q,J)}}function P9(q){return($,Z,Q)=>{if(!Z)return;let J={index:Q,type:"header",name:q,required:!1};C.defineParameter($,Z,Q,J)}}function M9(q){return($,Z,Q)=>{if(!Z)return;let J={index:Q,type:"cookie",name:q,required:!1};C.defineParameter($,Z,Q,J)}}function T9(){return(q,$,Z)=>{if(!$)return;let Q={index:Z,type:"context",required:!0};C.defineParameter(q,$,Z,Q)}}function u2(q,$="request"){return(Z,Q,J)=>{if(Q===void 0)throw Error("@Depends decorator can only be used on method parameters, not constructor parameters");C.defineDependency(Z,Q,J,{index:J,provider:q,scope:$})}}function d2(...q){return($,Z)=>{let Q=Reflect.getMetadata("route:middleware",$,Z)||[];Reflect.defineMetadata("route:middleware",[...Q,...q],$,Z)}}function p2(q){return($,Z)=>{let Q=C.getRouteMetadata($,Z);C.defineRoute($,Z,{...Q,docs:{...Q?.docs,...q}})}}function n2(q){return($,Z)=>{let Q=C.getRouteMetadata($,Z),J=Q?.responses||[],W=J.findIndex((Y)=>Y.statusCode===q.statusCode),H;if(W>=0)H=[...J],H[W]=q;else H=[...J,q];C.defineRoute($,Z,{...Q,responses:H})}}var u=B9(w9(),1);class h0{config;blacklistedTokens=new Set;constructor(q){this.config=q;if(!q.secret)throw Error("JWT secret is required")}generateTokens(q){let $=Math.floor(Date.now()/1000),Z=this.parseExpiration(this.config.expiresIn||"1h"),Q={sub:q.sub,...q,iat:$,exp:$+Z,iss:this.config.issuer,aud:this.config.audience},J=u.sign(Q,this.config.secret,{algorithm:this.config.algorithm||"HS256"}),W={sub:q.sub,type:"refresh",iat:$,exp:$+this.parseExpiration(this.config.refreshExpiresIn||"7d"),iss:this.config.issuer,aud:this.config.audience},H=u.sign(W,this.config.refreshSecret||this.config.secret,{algorithm:this.config.algorithm||"HS256"});return{accessToken:J,refreshToken:H,expiresIn:Z}}verifyAccessToken(q){if(this.isBlacklisted(q))throw Error("Token has been revoked");try{return u.verify(q,this.config.secret,{algorithms:[this.config.algorithm||"HS256"],issuer:this.config.issuer,audience:this.config.audience})}catch($){if($ instanceof Error)throw Error(`Invalid token: ${$.message}`);throw Error("Invalid token")}}verifyRefreshToken(q){if(this.isBlacklisted(q))throw Error("Refresh token has been revoked");try{let $=u.verify(q,this.config.refreshSecret||this.config.secret,{algorithms:[this.config.algorithm||"HS256"],issuer:this.config.issuer,audience:this.config.audience});if($.type!=="refresh")throw Error("Invalid refresh token type");return $}catch($){if($ instanceof Error)throw Error(`Invalid refresh token: ${$.message}`);throw Error("Invalid refresh token")}}refreshAccessToken(q){let $=this.verifyRefreshToken(q);return this.blacklistToken(q),this.generateTokens({sub:$.sub,...Object.fromEntries(Object.entries($).filter(([Z])=>!["iat","exp","iss","aud","type"].includes(Z)))})}decodeToken(q){try{return u.decode(q)}catch{return null}}blacklistToken(q){this.blacklistedTokens.add(q)}isBlacklisted(q){return this.blacklistedTokens.has(q)}cleanupBlacklist(){let q=Math.floor(Date.now()/1000);for(let $ of this.blacklistedTokens){let Z=this.decodeToken($);if(Z&&Z.exp&&Z.exp<q)this.blacklistedTokens.delete($)}}parseExpiration(q){if(typeof q==="number")return q;let $={s:1,m:60,h:3600,d:86400,w:604800},Z=q.match(/^(\d+)([smhdw])$/);if(!Z)throw Error(`Invalid expiration format: ${q}`);let[,Q,J]=Z;return parseInt(Q)*$[J]}}var wW=X.object({sub:X.string(),iat:X.number().optional(),exp:X.number().optional(),iss:X.string().optional(),aud:X.string().optional()}).passthrough(),BW=X.object({username:X.string().min(1),password:X.string().min(1)}),zW=X.object({refreshToken:X.string().min(1)});class i6{config;userProvider;jwtProvider;constructor(q,$){this.config=q;this.userProvider=$;this.jwtProvider=new h0(q)}async login(q,$){let Z=await this.userProvider.findByCredentials(q,$);if(!Z)throw new h("Invalid credentials");let Q=this.jwtProvider.generateTokens({sub:Z.id,username:Z.username,email:Z.email,roles:Z.roles||[],permissions:Z.permissions||[]});return{user:Z,tokens:Q}}async refresh(q){try{return this.jwtProvider.refreshAccessToken(q)}catch($){throw new n6($ instanceof Error?$.message:"Invalid refresh token")}}async logout(q,$){if(this.jwtProvider.blacklistToken(q),$)this.jwtProvider.blacklistToken($)}async verifyToken(q){try{let $=this.jwtProvider.verifyAccessToken(q),Z=await this.userProvider.findById($.sub);if(!Z)throw new h("User not found");return Z}catch($){if($ instanceof Error){if($.message.includes("expired"))throw new z9;throw new n6($.message)}throw new n6("Token verification failed")}}getUserFromToken(q){return this.jwtProvider.verifyAccessToken(q)}hasRoles(q,$){let Z=q.roles||[];return $.every((Q)=>Z.includes(Q))}hasPermissions(q,$){let Z=q.permissions||[];return $.every((Q)=>Z.includes(Q))}async register(q){let $=await this.userProvider.hashPassword(q.password),Z={id:crypto.randomUUID(),username:q.username,email:q.email,roles:q.roles||["user"]},Q=this.jwtProvider.generateTokens({sub:Z.id,username:Z.username,email:Z.email,roles:Z.roles});return{user:Z,tokens:Q}}cleanup(){this.jwtProvider.cleanupBlacklist()}getJWTProvider(){return this.jwtProvider}}class mJ{users=new Map;async findByCredentials(q,$){for(let[Z,Q]of this.users)if(Q.username===q){if(await this.verifyPassword($,Q.passwordHash)){let{passwordHash:W,...H}=Q;return H}}return null}async findById(q){let $=this.users.get(q);if($){let{passwordHash:Z,...Q}=$;return Q}return null}async hashPassword(q){return Buffer.from(q).toString("base64")}async verifyPassword(q,$){return await this.hashPassword(q)===$}async createUser(q){let $=crypto.randomUUID(),Z=await this.hashPassword(q.password),Q={id:$,username:q.username,email:q.email,roles:q.roles||["user"],passwordHash:Z};this.users.set($,Q);let{passwordHash:J,...W}=Q;return W}}class G6{roles=new Map;hierarchy=new Map;compiledPermissions=new Map;defineRole(q){if(this.roles.set(q.name,q),q.inherits&&q.inherits.length>0)this.hierarchy.set(q.name,q.inherits);this.compiledPermissions.clear()}defineRoles(q){for(let $ of q)this.defineRole($)}getRolePermissions(q){if(this.compiledPermissions.has(q))return Array.from(this.compiledPermissions.get(q));let $=new Set;return this.collectPermissions(q,$,new Set),this.compiledPermissions.set(q,$),Array.from($)}roleHasPermission(q,$){return this.getRolePermissions(q).includes($)}userHasPermission(q,$){for(let Z of q)if(this.roleHasPermission(Z,$))return!0;return!1}userHasRoles(q,$){return $.every((Z)=>q.includes(Z))}userHasAnyRole(q,$){return $.some((Z)=>q.includes(Z))}getRolesWithPermission(q){let $=[];for(let Z of this.roles.keys())if(this.roleHasPermission(Z,q))$.push(Z);return $}getRoleHierarchy(q){let $=[];return this.collectParentRoles(q,$,new Set),$}roleInheritsFrom(q,$){return this.getRoleHierarchy(q).includes($)}getAllRoles(){return Array.from(this.roles.values())}getRole(q){return this.roles.get(q)}roleExists(q){return this.roles.has(q)}validateRoles(q){let $=[],Z=[];for(let Q of q)if(this.roleExists(Q))$.push(Q);else Z.push(Q);return{valid:$,invalid:Z}}getEffectiveRoles(q){let $=new Set;for(let Z of q)$.add(Z),this.getRoleHierarchy(Z).forEach((J)=>$.add(J));return Array.from($)}compareRoleLevels(q,$){let Z=this.getRole(q),Q=this.getRole($),J=Z?.level??0,W=Q?.level??0;return J-W}getHighestRoleLevel(q){let $=0;for(let Z of q){let Q=this.getRole(Z);if(Q&&Q.level&&Q.level>$)$=Q.level}return $}collectPermissions(q,$,Z){if(Z.has(q))throw Error(`Circular role inheritance detected: ${q}`);Z.add(q);let Q=this.roles.get(q);if(!Q)throw Error(`Role not found: ${q}`);Q.permissions.forEach((W)=>$.add(W));let J=this.hierarchy.get(q)||[];for(let W of J)this.collectPermissions(W,$,new Set(Z))}collectParentRoles(q,$,Z){if(Z.has(q))return;Z.add(q);let Q=this.hierarchy.get(q)||[];for(let J of Q)$.push(J),this.collectParentRoles(J,$,Z)}}function L9(){let q=new G6;return q.defineRoles([{name:"guest",description:"Guest user with minimal permissions",permissions:["read:public"],level:1},{name:"user",description:"Regular authenticated user",permissions:["read:own","write:own","read:public"],inherits:["guest"],level:10},{name:"moderator",description:"Moderator with content management permissions",permissions:["read:all","write:all","moderate:content"],inherits:["user"],level:50},{name:"admin",description:"Administrator with full system access",permissions:["*"],inherits:["moderator"],level:100},{name:"super-admin",description:"Super administrator with unrestricted access",permissions:["*","system:*"],inherits:["admin"],level:1000}]),q}var AW=X.object({name:X.string().min(1),description:X.string().optional(),permissions:X.array(X.string()),inherits:X.array(X.string()).optional(),level:X.number().optional()}),KW=X.object({userId:X.string(),roles:X.array(X.string())}),RW=X.object({userId:X.string(),permission:X.string()});class D6{static matches(q,$){if($==="*")return!0;if($.endsWith("*")){let Z=$.slice(0,-1);return q.startsWith(Z)}return q===$}static hasPermission(q,$){return q.some((Z)=>this.matches($,Z))}static filterByPattern(q,$){return q.filter((Z)=>this.matches(Z,$))}}function MW(q){return($,Z)=>{let Q={required:!q?.optional,config:q};C.defineAuth($,Z,Q)}}function TW(){return(q,$,Z)=>{if($)C.defineParameter(q,$,Z,{index:Z,type:"current-user",required:!1})}}function IW(){return(q,$,Z)=>{if($)C.defineParameter(q,$,Z,{index:Z,type:"token",required:!1})}}function C9(q){return async($,Z)=>{let Q=$.req.header("Authorization");if(!Q||!Q.startsWith("Bearer "))$.set("auth.error","Missing or invalid Authorization header"),$.set("auth.authenticated",!1);else{let J=Q.substring(7);try{let W=q.verifyAccessToken(J);$.set("auth.user",W),$.set("auth.token",J),$.set("auth.authenticated",!0)}catch(W){$.set("auth.error",W instanceof Error?W.message:"Authentication failed"),$.set("auth.authenticated",!1)}}await Z()}}function l(q){return q.get("auth.user")||null}function _9(q){return q.get("auth.token")||null}function kW(q){return q.get("auth.authenticated")===!0}function bW(q){return q.get("auth.error")||null}function dJ(q){return($,Z)=>{let J={config:Array.isArray(q)?{roles:q,requireAll:!1,allowInherited:!0}:{requireAll:!1,allowInherited:!0,...q}};C.defineRoles($,Z,J)}}function cJ(q){return($,Z)=>{let J={config:Array.isArray(q)?{permissions:q,requireAll:!1}:{requireAll:!1,...q}};C.definePermissions($,Z,J)}}function O9(q){return dJ([q])}function mW(q){return cJ([q])}function dW(){return O9("admin")}function cW(){return O9("super-admin")}function lW(q){return($,Z)=>{C.defineMinimumRole($,Z,{roleName:q})}}function N9(q){return async($,Z)=>{$.set("rbac",q),await Z()}}class s6{rbac;constructor(q){this.rbac=q}checkRoles(q,$){let Z=l(q);if(!Z)throw new P("Authentication required for role check");let Q=Z.roles||[],J=$.allowInherited?this.rbac.getEffectiveRoles(Q):Q,W;if($.requireAll)W=$.roles.every((H)=>J.includes(H));else W=$.roles.some((H)=>J.includes(H));if(!W){let H=$.requireAll?"all":"any";throw new P(`Access denied. Required ${H} of roles: ${$.roles.join(", ")}`)}}checkPermissions(q,$){let Z=l(q);if(!Z)throw new P("Authentication required for permission check");let Q=Z.roles||[],J=new Set;for(let Y of Q)this.rbac.getRolePermissions(Y).forEach((F)=>J.add(F));let W=Array.from(J),H;if($.requireAll)H=$.permissions.every((Y)=>D6.hasPermission(W,Y));else H=$.permissions.some((Y)=>D6.hasPermission(W,Y));if(!H){let Y=$.requireAll?"all":"any";throw new P(`Access denied. Required ${Y} of permissions: ${$.permissions.join(", ")}`)}}checkMinimumRole(q,$){let Z=l(q);if(!Z)throw new P("Authentication required for role level check");let Q=Z.roles||[],J=this.rbac.getHighestRoleLevel(Q),W=this.rbac.getRole($);if(!W)throw Error(`Required role not found: ${$}`);let H=W.level||0;if(J<H)throw new P(`Access denied. Minimum role level required: ${$} (level ${H})`)}}function lJ(q){return q.get("rbac")||null}function j9(q){return l(q)?.roles||[]}function pJ(q){let $=lJ(q),Z=j9(q);if(!$)return[];let Q=new Set;for(let J of Z)$.getRolePermissions(J).forEach((H)=>Q.add(H));return Array.from(Q)}function pW(q,$){return j9(q).includes($)}function nW(q,$){let Z=pJ(q);return D6.hasPermission(Z,$)}class nJ{config;name="rbac";version="1.0.0";dependencies=["auth"];rbac;guard;constructor(q={}){this.config=q;if(q.rbac)this.rbac=q.rbac;else if(q.useDefaults!==!1)this.rbac=L9();else this.rbac=new G6;if(q.roles)this.rbac.defineRoles(q.roles);this.guard=new s6(this.rbac)}async install(q){let $=N9(this.rbac);if(q.use($),q.getContainer().register(G6,{factory:()=>this.rbac,scope:"singleton"}),q.getContainer().register(s6,{factory:()=>this.guard,scope:"singleton"}),this.extendRouterCompiler(q),this.config.enableManagementRoutes!==!1)this.addManagementRoutes(q)}extendRouterCompiler(q){let $=q.compile.bind(q);q.compile=async()=>{await $();let Z=q.getMetadata().getRoutes();for(let Q of Z)if(Q.roles||Q.permissions||Q.minimumRole)this.addRBACGuards(q,Q)}}addRBACGuards(q,$){}addManagementRoutes(q){let $=this.config.routes||{};q.get($.roles||"/rbac/roles",{handler:(Z)=>{let Q=this.rbac.getAllRoles();return Z.json({success:!0,roles:Q.map((J)=>({name:J.name,description:J.description,permissions:J.permissions,inherits:J.inherits,level:J.level}))})}}),q.get("/rbac/roles/:roleName",{handler:(Z)=>{let Q=Z.req.param("roleName"),J=this.rbac.getRole(Q);if(!J)return Z.json({error:"Role not found"},404);let W=this.rbac.getRolePermissions(Q),H=this.rbac.getRoleHierarchy(Q);return Z.json({success:!0,role:{...J,effectivePermissions:W,hierarchy:H}})}}),q.get("/rbac/roles/:roleName/permissions",{handler:(Z)=>{let Q=Z.req.param("roleName");if(!this.rbac.roleExists(Q))return Z.json({error:"Role not found"},404);let J=this.rbac.getRolePermissions(Q);return Z.json({success:!0,role:Q,permissions:J})}}),q.post("/rbac/check-permission",{handler:async(Z)=>{let Q=await Z.req.json(),{roles:J,permission:W}=Q;if(!Array.isArray(J)||!W)return Z.json({error:"Invalid request body"},400);let H=this.rbac.userHasPermission(J,W);return Z.json({success:!0,hasPermission:H,roles:J,permission:W})}}),q.post("/rbac/check-roles",{handler:async(Z)=>{let Q=await Z.req.json(),{userRoles:J,requiredRoles:W,requireAll:H=!1}=Q;if(!Array.isArray(J)||!Array.isArray(W))return Z.json({error:"Invalid request body"},400);let Y=H?this.rbac.userHasRoles(J,W):this.rbac.userHasAnyRole(J,W);return Z.json({success:!0,hasRoles:Y,userRoles:J,requiredRoles:W,requireAll:H})}}),q.post("/rbac/effective-roles",{handler:async(Z)=>{let Q=await Z.req.json(),{roles:J}=Q;if(!Array.isArray(J))return Z.json({error:"Invalid request body"},400);let W=this.rbac.getEffectiveRoles(J);return Z.json({success:!0,inputRoles:J,effectiveRoles:W})}}),q.post("/rbac/user-permissions",{handler:async(Z)=>{let Q=await Z.req.json(),{roles:J}=Q;if(!Array.isArray(J))return Z.json({error:"Invalid request body"},400);let W=new Set;for(let H of J)if(this.rbac.roleExists(H))this.rbac.getRolePermissions(H).forEach((V)=>W.add(V));return Z.json({success:!0,roles:J,permissions:Array.from(W)})}})}getRBACManager(){return this.rbac}getGuard(){return this.guard}}class iJ{config;name="auth";version="1.0.0";authService;constructor(q){this.config=q;this.authService=new i6(q.jwt,q.userProvider)}async install(q){let $=C9(this.authService.getJWTProvider());if(q.use($),q.getContainer().register(i6,{factory:()=>this.authService,scope:"singleton"}),this.config.enableDefaultRoutes!==!1)this.addDefaultRoutes(q);this.extendRouterCompiler(q)}extendRouterCompiler(q){q.use(async(Z,Q)=>{Z.set("authService",this.authService),await Q()});let $=q.compile.bind(q);q.compile=async()=>{await $();let Z=q.getHono(),Q=q.getMetadata().getRoutes();for(let J of Q){let W=C.getAuthMetadata(J.target.prototype,J.propertyKey);if(J.auth?.required||W?.required){console.log("Adding auth middleware for route:",J.path,J.method);let Y=J.auth?.config||W?.config;Z.use(J.path,async(V,F)=>{if(console.log("Auth middleware executing for:",V.req.path,V.req.method,"target:",J.path,J.method),V.req.method!==J.method)return console.log("Method mismatch, skipping auth check"),F();console.log("Checking authentication...");let U=V.get("auth.user"),G=V.get("auth.error");if(!U){let _=G||"Authentication required";throw console.log("No user found, throwing auth exception"),new h(_)}if(Y?.roles?.length){if(!this.authService.hasRoles(U,Y.roles))throw new P(`Required roles: ${Y.roles.join(", ")}`)}if(Y?.permissions?.length){if(!this.authService.hasPermissions(U,Y.permissions))throw new P(`Required permissions: ${Y.permissions.join(", ")}`)}await F()})}}}}buildPath(q){return q.path}pathMatches(q,$){let Z=q.replace(/:([^/]+)/g,"([^/]+)");return new RegExp(`^${Z}$`).test($)}addDefaultRoutes(q){let $=this.config.routes||{};if(q.post($.login||"/auth/login",{handler:async(Z)=>{let Q=await Z.req.json(),{username:J,password:W}=Q;try{let H=await this.authService.login(J,W);return{success:!0,user:H.user,tokens:H.tokens}}catch(H){throw new h(H instanceof Error?H.message:"Login failed")}},schema:{body:X.object({username:X.string().min(1),password:X.string().min(1)})}}),q.post($.refresh||"/auth/refresh",{handler:async(Z)=>{let Q=await Z.req.json(),{refreshToken:J}=Q;try{return{success:!0,tokens:await this.authService.refresh(J)}}catch(W){throw new h(W instanceof Error?W.message:"Token refresh failed")}},schema:{body:X.object({refreshToken:X.string().min(1)})}}),q.post($.logout||"/auth/logout",{handler:async(Z)=>{let Q=_9(Z),J=await Z.req.json(),{refreshToken:W}=J;if(Q)await this.authService.logout(Q,W);return{success:!0,message:"Logged out successfully"}},schema:{body:X.object({refreshToken:X.string().optional()})}}),"createUser"in this.config.userProvider)q.post($.register||"/auth/register",{handler:async(Z)=>{let Q=await Z.req.json(),{username:J,password:W,email:H}=Q;try{let Y=await this.authService.register({username:J,password:W,email:H});return{success:!0,user:Y.user,tokens:Y.tokens}}catch(Y){throw new h(Y instanceof Error?Y.message:"Registration failed")}},schema:{body:X.object({username:X.string().min(1),password:X.string().min(6),email:X.string().email().optional()})}});q.get("/auth/me",{handler:async(Z)=>{let Q=l(Z);if(!Q)throw new h("Not authenticated");return{success:!0,user:Q}}})}getAuthService(){return this.authService}}var FH=X.object({code:X.string(),state:X.string(),error:X.string().optional(),error_description:X.string().optional()}),XH=X.object({accessToken:X.string(),refreshToken:X.string().optional(),expiresIn:X.number().optional(),tokenType:X.string(),scope:X.string().optional()}),sJ=X.object({id:X.string(),email:X.string().optional(),name:X.string().optional(),username:X.string().optional(),avatar:X.string().optional(),provider:X.string()}).passthrough();function rJ(q){return($,Z)=>{let Q={provider:q.provider,config:q};C.defineOAuth($,Z,Q)}}function tJ(){return(q,$,Z)=>{if($)C.defineParameter(q,$,Z,{index:Z,type:"oauth-user",required:!0})}}function aJ(){return(q,$,Z)=>{if($)C.defineParameter(q,$,Z,{index:Z,type:"oauth-token",required:!0})}}function oJ(q){return q.get("oauth.user")||null}function eJ(q){return q.get("oauth.token")||null}function q2(q){return q.get("oauth.authenticated")===!0}function $2(q){return q.get("oauth.provider")||null}class S9{store;config;constructor(q,$){this.store=q;this.config={name:"sessionId",maxAge:86400000,secure:!1,httpOnly:!0,sameSite:"lax",path:"/",rolling:!1,genid:()=>crypto.randomUUID(),...$,domain:$.domain}}async createSession(q,$={},Z){let Q=this.config.genid(),J=new Date,W=Z?.maxAge||this.config.maxAge,H={id:Q,userId:q,data:$,createdAt:J,updatedAt:J,expiresAt:new Date(J.getTime()+W),ipAddress:Z?.ipAddress,userAgent:Z?.userAgent,csrfToken:this.generateCSRFToken()};return await this.store.set(Q,H),H}async getSession(q){return await this.store.get(q)}async updateSession(q,$){let Z=await this.store.get(q);if(!Z)return null;if(Z.data={...Z.data,...$},Z.updatedAt=new Date,this.config.rolling)Z.expiresAt=new Date(Date.now()+this.config.maxAge);return await this.store.set(q,Z),Z}async touchSession(q){if(this.config.rolling){let $=await this.store.get(q);if($)$.updatedAt=new Date,$.expiresAt=new Date(Date.now()+this.config.maxAge),await this.store.set(q,$)}else await this.store.touch(q)}async destroySession(q){await this.store.destroy(q)}async regenerateSession(q){let $=await this.store.get(q);if(!$)return null;let Z=this.config.genid(),Q={...$,id:Z,updatedAt:new Date,csrfToken:this.generateCSRFToken()};return await this.store.set(Z,Q),await this.store.destroy(q),Q}async getUserSessions(q){return(await this.store.all()).filter((Z)=>Z.userId===q)}async destroyUserSessions(q){let $=await this.getUserSessions(q);for(let Z of $)await this.store.destroy(Z.id)}validateCSRFToken(q,$){return q.csrfToken===$}generateCSRFToken(){return crypto.randomUUID()}getCookieOptions(){let q={maxAge:this.config.maxAge,secure:this.config.secure,httpOnly:this.config.httpOnly,sameSite:this.config.sameSite,path:this.config.path};if(this.config.domain)q.domain=this.config.domain;return q}getConfig(){return{...this.config}}getStore(){return this.store}}var Z2=X.object({id:X.string(),userId:X.string(),data:X.record(X.any()),createdAt:X.date(),updatedAt:X.date(),expiresAt:X.date().optional(),ipAddress:X.string().optional(),userAgent:X.string().optional(),csrfToken:X.string().optional()}),wH=X.object({name:X.string().optional(),secret:X.string(),maxAge:X.number().optional(),secure:X.boolean().optional(),httpOnly:X.boolean().optional(),sameSite:X.enum(["strict","lax","none"]).optional(),domain:X.string().optional(),path:X.string().optional(),rolling:X.boolean().optional()}),BH=X.object({userId:X.string(),data:X.record(X.any()).optional(),maxAge:X.number().optional(),ipAddress:X.string().optional(),userAgent:X.string().optional()}),zH=X.object({data:X.record(X.any())});function Q2(q={}){return($,Z)=>{let Q={config:q};C.defineSession($,Z,Q)}}function J2(){return(q,$,Z)=>{if($)C.defineParameter(q,$,Z,{index:Z,type:"current-session",required:!0})}}function W2(){return(q,$,Z)=>{if($)C.defineParameter(q,$,Z,{index:Z,type:"csrf-token",required:!0})}}function H2(){return(q,$)=>{C.defineCSRF(q,$,{required:!0})}}function Y2(q,$){return async(Z,Q)=>{let J=q.getConfig(),W=E9(Z,J.name),H=null;if(W){if(H=await q.getSession(W),H)await q.touchSession(W)}Z.set("session",H),Z.set("sessionManager",q),Z.set("csrfProtection",$),await Q()}}class A9{sessionManager;csrfProtection;constructor(q,$){this.sessionManager=q;this.csrfProtection=$}checkSession(q,$){let Z=f(q);if($.required&&!Z)throw new h("Session required");if(Z&&$.csrf)this.checkCSRF(q,Z)}checkCSRF(q,$){if(!this.csrfProtection)throw Error("CSRF protection not configured");let Z=q.req.header("X-CSRF-Token")||q.req.query("_csrf");if(!Z)throw new P("CSRF token required");if(!this.csrfProtection.validateToken($.id,Z))throw new P("Invalid CSRF token")}async createSession(q,$,Z={}){let Q=w6(q);if(!Q)throw Error("Session manager not available");let J=q.req.header("X-Forwarded-For")||q.req.header("X-Real-IP")||"unknown",W=q.req.header("User-Agent")||"unknown",H=await Q.createSession($,Z,{ipAddress:J,userAgent:W}),Y=Q.getCookieOptions();return r6(q,Q.getConfig().name,H.id,Y),q.set("session",H),H}async updateSession(q,$){let Z=f(q),Q=w6(q);if(!Z||!Q)return null;let J=await Q.updateSession(Z.id,$);if(J)q.set("session",J);return J}async destroySession(q){let $=f(q),Z=w6(q);if(!$||!Z)return;await Z.destroySession($.id);let Q=Z.getConfig();if(r6(q,Q.name,"",{...Z.getCookieOptions(),maxAge:0}),q.set("session",null),this.csrfProtection)this.csrfProtection.removeToken($.id)}async regenerateSession(q){let $=f(q),Z=w6(q);if(!$||!Z)return null;let Q=await Z.regenerateSession($.id);if(Q){let J=Z.getCookieOptions();if(r6(q,Z.getConfig().name,Q.id,J),q.set("session",Q),this.csrfProtection)this.csrfProtection.removeToken($.id),this.csrfProtection.generateToken(Q.id)}return Q}generateCSRFToken(q){let $=f(q);if(!$||!this.csrfProtection)return null;return this.csrfProtection.generateToken($.id)}}function f(q){return q.get("session")||null}function w6(q){return q.get("sessionManager")||null}function F2(q){return q.get("csrfProtection")||null}function X2(q,$){let Z=f(q);if(!Z)return null;if($)return Z.data[$];return Z.data}function U2(q){return f(q)!==null}function V2(q){return f(q)?.userId||null}function G2(q,$,Z){let Q=f(q);if(Q)Q.data[$]=Z,q.set("session",Q)}function D2(q,$){let Z=f(q);if(Z&&$ in Z.data)delete Z.data[$],q.set("session",Z)}export{A2 as zodToJsonSchema,r3 as zodToGraphQLType,o3 as zodObjectToGraphQLType,e3 as zodObjectToGraphQLInput,X as z,HY as setupTestApp,G2 as setSessionData,D2 as removeSessionData,JY as mockDependency,U2 as isSessionAuthenticated,q2 as isOAuthAuthenticated,t3 as isNullable,kW as isAuthenticated,c3 as hasResolverMetadata,l3 as hasFieldMetadata,j9 as getUserRoles,pJ as getUserPermissions,_9 as getToken,V2 as getSessionUserId,w6 as getSessionManager,X2 as getSessionData,g3 as getResolverMetadata,lJ as getRBACManager,oJ as getOAuthUser,eJ as getOAuthToken,$2 as getOAuthProvider,u3 as getFieldsMetadata,m3 as getFieldMetadata,a3 as getDefaultValue,l as getCurrentUser,f as getCurrentSession,F2 as getCSRFProtection,bW as getAuthError,d3 as getArgumentsMetadata,WY as createTestClient,QY as createTestApp,Y2 as createSessionMiddleware,R3 as createRateLimitMiddleware,N9 as createRBACMiddleware,L9 as createDefaultRBAC,K3 as createCorsMiddleware,x3 as createCompressionMiddleware,C9 as createAuthMiddleware,YY as clearMocks,pW as checkUserRole,nW as checkUserPermission,E2 as ZodToJsonSchemaConverter,s3 as WebSocketPlugin,i3 as WebSocketManager,n3 as WebSocketConnection,P3 as WebSocket,f0 as VeloceTS,f0 as Veloce,C2 as ValidationException,_2 as ValidationEngine,d2 as UseMiddleware,j3 as UnauthorizedException,A3 as TokenRevokedException,wW as TokenPayloadSchema,z9 as TokenExpiredException,IW as Token,ZY as TestClient,cW as SuperAdminOnly,f3 as Subscription,C3 as StreamResponse,S9 as SessionManager,A9 as SessionGuard,Z2 as SessionDataSchema,Q2 as Session,L2 as RouterCompiler,dJ as Roles,AW as RoleSchema,KW as RoleAssignmentSchema,_3 as ResponseSerializer,D3 as Response,k3 as Resolver,O9 as RequireRole,mW as RequirePermission,H2 as RequireCSRF,zW as RefreshRequestSchema,z3 as RedirectResponse,nJ as RBACPlugin,G6 as RBACManager,s6 as RBACGuard,b3 as Query,I2 as Put,T2 as Post,N2 as PluginManager,cJ as Permissions,D6 as PermissionMatcher,RW as PermissionCheckSchema,b2 as Patch,x9 as Param,p3 as OpenAPIPlugin,K2 as OpenAPIGenerator,T3 as OnMessage,I3 as OnDisconnect,M3 as OnConnect,sJ as OAuthUserSchema,tJ as OAuthUser,aJ as OAuthToken,rJ as OAuth,N3 as NotFoundException,h3 as Mutation,lW as MinimumRole,C as MetadataRegistry,z2 as MetadataCompiler,BW as LoginRequestSchema,h0 as JWTProvider,w3 as JSONResponse,n6 as InvalidTokenException,mJ as InMemoryUserProvider,j2 as HonoAdapter,P9 as Header,O3 as HTTPException,B3 as HTMLResponse,f3 as GraphQLSubscription,qY as GraphQLSchemaBuilder,b3 as GraphQLQuery,$Y as GraphQLPlugin,h3 as GraphQLMutation,v3 as GraphQLCtx,M2 as Get,f3 as GQLSubscription,b3 as GQLQuery,h3 as GQLMutation,v3 as GQLContext,S3 as ForbiddenException,L3 as FileResponse,f0 as FastAPITS,S2 as ExpressAdapter,O2 as ErrorHandler,u2 as Depends,k2 as Delete,B2 as DIContainer,TW as CurrentUser,J2 as CurrentSession,T9 as Ctx,M9 as Cookie,P2 as Controller,W2 as CSRFToken,R9 as Body,E3 as BadRequestException,P as AuthorizationException,h as AuthenticationException,i6 as AuthService,iJ as AuthPlugin,MW as Auth,y3 as Arg,n2 as ApiResponse,p2 as ApiDoc,h2 as All,dW as AdminOnly};
5
5
 
6
- //# debugId=B09269424F3CFBE964756E2164756E21
6
+ //# debugId=7AC09AC54CFC40BF64756E2164756E21