@tsed/di 7.49.0 → 7.51.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,2 +1,2 @@
1
- !function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports["@tsed/di"]=t():e["@tsed/di"]=t()}(self,(()=>(()=>{var e={683:(e,t,r)=>{"use strict";r.r(t),r.d(t,{camelCase:()=>m,camelCaseTransform:()=>f,camelCaseTransformMerge:()=>d,capitalCase:()=>O,capitalCaseTransform:()=>g,constantCase:()=>S,dotCase:()=>T,headerCase:()=>A,noCase:()=>c,paramCase:()=>P,pascalCase:()=>l,pascalCaseTransform:()=>p,pascalCaseTransformMerge:()=>h,pathCase:()=>_,sentenceCase:()=>x,sentenceCaseTransform:()=>M,snakeCase:()=>k});var n=function(){return n=Object.assign||function(e){for(var t,r=1,n=arguments.length;r<n;r++)for(var s in t=arguments[r])Object.prototype.hasOwnProperty.call(t,s)&&(e[s]=t[s]);return e},n.apply(this,arguments)};Object.create,Object.create,"function"==typeof SuppressedError&&SuppressedError;var s=function(){return s=Object.assign||function(e){for(var t,r=1,n=arguments.length;r<n;r++)for(var s in t=arguments[r])Object.prototype.hasOwnProperty.call(t,s)&&(e[s]=t[s]);return e},s.apply(this,arguments)};function o(e){return e.toLowerCase()}Object.create,Object.create,"function"==typeof SuppressedError&&SuppressedError;var i=[/([a-z0-9])([A-Z])/g,/([A-Z])([A-Z][a-z])/g],a=/[^A-Z0-9]+/gi;function c(e,t){void 0===t&&(t={});for(var r=t.splitRegexp,n=void 0===r?i:r,s=t.stripRegexp,c=void 0===s?a:s,p=t.transform,h=void 0===p?o:p,l=t.delimiter,f=void 0===l?" ":l,d=u(u(e,n,"$1\0$2"),c,"\0"),m=0,y=d.length;"\0"===d.charAt(m);)m++;for(;"\0"===d.charAt(y-1);)y--;return d.slice(m,y).split("\0").map(h).join(f)}function u(e,t,r){return t instanceof RegExp?e.replace(t,r):t.reduce((function(e,t){return e.replace(t,r)}),e)}function p(e,t){var r=e.charAt(0),n=e.substr(1).toLowerCase();return t>0&&r>="0"&&r<="9"?"_"+r+n:""+r.toUpperCase()+n}function h(e){return e.charAt(0).toUpperCase()+e.slice(1).toLowerCase()}function l(e,t){return void 0===t&&(t={}),c(e,s({delimiter:"",transform:p},t))}function f(e,t){return 0===t?e.toLowerCase():p(e,t)}function d(e,t){return 0===t?e.toLowerCase():h(e)}function m(e,t){return void 0===t&&(t={}),l(e,n({transform:f},t))}var y=function(){return y=Object.assign||function(e){for(var t,r=1,n=arguments.length;r<n;r++)for(var s in t=arguments[r])Object.prototype.hasOwnProperty.call(t,s)&&(e[s]=t[s]);return e},y.apply(this,arguments)};function g(e){return function(e){return e.charAt(0).toUpperCase()+e.substr(1)}(e.toLowerCase())}function O(e,t){return void 0===t&&(t={}),c(e,y({delimiter:" ",transform:g},t))}Object.create,Object.create,"function"==typeof SuppressedError&&SuppressedError;var b=function(){return b=Object.assign||function(e){for(var t,r=1,n=arguments.length;r<n;r++)for(var s in t=arguments[r])Object.prototype.hasOwnProperty.call(t,s)&&(e[s]=t[s]);return e},b.apply(this,arguments)};function v(e){return e.toUpperCase()}function S(e,t){return void 0===t&&(t={}),c(e,b({delimiter:"_",transform:v},t))}Object.create,Object.create,"function"==typeof SuppressedError&&SuppressedError;var E=function(){return E=Object.assign||function(e){for(var t,r=1,n=arguments.length;r<n;r++)for(var s in t=arguments[r])Object.prototype.hasOwnProperty.call(t,s)&&(e[s]=t[s]);return e},E.apply(this,arguments)};function T(e,t){return void 0===t&&(t={}),c(e,E({delimiter:"."},t))}Object.create,Object.create,"function"==typeof SuppressedError&&SuppressedError;var R=function(){return R=Object.assign||function(e){for(var t,r=1,n=arguments.length;r<n;r++)for(var s in t=arguments[r])Object.prototype.hasOwnProperty.call(t,s)&&(e[s]=t[s]);return e},R.apply(this,arguments)};function A(e,t){return void 0===t&&(t={}),O(e,R({delimiter:"-"},t))}Object.create,Object.create,"function"==typeof SuppressedError&&SuppressedError;var w=function(){return w=Object.assign||function(e){for(var t,r=1,n=arguments.length;r<n;r++)for(var s in t=arguments[r])Object.prototype.hasOwnProperty.call(t,s)&&(e[s]=t[s]);return e},w.apply(this,arguments)};function P(e,t){return void 0===t&&(t={}),T(e,w({delimiter:"-"},t))}Object.create,Object.create,"function"==typeof SuppressedError&&SuppressedError;var C=function(){return C=Object.assign||function(e){for(var t,r=1,n=arguments.length;r<n;r++)for(var s in t=arguments[r])Object.prototype.hasOwnProperty.call(t,s)&&(e[s]=t[s]);return e},C.apply(this,arguments)};function _(e,t){return void 0===t&&(t={}),T(e,C({delimiter:"/"},t))}function M(e,t){var r=e.toLowerCase();return 0===t?function(e){return e.charAt(0).toUpperCase()+e.substr(1)}(r):r}function x(e,t){return void 0===t&&(t={}),c(e,n({delimiter:" ",transform:M},t))}function k(e,t){return void 0===t&&(t={}),T(e,n({delimiter:"_"},t))}Object.create,Object.create,"function"==typeof SuppressedError&&SuppressedError},886:e=>{var t;self,t=()=>(()=>{var e={738:(e,t,r)=>{var n;!function(e){!function(t){var n="object"==typeof r.g?r.g:"object"==typeof self?self:"object"==typeof this?this:Function("return this;")(),s=o(e);function o(e,t){return function(r,n){"function"!=typeof e[r]&&Object.defineProperty(e,r,{configurable:!0,writable:!0,value:n}),t&&t(r,n)}}void 0===n.Reflect?n.Reflect=e:s=o(n.Reflect,s),function(e){var t=Object.prototype.hasOwnProperty,r="function"==typeof Symbol,n=r&&void 0!==Symbol.toPrimitive?Symbol.toPrimitive:"@@toPrimitive",s=r&&void 0!==Symbol.iterator?Symbol.iterator:"@@iterator",o="function"==typeof Object.create,i={__proto__:[]}instanceof Array,a=!o&&!i,c={create:o?function(){return D(Object.create(null))}:i?function(){return D({__proto__:null})}:function(){return D({})},has:a?function(e,r){return t.call(e,r)}:function(e,t){return t in e},get:a?function(e,r){return t.call(e,r)?e[r]:void 0}:function(e,t){return e[t]}},u=Object.getPrototypeOf(Function),p="object"==typeof process&&process.env&&"true"===process.env.REFLECT_METADATA_USE_MAP_POLYFILL,h=p||"function"!=typeof Map||"function"!=typeof Map.prototype.entries?function(){var e={},t=[],r=function(){function e(e,t,r){this._index=0,this._keys=e,this._values=t,this._selector=r}return e.prototype["@@iterator"]=function(){return this},e.prototype[s]=function(){return this},e.prototype.next=function(){var e=this._index;if(e>=0&&e<this._keys.length){var r=this._selector(this._keys[e],this._values[e]);return e+1>=this._keys.length?(this._index=-1,this._keys=t,this._values=t):this._index++,{value:r,done:!1}}return{value:void 0,done:!0}},e.prototype.throw=function(e){throw this._index>=0&&(this._index=-1,this._keys=t,this._values=t),e},e.prototype.return=function(e){return this._index>=0&&(this._index=-1,this._keys=t,this._values=t),{value:e,done:!0}},e}();return function(){function t(){this._keys=[],this._values=[],this._cacheKey=e,this._cacheIndex=-2}return Object.defineProperty(t.prototype,"size",{get:function(){return this._keys.length},enumerable:!0,configurable:!0}),t.prototype.has=function(e){return this._find(e,!1)>=0},t.prototype.get=function(e){var t=this._find(e,!1);return t>=0?this._values[t]:void 0},t.prototype.set=function(e,t){var r=this._find(e,!0);return this._values[r]=t,this},t.prototype.delete=function(t){var r=this._find(t,!1);if(r>=0){for(var n=this._keys.length,s=r+1;s<n;s++)this._keys[s-1]=this._keys[s],this._values[s-1]=this._values[s];return this._keys.length--,this._values.length--,t===this._cacheKey&&(this._cacheKey=e,this._cacheIndex=-2),!0}return!1},t.prototype.clear=function(){this._keys.length=0,this._values.length=0,this._cacheKey=e,this._cacheIndex=-2},t.prototype.keys=function(){return new r(this._keys,this._values,n)},t.prototype.values=function(){return new r(this._keys,this._values,o)},t.prototype.entries=function(){return new r(this._keys,this._values,i)},t.prototype["@@iterator"]=function(){return this.entries()},t.prototype[s]=function(){return this.entries()},t.prototype._find=function(e,t){return this._cacheKey!==e&&(this._cacheIndex=this._keys.indexOf(this._cacheKey=e)),this._cacheIndex<0&&t&&(this._cacheIndex=this._keys.length,this._keys.push(e),this._values.push(void 0)),this._cacheIndex},t}();function n(e,t){return e}function o(e,t){return t}function i(e,t){return[e,t]}}():Map,l=p||"function"!=typeof Set||"function"!=typeof Set.prototype.entries?function(){function e(){this._map=new h}return Object.defineProperty(e.prototype,"size",{get:function(){return this._map.size},enumerable:!0,configurable:!0}),e.prototype.has=function(e){return this._map.has(e)},e.prototype.add=function(e){return this._map.set(e,e),this},e.prototype.delete=function(e){return this._map.delete(e)},e.prototype.clear=function(){this._map.clear()},e.prototype.keys=function(){return this._map.keys()},e.prototype.values=function(){return this._map.values()},e.prototype.entries=function(){return this._map.entries()},e.prototype["@@iterator"]=function(){return this.keys()},e.prototype[s]=function(){return this.keys()},e}():Set,f=new(p||"function"!=typeof WeakMap?function(){var e=c.create(),r=n();return function(){function e(){this._key=n()}return e.prototype.has=function(e){var t=s(e,!1);return void 0!==t&&c.has(t,this._key)},e.prototype.get=function(e){var t=s(e,!1);return void 0!==t?c.get(t,this._key):void 0},e.prototype.set=function(e,t){return s(e,!0)[this._key]=t,this},e.prototype.delete=function(e){var t=s(e,!1);return void 0!==t&&delete t[this._key]},e.prototype.clear=function(){this._key=n()},e}();function n(){var t;do{t="@@WeakMap@@"+i()}while(c.has(e,t));return e[t]=!0,t}function s(e,n){if(!t.call(e,r)){if(!n)return;Object.defineProperty(e,r,{value:c.create()})}return e[r]}function o(e,t){for(var r=0;r<t;++r)e[r]=255*Math.random()|0;return e}function i(){var e,t=(e=16,"function"==typeof Uint8Array?"undefined"!=typeof crypto?crypto.getRandomValues(new Uint8Array(e)):"undefined"!=typeof msCrypto?msCrypto.getRandomValues(new Uint8Array(e)):o(new Uint8Array(e),e):o(new Array(e),e));t[6]=79&t[6]|64,t[8]=191&t[8]|128;for(var r="",n=0;n<16;++n){var s=t[n];4!==n&&6!==n&&8!==n||(r+="-"),s<16&&(r+="0"),r+=s.toString(16).toLowerCase()}return r}}():WeakMap);function d(e,t,r){var n=f.get(e);if(T(n)){if(!r)return;n=new h,f.set(e,n)}var s=n.get(t);if(T(s)){if(!r)return;s=new h,n.set(t,s)}return s}function m(e,t,r){if(y(e,t,r))return!0;var n=$(t);return!R(n)&&m(e,n,r)}function y(e,t,r){var n=d(t,r,!1);return!T(n)&&!!n.has(e)}function g(e,t,r){if(y(e,t,r))return O(e,t,r);var n=$(t);return R(n)?void 0:g(e,n,r)}function O(e,t,r){var n=d(t,r,!1);if(!T(n))return n.get(e)}function b(e,t,r,n){d(r,n,!0).set(e,t)}function v(e,t){var r=S(e,t),n=$(e);if(null===n)return r;var s=v(n,t);if(s.length<=0)return r;if(r.length<=0)return s;for(var o=new l,i=[],a=0,c=r;a<c.length;a++){var u=c[a];o.has(u)||(o.add(u),i.push(u))}for(var p=0,h=s;p<h.length;p++)u=h[p],o.has(u)||(o.add(u),i.push(u));return i}function S(e,t){var r=[],n=d(e,t,!1);if(T(n))return r;for(var o=function(e){var t=M(e,s);if(!C(t))throw new TypeError;var r=t.call(e);if(!A(r))throw new TypeError;return r}(n.keys()),i=0;;){var a=x(o);if(!a)return r.length=i,r;var c=a.value;try{r[i]=c}catch(e){try{k(o)}finally{throw e}}i++}}function E(e){if(null===e)return 1;switch(typeof e){case"undefined":return 0;case"boolean":return 2;case"string":return 3;case"symbol":return 4;case"number":return 5;case"object":return null===e?1:6;default:return 6}}function T(e){return void 0===e}function R(e){return null===e}function A(e){return"object"==typeof e?null!==e:"function"==typeof e}function w(e){var t=function(e,t){switch(E(e)){case 0:case 1:case 2:case 3:case 4:case 5:return e}var r="string",s=M(e,n);if(void 0!==s){var o=s.call(e,r);if(A(o))throw new TypeError;return o}return function(e,t){var r,n,s=e.toString;if(C(s)&&!A(n=s.call(e)))return n;if(C(r=e.valueOf)&&!A(n=r.call(e)))return n;throw new TypeError}(e)}(e);return"symbol"==typeof t?t:function(e){return""+e}(t)}function P(e){return Array.isArray?Array.isArray(e):e instanceof Object?e instanceof Array:"[object Array]"===Object.prototype.toString.call(e)}function C(e){return"function"==typeof e}function _(e){return"function"==typeof e}function M(e,t){var r=e[t];if(null!=r){if(!C(r))throw new TypeError;return r}}function x(e){var t=e.next();return!t.done&&t}function k(e){var t=e.return;t&&t.call(e)}function $(e){var t=Object.getPrototypeOf(e);if("function"!=typeof e||e===u)return t;if(t!==u)return t;var r=e.prototype,n=r&&Object.getPrototypeOf(r);if(null==n||n===Object.prototype)return t;var s=n.constructor;return"function"!=typeof s||s===e?t:s}function D(e){return e.__=void 0,delete e.__,e}e("decorate",(function(e,t,r,n){if(T(r)){if(!P(e))throw new TypeError;if(!_(t))throw new TypeError;return function(e,t){for(var r=e.length-1;r>=0;--r){var n=(0,e[r])(t);if(!T(n)&&!R(n)){if(!_(n))throw new TypeError;t=n}}return t}(e,t)}if(!P(e))throw new TypeError;if(!A(t))throw new TypeError;if(!A(n)&&!T(n)&&!R(n))throw new TypeError;return R(n)&&(n=void 0),function(e,t,r,n){for(var s=e.length-1;s>=0;--s){var o=(0,e[s])(t,r,n);if(!T(o)&&!R(o)){if(!A(o))throw new TypeError;n=o}}return n}(e,t,r=w(r),n)})),e("metadata",(function(e,t){return function(r,n){if(!A(r))throw new TypeError;if(!T(n)&&!function(e){switch(E(e)){case 3:case 4:return!0;default:return!1}}(n))throw new TypeError;b(e,t,r,n)}})),e("defineMetadata",(function(e,t,r,n){if(!A(r))throw new TypeError;return T(n)||(n=w(n)),b(e,t,r,n)})),e("hasMetadata",(function(e,t,r){if(!A(t))throw new TypeError;return T(r)||(r=w(r)),m(e,t,r)})),e("hasOwnMetadata",(function(e,t,r){if(!A(t))throw new TypeError;return T(r)||(r=w(r)),y(e,t,r)})),e("getMetadata",(function(e,t,r){if(!A(t))throw new TypeError;return T(r)||(r=w(r)),g(e,t,r)})),e("getOwnMetadata",(function(e,t,r){if(!A(t))throw new TypeError;return T(r)||(r=w(r)),O(e,t,r)})),e("getMetadataKeys",(function(e,t){if(!A(e))throw new TypeError;return T(t)||(t=w(t)),v(e,t)})),e("getOwnMetadataKeys",(function(e,t){if(!A(e))throw new TypeError;return T(t)||(t=w(t)),S(e,t)})),e("deleteMetadata",(function(e,t,r){if(!A(t))throw new TypeError;T(r)||(r=w(r));var n=d(t,r,!1);if(T(n))return!1;if(!n.delete(e))return!1;if(n.size>0)return!0;var s=f.get(t);return s.delete(r),s.size>0||f.delete(t),!0}))}(s)}()}(n||(n={}))},340:e=>{function t(e){return Promise.resolve().then((()=>{var t=new Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t}))}t.keys=()=>[],t.resolve=t,t.id=340,e.exports=t}},t={};function r(n){var s=t[n];if(void 0!==s)return s.exports;var o=t[n]={exports:{}};return e[n](o,o.exports,r),o.exports}r.d=(e,t)=>{for(var n in t)r.o(t,n)&&!r.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},r.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),r.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),r.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var n={};return(()=>{"use strict";function e(e,t){return Object.getOwnPropertyDescriptor(e&&e.prototype||e,t)}function t(t,r){return e(t,r)?.value}function s(t=!0){return(r,n)=>{const s=e(r,n)||{writable:!0,enumerable:!0};return s.configurable=t,Object.defineProperty(r&&r.prototype||r,n,s),s}}function o(e,t){if("undefined"!=typeof process&&!0===process.noDeprecation)return e;if("undefined"==typeof process)return function(...r){return o(e,t).apply(this,r)};let r=!1;return function(...n){if(!r){if(process.throwDeprecation)throw new Error(t);process.traceDeprecation?console.trace(t):console.error(t),r=!0}return e.apply(this,n)}}function i(e){return(t,r,n)=>{const s=n.value;return n.value=o(s,e),n}}function a(t=!0){return(r,n)=>{const s=e(r,n)||{writable:!0,configurable:!0};return s.enumerable=t,Object.defineProperty(r&&r.prototype||r,n,s),s}}function c(){return s(!1)}function u(){return a(!1)}function p(t=!0){return(r,n)=>{const s=e(r,n)||{configurable:!0,enumerable:!0};return s.writable=t,Object.defineProperty(r&&r.prototype||r,n,s),s}}function h(){return p(!1)}var l;function f(e){return e.prototype?e:e.constructor}function d(e){return f(e)}function m(e){const[t,r,n]=e,s=e=>t!==d(t)?e:`${e}.static`;return"number"==typeof n?r?s("parameter"):"parameter.constructor":n&&n.value?s("method"):r&&void 0===n||n?s("property"):l.CLASS}function y(e){return Array.isArray(e)}function g(e){return e===Array||y(e)}function O(e){return e===Date||e instanceof Date&&!isNaN(+e)}function b(e){return"function"==typeof e}function v(e){return null==e}function S(e){return"boolean"==typeof e||e instanceof Boolean||e===Boolean}function E(e){return"boolean"==typeof e||e instanceof Boolean||e===Boolean}function T(e){return"number"==typeof e}function R(e){return"number"==typeof e||e instanceof Number||e===Number}function A(e){return"string"==typeof e}function w(e){return"string"==typeof e||e instanceof String||e===String}function P(e){return w(e)||R(e)||E(e)}function C(e){return A(e)||T(e)||S(e)}function _(e){return[String,Number,Boolean].includes(e)}function M(e){return"symbol"==typeof e}function x(e){return"symbol"==typeof e||e instanceof Symbol||e===Symbol}function k(e){return!(!e||!("isBuffer"in e)||"function"!=typeof e.isBuffer)||$(e)}function $(e){return!(!e||!(e===Uint8Array||e instanceof Uint8Array))}function D(e){return e instanceof RegExp}function N(e,t=new WeakMap){let r;if((e=>v(e)||C(e)||M(e)||b(e))(e))return e;if(k(e)){const t=Buffer.alloc(e.length);return e.copy(t),t}if(O(e))return new Date(e);if(D(e))return new RegExp(e);const n=t.get(e);if(n)return n;y(e)?r=[]:(r={},t.set(e,r));for(const n in e){const s=Object.getOwnPropertyDescriptor(e,n);s&&(b(s.value)?Object.defineProperty(r,n,s):r[n]=N(s.value,t))}if(!y(e)){const t=Reflect.getPrototypeOf(e);Reflect.setPrototypeOf(r,t)}return r}function j(e){return e&&d(e)!==Object?Object.create(e):{}}function I(e){return["__proto__","constructor","prototype"].includes(e)}function L(e){return Object.keys(e).filter((e=>!I(e)))}function H(e){return(t,r,n)=>{const s=t.findIndex((t=>e(t,r)));return-1===s?[...t,r]:(t[s]=U(t[s],r,n),t)}}r.r(n),r.d(n,{AnyToPromise:()=>de,AnyToPromiseResponseTypes:()=>le,AnyToPromiseStatus:()=>he,CLASS_STORE:()=>X,Configurable:()=>s,DecoratorTypes:()=>l,Deprecated:()=>i,Enumerable:()=>a,Env:()=>fe,EnvTypes:()=>me,Hooks:()=>ye,METHOD_STORE:()=>Q,Metadata:()=>z,NotConfigurable:()=>c,NotEnumerable:()=>u,PARAM_STORE:()=>Z,PROPERTY_STORE:()=>Y,Readonly:()=>h,Store:()=>re,StoreFn:()=>ne,StoreMerge:()=>se,StoreSet:()=>oe,Type:()=>ge,UnsupportedDecoratorType:()=>Oe,Writable:()=>p,ancestorOf:()=>Ae,ancestorsOf:()=>Pe,catchAsyncError:()=>ve,catchError:()=>be,classOf:()=>d,cleanObject:()=>Le,constructorOf:()=>Ge,createInstance:()=>j,decorateMethodsOf:()=>Me,decoratorArgs:()=>xe,decoratorTypeOf:()=>m,deepClone:()=>N,deepMerge:()=>U,descriptorOf:()=>e,getClass:()=>f,getClassOrSymbol:()=>Be,getConstructor:()=>He,getConstructorArgNames:()=>Ve,getEnumerableKeys:()=>ze,getHostInfoFromPort:()=>je,getInheritedClass:()=>we,getRandomId:()=>Se,getValue:()=>Xe,hasJsonMethod:()=>Qe,importPackage:()=>Ie,inheritedDescriptorOf:()=>ke,isArray:()=>y,isArrayOrArrayClass:()=>g,isArrowFn:()=>Ue,isBoolean:()=>S,isBooleanOrBooleanClass:()=>E,isBuffer:()=>k,isClass:()=>Ke,isClassObject:()=>qe,isCollection:()=>Ye,isDate:()=>O,isEmpty:()=>Ze,isEnumerable:()=>We,isFunction:()=>b,isInheritedFrom:()=>et,isMethodDescriptor:()=>t,isMomentObject:()=>tt,isMongooseObject:()=>nt,isNil:()=>v,isNumber:()=>T,isNumberOrNumberClass:()=>R,isObject:()=>ie,isObjectID:()=>rt,isObservable:()=>ae,isPlainObject:()=>Fe,isPrimitive:()=>C,isPrimitiveClass:()=>_,isPrimitiveOrPrimitiveClass:()=>P,isPromise:()=>ce,isProtectedKey:()=>I,isRegExp:()=>D,isSerializable:()=>st,isStream:()=>ue,isString:()=>A,isStringOrStringClass:()=>w,isSymbol:()=>M,isSymbolOrSymbolClass:()=>x,isUint8Array:()=>$,mergeReducerBuilder:()=>H,methodsOf:()=>_e,nameOf:()=>K,nameOfClass:()=>q,nameOfSymbol:()=>F,objectKeys:()=>L,primitiveOf:()=>ot,prototypeOf:()=>Ce,proxyDelegation:()=>Re,setValue:()=>it,toMap:()=>ct,toStringConstructor:()=>Je,uniq:()=>Ee,uniqBy:()=>Te,useDecorators:()=>$e,useMethodDecorator:()=>De,useMethodDecorators:()=>Ne}),function(e){e.PARAM="parameter",e.PARAM_CTOR="parameter.constructor",e.PARAM_STC="parameter.static",e.PROP="property",e.PROP_STC="property.static",e.METHOD="method",e.METHOD_STC="method.static",e.CLASS="class"}(l||(l={}));const G=H(((e,t)=>e===t));function U(e,t,r={}){if(function(e,t){return null==e||""===e&&""!==t}(t,e))return e;if(function(e,t){return C(e)||M(e)||b(e)||void 0===t}(t,e))return t;if(Array.isArray(e)){const n=function({reducers:e,parentKey:t}){return e?t&&e[t]?e[t]:e.default||G:G}(r);return[].concat(t).reduce(((e,t)=>n(e,t,r)),[...e])}return[...L(e),...L(t)].reduce(((n,s)=>{const o=U(e&&e[s],t&&t[s],{...r,parentKey:s});return r.cleanUndefinedProps&&void 0===o?n:{...n,[s]:o}}),j(e))}function q(e){return"function"==typeof e?e.name:e.constructor.name}const F=e=>e.toString().replace("Symbol(","").replace(")","");function K(e){switch(typeof e){default:return""+e;case"symbol":return F(e);case"function":return q(e)}}r(738);const B="design:paramtypes",J="design:type",V="design:returntype",W=new Map;class z{static get(e,t,r){return Reflect.getMetadata(e,d(t),r)}static getOwn(e,t,r){return Reflect.getOwnMetadata(e,d(t),r)}static getType(e,t){return Reflect.getMetadata(J,e,t)}static getOwnType(e,t){return Reflect.getMetadata(J,e,t)}static getReturnType(e,t){return Reflect.getMetadata(V,e,t)}static getOwnReturnType(e,t){return Reflect.getOwnMetadata(V,e,t)}static has(e,t,r){try{return Reflect.hasMetadata(e,d(t),r)}catch(e){}return!1}static hasOwn(e,t,r){return Reflect.hasOwnMetadata(e,d(t),r)}static delete(e,t,r){return Reflect.deleteMetadata(e,d(t),r)}static setParamTypes(e,t,r){return this.set(B,r,e.prototype,t)}static getTargetsFromPropertyKey=e=>W.has(e)&&W.get(e)||[];static set(e,t,r,n){const s=W.has(e)&&W.get(e)||[],o=d(r);-1===s.indexOf(o)&&(s.push(o),W.set(e,s)),Reflect.defineMetadata(e,t,d(r),n)}static getParamTypes(e,t){return Reflect.getMetadata(B,e,t)||[]}static getOwnParamTypes(e,t){return Reflect.getOwnMetadata(B,e,t)||[]}}const X="tsed:class:store",Q="tsed:method:store",Y="tsed:property:store",Z="tsed:param:store",ee=new Map;function te(e,...t){if(M(t[0]))return ee.has(t[0])||ee.set(t[0],new re),ee.get(t[0]);{const r=z;return r.hasOwn(e,...t)||r.set(e,new re,...t),r.getOwn(e,...t)}}class re{_entries=new Map;static from(...e){return function(e){const[t,r,n]=e;switch(m(e)){case l.PARAM_CTOR:case l.PARAM_STC:case l.PARAM:const e=te(Z,t,r);return e.has(""+n)||e.set(""+n,new re),e.get(""+n);case l.PROP:case l.PROP_STC:return te(Y,t,r);case l.METHOD:case l.METHOD_STC:return te(Q,t,r);case l.CLASS:return te(X,t)}}(e)}static fromMethod(t,r){return re.from(t,r,e(t,r))}static mergeStoreFrom(e,t,...r){const n=re.from(e,...r);return re.from(t,...r)._entries.forEach(((e,t)=>{n.merge(t,e)})),n}static mergeStoreMethodFrom(t,r,n){return this.mergeStoreFrom(t,r,n,e(t,n))}get(e,t){return this._entries.get(K(e))||t}has(e){return this._entries.has(K(e))}set(e,t){return this._entries.set(K(e),t),this}delete(e){return this._entries.delete(K(e))}merge(e,t,r=!1){let n=this.get(e);return n&&(t=N(t),n=N(n),t=r?U(t,n):U(n,t)),this.set(e,t),this}toJson(){return[...this._entries.entries()].reduce(((e,[t,r])=>({...e,[t]:r})),{})}}function ne(e){return(...t)=>{const r=re.from(...t),n=e(r,t);return"function"==typeof n&&n(...t),t[2]}}function se(e,t){return ne((r=>{r.merge(e,t)}))}function oe(e,t){return ne((r=>{r.set(e,t)}))}function ie(e){return"object"==typeof e}function ae(e){return!!e&&"function"==typeof e.lift&&"function"==typeof e.subscribe}function ce(e){return e===Promise||e instanceof Promise||!!e&&"function"!=typeof e.subscribe&&"function"==typeof e.then}function ue(e){return null!==e&&"object"==typeof e&&"function"==typeof e.pipe}function pe(e){return ie(e)&&"data"in e&&"headers"in e&&"status"in e&&"statusText"in e}var he,le,fe;!function(e){e.PENDING="PENDING",e.CANCELED="CANCELED",e.RESOLVED="RESOLVED",e.REJECTED="REJECTED"}(he||(he={})),function(e){e.STREAM="STREAM",e.BUFFER="BUFFER",e.DATA="DATA"}(le||(le={}));class de{status=he.PENDING;args;#e;#t;#r=!1;#n;constructor({hasNextFunction:e=!1}={}){this.#r=e,this.#n=new Promise(((e,t)=>{this.#e=e,this.#t=t}))}isDone(){return this.status!==he.PENDING}get next(){return this.#r=!0,e=>{if(!this.isDone())return e?this.reject(e):this.resolve({type:le.DATA})}}call(e){if(this.isDone())return Promise.resolve(this);try{this.handle(e())}catch(e){this.reject(e)}return this.#n}reject(e){this.isDone()||(this.done(he.REJECTED),this.#t(e))}resolve(e={}){this.isDone()||(this.done(he.RESOLVED),this.#e({...e,state:he.RESOLVED}))}destroy(){}cancel(){if(!this.isDone())return this.done(he.CANCELED),this.#e({state:he.CANCELED})}done(e){this.destroy(),this.status=e}handle(e,t={}){if(!this.isDone()){if(e){if(this.isCanceledResponse(e))return this.cancel();if(ae(e)&&(e=e.toPromise()),pe(e))return this.handle(e.data,{...t,status:e.status,headers:e.headers});if(ue(e))return this.resolve({...t,type:le.STREAM,data:e});if(ue(e)||Buffer.isBuffer(e))return this.resolve({...t,type:le.BUFFER,data:e});if(ce(e))return e.then((e=>this.handle(e,t))).catch((e=>e.response&&pe(e.response)?this.handle(e.response):this.reject(e)))}return this.#r?void 0:this.resolve({...t,data:e,type:le.DATA})}}isCanceledResponse(e){return e===he.CANCELED}}!function(e){e.PROD="production",e.DEV="development",e.TEST="test"}(fe||(fe={}));const me=fe;class ye{#s={};has(e){return!!this.#s[e]}on(e,t){return this.#s[e]||(this.#s[e]=[]),this.#s[e].push(t),this}off(e,t){return this.#s[e]&&(this.#s[e]=this.#s[e].filter((e=>e===t))),this}emit(e,t=[],r=null){const n=this.#s[e];if(n?.length)for(const e of n)e.call(r,...t)}alter(e,t,r=[],n=null){const s=this.#s[e];if(s?.length)for(const e of s)t=e.call(n,t,...r);return t}async asyncEmit(e,t=[],r=null){const n=this.#s[e];if(n?.length){const e=n.map((e=>e.call(r,...t)));await Promise.all(e)}}async asyncAlter(e,t,r=[],n=null){const s=this.#s[e];if(s?.length)for(const e of s)t=await e.call(n,t,...r);return t}destroy(){this.#s={}}}const ge=Function;r.g.Type=ge;class Oe extends Error{name;constructor(e,t){super(Oe.buildMessage(e,t))}static buildMessage(e,t){const[r,n,s]=t,o=m(t),i=o.split("/")[0],a="parameter"===i?".["+s+"]":"",c=n?"."+n:"parameter"===i?".constructor":"",u=K(d(r))+c+a;return`${e.name} cannot be used as ${o} decorator on ${u}`}}function be(e){try{e()}catch(e){return e}}async function ve(e){try{await e()}catch(e){return e}}function Se(){return`e${Math.random().toString(36).substring(7)}`}function Ee(e){return Array.from(new Set(e).values())}function Te(e,t="id"){const r=new Map;return e.forEach((e=>{r.set(e[t],e)})),Array.from(r.values())}function Re(e,t={}){const{handlers:r={},remove:n,ownKeys:s}=t,o=t.getter||((e,t)=>e.get(t)),i=t.setter||((e,t,r)=>!!e.set(t,r)),a=(e,t)=>Reflect.has(e,t)||"symbol"==typeof t;return new Proxy(e,{getOwnPropertyDescriptor:(e,t)=>Reflect.getOwnPropertyDescriptor(e,t),has:(e,t)=>a(e,t)?Reflect.has(e,t):void 0!==o(e,t),get:(e,t,r)=>a(e,t)?Reflect.get(e,t,r):o(e,t),set:(e,t,r,n)=>a(e,t)?Reflect.set(e,t,r,n):!!i(e,t,r,n),deleteProperty:(e,t)=>a(e,t)||!n?Reflect.deleteProperty(e,t):n(e,t),defineProperty:(e,t,r)=>Reflect.defineProperty(e,t,r),ownKeys:e=>Ee(Reflect.ownKeys(e).concat(s&&s(e)||[])),...r})}function Ae(e){return e&&Object.getPrototypeOf(e)}function we(e){return Ae(e)}function Pe(e){const t=[];let r=d(e);for(;r&&""!==K(r);)t.unshift(r),r=we(r);return t}function Ce(e){return d(e)===e?e.prototype:e}function _e(e){const t=new Map;return Pe(e=d(e)).forEach((e=>{Reflect.ownKeys(Ce(e)).forEach((r=>{"constructor"!==r&&t.set(r,{target:e,propertyKey:r})}))})),Array.from(t.values())}function Me(t,r){_e(t).forEach((({target:n,propertyKey:s})=>{const o=Ce(t);n!==d(t)&&(Object.defineProperty(o,s,{writable:!0,configurable:!0,value(...e){return Ce(n)[s].apply(this,e)}}),re.mergeStoreMethodFrom(t,n,s));const i=r(o,s,e(t,s));i&&Object.defineProperty(o,s,i)}))}function xe(t,r){return[t,r,e(t,r)]}function ke(e,t){for(const r of Pe(e)){const e=Object.getOwnPropertyDescriptor(r&&r.prototype||r,t);if(e)return e}}function $e(...e){return(...t)=>{e.filter((e=>!!e)).forEach((e=>{e(...t)}))}}function De(t){return(r,n)=>t(r,n,e(r,n))}function Ne(...t){return(r,n)=>{t.filter(Boolean).forEach((t=>t(r,n,e(r,n))))}}function je(e,t){let r="0.0.0.0",n=t;return"string"==typeof t&&t.indexOf(":")>-1&&([r,n]=t.split(":"),n=+n),{protocol:e,address:r,port:n,toString(){return[`${this.protocol}://${this.address}`,"number"==typeof this.port&&this.port].filter(Boolean).join(":")}}}async function Ie(e,t=(()=>r(340)(e)),n=!1){try{return await t()}catch(e){if(!n)throw e;return{}}}function Le(e,t=[]){return Object.entries(e).reduce(((e,[r,n])=>I(r)||t.includes(r)||void 0===n?e:{...e,[r]:n}),{})}function He(e){return"function"==typeof e?e:e.constructor}function Ge(e){return He(e)}function Ue(e){return e&&b(e)&&!e.prototype}function qe(e){return e===Object}function Fe(e){return qe(d(e))&&e!==Object}function Ke(e){return!!e&&!Ue(e)&&!(M(e)||P(e)||qe(e)||O(e)||ce(e)||g(e)||k(e))}function Be(e){return Ke(e)?d(e):e}function Je(e){return`${(Ge(e).toString().split("\n").find((e=>e.indexOf("constructor(")>-1))||"constructor()").replace("{","").trim()}`}function Ve(e){return Je(e).split("constructor(")[1].split(")")[0].split(", ").filter(Boolean).map((e=>e.trim()))}function We(e,t){const r=d(e);if(r){const e=ke(r,t);if(e)return e.enumerable}return Object.prototype.propertyIsEnumerable.call(e,t)}function ze(e){const t=[];for(const r in e)!I(r)&&We(e,r)&&t.push(r);return t}function Xe(...e){const t=(e=>{const[t,r,n,s="."]=e;return ie(r)||A(t)?{expression:t,scope:r,defaultValue:n,separator:s}:{expression:r,scope:t,defaultValue:n,separator:s}})(e);let r=t.scope;const{expression:n,defaultValue:s,separator:o}=t;if(!n)return r;if(!r)return s;const i=n.split(o),a=e=>{if(r){if(void 0!==r[e]||ie(r)&&e in r)return r[e];if(b(r.get))return r.get(e)}};for(;(r=a(i.shift()))&&i.length;);return void 0===r?s:r}function Qe(e){return e&&"function"==typeof e.toJSON}function Ye(e){return g(e)||e===Map||e instanceof Map||e===Set||e instanceof Set||e===WeakMap||e instanceof WeakMap||e===WeakSet||e instanceof WeakSet}function Ze(e){return""===e||v(e)}function et(e,t,r=5){if(!e||!t)return!1;for(e=d(e),t=d(t);""!==K(e);){if(!r)return!1;if(e===t)return!0;e=Ae(e),r--}return!1}function tt(e){return!(!e||!e?._isAMomentObject)}function rt(e){return e&&e._bsontype}function nt(e){return!!(Qe(e)&&e.$isMongooseModelPrototype||rt(e))}function st(e){return!(Buffer.isBuffer(e)||ue(e)||S(e)||T(e)||A(e)||v(e))}function ot(e){return w(e)?"string":R(e)?"number":E(e)?"boolean":"any"}function it(e,t,r,n="."){const s=t.split(n);for(;o=s.shift(),i=!s.length,!I(o)&&(i?("function"==typeof e.set?e.set(o,r):e[o]=r,0):("function"==typeof e.set?(e.has(o)||e.set(o,{}),e=e.get(o)):e=e[o]=e[o]||{},1)););var o,i}function at(e){return e?A(e)?t=>t[e]:e:(e,t)=>String(t)}function ct(e,t){if(y(e)){const r=at(t||"id");return e.reduce(((e,t,n)=>([].concat(r(t,n)).forEach((r=>{const n=e.get(r);t=n?.merge?.(t)||t,e.set(r,t)})),e)),new Map)}const r=at(t);return Object.entries(e).reduce(((e,[t,n])=>e.set(r(n,t),n)),new Map)}})(),n})(),e.exports=t()},917:(e,t,r)=>{var n;self,n=(e,t)=>(()=>{"use strict";var r={133:(e,t,r)=>{e.exports=r(555)},379:e=>{const t="\\\\/",r=`[^${t}]`,n="\\.",s="\\/",o="[^/]",i=`(?:${s}|$)`,a=`(?:^|${s})`,c=`${n}{1,2}${i}`,u={DOT_LITERAL:n,PLUS_LITERAL:"\\+",QMARK_LITERAL:"\\?",SLASH_LITERAL:s,ONE_CHAR:"(?=.)",QMARK:o,END_ANCHOR:i,DOTS_SLASH:c,NO_DOT:`(?!${n})`,NO_DOTS:`(?!${a}${c})`,NO_DOT_SLASH:`(?!${n}{0,1}${i})`,NO_DOTS_SLASH:`(?!${c})`,QMARK_NO_DOT:`[^.${s}]`,STAR:`${o}*?`,START_ANCHOR:a,SEP:"/"},p={...u,SLASH_LITERAL:`[${t}]`,QMARK:r,STAR:`${r}*?`,DOTS_SLASH:`${n}{1,2}(?:[${t}]|$)`,NO_DOT:`(?!${n})`,NO_DOTS:`(?!(?:^|[${t}])${n}{1,2}(?:[${t}]|$))`,NO_DOT_SLASH:`(?!${n}{0,1}(?:[${t}]|$))`,NO_DOTS_SLASH:`(?!${n}{1,2}(?:[${t}]|$))`,QMARK_NO_DOT:`[^.${t}]`,START_ANCHOR:`(?:^|[${t}])`,END_ANCHOR:`(?:[${t}]|$)`,SEP:"\\"};e.exports={MAX_LENGTH:65536,POSIX_REGEX_SOURCE:{alnum:"a-zA-Z0-9",alpha:"a-zA-Z",ascii:"\\x00-\\x7F",blank:" \\t",cntrl:"\\x00-\\x1F\\x7F",digit:"0-9",graph:"\\x21-\\x7E",lower:"a-z",print:"\\x20-\\x7E ",punct:"\\-!\"#$%&'()\\*+,./:;<=>?@[\\]^_`{|}~",space:" \\t\\r\\n\\v\\f",upper:"A-Z",word:"A-Za-z0-9_",xdigit:"A-Fa-f0-9"},REGEX_BACKSLASH:/\\(?![*+?^${}(|)[\]])/g,REGEX_NON_SPECIAL_CHARS:/^[^@![\].,$*+?^{}()|\\/]+/,REGEX_SPECIAL_CHARS:/[-*+?.^${}(|)[\]]/,REGEX_SPECIAL_CHARS_BACKREF:/(\\?)((\W)(\3*))/g,REGEX_SPECIAL_CHARS_GLOBAL:/([-*+?.^${}(|)[\]])/g,REGEX_REMOVE_BACKSLASH:/(?:\[.*?[^\\]\]|\\(?=.))/g,REPLACEMENTS:{"***":"*","**/**":"**","**/**/**":"**"},CHAR_0:48,CHAR_9:57,CHAR_UPPERCASE_A:65,CHAR_LOWERCASE_A:97,CHAR_UPPERCASE_Z:90,CHAR_LOWERCASE_Z:122,CHAR_LEFT_PARENTHESES:40,CHAR_RIGHT_PARENTHESES:41,CHAR_ASTERISK:42,CHAR_AMPERSAND:38,CHAR_AT:64,CHAR_BACKWARD_SLASH:92,CHAR_CARRIAGE_RETURN:13,CHAR_CIRCUMFLEX_ACCENT:94,CHAR_COLON:58,CHAR_COMMA:44,CHAR_DOT:46,CHAR_DOUBLE_QUOTE:34,CHAR_EQUAL:61,CHAR_EXCLAMATION_MARK:33,CHAR_FORM_FEED:12,CHAR_FORWARD_SLASH:47,CHAR_GRAVE_ACCENT:96,CHAR_HASH:35,CHAR_HYPHEN_MINUS:45,CHAR_LEFT_ANGLE_BRACKET:60,CHAR_LEFT_CURLY_BRACE:123,CHAR_LEFT_SQUARE_BRACKET:91,CHAR_LINE_FEED:10,CHAR_NO_BREAK_SPACE:160,CHAR_PERCENT:37,CHAR_PLUS:43,CHAR_QUESTION_MARK:63,CHAR_RIGHT_ANGLE_BRACKET:62,CHAR_RIGHT_CURLY_BRACE:125,CHAR_RIGHT_SQUARE_BRACKET:93,CHAR_SEMICOLON:59,CHAR_SINGLE_QUOTE:39,CHAR_SPACE:32,CHAR_TAB:9,CHAR_UNDERSCORE:95,CHAR_VERTICAL_LINE:124,CHAR_ZERO_WIDTH_NOBREAK_SPACE:65279,extglobChars:e=>({"!":{type:"negate",open:"(?:(?!(?:",close:`))${e.STAR})`},"?":{type:"qmark",open:"(?:",close:")?"},"+":{type:"plus",open:"(?:",close:")+"},"*":{type:"star",open:"(?:",close:")*"},"@":{type:"at",open:"(?:",close:")"}}),globChars:e=>!0===e?p:u}},390:(e,t,r)=>{const n=r(379),s=r(290),{MAX_LENGTH:o,POSIX_REGEX_SOURCE:i,REGEX_NON_SPECIAL_CHARS:a,REGEX_SPECIAL_CHARS_BACKREF:c,REPLACEMENTS:u}=n,p=(e,t)=>{if("function"==typeof t.expandRange)return t.expandRange(...e,t);e.sort();const r=`[${e.join("-")}]`;try{new RegExp(r)}catch(t){return e.map((e=>s.escapeRegex(e))).join("..")}return r},h=(e,t)=>`Missing ${e}: "${t}" - use "\\\\${t}" to match literal characters`,l=(e,t)=>{if("string"!=typeof e)throw new TypeError("Expected a string");e=u[e]||e;const r={...t},l="number"==typeof r.maxLength?Math.min(o,r.maxLength):o;let f=e.length;if(f>l)throw new SyntaxError(`Input length: ${f}, exceeds maximum allowed length: ${l}`);const d={type:"bos",value:"",output:r.prepend||""},m=[d],y=r.capture?"":"?:",g=n.globChars(r.windows),O=n.extglobChars(g),{DOT_LITERAL:b,PLUS_LITERAL:v,SLASH_LITERAL:S,ONE_CHAR:E,DOTS_SLASH:T,NO_DOT:R,NO_DOT_SLASH:A,NO_DOTS_SLASH:w,QMARK:P,QMARK_NO_DOT:C,STAR:_,START_ANCHOR:M}=g,x=e=>`(${y}(?:(?!${M}${e.dot?T:b}).)*?)`,k=r.dot?"":R,$=r.dot?P:C;let D=!0===r.bash?x(r):_;r.capture&&(D=`(${D})`),"boolean"==typeof r.noext&&(r.noextglob=r.noext);const N={input:e,index:-1,start:0,dot:!0===r.dot,consumed:"",output:"",prefix:"",backtrack:!1,negated:!1,brackets:0,braces:0,parens:0,quotes:0,globstar:!1,tokens:m};e=s.removePrefix(e,N),f=e.length;const j=[],I=[],L=[];let H,G=d;const U=()=>N.index===f-1,q=N.peek=(t=1)=>e[N.index+t],F=N.advance=()=>e[++N.index],K=()=>e.slice(N.index+1),B=(e="",t=0)=>{N.consumed+=e,N.index+=t},J=e=>{N.output+=null!=e.output?e.output:e.value,B(e.value)},V=()=>{let e=1;for(;"!"===q()&&("("!==q(2)||"?"===q(3));)F(),N.start++,e++;return e%2!=0&&(N.negated=!0,N.start++,!0)},W=e=>{N[e]++,L.push(e)},z=e=>{N[e]--,L.pop()},X=e=>{if("globstar"===G.type){const t=N.braces>0&&("comma"===e.type||"brace"===e.type),r=!0===e.extglob||j.length&&("pipe"===e.type||"paren"===e.type);"slash"===e.type||"paren"===e.type||t||r||(N.output=N.output.slice(0,-G.output.length),G.type="star",G.value="*",G.output=D,N.output+=G.output)}if(j.length&&"paren"!==e.type&&!O[e.value]&&(j[j.length-1].inner+=e.value),(e.value||e.output)&&J(e),G&&"text"===G.type&&"text"===e.type)return G.value+=e.value,void(G.output=(G.output||"")+e.value);e.prev=G,m.push(e),G=e},Q=(e,t)=>{const n={...O[t],conditions:1,inner:""};n.prev=G,n.parens=N.parens,n.output=N.output;const s=(r.capture?"(":"")+n.open;W("parens"),X({type:e,value:t,output:N.output?"":E}),X({type:"paren",extglob:!0,value:F(),output:s}),j.push(n)},Y=e=>{let t=e.close+(r.capture?")":"");if("negate"===e.type){let n=D;e.inner&&e.inner.length>1&&e.inner.includes("/")&&(n=x(r)),(n!==D||U()||/^\)+$/.test(K()))&&(t=e.close=`)$))${n}`),"bos"===e.prev.type&&U()&&(N.negatedExtglob=!0)}X({type:"paren",extglob:!0,value:H,output:t}),z("parens")};if(!1!==r.fastpaths&&!/(^[*!]|[/()[\]{}"])/.test(e)){let n=!1,o=e.replace(c,((e,t,r,s,o,i)=>"\\"===s?(n=!0,e):"?"===s?t?t+s+(o?P.repeat(o.length):""):0===i?$+(o?P.repeat(o.length):""):P.repeat(r.length):"."===s?b.repeat(r.length):"*"===s?t?t+s+(o?D:""):D:t?e:`\\${e}`));return!0===n&&(o=!0===r.unescape?o.replace(/\\/g,""):o.replace(/\\+/g,(e=>e.length%2==0?"\\\\":e?"\\":""))),o===e&&!0===r.contains?(N.output=e,N):(N.output=s.wrapOutput(o,N,t),N)}for(;!U();){if(H=F(),"\0"===H)continue;if("\\"===H){const e=q();if("/"===e&&!0!==r.bash)continue;if("."===e||";"===e)continue;if(!e){H+="\\",X({type:"text",value:H});continue}const t=/^\\+/.exec(K());let n=0;if(t&&t[0].length>2&&(n=t[0].length,N.index+=n,n%2!=0&&(H+="\\")),!0===r.unescape?H=F()||"":H+=F()||"",0===N.brackets){X({type:"text",value:H});continue}}if(N.brackets>0&&("]"!==H||"["===G.value||"[^"===G.value)){if(!1!==r.posix&&":"===H){const e=G.value.slice(1);if(e.includes("[")&&(G.posix=!0,e.includes(":"))){const e=G.value.lastIndexOf("["),t=G.value.slice(0,e),r=G.value.slice(e+2),n=i[r];if(n){G.value=t+n,N.backtrack=!0,F(),d.output||1!==m.indexOf(G)||(d.output=E);continue}}}("["===H&&":"!==q()||"-"===H&&"]"===q())&&(H=`\\${H}`),"]"!==H||"["!==G.value&&"[^"!==G.value||(H=`\\${H}`),!0===r.posix&&"!"===H&&"["===G.value&&(H="^"),G.value+=H,J({value:H});continue}if(1===N.quotes&&'"'!==H){H=s.escapeRegex(H),G.value+=H,J({value:H});continue}if('"'===H){N.quotes=1===N.quotes?0:1,!0===r.keepQuotes&&X({type:"text",value:H});continue}if("("===H){W("parens"),X({type:"paren",value:H});continue}if(")"===H){if(0===N.parens&&!0===r.strictBrackets)throw new SyntaxError(h("opening","("));const e=j[j.length-1];if(e&&N.parens===e.parens+1){Y(j.pop());continue}X({type:"paren",value:H,output:N.parens?")":"\\)"}),z("parens");continue}if("["===H){if(!0!==r.nobracket&&K().includes("]"))W("brackets");else{if(!0!==r.nobracket&&!0===r.strictBrackets)throw new SyntaxError(h("closing","]"));H=`\\${H}`}X({type:"bracket",value:H});continue}if("]"===H){if(!0===r.nobracket||G&&"bracket"===G.type&&1===G.value.length){X({type:"text",value:H,output:`\\${H}`});continue}if(0===N.brackets){if(!0===r.strictBrackets)throw new SyntaxError(h("opening","["));X({type:"text",value:H,output:`\\${H}`});continue}z("brackets");const e=G.value.slice(1);if(!0===G.posix||"^"!==e[0]||e.includes("/")||(H=`/${H}`),G.value+=H,J({value:H}),!1===r.literalBrackets||s.hasRegexChars(e))continue;const t=s.escapeRegex(G.value);if(N.output=N.output.slice(0,-G.value.length),!0===r.literalBrackets){N.output+=t,G.value=t;continue}G.value=`(${y}${t}|${G.value})`,N.output+=G.value;continue}if("{"===H&&!0!==r.nobrace){W("braces");const e={type:"brace",value:H,output:"(",outputIndex:N.output.length,tokensIndex:N.tokens.length};I.push(e),X(e);continue}if("}"===H){const e=I[I.length-1];if(!0===r.nobrace||!e){X({type:"text",value:H,output:H});continue}let t=")";if(!0===e.dots){const e=m.slice(),n=[];for(let t=e.length-1;t>=0&&(m.pop(),"brace"!==e[t].type);t--)"dots"!==e[t].type&&n.unshift(e[t].value);t=p(n,r),N.backtrack=!0}if(!0!==e.comma&&!0!==e.dots){const r=N.output.slice(0,e.outputIndex),n=N.tokens.slice(e.tokensIndex);e.value=e.output="\\{",H=t="\\}",N.output=r;for(const e of n)N.output+=e.output||e.value}X({type:"brace",value:H,output:t}),z("braces"),I.pop();continue}if("|"===H){j.length>0&&j[j.length-1].conditions++,X({type:"text",value:H});continue}if(","===H){let e=H;const t=I[I.length-1];t&&"braces"===L[L.length-1]&&(t.comma=!0,e="|"),X({type:"comma",value:H,output:e});continue}if("/"===H){if("dot"===G.type&&N.index===N.start+1){N.start=N.index+1,N.consumed="",N.output="",m.pop(),G=d;continue}X({type:"slash",value:H,output:S});continue}if("."===H){if(N.braces>0&&"dot"===G.type){"."===G.value&&(G.output=b);const e=I[I.length-1];G.type="dots",G.output+=H,G.value+=H,e.dots=!0;continue}if(N.braces+N.parens===0&&"bos"!==G.type&&"slash"!==G.type){X({type:"text",value:H,output:b});continue}X({type:"dot",value:H,output:b});continue}if("?"===H){if((!G||"("!==G.value)&&!0!==r.noextglob&&"("===q()&&"?"!==q(2)){Q("qmark",H);continue}if(G&&"paren"===G.type){const e=q();let t=H;if("<"===e&&!s.supportsLookbehinds())throw new Error("Node.js v10 or higher is required for regex lookbehinds");("("===G.value&&!/[!=<:]/.test(e)||"<"===e&&!/<([!=]|\w+>)/.test(K()))&&(t=`\\${H}`),X({type:"text",value:H,output:t});continue}if(!0!==r.dot&&("slash"===G.type||"bos"===G.type)){X({type:"qmark",value:H,output:C});continue}X({type:"qmark",value:H,output:P});continue}if("!"===H){if(!0!==r.noextglob&&"("===q()&&("?"!==q(2)||!/[!=<:]/.test(q(3)))){Q("negate",H);continue}if(!0!==r.nonegate&&0===N.index){V();continue}}if("+"===H){if(!0!==r.noextglob&&"("===q()&&"?"!==q(2)){Q("plus",H);continue}if(G&&"("===G.value||!1===r.regex){X({type:"plus",value:H,output:v});continue}if(G&&("bracket"===G.type||"paren"===G.type||"brace"===G.type)||N.parens>0){X({type:"plus",value:H});continue}X({type:"plus",value:v});continue}if("@"===H){if(!0!==r.noextglob&&"("===q()&&"?"!==q(2)){X({type:"at",extglob:!0,value:H,output:""});continue}X({type:"text",value:H});continue}if("*"!==H){"$"!==H&&"^"!==H||(H=`\\${H}`);const e=a.exec(K());e&&(H+=e[0],N.index+=e[0].length),X({type:"text",value:H});continue}if(G&&("globstar"===G.type||!0===G.star)){G.type="star",G.star=!0,G.value+=H,G.output=D,N.backtrack=!0,N.globstar=!0,B(H);continue}let t=K();if(!0!==r.noextglob&&/^\([^?]/.test(t)){Q("star",H);continue}if("star"===G.type){if(!0===r.noglobstar){B(H);continue}const n=G.prev,s=n.prev,o="slash"===n.type||"bos"===n.type,i=s&&("star"===s.type||"globstar"===s.type);if(!0===r.bash&&(!o||t[0]&&"/"!==t[0])){X({type:"star",value:H,output:""});continue}const a=N.braces>0&&("comma"===n.type||"brace"===n.type),c=j.length&&("pipe"===n.type||"paren"===n.type);if(!o&&"paren"!==n.type&&!a&&!c){X({type:"star",value:H,output:""});continue}for(;"/**"===t.slice(0,3);){const r=e[N.index+4];if(r&&"/"!==r)break;t=t.slice(3),B("/**",3)}if("bos"===n.type&&U()){G.type="globstar",G.value+=H,G.output=x(r),N.output=G.output,N.globstar=!0,B(H);continue}if("slash"===n.type&&"bos"!==n.prev.type&&!i&&U()){N.output=N.output.slice(0,-(n.output+G.output).length),n.output=`(?:${n.output}`,G.type="globstar",G.output=x(r)+(r.strictSlashes?")":"|$)"),G.value+=H,N.globstar=!0,N.output+=n.output+G.output,B(H);continue}if("slash"===n.type&&"bos"!==n.prev.type&&"/"===t[0]){const e=void 0!==t[1]?"|$":"";N.output=N.output.slice(0,-(n.output+G.output).length),n.output=`(?:${n.output}`,G.type="globstar",G.output=`${x(r)}${S}|${S}${e})`,G.value+=H,N.output+=n.output+G.output,N.globstar=!0,B(H+F()),X({type:"slash",value:"/",output:""});continue}if("bos"===n.type&&"/"===t[0]){G.type="globstar",G.value+=H,G.output=`(?:^|${S}|${x(r)}${S})`,N.output=G.output,N.globstar=!0,B(H+F()),X({type:"slash",value:"/",output:""});continue}N.output=N.output.slice(0,-G.output.length),G.type="globstar",G.output=x(r),G.value+=H,N.output+=G.output,N.globstar=!0,B(H);continue}const n={type:"star",value:H,output:D};!0!==r.bash?!G||"bracket"!==G.type&&"paren"!==G.type||!0!==r.regex?(N.index!==N.start&&"slash"!==G.type&&"dot"!==G.type||("dot"===G.type?(N.output+=A,G.output+=A):!0===r.dot?(N.output+=w,G.output+=w):(N.output+=k,G.output+=k),"*"!==q()&&(N.output+=E,G.output+=E)),X(n)):(n.output=H,X(n)):(n.output=".*?","bos"!==G.type&&"slash"!==G.type||(n.output=k+n.output),X(n))}for(;N.brackets>0;){if(!0===r.strictBrackets)throw new SyntaxError(h("closing","]"));N.output=s.escapeLast(N.output,"["),z("brackets")}for(;N.parens>0;){if(!0===r.strictBrackets)throw new SyntaxError(h("closing",")"));N.output=s.escapeLast(N.output,"("),z("parens")}for(;N.braces>0;){if(!0===r.strictBrackets)throw new SyntaxError(h("closing","}"));N.output=s.escapeLast(N.output,"{"),z("braces")}if(!0===r.strictSlashes||"star"!==G.type&&"bracket"!==G.type||X({type:"maybe_slash",value:"",output:`${S}?`}),!0===N.backtrack){N.output="";for(const e of N.tokens)N.output+=null!=e.output?e.output:e.value,e.suffix&&(N.output+=e.suffix)}return N};l.fastpaths=(e,t)=>{const r={...t},i="number"==typeof r.maxLength?Math.min(o,r.maxLength):o,a=e.length;if(a>i)throw new SyntaxError(`Input length: ${a}, exceeds maximum allowed length: ${i}`);e=u[e]||e;const{DOT_LITERAL:c,SLASH_LITERAL:p,ONE_CHAR:h,DOTS_SLASH:l,NO_DOT:f,NO_DOTS:d,NO_DOTS_SLASH:m,STAR:y,START_ANCHOR:g}=n.globChars(r.windows),O=r.dot?d:f,b=r.dot?m:f,v=r.capture?"":"?:";let S=!0===r.bash?".*?":y;r.capture&&(S=`(${S})`);const E=e=>!0===e.noglobstar?S:`(${v}(?:(?!${g}${e.dot?l:c}).)*?)`,T=e=>{switch(e){case"*":return`${O}${h}${S}`;case".*":return`${c}${h}${S}`;case"*.*":return`${O}${S}${c}${h}${S}`;case"*/*":return`${O}${S}${p}${h}${b}${S}`;case"**":return O+E(r);case"**/*":return`(?:${O}${E(r)}${p})?${b}${h}${S}`;case"**/*.*":return`(?:${O}${E(r)}${p})?${b}${S}${c}${h}${S}`;case"**/.*":return`(?:${O}${E(r)}${p})?${c}${h}${S}`;default:{const t=/^(.*?)\.(\w+)$/.exec(e);if(!t)return;const r=T(t[1]);if(!r)return;return r+c+t[2]}}},R=s.removePrefix(e,{negated:!1,prefix:""});let A=T(R);return A&&!0!==r.strictSlashes&&(A+=`${p}?`),A},e.exports=l},555:(e,t,r)=>{const n=r(270),s=r(390),o=r(290),i=r(379),a=(e,t,r=!1)=>{if(Array.isArray(e)){const n=e.map((e=>a(e,t,r))),s=e=>{for(const t of n){const r=t(e);if(r)return r}return!1};return s}const n=(s=e)&&"object"==typeof s&&!Array.isArray(s)&&e.tokens&&e.input;var s;if(""===e||"string"!=typeof e&&!n)throw new TypeError("Expected pattern to be a non-empty string");const o=t||{},i=o.windows,c=n?a.compileRe(e,t):a.makeRe(e,t,!1,!0),u=c.state;delete c.state;let p=()=>!1;if(o.ignore){const e={...t,ignore:null,onMatch:null,onResult:null};p=a(o.ignore,e,r)}const h=(r,n=!1)=>{const{isMatch:s,match:h,output:l}=a.test(r,c,t,{glob:e,posix:i}),f={glob:e,state:u,regex:c,posix:i,input:r,output:l,match:h,isMatch:s};return"function"==typeof o.onResult&&o.onResult(f),!1===s?(f.isMatch=!1,!!n&&f):p(r)?("function"==typeof o.onIgnore&&o.onIgnore(f),f.isMatch=!1,!!n&&f):("function"==typeof o.onMatch&&o.onMatch(f),!n||f)};return r&&(h.state=u),h};a.test=(e,t,r,{glob:n,posix:s}={})=>{if("string"!=typeof e)throw new TypeError("Expected input to be a string");if(""===e)return{isMatch:!1,output:""};const i=r||{},c=i.format||(s?o.toPosixSlashes:null);let u=e===n,p=u&&c?c(e):e;return!1===u&&(p=c?c(e):e,u=p===n),!1!==u&&!0!==i.capture||(u=!0===i.matchBase||!0===i.basename?a.matchBase(e,t,r,s):t.exec(p)),{isMatch:Boolean(u),match:u,output:p}},a.matchBase=(e,t,r)=>(t instanceof RegExp?t:a.makeRe(t,r)).test(o.basename(e)),a.isMatch=(e,t,r)=>a(t,r)(e),a.parse=(e,t)=>Array.isArray(e)?e.map((e=>a.parse(e,t))):s(e,{...t,fastpaths:!1}),a.scan=(e,t)=>n(e,t),a.compileRe=(e,t,r=!1,n=!1)=>{if(!0===r)return e.output;const s=t||{},o=s.contains?"":"^",i=s.contains?"":"$";let c=`${o}(?:${e.output})${i}`;e&&!0===e.negated&&(c=`^(?!${c}).*$`);const u=a.toRegex(c,t);return!0===n&&(u.state=e),u},a.makeRe=(e,t,r=!1,n=!1)=>{if(!e||"string"!=typeof e)throw new TypeError("Expected a non-empty string");const o=t||{};let i,c={negated:!1,fastpaths:!0},u="";return e.startsWith("./")&&(e=e.slice(2),u=c.prefix="./"),!1===o.fastpaths||"."!==e[0]&&"*"!==e[0]||(i=s.fastpaths(e,t)),void 0===i?(c=s(e,t),c.prefix=u+(c.prefix||"")):c.output=i,a.compileRe(c,t,r,n)},a.toRegex=(e,t)=>{try{const r=t||{};return new RegExp(e,r.flags||(r.nocase?"i":""))}catch(e){if(t&&!0===t.debug)throw e;return/$^/}},a.constants=i,e.exports=a},270:(e,t,r)=>{const n=r(290),{CHAR_ASTERISK:s,CHAR_AT:o,CHAR_BACKWARD_SLASH:i,CHAR_COMMA:a,CHAR_DOT:c,CHAR_EXCLAMATION_MARK:u,CHAR_FORWARD_SLASH:p,CHAR_LEFT_CURLY_BRACE:h,CHAR_LEFT_PARENTHESES:l,CHAR_LEFT_SQUARE_BRACKET:f,CHAR_PLUS:d,CHAR_QUESTION_MARK:m,CHAR_RIGHT_CURLY_BRACE:y,CHAR_RIGHT_PARENTHESES:g,CHAR_RIGHT_SQUARE_BRACKET:O}=r(379),b=e=>e===p||e===i,v=e=>{!0!==e.isPrefix&&(e.depth=e.isGlobstar?1/0:1)};e.exports=(e,t)=>{const r=t||{},S=e.length-1,E=!0===r.parts||!0===r.scanToEnd,T=[],R=[],A=[];let w,P,C=e,_=-1,M=0,x=0,k=!1,$=!1,D=!1,N=!1,j=!1,I=!1,L=!1,H=!1,G=!1,U=0,q={value:"",depth:0,isGlob:!1};const F=()=>_>=S,K=()=>(w=P,C.charCodeAt(++_));for(;_<S;){let e;if(P=K(),P!==i){if(!0===I||P===h){for(U++;!0!==F()&&(P=K());)if(P!==i)if(P!==h){if(!0!==I&&P===c&&(P=K())===c){if(k=q.isBrace=!0,D=q.isGlob=!0,G=!0,!0===E)continue;break}if(!0!==I&&P===a){if(k=q.isBrace=!0,D=q.isGlob=!0,G=!0,!0===E)continue;break}if(P===y&&(U--,0===U)){I=!1,k=q.isBrace=!0,G=!0;break}}else U++;else L=q.backslashes=!0,K();if(!0===E)continue;break}if(P!==p){if(!0!==r.noext&&1==(P===d||P===o||P===s||P===m||P===u)&&C.charCodeAt(_+1)===l){if(D=q.isGlob=!0,N=q.isExtglob=!0,G=!0,!0===E){for(;!0!==F()&&(P=K());)if(P!==i){if(P===g){D=q.isGlob=!0,G=!0;break}}else L=q.backslashes=!0,P=K();continue}break}if(P===s){if(w===s&&(j=q.isGlobstar=!0),D=q.isGlob=!0,G=!0,!0===E)continue;break}if(P===m){if(D=q.isGlob=!0,G=!0,!0===E)continue;break}if(P===f)for(;!0!==F()&&(e=K());)if(e!==i){if(e===O){if($=q.isBracket=!0,D=q.isGlob=!0,G=!0,!0===E)continue;break}}else L=q.backslashes=!0,K();if(!0===r.nonegate||P!==u||_!==M){if(!0!==r.noparen&&P===l){if(D=q.isGlob=!0,!0===E){for(;!0!==F()&&(P=K());)if(P!==l){if(P===g){G=!0;break}}else L=q.backslashes=!0,P=K();continue}break}if(!0===D){if(G=!0,!0===E)continue;break}}else H=q.negated=!0,M++}else{if(T.push(_),R.push(q),q={value:"",depth:0,isGlob:!1},!0===G)continue;if(w===c&&_===M+1){M+=2;continue}x=_+1}}else L=q.backslashes=!0,P=K(),P===h&&(I=!0)}!0===r.noext&&(N=!1,D=!1);let B=C,J="",V="";M>0&&(J=C.slice(0,M),C=C.slice(M),x-=M),B&&!0===D&&x>0?(B=C.slice(0,x),V=C.slice(x)):!0===D?(B="",V=C):B=C,B&&""!==B&&"/"!==B&&B!==C&&b(B.charCodeAt(B.length-1))&&(B=B.slice(0,-1)),!0===r.unescape&&(V&&(V=n.removeBackslashes(V)),B&&!0===L&&(B=n.removeBackslashes(B)));const W={prefix:J,input:e,start:M,base:B,glob:V,isBrace:k,isBracket:$,isGlob:D,isExtglob:N,isGlobstar:j,negated:H};if(!0===r.tokens&&(W.maxDepth=0,b(P)||R.push(q),W.tokens=R),!0===r.parts||!0===r.tokens){let t;for(let n=0;n<T.length;n++){const s=t?t+1:M,o=T[n],i=e.slice(s,o);r.tokens&&(0===n&&0!==M?(R[n].isPrefix=!0,R[n].value=J):R[n].value=i,v(R[n]),W.maxDepth+=R[n].depth),0===n&&""===i||A.push(i),t=o}if(t&&t+1<e.length){const n=e.slice(t+1);A.push(n),r.tokens&&(R[R.length-1].value=n,v(R[R.length-1]),W.maxDepth+=R[R.length-1].depth)}W.slashes=T,W.parts=A}return W}},290:(e,t,r)=>{const{REGEX_BACKSLASH:n,REGEX_REMOVE_BACKSLASH:s,REGEX_SPECIAL_CHARS:o,REGEX_SPECIAL_CHARS_GLOBAL:i}=r(379);t.isObject=e=>null!==e&&"object"==typeof e&&!Array.isArray(e),t.hasRegexChars=e=>o.test(e),t.isRegexChar=e=>1===e.length&&t.hasRegexChars(e),t.escapeRegex=e=>e.replace(i,"\\$1"),t.toPosixSlashes=e=>e.replace(n,"/"),t.removeBackslashes=e=>e.replace(s,(e=>"\\"===e?"":e)),t.supportsLookbehinds=()=>{const e=process.version.slice(1).split(".").map(Number);return 3===e.length&&e[0]>=9||8===e[0]&&e[1]>=10},t.escapeLast=(e,r,n)=>{const s=e.lastIndexOf(r,n);return-1===s?e:"\\"===e[s-1]?t.escapeLast(e,r,s-1):`${e.slice(0,s)}\\${e.slice(s)}`},t.removePrefix=(e,t={})=>{let r=e;return r.startsWith("./")&&(r=r.slice(2),t.prefix="./"),r},t.wrapOutput=(e,t={},r={})=>{let n=`${r.contains?"":"^"}(?:${e})${r.contains?"":"$"}`;return!0===t.negated&&(n=`(?:^(?!${n}).*$)`),n},t.basename=(e,{windows:t}={})=>t?e.replace(/[\\/]$/,"").replace(/.*[\\/]/,""):e.replace(/\/$/,"").replace(/.*\//,"")},203:(e,t,r)=>{var n=r(739);function s(e){if(!Object.prototype.hasOwnProperty.call(o.message,e))throw new Error("invalid status code: "+e);return o.message[e]}function o(e){if("number"==typeof e)return s(e);if("string"!=typeof e)throw new TypeError("code must be a number or string");var t=parseInt(e,10);return isNaN(t)?function(e){var t=e.toLowerCase();if(!Object.prototype.hasOwnProperty.call(o.code,t))throw new Error('invalid status message: "'+e+'"');return o.code[t]}(e):s(t)}e.exports=o,o.message=n,o.code=function(e){var t={};return Object.keys(e).forEach((function(r){var n=e[r],s=Number(r);t[n.toLowerCase()]=s})),t}(n),o.codes=function(e){return Object.keys(e).map((function(e){return Number(e)}))}(n),o.redirect={300:!0,301:!0,302:!0,303:!0,305:!0,307:!0,308:!0},o.empty={204:!0,205:!0,304:!0},o.retry={502:!0,503:!0,504:!0}},803:t=>{t.exports=e},598:e=>{e.exports=t},739:e=>{e.exports=JSON.parse('{"100":"Continue","101":"Switching Protocols","102":"Processing","103":"Early Hints","200":"OK","201":"Created","202":"Accepted","203":"Non-Authoritative Information","204":"No Content","205":"Reset Content","206":"Partial Content","207":"Multi-Status","208":"Already Reported","226":"IM Used","300":"Multiple Choices","301":"Moved Permanently","302":"Found","303":"See Other","304":"Not Modified","305":"Use Proxy","307":"Temporary Redirect","308":"Permanent Redirect","400":"Bad Request","401":"Unauthorized","402":"Payment Required","403":"Forbidden","404":"Not Found","405":"Method Not Allowed","406":"Not Acceptable","407":"Proxy Authentication Required","408":"Request Timeout","409":"Conflict","410":"Gone","411":"Length Required","412":"Precondition Failed","413":"Payload Too Large","414":"URI Too Long","415":"Unsupported Media Type","416":"Range Not Satisfiable","417":"Expectation Failed","418":"I\'m a Teapot","421":"Misdirected Request","422":"Unprocessable Entity","423":"Locked","424":"Failed Dependency","425":"Too Early","426":"Upgrade Required","428":"Precondition Required","429":"Too Many Requests","431":"Request Header Fields Too Large","451":"Unavailable For Legal Reasons","500":"Internal Server Error","501":"Not Implemented","502":"Bad Gateway","503":"Service Unavailable","504":"Gateway Timeout","505":"HTTP Version Not Supported","506":"Variant Also Negotiates","507":"Insufficient Storage","508":"Loop Detected","509":"Bandwidth Limit Exceeded","510":"Not Extended","511":"Network Authentication Required"}')}},n={};function s(e){var t=n[e];if(void 0!==t)return t.exports;var o=n[e]={exports:{}};return r[e](o,o.exports,s),o.exports}s.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return s.d(t,{a:t}),t},s.d=(e,t)=>{for(var r in t)s.o(t,r)&&!s.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},s.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),s.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var o={};return(()=>{s.r(o),s.d(o,{AcceptMime:()=>$r,AdditionalProperties:()=>at,All:()=>rn,AllOf:()=>ct,Allow:()=>pt,Any:()=>ht,AnyOf:()=>lt,ArrayOf:()=>Qe,Children:()=>We,CollectionContains:()=>Ze,CollectionOf:()=>Xe,Const:()=>ft,Consumes:()=>Dr,ContentType:()=>qr,Converter:()=>Fn,CustomKey:()=>dt,CustomKeys:()=>mt,DateFormat:()=>$t,DateTime:()=>kt,DecoratorContext:()=>Nr,Default:()=>yt,DefaultMsg:()=>gt,Delete:()=>an,Deprecated:()=>Fr,Description:()=>Ot,Discriminator:()=>v,DiscriminatorKey:()=>bt,DiscriminatorValue:()=>ze,Email:()=>xt,EndpointMetadata:()=>F,Enum:()=>vt,ErrorMsg:()=>et,Example:()=>St,Examples:()=>Et,ExclusiveMaximum:()=>At,ExclusiveMinimum:()=>Ct,For:()=>rr,Format:()=>Mt,ForwardGroups:()=>It,GenericOf:()=>Mr,Generics:()=>xr,Get:()=>nn,Groups:()=>qt,HTTP_METHODS:()=>_e,HTTP_STATUS_MESSAGES:()=>Oe,Head:()=>cn,Header:()=>Kr,Hidden:()=>Ft,Ignore:()=>Kt,In:()=>Br,InFile:()=>Jr,Integer:()=>Bt,JSON_TYPES:()=>m,JsonClassStore:()=>A,JsonEntitiesContainer:()=>t,JsonEntityComponent:()=>R,JsonEntityFn:()=>Ve,JsonEntityStore:()=>r,JsonFormatTypes:()=>_t,JsonLazyRef:()=>B,JsonMap:()=>C,JsonMedia:()=>H,JsonMethodStore:()=>q,JsonOperation:()=>U,JsonOperationPathsMap:()=>xe,JsonOperationRoute:()=>gn,JsonParameter:()=>k,JsonParameterStore:()=>$,JsonParameterTypes:()=>_,JsonPropertyStore:()=>w,JsonRequestBody:()=>Te,JsonResponse:()=>G,JsonSchema:()=>T,Location:()=>Vr,MapOf:()=>Ye,Max:()=>Rt,MaxItems:()=>rt,MaxLength:()=>Jt,MaxProperties:()=>nt,Maximum:()=>Tt,Min:()=>Pt,MinItems:()=>st,MinLength:()=>Vt,MinProperties:()=>ot,Minimum:()=>wt,MultipleOf:()=>Wt,Name:()=>zt,Nullable:()=>Xt,OneOf:()=>Qt,OperationId:()=>Wr,OperationMethods:()=>Me,OperationPath:()=>zr,Optional:()=>Yt,Options:()=>pn,ParamMetadata:()=>D,Partial:()=>Xr,Patch:()=>un,Path:()=>Qr,Pattern:()=>Zt,Post:()=>sn,Produces:()=>kr,Property:()=>ut,PropertyMetadata:()=>P,Put:()=>on,ReadOnly:()=>er,RecordOf:()=>nr,Redirect:()=>Yr,Required:()=>sr,RequiredGroups:()=>or,Returns:()=>Ur,Route:()=>tn,Schema:()=>tr,Security:()=>hn,SpecTypes:()=>z,Status:()=>ln,Summary:()=>fn,Tags:()=>dn,TimeFormat:()=>Dt,Title:()=>ir,TypeError:()=>ar,UniqueItems:()=>it,Uri:()=>Nt,Url:()=>jt,View:()=>mn,WriteOnly:()=>cr,allOf:()=>Pr,alterIgnore:()=>ce,alterOneOf:()=>qe,alterRequiredGroups:()=>Ge,any:()=>Rr,anyMapper:()=>ee,anyOf:()=>Ar,array:()=>vr,boolean:()=>fr,buildPath:()=>we,classMapper:()=>te,concatParameters:()=>Pe,concatPath:()=>yn,createRef:()=>Y,createRefName:()=>Q,date:()=>dr,datetime:()=>mr,defineStatusModel:()=>Ir,email:()=>gr,enums:()=>_r,enumsRegistry:()=>a,execMapper:()=>h,formatParameterType:()=>M,from:()=>ur,generateSpec:()=>Bn,genericsMapper:()=>re,getComputedType:()=>d,getGenericsMap:()=>J,getInheritedStores:()=>ne,getJsonEntityStore:()=>K,getJsonPathParameters:()=>Ce,getJsonSchema:()=>Vn,getJsonSchemaMapper:()=>p,getJsonType:()=>y,getOperationsRoutes:()=>Wn,getOperationsStores:()=>ke,getProperties:()=>Xn,getPropertiesStores:()=>zn,getRequiredProperties:()=>Ue,getSpec:()=>wn,getSpecType:()=>Pn,getSpecTypeFromSpec:()=>Cn,getStatusConstant:()=>be,getStatusMessage:()=>ve,getStatusModel:()=>Lr,hasMapper:()=>l,inheritedClassMapper:()=>se,inlineEnums:()=>Fe,integer:()=>hr,isParameterType:()=>x,isRedirectionStatus:()=>j,isSuccessStatus:()=>N,itemMapper:()=>oe,lazyRef:()=>Cr,lazyRefMapper:()=>ie,map:()=>Sr,mapAliasedProperties:()=>He,mapGenericsOptions:()=>V,mapHeaders:()=>I,mapMapper:()=>ae,mapNullableType:()=>ue,mapOpenSpec:()=>kn,mapOpenSpec2:()=>Mn,mapOpenSpec3:()=>xn,mapOpenSpecInfo:()=>_n,mapRouteOptions:()=>Zr,matchGroups:()=>Ut,mergeSpec:()=>Tn,number:()=>pr,object:()=>Tr,objectMapper:()=>pe,ofMapper:()=>he,oneOf:()=>wr,oneOfMapper:()=>f,operationIdFormatter:()=>Rn,operationInFilesMapper:()=>le,operationInParameterMapper:()=>fe,operationInParametersMapper:()=>de,operationInQueryMapper:()=>me,operationMapper:()=>Se,operationMediaMapper:()=>Ee,operationRequestBodyMapper:()=>Re,operationResponseMapper:()=>Ae,parameters:()=>bn,pathsMapper:()=>Ie,popGenerics:()=>W,propertiesMapper:()=>Le,registerJsonSchemaMapper:()=>u,schemaMapper:()=>Je,schemesReducer:()=>On,security:()=>vn,serializeEnum:()=>g,serializeEnumValues:()=>O,set:()=>Er,string:()=>lr,tagsReducer:()=>Sn,time:()=>yr,toJsonMapCollection:()=>L,toJsonRegex:()=>b,toRef:()=>Z,transformInformation:()=>qn,transformSecurity:()=>Un,transformToOS2:()=>Kn,uri:()=>Or,url:()=>br,withErrorMsg:()=>tt});var e=s(803);const t=new Map;class r{propertyKey;propertyName;index;descriptor;decoratorType;collectionType;token;store;isStore=!0;parent;target;_type;_schema;constructor(e){const{target:t,propertyKey:r,descriptor:n,index:s,decoratorType:o}=e;this.target=t,this.propertyKey=r,this.propertyName=String(r),this.descriptor=n,this.index=s,this.decoratorType=o,this.token=t,this.store=e.store,this.parent=this}get targetName(){return(0,e.nameOf)(this.token)}get isCollection(){return!!this.collectionType}get isArray(){return(0,e.isArrayOrArrayClass)(this.collectionType)}get discriminatorAncestor(){const t=(0,e.ancestorsOf)(this.target).find((e=>r.from(e).schema.isDiscriminator));return t&&r.from(t)}get isPrimitive(){return(0,e.isPrimitiveOrPrimitiveClass)(this._type)}get isDate(){return(0,e.isDate)(this.computedType)}get isObject(){return(0,e.isObject)(this.computedType)}get isClass(){return(0,e.isClass)(this.computedType)}get schema(){return this._schema}get nestedGenerics(){return this.schema.nestedGenerics}set nestedGenerics(e){this.schema.nestedGenerics=e}get type(){return this._type}set type(e){this._type=e,this.build()}get computedType(){return this.itemSchema.getComputedType()}get itemSchema(){return this.isCollection?this.schema.itemSchema():this.schema}get parentSchema(){return this.parent.schema}get isDiscriminatorChild(){return this.schema.isDiscriminator&&this.discriminatorAncestor?.schema.discriminator().base!==this.target}static from(...r){if(r[0].isStore)return r[0];const n=r[0];r.length>1&&(r[0]=(0,e.prototypeOf)(r[0]));const s=e.Store.from(...r);if(!s.has("JsonEntityStore")){const o=(0,e.decoratorTypeOf)(r),i=t.get(o);if(!i)throw Error("Unsupported json entity type");const a=new i({store:s,decoratorType:o,target:(0,e.classOf)(n),propertyKey:r[1],index:"number"==typeof r[2]?r[2]:void 0,descriptor:"object"==typeof r[2]?r[2]:void 0});a.build(),s.set("JsonEntityStore",a)}return s.get("JsonEntityStore")}static fromMethod(t,r){return this.from(t,r,(0,e.descriptorOf)(t,r))}static get(t,n,s){return r.from((0,e.prototypeOf)(t),n,s)}isGetterOnly(){return(0,e.isObject)(this.descriptor)&&!this.descriptor.value&&this.descriptor.get&&!this.descriptor.set}get(e,t){return this.store.get(e,t)}set(e,t){return this.store.set(e,t)}toString(){return[this.targetName,this.propertyName,this.index].filter((e=>void 0!==e)).join(":")}buildType(t){(0,e.isCollection)(t)?this.collectionType=t:(this._type=t,this._type&&(0,e.isPlainObject)(this._type)&&(this._type=String))}getBestType(){return this.itemSchema.hasDiscriminator?this.itemSchema.discriminator().base:(0,e.isClassObject)(this.type)?this.itemSchema.getTarget():(0,e.isArrowFn)(this.type)?this.type():this.type}}function n(e,t,r,n){var s,o=arguments.length,i=o<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,r):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)i=Reflect.decorate(e,t,r,n);else for(var a=e.length-1;a>=0;a--)(s=e[a])&&(i=(o<3?s(i):o>3?s(t,r,i):s(t,r))||i);return o>3&&i&&Object.defineProperty(t,r,i),i}function i(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)}Object.create,Object.create;const a=new Map,c=new Map;function u(e,t){return c.set(e,t)}function p(e){if(!c.has(e))throw new Error(`JsonSchema ${e} mapper doesn't exists`);return c.get(e)}function h(e,t,r,n){return p(e)(t,r,n)}function l(e){return c.has(e)}function f(...e){return e.find((e=>c.has(e)))}function d(t){return(0,e.isPromise)(t)||t===Function?Object:(0,e.isClass)(t)||(0,e.isSymbol)(t)||(0,e.isPrimitiveOrPrimitiveClass)(t)||(0,e.isClassObject)(t)||(0,e.isDate)(t)||(0,e.isCollection)(t)?(0,e.classOf)(t):(0,e.isArrowFn)(t)?t():t}const m=["string","number","integer","boolean","object","array","null","any"];function y(t){return null===t?"null":(0,e.isPrimitiveOrPrimitiveClass)(t)?m.indexOf(t)>-1?t:"string"==typeof t?"file"===t?"file":"generic":(0,e.primitiveOf)(t):t===Array?"array":(0,e.isArray)(t)?t.map(y):t===Set?"array":(0,e.isDate)(t)||(0,e.isBuffer)(t)?"string":"object"}const g=t=>(0,e.isObject)(t)&&null!==t?Object.entries(t).reduce(((e,[t,r])=>isNaN(+t)?e.concat(r):e),[]):t;function O(t){const r=t.reduce(((e,t)=>e.concat(g(t))),[]),n=r.reduce(((e,t)=>e.add((e=>null===e?"null":typeof e)(t))),new Set);return{values:(0,e.uniq)(r),types:n}}function b(e){return String(e).replace(/^(\/)(.*)(\/)$/,"$2")}class v{propertyName;base;values=new Map;types=new Map;constructor({base:t,propertyName:r,types:n,values:s}={}){Object.assign(this,(0,e.cleanObject)({base:t,propertyName:r,types:n?new Map(n):void 0,values:s?new Map(s):void 0}))}add(e,t){return t.forEach((t=>{this.values.set(t,e)})),this.types.set(e,t),this}getType(e){return this.values.get(e)||this.base}getValues(e){return this.types.get(e)}getDefaultValue(e){const t=this.types.get(e);return t?t[0]:void 0}children(){return[...new Set([...this.types.keys()])]}}function S(e){return e instanceof T?e:Object.entries(e).reduce(((e,[t,r])=>(e[b(t)]=E(r),e)),{})}function E(t){return(0,e.isArray)(t)?t.map(E):t.isStore||t.$isJsonDocument||t.isLazyRef?t:(0,e.classOf)(t)!==Object&&(0,e.isClass)(t)?r.from(t).schema:(0,e.isObject)(t)?T.from(t):(0,e.isPrimitiveClass)(t)?T.from({type:t}):t}class T extends Map{$kind="schema";$isJsonDocument=!0;$hooks=new e.Hooks;$required=new Set;$allow=[];$selfRequired;$forwardGroups=!1;$ignore=!1;isDiscriminatorKey=!1;isDiscriminator=!1;#t=!1;#e=null;#r;#o=[];#n=new Map;#i;#s;#a=!1;#c=!1;#u=!1;constructor(e={}){super(),e&&this.assign(e)}get alias(){return this.#n}get nestedGenerics(){return this.#o}set nestedGenerics(e){this.#o=e}get genericLabels(){return this.#r}set genericLabels(e){this.#r=e}get isClass(){return(0,e.isClass)(this.class)&&![Map,Array,Set,Object,Date,Boolean,Number,String].includes(this.#s)}get isCollection(){return this.#c}get isGeneric(){return this.#a}get discriminatorAncestor(){const t=(0,e.ancestorsOf)(this.#s).find((e=>r.from(e).schema.isDiscriminator));return t&&r.from(t).schema}get hasGenerics(){return!(!this.nestedGenerics||!this.nestedGenerics.length)}get genericType(){return this.get("$ref")}get class(){return this.getComputedType()}get canRef(){return this.#u}get isNullable(){return this.#t||this.$allow.includes(null)}get isReadOnly(){return this.get("readOnly")}get isWriteOnly(){return this.get("writeOnly")}get hasDiscriminator(){return!!this.#e}static from(e={}){return new T(e)}nullable(e){this.#t=e}itemSchema(e={}){return this.#i=this.#i||E(e),this.#i.assign(e),this.#i}getAliasOf(e){return this.#n.get(e)}addAlias(e,t){return this.#n.set(e,t),this.#n.set(t,e),this}removeAlias(e){const t=this.#n.get(e);return t&&this.#n.delete(t),this.#n.delete(e),this}$id(e){return super.set("$id",e),this}$ref(e){return super.set("$ref",e),this}$schema(e){return super.set("$schema",e),this}label(e){return this.#u=!0,super.set("name",e),this}name(e){return super.set("name",e),this}ignore(e){return"boolean"!=typeof e&&this.$hooks.on("ignore",e),this.$ignore=e,this}default(e){return super.set("default",e),this}const(e){return super.set("const",e),this}description(e){return super.set("description",e),this}discriminator(){return this.isDiscriminator=!0,this.#e=this.#e||new v({base:this.#s})}discriminatorKey(e){return this.discriminator().propertyName=e,this.isDiscriminator=!0,this}discriminatorValue(...e){const t=this.discriminatorAncestor.discriminator();t.add(this.#s,e),this.isDiscriminator=!0;const r=this.get("properties"),n=r[t.propertyName]||new T({type:"string"});return 1===e.length?(n.const(e[0]),n.examples([e[0]])):(n.enum(...e),n.examples(e)),r[t.propertyName]=n,this.set("properties",r),this}additionalItems(e){return super.set("additionalItems",E(e)),this}contains(e){return super.set("contains",E(e)),this}examples(e){return super.set("examples",e),this}example(...e){return this.examples(e)}items(e){return super.set("items",this.#i=E(e)),this}maxItems(e){return super.set("maxItems",e),this}minItems(e){return super.set("minItems",e),this}uniqueItems(e){return super.set("uniqueItems",e),this}maxProperties(e){return super.set("maxProperties",e),this}minProperties(e){return super.set("minProperties",e),this}allow(...e){return this.$allow.push(...e),this}required(t=!0){if(!(0,e.isArray)(t)){const e=this.clone();return e.$selfRequired=t,e}return this.$required.clear(),t.forEach((e=>this.$required.add(e))),this}addRequired(e){return this.$required.add(e),this}removeRequired(e){return this.$required.delete(e),this}isRequired(e){return this.$required.has(e)}properties(e){return super.set("properties",S(e)),this}addProperty(e,t){const r=this.get("properties")||{};return r[e]=t,super.set("properties",S(r)),this}patternProperties(e){return super.set("patternProperties",S(e)),this}additionalProperties(e){return super.set("additionalProperties",E(e)),this}unknown(e=!0){return this.additionalProperties(e)}dependencies(e){return super.set("dependencies",S(e)),this}propertyNames(e){return super.set("propertyNames",E(e)),this}enum(e,...t){if(a.has(e))return this.enum(a.get(e));if(e instanceof T)e.getName()?super.set("enum",e):super.set("enum",e.get("enum")).any(...e.getJsonType());else{const{values:r,types:n}=O([e,t].flat());super.set("enum",r).any(...n)}return this}definitions(e){return super.set("definitions",S(e)),this}allOf(e){return super.set("allOf",e.map(E)),this}anyOf(e){return super.set("anyOf",e.map(E)),this}oneOf(e){let t=e.map(E);if(1===t.length&&!(e[0]instanceof T)){if(!t[0].hasDiscriminator)return this.type(e[0]);const r=t[0].discriminator().children();if(!r.length)return this.type(e[0]);t=r.map(E)}super.set("oneOf",t);const r=t[0];if(r.isDiscriminator){const e=r.discriminatorAncestor.discriminator(),{propertyName:t}=e;super.set("discriminator",{propertyName:t}),this.isDiscriminator=!0,this.#e=e}return this}not(e){return super.set("not",E(e)),this}multipleOf(e){return super.set("multipleOf",e),this}maximum(e){return super.set("maximum",e),this}exclusiveMaximum(e){return super.set("exclusiveMaximum",e),this}minimum(e){return super.set("minimum",e),this}exclusiveMinimum(e){return super.set("exclusiveMinimum",e),this}maxLength(e){return super.set("maxLength",e),this}minLength(e){return super.set("minLength",e),this}pattern(e){return super.set("pattern",b(e)),this}format(e){return super.set("format",e),this}type(t){switch(t){case Map:super.set("type",y(t)),this.#s=t,this.#c=!0,this.has("additionalProperties")||super.set("additionalProperties",this.itemSchema({}));break;case Array:super.set("type",y(t)),this.#s=t,this.#c=!0,this.has("items")||super.set("items",this.itemSchema({}));break;case Set:super.set("type",y(t)),this.#s=t,this.#c=!0,this.uniqueItems(!0),this.has("items")||super.set("items",this.itemSchema({}));break;case"integer":super.set("type",y(t)),this.integer();break;case Object:case Date:case Boolean:case Number:case String:super.set("type",y(t)),this.#s=t,this.has("properties")||super.set("properties",{});break;default:if((0,e.isClass)(t)||(0,e.isFunction)(t))super.set("type",void 0),this.#s=t,this.has("properties")||super.set("properties",{});else{const e=y(t);"generic"===e?(this.#a=!0,super.set("$ref",t)):super.set("type",e)}}return this}any(...t){return t.filter((t=>(0,e.isClass)(t))).length>=2?this.oneOf(t.filter((e=>null!==e&&(this.nullable(!0),!0)))):(t.length?(t=(0,e.uniq)(t).map(y)).includes("null")&&(this.nullable(!0),t=t.filter((e=>"null"!==e))):(t=["integer","number","string","boolean","array","object"],this.nullable(!0)),this.type(1===t.length?t[0]:t)),this}integer(){return super.set("type","integer"),super.set("multipleOf",1),this}title(e){return super.set("title",e),this}readOnly(e){return super.set("readOnly",e),this}writeOnly(e){return super.set("writeOnly",e),this}customKey(e,t){return super.set(`#${e}`,t),this}toObject(e){return this.toJSON(e)}toJSON(e){return h("schema",this,e)}assign(e={}){return(e instanceof T?[...e.entries()]:Object.entries(e)).forEach((([e,t])=>{this.set(e,t)})),e instanceof T&&(this.$selfRequired=e.$selfRequired,this.$allow.push(...e.$allow),e.$required.forEach((e=>{this.$required.add(e)})),this.#e=this.#e?new v(this.#e):null,this.isDiscriminator=e.isDiscriminator,this.isDiscriminatorKey=e.isDiscriminatorKey,this.#u=e.#u,this.#n=new Map(this.#n.entries()),e.#r&&(this.#r=[...e.#r]),this.#o=e.#o.map((e=>[...e])),this.#s=e.#s,this.#a=e.#a,this.#c=e.#c,this.#u=e.#u,super.set("type",e.get("type"))),this}set(t,r){return t in this?(0,e.isFunction)(this[t])&&this[t](r):super.set(t,r),this}getComputedType(){return d(this.#s)}getComputedItemType(){return this.#i?this.#i.getComputedType():this.getComputedType()}getJsonType(){return this.get("type")||y(this.getComputedType())}getTarget(){return this.#s}getName(){return this.get("name")||((0,e.isClass)(this.#s)?(0,e.nameOf)((0,e.classOf)(this.getComputedType())):"")}clone(){return new T(this)}}function R(e){return r=>{t.set(e,r)}}let A=class extends r{children=new Map;get path(){return this.store.get("path","/")}set path(e){this.store.set("path",e)}build(){this._type||this.buildType(this.target),this._type=this._type||Object,this._schema=T.from({type:this.type})}};A=n([R(e.DecoratorTypes.CLASS)],A);let w=class extends r{parent=r.from(this.target);get required(){return this.parent.schema.isRequired(this.propertyKey)}set required(e){e?this.parent.schema.addRequired(this.propertyKey):this.parent.schema.removeRequired(this.propertyKey)}get allowedRequiredValues(){return this.schema.$allow}discriminatorKey(){return this.parent.schema.discriminatorKey(String(this.propertyKey)),this.itemSchema.isDiscriminatorKey=!0,this}isDiscriminatorKey(){return this.itemSchema.isDiscriminatorKey}isRequired(e){return this.required&&[void 0,null,""].includes(e)&&!this.allowedRequiredValues.includes(e)}build(){this._type||this.buildType(e.Metadata.getType((0,e.prototypeOf)(this.target),this.propertyKey)),this._type=this._type||Object;let t=this.parent.schema.get("properties")[this.propertyName];t||(this.parent.children.set(this.propertyName,this),t=T.from({type:this.collectionType||this.type}),this.collectionType&&t.itemSchema(this.type)),this.parent.schema.addProperty(this.propertyName,t),this._schema=t}static get(t,n){return r.from((0,e.prototypeOf)(t),n)}};w=n([R(e.DecoratorTypes.PROP)],w);const P=w;class C extends Map{$kind="map";$isJsonDocument=!0;constructor(e={}){super(),this.assign(e)}assign(t={}){return Object.entries(t).forEach((([t,r])=>{(0,e.isFunction)(this[t])?this[t](r):this.set(t,r)})),this}toJSON(e){return h("map",this,e)}}var _;function M(e){return String(e).toLowerCase().replace("raw_","").replace("cookies","cookie")}function x(e){return Object.values(_).includes(M(e))}!function(e){e.BODY="body",e.PATH="path",e.QUERY="query",e.HEADER="header",e.COOKIES="cookie",e.FILES="files"}(_||(_={}));class k extends C{$kind="operationInParameter";nestedGenerics=[];groups;groupsName;$schema;expression;getName(){const e=this.get("name");return"files"===this.get("in")?e.split(".")[0]:e}name(e){return this.set("name",e),this}examples(e){return super.set("examples",e),this}description(e){return this.set("description",e),this}in(e,t=""){return this.set("in",M(e)),this.expression=t,this}required(e){return this.set("required",e),this}schema(e){return this.$schema=e,this}toJSON(e){return h("operationInParameter",this,e)}}let $=class extends r{paramType;expression;dataPath;pipes;parameter=new k;parent=r.fromMethod(this.target,this.propertyKey);constructor(e){super(e),this.pipes=e.pipes||[],this.paramType=e.paramType||this.paramType,this.expression=e.expression||this.expression,this.dataPath=e.dataPath||this.dataPath}get nestedGenerics(){return this.parameter.nestedGenerics}set nestedGenerics(e){this.parameter.nestedGenerics=e}get required(){return!!this.parameter.get("required")}set required(e){this.parameter.required(e)}get allowedRequiredValues(){return this.schema.$allow}static getParams(t,n){const s=[],o=(0,e.ancestorsOf)(t).reverse().find((t=>(0,e.isMethodDescriptor)(t,n)&&r.fromMethod(t,n).children.size));return o?(r.fromMethod(o,n).children.forEach(((e,t)=>{s[+t]=e})),s):[]}static get(t,n,s){return r.from((0,e.prototypeOf)(t),n,s)}isRequired(e){return this.required&&[void 0,null,""].includes(e)&&!this.allowedRequiredValues.includes(e)}getSchema(t){return(0,e.isCollection)(t)||!(0,e.isClass)(t)?T.from({type:t}):r.from(t).schema}build(){if(!this._type){const t=e.Metadata.getParamTypes((0,e.prototypeOf)(this.target),this.propertyKey)[this.index];this.buildType(t)}this._type=this._type||Object,this._schema||(this.parent.children.set(this.index,this),this._schema=this.getSchema(this.collectionType||this.type),this.parameter.schema(this._schema),this.collectionType&&this._schema.itemSchema(this.getSchema(this.type)),this.parent.operation.addParameter(this.index,this.parameter))}};$=n([R(e.DecoratorTypes.PARAM),i("design:paramtypes",[Object])],$);const D=$,N=e=>Number(e)&&200<=Number(e)&&Number(e)<300,j=e=>Number(e)&&300<=Number(e)&&Number(e)<400;function I(t){return Object.keys(t).reduce(((r,n)=>{const s=t[n];let o=typeof s,i={example:s};return"object"===o&&(i=s,i.example=void 0===i.value?i.example:i.value,delete i.value,o=typeof i.example),i.type=i.type||o,r[n]=(0,e.cleanObject)(i),r}),{})}function L(e,t=C){return Object.entries(e).reduce(((e,[r,n])=>(e.set(r,new t(n)),e)),new C)}class H extends C{$kind="operationMedia";groups=[];groupsName;allowedGroups;schema(e){return this.set("schema",e),this}examples(e){return this.set("examples",e),this}}class G extends C{$kind="operationResponse";status;constructor(e={}){super(e),this.content(e.content||{})}description(e){return this.set("description",e),this}headers(e){return this.set("headers",I(e)),this}content(e){return this.set("content",L(e,H)),this}getContent(){return this.get("content")}getMedia(e,t=!0){return t&&this.addMedia(e),this.getContent()?.get(e)}addMedia(e){const t=this.get("content");return t.has(e)||t.set(e,new H),this}}class U extends C{$kind="operation";operationPaths=new Map;#p;#h=!1;constructor(e={}){super({parameters:[],responses:new C,...e})}get response(){return this.getResponses().get(this.getStatus().toString())}get status(){return this.#p}tags(e){return super.set("tags",e),this}addTags(t){return t=(0,e.uniqBy)([...this.get("tags")||[],...t],"name"),this.tags(t)}summary(e){return super.set("summary",e),this}operationId(e){return this.set("operationId",e),this}responses(e){return this.set("responses",e),this}defaultStatus(e){return this.#p=e,this}getStatus(){return this.#p||200}setRedirection(e=302){return this.#h=!0,this.#p=e,this}isRedirection(e){return this.#h&&e?j(e):this.#h}addResponse(t,r){if((N(t)||j(t))&&!this.#p){const e=this.getResponseOf(200);this.getResponses().set(t.toString(),e).delete("200"),this.defaultStatus(Number(t))}const n="default"===t?this.getStatus().toString():t.toString(),s=this.getResponses().get(n);return s?(r.forEach(((t,r)=>{["content"].includes(r)||s.set(r,(0,e.deepMerge)(s.get(r),t))})),s.status=Number(n)):(r.status=Number(n),this.getResponses().set(n,r)),this}getResponses(){return this.get("responses")}getResponseOf(e){return("default"===e?this.response:this.getResponses().get(String(e)))||new G}ensureResponseOf(e){return this.addResponse(e,this.getResponseOf(e)),this.getResponseOf(e)}getHeadersOf(e){return this.getResponseOf(e).get("headers")||{}}getContentTypeOf(e){return[...this.getResponseOf(e).get("content").keys()].slice(-1)[0]}security(e){return this.set("security",e),this}addSecurityScopes(t,r){const n=this.get("security")||{};return n[t]=(0,e.uniq)([...n[t]||[],...r]),this.security(n)}description(e){return super.set("description",e),this}deprecated(e){return super.set("deprecated",e),this}parameters(e){return super.set("parameters",e),this}addParameter(e,t){-1===e&&(e=this.get("parameters").length),this.get("parameters")[e]=t}consumes(e){return super.set("consumes",e),this}produces(e){return super.set("produces",e),this}addProduce(t){const r=(0,e.uniq)([].concat(this.get("produces"),t)).filter(Boolean);this.set("produces",r)}addOperationPath(e,t,r={}){return this.operationPaths.set(String(e)+String(t),{...r,method:e,path:t}),this}}let q=class extends r{parent=r.from(this.target);middlewares=[];beforeMiddlewares=[];afterMiddlewares=[];operation=new U;children=new Map;constructor(t){super({store:e.Store.fromMethod(t.target,t.propertyKey),descriptor:(0,e.descriptorOf)(t.target,t.propertyKey),...t});const{beforeMiddlewares:r=[],middlewares:n=[],afterMiddlewares:s=[]}=t;this.after(s),this.before(r),this.use(n)}get params(){return this.parameters}get view(){return this.store.get("view")}set view(e){this.store.set("view",e)}get acceptMimes(){return this.store.get("acceptMimes",[])}set acceptMimes(e){this.store.set("acceptMimes",e)}get parameters(){return[...this.children.values()]}get operationPaths(){return this.operation.operationPaths}static get(t,n,s){return s=s||(0,e.descriptorOf)((0,e.prototypeOf)(t),n),r.from((0,e.prototypeOf)(t),n,s)}getResponseOptions(e,{contentType:t="application/json",includes:r}={}){const n=this.operation.getResponseOf(e).getMedia(t,!1);if(n&&n.has("schema")){const e=n.get("schema");let t=n.groups;return r&&n.allowedGroups?.size&&(t=[...t||[],...r.filter((e=>n.allowedGroups.has(e)))]),{type:e.getComputedItemType(),groups:t}}return{type:this.type}}before(t){return this.beforeMiddlewares=this.beforeMiddlewares.concat(t).filter(e.isFunction),this}after(t){return this.afterMiddlewares=this.afterMiddlewares.concat(t).filter(e.isFunction),this}use(t){return this.middlewares=this.middlewares.concat(t).filter(e.isFunction),this}get(t){const r=e.Store.from(this.target).get(t);return(0,e.deepMerge)(r,this.store.get(t))}getParamTypes(){return[...this.children.values()].reduce(((e,t)=>({...e,[t.paramType]:!0})),{})}build(){if(!this._type){let t=e.Metadata.getReturnType(this.target,this.propertyKey);t=(0,e.isPromise)(t)?void 0:t,this.buildType(t)}this._type=this._type||Object,this.parent.children.set(this.propertyName,this),(0,e.isCollection)(this._type)&&(this.collectionType=this._type,delete this._type),this._schema=T.from({type:this.collectionType||this.type}),this.collectionType&&this._schema.itemSchema(this.type),this.parent.schema.addProperty(this.propertyName,this.schema)}};q=n([R(e.DecoratorTypes.METHOD),i("design:paramtypes",[Object])],q);const F=q;function K(...e){return r.from(...e)}t.set(e.DecoratorTypes.CLASS,A),t.set(e.DecoratorTypes.PROP,w),t.set(e.DecoratorTypes.PARAM,$),t.set(e.DecoratorTypes.METHOD,q);class B{getType;isLazyRef=!0;constructor(e){this.getType=e}get target(){return this.getType()}get schema(){return K(this.getType()).schema}get name(){return(0,e.nameOf)(this.getType())}}function J(e,t){return e.reduce(((e,r,n)=>e.set(r,t[n])),new Map)}function V(e){if(e.genericLabels&&e.genericTypes){const{genericLabels:t,genericTypes:r,...n}=e;return{...n,generics:J(t,r)}}return e}function W(e){const[t,...r]=e.nestedGenerics;return{genericTypes:t,nestedGenerics:r}}var z,X=s(598);function Q(e,t){return t.groups&&t.groups.length?(0,X.pascalCase)(`${e} ${t.groupsName||t.groups.join(" ")}`):e}function Y(t,r,n){const s=function(e){const{host:t="#/"+("openapi3"===e.specType?"components/schemas":"definitions")}=e;return t}(n),o={$ref:`${s}/${t}`},i=r.isNullable,a=r.isReadOnly,c=r.isWriteOnly;if(i||a||c)switch(n.specType){case z.OPENAPI:return(0,e.cleanObject)({nullable:!!i||void 0,readOnly:!!a||void 0,writeOnly:!!c||void 0,oneOf:[o]});case z.JSON:return(0,e.cleanObject)({readOnly:a,writeOnly:c,oneOf:[o]})}return o}function Z(e,t,r){const n=Q(e.getName(),r);return r.schemas[n]=t,Y(n,e,r)}function ee(e,t={}){if("object"!=typeof e||null===e)return e;if(e instanceof B)return h("lazyRef",e,t);if(e instanceof T&&e.get("enum")instanceof T){const r=e.get("enum");return Z(r,r.toJSON(t),t)}if(e.$kind&&e.$isJsonDocument){const r=h(f(e.$kind,"map"),e,V(t));return e.canRef?Z(e,r,t):r}return h("object",e,t)}function te(e,t){const n=r.from(e.class),s=Q(n.schema.getName()||e.getName(),t);if(e.hasGenerics){const{type:r,properties:s,additionalProperties:o,items:i,...a}=e.toJSON(t),c={...h("any",n.schema,{...t,...W(e),root:!1}),...a};if(c.title){const r=Q(c.title,t);return t.schemas[r]=c,delete c.title,Y(r,e,t)}return c}return t.schemas&&!t.schemas[s]&&(t.schemas[s]={},t.schemas[s]=h("any",n.schema,V({...t,root:!1}))),Y(s,e,t)}function re(t,n){const{generics:s}=n;if(s&&t.$ref&&s.has(t.$ref)){let o=s.get(t.$ref);if((0,e.isPrimitiveClass)(o))return{type:y(o)};if(o===Date)return{type:"string",format:"date-time"};if(o.toJSON)return o.toJSON({...n,generics:void 0});if(o===Object)return{type:"object"};if((0,e.isClass)(o)){const e={class:o};return 0===n.nestedGenerics.length?h("class",e,{...n,generics:void 0}):h("schema",r.from(e.class).schema,{...n,...W(n),root:!1})}}return t}function ne(t){const r=t.isStore?t:K(t);return r.$inherited||(r.$inherited=(0,e.ancestorsOf)(r.target).reverse().reduce(((e,t)=>e.set(t,K(t))),new Map)),r.$inherited}function se(t,{target:r,...n}){const s=Array.from(ne(r).entries()).filter((([t])=>(0,e.classOf)(t)!==(0,e.classOf)(r)));if(s.length){const r=s.reduce(((t,[,r])=>(0,e.deepMerge)(t,h("schema",r.schema,n))),{});t=(0,e.deepMerge)(r,t)}return t}function oe(e,t){return e&&e.isClass?h("class",e,t):h("any",e,t)}function ie(e,t){const r=e.name;if(t.$refs?.find((t=>t===e.target)))return Y(r,e.schema,t);t.$refs=[...t.$refs||[],e.target];const n=e.getType()&&h("schema",e.schema,V(t));return Z(e.schema,n,t)}function ae(e,{ignore:t=[],...r}={}){return r=V(r),Array.from(e.entries()).reduce(((e,[n,s])=>(t.includes(n)||(e[n]=h("item",s,r)),e)),{})}function ce(t,r){if((0,e.isBoolean)(t.$ignore)&&t.$ignore)return!0;let n=t?.$hooks?.alter("ignore",!1,[r]);return n||(!1!==r.groups?t?.$hooks?.alter("groups",!1,[r.groups]):n)}function ue(t,r,n){if(!r?.isNullable)return t;let s=[].concat(t.type).filter(Boolean);switch(n.specType){default:case z.JSON:t.discriminator||(t.oneOf?function(e){return e.oneOf.find((e=>"null"===e.type))}(t)||t.oneOf.unshift({type:"null"}):t.type=(0,e.uniq)(["null",...s]));break;case z.OPENAPI:t.nullable=!0,t.oneOf||(s.length>1?(t.oneOf=s.map((e=>({type:e}))),delete t.type):t.type=s[0])}return t}function pe(t,r){const{specType:n,operationIdFormatter:s,root:o,schemas:i,genericTypes:a,nestedGenerics:c,useAlias:u,genericLabels:p,...l}=r;return Object.entries(t).reduce(((e,[n,s])=>{if(!1!==r.withIgnoredProps&&!ce(s,l)){const o={...r,groups:t?.$forwardGroups||s?.$forwardGroups?r.groups:void 0};e[n]=h("item",s,o),e[n]=ue(e[n],s,o)}return e}),(0,e.isArray)(t)?[]:{})}function he(e,t,r){return e.map((e=>h("item",e,{...t,genericLabels:r.genericLabels})))}function le(t,{jsonSchema:r}){const n={type:"string",format:"binary",oneOf:void 0};return"array"===r.type?(r.items=(0,e.cleanObject)({...r.items,...n}),t.schema=r,t):(t.schema=(0,e.cleanObject)({...r,...n}),t)}function fe(e,t){const r=function(e,t={}){return{...t,groups:e.groups,groupsName:e.groupsName}}(e,t),n={...r.schemas||{}},{type:s,schema:o,...i}=h("map",e,r),a=h("item",e.$schema,{...r,...W(e)});i.required=i.required||e.get("in")===_.PATH;const c={...r,jsonSchema:a,jsonParameter:e,oldSchemas:n},u=(0,X.camelCase)(`operationIn ${e.get("in")}`);return l(u)?h(u,i,c):(i.schema=a,i)}function de(e,t){return e.flatMap((e=>h("operationInParameter",e,t))).filter(Boolean)}function me(t,{jsonSchema:r,jsonParameters:n,...s}){if(r.$ref){if(!t.name)return function(t,{jsonParameter:r,...n}){const s=Q(r.$schema.getName(),n),o=n.schemas?.[s];return o&&!n.oldSchemas?.[s]&&delete n.schemas[r.$schema.getName()],Object.entries(o?.properties||{}).reduce(((r,[n,{description:s,...i}])=>[...r,(0,e.cleanObject)({...t,name:n,required:(o?.required||[]).includes(n),description:s,schema:i,style:i.$ref?"deepObject":void 0})]),[])}(t,s);t.style="deepObject"}return t.schema=r,t}!function(e){e.JSON="jsonschema",e.SWAGGER="swagger2",e.OPENAPI="openapi3"}(z||(z={})),u("any",ee),u("class",te),u("generics",re),u("inheritedClass",se),u("item",oe),u("lazyRef",ie),u("map",ae),u("object",pe),u("anyOf",he),u("allOf",he),u("oneOf",he),u("operationInFiles",le),u("operationInParameter",fe),u("operationInParameters",de),u("operationInQuery",me);var ye=s(203),ge=s.n(ye);const Oe=ge().codes.reduce(((e,t)=>{const r=String(ge()(t));return{...e,[String(t)]:{label:r,code:(0,X.constantCase)(r)}}}),{});function be(e){return Oe[e]?.code}function ve(e){return Oe[e]?.label}function Se(e,{tags:t=[],defaultTags:r=[],...n}={}){const{consumes:s,produces:o,...i}=h("map",e,{...n,ignore:["parameters"]});i.security&&(i.security=[].concat(i.security)),0===e.get("responses").size&&(i.responses={200:{description:ve(200)}});const a={...n,consumes:e.get("consumes")?.length?e.get("consumes"):["application/json"]},[c,u]=function(e,t){return e.get("parameters").filter((e=>x(e.get("in")))).reduce(((e,t)=>{const[r,n]=e;return[_.BODY,_.FILES].includes(t.get("in"))?[r,[...n,t]]:[[...r,t],n]}),[[],[]])}(e);i.parameters=h("operationInParameters",c,n),u.length&&(i.requestBody=h("operationRequestBody",u,a));const p=i.tags?.length?i.tags:r;return p.length&&(i.tags=p.map((({name:e})=>e))),t.push(...p),i}function Ee(e,t){return h("map",e,{...t,groups:[...e.groups||[]],groupsName:e.groupsName})}Oe[200].label="Success",Oe[200].code="SUCCESS",u("operation",Se),u("operationMedia",Ee);class Te extends C{$kind="operationRequestBody";constructor(e={}){super(e),this.content(e.content||{})}description(e){return this.set("description",e),this}content(e){return this.set("content",L(e)),this}addContent(e,t,r){const n=this.get("content"),s=new C;return s.set("schema",t),r&&s.set("examples",r),n.set(e,s),this}required(e){return this.set("required",e),this}}function Re(e,{consumes:t,...r}){const{schema:n,examples:s,in:o,...i}=function(e,t){let r=new T;const n={},s=[];let o=0;return e.forEach((e=>{const i=e.getName();[...e.entries()].filter((([e])=>!["in","name"].includes(e))).forEach((([e,t])=>{void 0===n[e]&&(n[e]=t)}));const a=h("operationInParameter",e,t);i?(r.addProperty(i,a.schema||{type:a.type}),e.get("required")&&r.addRequired(i),o++):s.push(a)})),o||1!==s.length?(r.type("object"),{schema:r.toJSON(t),required:!1,...n}):s[0]}(e,r),a=new Te(i);return t.forEach((e=>{a.addContent(e,n,s)})),h("map",a,r)}function Ae(e,t={}){const r=h("map",e,t);return 204===e.status&&delete r.content,r.headers&&Object.entries(r.headers).forEach((([e,{type:t,...n}])=>{r.headers[e]={...n,schema:{type:t}}})),r}function we(e){return e.split("/").filter(Boolean).join("/")}function Pe(e,t){return e.map((e=>t.parameters.find((t=>t.in===e.in&&t.name===e.name))||e)).concat(...t.parameters.filter((e=>"path"!==e.in)))}function Ce(e,t=""){t instanceof RegExp&&(t=t.toString().replace(/^\//g,"").replace(/\/$/g,"").replace(/\\/g,""));const r=[],n=[];let s=!1,o="";return function(e){let t=0;return e.split("").filter((e=>{"("===e&&t++;const r=0===t;return")"===e&&t--,r})).join("").split("/").filter((e=>!!e))}(`${e}${t}`).map((e=>{const t=e.replace(":","").replace("?","");if(e.includes(":")){const i=e.includes("?");i&&!s&&(s=!0,n.push({path:o,parameters:[].concat(r)}));const{prefix:a,name:c,postfix:u}=function(e){const[t,r]=e.split("="),n=(r||t).split(".");return{prefix:r&&t?`${t}=`:"",name:n.splice(0,1)[0],postfix:n.length?`.${n.join(".")}`:""}}(t);o+=`/${a}{${c}}${u}`,r.push({in:"path",name:c,type:"string",required:!0}),i&&s&&n.push({path:o,parameters:[].concat(r)})}else o+=`/${e}`})),n.length?n:[{path:o,parameters:[].concat(r)}]}u("operationRequestBody",Re),u("operationResponse",Ae);const _e=["all","checkout","connect","copy","delete","get","head","lock","merge","mkactivity","mkcol","move","m-search","notify","options","param","patch","post","propfind","propatch","purge","put","report","search","subscribe","trace","unlock","unsuscribe"];var Me;!function(e){e.ALL="ALL",e.GET="GET",e.POST="POST",e.PUT="PUT",e.PATCH="PATCH",e.HEAD="HEAD",e.DELETE="DELETE",e.OPTIONS="OPTIONS",e.CUSTOM="CUSTOM"}(Me||(Me={}));class xe extends Map{$kind="operationPaths";$isJsonDocument=!0;setOperationPath(e){if(e.method!==Me.CUSTOM){const t=this.getKey(e.method,e.path);this.set(t,e)}}getKey=(e,t)=>`${e}-${t}`}function ke(e){const t=e.isStore?e:K(e);if(!t.$operations){const e=new xe;t.$operations=new Map,ne(t).forEach((e=>{e.children.forEach((e=>{e instanceof q&&!t.$operations.has(e.propertyKey)&&t.$operations.set(e.propertyKey,e)}))})),t.$operations.forEach((t=>{t.operation.operationPaths.forEach((t=>{e.setOperationPath(t)}))})),e.clear()}return t.$operations}function $e(e,{store:t,operationIdFormatter:r}){return r(t.parent.schema.get("name")||t.parent.targetName,t.propertyName,e)}function De(e,{path:t,method:r,operation:n}){return{...e,[t]:{...e[t],[r.toLowerCase()]:n}}}function Ne(e){return!e.store.get("hidden")}function je({operationStore:e,operation:t}){return[...e.operation.operationPaths.values()].map((r=>({...r,operationStore:e,operation:t}))).filter((({method:e})=>e))}function Ie(e,{paths:t,rootPath:r,...n}){const s=we(r+K(e).path);return n={...n,ctrlRootPath:s},[...ke(e).values()].filter(Ne).map(function(e){return t=>({operation:h("operation",t.operation,e),operationStore:t})}(n)).flatMap(je).flatMap(function(e){return({path:t,method:r,operation:n,operationStore:s})=>Ce(e.ctrlRootPath,t).map((({path:t,parameters:o})=>(t=t||"/",o=Pe(o.map((({type:e,...t})=>({...t,schema:{type:e}}))),n),{operation:{...n,parameters:o,operationId:n.operationId||$e(t,{...e,store:s})},method:r,path:t})))}(n)).reduce(De,t)}function Le(e,t,r){return e.isClass?h("class",e,t):h("any",e,{...t,genericLabels:r.genericLabels})}function He(e,t){return Object.entries(e).reduce(((e,[r,n])=>(e[r=t.get(r)||r]=n,e)),{})}function Ge(e,t,r){return!1!==r.groups?t?.$hooks?.alter("requiredGroups",e,[r.groups]):e}function Ue(t,r,n){if(n.groups&&n.groups.includes("partial"))return t.discriminator?{...t,required:[t.discriminator.propertyName]}:t;let s=function(t,r,n){let s=t.required||[];return s=[...s,...r.$required],r.get("properties")&&(s=Object.entries(r.get("properties")).reduce(((e,[t,r])=>r&&void 0!==r.$selfRequired?r.$selfRequired?e.concat(t):e.filter((e=>e===t)):e),s)),Ge((0,e.uniq)(s),r,n)}(t,r,n);return s=(0,e.uniq)(s).reduce(function(e,t,r={}){const{useAlias:n}=r,s=Object.keys(e.properties||{});return(r,o)=>{const i=n&&t.alias.get(o)||o;if(s.includes(i)){const n=t.get("properties")[o],s=e.properties[i];return e.properties[i]=function(e,t){if(!t?.$allow.includes("")&&[].concat(t?.get("type")).includes("string")){const t=e?.minLength;if(void 0===t)return{...e,minLength:1}}return e}(s,n),r.concat(i)}return r}}(t,r,n),[]),t.discriminator&&s.push(t.discriminator.propertyName),s.length?{...t,required:s}:t}function qe(e,t,r){return e.oneOf&&!1!==r.groups&&(e={...e,oneOf:t.$hooks.alter("oneOf",e.oneOf,[r.groups])}),!(e.oneOf||e.allOf||e.anyOf)||e.items||e.properties||delete e.type,e}function Fe(e,t,r){return r.inlineEnums&&e.enum?.$isJsonDocument&&(e.enum=e.enum.toJSON().enum),e.enum&&(e.type="object"===e.type||void 0===e.type?"string":e.type),e}u("paths",Ie),u("properties",Le),u("items",Le),u("additionalProperties",Le),u("propertyNames",Le),u("contains",Le),u("dependencies",Le),u("patternProperties",Le),u("additionalItems",Le),u("not",Le),u("definitions",Le);const Ke=["name","$required","$hooks","_nestedGenerics",z.OPENAPI,z.SWAGGER,z.JSON],Be=["const"];function Je(t,r){const{options:n,addDef:s}=function(e){let t=!1;e||(t=!0,e={schemas:{},inlineEnums:!0});const{useAlias:r=!0,schemas:n={}}=e;return{addDef:t,options:e={...e,useAlias:r,schemas:n}}}(r),o=function(t,r){let n=function(t,r){const{useAlias:n}=r;return[...t.keys()].filter((e=>!function(e,{specType:t=z.JSON,customKeys:r=!1}){return Ke.includes(e)||e.startsWith("#")&&(!1===r||t!==z.JSON)||t!==z.JSON&&Be.includes(e)}(e,r))).reduce(((s,o)=>{let i=t.get(o);if("type"===(o=o.replace(/^#/,"")))return{...s,[o]:t.getJsonType()};if(function(t,r,n){return"examples"===t&&(0,e.isObject)(r)&&z.OPENAPI===n.specType}(o,i,r)&&(o="example",i=Object.values(i)[0]),i&&"object"==typeof i&&l(o)){if(i=h(o,i,r,t),function(e,t){return"object"==typeof t&&["items","properties","additionalProperties"].includes(e)&&0===Object.keys(t).length}(o,i))return s;(function(e,t,r){return"object"==typeof t&&r&&["properties","additionalProperties"].includes(e)})(o,i,n)&&(i=He(i,t.alias))}return{...s,[o]:i}}),{})}(t,r);return t.isClass&&(n=h("inheritedClass",n,{...r,root:!1,target:t.getComputedType()})),n=h("generics",n,{...r,root:!1}),t.has(r.specType)&&(n={...n,...t.get(r.specType).toJSON(r)}),n=Ue(n,t,r),n=ue(n,t,r),n=qe(n,t,r),n=Fe(n,0,r),n}(t,n);return s&&n.schemas&&Object.keys(n.schemas).length&&(o.definitions=n.schemas),o}function Ve(e){return(...t)=>{const r=e(K(...t),t);"function"==typeof r&&r(...t)}}function We(...t){return Ve((r=>{r.store.set("childrenControllers",t),t.forEach((t=>{e.Store.from(t).set("parentController",r.token)}))}))}function ze(e,...t){return Ve((r=>{e=e||(0,X.snakeCase)(r.targetName),r.discriminatorAncestor&&r.schema.discriminatorValue(e,...t)}))}function Xe(e,t){if(!e)throw new Error("A type is required on `@CollectionOf(type)` decorator. Please give a type or wrap it inside an arrow function if you have a circular reference.");const n={};let s=!1;const o=(...o)=>{const i=r.from(...o);t&&(i.collectionType=t,i.schema.type(t)),i.type=e,i.itemSchema.type(e),i.schema.assign(n),i.isArray&&s&&(i.schema.set("contains",i.schema.get("items")),i.schema.delete("items"))};return o.MinItems=e=>(n.minItems=e,o),o.MaxItems=e=>(n.maxItems=e,o),o.MinProperties=e=>(n.minProperties=e,o),o.MaxProperties=e=>(n.maxProperties=e,o),o.Contains=()=>(s=!0,o),o.UniqueItems=(e=!0)=>(n.uniqueItems=e,o),o}function Qe(e){return Xe(e,Array)}function Ye(e){return Xe(e,Map)}function Ze(e){return Xe(e).Contains()}function et(e){return Ve((t=>{const r=t.parentSchema.get("#errorMessage")||{};t.parentSchema.customKey("errorMessage",{...r,...e})}))}function tt(t,r){const n={};return(...s)=>{const o=(0,e.useDecorators)(r(...s));return o.Error=r=>(n.message=r,(0,e.useDecorators)(o,n.message&&et({[t]:r}))),o}}u("schema",Je);const rt=tt("maxItems",(e=>{if(e<0)throw new Error("The value of maxItems MUST be a non-negative integer.");return Ve((t=>{t.schema.maxItems(e)}))})),nt=tt("maxProperties",(e=>{if(e<0)throw new Error("The value of maxProperties MUST be a non-negative integer.");return Ve((t=>{t.isCollection?t.schema.maxProperties(e):t.itemSchema.maxProperties(e)}))})),st=tt("minItems",(e=>{if(e<0)throw new Error("The value of minItems MUST be a non-negative integer.");return Ve((t=>{t.schema.minItems(e)}))})),ot=tt("minProperties",(e=>{if(e<0)throw new Error("The value of minProperties MUST be a non-negative integer.");return Ve((t=>{t.isCollection?t.schema.minProperties(e):t.itemSchema.minProperties(e)}))})),it=tt("uniqueItems",((e=!0)=>Ve((t=>{t.schema.uniqueItems(e)}))));function at(e){return Ve(((t,r)=>{t.itemSchema.additionalProperties(e)}))}function ct(...e){return Ve((t=>{t.itemSchema.allOf(e)}))}function ut(t){return Ve((r=>{t&&(((0,e.isClass)(t)||(0,e.isArrowFn)(t))&&(r.type=t),r.itemSchema.type(t))}))}function pt(...t){const r=t.find((t=>(0,e.isClass)(t)));return(0,e.useDecorators)(r&&ut(r),Ve(((r,n)=>{r.schema.allow(...t),r.decoratorType===e.DecoratorTypes.PARAM&&(r.required=!0),r.decoratorType===e.DecoratorTypes.PROP&&r.parentSchema.addRequired(r.propertyName)})))}function ht(...e){return Ve((t=>{t.itemSchema.any(...e)}))}function lt(...e){return Ve((t=>{t.itemSchema.anyOf(e)}))}function ft(e){return Ve((t=>{t.itemSchema.const(e)}))}function dt(e,t){return Ve((r=>{r.itemSchema.customKey(e,t)}))}function mt(e){return Ve((t=>{Object.entries(e).forEach((([e,r])=>{t.itemSchema.customKey(e,r)}))}))}function yt(e){return Ve((t=>{t.itemSchema.default(e)}))}function gt(t){return(0,e.useDecorators)(et({_:t}))}function Ot(t){return Ve(((r,n)=>{switch((0,e.decoratorTypeOf)(n)){case e.DecoratorTypes.PROP:case e.DecoratorTypes.CLASS:r.schema.description(t);break;case e.DecoratorTypes.PARAM:r.parameter.description(t);break;case e.DecoratorTypes.METHOD:r.operation?.description(t)}}))}function bt(){return(0,e.useDecorators)(ut(),Ve((e=>{e.discriminatorKey()})))}const vt=tt("enum",(function(e,...t){return Ve((r=>{r.itemSchema.enum(e,...t)}))}));function St(...e){return Ve((t=>{t.schema.examples(e)}))}function Et(e){return Ve((t=>{t.parameter.examples(e)}))}const Tt=tt("maximum",((e,t=!1)=>Ve((r=>{t?r.itemSchema.exclusiveMaximum(e):r.itemSchema.maximum(e)})))),Rt=Tt,At=tt("exclusiveMaximum",((e,t=!0)=>Tt(e,t))),wt=tt("minimum",((e,t=!1)=>Ve((r=>{t?r.itemSchema.exclusiveMinimum(e):r.itemSchema.minimum(e)})))),Pt=wt,Ct=tt("exclusiveMinimum",((e,t=!0)=>wt(e,t)));var _t;!function(e){e.DATE_TIME="date-time",e.DATE="date",e.TIME="time",e.EMAIL="email",e.HOSTNAME="hostname",e.IPV4="ipv4",e.IPV6="ipv6",e.URI="uri",e.URL="url",e.URI_REF="uri-reference",e.URI_TEMPLATE="uri-template",e.JSON_POINTER="json-pointer",e.RELATIVE_JSON_POINTER="relative-json-pointer",e.UUID="uuid",e.REGEX="regex"}(_t||(_t={}));const Mt=tt("format",(e=>Ve((t=>{t.itemSchema.format(e)})))),xt=tt("format",(()=>Mt(_t.EMAIL))),kt=tt("format",(()=>Mt(_t.DATE_TIME))),$t=tt("format",(()=>Mt(_t.DATE))),Dt=tt("format",(()=>Mt(_t.TIME))),Nt=tt("format",(()=>Mt(_t.URI))),jt=tt("format",(()=>Mt(_t.URL)));function It(e=!0){return Ve((t=>{t.schema.$forwardGroups=e}))}var Lt=s(133),Ht=s.n(Lt);function Gt(e,t){t=[].concat(t),e=[].concat(e);let r=new Set,n=new Set,s=new Set,o=0,i=e=>{s.add(e.output)};for(let s=0;s<t.length;s++){let a=Ht()(String(t[s]),{onResult:i},!0),c=a.state.negated||a.state.negatedExtglob;c&&o++;for(let t of e){let e=a(t,!0);(c?!e.isMatch:e.isMatch)&&(c?r.add(e.output):(r.delete(e.output),n.add(e.output)))}}return!!(o===t.length?[...s]:[...n]).filter((e=>!r.has(e))).length}function Ut(e,t=[]){const r=e.filter((e=>e.startsWith("!"))).map((e=>e.replace("!",""))),n=e.filter((e=>!e.startsWith("!")));return!!(r.length&&t.length&&Gt(r,t))||!!n.length&&!Gt(e.filter((e=>!e.startsWith("!"))),t)}function qt(...t){return Ve((r=>{switch(r.decoratorType){case e.DecoratorTypes.CLASS:!function(e,t){const r=Object.entries(e[0]);t.children.forEach((e=>{qt(...r.filter((([,t])=>t.includes(e.propertyName))).map((([e])=>e)))(e.target,e.propertyKey)}))}(t,r);break;case e.DecoratorTypes.PROP:r.schema.$hooks.on("groups",((e,r)=>!(e||!Ut(t,r))||e));break;case e.DecoratorTypes.PARAM:let n="";2==t.length&&(0,e.isArray)(t[1])&&(n=t[0],t=t[1]),r.parameter.groups=t,r.parameter.groupsName=n}}))}function Ft(){return(0,e.StoreSet)("hidden",!0)}function Kt(e=!0){return Ve((t=>{t.schema.ignore(e)}))}function Bt(){return Ve((e=>{e.itemSchema.type("integer")}))}const Jt=tt("maxLength",(e=>{if(e<0)throw new Error("The value of maxLength MUST be a non-negative integer.");return Ve((t=>{t.itemSchema.maxLength(e)}))})),Vt=tt("minLength",(e=>{if(e<0)throw new Error("The value of minLength MUST be a non-negative integer.");return Ve((t=>{t.itemSchema.minLength(e)}))})),Wt=tt("multipleOf",(e=>{if(e<=0)throw new Error("The value of multipleOf MUST be a number, strictly greater than 0.");return Ve((t=>{t.itemSchema.multipleOf(e)}))}));function zt(t){return Ve(((r,n)=>{switch((0,e.decoratorTypeOf)(n)){case e.DecoratorTypes.CLASS:r.schema.name(t);break;case e.DecoratorTypes.PARAM:r.parameter.name(t);break;default:r.parent.schema.addAlias(n[1],t)}}))}function Xt(t,...r){return r=[t,...r],(0,e.useDecorators)(1===r.length&&ut(r[0]),ht(null,...r))}function Qt(...e){return Ve((t=>{t.itemSchema.oneOf(e),t.type=Object}))}function Yt(){return Ve((t=>{switch(t.decoratorType){case e.DecoratorTypes.PARAM:t.required=!1;break;case e.DecoratorTypes.PROP:t.parentSchema.removeRequired(t.propertyName)}}))}const Zt=tt("pattern",(e=>Ve((t=>{t.itemSchema.pattern(e)}))));function er(e=!0){return Ve((t=>{t.itemSchema.readOnly(e)}))}function tr(e){return Ve((t=>{Object.entries(e).forEach((([e,r])=>{t.schema.set(e,r)}))}))}function rr(e,t){return Ve((r=>{r.schema.set(e,t)}))}function nr(e,...t){return tr({properties:{...t.reduce(((t,r)=>({...t,[r]:e})),{})}})}const sr=tt("required",((e=!0,...t)=>e?pt(...t):Yt()));function or(...e){return Ve((t=>{t.parent.schema.$hooks.on("requiredGroups",((r,n)=>Ut(e,n)?r.filter((e=>e!==t.propertyKey)):r))}))}function ir(e){return Ve((t=>{t.schema.title(e)}))}function ar(t){return Ve((()=>(0,e.useDecorators)(et({type:t}))))}function cr(e=!0){return Ve((t=>{t.itemSchema.writeOnly(e)}))}function ur(t=Object){if((0,e.isClass)(t)){const{schema:e}=K(t);return e.properties=function(e){return Object.entries(e).forEach((([e,r])=>{K(t.prototype,e).schema.assign(r)})),this},e}return T.from({type:t})}function pr(){return ur(Number)}function hr(){return ur(Number).integer()}function lr(){return ur(String)}function fr(){return ur(Boolean)}function dr(){return ur(Date).format(_t.DATE)}function mr(){return ur(Date).format(_t.DATE_TIME)}function yr(){return ur(Date).format(_t.TIME)}function gr(){return ur(String).format(_t.EMAIL)}function Or(){return ur(String).format(_t.URI)}function br(){return ur(String).format(_t.URL)}function vr(){return ur(Array)}function Sr(){return ur(Map).unknown(!0)}function Er(){return ur(Array).uniqueItems(!0)}function Tr(e={}){return ur(Object).properties(e)}function Rr(...e){return ur().any(...e)}function Ar(...e){return ur().anyOf(e)}function wr(...e){return ur().oneOf(e)}function Pr(...e){return ur().allOf(e)}function Cr(e){try{if(e())return r.from(e()).schema}catch(e){}return new B(e)}function _r(e){const t=lr().enum(e);return a.set(e,t),t}function Mr(...t){const n=[t.map((t=>function(t){return(0,e.isObject)(t)&&!("toJSON"in t)}(t)?lr().enum(Object.values(t)):t))],s=(...e)=>{r.from(...e).nestedGenerics=n};return s.Nested=(...e)=>(n.push(e),s),s}function xr(...e){return t=>{r.from(t).schema.genericLabels=e}}function kr(...t){return Ve(((r,n)=>{switch(r.decoratorType){case e.DecoratorTypes.METHOD:r.operation.produces(t);break;case e.DecoratorTypes.CLASS:(0,e.decorateMethodsOf)(n[0],kr(...t));break;default:throw new e.UnsupportedDecoratorType(kr,n)}}))}function $r(...t){return(0,e.useDecorators)(kr(...t),(0,e.StoreSet)("acceptMimes",t))}function Dr(...t){return Ve(((r,n)=>{switch(r.decoratorType){case e.DecoratorTypes.METHOD:r.operation.consumes(t);break;case e.DecoratorTypes.CLASS:(0,e.decorateMethodsOf)(n[0],Dr(...t));break;default:throw new e.UnsupportedDecoratorType(Dr,n)}}))}class Nr extends Map{methods;decoratorType;entity;actions=[];constructor(e={}){super(),Object.entries(e).forEach((([e,t])=>{this.set(e,t)}))}addAction(e){return this.actions.push(e),this}build(){const e=(...t)=>this.bind(t,e),t=t=>{return r=(...e)=>{t in this?this[t](...e):this.set(t,e[0])},(...t)=>(r(...t),e);var r};return this.methods.forEach((r=>{e[(0,X.pascalCase)(r)]=t(r)})),e}toObject(){return[...this.entries()].reduce(((e,[t,r])=>({...e,[t]:r})),{})}getMergedKey(t,r){let n=this.get(t)||r;if(n)return this.decoratorType===e.DecoratorTypes.CLASS&&(n={...n,...r||{}}),{...r||{},...n}}bind(e,t){this.entity=r.from(...e),this.beforeInit(),this.onInit(e,t),this.afterInit()}onInit(e,t){this.forEach(((e,t)=>{this.onMapKey(t,e)}))}onMapKey(e,t){this.entity.set(e,t)}runActions(){return this.actions.forEach((e=>{e(this)})),this}beforeInit(){}afterInit(){}}const jr=new Map;function Ir(e,t){jr.set(e,t)}function Lr(e){return jr.get(e)}function Hr(t){return t.map((t=>function(t){return(0,e.isObject)(t)&&!("toJSON"in t)}(t)?lr().enum(Object.values(t)):t))}class Gr extends Nr{methods=["contentType","description","examples","type","status","of","ofInteger","oneOf","allOf","anyOf","nested","header","headers","schema","title","groups","allowedGroups","location"];constructor({status:e,model:t}){super(),this.model(t),this.status(e)}type(e){return this.model(e)}model(e){return e&&this.set("model",e),this}status(e){return this.set("status",e),e&&ve(e)&&!this.get("description")&&(this.set("description",ve(e)),this.get("model")||this.model(Lr(+e))),this}headers(e){return this.set("headers",{...this.get("headers")||{},...I(e)}),this}header(e,t){return this.headers({[e]:t})}location(e,t={}){return this.headers({Location:{...t,value:e}}),this}groups(...t){return 2===t.length&&(0,e.isArray)(t[1])?(this.set("groupsName",t[0]),this.set("groups",t[1])):this.set("groups",t),this}allowedGroups(...e){return this.set("allowedGroups",new Set(e)),this}nested(...e){const t=this.get("model");return this.checkPrimitive(t),this.checkCollection(t),this.addAction((t=>{this.get("schema").nestedGenerics.push(Hr(e))})),this}of(...t){const r=this.get("model");return this.checkPrimitive(r),this.addAction((()=>{const n=this.get("schema");(0,e.isCollection)(r)?n?.itemSchema({type:t[0]}):n?.nestedGenerics.push(Hr(t))})),this}ofInteger(){return this.of("integer")}oneOf(...e){return this.manyOf("oneOf",e)}allOf(...e){return this.manyOf("allOf",e)}anyOf(...e){return this.manyOf("anyOf",e)}schema(e){return this.addAction((()=>{this.get("schema").assign(e)})),this}examples(t){return this.set("examples",(0,e.isString)(t)?[t]:t),this}title(e){return this.schema({title:e})}checkPrimitive(t){if((0,e.isPrimitiveOrPrimitiveClass)(t))throw new Error("Returns.Of cannot be used with the following primitive classes: String, Number, Boolean")}checkCollection(t){if((0,e.isCollection)(t))throw new Error("Returns.Nested cannot be used with the following classes: Map, Set, Array, String, Number, Boolean")}getContentType(){const t=this.get("model");let r=this.get("contentType");return!t||(0,e.isPlainObject)(t)||(0,e.isPrimitiveOrPrimitiveClass)(t)||(r=r||"application/json"),r}getStatus(){return this.get("status")||"default"}onInit(t,n){switch((0,e.decoratorTypeOf)(t)){case e.DecoratorTypes.METHOD:this.entity=r.from(...t),this.entity.operation&&this.map();break;case e.DecoratorTypes.CLASS:this.decoratorType=e.DecoratorTypes.CLASS,(0,e.decorateMethodsOf)(t[0],n)}}map(){const t=this.get("model"),{entity:r,decoratorType:n}=this,s=this.entity.operation,o=this.getStatus(),i=s.ensureResponseOf(o),a=this.getContentType();let{description:c=i.get("description")}=this.toObject();c&&(c=n===e.DecoratorTypes.CLASS&&i.get("description")||c,i.description(c));const u=this.getMergedKey("headers",i.get("headers"));return u&&i.headers(u),this.mapMedia(i),(N(this.get("status"))||"default"===o)&&t&&(r.type=t),a&&s.addProduce(a),this.runActions()}mapMedia(t){const r=this.getContentType(),n=this.get("model"),s=t.getMedia(r||"*/*"),o=s.get("schema")||new T({type:n}),i=this.get("groups"),a=this.get("groupsName"),c=this.get("allowedGroups"),u=this.entity.operation;if(n&&((0,e.isArray)(n)?o.oneOf(n.map((e=>({type:e})))):o.type(n)),this.set("schema",o),s.schema(o),s.groups=i,s.groupsName=a,c){s.allowedGroups=c;const e=new k;e.in("query").name("includes"),e.schema(T.from({type:"array",items:{type:"string",enum:[...c]}})),u.addParameter(-1,e)}const p=this.get("examples");return p&&s.examples(p),s}manyOf(t,r){const n=this.get("model");return this.addAction((()=>{const s=this.get("schema");(0,e.isCollection)(n)?(s.type(n||Object),s.itemSchema().set(t,r)):s.set(t,r)})),this}}function Ur(e,t){return new Gr({status:e,model:t}).build()}function qr(e){return Ur().ContentType(e)}function Fr(t=!0){return Ve(((r,n)=>{switch((0,e.decoratorTypeOf)(n)){case e.DecoratorTypes.METHOD:r.operation.deprecated(t);break;case e.DecoratorTypes.CLASS:(0,e.decorateMethodsOf)(n[0],Fr(t));break;case e.DecoratorTypes.PARAM:r.parameter.set("deprecated",t);break;case e.DecoratorTypes.PROP:r.schema.set("deprecated",t);break;default:throw new e.UnsupportedDecoratorType(Fr,n)}}))}function Kr(e,t){return void 0!==t&&(e={[e]:t}),Ur().Headers(e)}function Br(t){const n=new k,s={},o=(i,a,c)=>{const u=r.from(i,a,c);switch(u.decoratorType){case e.DecoratorTypes.PARAM:u.parameter.in(t);break;case e.DecoratorTypes.METHOD:n.in(t),u.operation.addParameter(-1,n),n.schema(T.from(s));break;case e.DecoratorTypes.CLASS:(0,e.decorateMethodsOf)(i,o);break;default:throw new e.UnsupportedDecoratorType(Br,[i,a,c])}};return o.Type=e=>(s.type=e,o),o.Name=e=>(n.name(e),o),o.Description=e=>(n.description(e),o),o.Required=(e=!0)=>(n.required(e),o),o.Pattern=e=>o.Schema({pattern:e.toString()}),o.Schema=e=>(Object.assign(s,e),o),o}function Jr(t){return(...r)=>{const[n,s,o]=r,i=e.Metadata.getParamTypes(n,s)[o]===Array,a=[t="object"==typeof t?void 0:t,!i&&"0"].filter(Boolean).join(".");(0,e.useDecorators)(Br(_.FILES),zt(a),(0,e.useMethodDecorators)(Ur(400).Description("<File too long | Too many parts | Too many files | Field name too long | Field value too long | Too many fields | Unexpected field> [fieldName] Example: File too long file1"),Dr("multipart/form-data")))(...r)}}function Vr(e,t){return Ur().Location(e,t)}function Wr(t){return Ve(((r,n)=>{if(r.decoratorType!==e.DecoratorTypes.METHOD)throw new e.UnsupportedDecoratorType(Wr,n);r.operation.operationId(t)}))}function zr(t,r="/"){return Ve(((n,s)=>{if(n.decoratorType!==e.DecoratorTypes.METHOD)throw new e.UnsupportedDecoratorType(zr,s);n.operation.addOperationPath(t.toUpperCase(),r)}))}function Xr(){return qt("partial")}function Qr(t){return Ve(((r,n)=>{if(r.decoratorType!==e.DecoratorTypes.CLASS)throw new e.UnsupportedDecoratorType(Qr,n);r.path=t}))}function Yr(...t){const{status:r,url:n,meta:s}=t.reduce(((t,r)=>(0,e.isNumber)(r)?(t.status=r,t):(0,e.isString)(r)?(t.url=r,t):(t.meta=r,t)),{status:302,url:"",meta:{}});return(0,e.useDecorators)(Ur(r).Location(n,s),Ve((e=>{e.operation?.setRedirection(r)})))}function Zr(e){let t,r;const n=e.filter((e=>"string"==typeof e&&_e.includes(e.toLowerCase())?(t=e.toLocaleUpperCase(),!1):"string"==typeof e||e instanceof RegExp?(r=e||"/",!1):!!e));return{path:r,method:t,use:n}}class en extends Nr{methods=["name","description","summary","method","id","use","useAfter","useBefore"];beforeInit(){const e=this.get("path"),t=Me[this.get("method")]||Me.CUSTOM;e&&this.entity.operation.addOperationPath(t,e)}onMapKey(e,t){switch(e){case"name":case"id":return void this.entity.operation.operationId(t);case"summary":return void this.entity.operation.summary(t);case"description":return void this.entity.operation.description(t);case"use":return void this.entity.use(t);case"useAfter":return void this.entity.after(t);case"useBefore":return void this.entity.before(t)}return super.onMapKey(e,t)}}function tn(...e){const t=Zr(e);return new en(t).build()}function rn(e="/",...t){return tn(...[Me.ALL,e].concat(t))}function nn(e="/",...t){return tn(...[Me.GET,e].concat(t))}function sn(e="/",...t){return tn(...[Me.POST,e].concat(t))}function on(e="/",...t){return tn(...[Me.PUT,e].concat(t))}function an(e="/",...t){return tn(...[Me.DELETE,e].concat(t))}function cn(e="/",...t){return tn(...[Me.HEAD,e].concat(t))}function un(e="/",...t){return tn(...[Me.PATCH,e].concat(t))}function pn(e="/",...t){return tn(...[Me.OPTIONS,e].concat(t))}function hn(t,...r){return Ve(((n,s)=>{switch(n.decoratorType){case e.DecoratorTypes.METHOD:n.operation.addSecurityScopes(t,r);break;case e.DecoratorTypes.CLASS:(0,e.decorateMethodsOf)(s[0],hn(t,...r));break;default:throw new e.UnsupportedDecoratorType(hn,s)}}))}function ln(e,t){return Ur(e,t)}function fn(t){return Ve(((r,n)=>{if(r.decoratorType!==e.DecoratorTypes.METHOD)throw new e.UnsupportedDecoratorType(fn,n);r.operation.summary(t)}))}function dn(...t){return Ve(((r,n)=>{switch(r.decoratorType){case e.DecoratorTypes.METHOD:r.operation.addTags(function(e){return e.map((e=>"string"==typeof e?{name:e}:e))}(t));break;case e.DecoratorTypes.CLASS:(0,e.decorateMethodsOf)(n[0],dn(...t));break;default:throw new e.UnsupportedDecoratorType(dn,n)}}))}function mn(t,r){return(0,e.StoreSet)("view",{path:t,options:r})}function yn(e,t){if(e instanceof RegExp||t instanceof RegExp){if(!e)return t;if(!t)return e;const r=e instanceof RegExp?e:new RegExp(e,"gi"),n=t instanceof RegExp?t:new RegExp(t,"gi");return new RegExp(r.source+n.source,(r.global?"g":"")+(r.ignoreCase?"i":"")+(r.multiline?"m":""))}e&&t&&e.endsWith("/")&&t.startsWith("/")&&(t=t.slice(1));const r=(e||"")+(t||"");return r.endsWith("/")&&r.length>1?r.slice(0,-1):r}class gn{token;endpoint;operationPath;basePath;paramsTypes;constructor(e){Object.assign(this,e),this.paramsTypes=this.endpoint.getParamTypes()}get url(){return this.fullPath}get path(){return this.operationPath?.path}get fullPath(){return yn(this.basePath,this.path)}get method(){return this.operationPath?.method||"USE"}get name(){return`${this.endpoint.targetName}.${this.methodClassName}()`}get className(){return this.endpoint.targetName}get methodClassName(){return this.propertyKey}get parameters(){return this.endpoint.parameters}get propertyKey(){return String(this.endpoint.propertyKey)}get propertyName(){return this.endpoint.propertyName}get store(){return this.endpoint.store}get operation(){return this.endpoint.operation}get operationId(){return this.operation.get("operationId")||this.endpoint.propertyKey}has(e){return this.paramsTypes[e]}}const On=(0,e.mergeReducerBuilder)(((e,t)=>e.type&&e.type===t.type||e.$ref&&e.$ref===t.$ref)),bn=(0,e.mergeReducerBuilder)(((e,t)=>e.in===t.in&&e.name===t.name)),vn=(0,e.mergeReducerBuilder)(((e,t)=>!!Object.keys(t).find((t=>!!e[t])))),Sn=(0,e.mergeReducerBuilder)(((e,t)=>e.name===t.name)),En={security:vn,parameters:bn,oneOf:On,anyOf:On,allOf:On,tags:Sn};function Tn(t,r){return(0,e.deepMerge)(t,r,{reducers:En,cleanUndefinedProps:!0})}function Rn(e=""){const t=new Map;return(r,n,s="")=>{const o=((t,r)=>{const n=(e||"%c.%m").replace(/%c/,t).replace(/%m/,r);return""===e?(0,X.camelCase)(n):n})(r,n),i=r+n;if(!t.has(i))return t.set(i,0),o;const a=s.match(/{(\w+)}/gi);if(a){const e=r+n+a[0];if(!t.has(e))return t.set(e,0),(0,X.camelCase)(`${o} By ${a}`)}const c=t.get(i)+1;return t.set(i,c),`${o}_${c}`}}const An=new Map;function wn(t,r={}){if(r={specType:z.OPENAPI,...r,tags:[],paths:{},schemas:{},operationIdFormatter:r.operationIdFormatter||Rn(r.operationIdPattern),root:!1},(0,e.isArray)(t)){let e={};return r={...r,append(t){e=Tn(e,t)}},t.forEach((({token:e,...t})=>{const n=wn(e,{...r,...t});r.append(n)})),e}return function(e,t,r){An.has(e)||An.set(e,new Map);const n=An.get(e),s=JSON.stringify(t);return n.has(s)||n.set(s,r()),n.get(s)}(t,r,(()=>function(t,r){const n=K(t),{rootPath:s="/"}=r,o=z.OPENAPI,i={paths:h("paths",t,r={...r,rootPath:s,defaultTags:[(0,e.cleanObject)({name:n.schema.getName(),description:n.schema.get("description")})],specType:o})};return i.tags=(0,e.uniqBy)(r.tags,"name"),Object.keys(r.schemas).length&&(i.components={schemas:r.schemas}),i}(t,r)))}function Pn(e){return e.startsWith("3.")?z.OPENAPI:z.SWAGGER}function Cn(e){return"openapi"in e?z.OPENAPI:z.SWAGGER}function _n(t){const{title:r,description:n,version:s,termsOfService:o,contact:i,license:a}=t;return(0,e.cleanObject)({version:s,title:r,description:n,termsOfService:o,contact:i,license:a})}function Mn(t,{version:r,specVersion:n,acceptMimes:s=["application/json"]}){const{paths:o,security:i,tags:a,host:c,basePath:u,schemes:p,consumes:h=[],produces:l=["application/json"],definitions:f,parameters:d,responses:m,securityDefinitions:y,externalDocs:g}=t;return{swagger:n,consumes:(0,e.uniq)([...s,...h]),produces:(0,e.uniq)([...l]),info:_n((0,e.getValue)(t,"info",{})),paths:o,host:c,basePath:u,schemes:p,definitions:f,parameters:d,responses:m,security:i,securityDefinitions:y,tags:a,externalDocs:g}}function xn(t,{specVersion:r}){const{servers:n,paths:s,components:o,security:i,tags:a,externalDocs:c}=t;return{openapi:r,info:_n((0,e.getValue)(t,"info",{})),servers:n,paths:s,components:o,security:i,tags:a,externalDocs:c}}function kn(t,{fileSpec:r,acceptMimes:n,specVersion:s,version:o}){const i={specVersion:s=s||(0,e.getValue)(t,"openapi",(0,e.getValue)(t,"swagger","2.0")),acceptMimes:n};switch(Pn(s)){case z.OPENAPI:t=xn(t,i),r=r?xn(r,i):r;break;default:case z.SWAGGER:t=Mn(t,i),r=r?Mn(r,i):r}return t=Tn(t,r),(0,e.setValue)(t,"info.title",(0,e.getValue)(t,"info.title","Api documentation")),(0,e.setValue)(t,"info.version",(0,e.getValue)(t,"info.version",o)),t}const $n=["get","put","post","delete","options","head","patch","trace"],Dn=["format","minimum","maximum","exclusiveMinimum","exclusiveMaximum","minLength","maxLength","multipleOf","minItems","maxItems","uniqueItems","minProperties","maxProperties","additionalProperties","pattern","enum","default"],Nn=["type","items"],jn=/^(application\/json|[^;\/ \t]+\/[^;\/ \t]+[+]json)[ \t]*(;.*)?$/,In={APPLICATION_X_WWW_URLENCODED:"application/x-www-form-urlencoded",MULTIPART_FORM_DATA:"multipart/form-data"};function Ln(e){if(Array.isArray(e))e.forEach(Ln);else if("object"==typeof e)for(let t in e)"$ref"===t?e.$ref=e.$ref.replace("#/components/schemas/","#/definitions/").replace("#/components/","#/x-components/"):Ln(e[t])}function Hn(e){return new RegExp(jn,"i").test(e)}function Gn(e){const t=Object.keys(In).map((e=>In[e]));return Object.keys(e).filter((e=>t.indexOf(e)>-1||Hn(e)))}function Un(e){function t(e){const{scheme:t,type:r,name:n,bearerFormat:s,flows:o,...i}=e;switch(r){case"http":if("basic"===t)return{...i,type:t};if("bearer"===t)return{...i,type:"apiKey",name:"Authorization",in:"header"};break;case"oauth2":const e=Object.keys(o)[0],n=o[e];let s=e;return"clientCredentials"===s?s="application":"authorizationCode"===s&&(s="accessCode"),{type:r,flow:s,authorizationUrl:n.authorizationUrl,tokenUrl:n.tokenUrl,scopes:n.scopes}}}return Object.entries(e).reduce(((e,[r,n])=>({...e,[r]:t(n)})),{})}function qn(e){let t=e.url;const r=e.variables||{};for(const e in r){const n=r[e]||{};if(n.default){const r=RegExp(`{${e}}`,"g");t=t.replace(r,n.default)}}const n=new URL(t);return{host:n.host?n.host:void 0,basePath:n.pathname,schemes:null!==n.protocol?[n.protocol.substring(0,n.protocol.length-1)]:void 0}}class Fn{spec;constructor(e){this.spec=JSON.parse(JSON.stringify(e))}convertInfos(){const e=this.spec.servers&&this.spec.servers[0];return e?qn(e):{}}resolveReference(e,t,r){if(!t||!t.$ref)return t;const n=t.$ref;if(n.startsWith("#")){const t=n.split("/").map((e=>e.replace(/~1/g,"/").replace(/~0/g,"~")));t.shift();let s=e;return t.forEach((e=>{s=s[e]})),r?JSON.parse(JSON.stringify(s)):s}}convert(){const t={swagger:"2.0",...this.convertInfos(),paths:this.spec.paths?this.convertOperations(this.spec.paths,this.spec):void 0};return this.spec.components&&(this.convertSchemas(),this.convertSecurityDefinitions(),this.spec["x-components"]=this.spec.components,delete this.spec.components,Ln(this.spec)),delete this.spec.servers,delete this.spec.openapi,delete this.spec["x-components"],(0,e.cleanObject)({...t,...this.spec})}convertOperations(e,t){return Object.entries(e).reduce(((e,[r,n])=>{const s=e[r]=this.resolveReference({...t,paths:e},n,!0);return this.convertParameters(s),Object.keys(s).forEach((r=>{if($n.indexOf(r)>=0){const n=s[r]=this.resolveReference({...t,paths:e},s[r],!0);this.convertOperationParameters(n),this.convertResponses(n)}})),e}),e)}convertOperationParameters(e){let t,r,n,s;if(e.parameters=e.parameters||[],e.requestBody){let o=this.resolveReference(this.spec,e.requestBody,!0);if(e.requestBody.content){const t=Gn(e.requestBody.content)[0],r={content:{}},n=e.requestBody.content[t];n&&n.schema&&n.schema.$ref&&!n.schema.$ref.startsWith("#")&&(o=this.resolveReference(this.spec,n.schema,!0),r.content[`${t}`]={schema:o},o=r)}if(o.name="body",t=o.content,t&&Object.keys(t).length){if(n=Object.keys(t).filter((e=>e.indexOf("/")>0)),s=n.filter((e=>e.indexOf("*")<0)),r=Gn(t)[0],delete o.content,[In.APPLICATION_X_WWW_URLENCODED,In.MULTIPART_FORM_DATA].includes(r))if(e.consumes=s,o.in="formData",o.schema=t[r].schema,o.schema=this.resolveReference(this.spec,o.schema,!0),"object"===o.schema.type&&o.schema.properties){const t=o.schema.required||[];Object.keys(o.schema.properties).forEach((r=>{const n=o.schema.properties[r];if(!n.readOnly){const s={name:r,in:"formData",schema:n};t.indexOf(r)>=0&&(s.required=!0),e.parameters?.push(s)}}))}else e.parameters.push(o);else r?(e.consumes=s,o.in="body",o.schema=t[r].schema,e.parameters.push(o)):n&&(e.consumes=s||["application/octet-stream"],o.in="body",o.name=o.name||"file",delete o.type,o.schema=t[n[0]].schema||{type:"string",format:"binary"},e.parameters.push(o));o.schema&&this.convertSchema(o.schema,"request")}delete e.requestBody}this.convertParameters(e)}convertParameters(e){void 0!==e.parameters&&(e.parameters=e.parameters||[],(e.parameters||[]).forEach(((t,r)=>{if("body"!==(t=e.parameters[r]=this.resolveReference(this.spec,t,!1)).in){if(this.copySchemaProperties(t,Dn),this.copySchemaProperties(t,Nn),this.copySchemaXProperties(t),!t.description){const e=this.resolveReference(this.spec,t.schema,!1);e&&e.description&&(t.description=e.description)}void 0!==t.example&&(t["x-example"]=t.example),delete t.schema,delete t.allowReserved,delete t.example}if("array"===t.type)switch(t.style||("query"===t.in||"cookie"===t.in?"form":"simple")){case"matrix":t.collectionFormat=t.explode?void 0:"csv";break;case"label":t.collectionFormat=void 0;break;case"simple":t.collectionFormat="csv";break;case"spaceDelimited":t.collectionFormat="ssv";break;case"pipeDelimited":t.collectionFormat="pipes";break;case"deepOpbject":t.collectionFormat="multi";break;case"form":t.collectionFormat=!1===t.explode?"csv":"multi"}delete t.style,delete t.explode})))}copySchemaProperties(e,t){let r=this.resolveReference(this.spec,e.schema,!0);r&&t.forEach((t=>{const n=r[t];"additionalProperties"===t&&"boolean"==typeof n||void 0!==n&&(e[t]=n)}))}copySchemaXProperties(e){let t=this.resolveReference(this.spec,e.schema,!0);t&&Object.keys(t).forEach((r=>{Reflect.hasOwnProperty.call(t,r)&&!Reflect.hasOwnProperty.call(e,r)&&r.startsWith("x-")&&(e[r]=t[r])}))}convertResponses(e){Object.keys(e.responses||{}).forEach((t=>{const r=e.responses[t]=this.resolveReference(this.spec,e.responses[t],!0);if(r.content){let t=null,n=null;if(Object.keys(r.content).forEach((s=>{const o=s.indexOf("*")<0?s:"application/octet-stream";e.produces?e.produces.indexOf(o)<0&&e.produces.push(o):e.produces=[o];const i=r.content[s];t=t||i.schema,!n&&Hn(o)&&(n=i.schema),i.example&&(r.examples=r.examples||{},r.examples[o]=i.example)})),t){r.schema=n||t;const e=this.resolveReference(this.spec,r.schema,!0);e&&r.schema.$ref&&!r.schema.$ref.startsWith("#")&&(r.schema=e),this.convertSchema(r.schema,"response")}}Object.keys(r.headers||{}).forEach((e=>{const t=this.resolveReference(this.spec,r.headers[e],!0);t.schema&&(t.type=t.schema.type,t.format=t.schema.format,delete t.schema),r.headers[e]=t})),delete r.content}))}convertSchema(e,t){if(e.oneOf&&(delete e.oneOf,e.discriminator&&delete e.discriminator),e.anyOf&&(delete e.anyOf,e.discriminator&&delete e.discriminator),e.allOf)for(const r in e.allOf)this.convertSchema(e.allOf[r],t);switch(e.discriminator&&(e.discriminator.mapping&&this.convertDiscriminatorMapping(e.discriminator.mapping),e.discriminator=e.discriminator.propertyName),e.type){case"object":e.properties&&Object.keys(e.properties).forEach((r=>{!0===e.properties[r].writeOnly&&"response"===t?delete e.properties[r]:(this.convertSchema(e.properties[r],t),delete e.properties[r].writeOnly)}));break;case"array":e.items&&this.convertSchema(e.items,t)}e.nullable&&(e["x-nullable"]=!0,delete e.nullable),void 0!==e.deprecated&&(void 0===e["x-deprecated"]&&(e["x-deprecated"]=e.deprecated),delete e.deprecated)}convertSchemas(){this.spec.definitions=this.spec.components.schemas,Object.keys(this.spec.definitions||{}).forEach((e=>{this.convertSchema(this.spec.definitions[e])})),delete this.spec.components.schemas}convertDiscriminatorMapping(e){Object.keys(e).forEach((t=>{const r=e[t];if("string"!=typeof r)return void console.warn(`Ignoring ${r} for ${t} in discriminator.mapping.`);let n;if(/^[a-zA-Z0-9._-]+$/.test(r))try{n=this.resolveReference(this.spec,{$ref:`#/components/schemas/${r}`},!1)}catch(e){console.debug(`Error resolving ${r} for ${t} as schema name in discriminator.mapping: ${e}`)}if(!n)try{n=this.resolveReference(this.spec,{$ref:r},!1)}catch(e){console.debug(`Error resolving ${r} for ${t} in discriminator.mapping: ${e}`)}n?(n["x-discriminator-value"]=t,n["x-ms-discriminator-value"]=t):console.warn(`Unable to resolve ${r} for ${t} in discriminator.mapping.`)}))}convertSecurityDefinitions(){this.spec.components.securitySchemes&&(this.spec.securityDefinitions=Un(this.spec.components.securitySchemes),delete this.spec.components.securitySchemes)}}function Kn(e){return new Fn(e).convert()}async function Bn({tokens:t,...r}){const{version:n="1.0.0",acceptMimes:s,specPath:o,specVersion:i}=r,a=kn((0,e.getValue)(r,"spec",{}),{fileSpec:{},version:n,specVersion:i,acceptMimes:s}),c=Cn(a),u=Tn(a,wn(t,r));return c===z.SWAGGER?Kn(u):u}const Jn="$cache:schemes";function Vn(e,t={}){const r=K(e),n=t.specType||z.JSON;return t={endpoint:!0,groups:[],inlineEnums:n===z.JSON,...t,specType:n,schemas:{}},"parameter"===r.decoratorType&&(t={...t,genericTypes:r.nestedGenerics[0],nestedGenerics:r.nestedGenerics,groups:r.parameter?.groups}),function(e,t){const r=e.store.get(Jn)||new Map,n=function(e){return JSON.stringify(e)}(t);if(!r.has(n)){const s=h("schema",e.schema,t);Object.keys(t.schemas).length&&(s.definitions=t.schemas),r.set(n,s)}return e.store.set(Jn,r),r.get(n)}(r,t)}function Wn(e,t={}){const r=e.isStore?e:K(e),n=yn(t.basePath,r.path);let s=[];return t.withChildren&&(s=r.get("childrenControllers",[]).reduce(((e,r)=>e.concat(Wn(r,{...t,basePath:n}))),s)),[...ke(e).values()].reduce(((t,r)=>{const{operation:s}=r;return s&&s.operationPaths.forEach((s=>{t.push(new gn({basePath:n,token:e,endpoint:r,operationPath:s}))})),t}),s)}function zn(e){const t=e.isStore?e:K(e);if(!t.$properties){const e=ne(t);t.$properties=new Map,e.forEach((e=>{e.children.forEach((e=>{t.$properties.has(e.propertyKey)||t.$properties.set(e.propertyKey,e)}))}))}return t.$properties}function Xn(e,t={}){const r=zn(e),n=new Map;return r.forEach(((e,r)=>{!t.withIgnoredProps&&ce(e.itemSchema,t)||n.set(r,e)})),n}})(),o})(),e.exports=n(r(886),r(683))}},t={};function r(n){var s=t[n];if(void 0!==s)return s.exports;var o=t[n]={exports:{}};return e[n](o,o.exports,r),o.exports}r.d=(e,t)=>{for(var n in t)r.o(t,n)&&!r.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},r.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),r.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var n={};return(()=>{"use strict";r.r(n),r.d(n,{Configuration:()=>l,Constant:()=>f,Container:()=>j,Controller:()=>T,ControllerProvider:()=>I,DIConfiguration:()=>F,DI_PARAMS:()=>t,DI_PARAM_OPTIONS:()=>s,GlobalProviderRegistry:()=>O,GlobalProviders:()=>b,INJECTABLE_PROP:()=>e,Inject:()=>h,Injectable:()=>R,InjectablePropertyType:()=>o,InjectionError:()=>U,InjectorService:()=>X,Intercept:()=>A,Interceptor:()=>w,InvalidPropertyTokenError:()=>a,LOGGER:()=>Q,LazyInject:()=>P,LocalsContainer:()=>L,Module:()=>_,OptionalLazyInject:()=>C,Opts:()=>x,OverrideProvider:()=>k,Provider:()=>g,ProviderScope:()=>d,ProviderType:()=>m,Scope:()=>M,Service:()=>$,UndefinedTokenError:()=>q,UseOpts:()=>D,Value:()=>N,colors:()=>G,createContainer:()=>K,getConfiguration:()=>Z,getConstructorDependencies:()=>c,getTokens:()=>J,injectProperty:()=>p,mergeMount:()=>Y,registerController:()=>E,registerProvider:()=>v,registerValue:()=>S,resolveControllers:()=>W,setConstructorDependencies:()=>u});const e="DI:INJECTABLE_PROP",t="DI:PARAMS",s="DI:PARAM:OPTIONS";var o,i=r(886);class a extends Error{name="INVALID_TOKEN_ERROR";constructor(e,t){super(`Object isn't a valid token. Please check the token set on ${(0,i.nameOf)((0,i.classOf)(e))}.${t}.\n- Check that it is not a circular reference.\n- Check that the token (class or symbol) exists`)}}function c(e,t){return i.Metadata.getOwn("override:ctor:design:paramtypes",e,t)||[...i.Metadata.getParamTypes(e,t)]||[]}function u(e,t){i.Metadata.set("override:ctor:design:paramtypes",t,e)}function p(t,r,n){i.Store.from(t).merge(e,{[r]:{bindingType:i.DecoratorTypes.PROP,propertyKey:r,...n}})}function h(e,t=(e=>e)){return(r,n,o)=>{switch((0,i.decoratorTypeOf)([r,n,o])){case i.DecoratorTypes.PARAM_CTOR:if(e){const t=c(r,n),s=t[o];t[o]=s===Array?[e]:e,i.Metadata.setParamTypes(r,n,t),u(r,t)}break;case i.DecoratorTypes.PROP:const l=e||i.Metadata.getType(r,n);if(l===Object)throw new a(r,String(n));p(r,String(n),{resolver(o,a,{options:c,...u}){const p=i.Metadata.getType(r,n);if(a.set(s,{...c}),p===Array){let r;return r||(r=o.getMany(e,a,u),a.delete(s)),r.forEach(((e,t)=>{(0,i.isPromise)(r)&&e.then((e=>{r[t]=e}))})),()=>t(r)}let h;return h||(h=o.invoke(l,a,u),a.delete(s)),(0,i.isPromise)(h)&&h.then((e=>{h=e})),()=>t(h)}});break;default:throw new i.UnsupportedDecoratorType(h,[r,n,o])}}}function l(e={}){return(...t)=>{switch((0,i.decoratorTypeOf)(t)){case i.DecoratorTypes.CLASS:(0,i.StoreSet)("configuration",e)(t[0]);break;default:case i.DecoratorTypes.PARAM_CTOR:return h(l)(t[0],t[1],t[2])}}}function f(t,r){return(n,s)=>{i.Store.from(n).merge(e,{[s]:{bindingType:o.CONSTANT,propertyKey:s,expression:t,defaultValue:r}})}}!function(e){e.METHOD="method",e.PROPERTY="property",e.CONSTANT="constant",e.VALUE="value",e.INTERCEPTOR="interceptor"}(o||(o={}));var d,m,y=r(917);!function(e){e.SINGLETON="singleton",e.REQUEST="request",e.INSTANCE="instance"}(d||(d={})),function(e){e.VALUE="value",e.FACTORY="factory",e.SERVICE="service",e.PROVIDER="provider",e.MODULE="module",e.CONTROLLER="controller",e.INTERCEPTOR="interceptor",e.MIDDLEWARE="middleware"}(m||(m={}));class g{type=m.PROVIDER;deps;imports;useFactory;useAsyncFactory;useValue;hooks;_useClass;_provide;_store;_tokenStore;constructor(e,t={}){this.provide=e,this.useClass=e,Object.assign(this,t)}get token(){return this._provide}get provide(){return this._provide}set provide(e){e&&(this._provide=(0,i.getClassOrSymbol)(e),this._tokenStore=this._store=i.Store.from(e))}get useClass(){return this._useClass}set useClass(e){(0,i.isClass)(e)&&(this._useClass=(0,i.classOf)(e),this._store=i.Store.from(e),this.hooks=(0,i.methodsOf)(this._useClass).reduce(((e,{propertyKey:t})=>String(t).startsWith("$")?{...e,[t]:(e,...r)=>e[t](...r)}:e),{}))}get className(){return this.name}get name(){return(0,i.nameOf)(this.provide)}get store(){return this._store}get path(){return this.store.get("path","/")}set path(e){this.store.set("path",e)}get scope(){return this.isAsync()?d.SINGLETON:this.get("scope")}set scope(e){this.store.set("scope",e)}get configuration(){return this.get("configuration")}set configuration(e){this.store.set("configuration",e)}get children(){return this.store.get("childrenControllers",[])}get(e){return this.store.get(e)||this._tokenStore.get(e)}isAsync(){return!!this.useAsyncFactory}clone(){return new((0,i.classOf)(this))(this._provide,this)}hasChildren(){return!!this.children.length}hasParent(){return!!this.store.get("parentController")}toString(){return["Token",this.name,this.useClass&&(0,i.nameOf)(this.useClass),this.useFactory&&"Factory",this.useValue&&"Value",this.useAsyncFactory&&"AsyncFactory"].filter(Boolean).join(":")}}class O extends Map{#l=new Map;get(e){return super.get((0,i.getClassOrSymbol)(e))}has(e){return super.has((0,i.getClassOrSymbol)(e))}set(e,t){return super.set((0,i.getClassOrSymbol)(e),t),this}merge(e,t){const r=this.createIfNotExists(e,t);return Object.keys(t).forEach((e=>{r[e]=t[e]})),this.set(e,r),r}delete(e){return super.delete((0,i.getClassOrSymbol)(e))}createRegistry(e,t,r={}){const n=this.getRegistrySettings(e);return r=Object.assign(n,{...r,model:t}),this.#l.set(e,r),this}onInvoke(e,t,r){const n=this.#l.get(e.type);n?.onInvoke&&n.onInvoke(e,t,r)}getRegistrySettings(e){let t="provider";if("string"==typeof e)t=e;else{const r=this.get(e);r&&(t=r.type)}return this.#l.get(t)||{model:g}}createRegisterFn(e){return(t,r)=>{t=Object.assign({instance:r},t,{type:e}),this.merge(t.provide,t)}}createIfNotExists(e,t){const r=t.type||m.PROVIDER;if(!this.has(e)){const{model:n=g}=this.#l.get(r)||{},s=new n(e,t);this.set(e,s)}return this.get(e)}}const b=new O;function v(e){if(!e.provide)throw new Error("Provider.provide is required");return b.merge(e.provide,e)}b.createRegistry(m.CONTROLLER,g);const S=(e,t)=>{e.provide||(e={provide:e}),e=Object.assign({scope:d.SINGLETON,useValue:t},e,{type:m.VALUE}),b.merge(e.provide,e)},E=b.createRegisterFn(m.CONTROLLER);function T(e){const{children:t=[],path:r,...n}=function(e){return"string"==typeof e||e instanceof RegExp||(0,i.isArrayOrArrayClass)(e)?{path:e}:e}(e);return(0,i.useDecorators)((e=>{E({provide:e,...n})}),r&&(0,y.Path)(r),(0,y.Children)(...t))}function R(e={}){return t=>{v({...e,...e.provide?{useClass:t}:{provide:t}})}}function A(t,r){return(...n)=>{const[s,a,c]=n;switch((0,i.decoratorTypeOf)(n)){case i.DecoratorTypes.CLASS:(0,i.decorateMethodsOf)(s,A(t,r));break;case i.DecoratorTypes.METHOD:return i.Store.from(s).merge(e,{[a]:{options:r,propertyKey:a,useType:t,bindingType:o.INTERCEPTOR}}),c}}}function w(){return R({type:m.INTERCEPTOR})}function P(e,t,{optional:r=!1,packageName:n=t.toString()}={}){return(s,o)=>{let a,c;p(s,o,{resolver:s=>async()=>{if(!c){const o=await(0,i.importPackage)(n,t,r);if(c=o[e],!c&&!r)throw new Error(`Unable to lazy load the "${e}". The token isn't a valid token provider.`);a=c?await s.lazyInvoke(c):{}}return a}})}}function C(e,t){return P(e,t,{optional:!0})}function _(e={}){const{scopes:t,imports:r,resolvers:n,deps:s,scope:o,...a}=e;return(0,i.useDecorators)(l(a),R({type:m.MODULE,scope:d.SINGLETON,imports:r,deps:s,injectable:!1,resolvers:n}))}function M(e=d.REQUEST){return(0,i.StoreSet)("scope",e)}function x(e,t,r){M(d.INSTANCE)((0,i.classOf)(e)),h(s)(e,t,r)}function k(e){return t=>{b.get(e).useClass=t}}function $(){return R()}function D(t){return(r,n,o)=>{switch((0,i.decoratorTypeOf)([r,n,o])){case i.DecoratorTypes.PARAM_CTOR:i.Store.from(r).merge(`${s}:${o}`,t);break;case i.DecoratorTypes.PROP:i.Store.from(r).merge(e,{[n]:{options:t}});break;default:throw new i.UnsupportedDecoratorType(D,[r,n,o])}}}function N(t,r){return(n,s)=>{i.Store.from(n).merge(e,{[s]:{bindingType:o.VALUE,propertyKey:s,expression:t,defaultValue:r}})}}class j extends Map{add(e,t={}){const r=b.get(e)?.clone()||new g(e);return Object.assign(r,t),super.set(e,r)}addProvider(e,t={}){return this.add(e,t)}hasProvider(e){return super.has(e)}setProvider(e,t){return super.set(e,t)}getProvider(e){return super.get(e)}getProviders(e){return[...this].reduce(((t,[r,n])=>n.type!==e&&e?t:[...t,n]),[])}addProviders(e){e.forEach((e=>{this.hasProvider(e.provide)||this.setProvider(e.provide,e.clone())}))}}class I extends g{tokenRouter;constructor(e,t={}){super(e,t),this.type=m.CONTROLLER}get middlewares(){return Object.assign({use:[],useAfter:[],useBefore:[]},this.store.get("middlewares",{}))}set middlewares(e){const t=this.middlewares;Object.keys(e).forEach((r=>{((e,t,r)=>{t[e]=t[e].concat(r[e])})(r,t,e)})),this.store.set("middlewares",t)}}class L extends Map{hooks=new i.Hooks;async destroy(){await this.hooks.asyncEmit("$onDestroy")}}const H=e=>e=>(process.env.NO_COLOR,e),G={red:H(),yellow:H(),green:H()};class U extends Error{name="INJECTION_ERROR";tokens=[];origin;constructor(e,t){super((0,i.isString)(t)?t:""),this.tokens=[e],t&&((0,i.isString)(t)?this.origin={message:t,stack:this.stack}:t.tokens?(this.tokens=this.tokens.concat(t.tokens),this.origin=t.origin):(this.origin=t,this.stack=t.stack));const r=this.origin?"\nOrigin: "+this.origin.message:"",n=this.tokens.map((e=>(0,i.nameOf)(e))).join(" > ");this.message=`Injection failed on ${n}${r}`}static throwInjectorError(e,t,r){throw t&&(0,i.isClass)(e)&&(r.message=function(e,t){let r="";const n=(0,i.getConstructorArgNames)(e).map(((e,n)=>(t.index===n&&(r=e,e=G.red(e)),`${e}: ${(0,i.nameOf)(t.deps[n])}`))).join(", "),s=(0,i.nameOf)(e)+"->constructor("+n+")",o=s.indexOf(r)-5;return"Unable to inject dependency. "+t.message+"\n\n"+s+"\n"+(o>-1?(e=>" ".repeat(e)+G.red("^"+"‾".repeat(r.length-1)))(o):"")}(e,{...t,message:r.message})),new U(e,r)}}class q extends Error{name="UNDEFINED_TOKEN_ERROR";constructor(){super("Given token is undefined. Have you enabled emitDecoratorMetadata in your tsconfig.json or decorated your class with @Injectable, @Service, ... decorator ?")}}class F{default=new Map;map=new Map;constructor(e={}){return Object.entries({scopes:{},resolvers:[],imports:[],routes:[],logger:{},...e}).forEach((([e,t])=>{this.default.set(e,t)})),(0,i.proxyDelegation)(this,{ownKeys:e=>[...e.default.keys(),...e.map.keys()]})}get version(){return this.get("version")}set version(e){this.map.set("version",e)}get rootDir(){return this.get("rootDir")}set rootDir(e){this.map.set("rootDir",e)}get env(){return this.map.get("env")}set env(e){this.map.set("env",e)}get scopes(){return this.map.get("scopes")}set scopes(e){this.map.set("scopes",e)}get resolvers(){return this.getRaw("resolvers")}set resolvers(e){this.map.set("resolvers",e)}get imports(){return this.get("imports")}set imports(e){this.map.set("imports",e)}get routes(){return this.get("routes")}set routes(e){this.map.set("routes",e)}get logger(){return this.get("logger")}set logger(e){const t={...this.logger,...e};this.map.set("logger",t)}get debug(){return"debug"===this.logger.level}set debug(e){this.logger={...this.logger,level:e?"debug":"info"}}forEach(e,t){return new Set([...Array.from(this.default.keys()),...Array.from(this.map.keys())]).forEach((t=>{e(this.getRaw(t),t,this.map)}),t)}set(e,t){return"string"==typeof e?Reflect.has(this,e)?this[e]=t:this.setRaw(e,t):Object.entries(e).forEach((([e,t])=>{this.set(e,t)})),this}setRaw(e,t){return(0,i.setValue)(this.map,e,t),this}get(e,t){return this.getRaw(e,t)}resolve(e){return e.replace("${rootDir}",this.rootDir)}getRaw(e,t){const r=(0,i.getValue)(this.map,e);return void 0!==r?r:(0,i.getValue)(this.default,e,t)}}function K(e){const t=new j(b.entries());return e&&t.delete(e),t}Object.create,Object.create;const B=["mount","imports"];function J(e){return e?(0,i.isArray)(e)?e.filter(i.isClass).map((e=>({token:e}))):Object.keys(e).reduce(((t,r)=>[...t,...[].concat(e[r]).filter(i.isClass).map((e=>({route:r,token:e})))]),[]):[]}function V(e){return e.map((({token:e})=>b.get(e))).filter((e=>e?.type===m.MODULE&&e.configuration)).flatMap((e=>W(e.configuration)))}function W(e){const t=B.flatMap((t=>J(e[t])));return[...V(t),...t].filter((e=>!!e.route))}var z;let X=z=class extends j{settings=new F;logger=console;resolvedConfiguration=!1;#f=new L;#d=new i.Hooks;constructor(){super(),this.#f.set(z,this)}get resolvers(){return this.settings.resolvers}get scopes(){return this.settings.scopes||{}}scopeOf(e){return e.scope||this.scopes[e.type]||d.SINGLETON}toArray(){return[...this.#f.values()]}get(e,t={}){const r=this.getInstance(e);if(void 0!==r)return r;if(!this.hasProvider(e))for(const r of this.resolvers){const n=r.get(e,t);if(void 0!==n)return n}}getMany(e,t,r){return this.getProviders(e).map((e=>this.invoke(e.token,t,r)))}has(e){return void 0!==this.#f.get(e)}invoke(e,t,r={}){let n=t?t.get(e):void 0;if(void 0!==n)return n;if(e===l)return this.settings;if(n=r.rebuild?void 0:this.getInstance(e),null!=n)return n;if(e===s)return{};const o=this.ensureProvider(e);if(!o||r.rebuild)return n=this.resolve(e,t,r),this.hasProvider(e)&&this.#f.set(e,n),n;switch(n=this.resolve(e,t,r),this.scopeOf(o)){case d.SINGLETON:return o.hooks&&!r.rebuild&&this.registerHooks(o,n),o.isAsync()&&(0,i.isPromise)(n)?(this.#f.set(e,n),n=n.then((t=>(this.#f.set(e,t),t))),n):(this.#f.set(e,n),n);case d.REQUEST:return t&&(t.set(e,n),o.hooks&&o.hooks.$onDestroy&&t.hooks.on("$onDestroy",((...e)=>o.hooks.$onDestroy(n,...e)))),n}return n}async loadAsync(){for(const[,e]of this)!this.has(e.token)&&e.isAsync()&&await this.invoke(e.token)}loadSync(){for(const[,e]of this)this.has(e.token)||this.scopeOf(e)!==d.SINGLETON||this.invoke(e.token)}bootstrap(e=K()){return this.addProviders(e),this.resolveConfiguration(),this.settings.imports=this.settings.imports?.map((e=>{if("token"in e&&"use"in e){const{token:t,use:r}=e,n=this.getProvider(t);if(n)return n.useValue=r,n.useFactory=void 0,n.useAsyncFactory=void 0,void(n.useClass=void 0)}return e})).filter(Boolean),this}loadModule(e){this.settings.routes=this.settings.routes.concat(W(this.settings));const t=K();return t.delete(e),t.addProvider(e,{type:"server:module",scope:d.SINGLETON}),this.load(t)}async load(e=K()){this.bootstrap(e),await this.loadAsync(),this.loadSync(),await this.emit("$beforeInit"),await this.emit("$onInit")}resolveConfiguration(){if(this.resolvedConfiguration)return;const e=new Map;super.forEach((t=>{t.configuration&&"server:module"!==t.type&&Object.entries(t.configuration).forEach((([t,r])=>{["resolvers","mount","imports"].includes(t)||(r=e.has(t)?(0,i.deepMerge)(e.get(t),r):(0,i.deepClone)(r),e.set(t,r))})),t.resolvers&&(this.settings.resolvers=this.settings.resolvers.concat(t.resolvers))})),e.forEach(((e,t)=>{this.settings.set(t,(0,i.deepMerge)(e,this.settings.get(t)))})),this.resolvedConfiguration=!0}bindInjectableProperties(t,r,n){const s=(0,i.ancestorsOf)((0,i.classOf)(t)).reduce(((t,r)=>({...t,...i.Store.from(r).get(e)||{}})),{});Object.values(s).forEach((e=>{switch(e.bindingType){case o.PROPERTY:this.bindProperty(t,e,r,n);break;case o.CONSTANT:this.bindConstant(t,e);break;case o.VALUE:this.bindValue(t,e);break;case o.INTERCEPTOR:this.bindInterceptor(t,e)}}))}bindProperty(e,{propertyKey:t,resolver:r,options:n={}},s,o){let a;a=r(this,s,{...o,options:n}),(0,i.catchError)((()=>Object.defineProperty(e,t,{get:a})))}bindValue(e,{propertyKey:t,expression:r,defaultValue:n}){const s={get:()=>this.settings.get(r)||n,set:e=>this.settings.set(r,e),enumerable:!0,configurable:!0};(0,i.catchError)((()=>Object.defineProperty(e,t,s)))}bindConstant(e,{propertyKey:t,expression:r,defaultValue:n}){let s;const o={get:()=>{if(void 0!==s)return s;const e=this.settings.get(r,n);return s=Object.freeze((0,i.deepClone)(e)),s},enumerable:!0,configurable:!0};(0,i.catchError)((()=>Object.defineProperty(e,t,o)))}bindInterceptor(e,{propertyKey:t,useType:r,options:n}){const s=(0,i.classOf)(e),o=e[t];e[t]=(...i)=>{const a=t=>{if(!t)return o.apply(e,i);throw t},c={target:s,propertyKey:t,args:i,options:n,next:a};return this.get(r).intercept({...c,options:n},a)}}async lazyInvoke(e){let t=this.getInstance(e);return t||(t=await this.invoke(e),(0,i.isFunction)(t?.$onInit)&&await t.$onInit()),t}emit(e,...t){return this.#d.asyncEmit(e,t)}alter(e,t,...r){return this.#d.alter(e,t,r)}alterAsync(e,t,...r){return this.#d.asyncAlter(e,t,r)}destroy(){return this.emit("$onDestroy")}ensureProvider(e){return!this.hasProvider(e)&&b.has(e)&&this.addProvider(e),this.getProvider(e)}getInstance(e){return this.#f.get(e)}resolve(e,t=new L,r={}){const n=this.mapInvokeOptions(e,t,r),{token:o,deps:a,construct:c,imports:u,provider:p}=n;let h;p&&b.onInvoke(p,t,{...n,injector:this});let l=!1;try{const e=e=>(n,o)=>{if(l={token:n,index:o,deps:a},n!==s){const e=p?.store?.get(`${s}:${o}`);t.set(s,e||{})}return(0,i.isArray)(n)?this.getMany(n[0],t,r):(0,i.isInheritedFrom)(n,g,1)?p:this.invoke(n,t,{parent:e})};u.forEach(e());const n=a.map(e(o));l=!1,h=c(n)}catch(e){U.throwInjectorError(o,l,e)}if(void 0===h)throw new U(o,`Unable to create new instance from undefined value. Check your provider declaration for ${(0,i.nameOf)(o)}`);return h&&(0,i.isClass)((0,i.classOf)(h))&&this.bindInjectableProperties(h,t,r),h}mapInvokeOptions(e,t,r){let n,o,a=r.imports,u=r.deps,p=r.scope;if(!e)throw new q;return this.hasProvider(e)?o=this.getProvider(e):(o=new g(e),this.resolvers.forEach((r=>{const n=r.get(e,t.get(s));void 0!==n&&(o.useFactory=()=>n)}))),p=p||this.scopeOf(o),u=u||o.deps,a=a||o.imports,void 0!==o.useValue?n=()=>(0,i.isFunction)(o.useValue)?o.useValue():o.useValue:o.useFactory?n=e=>o.useFactory(...e):o.useAsyncFactory?n=async e=>(e=await Promise.all(e),o.useAsyncFactory(...e)):(u=u||c(o.useClass),n=e=>new o.useClass(...e)),{token:e,scope:p||i.Store.from(e).get("scope")||d.SINGLETON,deps:u||[],imports:a||[],construct:n,provider:o}}registerHooks(e,t){e.hooks&&Object.entries(e.hooks).forEach((([r,n])=>{this.#d.on(r,((...r)=>n(this.get(e.token)||t,...r)))}))}};X=z=function(e,t,r,n){var s,o=arguments.length,i=o<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,r):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)i=Reflect.decorate(e,t,r,n);else for(var a=e.length-1;a>=0;a--)(s=e[a])&&(i=(o<3?s(i):o>3?s(t,r,i):s(t,r))||i);return o>3&&i&&Object.defineProperty(t,r,i),i}([R({scope:d.SINGLETON,global:!0}),function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata("design:paramtypes",[])}()],X);const Q=Symbol.for("LOGGER");function Y(e={},t={}){return Object.entries(t).reduce(((e,[t,r])=>({...e,[t]:(e[t]||[]).concat(r)})),e)}function Z(e,t={}){const r=i.Store.from(e).get("configuration")||{};return{...r,...t,mount:Y(r.mount,t.mount)}}v({provide:Q,deps:[X],useFactory:e=>e.logger})})(),n})()));
1
+ !function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports["@tsed/di"]=t():e["@tsed/di"]=t()}(self,(()=>(()=>{var e={683:(e,t,r)=>{"use strict";r.r(t),r.d(t,{camelCase:()=>m,camelCaseTransform:()=>f,camelCaseTransformMerge:()=>d,capitalCase:()=>O,capitalCaseTransform:()=>g,constantCase:()=>S,dotCase:()=>T,headerCase:()=>A,noCase:()=>c,paramCase:()=>w,pascalCase:()=>l,pascalCaseTransform:()=>p,pascalCaseTransformMerge:()=>h,pathCase:()=>_,sentenceCase:()=>x,sentenceCaseTransform:()=>M,snakeCase:()=>$});var n=function(){return n=Object.assign||function(e){for(var t,r=1,n=arguments.length;r<n;r++)for(var s in t=arguments[r])Object.prototype.hasOwnProperty.call(t,s)&&(e[s]=t[s]);return e},n.apply(this,arguments)};Object.create,Object.create,"function"==typeof SuppressedError&&SuppressedError;var s=function(){return s=Object.assign||function(e){for(var t,r=1,n=arguments.length;r<n;r++)for(var s in t=arguments[r])Object.prototype.hasOwnProperty.call(t,s)&&(e[s]=t[s]);return e},s.apply(this,arguments)};function o(e){return e.toLowerCase()}Object.create,Object.create,"function"==typeof SuppressedError&&SuppressedError;var i=[/([a-z0-9])([A-Z])/g,/([A-Z])([A-Z][a-z])/g],a=/[^A-Z0-9]+/gi;function c(e,t){void 0===t&&(t={});for(var r=t.splitRegexp,n=void 0===r?i:r,s=t.stripRegexp,c=void 0===s?a:s,p=t.transform,h=void 0===p?o:p,l=t.delimiter,f=void 0===l?" ":l,d=u(u(e,n,"$1\0$2"),c,"\0"),m=0,y=d.length;"\0"===d.charAt(m);)m++;for(;"\0"===d.charAt(y-1);)y--;return d.slice(m,y).split("\0").map(h).join(f)}function u(e,t,r){return t instanceof RegExp?e.replace(t,r):t.reduce((function(e,t){return e.replace(t,r)}),e)}function p(e,t){var r=e.charAt(0),n=e.substr(1).toLowerCase();return t>0&&r>="0"&&r<="9"?"_"+r+n:""+r.toUpperCase()+n}function h(e){return e.charAt(0).toUpperCase()+e.slice(1).toLowerCase()}function l(e,t){return void 0===t&&(t={}),c(e,s({delimiter:"",transform:p},t))}function f(e,t){return 0===t?e.toLowerCase():p(e,t)}function d(e,t){return 0===t?e.toLowerCase():h(e)}function m(e,t){return void 0===t&&(t={}),l(e,n({transform:f},t))}var y=function(){return y=Object.assign||function(e){for(var t,r=1,n=arguments.length;r<n;r++)for(var s in t=arguments[r])Object.prototype.hasOwnProperty.call(t,s)&&(e[s]=t[s]);return e},y.apply(this,arguments)};function g(e){return function(e){return e.charAt(0).toUpperCase()+e.substr(1)}(e.toLowerCase())}function O(e,t){return void 0===t&&(t={}),c(e,y({delimiter:" ",transform:g},t))}Object.create,Object.create,"function"==typeof SuppressedError&&SuppressedError;var b=function(){return b=Object.assign||function(e){for(var t,r=1,n=arguments.length;r<n;r++)for(var s in t=arguments[r])Object.prototype.hasOwnProperty.call(t,s)&&(e[s]=t[s]);return e},b.apply(this,arguments)};function v(e){return e.toUpperCase()}function S(e,t){return void 0===t&&(t={}),c(e,b({delimiter:"_",transform:v},t))}Object.create,Object.create,"function"==typeof SuppressedError&&SuppressedError;var E=function(){return E=Object.assign||function(e){for(var t,r=1,n=arguments.length;r<n;r++)for(var s in t=arguments[r])Object.prototype.hasOwnProperty.call(t,s)&&(e[s]=t[s]);return e},E.apply(this,arguments)};function T(e,t){return void 0===t&&(t={}),c(e,E({delimiter:"."},t))}Object.create,Object.create,"function"==typeof SuppressedError&&SuppressedError;var R=function(){return R=Object.assign||function(e){for(var t,r=1,n=arguments.length;r<n;r++)for(var s in t=arguments[r])Object.prototype.hasOwnProperty.call(t,s)&&(e[s]=t[s]);return e},R.apply(this,arguments)};function A(e,t){return void 0===t&&(t={}),O(e,R({delimiter:"-"},t))}Object.create,Object.create,"function"==typeof SuppressedError&&SuppressedError;var P=function(){return P=Object.assign||function(e){for(var t,r=1,n=arguments.length;r<n;r++)for(var s in t=arguments[r])Object.prototype.hasOwnProperty.call(t,s)&&(e[s]=t[s]);return e},P.apply(this,arguments)};function w(e,t){return void 0===t&&(t={}),T(e,P({delimiter:"-"},t))}Object.create,Object.create,"function"==typeof SuppressedError&&SuppressedError;var C=function(){return C=Object.assign||function(e){for(var t,r=1,n=arguments.length;r<n;r++)for(var s in t=arguments[r])Object.prototype.hasOwnProperty.call(t,s)&&(e[s]=t[s]);return e},C.apply(this,arguments)};function _(e,t){return void 0===t&&(t={}),T(e,C({delimiter:"/"},t))}function M(e,t){var r=e.toLowerCase();return 0===t?function(e){return e.charAt(0).toUpperCase()+e.substr(1)}(r):r}function x(e,t){return void 0===t&&(t={}),c(e,n({delimiter:" ",transform:M},t))}function $(e,t){return void 0===t&&(t={}),T(e,n({delimiter:"_"},t))}Object.create,Object.create,"function"==typeof SuppressedError&&SuppressedError},886:e=>{var t;self,t=()=>(()=>{var e={738:(e,t,r)=>{var n;!function(e){!function(t){var n="object"==typeof r.g?r.g:"object"==typeof self?self:"object"==typeof this?this:Function("return this;")(),s=o(e);function o(e,t){return function(r,n){"function"!=typeof e[r]&&Object.defineProperty(e,r,{configurable:!0,writable:!0,value:n}),t&&t(r,n)}}void 0===n.Reflect?n.Reflect=e:s=o(n.Reflect,s),function(e){var t=Object.prototype.hasOwnProperty,r="function"==typeof Symbol,n=r&&void 0!==Symbol.toPrimitive?Symbol.toPrimitive:"@@toPrimitive",s=r&&void 0!==Symbol.iterator?Symbol.iterator:"@@iterator",o="function"==typeof Object.create,i={__proto__:[]}instanceof Array,a=!o&&!i,c={create:o?function(){return D(Object.create(null))}:i?function(){return D({__proto__:null})}:function(){return D({})},has:a?function(e,r){return t.call(e,r)}:function(e,t){return t in e},get:a?function(e,r){return t.call(e,r)?e[r]:void 0}:function(e,t){return e[t]}},u=Object.getPrototypeOf(Function),p="object"==typeof process&&process.env&&"true"===process.env.REFLECT_METADATA_USE_MAP_POLYFILL,h=p||"function"!=typeof Map||"function"!=typeof Map.prototype.entries?function(){var e={},t=[],r=function(){function e(e,t,r){this._index=0,this._keys=e,this._values=t,this._selector=r}return e.prototype["@@iterator"]=function(){return this},e.prototype[s]=function(){return this},e.prototype.next=function(){var e=this._index;if(e>=0&&e<this._keys.length){var r=this._selector(this._keys[e],this._values[e]);return e+1>=this._keys.length?(this._index=-1,this._keys=t,this._values=t):this._index++,{value:r,done:!1}}return{value:void 0,done:!0}},e.prototype.throw=function(e){throw this._index>=0&&(this._index=-1,this._keys=t,this._values=t),e},e.prototype.return=function(e){return this._index>=0&&(this._index=-1,this._keys=t,this._values=t),{value:e,done:!0}},e}();return function(){function t(){this._keys=[],this._values=[],this._cacheKey=e,this._cacheIndex=-2}return Object.defineProperty(t.prototype,"size",{get:function(){return this._keys.length},enumerable:!0,configurable:!0}),t.prototype.has=function(e){return this._find(e,!1)>=0},t.prototype.get=function(e){var t=this._find(e,!1);return t>=0?this._values[t]:void 0},t.prototype.set=function(e,t){var r=this._find(e,!0);return this._values[r]=t,this},t.prototype.delete=function(t){var r=this._find(t,!1);if(r>=0){for(var n=this._keys.length,s=r+1;s<n;s++)this._keys[s-1]=this._keys[s],this._values[s-1]=this._values[s];return this._keys.length--,this._values.length--,t===this._cacheKey&&(this._cacheKey=e,this._cacheIndex=-2),!0}return!1},t.prototype.clear=function(){this._keys.length=0,this._values.length=0,this._cacheKey=e,this._cacheIndex=-2},t.prototype.keys=function(){return new r(this._keys,this._values,n)},t.prototype.values=function(){return new r(this._keys,this._values,o)},t.prototype.entries=function(){return new r(this._keys,this._values,i)},t.prototype["@@iterator"]=function(){return this.entries()},t.prototype[s]=function(){return this.entries()},t.prototype._find=function(e,t){return this._cacheKey!==e&&(this._cacheIndex=this._keys.indexOf(this._cacheKey=e)),this._cacheIndex<0&&t&&(this._cacheIndex=this._keys.length,this._keys.push(e),this._values.push(void 0)),this._cacheIndex},t}();function n(e,t){return e}function o(e,t){return t}function i(e,t){return[e,t]}}():Map,l=p||"function"!=typeof Set||"function"!=typeof Set.prototype.entries?function(){function e(){this._map=new h}return Object.defineProperty(e.prototype,"size",{get:function(){return this._map.size},enumerable:!0,configurable:!0}),e.prototype.has=function(e){return this._map.has(e)},e.prototype.add=function(e){return this._map.set(e,e),this},e.prototype.delete=function(e){return this._map.delete(e)},e.prototype.clear=function(){this._map.clear()},e.prototype.keys=function(){return this._map.keys()},e.prototype.values=function(){return this._map.values()},e.prototype.entries=function(){return this._map.entries()},e.prototype["@@iterator"]=function(){return this.keys()},e.prototype[s]=function(){return this.keys()},e}():Set,f=new(p||"function"!=typeof WeakMap?function(){var e=c.create(),r=n();return function(){function e(){this._key=n()}return e.prototype.has=function(e){var t=s(e,!1);return void 0!==t&&c.has(t,this._key)},e.prototype.get=function(e){var t=s(e,!1);return void 0!==t?c.get(t,this._key):void 0},e.prototype.set=function(e,t){return s(e,!0)[this._key]=t,this},e.prototype.delete=function(e){var t=s(e,!1);return void 0!==t&&delete t[this._key]},e.prototype.clear=function(){this._key=n()},e}();function n(){var t;do{t="@@WeakMap@@"+i()}while(c.has(e,t));return e[t]=!0,t}function s(e,n){if(!t.call(e,r)){if(!n)return;Object.defineProperty(e,r,{value:c.create()})}return e[r]}function o(e,t){for(var r=0;r<t;++r)e[r]=255*Math.random()|0;return e}function i(){var e,t=(e=16,"function"==typeof Uint8Array?"undefined"!=typeof crypto?crypto.getRandomValues(new Uint8Array(e)):"undefined"!=typeof msCrypto?msCrypto.getRandomValues(new Uint8Array(e)):o(new Uint8Array(e),e):o(new Array(e),e));t[6]=79&t[6]|64,t[8]=191&t[8]|128;for(var r="",n=0;n<16;++n){var s=t[n];4!==n&&6!==n&&8!==n||(r+="-"),s<16&&(r+="0"),r+=s.toString(16).toLowerCase()}return r}}():WeakMap);function d(e,t,r){var n=f.get(e);if(T(n)){if(!r)return;n=new h,f.set(e,n)}var s=n.get(t);if(T(s)){if(!r)return;s=new h,n.set(t,s)}return s}function m(e,t,r){if(y(e,t,r))return!0;var n=k(t);return!R(n)&&m(e,n,r)}function y(e,t,r){var n=d(t,r,!1);return!T(n)&&!!n.has(e)}function g(e,t,r){if(y(e,t,r))return O(e,t,r);var n=k(t);return R(n)?void 0:g(e,n,r)}function O(e,t,r){var n=d(t,r,!1);if(!T(n))return n.get(e)}function b(e,t,r,n){d(r,n,!0).set(e,t)}function v(e,t){var r=S(e,t),n=k(e);if(null===n)return r;var s=v(n,t);if(s.length<=0)return r;if(r.length<=0)return s;for(var o=new l,i=[],a=0,c=r;a<c.length;a++){var u=c[a];o.has(u)||(o.add(u),i.push(u))}for(var p=0,h=s;p<h.length;p++)u=h[p],o.has(u)||(o.add(u),i.push(u));return i}function S(e,t){var r=[],n=d(e,t,!1);if(T(n))return r;for(var o=function(e){var t=M(e,s);if(!C(t))throw new TypeError;var r=t.call(e);if(!A(r))throw new TypeError;return r}(n.keys()),i=0;;){var a=x(o);if(!a)return r.length=i,r;var c=a.value;try{r[i]=c}catch(e){try{$(o)}finally{throw e}}i++}}function E(e){if(null===e)return 1;switch(typeof e){case"undefined":return 0;case"boolean":return 2;case"string":return 3;case"symbol":return 4;case"number":return 5;case"object":return null===e?1:6;default:return 6}}function T(e){return void 0===e}function R(e){return null===e}function A(e){return"object"==typeof e?null!==e:"function"==typeof e}function P(e){var t=function(e,t){switch(E(e)){case 0:case 1:case 2:case 3:case 4:case 5:return e}var r="string",s=M(e,n);if(void 0!==s){var o=s.call(e,r);if(A(o))throw new TypeError;return o}return function(e,t){var r,n,s=e.toString;if(C(s)&&!A(n=s.call(e)))return n;if(C(r=e.valueOf)&&!A(n=r.call(e)))return n;throw new TypeError}(e)}(e);return"symbol"==typeof t?t:function(e){return""+e}(t)}function w(e){return Array.isArray?Array.isArray(e):e instanceof Object?e instanceof Array:"[object Array]"===Object.prototype.toString.call(e)}function C(e){return"function"==typeof e}function _(e){return"function"==typeof e}function M(e,t){var r=e[t];if(null!=r){if(!C(r))throw new TypeError;return r}}function x(e){var t=e.next();return!t.done&&t}function $(e){var t=e.return;t&&t.call(e)}function k(e){var t=Object.getPrototypeOf(e);if("function"!=typeof e||e===u)return t;if(t!==u)return t;var r=e.prototype,n=r&&Object.getPrototypeOf(r);if(null==n||n===Object.prototype)return t;var s=n.constructor;return"function"!=typeof s||s===e?t:s}function D(e){return e.__=void 0,delete e.__,e}e("decorate",(function(e,t,r,n){if(T(r)){if(!w(e))throw new TypeError;if(!_(t))throw new TypeError;return function(e,t){for(var r=e.length-1;r>=0;--r){var n=(0,e[r])(t);if(!T(n)&&!R(n)){if(!_(n))throw new TypeError;t=n}}return t}(e,t)}if(!w(e))throw new TypeError;if(!A(t))throw new TypeError;if(!A(n)&&!T(n)&&!R(n))throw new TypeError;return R(n)&&(n=void 0),function(e,t,r,n){for(var s=e.length-1;s>=0;--s){var o=(0,e[s])(t,r,n);if(!T(o)&&!R(o)){if(!A(o))throw new TypeError;n=o}}return n}(e,t,r=P(r),n)})),e("metadata",(function(e,t){return function(r,n){if(!A(r))throw new TypeError;if(!T(n)&&!function(e){switch(E(e)){case 3:case 4:return!0;default:return!1}}(n))throw new TypeError;b(e,t,r,n)}})),e("defineMetadata",(function(e,t,r,n){if(!A(r))throw new TypeError;return T(n)||(n=P(n)),b(e,t,r,n)})),e("hasMetadata",(function(e,t,r){if(!A(t))throw new TypeError;return T(r)||(r=P(r)),m(e,t,r)})),e("hasOwnMetadata",(function(e,t,r){if(!A(t))throw new TypeError;return T(r)||(r=P(r)),y(e,t,r)})),e("getMetadata",(function(e,t,r){if(!A(t))throw new TypeError;return T(r)||(r=P(r)),g(e,t,r)})),e("getOwnMetadata",(function(e,t,r){if(!A(t))throw new TypeError;return T(r)||(r=P(r)),O(e,t,r)})),e("getMetadataKeys",(function(e,t){if(!A(e))throw new TypeError;return T(t)||(t=P(t)),v(e,t)})),e("getOwnMetadataKeys",(function(e,t){if(!A(e))throw new TypeError;return T(t)||(t=P(t)),S(e,t)})),e("deleteMetadata",(function(e,t,r){if(!A(t))throw new TypeError;T(r)||(r=P(r));var n=d(t,r,!1);if(T(n))return!1;if(!n.delete(e))return!1;if(n.size>0)return!0;var s=f.get(t);return s.delete(r),s.size>0||f.delete(t),!0}))}(s)}()}(n||(n={}))},340:e=>{function t(e){return Promise.resolve().then((()=>{var t=new Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t}))}t.keys=()=>[],t.resolve=t,t.id=340,e.exports=t}},t={};function r(n){var s=t[n];if(void 0!==s)return s.exports;var o=t[n]={exports:{}};return e[n](o,o.exports,r),o.exports}r.d=(e,t)=>{for(var n in t)r.o(t,n)&&!r.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},r.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),r.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),r.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var n={};return(()=>{"use strict";function e(e,t){return Object.getOwnPropertyDescriptor(e&&e.prototype||e,t)}function t(t,r){return e(t,r)?.value}function s(t=!0){return(r,n)=>{const s=e(r,n)||{writable:!0,enumerable:!0};return s.configurable=t,Object.defineProperty(r&&r.prototype||r,n,s),s}}function o(e,t){if("undefined"!=typeof process&&!0===process.noDeprecation)return e;if("undefined"==typeof process)return function(...r){return o(e,t).apply(this,r)};let r=!1;return function(...n){if(!r){if(process.throwDeprecation)throw new Error(t);process.traceDeprecation?console.trace(t):console.error(t),r=!0}return e.apply(this,n)}}function i(e){return(t,r,n)=>{const s=n.value;return n.value=o(s,e),n}}function a(t=!0){return(r,n)=>{const s=e(r,n)||{writable:!0,configurable:!0};return s.enumerable=t,Object.defineProperty(r&&r.prototype||r,n,s),s}}function c(){return s(!1)}function u(){return a(!1)}function p(t=!0){return(r,n)=>{const s=e(r,n)||{configurable:!0,enumerable:!0};return s.writable=t,Object.defineProperty(r&&r.prototype||r,n,s),s}}function h(){return p(!1)}var l;function f(e){return e.prototype?e:e.constructor}function d(e){return f(e)}function m(e){const[t,r,n]=e,s=e=>t!==d(t)?e:`${e}.static`;return"number"==typeof n?r?s("parameter"):"parameter.constructor":n&&n.value?s("method"):r&&void 0===n||n?s("property"):l.CLASS}function y(e){return Array.isArray(e)}function g(e){return e===Array||y(e)}function O(e){return e===Date||e instanceof Date&&!isNaN(+e)}function b(e){return"function"==typeof e}function v(e){return null==e}function S(e){return"boolean"==typeof e||e instanceof Boolean||e===Boolean}function E(e){return"boolean"==typeof e||e instanceof Boolean||e===Boolean}function T(e){return"number"==typeof e}function R(e){return"number"==typeof e||e instanceof Number||e===Number}function A(e){return"string"==typeof e}function P(e){return"string"==typeof e||e instanceof String||e===String}function w(e){return P(e)||R(e)||E(e)}function C(e){return A(e)||T(e)||S(e)}function _(e){return[String,Number,Boolean].includes(e)}function M(e){return"symbol"==typeof e}function x(e){return"symbol"==typeof e||e instanceof Symbol||e===Symbol}function $(e){return!(!e||!("isBuffer"in e)||"function"!=typeof e.isBuffer)||k(e)}function k(e){return!(!e||!(e===Uint8Array||e instanceof Uint8Array))}function D(e){return e instanceof RegExp}function N(e,t=new WeakMap){let r;if((e=>v(e)||C(e)||M(e)||b(e))(e))return e;if($(e)){const t=Buffer.alloc(e.length);return e.copy(t),t}if(O(e))return new Date(e);if(D(e))return new RegExp(e);const n=t.get(e);if(n)return n;y(e)?r=[]:(r={},t.set(e,r));for(const n in e){const s=Object.getOwnPropertyDescriptor(e,n);s&&(b(s.value)?Object.defineProperty(r,n,s):r[n]=N(s.value,t))}if(!y(e)){const t=Reflect.getPrototypeOf(e);Reflect.setPrototypeOf(r,t)}return r}function I(e){return e&&d(e)!==Object?Object.create(e):{}}function j(e){return["__proto__","constructor","prototype"].includes(e)}function L(e){return Object.keys(e).filter((e=>!j(e)))}function H(e){return(t,r,n)=>{const s=t.findIndex((t=>e(t,r)));return-1===s?[...t,r]:(t[s]=G(t[s],r,n),t)}}r.r(n),r.d(n,{AnyToPromise:()=>de,AnyToPromiseResponseTypes:()=>le,AnyToPromiseStatus:()=>he,CLASS_STORE:()=>X,Configurable:()=>s,DecoratorTypes:()=>l,Deprecated:()=>i,Enumerable:()=>a,Env:()=>fe,EnvTypes:()=>me,Hooks:()=>ye,METHOD_STORE:()=>Q,Metadata:()=>z,NotConfigurable:()=>c,NotEnumerable:()=>u,PARAM_STORE:()=>Z,PROPERTY_STORE:()=>Y,Readonly:()=>h,Store:()=>re,StoreFn:()=>ne,StoreMerge:()=>se,StoreSet:()=>oe,Type:()=>ge,UnsupportedDecoratorType:()=>Oe,Writable:()=>p,ancestorOf:()=>Ae,ancestorsOf:()=>we,catchAsyncError:()=>ve,catchError:()=>be,classOf:()=>d,cleanObject:()=>Le,constructorOf:()=>Ue,createInstance:()=>I,decorateMethodsOf:()=>Me,decoratorArgs:()=>xe,decoratorTypeOf:()=>m,deepClone:()=>N,deepMerge:()=>G,descriptorOf:()=>e,getClass:()=>f,getClassOrSymbol:()=>Ke,getConstructor:()=>He,getConstructorArgNames:()=>Je,getEnumerableKeys:()=>ze,getHostInfoFromPort:()=>Ie,getInheritedClass:()=>Pe,getRandomId:()=>Se,getValue:()=>Xe,hasJsonMethod:()=>Qe,importPackage:()=>je,inheritedDescriptorOf:()=>$e,isArray:()=>y,isArrayOrArrayClass:()=>g,isArrowFn:()=>Ge,isBoolean:()=>S,isBooleanOrBooleanClass:()=>E,isBuffer:()=>$,isClass:()=>Fe,isClassObject:()=>Be,isCollection:()=>Ye,isDate:()=>O,isEmpty:()=>Ze,isEnumerable:()=>We,isFunction:()=>b,isInheritedFrom:()=>et,isMethodDescriptor:()=>t,isMomentObject:()=>tt,isMongooseObject:()=>nt,isNil:()=>v,isNumber:()=>T,isNumberOrNumberClass:()=>R,isObject:()=>ie,isObjectID:()=>rt,isObservable:()=>ae,isPlainObject:()=>qe,isPrimitive:()=>C,isPrimitiveClass:()=>_,isPrimitiveOrPrimitiveClass:()=>w,isPromise:()=>ce,isProtectedKey:()=>j,isRegExp:()=>D,isSerializable:()=>st,isStream:()=>ue,isString:()=>A,isStringOrStringClass:()=>P,isSymbol:()=>M,isSymbolOrSymbolClass:()=>x,isUint8Array:()=>k,mergeReducerBuilder:()=>H,methodsOf:()=>_e,nameOf:()=>F,nameOfClass:()=>B,nameOfSymbol:()=>q,objectKeys:()=>L,primitiveOf:()=>ot,prototypeOf:()=>Ce,proxyDelegation:()=>Re,setValue:()=>it,toMap:()=>ct,toStringConstructor:()=>Ve,uniq:()=>Ee,uniqBy:()=>Te,useDecorators:()=>ke,useMethodDecorator:()=>De,useMethodDecorators:()=>Ne}),function(e){e.PARAM="parameter",e.PARAM_CTOR="parameter.constructor",e.PARAM_STC="parameter.static",e.PROP="property",e.PROP_STC="property.static",e.METHOD="method",e.METHOD_STC="method.static",e.CLASS="class"}(l||(l={}));const U=H(((e,t)=>e===t));function G(e,t,r={}){if(function(e,t){return null==e||""===e&&""!==t}(t,e))return e;if(function(e,t){return C(e)||M(e)||b(e)||void 0===t}(t,e))return t;if(Array.isArray(e)){const n=function({reducers:e,parentKey:t}){return e?t&&e[t]?e[t]:e.default||U:U}(r);return[].concat(t).reduce(((e,t)=>n(e,t,r)),[...e])}return[...L(e),...L(t)].reduce(((n,s)=>{const o=G(e&&e[s],t&&t[s],{...r,parentKey:s});return r.cleanUndefinedProps&&void 0===o?n:{...n,[s]:o}}),I(e))}function B(e){return"function"==typeof e?e.name:e.constructor.name}const q=e=>e.toString().replace("Symbol(","").replace(")","");function F(e){switch(typeof e){default:return""+e;case"symbol":return q(e);case"function":return B(e)}}r(738);const K="design:paramtypes",V="design:type",J="design:returntype",W=new Map;class z{static get(e,t,r){return Reflect.getMetadata(e,d(t),r)}static getOwn(e,t,r){return Reflect.getOwnMetadata(e,d(t),r)}static getType(e,t){return Reflect.getMetadata(V,e,t)}static getOwnType(e,t){return Reflect.getMetadata(V,e,t)}static getReturnType(e,t){return Reflect.getMetadata(J,e,t)}static getOwnReturnType(e,t){return Reflect.getOwnMetadata(J,e,t)}static has(e,t,r){try{return Reflect.hasMetadata(e,d(t),r)}catch(e){}return!1}static hasOwn(e,t,r){return Reflect.hasOwnMetadata(e,d(t),r)}static delete(e,t,r){return Reflect.deleteMetadata(e,d(t),r)}static setParamTypes(e,t,r){return this.set(K,r,e.prototype,t)}static getTargetsFromPropertyKey=e=>W.has(e)&&W.get(e)||[];static set(e,t,r,n){const s=W.has(e)&&W.get(e)||[],o=d(r);-1===s.indexOf(o)&&(s.push(o),W.set(e,s)),Reflect.defineMetadata(e,t,d(r),n)}static getParamTypes(e,t){return Reflect.getMetadata(K,e,t)||[]}static getOwnParamTypes(e,t){return Reflect.getOwnMetadata(K,e,t)||[]}}const X="tsed:class:store",Q="tsed:method:store",Y="tsed:property:store",Z="tsed:param:store",ee=new Map;function te(e,...t){if(M(t[0]))return ee.has(t[0])||ee.set(t[0],new re),ee.get(t[0]);{const r=z;return r.hasOwn(e,...t)||r.set(e,new re,...t),r.getOwn(e,...t)}}class re{_entries=new Map;static from(...e){return function(e){const[t,r,n]=e;switch(m(e)){case l.PARAM_CTOR:case l.PARAM_STC:case l.PARAM:const e=te(Z,t,r);return e.has(""+n)||e.set(""+n,new re),e.get(""+n);case l.PROP:case l.PROP_STC:return te(Y,t,r);case l.METHOD:case l.METHOD_STC:return te(Q,t,r);case l.CLASS:return te(X,t)}}(e)}static fromMethod(t,r){return re.from(t,r,e(t,r))}static mergeStoreFrom(e,t,...r){const n=re.from(e,...r);return re.from(t,...r)._entries.forEach(((e,t)=>{n.merge(t,e)})),n}static mergeStoreMethodFrom(t,r,n){return this.mergeStoreFrom(t,r,n,e(t,n))}get(e,t){return this._entries.get(F(e))||t}has(e){return this._entries.has(F(e))}set(e,t){return this._entries.set(F(e),t),this}delete(e){return this._entries.delete(F(e))}merge(e,t,r=!1){let n=this.get(e);return n&&(t=N(t),n=N(n),t=r?G(t,n):G(n,t)),this.set(e,t),this}toJson(){return[...this._entries.entries()].reduce(((e,[t,r])=>({...e,[t]:r})),{})}}function ne(e){return(...t)=>{const r=re.from(...t),n=e(r,t);return"function"==typeof n&&n(...t),t[2]}}function se(e,t){return ne((r=>{r.merge(e,t)}))}function oe(e,t){return ne((r=>{r.set(e,t)}))}function ie(e){return"object"==typeof e}function ae(e){return!!e&&"function"==typeof e.lift&&"function"==typeof e.subscribe}function ce(e){return e===Promise||e instanceof Promise||!!e&&"function"!=typeof e.subscribe&&"function"==typeof e.then}function ue(e){return null!==e&&"object"==typeof e&&"function"==typeof e.pipe}function pe(e){return ie(e)&&"data"in e&&"headers"in e&&"status"in e&&"statusText"in e}var he,le,fe;!function(e){e.PENDING="PENDING",e.CANCELED="CANCELED",e.RESOLVED="RESOLVED",e.REJECTED="REJECTED"}(he||(he={})),function(e){e.STREAM="STREAM",e.BUFFER="BUFFER",e.DATA="DATA"}(le||(le={}));class de{status=he.PENDING;args;#e;#t;#r=!1;#n;constructor({hasNextFunction:e=!1}={}){this.#r=e,this.#n=new Promise(((e,t)=>{this.#e=e,this.#t=t}))}isDone(){return this.status!==he.PENDING}get next(){return this.#r=!0,e=>{if(!this.isDone())return e?this.reject(e):this.resolve({type:le.DATA})}}call(e){if(this.isDone())return Promise.resolve(this);try{this.handle(e())}catch(e){this.reject(e)}return this.#n}reject(e){this.isDone()||(this.done(he.REJECTED),this.#t(e))}resolve(e={}){this.isDone()||(this.done(he.RESOLVED),this.#e({...e,state:he.RESOLVED}))}destroy(){}cancel(){if(!this.isDone())return this.done(he.CANCELED),this.#e({state:he.CANCELED})}done(e){this.destroy(),this.status=e}handle(e,t={}){if(!this.isDone()){if(e){if(this.isCanceledResponse(e))return this.cancel();if(ae(e)&&(e=e.toPromise()),pe(e))return this.handle(e.data,{...t,status:e.status,headers:e.headers});if(ue(e))return this.resolve({...t,type:le.STREAM,data:e});if(ue(e)||Buffer.isBuffer(e))return this.resolve({...t,type:le.BUFFER,data:e});if(ce(e))return e.then((e=>this.handle(e,t))).catch((e=>e.response&&pe(e.response)?this.handle(e.response):this.reject(e)))}return this.#r?void 0:this.resolve({...t,data:e,type:le.DATA})}}isCanceledResponse(e){return e===he.CANCELED}}!function(e){e.PROD="production",e.DEV="development",e.TEST="test"}(fe||(fe={}));const me=fe;class ye{#s={};has(e){return!!this.#s[e]}on(e,t){return this.#s[e]||(this.#s[e]=[]),this.#s[e].push(t),this}off(e,t){return this.#s[e]&&(this.#s[e]=this.#s[e].filter((e=>e===t))),this}emit(e,t=[],r=null){const n=this.#s[e];if(n?.length)for(const e of n)e.call(r,...t)}alter(e,t,r=[],n=null){const s=this.#s[e];if(s?.length)for(const e of s)t=e.call(n,t,...r);return t}async asyncEmit(e,t=[],r=null){const n=this.#s[e];if(n?.length){const e=n.map((e=>e.call(r,...t)));await Promise.all(e)}}async asyncAlter(e,t,r=[],n=null){const s=this.#s[e];if(s?.length)for(const e of s)t=await e.call(n,t,...r);return t}destroy(){this.#s={}}}const ge=Function;r.g.Type=ge;class Oe extends Error{name;constructor(e,t){super(Oe.buildMessage(e,t))}static buildMessage(e,t){const[r,n,s]=t,o=m(t),i=o.split("/")[0],a="parameter"===i?".["+s+"]":"",c=n?"."+n:"parameter"===i?".constructor":"",u=F(d(r))+c+a;return`${e.name} cannot be used as ${o} decorator on ${u}`}}function be(e){try{e()}catch(e){return e}}async function ve(e){try{await e()}catch(e){return e}}function Se(){return`e${Math.random().toString(36).substring(7)}`}function Ee(e){return Array.from(new Set(e).values())}function Te(e,t="id"){const r=new Map;return e.forEach((e=>{r.set(e[t],e)})),Array.from(r.values())}function Re(e,t={}){const{handlers:r={},remove:n,ownKeys:s}=t,o=t.getter||((e,t)=>e.get(t)),i=t.setter||((e,t,r)=>!!e.set(t,r)),a=(e,t)=>Reflect.has(e,t)||"symbol"==typeof t;return new Proxy(e,{getOwnPropertyDescriptor:(e,t)=>Reflect.getOwnPropertyDescriptor(e,t),has:(e,t)=>a(e,t)?Reflect.has(e,t):void 0!==o(e,t),get:(e,t,r)=>a(e,t)?Reflect.get(e,t,r):o(e,t),set:(e,t,r,n)=>a(e,t)?Reflect.set(e,t,r,n):!!i(e,t,r,n),deleteProperty:(e,t)=>a(e,t)||!n?Reflect.deleteProperty(e,t):n(e,t),defineProperty:(e,t,r)=>Reflect.defineProperty(e,t,r),ownKeys:e=>Ee(Reflect.ownKeys(e).concat(s&&s(e)||[])),...r})}function Ae(e){return e&&Object.getPrototypeOf(e)}function Pe(e){return Ae(e)}function we(e){const t=[];let r=d(e);for(;r&&""!==F(r);)t.unshift(r),r=Pe(r);return t}function Ce(e){return d(e)===e?e.prototype:e}function _e(e){const t=new Map;return we(e=d(e)).forEach((e=>{Reflect.ownKeys(Ce(e)).forEach((r=>{"constructor"!==r&&t.set(r,{target:e,propertyKey:r})}))})),Array.from(t.values())}function Me(t,r){_e(t).forEach((({target:n,propertyKey:s})=>{const o=Ce(t);n!==d(t)&&(Object.defineProperty(o,s,{writable:!0,configurable:!0,value(...e){return Ce(n)[s].apply(this,e)}}),re.mergeStoreMethodFrom(t,n,s));const i=r(o,s,e(t,s));i&&Object.defineProperty(o,s,i)}))}function xe(t,r){return[t,r,e(t,r)]}function $e(e,t){for(const r of we(e)){const e=Object.getOwnPropertyDescriptor(r&&r.prototype||r,t);if(e)return e}}function ke(...e){return(...t)=>{e.filter((e=>!!e)).forEach((e=>{e(...t)}))}}function De(t){return(r,n)=>t(r,n,e(r,n))}function Ne(...t){return(r,n)=>{t.filter(Boolean).forEach((t=>t(r,n,e(r,n))))}}function Ie(e,t){let r="0.0.0.0",n=t;return"string"==typeof t&&t.indexOf(":")>-1&&([r,n]=t.split(":"),n=+n),{protocol:e,address:r,port:n,toString(){return[`${this.protocol}://${this.address}`,"number"==typeof this.port&&this.port].filter(Boolean).join(":")}}}async function je(e,t=(()=>r(340)(e)),n=!1){try{return await t()}catch(e){if(!n)throw e;return{}}}function Le(e,t=[]){return Object.entries(e).reduce(((e,[r,n])=>j(r)||t.includes(r)||void 0===n?e:{...e,[r]:n}),{})}function He(e){return"function"==typeof e?e:e.constructor}function Ue(e){return He(e)}function Ge(e){return e&&b(e)&&!e.prototype}function Be(e){return e===Object}function qe(e){return Be(d(e))&&e!==Object}function Fe(e){return!!e&&!Ge(e)&&!(M(e)||w(e)||Be(e)||O(e)||ce(e)||g(e)||$(e))}function Ke(e){return Fe(e)?d(e):e}function Ve(e){return`${(Ue(e).toString().split("\n").find((e=>e.indexOf("constructor(")>-1))||"constructor()").replace("{","").trim()}`}function Je(e){return Ve(e).split("constructor(")[1].split(")")[0].split(", ").filter(Boolean).map((e=>e.trim()))}function We(e,t){const r=d(e);if(r){const e=$e(r,t);if(e)return e.enumerable}return Object.prototype.propertyIsEnumerable.call(e,t)}function ze(e){const t=[];for(const r in e)!j(r)&&We(e,r)&&t.push(r);return t}function Xe(...e){const t=(e=>{const[t,r,n,s="."]=e;return ie(r)||A(t)?{expression:t,scope:r,defaultValue:n,separator:s}:{expression:r,scope:t,defaultValue:n,separator:s}})(e);let r=t.scope;const{expression:n,defaultValue:s,separator:o}=t;if(!n)return r;if(!r)return s;const i=n.split(o),a=e=>{if(r){if(void 0!==r[e]||ie(r)&&e in r)return r[e];if(b(r.get))return r.get(e)}};for(;(r=a(i.shift()))&&i.length;);return void 0===r?s:r}function Qe(e){return e&&"function"==typeof e.toJSON}function Ye(e){return g(e)||e===Map||e instanceof Map||e===Set||e instanceof Set||e===WeakMap||e instanceof WeakMap||e===WeakSet||e instanceof WeakSet}function Ze(e){return""===e||v(e)}function et(e,t,r=5){if(!e||!t)return!1;for(e=d(e),t=d(t);""!==F(e);){if(!r)return!1;if(e===t)return!0;e=Ae(e),r--}return!1}function tt(e){return!(!e||!e?._isAMomentObject)}function rt(e){return e&&e._bsontype}function nt(e){return!!(Qe(e)&&e.$isMongooseModelPrototype||rt(e))}function st(e){return!(Buffer.isBuffer(e)||ue(e)||S(e)||T(e)||A(e)||v(e))}function ot(e){return P(e)?"string":R(e)?"number":E(e)?"boolean":"any"}function it(e,t,r,n="."){const s=t.split(n);for(;o=s.shift(),i=!s.length,!j(o)&&(i?("function"==typeof e.set?e.set(o,r):e[o]=r,0):("function"==typeof e.set?(e.has(o)||e.set(o,{}),e=e.get(o)):e=e[o]=e[o]||{},1)););var o,i}function at(e){return e?A(e)?t=>t[e]:e:(e,t)=>String(t)}function ct(e,t){if(y(e)){const r=at(t||"id");return e.reduce(((e,t,n)=>([].concat(r(t,n)).forEach((r=>{const n=e.get(r);t=n?.merge?.(t)||t,e.set(r,t)})),e)),new Map)}const r=at(t);return Object.entries(e).reduce(((e,[t,n])=>e.set(r(n,t),n)),new Map)}})(),n})(),e.exports=t()},917:(e,t,r)=>{var n;self,n=(e,t)=>(()=>{"use strict";var r={133:(e,t,r)=>{e.exports=r(555)},379:e=>{const t="\\\\/",r=`[^${t}]`,n="\\.",s="\\/",o="[^/]",i=`(?:${s}|$)`,a=`(?:^|${s})`,c=`${n}{1,2}${i}`,u={DOT_LITERAL:n,PLUS_LITERAL:"\\+",QMARK_LITERAL:"\\?",SLASH_LITERAL:s,ONE_CHAR:"(?=.)",QMARK:o,END_ANCHOR:i,DOTS_SLASH:c,NO_DOT:`(?!${n})`,NO_DOTS:`(?!${a}${c})`,NO_DOT_SLASH:`(?!${n}{0,1}${i})`,NO_DOTS_SLASH:`(?!${c})`,QMARK_NO_DOT:`[^.${s}]`,STAR:`${o}*?`,START_ANCHOR:a,SEP:"/"},p={...u,SLASH_LITERAL:`[${t}]`,QMARK:r,STAR:`${r}*?`,DOTS_SLASH:`${n}{1,2}(?:[${t}]|$)`,NO_DOT:`(?!${n})`,NO_DOTS:`(?!(?:^|[${t}])${n}{1,2}(?:[${t}]|$))`,NO_DOT_SLASH:`(?!${n}{0,1}(?:[${t}]|$))`,NO_DOTS_SLASH:`(?!${n}{1,2}(?:[${t}]|$))`,QMARK_NO_DOT:`[^.${t}]`,START_ANCHOR:`(?:^|[${t}])`,END_ANCHOR:`(?:[${t}]|$)`,SEP:"\\"};e.exports={MAX_LENGTH:65536,POSIX_REGEX_SOURCE:{alnum:"a-zA-Z0-9",alpha:"a-zA-Z",ascii:"\\x00-\\x7F",blank:" \\t",cntrl:"\\x00-\\x1F\\x7F",digit:"0-9",graph:"\\x21-\\x7E",lower:"a-z",print:"\\x20-\\x7E ",punct:"\\-!\"#$%&'()\\*+,./:;<=>?@[\\]^_`{|}~",space:" \\t\\r\\n\\v\\f",upper:"A-Z",word:"A-Za-z0-9_",xdigit:"A-Fa-f0-9"},REGEX_BACKSLASH:/\\(?![*+?^${}(|)[\]])/g,REGEX_NON_SPECIAL_CHARS:/^[^@![\].,$*+?^{}()|\\/]+/,REGEX_SPECIAL_CHARS:/[-*+?.^${}(|)[\]]/,REGEX_SPECIAL_CHARS_BACKREF:/(\\?)((\W)(\3*))/g,REGEX_SPECIAL_CHARS_GLOBAL:/([-*+?.^${}(|)[\]])/g,REGEX_REMOVE_BACKSLASH:/(?:\[.*?[^\\]\]|\\(?=.))/g,REPLACEMENTS:{"***":"*","**/**":"**","**/**/**":"**"},CHAR_0:48,CHAR_9:57,CHAR_UPPERCASE_A:65,CHAR_LOWERCASE_A:97,CHAR_UPPERCASE_Z:90,CHAR_LOWERCASE_Z:122,CHAR_LEFT_PARENTHESES:40,CHAR_RIGHT_PARENTHESES:41,CHAR_ASTERISK:42,CHAR_AMPERSAND:38,CHAR_AT:64,CHAR_BACKWARD_SLASH:92,CHAR_CARRIAGE_RETURN:13,CHAR_CIRCUMFLEX_ACCENT:94,CHAR_COLON:58,CHAR_COMMA:44,CHAR_DOT:46,CHAR_DOUBLE_QUOTE:34,CHAR_EQUAL:61,CHAR_EXCLAMATION_MARK:33,CHAR_FORM_FEED:12,CHAR_FORWARD_SLASH:47,CHAR_GRAVE_ACCENT:96,CHAR_HASH:35,CHAR_HYPHEN_MINUS:45,CHAR_LEFT_ANGLE_BRACKET:60,CHAR_LEFT_CURLY_BRACE:123,CHAR_LEFT_SQUARE_BRACKET:91,CHAR_LINE_FEED:10,CHAR_NO_BREAK_SPACE:160,CHAR_PERCENT:37,CHAR_PLUS:43,CHAR_QUESTION_MARK:63,CHAR_RIGHT_ANGLE_BRACKET:62,CHAR_RIGHT_CURLY_BRACE:125,CHAR_RIGHT_SQUARE_BRACKET:93,CHAR_SEMICOLON:59,CHAR_SINGLE_QUOTE:39,CHAR_SPACE:32,CHAR_TAB:9,CHAR_UNDERSCORE:95,CHAR_VERTICAL_LINE:124,CHAR_ZERO_WIDTH_NOBREAK_SPACE:65279,extglobChars:e=>({"!":{type:"negate",open:"(?:(?!(?:",close:`))${e.STAR})`},"?":{type:"qmark",open:"(?:",close:")?"},"+":{type:"plus",open:"(?:",close:")+"},"*":{type:"star",open:"(?:",close:")*"},"@":{type:"at",open:"(?:",close:")"}}),globChars:e=>!0===e?p:u}},390:(e,t,r)=>{const n=r(379),s=r(290),{MAX_LENGTH:o,POSIX_REGEX_SOURCE:i,REGEX_NON_SPECIAL_CHARS:a,REGEX_SPECIAL_CHARS_BACKREF:c,REPLACEMENTS:u}=n,p=(e,t)=>{if("function"==typeof t.expandRange)return t.expandRange(...e,t);e.sort();const r=`[${e.join("-")}]`;try{new RegExp(r)}catch(t){return e.map((e=>s.escapeRegex(e))).join("..")}return r},h=(e,t)=>`Missing ${e}: "${t}" - use "\\\\${t}" to match literal characters`,l=(e,t)=>{if("string"!=typeof e)throw new TypeError("Expected a string");e=u[e]||e;const r={...t},l="number"==typeof r.maxLength?Math.min(o,r.maxLength):o;let f=e.length;if(f>l)throw new SyntaxError(`Input length: ${f}, exceeds maximum allowed length: ${l}`);const d={type:"bos",value:"",output:r.prepend||""},m=[d],y=r.capture?"":"?:",g=n.globChars(r.windows),O=n.extglobChars(g),{DOT_LITERAL:b,PLUS_LITERAL:v,SLASH_LITERAL:S,ONE_CHAR:E,DOTS_SLASH:T,NO_DOT:R,NO_DOT_SLASH:A,NO_DOTS_SLASH:P,QMARK:w,QMARK_NO_DOT:C,STAR:_,START_ANCHOR:M}=g,x=e=>`(${y}(?:(?!${M}${e.dot?T:b}).)*?)`,$=r.dot?"":R,k=r.dot?w:C;let D=!0===r.bash?x(r):_;r.capture&&(D=`(${D})`),"boolean"==typeof r.noext&&(r.noextglob=r.noext);const N={input:e,index:-1,start:0,dot:!0===r.dot,consumed:"",output:"",prefix:"",backtrack:!1,negated:!1,brackets:0,braces:0,parens:0,quotes:0,globstar:!1,tokens:m};e=s.removePrefix(e,N),f=e.length;const I=[],j=[],L=[];let H,U=d;const G=()=>N.index===f-1,B=N.peek=(t=1)=>e[N.index+t],q=N.advance=()=>e[++N.index],F=()=>e.slice(N.index+1),K=(e="",t=0)=>{N.consumed+=e,N.index+=t},V=e=>{N.output+=null!=e.output?e.output:e.value,K(e.value)},J=()=>{let e=1;for(;"!"===B()&&("("!==B(2)||"?"===B(3));)q(),N.start++,e++;return e%2!=0&&(N.negated=!0,N.start++,!0)},W=e=>{N[e]++,L.push(e)},z=e=>{N[e]--,L.pop()},X=e=>{if("globstar"===U.type){const t=N.braces>0&&("comma"===e.type||"brace"===e.type),r=!0===e.extglob||I.length&&("pipe"===e.type||"paren"===e.type);"slash"===e.type||"paren"===e.type||t||r||(N.output=N.output.slice(0,-U.output.length),U.type="star",U.value="*",U.output=D,N.output+=U.output)}if(I.length&&"paren"!==e.type&&!O[e.value]&&(I[I.length-1].inner+=e.value),(e.value||e.output)&&V(e),U&&"text"===U.type&&"text"===e.type)return U.value+=e.value,void(U.output=(U.output||"")+e.value);e.prev=U,m.push(e),U=e},Q=(e,t)=>{const n={...O[t],conditions:1,inner:""};n.prev=U,n.parens=N.parens,n.output=N.output;const s=(r.capture?"(":"")+n.open;W("parens"),X({type:e,value:t,output:N.output?"":E}),X({type:"paren",extglob:!0,value:q(),output:s}),I.push(n)},Y=e=>{let t=e.close+(r.capture?")":"");if("negate"===e.type){let n=D;e.inner&&e.inner.length>1&&e.inner.includes("/")&&(n=x(r)),(n!==D||G()||/^\)+$/.test(F()))&&(t=e.close=`)$))${n}`),"bos"===e.prev.type&&G()&&(N.negatedExtglob=!0)}X({type:"paren",extglob:!0,value:H,output:t}),z("parens")};if(!1!==r.fastpaths&&!/(^[*!]|[/()[\]{}"])/.test(e)){let n=!1,o=e.replace(c,((e,t,r,s,o,i)=>"\\"===s?(n=!0,e):"?"===s?t?t+s+(o?w.repeat(o.length):""):0===i?k+(o?w.repeat(o.length):""):w.repeat(r.length):"."===s?b.repeat(r.length):"*"===s?t?t+s+(o?D:""):D:t?e:`\\${e}`));return!0===n&&(o=!0===r.unescape?o.replace(/\\/g,""):o.replace(/\\+/g,(e=>e.length%2==0?"\\\\":e?"\\":""))),o===e&&!0===r.contains?(N.output=e,N):(N.output=s.wrapOutput(o,N,t),N)}for(;!G();){if(H=q(),"\0"===H)continue;if("\\"===H){const e=B();if("/"===e&&!0!==r.bash)continue;if("."===e||";"===e)continue;if(!e){H+="\\",X({type:"text",value:H});continue}const t=/^\\+/.exec(F());let n=0;if(t&&t[0].length>2&&(n=t[0].length,N.index+=n,n%2!=0&&(H+="\\")),!0===r.unescape?H=q()||"":H+=q()||"",0===N.brackets){X({type:"text",value:H});continue}}if(N.brackets>0&&("]"!==H||"["===U.value||"[^"===U.value)){if(!1!==r.posix&&":"===H){const e=U.value.slice(1);if(e.includes("[")&&(U.posix=!0,e.includes(":"))){const e=U.value.lastIndexOf("["),t=U.value.slice(0,e),r=U.value.slice(e+2),n=i[r];if(n){U.value=t+n,N.backtrack=!0,q(),d.output||1!==m.indexOf(U)||(d.output=E);continue}}}("["===H&&":"!==B()||"-"===H&&"]"===B())&&(H=`\\${H}`),"]"!==H||"["!==U.value&&"[^"!==U.value||(H=`\\${H}`),!0===r.posix&&"!"===H&&"["===U.value&&(H="^"),U.value+=H,V({value:H});continue}if(1===N.quotes&&'"'!==H){H=s.escapeRegex(H),U.value+=H,V({value:H});continue}if('"'===H){N.quotes=1===N.quotes?0:1,!0===r.keepQuotes&&X({type:"text",value:H});continue}if("("===H){W("parens"),X({type:"paren",value:H});continue}if(")"===H){if(0===N.parens&&!0===r.strictBrackets)throw new SyntaxError(h("opening","("));const e=I[I.length-1];if(e&&N.parens===e.parens+1){Y(I.pop());continue}X({type:"paren",value:H,output:N.parens?")":"\\)"}),z("parens");continue}if("["===H){if(!0!==r.nobracket&&F().includes("]"))W("brackets");else{if(!0!==r.nobracket&&!0===r.strictBrackets)throw new SyntaxError(h("closing","]"));H=`\\${H}`}X({type:"bracket",value:H});continue}if("]"===H){if(!0===r.nobracket||U&&"bracket"===U.type&&1===U.value.length){X({type:"text",value:H,output:`\\${H}`});continue}if(0===N.brackets){if(!0===r.strictBrackets)throw new SyntaxError(h("opening","["));X({type:"text",value:H,output:`\\${H}`});continue}z("brackets");const e=U.value.slice(1);if(!0===U.posix||"^"!==e[0]||e.includes("/")||(H=`/${H}`),U.value+=H,V({value:H}),!1===r.literalBrackets||s.hasRegexChars(e))continue;const t=s.escapeRegex(U.value);if(N.output=N.output.slice(0,-U.value.length),!0===r.literalBrackets){N.output+=t,U.value=t;continue}U.value=`(${y}${t}|${U.value})`,N.output+=U.value;continue}if("{"===H&&!0!==r.nobrace){W("braces");const e={type:"brace",value:H,output:"(",outputIndex:N.output.length,tokensIndex:N.tokens.length};j.push(e),X(e);continue}if("}"===H){const e=j[j.length-1];if(!0===r.nobrace||!e){X({type:"text",value:H,output:H});continue}let t=")";if(!0===e.dots){const e=m.slice(),n=[];for(let t=e.length-1;t>=0&&(m.pop(),"brace"!==e[t].type);t--)"dots"!==e[t].type&&n.unshift(e[t].value);t=p(n,r),N.backtrack=!0}if(!0!==e.comma&&!0!==e.dots){const r=N.output.slice(0,e.outputIndex),n=N.tokens.slice(e.tokensIndex);e.value=e.output="\\{",H=t="\\}",N.output=r;for(const e of n)N.output+=e.output||e.value}X({type:"brace",value:H,output:t}),z("braces"),j.pop();continue}if("|"===H){I.length>0&&I[I.length-1].conditions++,X({type:"text",value:H});continue}if(","===H){let e=H;const t=j[j.length-1];t&&"braces"===L[L.length-1]&&(t.comma=!0,e="|"),X({type:"comma",value:H,output:e});continue}if("/"===H){if("dot"===U.type&&N.index===N.start+1){N.start=N.index+1,N.consumed="",N.output="",m.pop(),U=d;continue}X({type:"slash",value:H,output:S});continue}if("."===H){if(N.braces>0&&"dot"===U.type){"."===U.value&&(U.output=b);const e=j[j.length-1];U.type="dots",U.output+=H,U.value+=H,e.dots=!0;continue}if(N.braces+N.parens===0&&"bos"!==U.type&&"slash"!==U.type){X({type:"text",value:H,output:b});continue}X({type:"dot",value:H,output:b});continue}if("?"===H){if((!U||"("!==U.value)&&!0!==r.noextglob&&"("===B()&&"?"!==B(2)){Q("qmark",H);continue}if(U&&"paren"===U.type){const e=B();let t=H;if("<"===e&&!s.supportsLookbehinds())throw new Error("Node.js v10 or higher is required for regex lookbehinds");("("===U.value&&!/[!=<:]/.test(e)||"<"===e&&!/<([!=]|\w+>)/.test(F()))&&(t=`\\${H}`),X({type:"text",value:H,output:t});continue}if(!0!==r.dot&&("slash"===U.type||"bos"===U.type)){X({type:"qmark",value:H,output:C});continue}X({type:"qmark",value:H,output:w});continue}if("!"===H){if(!0!==r.noextglob&&"("===B()&&("?"!==B(2)||!/[!=<:]/.test(B(3)))){Q("negate",H);continue}if(!0!==r.nonegate&&0===N.index){J();continue}}if("+"===H){if(!0!==r.noextglob&&"("===B()&&"?"!==B(2)){Q("plus",H);continue}if(U&&"("===U.value||!1===r.regex){X({type:"plus",value:H,output:v});continue}if(U&&("bracket"===U.type||"paren"===U.type||"brace"===U.type)||N.parens>0){X({type:"plus",value:H});continue}X({type:"plus",value:v});continue}if("@"===H){if(!0!==r.noextglob&&"("===B()&&"?"!==B(2)){X({type:"at",extglob:!0,value:H,output:""});continue}X({type:"text",value:H});continue}if("*"!==H){"$"!==H&&"^"!==H||(H=`\\${H}`);const e=a.exec(F());e&&(H+=e[0],N.index+=e[0].length),X({type:"text",value:H});continue}if(U&&("globstar"===U.type||!0===U.star)){U.type="star",U.star=!0,U.value+=H,U.output=D,N.backtrack=!0,N.globstar=!0,K(H);continue}let t=F();if(!0!==r.noextglob&&/^\([^?]/.test(t)){Q("star",H);continue}if("star"===U.type){if(!0===r.noglobstar){K(H);continue}const n=U.prev,s=n.prev,o="slash"===n.type||"bos"===n.type,i=s&&("star"===s.type||"globstar"===s.type);if(!0===r.bash&&(!o||t[0]&&"/"!==t[0])){X({type:"star",value:H,output:""});continue}const a=N.braces>0&&("comma"===n.type||"brace"===n.type),c=I.length&&("pipe"===n.type||"paren"===n.type);if(!o&&"paren"!==n.type&&!a&&!c){X({type:"star",value:H,output:""});continue}for(;"/**"===t.slice(0,3);){const r=e[N.index+4];if(r&&"/"!==r)break;t=t.slice(3),K("/**",3)}if("bos"===n.type&&G()){U.type="globstar",U.value+=H,U.output=x(r),N.output=U.output,N.globstar=!0,K(H);continue}if("slash"===n.type&&"bos"!==n.prev.type&&!i&&G()){N.output=N.output.slice(0,-(n.output+U.output).length),n.output=`(?:${n.output}`,U.type="globstar",U.output=x(r)+(r.strictSlashes?")":"|$)"),U.value+=H,N.globstar=!0,N.output+=n.output+U.output,K(H);continue}if("slash"===n.type&&"bos"!==n.prev.type&&"/"===t[0]){const e=void 0!==t[1]?"|$":"";N.output=N.output.slice(0,-(n.output+U.output).length),n.output=`(?:${n.output}`,U.type="globstar",U.output=`${x(r)}${S}|${S}${e})`,U.value+=H,N.output+=n.output+U.output,N.globstar=!0,K(H+q()),X({type:"slash",value:"/",output:""});continue}if("bos"===n.type&&"/"===t[0]){U.type="globstar",U.value+=H,U.output=`(?:^|${S}|${x(r)}${S})`,N.output=U.output,N.globstar=!0,K(H+q()),X({type:"slash",value:"/",output:""});continue}N.output=N.output.slice(0,-U.output.length),U.type="globstar",U.output=x(r),U.value+=H,N.output+=U.output,N.globstar=!0,K(H);continue}const n={type:"star",value:H,output:D};!0!==r.bash?!U||"bracket"!==U.type&&"paren"!==U.type||!0!==r.regex?(N.index!==N.start&&"slash"!==U.type&&"dot"!==U.type||("dot"===U.type?(N.output+=A,U.output+=A):!0===r.dot?(N.output+=P,U.output+=P):(N.output+=$,U.output+=$),"*"!==B()&&(N.output+=E,U.output+=E)),X(n)):(n.output=H,X(n)):(n.output=".*?","bos"!==U.type&&"slash"!==U.type||(n.output=$+n.output),X(n))}for(;N.brackets>0;){if(!0===r.strictBrackets)throw new SyntaxError(h("closing","]"));N.output=s.escapeLast(N.output,"["),z("brackets")}for(;N.parens>0;){if(!0===r.strictBrackets)throw new SyntaxError(h("closing",")"));N.output=s.escapeLast(N.output,"("),z("parens")}for(;N.braces>0;){if(!0===r.strictBrackets)throw new SyntaxError(h("closing","}"));N.output=s.escapeLast(N.output,"{"),z("braces")}if(!0===r.strictSlashes||"star"!==U.type&&"bracket"!==U.type||X({type:"maybe_slash",value:"",output:`${S}?`}),!0===N.backtrack){N.output="";for(const e of N.tokens)N.output+=null!=e.output?e.output:e.value,e.suffix&&(N.output+=e.suffix)}return N};l.fastpaths=(e,t)=>{const r={...t},i="number"==typeof r.maxLength?Math.min(o,r.maxLength):o,a=e.length;if(a>i)throw new SyntaxError(`Input length: ${a}, exceeds maximum allowed length: ${i}`);e=u[e]||e;const{DOT_LITERAL:c,SLASH_LITERAL:p,ONE_CHAR:h,DOTS_SLASH:l,NO_DOT:f,NO_DOTS:d,NO_DOTS_SLASH:m,STAR:y,START_ANCHOR:g}=n.globChars(r.windows),O=r.dot?d:f,b=r.dot?m:f,v=r.capture?"":"?:";let S=!0===r.bash?".*?":y;r.capture&&(S=`(${S})`);const E=e=>!0===e.noglobstar?S:`(${v}(?:(?!${g}${e.dot?l:c}).)*?)`,T=e=>{switch(e){case"*":return`${O}${h}${S}`;case".*":return`${c}${h}${S}`;case"*.*":return`${O}${S}${c}${h}${S}`;case"*/*":return`${O}${S}${p}${h}${b}${S}`;case"**":return O+E(r);case"**/*":return`(?:${O}${E(r)}${p})?${b}${h}${S}`;case"**/*.*":return`(?:${O}${E(r)}${p})?${b}${S}${c}${h}${S}`;case"**/.*":return`(?:${O}${E(r)}${p})?${c}${h}${S}`;default:{const t=/^(.*?)\.(\w+)$/.exec(e);if(!t)return;const r=T(t[1]);if(!r)return;return r+c+t[2]}}},R=s.removePrefix(e,{negated:!1,prefix:""});let A=T(R);return A&&!0!==r.strictSlashes&&(A+=`${p}?`),A},e.exports=l},555:(e,t,r)=>{const n=r(270),s=r(390),o=r(290),i=r(379),a=(e,t,r=!1)=>{if(Array.isArray(e)){const n=e.map((e=>a(e,t,r))),s=e=>{for(const t of n){const r=t(e);if(r)return r}return!1};return s}const n=(s=e)&&"object"==typeof s&&!Array.isArray(s)&&e.tokens&&e.input;var s;if(""===e||"string"!=typeof e&&!n)throw new TypeError("Expected pattern to be a non-empty string");const o=t||{},i=o.windows,c=n?a.compileRe(e,t):a.makeRe(e,t,!1,!0),u=c.state;delete c.state;let p=()=>!1;if(o.ignore){const e={...t,ignore:null,onMatch:null,onResult:null};p=a(o.ignore,e,r)}const h=(r,n=!1)=>{const{isMatch:s,match:h,output:l}=a.test(r,c,t,{glob:e,posix:i}),f={glob:e,state:u,regex:c,posix:i,input:r,output:l,match:h,isMatch:s};return"function"==typeof o.onResult&&o.onResult(f),!1===s?(f.isMatch=!1,!!n&&f):p(r)?("function"==typeof o.onIgnore&&o.onIgnore(f),f.isMatch=!1,!!n&&f):("function"==typeof o.onMatch&&o.onMatch(f),!n||f)};return r&&(h.state=u),h};a.test=(e,t,r,{glob:n,posix:s}={})=>{if("string"!=typeof e)throw new TypeError("Expected input to be a string");if(""===e)return{isMatch:!1,output:""};const i=r||{},c=i.format||(s?o.toPosixSlashes:null);let u=e===n,p=u&&c?c(e):e;return!1===u&&(p=c?c(e):e,u=p===n),!1!==u&&!0!==i.capture||(u=!0===i.matchBase||!0===i.basename?a.matchBase(e,t,r,s):t.exec(p)),{isMatch:Boolean(u),match:u,output:p}},a.matchBase=(e,t,r)=>(t instanceof RegExp?t:a.makeRe(t,r)).test(o.basename(e)),a.isMatch=(e,t,r)=>a(t,r)(e),a.parse=(e,t)=>Array.isArray(e)?e.map((e=>a.parse(e,t))):s(e,{...t,fastpaths:!1}),a.scan=(e,t)=>n(e,t),a.compileRe=(e,t,r=!1,n=!1)=>{if(!0===r)return e.output;const s=t||{},o=s.contains?"":"^",i=s.contains?"":"$";let c=`${o}(?:${e.output})${i}`;e&&!0===e.negated&&(c=`^(?!${c}).*$`);const u=a.toRegex(c,t);return!0===n&&(u.state=e),u},a.makeRe=(e,t,r=!1,n=!1)=>{if(!e||"string"!=typeof e)throw new TypeError("Expected a non-empty string");const o=t||{};let i,c={negated:!1,fastpaths:!0},u="";return e.startsWith("./")&&(e=e.slice(2),u=c.prefix="./"),!1===o.fastpaths||"."!==e[0]&&"*"!==e[0]||(i=s.fastpaths(e,t)),void 0===i?(c=s(e,t),c.prefix=u+(c.prefix||"")):c.output=i,a.compileRe(c,t,r,n)},a.toRegex=(e,t)=>{try{const r=t||{};return new RegExp(e,r.flags||(r.nocase?"i":""))}catch(e){if(t&&!0===t.debug)throw e;return/$^/}},a.constants=i,e.exports=a},270:(e,t,r)=>{const n=r(290),{CHAR_ASTERISK:s,CHAR_AT:o,CHAR_BACKWARD_SLASH:i,CHAR_COMMA:a,CHAR_DOT:c,CHAR_EXCLAMATION_MARK:u,CHAR_FORWARD_SLASH:p,CHAR_LEFT_CURLY_BRACE:h,CHAR_LEFT_PARENTHESES:l,CHAR_LEFT_SQUARE_BRACKET:f,CHAR_PLUS:d,CHAR_QUESTION_MARK:m,CHAR_RIGHT_CURLY_BRACE:y,CHAR_RIGHT_PARENTHESES:g,CHAR_RIGHT_SQUARE_BRACKET:O}=r(379),b=e=>e===p||e===i,v=e=>{!0!==e.isPrefix&&(e.depth=e.isGlobstar?1/0:1)};e.exports=(e,t)=>{const r=t||{},S=e.length-1,E=!0===r.parts||!0===r.scanToEnd,T=[],R=[],A=[];let P,w,C=e,_=-1,M=0,x=0,$=!1,k=!1,D=!1,N=!1,I=!1,j=!1,L=!1,H=!1,U=!1,G=0,B={value:"",depth:0,isGlob:!1};const q=()=>_>=S,F=()=>(P=w,C.charCodeAt(++_));for(;_<S;){let e;if(w=F(),w!==i){if(!0===j||w===h){for(G++;!0!==q()&&(w=F());)if(w!==i)if(w!==h){if(!0!==j&&w===c&&(w=F())===c){if($=B.isBrace=!0,D=B.isGlob=!0,U=!0,!0===E)continue;break}if(!0!==j&&w===a){if($=B.isBrace=!0,D=B.isGlob=!0,U=!0,!0===E)continue;break}if(w===y&&(G--,0===G)){j=!1,$=B.isBrace=!0,U=!0;break}}else G++;else L=B.backslashes=!0,F();if(!0===E)continue;break}if(w!==p){if(!0!==r.noext&&1==(w===d||w===o||w===s||w===m||w===u)&&C.charCodeAt(_+1)===l){if(D=B.isGlob=!0,N=B.isExtglob=!0,U=!0,!0===E){for(;!0!==q()&&(w=F());)if(w!==i){if(w===g){D=B.isGlob=!0,U=!0;break}}else L=B.backslashes=!0,w=F();continue}break}if(w===s){if(P===s&&(I=B.isGlobstar=!0),D=B.isGlob=!0,U=!0,!0===E)continue;break}if(w===m){if(D=B.isGlob=!0,U=!0,!0===E)continue;break}if(w===f)for(;!0!==q()&&(e=F());)if(e!==i){if(e===O){if(k=B.isBracket=!0,D=B.isGlob=!0,U=!0,!0===E)continue;break}}else L=B.backslashes=!0,F();if(!0===r.nonegate||w!==u||_!==M){if(!0!==r.noparen&&w===l){if(D=B.isGlob=!0,!0===E){for(;!0!==q()&&(w=F());)if(w!==l){if(w===g){U=!0;break}}else L=B.backslashes=!0,w=F();continue}break}if(!0===D){if(U=!0,!0===E)continue;break}}else H=B.negated=!0,M++}else{if(T.push(_),R.push(B),B={value:"",depth:0,isGlob:!1},!0===U)continue;if(P===c&&_===M+1){M+=2;continue}x=_+1}}else L=B.backslashes=!0,w=F(),w===h&&(j=!0)}!0===r.noext&&(N=!1,D=!1);let K=C,V="",J="";M>0&&(V=C.slice(0,M),C=C.slice(M),x-=M),K&&!0===D&&x>0?(K=C.slice(0,x),J=C.slice(x)):!0===D?(K="",J=C):K=C,K&&""!==K&&"/"!==K&&K!==C&&b(K.charCodeAt(K.length-1))&&(K=K.slice(0,-1)),!0===r.unescape&&(J&&(J=n.removeBackslashes(J)),K&&!0===L&&(K=n.removeBackslashes(K)));const W={prefix:V,input:e,start:M,base:K,glob:J,isBrace:$,isBracket:k,isGlob:D,isExtglob:N,isGlobstar:I,negated:H};if(!0===r.tokens&&(W.maxDepth=0,b(w)||R.push(B),W.tokens=R),!0===r.parts||!0===r.tokens){let t;for(let n=0;n<T.length;n++){const s=t?t+1:M,o=T[n],i=e.slice(s,o);r.tokens&&(0===n&&0!==M?(R[n].isPrefix=!0,R[n].value=V):R[n].value=i,v(R[n]),W.maxDepth+=R[n].depth),0===n&&""===i||A.push(i),t=o}if(t&&t+1<e.length){const n=e.slice(t+1);A.push(n),r.tokens&&(R[R.length-1].value=n,v(R[R.length-1]),W.maxDepth+=R[R.length-1].depth)}W.slashes=T,W.parts=A}return W}},290:(e,t,r)=>{const{REGEX_BACKSLASH:n,REGEX_REMOVE_BACKSLASH:s,REGEX_SPECIAL_CHARS:o,REGEX_SPECIAL_CHARS_GLOBAL:i}=r(379);t.isObject=e=>null!==e&&"object"==typeof e&&!Array.isArray(e),t.hasRegexChars=e=>o.test(e),t.isRegexChar=e=>1===e.length&&t.hasRegexChars(e),t.escapeRegex=e=>e.replace(i,"\\$1"),t.toPosixSlashes=e=>e.replace(n,"/"),t.removeBackslashes=e=>e.replace(s,(e=>"\\"===e?"":e)),t.supportsLookbehinds=()=>{const e=process.version.slice(1).split(".").map(Number);return 3===e.length&&e[0]>=9||8===e[0]&&e[1]>=10},t.escapeLast=(e,r,n)=>{const s=e.lastIndexOf(r,n);return-1===s?e:"\\"===e[s-1]?t.escapeLast(e,r,s-1):`${e.slice(0,s)}\\${e.slice(s)}`},t.removePrefix=(e,t={})=>{let r=e;return r.startsWith("./")&&(r=r.slice(2),t.prefix="./"),r},t.wrapOutput=(e,t={},r={})=>{let n=`${r.contains?"":"^"}(?:${e})${r.contains?"":"$"}`;return!0===t.negated&&(n=`(?:^(?!${n}).*$)`),n},t.basename=(e,{windows:t}={})=>t?e.replace(/[\\/]$/,"").replace(/.*[\\/]/,""):e.replace(/\/$/,"").replace(/.*\//,"")},203:(e,t,r)=>{var n=r(739);function s(e){if(!Object.prototype.hasOwnProperty.call(o.message,e))throw new Error("invalid status code: "+e);return o.message[e]}function o(e){if("number"==typeof e)return s(e);if("string"!=typeof e)throw new TypeError("code must be a number or string");var t=parseInt(e,10);return isNaN(t)?function(e){var t=e.toLowerCase();if(!Object.prototype.hasOwnProperty.call(o.code,t))throw new Error('invalid status message: "'+e+'"');return o.code[t]}(e):s(t)}e.exports=o,o.message=n,o.code=function(e){var t={};return Object.keys(e).forEach((function(r){var n=e[r],s=Number(r);t[n.toLowerCase()]=s})),t}(n),o.codes=function(e){return Object.keys(e).map((function(e){return Number(e)}))}(n),o.redirect={300:!0,301:!0,302:!0,303:!0,305:!0,307:!0,308:!0},o.empty={204:!0,205:!0,304:!0},o.retry={502:!0,503:!0,504:!0}},803:e=>{e.exports=t},598:t=>{t.exports=e},739:e=>{e.exports=JSON.parse('{"100":"Continue","101":"Switching Protocols","102":"Processing","103":"Early Hints","200":"OK","201":"Created","202":"Accepted","203":"Non-Authoritative Information","204":"No Content","205":"Reset Content","206":"Partial Content","207":"Multi-Status","208":"Already Reported","226":"IM Used","300":"Multiple Choices","301":"Moved Permanently","302":"Found","303":"See Other","304":"Not Modified","305":"Use Proxy","307":"Temporary Redirect","308":"Permanent Redirect","400":"Bad Request","401":"Unauthorized","402":"Payment Required","403":"Forbidden","404":"Not Found","405":"Method Not Allowed","406":"Not Acceptable","407":"Proxy Authentication Required","408":"Request Timeout","409":"Conflict","410":"Gone","411":"Length Required","412":"Precondition Failed","413":"Payload Too Large","414":"URI Too Long","415":"Unsupported Media Type","416":"Range Not Satisfiable","417":"Expectation Failed","418":"I\'m a Teapot","421":"Misdirected Request","422":"Unprocessable Entity","423":"Locked","424":"Failed Dependency","425":"Too Early","426":"Upgrade Required","428":"Precondition Required","429":"Too Many Requests","431":"Request Header Fields Too Large","451":"Unavailable For Legal Reasons","500":"Internal Server Error","501":"Not Implemented","502":"Bad Gateway","503":"Service Unavailable","504":"Gateway Timeout","505":"HTTP Version Not Supported","506":"Variant Also Negotiates","507":"Insufficient Storage","508":"Loop Detected","509":"Bandwidth Limit Exceeded","510":"Not Extended","511":"Network Authentication Required"}')}},n={};function s(e){var t=n[e];if(void 0!==t)return t.exports;var o=n[e]={exports:{}};return r[e](o,o.exports,s),o.exports}s.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return s.d(t,{a:t}),t},s.d=(e,t)=>{for(var r in t)s.o(t,r)&&!s.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},s.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),s.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var o={};return(()=>{s.r(o),s.d(o,{AcceptMime:()=>qr,AdditionalProperties:()=>gt,All:()=>yn,AllOf:()=>Ot,Allow:()=>vt,Any:()=>St,AnyOf:()=>Et,ArrayOf:()=>at,Children:()=>st,CollectionContains:()=>ut,CollectionOf:()=>it,Const:()=>Tt,Consumes:()=>Fr,ContentType:()=>Yr,Converter:()=>rs,CustomKey:()=>Rt,CustomKeys:()=>At,DateFormat:()=>qt,DateTime:()=>Bt,DecoratorContext:()=>Kr,Default:()=>Pt,DefaultMsg:()=>wt,Delete:()=>vn,Deprecated:()=>Zr,Description:()=>Ct,Discriminator:()=>P,DiscriminatorKey:()=>_t,DiscriminatorValue:()=>ot,Email:()=>Gt,EndpointMetadata:()=>z,Enum:()=>Mt,ErrorMsg:()=>pt,Example:()=>xt,Examples:()=>$t,ExclusiveMaximum:()=>Nt,ExclusiveMinimum:()=>Lt,For:()=>lr,Format:()=>Ut,ForwardGroups:()=>Jt,GenericOf:()=>Ur,Generics:()=>Gr,Get:()=>gn,Groups:()=>Yt,HTTP_STATUS_MESSAGES:()=>Be,Head:()=>Sn,Header:()=>en,Hidden:()=>Zt,Ignore:()=>er,In:()=>tn,InFile:()=>rn,Integer:()=>tr,JSON_TYPES:()=>S,JsonClassStore:()=>x,JsonEntitiesContainer:()=>m,JsonEntityComponent:()=>M,JsonEntityFn:()=>nt,JsonEntityStore:()=>y,JsonFormatTypes:()=>Ht,JsonLazyRef:()=>he,JsonMap:()=>D,JsonMedia:()=>K,JsonMethodStore:()=>W,JsonOperation:()=>J,JsonOperationPathsMap:()=>Q,JsonOperationRoute:()=>xn,JsonParameter:()=>L,JsonParameterStore:()=>H,JsonParameterTypes:()=>N,JsonPropertyStore:()=>$,JsonRequestBody:()=>Je,JsonResponse:()=>V,JsonSchema:()=>_,Location:()=>nn,MapOf:()=>ct,Max:()=>Dt,MaxItems:()=>lt,MaxLength:()=>rr,MaxProperties:()=>ft,Maximum:()=>kt,Min:()=>jt,MinItems:()=>dt,MinLength:()=>nr,MinProperties:()=>mt,Minimum:()=>It,MultipleOf:()=>sr,Name:()=>or,Nullable:()=>ir,OPERATION_HTTP_VERBS:()=>r,OPERATION_WS_VERBS:()=>n,OneOf:()=>ar,Operation:()=>cn,OperationId:()=>un,OperationMethods:()=>i,OperationPath:()=>pn,OperationVerbs:()=>e,Optional:()=>cr,Options:()=>Tn,ParamMetadata:()=>U,Partial:()=>hn,Patch:()=>En,Path:()=>ln,Pattern:()=>ur,Post:()=>On,Produces:()=>Br,Property:()=>bt,PropertyMetadata:()=>k,Publish:()=>fn,Put:()=>bn,ReadOnly:()=>pr,RecordOf:()=>fr,Redirect:()=>dn,Required:()=>dr,RequiredGroups:()=>mr,Returns:()=>Qr,Route:()=>mn,Schema:()=>hr,Security:()=>Rn,SpecTypes:()=>ne,Status:()=>An,Subscribe:()=>Pn,Summary:()=>wn,Tags:()=>Cn,TimeFormat:()=>Ft,Title:()=>yr,TypeError:()=>gr,UniqueItems:()=>yt,Uri:()=>Kt,Url:()=>Vt,View:()=>_n,WriteOnly:()=>Or,allOf:()=>jr,alterIgnore:()=>Ee,alterOneOf:()=>Ce,alterRequiredGroups:()=>_e,any:()=>Dr,anyMapper:()=>me,anyOf:()=>Nr,array:()=>Mr,boolean:()=>Tr,buildPath:()=>f,channelsMapper:()=>re,classMapper:()=>ye,concatParameters:()=>Xe,concatPath:()=>Mn,createRef:()=>fe,createRefName:()=>le,date:()=>Rr,datetime:()=>Ar,defineStatusModel:()=>Jr,email:()=>wr,enums:()=>Hr,enumsRegistry:()=>b,execMapper:()=>p,formatParameterType:()=>I,from:()=>br,generateSpec:()=>ss,genericsMapper:()=>ge,getComputedType:()=>v,getGenericsMap:()=>ie,getInheritedStores:()=>Y,getJsonEntityStore:()=>X,getJsonPathParameters:()=>Qe,getJsonSchema:()=>is,getJsonSchemaMapper:()=>u,getJsonType:()=>E,getOperationId:()=>Ze,getOperationsRoutes:()=>as,getOperationsStores:()=>Z,getProperties:()=>us,getPropertiesStores:()=>cs,getRequiredProperties:()=>Me,getSpec:()=>Hn,getSpecType:()=>Un,getSpecTypeFromSpec:()=>Gn,getStatusConstant:()=>qe,getStatusMessage:()=>Fe,getStatusModel:()=>Wr,hasMapper:()=>h,inheritedClassMapper:()=>Oe,inlineEnums:()=>xe,integer:()=>Sr,isParameterType:()=>j,isRedirectionStatus:()=>B,isSuccessStatus:()=>G,itemMapper:()=>be,lazyRef:()=>Lr,lazyRefMapper:()=>ve,makeOf:()=>se,map:()=>xr,mapAliasedProperties:()=>we,mapGenericsOptions:()=>ae,mapHeaders:()=>q,mapMapper:()=>Se,mapNullableType:()=>Te,mapOpenSpec:()=>Kn,mapOpenSpec2:()=>qn,mapOpenSpec3:()=>Fn,mapOpenSpecInfo:()=>Bn,mapOperationOptions:()=>on,matchGroups:()=>Qt,mergeSpec:()=>jn,messageMapper:()=>oe,number:()=>vr,object:()=>kr,objectMapper:()=>Re,ofMapper:()=>Ae,oneOf:()=>Ir,oneOfMapper:()=>l,operationIdFormatter:()=>Ye,operationInFilesMapper:()=>Ie,operationInParameterMapper:()=>je,operationInParametersMapper:()=>Le,operationInQueryMapper:()=>He,operationMapper:()=>Ke,operationMediaMapper:()=>Ve,operationRequestBodyMapper:()=>We,operationResponseMapper:()=>ze,parameters:()=>kn,pathsMapper:()=>rt,payloadMapper:()=>ue,popGenerics:()=>ce,propertiesMapper:()=>Pe,registerJsonSchemaMapper:()=>c,removeHiddenOperation:()=>ee,responsePayloadMapper:()=>pe,schemaMapper:()=>De,schemesReducer:()=>$n,security:()=>Dn,serializeEnum:()=>T,serializeEnumValues:()=>R,set:()=>$r,string:()=>Er,tagsReducer:()=>Nn,time:()=>Pr,toJsonMapCollection:()=>F,toJsonRegex:()=>A,toRef:()=>de,transformInformation:()=>ts,transformSecurity:()=>es,transformToOS2:()=>ns,uri:()=>Cr,url:()=>_r,withErrorMsg:()=>ht});var e,t=s(598);!function(e){e.ALL="ALL",e.GET="GET",e.POST="POST",e.PUT="PUT",e.PATCH="PATCH",e.HEAD="HEAD",e.DELETE="DELETE",e.OPTIONS="OPTIONS",e.TRACE="TRACE",e.PUBLISH="PUBLISH",e.SUBSCRIBE="SUBSCRIBE",e.CUSTOM="CUSTOM"}(e||(e={}));const r=[e.ALL,e.GET,e.POST,e.PUT,e.PATCH,e.HEAD,e.DELETE,e.OPTIONS,e.TRACE,e.CUSTOM],n=[e.PUBLISH,e.SUBSCRIBE],i=e,a=new Map;function c(e,t,r){return a.set(r?`${r}:${e}`:e,t)}function u(e,t){const r=a.get(`${t?.specType}:${e}`)||a.get(e);if(r)return r;throw new Error(`JsonSchema ${e} mapper doesn't exists`)}function p(e,t,r,n){return u(e,r)(...t,r,n)}function h(e){return a.has(e)}function l(e,t){return e.find((e=>a.has(`${t?.specType}:${e}`)))||e.find((e=>a.has(e)))}function f(e){return e.split("/").filter(Boolean).join("/")}var d=s(803);const m=new Map;class y{propertyKey;propertyName;index;descriptor;decoratorType;collectionType;token;store;isStore=!0;parent;target;_type;_schema;constructor(e){const{target:t,propertyKey:r,descriptor:n,index:s,decoratorType:o}=e;this.target=t,this.propertyKey=r,this.propertyName=String(r),this.descriptor=n,this.index=s,this.decoratorType=o,this.token=t,this.store=e.store,this.parent=this}get targetName(){return(0,d.nameOf)(this.token)}get isCollection(){return!!this.collectionType}get isArray(){return(0,d.isArrayOrArrayClass)(this.collectionType)}get discriminatorAncestor(){const e=(0,d.ancestorsOf)(this.target).find((e=>y.from(e).schema.isDiscriminator));return e&&y.from(e)}get isPrimitive(){return(0,d.isPrimitiveOrPrimitiveClass)(this._type)}get isDate(){return(0,d.isDate)(this.computedType)}get isObject(){return(0,d.isObject)(this.computedType)}get isClass(){return(0,d.isClass)(this.computedType)}get schema(){return this._schema}get nestedGenerics(){return this.schema.nestedGenerics}set nestedGenerics(e){this.schema.nestedGenerics=e}get type(){return this._type}set type(e){this._type=e,this.build()}get computedType(){return this.itemSchema.getComputedType()}get itemSchema(){return this.isCollection?this.schema.itemSchema():this.schema}get parentSchema(){return this.parent.schema}get isDiscriminatorChild(){return this.schema.isDiscriminator&&this.discriminatorAncestor?.schema.discriminator().base!==this.target}static from(...e){if(e[0].isStore)return e[0];const t=e[0];e.length>1&&(e[0]=(0,d.prototypeOf)(e[0]));const r=d.Store.from(...e);if(!r.has("JsonEntityStore")){const n=(0,d.decoratorTypeOf)(e),s=new(m.get(n))({store:r,decoratorType:n,target:(0,d.classOf)(t),propertyKey:e[1],index:"number"==typeof e[2]?e[2]:void 0,descriptor:"object"==typeof e[2]?e[2]:void 0});s.build(),r.set("JsonEntityStore",s)}return r.get("JsonEntityStore")}static fromMethod(e,t){return this.from(e,t,(0,d.descriptorOf)(e,t))}static get(e,t,r){return y.from((0,d.prototypeOf)(e),t,r)}isGetterOnly(){return(0,d.isObject)(this.descriptor)&&!this.descriptor.value&&this.descriptor.get&&!this.descriptor.set}get(e,t){return this.store.get(e,t)}set(e,t){return this.store.set(e,t)}toString(){return[this.targetName,this.propertyName,this.index].filter((e=>void 0!==e)).join(":")}buildType(e){(0,d.isCollection)(e)?this.collectionType=e:(this._type=e,this._type&&(0,d.isPlainObject)(this._type)&&(this._type=String))}getBestType(){return this.itemSchema.hasDiscriminator?this.itemSchema.discriminator().base:(0,d.isClassObject)(this.type)?this.itemSchema.getTarget():(0,d.isArrowFn)(this.type)?this.type():this.type}}function g(e,t,r,n){var s,o=arguments.length,i=o<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,r):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)i=Reflect.decorate(e,t,r,n);else for(var a=e.length-1;a>=0;a--)(s=e[a])&&(i=(o<3?s(i):o>3?s(t,r,i):s(t,r))||i);return o>3&&i&&Object.defineProperty(t,r,i),i}function O(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)}Object.create,Object.create;const b=new Map;function v(e){return(0,d.isPromise)(e)||e===Function?Object:(0,d.isClass)(e)||(0,d.isSymbol)(e)||(0,d.isPrimitiveOrPrimitiveClass)(e)||(0,d.isClassObject)(e)||(0,d.isDate)(e)||(0,d.isCollection)(e)?(0,d.classOf)(e):(0,d.isArrowFn)(e)?e():e}const S=["string","number","integer","boolean","object","array","null","any"];function E(e){return null===e?"null":(0,d.isPrimitiveOrPrimitiveClass)(e)?S.indexOf(e)>-1?e:"string"==typeof e?"file"===e?"file":"generic":(0,d.primitiveOf)(e):e===Array?"array":(0,d.isArray)(e)?e.map(E):e===Set?"array":(0,d.isDate)(e)||(0,d.isBuffer)(e)?"string":"object"}const T=e=>(0,d.isObject)(e)&&null!==e?Object.entries(e).reduce(((e,[t,r])=>isNaN(+t)?e.concat(r):e),[]):e;function R(e){const t=e.reduce(((e,t)=>e.concat(T(t))),[]),r=t.reduce(((e,t)=>e.add((e=>null===e?"null":typeof e)(t))),new Set);return{values:(0,d.uniq)(t),types:r}}function A(e){return String(e).replace(/^(\/)(.*)(\/)$/,"$2")}class P{propertyName;base;values=new Map;types=new Map;constructor({base:e,propertyName:t,types:r,values:n}={}){Object.assign(this,(0,d.cleanObject)({base:e,propertyName:t,types:r?new Map(r):void 0,values:n?new Map(n):void 0}))}add(e,t){return t.forEach((t=>{this.values.set(t,e)})),this.types.set(e,t),this}getType(e){return this.values.get(e)||this.base}getValues(e){return this.types.get(e)}getDefaultValue(e){const t=this.types.get(e);return t?t[0]:void 0}children(){return[...new Set([...this.types.keys()])]}}function w(e){return e instanceof _?e:Object.entries(e).reduce(((e,[t,r])=>(e[A(t)]=C(r),e)),{})}function C(e){return(0,d.isArray)(e)?e.map(C):e.isStore||e.$isJsonDocument||e.isLazyRef?e:(0,d.classOf)(e)!==Object&&(0,d.isClass)(e)?y.from(e).schema:(0,d.isObject)(e)?_.from(e):(0,d.isPrimitiveClass)(e)?_.from({type:e}):e}class _ extends Map{$kind="schema";$isJsonDocument=!0;$hooks=new d.Hooks;$required=new Set;$allow=[];$selfRequired;$forwardGroups=!1;$ignore=!1;isDiscriminatorKey=!1;isDiscriminator=!1;#t=!1;#e=null;#r;#o=[];#n=new Map;#i;#s;#a=!1;#c=!1;#u=!1;constructor(e={}){super(),e&&this.assign(e)}get alias(){return this.#n}get nestedGenerics(){return this.#o}set nestedGenerics(e){this.#o=e}get genericLabels(){return this.#r}set genericLabels(e){this.#r=e}get isClass(){return(0,d.isClass)(this.class)&&![Map,Array,Set,Object,Date,Boolean,Number,String].includes(this.#s)}get isCollection(){return this.#c}get isGeneric(){return this.#a}get discriminatorAncestor(){const e=(0,d.ancestorsOf)(this.#s).find((e=>y.from(e).schema.isDiscriminator));return e&&y.from(e).schema}get hasGenerics(){return!(!this.nestedGenerics||!this.nestedGenerics.length)}get genericType(){return this.get("$ref")}get class(){return this.getComputedType()}get canRef(){return this.#u}get isNullable(){return this.#t||this.$allow.includes(null)}get isReadOnly(){return this.get("readOnly")}get isWriteOnly(){return this.get("writeOnly")}get hasDiscriminator(){return!!this.#e}static from(e={}){return new _(e)}nullable(e){this.#t=e}itemSchema(e={}){return this.#i=this.#i||C(e),this.#i.assign(e),this.#i}getAliasOf(e){return this.#n.get(e)}addAlias(e,t){return this.#n.set(e,t),this.#n.set(t,e),this}removeAlias(e){const t=this.#n.get(e);return t&&this.#n.delete(t),this.#n.delete(e),this}$id(e){return super.set("$id",e),this}$ref(e){return super.set("$ref",e),this}$schema(e){return super.set("$schema",e),this}label(e){return this.#u=!0,super.set("name",e),this}name(e){return super.set("name",e),this}ignore(e){return"boolean"!=typeof e&&this.$hooks.on("ignore",e),this.$ignore=e,this}default(e){return super.set("default",e),this}const(e){return super.set("const",e),this}description(e){return super.set("description",e),this}discriminator(){return this.isDiscriminator=!0,this.#e=this.#e||new P({base:this.#s})}discriminatorKey(e){return this.discriminator().propertyName=e,this.isDiscriminator=!0,this}discriminatorValue(...e){const t=this.discriminatorAncestor.discriminator();t.add(this.#s,e),this.isDiscriminator=!0;const r=this.get("properties"),n=r[t.propertyName]||new _({type:"string"});return 1===e.length?(n.const(e[0]),n.examples([e[0]])):(n.enum(...e),n.examples(e)),r[t.propertyName]=n,this.set("properties",r),this}additionalItems(e){return super.set("additionalItems",C(e)),this}contains(e){return super.set("contains",C(e)),this}examples(e){return super.set("examples",e),this}example(...e){return this.examples(e)}items(e){return super.set("items",this.#i=C(e)),this}maxItems(e){return super.set("maxItems",e),this}minItems(e){return super.set("minItems",e),this}uniqueItems(e){return super.set("uniqueItems",e),this}maxProperties(e){return super.set("maxProperties",e),this}minProperties(e){return super.set("minProperties",e),this}allow(...e){return this.$allow.push(...e),this}required(e=!0){if(!(0,d.isArray)(e)){const t=this.clone();return t.$selfRequired=e,t}return this.$required.clear(),e.forEach((e=>this.$required.add(e))),this}addRequired(e){return this.$required.add(e),this}removeRequired(e){return this.$required.delete(e),this}isRequired(e){return this.$required.has(e)}properties(e){return super.set("properties",w(e)),this}addProperty(e,t){const r=this.get("properties")||{};return r[e]=t,super.set("properties",w(r)),this}patternProperties(e){return super.set("patternProperties",w(e)),this}additionalProperties(e){return super.set("additionalProperties",C(e)),this}unknown(e=!0){return this.additionalProperties(e)}dependencies(e){return super.set("dependencies",w(e)),this}propertyNames(e){return super.set("propertyNames",C(e)),this}enum(e,...t){if(b.has(e))return this.enum(b.get(e));if(e instanceof _)e.getName()?super.set("enum",e):super.set("enum",e.get("enum")).any(...e.getJsonType());else{const{values:r,types:n}=R([e,t].flat());super.set("enum",r).any(...n)}return this}definitions(e){return super.set("definitions",w(e)),this}allOf(e){return super.set("allOf",e.map(C)),this}anyOf(e){return super.set("anyOf",e.map(C)),this}oneOf(e){let t=e.map(C);if(1===t.length&&!(e[0]instanceof _)){if(!t[0].hasDiscriminator)return this.type(e[0]);const r=t[0].discriminator().children();if(!r.length)return this.type(e[0]);t=r.map(C)}super.set("oneOf",t);const r=t[0];if(r.isDiscriminator){const e=r.discriminatorAncestor.discriminator(),{propertyName:t}=e;super.set("discriminator",{propertyName:t}),this.isDiscriminator=!0,this.#e=e}return this}not(e){return super.set("not",C(e)),this}multipleOf(e){return super.set("multipleOf",e),this}maximum(e){return super.set("maximum",e),this}exclusiveMaximum(e){return super.set("exclusiveMaximum",e),this}minimum(e){return super.set("minimum",e),this}exclusiveMinimum(e){return super.set("exclusiveMinimum",e),this}maxLength(e){return super.set("maxLength",e),this}minLength(e){return super.set("minLength",e),this}pattern(e){return super.set("pattern",A(e)),this}format(e){return super.set("format",e),this}type(e){switch(e){case Map:super.set("type",E(e)),this.#s=e,this.#c=!0,this.has("additionalProperties")||super.set("additionalProperties",this.itemSchema({}));break;case Array:super.set("type",E(e)),this.#s=e,this.#c=!0,this.has("items")||super.set("items",this.itemSchema({}));break;case Set:super.set("type",E(e)),this.#s=e,this.#c=!0,this.uniqueItems(!0),this.has("items")||super.set("items",this.itemSchema({}));break;case"integer":super.set("type",E(e)),this.integer();break;case Object:case Date:case Boolean:case Number:case String:super.set("type",E(e)),this.#s=e,this.has("properties")||super.set("properties",{});break;default:if((0,d.isClass)(e)||(0,d.isFunction)(e))super.set("type",void 0),this.#s=e,this.has("properties")||super.set("properties",{});else{const t=E(e);"generic"===t?(this.#a=!0,super.set("$ref",e)):super.set("type",t)}}return this}any(...e){return e.filter((e=>(0,d.isClass)(e))).length>=2?this.oneOf(e.filter((e=>null!==e&&(this.nullable(!0),!0)))):(e.length?(e=(0,d.uniq)(e).map(E)).includes("null")&&(this.nullable(!0),e=e.filter((e=>"null"!==e))):(e=["integer","number","string","boolean","array","object"],this.nullable(!0)),this.type(1===e.length?e[0]:e)),this}integer(){return super.set("type","integer"),super.set("multipleOf",1),this}title(e){return super.set("title",e),this}readOnly(e){return super.set("readOnly",e),this}writeOnly(e){return super.set("writeOnly",e),this}customKey(e,t){return super.set(`#${e}`,t),this}toObject(e){return this.toJSON(e)}toJSON(e){return p("schema",[this],e)}assign(e={}){return(e instanceof _?[...e.entries()]:Object.entries(e)).forEach((([e,t])=>{this.set(e,t)})),e instanceof _&&(this.$selfRequired=e.$selfRequired,this.$allow.push(...e.$allow),e.$required.forEach((e=>{this.$required.add(e)})),this.#e=this.#e?new P(this.#e):null,this.isDiscriminator=e.isDiscriminator,this.isDiscriminatorKey=e.isDiscriminatorKey,this.#u=e.#u,this.#n=new Map(this.#n.entries()),e.#r&&(this.#r=[...e.#r]),this.#o=e.#o.map((e=>[...e])),this.#s=e.#s,this.#a=e.#a,this.#c=e.#c,this.#u=e.#u,super.set("type",e.get("type"))),this}set(e,t){return e in this?(0,d.isFunction)(this[e])&&this[e](t):super.set(e,t),this}getComputedType(){return v(this.#s)}getComputedItemType(){return this.#i?this.#i.getComputedType():this.getComputedType()}getJsonType(){return this.get("type")||E(this.getComputedType())}getTarget(){return this.#s}getName(){return this.get("name")||((0,d.isClass)(this.#s)?(0,d.nameOf)((0,d.classOf)(this.getComputedType())):"")}clone(){return new _(this)}}function M(e){return t=>{m.set(e,t)}}let x=class extends y{children=new Map;get path(){return this.store.get("path","/")}set path(e){this.store.set("path",e)}build(){this._type||this.buildType(this.target),this._type=this._type||Object,this._schema=_.from({type:this.type})}};x=g([M(d.DecoratorTypes.CLASS)],x);let $=class extends y{parent=y.from(this.target);get required(){return this.parent.schema.isRequired(this.propertyKey)}set required(e){e?this.parent.schema.addRequired(this.propertyKey):this.parent.schema.removeRequired(this.propertyKey)}get allowedRequiredValues(){return this.schema.$allow}discriminatorKey(){return this.parent.schema.discriminatorKey(String(this.propertyKey)),this.itemSchema.isDiscriminatorKey=!0,this}isDiscriminatorKey(){return this.itemSchema.isDiscriminatorKey}isRequired(e){return this.required&&[void 0,null,""].includes(e)&&!this.allowedRequiredValues.includes(e)}build(){this._type||this.buildType(d.Metadata.getType((0,d.prototypeOf)(this.target),this.propertyKey)),this._type=this._type||Object;let e=this.parent.schema.get("properties")[this.propertyName];e||(this.parent.children.set(this.propertyName,this),e=_.from({type:this.collectionType||this.type}),this.collectionType&&e.itemSchema(this.type)),this.parent.schema.addProperty(this.propertyName,e),this._schema=e}static get(e,t){return y.from((0,d.prototypeOf)(e),t)}};$=g([M(d.DecoratorTypes.PROP)],$);const k=$;class D extends Map{$kind="map";$isJsonDocument=!0;constructor(e={}){super(),this.assign(e)}assign(e={}){return Object.entries(e).forEach((([e,t])=>{(0,d.isFunction)(this[e])?this[e](t):this.set(e,t)})),this}toJSON(e){return p("map",[this],e)}}var N;function I(e){return String(e).toLowerCase().replace("raw_","").replace("cookies","cookie")}function j(e){return Object.values(N).includes(I(e))}!function(e){e.BODY="body",e.PATH="path",e.QUERY="query",e.HEADER="header",e.COOKIES="cookie",e.FILES="files"}(N||(N={}));class L extends D{$kind="operationInParameter";nestedGenerics=[];groups;groupsName;$schema;expression;getName(){const e=this.get("name");return"files"===this.get("in")?e.split(".")[0]:e}name(e){return this.set("name",e),this}examples(e){return super.set("examples",e),this}description(e){return this.set("description",e),this}in(e,t=""){return this.set("in",I(e)),this.expression=t,this}required(e){return this.set("required",e),this}schema(e){return this.$schema=e,this}toJSON(e){return p("operationInParameter",[this],e)}}let H=class extends y{paramType;expression;dataPath;pipes;parameter=new L;parent=y.fromMethod(this.target,this.propertyKey);constructor(e){super(e),this.pipes=e.pipes||[],this.paramType=e.paramType||this.paramType,this.expression=e.expression||this.expression,this.dataPath=e.dataPath||this.dataPath}get nestedGenerics(){return this.parameter.nestedGenerics}set nestedGenerics(e){this.parameter.nestedGenerics=e}get required(){return!!this.parameter.get("required")}set required(e){this.parameter.required(e)}get allowedRequiredValues(){return this.schema.$allow}static getParams(e,t){const r=[],n=(0,d.ancestorsOf)(e).reverse().find((e=>(0,d.isMethodDescriptor)(e,t)&&y.fromMethod(e,t).children.size));return n?(y.fromMethod(n,t).children.forEach(((e,t)=>{r[+t]=e})),r):[]}static get(e,t,r){return y.from((0,d.prototypeOf)(e),t,r)}isRequired(e){return this.required&&[void 0,null,""].includes(e)&&!this.allowedRequiredValues.includes(e)}getSchema(e){return(0,d.isCollection)(e)||!(0,d.isClass)(e)?_.from({type:e}):y.from(e).schema}build(){if(!this._type){const e=d.Metadata.getParamTypes((0,d.prototypeOf)(this.target),this.propertyKey)[this.index];this.buildType(e)}this._type=this._type||Object,this._schema||(this.parent.children.set(this.index,this),this._schema=this.getSchema(this.collectionType||this.type),this.parameter.schema(this._schema),this.collectionType&&this._schema.itemSchema(this.getSchema(this.type)),this.parent.operation.addParameter(this.index,this.parameter))}};H=g([M(d.DecoratorTypes.PARAM),O("design:paramtypes",[Object])],H);const U=H,G=e=>Number(e)&&200<=Number(e)&&Number(e)<300,B=e=>Number(e)&&300<=Number(e)&&Number(e)<400;function q(e){return Object.keys(e).reduce(((t,r)=>{const n=e[r];let s=typeof n,o={example:n};return"object"===s&&(o=n,o.example=void 0===o.value?o.example:o.value,delete o.value,s=typeof o.example),o.type=o.type||s,t[r]=(0,d.cleanObject)(o),t}),{})}function F(e,t=D){return Object.entries(e).reduce(((e,[r,n])=>(e.set(r,new t(n)),e)),new D)}class K extends D{$kind="operationMedia";groups=[];groupsName;allowedGroups;schema(e){return this.set("schema",e),this}examples(e){return this.set("examples",e),this}}class V extends D{$kind="operationResponse";status;constructor(e={}){super(e),this.content(e.content||{})}description(e){return this.set("description",e),this}headers(e){return this.set("headers",q(e)),this}content(e){return this.set("content",F(e,K)),this}getContent(){return this.get("content")}getMedia(e,t=!0){return t&&this.addMedia(e),this.getContent()?.get(e)}addMedia(e){const t=this.get("content");return t.has(e)||t.set(e,new K),this}}class J extends D{$kind="operation";operationPaths=new Map;#p;#h=!1;constructor(e={}){super({parameters:[],responses:new D,...e})}get response(){return this.getResponses().get(this.getStatus().toString())}get status(){return this.#p}tags(e){return super.set("tags",e),this}addTags(e){return e=(0,d.uniqBy)([...this.get("tags")||[],...e],"name"),this.tags(e)}summary(e){return super.set("summary",e),this}operationId(e){return this.set("operationId",e),this}responses(e){return this.set("responses",e),this}defaultStatus(e){return this.#p=e,this}getStatus(){return this.#p||200}setRedirection(e=302){return this.#h=!0,this.#p=e,this}isRedirection(e){return this.#h&&e?B(e):this.#h}addResponse(e,t){if((G(e)||B(e))&&!this.#p){const t=this.getResponseOf(200);this.getResponses().set(e.toString(),t).delete("200"),this.defaultStatus(Number(e))}const r="default"===e?this.getStatus().toString():e.toString(),n=this.getResponses().get(r);return n?(t.forEach(((e,t)=>{["content"].includes(t)||n.set(t,(0,d.deepMerge)(n.get(t),e))})),n.status=Number(r)):(t.status=Number(r),this.getResponses().set(r,t)),this}getResponses(){return this.get("responses")}getResponseOf(e){return("default"===e?this.response:this.getResponses().get(String(e)))||new V}ensureResponseOf(e){return this.addResponse(e,this.getResponseOf(e)),this.getResponseOf(e)}getHeadersOf(e){return this.getResponseOf(e).get("headers")||{}}getContentTypeOf(e){return[...this.getResponseOf(e).get("content").keys()].slice(-1)[0]}security(e){return this.set("security",e),this}addSecurityScopes(e,t){const r=this.get("security")||{};return r[e]=(0,d.uniq)([...r[e]||[],...t]),this.security(r)}description(e){return super.set("description",e),this}deprecated(e){return super.set("deprecated",e),this}parameters(e){return super.set("parameters",e),this}addParameter(e,t){-1===e&&(e=this.get("parameters").length),this.get("parameters")[e]=t}consumes(e){return super.set("consumes",e),this}produces(e){return super.set("produces",e),this}addProduce(e){const t=(0,d.uniq)([].concat(this.get("produces"),e)).filter(Boolean);this.set("produces",t)}addOperationPath(e,t,r={}){return this.operationPaths.set(String(e)+String(t),{...r,method:e,path:t}),this}getAllowedOperationPath(e){return e?[...this.operationPaths.values()].filter((({method:t})=>t&&e.includes(t.toUpperCase()))):[...this.operationPaths.values()]}}let W=class extends y{parent=y.from(this.target);middlewares=[];beforeMiddlewares=[];afterMiddlewares=[];operation=new J;children=new Map;constructor(e){super({store:d.Store.fromMethod(e.target,e.propertyKey),descriptor:(0,d.descriptorOf)(e.target,e.propertyKey),...e});const{beforeMiddlewares:t=[],middlewares:r=[],afterMiddlewares:n=[]}=e;this.after(n),this.before(t),this.use(r)}get params(){return this.parameters}get view(){return this.store.get("view")}set view(e){this.store.set("view",e)}get acceptMimes(){return this.store.get("acceptMimes",[])}set acceptMimes(e){this.store.set("acceptMimes",e)}get parameters(){return[...this.children.values()]}get operationPaths(){return this.operation.operationPaths}static get(e,t,r){return r=r||(0,d.descriptorOf)((0,d.prototypeOf)(e),t),y.from((0,d.prototypeOf)(e),t,r)}getResponseOptions(e,{contentType:t="application/json",includes:r}={}){const n=this.operation.getResponseOf(e).getMedia(t,!1);if(n&&n.has("schema")){const e=n.get("schema");let t=n.groups;return r&&n.allowedGroups?.size&&(t=[...t||[],...r.filter((e=>n.allowedGroups.has(e)))]),{type:e.getComputedItemType(),groups:t}}return{type:this.type}}before(e){return this.beforeMiddlewares=this.beforeMiddlewares.concat(e).filter(d.isFunction),this}after(e){return this.afterMiddlewares=this.afterMiddlewares.concat(e).filter(d.isFunction),this}use(e){return this.middlewares=this.middlewares.concat(e).filter(d.isFunction),this}get(e){const t=d.Store.from(this.target).get(e);return(0,d.deepMerge)(t,this.store.get(e))}getParamTypes(){return[...this.children.values()].reduce(((e,t)=>({...e,[t.paramType]:!0})),{})}build(){if(!this._type){let e=d.Metadata.getReturnType(this.target,this.propertyKey);e=(0,d.isPromise)(e)?void 0:e,this.buildType(e)}this._type=this._type||Object,this.parent.children.set(this.propertyName,this),(0,d.isCollection)(this._type)&&(this.collectionType=this._type,delete this._type),this._schema=_.from({type:this.collectionType||this.type}),this.collectionType&&this._schema.itemSchema(this.type),this.parent.schema.addProperty(this.propertyName,this.schema)}};W=g([M(d.DecoratorTypes.METHOD),O("design:paramtypes",[Object])],W);const z=W;function X(...e){return y.from(...e)}m.set(d.DecoratorTypes.CLASS,x),m.set(d.DecoratorTypes.PROP,$),m.set(d.DecoratorTypes.PARAM,H),m.set(d.DecoratorTypes.METHOD,W);class Q extends Map{$kind="operationPaths";$isJsonDocument=!0;setOperationPath(e){const t=this.getKey(e.method,e.path);this.set(t,e)}getKey=(e,t)=>`${e}-${t}`}function Y(e){const t=e.isStore?e:X(e);return t.$inherited||(t.$inherited=(0,d.ancestorsOf)(t.target).reverse().reduce(((e,t)=>e.set(t,X(t))),new Map)),t.$inherited}function Z(e){const t=e.isStore?e:X(e);if(!t.$operations){const e=new Q;t.$operations=new Map,Y(t).forEach((e=>{e.children.forEach((e=>{e instanceof W&&!t.$operations.has(e.propertyKey)&&t.$operations.set(e.propertyKey,e)}))})),t.$operations.forEach((t=>{t.operation.operationPaths.forEach((t=>{e.setOperationPath(t)}))})),e.clear()}return t.$operations}function ee(e){return!e.store.get("hidden")}const te=[e.PUBLISH,e.SUBSCRIBE];function re(e,{channels:r,rootPath:n,...s}){const o=f(n+X(e).path);return s={...s,ctrlRootPath:o},[...Z(e).values()].filter(ee).flatMap((e=>{const t=e.operation.getAllowedOperationPath(te);return 0===t.length?[]:t.map((t=>({operationPath:t,operationStore:e})))})).reduce(function(e){return(r,{operationPath:n,operationStore:s})=>{const o=e.ctrlRootPath||"/",i=n.method.toLowerCase(),a=(0,t.camelCase)(`${i.toLowerCase()} ${s.parent.schema.getName()}`),c=p("message",[s,n],e);return{...r,[o]:{...r[o],[i]:{...r[o]?.[i],operationId:a,message:{oneOf:[...r[o]?.[i]?.message?.oneOf||[],c]}}}}}}(s),r)}var ne;function se(e,t){return t.length?1===t.length?t[0]:{[e]:t}:null}function oe(t,r,{tags:n=[],defaultTags:s=[],...o}={}){const{path:i,method:a}=r,c=String(i);let u=(0,d.getValue)(o.components,"messages."+i,(0,d.cleanObject)({description:t.operation.get("description"),summary:t.operation.get("summary")}));if(a.toUpperCase()===e.PUBLISH){const n=p("payload",[t,r],o);n&&(u.payload=n);const s=se("oneOf",t.operation.getAllowedOperationPath([e.SUBSCRIBE]).map((e=>p("message",[t,e],o))).filter(Boolean));s&&(u["x-response"]=s)}else{const e=p("response",[t,r],o);e&&(u["x-response"]=e)}return o.components.messages=o.components.messages||{},o.components.messages[c]=u,{$ref:`#/components/messages/${c}`}}function ie(e,t){return e.reduce(((e,r,n)=>e.set(r,t[n])),new Map)}function ae(e){if(e.genericLabels&&e.genericTypes){const{genericLabels:t,genericTypes:r,...n}=e;return{...n,generics:ie(t,r)}}return e}function ce(e){const[t,...r]=e.nestedGenerics;return{genericTypes:t,nestedGenerics:r}}function ue(e,r,n){const s=e.operation.get("parameters").filter((e=>j(e.get("in")))),o=(0,t.pascalCase)([r.path,r.method,"Payload"].join(" "));(0,d.setValue)(n,`components.schemas.${o}`,{});const i=s.map((e=>{const t=function(e,t={}){return{...t,groups:e.groups,groupsName:e.groupsName}}(e,n),r=p("item",[e.$schema],{...t,...ce(e)});switch(e.get("in")){case N.BODY:return r;case N.QUERY:case N.PATH:case N.HEADER:return{type:"object",properties:{[e.get("name")]:r}}}return r}),{}).filter(Boolean);return se("allOf",i)}function pe(e,r,n){const s=e.operation.getResponses(),o=[],i=[],a=[],c=[];[...s.entries()].forEach((([e,t])=>{const r=p("map",[t],n);if(o.push(+e),i.push(r.description),204!=+e){const{content:e}=r,t=e[Object.keys(e)[0]];a.push(t)}}));const u=(0,t.pascalCase)([r.path,r.method,"Response"].join(" ")),h={type:"object",properties:{status:{type:"number",enum:o},statusText:{type:"string",enum:i}},required:["status"]},l=se("oneOf",a);l&&(0,d.setValue)(h,"properties.data",l);const f=se("oneOf",c);return c.length&&(0,d.setValue)(h,"properties.error",f),(0,d.setValue)(n,`components.schemas.${u}`,h),{$ref:`#/components/schemas/${u}`}}c("channels",re),function(e){e.JSON="jsonschema",e.SWAGGER="swagger2",e.OPENAPI="openapi3",e.ASYNCAPI="asyncapi2"}(ne||(ne={})),c("generate",(function(e,t){const r={channels:p("channels",[e],t)};return r.tags=(0,d.uniqBy)(t.tags,"name"),t.components?.schemas&&Object.keys(t.components.schemas).length&&(r.components={...t.components,schemas:t.components.schemas}),r}),ne.ASYNCAPI),c("message",oe,ne.ASYNCAPI),c("payload",ue,ne.ASYNCAPI),c("response",pe,ne.ASYNCAPI);class he{getType;isLazyRef=!0;constructor(e){this.getType=e}get target(){return this.getType()}get schema(){return X(this.getType()).schema}get name(){return(0,d.nameOf)(this.getType())}}function le(e,r){return r.groups&&r.groups.length?(0,t.pascalCase)(`${e} ${r.groupsName||r.groups.join(" ")}`):e}function fe(e,t,r){const n=function(e){const{host:t="#/"+([ne.OPENAPI,ne.ASYNCAPI].includes(e.specType)?"components/schemas":"definitions")}=e;return t}(r),s={$ref:`${n}/${e}`},o=t.isNullable,i=t.isReadOnly,a=t.isWriteOnly;if(o||i||a)switch(r.specType){case ne.OPENAPI:return(0,d.cleanObject)({nullable:!!o||void 0,readOnly:!!i||void 0,writeOnly:!!a||void 0,oneOf:[s]});case ne.JSON:return(0,d.cleanObject)({readOnly:i,writeOnly:a,oneOf:[s]})}return s}function de(e,t,r){const n=le(e.getName(),r);return(0,d.setValue)(r,`components.schemas.${n}`,t),fe(n,e,r)}function me(e,t={}){if("object"!=typeof e||null===e)return e;if(e instanceof he)return p("lazyRef",[e],t);if(e instanceof _&&e.get("enum")instanceof _){const r=e.get("enum");return de(r,r.toJSON(t),t)}if(e.$kind&&e.$isJsonDocument){const r=p(l([e.$kind,"map"],t),[e],ae(t));return e.canRef?de(e,r,t):r}return p("object",[e],t)}function ye(e,t){const r=y.from(e.class),n=le(r.schema.getName()||e.getName(),t);if(e.hasGenerics){const{type:n,properties:s,additionalProperties:o,items:i,...a}=e.toJSON(t),c={...p("any",[r.schema],{...t,...ce(e),root:!1}),...a};if(c.title){const r=le(c.title,t);return(0,d.setValue)(t.components,`schemas.${r}`,c),delete c.title,fe(r,e,t)}return c}return(0,d.getValue)(t,`components.schemas.${n}`)||((0,d.setValue)(t,`components.schemas.${n}`,{}),t.components.schemas[n]=p("any",[r.schema],ae({...t,root:!1}))),fe(n,e,t)}function ge(e,t){const{generics:r}=t;if(r&&e.$ref&&r.has(e.$ref)){let n=r.get(e.$ref);if((0,d.isPrimitiveClass)(n))return{type:E(n)};if(n===Date)return{type:"string",format:"date-time"};if(n.toJSON)return n.toJSON({...t,generics:void 0});if(n===Object)return{type:"object"};if((0,d.isClass)(n)){const e={class:n};return 0===t.nestedGenerics.length?p("class",[e],{...t,generics:void 0}):p("schema",[y.from(e.class).schema],{...t,...ce(t),root:!1})}}return e}function Oe(e,{target:t,...r}){const n=Array.from(Y(t).entries()).filter((([e])=>(0,d.classOf)(e)!==(0,d.classOf)(t)));if(n.length){const t=n.reduce(((e,[,t])=>(0,d.deepMerge)(e,p("schema",[t.schema],r))),{});e=(0,d.deepMerge)(t,e)}return e}function be(e,t){return e&&e.isClass?p("class",[e],t):p("any",[e],t)}function ve(e,t){const r=e.name;if(t.$refs?.find((t=>t===e.target)))return fe(r,e.schema,t);t.$refs=[...t.$refs||[],e.target];const n=e.getType()&&p("schema",[e.schema],ae(t));return de(e.schema,n,t)}function Se(e,{ignore:t=[],...r}={}){return r=ae(r),Array.from(e.entries()).reduce(((e,[n,s])=>(t.includes(n)||(e[n]=p("item",[s],r)),e)),{})}function Ee(e,t){if((0,d.isBoolean)(e.$ignore)&&e.$ignore)return!0;let r=e?.$hooks?.alter("ignore",!1,[t]);return r||(!1!==t.groups?e?.$hooks?.alter("groups",!1,[t.groups]):r)}function Te(e,t,r){if(!t?.isNullable)return e;let n=[].concat(e.type).filter(Boolean);switch(r.specType){default:case ne.JSON:e.discriminator||(e.oneOf?function(e){return e.oneOf.find((e=>"null"===e.type))}(e)||e.oneOf.unshift({type:"null"}):e.type=(0,d.uniq)(["null",...n]));break;case ne.OPENAPI:e.nullable=!0,e.oneOf||(n.length>1?(e.oneOf=n.map((e=>({type:e}))),delete e.type):e.type=n[0])}return e}function Re(e,t){const{specType:r,operationIdFormatter:n,root:s,components:o,genericTypes:i,nestedGenerics:a,useAlias:c,genericLabels:u,...h}=t;return Object.entries(e).reduce(((r,[n,s])=>{if(!1!==t.withIgnoredProps&&!Ee(s,h)){const o={...t,groups:e?.$forwardGroups||s?.$forwardGroups?t.groups:void 0};r[n]=p("item",[s],o),r[n]=Te(r[n],s,o)}return r}),(0,d.isArray)(e)?[]:{})}function Ae(e,t,r){return e.map((e=>p("item",[e],{...t,genericLabels:r.genericLabels})))}function Pe(e,t,r){return e.isClass?p("class",[e],t):p("any",[e],{...t,genericLabels:r.genericLabels})}function we(e,t){return Object.entries(e).reduce(((e,[r,n])=>(e[r=t.get(r)||r]=n,e)),{})}function Ce(e,t,r){return e.oneOf&&!1!==r.groups&&(e={...e,oneOf:t.$hooks.alter("oneOf",e.oneOf,[r.groups])}),!(e.oneOf||e.allOf||e.anyOf)||e.items||e.properties||delete e.type,e}function _e(e,t,r){return!1!==r.groups?t?.$hooks?.alter("requiredGroups",e,[r.groups]):e}function Me(e,t,r){if(r.groups&&r.groups.includes("partial"))return e.discriminator?{...e,required:[e.discriminator.propertyName]}:e;let n=function(e,t,r){let n=e.required||[];return n=[...n,...t.$required],t.get("properties")&&(n=Object.entries(t.get("properties")).reduce(((e,[t,r])=>r&&void 0!==r.$selfRequired?r.$selfRequired?e.concat(t):e.filter((e=>e===t)):e),n)),_e((0,d.uniq)(n),t,r)}(e,t,r);return n=(0,d.uniq)(n).reduce(function(e,t,r={}){const{useAlias:n}=r,s=Object.keys(e.properties||{});return(r,o)=>{const i=n&&t.alias.get(o)||o;if(s.includes(i)){const n=t.get("properties")[o],s=e.properties[i];return e.properties[i]=function(e,t){if(!t?.$allow.includes("")&&[].concat(t?.get("type")).includes("string")){const t=e?.minLength;if(void 0===t)return{...e,minLength:1}}return e}(s,n),r.concat(i)}return r}}(e,t,r),[]),e.discriminator&&n.push(e.discriminator.propertyName),n.length?{...e,required:n}:e}function xe(e,t,r){return r.inlineEnums&&e.enum?.$isJsonDocument&&(e.enum=e.enum.toJSON().enum),e.enum&&(e.type="object"===e.type||void 0===e.type?"string":e.type),e}c("any",me),c("class",ye),c("generics",ge),c("inheritedClass",Oe),c("item",be),c("lazyRef",ve),c("map",Se),c("object",Re),c("anyOf",Ae),c("allOf",Ae),c("oneOf",Ae),c("properties",Pe),c("items",Pe),c("additionalProperties",Pe),c("propertyNames",Pe),c("contains",Pe),c("dependencies",Pe),c("patternProperties",Pe),c("additionalItems",Pe),c("not",Pe),c("definitions",Pe);const $e=["name","$required","$hooks","_nestedGenerics",ne.OPENAPI,ne.SWAGGER,ne.JSON],ke=["const"];function De(e,t){const{options:r,addDef:n}=function(e){let t=!1;e||(t=!0,e={components:{schemas:{}},inlineEnums:!0});const{useAlias:r=!0,components:n={schemas:{}}}=e;return{addDef:t,options:e={...e,useAlias:r,components:n}}}(t),s=function(e,t){let r=function(e,t){const{useAlias:r}=t;return[...e.keys()].filter((e=>!function(e,{specType:t=ne.JSON,customKeys:r=!1}){return $e.includes(e)||e.startsWith("#")&&(!1===r||t!==ne.JSON)||t!==ne.JSON&&ke.includes(e)}(e,t))).reduce(((n,s)=>{let o=e.get(s);if("type"===(s=s.replace(/^#/,"")))return{...n,[s]:e.getJsonType()};if(function(e,t,r){return"examples"===e&&(0,d.isObject)(t)&&[ne.OPENAPI,ne.ASYNCAPI].includes(r.specType)}(s,o,t)&&(s="example",o=Object.values(o)[0]),o&&"object"==typeof o&&h(s)){if(o=p(s,[o],t,e),function(e,t){return"object"==typeof t&&["items","properties","additionalProperties"].includes(e)&&0===Object.keys(t).length}(s,o))return n;(function(e,t,r){return"object"==typeof t&&r&&["properties","additionalProperties"].includes(e)})(s,o,r)&&(o=we(o,e.alias))}return{...n,[s]:o}}),{})}(e,t);return e.isClass&&(r=p("inheritedClass",[r],{...t,root:!1,target:e.getComputedType()})),r=p("generics",[r],{...t,root:!1}),e.has(t.specType)&&(r={...r,...e.get(t.specType).toJSON(t)}),r=Me(r,e,t),r=Te(r,e,t),r=Ce(r,e,t),r=xe(r,0,t),r}(e,r);return n&&Object.keys((0,d.getValue)(r,"components.schemas",{})).length&&(s.definitions=r.components.schemas),s}function Ne(e,t){const r={paths:p("paths",[e],t={...t,specType:ne.OPENAPI})};return r.tags=(0,d.uniqBy)(t.tags,"name"),Object.keys((0,d.getValue)(t,"components.schemas",{})).length&&(r.components={schemas:t.components.schemas}),r}function Ie(e,{jsonSchema:t}){const r={type:"string",format:"binary",oneOf:void 0};return"array"===t.type?(t.items=(0,d.cleanObject)({...t.items,...r}),e.schema=t,e):(e.schema=(0,d.cleanObject)({...t,...r}),e)}function je(e,r){const n=function(e,t={}){return{...t,groups:e.groups,groupsName:e.groupsName}}(e,r),s={...n.components?.schemas||{}},{type:o,schema:i,...a}=p("map",[e],n),c=p("item",[e.$schema],{...n,...ce(e)});a.required=a.required||e.get("in")===N.PATH;const u={...n,jsonSchema:c,jsonParameter:e,oldSchemas:s},l=(0,t.camelCase)(`operationIn ${e.get("in")}`);return h(l)?p(l,[a],u):(a.schema=c,a)}function Le(e,t){return e.flatMap((e=>p("operationInParameter",[e],t))).filter(Boolean)}function He(e,{jsonSchema:t,jsonParameters:r,...n}){if(t.$ref){if(!e.name)return function(e,{jsonParameter:t,...r}){const n=le(t.$schema.getName(),r),s=r.components?.schemas?.[n];return s&&!r.oldSchemas?.[n]&&delete r.components.schemas[t.$schema.getName()],Object.entries(s?.properties||{}).reduce(((t,[r,{description:n,...o}])=>[...t,(0,d.cleanObject)({...e,name:r,required:(s?.required||[]).includes(r),description:n,schema:o,style:o.$ref?"deepObject":void 0})]),[])}(e,n);e.style="deepObject"}return e.schema=t,e}c("schema",De),c("generate",Ne,ne.OPENAPI),c("generate",Ne,ne.SWAGGER),c("operationInFiles",Ie),c("operationInParameter",je),c("operationInParameters",Le),c("operationInQuery",He);var Ue=s(203),Ge=s.n(Ue);const Be=Ge().codes.reduce(((e,r)=>{const n=String(Ge()(r));return{...e,[String(r)]:{label:n,code:(0,t.constantCase)(n)}}}),{});function qe(e){return Be[e]?.code}function Fe(e){return Be[e]?.label}function Ke(e,{tags:t=[],defaultTags:r=[],...n}={}){const{consumes:s,produces:o,...i}=p("map",[e],{...n,ignore:["parameters"]});i.security&&(i.security=[].concat(i.security)),0===e.get("responses").size&&(i.responses={200:{description:Fe(200)}});const a={...n,consumes:e.get("consumes")?.length?e.get("consumes"):["application/json"]},[c,u]=function(e,t){return e.get("parameters").filter((e=>j(e.get("in")))).reduce(((e,t)=>{const[r,n]=e;return[N.BODY,N.FILES].includes(t.get("in"))?[r,[...n,t]]:[[...r,t],n]}),[[],[]])}(e);i.parameters=p("operationInParameters",[c],n),u.length&&(i.requestBody=p("operationRequestBody",[u],a));const h=i.tags?.length?i.tags:r;return h.length&&(i.tags=h.map((({name:e})=>e))),t.push(...h),i}function Ve(e,t){return p("map",[e],{...t,groups:[...e.groups||[]],groupsName:e.groupsName})}Be[200].label="Success",Be[200].code="SUCCESS",c("operation",Ke),c("operationMedia",Ve);class Je extends D{$kind="operationRequestBody";constructor(e={}){super(e),this.content(e.content||{})}description(e){return this.set("description",e),this}content(e){return this.set("content",F(e)),this}addContent(e,t,r){const n=this.get("content"),s=new D;return s.set("schema",t),r&&s.set("examples",r),n.set(e,s),this}required(e){return this.set("required",e),this}}function We(e,{consumes:t,...r}){const{schema:n,examples:s,in:o,...i}=function(e,t){let r=new _;const n={},s=[];let o=0;return e.forEach((e=>{const i=e.getName();[...e.entries()].filter((([e])=>!["in","name"].includes(e))).forEach((([e,t])=>{void 0===n[e]&&(n[e]=t)}));const a=p("operationInParameter",[e],t);i?(r.addProperty(i,a.schema||{type:a.type}),e.get("required")&&r.addRequired(i),o++):s.push(a)})),o||1!==s.length?(r.type("object"),{schema:r.toJSON(t),required:!1,...n}):s[0]}(e,r),a=new Je(i);return t.forEach((e=>{a.addContent(e,n,s)})),p("map",[a],r)}function ze(e,t={}){const r=p("map",[e],t);return 204===e.status&&delete r.content,r.headers&&Object.entries(r.headers).forEach((([e,{type:t,...n}])=>{r.headers[e]={...n,schema:{type:t}}})),r}function Xe(e,t){return e.map((e=>t.parameters.find((t=>t.in===e.in&&t.name===e.name))||e)).concat(...t.parameters.filter((e=>"path"!==e.in)))}function Qe(e,t=""){t instanceof RegExp&&(t=t.toString().replace(/^\//g,"").replace(/\/$/g,"").replace(/\\/g,""));const r=[],n=[];let s=!1,o="";return function(e){let t=0;return e.split("").filter((e=>{"("===e&&t++;const r=0===t;return")"===e&&t--,r})).join("").split("/").filter((e=>!!e))}(`${e}${t}`).map((e=>{const t=e.replace(":","").replace("?","");if(e.includes(":")){const i=e.includes("?");i&&!s&&(s=!0,n.push({path:o,parameters:[].concat(r)}));const{prefix:a,name:c,postfix:u}=function(e){const[t,r]=e.split("="),n=(r||t).split(".");return{prefix:r&&t?`${t}=`:"",name:n.splice(0,1)[0],postfix:n.length?`.${n.join(".")}`:""}}(t);o+=`/${a}{${c}}${u}`,r.push({in:"path",name:c,type:"string",required:!0}),i&&s&&n.push({path:o,parameters:[].concat(r)})}else o+=`/${e}`})),n.length?n:[{path:o,parameters:[].concat(r)}]}function Ye(e=""){const r=new Map;return(n,s,o="")=>{const i=((r,n)=>{const s=(e||"%c.%m").replace(/%c/,r).replace(/%m/,n);return""===e?(0,t.camelCase)(s):s})(n,s),a=n+s;if(!r.has(a))return r.set(a,0),i;const c=o.match(/{(\w+)}/gi);if(c){const e=n+s+c[0];if(!r.has(e))return r.set(e,0),(0,t.camelCase)(`${i} By ${c}`)}const u=r.get(a)+1;return r.set(a,u),`${i}_${u}`}}function Ze(e,{store:t,operationIdFormatter:r}){return r(t.parent.schema.get("name")||t.parent.targetName,t.propertyName,e)}c("operationRequestBody",We),c("operationResponse",ze);const et=[e.ALL,e.GET,e.POST,e.PUT,e.PATCH,e.HEAD,e.OPTIONS,e.DELETE,e.TRACE];function tt(e,{path:t,method:r,operation:n}){return{...e,[t]:{...e[t],[r.toLowerCase()]:n}}}function rt(e,{paths:t,rootPath:r,...n}){const s=f(r+X(e).path);return n={...n,ctrlRootPath:s},[...Z(e).values()].filter(ee).filter((e=>e.operation.getAllowedOperationPath(et).length>0)).flatMap(function(e){return t=>{const r=t.operation.getAllowedOperationPath(et);if(0===r.length)return[];const n=p("operation",[t.operation],e);return r.map((e=>({operationPath:e,operation:n,operationStore:t})))}}(n)).flatMap(function(e){return({operationPath:t,operation:r,operationStore:n})=>{const{path:s,method:o}=t;return Qe(e.ctrlRootPath,s).map((({path:t,parameters:s})=>(t=t||"/",s=Xe(s.map((({type:e,...t})=>({...t,schema:{type:e}}))),r),{operation:{...r,parameters:s,operationId:r.operationId||Ze(t,{...e,store:n})},method:o,path:t})))}}(n)).reduce(tt,t)}function nt(e){return(...t)=>{const r=e(X(...t),t);"function"==typeof r&&r(...t)}}function st(...e){return nt((t=>{t.store.set("childrenControllers",e),e.forEach((e=>{d.Store.from(e).set("parentController",t.token)}))}))}function ot(e,...r){return nt((n=>{e=e||(0,t.snakeCase)(n.targetName),n.discriminatorAncestor&&n.schema.discriminatorValue(e,...r)}))}function it(e,t){if(!e)throw new Error("A type is required on `@CollectionOf(type)` decorator. Please give a type or wrap it inside an arrow function if you have a circular reference.");const r={};let n=!1;const s=(...s)=>{const o=y.from(...s);t&&(o.collectionType=t,o.schema.type(t)),o.type=e,o.itemSchema.type(e),o.schema.assign(r),o.isArray&&n&&(o.schema.set("contains",o.schema.get("items")),o.schema.delete("items"))};return s.MinItems=e=>(r.minItems=e,s),s.MaxItems=e=>(r.maxItems=e,s),s.MinProperties=e=>(r.minProperties=e,s),s.MaxProperties=e=>(r.maxProperties=e,s),s.Contains=()=>(n=!0,s),s.UniqueItems=(e=!0)=>(r.uniqueItems=e,s),s}function at(e){return it(e,Array)}function ct(e){return it(e,Map)}function ut(e){return it(e).Contains()}function pt(e){return nt((t=>{const r=t.parentSchema.get("#errorMessage")||{};t.parentSchema.customKey("errorMessage",{...r,...e})}))}function ht(e,t){const r={};return(...n)=>{const s=(0,d.useDecorators)(t(...n));return s.Error=t=>(r.message=t,(0,d.useDecorators)(s,r.message&&pt({[e]:t}))),s}}c("paths",rt);const lt=ht("maxItems",(e=>{if(e<0)throw new Error("The value of maxItems MUST be a non-negative integer.");return nt((t=>{t.schema.maxItems(e)}))})),ft=ht("maxProperties",(e=>{if(e<0)throw new Error("The value of maxProperties MUST be a non-negative integer.");return nt((t=>{t.isCollection?t.schema.maxProperties(e):t.itemSchema.maxProperties(e)}))})),dt=ht("minItems",(e=>{if(e<0)throw new Error("The value of minItems MUST be a non-negative integer.");return nt((t=>{t.schema.minItems(e)}))})),mt=ht("minProperties",(e=>{if(e<0)throw new Error("The value of minProperties MUST be a non-negative integer.");return nt((t=>{t.isCollection?t.schema.minProperties(e):t.itemSchema.minProperties(e)}))})),yt=ht("uniqueItems",((e=!0)=>nt((t=>{t.schema.uniqueItems(e)}))));function gt(e){return nt(((t,r)=>{t.itemSchema.additionalProperties(e)}))}function Ot(...e){return nt((t=>{t.itemSchema.allOf(e)}))}function bt(e){return nt((t=>{e&&(((0,d.isClass)(e)||(0,d.isArrowFn)(e))&&(t.type=e),t.itemSchema.type(e))}))}function vt(...e){const t=e.find((e=>(0,d.isClass)(e)));return(0,d.useDecorators)(t&&bt(t),nt(((t,r)=>{t.schema.allow(...e),t.decoratorType===d.DecoratorTypes.PARAM&&(t.required=!0),t.decoratorType===d.DecoratorTypes.PROP&&t.parentSchema.addRequired(t.propertyName)})))}function St(...e){return nt((t=>{t.itemSchema.any(...e)}))}function Et(...e){return nt((t=>{t.itemSchema.anyOf(e)}))}function Tt(e){return nt((t=>{t.itemSchema.const(e)}))}function Rt(e,t){return nt((r=>{r.itemSchema.customKey(e,t)}))}function At(e){return nt((t=>{Object.entries(e).forEach((([e,r])=>{t.itemSchema.customKey(e,r)}))}))}function Pt(e){return nt((t=>{t.itemSchema.default(e)}))}function wt(e){return(0,d.useDecorators)(pt({_:e}))}function Ct(e){return nt(((t,r)=>{switch((0,d.decoratorTypeOf)(r)){case d.DecoratorTypes.PROP:case d.DecoratorTypes.CLASS:t.schema.description(e);break;case d.DecoratorTypes.PARAM:t.parameter.description(e);break;case d.DecoratorTypes.METHOD:t.operation?.description(e)}}))}function _t(){return(0,d.useDecorators)(bt(),nt((e=>{e.discriminatorKey()})))}const Mt=ht("enum",(function(e,...t){return nt((r=>{r.itemSchema.enum(e,...t)}))}));function xt(...e){return nt((t=>{t.schema.examples(e)}))}function $t(e){return nt((t=>{t.parameter.examples(e)}))}const kt=ht("maximum",((e,t=!1)=>nt((r=>{t?r.itemSchema.exclusiveMaximum(e):r.itemSchema.maximum(e)})))),Dt=kt,Nt=ht("exclusiveMaximum",((e,t=!0)=>kt(e,t))),It=ht("minimum",((e,t=!1)=>nt((r=>{t?r.itemSchema.exclusiveMinimum(e):r.itemSchema.minimum(e)})))),jt=It,Lt=ht("exclusiveMinimum",((e,t=!0)=>It(e,t)));var Ht;!function(e){e.DATE_TIME="date-time",e.DATE="date",e.TIME="time",e.EMAIL="email",e.HOSTNAME="hostname",e.IPV4="ipv4",e.IPV6="ipv6",e.URI="uri",e.URL="url",e.URI_REF="uri-reference",e.URI_TEMPLATE="uri-template",e.JSON_POINTER="json-pointer",e.RELATIVE_JSON_POINTER="relative-json-pointer",e.UUID="uuid",e.REGEX="regex"}(Ht||(Ht={}));const Ut=ht("format",(e=>nt((t=>{t.itemSchema.format(e)})))),Gt=ht("format",(()=>Ut(Ht.EMAIL))),Bt=ht("format",(()=>Ut(Ht.DATE_TIME))),qt=ht("format",(()=>Ut(Ht.DATE))),Ft=ht("format",(()=>Ut(Ht.TIME))),Kt=ht("format",(()=>Ut(Ht.URI))),Vt=ht("format",(()=>Ut(Ht.URL)));function Jt(e=!0){return nt((t=>{t.schema.$forwardGroups=e}))}var Wt=s(133),zt=s.n(Wt);function Xt(e,t){t=[].concat(t),e=[].concat(e);let r=new Set,n=new Set,s=new Set,o=0,i=e=>{s.add(e.output)};for(let s=0;s<t.length;s++){let a=zt()(String(t[s]),{onResult:i},!0),c=a.state.negated||a.state.negatedExtglob;c&&o++;for(let t of e){let e=a(t,!0);(c?!e.isMatch:e.isMatch)&&(c?r.add(e.output):(r.delete(e.output),n.add(e.output)))}}return!!(o===t.length?[...s]:[...n]).filter((e=>!r.has(e))).length}function Qt(e,t=[]){const r=e.filter((e=>e.startsWith("!"))).map((e=>e.replace("!",""))),n=e.filter((e=>!e.startsWith("!")));return!!(r.length&&t.length&&Xt(r,t))||!!n.length&&!Xt(e.filter((e=>!e.startsWith("!"))),t)}function Yt(...e){return nt((t=>{switch(t.decoratorType){case d.DecoratorTypes.CLASS:!function(e,t){const r=Object.entries(e[0]);t.children.forEach((e=>{Yt(...r.filter((([,t])=>t.includes(e.propertyName))).map((([e])=>e)))(e.target,e.propertyKey)}))}(e,t);break;case d.DecoratorTypes.PROP:t.schema.$hooks.on("groups",((t,r)=>!(t||!Qt(e,r))||t));break;case d.DecoratorTypes.PARAM:let r="";2==e.length&&(0,d.isArray)(e[1])&&(r=e[0],e=e[1]),t.parameter.groups=e,t.parameter.groupsName=r}}))}function Zt(){return(0,d.StoreSet)("hidden",!0)}function er(e=!0){return nt((t=>{t.schema.ignore(e)}))}function tr(){return nt((e=>{e.itemSchema.type("integer")}))}const rr=ht("maxLength",(e=>{if(e<0)throw new Error("The value of maxLength MUST be a non-negative integer.");return nt((t=>{t.itemSchema.maxLength(e)}))})),nr=ht("minLength",(e=>{if(e<0)throw new Error("The value of minLength MUST be a non-negative integer.");return nt((t=>{t.itemSchema.minLength(e)}))})),sr=ht("multipleOf",(e=>{if(e<=0)throw new Error("The value of multipleOf MUST be a number, strictly greater than 0.");return nt((t=>{t.itemSchema.multipleOf(e)}))}));function or(e){return nt(((t,r)=>{switch((0,d.decoratorTypeOf)(r)){case d.DecoratorTypes.CLASS:t.schema.name(e);break;case d.DecoratorTypes.PARAM:t.parameter.name(e);break;default:t.parent.schema.addAlias(r[1],e)}}))}function ir(e,...t){return t=[e,...t],(0,d.useDecorators)(1===t.length&&bt(t[0]),St(null,...t))}function ar(...e){return nt((t=>{t.itemSchema.oneOf(e),t.type=Object}))}function cr(){return nt((e=>{switch(e.decoratorType){case d.DecoratorTypes.PARAM:e.required=!1;break;case d.DecoratorTypes.PROP:e.parentSchema.removeRequired(e.propertyName)}}))}const ur=ht("pattern",(e=>nt((t=>{t.itemSchema.pattern(e)}))));function pr(e=!0){return nt((t=>{t.itemSchema.readOnly(e)}))}function hr(e){return nt((t=>{Object.entries(e).forEach((([e,r])=>{t.schema.set(e,r)}))}))}function lr(e,t){return nt((r=>{r.schema.set(e,t)}))}function fr(e,...t){return hr({properties:{...t.reduce(((t,r)=>({...t,[r]:e})),{})}})}const dr=ht("required",((e=!0,...t)=>e?vt(...t):cr()));function mr(...e){return nt((t=>{t.parent.schema.$hooks.on("requiredGroups",((r,n)=>Qt(e,n)?r.filter((e=>e!==t.propertyKey)):r))}))}function yr(e){return nt((t=>{t.schema.title(e)}))}function gr(e){return nt((()=>(0,d.useDecorators)(pt({type:e}))))}function Or(e=!0){return nt((t=>{t.itemSchema.writeOnly(e)}))}function br(e=Object){if((0,d.isClass)(e)){const{schema:t}=X(e);return t.properties=function(t){return Object.entries(t).forEach((([t,r])=>{X(e.prototype,t).schema.assign(r)})),this},t}return _.from({type:e})}function vr(){return br(Number)}function Sr(){return br(Number).integer()}function Er(){return br(String)}function Tr(){return br(Boolean)}function Rr(){return br(Date).format(Ht.DATE)}function Ar(){return br(Date).format(Ht.DATE_TIME)}function Pr(){return br(Date).format(Ht.TIME)}function wr(){return br(String).format(Ht.EMAIL)}function Cr(){return br(String).format(Ht.URI)}function _r(){return br(String).format(Ht.URL)}function Mr(){return br(Array)}function xr(){return br(Map).unknown(!0)}function $r(){return br(Array).uniqueItems(!0)}function kr(e={}){return br(Object).properties(e)}function Dr(...e){return br().any(...e)}function Nr(...e){return br().anyOf(e)}function Ir(...e){return br().oneOf(e)}function jr(...e){return br().allOf(e)}function Lr(e){try{if(e())return y.from(e()).schema}catch(e){}return new he(e)}function Hr(e){const t=Er().enum(e);return b.set(e,t),t}function Ur(...e){const t=[e.map((e=>function(e){return(0,d.isObject)(e)&&!("toJSON"in e)}(e)?Er().enum(Object.values(e)):e))],r=(...e)=>{y.from(...e).nestedGenerics=t};return r.Nested=(...e)=>(t.push(e),r),r}function Gr(...e){return t=>{y.from(t).schema.genericLabels=e}}function Br(...e){return nt(((t,r)=>{switch(t.decoratorType){case d.DecoratorTypes.METHOD:t.operation.produces(e);break;case d.DecoratorTypes.CLASS:(0,d.decorateMethodsOf)(r[0],Br(...e));break;default:throw new d.UnsupportedDecoratorType(Br,r)}}))}function qr(...e){return(0,d.useDecorators)(Br(...e),(0,d.StoreSet)("acceptMimes",e))}function Fr(...e){return nt(((t,r)=>{switch(t.decoratorType){case d.DecoratorTypes.METHOD:t.operation.consumes(e);break;case d.DecoratorTypes.CLASS:(0,d.decorateMethodsOf)(r[0],Fr(...e));break;default:throw new d.UnsupportedDecoratorType(Fr,r)}}))}class Kr extends Map{methods;decoratorType;entity;actions=[];constructor(e={}){super(),Object.entries(e).forEach((([e,t])=>{this.set(e,t)}))}addAction(e){return this.actions.push(e),this}build(){const e=(...t)=>this.bind(t,e),r=t=>{return r=(...e)=>{t in this?this[t](...e):this.set(t,e[0])},(...t)=>(r(...t),e);var r};return this.methods.forEach((n=>{e[(0,t.pascalCase)(n)]=r(n)})),e}toObject(){return[...this.entries()].reduce(((e,[t,r])=>({...e,[t]:r})),{})}getMergedKey(e,t){let r=this.get(e)||t;if(r)return this.decoratorType===d.DecoratorTypes.CLASS&&(r={...r,...t||{}}),{...t||{},...r}}bind(e,t){this.entity=y.from(...e),this.beforeInit(),this.onInit(e,t),this.afterInit()}onInit(e,t){this.forEach(((e,t)=>{this.onMapKey(t,e)}))}onMapKey(e,t){this.entity.set(e,t)}runActions(){return this.actions.forEach((e=>{e(this)})),this}beforeInit(){}afterInit(){}}const Vr=new Map;function Jr(e,t){Vr.set(e,t)}function Wr(e){return Vr.get(e)}function zr(e){return e.map((e=>function(e){return(0,d.isObject)(e)&&!("toJSON"in e)}(e)?Er().enum(Object.values(e)):e))}class Xr extends Kr{methods=["contentType","description","examples","type","status","of","ofInteger","oneOf","allOf","anyOf","nested","header","headers","schema","title","groups","allowedGroups","location"];constructor({status:e,model:t}){super(),this.model(t),this.status(e)}type(e){return this.model(e)}model(e){return e&&this.set("model",e),this}status(e){return this.set("status",e),e&&Fe(e)&&!this.get("description")&&(this.set("description",Fe(e)),this.get("model")||this.model(Wr(+e))),this}headers(e){return this.set("headers",{...this.get("headers")||{},...q(e)}),this}header(e,t){return this.headers({[e]:t})}location(e,t={}){return this.headers({Location:{...t,value:e}}),this}groups(...e){return 2===e.length&&(0,d.isArray)(e[1])?(this.set("groupsName",e[0]),this.set("groups",e[1])):this.set("groups",e),this}allowedGroups(...e){return this.set("allowedGroups",new Set(e)),this}nested(...e){const t=this.get("model");return this.checkPrimitive(t),this.checkCollection(t),this.addAction((t=>{this.get("schema").nestedGenerics.push(zr(e))})),this}of(...e){const t=this.get("model");return this.checkPrimitive(t),this.addAction((()=>{const r=this.get("schema");(0,d.isCollection)(t)?r?.itemSchema({type:e[0]}):r?.nestedGenerics.push(zr(e))})),this}ofInteger(){return this.of("integer")}oneOf(...e){return this.manyOf("oneOf",e)}allOf(...e){return this.manyOf("allOf",e)}anyOf(...e){return this.manyOf("anyOf",e)}schema(e){return this.addAction((()=>{this.get("schema").assign(e)})),this}examples(e){return this.set("examples",(0,d.isString)(e)?[e]:e),this}title(e){return this.schema({title:e})}checkPrimitive(e){if((0,d.isPrimitiveOrPrimitiveClass)(e))throw new Error("Returns.Of cannot be used with the following primitive classes: String, Number, Boolean")}checkCollection(e){if((0,d.isCollection)(e))throw new Error("Returns.Nested cannot be used with the following classes: Map, Set, Array, String, Number, Boolean")}getContentType(){const e=this.get("model");let t=this.get("contentType");return!e||(0,d.isPlainObject)(e)||(0,d.isPrimitiveOrPrimitiveClass)(e)||(t=t||"application/json"),t}getStatus(){return this.get("status")||"default"}onInit(e,t){switch((0,d.decoratorTypeOf)(e)){case d.DecoratorTypes.METHOD:this.entity=y.from(...e),this.entity.operation&&this.map();break;case d.DecoratorTypes.CLASS:this.decoratorType=d.DecoratorTypes.CLASS,(0,d.decorateMethodsOf)(e[0],t)}}map(){const e=this.get("model"),{entity:t,decoratorType:r}=this,n=this.entity.operation,s=this.getStatus(),o=n.ensureResponseOf(s),i=this.getContentType();let{description:a=o.get("description")}=this.toObject();a&&(a=r===d.DecoratorTypes.CLASS&&o.get("description")||a,o.description(a));const c=this.getMergedKey("headers",o.get("headers"));return c&&o.headers(c),this.mapMedia(o),(G(this.get("status"))||"default"===s)&&e&&(t.type=e),i&&n.addProduce(i),this.runActions()}mapMedia(e){const t=this.getContentType(),r=this.get("model"),n=e.getMedia(t||"*/*"),s=n.get("schema")||new _({type:r}),o=this.get("groups"),i=this.get("groupsName"),a=this.get("allowedGroups"),c=this.entity.operation;if(r&&((0,d.isArray)(r)?s.oneOf(r.map((e=>({type:e})))):s.type(r)),this.set("schema",s),n.schema(s),n.groups=o,n.groupsName=i,a){n.allowedGroups=a;const e=new L;e.in("query").name("includes"),e.schema(_.from({type:"array",items:{type:"string",enum:[...a]}})),c.addParameter(-1,e)}const u=this.get("examples");return u&&n.examples(u),n}manyOf(e,t){const r=this.get("model");return this.addAction((()=>{const n=this.get("schema");(0,d.isCollection)(r)?(n.type(r||Object),n.itemSchema().set(e,t)):n.set(e,t)})),this}}function Qr(e,t){return new Xr({status:e,model:t}).build()}function Yr(e){return Qr().ContentType(e)}function Zr(e=!0){return nt(((t,r)=>{switch((0,d.decoratorTypeOf)(r)){case d.DecoratorTypes.METHOD:t.operation.deprecated(e);break;case d.DecoratorTypes.CLASS:(0,d.decorateMethodsOf)(r[0],Zr(e));break;case d.DecoratorTypes.PARAM:t.parameter.set("deprecated",e);break;case d.DecoratorTypes.PROP:t.schema.set("deprecated",e);break;default:throw new d.UnsupportedDecoratorType(Zr,r)}}))}function en(e,t){return void 0!==t&&(e={[e]:t}),Qr().Headers(e)}function tn(e){const t=new L,r={},n=(s,o,i)=>{const a=y.from(s,o,i);switch(a.decoratorType){case d.DecoratorTypes.PARAM:a.parameter.in(e);break;case d.DecoratorTypes.METHOD:t.in(e),a.operation.addParameter(-1,t),t.schema(_.from(r));break;case d.DecoratorTypes.CLASS:(0,d.decorateMethodsOf)(s,n);break;default:throw new d.UnsupportedDecoratorType(tn,[s,o,i])}};return n.Type=e=>(r.type=e,n),n.Name=e=>(t.name(e),n),n.Description=e=>(t.description(e),n),n.Required=(e=!0)=>(t.required(e),n),n.Pattern=e=>n.Schema({pattern:e.toString()}),n.Schema=e=>(Object.assign(r,e),n),n}function rn(e){return(...t)=>{const[r,n,s]=t,o=d.Metadata.getParamTypes(r,n)[s]===Array,i=[e="object"==typeof e?void 0:e,!o&&"0"].filter(Boolean).join(".");(0,d.useDecorators)(tn(N.FILES),or(i),(0,d.useMethodDecorators)(Qr(400).Description("<File too long | Too many parts | Too many files | Field name too long | Field value too long | Too many fields | Unexpected field> [fieldName] Example: File too long file1"),Fr("multipart/form-data")))(...t)}}function nn(e,t){return Qr().Location(e,t)}const sn=new Set([...Object.keys(e).filter((t=>t!==e.CUSTOM)).map((e=>e.toLowerCase()))]);function on(e){let t,r;const n=e.filter((e=>"string"==typeof e&&sn.has(e.toLowerCase())?(t=e.toLocaleUpperCase(),!1):"string"==typeof e||e instanceof RegExp?(r=e||"/",!1):!!e));return{path:r,method:t,use:n}}class an extends Kr{methods=["name","description","summary","method","id","use","useAfter","useBefore"];beforeInit(){const t=this.get("path"),r=e[this.get("method")]||e.CUSTOM;t&&this.entity.operation.addOperationPath(r,t)}onMapKey(e,t){switch(e){case"name":case"id":return void this.entity.operation.operationId(t);case"summary":return void this.entity.operation.summary(t);case"description":return void this.entity.operation.description(t);case"use":return void this.entity.use(t);case"useAfter":return void this.entity.after(t);case"useBefore":return void this.entity.before(t)}return super.onMapKey(e,t)}}function cn(...e){const t=on(e);return new an(t).build()}function un(e){return nt(((t,r)=>{if(t.decoratorType!==d.DecoratorTypes.METHOD)throw new d.UnsupportedDecoratorType(un,r);t.operation.operationId(e)}))}function pn(e,t="/"){return nt(((r,n)=>{if(r.decoratorType!==d.DecoratorTypes.METHOD)throw new d.UnsupportedDecoratorType(pn,n);r.operation.addOperationPath(e.toUpperCase(),t)}))}function hn(){return Yt("partial")}function ln(e){return nt(((t,r)=>{if(t.decoratorType!==d.DecoratorTypes.CLASS)throw new d.UnsupportedDecoratorType(ln,r);t.path=e}))}function fn(t){return cn(e.PUBLISH,t)}function dn(...e){const{status:t,url:r,meta:n}=e.reduce(((e,t)=>(0,d.isNumber)(t)?(e.status=t,e):(0,d.isString)(t)?(e.url=t,e):(e.meta=t,e)),{status:302,url:"",meta:{}});return(0,d.useDecorators)(Qr(t).Location(r,n),nt((e=>{e.operation?.setRedirection(t)})))}const mn=cn;function yn(t="/",...r){return cn(...[e.ALL,t].concat(r))}function gn(t="/",...r){return cn(...[e.GET,t].concat(r))}function On(t="/",...r){return cn(...[e.POST,t].concat(r))}function bn(t="/",...r){return cn(...[e.PUT,t].concat(r))}function vn(t="/",...r){return cn(...[e.DELETE,t].concat(r))}function Sn(t="/",...r){return cn(...[e.HEAD,t].concat(r))}function En(t="/",...r){return cn(...[e.PATCH,t].concat(r))}function Tn(t="/",...r){return cn(...[e.OPTIONS,t].concat(r))}function Rn(e,...t){return nt(((r,n)=>{switch(r.decoratorType){case d.DecoratorTypes.METHOD:r.operation.addSecurityScopes(e,t);break;case d.DecoratorTypes.CLASS:(0,d.decorateMethodsOf)(n[0],Rn(e,...t));break;default:throw new d.UnsupportedDecoratorType(Rn,n)}}))}function An(e,t){return Qr(e,t)}function Pn(t){return cn(e.SUBSCRIBE,t)}function wn(e){return nt(((t,r)=>{if(t.decoratorType!==d.DecoratorTypes.METHOD)throw new d.UnsupportedDecoratorType(wn,r);t.operation.summary(e)}))}function Cn(...e){return nt(((t,r)=>{switch(t.decoratorType){case d.DecoratorTypes.METHOD:t.operation.addTags(function(e){return e.map((e=>"string"==typeof e?{name:e}:e))}(e));break;case d.DecoratorTypes.CLASS:(0,d.decorateMethodsOf)(r[0],Cn(...e));break;default:throw new d.UnsupportedDecoratorType(Cn,r)}}))}function _n(e,t){return(0,d.StoreSet)("view",{path:e,options:t})}function Mn(e,t){if(e instanceof RegExp||t instanceof RegExp){if(!e)return t;if(!t)return e;const r=e instanceof RegExp?e:new RegExp(e,"gi"),n=t instanceof RegExp?t:new RegExp(t,"gi");return new RegExp(r.source+n.source,(r.global?"g":"")+(r.ignoreCase?"i":"")+(r.multiline?"m":""))}e&&t&&e.endsWith("/")&&t.startsWith("/")&&(t=t.slice(1));const r=(e||"")+(t||"");return r.endsWith("/")&&r.length>1?r.slice(0,-1):r}class xn{token;endpoint;operationPath;basePath;paramsTypes;constructor(e){Object.assign(this,e),this.paramsTypes=this.endpoint.getParamTypes()}get url(){return this.fullPath}get path(){return this.operationPath?.path}get fullPath(){return Mn(this.basePath,this.path)}get method(){return this.operationPath?.method||"USE"}get name(){return`${this.endpoint.targetName}.${this.methodClassName}()`}get className(){return this.endpoint.targetName}get methodClassName(){return this.propertyKey}get parameters(){return this.endpoint.parameters}get propertyKey(){return String(this.endpoint.propertyKey)}get propertyName(){return this.endpoint.propertyName}get store(){return this.endpoint.store}get operation(){return this.endpoint.operation}get operationId(){return this.operation.get("operationId")||this.endpoint.propertyKey}has(e){return this.paramsTypes[e]}}const $n=(0,d.mergeReducerBuilder)(((e,t)=>e.type&&e.type===t.type||e.$ref&&e.$ref===t.$ref)),kn=(0,d.mergeReducerBuilder)(((e,t)=>e.in===t.in&&e.name===t.name)),Dn=(0,d.mergeReducerBuilder)(((e,t)=>!!Object.keys(t).find((t=>!!e[t])))),Nn=(0,d.mergeReducerBuilder)(((e,t)=>e.name===t.name)),In={security:Dn,parameters:kn,oneOf:$n,anyOf:$n,allOf:$n,tags:Nn};function jn(e,t){return(0,d.deepMerge)(e,t,{reducers:In,cleanUndefinedProps:!0})}const Ln=new Map;function Hn(e,t={}){if(t={specType:ne.OPENAPI,...t,tags:[],paths:{},channels:{},components:{},operationIdFormatter:t.operationIdFormatter||Ye(t.operationIdPattern),root:!1},(0,d.isArray)(e)){let r={};return t={...t,append(e){r=jn(r,e)}},e.forEach((({token:e,...r})=>{const n=Hn(e,{...t,...r});t.append(n)})),r}return function(e,t,r){Ln.has(e)||Ln.set(e,new Map);const n=Ln.get(e),s=JSON.stringify(t);return n.has(s)||n.set(s,r()),n.get(s)}(e,t,(()=>function(e,t){const r=X(e),{rootPath:n="/"}=t;return t={...t,rootPath:n,defaultTags:[(0,d.cleanObject)({name:r.schema.getName(),description:r.schema.get("description")})]},p("generate",[r],t)}(e,t)))}function Un(e){return e.startsWith("3.")?ne.OPENAPI:ne.SWAGGER}function Gn(e){return"openapi"in e?ne.OPENAPI:ne.SWAGGER}function Bn(e){const{title:t,description:r,version:n,termsOfService:s,contact:o,license:i}=e;return(0,d.cleanObject)({version:n,title:t,description:r,termsOfService:s,contact:o,license:i})}function qn(e,{version:t,specVersion:r,acceptMimes:n=["application/json"]}){const{paths:s,security:o,tags:i,host:a,basePath:c,schemes:u,consumes:p=[],produces:h=["application/json"],definitions:l,parameters:f,responses:m,securityDefinitions:y,externalDocs:g}=e;return{swagger:r,consumes:(0,d.uniq)([...n,...p]),produces:(0,d.uniq)([...h]),info:Bn((0,d.getValue)(e,"info",{})),paths:s,host:a,basePath:c,schemes:u,definitions:l,parameters:f,responses:m,security:o,securityDefinitions:y,tags:i,externalDocs:g}}function Fn(e,{specVersion:t}){const{servers:r,paths:n,components:s,security:o,tags:i,externalDocs:a}=e;return{openapi:t,info:Bn((0,d.getValue)(e,"info",{})),servers:r,paths:n,components:s,security:o,tags:i,externalDocs:a}}function Kn(e,{fileSpec:t,acceptMimes:r,specVersion:n,version:s}){const o={specVersion:n=n||(0,d.getValue)(e,"openapi",(0,d.getValue)(e,"swagger","2.0")),acceptMimes:r};switch(Un(n)){case ne.OPENAPI:e=Fn(e,o),t=t?Fn(t,o):t;break;default:case ne.SWAGGER:e=qn(e,o),t=t?qn(t,o):t}return e=jn(e,t),(0,d.setValue)(e,"info.title",(0,d.getValue)(e,"info.title","Api documentation")),(0,d.setValue)(e,"info.version",(0,d.getValue)(e,"info.version",s)),e}const Vn=["get","put","post","delete","options","head","patch","trace"],Jn=["format","minimum","maximum","exclusiveMinimum","exclusiveMaximum","minLength","maxLength","multipleOf","minItems","maxItems","uniqueItems","minProperties","maxProperties","additionalProperties","pattern","enum","default"],Wn=["type","items"],zn=/^(application\/json|[^;\/ \t]+\/[^;\/ \t]+[+]json)[ \t]*(;.*)?$/,Xn={APPLICATION_X_WWW_URLENCODED:"application/x-www-form-urlencoded",MULTIPART_FORM_DATA:"multipart/form-data"};function Qn(e){if(Array.isArray(e))e.forEach(Qn);else if("object"==typeof e)for(let t in e)"$ref"===t?e.$ref=e.$ref.replace("#/components/schemas/","#/definitions/").replace("#/components/","#/x-components/"):Qn(e[t])}function Yn(e){return new RegExp(zn,"i").test(e)}function Zn(e){const t=Object.keys(Xn).map((e=>Xn[e]));return Object.keys(e).filter((e=>t.indexOf(e)>-1||Yn(e)))}function es(e){function t(e){const{scheme:t,type:r,name:n,bearerFormat:s,flows:o,...i}=e;switch(r){case"http":if("basic"===t)return{...i,type:t};if("bearer"===t)return{...i,type:"apiKey",name:"Authorization",in:"header"};break;case"oauth2":const e=Object.keys(o)[0],n=o[e];let s=e;return"clientCredentials"===s?s="application":"authorizationCode"===s&&(s="accessCode"),{type:r,flow:s,authorizationUrl:n.authorizationUrl,tokenUrl:n.tokenUrl,scopes:n.scopes}}}return Object.entries(e).reduce(((e,[r,n])=>({...e,[r]:t(n)})),{})}function ts(e){let t=e.url;const r=e.variables||{};for(const e in r){const n=r[e]||{};if(n.default){const r=RegExp(`{${e}}`,"g");t=t.replace(r,n.default)}}const n=new URL(t);return{host:n.host?n.host:void 0,basePath:n.pathname,schemes:null!==n.protocol?[n.protocol.substring(0,n.protocol.length-1)]:void 0}}class rs{spec;constructor(e){this.spec=JSON.parse(JSON.stringify(e))}convertInfos(){const e=this.spec.servers&&this.spec.servers[0];return e?ts(e):{}}resolveReference(e,t,r){if(!t||!t.$ref)return t;const n=t.$ref;if(n.startsWith("#")){const t=n.split("/").map((e=>e.replace(/~1/g,"/").replace(/~0/g,"~")));t.shift();let s=e;return t.forEach((e=>{s=s[e]})),r?JSON.parse(JSON.stringify(s)):s}}convert(){const e={swagger:"2.0",...this.convertInfos(),paths:this.spec.paths?this.convertOperations(this.spec.paths,this.spec):void 0};return this.spec.components&&(this.convertSchemas(),this.convertSecurityDefinitions(),this.spec["x-components"]=this.spec.components,delete this.spec.components,Qn(this.spec)),delete this.spec.servers,delete this.spec.openapi,delete this.spec["x-components"],(0,d.cleanObject)({...e,...this.spec})}convertOperations(e,t){return Object.entries(e).reduce(((e,[r,n])=>{const s=e[r]=this.resolveReference({...t,paths:e},n,!0);return this.convertParameters(s),Object.keys(s).forEach((r=>{if(Vn.indexOf(r)>=0){const n=s[r]=this.resolveReference({...t,paths:e},s[r],!0);this.convertOperationParameters(n),this.convertResponses(n)}})),e}),e)}convertOperationParameters(e){let t,r,n,s;if(e.parameters=e.parameters||[],e.requestBody){let o=this.resolveReference(this.spec,e.requestBody,!0);if(e.requestBody.content){const t=Zn(e.requestBody.content)[0],r={content:{}},n=e.requestBody.content[t];n&&n.schema&&n.schema.$ref&&!n.schema.$ref.startsWith("#")&&(o=this.resolveReference(this.spec,n.schema,!0),r.content[`${t}`]={schema:o},o=r)}if(o.name="body",t=o.content,t&&Object.keys(t).length){if(n=Object.keys(t).filter((e=>e.indexOf("/")>0)),s=n.filter((e=>e.indexOf("*")<0)),r=Zn(t)[0],delete o.content,[Xn.APPLICATION_X_WWW_URLENCODED,Xn.MULTIPART_FORM_DATA].includes(r))if(e.consumes=s,o.in="formData",o.schema=t[r].schema,o.schema=this.resolveReference(this.spec,o.schema,!0),"object"===o.schema.type&&o.schema.properties){const t=o.schema.required||[];Object.keys(o.schema.properties).forEach((r=>{const n=o.schema.properties[r];if(!n.readOnly){const s={name:r,in:"formData",schema:n};t.indexOf(r)>=0&&(s.required=!0),e.parameters?.push(s)}}))}else e.parameters.push(o);else r?(e.consumes=s,o.in="body",o.schema=t[r].schema,e.parameters.push(o)):n&&(e.consumes=s||["application/octet-stream"],o.in="body",o.name=o.name||"file",delete o.type,o.schema=t[n[0]].schema||{type:"string",format:"binary"},e.parameters.push(o));o.schema&&this.convertSchema(o.schema,"request")}delete e.requestBody}this.convertParameters(e)}convertParameters(e){void 0!==e.parameters&&(e.parameters=e.parameters||[],(e.parameters||[]).forEach(((t,r)=>{if("body"!==(t=e.parameters[r]=this.resolveReference(this.spec,t,!1)).in){if(this.copySchemaProperties(t,Jn),this.copySchemaProperties(t,Wn),this.copySchemaXProperties(t),!t.description){const e=this.resolveReference(this.spec,t.schema,!1);e&&e.description&&(t.description=e.description)}void 0!==t.example&&(t["x-example"]=t.example),delete t.schema,delete t.allowReserved,delete t.example}if("array"===t.type)switch(t.style||("query"===t.in||"cookie"===t.in?"form":"simple")){case"matrix":t.collectionFormat=t.explode?void 0:"csv";break;case"label":t.collectionFormat=void 0;break;case"simple":t.collectionFormat="csv";break;case"spaceDelimited":t.collectionFormat="ssv";break;case"pipeDelimited":t.collectionFormat="pipes";break;case"deepOpbject":t.collectionFormat="multi";break;case"form":t.collectionFormat=!1===t.explode?"csv":"multi"}delete t.style,delete t.explode})))}copySchemaProperties(e,t){let r=this.resolveReference(this.spec,e.schema,!0);r&&t.forEach((t=>{const n=r[t];"additionalProperties"===t&&"boolean"==typeof n||void 0!==n&&(e[t]=n)}))}copySchemaXProperties(e){let t=this.resolveReference(this.spec,e.schema,!0);t&&Object.keys(t).forEach((r=>{Reflect.hasOwnProperty.call(t,r)&&!Reflect.hasOwnProperty.call(e,r)&&r.startsWith("x-")&&(e[r]=t[r])}))}convertResponses(e){Object.keys(e.responses||{}).forEach((t=>{const r=e.responses[t]=this.resolveReference(this.spec,e.responses[t],!0);if(r.content){let t=null,n=null;if(Object.keys(r.content).forEach((s=>{const o=s.indexOf("*")<0?s:"application/octet-stream";e.produces?e.produces.indexOf(o)<0&&e.produces.push(o):e.produces=[o];const i=r.content[s];t=t||i.schema,!n&&Yn(o)&&(n=i.schema),i.example&&(r.examples=r.examples||{},r.examples[o]=i.example)})),t){r.schema=n||t;const e=this.resolveReference(this.spec,r.schema,!0);e&&r.schema.$ref&&!r.schema.$ref.startsWith("#")&&(r.schema=e),this.convertSchema(r.schema,"response")}}Object.keys(r.headers||{}).forEach((e=>{const t=this.resolveReference(this.spec,r.headers[e],!0);t.schema&&(t.type=t.schema.type,t.format=t.schema.format,delete t.schema),r.headers[e]=t})),delete r.content}))}convertSchema(e,t){if(e.oneOf&&(delete e.oneOf,e.discriminator&&delete e.discriminator),e.anyOf&&(delete e.anyOf,e.discriminator&&delete e.discriminator),e.allOf)for(const r in e.allOf)this.convertSchema(e.allOf[r],t);switch(e.discriminator&&(e.discriminator.mapping&&this.convertDiscriminatorMapping(e.discriminator.mapping),e.discriminator=e.discriminator.propertyName),e.type){case"object":e.properties&&Object.keys(e.properties).forEach((r=>{!0===e.properties[r].writeOnly&&"response"===t?delete e.properties[r]:(this.convertSchema(e.properties[r],t),delete e.properties[r].writeOnly)}));break;case"array":e.items&&this.convertSchema(e.items,t)}e.nullable&&(e["x-nullable"]=!0,delete e.nullable),void 0!==e.deprecated&&(void 0===e["x-deprecated"]&&(e["x-deprecated"]=e.deprecated),delete e.deprecated)}convertSchemas(){this.spec.definitions=this.spec.components.schemas,Object.keys(this.spec.definitions||{}).forEach((e=>{this.convertSchema(this.spec.definitions[e])})),delete this.spec.components.schemas}convertDiscriminatorMapping(e){Object.keys(e).forEach((t=>{const r=e[t];if("string"!=typeof r)return void console.warn(`Ignoring ${r} for ${t} in discriminator.mapping.`);let n;if(/^[a-zA-Z0-9._-]+$/.test(r))try{n=this.resolveReference(this.spec,{$ref:`#/components/schemas/${r}`},!1)}catch(e){console.debug(`Error resolving ${r} for ${t} as schema name in discriminator.mapping: ${e}`)}if(!n)try{n=this.resolveReference(this.spec,{$ref:r},!1)}catch(e){console.debug(`Error resolving ${r} for ${t} in discriminator.mapping: ${e}`)}n?(n["x-discriminator-value"]=t,n["x-ms-discriminator-value"]=t):console.warn(`Unable to resolve ${r} for ${t} in discriminator.mapping.`)}))}convertSecurityDefinitions(){this.spec.components.securitySchemes&&(this.spec.securityDefinitions=es(this.spec.components.securitySchemes),delete this.spec.components.securitySchemes)}}function ns(e){return new rs(e).convert()}async function ss({tokens:e,...t}){const{version:r="1.0.0",acceptMimes:n,specPath:s,specVersion:o}=t,i=Kn((0,d.getValue)(t,"spec",{}),{fileSpec:{},version:r,specVersion:o,acceptMimes:n}),a=Gn(i),c=jn(i,Hn(e,t));return a===ne.SWAGGER?ns(c):c}const os="$cache:schemes";function is(e,t={}){const r=X(e),n=t.specType||ne.JSON;return t={endpoint:!0,groups:[],inlineEnums:n===ne.JSON,...t,specType:n,components:{schemas:{}}},"parameter"===r.decoratorType&&(t={...t,genericTypes:r.nestedGenerics[0],nestedGenerics:r.nestedGenerics,groups:r.parameter?.groups}),function(e,t){const r=e.store.get(os)||new Map,n=function(e){return JSON.stringify(e)}(t);if(!r.has(n)){const s=p("schema",[e.schema],t);Object.keys((0,d.getValue)(t,"components.schemas",{})).length&&(s.definitions=t.components.schemas),r.set(n,s)}return e.store.set(os,r),r.get(n)}(r,t)}function as(e,t={}){const r=e.isStore?e:X(e),n=Mn(t.basePath,r.path);let s=[];return t.withChildren&&(s=r.get("childrenControllers",[]).reduce(((e,r)=>e.concat(as(r,{...t,basePath:n}))),s)),[...Z(e).values()].reduce(((r,s)=>{const{operation:o}=s;return o&&o.getAllowedOperationPath(t.allowedVerbs).forEach((t=>{r.push(new xn({basePath:n,token:e,endpoint:s,operationPath:t}))})),r}),s)}function cs(e){const t=e.isStore?e:X(e);if(!t.$properties){const e=Y(t);t.$properties=new Map,e.forEach((e=>{e.children.forEach((e=>{t.$properties.has(e.propertyKey)||t.$properties.set(e.propertyKey,e)}))}))}return t.$properties}function us(e,t={}){const r=cs(e),n=new Map;return r.forEach(((e,r)=>{!t.withIgnoredProps&&Ee(e.itemSchema,t)||n.set(r,e)})),n}})(),o})(),e.exports=n(r(683),r(886))}},t={};function r(n){var s=t[n];if(void 0!==s)return s.exports;var o=t[n]={exports:{}};return e[n](o,o.exports,r),o.exports}r.d=(e,t)=>{for(var n in t)r.o(t,n)&&!r.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},r.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),r.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var n={};return(()=>{"use strict";r.r(n),r.d(n,{Configuration:()=>l,Constant:()=>f,Container:()=>I,Controller:()=>T,ControllerProvider:()=>j,DIConfiguration:()=>q,DI_PARAMS:()=>t,DI_PARAM_OPTIONS:()=>s,GlobalProviderRegistry:()=>O,GlobalProviders:()=>b,INJECTABLE_PROP:()=>e,Inject:()=>h,Injectable:()=>R,InjectablePropertyType:()=>o,InjectionError:()=>G,InjectorService:()=>X,Intercept:()=>A,Interceptor:()=>P,InvalidPropertyTokenError:()=>a,LOGGER:()=>Q,LazyInject:()=>w,LocalsContainer:()=>L,Module:()=>_,OptionalLazyInject:()=>C,Opts:()=>x,OverrideProvider:()=>$,Provider:()=>g,ProviderScope:()=>d,ProviderType:()=>m,Scope:()=>M,Service:()=>k,UndefinedTokenError:()=>B,UseOpts:()=>D,Value:()=>N,colors:()=>U,createContainer:()=>F,getConfiguration:()=>Z,getConstructorDependencies:()=>c,getTokens:()=>V,injectProperty:()=>p,mergeMount:()=>Y,registerController:()=>E,registerProvider:()=>v,registerValue:()=>S,resolveControllers:()=>W,setConstructorDependencies:()=>u});const e="DI:INJECTABLE_PROP",t="DI:PARAMS",s="DI:PARAM:OPTIONS";var o,i=r(886);class a extends Error{name="INVALID_TOKEN_ERROR";constructor(e,t){super(`Object isn't a valid token. Please check the token set on ${(0,i.nameOf)((0,i.classOf)(e))}.${t}.\n- Check that it is not a circular reference.\n- Check that the token (class or symbol) exists`)}}function c(e,t){return i.Metadata.getOwn("override:ctor:design:paramtypes",e,t)||[...i.Metadata.getParamTypes(e,t)]||[]}function u(e,t){i.Metadata.set("override:ctor:design:paramtypes",t,e)}function p(t,r,n){i.Store.from(t).merge(e,{[r]:{bindingType:i.DecoratorTypes.PROP,propertyKey:r,...n}})}function h(e,t=(e=>e)){return(r,n,o)=>{switch((0,i.decoratorTypeOf)([r,n,o])){case i.DecoratorTypes.PARAM_CTOR:if(e){const t=c(r,n),s=t[o];t[o]=s===Array?[e]:e,i.Metadata.setParamTypes(r,n,t),u(r,t)}break;case i.DecoratorTypes.PROP:const l=e||i.Metadata.getType(r,n);if(l===Object)throw new a(r,String(n));p(r,String(n),{resolver(o,a,{options:c,...u}){const p=i.Metadata.getType(r,n);if(a.set(s,{...c}),p===Array){let r;return r||(r=o.getMany(e,a,u),a.delete(s)),r.forEach(((e,t)=>{(0,i.isPromise)(r)&&e.then((e=>{r[t]=e}))})),()=>t(r)}let h;return h||(h=o.invoke(l,a,u),a.delete(s)),(0,i.isPromise)(h)&&h.then((e=>{h=e})),()=>t(h)}});break;default:throw new i.UnsupportedDecoratorType(h,[r,n,o])}}}function l(e={}){return(...t)=>{switch((0,i.decoratorTypeOf)(t)){case i.DecoratorTypes.CLASS:(0,i.StoreSet)("configuration",e)(t[0]);break;default:case i.DecoratorTypes.PARAM_CTOR:return h(l)(t[0],t[1],t[2])}}}function f(t,r){return(n,s)=>{i.Store.from(n).merge(e,{[s]:{bindingType:o.CONSTANT,propertyKey:s,expression:t,defaultValue:r}})}}!function(e){e.METHOD="method",e.PROPERTY="property",e.CONSTANT="constant",e.VALUE="value",e.INTERCEPTOR="interceptor"}(o||(o={}));var d,m,y=r(917);!function(e){e.SINGLETON="singleton",e.REQUEST="request",e.INSTANCE="instance"}(d||(d={})),function(e){e.VALUE="value",e.FACTORY="factory",e.SERVICE="service",e.PROVIDER="provider",e.MODULE="module",e.CONTROLLER="controller",e.INTERCEPTOR="interceptor",e.MIDDLEWARE="middleware"}(m||(m={}));class g{type=m.PROVIDER;deps;imports;useFactory;useAsyncFactory;useValue;hooks;_useClass;_provide;_store;_tokenStore;constructor(e,t={}){this.provide=e,this.useClass=e,Object.assign(this,t)}get token(){return this._provide}get provide(){return this._provide}set provide(e){e&&(this._provide=(0,i.getClassOrSymbol)(e),this._tokenStore=this._store=i.Store.from(e))}get useClass(){return this._useClass}set useClass(e){(0,i.isClass)(e)&&(this._useClass=(0,i.classOf)(e),this._store=i.Store.from(e),this.hooks=(0,i.methodsOf)(this._useClass).reduce(((e,{propertyKey:t})=>String(t).startsWith("$")?{...e,[t]:(e,...r)=>e[t](...r)}:e),{}))}get className(){return this.name}get name(){return(0,i.nameOf)(this.provide)}get store(){return this._store}get path(){return this.store.get("path","/")}set path(e){this.store.set("path",e)}get scope(){return this.isAsync()?d.SINGLETON:this.get("scope")}set scope(e){this.store.set("scope",e)}get configuration(){return this.get("configuration")}set configuration(e){this.store.set("configuration",e)}get children(){return this.store.get("childrenControllers",[])}get(e){return this.store.get(e)||this._tokenStore.get(e)}isAsync(){return!!this.useAsyncFactory}clone(){return new((0,i.classOf)(this))(this._provide,this)}hasChildren(){return!!this.children.length}hasParent(){return!!this.store.get("parentController")}toString(){return["Token",this.name,this.useClass&&(0,i.nameOf)(this.useClass),this.useFactory&&"Factory",this.useValue&&"Value",this.useAsyncFactory&&"AsyncFactory"].filter(Boolean).join(":")}}class O extends Map{#l=new Map;get(e){return super.get((0,i.getClassOrSymbol)(e))}has(e){return super.has((0,i.getClassOrSymbol)(e))}set(e,t){return super.set((0,i.getClassOrSymbol)(e),t),this}merge(e,t){const r=this.createIfNotExists(e,t);return Object.keys(t).forEach((e=>{r[e]=t[e]})),this.set(e,r),r}delete(e){return super.delete((0,i.getClassOrSymbol)(e))}createRegistry(e,t,r={}){const n=this.getRegistrySettings(e);return r=Object.assign(n,{...r,model:t}),this.#l.set(e,r),this}onInvoke(e,t,r){const n=this.#l.get(e.type);n?.onInvoke&&n.onInvoke(e,t,r)}getRegistrySettings(e){let t="provider";if("string"==typeof e)t=e;else{const r=this.get(e);r&&(t=r.type)}return this.#l.get(t)||{model:g}}createRegisterFn(e){return(t,r)=>{t=Object.assign({instance:r},t,{type:e}),this.merge(t.provide,t)}}createIfNotExists(e,t){const r=t.type||m.PROVIDER;if(!this.has(e)){const{model:n=g}=this.#l.get(r)||{},s=new n(e,t);this.set(e,s)}return this.get(e)}}const b=new O;function v(e){if(!e.provide)throw new Error("Provider.provide is required");return b.merge(e.provide,e)}b.createRegistry(m.CONTROLLER,g);const S=(e,t)=>{e.provide||(e={provide:e}),e=Object.assign({scope:d.SINGLETON,useValue:t},e,{type:m.VALUE}),b.merge(e.provide,e)},E=b.createRegisterFn(m.CONTROLLER);function T(e){const{children:t=[],path:r,...n}=function(e){return"string"==typeof e||e instanceof RegExp||(0,i.isArrayOrArrayClass)(e)?{path:e}:e}(e);return(0,i.useDecorators)((e=>{E({provide:e,...n})}),r&&(0,y.Path)(r),(0,y.Children)(...t))}function R(e={}){return t=>{v({...e,...e.provide?{useClass:t}:{provide:t}})}}function A(t,r){return(...n)=>{const[s,a,c]=n;switch((0,i.decoratorTypeOf)(n)){case i.DecoratorTypes.CLASS:(0,i.decorateMethodsOf)(s,A(t,r));break;case i.DecoratorTypes.METHOD:return i.Store.from(s).merge(e,{[a]:{options:r,propertyKey:a,useType:t,bindingType:o.INTERCEPTOR}}),c}}}function P(){return R({type:m.INTERCEPTOR})}function w(e,t,{optional:r=!1,packageName:n=t.toString()}={}){return(s,o)=>{let a,c;p(s,o,{resolver:s=>async()=>{if(!c){const o=await(0,i.importPackage)(n,t,r);if(c=o[e],!c&&!r)throw new Error(`Unable to lazy load the "${e}". The token isn't a valid token provider.`);a=c?await s.lazyInvoke(c):{}}return a}})}}function C(e,t){return w(e,t,{optional:!0})}function _(e={}){const{scopes:t,imports:r,resolvers:n,deps:s,scope:o,...a}=e;return(0,i.useDecorators)(l(a),R({type:m.MODULE,scope:d.SINGLETON,imports:r,deps:s,injectable:!1,resolvers:n}))}function M(e=d.REQUEST){return(0,i.StoreSet)("scope",e)}function x(e,t,r){M(d.INSTANCE)((0,i.classOf)(e)),h(s)(e,t,r)}function $(e){return t=>{b.get(e).useClass=t}}function k(){return R()}function D(t){return(r,n,o)=>{switch((0,i.decoratorTypeOf)([r,n,o])){case i.DecoratorTypes.PARAM_CTOR:i.Store.from(r).merge(`${s}:${o}`,t);break;case i.DecoratorTypes.PROP:i.Store.from(r).merge(e,{[n]:{options:t}});break;default:throw new i.UnsupportedDecoratorType(D,[r,n,o])}}}function N(t,r){return(n,s)=>{i.Store.from(n).merge(e,{[s]:{bindingType:o.VALUE,propertyKey:s,expression:t,defaultValue:r}})}}class I extends Map{add(e,t={}){const r=b.get(e)?.clone()||new g(e);return Object.assign(r,t),super.set(e,r)}addProvider(e,t={}){return this.add(e,t)}hasProvider(e){return super.has(e)}setProvider(e,t){return super.set(e,t)}getProvider(e){return super.get(e)}getProviders(e){return[...this].reduce(((t,[r,n])=>n.type!==e&&e?t:[...t,n]),[])}addProviders(e){e.forEach((e=>{this.hasProvider(e.provide)||this.setProvider(e.provide,e.clone())}))}}class j extends g{tokenRouter;constructor(e,t={}){super(e,t),this.type=m.CONTROLLER}get middlewares(){return Object.assign({use:[],useAfter:[],useBefore:[]},this.store.get("middlewares",{}))}set middlewares(e){const t=this.middlewares;Object.keys(e).forEach((r=>{((e,t,r)=>{t[e]=t[e].concat(r[e])})(r,t,e)})),this.store.set("middlewares",t)}}class L extends Map{hooks=new i.Hooks;async destroy(){await this.hooks.asyncEmit("$onDestroy")}}const H=e=>e=>(process.env.NO_COLOR,e),U={red:H(),yellow:H(),green:H()};class G extends Error{name="INJECTION_ERROR";tokens=[];origin;constructor(e,t){super((0,i.isString)(t)?t:""),this.tokens=[e],t&&((0,i.isString)(t)?this.origin={message:t,stack:this.stack}:t.tokens?(this.tokens=this.tokens.concat(t.tokens),this.origin=t.origin):(this.origin=t,this.stack=t.stack));const r=this.origin?"\nOrigin: "+this.origin.message:"",n=this.tokens.map((e=>(0,i.nameOf)(e))).join(" > ");this.message=`Injection failed on ${n}${r}`}static throwInjectorError(e,t,r){throw t&&(0,i.isClass)(e)&&(r.message=function(e,t){let r="";const n=(0,i.getConstructorArgNames)(e).map(((e,n)=>(t.index===n&&(r=e,e=U.red(e)),`${e}: ${(0,i.nameOf)(t.deps[n])}`))).join(", "),s=(0,i.nameOf)(e)+"->constructor("+n+")",o=s.indexOf(r)-5;return"Unable to inject dependency. "+t.message+"\n\n"+s+"\n"+(o>-1?(e=>" ".repeat(e)+U.red("^"+"‾".repeat(r.length-1)))(o):"")}(e,{...t,message:r.message})),new G(e,r)}}class B extends Error{name="UNDEFINED_TOKEN_ERROR";constructor(){super("Given token is undefined. Have you enabled emitDecoratorMetadata in your tsconfig.json or decorated your class with @Injectable, @Service, ... decorator ?")}}class q{default=new Map;map=new Map;constructor(e={}){return Object.entries({scopes:{},resolvers:[],imports:[],routes:[],logger:{},...e}).forEach((([e,t])=>{this.default.set(e,t)})),(0,i.proxyDelegation)(this,{ownKeys:e=>[...e.default.keys(),...e.map.keys()]})}get version(){return this.get("version")}set version(e){this.map.set("version",e)}get rootDir(){return this.get("rootDir")}set rootDir(e){this.map.set("rootDir",e)}get env(){return this.map.get("env")}set env(e){this.map.set("env",e)}get scopes(){return this.map.get("scopes")}set scopes(e){this.map.set("scopes",e)}get resolvers(){return this.getRaw("resolvers")}set resolvers(e){this.map.set("resolvers",e)}get imports(){return this.get("imports")}set imports(e){this.map.set("imports",e)}get routes(){return this.get("routes")}set routes(e){this.map.set("routes",e)}get logger(){return this.get("logger")}set logger(e){const t={...this.logger,...e};this.map.set("logger",t)}get debug(){return"debug"===this.logger.level}set debug(e){this.logger={...this.logger,level:e?"debug":"info"}}forEach(e,t){return new Set([...Array.from(this.default.keys()),...Array.from(this.map.keys())]).forEach((t=>{e(this.getRaw(t),t,this.map)}),t)}set(e,t){return"string"==typeof e?Reflect.has(this,e)?this[e]=t:this.setRaw(e,t):Object.entries(e).forEach((([e,t])=>{this.set(e,t)})),this}setRaw(e,t){return(0,i.setValue)(this.map,e,t),this}get(e,t){return this.getRaw(e,t)}resolve(e){return e.replace("${rootDir}",this.rootDir)}getRaw(e,t){const r=(0,i.getValue)(this.map,e);return void 0!==r?r:(0,i.getValue)(this.default,e,t)}}function F(e){const t=new I(b.entries());return e&&t.delete(e),t}Object.create,Object.create;const K=["mount","imports"];function V(e){return e?(0,i.isArray)(e)?e.filter(i.isClass).map((e=>({token:e}))):Object.keys(e).reduce(((t,r)=>[...t,...[].concat(e[r]).filter(i.isClass).map((e=>({route:r,token:e})))]),[]):[]}function J(e){return e.map((({token:e})=>b.get(e))).filter((e=>e?.type===m.MODULE&&e.configuration)).flatMap((e=>W(e.configuration)))}function W(e){const t=K.flatMap((t=>V(e[t])));return[...J(t),...t].filter((e=>!!e.route))}var z;let X=z=class extends I{settings=new q;logger=console;resolvedConfiguration=!1;#f=new L;#d=new i.Hooks;constructor(){super(),this.#f.set(z,this)}get resolvers(){return this.settings.resolvers}get scopes(){return this.settings.scopes||{}}scopeOf(e){return e.scope||this.scopes[e.type]||d.SINGLETON}toArray(){return[...this.#f.values()]}get(e,t={}){const r=this.getInstance(e);if(void 0!==r)return r;if(!this.hasProvider(e))for(const r of this.resolvers){const n=r.get(e,t);if(void 0!==n)return n}}getMany(e,t,r){return this.getProviders(e).map((e=>this.invoke(e.token,t,r)))}has(e){return void 0!==this.#f.get(e)}invoke(e,t,r={}){let n=t?t.get(e):void 0;if(void 0!==n)return n;if(e===l)return this.settings;if(n=r.rebuild?void 0:this.getInstance(e),null!=n)return n;if(e===s)return{};const o=this.ensureProvider(e);if(!o||r.rebuild)return n=this.resolve(e,t,r),this.hasProvider(e)&&this.#f.set(e,n),n;switch(n=this.resolve(e,t,r),this.scopeOf(o)){case d.SINGLETON:return o.hooks&&!r.rebuild&&this.registerHooks(o,n),o.isAsync()&&(0,i.isPromise)(n)?(this.#f.set(e,n),n=n.then((t=>(this.#f.set(e,t),t))),n):(this.#f.set(e,n),n);case d.REQUEST:return t&&(t.set(e,n),o.hooks&&o.hooks.$onDestroy&&t.hooks.on("$onDestroy",((...e)=>o.hooks.$onDestroy(n,...e)))),n}return n}async loadAsync(){for(const[,e]of this)!this.has(e.token)&&e.isAsync()&&await this.invoke(e.token)}loadSync(){for(const[,e]of this)this.has(e.token)||this.scopeOf(e)!==d.SINGLETON||this.invoke(e.token)}bootstrap(e=F()){return this.addProviders(e),this.resolveConfiguration(),this.settings.imports=this.settings.imports?.map((e=>{if("token"in e&&"use"in e){const{token:t,use:r}=e,n=this.getProvider(t);if(n)return n.useValue=r,n.useFactory=void 0,n.useAsyncFactory=void 0,void(n.useClass=void 0)}return e})).filter(Boolean),this}loadModule(e){this.settings.routes=this.settings.routes.concat(W(this.settings));const t=F();return t.delete(e),t.addProvider(e,{type:"server:module",scope:d.SINGLETON}),this.load(t)}async load(e=F()){this.bootstrap(e),await this.loadAsync(),this.loadSync(),await this.emit("$beforeInit"),await this.emit("$onInit")}resolveConfiguration(){if(this.resolvedConfiguration)return;const e=new Map;super.forEach((t=>{t.configuration&&"server:module"!==t.type&&Object.entries(t.configuration).forEach((([t,r])=>{["resolvers","mount","imports"].includes(t)||(r=e.has(t)?(0,i.deepMerge)(e.get(t),r):(0,i.deepClone)(r),e.set(t,r))})),t.resolvers&&(this.settings.resolvers=this.settings.resolvers.concat(t.resolvers))})),e.forEach(((e,t)=>{this.settings.set(t,(0,i.deepMerge)(e,this.settings.get(t)))})),this.resolvedConfiguration=!0}bindInjectableProperties(t,r,n){const s=(0,i.ancestorsOf)((0,i.classOf)(t)).reduce(((t,r)=>({...t,...i.Store.from(r).get(e)||{}})),{});Object.values(s).forEach((e=>{switch(e.bindingType){case o.PROPERTY:this.bindProperty(t,e,r,n);break;case o.CONSTANT:this.bindConstant(t,e);break;case o.VALUE:this.bindValue(t,e);break;case o.INTERCEPTOR:this.bindInterceptor(t,e)}}))}bindProperty(e,{propertyKey:t,resolver:r,options:n={}},s,o){let a;a=r(this,s,{...o,options:n}),(0,i.catchError)((()=>Object.defineProperty(e,t,{get:a})))}bindValue(e,{propertyKey:t,expression:r,defaultValue:n}){const s={get:()=>this.settings.get(r)||n,set:e=>this.settings.set(r,e),enumerable:!0,configurable:!0};(0,i.catchError)((()=>Object.defineProperty(e,t,s)))}bindConstant(e,{propertyKey:t,expression:r,defaultValue:n}){let s;const o={get:()=>{if(void 0!==s)return s;const e=this.settings.get(r,n);return s=Object.freeze((0,i.deepClone)(e)),s},enumerable:!0,configurable:!0};(0,i.catchError)((()=>Object.defineProperty(e,t,o)))}bindInterceptor(e,{propertyKey:t,useType:r,options:n}){const s=(0,i.classOf)(e),o=e[t];e[t]=(...i)=>{const a=t=>{if(!t)return o.apply(e,i);throw t},c={target:s,propertyKey:t,args:i,options:n,next:a};return this.get(r).intercept({...c,options:n},a)}}async lazyInvoke(e){let t=this.getInstance(e);return t||(t=await this.invoke(e),(0,i.isFunction)(t?.$onInit)&&await t.$onInit()),t}emit(e,...t){return this.#d.asyncEmit(e,t)}alter(e,t,...r){return this.#d.alter(e,t,r)}alterAsync(e,t,...r){return this.#d.asyncAlter(e,t,r)}destroy(){return this.emit("$onDestroy")}ensureProvider(e){return!this.hasProvider(e)&&b.has(e)&&this.addProvider(e),this.getProvider(e)}getInstance(e){return this.#f.get(e)}resolve(e,t=new L,r={}){const n=this.mapInvokeOptions(e,t,r),{token:o,deps:a,construct:c,imports:u,provider:p}=n;let h;p&&b.onInvoke(p,t,{...n,injector:this});let l=!1;try{const e=e=>(n,o)=>{if(l={token:n,index:o,deps:a},n!==s){const e=p?.store?.get(`${s}:${o}`);t.set(s,e||{})}return(0,i.isArray)(n)?this.getMany(n[0],t,r):(0,i.isInheritedFrom)(n,g,1)?p:this.invoke(n,t,{parent:e})};u.forEach(e());const n=a.map(e(o));l=!1,h=c(n)}catch(e){G.throwInjectorError(o,l,e)}if(void 0===h)throw new G(o,`Unable to create new instance from undefined value. Check your provider declaration for ${(0,i.nameOf)(o)}`);return h&&(0,i.isClass)((0,i.classOf)(h))&&this.bindInjectableProperties(h,t,r),h}mapInvokeOptions(e,t,r){let n,o,a=r.imports,u=r.deps,p=r.scope;if(!e)throw new B;return this.hasProvider(e)?o=this.getProvider(e):(o=new g(e),this.resolvers.forEach((r=>{const n=r.get(e,t.get(s));void 0!==n&&(o.useFactory=()=>n)}))),p=p||this.scopeOf(o),u=u||o.deps,a=a||o.imports,void 0!==o.useValue?n=()=>(0,i.isFunction)(o.useValue)?o.useValue():o.useValue:o.useFactory?n=e=>o.useFactory(...e):o.useAsyncFactory?n=async e=>(e=await Promise.all(e),o.useAsyncFactory(...e)):(u=u||c(o.useClass),n=e=>new o.useClass(...e)),{token:e,scope:p||i.Store.from(e).get("scope")||d.SINGLETON,deps:u||[],imports:a||[],construct:n,provider:o}}registerHooks(e,t){e.hooks&&Object.entries(e.hooks).forEach((([r,n])=>{this.#d.on(r,((...r)=>n(this.get(e.token)||t,...r)))}))}};X=z=function(e,t,r,n){var s,o=arguments.length,i=o<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,r):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)i=Reflect.decorate(e,t,r,n);else for(var a=e.length-1;a>=0;a--)(s=e[a])&&(i=(o<3?s(i):o>3?s(t,r,i):s(t,r))||i);return o>3&&i&&Object.defineProperty(t,r,i),i}([R({scope:d.SINGLETON,global:!0}),function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata("design:paramtypes",[])}()],X);const Q=Symbol.for("LOGGER");function Y(e={},t={}){return Object.entries(t).reduce(((e,[t,r])=>({...e,[t]:(e[t]||[]).concat(r)})),e)}function Z(e,t={}){const r=i.Store.from(e).get("configuration")||{};return{...r,...t,mount:Y(r.mount,t.mount)}}v({provide:Q,deps:[X],useFactory:e=>e.logger})})(),n})()));
2
2
  //# sourceMappingURL=di.umd.min.js.map