authhero 0.48.0 → 0.49.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.
- package/dist/authhero.cjs +11 -11
- package/dist/authhero.mjs +317 -305
- package/package.json +1 -1
package/dist/authhero.cjs
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
"use strict";var Sh=Object.defineProperty;var Ah=(n,e,t)=>e in n?Sh(n,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):n[e]=t;var te=(n,e,t)=>Ah(n,typeof e!="symbol"?e+"":e,t);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const a=require("@hono/zod-openapi"),X=n=>typeof n=="string",ti=()=>{let n,e;const t=new Promise((i,r)=>{n=i,e=r});return t.resolve=n,t.reject=e,t},al=n=>n==null?"":""+n,Ih=(n,e,t)=>{n.forEach(i=>{e[i]&&(t[i]=e[i])})},Eh=/###/g,cl=n=>n&&n.indexOf("###")>-1?n.replace(Eh,"."):n,ll=n=>!n||X(n),oi=(n,e,t)=>{const i=X(e)?e.split("."):e;let r=0;for(;r<i.length-1;){if(ll(n))return{};const s=cl(i[r]);!n[s]&&t&&(n[s]=new t),Object.prototype.hasOwnProperty.call(n,s)?n=n[s]:n={},++r}return ll(n)?{}:{obj:n,k:cl(i[r])}},ul=(n,e,t)=>{const{obj:i,k:r}=oi(n,e,Object);if(i!==void 0||e.length===1){i[r]=t;return}let s=e[e.length-1],o=e.slice(0,e.length-1),c=oi(n,o,Object);for(;c.obj===void 0&&o.length;)s=`${o[o.length-1]}.${s}`,o=o.slice(0,o.length-1),c=oi(n,o,Object),c!=null&&c.obj&&typeof c.obj[`${c.k}.${s}`]<"u"&&(c.obj=void 0);c.obj[`${c.k}.${s}`]=t},$h=(n,e,t,i)=>{const{obj:r,k:s}=oi(n,e,Object);r[s]=r[s]||[],r[s].push(t)},cr=(n,e)=>{const{obj:t,k:i}=oi(n,e);if(t&&Object.prototype.hasOwnProperty.call(t,i))return t[i]},Ch=(n,e,t)=>{const i=cr(n,t);return i!==void 0?i:cr(e,t)},bd=(n,e,t)=>{for(const i in e)i!=="__proto__"&&i!=="constructor"&&(i in n?X(n[i])||n[i]instanceof String||X(e[i])||e[i]instanceof String?t&&(n[i]=e[i]):bd(n[i],e[i],t):n[i]=e[i]);return n},kn=n=>n.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,"\\$&");var jh={"&":"&","<":"<",">":">",'"':""","'":"'","/":"/"};const zh=n=>X(n)?n.replace(/[&<>"'\/]/g,e=>jh[e]):n;class Nh{constructor(e){this.capacity=e,this.regExpMap=new Map,this.regExpQueue=[]}getRegExp(e){const t=this.regExpMap.get(e);if(t!==void 0)return t;const i=new RegExp(e);return this.regExpQueue.length===this.capacity&&this.regExpMap.delete(this.regExpQueue.shift()),this.regExpMap.set(e,i),this.regExpQueue.push(e),i}}const Oh=[" ",",","?","!",";"],Bh=new Nh(20),Th=(n,e,t)=>{e=e||"",t=t||"";const i=Oh.filter(o=>e.indexOf(o)<0&&t.indexOf(o)<0);if(i.length===0)return!0;const r=Bh.getRegExp(`(${i.map(o=>o==="?"?"\\?":o).join("|")})`);let s=!r.test(n);if(!s){const o=n.indexOf(t);o>0&&!r.test(n.substring(0,o))&&(s=!0)}return s},vo=function(n,e){let t=arguments.length>2&&arguments[2]!==void 0?arguments[2]:".";if(!n)return;if(n[e])return Object.prototype.hasOwnProperty.call(n,e)?n[e]:void 0;const i=e.split(t);let r=n;for(let s=0;s<i.length;){if(!r||typeof r!="object")return;let o,c="";for(let l=s;l<i.length;++l)if(l!==s&&(c+=t),c+=i[l],o=r[c],o!==void 0){if(["string","number","boolean"].indexOf(typeof o)>-1&&l<i.length-1)continue;s+=l-s+1;break}r=o}return r},lr=n=>n==null?void 0:n.replace("_","-"),Rh={type:"logger",log(n){this.output("log",n)},warn(n){this.output("warn",n)},error(n){this.output("error",n)},output(n,e){var t,i;(i=(t=console==null?void 0:console[n])==null?void 0:t.apply)==null||i.call(t,console,e)}};class ur{constructor(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};this.init(e,t)}init(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};this.prefix=t.prefix||"i18next:",this.logger=e||Rh,this.options=t,this.debug=t.debug}log(){for(var e=arguments.length,t=new Array(e),i=0;i<e;i++)t[i]=arguments[i];return this.forward(t,"log","",!0)}warn(){for(var e=arguments.length,t=new Array(e),i=0;i<e;i++)t[i]=arguments[i];return this.forward(t,"warn","",!0)}error(){for(var e=arguments.length,t=new Array(e),i=0;i<e;i++)t[i]=arguments[i];return this.forward(t,"error","")}deprecate(){for(var e=arguments.length,t=new Array(e),i=0;i<e;i++)t[i]=arguments[i];return this.forward(t,"warn","WARNING DEPRECATED: ",!0)}forward(e,t,i,r){return r&&!this.debug?null:(X(e[0])&&(e[0]=`${i}${this.prefix} ${e[0]}`),this.logger[t](e))}create(e){return new ur(this.logger,{prefix:`${this.prefix}:${e}:`,...this.options})}clone(e){return e=e||this.options,e.prefix=e.prefix||this.prefix,new ur(this.logger,e)}}var ht=new ur;class is{constructor(){this.observers={}}on(e,t){return e.split(" ").forEach(i=>{this.observers[i]||(this.observers[i]=new Map);const r=this.observers[i].get(t)||0;this.observers[i].set(t,r+1)}),this}off(e,t){if(this.observers[e]){if(!t){delete this.observers[e];return}this.observers[e].delete(t)}}emit(e){for(var t=arguments.length,i=new Array(t>1?t-1:0),r=1;r<t;r++)i[r-1]=arguments[r];this.observers[e]&&Array.from(this.observers[e].entries()).forEach(o=>{let[c,l]=o;for(let u=0;u<l;u++)c(...i)}),this.observers["*"]&&Array.from(this.observers["*"].entries()).forEach(o=>{let[c,l]=o;for(let u=0;u<l;u++)c.apply(c,[e,...i])})}}class dl extends is{constructor(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{ns:["translation"],defaultNS:"translation"};super(),this.data=e||{},this.options=t,this.options.keySeparator===void 0&&(this.options.keySeparator="."),this.options.ignoreJSONStructure===void 0&&(this.options.ignoreJSONStructure=!0)}addNamespaces(e){this.options.ns.indexOf(e)<0&&this.options.ns.push(e)}removeNamespaces(e){const t=this.options.ns.indexOf(e);t>-1&&this.options.ns.splice(t,1)}getResource(e,t,i){var u,p;let r=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{};const s=r.keySeparator!==void 0?r.keySeparator:this.options.keySeparator,o=r.ignoreJSONStructure!==void 0?r.ignoreJSONStructure:this.options.ignoreJSONStructure;let c;e.indexOf(".")>-1?c=e.split("."):(c=[e,t],i&&(Array.isArray(i)?c.push(...i):X(i)&&s?c.push(...i.split(s)):c.push(i)));const l=cr(this.data,c);return!l&&!t&&!i&&e.indexOf(".")>-1&&(e=c[0],t=c[1],i=c.slice(2).join(".")),l||!o||!X(i)?l:vo((p=(u=this.data)==null?void 0:u[e])==null?void 0:p[t],i,s)}addResource(e,t,i,r){let s=arguments.length>4&&arguments[4]!==void 0?arguments[4]:{silent:!1};const o=s.keySeparator!==void 0?s.keySeparator:this.options.keySeparator;let c=[e,t];i&&(c=c.concat(o?i.split(o):i)),e.indexOf(".")>-1&&(c=e.split("."),r=t,t=c[1]),this.addNamespaces(t),ul(this.data,c,r),s.silent||this.emit("added",e,t,i,r)}addResources(e,t,i){let r=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{silent:!1};for(const s in i)(X(i[s])||Array.isArray(i[s]))&&this.addResource(e,t,s,i[s],{silent:!0});r.silent||this.emit("added",e,t,i)}addResourceBundle(e,t,i,r,s){let o=arguments.length>5&&arguments[5]!==void 0?arguments[5]:{silent:!1,skipCopy:!1},c=[e,t];e.indexOf(".")>-1&&(c=e.split("."),r=i,i=t,t=c[1]),this.addNamespaces(t);let l=cr(this.data,c)||{};o.skipCopy||(i=JSON.parse(JSON.stringify(i))),r?bd(l,i,s):l={...l,...i},ul(this.data,c,l),o.silent||this.emit("added",e,t,i)}removeResourceBundle(e,t){this.hasResourceBundle(e,t)&&delete this.data[e][t],this.removeNamespaces(t),this.emit("removed",e,t)}hasResourceBundle(e,t){return this.getResource(e,t)!==void 0}getResourceBundle(e,t){return t||(t=this.options.defaultNS),this.getResource(e,t)}getDataByLanguage(e){return this.data[e]}hasLanguageSomeTranslations(e){const t=this.getDataByLanguage(e);return!!(t&&Object.keys(t)||[]).find(r=>t[r]&&Object.keys(t[r]).length>0)}toJSON(){return this.data}}var kd={processors:{},addPostProcessor(n){this.processors[n.name]=n},handle(n,e,t,i,r){return n.forEach(s=>{var o;e=((o=this.processors[s])==null?void 0:o.process(e,t,i,r))??e}),e}};const pl={};class dr extends is{constructor(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};super(),Ih(["resourceStore","languageUtils","pluralResolver","interpolator","backendConnector","i18nFormat","utils"],e,this),this.options=t,this.options.keySeparator===void 0&&(this.options.keySeparator="."),this.logger=ht.create("translator")}changeLanguage(e){e&&(this.language=e)}exists(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{interpolation:{}};if(e==null)return!1;const i=this.resolve(e,t);return(i==null?void 0:i.res)!==void 0}extractFromKey(e,t){let i=t.nsSeparator!==void 0?t.nsSeparator:this.options.nsSeparator;i===void 0&&(i=":");const r=t.keySeparator!==void 0?t.keySeparator:this.options.keySeparator;let s=t.ns||this.options.defaultNS||[];const o=i&&e.indexOf(i)>-1,c=!this.options.userDefinedKeySeparator&&!t.keySeparator&&!this.options.userDefinedNsSeparator&&!t.nsSeparator&&!Th(e,i,r);if(o&&!c){const l=e.match(this.interpolator.nestingRegexp);if(l&&l.length>0)return{key:e,namespaces:X(s)?[s]:s};const u=e.split(i);(i!==r||i===r&&this.options.ns.indexOf(u[0])>-1)&&(s=u.shift()),e=u.join(r)}return{key:e,namespaces:X(s)?[s]:s}}translate(e,t,i){if(typeof t!="object"&&this.options.overloadTranslationOptionHandler&&(t=this.options.overloadTranslationOptionHandler(arguments)),typeof t=="object"&&(t={...t}),t||(t={}),e==null)return"";Array.isArray(e)||(e=[String(e)]);const r=t.returnDetails!==void 0?t.returnDetails:this.options.returnDetails,s=t.keySeparator!==void 0?t.keySeparator:this.options.keySeparator,{key:o,namespaces:c}=this.extractFromKey(e[e.length-1],t),l=c[c.length-1],u=t.lng||this.language,p=t.appendNamespaceToCIMode||this.options.appendNamespaceToCIMode;if((u==null?void 0:u.toLowerCase())==="cimode"){if(p){const q=t.nsSeparator||this.options.nsSeparator;return r?{res:`${l}${q}${o}`,usedKey:o,exactUsedKey:o,usedLng:u,usedNS:l,usedParams:this.getUsedParamsDetails(t)}:`${l}${q}${o}`}return r?{res:o,usedKey:o,exactUsedKey:o,usedLng:u,usedNS:l,usedParams:this.getUsedParamsDetails(t)}:o}const g=this.resolve(e,t);let m=g==null?void 0:g.res;const x=(g==null?void 0:g.usedKey)||o,h=(g==null?void 0:g.exactUsedKey)||o,_=Object.prototype.toString.apply(m),b=["[object Number]","[object Function]","[object RegExp]"],S=t.joinArrays!==void 0?t.joinArrays:this.options.joinArrays,O=!this.i18nFormat||this.i18nFormat.handleAsObject,T=!X(m)&&typeof m!="boolean"&&typeof m!="number";if(O&&m&&T&&b.indexOf(_)<0&&!(X(S)&&Array.isArray(m))){if(!t.returnObjects&&!this.options.returnObjects){this.options.returnedObjectHandler||this.logger.warn("accessing an object - but returnObjects options is not enabled!");const q=this.options.returnedObjectHandler?this.options.returnedObjectHandler(x,m,{...t,ns:c}):`key '${o} (${this.language})' returned an object instead of string.`;return r?(g.res=q,g.usedParams=this.getUsedParamsDetails(t),g):q}if(s){const q=Array.isArray(m),oe=q?[]:{},pe=q?h:x;for(const ce in m)if(Object.prototype.hasOwnProperty.call(m,ce)){const Re=`${pe}${s}${ce}`;oe[ce]=this.translate(Re,{...t,joinArrays:!1,ns:c}),oe[ce]===Re&&(oe[ce]=m[ce])}m=oe}}else if(O&&X(S)&&Array.isArray(m))m=m.join(S),m&&(m=this.extendTranslation(m,e,t,i));else{let q=!1,oe=!1;const pe=t.count!==void 0&&!X(t.count),ce=dr.hasDefaultValue(t),Re=pe?this.pluralResolver.getSuffix(u,t.count,t):"",nt=t.ordinal&&pe?this.pluralResolver.getSuffix(u,t.count,{ordinal:!1}):"",De=pe&&!t.ordinal&&t.count===0,$=De&&t[`defaultValue${this.options.pluralSeparator}zero`]||t[`defaultValue${Re}`]||t[`defaultValue${nt}`]||t.defaultValue;!this.isValidLookup(m)&&ce&&(q=!0,m=$),this.isValidLookup(m)||(oe=!0,m=o);const A=(t.missingKeyNoValueFallbackToKey||this.options.missingKeyNoValueFallbackToKey)&&oe?void 0:m,w=ce&&$!==m&&this.options.updateMissing;if(oe||q||w){if(this.logger.log(w?"updateKey":"missingKey",u,l,o,w?$:m),s){const Z=this.resolve(o,{...t,keySeparator:!1});Z&&Z.res&&this.logger.warn("Seems the loaded translations were in flat JSON format instead of nested. Either set keySeparator: false on init or make sure your translations are published in nested format.")}let v=[];const C=this.languageUtils.getFallbackCodes(this.options.fallbackLng,t.lng||this.language);if(this.options.saveMissingTo==="fallback"&&C&&C[0])for(let Z=0;Z<C.length;Z++)v.push(C[Z]);else this.options.saveMissingTo==="all"?v=this.languageUtils.toResolveHierarchy(t.lng||this.language):v.push(t.lng||this.language);const R=(Z,K,ee)=>{var M;const se=ce&&ee!==m?ee:A;this.options.missingKeyHandler?this.options.missingKeyHandler(Z,l,K,se,w,t):(M=this.backendConnector)!=null&&M.saveMissing&&this.backendConnector.saveMissing(Z,l,K,se,w,t),this.emit("missingKey",Z,l,K,m)};this.options.saveMissing&&(this.options.saveMissingPlurals&&pe?v.forEach(Z=>{const K=this.pluralResolver.getSuffixes(Z,t);De&&t[`defaultValue${this.options.pluralSeparator}zero`]&&K.indexOf(`${this.options.pluralSeparator}zero`)<0&&K.push(`${this.options.pluralSeparator}zero`),K.forEach(ee=>{R([Z],o+ee,t[`defaultValue${ee}`]||$)})}):R(v,o,$))}m=this.extendTranslation(m,e,t,g,i),oe&&m===o&&this.options.appendNamespaceToMissingKey&&(m=`${l}:${o}`),(oe||q)&&this.options.parseMissingKeyHandler&&(m=this.options.parseMissingKeyHandler(this.options.appendNamespaceToMissingKey?`${l}:${o}`:o,q?m:void 0))}return r?(g.res=m,g.usedParams=this.getUsedParamsDetails(t),g):m}extendTranslation(e,t,i,r,s){var u,p;var o=this;if((u=this.i18nFormat)!=null&&u.parse)e=this.i18nFormat.parse(e,{...this.options.interpolation.defaultVariables,...i},i.lng||this.language||r.usedLng,r.usedNS,r.usedKey,{resolved:r});else if(!i.skipInterpolation){i.interpolation&&this.interpolator.init({...i,interpolation:{...this.options.interpolation,...i.interpolation}});const g=X(e)&&(((p=i==null?void 0:i.interpolation)==null?void 0:p.skipOnVariables)!==void 0?i.interpolation.skipOnVariables:this.options.interpolation.skipOnVariables);let m;if(g){const h=e.match(this.interpolator.nestingRegexp);m=h&&h.length}let x=i.replace&&!X(i.replace)?i.replace:i;if(this.options.interpolation.defaultVariables&&(x={...this.options.interpolation.defaultVariables,...x}),e=this.interpolator.interpolate(e,x,i.lng||this.language||r.usedLng,i),g){const h=e.match(this.interpolator.nestingRegexp),_=h&&h.length;m<_&&(i.nest=!1)}!i.lng&&r&&r.res&&(i.lng=this.language||r.usedLng),i.nest!==!1&&(e=this.interpolator.nest(e,function(){for(var h=arguments.length,_=new Array(h),b=0;b<h;b++)_[b]=arguments[b];return(s==null?void 0:s[0])===_[0]&&!i.context?(o.logger.warn(`It seems you are nesting recursively key: ${_[0]} in key: ${t[0]}`),null):o.translate(..._,t)},i)),i.interpolation&&this.interpolator.reset()}const c=i.postProcess||this.options.postProcess,l=X(c)?[c]:c;return e!=null&&(l!=null&&l.length)&&i.applyPostProcessor!==!1&&(e=kd.handle(l,e,t,this.options&&this.options.postProcessPassResolved?{i18nResolved:{...r,usedParams:this.getUsedParamsDetails(i)},...i}:i,this)),e}resolve(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},i,r,s,o,c;return X(e)&&(e=[e]),e.forEach(l=>{if(this.isValidLookup(i))return;const u=this.extractFromKey(l,t),p=u.key;r=p;let g=u.namespaces;this.options.fallbackNS&&(g=g.concat(this.options.fallbackNS));const m=t.count!==void 0&&!X(t.count),x=m&&!t.ordinal&&t.count===0,h=t.context!==void 0&&(X(t.context)||typeof t.context=="number")&&t.context!=="",_=t.lngs?t.lngs:this.languageUtils.toResolveHierarchy(t.lng||this.language,t.fallbackLng);g.forEach(b=>{var S,O;this.isValidLookup(i)||(c=b,!pl[`${_[0]}-${b}`]&&((S=this.utils)!=null&&S.hasLoadedNamespace)&&!((O=this.utils)!=null&&O.hasLoadedNamespace(c))&&(pl[`${_[0]}-${b}`]=!0,this.logger.warn(`key "${r}" for languages "${_.join(", ")}" won't get resolved as namespace "${c}" was not yet loaded`,"This means something IS WRONG in your setup. You access the t function before i18next.init / i18next.loadNamespace / i18next.changeLanguage was done. Wait for the callback or Promise to resolve before accessing it!!!")),_.forEach(T=>{var pe;if(this.isValidLookup(i))return;o=T;const q=[p];if((pe=this.i18nFormat)!=null&&pe.addLookupKeys)this.i18nFormat.addLookupKeys(q,p,T,b,t);else{let ce;m&&(ce=this.pluralResolver.getSuffix(T,t.count,t));const Re=`${this.options.pluralSeparator}zero`,nt=`${this.options.pluralSeparator}ordinal${this.options.pluralSeparator}`;if(m&&(q.push(p+ce),t.ordinal&&ce.indexOf(nt)===0&&q.push(p+ce.replace(nt,this.options.pluralSeparator)),x&&q.push(p+Re)),h){const De=`${p}${this.options.contextSeparator}${t.context}`;q.push(De),m&&(q.push(De+ce),t.ordinal&&ce.indexOf(nt)===0&&q.push(De+ce.replace(nt,this.options.pluralSeparator)),x&&q.push(De+Re))}}let oe;for(;oe=q.pop();)this.isValidLookup(i)||(s=oe,i=this.getResource(T,b,oe,t))}))})}),{res:i,usedKey:r,exactUsedKey:s,usedLng:o,usedNS:c}}isValidLookup(e){return e!==void 0&&!(!this.options.returnNull&&e===null)&&!(!this.options.returnEmptyString&&e==="")}getResource(e,t,i){var s;let r=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{};return(s=this.i18nFormat)!=null&&s.getResource?this.i18nFormat.getResource(e,t,i,r):this.resourceStore.getResource(e,t,i,r)}getUsedParamsDetails(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};const t=["defaultValue","ordinal","context","replace","lng","lngs","fallbackLng","ns","keySeparator","nsSeparator","returnObjects","returnDetails","joinArrays","postProcess","interpolation"],i=e.replace&&!X(e.replace);let r=i?e.replace:e;if(i&&typeof e.count<"u"&&(r.count=e.count),this.options.interpolation.defaultVariables&&(r={...this.options.interpolation.defaultVariables,...r}),!i){r={...r};for(const s of t)delete r[s]}return r}static hasDefaultValue(e){const t="defaultValue";for(const i in e)if(Object.prototype.hasOwnProperty.call(e,i)&&t===i.substring(0,t.length)&&e[i]!==void 0)return!0;return!1}}class fl{constructor(e){this.options=e,this.supportedLngs=this.options.supportedLngs||!1,this.logger=ht.create("languageUtils")}getScriptPartFromCode(e){if(e=lr(e),!e||e.indexOf("-")<0)return null;const t=e.split("-");return t.length===2||(t.pop(),t[t.length-1].toLowerCase()==="x")?null:this.formatLanguageCode(t.join("-"))}getLanguagePartFromCode(e){if(e=lr(e),!e||e.indexOf("-")<0)return e;const t=e.split("-");return this.formatLanguageCode(t[0])}formatLanguageCode(e){if(X(e)&&e.indexOf("-")>-1){let t;try{t=Intl.getCanonicalLocales(e)[0]}catch{}return t&&this.options.lowerCaseLng&&(t=t.toLowerCase()),t||(this.options.lowerCaseLng?e.toLowerCase():e)}return this.options.cleanCode||this.options.lowerCaseLng?e.toLowerCase():e}isSupportedCode(e){return(this.options.load==="languageOnly"||this.options.nonExplicitSupportedLngs)&&(e=this.getLanguagePartFromCode(e)),!this.supportedLngs||!this.supportedLngs.length||this.supportedLngs.indexOf(e)>-1}getBestMatchFromCodes(e){if(!e)return null;let t;return e.forEach(i=>{if(t)return;const r=this.formatLanguageCode(i);(!this.options.supportedLngs||this.isSupportedCode(r))&&(t=r)}),!t&&this.options.supportedLngs&&e.forEach(i=>{if(t)return;const r=this.getLanguagePartFromCode(i);if(this.isSupportedCode(r))return t=r;t=this.options.supportedLngs.find(s=>{if(s===r)return s;if(!(s.indexOf("-")<0&&r.indexOf("-")<0)&&(s.indexOf("-")>0&&r.indexOf("-")<0&&s.substring(0,s.indexOf("-"))===r||s.indexOf(r)===0&&r.length>1))return s})}),t||(t=this.getFallbackCodes(this.options.fallbackLng)[0]),t}getFallbackCodes(e,t){if(!e)return[];if(typeof e=="function"&&(e=e(t)),X(e)&&(e=[e]),Array.isArray(e))return e;if(!t)return e.default||[];let i=e[t];return i||(i=e[this.getScriptPartFromCode(t)]),i||(i=e[this.formatLanguageCode(t)]),i||(i=e[this.getLanguagePartFromCode(t)]),i||(i=e.default),i||[]}toResolveHierarchy(e,t){const i=this.getFallbackCodes(t||this.options.fallbackLng||[],e),r=[],s=o=>{o&&(this.isSupportedCode(o)?r.push(o):this.logger.warn(`rejecting language code not found in supportedLngs: ${o}`))};return X(e)&&(e.indexOf("-")>-1||e.indexOf("_")>-1)?(this.options.load!=="languageOnly"&&s(this.formatLanguageCode(e)),this.options.load!=="languageOnly"&&this.options.load!=="currentOnly"&&s(this.getScriptPartFromCode(e)),this.options.load!=="currentOnly"&&s(this.getLanguagePartFromCode(e))):X(e)&&s(this.formatLanguageCode(e)),i.forEach(o=>{r.indexOf(o)<0&&s(this.formatLanguageCode(o))}),r}}const hl={zero:0,one:1,two:2,few:3,many:4,other:5},gl={select:n=>n===1?"one":"other",resolvedOptions:()=>({pluralCategories:["one","other"]})};class Ph{constructor(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};this.languageUtils=e,this.options=t,this.logger=ht.create("pluralResolver"),this.pluralRulesCache={}}addRule(e,t){this.rules[e]=t}clearCache(){this.pluralRulesCache={}}getRule(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};const i=lr(e==="dev"?"en":e),r=t.ordinal?"ordinal":"cardinal",s=JSON.stringify({cleanedCode:i,type:r});if(s in this.pluralRulesCache)return this.pluralRulesCache[s];let o;try{o=new Intl.PluralRules(i,{type:r})}catch{if(!Intl)return this.logger.error("No Intl support, please use an Intl polyfill!"),gl;if(!e.match(/-|_/))return gl;const l=this.languageUtils.getLanguagePartFromCode(e);o=this.getRule(l,t)}return this.pluralRulesCache[s]=o,o}needsPlural(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},i=this.getRule(e,t);return i||(i=this.getRule("dev",t)),(i==null?void 0:i.resolvedOptions().pluralCategories.length)>1}getPluralFormsOfKey(e,t){let i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};return this.getSuffixes(e,i).map(r=>`${t}${r}`)}getSuffixes(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},i=this.getRule(e,t);return i||(i=this.getRule("dev",t)),i?i.resolvedOptions().pluralCategories.sort((r,s)=>hl[r]-hl[s]).map(r=>`${this.options.prepend}${t.ordinal?`ordinal${this.options.prepend}`:""}${r}`):[]}getSuffix(e,t){let i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};const r=this.getRule(e,i);return r?`${this.options.prepend}${i.ordinal?`ordinal${this.options.prepend}`:""}${r.select(t)}`:(this.logger.warn(`no plural rule found for: ${e}`),this.getSuffix("dev",t,i))}}const _l=function(n,e,t){let i=arguments.length>3&&arguments[3]!==void 0?arguments[3]:".",r=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!0,s=Ch(n,e,t);return!s&&r&&X(t)&&(s=vo(n,t,i),s===void 0&&(s=vo(e,t,i))),s},io=n=>n.replace(/\$/g,"$$$$");class Lh{constructor(){var t;let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};this.logger=ht.create("interpolator"),this.options=e,this.format=((t=e==null?void 0:e.interpolation)==null?void 0:t.format)||(i=>i),this.init(e)}init(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};e.interpolation||(e.interpolation={escapeValue:!0});const{escape:t,escapeValue:i,useRawValueToEscape:r,prefix:s,prefixEscaped:o,suffix:c,suffixEscaped:l,formatSeparator:u,unescapeSuffix:p,unescapePrefix:g,nestingPrefix:m,nestingPrefixEscaped:x,nestingSuffix:h,nestingSuffixEscaped:_,nestingOptionsSeparator:b,maxReplaces:S,alwaysFormat:O}=e.interpolation;this.escape=t!==void 0?t:zh,this.escapeValue=i!==void 0?i:!0,this.useRawValueToEscape=r!==void 0?r:!1,this.prefix=s?kn(s):o||"{{",this.suffix=c?kn(c):l||"}}",this.formatSeparator=u||",",this.unescapePrefix=p?"":g||"-",this.unescapeSuffix=this.unescapePrefix?"":p||"",this.nestingPrefix=m?kn(m):x||kn("$t("),this.nestingSuffix=h?kn(h):_||kn(")"),this.nestingOptionsSeparator=b||",",this.maxReplaces=S||1e3,this.alwaysFormat=O!==void 0?O:!1,this.resetRegExp()}reset(){this.options&&this.init(this.options)}resetRegExp(){const e=(t,i)=>(t==null?void 0:t.source)===i?(t.lastIndex=0,t):new RegExp(i,"g");this.regexp=e(this.regexp,`${this.prefix}(.+?)${this.suffix}`),this.regexpUnescape=e(this.regexpUnescape,`${this.prefix}${this.unescapePrefix}(.+?)${this.unescapeSuffix}${this.suffix}`),this.nestingRegexp=e(this.nestingRegexp,`${this.nestingPrefix}(.+?)${this.nestingSuffix}`)}interpolate(e,t,i,r){var x;let s,o,c;const l=this.options&&this.options.interpolation&&this.options.interpolation.defaultVariables||{},u=h=>{if(h.indexOf(this.formatSeparator)<0){const O=_l(t,l,h,this.options.keySeparator,this.options.ignoreJSONStructure);return this.alwaysFormat?this.format(O,void 0,i,{...r,...t,interpolationkey:h}):O}const _=h.split(this.formatSeparator),b=_.shift().trim(),S=_.join(this.formatSeparator).trim();return this.format(_l(t,l,b,this.options.keySeparator,this.options.ignoreJSONStructure),S,i,{...r,...t,interpolationkey:b})};this.resetRegExp();const p=(r==null?void 0:r.missingInterpolationHandler)||this.options.missingInterpolationHandler,g=((x=r==null?void 0:r.interpolation)==null?void 0:x.skipOnVariables)!==void 0?r.interpolation.skipOnVariables:this.options.interpolation.skipOnVariables;return[{regex:this.regexpUnescape,safeValue:h=>io(h)},{regex:this.regexp,safeValue:h=>this.escapeValue?io(this.escape(h)):io(h)}].forEach(h=>{for(c=0;s=h.regex.exec(e);){const _=s[1].trim();if(o=u(_),o===void 0)if(typeof p=="function"){const S=p(e,s,r);o=X(S)?S:""}else if(r&&Object.prototype.hasOwnProperty.call(r,_))o="";else if(g){o=s[0];continue}else this.logger.warn(`missed to pass in variable ${_} for interpolating ${e}`),o="";else!X(o)&&!this.useRawValueToEscape&&(o=al(o));const b=h.safeValue(o);if(e=e.replace(s[0],b),g?(h.regex.lastIndex+=o.length,h.regex.lastIndex-=s[0].length):h.regex.lastIndex=0,c++,c>=this.maxReplaces)break}}),e}nest(e,t){let i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},r,s,o;const c=(l,u)=>{const p=this.nestingOptionsSeparator;if(l.indexOf(p)<0)return l;const g=l.split(new RegExp(`${p}[ ]*{`));let m=`{${g[1]}`;l=g[0],m=this.interpolate(m,o);const x=m.match(/'/g),h=m.match(/"/g);(((x==null?void 0:x.length)??0)%2===0&&!h||h.length%2!==0)&&(m=m.replace(/'/g,'"'));try{o=JSON.parse(m),u&&(o={...u,...o})}catch(_){return this.logger.warn(`failed parsing options string in nesting for key ${l}`,_),`${l}${p}${m}`}return o.defaultValue&&o.defaultValue.indexOf(this.prefix)>-1&&delete o.defaultValue,l};for(;r=this.nestingRegexp.exec(e);){let l=[];o={...i},o=o.replace&&!X(o.replace)?o.replace:o,o.applyPostProcessor=!1,delete o.defaultValue;let u=!1;if(r[0].indexOf(this.formatSeparator)!==-1&&!/{.*}/.test(r[1])){const p=r[1].split(this.formatSeparator).map(g=>g.trim());r[1]=p.shift(),l=p,u=!0}if(s=t(c.call(this,r[1].trim(),o),o),s&&r[0]===e&&!X(s))return s;X(s)||(s=al(s)),s||(this.logger.warn(`missed to resolve ${r[1]} for nesting ${e}`),s=""),u&&(s=l.reduce((p,g)=>this.format(p,g,i.lng,{...i,interpolationkey:r[1].trim()}),s.trim())),e=e.replace(r[0],s),this.regexp.lastIndex=0}return e}}const Uh=n=>{let e=n.toLowerCase().trim();const t={};if(n.indexOf("(")>-1){const i=n.split("(");e=i[0].toLowerCase().trim();const r=i[1].substring(0,i[1].length-1);e==="currency"&&r.indexOf(":")<0?t.currency||(t.currency=r.trim()):e==="relativetime"&&r.indexOf(":")<0?t.range||(t.range=r.trim()):r.split(";").forEach(o=>{if(o){const[c,...l]=o.split(":"),u=l.join(":").trim().replace(/^'+|'+$/g,""),p=c.trim();t[p]||(t[p]=u),u==="false"&&(t[p]=!1),u==="true"&&(t[p]=!0),isNaN(u)||(t[p]=parseInt(u,10))}})}return{formatName:e,formatOptions:t}},xn=n=>{const e={};return(t,i,r)=>{let s=r;r&&r.interpolationkey&&r.formatParams&&r.formatParams[r.interpolationkey]&&r[r.interpolationkey]&&(s={...s,[r.interpolationkey]:void 0});const o=i+JSON.stringify(s);let c=e[o];return c||(c=n(lr(i),r),e[o]=c),c(t)}};class Vh{constructor(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};this.logger=ht.create("formatter"),this.options=e,this.formats={number:xn((t,i)=>{const r=new Intl.NumberFormat(t,{...i});return s=>r.format(s)}),currency:xn((t,i)=>{const r=new Intl.NumberFormat(t,{...i,style:"currency"});return s=>r.format(s)}),datetime:xn((t,i)=>{const r=new Intl.DateTimeFormat(t,{...i});return s=>r.format(s)}),relativetime:xn((t,i)=>{const r=new Intl.RelativeTimeFormat(t,{...i});return s=>r.format(s,i.range||"day")}),list:xn((t,i)=>{const r=new Intl.ListFormat(t,{...i});return s=>r.format(s)})},this.init(e)}init(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{interpolation:{}};this.formatSeparator=t.interpolation.formatSeparator||","}add(e,t){this.formats[e.toLowerCase().trim()]=t}addCached(e,t){this.formats[e.toLowerCase().trim()]=xn(t)}format(e,t,i){let r=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{};const s=t.split(this.formatSeparator);if(s.length>1&&s[0].indexOf("(")>1&&s[0].indexOf(")")<0&&s.find(c=>c.indexOf(")")>-1)){const c=s.findIndex(l=>l.indexOf(")")>-1);s[0]=[s[0],...s.splice(1,c)].join(this.formatSeparator)}return s.reduce((c,l)=>{var g;const{formatName:u,formatOptions:p}=Uh(l);if(this.formats[u]){let m=c;try{const x=((g=r==null?void 0:r.formatParams)==null?void 0:g[r.interpolationkey])||{},h=x.locale||x.lng||r.locale||r.lng||i;m=this.formats[u](c,h,{...p,...r,...x})}catch(x){this.logger.warn(x)}return m}else this.logger.warn(`there was no format function for ${u}`);return c},e)}}const Mh=(n,e)=>{n.pending[e]!==void 0&&(delete n.pending[e],n.pendingCount--)};class Hh extends is{constructor(e,t,i){var s,o;let r=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{};super(),this.backend=e,this.store=t,this.services=i,this.languageUtils=i.languageUtils,this.options=r,this.logger=ht.create("backendConnector"),this.waitingReads=[],this.maxParallelReads=r.maxParallelReads||10,this.readingCalls=0,this.maxRetries=r.maxRetries>=0?r.maxRetries:5,this.retryTimeout=r.retryTimeout>=1?r.retryTimeout:350,this.state={},this.queue=[],(o=(s=this.backend)==null?void 0:s.init)==null||o.call(s,i,r.backend,r)}queueLoad(e,t,i,r){const s={},o={},c={},l={};return e.forEach(u=>{let p=!0;t.forEach(g=>{const m=`${u}|${g}`;!i.reload&&this.store.hasResourceBundle(u,g)?this.state[m]=2:this.state[m]<0||(this.state[m]===1?o[m]===void 0&&(o[m]=!0):(this.state[m]=1,p=!1,o[m]===void 0&&(o[m]=!0),s[m]===void 0&&(s[m]=!0),l[g]===void 0&&(l[g]=!0)))}),p||(c[u]=!0)}),(Object.keys(s).length||Object.keys(o).length)&&this.queue.push({pending:o,pendingCount:Object.keys(o).length,loaded:{},errors:[],callback:r}),{toLoad:Object.keys(s),pending:Object.keys(o),toLoadLanguages:Object.keys(c),toLoadNamespaces:Object.keys(l)}}loaded(e,t,i){const r=e.split("|"),s=r[0],o=r[1];t&&this.emit("failedLoading",s,o,t),!t&&i&&this.store.addResourceBundle(s,o,i,void 0,void 0,{skipCopy:!0}),this.state[e]=t?-1:2,t&&i&&(this.state[e]=0);const c={};this.queue.forEach(l=>{$h(l.loaded,[s],o),Mh(l,e),t&&l.errors.push(t),l.pendingCount===0&&!l.done&&(Object.keys(l.loaded).forEach(u=>{c[u]||(c[u]={});const p=l.loaded[u];p.length&&p.forEach(g=>{c[u][g]===void 0&&(c[u][g]=!0)})}),l.done=!0,l.errors.length?l.callback(l.errors):l.callback())}),this.emit("loaded",c),this.queue=this.queue.filter(l=>!l.done)}read(e,t,i){let r=arguments.length>3&&arguments[3]!==void 0?arguments[3]:0,s=arguments.length>4&&arguments[4]!==void 0?arguments[4]:this.retryTimeout,o=arguments.length>5?arguments[5]:void 0;if(!e.length)return o(null,{});if(this.readingCalls>=this.maxParallelReads){this.waitingReads.push({lng:e,ns:t,fcName:i,tried:r,wait:s,callback:o});return}this.readingCalls++;const c=(u,p)=>{if(this.readingCalls--,this.waitingReads.length>0){const g=this.waitingReads.shift();this.read(g.lng,g.ns,g.fcName,g.tried,g.wait,g.callback)}if(u&&p&&r<this.maxRetries){setTimeout(()=>{this.read.call(this,e,t,i,r+1,s*2,o)},s);return}o(u,p)},l=this.backend[i].bind(this.backend);if(l.length===2){try{const u=l(e,t);u&&typeof u.then=="function"?u.then(p=>c(null,p)).catch(c):c(null,u)}catch(u){c(u)}return}return l(e,t,c)}prepareLoading(e,t){let i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},r=arguments.length>3?arguments[3]:void 0;if(!this.backend)return this.logger.warn("No backend was added via i18next.use. Will not load resources."),r&&r();X(e)&&(e=this.languageUtils.toResolveHierarchy(e)),X(t)&&(t=[t]);const s=this.queueLoad(e,t,i,r);if(!s.toLoad.length)return s.pending.length||r(),null;s.toLoad.forEach(o=>{this.loadOne(o)})}load(e,t,i){this.prepareLoading(e,t,{},i)}reload(e,t,i){this.prepareLoading(e,t,{reload:!0},i)}loadOne(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"";const i=e.split("|"),r=i[0],s=i[1];this.read(r,s,"read",void 0,void 0,(o,c)=>{o&&this.logger.warn(`${t}loading namespace ${s} for language ${r} failed`,o),!o&&c&&this.logger.log(`${t}loaded namespace ${s} for language ${r}`,c),this.loaded(e,o,c)})}saveMissing(e,t,i,r,s){var l,u,p,g,m;let o=arguments.length>5&&arguments[5]!==void 0?arguments[5]:{},c=arguments.length>6&&arguments[6]!==void 0?arguments[6]:()=>{};if((u=(l=this.services)==null?void 0:l.utils)!=null&&u.hasLoadedNamespace&&!((g=(p=this.services)==null?void 0:p.utils)!=null&&g.hasLoadedNamespace(t))){this.logger.warn(`did not save key "${i}" as the namespace "${t}" was not yet loaded`,"This means something IS WRONG in your setup. You access the t function before i18next.init / i18next.loadNamespace / i18next.changeLanguage was done. Wait for the callback or Promise to resolve before accessing it!!!");return}if(!(i==null||i==="")){if((m=this.backend)!=null&&m.create){const x={...o,isUpdate:s},h=this.backend.create.bind(this.backend);if(h.length<6)try{let _;h.length===5?_=h(e,t,i,r,x):_=h(e,t,i,r),_&&typeof _.then=="function"?_.then(b=>c(null,b)).catch(c):c(null,_)}catch(_){c(_)}else h(e,t,i,r,c,x)}!e||!e[0]||this.store.addResource(e[0],t,i,r)}}}const ml=()=>({debug:!1,initAsync:!0,ns:["translation"],defaultNS:["translation"],fallbackLng:["dev"],fallbackNS:!1,supportedLngs:!1,nonExplicitSupportedLngs:!1,load:"all",preload:!1,simplifyPluralSuffix:!0,keySeparator:".",nsSeparator:":",pluralSeparator:"_",contextSeparator:"_",partialBundledLanguages:!1,saveMissing:!1,updateMissing:!1,saveMissingTo:"fallback",saveMissingPlurals:!0,missingKeyHandler:!1,missingInterpolationHandler:!1,postProcess:!1,postProcessPassResolved:!1,returnNull:!1,returnEmptyString:!0,returnObjects:!1,joinArrays:!1,returnedObjectHandler:!1,parseMissingKeyHandler:!1,appendNamespaceToMissingKey:!1,appendNamespaceToCIMode:!1,overloadTranslationOptionHandler:n=>{let e={};if(typeof n[1]=="object"&&(e=n[1]),X(n[1])&&(e.defaultValue=n[1]),X(n[2])&&(e.tDescription=n[2]),typeof n[2]=="object"||typeof n[3]=="object"){const t=n[3]||n[2];Object.keys(t).forEach(i=>{e[i]=t[i]})}return e},interpolation:{escapeValue:!0,format:n=>n,prefix:"{{",suffix:"}}",formatSeparator:",",unescapePrefix:"-",nestingPrefix:"$t(",nestingSuffix:")",nestingOptionsSeparator:",",maxReplaces:1e3,skipOnVariables:!0}}),yl=n=>{var e,t;return X(n.ns)&&(n.ns=[n.ns]),X(n.fallbackLng)&&(n.fallbackLng=[n.fallbackLng]),X(n.fallbackNS)&&(n.fallbackNS=[n.fallbackNS]),((t=(e=n.supportedLngs)==null?void 0:e.indexOf)==null?void 0:t.call(e,"cimode"))<0&&(n.supportedLngs=n.supportedLngs.concat(["cimode"])),typeof n.initImmediate=="boolean"&&(n.initAsync=n.initImmediate),n},Gi=()=>{},Dh=n=>{Object.getOwnPropertyNames(Object.getPrototypeOf(n)).forEach(t=>{typeof n[t]=="function"&&(n[t]=n[t].bind(n))})};class fi extends is{constructor(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},t=arguments.length>1?arguments[1]:void 0;if(super(),this.options=yl(e),this.services={},this.logger=ht,this.modules={external:[]},Dh(this),t&&!this.isInitialized&&!e.isClone){if(!this.options.initAsync)return this.init(e,t),this;setTimeout(()=>{this.init(e,t)},0)}}init(){var e=this;let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},i=arguments.length>1?arguments[1]:void 0;this.isInitializing=!0,typeof t=="function"&&(i=t,t={}),!t.defaultNS&&t.defaultNS!==!1&&t.ns&&(X(t.ns)?t.defaultNS=t.ns:t.ns.indexOf("translation")<0&&(t.defaultNS=t.ns[0]));const r=ml();this.options={...r,...this.options,...yl(t)},this.options.interpolation={...r.interpolation,...this.options.interpolation},t.keySeparator!==void 0&&(this.options.userDefinedKeySeparator=t.keySeparator),t.nsSeparator!==void 0&&(this.options.userDefinedNsSeparator=t.nsSeparator);const s=p=>p?typeof p=="function"?new p:p:null;if(!this.options.isClone){this.modules.logger?ht.init(s(this.modules.logger),this.options):ht.init(null,this.options);let p;this.modules.formatter?p=this.modules.formatter:p=Vh;const g=new fl(this.options);this.store=new dl(this.options.resources,this.options);const m=this.services;m.logger=ht,m.resourceStore=this.store,m.languageUtils=g,m.pluralResolver=new Ph(g,{prepend:this.options.pluralSeparator,simplifyPluralSuffix:this.options.simplifyPluralSuffix}),p&&(!this.options.interpolation.format||this.options.interpolation.format===r.interpolation.format)&&(m.formatter=s(p),m.formatter.init(m,this.options),this.options.interpolation.format=m.formatter.format.bind(m.formatter)),m.interpolator=new Lh(this.options),m.utils={hasLoadedNamespace:this.hasLoadedNamespace.bind(this)},m.backendConnector=new Hh(s(this.modules.backend),m.resourceStore,m,this.options),m.backendConnector.on("*",function(x){for(var h=arguments.length,_=new Array(h>1?h-1:0),b=1;b<h;b++)_[b-1]=arguments[b];e.emit(x,..._)}),this.modules.languageDetector&&(m.languageDetector=s(this.modules.languageDetector),m.languageDetector.init&&m.languageDetector.init(m,this.options.detection,this.options)),this.modules.i18nFormat&&(m.i18nFormat=s(this.modules.i18nFormat),m.i18nFormat.init&&m.i18nFormat.init(this)),this.translator=new dr(this.services,this.options),this.translator.on("*",function(x){for(var h=arguments.length,_=new Array(h>1?h-1:0),b=1;b<h;b++)_[b-1]=arguments[b];e.emit(x,..._)}),this.modules.external.forEach(x=>{x.init&&x.init(this)})}if(this.format=this.options.interpolation.format,i||(i=Gi),this.options.fallbackLng&&!this.services.languageDetector&&!this.options.lng){const p=this.services.languageUtils.getFallbackCodes(this.options.fallbackLng);p.length>0&&p[0]!=="dev"&&(this.options.lng=p[0])}!this.services.languageDetector&&!this.options.lng&&this.logger.warn("init: no languageDetector is used and no lng is defined"),["getResource","hasResourceBundle","getResourceBundle","getDataByLanguage"].forEach(p=>{this[p]=function(){return e.store[p](...arguments)}}),["addResource","addResources","addResourceBundle","removeResourceBundle"].forEach(p=>{this[p]=function(){return e.store[p](...arguments),e}});const l=ti(),u=()=>{const p=(g,m)=>{this.isInitializing=!1,this.isInitialized&&!this.initializedStoreOnce&&this.logger.warn("init: i18next is already initialized. You should call init just once!"),this.isInitialized=!0,this.options.isClone||this.logger.log("initialized",this.options),this.emit("initialized",this.options),l.resolve(m),i(g,m)};if(this.languages&&!this.isInitialized)return p(null,this.t.bind(this));this.changeLanguage(this.options.lng,p)};return this.options.resources||!this.options.initAsync?u():setTimeout(u,0),l}loadResources(e){var s,o;let i=arguments.length>1&&arguments[1]!==void 0?arguments[1]:Gi;const r=X(e)?e:this.language;if(typeof e=="function"&&(i=e),!this.options.resources||this.options.partialBundledLanguages){if((r==null?void 0:r.toLowerCase())==="cimode"&&(!this.options.preload||this.options.preload.length===0))return i();const c=[],l=u=>{if(!u||u==="cimode")return;this.services.languageUtils.toResolveHierarchy(u).forEach(g=>{g!=="cimode"&&c.indexOf(g)<0&&c.push(g)})};r?l(r):this.services.languageUtils.getFallbackCodes(this.options.fallbackLng).forEach(p=>l(p)),(o=(s=this.options.preload)==null?void 0:s.forEach)==null||o.call(s,u=>l(u)),this.services.backendConnector.load(c,this.options.ns,u=>{!u&&!this.resolvedLanguage&&this.language&&this.setResolvedLanguage(this.language),i(u)})}else i(null)}reloadResources(e,t,i){const r=ti();return typeof e=="function"&&(i=e,e=void 0),typeof t=="function"&&(i=t,t=void 0),e||(e=this.languages),t||(t=this.options.ns),i||(i=Gi),this.services.backendConnector.reload(e,t,s=>{r.resolve(),i(s)}),r}use(e){if(!e)throw new Error("You are passing an undefined module! Please check the object you are passing to i18next.use()");if(!e.type)throw new Error("You are passing a wrong module! Please check the object you are passing to i18next.use()");return e.type==="backend"&&(this.modules.backend=e),(e.type==="logger"||e.log&&e.warn&&e.error)&&(this.modules.logger=e),e.type==="languageDetector"&&(this.modules.languageDetector=e),e.type==="i18nFormat"&&(this.modules.i18nFormat=e),e.type==="postProcessor"&&kd.addPostProcessor(e),e.type==="formatter"&&(this.modules.formatter=e),e.type==="3rdParty"&&this.modules.external.push(e),this}setResolvedLanguage(e){if(!(!e||!this.languages)&&!(["cimode","dev"].indexOf(e)>-1))for(let t=0;t<this.languages.length;t++){const i=this.languages[t];if(!(["cimode","dev"].indexOf(i)>-1)&&this.store.hasLanguageSomeTranslations(i)){this.resolvedLanguage=i;break}}}changeLanguage(e,t){var i=this;this.isLanguageChangingTo=e;const r=ti();this.emit("languageChanging",e);const s=l=>{this.language=l,this.languages=this.services.languageUtils.toResolveHierarchy(l),this.resolvedLanguage=void 0,this.setResolvedLanguage(l)},o=(l,u)=>{u?(s(u),this.translator.changeLanguage(u),this.isLanguageChangingTo=void 0,this.emit("languageChanged",u),this.logger.log("languageChanged",u)):this.isLanguageChangingTo=void 0,r.resolve(function(){return i.t(...arguments)}),t&&t(l,function(){return i.t(...arguments)})},c=l=>{var p,g;!e&&!l&&this.services.languageDetector&&(l=[]);const u=X(l)?l:this.services.languageUtils.getBestMatchFromCodes(l);u&&(this.language||s(u),this.translator.language||this.translator.changeLanguage(u),(g=(p=this.services.languageDetector)==null?void 0:p.cacheUserLanguage)==null||g.call(p,u)),this.loadResources(u,m=>{o(m,u)})};return!e&&this.services.languageDetector&&!this.services.languageDetector.async?c(this.services.languageDetector.detect()):!e&&this.services.languageDetector&&this.services.languageDetector.async?this.services.languageDetector.detect.length===0?this.services.languageDetector.detect().then(c):this.services.languageDetector.detect(c):c(e),r}getFixedT(e,t,i){var r=this;const s=function(o,c){let l;if(typeof c!="object"){for(var u=arguments.length,p=new Array(u>2?u-2:0),g=2;g<u;g++)p[g-2]=arguments[g];l=r.options.overloadTranslationOptionHandler([o,c].concat(p))}else l={...c};l.lng=l.lng||s.lng,l.lngs=l.lngs||s.lngs,l.ns=l.ns||s.ns,l.keyPrefix!==""&&(l.keyPrefix=l.keyPrefix||i||s.keyPrefix);const m=r.options.keySeparator||".";let x;return l.keyPrefix&&Array.isArray(o)?x=o.map(h=>`${l.keyPrefix}${m}${h}`):x=l.keyPrefix?`${l.keyPrefix}${m}${o}`:o,r.t(x,l)};return X(e)?s.lng=e:s.lngs=e,s.ns=t,s.keyPrefix=i,s}t(){var r;for(var e=arguments.length,t=new Array(e),i=0;i<e;i++)t[i]=arguments[i];return(r=this.translator)==null?void 0:r.translate(...t)}exists(){var r;for(var e=arguments.length,t=new Array(e),i=0;i<e;i++)t[i]=arguments[i];return(r=this.translator)==null?void 0:r.exists(...t)}setDefaultNamespace(e){this.options.defaultNS=e}hasLoadedNamespace(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};if(!this.isInitialized)return this.logger.warn("hasLoadedNamespace: i18next was not initialized",this.languages),!1;if(!this.languages||!this.languages.length)return this.logger.warn("hasLoadedNamespace: i18n.languages were undefined or empty",this.languages),!1;const i=t.lng||this.resolvedLanguage||this.languages[0],r=this.options?this.options.fallbackLng:!1,s=this.languages[this.languages.length-1];if(i.toLowerCase()==="cimode")return!0;const o=(c,l)=>{const u=this.services.backendConnector.state[`${c}|${l}`];return u===-1||u===0||u===2};if(t.precheck){const c=t.precheck(this,o);if(c!==void 0)return c}return!!(this.hasResourceBundle(i,e)||!this.services.backendConnector.backend||this.options.resources&&!this.options.partialBundledLanguages||o(i,e)&&(!r||o(s,e)))}loadNamespaces(e,t){const i=ti();return this.options.ns?(X(e)&&(e=[e]),e.forEach(r=>{this.options.ns.indexOf(r)<0&&this.options.ns.push(r)}),this.loadResources(r=>{i.resolve(),t&&t(r)}),i):(t&&t(),Promise.resolve())}loadLanguages(e,t){const i=ti();X(e)&&(e=[e]);const r=this.options.preload||[],s=e.filter(o=>r.indexOf(o)<0&&this.services.languageUtils.isSupportedCode(o));return s.length?(this.options.preload=r.concat(s),this.loadResources(o=>{i.resolve(),t&&t(o)}),i):(t&&t(),Promise.resolve())}dir(e){var r,s;if(e||(e=this.resolvedLanguage||(((r=this.languages)==null?void 0:r.length)>0?this.languages[0]:this.language)),!e)return"rtl";const t=["ar","shu","sqr","ssh","xaa","yhd","yud","aao","abh","abv","acm","acq","acw","acx","acy","adf","ads","aeb","aec","afb","ajp","apc","apd","arb","arq","ars","ary","arz","auz","avl","ayh","ayl","ayn","ayp","bbz","pga","he","iw","ps","pbt","pbu","pst","prp","prd","ug","ur","ydd","yds","yih","ji","yi","hbo","men","xmn","fa","jpr","peo","pes","prs","dv","sam","ckb"],i=((s=this.services)==null?void 0:s.languageUtils)||new fl(ml());return t.indexOf(i.getLanguagePartFromCode(e))>-1||e.toLowerCase().indexOf("-arab")>1?"rtl":"ltr"}static createInstance(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},t=arguments.length>1?arguments[1]:void 0;return new fi(e,t)}cloneInstance(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:Gi;const i=e.forkResourceStore;i&&delete e.forkResourceStore;const r={...this.options,...e,isClone:!0},s=new fi(r);if((e.debug!==void 0||e.prefix!==void 0)&&(s.logger=s.logger.clone(e)),["store","services","language"].forEach(c=>{s[c]=this[c]}),s.services={...this.services},s.services.utils={hasLoadedNamespace:s.hasLoadedNamespace.bind(s)},i){const c=Object.keys(this.store.data).reduce((l,u)=>(l[u]={...this.store.data[u]},Object.keys(l[u]).reduce((p,g)=>(p[g]={...l[u][g]},p),{})),{});s.store=new dl(c,r),s.services.resourceStore=s.store}return s.translator=new dr(s.services,r),s.translator.on("*",function(c){for(var l=arguments.length,u=new Array(l>1?l-1:0),p=1;p<l;p++)u[p-1]=arguments[p];s.emit(c,...u)}),s.init(r,t),s.translator.options=r,s.translator.backendConnector.services.utils={hasLoadedNamespace:s.hasLoadedNamespace.bind(s)},s}toJSON(){return{options:this.options,store:this.store,language:this.language,languages:this.languages,resolvedLanguage:this.resolvedLanguage}}}const Ne=fi.createInstance();Ne.createInstance=fi.createInstance;Ne.createInstance;Ne.dir;Ne.init;Ne.loadResources;Ne.reloadResources;Ne.use;Ne.changeLanguage;Ne.getFixedT;const ue=Ne.t;Ne.exists;Ne.setDefaultNamespace;Ne.hasLoadedNamespace;Ne.loadNamespaces;Ne.loadLanguages;const Dt=a.z.object({start:a.z.number(),limit:a.z.number(),length:a.z.number()}),Fa=a.z.object({created_at:a.z.string(),updated_at:a.z.string()}),xd=a.z.object({email:a.z.string().optional(),email_verified:a.z.boolean().optional(),name:a.z.string().optional(),username:a.z.string().optional(),given_name:a.z.string().optional(),phone_number:a.z.string().optional(),phone_verified:a.z.boolean().optional(),family_name:a.z.string().optional()}).catchall(a.z.any()),Sd=a.z.object({connection:a.z.string(),user_id:a.z.string(),provider:a.z.string(),isSocial:a.z.boolean(),access_token:a.z.string().optional(),access_token_secret:a.z.string().optional(),refresh_token:a.z.string().optional(),profileData:xd.optional()}),rs=a.z.object({email:a.z.string().optional(),username:a.z.string().optional(),given_name:a.z.string().optional(),family_name:a.z.string().optional(),nickname:a.z.string().optional(),name:a.z.string().optional(),picture:a.z.string().optional(),locale:a.z.string().optional(),linked_to:a.z.string().optional(),profileData:a.z.string().optional(),user_id:a.z.string().optional(),app_metadata:a.z.any().default({}).optional(),user_metadata:a.z.any().default({}).optional()}),pr=rs.extend({email_verified:a.z.boolean().default(!1),verify_email:a.z.boolean().optional(),last_ip:a.z.string().optional(),last_login:a.z.string().optional(),user_id:a.z.string().optional(),provider:a.z.string().default("email"),connection:a.z.string().default("email"),is_social:a.z.boolean().optional()}),qa=a.z.object({...pr.shape,...Fa.shape,user_id:a.z.string(),is_social:a.z.boolean(),email:a.z.string(),login_count:a.z.number(),identities:a.z.array(Sd).optional()}),ft=qa,Fh=rs.extend({email:a.z.string(),login_count:a.z.number(),multifactor:a.z.array(a.z.string()).optional(),last_ip:a.z.string().optional(),last_login:a.z.string().optional(),user_id:a.z.string()}).catchall(a.z.any()),qh="useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict";let Kh=(n=21)=>{let e="",t=crypto.getRandomValues(new Uint8Array(n));for(;n--;)e+=qh[t[n]&63];return e};const Ad=a.z.object({audience:a.z.string().optional(),recipient:a.z.string().optional(),createUpnClaim:a.z.boolean().optional(),mapUnknownClaimsAsIs:a.z.boolean().optional(),passthroughClaimsWithNoMapping:a.z.boolean().optional(),mapIdentities:a.z.boolean().optional(),signatureAlgorithm:a.z.string().optional(),digestAlgorithm:a.z.string().optional(),issuer:a.z.string().optional(),destination:a.z.string().optional(),lifetimeInSeconds:a.z.number().optional(),signResponse:a.z.boolean().optional(),nameIdentifierFormat:a.z.string().optional(),nameIdentifierProbes:a.z.array(a.z.string()).optional(),authnContextClassRef:a.z.string().optional(),mappings:a.z.record(a.z.string()).optional()}),fr=a.z.object({id:a.z.string(),name:a.z.string(),callbacks:a.z.array(a.z.string()).default([]).optional().openapi({description:"Comma-separated list of URLs whitelisted to use as a callback to the client after authentication."}),allowed_origins:a.z.array(a.z.string()).default([]).optional().openapi({description:"Comma-separated list of URLs allowed to make requests from JavaScript to Auth0 API (typically used with CORS). By default, all your callback URLs will be allowed. This field allows you to enter other origins if necessary. You can also use wildcards at the subdomain level. Query strings and hash information are not taken into account when validating these URLs."}),web_origins:a.z.array(a.z.string()).default([]).optional().openapi({description:"Comma-separated list of allowed origins for use with Cross-Origin Authentication, Device Flow, and web message response mode."}),allowed_logout_urls:a.z.array(a.z.string()).default([]).optional().openapi({description:"Comma-separated list of URLs that are valid to redirect to after logout from Auth0. Wildcards are allowed for subdomains."}),allowed_clients:a.z.array(a.z.string()).default([]).optional().openapi({description:"Ids of clients that will be allowed to perform delegation requests. Clients that will be allowed to make delegation request. By default, all your clients will be allowed. This field allows you to specify specific clients"}),addons:a.z.object({samlp:Ad.optional()}).default({}).optional().openapi({description:"Addons associated with the client. The key is the addon's package name and the value is an object with the configuration for the addon."}),email_validation:a.z.enum(["enabled","disabled","enforced"]).default("enforced").optional().openapi({description:"Defines if it possible to sign in with an unverified email and if verification emails will be sent. This is not available in auth0"}),client_secret:a.z.string().default(()=>Kh()).optional(),disable_sign_ups:a.z.boolean().optional().default(!1).openapi({description:"Prevents users from signing up using the hosted login page. This is not available in auth0"})}),Yt=a.z.object({created_at:a.z.string().transform(n=>n===null?"":n),updated_at:a.z.string().transform(n=>n===null?"":n),...fr.shape});var Ut=(n=>(n.TOKEN="token",n.TOKEN_ID_TOKEN="token id_token",n.CODE="code",n))(Ut||{}),sn=(n=>(n.QUERY="query",n.FRAGMENT="fragment",n.FORM_POST="form_post",n.WEB_MESSAGE="web_message",n.SAML_POST="saml_post",n))(sn||{}),ss=(n=>(n.S256="S256",n.Plain="plain",n))(ss||{});const Ka=a.z.object({client_id:a.z.string(),vendor_id:a.z.string().optional(),act_as:a.z.string().optional(),response_type:a.z.nativeEnum(Ut).optional(),response_mode:a.z.nativeEnum(sn).optional(),redirect_uri:a.z.string().optional(),audience:a.z.string().optional(),state:a.z.string().optional(),nonce:a.z.string().optional(),scope:a.z.string().optional(),prompt:a.z.string().optional(),code_challenge_method:a.z.nativeEnum(ss).optional(),code_challenge:a.z.string().optional(),username:a.z.string().optional(),ui_locales:a.z.string().optional()}),wo=a.z.object({colors:a.z.object({primary:a.z.string(),page_background:a.z.object({type:a.z.string().optional(),start:a.z.string().optional(),end:a.z.string().optional(),angle_deg:a.z.number().optional()}).optional()}).optional(),logo_url:a.z.string().optional(),favicon_url:a.z.string().optional(),font:a.z.object({url:a.z.string()}).optional()}),hr=a.z.object({id:a.z.string().optional(),name:a.z.string(),strategy:a.z.string(),options:a.z.object({kid:a.z.string().optional(),team_id:a.z.string().optional(),realms:a.z.string().optional(),client_id:a.z.string().optional(),client_secret:a.z.string().optional(),app_secret:a.z.string().optional(),scope:a.z.string().optional(),authorization_endpoint:a.z.string().default("").optional(),token_endpoint:a.z.string().default("").optional(),userinfo_endpoint:a.z.string().default("").optional(),jwks_uri:a.z.string().default("").optional(),discovery_url:a.z.string().default("").optional(),issuer:a.z.string().default("").optional()}).default({}).optional(),enabled_clients:a.z.array(a.z.string()).default([]).optional(),response_type:a.z.custom().optional(),response_mode:a.z.custom().optional()}),Ot=a.z.object({id:a.z.string(),created_at:a.z.string().transform(n=>n===null?"":n),updated_at:a.z.string().transform(n=>n===null?"":n)}).extend(hr.shape),gr=a.z.object({name:a.z.string(),audience:a.z.string(),sender_email:a.z.string().email(),sender_name:a.z.string(),support_url:a.z.string().url().optional(),logo:a.z.string().url().optional(),primary_color:a.z.string().optional(),secondary_color:a.z.string().optional(),language:a.z.string().optional()}),En=a.z.object({created_at:a.z.string().transform(n=>n===null?"":n),updated_at:a.z.string().transform(n=>n===null?"":n),id:a.z.string(),...gr.shape}),Wh=a.z.object({logoUrl:a.z.string(),loginBackgroundImage:a.z.string().nullish(),style:a.z.object({primaryColor:a.z.string(),buttonTextColor:a.z.string(),primaryHoverColor:a.z.string()}),supportEmail:a.z.string().nullable(),supportUrl:a.z.string().nullable(),name:a.z.string(),showGreyishBackground:a.z.boolean().optional(),termsAndConditionsUrl:a.z.string().nullable(),companyName:a.z.string().optional(),checkoutHideSocial:a.z.boolean().optional(),siteUrl:a.z.string().nullable(),manageSubscriptionsUrl:a.z.string().optional()}),Gh=a.z.object({domain:a.z.string(),dkim_private_key:a.z.string().optional(),dkim_public_key:a.z.string().optional(),email_api_key:a.z.string().optional(),email_service:a.z.string().optional()});a.z.object({...Yt.shape,domains:a.z.array(Gh),tenant:En,connections:a.z.array(Ot)});const Id=a.z.enum(["password_reset","email_verification","otp","authorization_code","oauth2_state","ticket"]),Ed=a.z.object({code_id:a.z.string().openapi({description:"The code that will be used in for instance an email verification flow"}),login_id:a.z.string().openapi({description:"The id of the login session that the code is connected to"}),connection_id:a.z.string().optional().openapi({description:"The connection that the code is connected to"}),code_type:Id,code_verifier:a.z.string().optional().openapi({description:"The code verifier used in PKCE in outbound flows"}),expires_at:a.z.string(),used_at:a.z.string().optional(),user_id:a.z.string().optional()}),Jh=a.z.object({...Ed.shape,created_at:a.z.string()}),$d=a.z.object({domain:a.z.string(),dkim_private_key:a.z.string().optional(),dkim_public_key:a.z.string().optional(),email_api_key:a.z.string().optional(),email_service:a.z.string().optional()}),Zh=Fa.extend({...$d.shape,id:a.z.string()}),_r=a.z.object({trigger_id:a.z.enum(["pre-user-signup","post-user-registration","post-user-login"]),enabled:a.z.boolean().default(!1),url:a.z.string(),hook_id:a.z.string().optional(),synchronous:a.z.boolean().default(!1),priority:a.z.number().optional()}),An=_r.extend({...Fa.shape,hook_id:a.z.string()}),Wa=a.z.object({alg:a.z.enum(["RS256","RS384","RS512","ES256","ES384","ES512","HS256","HS384","HS512"]),e:a.z.string(),kid:a.z.string(),kty:a.z.enum(["RSA","EC","oct"]),n:a.z.string(),x5t:a.z.string().optional(),x5c:a.z.array(a.z.string()).optional(),use:a.z.enum(["sig","enc"]).optional()}),Cd=a.z.object({keys:a.z.array(Wa)}),bo=a.z.object({issuer:a.z.string(),authorization_endpoint:a.z.string(),token_endpoint:a.z.string(),device_authorization_endpoint:a.z.string(),userinfo_endpoint:a.z.string(),mfa_challenge_endpoint:a.z.string(),jwks_uri:a.z.string(),registration_endpoint:a.z.string(),revocation_endpoint:a.z.string(),scopes_supported:a.z.array(a.z.string()),response_types_supported:a.z.array(a.z.string()),code_challenge_methods_supported:a.z.array(a.z.string()),response_modes_supported:a.z.array(a.z.string()),subject_types_supported:a.z.array(a.z.string()),id_token_signing_alg_values_supported:a.z.array(a.z.string()),token_endpoint_auth_methods_supported:a.z.array(a.z.string()),claims_supported:a.z.array(a.z.string()),request_uri_parameter_supported:a.z.boolean(),request_parameter_supported:a.z.boolean(),token_endpoint_auth_signing_alg_values_supported:a.z.array(a.z.string())}),jd=a.z.object({auth0Client:a.z.string().optional(),authParams:Ka,expires_at:a.z.string(),deleted_at:a.z.string().optional(),ip:a.z.string().optional(),useragent:a.z.string().optional()}).openapi({description:"This represents a login sesion"}),Yh=a.z.object({...jd.shape,login_id:a.z.string().openapi({description:"This is is used as the state in the universal login"}),created_at:a.z.string(),updated_at:a.z.string()});var _e=(n=>(n.FAILED_SILENT_AUTH="fsa",n.FAILED_SIGNUP="fs",n.FAILED_LOGIN="f",n.FAILED_LOGIN_INCORRECT_PASSWORD="fp",n.FAILED_CHANGE_PASSWORD="fcp",n.FAILED_BY_CONNECTOR="fc",n.FAILED_LOGIN_INVALID_EMAIL_USERNAME="fu",n.FAILED_HOOK="fh",n.FAILED_CROSS_ORIGIN_AUTHENTICATION="fcoa",n.SUCCESS_API_OPERATION="sapi",n.SUCCESS_CHANGE_PASSWORD="scp",n.SUCCESS_CHANGE_PASSWORD_REQUEST="scpr",n.SUCCESS_CHANGE_USERNAME="scu",n.SUCCESS_CROSS_ORIGIN_AUTHENTICATION="scoa",n.SUCCESS_EXCHANGE_AUTHORIZATION_CODE_FOR_ACCESS_TOKEN="seacft",n.SUCCESS_EXCHANGE_REFRESH_TOKEN_FOR_ACCESS_TOKEN="serft",n.SUCCESS_LOGIN="s",n.SUCCESS_LOGOUT="slo",n.SUCCESS_SIGNUP="ss",n.SUCCESS_SILENT_AUTH="ssa",n.SUCCESS_VERIFICATION_EMAIL="sv",n.SUCCESS_VERIFICATION_EMAIL_REQUEST="svr",n.CODE_LINK_SENT="cls",n.BLOCKED_ACCOUNT_EMAIL="limit_wc",n.BLOCKED_ACCOUNT_IP="limit_sul",n.BLOCKED_IP_ADDRESS="limit_mu",n))(_e||{});const Xh=a.z.enum(["cls","fsa","fs","f","fc","fcoa","fcp","fh","fp","fs","fu","s","sapi","scoa","scp","scpr","scu","seacft","serft","slo","ss","ssa","sv","svr"]),zd=a.z.object({name:a.z.string(),version:a.z.string(),env:a.z.object({node:a.z.string().optional()}).optional()}),mr=a.z.object({type:Xh,date:a.z.string(),description:a.z.string().optional(),log_id:a.z.string().optional(),_id:a.z.string().optional(),ip:a.z.string(),user_agent:a.z.string(),details:a.z.any().optional(),isMobile:a.z.boolean(),user_id:a.z.string().optional(),user_name:a.z.string().optional(),connection:a.z.string().optional(),connection_id:a.z.string().optional(),client_id:a.z.string().optional(),client_name:a.z.string().optional(),audience:a.z.string().optional(),scope:a.z.array(a.z.string()).optional(),strategy:a.z.string().optional(),strategy_type:a.z.string().optional(),hostname:a.z.string().optional(),auth0_client:zd.optional()}),Nd=a.z.object({user_id:a.z.string(),password:a.z.string(),algorithm:a.z.enum(["bcrypt","argon2id"]).default("argon2id")}),Qh=a.z.object({...Nd.shape,created_at:a.z.string(),updated_at:a.z.string()}),Od=a.z.object({session_id:a.z.string(),client_id:a.z.string(),expires_at:a.z.string(),used_at:a.z.string(),deleted_at:a.z.string().optional(),user_id:a.z.string()}),Ga=a.z.object({created_at:a.z.string(),...Od.shape}),ko=a.z.object({kid:a.z.string().openapi({description:"The key id of the signing key"}),cert:a.z.string().openapi({description:"The public certificate of the signing key"}),fingerprint:a.z.string().openapi({description:"The cert fingerprint"}),thumbprint:a.z.string().openapi({description:"The cert thumbprint"}),pkcs7:a.z.string().optional().openapi({description:"The private key in pkcs7 format"}),current:a.z.boolean().optional().openapi({description:"True if the key is the current key"}),next:a.z.boolean().optional().openapi({description:"True if the key is the next key"}),previous:a.z.boolean().optional().openapi({description:"True if the key is the previous key"}),current_since:a.z.string().optional().openapi({description:"The date and time when the key became the current key"}),current_until:a.z.string().optional().openapi({description:"The date and time when the current key was rotated"}),revoked:a.z.boolean().optional().openapi({description:"True if the key is revoked"}),revoked_at:a.z.string().optional().openapi({description:"The date and time when the key was revoked"})});var yr=(n=>(n.RefreshToken="refresh_token",n.AuthorizationCode="authorization_code",n.ClientCredential="client_credentials",n.Passwordless="passwordless",n.Password="password",n))(yr||{});a.z.object({access_token:a.z.string(),id_token:a.z.string().optional(),scope:a.z.string().optional(),state:a.z.string().optional(),refresh_token:a.z.string().optional(),token_type:a.z.string(),expires_in:a.z.number()});a.z.object({code:a.z.string(),state:a.z.string().optional()});const Bd=a.z.object({button_border_radius:a.z.number(),button_border_weight:a.z.number(),buttons_style:a.z.enum(["pill"]),input_border_radius:a.z.number(),input_border_weight:a.z.number(),inputs_style:a.z.enum(["pill"]),show_widget_shadow:a.z.boolean(),widget_border_weight:a.z.number(),widget_corner_radius:a.z.number()}),Td=a.z.object({base_focus_color:a.z.string(),base_hover_color:a.z.string(),body_text:a.z.string(),captcha_widget_theme:a.z.enum(["auto"]),error:a.z.string(),header:a.z.string(),icons:a.z.string(),input_background:a.z.string(),input_border:a.z.string(),input_filled_text:a.z.string(),input_labels_placeholders:a.z.string(),links_focused_components:a.z.string(),primary_button:a.z.string(),primary_button_label:a.z.string(),secondary_button_border:a.z.string(),secondary_button_label:a.z.string(),success:a.z.string(),widget_background:a.z.string(),widget_border:a.z.string()}),Jt=a.z.object({bold:a.z.boolean(),size:a.z.number()}),Rd=a.z.object({body_text:Jt,buttons_text:Jt,font_url:a.z.string(),input_labels:Jt,links:Jt,links_style:a.z.enum(["normal"]),reference_text_size:a.z.number(),subtitle:Jt,title:Jt}),Pd=a.z.object({background_color:a.z.string(),background_image_url:a.z.string(),page_layout:a.z.enum(["center"])}),Ld=a.z.object({header_text_alignment:a.z.enum(["center"]),logo_height:a.z.number(),logo_position:a.z.enum(["center"]),logo_url:a.z.string(),social_buttons_layout:a.z.enum(["bottom"])}),Ud=a.z.object({borders:Bd,colors:Td,displayName:a.z.string(),fonts:Rd,page_background:Pd,widget:Ld}),eg=Ud.extend({themeId:a.z.string()}),er=a.z.object({universal_login_experience:a.z.enum(["new","classic"]).default("new"),identifier_first:a.z.boolean().default(!0),password_first:a.z.boolean().default(!1),webauthn_platform_first_factor:a.z.boolean()}),tr=a.z.object({name:a.z.string(),enabled:a.z.boolean().optional().default(!0),default_from_address:a.z.string().optional(),credentials:a.z.union([a.z.object({accessKeyId:a.z.string(),secretAccessKey:a.z.string(),region:a.z.string()}),a.z.object({smtp_host:a.z.array(a.z.string()),smtp_port:a.z.number(),smtp_user:a.z.string(),smtp_pass:a.z.string()}),a.z.object({api_key:a.z.string(),domain:a.z.string().optional()}),a.z.object({connectionString:a.z.string()}),a.z.object({tenantId:a.z.string(),clientId:a.z.string(),clientSecret:a.z.string()})]),settings:a.z.object({}).optional()});function tg(n){const[e,t]=n.split("|");if(!e||!t)throw new Error(`Invalid user_id: ${n}`);return{connection:e,id:t}}const ng=new a.OpenAPIHono().openapi(a.createRoute({tags:["branding"],method:"get",path:"/",request:{headers:a.z.object({"tenant-id":a.z.string()})},security:[{Bearer:["auth:read"]}],responses:{200:{content:{"application/json":{schema:wo}},description:"Branding settings"}}}),async n=>{const{"tenant-id":e}=n.req.valid("header"),t=await n.env.data.branding.get(e);return t?n.json(t):n.json({})}).openapi(a.createRoute({tags:["branding"],method:"patch",path:"/",request:{headers:a.z.object({"tenant-id":a.z.string()}),body:{content:{"application/json":{schema:a.z.object(wo.shape).partial()}}}},security:[{Bearer:["auth:write"]}],responses:{200:{description:"Branding settings"}}}),async n=>{const{"tenant-id":e}=n.req.valid("header"),t=n.req.valid("json");return await n.env.data.branding.set(e,t),n.text("OK")});var N=class extends Error{constructor(e=500,t){super(t==null?void 0:t.message,{cause:t==null?void 0:t.cause});te(this,"res");te(this,"status");this.res=t==null?void 0:t.res,this.status=e}getResponse(){return this.res?new Response(this.res.body,{status:this.status,headers:this.res.headers}):new Response(this.message,{status:this.status})}},vr=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function ig(n){return n&&n.__esModule&&Object.prototype.hasOwnProperty.call(n,"default")?n.default:n}function rg(n){if(n.__esModule)return n;var e=n.default;if(typeof e=="function"){var t=function i(){return this instanceof i?Reflect.construct(e,arguments,this.constructor):e.apply(this,arguments)};t.prototype=e.prototype}else t={};return Object.defineProperty(t,"__esModule",{value:!0}),Object.keys(n).forEach(function(i){var r=Object.getOwnPropertyDescriptor(n,i);Object.defineProperty(t,i,r.get?r:{enumerable:!0,get:function(){return n[i]}})}),t}function sg(n){throw new Error('Could not dynamically require "'+n+'". Please configure the dynamicRequireTargets or/and ignoreDynamicRequires option of @rollup/plugin-commonjs appropriately for this require call to work.')}var Vd={exports:{}};const og={},ag=Object.freeze(Object.defineProperty({__proto__:null,default:og},Symbol.toStringTag,{value:"Module"})),cg=rg(ag);(function(n){/**
|
|
1
|
+
"use strict";var Sh=Object.defineProperty;var Ah=(n,e,t)=>e in n?Sh(n,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):n[e]=t;var te=(n,e,t)=>Ah(n,typeof e!="symbol"?e+"":e,t);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const a=require("@hono/zod-openapi"),X=n=>typeof n=="string",ti=()=>{let n,e;const t=new Promise((i,r)=>{n=i,e=r});return t.resolve=n,t.reject=e,t},al=n=>n==null?"":""+n,Ih=(n,e,t)=>{n.forEach(i=>{e[i]&&(t[i]=e[i])})},Eh=/###/g,cl=n=>n&&n.indexOf("###")>-1?n.replace(Eh,"."):n,ll=n=>!n||X(n),oi=(n,e,t)=>{const i=X(e)?e.split("."):e;let r=0;for(;r<i.length-1;){if(ll(n))return{};const s=cl(i[r]);!n[s]&&t&&(n[s]=new t),Object.prototype.hasOwnProperty.call(n,s)?n=n[s]:n={},++r}return ll(n)?{}:{obj:n,k:cl(i[r])}},ul=(n,e,t)=>{const{obj:i,k:r}=oi(n,e,Object);if(i!==void 0||e.length===1){i[r]=t;return}let s=e[e.length-1],o=e.slice(0,e.length-1),c=oi(n,o,Object);for(;c.obj===void 0&&o.length;)s=`${o[o.length-1]}.${s}`,o=o.slice(0,o.length-1),c=oi(n,o,Object),c!=null&&c.obj&&typeof c.obj[`${c.k}.${s}`]<"u"&&(c.obj=void 0);c.obj[`${c.k}.${s}`]=t},$h=(n,e,t,i)=>{const{obj:r,k:s}=oi(n,e,Object);r[s]=r[s]||[],r[s].push(t)},cr=(n,e)=>{const{obj:t,k:i}=oi(n,e);if(t&&Object.prototype.hasOwnProperty.call(t,i))return t[i]},Ch=(n,e,t)=>{const i=cr(n,t);return i!==void 0?i:cr(e,t)},bd=(n,e,t)=>{for(const i in e)i!=="__proto__"&&i!=="constructor"&&(i in n?X(n[i])||n[i]instanceof String||X(e[i])||e[i]instanceof String?t&&(n[i]=e[i]):bd(n[i],e[i],t):n[i]=e[i]);return n},kn=n=>n.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,"\\$&");var jh={"&":"&","<":"<",">":">",'"':""","'":"'","/":"/"};const zh=n=>X(n)?n.replace(/[&<>"'\/]/g,e=>jh[e]):n;class Nh{constructor(e){this.capacity=e,this.regExpMap=new Map,this.regExpQueue=[]}getRegExp(e){const t=this.regExpMap.get(e);if(t!==void 0)return t;const i=new RegExp(e);return this.regExpQueue.length===this.capacity&&this.regExpMap.delete(this.regExpQueue.shift()),this.regExpMap.set(e,i),this.regExpQueue.push(e),i}}const Oh=[" ",",","?","!",";"],Bh=new Nh(20),Th=(n,e,t)=>{e=e||"",t=t||"";const i=Oh.filter(o=>e.indexOf(o)<0&&t.indexOf(o)<0);if(i.length===0)return!0;const r=Bh.getRegExp(`(${i.map(o=>o==="?"?"\\?":o).join("|")})`);let s=!r.test(n);if(!s){const o=n.indexOf(t);o>0&&!r.test(n.substring(0,o))&&(s=!0)}return s},vo=function(n,e){let t=arguments.length>2&&arguments[2]!==void 0?arguments[2]:".";if(!n)return;if(n[e])return Object.prototype.hasOwnProperty.call(n,e)?n[e]:void 0;const i=e.split(t);let r=n;for(let s=0;s<i.length;){if(!r||typeof r!="object")return;let o,c="";for(let l=s;l<i.length;++l)if(l!==s&&(c+=t),c+=i[l],o=r[c],o!==void 0){if(["string","number","boolean"].indexOf(typeof o)>-1&&l<i.length-1)continue;s+=l-s+1;break}r=o}return r},lr=n=>n==null?void 0:n.replace("_","-"),Rh={type:"logger",log(n){this.output("log",n)},warn(n){this.output("warn",n)},error(n){this.output("error",n)},output(n,e){var t,i;(i=(t=console==null?void 0:console[n])==null?void 0:t.apply)==null||i.call(t,console,e)}};class ur{constructor(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};this.init(e,t)}init(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};this.prefix=t.prefix||"i18next:",this.logger=e||Rh,this.options=t,this.debug=t.debug}log(){for(var e=arguments.length,t=new Array(e),i=0;i<e;i++)t[i]=arguments[i];return this.forward(t,"log","",!0)}warn(){for(var e=arguments.length,t=new Array(e),i=0;i<e;i++)t[i]=arguments[i];return this.forward(t,"warn","",!0)}error(){for(var e=arguments.length,t=new Array(e),i=0;i<e;i++)t[i]=arguments[i];return this.forward(t,"error","")}deprecate(){for(var e=arguments.length,t=new Array(e),i=0;i<e;i++)t[i]=arguments[i];return this.forward(t,"warn","WARNING DEPRECATED: ",!0)}forward(e,t,i,r){return r&&!this.debug?null:(X(e[0])&&(e[0]=`${i}${this.prefix} ${e[0]}`),this.logger[t](e))}create(e){return new ur(this.logger,{prefix:`${this.prefix}:${e}:`,...this.options})}clone(e){return e=e||this.options,e.prefix=e.prefix||this.prefix,new ur(this.logger,e)}}var ht=new ur;class is{constructor(){this.observers={}}on(e,t){return e.split(" ").forEach(i=>{this.observers[i]||(this.observers[i]=new Map);const r=this.observers[i].get(t)||0;this.observers[i].set(t,r+1)}),this}off(e,t){if(this.observers[e]){if(!t){delete this.observers[e];return}this.observers[e].delete(t)}}emit(e){for(var t=arguments.length,i=new Array(t>1?t-1:0),r=1;r<t;r++)i[r-1]=arguments[r];this.observers[e]&&Array.from(this.observers[e].entries()).forEach(o=>{let[c,l]=o;for(let u=0;u<l;u++)c(...i)}),this.observers["*"]&&Array.from(this.observers["*"].entries()).forEach(o=>{let[c,l]=o;for(let u=0;u<l;u++)c.apply(c,[e,...i])})}}class dl extends is{constructor(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{ns:["translation"],defaultNS:"translation"};super(),this.data=e||{},this.options=t,this.options.keySeparator===void 0&&(this.options.keySeparator="."),this.options.ignoreJSONStructure===void 0&&(this.options.ignoreJSONStructure=!0)}addNamespaces(e){this.options.ns.indexOf(e)<0&&this.options.ns.push(e)}removeNamespaces(e){const t=this.options.ns.indexOf(e);t>-1&&this.options.ns.splice(t,1)}getResource(e,t,i){var u,p;let r=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{};const s=r.keySeparator!==void 0?r.keySeparator:this.options.keySeparator,o=r.ignoreJSONStructure!==void 0?r.ignoreJSONStructure:this.options.ignoreJSONStructure;let c;e.indexOf(".")>-1?c=e.split("."):(c=[e,t],i&&(Array.isArray(i)?c.push(...i):X(i)&&s?c.push(...i.split(s)):c.push(i)));const l=cr(this.data,c);return!l&&!t&&!i&&e.indexOf(".")>-1&&(e=c[0],t=c[1],i=c.slice(2).join(".")),l||!o||!X(i)?l:vo((p=(u=this.data)==null?void 0:u[e])==null?void 0:p[t],i,s)}addResource(e,t,i,r){let s=arguments.length>4&&arguments[4]!==void 0?arguments[4]:{silent:!1};const o=s.keySeparator!==void 0?s.keySeparator:this.options.keySeparator;let c=[e,t];i&&(c=c.concat(o?i.split(o):i)),e.indexOf(".")>-1&&(c=e.split("."),r=t,t=c[1]),this.addNamespaces(t),ul(this.data,c,r),s.silent||this.emit("added",e,t,i,r)}addResources(e,t,i){let r=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{silent:!1};for(const s in i)(X(i[s])||Array.isArray(i[s]))&&this.addResource(e,t,s,i[s],{silent:!0});r.silent||this.emit("added",e,t,i)}addResourceBundle(e,t,i,r,s){let o=arguments.length>5&&arguments[5]!==void 0?arguments[5]:{silent:!1,skipCopy:!1},c=[e,t];e.indexOf(".")>-1&&(c=e.split("."),r=i,i=t,t=c[1]),this.addNamespaces(t);let l=cr(this.data,c)||{};o.skipCopy||(i=JSON.parse(JSON.stringify(i))),r?bd(l,i,s):l={...l,...i},ul(this.data,c,l),o.silent||this.emit("added",e,t,i)}removeResourceBundle(e,t){this.hasResourceBundle(e,t)&&delete this.data[e][t],this.removeNamespaces(t),this.emit("removed",e,t)}hasResourceBundle(e,t){return this.getResource(e,t)!==void 0}getResourceBundle(e,t){return t||(t=this.options.defaultNS),this.getResource(e,t)}getDataByLanguage(e){return this.data[e]}hasLanguageSomeTranslations(e){const t=this.getDataByLanguage(e);return!!(t&&Object.keys(t)||[]).find(r=>t[r]&&Object.keys(t[r]).length>0)}toJSON(){return this.data}}var kd={processors:{},addPostProcessor(n){this.processors[n.name]=n},handle(n,e,t,i,r){return n.forEach(s=>{var o;e=((o=this.processors[s])==null?void 0:o.process(e,t,i,r))??e}),e}};const pl={};class dr extends is{constructor(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};super(),Ih(["resourceStore","languageUtils","pluralResolver","interpolator","backendConnector","i18nFormat","utils"],e,this),this.options=t,this.options.keySeparator===void 0&&(this.options.keySeparator="."),this.logger=ht.create("translator")}changeLanguage(e){e&&(this.language=e)}exists(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{interpolation:{}};if(e==null)return!1;const i=this.resolve(e,t);return(i==null?void 0:i.res)!==void 0}extractFromKey(e,t){let i=t.nsSeparator!==void 0?t.nsSeparator:this.options.nsSeparator;i===void 0&&(i=":");const r=t.keySeparator!==void 0?t.keySeparator:this.options.keySeparator;let s=t.ns||this.options.defaultNS||[];const o=i&&e.indexOf(i)>-1,c=!this.options.userDefinedKeySeparator&&!t.keySeparator&&!this.options.userDefinedNsSeparator&&!t.nsSeparator&&!Th(e,i,r);if(o&&!c){const l=e.match(this.interpolator.nestingRegexp);if(l&&l.length>0)return{key:e,namespaces:X(s)?[s]:s};const u=e.split(i);(i!==r||i===r&&this.options.ns.indexOf(u[0])>-1)&&(s=u.shift()),e=u.join(r)}return{key:e,namespaces:X(s)?[s]:s}}translate(e,t,i){if(typeof t!="object"&&this.options.overloadTranslationOptionHandler&&(t=this.options.overloadTranslationOptionHandler(arguments)),typeof t=="object"&&(t={...t}),t||(t={}),e==null)return"";Array.isArray(e)||(e=[String(e)]);const r=t.returnDetails!==void 0?t.returnDetails:this.options.returnDetails,s=t.keySeparator!==void 0?t.keySeparator:this.options.keySeparator,{key:o,namespaces:c}=this.extractFromKey(e[e.length-1],t),l=c[c.length-1],u=t.lng||this.language,p=t.appendNamespaceToCIMode||this.options.appendNamespaceToCIMode;if((u==null?void 0:u.toLowerCase())==="cimode"){if(p){const q=t.nsSeparator||this.options.nsSeparator;return r?{res:`${l}${q}${o}`,usedKey:o,exactUsedKey:o,usedLng:u,usedNS:l,usedParams:this.getUsedParamsDetails(t)}:`${l}${q}${o}`}return r?{res:o,usedKey:o,exactUsedKey:o,usedLng:u,usedNS:l,usedParams:this.getUsedParamsDetails(t)}:o}const g=this.resolve(e,t);let m=g==null?void 0:g.res;const x=(g==null?void 0:g.usedKey)||o,h=(g==null?void 0:g.exactUsedKey)||o,_=Object.prototype.toString.apply(m),b=["[object Number]","[object Function]","[object RegExp]"],S=t.joinArrays!==void 0?t.joinArrays:this.options.joinArrays,O=!this.i18nFormat||this.i18nFormat.handleAsObject,T=!X(m)&&typeof m!="boolean"&&typeof m!="number";if(O&&m&&T&&b.indexOf(_)<0&&!(X(S)&&Array.isArray(m))){if(!t.returnObjects&&!this.options.returnObjects){this.options.returnedObjectHandler||this.logger.warn("accessing an object - but returnObjects options is not enabled!");const q=this.options.returnedObjectHandler?this.options.returnedObjectHandler(x,m,{...t,ns:c}):`key '${o} (${this.language})' returned an object instead of string.`;return r?(g.res=q,g.usedParams=this.getUsedParamsDetails(t),g):q}if(s){const q=Array.isArray(m),oe=q?[]:{},pe=q?h:x;for(const ce in m)if(Object.prototype.hasOwnProperty.call(m,ce)){const Re=`${pe}${s}${ce}`;oe[ce]=this.translate(Re,{...t,joinArrays:!1,ns:c}),oe[ce]===Re&&(oe[ce]=m[ce])}m=oe}}else if(O&&X(S)&&Array.isArray(m))m=m.join(S),m&&(m=this.extendTranslation(m,e,t,i));else{let q=!1,oe=!1;const pe=t.count!==void 0&&!X(t.count),ce=dr.hasDefaultValue(t),Re=pe?this.pluralResolver.getSuffix(u,t.count,t):"",nt=t.ordinal&&pe?this.pluralResolver.getSuffix(u,t.count,{ordinal:!1}):"",De=pe&&!t.ordinal&&t.count===0,$=De&&t[`defaultValue${this.options.pluralSeparator}zero`]||t[`defaultValue${Re}`]||t[`defaultValue${nt}`]||t.defaultValue;!this.isValidLookup(m)&&ce&&(q=!0,m=$),this.isValidLookup(m)||(oe=!0,m=o);const A=(t.missingKeyNoValueFallbackToKey||this.options.missingKeyNoValueFallbackToKey)&&oe?void 0:m,w=ce&&$!==m&&this.options.updateMissing;if(oe||q||w){if(this.logger.log(w?"updateKey":"missingKey",u,l,o,w?$:m),s){const Z=this.resolve(o,{...t,keySeparator:!1});Z&&Z.res&&this.logger.warn("Seems the loaded translations were in flat JSON format instead of nested. Either set keySeparator: false on init or make sure your translations are published in nested format.")}let v=[];const C=this.languageUtils.getFallbackCodes(this.options.fallbackLng,t.lng||this.language);if(this.options.saveMissingTo==="fallback"&&C&&C[0])for(let Z=0;Z<C.length;Z++)v.push(C[Z]);else this.options.saveMissingTo==="all"?v=this.languageUtils.toResolveHierarchy(t.lng||this.language):v.push(t.lng||this.language);const R=(Z,K,ee)=>{var M;const se=ce&&ee!==m?ee:A;this.options.missingKeyHandler?this.options.missingKeyHandler(Z,l,K,se,w,t):(M=this.backendConnector)!=null&&M.saveMissing&&this.backendConnector.saveMissing(Z,l,K,se,w,t),this.emit("missingKey",Z,l,K,m)};this.options.saveMissing&&(this.options.saveMissingPlurals&&pe?v.forEach(Z=>{const K=this.pluralResolver.getSuffixes(Z,t);De&&t[`defaultValue${this.options.pluralSeparator}zero`]&&K.indexOf(`${this.options.pluralSeparator}zero`)<0&&K.push(`${this.options.pluralSeparator}zero`),K.forEach(ee=>{R([Z],o+ee,t[`defaultValue${ee}`]||$)})}):R(v,o,$))}m=this.extendTranslation(m,e,t,g,i),oe&&m===o&&this.options.appendNamespaceToMissingKey&&(m=`${l}:${o}`),(oe||q)&&this.options.parseMissingKeyHandler&&(m=this.options.parseMissingKeyHandler(this.options.appendNamespaceToMissingKey?`${l}:${o}`:o,q?m:void 0))}return r?(g.res=m,g.usedParams=this.getUsedParamsDetails(t),g):m}extendTranslation(e,t,i,r,s){var u,p;var o=this;if((u=this.i18nFormat)!=null&&u.parse)e=this.i18nFormat.parse(e,{...this.options.interpolation.defaultVariables,...i},i.lng||this.language||r.usedLng,r.usedNS,r.usedKey,{resolved:r});else if(!i.skipInterpolation){i.interpolation&&this.interpolator.init({...i,interpolation:{...this.options.interpolation,...i.interpolation}});const g=X(e)&&(((p=i==null?void 0:i.interpolation)==null?void 0:p.skipOnVariables)!==void 0?i.interpolation.skipOnVariables:this.options.interpolation.skipOnVariables);let m;if(g){const h=e.match(this.interpolator.nestingRegexp);m=h&&h.length}let x=i.replace&&!X(i.replace)?i.replace:i;if(this.options.interpolation.defaultVariables&&(x={...this.options.interpolation.defaultVariables,...x}),e=this.interpolator.interpolate(e,x,i.lng||this.language||r.usedLng,i),g){const h=e.match(this.interpolator.nestingRegexp),_=h&&h.length;m<_&&(i.nest=!1)}!i.lng&&r&&r.res&&(i.lng=this.language||r.usedLng),i.nest!==!1&&(e=this.interpolator.nest(e,function(){for(var h=arguments.length,_=new Array(h),b=0;b<h;b++)_[b]=arguments[b];return(s==null?void 0:s[0])===_[0]&&!i.context?(o.logger.warn(`It seems you are nesting recursively key: ${_[0]} in key: ${t[0]}`),null):o.translate(..._,t)},i)),i.interpolation&&this.interpolator.reset()}const c=i.postProcess||this.options.postProcess,l=X(c)?[c]:c;return e!=null&&(l!=null&&l.length)&&i.applyPostProcessor!==!1&&(e=kd.handle(l,e,t,this.options&&this.options.postProcessPassResolved?{i18nResolved:{...r,usedParams:this.getUsedParamsDetails(i)},...i}:i,this)),e}resolve(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},i,r,s,o,c;return X(e)&&(e=[e]),e.forEach(l=>{if(this.isValidLookup(i))return;const u=this.extractFromKey(l,t),p=u.key;r=p;let g=u.namespaces;this.options.fallbackNS&&(g=g.concat(this.options.fallbackNS));const m=t.count!==void 0&&!X(t.count),x=m&&!t.ordinal&&t.count===0,h=t.context!==void 0&&(X(t.context)||typeof t.context=="number")&&t.context!=="",_=t.lngs?t.lngs:this.languageUtils.toResolveHierarchy(t.lng||this.language,t.fallbackLng);g.forEach(b=>{var S,O;this.isValidLookup(i)||(c=b,!pl[`${_[0]}-${b}`]&&((S=this.utils)!=null&&S.hasLoadedNamespace)&&!((O=this.utils)!=null&&O.hasLoadedNamespace(c))&&(pl[`${_[0]}-${b}`]=!0,this.logger.warn(`key "${r}" for languages "${_.join(", ")}" won't get resolved as namespace "${c}" was not yet loaded`,"This means something IS WRONG in your setup. You access the t function before i18next.init / i18next.loadNamespace / i18next.changeLanguage was done. Wait for the callback or Promise to resolve before accessing it!!!")),_.forEach(T=>{var pe;if(this.isValidLookup(i))return;o=T;const q=[p];if((pe=this.i18nFormat)!=null&&pe.addLookupKeys)this.i18nFormat.addLookupKeys(q,p,T,b,t);else{let ce;m&&(ce=this.pluralResolver.getSuffix(T,t.count,t));const Re=`${this.options.pluralSeparator}zero`,nt=`${this.options.pluralSeparator}ordinal${this.options.pluralSeparator}`;if(m&&(q.push(p+ce),t.ordinal&&ce.indexOf(nt)===0&&q.push(p+ce.replace(nt,this.options.pluralSeparator)),x&&q.push(p+Re)),h){const De=`${p}${this.options.contextSeparator}${t.context}`;q.push(De),m&&(q.push(De+ce),t.ordinal&&ce.indexOf(nt)===0&&q.push(De+ce.replace(nt,this.options.pluralSeparator)),x&&q.push(De+Re))}}let oe;for(;oe=q.pop();)this.isValidLookup(i)||(s=oe,i=this.getResource(T,b,oe,t))}))})}),{res:i,usedKey:r,exactUsedKey:s,usedLng:o,usedNS:c}}isValidLookup(e){return e!==void 0&&!(!this.options.returnNull&&e===null)&&!(!this.options.returnEmptyString&&e==="")}getResource(e,t,i){var s;let r=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{};return(s=this.i18nFormat)!=null&&s.getResource?this.i18nFormat.getResource(e,t,i,r):this.resourceStore.getResource(e,t,i,r)}getUsedParamsDetails(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};const t=["defaultValue","ordinal","context","replace","lng","lngs","fallbackLng","ns","keySeparator","nsSeparator","returnObjects","returnDetails","joinArrays","postProcess","interpolation"],i=e.replace&&!X(e.replace);let r=i?e.replace:e;if(i&&typeof e.count<"u"&&(r.count=e.count),this.options.interpolation.defaultVariables&&(r={...this.options.interpolation.defaultVariables,...r}),!i){r={...r};for(const s of t)delete r[s]}return r}static hasDefaultValue(e){const t="defaultValue";for(const i in e)if(Object.prototype.hasOwnProperty.call(e,i)&&t===i.substring(0,t.length)&&e[i]!==void 0)return!0;return!1}}class fl{constructor(e){this.options=e,this.supportedLngs=this.options.supportedLngs||!1,this.logger=ht.create("languageUtils")}getScriptPartFromCode(e){if(e=lr(e),!e||e.indexOf("-")<0)return null;const t=e.split("-");return t.length===2||(t.pop(),t[t.length-1].toLowerCase()==="x")?null:this.formatLanguageCode(t.join("-"))}getLanguagePartFromCode(e){if(e=lr(e),!e||e.indexOf("-")<0)return e;const t=e.split("-");return this.formatLanguageCode(t[0])}formatLanguageCode(e){if(X(e)&&e.indexOf("-")>-1){let t;try{t=Intl.getCanonicalLocales(e)[0]}catch{}return t&&this.options.lowerCaseLng&&(t=t.toLowerCase()),t||(this.options.lowerCaseLng?e.toLowerCase():e)}return this.options.cleanCode||this.options.lowerCaseLng?e.toLowerCase():e}isSupportedCode(e){return(this.options.load==="languageOnly"||this.options.nonExplicitSupportedLngs)&&(e=this.getLanguagePartFromCode(e)),!this.supportedLngs||!this.supportedLngs.length||this.supportedLngs.indexOf(e)>-1}getBestMatchFromCodes(e){if(!e)return null;let t;return e.forEach(i=>{if(t)return;const r=this.formatLanguageCode(i);(!this.options.supportedLngs||this.isSupportedCode(r))&&(t=r)}),!t&&this.options.supportedLngs&&e.forEach(i=>{if(t)return;const r=this.getLanguagePartFromCode(i);if(this.isSupportedCode(r))return t=r;t=this.options.supportedLngs.find(s=>{if(s===r)return s;if(!(s.indexOf("-")<0&&r.indexOf("-")<0)&&(s.indexOf("-")>0&&r.indexOf("-")<0&&s.substring(0,s.indexOf("-"))===r||s.indexOf(r)===0&&r.length>1))return s})}),t||(t=this.getFallbackCodes(this.options.fallbackLng)[0]),t}getFallbackCodes(e,t){if(!e)return[];if(typeof e=="function"&&(e=e(t)),X(e)&&(e=[e]),Array.isArray(e))return e;if(!t)return e.default||[];let i=e[t];return i||(i=e[this.getScriptPartFromCode(t)]),i||(i=e[this.formatLanguageCode(t)]),i||(i=e[this.getLanguagePartFromCode(t)]),i||(i=e.default),i||[]}toResolveHierarchy(e,t){const i=this.getFallbackCodes(t||this.options.fallbackLng||[],e),r=[],s=o=>{o&&(this.isSupportedCode(o)?r.push(o):this.logger.warn(`rejecting language code not found in supportedLngs: ${o}`))};return X(e)&&(e.indexOf("-")>-1||e.indexOf("_")>-1)?(this.options.load!=="languageOnly"&&s(this.formatLanguageCode(e)),this.options.load!=="languageOnly"&&this.options.load!=="currentOnly"&&s(this.getScriptPartFromCode(e)),this.options.load!=="currentOnly"&&s(this.getLanguagePartFromCode(e))):X(e)&&s(this.formatLanguageCode(e)),i.forEach(o=>{r.indexOf(o)<0&&s(this.formatLanguageCode(o))}),r}}const hl={zero:0,one:1,two:2,few:3,many:4,other:5},gl={select:n=>n===1?"one":"other",resolvedOptions:()=>({pluralCategories:["one","other"]})};class Ph{constructor(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};this.languageUtils=e,this.options=t,this.logger=ht.create("pluralResolver"),this.pluralRulesCache={}}addRule(e,t){this.rules[e]=t}clearCache(){this.pluralRulesCache={}}getRule(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};const i=lr(e==="dev"?"en":e),r=t.ordinal?"ordinal":"cardinal",s=JSON.stringify({cleanedCode:i,type:r});if(s in this.pluralRulesCache)return this.pluralRulesCache[s];let o;try{o=new Intl.PluralRules(i,{type:r})}catch{if(!Intl)return this.logger.error("No Intl support, please use an Intl polyfill!"),gl;if(!e.match(/-|_/))return gl;const l=this.languageUtils.getLanguagePartFromCode(e);o=this.getRule(l,t)}return this.pluralRulesCache[s]=o,o}needsPlural(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},i=this.getRule(e,t);return i||(i=this.getRule("dev",t)),(i==null?void 0:i.resolvedOptions().pluralCategories.length)>1}getPluralFormsOfKey(e,t){let i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};return this.getSuffixes(e,i).map(r=>`${t}${r}`)}getSuffixes(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},i=this.getRule(e,t);return i||(i=this.getRule("dev",t)),i?i.resolvedOptions().pluralCategories.sort((r,s)=>hl[r]-hl[s]).map(r=>`${this.options.prepend}${t.ordinal?`ordinal${this.options.prepend}`:""}${r}`):[]}getSuffix(e,t){let i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};const r=this.getRule(e,i);return r?`${this.options.prepend}${i.ordinal?`ordinal${this.options.prepend}`:""}${r.select(t)}`:(this.logger.warn(`no plural rule found for: ${e}`),this.getSuffix("dev",t,i))}}const _l=function(n,e,t){let i=arguments.length>3&&arguments[3]!==void 0?arguments[3]:".",r=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!0,s=Ch(n,e,t);return!s&&r&&X(t)&&(s=vo(n,t,i),s===void 0&&(s=vo(e,t,i))),s},io=n=>n.replace(/\$/g,"$$$$");class Lh{constructor(){var t;let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};this.logger=ht.create("interpolator"),this.options=e,this.format=((t=e==null?void 0:e.interpolation)==null?void 0:t.format)||(i=>i),this.init(e)}init(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};e.interpolation||(e.interpolation={escapeValue:!0});const{escape:t,escapeValue:i,useRawValueToEscape:r,prefix:s,prefixEscaped:o,suffix:c,suffixEscaped:l,formatSeparator:u,unescapeSuffix:p,unescapePrefix:g,nestingPrefix:m,nestingPrefixEscaped:x,nestingSuffix:h,nestingSuffixEscaped:_,nestingOptionsSeparator:b,maxReplaces:S,alwaysFormat:O}=e.interpolation;this.escape=t!==void 0?t:zh,this.escapeValue=i!==void 0?i:!0,this.useRawValueToEscape=r!==void 0?r:!1,this.prefix=s?kn(s):o||"{{",this.suffix=c?kn(c):l||"}}",this.formatSeparator=u||",",this.unescapePrefix=p?"":g||"-",this.unescapeSuffix=this.unescapePrefix?"":p||"",this.nestingPrefix=m?kn(m):x||kn("$t("),this.nestingSuffix=h?kn(h):_||kn(")"),this.nestingOptionsSeparator=b||",",this.maxReplaces=S||1e3,this.alwaysFormat=O!==void 0?O:!1,this.resetRegExp()}reset(){this.options&&this.init(this.options)}resetRegExp(){const e=(t,i)=>(t==null?void 0:t.source)===i?(t.lastIndex=0,t):new RegExp(i,"g");this.regexp=e(this.regexp,`${this.prefix}(.+?)${this.suffix}`),this.regexpUnescape=e(this.regexpUnescape,`${this.prefix}${this.unescapePrefix}(.+?)${this.unescapeSuffix}${this.suffix}`),this.nestingRegexp=e(this.nestingRegexp,`${this.nestingPrefix}(.+?)${this.nestingSuffix}`)}interpolate(e,t,i,r){var x;let s,o,c;const l=this.options&&this.options.interpolation&&this.options.interpolation.defaultVariables||{},u=h=>{if(h.indexOf(this.formatSeparator)<0){const O=_l(t,l,h,this.options.keySeparator,this.options.ignoreJSONStructure);return this.alwaysFormat?this.format(O,void 0,i,{...r,...t,interpolationkey:h}):O}const _=h.split(this.formatSeparator),b=_.shift().trim(),S=_.join(this.formatSeparator).trim();return this.format(_l(t,l,b,this.options.keySeparator,this.options.ignoreJSONStructure),S,i,{...r,...t,interpolationkey:b})};this.resetRegExp();const p=(r==null?void 0:r.missingInterpolationHandler)||this.options.missingInterpolationHandler,g=((x=r==null?void 0:r.interpolation)==null?void 0:x.skipOnVariables)!==void 0?r.interpolation.skipOnVariables:this.options.interpolation.skipOnVariables;return[{regex:this.regexpUnescape,safeValue:h=>io(h)},{regex:this.regexp,safeValue:h=>this.escapeValue?io(this.escape(h)):io(h)}].forEach(h=>{for(c=0;s=h.regex.exec(e);){const _=s[1].trim();if(o=u(_),o===void 0)if(typeof p=="function"){const S=p(e,s,r);o=X(S)?S:""}else if(r&&Object.prototype.hasOwnProperty.call(r,_))o="";else if(g){o=s[0];continue}else this.logger.warn(`missed to pass in variable ${_} for interpolating ${e}`),o="";else!X(o)&&!this.useRawValueToEscape&&(o=al(o));const b=h.safeValue(o);if(e=e.replace(s[0],b),g?(h.regex.lastIndex+=o.length,h.regex.lastIndex-=s[0].length):h.regex.lastIndex=0,c++,c>=this.maxReplaces)break}}),e}nest(e,t){let i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},r,s,o;const c=(l,u)=>{const p=this.nestingOptionsSeparator;if(l.indexOf(p)<0)return l;const g=l.split(new RegExp(`${p}[ ]*{`));let m=`{${g[1]}`;l=g[0],m=this.interpolate(m,o);const x=m.match(/'/g),h=m.match(/"/g);(((x==null?void 0:x.length)??0)%2===0&&!h||h.length%2!==0)&&(m=m.replace(/'/g,'"'));try{o=JSON.parse(m),u&&(o={...u,...o})}catch(_){return this.logger.warn(`failed parsing options string in nesting for key ${l}`,_),`${l}${p}${m}`}return o.defaultValue&&o.defaultValue.indexOf(this.prefix)>-1&&delete o.defaultValue,l};for(;r=this.nestingRegexp.exec(e);){let l=[];o={...i},o=o.replace&&!X(o.replace)?o.replace:o,o.applyPostProcessor=!1,delete o.defaultValue;let u=!1;if(r[0].indexOf(this.formatSeparator)!==-1&&!/{.*}/.test(r[1])){const p=r[1].split(this.formatSeparator).map(g=>g.trim());r[1]=p.shift(),l=p,u=!0}if(s=t(c.call(this,r[1].trim(),o),o),s&&r[0]===e&&!X(s))return s;X(s)||(s=al(s)),s||(this.logger.warn(`missed to resolve ${r[1]} for nesting ${e}`),s=""),u&&(s=l.reduce((p,g)=>this.format(p,g,i.lng,{...i,interpolationkey:r[1].trim()}),s.trim())),e=e.replace(r[0],s),this.regexp.lastIndex=0}return e}}const Uh=n=>{let e=n.toLowerCase().trim();const t={};if(n.indexOf("(")>-1){const i=n.split("(");e=i[0].toLowerCase().trim();const r=i[1].substring(0,i[1].length-1);e==="currency"&&r.indexOf(":")<0?t.currency||(t.currency=r.trim()):e==="relativetime"&&r.indexOf(":")<0?t.range||(t.range=r.trim()):r.split(";").forEach(o=>{if(o){const[c,...l]=o.split(":"),u=l.join(":").trim().replace(/^'+|'+$/g,""),p=c.trim();t[p]||(t[p]=u),u==="false"&&(t[p]=!1),u==="true"&&(t[p]=!0),isNaN(u)||(t[p]=parseInt(u,10))}})}return{formatName:e,formatOptions:t}},xn=n=>{const e={};return(t,i,r)=>{let s=r;r&&r.interpolationkey&&r.formatParams&&r.formatParams[r.interpolationkey]&&r[r.interpolationkey]&&(s={...s,[r.interpolationkey]:void 0});const o=i+JSON.stringify(s);let c=e[o];return c||(c=n(lr(i),r),e[o]=c),c(t)}};class Vh{constructor(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};this.logger=ht.create("formatter"),this.options=e,this.formats={number:xn((t,i)=>{const r=new Intl.NumberFormat(t,{...i});return s=>r.format(s)}),currency:xn((t,i)=>{const r=new Intl.NumberFormat(t,{...i,style:"currency"});return s=>r.format(s)}),datetime:xn((t,i)=>{const r=new Intl.DateTimeFormat(t,{...i});return s=>r.format(s)}),relativetime:xn((t,i)=>{const r=new Intl.RelativeTimeFormat(t,{...i});return s=>r.format(s,i.range||"day")}),list:xn((t,i)=>{const r=new Intl.ListFormat(t,{...i});return s=>r.format(s)})},this.init(e)}init(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{interpolation:{}};this.formatSeparator=t.interpolation.formatSeparator||","}add(e,t){this.formats[e.toLowerCase().trim()]=t}addCached(e,t){this.formats[e.toLowerCase().trim()]=xn(t)}format(e,t,i){let r=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{};const s=t.split(this.formatSeparator);if(s.length>1&&s[0].indexOf("(")>1&&s[0].indexOf(")")<0&&s.find(c=>c.indexOf(")")>-1)){const c=s.findIndex(l=>l.indexOf(")")>-1);s[0]=[s[0],...s.splice(1,c)].join(this.formatSeparator)}return s.reduce((c,l)=>{var g;const{formatName:u,formatOptions:p}=Uh(l);if(this.formats[u]){let m=c;try{const x=((g=r==null?void 0:r.formatParams)==null?void 0:g[r.interpolationkey])||{},h=x.locale||x.lng||r.locale||r.lng||i;m=this.formats[u](c,h,{...p,...r,...x})}catch(x){this.logger.warn(x)}return m}else this.logger.warn(`there was no format function for ${u}`);return c},e)}}const Mh=(n,e)=>{n.pending[e]!==void 0&&(delete n.pending[e],n.pendingCount--)};class Hh extends is{constructor(e,t,i){var s,o;let r=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{};super(),this.backend=e,this.store=t,this.services=i,this.languageUtils=i.languageUtils,this.options=r,this.logger=ht.create("backendConnector"),this.waitingReads=[],this.maxParallelReads=r.maxParallelReads||10,this.readingCalls=0,this.maxRetries=r.maxRetries>=0?r.maxRetries:5,this.retryTimeout=r.retryTimeout>=1?r.retryTimeout:350,this.state={},this.queue=[],(o=(s=this.backend)==null?void 0:s.init)==null||o.call(s,i,r.backend,r)}queueLoad(e,t,i,r){const s={},o={},c={},l={};return e.forEach(u=>{let p=!0;t.forEach(g=>{const m=`${u}|${g}`;!i.reload&&this.store.hasResourceBundle(u,g)?this.state[m]=2:this.state[m]<0||(this.state[m]===1?o[m]===void 0&&(o[m]=!0):(this.state[m]=1,p=!1,o[m]===void 0&&(o[m]=!0),s[m]===void 0&&(s[m]=!0),l[g]===void 0&&(l[g]=!0)))}),p||(c[u]=!0)}),(Object.keys(s).length||Object.keys(o).length)&&this.queue.push({pending:o,pendingCount:Object.keys(o).length,loaded:{},errors:[],callback:r}),{toLoad:Object.keys(s),pending:Object.keys(o),toLoadLanguages:Object.keys(c),toLoadNamespaces:Object.keys(l)}}loaded(e,t,i){const r=e.split("|"),s=r[0],o=r[1];t&&this.emit("failedLoading",s,o,t),!t&&i&&this.store.addResourceBundle(s,o,i,void 0,void 0,{skipCopy:!0}),this.state[e]=t?-1:2,t&&i&&(this.state[e]=0);const c={};this.queue.forEach(l=>{$h(l.loaded,[s],o),Mh(l,e),t&&l.errors.push(t),l.pendingCount===0&&!l.done&&(Object.keys(l.loaded).forEach(u=>{c[u]||(c[u]={});const p=l.loaded[u];p.length&&p.forEach(g=>{c[u][g]===void 0&&(c[u][g]=!0)})}),l.done=!0,l.errors.length?l.callback(l.errors):l.callback())}),this.emit("loaded",c),this.queue=this.queue.filter(l=>!l.done)}read(e,t,i){let r=arguments.length>3&&arguments[3]!==void 0?arguments[3]:0,s=arguments.length>4&&arguments[4]!==void 0?arguments[4]:this.retryTimeout,o=arguments.length>5?arguments[5]:void 0;if(!e.length)return o(null,{});if(this.readingCalls>=this.maxParallelReads){this.waitingReads.push({lng:e,ns:t,fcName:i,tried:r,wait:s,callback:o});return}this.readingCalls++;const c=(u,p)=>{if(this.readingCalls--,this.waitingReads.length>0){const g=this.waitingReads.shift();this.read(g.lng,g.ns,g.fcName,g.tried,g.wait,g.callback)}if(u&&p&&r<this.maxRetries){setTimeout(()=>{this.read.call(this,e,t,i,r+1,s*2,o)},s);return}o(u,p)},l=this.backend[i].bind(this.backend);if(l.length===2){try{const u=l(e,t);u&&typeof u.then=="function"?u.then(p=>c(null,p)).catch(c):c(null,u)}catch(u){c(u)}return}return l(e,t,c)}prepareLoading(e,t){let i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},r=arguments.length>3?arguments[3]:void 0;if(!this.backend)return this.logger.warn("No backend was added via i18next.use. Will not load resources."),r&&r();X(e)&&(e=this.languageUtils.toResolveHierarchy(e)),X(t)&&(t=[t]);const s=this.queueLoad(e,t,i,r);if(!s.toLoad.length)return s.pending.length||r(),null;s.toLoad.forEach(o=>{this.loadOne(o)})}load(e,t,i){this.prepareLoading(e,t,{},i)}reload(e,t,i){this.prepareLoading(e,t,{reload:!0},i)}loadOne(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"";const i=e.split("|"),r=i[0],s=i[1];this.read(r,s,"read",void 0,void 0,(o,c)=>{o&&this.logger.warn(`${t}loading namespace ${s} for language ${r} failed`,o),!o&&c&&this.logger.log(`${t}loaded namespace ${s} for language ${r}`,c),this.loaded(e,o,c)})}saveMissing(e,t,i,r,s){var l,u,p,g,m;let o=arguments.length>5&&arguments[5]!==void 0?arguments[5]:{},c=arguments.length>6&&arguments[6]!==void 0?arguments[6]:()=>{};if((u=(l=this.services)==null?void 0:l.utils)!=null&&u.hasLoadedNamespace&&!((g=(p=this.services)==null?void 0:p.utils)!=null&&g.hasLoadedNamespace(t))){this.logger.warn(`did not save key "${i}" as the namespace "${t}" was not yet loaded`,"This means something IS WRONG in your setup. You access the t function before i18next.init / i18next.loadNamespace / i18next.changeLanguage was done. Wait for the callback or Promise to resolve before accessing it!!!");return}if(!(i==null||i==="")){if((m=this.backend)!=null&&m.create){const x={...o,isUpdate:s},h=this.backend.create.bind(this.backend);if(h.length<6)try{let _;h.length===5?_=h(e,t,i,r,x):_=h(e,t,i,r),_&&typeof _.then=="function"?_.then(b=>c(null,b)).catch(c):c(null,_)}catch(_){c(_)}else h(e,t,i,r,c,x)}!e||!e[0]||this.store.addResource(e[0],t,i,r)}}}const ml=()=>({debug:!1,initAsync:!0,ns:["translation"],defaultNS:["translation"],fallbackLng:["dev"],fallbackNS:!1,supportedLngs:!1,nonExplicitSupportedLngs:!1,load:"all",preload:!1,simplifyPluralSuffix:!0,keySeparator:".",nsSeparator:":",pluralSeparator:"_",contextSeparator:"_",partialBundledLanguages:!1,saveMissing:!1,updateMissing:!1,saveMissingTo:"fallback",saveMissingPlurals:!0,missingKeyHandler:!1,missingInterpolationHandler:!1,postProcess:!1,postProcessPassResolved:!1,returnNull:!1,returnEmptyString:!0,returnObjects:!1,joinArrays:!1,returnedObjectHandler:!1,parseMissingKeyHandler:!1,appendNamespaceToMissingKey:!1,appendNamespaceToCIMode:!1,overloadTranslationOptionHandler:n=>{let e={};if(typeof n[1]=="object"&&(e=n[1]),X(n[1])&&(e.defaultValue=n[1]),X(n[2])&&(e.tDescription=n[2]),typeof n[2]=="object"||typeof n[3]=="object"){const t=n[3]||n[2];Object.keys(t).forEach(i=>{e[i]=t[i]})}return e},interpolation:{escapeValue:!0,format:n=>n,prefix:"{{",suffix:"}}",formatSeparator:",",unescapePrefix:"-",nestingPrefix:"$t(",nestingSuffix:")",nestingOptionsSeparator:",",maxReplaces:1e3,skipOnVariables:!0}}),yl=n=>{var e,t;return X(n.ns)&&(n.ns=[n.ns]),X(n.fallbackLng)&&(n.fallbackLng=[n.fallbackLng]),X(n.fallbackNS)&&(n.fallbackNS=[n.fallbackNS]),((t=(e=n.supportedLngs)==null?void 0:e.indexOf)==null?void 0:t.call(e,"cimode"))<0&&(n.supportedLngs=n.supportedLngs.concat(["cimode"])),typeof n.initImmediate=="boolean"&&(n.initAsync=n.initImmediate),n},Gi=()=>{},Dh=n=>{Object.getOwnPropertyNames(Object.getPrototypeOf(n)).forEach(t=>{typeof n[t]=="function"&&(n[t]=n[t].bind(n))})};class fi extends is{constructor(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},t=arguments.length>1?arguments[1]:void 0;if(super(),this.options=yl(e),this.services={},this.logger=ht,this.modules={external:[]},Dh(this),t&&!this.isInitialized&&!e.isClone){if(!this.options.initAsync)return this.init(e,t),this;setTimeout(()=>{this.init(e,t)},0)}}init(){var e=this;let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},i=arguments.length>1?arguments[1]:void 0;this.isInitializing=!0,typeof t=="function"&&(i=t,t={}),!t.defaultNS&&t.defaultNS!==!1&&t.ns&&(X(t.ns)?t.defaultNS=t.ns:t.ns.indexOf("translation")<0&&(t.defaultNS=t.ns[0]));const r=ml();this.options={...r,...this.options,...yl(t)},this.options.interpolation={...r.interpolation,...this.options.interpolation},t.keySeparator!==void 0&&(this.options.userDefinedKeySeparator=t.keySeparator),t.nsSeparator!==void 0&&(this.options.userDefinedNsSeparator=t.nsSeparator);const s=p=>p?typeof p=="function"?new p:p:null;if(!this.options.isClone){this.modules.logger?ht.init(s(this.modules.logger),this.options):ht.init(null,this.options);let p;this.modules.formatter?p=this.modules.formatter:p=Vh;const g=new fl(this.options);this.store=new dl(this.options.resources,this.options);const m=this.services;m.logger=ht,m.resourceStore=this.store,m.languageUtils=g,m.pluralResolver=new Ph(g,{prepend:this.options.pluralSeparator,simplifyPluralSuffix:this.options.simplifyPluralSuffix}),p&&(!this.options.interpolation.format||this.options.interpolation.format===r.interpolation.format)&&(m.formatter=s(p),m.formatter.init(m,this.options),this.options.interpolation.format=m.formatter.format.bind(m.formatter)),m.interpolator=new Lh(this.options),m.utils={hasLoadedNamespace:this.hasLoadedNamespace.bind(this)},m.backendConnector=new Hh(s(this.modules.backend),m.resourceStore,m,this.options),m.backendConnector.on("*",function(x){for(var h=arguments.length,_=new Array(h>1?h-1:0),b=1;b<h;b++)_[b-1]=arguments[b];e.emit(x,..._)}),this.modules.languageDetector&&(m.languageDetector=s(this.modules.languageDetector),m.languageDetector.init&&m.languageDetector.init(m,this.options.detection,this.options)),this.modules.i18nFormat&&(m.i18nFormat=s(this.modules.i18nFormat),m.i18nFormat.init&&m.i18nFormat.init(this)),this.translator=new dr(this.services,this.options),this.translator.on("*",function(x){for(var h=arguments.length,_=new Array(h>1?h-1:0),b=1;b<h;b++)_[b-1]=arguments[b];e.emit(x,..._)}),this.modules.external.forEach(x=>{x.init&&x.init(this)})}if(this.format=this.options.interpolation.format,i||(i=Gi),this.options.fallbackLng&&!this.services.languageDetector&&!this.options.lng){const p=this.services.languageUtils.getFallbackCodes(this.options.fallbackLng);p.length>0&&p[0]!=="dev"&&(this.options.lng=p[0])}!this.services.languageDetector&&!this.options.lng&&this.logger.warn("init: no languageDetector is used and no lng is defined"),["getResource","hasResourceBundle","getResourceBundle","getDataByLanguage"].forEach(p=>{this[p]=function(){return e.store[p](...arguments)}}),["addResource","addResources","addResourceBundle","removeResourceBundle"].forEach(p=>{this[p]=function(){return e.store[p](...arguments),e}});const l=ti(),u=()=>{const p=(g,m)=>{this.isInitializing=!1,this.isInitialized&&!this.initializedStoreOnce&&this.logger.warn("init: i18next is already initialized. You should call init just once!"),this.isInitialized=!0,this.options.isClone||this.logger.log("initialized",this.options),this.emit("initialized",this.options),l.resolve(m),i(g,m)};if(this.languages&&!this.isInitialized)return p(null,this.t.bind(this));this.changeLanguage(this.options.lng,p)};return this.options.resources||!this.options.initAsync?u():setTimeout(u,0),l}loadResources(e){var s,o;let i=arguments.length>1&&arguments[1]!==void 0?arguments[1]:Gi;const r=X(e)?e:this.language;if(typeof e=="function"&&(i=e),!this.options.resources||this.options.partialBundledLanguages){if((r==null?void 0:r.toLowerCase())==="cimode"&&(!this.options.preload||this.options.preload.length===0))return i();const c=[],l=u=>{if(!u||u==="cimode")return;this.services.languageUtils.toResolveHierarchy(u).forEach(g=>{g!=="cimode"&&c.indexOf(g)<0&&c.push(g)})};r?l(r):this.services.languageUtils.getFallbackCodes(this.options.fallbackLng).forEach(p=>l(p)),(o=(s=this.options.preload)==null?void 0:s.forEach)==null||o.call(s,u=>l(u)),this.services.backendConnector.load(c,this.options.ns,u=>{!u&&!this.resolvedLanguage&&this.language&&this.setResolvedLanguage(this.language),i(u)})}else i(null)}reloadResources(e,t,i){const r=ti();return typeof e=="function"&&(i=e,e=void 0),typeof t=="function"&&(i=t,t=void 0),e||(e=this.languages),t||(t=this.options.ns),i||(i=Gi),this.services.backendConnector.reload(e,t,s=>{r.resolve(),i(s)}),r}use(e){if(!e)throw new Error("You are passing an undefined module! Please check the object you are passing to i18next.use()");if(!e.type)throw new Error("You are passing a wrong module! Please check the object you are passing to i18next.use()");return e.type==="backend"&&(this.modules.backend=e),(e.type==="logger"||e.log&&e.warn&&e.error)&&(this.modules.logger=e),e.type==="languageDetector"&&(this.modules.languageDetector=e),e.type==="i18nFormat"&&(this.modules.i18nFormat=e),e.type==="postProcessor"&&kd.addPostProcessor(e),e.type==="formatter"&&(this.modules.formatter=e),e.type==="3rdParty"&&this.modules.external.push(e),this}setResolvedLanguage(e){if(!(!e||!this.languages)&&!(["cimode","dev"].indexOf(e)>-1))for(let t=0;t<this.languages.length;t++){const i=this.languages[t];if(!(["cimode","dev"].indexOf(i)>-1)&&this.store.hasLanguageSomeTranslations(i)){this.resolvedLanguage=i;break}}}changeLanguage(e,t){var i=this;this.isLanguageChangingTo=e;const r=ti();this.emit("languageChanging",e);const s=l=>{this.language=l,this.languages=this.services.languageUtils.toResolveHierarchy(l),this.resolvedLanguage=void 0,this.setResolvedLanguage(l)},o=(l,u)=>{u?(s(u),this.translator.changeLanguage(u),this.isLanguageChangingTo=void 0,this.emit("languageChanged",u),this.logger.log("languageChanged",u)):this.isLanguageChangingTo=void 0,r.resolve(function(){return i.t(...arguments)}),t&&t(l,function(){return i.t(...arguments)})},c=l=>{var p,g;!e&&!l&&this.services.languageDetector&&(l=[]);const u=X(l)?l:this.services.languageUtils.getBestMatchFromCodes(l);u&&(this.language||s(u),this.translator.language||this.translator.changeLanguage(u),(g=(p=this.services.languageDetector)==null?void 0:p.cacheUserLanguage)==null||g.call(p,u)),this.loadResources(u,m=>{o(m,u)})};return!e&&this.services.languageDetector&&!this.services.languageDetector.async?c(this.services.languageDetector.detect()):!e&&this.services.languageDetector&&this.services.languageDetector.async?this.services.languageDetector.detect.length===0?this.services.languageDetector.detect().then(c):this.services.languageDetector.detect(c):c(e),r}getFixedT(e,t,i){var r=this;const s=function(o,c){let l;if(typeof c!="object"){for(var u=arguments.length,p=new Array(u>2?u-2:0),g=2;g<u;g++)p[g-2]=arguments[g];l=r.options.overloadTranslationOptionHandler([o,c].concat(p))}else l={...c};l.lng=l.lng||s.lng,l.lngs=l.lngs||s.lngs,l.ns=l.ns||s.ns,l.keyPrefix!==""&&(l.keyPrefix=l.keyPrefix||i||s.keyPrefix);const m=r.options.keySeparator||".";let x;return l.keyPrefix&&Array.isArray(o)?x=o.map(h=>`${l.keyPrefix}${m}${h}`):x=l.keyPrefix?`${l.keyPrefix}${m}${o}`:o,r.t(x,l)};return X(e)?s.lng=e:s.lngs=e,s.ns=t,s.keyPrefix=i,s}t(){var r;for(var e=arguments.length,t=new Array(e),i=0;i<e;i++)t[i]=arguments[i];return(r=this.translator)==null?void 0:r.translate(...t)}exists(){var r;for(var e=arguments.length,t=new Array(e),i=0;i<e;i++)t[i]=arguments[i];return(r=this.translator)==null?void 0:r.exists(...t)}setDefaultNamespace(e){this.options.defaultNS=e}hasLoadedNamespace(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};if(!this.isInitialized)return this.logger.warn("hasLoadedNamespace: i18next was not initialized",this.languages),!1;if(!this.languages||!this.languages.length)return this.logger.warn("hasLoadedNamespace: i18n.languages were undefined or empty",this.languages),!1;const i=t.lng||this.resolvedLanguage||this.languages[0],r=this.options?this.options.fallbackLng:!1,s=this.languages[this.languages.length-1];if(i.toLowerCase()==="cimode")return!0;const o=(c,l)=>{const u=this.services.backendConnector.state[`${c}|${l}`];return u===-1||u===0||u===2};if(t.precheck){const c=t.precheck(this,o);if(c!==void 0)return c}return!!(this.hasResourceBundle(i,e)||!this.services.backendConnector.backend||this.options.resources&&!this.options.partialBundledLanguages||o(i,e)&&(!r||o(s,e)))}loadNamespaces(e,t){const i=ti();return this.options.ns?(X(e)&&(e=[e]),e.forEach(r=>{this.options.ns.indexOf(r)<0&&this.options.ns.push(r)}),this.loadResources(r=>{i.resolve(),t&&t(r)}),i):(t&&t(),Promise.resolve())}loadLanguages(e,t){const i=ti();X(e)&&(e=[e]);const r=this.options.preload||[],s=e.filter(o=>r.indexOf(o)<0&&this.services.languageUtils.isSupportedCode(o));return s.length?(this.options.preload=r.concat(s),this.loadResources(o=>{i.resolve(),t&&t(o)}),i):(t&&t(),Promise.resolve())}dir(e){var r,s;if(e||(e=this.resolvedLanguage||(((r=this.languages)==null?void 0:r.length)>0?this.languages[0]:this.language)),!e)return"rtl";const t=["ar","shu","sqr","ssh","xaa","yhd","yud","aao","abh","abv","acm","acq","acw","acx","acy","adf","ads","aeb","aec","afb","ajp","apc","apd","arb","arq","ars","ary","arz","auz","avl","ayh","ayl","ayn","ayp","bbz","pga","he","iw","ps","pbt","pbu","pst","prp","prd","ug","ur","ydd","yds","yih","ji","yi","hbo","men","xmn","fa","jpr","peo","pes","prs","dv","sam","ckb"],i=((s=this.services)==null?void 0:s.languageUtils)||new fl(ml());return t.indexOf(i.getLanguagePartFromCode(e))>-1||e.toLowerCase().indexOf("-arab")>1?"rtl":"ltr"}static createInstance(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},t=arguments.length>1?arguments[1]:void 0;return new fi(e,t)}cloneInstance(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:Gi;const i=e.forkResourceStore;i&&delete e.forkResourceStore;const r={...this.options,...e,isClone:!0},s=new fi(r);if((e.debug!==void 0||e.prefix!==void 0)&&(s.logger=s.logger.clone(e)),["store","services","language"].forEach(c=>{s[c]=this[c]}),s.services={...this.services},s.services.utils={hasLoadedNamespace:s.hasLoadedNamespace.bind(s)},i){const c=Object.keys(this.store.data).reduce((l,u)=>(l[u]={...this.store.data[u]},Object.keys(l[u]).reduce((p,g)=>(p[g]={...l[u][g]},p),{})),{});s.store=new dl(c,r),s.services.resourceStore=s.store}return s.translator=new dr(s.services,r),s.translator.on("*",function(c){for(var l=arguments.length,u=new Array(l>1?l-1:0),p=1;p<l;p++)u[p-1]=arguments[p];s.emit(c,...u)}),s.init(r,t),s.translator.options=r,s.translator.backendConnector.services.utils={hasLoadedNamespace:s.hasLoadedNamespace.bind(s)},s}toJSON(){return{options:this.options,store:this.store,language:this.language,languages:this.languages,resolvedLanguage:this.resolvedLanguage}}}const Ne=fi.createInstance();Ne.createInstance=fi.createInstance;Ne.createInstance;Ne.dir;Ne.init;Ne.loadResources;Ne.reloadResources;Ne.use;Ne.changeLanguage;Ne.getFixedT;const ue=Ne.t;Ne.exists;Ne.setDefaultNamespace;Ne.hasLoadedNamespace;Ne.loadNamespaces;Ne.loadLanguages;const Dt=a.z.object({start:a.z.number(),limit:a.z.number(),length:a.z.number()}),Fa=a.z.object({created_at:a.z.string(),updated_at:a.z.string()}),xd=a.z.object({email:a.z.string().optional(),email_verified:a.z.boolean().optional(),name:a.z.string().optional(),username:a.z.string().optional(),given_name:a.z.string().optional(),phone_number:a.z.string().optional(),phone_verified:a.z.boolean().optional(),family_name:a.z.string().optional()}).catchall(a.z.any()),Sd=a.z.object({connection:a.z.string(),user_id:a.z.string(),provider:a.z.string(),isSocial:a.z.boolean(),access_token:a.z.string().optional(),access_token_secret:a.z.string().optional(),refresh_token:a.z.string().optional(),profileData:xd.optional()}),rs=a.z.object({email:a.z.string().optional(),username:a.z.string().optional(),given_name:a.z.string().optional(),family_name:a.z.string().optional(),nickname:a.z.string().optional(),name:a.z.string().optional(),picture:a.z.string().optional(),locale:a.z.string().optional(),linked_to:a.z.string().optional(),profileData:a.z.string().optional(),user_id:a.z.string().optional(),app_metadata:a.z.any().default({}).optional(),user_metadata:a.z.any().default({}).optional()}),pr=rs.extend({email_verified:a.z.boolean().default(!1),verify_email:a.z.boolean().optional(),last_ip:a.z.string().optional(),last_login:a.z.string().optional(),user_id:a.z.string().optional(),provider:a.z.string().default("email"),connection:a.z.string().default("email"),is_social:a.z.boolean().optional()}),qa=a.z.object({...pr.shape,...Fa.shape,user_id:a.z.string(),is_social:a.z.boolean(),email:a.z.string(),login_count:a.z.number(),identities:a.z.array(Sd).optional()}),ft=qa,Fh=rs.extend({email:a.z.string(),login_count:a.z.number(),multifactor:a.z.array(a.z.string()).optional(),last_ip:a.z.string().optional(),last_login:a.z.string().optional(),user_id:a.z.string()}).catchall(a.z.any()),qh="useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict";let Kh=(n=21)=>{let e="",t=crypto.getRandomValues(new Uint8Array(n));for(;n--;)e+=qh[t[n]&63];return e};const Ad=a.z.object({audience:a.z.string().optional(),recipient:a.z.string().optional(),createUpnClaim:a.z.boolean().optional(),mapUnknownClaimsAsIs:a.z.boolean().optional(),passthroughClaimsWithNoMapping:a.z.boolean().optional(),mapIdentities:a.z.boolean().optional(),signatureAlgorithm:a.z.string().optional(),digestAlgorithm:a.z.string().optional(),issuer:a.z.string().optional(),destination:a.z.string().optional(),lifetimeInSeconds:a.z.number().optional(),signResponse:a.z.boolean().optional(),nameIdentifierFormat:a.z.string().optional(),nameIdentifierProbes:a.z.array(a.z.string()).optional(),authnContextClassRef:a.z.string().optional(),mappings:a.z.record(a.z.string()).optional()}),fr=a.z.object({id:a.z.string(),name:a.z.string(),callbacks:a.z.array(a.z.string()).default([]).optional().openapi({description:"Comma-separated list of URLs whitelisted to use as a callback to the client after authentication."}),allowed_origins:a.z.array(a.z.string()).default([]).optional().openapi({description:"Comma-separated list of URLs allowed to make requests from JavaScript to Auth0 API (typically used with CORS). By default, all your callback URLs will be allowed. This field allows you to enter other origins if necessary. You can also use wildcards at the subdomain level. Query strings and hash information are not taken into account when validating these URLs."}),web_origins:a.z.array(a.z.string()).default([]).optional().openapi({description:"Comma-separated list of allowed origins for use with Cross-Origin Authentication, Device Flow, and web message response mode."}),allowed_logout_urls:a.z.array(a.z.string()).default([]).optional().openapi({description:"Comma-separated list of URLs that are valid to redirect to after logout from Auth0. Wildcards are allowed for subdomains."}),allowed_clients:a.z.array(a.z.string()).default([]).optional().openapi({description:"Ids of clients that will be allowed to perform delegation requests. Clients that will be allowed to make delegation request. By default, all your clients will be allowed. This field allows you to specify specific clients"}),addons:a.z.object({samlp:Ad.optional()}).default({}).optional().openapi({description:"Addons associated with the client. The key is the addon's package name and the value is an object with the configuration for the addon."}),email_validation:a.z.enum(["enabled","disabled","enforced"]).default("enforced").optional().openapi({description:"Defines if it possible to sign in with an unverified email and if verification emails will be sent. This is not available in auth0"}),client_secret:a.z.string().default(()=>Kh()).optional(),disable_sign_ups:a.z.boolean().optional().default(!1).openapi({description:"Prevents users from signing up using the hosted login page. This is not available in auth0"})}),Yt=a.z.object({created_at:a.z.string().transform(n=>n===null?"":n),updated_at:a.z.string().transform(n=>n===null?"":n),...fr.shape});var Ut=(n=>(n.TOKEN="token",n.TOKEN_ID_TOKEN="token id_token",n.CODE="code",n))(Ut||{}),sn=(n=>(n.QUERY="query",n.FRAGMENT="fragment",n.FORM_POST="form_post",n.WEB_MESSAGE="web_message",n.SAML_POST="saml_post",n))(sn||{}),ss=(n=>(n.S256="S256",n.Plain="plain",n))(ss||{});const Ka=a.z.object({client_id:a.z.string(),vendor_id:a.z.string().optional(),act_as:a.z.string().optional(),response_type:a.z.nativeEnum(Ut).optional(),response_mode:a.z.nativeEnum(sn).optional(),redirect_uri:a.z.string().optional(),audience:a.z.string().optional(),state:a.z.string().optional(),nonce:a.z.string().optional(),scope:a.z.string().optional(),prompt:a.z.string().optional(),code_challenge_method:a.z.nativeEnum(ss).optional(),code_challenge:a.z.string().optional(),username:a.z.string().optional(),ui_locales:a.z.string().optional()}),wo=a.z.object({colors:a.z.object({primary:a.z.string(),page_background:a.z.object({type:a.z.string().optional(),start:a.z.string().optional(),end:a.z.string().optional(),angle_deg:a.z.number().optional()}).optional()}).optional(),logo_url:a.z.string().optional(),favicon_url:a.z.string().optional(),font:a.z.object({url:a.z.string()}).optional()}),hr=a.z.object({id:a.z.string().optional(),name:a.z.string(),strategy:a.z.string(),options:a.z.object({kid:a.z.string().optional(),team_id:a.z.string().optional(),realms:a.z.string().optional(),client_id:a.z.string().optional(),client_secret:a.z.string().optional(),app_secret:a.z.string().optional(),scope:a.z.string().optional(),authorization_endpoint:a.z.string().default("").optional(),token_endpoint:a.z.string().default("").optional(),userinfo_endpoint:a.z.string().default("").optional(),jwks_uri:a.z.string().default("").optional(),discovery_url:a.z.string().default("").optional(),issuer:a.z.string().default("").optional()}).default({}).optional(),enabled_clients:a.z.array(a.z.string()).default([]).optional(),response_type:a.z.custom().optional(),response_mode:a.z.custom().optional()}),Bt=a.z.object({id:a.z.string(),created_at:a.z.string().transform(n=>n===null?"":n),updated_at:a.z.string().transform(n=>n===null?"":n)}).extend(hr.shape),gr=a.z.object({name:a.z.string(),audience:a.z.string(),sender_email:a.z.string().email(),sender_name:a.z.string(),support_url:a.z.string().url().optional(),logo:a.z.string().url().optional(),primary_color:a.z.string().optional(),secondary_color:a.z.string().optional(),language:a.z.string().optional()}),En=a.z.object({created_at:a.z.string().transform(n=>n===null?"":n),updated_at:a.z.string().transform(n=>n===null?"":n),id:a.z.string(),...gr.shape}),Wh=a.z.object({logoUrl:a.z.string(),loginBackgroundImage:a.z.string().nullish(),style:a.z.object({primaryColor:a.z.string(),buttonTextColor:a.z.string(),primaryHoverColor:a.z.string()}),supportEmail:a.z.string().nullable(),supportUrl:a.z.string().nullable(),name:a.z.string(),showGreyishBackground:a.z.boolean().optional(),termsAndConditionsUrl:a.z.string().nullable(),companyName:a.z.string().optional(),checkoutHideSocial:a.z.boolean().optional(),siteUrl:a.z.string().nullable(),manageSubscriptionsUrl:a.z.string().optional()}),Gh=a.z.object({domain:a.z.string(),dkim_private_key:a.z.string().optional(),dkim_public_key:a.z.string().optional(),email_api_key:a.z.string().optional(),email_service:a.z.string().optional()});a.z.object({...Yt.shape,domains:a.z.array(Gh),tenant:En,connections:a.z.array(Bt)});const Id=a.z.enum(["password_reset","email_verification","otp","authorization_code","oauth2_state","ticket"]),Ed=a.z.object({code_id:a.z.string().openapi({description:"The code that will be used in for instance an email verification flow"}),login_id:a.z.string().openapi({description:"The id of the login session that the code is connected to"}),connection_id:a.z.string().optional().openapi({description:"The connection that the code is connected to"}),code_type:Id,code_verifier:a.z.string().optional().openapi({description:"The code verifier used in PKCE in outbound flows"}),expires_at:a.z.string(),used_at:a.z.string().optional(),user_id:a.z.string().optional()}),Jh=a.z.object({...Ed.shape,created_at:a.z.string()}),$d=a.z.object({domain:a.z.string(),dkim_private_key:a.z.string().optional(),dkim_public_key:a.z.string().optional(),email_api_key:a.z.string().optional(),email_service:a.z.string().optional()}),Zh=Fa.extend({...$d.shape,id:a.z.string()}),_r=a.z.object({trigger_id:a.z.enum(["pre-user-signup","post-user-registration","post-user-login"]),enabled:a.z.boolean().default(!1),url:a.z.string(),hook_id:a.z.string().optional(),synchronous:a.z.boolean().default(!1),priority:a.z.number().optional()}),An=_r.extend({...Fa.shape,hook_id:a.z.string()}),Wa=a.z.object({alg:a.z.enum(["RS256","RS384","RS512","ES256","ES384","ES512","HS256","HS384","HS512"]),e:a.z.string(),kid:a.z.string(),kty:a.z.enum(["RSA","EC","oct"]),n:a.z.string(),x5t:a.z.string().optional(),x5c:a.z.array(a.z.string()).optional(),use:a.z.enum(["sig","enc"]).optional()}),Cd=a.z.object({keys:a.z.array(Wa)}),bo=a.z.object({issuer:a.z.string(),authorization_endpoint:a.z.string(),token_endpoint:a.z.string(),device_authorization_endpoint:a.z.string(),userinfo_endpoint:a.z.string(),mfa_challenge_endpoint:a.z.string(),jwks_uri:a.z.string(),registration_endpoint:a.z.string(),revocation_endpoint:a.z.string(),scopes_supported:a.z.array(a.z.string()),response_types_supported:a.z.array(a.z.string()),code_challenge_methods_supported:a.z.array(a.z.string()),response_modes_supported:a.z.array(a.z.string()),subject_types_supported:a.z.array(a.z.string()),id_token_signing_alg_values_supported:a.z.array(a.z.string()),token_endpoint_auth_methods_supported:a.z.array(a.z.string()),claims_supported:a.z.array(a.z.string()),request_uri_parameter_supported:a.z.boolean(),request_parameter_supported:a.z.boolean(),token_endpoint_auth_signing_alg_values_supported:a.z.array(a.z.string())}),jd=a.z.object({auth0Client:a.z.string().optional(),authParams:Ka,expires_at:a.z.string(),deleted_at:a.z.string().optional(),ip:a.z.string().optional(),useragent:a.z.string().optional()}).openapi({description:"This represents a login sesion"}),Yh=a.z.object({...jd.shape,login_id:a.z.string().openapi({description:"This is is used as the state in the universal login"}),created_at:a.z.string(),updated_at:a.z.string()});var _e=(n=>(n.FAILED_SILENT_AUTH="fsa",n.FAILED_SIGNUP="fs",n.FAILED_LOGIN="f",n.FAILED_LOGIN_INCORRECT_PASSWORD="fp",n.FAILED_CHANGE_PASSWORD="fcp",n.FAILED_BY_CONNECTOR="fc",n.FAILED_LOGIN_INVALID_EMAIL_USERNAME="fu",n.FAILED_HOOK="fh",n.FAILED_CROSS_ORIGIN_AUTHENTICATION="fcoa",n.SUCCESS_API_OPERATION="sapi",n.SUCCESS_CHANGE_PASSWORD="scp",n.SUCCESS_CHANGE_PASSWORD_REQUEST="scpr",n.SUCCESS_CHANGE_USERNAME="scu",n.SUCCESS_CROSS_ORIGIN_AUTHENTICATION="scoa",n.SUCCESS_EXCHANGE_AUTHORIZATION_CODE_FOR_ACCESS_TOKEN="seacft",n.SUCCESS_EXCHANGE_REFRESH_TOKEN_FOR_ACCESS_TOKEN="serft",n.SUCCESS_LOGIN="s",n.SUCCESS_LOGOUT="slo",n.SUCCESS_SIGNUP="ss",n.SUCCESS_SILENT_AUTH="ssa",n.SUCCESS_VERIFICATION_EMAIL="sv",n.SUCCESS_VERIFICATION_EMAIL_REQUEST="svr",n.CODE_LINK_SENT="cls",n.BLOCKED_ACCOUNT_EMAIL="limit_wc",n.BLOCKED_ACCOUNT_IP="limit_sul",n.BLOCKED_IP_ADDRESS="limit_mu",n))(_e||{});const Xh=a.z.enum(["cls","fsa","fs","f","fc","fcoa","fcp","fh","fp","fs","fu","s","sapi","scoa","scp","scpr","scu","seacft","serft","slo","ss","ssa","sv","svr"]),zd=a.z.object({name:a.z.string(),version:a.z.string(),env:a.z.object({node:a.z.string().optional()}).optional()}),mr=a.z.object({type:Xh,date:a.z.string(),description:a.z.string().optional(),log_id:a.z.string().optional(),_id:a.z.string().optional(),ip:a.z.string(),user_agent:a.z.string(),details:a.z.any().optional(),isMobile:a.z.boolean(),user_id:a.z.string().optional(),user_name:a.z.string().optional(),connection:a.z.string().optional(),connection_id:a.z.string().optional(),client_id:a.z.string().optional(),client_name:a.z.string().optional(),audience:a.z.string().optional(),scope:a.z.array(a.z.string()).optional(),strategy:a.z.string().optional(),strategy_type:a.z.string().optional(),hostname:a.z.string().optional(),auth0_client:zd.optional()}),Nd=a.z.object({user_id:a.z.string(),password:a.z.string(),algorithm:a.z.enum(["bcrypt","argon2id"]).default("argon2id")}),Qh=a.z.object({...Nd.shape,created_at:a.z.string(),updated_at:a.z.string()}),Od=a.z.object({session_id:a.z.string(),client_id:a.z.string(),expires_at:a.z.string(),used_at:a.z.string(),deleted_at:a.z.string().optional(),user_id:a.z.string()}),Ga=a.z.object({created_at:a.z.string(),...Od.shape}),ko=a.z.object({kid:a.z.string().openapi({description:"The key id of the signing key"}),cert:a.z.string().openapi({description:"The public certificate of the signing key"}),fingerprint:a.z.string().openapi({description:"The cert fingerprint"}),thumbprint:a.z.string().openapi({description:"The cert thumbprint"}),pkcs7:a.z.string().optional().openapi({description:"The private key in pkcs7 format"}),current:a.z.boolean().optional().openapi({description:"True if the key is the current key"}),next:a.z.boolean().optional().openapi({description:"True if the key is the next key"}),previous:a.z.boolean().optional().openapi({description:"True if the key is the previous key"}),current_since:a.z.string().optional().openapi({description:"The date and time when the key became the current key"}),current_until:a.z.string().optional().openapi({description:"The date and time when the current key was rotated"}),revoked:a.z.boolean().optional().openapi({description:"True if the key is revoked"}),revoked_at:a.z.string().optional().openapi({description:"The date and time when the key was revoked"})});var yr=(n=>(n.RefreshToken="refresh_token",n.AuthorizationCode="authorization_code",n.ClientCredential="client_credentials",n.Passwordless="passwordless",n.Password="password",n))(yr||{});a.z.object({access_token:a.z.string(),id_token:a.z.string().optional(),scope:a.z.string().optional(),state:a.z.string().optional(),refresh_token:a.z.string().optional(),token_type:a.z.string(),expires_in:a.z.number()});a.z.object({code:a.z.string(),state:a.z.string().optional()});const Bd=a.z.object({button_border_radius:a.z.number(),button_border_weight:a.z.number(),buttons_style:a.z.enum(["pill"]),input_border_radius:a.z.number(),input_border_weight:a.z.number(),inputs_style:a.z.enum(["pill"]),show_widget_shadow:a.z.boolean(),widget_border_weight:a.z.number(),widget_corner_radius:a.z.number()}),Td=a.z.object({base_focus_color:a.z.string(),base_hover_color:a.z.string(),body_text:a.z.string(),captcha_widget_theme:a.z.enum(["auto"]),error:a.z.string(),header:a.z.string(),icons:a.z.string(),input_background:a.z.string(),input_border:a.z.string(),input_filled_text:a.z.string(),input_labels_placeholders:a.z.string(),links_focused_components:a.z.string(),primary_button:a.z.string(),primary_button_label:a.z.string(),secondary_button_border:a.z.string(),secondary_button_label:a.z.string(),success:a.z.string(),widget_background:a.z.string(),widget_border:a.z.string()}),Jt=a.z.object({bold:a.z.boolean(),size:a.z.number()}),Rd=a.z.object({body_text:Jt,buttons_text:Jt,font_url:a.z.string(),input_labels:Jt,links:Jt,links_style:a.z.enum(["normal"]),reference_text_size:a.z.number(),subtitle:Jt,title:Jt}),Pd=a.z.object({background_color:a.z.string(),background_image_url:a.z.string(),page_layout:a.z.enum(["center"])}),Ld=a.z.object({header_text_alignment:a.z.enum(["center"]),logo_height:a.z.number(),logo_position:a.z.enum(["center"]),logo_url:a.z.string(),social_buttons_layout:a.z.enum(["bottom"])}),Ud=a.z.object({borders:Bd,colors:Td,displayName:a.z.string(),fonts:Rd,page_background:Pd,widget:Ld}),eg=Ud.extend({themeId:a.z.string()}),er=a.z.object({universal_login_experience:a.z.enum(["new","classic"]).default("new"),identifier_first:a.z.boolean().default(!0),password_first:a.z.boolean().default(!1),webauthn_platform_first_factor:a.z.boolean()}),tr=a.z.object({name:a.z.string(),enabled:a.z.boolean().optional().default(!0),default_from_address:a.z.string().optional(),credentials:a.z.union([a.z.object({accessKeyId:a.z.string(),secretAccessKey:a.z.string(),region:a.z.string()}),a.z.object({smtp_host:a.z.array(a.z.string()),smtp_port:a.z.number(),smtp_user:a.z.string(),smtp_pass:a.z.string()}),a.z.object({api_key:a.z.string(),domain:a.z.string().optional()}),a.z.object({connectionString:a.z.string()}),a.z.object({tenantId:a.z.string(),clientId:a.z.string(),clientSecret:a.z.string()})]),settings:a.z.object({}).optional()});function tg(n){const[e,t]=n.split("|");if(!e||!t)throw new Error(`Invalid user_id: ${n}`);return{connection:e,id:t}}const ng=new a.OpenAPIHono().openapi(a.createRoute({tags:["branding"],method:"get",path:"/",request:{headers:a.z.object({"tenant-id":a.z.string()})},security:[{Bearer:["auth:read"]}],responses:{200:{content:{"application/json":{schema:wo}},description:"Branding settings"}}}),async n=>{const{"tenant-id":e}=n.req.valid("header"),t=await n.env.data.branding.get(e);return t?n.json(t):n.json({})}).openapi(a.createRoute({tags:["branding"],method:"patch",path:"/",request:{headers:a.z.object({"tenant-id":a.z.string()}),body:{content:{"application/json":{schema:a.z.object(wo.shape).partial()}}}},security:[{Bearer:["auth:write"]}],responses:{200:{description:"Branding settings"}}}),async n=>{const{"tenant-id":e}=n.req.valid("header"),t=n.req.valid("json");return await n.env.data.branding.set(e,t),n.text("OK")});var N=class extends Error{constructor(e=500,t){super(t==null?void 0:t.message,{cause:t==null?void 0:t.cause});te(this,"res");te(this,"status");this.res=t==null?void 0:t.res,this.status=e}getResponse(){return this.res?new Response(this.res.body,{status:this.status,headers:this.res.headers}):new Response(this.message,{status:this.status})}},vr=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function ig(n){return n&&n.__esModule&&Object.prototype.hasOwnProperty.call(n,"default")?n.default:n}function rg(n){if(n.__esModule)return n;var e=n.default;if(typeof e=="function"){var t=function i(){return this instanceof i?Reflect.construct(e,arguments,this.constructor):e.apply(this,arguments)};t.prototype=e.prototype}else t={};return Object.defineProperty(t,"__esModule",{value:!0}),Object.keys(n).forEach(function(i){var r=Object.getOwnPropertyDescriptor(n,i);Object.defineProperty(t,i,r.get?r:{enumerable:!0,get:function(){return n[i]}})}),t}function sg(n){throw new Error('Could not dynamically require "'+n+'". Please configure the dynamicRequireTargets or/and ignoreDynamicRequires option of @rollup/plugin-commonjs appropriately for this require call to work.')}var Vd={exports:{}};const og={},ag=Object.freeze(Object.defineProperty({__proto__:null,default:og},Symbol.toStringTag,{value:"Module"})),cg=rg(ag);(function(n){/**
|
|
2
2
|
* @license bcrypt.js (c) 2013 Daniel Wirtz <dcode@dcode.io>
|
|
3
3
|
* Released under the Apache License, Version 2.0
|
|
4
4
|
* see: https://github.com/dcodeIO/bcrypt.js for details
|
|
5
|
-
*/(function(e,t){typeof sg=="function"&&n&&n.exports?n.exports=t():(e.dcodeIO=e.dcodeIO||{}).bcrypt=t()})(vr,function(){var e={},t=null;function i($){if(n&&n.exports)try{return cg.randomBytes($)}catch{}try{var E;return(self.crypto||self.msCrypto).getRandomValues(E=new Uint32Array($)),Array.prototype.slice.call(E)}catch{}if(!t)throw Error("Neither WebCryptoAPI nor a crypto module is available. Use bcrypt.setRandomFallback to set an alternative");return t($)}var r=!1;try{i(1),r=!0}catch{}t=null,e.setRandomFallback=function($){t=$},e.genSaltSync=function($,E){if($=$||_,typeof $!="number")throw Error("Illegal arguments: "+typeof $+", "+typeof E);$<4?$=4:$>31&&($=31);var A=[];return A.push("$2a$"),$<10&&A.push("0"),A.push($.toString()),A.push("$"),A.push(g(i(h),h)),A.join("")},e.genSalt=function($,E,A){if(typeof E=="function"&&(A=E,E=void 0),typeof $=="function"&&(A=$,$=void 0),typeof $>"u")$=_;else if(typeof $!="number")throw Error("illegal arguments: "+typeof $);function w(v){o(function(){try{v(null,e.genSaltSync($))}catch(C){v(C)}})}if(A){if(typeof A!="function")throw Error("Illegal callback: "+typeof A);w(A)}else return new Promise(function(v,C){w(function(R,Z){if(R){C(R);return}v(Z)})})},e.hashSync=function($,E){if(typeof E>"u"&&(E=_),typeof E=="number"&&(E=e.genSaltSync(E)),typeof $!="string"||typeof E!="string")throw Error("Illegal arguments: "+typeof $+", "+typeof E);return De($,E)},e.hash=function($,E,A,w){function v(C){typeof $=="string"&&typeof E=="number"?e.genSalt(E,function(R,Z){De($,Z,C,w)}):typeof $=="string"&&typeof E=="string"?De($,E,C,w):o(C.bind(this,Error("Illegal arguments: "+typeof $+", "+typeof E)))}if(A){if(typeof A!="function")throw Error("Illegal callback: "+typeof A);v(A)}else return new Promise(function(C,R){v(function(Z,K){if(Z){R(Z);return}C(K)})})};function s($,E){for(var A=0,w=0,v=0,C=$.length;v<C;++v)$.charCodeAt(v)===E.charCodeAt(v)?++A:++w;return A<0?!1:w===0}e.compareSync=function($,E){if(typeof $!="string"||typeof E!="string")throw Error("Illegal arguments: "+typeof $+", "+typeof E);return E.length!==60?!1:s(e.hashSync($,E.substr(0,E.length-31)),E)},e.compare=function($,E,A,w){function v(C){if(typeof $!="string"||typeof E!="string"){o(C.bind(this,Error("Illegal arguments: "+typeof $+", "+typeof E)));return}if(E.length!==60){o(C.bind(this,null,!1));return}e.hash($,E.substr(0,29),function(R,Z){R?C(R):C(null,s(Z,E))},w)}if(A){if(typeof A!="function")throw Error("Illegal callback: "+typeof A);v(A)}else return new Promise(function(C,R){v(function(Z,K){if(Z){R(Z);return}C(K)})})},e.getRounds=function($){if(typeof $!="string")throw Error("Illegal arguments: "+typeof $);return parseInt($.split("$")[2],10)},e.getSalt=function($){if(typeof $!="string")throw Error("Illegal arguments: "+typeof $);if($.length!==60)throw Error("Illegal hash length: "+$.length+" != 60");return $.substring(0,29)};var o=typeof process<"u"&&process&&typeof process.nextTick=="function"?typeof setImmediate=="function"?setImmediate:process.nextTick:setTimeout;function c($){var E=[],A=0;return x.encodeUTF16toUTF8(function(){return A>=$.length?null:$.charCodeAt(A++)},function(w){E.push(w)}),E}var l="./ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789".split(""),u=[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,1,54,55,56,57,58,59,60,61,62,63,-1,-1,-1,-1,-1,-1,-1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,-1,-1,-1,-1,-1,-1,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,-1,-1,-1,-1,-1],p=String.fromCharCode;function g($,E){var A=0,w=[],v,C;if(E<=0||E>$.length)throw Error("Illegal len: "+E);for(;A<E;){if(v=$[A++]&255,w.push(l[v>>2&63]),v=(v&3)<<4,A>=E){w.push(l[v&63]);break}if(C=$[A++]&255,v|=C>>4&15,w.push(l[v&63]),v=(C&15)<<2,A>=E){w.push(l[v&63]);break}C=$[A++]&255,v|=C>>6&3,w.push(l[v&63]),w.push(l[C&63])}return w.join("")}function m($,E){var A=0,w=$.length,v=0,C=[],R,Z,K,ee,se,M;if(E<=0)throw Error("Illegal len: "+E);for(;A<w-1&&v<E&&(M=$.charCodeAt(A++),R=M<u.length?u[M]:-1,M=$.charCodeAt(A++),Z=M<u.length?u[M]:-1,!(R==-1||Z==-1||(se=R<<2>>>0,se|=(Z&48)>>4,C.push(p(se)),++v>=E||A>=w)||(M=$.charCodeAt(A++),K=M<u.length?u[M]:-1,K==-1)||(se=(Z&15)<<4>>>0,se|=(K&60)>>2,C.push(p(se)),++v>=E||A>=w)));)M=$.charCodeAt(A++),ee=M<u.length?u[M]:-1,se=(K&3)<<6>>>0,se|=ee,C.push(p(se)),++v;var Se=[];for(A=0;A<v;A++)Se.push(C[A].charCodeAt(0));return Se}var x=function(){var $={};return $.MAX_CODEPOINT=1114111,$.encodeUTF8=function(E,A){var w=null;for(typeof E=="number"&&(w=E,E=function(){return null});w!==null||(w=E())!==null;)w<128?A(w&127):w<2048?(A(w>>6&31|192),A(w&63|128)):w<65536?(A(w>>12&15|224),A(w>>6&63|128),A(w&63|128)):(A(w>>18&7|240),A(w>>12&63|128),A(w>>6&63|128),A(w&63|128)),w=null},$.decodeUTF8=function(E,A){for(var w,v,C,R,Z=function(K){K=K.slice(0,K.indexOf(null));var ee=Error(K.toString());throw ee.name="TruncatedError",ee.bytes=K,ee};(w=E())!==null;)if(!(w&128))A(w);else if((w&224)===192)(v=E())===null&&Z([w,v]),A((w&31)<<6|v&63);else if((w&240)===224)((v=E())===null||(C=E())===null)&&Z([w,v,C]),A((w&15)<<12|(v&63)<<6|C&63);else if((w&248)===240)((v=E())===null||(C=E())===null||(R=E())===null)&&Z([w,v,C,R]),A((w&7)<<18|(v&63)<<12|(C&63)<<6|R&63);else throw RangeError("Illegal starting byte: "+w)},$.UTF16toUTF8=function(E,A){for(var w,v=null;(w=v!==null?v:E())!==null;){if(w>=55296&&w<=57343&&(v=E())!==null&&v>=56320&&v<=57343){A((w-55296)*1024+v-56320+65536),v=null;continue}A(w)}v!==null&&A(v)},$.UTF8toUTF16=function(E,A){var w=null;for(typeof E=="number"&&(w=E,E=function(){return null});w!==null||(w=E())!==null;)w<=65535?A(w):(w-=65536,A((w>>10)+55296),A(w%1024+56320)),w=null},$.encodeUTF16toUTF8=function(E,A){$.UTF16toUTF8(E,function(w){$.encodeUTF8(w,A)})},$.decodeUTF8toUTF16=function(E,A){$.decodeUTF8(E,function(w){$.UTF8toUTF16(w,A)})},$.calculateCodePoint=function(E){return E<128?1:E<2048?2:E<65536?3:4},$.calculateUTF8=function(E){for(var A,w=0;(A=E())!==null;)w+=$.calculateCodePoint(A);return w},$.calculateUTF16asUTF8=function(E){var A=0,w=0;return $.UTF16toUTF8(E,function(v){++A,w+=$.calculateCodePoint(v)}),[A,w]},$}();Date.now=Date.now||function(){return+new Date};var h=16,_=10,b=16,S=100,O=[608135816,2242054355,320440878,57701188,2752067618,698298832,137296536,3964562569,1160258022,953160567,3193202383,887688300,3232508343,3380367581,1065670069,3041331479,2450970073,2306472731],T=[3509652390,2564797868,805139163,3491422135,3101798381,1780907670,3128725573,4046225305,614570311,3012652279,134345442,2240740374,1667834072,1901547113,2757295779,4103290238,227898511,1921955416,1904987480,2182433518,2069144605,3260701109,2620446009,720527379,3318853667,677414384,3393288472,3101374703,2390351024,1614419982,1822297739,2954791486,3608508353,3174124327,2024746970,1432378464,3864339955,2857741204,1464375394,1676153920,1439316330,715854006,3033291828,289532110,2706671279,2087905683,3018724369,1668267050,732546397,1947742710,3462151702,2609353502,2950085171,1814351708,2050118529,680887927,999245976,1800124847,3300911131,1713906067,1641548236,4213287313,1216130144,1575780402,4018429277,3917837745,3693486850,3949271944,596196993,3549867205,258830323,2213823033,772490370,2760122372,1774776394,2652871518,566650946,4142492826,1728879713,2882767088,1783734482,3629395816,2517608232,2874225571,1861159788,326777828,3124490320,2130389656,2716951837,967770486,1724537150,2185432712,2364442137,1164943284,2105845187,998989502,3765401048,2244026483,1075463327,1455516326,1322494562,910128902,469688178,1117454909,936433444,3490320968,3675253459,1240580251,122909385,2157517691,634681816,4142456567,3825094682,3061402683,2540495037,79693498,3249098678,1084186820,1583128258,426386531,1761308591,1047286709,322548459,995290223,1845252383,2603652396,3431023940,2942221577,3202600964,3727903485,1712269319,422464435,3234572375,1170764815,3523960633,3117677531,1434042557,442511882,3600875718,1076654713,1738483198,4213154764,2393238008,3677496056,1014306527,4251020053,793779912,2902807211,842905082,4246964064,1395751752,1040244610,2656851899,3396308128,445077038,3742853595,3577915638,679411651,2892444358,2354009459,1767581616,3150600392,3791627101,3102740896,284835224,4246832056,1258075500,768725851,2589189241,3069724005,3532540348,1274779536,3789419226,2764799539,1660621633,3471099624,4011903706,913787905,3497959166,737222580,2514213453,2928710040,3937242737,1804850592,3499020752,2949064160,2386320175,2390070455,2415321851,4061277028,2290661394,2416832540,1336762016,1754252060,3520065937,3014181293,791618072,3188594551,3933548030,2332172193,3852520463,3043980520,413987798,3465142937,3030929376,4245938359,2093235073,3534596313,375366246,2157278981,2479649556,555357303,3870105701,2008414854,3344188149,4221384143,3956125452,2067696032,3594591187,2921233993,2428461,544322398,577241275,1471733935,610547355,4027169054,1432588573,1507829418,2025931657,3646575487,545086370,48609733,2200306550,1653985193,298326376,1316178497,3007786442,2064951626,458293330,2589141269,3591329599,3164325604,727753846,2179363840,146436021,1461446943,4069977195,705550613,3059967265,3887724982,4281599278,3313849956,1404054877,2845806497,146425753,1854211946,1266315497,3048417604,3681880366,3289982499,290971e4,1235738493,2632868024,2414719590,3970600049,1771706367,1449415276,3266420449,422970021,1963543593,2690192192,3826793022,1062508698,1531092325,1804592342,2583117782,2714934279,4024971509,1294809318,4028980673,1289560198,2221992742,1669523910,35572830,157838143,1052438473,1016535060,1802137761,1753167236,1386275462,3080475397,2857371447,1040679964,2145300060,2390574316,1461121720,2956646967,4031777805,4028374788,33600511,2920084762,1018524850,629373528,3691585981,3515945977,2091462646,2486323059,586499841,988145025,935516892,3367335476,2599673255,2839830854,265290510,3972581182,2759138881,3795373465,1005194799,847297441,406762289,1314163512,1332590856,1866599683,4127851711,750260880,613907577,1450815602,3165620655,3734664991,3650291728,3012275730,3704569646,1427272223,778793252,1343938022,2676280711,2052605720,1946737175,3164576444,3914038668,3967478842,3682934266,1661551462,3294938066,4011595847,840292616,3712170807,616741398,312560963,711312465,1351876610,322626781,1910503582,271666773,2175563734,1594956187,70604529,3617834859,1007753275,1495573769,4069517037,2549218298,2663038764,504708206,2263041392,3941167025,2249088522,1514023603,1998579484,1312622330,694541497,2582060303,2151582166,1382467621,776784248,2618340202,3323268794,2497899128,2784771155,503983604,4076293799,907881277,423175695,432175456,1378068232,4145222326,3954048622,3938656102,3820766613,2793130115,2977904593,26017576,3274890735,3194772133,1700274565,1756076034,4006520079,3677328699,720338349,1533947780,354530856,688349552,3973924725,1637815568,332179504,3949051286,53804574,2852348879,3044236432,1282449977,3583942155,3416972820,4006381244,1617046695,2628476075,3002303598,1686838959,431878346,2686675385,1700445008,1080580658,1009431731,832498133,3223435511,2605976345,2271191193,2516031870,1648197032,4164389018,2548247927,300782431,375919233,238389289,3353747414,2531188641,2019080857,1475708069,455242339,2609103871,448939670,3451063019,1395535956,2413381860,1841049896,1491858159,885456874,4264095073,4001119347,1565136089,3898914787,1108368660,540939232,1173283510,2745871338,3681308437,4207628240,3343053890,4016749493,1699691293,1103962373,3625875870,2256883143,3830138730,1031889488,3479347698,1535977030,4236805024,3251091107,2132092099,1774941330,1199868427,1452454533,157007616,2904115357,342012276,595725824,1480756522,206960106,497939518,591360097,863170706,2375253569,3596610801,1814182875,2094937945,3421402208,1082520231,3463918190,2785509508,435703966,3908032597,1641649973,2842273706,3305899714,1510255612,2148256476,2655287854,3276092548,4258621189,236887753,3681803219,274041037,1734335097,3815195456,3317970021,1899903192,1026095262,4050517792,356393447,2410691914,3873677099,3682840055,3913112168,2491498743,4132185628,2489919796,1091903735,1979897079,3170134830,3567386728,3557303409,857797738,1136121015,1342202287,507115054,2535736646,337727348,3213592640,1301675037,2528481711,1895095763,1721773893,3216771564,62756741,2142006736,835421444,2531993523,1442658625,3659876326,2882144922,676362277,1392781812,170690266,3921047035,1759253602,3611846912,1745797284,664899054,1329594018,3901205900,3045908486,2062866102,2865634940,3543621612,3464012697,1080764994,553557557,3656615353,3996768171,991055499,499776247,1265440854,648242737,3940784050,980351604,3713745714,1749149687,3396870395,4211799374,3640570775,1161844396,3125318951,1431517754,545492359,4268468663,3499529547,1437099964,2702547544,3433638243,2581715763,2787789398,1060185593,1593081372,2418618748,4260947970,69676912,2159744348,86519011,2512459080,3838209314,1220612927,3339683548,133810670,1090789135,1078426020,1569222167,845107691,3583754449,4072456591,1091646820,628848692,1613405280,3757631651,526609435,236106946,48312990,2942717905,3402727701,1797494240,859738849,992217954,4005476642,2243076622,3870952857,3732016268,765654824,3490871365,2511836413,1685915746,3888969200,1414112111,2273134842,3281911079,4080962846,172450625,2569994100,980381355,4109958455,2819808352,2716589560,2568741196,3681446669,3329971472,1835478071,660984891,3704678404,4045999559,3422617507,3040415634,1762651403,1719377915,3470491036,2693910283,3642056355,3138596744,1364962596,2073328063,1983633131,926494387,3423689081,2150032023,4096667949,1749200295,3328846651,309677260,2016342300,1779581495,3079819751,111262694,1274766160,443224088,298511866,1025883608,3806446537,1145181785,168956806,3641502830,3584813610,1689216846,3666258015,3200248200,1692713982,2646376535,4042768518,1618508792,1610833997,3523052358,4130873264,2001055236,3610705100,2202168115,4028541809,2961195399,1006657119,2006996926,3186142756,1430667929,3210227297,1314452623,4074634658,4101304120,2273951170,1399257539,3367210612,3027628629,1190975929,2062231137,2333990788,2221543033,2438960610,1181637006,548689776,2362791313,3372408396,3104550113,3145860560,296247880,1970579870,3078560182,3769228297,1714227617,3291629107,3898220290,166772364,1251581989,493813264,448347421,195405023,2709975567,677966185,3703036547,1463355134,2715995803,1338867538,1343315457,2802222074,2684532164,233230375,2599980071,2000651841,3277868038,1638401717,4028070440,3237316320,6314154,819756386,300326615,590932579,1405279636,3267499572,3150704214,2428286686,3959192993,3461946742,1862657033,1266418056,963775037,2089974820,2263052895,1917689273,448879540,3550394620,3981727096,150775221,3627908307,1303187396,508620638,2975983352,2726630617,1817252668,1876281319,1457606340,908771278,3720792119,3617206836,2455994898,1729034894,1080033504,976866871,3556439503,2881648439,1522871579,1555064734,1336096578,3548522304,2579274686,3574697629,3205460757,3593280638,3338716283,3079412587,564236357,2993598910,1781952180,1464380207,3163844217,3332601554,1699332808,1393555694,1183702653,3581086237,1288719814,691649499,2847557200,2895455976,3193889540,2717570544,1781354906,1676643554,2592534050,3230253752,1126444790,2770207658,2633158820,2210423226,2615765581,2414155088,3127139286,673620729,2805611233,1269405062,4015350505,3341807571,4149409754,1057255273,2012875353,2162469141,2276492801,2601117357,993977747,3918593370,2654263191,753973209,36408145,2530585658,25011837,3520020182,2088578344,530523599,2918365339,1524020338,1518925132,3760827505,3759777254,1202760957,3985898139,3906192525,674977740,4174734889,2031300136,2019492241,3983892565,4153806404,3822280332,352677332,2297720250,60907813,90501309,3286998549,1016092578,2535922412,2839152426,457141659,509813237,4120667899,652014361,1966332200,2975202805,55981186,2327461051,676427537,3255491064,2882294119,3433927263,1307055953,942726286,933058658,2468411793,3933900994,4215176142,1361170020,2001714738,2830558078,3274259782,1222529897,1679025792,2729314320,3714953764,1770335741,151462246,3013232138,1682292957,1483529935,471910574,1539241949,458788160,3436315007,1807016891,3718408830,978976581,1043663428,3165965781,1927990952,4200891579,2372276910,3208408903,3533431907,1412390302,2931980059,4132332400,1947078029,3881505623,4168226417,2941484381,1077988104,1320477388,886195818,18198404,3786409e3,2509781533,112762804,3463356488,1866414978,891333506,18488651,661792760,1628790961,3885187036,3141171499,876946877,2693282273,1372485963,791857591,2686433993,3759982718,3167212022,3472953795,2716379847,445679433,3561995674,3504004811,3574258232,54117162,3331405415,2381918588,3769707343,4154350007,1140177722,4074052095,668550556,3214352940,367459370,261225585,2610173221,4209349473,3468074219,3265815641,314222801,3066103646,3808782860,282218597,3406013506,3773591054,379116347,1285071038,846784868,2669647154,3771962079,3550491691,2305946142,453669953,1268987020,3317592352,3279303384,3744833421,2610507566,3859509063,266596637,3847019092,517658769,3462560207,3443424879,370717030,4247526661,2224018117,4143653529,4112773975,2788324899,2477274417,1456262402,2901442914,1517677493,1846949527,2295493580,3734397586,2176403920,1280348187,1908823572,3871786941,846861322,1172426758,3287448474,3383383037,1655181056,3139813346,901632758,1897031941,2986607138,3066810236,3447102507,1393639104,373351379,950779232,625454576,3124240540,4148612726,2007998917,544563296,2244738638,2330496472,2058025392,1291430526,424198748,50039436,29584100,3605783033,2429876329,2791104160,1057563949,3255363231,3075367218,3463963227,1469046755,985887462],q=[1332899944,1700884034,1701343084,1684370003,1668446532,1869963892];function oe($,E,A,w){var v,C=$[E],R=$[E+1];return C^=A[0],v=w[C>>>24],v+=w[256|C>>16&255],v^=w[512|C>>8&255],v+=w[768|C&255],R^=v^A[1],v=w[R>>>24],v+=w[256|R>>16&255],v^=w[512|R>>8&255],v+=w[768|R&255],C^=v^A[2],v=w[C>>>24],v+=w[256|C>>16&255],v^=w[512|C>>8&255],v+=w[768|C&255],R^=v^A[3],v=w[R>>>24],v+=w[256|R>>16&255],v^=w[512|R>>8&255],v+=w[768|R&255],C^=v^A[4],v=w[C>>>24],v+=w[256|C>>16&255],v^=w[512|C>>8&255],v+=w[768|C&255],R^=v^A[5],v=w[R>>>24],v+=w[256|R>>16&255],v^=w[512|R>>8&255],v+=w[768|R&255],C^=v^A[6],v=w[C>>>24],v+=w[256|C>>16&255],v^=w[512|C>>8&255],v+=w[768|C&255],R^=v^A[7],v=w[R>>>24],v+=w[256|R>>16&255],v^=w[512|R>>8&255],v+=w[768|R&255],C^=v^A[8],v=w[C>>>24],v+=w[256|C>>16&255],v^=w[512|C>>8&255],v+=w[768|C&255],R^=v^A[9],v=w[R>>>24],v+=w[256|R>>16&255],v^=w[512|R>>8&255],v+=w[768|R&255],C^=v^A[10],v=w[C>>>24],v+=w[256|C>>16&255],v^=w[512|C>>8&255],v+=w[768|C&255],R^=v^A[11],v=w[R>>>24],v+=w[256|R>>16&255],v^=w[512|R>>8&255],v+=w[768|R&255],C^=v^A[12],v=w[C>>>24],v+=w[256|C>>16&255],v^=w[512|C>>8&255],v+=w[768|C&255],R^=v^A[13],v=w[R>>>24],v+=w[256|R>>16&255],v^=w[512|R>>8&255],v+=w[768|R&255],C^=v^A[14],v=w[C>>>24],v+=w[256|C>>16&255],v^=w[512|C>>8&255],v+=w[768|C&255],R^=v^A[15],v=w[R>>>24],v+=w[256|R>>16&255],v^=w[512|R>>8&255],v+=w[768|R&255],C^=v^A[16],$[E]=R^A[b+1],$[E+1]=C,$}function pe($,E){for(var A=0,w=0;A<4;++A)w=w<<8|$[E]&255,E=(E+1)%$.length;return{key:w,offp:E}}function ce($,E,A){for(var w=0,v=[0,0],C=E.length,R=A.length,Z,K=0;K<C;K++)Z=pe($,w),w=Z.offp,E[K]=E[K]^Z.key;for(K=0;K<C;K+=2)v=oe(v,0,E,A),E[K]=v[0],E[K+1]=v[1];for(K=0;K<R;K+=2)v=oe(v,0,E,A),A[K]=v[0],A[K+1]=v[1]}function Re($,E,A,w){for(var v=0,C=[0,0],R=A.length,Z=w.length,K,ee=0;ee<R;ee++)K=pe(E,v),v=K.offp,A[ee]=A[ee]^K.key;for(v=0,ee=0;ee<R;ee+=2)K=pe($,v),v=K.offp,C[0]^=K.key,K=pe($,v),v=K.offp,C[1]^=K.key,C=oe(C,0,A,w),A[ee]=C[0],A[ee+1]=C[1];for(ee=0;ee<Z;ee+=2)K=pe($,v),v=K.offp,C[0]^=K.key,K=pe($,v),v=K.offp,C[1]^=K.key,C=oe(C,0,A,w),w[ee]=C[0],w[ee+1]=C[1]}function nt($,E,A,w,v){var C=q.slice(),R=C.length,Z;if(A<4||A>31)if(Z=Error("Illegal number of rounds (4-31): "+A),w){o(w.bind(this,Z));return}else throw Z;if(E.length!==h)if(Z=Error("Illegal salt length: "+E.length+" != "+h),w){o(w.bind(this,Z));return}else throw Z;A=1<<A>>>0;var K,ee,se=0,M;Int32Array?(K=new Int32Array(O),ee=new Int32Array(T)):(K=O.slice(),ee=T.slice()),Re(E,$,K,ee);function Se(){if(v&&v(se/A),se<A)for(var de=Date.now();se<A&&(se=se+1,ce($,K,ee),ce(E,K,ee),!(Date.now()-de>S)););else{for(se=0;se<64;se++)for(M=0;M<R>>1;M++)oe(C,M<<1,K,ee);var we=[];for(se=0;se<R;se++)we.push((C[se]>>24&255)>>>0),we.push((C[se]>>16&255)>>>0),we.push((C[se]>>8&255)>>>0),we.push((C[se]&255)>>>0);if(w){w(null,we);return}else return we}w&&o(Se)}if(typeof w<"u")Se();else for(var Gt;;)if(typeof(Gt=Se())<"u")return Gt||[]}function De($,E,A,w){var v;if(typeof $!="string"||typeof E!="string")if(v=Error("Invalid string / salt: Not a string"),A){o(A.bind(this,v));return}else throw v;var C,R;if(E.charAt(0)!=="$"||E.charAt(1)!=="2")if(v=Error("Invalid salt version: "+E.substring(0,2)),A){o(A.bind(this,v));return}else throw v;if(E.charAt(2)==="$")C="\0",R=3;else{if(C=E.charAt(2),C!=="a"&&C!=="b"&&C!=="y"||E.charAt(3)!=="$")if(v=Error("Invalid salt revision: "+E.substring(2,4)),A){o(A.bind(this,v));return}else throw v;R=4}if(E.charAt(R+2)>"$")if(v=Error("Missing salt rounds"),A){o(A.bind(this,v));return}else throw v;var Z=parseInt(E.substring(R,R+1),10)*10,K=parseInt(E.substring(R+1,R+2),10),ee=Z+K,se=E.substring(R+3,R+25);$+=C>="a"?"\0":"";var M=c($),Se=m(se,h);function Gt(de){var we=[];return we.push("$2"),C>="a"&&we.push(C),we.push("$"),ee<10&&we.push("0"),we.push(ee.toString()),we.push("$"),we.push(g(Se,Se.length)),we.push(g(de,q.length*4-1)),we.join("")}if(typeof A>"u")return Gt(nt(M,Se,ee));nt(M,Se,ee,function(de,we){de?A(de,null):A(null,Gt(we))},w)}return e.encodeBase64=g,e.decodeBase64=m,e})})(Vd);var lg=Vd.exports;const Ja=ig(lg),ug="useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict";let dg=n=>crypto.getRandomValues(new Uint8Array(n)),pg=(n,e,t)=>{let i=(2<<Math.log2(n.length-1))-1,r=-~(1.6*i*e/n.length);return(s=e)=>{let o="";for(;;){let c=t(r),l=r;for(;l--;)if(o+=n[c[l]&i]||"",o.length===s)return o}}},fg=(n,e=21)=>pg(n,e,dg),Ke=(n=21)=>{let e="",t=crypto.getRandomValues(new Uint8Array(n));for(;n--;)e+=ug[t[n]&63];return e};const hg=24;function Za(){return fg("0123456789abcdef",hg)()}function vl(n){if(!n.includes("|"))return console.error("Invalid user_id format"),n;const[,e]=n.split("|");return e}async function Md(n,e,t){return(await n.list(e,{page:0,per_page:10,include_totals:!1,q:`email:${t}`})).users}async function Ya({userAdapter:n,tenant_id:e,email:t,provider:i}){const{users:r}=await n.list(e,{page:0,per_page:10,include_totals:!1,q:`email:${t} provider:${i}`});return r.length>1&&console.error("More than one user found for same email and provider"),r[0]||null}async function Hd({userAdapter:n,tenant_id:e,email:t}){var c;const{users:i}=await n.list(e,{page:0,per_page:10,include_totals:!1,q:`email:${t}`}),r=i.filter(l=>!(l.provider==="auth2"&&!l.email_verified));if(r.length===0)return;const s=r.filter(l=>!l.linked_to);if(s.length>0)return s.length>1&&console.error("More than one primary user found for same email"),s[0];const o=await n.get(e,(c=r[0])==null?void 0:c.linked_to);if(!o)throw new Error("Primary account not found");return o}async function os({userAdapter:n,tenant_id:e,email:t,provider:i}){const r=await Ya({userAdapter:n,tenant_id:e,email:t,provider:i});return r?r.linked_to?n.get(e,r.linked_to):r:null}const on=a.z.object({page:a.z.string().min(0).optional().default("0").transform(n=>parseInt(n,10)).openapi({description:"The page number where 0 is the first page"}),per_page:a.z.string().min(1).optional().default("10").transform(n=>parseInt(n,10)).openapi({description:"The number of items per page"}),include_totals:a.z.string().optional().default("false").transform(n=>n==="true").openapi({description:"If the total number of items should be included in the response"}),sort:a.z.string().regex(/^.+:(-1|1)$/).optional().openapi({description:"A property that should have the format 'string:-1' or 'string:1'"}),q:a.z.string().optional().openapi({description:"A lucene query string used to filter the results"})});function Dn(n){if(!n)return;const[e,t]=n.split(":"),i=t==="1"?"asc":"desc";if(!(!e||!i))return{sort_by:e,sort_order:i}}function ke(n,e){return{type:e.type,description:e.description||"",ip:n.req.header("x-real-ip")||"",user_agent:n.req.header("user-agent")||"",date:new Date().toISOString(),details:{request:{method:n.req.method,path:n.req.path,qs:n.req.queries(),body:e.body||n.var.body||""}},isMobile:!1,client_id:n.var.client_id,client_name:"",user_id:e.userId||n.var.user_id||"",hostname:n.req.header("host")||"",user_name:n.var.username||"",connection_id:"",connection:n.var.connection||"",strategy:e.strategy||"",strategy_type:e.strategy_type||"",audience:"",scope:[]}}var gg={deno:"Deno",bun:"Bun",workerd:"Cloudflare-Workers",node:"Node.js"},_g=()=>{var t,i;const n=globalThis;if(typeof navigator<"u"&&typeof navigator.userAgent=="string"){for(const[r,s]of Object.entries(gg))if(mg(s))return r}return typeof(n==null?void 0:n.EdgeRuntime)=="string"?"edge-light":(n==null?void 0:n.fastly)!==void 0?"fastly":((i=(t=n==null?void 0:n.process)==null?void 0:t.release)==null?void 0:i.name)==="node"?"node":"other"},mg=n=>navigator.userAgent.startsWith(n);function Bt(n,e){_g()==="workerd"&&n.executionCtx.waitUntil(e)}const wl=Dt.extend({users:a.z.array(ft)}),yg=Dt.extend({sessions:a.z.array(Ga)}),vg=new a.OpenAPIHono().openapi(a.createRoute({tags:["users"],method:"get",path:"/",request:{query:on,headers:a.z.object({"tenant-id":a.z.string()})},security:[{Bearer:["auth:read"]}],responses:{200:{content:{"application/json":{schema:a.z.union([a.z.array(ft),wl])}},description:"List of users"}}}),async n=>{const{page:e,per_page:t,include_totals:i,sort:r,q:s}=n.req.valid("query"),{"tenant-id":o}=n.req.valid("header");if(s!=null&&s.includes("identities.profileData.email")){const p=s.split("=")[1],m=(await n.env.data.users.list(o,{page:e,per_page:t,include_totals:i,q:`email:${p}`})).users.filter(_=>_.linked_to),[x]=m;if(!x)return n.json([]);const h=await n.env.data.users.get(o,x.linked_to);if(!h)throw new N(500,{message:"Primary account not found"});return n.json([ft.parse(h)])}const c=["-_exists_:linked_to"];s&&c.push(s);const l=await n.env.data.users.list(o,{page:e,per_page:t,include_totals:i,sort:Dn(r),q:c.join(" ")}),u=l.users.filter(p=>!p.linked_to);return i?n.json(wl.parse({users:u,length:l.length,start:l.start,limit:l.limit})):n.json(a.z.array(ft).parse(u))}).openapi(a.createRoute({tags:["users"],method:"get",path:"/{user_id}",request:{headers:a.z.object({"tenant-id":a.z.string()}),params:a.z.object({user_id:a.z.string()})},security:[{Bearer:["auth:read"]}],responses:{200:{content:{"application/json":{schema:ft}},description:"List of users"}}}),async n=>{const{user_id:e}=n.req.valid("param"),{"tenant-id":t}=n.req.valid("header"),i=await n.env.data.users.get(t,e);if(!i)throw new N(404);if(i.linked_to)throw new N(404,{message:"User is linked to another user"});return n.json(i)}).openapi(a.createRoute({tags:["users"],method:"delete",path:"/{user_id}",request:{headers:a.z.object({"tenant-id":a.z.string()}),params:a.z.object({user_id:a.z.string()})},security:[{Bearer:["auth:write"]}],responses:{200:{description:"Status"}}}),async n=>{const{user_id:e}=n.req.valid("param"),{"tenant-id":t}=n.req.valid("header");if(!await n.env.data.users.remove(t,e))throw new N(404);return n.text("OK")}).openapi(a.createRoute({tags:["users"],method:"post",path:"/",request:{headers:a.z.object({"tenant-id":a.z.string()}),body:{content:{"application/json":{schema:a.z.object({...pr.shape})}}}},security:[{Bearer:["auth:write"]}],responses:{200:{content:{"application/json":{schema:ft}},description:"Status"}}}),async n=>{const{"tenant-id":e}=n.req.valid("header"),t=n.req.valid("json");n.set("body",t);const{email:i}=t;if(!i)throw new N(400,{message:"Email is required"});const r=i.toLowerCase(),s=`${t.provider}|${t.user_id||Za()}`;try{const o=await n.env.data.users.create(e,{email:r,user_id:s,name:t.name||r,provider:t.provider,connection:t.connection,email_verified:t.email_verified||!1,last_ip:"",is_social:!1,last_login:new Date().toISOString()});n.set("user_id",o.user_id);const c=ke(n,{type:_e.SUCCESS_API_OPERATION,description:"User created"});Bt(n,n.env.data.logs.create(e,c));const l={...o,identities:[{connection:o.connection,provider:o.provider,user_id:vl(o.user_id),isSocial:o.is_social}]};return n.json(ft.parse(l),{status:201})}catch(o){throw o.message==="User already exists"?new N(409,{message:"User already exists"}):o}}).openapi(a.createRoute({tags:["users"],method:"patch",path:"/{user_id}",request:{headers:a.z.object({"tenant-id":a.z.string()}),body:{content:{"application/json":{schema:a.z.object({...pr.shape,verify_email:a.z.boolean(),password:a.z.string()}).partial()}}},params:a.z.object({user_id:a.z.string()})},security:[{Bearer:["auth:write"]}],responses:{200:{description:"Status"}}}),async n=>{var u;const{"tenant-id":e}=n.req.valid("header"),t=n.req.valid("json"),{user_id:i}=n.req.valid("param"),{verify_email:r,password:s,...o}=t,c=await n.env.data.users.get(e,i);if(!c)throw new N(404);if(o.email&&o.email!==c.email){const p=await Md(n.env.data.users,e,o.email);if(p.length&&p.some(g=>g.user_id!==i))throw new N(409,{message:"Another user with the same email address already exists."})}if(c.linked_to)throw new N(404,{message:"User is linked to another user"});if(await n.env.data.users.update(e,i,o),s){const p=(u=c.identities)==null?void 0:u.find(g=>g.connection==="Username-Password-Authentication");if(!p)throw new N(400,{message:"User does not have a password identity"});await n.env.data.passwords.update(e,{user_id:`${p.provider}|${p.user_id}`,password:Ja.hashSync(s,10),algorithm:"bcrypt"})}const l=await n.env.data.users.get(e,i);if(!l)throw new N(500);return n.json(l)}).openapi(a.createRoute({tags:["users"],method:"post",path:"/{user_id}/identities",request:{headers:a.z.object({"tenant-id":a.z.string()}),body:{content:{"application/json":{schema:a.z.union([a.z.object({link_with:a.z.string()}),a.z.object({user_id:a.z.string(),provider:a.z.string(),connection:a.z.string().optional()})])}}},params:a.z.object({user_id:a.z.string()})},security:[{Bearer:["auth:write"]}],responses:{200:{content:{"application/json":{schema:a.z.array(a.z.object({connection:a.z.string(),provider:a.z.string(),user_id:a.z.string(),isSocial:a.z.boolean()}))}},description:"Status"}}}),async n=>{const{"tenant-id":e}=n.req.valid("header"),t=n.req.valid("json"),{user_id:i}=n.req.valid("param"),r="link_with"in t?t.link_with:t.user_id,s=await n.env.data.users.get(e,i);if(!s)throw new N(400,{message:"Linking an inexistent identity is not allowed."});await n.env.data.users.update(e,r,{linked_to:i});const o=await n.env.data.users.list(e,{page:0,per_page:10,include_totals:!1,q:`linked_to:${i}`}),c=[s,...o.users].map(l=>({connection:l.connection,provider:l.provider,user_id:vl(l.user_id),isSocial:l.is_social}));return n.json(c,{status:201})}).openapi(a.createRoute({tags:["users"],method:"delete",path:"/{user_id}/identities/{provider}/{linked_user_id}",request:{headers:a.z.object({"tenant-id":a.z.string()}),params:a.z.object({user_id:a.z.string(),provider:a.z.string(),linked_user_id:a.z.string()})},security:[{Bearer:["auth:write"]}],responses:{200:{content:{"application/json":{schema:a.z.array(ft)}},description:"Status"}}}),async n=>{const{"tenant-id":e}=n.req.valid("header"),{user_id:t,provider:i,linked_user_id:r}=n.req.valid("param");await n.env.data.users.unlink(e,t,i,r);const s=await n.env.data.users.get(e,t);if(!s)throw new N(404);return n.json([ft.parse(s)])}).openapi(a.createRoute({tags:["users"],method:"get",path:"/{user_id}/sessions",request:{query:on,headers:a.z.object({"tenant-id":a.z.string()}),params:a.z.object({user_id:a.z.string()})},security:[{Bearer:["auth:read"]}],responses:{200:{content:{"application/json":{schema:a.z.union([a.z.array(Ga),yg])}},description:"List of sessions"}}}),async n=>{const{user_id:e}=n.req.valid("param"),{include_totals:t}=n.req.valid("query"),{"tenant-id":i}=n.req.valid("header"),r=await n.env.data.sessions.list(i,{page:0,per_page:10,include_totals:!1,q:`user_id:${e}`});return t?n.json(r):n.json(r.sessions)});/*! *****************************************************************************
|
|
5
|
+
*/(function(e,t){typeof sg=="function"&&n&&n.exports?n.exports=t():(e.dcodeIO=e.dcodeIO||{}).bcrypt=t()})(vr,function(){var e={},t=null;function i($){if(n&&n.exports)try{return cg.randomBytes($)}catch{}try{var E;return(self.crypto||self.msCrypto).getRandomValues(E=new Uint32Array($)),Array.prototype.slice.call(E)}catch{}if(!t)throw Error("Neither WebCryptoAPI nor a crypto module is available. Use bcrypt.setRandomFallback to set an alternative");return t($)}var r=!1;try{i(1),r=!0}catch{}t=null,e.setRandomFallback=function($){t=$},e.genSaltSync=function($,E){if($=$||_,typeof $!="number")throw Error("Illegal arguments: "+typeof $+", "+typeof E);$<4?$=4:$>31&&($=31);var A=[];return A.push("$2a$"),$<10&&A.push("0"),A.push($.toString()),A.push("$"),A.push(g(i(h),h)),A.join("")},e.genSalt=function($,E,A){if(typeof E=="function"&&(A=E,E=void 0),typeof $=="function"&&(A=$,$=void 0),typeof $>"u")$=_;else if(typeof $!="number")throw Error("illegal arguments: "+typeof $);function w(v){o(function(){try{v(null,e.genSaltSync($))}catch(C){v(C)}})}if(A){if(typeof A!="function")throw Error("Illegal callback: "+typeof A);w(A)}else return new Promise(function(v,C){w(function(R,Z){if(R){C(R);return}v(Z)})})},e.hashSync=function($,E){if(typeof E>"u"&&(E=_),typeof E=="number"&&(E=e.genSaltSync(E)),typeof $!="string"||typeof E!="string")throw Error("Illegal arguments: "+typeof $+", "+typeof E);return De($,E)},e.hash=function($,E,A,w){function v(C){typeof $=="string"&&typeof E=="number"?e.genSalt(E,function(R,Z){De($,Z,C,w)}):typeof $=="string"&&typeof E=="string"?De($,E,C,w):o(C.bind(this,Error("Illegal arguments: "+typeof $+", "+typeof E)))}if(A){if(typeof A!="function")throw Error("Illegal callback: "+typeof A);v(A)}else return new Promise(function(C,R){v(function(Z,K){if(Z){R(Z);return}C(K)})})};function s($,E){for(var A=0,w=0,v=0,C=$.length;v<C;++v)$.charCodeAt(v)===E.charCodeAt(v)?++A:++w;return A<0?!1:w===0}e.compareSync=function($,E){if(typeof $!="string"||typeof E!="string")throw Error("Illegal arguments: "+typeof $+", "+typeof E);return E.length!==60?!1:s(e.hashSync($,E.substr(0,E.length-31)),E)},e.compare=function($,E,A,w){function v(C){if(typeof $!="string"||typeof E!="string"){o(C.bind(this,Error("Illegal arguments: "+typeof $+", "+typeof E)));return}if(E.length!==60){o(C.bind(this,null,!1));return}e.hash($,E.substr(0,29),function(R,Z){R?C(R):C(null,s(Z,E))},w)}if(A){if(typeof A!="function")throw Error("Illegal callback: "+typeof A);v(A)}else return new Promise(function(C,R){v(function(Z,K){if(Z){R(Z);return}C(K)})})},e.getRounds=function($){if(typeof $!="string")throw Error("Illegal arguments: "+typeof $);return parseInt($.split("$")[2],10)},e.getSalt=function($){if(typeof $!="string")throw Error("Illegal arguments: "+typeof $);if($.length!==60)throw Error("Illegal hash length: "+$.length+" != 60");return $.substring(0,29)};var o=typeof process<"u"&&process&&typeof process.nextTick=="function"?typeof setImmediate=="function"?setImmediate:process.nextTick:setTimeout;function c($){var E=[],A=0;return x.encodeUTF16toUTF8(function(){return A>=$.length?null:$.charCodeAt(A++)},function(w){E.push(w)}),E}var l="./ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789".split(""),u=[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,1,54,55,56,57,58,59,60,61,62,63,-1,-1,-1,-1,-1,-1,-1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,-1,-1,-1,-1,-1,-1,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,-1,-1,-1,-1,-1],p=String.fromCharCode;function g($,E){var A=0,w=[],v,C;if(E<=0||E>$.length)throw Error("Illegal len: "+E);for(;A<E;){if(v=$[A++]&255,w.push(l[v>>2&63]),v=(v&3)<<4,A>=E){w.push(l[v&63]);break}if(C=$[A++]&255,v|=C>>4&15,w.push(l[v&63]),v=(C&15)<<2,A>=E){w.push(l[v&63]);break}C=$[A++]&255,v|=C>>6&3,w.push(l[v&63]),w.push(l[C&63])}return w.join("")}function m($,E){var A=0,w=$.length,v=0,C=[],R,Z,K,ee,se,M;if(E<=0)throw Error("Illegal len: "+E);for(;A<w-1&&v<E&&(M=$.charCodeAt(A++),R=M<u.length?u[M]:-1,M=$.charCodeAt(A++),Z=M<u.length?u[M]:-1,!(R==-1||Z==-1||(se=R<<2>>>0,se|=(Z&48)>>4,C.push(p(se)),++v>=E||A>=w)||(M=$.charCodeAt(A++),K=M<u.length?u[M]:-1,K==-1)||(se=(Z&15)<<4>>>0,se|=(K&60)>>2,C.push(p(se)),++v>=E||A>=w)));)M=$.charCodeAt(A++),ee=M<u.length?u[M]:-1,se=(K&3)<<6>>>0,se|=ee,C.push(p(se)),++v;var Se=[];for(A=0;A<v;A++)Se.push(C[A].charCodeAt(0));return Se}var x=function(){var $={};return $.MAX_CODEPOINT=1114111,$.encodeUTF8=function(E,A){var w=null;for(typeof E=="number"&&(w=E,E=function(){return null});w!==null||(w=E())!==null;)w<128?A(w&127):w<2048?(A(w>>6&31|192),A(w&63|128)):w<65536?(A(w>>12&15|224),A(w>>6&63|128),A(w&63|128)):(A(w>>18&7|240),A(w>>12&63|128),A(w>>6&63|128),A(w&63|128)),w=null},$.decodeUTF8=function(E,A){for(var w,v,C,R,Z=function(K){K=K.slice(0,K.indexOf(null));var ee=Error(K.toString());throw ee.name="TruncatedError",ee.bytes=K,ee};(w=E())!==null;)if(!(w&128))A(w);else if((w&224)===192)(v=E())===null&&Z([w,v]),A((w&31)<<6|v&63);else if((w&240)===224)((v=E())===null||(C=E())===null)&&Z([w,v,C]),A((w&15)<<12|(v&63)<<6|C&63);else if((w&248)===240)((v=E())===null||(C=E())===null||(R=E())===null)&&Z([w,v,C,R]),A((w&7)<<18|(v&63)<<12|(C&63)<<6|R&63);else throw RangeError("Illegal starting byte: "+w)},$.UTF16toUTF8=function(E,A){for(var w,v=null;(w=v!==null?v:E())!==null;){if(w>=55296&&w<=57343&&(v=E())!==null&&v>=56320&&v<=57343){A((w-55296)*1024+v-56320+65536),v=null;continue}A(w)}v!==null&&A(v)},$.UTF8toUTF16=function(E,A){var w=null;for(typeof E=="number"&&(w=E,E=function(){return null});w!==null||(w=E())!==null;)w<=65535?A(w):(w-=65536,A((w>>10)+55296),A(w%1024+56320)),w=null},$.encodeUTF16toUTF8=function(E,A){$.UTF16toUTF8(E,function(w){$.encodeUTF8(w,A)})},$.decodeUTF8toUTF16=function(E,A){$.decodeUTF8(E,function(w){$.UTF8toUTF16(w,A)})},$.calculateCodePoint=function(E){return E<128?1:E<2048?2:E<65536?3:4},$.calculateUTF8=function(E){for(var A,w=0;(A=E())!==null;)w+=$.calculateCodePoint(A);return w},$.calculateUTF16asUTF8=function(E){var A=0,w=0;return $.UTF16toUTF8(E,function(v){++A,w+=$.calculateCodePoint(v)}),[A,w]},$}();Date.now=Date.now||function(){return+new Date};var h=16,_=10,b=16,S=100,O=[608135816,2242054355,320440878,57701188,2752067618,698298832,137296536,3964562569,1160258022,953160567,3193202383,887688300,3232508343,3380367581,1065670069,3041331479,2450970073,2306472731],T=[3509652390,2564797868,805139163,3491422135,3101798381,1780907670,3128725573,4046225305,614570311,3012652279,134345442,2240740374,1667834072,1901547113,2757295779,4103290238,227898511,1921955416,1904987480,2182433518,2069144605,3260701109,2620446009,720527379,3318853667,677414384,3393288472,3101374703,2390351024,1614419982,1822297739,2954791486,3608508353,3174124327,2024746970,1432378464,3864339955,2857741204,1464375394,1676153920,1439316330,715854006,3033291828,289532110,2706671279,2087905683,3018724369,1668267050,732546397,1947742710,3462151702,2609353502,2950085171,1814351708,2050118529,680887927,999245976,1800124847,3300911131,1713906067,1641548236,4213287313,1216130144,1575780402,4018429277,3917837745,3693486850,3949271944,596196993,3549867205,258830323,2213823033,772490370,2760122372,1774776394,2652871518,566650946,4142492826,1728879713,2882767088,1783734482,3629395816,2517608232,2874225571,1861159788,326777828,3124490320,2130389656,2716951837,967770486,1724537150,2185432712,2364442137,1164943284,2105845187,998989502,3765401048,2244026483,1075463327,1455516326,1322494562,910128902,469688178,1117454909,936433444,3490320968,3675253459,1240580251,122909385,2157517691,634681816,4142456567,3825094682,3061402683,2540495037,79693498,3249098678,1084186820,1583128258,426386531,1761308591,1047286709,322548459,995290223,1845252383,2603652396,3431023940,2942221577,3202600964,3727903485,1712269319,422464435,3234572375,1170764815,3523960633,3117677531,1434042557,442511882,3600875718,1076654713,1738483198,4213154764,2393238008,3677496056,1014306527,4251020053,793779912,2902807211,842905082,4246964064,1395751752,1040244610,2656851899,3396308128,445077038,3742853595,3577915638,679411651,2892444358,2354009459,1767581616,3150600392,3791627101,3102740896,284835224,4246832056,1258075500,768725851,2589189241,3069724005,3532540348,1274779536,3789419226,2764799539,1660621633,3471099624,4011903706,913787905,3497959166,737222580,2514213453,2928710040,3937242737,1804850592,3499020752,2949064160,2386320175,2390070455,2415321851,4061277028,2290661394,2416832540,1336762016,1754252060,3520065937,3014181293,791618072,3188594551,3933548030,2332172193,3852520463,3043980520,413987798,3465142937,3030929376,4245938359,2093235073,3534596313,375366246,2157278981,2479649556,555357303,3870105701,2008414854,3344188149,4221384143,3956125452,2067696032,3594591187,2921233993,2428461,544322398,577241275,1471733935,610547355,4027169054,1432588573,1507829418,2025931657,3646575487,545086370,48609733,2200306550,1653985193,298326376,1316178497,3007786442,2064951626,458293330,2589141269,3591329599,3164325604,727753846,2179363840,146436021,1461446943,4069977195,705550613,3059967265,3887724982,4281599278,3313849956,1404054877,2845806497,146425753,1854211946,1266315497,3048417604,3681880366,3289982499,290971e4,1235738493,2632868024,2414719590,3970600049,1771706367,1449415276,3266420449,422970021,1963543593,2690192192,3826793022,1062508698,1531092325,1804592342,2583117782,2714934279,4024971509,1294809318,4028980673,1289560198,2221992742,1669523910,35572830,157838143,1052438473,1016535060,1802137761,1753167236,1386275462,3080475397,2857371447,1040679964,2145300060,2390574316,1461121720,2956646967,4031777805,4028374788,33600511,2920084762,1018524850,629373528,3691585981,3515945977,2091462646,2486323059,586499841,988145025,935516892,3367335476,2599673255,2839830854,265290510,3972581182,2759138881,3795373465,1005194799,847297441,406762289,1314163512,1332590856,1866599683,4127851711,750260880,613907577,1450815602,3165620655,3734664991,3650291728,3012275730,3704569646,1427272223,778793252,1343938022,2676280711,2052605720,1946737175,3164576444,3914038668,3967478842,3682934266,1661551462,3294938066,4011595847,840292616,3712170807,616741398,312560963,711312465,1351876610,322626781,1910503582,271666773,2175563734,1594956187,70604529,3617834859,1007753275,1495573769,4069517037,2549218298,2663038764,504708206,2263041392,3941167025,2249088522,1514023603,1998579484,1312622330,694541497,2582060303,2151582166,1382467621,776784248,2618340202,3323268794,2497899128,2784771155,503983604,4076293799,907881277,423175695,432175456,1378068232,4145222326,3954048622,3938656102,3820766613,2793130115,2977904593,26017576,3274890735,3194772133,1700274565,1756076034,4006520079,3677328699,720338349,1533947780,354530856,688349552,3973924725,1637815568,332179504,3949051286,53804574,2852348879,3044236432,1282449977,3583942155,3416972820,4006381244,1617046695,2628476075,3002303598,1686838959,431878346,2686675385,1700445008,1080580658,1009431731,832498133,3223435511,2605976345,2271191193,2516031870,1648197032,4164389018,2548247927,300782431,375919233,238389289,3353747414,2531188641,2019080857,1475708069,455242339,2609103871,448939670,3451063019,1395535956,2413381860,1841049896,1491858159,885456874,4264095073,4001119347,1565136089,3898914787,1108368660,540939232,1173283510,2745871338,3681308437,4207628240,3343053890,4016749493,1699691293,1103962373,3625875870,2256883143,3830138730,1031889488,3479347698,1535977030,4236805024,3251091107,2132092099,1774941330,1199868427,1452454533,157007616,2904115357,342012276,595725824,1480756522,206960106,497939518,591360097,863170706,2375253569,3596610801,1814182875,2094937945,3421402208,1082520231,3463918190,2785509508,435703966,3908032597,1641649973,2842273706,3305899714,1510255612,2148256476,2655287854,3276092548,4258621189,236887753,3681803219,274041037,1734335097,3815195456,3317970021,1899903192,1026095262,4050517792,356393447,2410691914,3873677099,3682840055,3913112168,2491498743,4132185628,2489919796,1091903735,1979897079,3170134830,3567386728,3557303409,857797738,1136121015,1342202287,507115054,2535736646,337727348,3213592640,1301675037,2528481711,1895095763,1721773893,3216771564,62756741,2142006736,835421444,2531993523,1442658625,3659876326,2882144922,676362277,1392781812,170690266,3921047035,1759253602,3611846912,1745797284,664899054,1329594018,3901205900,3045908486,2062866102,2865634940,3543621612,3464012697,1080764994,553557557,3656615353,3996768171,991055499,499776247,1265440854,648242737,3940784050,980351604,3713745714,1749149687,3396870395,4211799374,3640570775,1161844396,3125318951,1431517754,545492359,4268468663,3499529547,1437099964,2702547544,3433638243,2581715763,2787789398,1060185593,1593081372,2418618748,4260947970,69676912,2159744348,86519011,2512459080,3838209314,1220612927,3339683548,133810670,1090789135,1078426020,1569222167,845107691,3583754449,4072456591,1091646820,628848692,1613405280,3757631651,526609435,236106946,48312990,2942717905,3402727701,1797494240,859738849,992217954,4005476642,2243076622,3870952857,3732016268,765654824,3490871365,2511836413,1685915746,3888969200,1414112111,2273134842,3281911079,4080962846,172450625,2569994100,980381355,4109958455,2819808352,2716589560,2568741196,3681446669,3329971472,1835478071,660984891,3704678404,4045999559,3422617507,3040415634,1762651403,1719377915,3470491036,2693910283,3642056355,3138596744,1364962596,2073328063,1983633131,926494387,3423689081,2150032023,4096667949,1749200295,3328846651,309677260,2016342300,1779581495,3079819751,111262694,1274766160,443224088,298511866,1025883608,3806446537,1145181785,168956806,3641502830,3584813610,1689216846,3666258015,3200248200,1692713982,2646376535,4042768518,1618508792,1610833997,3523052358,4130873264,2001055236,3610705100,2202168115,4028541809,2961195399,1006657119,2006996926,3186142756,1430667929,3210227297,1314452623,4074634658,4101304120,2273951170,1399257539,3367210612,3027628629,1190975929,2062231137,2333990788,2221543033,2438960610,1181637006,548689776,2362791313,3372408396,3104550113,3145860560,296247880,1970579870,3078560182,3769228297,1714227617,3291629107,3898220290,166772364,1251581989,493813264,448347421,195405023,2709975567,677966185,3703036547,1463355134,2715995803,1338867538,1343315457,2802222074,2684532164,233230375,2599980071,2000651841,3277868038,1638401717,4028070440,3237316320,6314154,819756386,300326615,590932579,1405279636,3267499572,3150704214,2428286686,3959192993,3461946742,1862657033,1266418056,963775037,2089974820,2263052895,1917689273,448879540,3550394620,3981727096,150775221,3627908307,1303187396,508620638,2975983352,2726630617,1817252668,1876281319,1457606340,908771278,3720792119,3617206836,2455994898,1729034894,1080033504,976866871,3556439503,2881648439,1522871579,1555064734,1336096578,3548522304,2579274686,3574697629,3205460757,3593280638,3338716283,3079412587,564236357,2993598910,1781952180,1464380207,3163844217,3332601554,1699332808,1393555694,1183702653,3581086237,1288719814,691649499,2847557200,2895455976,3193889540,2717570544,1781354906,1676643554,2592534050,3230253752,1126444790,2770207658,2633158820,2210423226,2615765581,2414155088,3127139286,673620729,2805611233,1269405062,4015350505,3341807571,4149409754,1057255273,2012875353,2162469141,2276492801,2601117357,993977747,3918593370,2654263191,753973209,36408145,2530585658,25011837,3520020182,2088578344,530523599,2918365339,1524020338,1518925132,3760827505,3759777254,1202760957,3985898139,3906192525,674977740,4174734889,2031300136,2019492241,3983892565,4153806404,3822280332,352677332,2297720250,60907813,90501309,3286998549,1016092578,2535922412,2839152426,457141659,509813237,4120667899,652014361,1966332200,2975202805,55981186,2327461051,676427537,3255491064,2882294119,3433927263,1307055953,942726286,933058658,2468411793,3933900994,4215176142,1361170020,2001714738,2830558078,3274259782,1222529897,1679025792,2729314320,3714953764,1770335741,151462246,3013232138,1682292957,1483529935,471910574,1539241949,458788160,3436315007,1807016891,3718408830,978976581,1043663428,3165965781,1927990952,4200891579,2372276910,3208408903,3533431907,1412390302,2931980059,4132332400,1947078029,3881505623,4168226417,2941484381,1077988104,1320477388,886195818,18198404,3786409e3,2509781533,112762804,3463356488,1866414978,891333506,18488651,661792760,1628790961,3885187036,3141171499,876946877,2693282273,1372485963,791857591,2686433993,3759982718,3167212022,3472953795,2716379847,445679433,3561995674,3504004811,3574258232,54117162,3331405415,2381918588,3769707343,4154350007,1140177722,4074052095,668550556,3214352940,367459370,261225585,2610173221,4209349473,3468074219,3265815641,314222801,3066103646,3808782860,282218597,3406013506,3773591054,379116347,1285071038,846784868,2669647154,3771962079,3550491691,2305946142,453669953,1268987020,3317592352,3279303384,3744833421,2610507566,3859509063,266596637,3847019092,517658769,3462560207,3443424879,370717030,4247526661,2224018117,4143653529,4112773975,2788324899,2477274417,1456262402,2901442914,1517677493,1846949527,2295493580,3734397586,2176403920,1280348187,1908823572,3871786941,846861322,1172426758,3287448474,3383383037,1655181056,3139813346,901632758,1897031941,2986607138,3066810236,3447102507,1393639104,373351379,950779232,625454576,3124240540,4148612726,2007998917,544563296,2244738638,2330496472,2058025392,1291430526,424198748,50039436,29584100,3605783033,2429876329,2791104160,1057563949,3255363231,3075367218,3463963227,1469046755,985887462],q=[1332899944,1700884034,1701343084,1684370003,1668446532,1869963892];function oe($,E,A,w){var v,C=$[E],R=$[E+1];return C^=A[0],v=w[C>>>24],v+=w[256|C>>16&255],v^=w[512|C>>8&255],v+=w[768|C&255],R^=v^A[1],v=w[R>>>24],v+=w[256|R>>16&255],v^=w[512|R>>8&255],v+=w[768|R&255],C^=v^A[2],v=w[C>>>24],v+=w[256|C>>16&255],v^=w[512|C>>8&255],v+=w[768|C&255],R^=v^A[3],v=w[R>>>24],v+=w[256|R>>16&255],v^=w[512|R>>8&255],v+=w[768|R&255],C^=v^A[4],v=w[C>>>24],v+=w[256|C>>16&255],v^=w[512|C>>8&255],v+=w[768|C&255],R^=v^A[5],v=w[R>>>24],v+=w[256|R>>16&255],v^=w[512|R>>8&255],v+=w[768|R&255],C^=v^A[6],v=w[C>>>24],v+=w[256|C>>16&255],v^=w[512|C>>8&255],v+=w[768|C&255],R^=v^A[7],v=w[R>>>24],v+=w[256|R>>16&255],v^=w[512|R>>8&255],v+=w[768|R&255],C^=v^A[8],v=w[C>>>24],v+=w[256|C>>16&255],v^=w[512|C>>8&255],v+=w[768|C&255],R^=v^A[9],v=w[R>>>24],v+=w[256|R>>16&255],v^=w[512|R>>8&255],v+=w[768|R&255],C^=v^A[10],v=w[C>>>24],v+=w[256|C>>16&255],v^=w[512|C>>8&255],v+=w[768|C&255],R^=v^A[11],v=w[R>>>24],v+=w[256|R>>16&255],v^=w[512|R>>8&255],v+=w[768|R&255],C^=v^A[12],v=w[C>>>24],v+=w[256|C>>16&255],v^=w[512|C>>8&255],v+=w[768|C&255],R^=v^A[13],v=w[R>>>24],v+=w[256|R>>16&255],v^=w[512|R>>8&255],v+=w[768|R&255],C^=v^A[14],v=w[C>>>24],v+=w[256|C>>16&255],v^=w[512|C>>8&255],v+=w[768|C&255],R^=v^A[15],v=w[R>>>24],v+=w[256|R>>16&255],v^=w[512|R>>8&255],v+=w[768|R&255],C^=v^A[16],$[E]=R^A[b+1],$[E+1]=C,$}function pe($,E){for(var A=0,w=0;A<4;++A)w=w<<8|$[E]&255,E=(E+1)%$.length;return{key:w,offp:E}}function ce($,E,A){for(var w=0,v=[0,0],C=E.length,R=A.length,Z,K=0;K<C;K++)Z=pe($,w),w=Z.offp,E[K]=E[K]^Z.key;for(K=0;K<C;K+=2)v=oe(v,0,E,A),E[K]=v[0],E[K+1]=v[1];for(K=0;K<R;K+=2)v=oe(v,0,E,A),A[K]=v[0],A[K+1]=v[1]}function Re($,E,A,w){for(var v=0,C=[0,0],R=A.length,Z=w.length,K,ee=0;ee<R;ee++)K=pe(E,v),v=K.offp,A[ee]=A[ee]^K.key;for(v=0,ee=0;ee<R;ee+=2)K=pe($,v),v=K.offp,C[0]^=K.key,K=pe($,v),v=K.offp,C[1]^=K.key,C=oe(C,0,A,w),A[ee]=C[0],A[ee+1]=C[1];for(ee=0;ee<Z;ee+=2)K=pe($,v),v=K.offp,C[0]^=K.key,K=pe($,v),v=K.offp,C[1]^=K.key,C=oe(C,0,A,w),w[ee]=C[0],w[ee+1]=C[1]}function nt($,E,A,w,v){var C=q.slice(),R=C.length,Z;if(A<4||A>31)if(Z=Error("Illegal number of rounds (4-31): "+A),w){o(w.bind(this,Z));return}else throw Z;if(E.length!==h)if(Z=Error("Illegal salt length: "+E.length+" != "+h),w){o(w.bind(this,Z));return}else throw Z;A=1<<A>>>0;var K,ee,se=0,M;Int32Array?(K=new Int32Array(O),ee=new Int32Array(T)):(K=O.slice(),ee=T.slice()),Re(E,$,K,ee);function Se(){if(v&&v(se/A),se<A)for(var de=Date.now();se<A&&(se=se+1,ce($,K,ee),ce(E,K,ee),!(Date.now()-de>S)););else{for(se=0;se<64;se++)for(M=0;M<R>>1;M++)oe(C,M<<1,K,ee);var we=[];for(se=0;se<R;se++)we.push((C[se]>>24&255)>>>0),we.push((C[se]>>16&255)>>>0),we.push((C[se]>>8&255)>>>0),we.push((C[se]&255)>>>0);if(w){w(null,we);return}else return we}w&&o(Se)}if(typeof w<"u")Se();else for(var Gt;;)if(typeof(Gt=Se())<"u")return Gt||[]}function De($,E,A,w){var v;if(typeof $!="string"||typeof E!="string")if(v=Error("Invalid string / salt: Not a string"),A){o(A.bind(this,v));return}else throw v;var C,R;if(E.charAt(0)!=="$"||E.charAt(1)!=="2")if(v=Error("Invalid salt version: "+E.substring(0,2)),A){o(A.bind(this,v));return}else throw v;if(E.charAt(2)==="$")C="\0",R=3;else{if(C=E.charAt(2),C!=="a"&&C!=="b"&&C!=="y"||E.charAt(3)!=="$")if(v=Error("Invalid salt revision: "+E.substring(2,4)),A){o(A.bind(this,v));return}else throw v;R=4}if(E.charAt(R+2)>"$")if(v=Error("Missing salt rounds"),A){o(A.bind(this,v));return}else throw v;var Z=parseInt(E.substring(R,R+1),10)*10,K=parseInt(E.substring(R+1,R+2),10),ee=Z+K,se=E.substring(R+3,R+25);$+=C>="a"?"\0":"";var M=c($),Se=m(se,h);function Gt(de){var we=[];return we.push("$2"),C>="a"&&we.push(C),we.push("$"),ee<10&&we.push("0"),we.push(ee.toString()),we.push("$"),we.push(g(Se,Se.length)),we.push(g(de,q.length*4-1)),we.join("")}if(typeof A>"u")return Gt(nt(M,Se,ee));nt(M,Se,ee,function(de,we){de?A(de,null):A(null,Gt(we))},w)}return e.encodeBase64=g,e.decodeBase64=m,e})})(Vd);var lg=Vd.exports;const Ja=ig(lg),ug="useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict";let dg=n=>crypto.getRandomValues(new Uint8Array(n)),pg=(n,e,t)=>{let i=(2<<Math.log2(n.length-1))-1,r=-~(1.6*i*e/n.length);return(s=e)=>{let o="";for(;;){let c=t(r),l=r;for(;l--;)if(o+=n[c[l]&i]||"",o.length===s)return o}}},fg=(n,e=21)=>pg(n,e,dg),Ke=(n=21)=>{let e="",t=crypto.getRandomValues(new Uint8Array(n));for(;n--;)e+=ug[t[n]&63];return e};const hg=24;function Za(){return fg("0123456789abcdef",hg)()}function vl(n){if(!n.includes("|"))return console.error("Invalid user_id format"),n;const[,e]=n.split("|");return e}async function Md(n,e,t){return(await n.list(e,{page:0,per_page:10,include_totals:!1,q:`email:${t}`})).users}async function Ya({userAdapter:n,tenant_id:e,email:t,provider:i}){const{users:r}=await n.list(e,{page:0,per_page:10,include_totals:!1,q:`email:${t} provider:${i}`});return r.length>1&&console.error("More than one user found for same email and provider"),r[0]||null}async function Hd({userAdapter:n,tenant_id:e,email:t}){var c;const{users:i}=await n.list(e,{page:0,per_page:10,include_totals:!1,q:`email:${t}`}),r=i.filter(l=>!(l.provider==="auth2"&&!l.email_verified));if(r.length===0)return;const s=r.filter(l=>!l.linked_to);if(s.length>0)return s.length>1&&console.error("More than one primary user found for same email"),s[0];const o=await n.get(e,(c=r[0])==null?void 0:c.linked_to);if(!o)throw new Error("Primary account not found");return o}async function os({userAdapter:n,tenant_id:e,email:t,provider:i}){const r=await Ya({userAdapter:n,tenant_id:e,email:t,provider:i});return r?r.linked_to?n.get(e,r.linked_to):r:null}const on=a.z.object({page:a.z.string().min(0).optional().default("0").transform(n=>parseInt(n,10)).openapi({description:"The page number where 0 is the first page"}),per_page:a.z.string().min(1).optional().default("10").transform(n=>parseInt(n,10)).openapi({description:"The number of items per page"}),include_totals:a.z.string().optional().default("false").transform(n=>n==="true").openapi({description:"If the total number of items should be included in the response"}),sort:a.z.string().regex(/^.+:(-1|1)$/).optional().openapi({description:"A property that should have the format 'string:-1' or 'string:1'"}),q:a.z.string().optional().openapi({description:"A lucene query string used to filter the results"})});function Dn(n){if(!n)return;const[e,t]=n.split(":"),i=t==="1"?"asc":"desc";if(!(!e||!i))return{sort_by:e,sort_order:i}}function be(n,e){return{type:e.type,description:e.description||"",ip:n.req.header("x-real-ip")||"",user_agent:n.req.header("user-agent")||"",date:new Date().toISOString(),details:{request:{method:n.req.method,path:n.req.path,qs:n.req.queries(),body:e.body||n.var.body||""}},isMobile:!1,client_id:n.var.client_id,client_name:"",user_id:e.userId||n.var.user_id||"",hostname:n.req.header("host")||"",user_name:n.var.username||"",connection_id:"",connection:n.var.connection||"",strategy:e.strategy||"",strategy_type:e.strategy_type||"",audience:"",scope:[]}}var gg={deno:"Deno",bun:"Bun",workerd:"Cloudflare-Workers",node:"Node.js"},_g=()=>{var t,i;const n=globalThis;if(typeof navigator<"u"&&typeof navigator.userAgent=="string"){for(const[r,s]of Object.entries(gg))if(mg(s))return r}return typeof(n==null?void 0:n.EdgeRuntime)=="string"?"edge-light":(n==null?void 0:n.fastly)!==void 0?"fastly":((i=(t=n==null?void 0:n.process)==null?void 0:t.release)==null?void 0:i.name)==="node"?"node":"other"},mg=n=>navigator.userAgent.startsWith(n);function gt(n,e){_g()==="workerd"&&n.executionCtx.waitUntil(e)}const wl=Dt.extend({users:a.z.array(ft)}),yg=Dt.extend({sessions:a.z.array(Ga)}),vg=new a.OpenAPIHono().openapi(a.createRoute({tags:["users"],method:"get",path:"/",request:{query:on,headers:a.z.object({"tenant-id":a.z.string()})},security:[{Bearer:["auth:read"]}],responses:{200:{content:{"application/json":{schema:a.z.union([a.z.array(ft),wl])}},description:"List of users"}}}),async n=>{const{page:e,per_page:t,include_totals:i,sort:r,q:s}=n.req.valid("query"),{"tenant-id":o}=n.req.valid("header");if(s!=null&&s.includes("identities.profileData.email")){const p=s.split("=")[1],m=(await n.env.data.users.list(o,{page:e,per_page:t,include_totals:i,q:`email:${p}`})).users.filter(_=>_.linked_to),[x]=m;if(!x)return n.json([]);const h=await n.env.data.users.get(o,x.linked_to);if(!h)throw new N(500,{message:"Primary account not found"});return n.json([ft.parse(h)])}const c=["-_exists_:linked_to"];s&&c.push(s);const l=await n.env.data.users.list(o,{page:e,per_page:t,include_totals:i,sort:Dn(r),q:c.join(" ")}),u=l.users.filter(p=>!p.linked_to);return i?n.json(wl.parse({users:u,length:l.length,start:l.start,limit:l.limit})):n.json(a.z.array(ft).parse(u))}).openapi(a.createRoute({tags:["users"],method:"get",path:"/{user_id}",request:{headers:a.z.object({"tenant-id":a.z.string()}),params:a.z.object({user_id:a.z.string()})},security:[{Bearer:["auth:read"]}],responses:{200:{content:{"application/json":{schema:ft}},description:"List of users"}}}),async n=>{const{user_id:e}=n.req.valid("param"),{"tenant-id":t}=n.req.valid("header"),i=await n.env.data.users.get(t,e);if(!i)throw new N(404);if(i.linked_to)throw new N(404,{message:"User is linked to another user"});return n.json(i)}).openapi(a.createRoute({tags:["users"],method:"delete",path:"/{user_id}",request:{headers:a.z.object({"tenant-id":a.z.string()}),params:a.z.object({user_id:a.z.string()})},security:[{Bearer:["auth:write"]}],responses:{200:{description:"Status"}}}),async n=>{const{user_id:e}=n.req.valid("param"),{"tenant-id":t}=n.req.valid("header");if(!await n.env.data.users.remove(t,e))throw new N(404);return n.text("OK")}).openapi(a.createRoute({tags:["users"],method:"post",path:"/",request:{headers:a.z.object({"tenant-id":a.z.string()}),body:{content:{"application/json":{schema:a.z.object({...pr.shape})}}}},security:[{Bearer:["auth:write"]}],responses:{200:{content:{"application/json":{schema:ft}},description:"Status"}}}),async n=>{const{"tenant-id":e}=n.req.valid("header"),t=n.req.valid("json");n.set("body",t);const{email:i}=t;if(!i)throw new N(400,{message:"Email is required"});const r=i.toLowerCase(),s=`${t.provider}|${t.user_id||Za()}`;try{const o=await n.env.data.users.create(e,{email:r,user_id:s,name:t.name||r,provider:t.provider,connection:t.connection,email_verified:t.email_verified||!1,last_ip:"",is_social:!1,last_login:new Date().toISOString()});n.set("user_id",o.user_id);const c=be(n,{type:_e.SUCCESS_API_OPERATION,description:"User created"});gt(n,n.env.data.logs.create(e,c));const l={...o,identities:[{connection:o.connection,provider:o.provider,user_id:vl(o.user_id),isSocial:o.is_social}]};return n.json(ft.parse(l),{status:201})}catch(o){throw o.message==="User already exists"?new N(409,{message:"User already exists"}):o}}).openapi(a.createRoute({tags:["users"],method:"patch",path:"/{user_id}",request:{headers:a.z.object({"tenant-id":a.z.string()}),body:{content:{"application/json":{schema:a.z.object({...pr.shape,verify_email:a.z.boolean(),password:a.z.string()}).partial()}}},params:a.z.object({user_id:a.z.string()})},security:[{Bearer:["auth:write"]}],responses:{200:{description:"Status"}}}),async n=>{var u;const{"tenant-id":e}=n.req.valid("header"),t=n.req.valid("json"),{user_id:i}=n.req.valid("param"),{verify_email:r,password:s,...o}=t,c=await n.env.data.users.get(e,i);if(!c)throw new N(404);if(o.email&&o.email!==c.email){const p=await Md(n.env.data.users,e,o.email);if(p.length&&p.some(g=>g.user_id!==i))throw new N(409,{message:"Another user with the same email address already exists."})}if(c.linked_to)throw new N(404,{message:"User is linked to another user"});if(await n.env.data.users.update(e,i,o),s){const p=(u=c.identities)==null?void 0:u.find(g=>g.connection==="Username-Password-Authentication");if(!p)throw new N(400,{message:"User does not have a password identity"});await n.env.data.passwords.update(e,{user_id:`${p.provider}|${p.user_id}`,password:Ja.hashSync(s,10),algorithm:"bcrypt"})}const l=await n.env.data.users.get(e,i);if(!l)throw new N(500);return n.json(l)}).openapi(a.createRoute({tags:["users"],method:"post",path:"/{user_id}/identities",request:{headers:a.z.object({"tenant-id":a.z.string()}),body:{content:{"application/json":{schema:a.z.union([a.z.object({link_with:a.z.string()}),a.z.object({user_id:a.z.string(),provider:a.z.string(),connection:a.z.string().optional()})])}}},params:a.z.object({user_id:a.z.string()})},security:[{Bearer:["auth:write"]}],responses:{200:{content:{"application/json":{schema:a.z.array(a.z.object({connection:a.z.string(),provider:a.z.string(),user_id:a.z.string(),isSocial:a.z.boolean()}))}},description:"Status"}}}),async n=>{const{"tenant-id":e}=n.req.valid("header"),t=n.req.valid("json"),{user_id:i}=n.req.valid("param"),r="link_with"in t?t.link_with:t.user_id,s=await n.env.data.users.get(e,i);if(!s)throw new N(400,{message:"Linking an inexistent identity is not allowed."});await n.env.data.users.update(e,r,{linked_to:i});const o=await n.env.data.users.list(e,{page:0,per_page:10,include_totals:!1,q:`linked_to:${i}`}),c=[s,...o.users].map(l=>({connection:l.connection,provider:l.provider,user_id:vl(l.user_id),isSocial:l.is_social}));return n.json(c,{status:201})}).openapi(a.createRoute({tags:["users"],method:"delete",path:"/{user_id}/identities/{provider}/{linked_user_id}",request:{headers:a.z.object({"tenant-id":a.z.string()}),params:a.z.object({user_id:a.z.string(),provider:a.z.string(),linked_user_id:a.z.string()})},security:[{Bearer:["auth:write"]}],responses:{200:{content:{"application/json":{schema:a.z.array(ft)}},description:"Status"}}}),async n=>{const{"tenant-id":e}=n.req.valid("header"),{user_id:t,provider:i,linked_user_id:r}=n.req.valid("param");await n.env.data.users.unlink(e,t,i,r);const s=await n.env.data.users.get(e,t);if(!s)throw new N(404);return n.json([ft.parse(s)])}).openapi(a.createRoute({tags:["users"],method:"get",path:"/{user_id}/sessions",request:{query:on,headers:a.z.object({"tenant-id":a.z.string()}),params:a.z.object({user_id:a.z.string()})},security:[{Bearer:["auth:read"]}],responses:{200:{content:{"application/json":{schema:a.z.union([a.z.array(Ga),yg])}},description:"List of sessions"}}}),async n=>{const{user_id:e}=n.req.valid("param"),{include_totals:t}=n.req.valid("query"),{"tenant-id":i}=n.req.valid("header"),r=await n.env.data.sessions.list(i,{page:0,per_page:10,include_totals:!1,q:`user_id:${e}`});return t?n.json(r):n.json(r.sessions)});/*! *****************************************************************************
|
|
6
6
|
Copyright (C) Microsoft. All rights reserved.
|
|
7
7
|
Licensed under the Apache License, Version 2.0 (the "License"); you may not use
|
|
8
8
|
this file except in compliance with the License. You may obtain a copy of the
|
|
@@ -15,7 +15,7 @@ MERCHANTABLITY OR NON-INFRINGEMENT.
|
|
|
15
15
|
|
|
16
16
|
See the Apache Version 2.0 License for specific language governing permissions
|
|
17
17
|
and limitations under the License.
|
|
18
|
-
***************************************************************************** */var bl;(function(n){(function(e){var t=typeof globalThis=="object"?globalThis:typeof vr=="object"?vr:typeof self=="object"?self:typeof this=="object"?this:c(),i=r(n);typeof t.Reflect<"u"&&(i=r(t.Reflect,i)),e(i,t),typeof t.Reflect>"u"&&(t.Reflect=n);function r(l,u){return function(p,g){Object.defineProperty(l,p,{configurable:!0,writable:!0,value:g}),u&&u(p,g)}}function s(){try{return Function("return this;")()}catch{}}function o(){try{return(0,eval)("(function() { return this; })()")}catch{}}function c(){return s()||o()}})(function(e,t){var i=Object.prototype.hasOwnProperty,r=typeof Symbol=="function",s=r&&typeof Symbol.toPrimitive<"u"?Symbol.toPrimitive:"@@toPrimitive",o=r&&typeof Symbol.iterator<"u"?Symbol.iterator:"@@iterator",c=typeof Object.create=="function",l={__proto__:[]}instanceof Array,u=!c&&!l,p={create:c?function(){return no(Object.create(null))}:l?function(){return no({__proto__:null})}:function(){return no({})},has:u?function(k,I){return i.call(k,I)}:function(k,I){return I in k},get:u?function(k,I){return i.call(k,I)?k[I]:void 0}:function(k,I){return k[I]}},g=Object.getPrototypeOf(Function),m=typeof Map=="function"&&typeof Map.prototype.entries=="function"?Map:vh(),x=typeof Set=="function"&&typeof Set.prototype.entries=="function"?Set:wh(),h=typeof WeakMap=="function"?WeakMap:bh(),_=r?Symbol.for("@reflect-metadata:registry"):void 0,b=_h(),S=mh(b);function O(k,I,j,P){if(M(j)){if(!Qc(k))throw new TypeError;if(!el(I))throw new TypeError;return E(k,I)}else{if(!Qc(k))throw new TypeError;if(!de(I))throw new TypeError;if(!de(P)&&!M(P)&&!Se(P))throw new TypeError;return Se(P)&&(P=void 0),j=ut(j),A(k,I,j,P)}}e("decorate",O);function T(k,I){function j(P,Y){if(!de(P))throw new TypeError;if(!M(Y)&&!hh(Y))throw new TypeError;Z(k,I,P,Y)}return j}e("metadata",T);function q(k,I,j,P){if(!de(j))throw new TypeError;return M(P)||(P=ut(P)),Z(k,I,j,P)}e("defineMetadata",q);function oe(k,I,j){if(!de(I))throw new TypeError;return M(j)||(j=ut(j)),w(k,I,j)}e("hasMetadata",oe);function pe(k,I,j){if(!de(I))throw new TypeError;return M(j)||(j=ut(j)),v(k,I,j)}e("hasOwnMetadata",pe);function ce(k,I,j){if(!de(I))throw new TypeError;return M(j)||(j=ut(j)),C(k,I,j)}e("getMetadata",ce);function Re(k,I,j){if(!de(I))throw new TypeError;return M(j)||(j=ut(j)),R(k,I,j)}e("getOwnMetadata",Re);function nt(k,I){if(!de(k))throw new TypeError;return M(I)||(I=ut(I)),K(k,I)}e("getMetadataKeys",nt);function De(k,I){if(!de(k))throw new TypeError;return M(I)||(I=ut(I)),ee(k,I)}e("getOwnMetadataKeys",De);function $(k,I,j){if(!de(I))throw new TypeError;if(M(j)||(j=ut(j)),!de(I))throw new TypeError;M(j)||(j=ut(j));var P=ei(I,j,!1);return M(P)?!1:P.OrdinaryDeleteMetadata(k,I,j)}e("deleteMetadata",$);function E(k,I){for(var j=k.length-1;j>=0;--j){var P=k[j],Y=P(I);if(!M(Y)&&!Se(Y)){if(!el(Y))throw new TypeError;I=Y}}return I}function A(k,I,j,P){for(var Y=k.length-1;Y>=0;--Y){var Ae=k[Y],be=Ae(I,j,P);if(!M(be)&&!Se(be)){if(!de(be))throw new TypeError;P=be}}return P}function w(k,I,j){var P=v(k,I,j);if(P)return!0;var Y=to(I);return Se(Y)?!1:w(k,Y,j)}function v(k,I,j){var P=ei(I,j,!1);return M(P)?!1:Xc(P.OrdinaryHasOwnMetadata(k,I,j))}function C(k,I,j){var P=v(k,I,j);if(P)return R(k,I,j);var Y=to(I);if(!Se(Y))return C(k,Y,j)}function R(k,I,j){var P=ei(I,j,!1);if(!M(P))return P.OrdinaryGetOwnMetadata(k,I,j)}function Z(k,I,j,P){var Y=ei(j,P,!0);Y.OrdinaryDefineOwnMetadata(k,I,j,P)}function K(k,I){var j=ee(k,I),P=to(k);if(P===null)return j;var Y=K(P,I);if(Y.length<=0)return j;if(j.length<=0)return Y;for(var Ae=new x,be=[],ne=0,V=j;ne<V.length;ne++){var F=V[ne],G=Ae.has(F);G||(Ae.add(F),be.push(F))}for(var J=0,ie=Y;J<ie.length;J++){var F=ie[J],G=Ae.has(F);G||(Ae.add(F),be.push(F))}return be}function ee(k,I){var j=ei(k,I,!1);return j?j.OrdinaryOwnMetadataKeys(k,I):[]}function se(k){if(k===null)return 1;switch(typeof k){case"undefined":return 0;case"boolean":return 2;case"string":return 3;case"symbol":return 4;case"number":return 5;case"object":return k===null?1:6;default:return 6}}function M(k){return k===void 0}function Se(k){return k===null}function Gt(k){return typeof k=="symbol"}function de(k){return typeof k=="object"?k!==null:typeof k=="function"}function we(k,I){switch(se(k)){case 0:return k;case 1:return k;case 2:return k;case 3:return k;case 4:return k;case 5:return k}var j="string",P=tl(k,s);if(P!==void 0){var Y=P.call(k,j);if(de(Y))throw new TypeError;return Y}return ph(k)}function ph(k,I){var j,P;{var Y=k.toString;if(Wi(Y)){var P=Y.call(k);if(!de(P))return P}var j=k.valueOf;if(Wi(j)){var P=j.call(k);if(!de(P))return P}}throw new TypeError}function Xc(k){return!!k}function fh(k){return""+k}function ut(k){var I=we(k);return Gt(I)?I:fh(I)}function Qc(k){return Array.isArray?Array.isArray(k):k instanceof Object?k instanceof Array:Object.prototype.toString.call(k)==="[object Array]"}function Wi(k){return typeof k=="function"}function el(k){return typeof k=="function"}function hh(k){switch(se(k)){case 3:return!0;case 4:return!0;default:return!1}}function eo(k,I){return k===I||k!==k&&I!==I}function tl(k,I){var j=k[I];if(j!=null){if(!Wi(j))throw new TypeError;return j}}function nl(k){var I=tl(k,o);if(!Wi(I))throw new TypeError;var j=I.call(k);if(!de(j))throw new TypeError;return j}function il(k){return k.value}function rl(k){var I=k.next();return I.done?!1:I}function sl(k){var I=k.return;I&&I.call(k)}function to(k){var I=Object.getPrototypeOf(k);if(typeof k!="function"||k===g||I!==g)return I;var j=k.prototype,P=j&&Object.getPrototypeOf(j);if(P==null||P===Object.prototype)return I;var Y=P.constructor;return typeof Y!="function"||Y===k?I:Y}function gh(){var k;!M(_)&&typeof t.Reflect<"u"&&!(_ in t.Reflect)&&typeof t.Reflect.defineMetadata=="function"&&(k=yh(t.Reflect));var I,j,P,Y=new h,Ae={registerProvider:be,getProvider:V,setProvider:G};return Ae;function be(J){if(!Object.isExtensible(Ae))throw new Error("Cannot add provider to a frozen registry.");switch(!0){case k===J:break;case M(I):I=J;break;case I===J:break;case M(j):j=J;break;case j===J:break;default:P===void 0&&(P=new x),P.add(J);break}}function ne(J,ie){if(!M(I)){if(I.isProviderFor(J,ie))return I;if(!M(j)){if(j.isProviderFor(J,ie))return I;if(!M(P))for(var fe=nl(P);;){var me=rl(fe);if(!me)return;var it=il(me);if(it.isProviderFor(J,ie))return sl(fe),it}}}if(!M(k)&&k.isProviderFor(J,ie))return k}function V(J,ie){var fe=Y.get(J),me;return M(fe)||(me=fe.get(ie)),M(me)&&(me=ne(J,ie),M(me)||(M(fe)&&(fe=new m,Y.set(J,fe)),fe.set(ie,me))),me}function F(J){if(M(J))throw new TypeError;return I===J||j===J||!M(P)&&P.has(J)}function G(J,ie,fe){if(!F(fe))throw new Error("Metadata provider not registered.");var me=V(J,ie);if(me!==fe){if(!M(me))return!1;var it=Y.get(J);M(it)&&(it=new m,Y.set(J,it)),it.set(ie,fe)}return!0}}function _h(){var k;return!M(_)&&de(t.Reflect)&&Object.isExtensible(t.Reflect)&&(k=t.Reflect[_]),M(k)&&(k=gh()),!M(_)&&de(t.Reflect)&&Object.isExtensible(t.Reflect)&&Object.defineProperty(t.Reflect,_,{enumerable:!1,configurable:!1,writable:!1,value:k}),k}function mh(k){var I=new h,j={isProviderFor:function(F,G){var J=I.get(F);return M(J)?!1:J.has(G)},OrdinaryDefineOwnMetadata:be,OrdinaryHasOwnMetadata:Y,OrdinaryGetOwnMetadata:Ae,OrdinaryOwnMetadataKeys:ne,OrdinaryDeleteMetadata:V};return b.registerProvider(j),j;function P(F,G,J){var ie=I.get(F),fe=!1;if(M(ie)){if(!J)return;ie=new m,I.set(F,ie),fe=!0}var me=ie.get(G);if(M(me)){if(!J)return;if(me=new m,ie.set(G,me),!k.setProvider(F,G,j))throw ie.delete(G),fe&&I.delete(F),new Error("Wrong provider for target.")}return me}function Y(F,G,J){var ie=P(G,J,!1);return M(ie)?!1:Xc(ie.has(F))}function Ae(F,G,J){var ie=P(G,J,!1);if(!M(ie))return ie.get(F)}function be(F,G,J,ie){var fe=P(J,ie,!0);fe.set(F,G)}function ne(F,G){var J=[],ie=P(F,G,!1);if(M(ie))return J;for(var fe=ie.keys(),me=nl(fe),it=0;;){var ol=rl(me);if(!ol)return J.length=it,J;var kh=il(ol);try{J[it]=kh}catch(xh){try{sl(me)}finally{throw xh}}it++}}function V(F,G,J){var ie=P(G,J,!1);if(M(ie)||!ie.delete(F))return!1;if(ie.size===0){var fe=I.get(G);M(fe)||(fe.delete(J),fe.size===0&&I.delete(fe))}return!0}}function yh(k){var I=k.defineMetadata,j=k.hasOwnMetadata,P=k.getOwnMetadata,Y=k.getOwnMetadataKeys,Ae=k.deleteMetadata,be=new h,ne={isProviderFor:function(V,F){var G=be.get(V);return!M(G)&&G.has(F)?!0:Y(V,F).length?(M(G)&&(G=new x,be.set(V,G)),G.add(F),!0):!1},OrdinaryDefineOwnMetadata:I,OrdinaryHasOwnMetadata:j,OrdinaryGetOwnMetadata:P,OrdinaryOwnMetadataKeys:Y,OrdinaryDeleteMetadata:Ae};return ne}function ei(k,I,j){var P=b.getProvider(k,I);if(!M(P))return P;if(j){if(b.setProvider(k,I,S))return S;throw new Error("Illegal state.")}}function vh(){var k={},I=[],j=function(){function ne(V,F,G){this._index=0,this._keys=V,this._values=F,this._selector=G}return ne.prototype["@@iterator"]=function(){return this},ne.prototype[o]=function(){return this},ne.prototype.next=function(){var V=this._index;if(V>=0&&V<this._keys.length){var F=this._selector(this._keys[V],this._values[V]);return V+1>=this._keys.length?(this._index=-1,this._keys=I,this._values=I):this._index++,{value:F,done:!1}}return{value:void 0,done:!0}},ne.prototype.throw=function(V){throw this._index>=0&&(this._index=-1,this._keys=I,this._values=I),V},ne.prototype.return=function(V){return this._index>=0&&(this._index=-1,this._keys=I,this._values=I),{value:V,done:!0}},ne}(),P=function(){function ne(){this._keys=[],this._values=[],this._cacheKey=k,this._cacheIndex=-2}return Object.defineProperty(ne.prototype,"size",{get:function(){return this._keys.length},enumerable:!0,configurable:!0}),ne.prototype.has=function(V){return this._find(V,!1)>=0},ne.prototype.get=function(V){var F=this._find(V,!1);return F>=0?this._values[F]:void 0},ne.prototype.set=function(V,F){var G=this._find(V,!0);return this._values[G]=F,this},ne.prototype.delete=function(V){var F=this._find(V,!1);if(F>=0){for(var G=this._keys.length,J=F+1;J<G;J++)this._keys[J-1]=this._keys[J],this._values[J-1]=this._values[J];return this._keys.length--,this._values.length--,eo(V,this._cacheKey)&&(this._cacheKey=k,this._cacheIndex=-2),!0}return!1},ne.prototype.clear=function(){this._keys.length=0,this._values.length=0,this._cacheKey=k,this._cacheIndex=-2},ne.prototype.keys=function(){return new j(this._keys,this._values,Y)},ne.prototype.values=function(){return new j(this._keys,this._values,Ae)},ne.prototype.entries=function(){return new j(this._keys,this._values,be)},ne.prototype["@@iterator"]=function(){return this.entries()},ne.prototype[o]=function(){return this.entries()},ne.prototype._find=function(V,F){if(!eo(this._cacheKey,V)){this._cacheIndex=-1;for(var G=0;G<this._keys.length;G++)if(eo(this._keys[G],V)){this._cacheIndex=G;break}}return this._cacheIndex<0&&F&&(this._cacheIndex=this._keys.length,this._keys.push(V),this._values.push(void 0)),this._cacheIndex},ne}();return P;function Y(ne,V){return ne}function Ae(ne,V){return V}function be(ne,V){return[ne,V]}}function wh(){var k=function(){function I(){this._map=new m}return Object.defineProperty(I.prototype,"size",{get:function(){return this._map.size},enumerable:!0,configurable:!0}),I.prototype.has=function(j){return this._map.has(j)},I.prototype.add=function(j){return this._map.set(j,j),this},I.prototype.delete=function(j){return this._map.delete(j)},I.prototype.clear=function(){this._map.clear()},I.prototype.keys=function(){return this._map.keys()},I.prototype.values=function(){return this._map.keys()},I.prototype.entries=function(){return this._map.entries()},I.prototype["@@iterator"]=function(){return this.keys()},I.prototype[o]=function(){return this.keys()},I}();return k}function bh(){var k=16,I=p.create(),j=P();return function(){function V(){this._key=P()}return V.prototype.has=function(F){var G=Y(F,!1);return G!==void 0?p.has(G,this._key):!1},V.prototype.get=function(F){var G=Y(F,!1);return G!==void 0?p.get(G,this._key):void 0},V.prototype.set=function(F,G){var J=Y(F,!0);return J[this._key]=G,this},V.prototype.delete=function(F){var G=Y(F,!1);return G!==void 0?delete G[this._key]:!1},V.prototype.clear=function(){this._key=P()},V}();function P(){var V;do V="@@WeakMap@@"+ne();while(p.has(I,V));return I[V]=!0,V}function Y(V,F){if(!i.call(V,j)){if(!F)return;Object.defineProperty(V,j,{value:p.create()})}return V[j]}function Ae(V,F){for(var G=0;G<F;++G)V[G]=Math.random()*255|0;return V}function be(V){if(typeof Uint8Array=="function"){var F=new Uint8Array(V);return typeof crypto<"u"?crypto.getRandomValues(F):typeof msCrypto<"u"?msCrypto.getRandomValues(F):Ae(F,V),F}return Ae(new Array(V),V)}function ne(){var V=be(k);V[6]=V[6]&79|64,V[8]=V[8]&191|128;for(var F="",G=0;G<k;++G){var J=V[G];(G===4||G===6||G===8)&&(F+="-"),J<16&&(F+="0"),F+=J.toString(16).toLowerCase()}return F}}function no(k){return k.__=void 0,delete k.__,k}})})(bl||(bl={}));/*!
|
|
18
|
+
***************************************************************************** */var bl;(function(n){(function(e){var t=typeof globalThis=="object"?globalThis:typeof vr=="object"?vr:typeof self=="object"?self:typeof this=="object"?this:c(),i=r(n);typeof t.Reflect<"u"&&(i=r(t.Reflect,i)),e(i,t),typeof t.Reflect>"u"&&(t.Reflect=n);function r(l,u){return function(p,g){Object.defineProperty(l,p,{configurable:!0,writable:!0,value:g}),u&&u(p,g)}}function s(){try{return Function("return this;")()}catch{}}function o(){try{return(0,eval)("(function() { return this; })()")}catch{}}function c(){return s()||o()}})(function(e,t){var i=Object.prototype.hasOwnProperty,r=typeof Symbol=="function",s=r&&typeof Symbol.toPrimitive<"u"?Symbol.toPrimitive:"@@toPrimitive",o=r&&typeof Symbol.iterator<"u"?Symbol.iterator:"@@iterator",c=typeof Object.create=="function",l={__proto__:[]}instanceof Array,u=!c&&!l,p={create:c?function(){return no(Object.create(null))}:l?function(){return no({__proto__:null})}:function(){return no({})},has:u?function(k,I){return i.call(k,I)}:function(k,I){return I in k},get:u?function(k,I){return i.call(k,I)?k[I]:void 0}:function(k,I){return k[I]}},g=Object.getPrototypeOf(Function),m=typeof Map=="function"&&typeof Map.prototype.entries=="function"?Map:vh(),x=typeof Set=="function"&&typeof Set.prototype.entries=="function"?Set:wh(),h=typeof WeakMap=="function"?WeakMap:bh(),_=r?Symbol.for("@reflect-metadata:registry"):void 0,b=_h(),S=mh(b);function O(k,I,j,P){if(M(j)){if(!Qc(k))throw new TypeError;if(!el(I))throw new TypeError;return E(k,I)}else{if(!Qc(k))throw new TypeError;if(!de(I))throw new TypeError;if(!de(P)&&!M(P)&&!Se(P))throw new TypeError;return Se(P)&&(P=void 0),j=ut(j),A(k,I,j,P)}}e("decorate",O);function T(k,I){function j(P,Y){if(!de(P))throw new TypeError;if(!M(Y)&&!hh(Y))throw new TypeError;Z(k,I,P,Y)}return j}e("metadata",T);function q(k,I,j,P){if(!de(j))throw new TypeError;return M(P)||(P=ut(P)),Z(k,I,j,P)}e("defineMetadata",q);function oe(k,I,j){if(!de(I))throw new TypeError;return M(j)||(j=ut(j)),w(k,I,j)}e("hasMetadata",oe);function pe(k,I,j){if(!de(I))throw new TypeError;return M(j)||(j=ut(j)),v(k,I,j)}e("hasOwnMetadata",pe);function ce(k,I,j){if(!de(I))throw new TypeError;return M(j)||(j=ut(j)),C(k,I,j)}e("getMetadata",ce);function Re(k,I,j){if(!de(I))throw new TypeError;return M(j)||(j=ut(j)),R(k,I,j)}e("getOwnMetadata",Re);function nt(k,I){if(!de(k))throw new TypeError;return M(I)||(I=ut(I)),K(k,I)}e("getMetadataKeys",nt);function De(k,I){if(!de(k))throw new TypeError;return M(I)||(I=ut(I)),ee(k,I)}e("getOwnMetadataKeys",De);function $(k,I,j){if(!de(I))throw new TypeError;if(M(j)||(j=ut(j)),!de(I))throw new TypeError;M(j)||(j=ut(j));var P=ei(I,j,!1);return M(P)?!1:P.OrdinaryDeleteMetadata(k,I,j)}e("deleteMetadata",$);function E(k,I){for(var j=k.length-1;j>=0;--j){var P=k[j],Y=P(I);if(!M(Y)&&!Se(Y)){if(!el(Y))throw new TypeError;I=Y}}return I}function A(k,I,j,P){for(var Y=k.length-1;Y>=0;--Y){var Ae=k[Y],ke=Ae(I,j,P);if(!M(ke)&&!Se(ke)){if(!de(ke))throw new TypeError;P=ke}}return P}function w(k,I,j){var P=v(k,I,j);if(P)return!0;var Y=to(I);return Se(Y)?!1:w(k,Y,j)}function v(k,I,j){var P=ei(I,j,!1);return M(P)?!1:Xc(P.OrdinaryHasOwnMetadata(k,I,j))}function C(k,I,j){var P=v(k,I,j);if(P)return R(k,I,j);var Y=to(I);if(!Se(Y))return C(k,Y,j)}function R(k,I,j){var P=ei(I,j,!1);if(!M(P))return P.OrdinaryGetOwnMetadata(k,I,j)}function Z(k,I,j,P){var Y=ei(j,P,!0);Y.OrdinaryDefineOwnMetadata(k,I,j,P)}function K(k,I){var j=ee(k,I),P=to(k);if(P===null)return j;var Y=K(P,I);if(Y.length<=0)return j;if(j.length<=0)return Y;for(var Ae=new x,ke=[],ne=0,V=j;ne<V.length;ne++){var F=V[ne],G=Ae.has(F);G||(Ae.add(F),ke.push(F))}for(var J=0,ie=Y;J<ie.length;J++){var F=ie[J],G=Ae.has(F);G||(Ae.add(F),ke.push(F))}return ke}function ee(k,I){var j=ei(k,I,!1);return j?j.OrdinaryOwnMetadataKeys(k,I):[]}function se(k){if(k===null)return 1;switch(typeof k){case"undefined":return 0;case"boolean":return 2;case"string":return 3;case"symbol":return 4;case"number":return 5;case"object":return k===null?1:6;default:return 6}}function M(k){return k===void 0}function Se(k){return k===null}function Gt(k){return typeof k=="symbol"}function de(k){return typeof k=="object"?k!==null:typeof k=="function"}function we(k,I){switch(se(k)){case 0:return k;case 1:return k;case 2:return k;case 3:return k;case 4:return k;case 5:return k}var j="string",P=tl(k,s);if(P!==void 0){var Y=P.call(k,j);if(de(Y))throw new TypeError;return Y}return ph(k)}function ph(k,I){var j,P;{var Y=k.toString;if(Wi(Y)){var P=Y.call(k);if(!de(P))return P}var j=k.valueOf;if(Wi(j)){var P=j.call(k);if(!de(P))return P}}throw new TypeError}function Xc(k){return!!k}function fh(k){return""+k}function ut(k){var I=we(k);return Gt(I)?I:fh(I)}function Qc(k){return Array.isArray?Array.isArray(k):k instanceof Object?k instanceof Array:Object.prototype.toString.call(k)==="[object Array]"}function Wi(k){return typeof k=="function"}function el(k){return typeof k=="function"}function hh(k){switch(se(k)){case 3:return!0;case 4:return!0;default:return!1}}function eo(k,I){return k===I||k!==k&&I!==I}function tl(k,I){var j=k[I];if(j!=null){if(!Wi(j))throw new TypeError;return j}}function nl(k){var I=tl(k,o);if(!Wi(I))throw new TypeError;var j=I.call(k);if(!de(j))throw new TypeError;return j}function il(k){return k.value}function rl(k){var I=k.next();return I.done?!1:I}function sl(k){var I=k.return;I&&I.call(k)}function to(k){var I=Object.getPrototypeOf(k);if(typeof k!="function"||k===g||I!==g)return I;var j=k.prototype,P=j&&Object.getPrototypeOf(j);if(P==null||P===Object.prototype)return I;var Y=P.constructor;return typeof Y!="function"||Y===k?I:Y}function gh(){var k;!M(_)&&typeof t.Reflect<"u"&&!(_ in t.Reflect)&&typeof t.Reflect.defineMetadata=="function"&&(k=yh(t.Reflect));var I,j,P,Y=new h,Ae={registerProvider:ke,getProvider:V,setProvider:G};return Ae;function ke(J){if(!Object.isExtensible(Ae))throw new Error("Cannot add provider to a frozen registry.");switch(!0){case k===J:break;case M(I):I=J;break;case I===J:break;case M(j):j=J;break;case j===J:break;default:P===void 0&&(P=new x),P.add(J);break}}function ne(J,ie){if(!M(I)){if(I.isProviderFor(J,ie))return I;if(!M(j)){if(j.isProviderFor(J,ie))return I;if(!M(P))for(var fe=nl(P);;){var me=rl(fe);if(!me)return;var it=il(me);if(it.isProviderFor(J,ie))return sl(fe),it}}}if(!M(k)&&k.isProviderFor(J,ie))return k}function V(J,ie){var fe=Y.get(J),me;return M(fe)||(me=fe.get(ie)),M(me)&&(me=ne(J,ie),M(me)||(M(fe)&&(fe=new m,Y.set(J,fe)),fe.set(ie,me))),me}function F(J){if(M(J))throw new TypeError;return I===J||j===J||!M(P)&&P.has(J)}function G(J,ie,fe){if(!F(fe))throw new Error("Metadata provider not registered.");var me=V(J,ie);if(me!==fe){if(!M(me))return!1;var it=Y.get(J);M(it)&&(it=new m,Y.set(J,it)),it.set(ie,fe)}return!0}}function _h(){var k;return!M(_)&&de(t.Reflect)&&Object.isExtensible(t.Reflect)&&(k=t.Reflect[_]),M(k)&&(k=gh()),!M(_)&&de(t.Reflect)&&Object.isExtensible(t.Reflect)&&Object.defineProperty(t.Reflect,_,{enumerable:!1,configurable:!1,writable:!1,value:k}),k}function mh(k){var I=new h,j={isProviderFor:function(F,G){var J=I.get(F);return M(J)?!1:J.has(G)},OrdinaryDefineOwnMetadata:ke,OrdinaryHasOwnMetadata:Y,OrdinaryGetOwnMetadata:Ae,OrdinaryOwnMetadataKeys:ne,OrdinaryDeleteMetadata:V};return b.registerProvider(j),j;function P(F,G,J){var ie=I.get(F),fe=!1;if(M(ie)){if(!J)return;ie=new m,I.set(F,ie),fe=!0}var me=ie.get(G);if(M(me)){if(!J)return;if(me=new m,ie.set(G,me),!k.setProvider(F,G,j))throw ie.delete(G),fe&&I.delete(F),new Error("Wrong provider for target.")}return me}function Y(F,G,J){var ie=P(G,J,!1);return M(ie)?!1:Xc(ie.has(F))}function Ae(F,G,J){var ie=P(G,J,!1);if(!M(ie))return ie.get(F)}function ke(F,G,J,ie){var fe=P(J,ie,!0);fe.set(F,G)}function ne(F,G){var J=[],ie=P(F,G,!1);if(M(ie))return J;for(var fe=ie.keys(),me=nl(fe),it=0;;){var ol=rl(me);if(!ol)return J.length=it,J;var kh=il(ol);try{J[it]=kh}catch(xh){try{sl(me)}finally{throw xh}}it++}}function V(F,G,J){var ie=P(G,J,!1);if(M(ie)||!ie.delete(F))return!1;if(ie.size===0){var fe=I.get(G);M(fe)||(fe.delete(J),fe.size===0&&I.delete(fe))}return!0}}function yh(k){var I=k.defineMetadata,j=k.hasOwnMetadata,P=k.getOwnMetadata,Y=k.getOwnMetadataKeys,Ae=k.deleteMetadata,ke=new h,ne={isProviderFor:function(V,F){var G=ke.get(V);return!M(G)&&G.has(F)?!0:Y(V,F).length?(M(G)&&(G=new x,ke.set(V,G)),G.add(F),!0):!1},OrdinaryDefineOwnMetadata:I,OrdinaryHasOwnMetadata:j,OrdinaryGetOwnMetadata:P,OrdinaryOwnMetadataKeys:Y,OrdinaryDeleteMetadata:Ae};return ne}function ei(k,I,j){var P=b.getProvider(k,I);if(!M(P))return P;if(j){if(b.setProvider(k,I,S))return S;throw new Error("Illegal state.")}}function vh(){var k={},I=[],j=function(){function ne(V,F,G){this._index=0,this._keys=V,this._values=F,this._selector=G}return ne.prototype["@@iterator"]=function(){return this},ne.prototype[o]=function(){return this},ne.prototype.next=function(){var V=this._index;if(V>=0&&V<this._keys.length){var F=this._selector(this._keys[V],this._values[V]);return V+1>=this._keys.length?(this._index=-1,this._keys=I,this._values=I):this._index++,{value:F,done:!1}}return{value:void 0,done:!0}},ne.prototype.throw=function(V){throw this._index>=0&&(this._index=-1,this._keys=I,this._values=I),V},ne.prototype.return=function(V){return this._index>=0&&(this._index=-1,this._keys=I,this._values=I),{value:V,done:!0}},ne}(),P=function(){function ne(){this._keys=[],this._values=[],this._cacheKey=k,this._cacheIndex=-2}return Object.defineProperty(ne.prototype,"size",{get:function(){return this._keys.length},enumerable:!0,configurable:!0}),ne.prototype.has=function(V){return this._find(V,!1)>=0},ne.prototype.get=function(V){var F=this._find(V,!1);return F>=0?this._values[F]:void 0},ne.prototype.set=function(V,F){var G=this._find(V,!0);return this._values[G]=F,this},ne.prototype.delete=function(V){var F=this._find(V,!1);if(F>=0){for(var G=this._keys.length,J=F+1;J<G;J++)this._keys[J-1]=this._keys[J],this._values[J-1]=this._values[J];return this._keys.length--,this._values.length--,eo(V,this._cacheKey)&&(this._cacheKey=k,this._cacheIndex=-2),!0}return!1},ne.prototype.clear=function(){this._keys.length=0,this._values.length=0,this._cacheKey=k,this._cacheIndex=-2},ne.prototype.keys=function(){return new j(this._keys,this._values,Y)},ne.prototype.values=function(){return new j(this._keys,this._values,Ae)},ne.prototype.entries=function(){return new j(this._keys,this._values,ke)},ne.prototype["@@iterator"]=function(){return this.entries()},ne.prototype[o]=function(){return this.entries()},ne.prototype._find=function(V,F){if(!eo(this._cacheKey,V)){this._cacheIndex=-1;for(var G=0;G<this._keys.length;G++)if(eo(this._keys[G],V)){this._cacheIndex=G;break}}return this._cacheIndex<0&&F&&(this._cacheIndex=this._keys.length,this._keys.push(V),this._values.push(void 0)),this._cacheIndex},ne}();return P;function Y(ne,V){return ne}function Ae(ne,V){return V}function ke(ne,V){return[ne,V]}}function wh(){var k=function(){function I(){this._map=new m}return Object.defineProperty(I.prototype,"size",{get:function(){return this._map.size},enumerable:!0,configurable:!0}),I.prototype.has=function(j){return this._map.has(j)},I.prototype.add=function(j){return this._map.set(j,j),this},I.prototype.delete=function(j){return this._map.delete(j)},I.prototype.clear=function(){this._map.clear()},I.prototype.keys=function(){return this._map.keys()},I.prototype.values=function(){return this._map.keys()},I.prototype.entries=function(){return this._map.entries()},I.prototype["@@iterator"]=function(){return this.keys()},I.prototype[o]=function(){return this.keys()},I}();return k}function bh(){var k=16,I=p.create(),j=P();return function(){function V(){this._key=P()}return V.prototype.has=function(F){var G=Y(F,!1);return G!==void 0?p.has(G,this._key):!1},V.prototype.get=function(F){var G=Y(F,!1);return G!==void 0?p.get(G,this._key):void 0},V.prototype.set=function(F,G){var J=Y(F,!0);return J[this._key]=G,this},V.prototype.delete=function(F){var G=Y(F,!1);return G!==void 0?delete G[this._key]:!1},V.prototype.clear=function(){this._key=P()},V}();function P(){var V;do V="@@WeakMap@@"+ne();while(p.has(I,V));return I[V]=!0,V}function Y(V,F){if(!i.call(V,j)){if(!F)return;Object.defineProperty(V,j,{value:p.create()})}return V[j]}function Ae(V,F){for(var G=0;G<F;++G)V[G]=Math.random()*255|0;return V}function ke(V){if(typeof Uint8Array=="function"){var F=new Uint8Array(V);return typeof crypto<"u"?crypto.getRandomValues(F):typeof msCrypto<"u"?msCrypto.getRandomValues(F):Ae(F,V),F}return Ae(new Array(V),V)}function ne(){var V=ke(k);V[6]=V[6]&79|64,V[8]=V[8]&191|128;for(var F="",G=0;G<k;++G){var J=V[G];(G===4||G===6||G===8)&&(F+="-"),J<16&&(F+="0"),F+=J.toString(16).toLowerCase()}return F}}function no(k){return k.__=void 0,delete k.__,k}})})(bl||(bl={}));/*!
|
|
19
19
|
* MIT License
|
|
20
20
|
*
|
|
21
21
|
* Copyright (c) 2017-2022 Peculiar Ventures, LLC
|
|
@@ -72,11 +72,11 @@ and limitations under the License.
|
|
|
72
72
|
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
|
73
73
|
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
74
74
|
*
|
|
75
|
-
*/function wr(){if(typeof BigInt>"u")throw new Error("BigInt is not defined. Your environment doesn't implement BigInt.")}function Xa(n){let e=0,t=0;for(let r=0;r<n.length;r++){const s=n[r];e+=s.byteLength}const i=new Uint8Array(e);for(let r=0;r<n.length;r++){const s=n[r];i.set(new Uint8Array(s),t),t+=s.byteLength}return i.buffer}function jt(n,e,t,i){return e instanceof Uint8Array?e.byteLength?t<0?(n.error="Wrong parameter: inputOffset less than zero",!1):i<0?(n.error="Wrong parameter: inputLength less than zero",!1):e.byteLength-t-i<0?(n.error="End of input reached before message was fully decoded (inconsistent offset and length values)",!1):!0:(n.error="Wrong parameter: inputBuffer has zero length",!1):(n.error="Wrong parameter: inputBuffer must be 'Uint8Array'",!1)}class as{constructor(){this.items=[]}write(e){this.items.push(e)}final(){return Xa(this.items)}}const ni=[new Uint8Array([1])],xl="0123456789",so="name",Sl="valueHexView",Eg="isHexOnly",$g="idBlock",Cg="tagClass",jg="tagNumber",zg="isConstructed",Ng="fromBER",Og="toBER",Bg="local",Le="",ct=new ArrayBuffer(0),cs=new Uint8Array(0),hi="EndOfContent",qd="OCTET STRING",Kd="BIT STRING";function yt(n){var e;return e=class extends n{constructor(...i){var r;super(...i);const s=i[0]||{};this.isHexOnly=(r=s.isHexOnly)!==null&&r!==void 0?r:!1,this.valueHexView=s.valueHex?U.toUint8Array(s.valueHex):cs}get valueHex(){return this.valueHexView.slice().buffer}set valueHex(i){this.valueHexView=new Uint8Array(i)}fromBER(i,r,s){const o=i instanceof ArrayBuffer?new Uint8Array(i):i;if(!jt(this,o,r,s))return-1;const c=r+s;return this.valueHexView=o.subarray(r,c),this.valueHexView.length?(this.blockLength=s,c):(this.warnings.push("Zero buffer length"),r)}toBER(i=!1){return this.isHexOnly?i?new ArrayBuffer(this.valueHexView.byteLength):this.valueHexView.byteLength===this.valueHexView.buffer.byteLength?this.valueHexView.buffer:this.valueHexView.slice().buffer:(this.error="Flag 'isHexOnly' is not set, abort",ct)}toJSON(){return{...super.toJSON(),isHexOnly:this.isHexOnly,valueHex:W.ToHex(this.valueHexView)}}},e.NAME="hexBlock",e}class vn{constructor({blockLength:e=0,error:t=Le,warnings:i=[],valueBeforeDecode:r=cs}={}){this.blockLength=e,this.error=t,this.warnings=i,this.valueBeforeDecodeView=U.toUint8Array(r)}static blockName(){return this.NAME}get valueBeforeDecode(){return this.valueBeforeDecodeView.slice().buffer}set valueBeforeDecode(e){this.valueBeforeDecodeView=new Uint8Array(e)}toJSON(){return{blockName:this.constructor.NAME,blockLength:this.blockLength,error:this.error,warnings:this.warnings,valueBeforeDecode:W.ToHex(this.valueBeforeDecodeView)}}}vn.NAME="baseBlock";class Te extends vn{fromBER(e,t,i){throw TypeError("User need to make a specific function in a class which extends 'ValueBlock'")}toBER(e,t){throw TypeError("User need to make a specific function in a class which extends 'ValueBlock'")}}Te.NAME="valueBlock";class Wd extends yt(vn){constructor({idBlock:e={}}={}){var t,i,r,s;super(),e?(this.isHexOnly=(t=e.isHexOnly)!==null&&t!==void 0?t:!1,this.valueHexView=e.valueHex?U.toUint8Array(e.valueHex):cs,this.tagClass=(i=e.tagClass)!==null&&i!==void 0?i:-1,this.tagNumber=(r=e.tagNumber)!==null&&r!==void 0?r:-1,this.isConstructed=(s=e.isConstructed)!==null&&s!==void 0?s:!1):(this.tagClass=-1,this.tagNumber=-1,this.isConstructed=!1)}toBER(e=!1){let t=0;switch(this.tagClass){case 1:t|=0;break;case 2:t|=64;break;case 3:t|=128;break;case 4:t|=192;break;default:return this.error="Unknown tag class",ct}if(this.isConstructed&&(t|=32),this.tagNumber<31&&!this.isHexOnly){const r=new Uint8Array(1);if(!e){let s=this.tagNumber;s&=31,t|=s,r[0]=t}return r.buffer}if(!this.isHexOnly){const r=an(this.tagNumber,7),s=new Uint8Array(r),o=r.byteLength,c=new Uint8Array(o+1);if(c[0]=t|31,!e){for(let l=0;l<o-1;l++)c[l+1]=s[l]|128;c[o]=s[o-1]}return c.buffer}const i=new Uint8Array(this.valueHexView.byteLength+1);if(i[0]=t|31,!e){const r=this.valueHexView;for(let s=0;s<r.length-1;s++)i[s+1]=r[s]|128;i[this.valueHexView.byteLength]=r[r.length-1]}return i.buffer}fromBER(e,t,i){const r=U.toUint8Array(e);if(!jt(this,r,t,i))return-1;const s=r.subarray(t,t+i);if(s.length===0)return this.error="Zero buffer length",-1;switch(s[0]&192){case 0:this.tagClass=1;break;case 64:this.tagClass=2;break;case 128:this.tagClass=3;break;case 192:this.tagClass=4;break;default:return this.error="Unknown tag class",-1}this.isConstructed=(s[0]&32)===32,this.isHexOnly=!1;const c=s[0]&31;if(c!==31)this.tagNumber=c,this.blockLength=1;else{let l=1,u=this.valueHexView=new Uint8Array(255),p=255;for(;s[l]&128;){if(u[l-1]=s[l]&127,l++,l>=s.length)return this.error="End of input reached before message was fully decoded",-1;if(l===p){p+=255;const m=new Uint8Array(p);for(let x=0;x<u.length;x++)m[x]=u[x];u=this.valueHexView=new Uint8Array(p)}}this.blockLength=l+1,u[l-1]=s[l]&127;const g=new Uint8Array(l);for(let m=0;m<l;m++)g[m]=u[m];u=this.valueHexView=new Uint8Array(l),u.set(g),this.blockLength<=9?this.tagNumber=zn(u,7):(this.isHexOnly=!0,this.warnings.push("Tag too long, represented as hex-coded"))}if(this.tagClass===1&&this.isConstructed)switch(this.tagNumber){case 1:case 2:case 5:case 6:case 9:case 13:case 14:case 23:case 24:case 31:case 32:case 33:case 34:return this.error="Constructed encoding used for primitive type",-1}return t+this.blockLength}toJSON(){return{...super.toJSON(),tagClass:this.tagClass,tagNumber:this.tagNumber,isConstructed:this.isConstructed}}}Wd.NAME="identificationBlock";class Gd extends vn{constructor({lenBlock:e={}}={}){var t,i,r;super(),this.isIndefiniteForm=(t=e.isIndefiniteForm)!==null&&t!==void 0?t:!1,this.longFormUsed=(i=e.longFormUsed)!==null&&i!==void 0?i:!1,this.length=(r=e.length)!==null&&r!==void 0?r:0}fromBER(e,t,i){const r=U.toUint8Array(e);if(!jt(this,r,t,i))return-1;const s=r.subarray(t,t+i);if(s.length===0)return this.error="Zero buffer length",-1;if(s[0]===255)return this.error="Length block 0xFF is reserved by standard",-1;if(this.isIndefiniteForm=s[0]===128,this.isIndefiniteForm)return this.blockLength=1,t+this.blockLength;if(this.longFormUsed=!!(s[0]&128),this.longFormUsed===!1)return this.length=s[0],this.blockLength=1,t+this.blockLength;const o=s[0]&127;if(o>8)return this.error="Too big integer",-1;if(o+1>s.length)return this.error="End of input reached before message was fully decoded",-1;const c=t+1,l=r.subarray(c,c+o);return l[o-1]===0&&this.warnings.push("Needlessly long encoded length"),this.length=zn(l,8),this.longFormUsed&&this.length<=127&&this.warnings.push("Unnecessary usage of long length form"),this.blockLength=o+1,t+this.blockLength}toBER(e=!1){let t,i;if(this.length>127&&(this.longFormUsed=!0),this.isIndefiniteForm)return t=new ArrayBuffer(1),e===!1&&(i=new Uint8Array(t),i[0]=128),t;if(this.longFormUsed){const r=an(this.length,8);if(r.byteLength>127)return this.error="Too big length",ct;if(t=new ArrayBuffer(r.byteLength+1),e)return t;const s=new Uint8Array(r);i=new Uint8Array(t),i[0]=r.byteLength|128;for(let o=0;o<r.byteLength;o++)i[o+1]=s[o];return t}return t=new ArrayBuffer(1),e===!1&&(i=new Uint8Array(t),i[0]=this.length),t}toJSON(){return{...super.toJSON(),isIndefiniteForm:this.isIndefiniteForm,longFormUsed:this.longFormUsed,length:this.length}}}Gd.NAME="lengthBlock";const D={};class $e extends vn{constructor({name:e=Le,optional:t=!1,primitiveSchema:i,...r}={},s){super(r),this.name=e,this.optional=t,i&&(this.primitiveSchema=i),this.idBlock=new Wd(r),this.lenBlock=new Gd(r),this.valueBlock=s?new s(r):new Te(r)}fromBER(e,t,i){const r=this.valueBlock.fromBER(e,t,this.lenBlock.isIndefiniteForm?i:this.lenBlock.length);return r===-1?(this.error=this.valueBlock.error,r):(this.idBlock.error.length||(this.blockLength+=this.idBlock.blockLength),this.lenBlock.error.length||(this.blockLength+=this.lenBlock.blockLength),this.valueBlock.error.length||(this.blockLength+=this.valueBlock.blockLength),r)}toBER(e,t){const i=t||new as;t||Jd(this);const r=this.idBlock.toBER(e);if(i.write(r),this.lenBlock.isIndefiniteForm)i.write(new Uint8Array([128]).buffer),this.valueBlock.toBER(e,i),i.write(new ArrayBuffer(2));else{const s=this.valueBlock.toBER(e);this.lenBlock.length=s.byteLength;const o=this.lenBlock.toBER(e);i.write(o),i.write(s)}return t?ct:i.final()}toJSON(){const e={...super.toJSON(),idBlock:this.idBlock.toJSON(),lenBlock:this.lenBlock.toJSON(),valueBlock:this.valueBlock.toJSON(),name:this.name,optional:this.optional};return this.primitiveSchema&&(e.primitiveSchema=this.primitiveSchema.toJSON()),e}toString(e="ascii"){return e==="ascii"?this.onAsciiEncoding():W.ToHex(this.toBER())}onAsciiEncoding(){return`${this.constructor.NAME} : ${W.ToHex(this.valueBlock.valueBeforeDecodeView)}`}isEqual(e){if(this===e)return!0;if(!(e instanceof this.constructor))return!1;const t=this.toBER(),i=e.toBER();return Ig(t,i)}}$e.NAME="BaseBlock";function Jd(n){if(n instanceof D.Constructed)for(const e of n.valueBlock.value)Jd(e)&&(n.lenBlock.isIndefiniteForm=!0);return!!n.lenBlock.isIndefiniteForm}class Qa extends $e{constructor({value:e=Le,...t}={},i){super(t,i),e&&this.fromString(e)}getValue(){return this.valueBlock.value}setValue(e){this.valueBlock.value=e}fromBER(e,t,i){const r=this.valueBlock.fromBER(e,t,this.lenBlock.isIndefiniteForm?i:this.lenBlock.length);return r===-1?(this.error=this.valueBlock.error,r):(this.fromBuffer(this.valueBlock.valueHexView),this.idBlock.error.length||(this.blockLength+=this.idBlock.blockLength),this.lenBlock.error.length||(this.blockLength+=this.lenBlock.blockLength),this.valueBlock.error.length||(this.blockLength+=this.valueBlock.blockLength),r)}onAsciiEncoding(){return`${this.constructor.NAME} : '${this.valueBlock.value}'`}}Qa.NAME="BaseStringBlock";class Zd extends yt(Te){constructor({isHexOnly:e=!0,...t}={}){super(t),this.isHexOnly=e}}Zd.NAME="PrimitiveValueBlock";var Yd;class $i extends $e{constructor(e={}){super(e,Zd),this.idBlock.isConstructed=!1}}Yd=$i;D.Primitive=Yd;$i.NAME="PRIMITIVE";function Tg(n,e){if(n instanceof e)return n;const t=new e;return t.idBlock=n.idBlock,t.lenBlock=n.lenBlock,t.warnings=n.warnings,t.valueBeforeDecodeView=n.valueBeforeDecodeView,t}function Fn(n,e=0,t=n.length){const i=e;let r=new $e({},Te);const s=new vn;if(!jt(s,n,e,t))return r.error=s.error,{offset:-1,result:r};if(!n.subarray(e,e+t).length)return r.error="Zero buffer length",{offset:-1,result:r};let c=r.idBlock.fromBER(n,e,t);if(r.idBlock.warnings.length&&r.warnings.concat(r.idBlock.warnings),c===-1)return r.error=r.idBlock.error,{offset:-1,result:r};if(e=c,t-=r.idBlock.blockLength,c=r.lenBlock.fromBER(n,e,t),r.lenBlock.warnings.length&&r.warnings.concat(r.lenBlock.warnings),c===-1)return r.error=r.lenBlock.error,{offset:-1,result:r};if(e=c,t-=r.lenBlock.blockLength,!r.idBlock.isConstructed&&r.lenBlock.isIndefiniteForm)return r.error="Indefinite length form used for primitive encoding form",{offset:-1,result:r};let l=$e;switch(r.idBlock.tagClass){case 1:if(r.idBlock.tagNumber>=37&&r.idBlock.isHexOnly===!1)return r.error="UNIVERSAL 37 and upper tags are reserved by ASN.1 standard",{offset:-1,result:r};switch(r.idBlock.tagNumber){case 0:if(r.idBlock.isConstructed&&r.lenBlock.length>0)return r.error="Type [UNIVERSAL 0] is reserved",{offset:-1,result:r};l=D.EndOfContent;break;case 1:l=D.Boolean;break;case 2:l=D.Integer;break;case 3:l=D.BitString;break;case 4:l=D.OctetString;break;case 5:l=D.Null;break;case 6:l=D.ObjectIdentifier;break;case 10:l=D.Enumerated;break;case 12:l=D.Utf8String;break;case 13:l=D.RelativeObjectIdentifier;break;case 14:l=D.TIME;break;case 15:return r.error="[UNIVERSAL 15] is reserved by ASN.1 standard",{offset:-1,result:r};case 16:l=D.Sequence;break;case 17:l=D.Set;break;case 18:l=D.NumericString;break;case 19:l=D.PrintableString;break;case 20:l=D.TeletexString;break;case 21:l=D.VideotexString;break;case 22:l=D.IA5String;break;case 23:l=D.UTCTime;break;case 24:l=D.GeneralizedTime;break;case 25:l=D.GraphicString;break;case 26:l=D.VisibleString;break;case 27:l=D.GeneralString;break;case 28:l=D.UniversalString;break;case 29:l=D.CharacterString;break;case 30:l=D.BmpString;break;case 31:l=D.DATE;break;case 32:l=D.TimeOfDay;break;case 33:l=D.DateTime;break;case 34:l=D.Duration;break;default:{const u=r.idBlock.isConstructed?new D.Constructed:new D.Primitive;u.idBlock=r.idBlock,u.lenBlock=r.lenBlock,u.warnings=r.warnings,r=u}}break;case 2:case 3:case 4:default:l=r.idBlock.isConstructed?D.Constructed:D.Primitive}return r=Tg(r,l),c=r.fromBER(n,e,r.lenBlock.isIndefiniteForm?t:r.lenBlock.length),r.valueBeforeDecodeView=n.subarray(i,i+r.blockLength),{offset:c,result:r}}function $n(n){if(!n.byteLength){const e=new $e({},Te);return e.error="Input buffer has zero length",{offset:-1,result:e}}return Fn(U.toUint8Array(n).slice(),0,n.byteLength)}function Rg(n,e){return n?1:e}class Pt extends Te{constructor({value:e=[],isIndefiniteForm:t=!1,...i}={}){super(i),this.value=e,this.isIndefiniteForm=t}fromBER(e,t,i){const r=U.toUint8Array(e);if(!jt(this,r,t,i))return-1;if(this.valueBeforeDecodeView=r.subarray(t,t+i),this.valueBeforeDecodeView.length===0)return this.warnings.push("Zero buffer length"),t;let s=t;for(;Rg(this.isIndefiniteForm,i)>0;){const o=Fn(r,s,i);if(o.offset===-1)return this.error=o.result.error,this.warnings.concat(o.result.warnings),-1;if(s=o.offset,this.blockLength+=o.result.blockLength,i-=o.result.blockLength,this.value.push(o.result),this.isIndefiniteForm&&o.result.constructor.NAME===hi)break}return this.isIndefiniteForm&&(this.value[this.value.length-1].constructor.NAME===hi?this.value.pop():this.warnings.push("No EndOfContent block encoded")),s}toBER(e,t){const i=t||new as;for(let r=0;r<this.value.length;r++)this.value[r].toBER(e,i);return t?ct:i.final()}toJSON(){const e={...super.toJSON(),isIndefiniteForm:this.isIndefiniteForm,value:[]};for(const t of this.value)e.value.push(t.toJSON());return e}}Pt.NAME="ConstructedValueBlock";var Xd;class Ue extends $e{constructor(e={}){super(e,Pt),this.idBlock.isConstructed=!0}fromBER(e,t,i){this.valueBlock.isIndefiniteForm=this.lenBlock.isIndefiniteForm;const r=this.valueBlock.fromBER(e,t,this.lenBlock.isIndefiniteForm?i:this.lenBlock.length);return r===-1?(this.error=this.valueBlock.error,r):(this.idBlock.error.length||(this.blockLength+=this.idBlock.blockLength),this.lenBlock.error.length||(this.blockLength+=this.lenBlock.blockLength),this.valueBlock.error.length||(this.blockLength+=this.valueBlock.blockLength),r)}onAsciiEncoding(){const e=[];for(const i of this.valueBlock.value)e.push(i.toString("ascii").split(`
|
|
75
|
+
*/function wr(){if(typeof BigInt>"u")throw new Error("BigInt is not defined. Your environment doesn't implement BigInt.")}function Xa(n){let e=0,t=0;for(let r=0;r<n.length;r++){const s=n[r];e+=s.byteLength}const i=new Uint8Array(e);for(let r=0;r<n.length;r++){const s=n[r];i.set(new Uint8Array(s),t),t+=s.byteLength}return i.buffer}function zt(n,e,t,i){return e instanceof Uint8Array?e.byteLength?t<0?(n.error="Wrong parameter: inputOffset less than zero",!1):i<0?(n.error="Wrong parameter: inputLength less than zero",!1):e.byteLength-t-i<0?(n.error="End of input reached before message was fully decoded (inconsistent offset and length values)",!1):!0:(n.error="Wrong parameter: inputBuffer has zero length",!1):(n.error="Wrong parameter: inputBuffer must be 'Uint8Array'",!1)}class as{constructor(){this.items=[]}write(e){this.items.push(e)}final(){return Xa(this.items)}}const ni=[new Uint8Array([1])],xl="0123456789",so="name",Sl="valueHexView",Eg="isHexOnly",$g="idBlock",Cg="tagClass",jg="tagNumber",zg="isConstructed",Ng="fromBER",Og="toBER",Bg="local",Le="",ct=new ArrayBuffer(0),cs=new Uint8Array(0),hi="EndOfContent",qd="OCTET STRING",Kd="BIT STRING";function vt(n){var e;return e=class extends n{constructor(...i){var r;super(...i);const s=i[0]||{};this.isHexOnly=(r=s.isHexOnly)!==null&&r!==void 0?r:!1,this.valueHexView=s.valueHex?U.toUint8Array(s.valueHex):cs}get valueHex(){return this.valueHexView.slice().buffer}set valueHex(i){this.valueHexView=new Uint8Array(i)}fromBER(i,r,s){const o=i instanceof ArrayBuffer?new Uint8Array(i):i;if(!zt(this,o,r,s))return-1;const c=r+s;return this.valueHexView=o.subarray(r,c),this.valueHexView.length?(this.blockLength=s,c):(this.warnings.push("Zero buffer length"),r)}toBER(i=!1){return this.isHexOnly?i?new ArrayBuffer(this.valueHexView.byteLength):this.valueHexView.byteLength===this.valueHexView.buffer.byteLength?this.valueHexView.buffer:this.valueHexView.slice().buffer:(this.error="Flag 'isHexOnly' is not set, abort",ct)}toJSON(){return{...super.toJSON(),isHexOnly:this.isHexOnly,valueHex:W.ToHex(this.valueHexView)}}},e.NAME="hexBlock",e}class vn{constructor({blockLength:e=0,error:t=Le,warnings:i=[],valueBeforeDecode:r=cs}={}){this.blockLength=e,this.error=t,this.warnings=i,this.valueBeforeDecodeView=U.toUint8Array(r)}static blockName(){return this.NAME}get valueBeforeDecode(){return this.valueBeforeDecodeView.slice().buffer}set valueBeforeDecode(e){this.valueBeforeDecodeView=new Uint8Array(e)}toJSON(){return{blockName:this.constructor.NAME,blockLength:this.blockLength,error:this.error,warnings:this.warnings,valueBeforeDecode:W.ToHex(this.valueBeforeDecodeView)}}}vn.NAME="baseBlock";class Te extends vn{fromBER(e,t,i){throw TypeError("User need to make a specific function in a class which extends 'ValueBlock'")}toBER(e,t){throw TypeError("User need to make a specific function in a class which extends 'ValueBlock'")}}Te.NAME="valueBlock";class Wd extends vt(vn){constructor({idBlock:e={}}={}){var t,i,r,s;super(),e?(this.isHexOnly=(t=e.isHexOnly)!==null&&t!==void 0?t:!1,this.valueHexView=e.valueHex?U.toUint8Array(e.valueHex):cs,this.tagClass=(i=e.tagClass)!==null&&i!==void 0?i:-1,this.tagNumber=(r=e.tagNumber)!==null&&r!==void 0?r:-1,this.isConstructed=(s=e.isConstructed)!==null&&s!==void 0?s:!1):(this.tagClass=-1,this.tagNumber=-1,this.isConstructed=!1)}toBER(e=!1){let t=0;switch(this.tagClass){case 1:t|=0;break;case 2:t|=64;break;case 3:t|=128;break;case 4:t|=192;break;default:return this.error="Unknown tag class",ct}if(this.isConstructed&&(t|=32),this.tagNumber<31&&!this.isHexOnly){const r=new Uint8Array(1);if(!e){let s=this.tagNumber;s&=31,t|=s,r[0]=t}return r.buffer}if(!this.isHexOnly){const r=an(this.tagNumber,7),s=new Uint8Array(r),o=r.byteLength,c=new Uint8Array(o+1);if(c[0]=t|31,!e){for(let l=0;l<o-1;l++)c[l+1]=s[l]|128;c[o]=s[o-1]}return c.buffer}const i=new Uint8Array(this.valueHexView.byteLength+1);if(i[0]=t|31,!e){const r=this.valueHexView;for(let s=0;s<r.length-1;s++)i[s+1]=r[s]|128;i[this.valueHexView.byteLength]=r[r.length-1]}return i.buffer}fromBER(e,t,i){const r=U.toUint8Array(e);if(!zt(this,r,t,i))return-1;const s=r.subarray(t,t+i);if(s.length===0)return this.error="Zero buffer length",-1;switch(s[0]&192){case 0:this.tagClass=1;break;case 64:this.tagClass=2;break;case 128:this.tagClass=3;break;case 192:this.tagClass=4;break;default:return this.error="Unknown tag class",-1}this.isConstructed=(s[0]&32)===32,this.isHexOnly=!1;const c=s[0]&31;if(c!==31)this.tagNumber=c,this.blockLength=1;else{let l=1,u=this.valueHexView=new Uint8Array(255),p=255;for(;s[l]&128;){if(u[l-1]=s[l]&127,l++,l>=s.length)return this.error="End of input reached before message was fully decoded",-1;if(l===p){p+=255;const m=new Uint8Array(p);for(let x=0;x<u.length;x++)m[x]=u[x];u=this.valueHexView=new Uint8Array(p)}}this.blockLength=l+1,u[l-1]=s[l]&127;const g=new Uint8Array(l);for(let m=0;m<l;m++)g[m]=u[m];u=this.valueHexView=new Uint8Array(l),u.set(g),this.blockLength<=9?this.tagNumber=zn(u,7):(this.isHexOnly=!0,this.warnings.push("Tag too long, represented as hex-coded"))}if(this.tagClass===1&&this.isConstructed)switch(this.tagNumber){case 1:case 2:case 5:case 6:case 9:case 13:case 14:case 23:case 24:case 31:case 32:case 33:case 34:return this.error="Constructed encoding used for primitive type",-1}return t+this.blockLength}toJSON(){return{...super.toJSON(),tagClass:this.tagClass,tagNumber:this.tagNumber,isConstructed:this.isConstructed}}}Wd.NAME="identificationBlock";class Gd extends vn{constructor({lenBlock:e={}}={}){var t,i,r;super(),this.isIndefiniteForm=(t=e.isIndefiniteForm)!==null&&t!==void 0?t:!1,this.longFormUsed=(i=e.longFormUsed)!==null&&i!==void 0?i:!1,this.length=(r=e.length)!==null&&r!==void 0?r:0}fromBER(e,t,i){const r=U.toUint8Array(e);if(!zt(this,r,t,i))return-1;const s=r.subarray(t,t+i);if(s.length===0)return this.error="Zero buffer length",-1;if(s[0]===255)return this.error="Length block 0xFF is reserved by standard",-1;if(this.isIndefiniteForm=s[0]===128,this.isIndefiniteForm)return this.blockLength=1,t+this.blockLength;if(this.longFormUsed=!!(s[0]&128),this.longFormUsed===!1)return this.length=s[0],this.blockLength=1,t+this.blockLength;const o=s[0]&127;if(o>8)return this.error="Too big integer",-1;if(o+1>s.length)return this.error="End of input reached before message was fully decoded",-1;const c=t+1,l=r.subarray(c,c+o);return l[o-1]===0&&this.warnings.push("Needlessly long encoded length"),this.length=zn(l,8),this.longFormUsed&&this.length<=127&&this.warnings.push("Unnecessary usage of long length form"),this.blockLength=o+1,t+this.blockLength}toBER(e=!1){let t,i;if(this.length>127&&(this.longFormUsed=!0),this.isIndefiniteForm)return t=new ArrayBuffer(1),e===!1&&(i=new Uint8Array(t),i[0]=128),t;if(this.longFormUsed){const r=an(this.length,8);if(r.byteLength>127)return this.error="Too big length",ct;if(t=new ArrayBuffer(r.byteLength+1),e)return t;const s=new Uint8Array(r);i=new Uint8Array(t),i[0]=r.byteLength|128;for(let o=0;o<r.byteLength;o++)i[o+1]=s[o];return t}return t=new ArrayBuffer(1),e===!1&&(i=new Uint8Array(t),i[0]=this.length),t}toJSON(){return{...super.toJSON(),isIndefiniteForm:this.isIndefiniteForm,longFormUsed:this.longFormUsed,length:this.length}}}Gd.NAME="lengthBlock";const D={};class $e extends vn{constructor({name:e=Le,optional:t=!1,primitiveSchema:i,...r}={},s){super(r),this.name=e,this.optional=t,i&&(this.primitiveSchema=i),this.idBlock=new Wd(r),this.lenBlock=new Gd(r),this.valueBlock=s?new s(r):new Te(r)}fromBER(e,t,i){const r=this.valueBlock.fromBER(e,t,this.lenBlock.isIndefiniteForm?i:this.lenBlock.length);return r===-1?(this.error=this.valueBlock.error,r):(this.idBlock.error.length||(this.blockLength+=this.idBlock.blockLength),this.lenBlock.error.length||(this.blockLength+=this.lenBlock.blockLength),this.valueBlock.error.length||(this.blockLength+=this.valueBlock.blockLength),r)}toBER(e,t){const i=t||new as;t||Jd(this);const r=this.idBlock.toBER(e);if(i.write(r),this.lenBlock.isIndefiniteForm)i.write(new Uint8Array([128]).buffer),this.valueBlock.toBER(e,i),i.write(new ArrayBuffer(2));else{const s=this.valueBlock.toBER(e);this.lenBlock.length=s.byteLength;const o=this.lenBlock.toBER(e);i.write(o),i.write(s)}return t?ct:i.final()}toJSON(){const e={...super.toJSON(),idBlock:this.idBlock.toJSON(),lenBlock:this.lenBlock.toJSON(),valueBlock:this.valueBlock.toJSON(),name:this.name,optional:this.optional};return this.primitiveSchema&&(e.primitiveSchema=this.primitiveSchema.toJSON()),e}toString(e="ascii"){return e==="ascii"?this.onAsciiEncoding():W.ToHex(this.toBER())}onAsciiEncoding(){return`${this.constructor.NAME} : ${W.ToHex(this.valueBlock.valueBeforeDecodeView)}`}isEqual(e){if(this===e)return!0;if(!(e instanceof this.constructor))return!1;const t=this.toBER(),i=e.toBER();return Ig(t,i)}}$e.NAME="BaseBlock";function Jd(n){if(n instanceof D.Constructed)for(const e of n.valueBlock.value)Jd(e)&&(n.lenBlock.isIndefiniteForm=!0);return!!n.lenBlock.isIndefiniteForm}class Qa extends $e{constructor({value:e=Le,...t}={},i){super(t,i),e&&this.fromString(e)}getValue(){return this.valueBlock.value}setValue(e){this.valueBlock.value=e}fromBER(e,t,i){const r=this.valueBlock.fromBER(e,t,this.lenBlock.isIndefiniteForm?i:this.lenBlock.length);return r===-1?(this.error=this.valueBlock.error,r):(this.fromBuffer(this.valueBlock.valueHexView),this.idBlock.error.length||(this.blockLength+=this.idBlock.blockLength),this.lenBlock.error.length||(this.blockLength+=this.lenBlock.blockLength),this.valueBlock.error.length||(this.blockLength+=this.valueBlock.blockLength),r)}onAsciiEncoding(){return`${this.constructor.NAME} : '${this.valueBlock.value}'`}}Qa.NAME="BaseStringBlock";class Zd extends vt(Te){constructor({isHexOnly:e=!0,...t}={}){super(t),this.isHexOnly=e}}Zd.NAME="PrimitiveValueBlock";var Yd;class $i extends $e{constructor(e={}){super(e,Zd),this.idBlock.isConstructed=!1}}Yd=$i;D.Primitive=Yd;$i.NAME="PRIMITIVE";function Tg(n,e){if(n instanceof e)return n;const t=new e;return t.idBlock=n.idBlock,t.lenBlock=n.lenBlock,t.warnings=n.warnings,t.valueBeforeDecodeView=n.valueBeforeDecodeView,t}function Fn(n,e=0,t=n.length){const i=e;let r=new $e({},Te);const s=new vn;if(!zt(s,n,e,t))return r.error=s.error,{offset:-1,result:r};if(!n.subarray(e,e+t).length)return r.error="Zero buffer length",{offset:-1,result:r};let c=r.idBlock.fromBER(n,e,t);if(r.idBlock.warnings.length&&r.warnings.concat(r.idBlock.warnings),c===-1)return r.error=r.idBlock.error,{offset:-1,result:r};if(e=c,t-=r.idBlock.blockLength,c=r.lenBlock.fromBER(n,e,t),r.lenBlock.warnings.length&&r.warnings.concat(r.lenBlock.warnings),c===-1)return r.error=r.lenBlock.error,{offset:-1,result:r};if(e=c,t-=r.lenBlock.blockLength,!r.idBlock.isConstructed&&r.lenBlock.isIndefiniteForm)return r.error="Indefinite length form used for primitive encoding form",{offset:-1,result:r};let l=$e;switch(r.idBlock.tagClass){case 1:if(r.idBlock.tagNumber>=37&&r.idBlock.isHexOnly===!1)return r.error="UNIVERSAL 37 and upper tags are reserved by ASN.1 standard",{offset:-1,result:r};switch(r.idBlock.tagNumber){case 0:if(r.idBlock.isConstructed&&r.lenBlock.length>0)return r.error="Type [UNIVERSAL 0] is reserved",{offset:-1,result:r};l=D.EndOfContent;break;case 1:l=D.Boolean;break;case 2:l=D.Integer;break;case 3:l=D.BitString;break;case 4:l=D.OctetString;break;case 5:l=D.Null;break;case 6:l=D.ObjectIdentifier;break;case 10:l=D.Enumerated;break;case 12:l=D.Utf8String;break;case 13:l=D.RelativeObjectIdentifier;break;case 14:l=D.TIME;break;case 15:return r.error="[UNIVERSAL 15] is reserved by ASN.1 standard",{offset:-1,result:r};case 16:l=D.Sequence;break;case 17:l=D.Set;break;case 18:l=D.NumericString;break;case 19:l=D.PrintableString;break;case 20:l=D.TeletexString;break;case 21:l=D.VideotexString;break;case 22:l=D.IA5String;break;case 23:l=D.UTCTime;break;case 24:l=D.GeneralizedTime;break;case 25:l=D.GraphicString;break;case 26:l=D.VisibleString;break;case 27:l=D.GeneralString;break;case 28:l=D.UniversalString;break;case 29:l=D.CharacterString;break;case 30:l=D.BmpString;break;case 31:l=D.DATE;break;case 32:l=D.TimeOfDay;break;case 33:l=D.DateTime;break;case 34:l=D.Duration;break;default:{const u=r.idBlock.isConstructed?new D.Constructed:new D.Primitive;u.idBlock=r.idBlock,u.lenBlock=r.lenBlock,u.warnings=r.warnings,r=u}}break;case 2:case 3:case 4:default:l=r.idBlock.isConstructed?D.Constructed:D.Primitive}return r=Tg(r,l),c=r.fromBER(n,e,r.lenBlock.isIndefiniteForm?t:r.lenBlock.length),r.valueBeforeDecodeView=n.subarray(i,i+r.blockLength),{offset:c,result:r}}function $n(n){if(!n.byteLength){const e=new $e({},Te);return e.error="Input buffer has zero length",{offset:-1,result:e}}return Fn(U.toUint8Array(n).slice(),0,n.byteLength)}function Rg(n,e){return n?1:e}class Pt extends Te{constructor({value:e=[],isIndefiniteForm:t=!1,...i}={}){super(i),this.value=e,this.isIndefiniteForm=t}fromBER(e,t,i){const r=U.toUint8Array(e);if(!zt(this,r,t,i))return-1;if(this.valueBeforeDecodeView=r.subarray(t,t+i),this.valueBeforeDecodeView.length===0)return this.warnings.push("Zero buffer length"),t;let s=t;for(;Rg(this.isIndefiniteForm,i)>0;){const o=Fn(r,s,i);if(o.offset===-1)return this.error=o.result.error,this.warnings.concat(o.result.warnings),-1;if(s=o.offset,this.blockLength+=o.result.blockLength,i-=o.result.blockLength,this.value.push(o.result),this.isIndefiniteForm&&o.result.constructor.NAME===hi)break}return this.isIndefiniteForm&&(this.value[this.value.length-1].constructor.NAME===hi?this.value.pop():this.warnings.push("No EndOfContent block encoded")),s}toBER(e,t){const i=t||new as;for(let r=0;r<this.value.length;r++)this.value[r].toBER(e,i);return t?ct:i.final()}toJSON(){const e={...super.toJSON(),isIndefiniteForm:this.isIndefiniteForm,value:[]};for(const t of this.value)e.value.push(t.toJSON());return e}}Pt.NAME="ConstructedValueBlock";var Xd;class Ue extends $e{constructor(e={}){super(e,Pt),this.idBlock.isConstructed=!0}fromBER(e,t,i){this.valueBlock.isIndefiniteForm=this.lenBlock.isIndefiniteForm;const r=this.valueBlock.fromBER(e,t,this.lenBlock.isIndefiniteForm?i:this.lenBlock.length);return r===-1?(this.error=this.valueBlock.error,r):(this.idBlock.error.length||(this.blockLength+=this.idBlock.blockLength),this.lenBlock.error.length||(this.blockLength+=this.lenBlock.blockLength),this.valueBlock.error.length||(this.blockLength+=this.valueBlock.blockLength),r)}onAsciiEncoding(){const e=[];for(const i of this.valueBlock.value)e.push(i.toString("ascii").split(`
|
|
76
76
|
`).map(r=>` ${r}`).join(`
|
|
77
77
|
`));const t=this.idBlock.tagClass===3?`[${this.idBlock.tagNumber}]`:this.constructor.NAME;return e.length?`${t} :
|
|
78
78
|
${e.join(`
|
|
79
|
-
`)}`:`${t} :`}}Xd=Ue;D.Constructed=Xd;Ue.NAME="CONSTRUCTED";class Qd extends Te{fromBER(e,t,i){return t}toBER(e){return ct}}Qd.override="EndOfContentValueBlock";var ep;class ec extends $e{constructor(e={}){super(e,Qd),this.idBlock.tagClass=1,this.idBlock.tagNumber=0}}ep=ec;D.EndOfContent=ep;ec.NAME=hi;var tp;class cn extends $e{constructor(e={}){super(e,Te),this.idBlock.tagClass=1,this.idBlock.tagNumber=5}fromBER(e,t,i){return this.lenBlock.length>0&&this.warnings.push("Non-zero length of value block for Null type"),this.idBlock.error.length||(this.blockLength+=this.idBlock.blockLength),this.lenBlock.error.length||(this.blockLength+=this.lenBlock.blockLength),this.blockLength+=i,t+i>e.byteLength?(this.error="End of input reached before message was fully decoded (inconsistent offset and length values)",-1):t+i}toBER(e,t){const i=new ArrayBuffer(2);if(!e){const r=new Uint8Array(i);r[0]=5,r[1]=0}return t&&t.write(i),i}onAsciiEncoding(){return`${this.constructor.NAME}`}}tp=cn;D.Null=tp;cn.NAME="NULL";class np extends yt(Te){constructor({value:e,...t}={}){super(t),t.valueHex?this.valueHexView=U.toUint8Array(t.valueHex):this.valueHexView=new Uint8Array(1),e&&(this.value=e)}get value(){for(const e of this.valueHexView)if(e>0)return!0;return!1}set value(e){this.valueHexView[0]=e?255:0}fromBER(e,t,i){const r=U.toUint8Array(e);return jt(this,r,t,i)?(this.valueHexView=r.subarray(t,t+i),i>1&&this.warnings.push("Boolean value encoded in more then 1 octet"),this.isHexOnly=!0,Fd.call(this),this.blockLength=i,t+i):-1}toBER(){return this.valueHexView.slice()}toJSON(){return{...super.toJSON(),value:this.value}}}np.NAME="BooleanValueBlock";var ip;class ls extends $e{constructor(e={}){super(e,np),this.idBlock.tagClass=1,this.idBlock.tagNumber=1}getValue(){return this.valueBlock.value}setValue(e){this.valueBlock.value=e}onAsciiEncoding(){return`${this.constructor.NAME} : ${this.getValue}`}}ip=ls;D.Boolean=ip;ls.NAME="BOOLEAN";class rp extends yt(Pt){constructor({isConstructed:e=!1,...t}={}){super(t),this.isConstructed=e}fromBER(e,t,i){let r=0;if(this.isConstructed){if(this.isHexOnly=!1,r=Pt.prototype.fromBER.call(this,e,t,i),r===-1)return r;for(let s=0;s<this.value.length;s++){const o=this.value[s].constructor.NAME;if(o===hi){if(this.isIndefiniteForm)break;return this.error="EndOfContent is unexpected, OCTET STRING may consists of OCTET STRINGs only",-1}if(o!==qd)return this.error="OCTET STRING may consists of OCTET STRINGs only",-1}}else this.isHexOnly=!0,r=super.fromBER(e,t,i),this.blockLength=i;return r}toBER(e,t){return this.isConstructed?Pt.prototype.toBER.call(this,e,t):e?new ArrayBuffer(this.valueHexView.byteLength):this.valueHexView.slice().buffer}toJSON(){return{...super.toJSON(),isConstructed:this.isConstructed}}}rp.NAME="OctetStringValueBlock";var sp;let tn=class op extends $e{constructor({idBlock:e={},lenBlock:t={},...i}={}){var r,s;(r=i.isConstructed)!==null&&r!==void 0||(i.isConstructed=!!(!((s=i.value)===null||s===void 0)&&s.length)),super({idBlock:{isConstructed:i.isConstructed,...e},lenBlock:{...t,isIndefiniteForm:!!i.isIndefiniteForm},...i},rp),this.idBlock.tagClass=1,this.idBlock.tagNumber=4}fromBER(e,t,i){if(this.valueBlock.isConstructed=this.idBlock.isConstructed,this.valueBlock.isIndefiniteForm=this.lenBlock.isIndefiniteForm,i===0)return this.idBlock.error.length===0&&(this.blockLength+=this.idBlock.blockLength),this.lenBlock.error.length===0&&(this.blockLength+=this.lenBlock.blockLength),t;if(!this.valueBlock.isConstructed){const s=(e instanceof ArrayBuffer?new Uint8Array(e):e).subarray(t,t+i);try{if(s.byteLength){const o=Fn(s,0,s.byteLength);o.offset!==-1&&o.offset===i&&(this.valueBlock.value=[o.result])}}catch{}}return super.fromBER(e,t,i)}onAsciiEncoding(){return this.valueBlock.isConstructed||this.valueBlock.value&&this.valueBlock.value.length?Ue.prototype.onAsciiEncoding.call(this):`${this.constructor.NAME} : ${W.ToHex(this.valueBlock.valueHexView)}`}getValue(){if(!this.idBlock.isConstructed)return this.valueBlock.valueHexView.slice().buffer;const e=[];for(const t of this.valueBlock.value)t instanceof op&&e.push(t.valueBlock.valueHexView);return U.concat(e)}};sp=tn;D.OctetString=sp;tn.NAME=qd;class ap extends yt(Pt){constructor({unusedBits:e=0,isConstructed:t=!1,...i}={}){super(i),this.unusedBits=e,this.isConstructed=t,this.blockLength=this.valueHexView.byteLength}fromBER(e,t,i){if(!i)return t;let r=-1;if(this.isConstructed){if(r=Pt.prototype.fromBER.call(this,e,t,i),r===-1)return r;for(const c of this.value){const l=c.constructor.NAME;if(l===hi){if(this.isIndefiniteForm)break;return this.error="EndOfContent is unexpected, BIT STRING may consists of BIT STRINGs only",-1}if(l!==Kd)return this.error="BIT STRING may consists of BIT STRINGs only",-1;const u=c.valueBlock;if(this.unusedBits>0&&u.unusedBits>0)return this.error='Using of "unused bits" inside constructive BIT STRING allowed for least one only',-1;this.unusedBits=u.unusedBits}return r}const s=U.toUint8Array(e);if(!jt(this,s,t,i))return-1;const o=s.subarray(t,t+i);if(this.unusedBits=o[0],this.unusedBits>7)return this.error="Unused bits for BitString must be in range 0-7",-1;if(!this.unusedBits){const c=o.subarray(1);try{if(c.byteLength){const l=Fn(c,0,c.byteLength);l.offset!==-1&&l.offset===i-1&&(this.value=[l.result])}}catch{}}return this.valueHexView=o.subarray(1),this.blockLength=o.length,t+i}toBER(e,t){if(this.isConstructed)return Pt.prototype.toBER.call(this,e,t);if(e)return new ArrayBuffer(this.valueHexView.byteLength+1);if(!this.valueHexView.byteLength)return ct;const i=new Uint8Array(this.valueHexView.length+1);return i[0]=this.unusedBits,i.set(this.valueHexView,1),i.buffer}toJSON(){return{...super.toJSON(),unusedBits:this.unusedBits,isConstructed:this.isConstructed}}}ap.NAME="BitStringValueBlock";var cp;let nn=class extends $e{constructor({idBlock:e={},lenBlock:t={},...i}={}){var r,s;(r=i.isConstructed)!==null&&r!==void 0||(i.isConstructed=!!(!((s=i.value)===null||s===void 0)&&s.length)),super({idBlock:{isConstructed:i.isConstructed,...e},lenBlock:{...t,isIndefiniteForm:!!i.isIndefiniteForm},...i},ap),this.idBlock.tagClass=1,this.idBlock.tagNumber=3}fromBER(e,t,i){return this.valueBlock.isConstructed=this.idBlock.isConstructed,this.valueBlock.isIndefiniteForm=this.lenBlock.isIndefiniteForm,super.fromBER(e,t,i)}onAsciiEncoding(){if(this.valueBlock.isConstructed||this.valueBlock.value&&this.valueBlock.value.length)return Ue.prototype.onAsciiEncoding.call(this);{const e=[],t=this.valueBlock.valueHexView;for(const r of t)e.push(r.toString(2).padStart(8,"0"));const i=e.join("");return`${this.constructor.NAME} : ${i.substring(0,i.length-this.valueBlock.unusedBits)}`}}};cp=nn;D.BitString=cp;nn.NAME=Kd;var lp;function Pg(n,e){const t=new Uint8Array([0]),i=new Uint8Array(n),r=new Uint8Array(e);let s=i.slice(0);const o=s.length-1,c=r.slice(0),l=c.length-1;let u=0;const p=l<o?o:l;let g=0;for(let m=p;m>=0;m--,g++){switch(!0){case g<c.length:u=s[o-g]+c[l-g]+t[0];break;default:u=s[o-g]+t[0]}switch(t[0]=u/10,!0){case g>=s.length:s=xo(new Uint8Array([u%10]),s);break;default:s[o-g]=u%10}}return t[0]>0&&(s=xo(t,s)),s}function Al(n){if(n>=ni.length)for(let e=ni.length;e<=n;e++){const t=new Uint8Array([0]);let i=ni[e-1].slice(0);for(let r=i.length-1;r>=0;r--){const s=new Uint8Array([(i[r]<<1)+t[0]]);t[0]=s[0]/10,i[r]=s[0]%10}t[0]>0&&(i=xo(t,i)),ni.push(i)}return ni[n]}function Lg(n,e){let t=0;const i=new Uint8Array(n),r=new Uint8Array(e),s=i.slice(0),o=s.length-1,c=r.slice(0),l=c.length-1;let u,p=0;for(let g=l;g>=0;g--,p++)switch(u=s[o-p]-c[l-p]-t,!0){case u<0:t=1,s[o-p]=u+10;break;default:t=0,s[o-p]=u}if(t>0)for(let g=o-l+1;g>=0;g--,p++)if(u=s[o-p]-t,u<0)t=1,s[o-p]=u+10;else{t=0,s[o-p]=u;break}return s.slice()}class tc extends yt(Te){constructor({value:e,...t}={}){super(t),this._valueDec=0,t.valueHex&&this.setValueHex(),e!==void 0&&(this.valueDec=e)}setValueHex(){this.valueHexView.length>=4?(this.warnings.push("Too big Integer for decoding, hex only"),this.isHexOnly=!0,this._valueDec=0):(this.isHexOnly=!1,this.valueHexView.length>0&&(this._valueDec=Fd.call(this)))}set valueDec(e){this._valueDec=e,this.isHexOnly=!1,this.valueHexView=new Uint8Array(Ag(e))}get valueDec(){return this._valueDec}fromDER(e,t,i,r=0){const s=this.fromBER(e,t,i);if(s===-1)return s;const o=this.valueHexView;return o[0]===0&&o[1]&128?this.valueHexView=o.subarray(1):r!==0&&o.length<r&&(r-o.length>1&&(r=o.length+1),this.valueHexView=o.subarray(r-o.length)),s}toDER(e=!1){const t=this.valueHexView;switch(!0){case(t[0]&128)!==0:{const i=new Uint8Array(this.valueHexView.length+1);i[0]=0,i.set(t,1),this.valueHexView=i}break;case(t[0]===0&&(t[1]&128)===0):this.valueHexView=this.valueHexView.subarray(1);break}return this.toBER(e)}fromBER(e,t,i){const r=super.fromBER(e,t,i);return r===-1||this.setValueHex(),r}toBER(e){return e?new ArrayBuffer(this.valueHexView.length):this.valueHexView.slice().buffer}toJSON(){return{...super.toJSON(),valueDec:this.valueDec}}toString(){const e=this.valueHexView.length*8-1;let t=new Uint8Array(this.valueHexView.length*8/3),i=0,r;const s=this.valueHexView;let o="",c=!1;for(let l=s.byteLength-1;l>=0;l--){r=s[l];for(let u=0;u<8;u++){if((r&1)===1)switch(i){case e:t=Lg(Al(i),t),o="-";break;default:t=Pg(t,Al(i))}i++,r>>=1}}for(let l=0;l<t.length;l++)t[l]&&(c=!0),c&&(o+=xl.charAt(t[l]));return c===!1&&(o+=xl.charAt(0)),o}}lp=tc;tc.NAME="IntegerValueBlock";Object.defineProperty(lp.prototype,"valueHex",{set:function(n){this.valueHexView=new Uint8Array(n),this.setValueHex()},get:function(){return this.valueHexView.slice().buffer}});var up;class gt extends $e{constructor(e={}){super(e,tc),this.idBlock.tagClass=1,this.idBlock.tagNumber=2}toBigInt(){return wr(),BigInt(this.valueBlock.toString())}static fromBigInt(e){wr();const t=BigInt(e),i=new as,r=t.toString(16).replace(/^-/,""),s=new Uint8Array(W.FromHex(r));if(t<0){const c=new Uint8Array(s.length+(s[0]&128?1:0));c[0]|=128;const u=BigInt(`0x${W.ToHex(c)}`)+t,p=U.toUint8Array(W.FromHex(u.toString(16)));p[0]|=128,i.write(p)}else s[0]&128&&i.write(new Uint8Array([0])),i.write(s);return new gt({valueHex:i.final()})}convertToDER(){const e=new gt({valueHex:this.valueBlock.valueHexView});return e.valueBlock.toDER(),e}convertFromDER(){return new gt({valueHex:this.valueBlock.valueHexView[0]===0?this.valueBlock.valueHexView.subarray(1):this.valueBlock.valueHexView})}onAsciiEncoding(){return`${this.constructor.NAME} : ${this.valueBlock.toString()}`}}up=gt;D.Integer=up;gt.NAME="INTEGER";var dp;class us extends gt{constructor(e={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=10}}dp=us;D.Enumerated=dp;us.NAME="ENUMERATED";class So extends yt(Te){constructor({valueDec:e=-1,isFirstSid:t=!1,...i}={}){super(i),this.valueDec=e,this.isFirstSid=t}fromBER(e,t,i){if(!i)return t;const r=U.toUint8Array(e);if(!jt(this,r,t,i))return-1;const s=r.subarray(t,t+i);this.valueHexView=new Uint8Array(i);for(let c=0;c<i&&(this.valueHexView[c]=s[c]&127,this.blockLength++,!!(s[c]&128));c++);const o=new Uint8Array(this.blockLength);for(let c=0;c<this.blockLength;c++)o[c]=this.valueHexView[c];return this.valueHexView=o,s[this.blockLength-1]&128?(this.error="End of input reached before message was fully decoded",-1):(this.valueHexView[0]===0&&this.warnings.push("Needlessly long format of SID encoding"),this.blockLength<=8?this.valueDec=zn(this.valueHexView,7):(this.isHexOnly=!0,this.warnings.push("Too big SID for decoding, hex only")),t+this.blockLength)}set valueBigInt(e){wr();let t=BigInt(e).toString(2);for(;t.length%7;)t="0"+t;const i=new Uint8Array(t.length/7);for(let r=0;r<i.length;r++)i[r]=parseInt(t.slice(r*7,r*7+7),2)+(r+1<i.length?128:0);this.fromBER(i.buffer,0,i.length)}toBER(e){if(this.isHexOnly){if(e)return new ArrayBuffer(this.valueHexView.byteLength);const r=this.valueHexView,s=new Uint8Array(this.blockLength);for(let o=0;o<this.blockLength-1;o++)s[o]=r[o]|128;return s[this.blockLength-1]=r[this.blockLength-1],s.buffer}const t=an(this.valueDec,7);if(t.byteLength===0)return this.error="Error during encoding SID value",ct;const i=new Uint8Array(t.byteLength);if(!e){const r=new Uint8Array(t),s=t.byteLength-1;for(let o=0;o<s;o++)i[o]=r[o]|128;i[s]=r[s]}return i}toString(){let e="";if(this.isHexOnly)e=W.ToHex(this.valueHexView);else if(this.isFirstSid){let t=this.valueDec;this.valueDec<=39?e="0.":this.valueDec<=79?(e="1.",t-=40):(e="2.",t-=80),e+=t.toString()}else e=this.valueDec.toString();return e}toJSON(){return{...super.toJSON(),valueDec:this.valueDec,isFirstSid:this.isFirstSid}}}So.NAME="sidBlock";class pp extends Te{constructor({value:e=Le,...t}={}){super(t),this.value=[],e&&this.fromString(e)}fromBER(e,t,i){let r=t;for(;i>0;){const s=new So;if(r=s.fromBER(e,r,i),r===-1)return this.blockLength=0,this.error=s.error,r;this.value.length===0&&(s.isFirstSid=!0),this.blockLength+=s.blockLength,i-=s.blockLength,this.value.push(s)}return r}toBER(e){const t=[];for(let i=0;i<this.value.length;i++){const r=this.value[i].toBER(e);if(r.byteLength===0)return this.error=this.value[i].error,ct;t.push(r)}return Xa(t)}fromString(e){this.value=[];let t=0,i=0,r="",s=!1;do if(i=e.indexOf(".",t),i===-1?r=e.substring(t):r=e.substring(t,i),t=i+1,s){const o=this.value[0];let c=0;switch(o.valueDec){case 0:break;case 1:c=40;break;case 2:c=80;break;default:this.value=[];return}const l=parseInt(r,10);if(isNaN(l))return;o.valueDec=l+c,s=!1}else{const o=new So;if(r>Number.MAX_SAFE_INTEGER){wr();const c=BigInt(r);o.valueBigInt=c}else if(o.valueDec=parseInt(r,10),isNaN(o.valueDec))return;this.value.length||(o.isFirstSid=!0,s=!0),this.value.push(o)}while(i!==-1)}toString(){let e="",t=!1;for(let i=0;i<this.value.length;i++){t=this.value[i].isHexOnly;let r=this.value[i].toString();i!==0&&(e=`${e}.`),t?(r=`{${r}}`,this.value[i].isFirstSid?e=`2.{${r} - 80}`:e+=r):e+=r}return e}toJSON(){const e={...super.toJSON(),value:this.toString(),sidArray:[]};for(let t=0;t<this.value.length;t++)e.sidArray.push(this.value[t].toJSON());return e}}pp.NAME="ObjectIdentifierValueBlock";var fp;class ds extends $e{constructor(e={}){super(e,pp),this.idBlock.tagClass=1,this.idBlock.tagNumber=6}getValue(){return this.valueBlock.toString()}setValue(e){this.valueBlock.fromString(e)}onAsciiEncoding(){return`${this.constructor.NAME} : ${this.valueBlock.toString()||"empty"}`}toJSON(){return{...super.toJSON(),value:this.getValue()}}}fp=ds;D.ObjectIdentifier=fp;ds.NAME="OBJECT IDENTIFIER";class Ao extends yt(vn){constructor({valueDec:e=0,...t}={}){super(t),this.valueDec=e}fromBER(e,t,i){if(i===0)return t;const r=U.toUint8Array(e);if(!jt(this,r,t,i))return-1;const s=r.subarray(t,t+i);this.valueHexView=new Uint8Array(i);for(let c=0;c<i&&(this.valueHexView[c]=s[c]&127,this.blockLength++,!!(s[c]&128));c++);const o=new Uint8Array(this.blockLength);for(let c=0;c<this.blockLength;c++)o[c]=this.valueHexView[c];return this.valueHexView=o,s[this.blockLength-1]&128?(this.error="End of input reached before message was fully decoded",-1):(this.valueHexView[0]===0&&this.warnings.push("Needlessly long format of SID encoding"),this.blockLength<=8?this.valueDec=zn(this.valueHexView,7):(this.isHexOnly=!0,this.warnings.push("Too big SID for decoding, hex only")),t+this.blockLength)}toBER(e){if(this.isHexOnly){if(e)return new ArrayBuffer(this.valueHexView.byteLength);const r=this.valueHexView,s=new Uint8Array(this.blockLength);for(let o=0;o<this.blockLength-1;o++)s[o]=r[o]|128;return s[this.blockLength-1]=r[this.blockLength-1],s.buffer}const t=an(this.valueDec,7);if(t.byteLength===0)return this.error="Error during encoding SID value",ct;const i=new Uint8Array(t.byteLength);if(!e){const r=new Uint8Array(t),s=t.byteLength-1;for(let o=0;o<s;o++)i[o]=r[o]|128;i[s]=r[s]}return i.buffer}toString(){let e="";return this.isHexOnly?e=W.ToHex(this.valueHexView):e=this.valueDec.toString(),e}toJSON(){return{...super.toJSON(),valueDec:this.valueDec}}}Ao.NAME="relativeSidBlock";class hp extends Te{constructor({value:e=Le,...t}={}){super(t),this.value=[],e&&this.fromString(e)}fromBER(e,t,i){let r=t;for(;i>0;){const s=new Ao;if(r=s.fromBER(e,r,i),r===-1)return this.blockLength=0,this.error=s.error,r;this.blockLength+=s.blockLength,i-=s.blockLength,this.value.push(s)}return r}toBER(e,t){const i=[];for(let r=0;r<this.value.length;r++){const s=this.value[r].toBER(e);if(s.byteLength===0)return this.error=this.value[r].error,ct;i.push(s)}return Xa(i)}fromString(e){this.value=[];let t=0,i=0,r="";do{i=e.indexOf(".",t),i===-1?r=e.substring(t):r=e.substring(t,i),t=i+1;const s=new Ao;if(s.valueDec=parseInt(r,10),isNaN(s.valueDec))return!0;this.value.push(s)}while(i!==-1);return!0}toString(){let e="",t=!1;for(let i=0;i<this.value.length;i++){t=this.value[i].isHexOnly;let r=this.value[i].toString();i!==0&&(e=`${e}.`),t&&(r=`{${r}}`),e+=r}return e}toJSON(){const e={...super.toJSON(),value:this.toString(),sidArray:[]};for(let t=0;t<this.value.length;t++)e.sidArray.push(this.value[t].toJSON());return e}}hp.NAME="RelativeObjectIdentifierValueBlock";var gp;class nc extends $e{constructor(e={}){super(e,hp),this.idBlock.tagClass=1,this.idBlock.tagNumber=13}getValue(){return this.valueBlock.toString()}setValue(e){this.valueBlock.fromString(e)}onAsciiEncoding(){return`${this.constructor.NAME} : ${this.valueBlock.toString()||"empty"}`}toJSON(){return{...super.toJSON(),value:this.getValue()}}}gp=nc;D.RelativeObjectIdentifier=gp;nc.NAME="RelativeObjectIdentifier";var _p;class xt extends Ue{constructor(e={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=16}}_p=xt;D.Sequence=_p;xt.NAME="SEQUENCE";var mp;let St=class extends Ue{constructor(e={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=17}};mp=St;D.Set=mp;St.NAME="SET";class yp extends yt(Te){constructor({...e}={}){super(e),this.isHexOnly=!0,this.value=Le}toJSON(){return{...super.toJSON(),value:this.value}}}yp.NAME="StringValueBlock";class vp extends yp{}vp.NAME="SimpleStringValueBlock";class We extends Qa{constructor({...e}={}){super(e,vp)}fromBuffer(e){this.valueBlock.value=String.fromCharCode.apply(null,U.toUint8Array(e))}fromString(e){const t=e.length,i=this.valueBlock.valueHexView=new Uint8Array(t);for(let r=0;r<t;r++)i[r]=e.charCodeAt(r);this.valueBlock.value=e}}We.NAME="SIMPLE STRING";class wp extends We{fromBuffer(e){this.valueBlock.valueHexView=U.toUint8Array(e);try{this.valueBlock.value=W.ToUtf8String(e)}catch(t){this.warnings.push(`Error during "decodeURIComponent": ${t}, using raw string`),this.valueBlock.value=W.ToBinary(e)}}fromString(e){this.valueBlock.valueHexView=new Uint8Array(W.FromUtf8String(e)),this.valueBlock.value=e}}wp.NAME="Utf8StringValueBlock";var bp;class zt extends wp{constructor(e={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=12}}bp=zt;D.Utf8String=bp;zt.NAME="UTF8String";class kp extends We{fromBuffer(e){this.valueBlock.value=W.ToUtf16String(e),this.valueBlock.valueHexView=U.toUint8Array(e)}fromString(e){this.valueBlock.value=e,this.valueBlock.valueHexView=new Uint8Array(W.FromUtf16String(e))}}kp.NAME="BmpStringValueBlock";var xp;class ps extends kp{constructor({...e}={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=30}}xp=ps;D.BmpString=xp;ps.NAME="BMPString";class Sp extends We{fromBuffer(e){const t=ArrayBuffer.isView(e)?e.slice().buffer:e.slice(0),i=new Uint8Array(t);for(let r=0;r<i.length;r+=4)i[r]=i[r+3],i[r+1]=i[r+2],i[r+2]=0,i[r+3]=0;this.valueBlock.value=String.fromCharCode.apply(null,new Uint32Array(t))}fromString(e){const t=e.length,i=this.valueBlock.valueHexView=new Uint8Array(t*4);for(let r=0;r<t;r++){const s=an(e.charCodeAt(r),8),o=new Uint8Array(s);if(o.length>4)continue;const c=4-o.length;for(let l=o.length-1;l>=0;l--)i[r*4+l+c]=o[l]}this.valueBlock.value=e}}Sp.NAME="UniversalStringValueBlock";var Ap;class fs extends Sp{constructor({...e}={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=28}}Ap=fs;D.UniversalString=Ap;fs.NAME="UniversalString";var Ip;class hs extends We{constructor(e={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=18}}Ip=hs;D.NumericString=Ip;hs.NAME="NumericString";var Ep;class gs extends We{constructor(e={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=19}}Ep=gs;D.PrintableString=Ep;gs.NAME="PrintableString";var $p;class _s extends We{constructor(e={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=20}}$p=_s;D.TeletexString=$p;_s.NAME="TeletexString";var Cp;class ms extends We{constructor(e={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=21}}Cp=ms;D.VideotexString=Cp;ms.NAME="VideotexString";var jp;class ys extends We{constructor(e={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=22}}jp=ys;D.IA5String=jp;ys.NAME="IA5String";var zp;class vs extends We{constructor(e={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=25}}zp=vs;D.GraphicString=zp;vs.NAME="GraphicString";var Np;class Ci extends We{constructor(e={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=26}}Np=Ci;D.VisibleString=Np;Ci.NAME="VisibleString";var Op;class ws extends We{constructor(e={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=27}}Op=ws;D.GeneralString=Op;ws.NAME="GeneralString";var Bp;class bs extends We{constructor(e={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=29}}Bp=bs;D.CharacterString=Bp;bs.NAME="CharacterString";var Tp;class ji extends Ci{constructor({value:e,valueDate:t,...i}={}){if(super(i),this.year=0,this.month=0,this.day=0,this.hour=0,this.minute=0,this.second=0,e){this.fromString(e),this.valueBlock.valueHexView=new Uint8Array(e.length);for(let r=0;r<e.length;r++)this.valueBlock.valueHexView[r]=e.charCodeAt(r)}t&&(this.fromDate(t),this.valueBlock.valueHexView=new Uint8Array(this.toBuffer())),this.idBlock.tagClass=1,this.idBlock.tagNumber=23}fromBuffer(e){this.fromString(String.fromCharCode.apply(null,U.toUint8Array(e)))}toBuffer(){const e=this.toString(),t=new ArrayBuffer(e.length),i=new Uint8Array(t);for(let r=0;r<e.length;r++)i[r]=e.charCodeAt(r);return t}fromDate(e){this.year=e.getUTCFullYear(),this.month=e.getUTCMonth()+1,this.day=e.getUTCDate(),this.hour=e.getUTCHours(),this.minute=e.getUTCMinutes(),this.second=e.getUTCSeconds()}toDate(){return new Date(Date.UTC(this.year,this.month-1,this.day,this.hour,this.minute,this.second))}fromString(e){const i=/(\d{2})(\d{2})(\d{2})(\d{2})(\d{2})(\d{2})Z/ig.exec(e);if(i===null){this.error="Wrong input string for conversion";return}const r=parseInt(i[1],10);r>=50?this.year=1900+r:this.year=2e3+r,this.month=parseInt(i[2],10),this.day=parseInt(i[3],10),this.hour=parseInt(i[4],10),this.minute=parseInt(i[5],10),this.second=parseInt(i[6],10)}toString(e="iso"){if(e==="iso"){const t=new Array(7);return t[0]=Fe(this.year<2e3?this.year-1900:this.year-2e3,2),t[1]=Fe(this.month,2),t[2]=Fe(this.day,2),t[3]=Fe(this.hour,2),t[4]=Fe(this.minute,2),t[5]=Fe(this.second,2),t[6]="Z",t.join("")}return super.toString(e)}onAsciiEncoding(){return`${this.constructor.NAME} : ${this.toDate().toISOString()}`}toJSON(){return{...super.toJSON(),year:this.year,month:this.month,day:this.day,hour:this.hour,minute:this.minute,second:this.second}}}Tp=ji;D.UTCTime=Tp;ji.NAME="UTCTime";var Rp;class ks extends ji{constructor(e={}){var t;super(e),(t=this.millisecond)!==null&&t!==void 0||(this.millisecond=0),this.idBlock.tagClass=1,this.idBlock.tagNumber=24}fromDate(e){super.fromDate(e),this.millisecond=e.getUTCMilliseconds()}toDate(){return new Date(Date.UTC(this.year,this.month-1,this.day,this.hour,this.minute,this.second,this.millisecond))}fromString(e){let t=!1,i="",r="",s=0,o,c=0,l=0;if(e[e.length-1]==="Z")i=e.substring(0,e.length-1),t=!0;else{const g=new Number(e[e.length-1]);if(isNaN(g.valueOf()))throw new Error("Wrong input string for conversion");i=e}if(t){if(i.indexOf("+")!==-1)throw new Error("Wrong input string for conversion");if(i.indexOf("-")!==-1)throw new Error("Wrong input string for conversion")}else{let g=1,m=i.indexOf("+"),x="";if(m===-1&&(m=i.indexOf("-"),g=-1),m!==-1){if(x=i.substring(m+1),i=i.substring(0,m),x.length!==2&&x.length!==4)throw new Error("Wrong input string for conversion");let h=parseInt(x.substring(0,2),10);if(isNaN(h.valueOf()))throw new Error("Wrong input string for conversion");if(c=g*h,x.length===4){if(h=parseInt(x.substring(2,4),10),isNaN(h.valueOf()))throw new Error("Wrong input string for conversion");l=g*h}}}let u=i.indexOf(".");if(u===-1&&(u=i.indexOf(",")),u!==-1){const g=new Number(`0${i.substring(u)}`);if(isNaN(g.valueOf()))throw new Error("Wrong input string for conversion");s=g.valueOf(),r=i.substring(0,u)}else r=i;switch(!0){case r.length===8:if(o=/(\d{4})(\d{2})(\d{2})/ig,u!==-1)throw new Error("Wrong input string for conversion");break;case r.length===10:if(o=/(\d{4})(\d{2})(\d{2})(\d{2})/ig,u!==-1){let g=60*s;this.minute=Math.floor(g),g=60*(g-this.minute),this.second=Math.floor(g),g=1e3*(g-this.second),this.millisecond=Math.floor(g)}break;case r.length===12:if(o=/(\d{4})(\d{2})(\d{2})(\d{2})(\d{2})/ig,u!==-1){let g=60*s;this.second=Math.floor(g),g=1e3*(g-this.second),this.millisecond=Math.floor(g)}break;case r.length===14:if(o=/(\d{4})(\d{2})(\d{2})(\d{2})(\d{2})(\d{2})/ig,u!==-1){const g=1e3*s;this.millisecond=Math.floor(g)}break;default:throw new Error("Wrong input string for conversion")}const p=o.exec(r);if(p===null)throw new Error("Wrong input string for conversion");for(let g=1;g<p.length;g++)switch(g){case 1:this.year=parseInt(p[g],10);break;case 2:this.month=parseInt(p[g],10);break;case 3:this.day=parseInt(p[g],10);break;case 4:this.hour=parseInt(p[g],10)+c;break;case 5:this.minute=parseInt(p[g],10)+l;break;case 6:this.second=parseInt(p[g],10);break;default:throw new Error("Wrong input string for conversion")}if(t===!1){const g=new Date(this.year,this.month,this.day,this.hour,this.minute,this.second,this.millisecond);this.year=g.getUTCFullYear(),this.month=g.getUTCMonth(),this.day=g.getUTCDay(),this.hour=g.getUTCHours(),this.minute=g.getUTCMinutes(),this.second=g.getUTCSeconds(),this.millisecond=g.getUTCMilliseconds()}}toString(e="iso"){if(e==="iso"){const t=[];return t.push(Fe(this.year,4)),t.push(Fe(this.month,2)),t.push(Fe(this.day,2)),t.push(Fe(this.hour,2)),t.push(Fe(this.minute,2)),t.push(Fe(this.second,2)),this.millisecond!==0&&(t.push("."),t.push(Fe(this.millisecond,3))),t.push("Z"),t.join("")}return super.toString(e)}toJSON(){return{...super.toJSON(),millisecond:this.millisecond}}}Rp=ks;D.GeneralizedTime=Rp;ks.NAME="GeneralizedTime";var Pp;class ic extends zt{constructor(e={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=31}}Pp=ic;D.DATE=Pp;ic.NAME="DATE";var Lp;class rc extends zt{constructor(e={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=32}}Lp=rc;D.TimeOfDay=Lp;rc.NAME="TimeOfDay";var Up;class sc extends zt{constructor(e={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=33}}Up=sc;D.DateTime=Up;sc.NAME="DateTime";var Vp;class oc extends zt{constructor(e={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=34}}Vp=oc;D.Duration=Vp;oc.NAME="Duration";var Mp;class ac extends zt{constructor(e={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=14}}Mp=ac;D.TIME=Mp;ac.NAME="TIME";class ln{constructor({name:e=Le,optional:t=!1}={}){this.name=e,this.optional=t}}class cc extends ln{constructor({value:e=[],...t}={}){super(t),this.value=e}}class br extends ln{constructor({value:e=new ln,local:t=!1,...i}={}){super(i),this.value=e,this.local=t}}class Ug{constructor({data:e=cs}={}){this.dataView=U.toUint8Array(e)}get data(){return this.dataView.slice().buffer}set data(e){this.dataView=U.toUint8Array(e)}fromBER(e,t,i){const r=t+i;return this.dataView=U.toUint8Array(e).subarray(t,r),r}toBER(e){return this.dataView.slice().buffer}}function Xt(n,e,t){if(t instanceof cc){for(let s=0;s<t.value.length;s++)if(Xt(n,e,t.value[s]).verified)return{verified:!0,result:n};{const s={verified:!1,result:{error:"Wrong values for Choice type"}};return t.hasOwnProperty(so)&&(s.name=t.name),s}}if(t instanceof ln)return t.hasOwnProperty(so)&&(n[t.name]=e),{verified:!0,result:n};if(!(n instanceof Object))return{verified:!1,result:{error:"Wrong root object"}};if(!(e instanceof Object))return{verified:!1,result:{error:"Wrong ASN.1 data"}};if(!(t instanceof Object))return{verified:!1,result:{error:"Wrong ASN.1 schema"}};if(!($g in t))return{verified:!1,result:{error:"Wrong ASN.1 schema"}};if(!(Ng in t.idBlock))return{verified:!1,result:{error:"Wrong ASN.1 schema"}};if(!(Og in t.idBlock))return{verified:!1,result:{error:"Wrong ASN.1 schema"}};const i=t.idBlock.toBER(!1);if(i.byteLength===0)return{verified:!1,result:{error:"Error encoding idBlock for ASN.1 schema"}};if(t.idBlock.fromBER(i,0,i.byteLength)===-1)return{verified:!1,result:{error:"Error decoding idBlock for ASN.1 schema"}};if(t.idBlock.hasOwnProperty(Cg)===!1)return{verified:!1,result:{error:"Wrong ASN.1 schema"}};if(t.idBlock.tagClass!==e.idBlock.tagClass)return{verified:!1,result:n};if(t.idBlock.hasOwnProperty(jg)===!1)return{verified:!1,result:{error:"Wrong ASN.1 schema"}};if(t.idBlock.tagNumber!==e.idBlock.tagNumber)return{verified:!1,result:n};if(t.idBlock.hasOwnProperty(zg)===!1)return{verified:!1,result:{error:"Wrong ASN.1 schema"}};if(t.idBlock.isConstructed!==e.idBlock.isConstructed)return{verified:!1,result:n};if(!(Eg in t.idBlock))return{verified:!1,result:{error:"Wrong ASN.1 schema"}};if(t.idBlock.isHexOnly!==e.idBlock.isHexOnly)return{verified:!1,result:n};if(t.idBlock.isHexOnly){if(!(Sl in t.idBlock))return{verified:!1,result:{error:"Wrong ASN.1 schema"}};const s=t.idBlock.valueHexView,o=e.idBlock.valueHexView;if(s.length!==o.length)return{verified:!1,result:n};for(let c=0;c<s.length;c++)if(s[c]!==o[1])return{verified:!1,result:n}}if(t.name&&(t.name=t.name.replace(/^\s+|\s+$/g,Le),t.name&&(n[t.name]=e)),t instanceof D.Constructed){let s=0,o={verified:!1,result:{error:"Unknown error"}},c=t.valueBlock.value.length;if(c>0&&t.valueBlock.value[0]instanceof br&&(c=e.valueBlock.value.length),c===0)return{verified:!0,result:n};if(e.valueBlock.value.length===0&&t.valueBlock.value.length!==0){let l=!0;for(let u=0;u<t.valueBlock.value.length;u++)l=l&&(t.valueBlock.value[u].optional||!1);return l?{verified:!0,result:n}:(t.name&&(t.name=t.name.replace(/^\s+|\s+$/g,Le),t.name&&delete n[t.name]),n.error="Inconsistent object length",{verified:!1,result:n})}for(let l=0;l<c;l++)if(l-s>=e.valueBlock.value.length){if(t.valueBlock.value[l].optional===!1){const u={verified:!1,result:n};return n.error="Inconsistent length between ASN.1 data and schema",t.name&&(t.name=t.name.replace(/^\s+|\s+$/g,Le),t.name&&(delete n[t.name],u.name=t.name)),u}}else if(t.valueBlock.value[0]instanceof br){if(o=Xt(n,e.valueBlock.value[l],t.valueBlock.value[0].value),o.verified===!1)if(t.valueBlock.value[0].optional)s++;else return t.name&&(t.name=t.name.replace(/^\s+|\s+$/g,Le),t.name&&delete n[t.name]),o;if(so in t.valueBlock.value[0]&&t.valueBlock.value[0].name.length>0){let u={};Bg in t.valueBlock.value[0]&&t.valueBlock.value[0].local?u=e:u=n,typeof u[t.valueBlock.value[0].name]>"u"&&(u[t.valueBlock.value[0].name]=[]),u[t.valueBlock.value[0].name].push(e.valueBlock.value[l])}}else if(o=Xt(n,e.valueBlock.value[l-s],t.valueBlock.value[l]),o.verified===!1)if(t.valueBlock.value[l].optional)s++;else return t.name&&(t.name=t.name.replace(/^\s+|\s+$/g,Le),t.name&&delete n[t.name]),o;if(o.verified===!1){const l={verified:!1,result:n};return t.name&&(t.name=t.name.replace(/^\s+|\s+$/g,Le),t.name&&(delete n[t.name],l.name=t.name)),l}return{verified:!0,result:n}}if(t.primitiveSchema&&Sl in e.valueBlock){const s=Fn(e.valueBlock.valueHexView);if(s.offset===-1){const o={verified:!1,result:s.result};return t.name&&(t.name=t.name.replace(/^\s+|\s+$/g,Le),t.name&&(delete n[t.name],o.name=t.name)),o}return Xt(n,s.result,t.primitiveSchema)}return{verified:!0,result:n}}function Vg(n,e){if(!(e instanceof Object))return{verified:!1,result:{error:"Wrong ASN.1 schema type"}};const t=Fn(U.toUint8Array(n));return t.offset===-1?{verified:!1,result:t.result}:Xt(t.result,t.result,e)}const Hp=Object.freeze(Object.defineProperty({__proto__:null,Any:ln,BaseBlock:$e,BaseStringBlock:Qa,BitString:nn,BmpString:ps,Boolean:ls,CharacterString:bs,Choice:cc,Constructed:Ue,DATE:ic,DateTime:sc,Duration:oc,EndOfContent:ec,Enumerated:us,GeneralString:ws,GeneralizedTime:ks,GraphicString:vs,HexBlock:yt,IA5String:ys,Integer:gt,Null:cn,NumericString:hs,ObjectIdentifier:ds,OctetString:tn,Primitive:$i,PrintableString:gs,RawData:Ug,RelativeObjectIdentifier:nc,Repeated:br,Sequence:xt,Set:St,TIME:ac,TeletexString:_s,TimeOfDay:rc,UTCTime:ji,UniversalString:fs,Utf8String:zt,ValueBlock:Te,VideotexString:ms,ViewWriter:as,VisibleString:Ci,compareSchema:Xt,fromBER:$n,verifySchema:Vg},Symbol.toStringTag,{value:"Module"}));var z;(function(n){n[n.Sequence=0]="Sequence",n[n.Set=1]="Set",n[n.Choice=2]="Choice"})(z||(z={}));var y;(function(n){n[n.Any=1]="Any",n[n.Boolean=2]="Boolean",n[n.OctetString=3]="OctetString",n[n.BitString=4]="BitString",n[n.Integer=5]="Integer",n[n.Enumerated=6]="Enumerated",n[n.ObjectIdentifier=7]="ObjectIdentifier",n[n.Utf8String=8]="Utf8String",n[n.BmpString=9]="BmpString",n[n.UniversalString=10]="UniversalString",n[n.NumericString=11]="NumericString",n[n.PrintableString=12]="PrintableString",n[n.TeletexString=13]="TeletexString",n[n.VideotexString=14]="VideotexString",n[n.IA5String=15]="IA5String",n[n.GraphicString=16]="GraphicString",n[n.VisibleString=17]="VisibleString",n[n.GeneralString=18]="GeneralString",n[n.CharacterString=19]="CharacterString",n[n.UTCTime=20]="UTCTime",n[n.GeneralizedTime=21]="GeneralizedTime",n[n.DATE=22]="DATE",n[n.TimeOfDay=23]="TimeOfDay",n[n.DateTime=24]="DateTime",n[n.Duration=25]="Duration",n[n.TIME=26]="TIME",n[n.Null=27]="Null"})(y||(y={}));class xs{constructor(e,t=0){if(this.unusedBits=0,this.value=new ArrayBuffer(0),e)if(typeof e=="number")this.fromNumber(e);else if(U.isBufferSource(e))this.unusedBits=t,this.value=U.toArrayBuffer(e);else throw TypeError("Unsupported type of 'params' argument for BitString")}fromASN(e){if(!(e instanceof nn))throw new TypeError("Argument 'asn' is not instance of ASN.1 BitString");return this.unusedBits=e.valueBlock.unusedBits,this.value=e.valueBlock.valueHex,this}toASN(){return new nn({unusedBits:this.unusedBits,valueHex:this.value})}toSchema(e){return new nn({name:e})}toNumber(){let e="";const t=new Uint8Array(this.value);for(const i of t)e+=i.toString(2).padStart(8,"0");return e=e.split("").reverse().join(""),this.unusedBits&&(e=e.slice(this.unusedBits).padStart(this.unusedBits,"0")),parseInt(e,2)}fromNumber(e){let t=e.toString(2);const i=t.length+7>>3;this.unusedBits=(i<<3)-t.length;const r=new Uint8Array(i);t=t.padStart(i<<3,"0").split("").reverse().join("");let s=0;for(;s<i;)r[s]=parseInt(t.slice(s<<3,(s<<3)+8),2),s++;this.value=r.buffer}}class re{get byteLength(){return this.buffer.byteLength}get byteOffset(){return 0}constructor(e){typeof e=="number"?this.buffer=new ArrayBuffer(e):U.isBufferSource(e)?this.buffer=U.toArrayBuffer(e):Array.isArray(e)?this.buffer=new Uint8Array(e):this.buffer=new ArrayBuffer(0)}fromASN(e){if(!(e instanceof tn))throw new TypeError("Argument 'asn' is not instance of ASN.1 OctetString");return this.buffer=e.valueBlock.valueHex,this}toASN(){return new tn({valueHex:this.buffer})}toSchema(e){return new tn({name:e})}}const Mg={fromASN:n=>n instanceof cn?null:n.valueBeforeDecodeView,toASN:n=>{if(n===null)return new cn;const e=$n(n);if(e.result.error)throw new Error(e.result.error);return e.result}},Hg={fromASN:n=>n.valueBlock.valueHexView.byteLength>=4?n.valueBlock.toString():n.valueBlock.valueDec,toASN:n=>new gt({value:+n})},Dg={fromASN:n=>n.valueBlock.valueDec,toASN:n=>new us({value:n})},he={fromASN:n=>n.valueBlock.valueHexView,toASN:n=>new gt({valueHex:n})},Fg={fromASN:n=>n.valueBlock.valueHexView,toASN:n=>new nn({valueHex:n})},qg={fromASN:n=>n.valueBlock.toString(),toASN:n=>new ds({value:n})},Kg={fromASN:n=>n.valueBlock.value,toASN:n=>new ls({value:n})},kr={fromASN:n=>n.valueBlock.valueHexView,toASN:n=>new tn({valueHex:n})},Wg={fromASN:n=>new re(n.getValue()),toASN:n=>n.toASN()};function Qe(n){return{fromASN:e=>e.valueBlock.value,toASN:e=>new n({value:e})}}const Dp=Qe(zt),Gg=Qe(ps),Jg=Qe(fs),Zg=Qe(hs),Yg=Qe(gs),Xg=Qe(_s),Qg=Qe(ms),e_=Qe(ys),t_=Qe(vs),n_=Qe(Ci),i_=Qe(ws),r_=Qe(bs),s_={fromASN:n=>n.toDate(),toASN:n=>new ji({valueDate:n})},o_={fromASN:n=>n.toDate(),toASN:n=>new ks({valueDate:n})},a_={fromASN:()=>null,toASN:()=>new cn};function lc(n){switch(n){case y.Any:return Mg;case y.BitString:return Fg;case y.BmpString:return Gg;case y.Boolean:return Kg;case y.CharacterString:return r_;case y.Enumerated:return Dg;case y.GeneralString:return i_;case y.GeneralizedTime:return o_;case y.GraphicString:return t_;case y.IA5String:return e_;case y.Integer:return Hg;case y.Null:return a_;case y.NumericString:return Zg;case y.ObjectIdentifier:return qg;case y.OctetString:return kr;case y.PrintableString:return Yg;case y.TeletexString:return Xg;case y.UTCTime:return s_;case y.UniversalString:return Jg;case y.Utf8String:return Dp;case y.VideotexString:return Qg;case y.VisibleString:return n_;default:return null}}function kt(n){return typeof n=="function"&&n.prototype?n.prototype.toASN&&n.prototype.fromASN?!0:kt(n.prototype):!!(n&&typeof n=="object"&&"toASN"in n&&"fromASN"in n)}function Fp(n){var e;if(n){const t=Object.getPrototypeOf(n);return((e=t==null?void 0:t.prototype)===null||e===void 0?void 0:e.constructor)===Array?!0:Fp(t)}return!1}function c_(n,e){if(!(n&&e)||n.byteLength!==e.byteLength)return!1;const t=new Uint8Array(n),i=new Uint8Array(e);for(let r=0;r<n.byteLength;r++)if(t[r]!==i[r])return!1;return!0}class l_{constructor(){this.items=new WeakMap}has(e){return this.items.has(e)}get(e,t=!1){const i=this.items.get(e);if(!i)throw new Error(`Cannot get schema for '${e.prototype.constructor.name}' target`);if(t&&!i.schema)throw new Error(`Schema '${e.prototype.constructor.name}' doesn't contain ASN.1 schema. Call 'AsnSchemaStorage.cache'.`);return i}cache(e){const t=this.get(e);t.schema||(t.schema=this.create(e,!0))}createDefault(e){const t={type:z.Sequence,items:{}},i=this.findParentSchema(e);return i&&(Object.assign(t,i),t.items=Object.assign({},t.items,i.items)),t}create(e,t){const i=this.items.get(e)||this.createDefault(e),r=[];for(const s in i.items){const o=i.items[s],c=t?s:"";let l;if(typeof o.type=="number"){const p=y[o.type],g=Hp[p];if(!g)throw new Error(`Cannot get ASN1 class by name '${p}'`);l=new g({name:c})}else kt(o.type)?l=new o.type().toSchema(c):o.optional?this.get(o.type).type===z.Choice?l=new ln({name:c}):(l=this.create(o.type,!1),l.name=c):l=new ln({name:c});const u=!!o.optional||o.defaultValue!==void 0;if(o.repeated){l.name="";const p=o.repeated==="set"?St:xt;l=new p({name:"",value:[new br({name:c,value:l})]})}if(o.context!==null&&o.context!==void 0)if(o.implicit)if(typeof o.type=="number"||kt(o.type)){const p=o.repeated?Ue:$i;r.push(new p({name:c,optional:u,idBlock:{tagClass:3,tagNumber:o.context}}))}else{this.cache(o.type);const p=!!o.repeated;let g=p?l:this.get(o.type,!0).schema;g="valueBlock"in g?g.valueBlock.value:g.value,r.push(new Ue({name:p?"":c,optional:u,idBlock:{tagClass:3,tagNumber:o.context},value:g}))}else r.push(new Ue({optional:u,idBlock:{tagClass:3,tagNumber:o.context},value:[l]}));else l.optional=u,r.push(l)}switch(i.type){case z.Sequence:return new xt({value:r,name:""});case z.Set:return new St({value:r,name:""});case z.Choice:return new cc({value:r,name:""});default:throw new Error("Unsupported ASN1 type in use")}}set(e,t){return this.items.set(e,t),this}findParentSchema(e){const t=Object.getPrototypeOf(e);return t?this.items.get(t)||this.findParentSchema(t):null}}const Je=new l_,B=n=>e=>{let t;Je.has(e)?t=Je.get(e):(t=Je.createDefault(e),Je.set(e,t)),Object.assign(t,n)},f=n=>(e,t)=>{let i;Je.has(e.constructor)?i=Je.get(e.constructor):(i=Je.createDefault(e.constructor),Je.set(e.constructor,i));const r=Object.assign({},n);if(typeof r.type=="number"&&!r.converter){const s=lc(n.type);if(!s)throw new Error(`Cannot get default converter for property '${t}' of ${e.constructor.name}`);r.converter=s}i.items[t]=r};class Il extends Error{constructor(){super(...arguments),this.schemas=[]}}class u_{static parse(e,t){const i=$n(e);if(i.result.error)throw new Error(i.result.error);return this.fromASN(i.result,t)}static fromASN(e,t){var i;try{if(kt(t))return new t().fromASN(e);const r=Je.get(t);Je.cache(t);let s=r.schema;if(e.constructor===Ue&&r.type!==z.Choice){s=new Ue({idBlock:{tagClass:3,tagNumber:e.idBlock.tagNumber},value:r.schema.valueBlock.value});for(const l in r.items)delete e[l]}const o=Xt({},e,s);if(!o.verified)throw new Il(`Data does not match to ${t.name} ASN1 schema. ${o.result.error}`);const c=new t;if(Fp(t)){if(!("value"in e.valueBlock&&Array.isArray(e.valueBlock.value)))throw new Error("Cannot get items from the ASN.1 parsed value. ASN.1 object is not constructed.");const l=r.itemType;if(typeof l=="number"){const u=lc(l);if(!u)throw new Error(`Cannot get default converter for array item of ${t.name} ASN1 schema`);return t.from(e.valueBlock.value,p=>u.fromASN(p))}else return t.from(e.valueBlock.value,u=>this.fromASN(u,l))}for(const l in r.items){const u=o.result[l];if(!u)continue;const p=r.items[l],g=p.type;if(typeof g=="number"||kt(g)){const m=(i=p.converter)!==null&&i!==void 0?i:kt(g)?new g:null;if(!m)throw new Error("Converter is empty");if(p.repeated)if(p.implicit){const x=p.repeated==="sequence"?xt:St,h=new x;h.valueBlock=u.valueBlock;const _=$n(h.toBER(!1));if(_.offset===-1)throw new Error(`Cannot parse the child item. ${_.result.error}`);if(!("value"in _.result.valueBlock&&Array.isArray(_.result.valueBlock.value)))throw new Error("Cannot get items from the ASN.1 parsed value. ASN.1 object is not constructed.");const b=_.result.valueBlock.value;c[l]=Array.from(b,S=>m.fromASN(S))}else c[l]=Array.from(u,x=>m.fromASN(x));else{let x=u;if(p.implicit){let h;if(kt(g))h=new g().toSchema("");else{const _=y[g],b=Hp[_];if(!b)throw new Error(`Cannot get '${_}' class from asn1js module`);h=new b}h.valueBlock=x.valueBlock,x=$n(h.toBER(!1)).result}c[l]=m.fromASN(x)}}else if(p.repeated){if(!Array.isArray(u))throw new Error("Cannot get list of items from the ASN.1 parsed value. ASN.1 value should be iterable.");c[l]=Array.from(u,m=>this.fromASN(m,g))}else c[l]=this.fromASN(u,g)}return c}catch(r){throw r instanceof Il&&r.schemas.push(t.name),r}}}class uc{static serialize(e){return e instanceof $e?e.toBER(!1):this.toASN(e).toBER(!1)}static toASN(e){if(e&&typeof e=="object"&&kt(e))return e.toASN();if(!(e&&typeof e=="object"))throw new TypeError("Parameter 1 should be type of Object.");const t=e.constructor,i=Je.get(t);Je.cache(t);let r=[];if(i.itemType){if(!Array.isArray(e))throw new TypeError("Parameter 1 should be type of Array.");if(typeof i.itemType=="number"){const o=lc(i.itemType);if(!o)throw new Error(`Cannot get default converter for array item of ${t.name} ASN1 schema`);r=e.map(c=>o.toASN(c))}else r=e.map(o=>this.toAsnItem({type:i.itemType},"[]",t,o))}else for(const o in i.items){const c=i.items[o],l=e[o];if(l===void 0||c.defaultValue===l||typeof c.defaultValue=="object"&&typeof l=="object"&&c_(this.serialize(c.defaultValue),this.serialize(l)))continue;const u=uc.toAsnItem(c,o,t,l);if(typeof c.context=="number")if(c.implicit)if(!c.repeated&&(typeof c.type=="number"||kt(c.type))){const p={};p.valueHex=u instanceof cn?u.valueBeforeDecodeView:u.valueBlock.toBER(),r.push(new $i({optional:c.optional,idBlock:{tagClass:3,tagNumber:c.context},...p}))}else r.push(new Ue({optional:c.optional,idBlock:{tagClass:3,tagNumber:c.context},value:u.valueBlock.value}));else r.push(new Ue({optional:c.optional,idBlock:{tagClass:3,tagNumber:c.context},value:[u]}));else c.repeated?r=r.concat(u):r.push(u)}let s;switch(i.type){case z.Sequence:s=new xt({value:r});break;case z.Set:s=new St({value:r});break;case z.Choice:if(!r[0])throw new Error(`Schema '${t.name}' has wrong data. Choice cannot be empty.`);s=r[0];break}return s}static toAsnItem(e,t,i,r){let s;if(typeof e.type=="number"){const o=e.converter;if(!o)throw new Error(`Property '${t}' doesn't have converter for type ${y[e.type]} in schema '${i.name}'`);if(e.repeated){if(!Array.isArray(r))throw new TypeError("Parameter 'objProp' should be type of Array.");const c=Array.from(r,u=>o.toASN(u)),l=e.repeated==="sequence"?xt:St;s=new l({value:c})}else s=o.toASN(r)}else if(e.repeated){if(!Array.isArray(r))throw new TypeError("Parameter 'objProp' should be type of Array.");const o=Array.from(r,l=>this.toASN(l)),c=e.repeated==="sequence"?xt:St;s=new c({value:o})}else s=this.toASN(r);return s}}class le extends Array{constructor(e=[]){if(typeof e=="number")super(e);else{super();for(const t of e)this.push(t)}}}class L{static serialize(e){return uc.serialize(e)}static parse(e,t){return u_.parse(e,t)}static toString(e){const t=U.isBufferSource(e)?U.toArrayBuffer(e):L.serialize(e),i=$n(t);if(i.offset===-1)throw new Error(`Cannot decode ASN.1 data. ${i.result.error}`);return i.result.toString()}}function d(n,e,t,i){var r=arguments.length,s=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,o;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(n,e,t,i);else for(var c=n.length-1;c>=0;c--)(o=n[c])&&(s=(r<3?o(s):r>3?o(e,t,s):o(e,t))||s);return r>3&&s&&Object.defineProperty(e,t,s),s}var qp={exports:{}};(function(n){(function(e){const t="(0?\\d+|0x[a-f0-9]+)",i={fourOctet:new RegExp(`^${t}\\.${t}\\.${t}\\.${t}$`,"i"),threeOctet:new RegExp(`^${t}\\.${t}\\.${t}$`,"i"),twoOctet:new RegExp(`^${t}\\.${t}$`,"i"),longValue:new RegExp(`^${t}$`,"i")},r=new RegExp("^0[0-7]+$","i"),s=new RegExp("^0x[a-f0-9]+$","i"),o="%[0-9a-z]{1,}",c="(?:[0-9a-f]+::?)+",l={zoneIndex:new RegExp(o,"i"),native:new RegExp(`^(::)?(${c})?([0-9a-f]+)?(::)?(${o})?$`,"i"),deprecatedTransitional:new RegExp(`^(?:::)(${t}\\.${t}\\.${t}\\.${t}(${o})?)$`,"i"),transitional:new RegExp(`^((?:${c})|(?:::)(?:${c})?)${t}\\.${t}\\.${t}\\.${t}(${o})?$`,"i")};function u(h,_){if(h.indexOf("::")!==h.lastIndexOf("::"))return null;let b=0,S=-1,O=(h.match(l.zoneIndex)||[])[0],T,q;for(O&&(O=O.substring(1),h=h.replace(/%.+$/,""));(S=h.indexOf(":",S+1))>=0;)b++;if(h.substr(0,2)==="::"&&b--,h.substr(-2,2)==="::"&&b--,b>_)return null;for(q=_-b,T=":";q--;)T+="0:";return h=h.replace("::",T),h[0]===":"&&(h=h.slice(1)),h[h.length-1]===":"&&(h=h.slice(0,-1)),_=function(){const oe=h.split(":"),pe=[];for(let ce=0;ce<oe.length;ce++)pe.push(parseInt(oe[ce],16));return pe}(),{parts:_,zoneId:O}}function p(h,_,b,S){if(h.length!==_.length)throw new Error("ipaddr: cannot match CIDR for objects with different lengths");let O=0,T;for(;S>0;){if(T=b-S,T<0&&(T=0),h[O]>>T!==_[O]>>T)return!1;S-=b,O+=1}return!0}function g(h){if(s.test(h))return parseInt(h,16);if(h[0]==="0"&&!isNaN(parseInt(h[1],10))){if(r.test(h))return parseInt(h,8);throw new Error(`ipaddr: cannot parse ${h} as octal`)}return parseInt(h,10)}function m(h,_){for(;h.length<_;)h=`0${h}`;return h}const x={};x.IPv4=function(){function h(_){if(_.length!==4)throw new Error("ipaddr: ipv4 octet count should be 4");let b,S;for(b=0;b<_.length;b++)if(S=_[b],!(0<=S&&S<=255))throw new Error("ipaddr: ipv4 octet should fit in 8 bits");this.octets=_}return h.prototype.SpecialRanges={unspecified:[[new h([0,0,0,0]),8]],broadcast:[[new h([255,255,255,255]),32]],multicast:[[new h([224,0,0,0]),4]],linkLocal:[[new h([169,254,0,0]),16]],loopback:[[new h([127,0,0,0]),8]],carrierGradeNat:[[new h([100,64,0,0]),10]],private:[[new h([10,0,0,0]),8],[new h([172,16,0,0]),12],[new h([192,168,0,0]),16]],reserved:[[new h([192,0,0,0]),24],[new h([192,0,2,0]),24],[new h([192,88,99,0]),24],[new h([198,18,0,0]),15],[new h([198,51,100,0]),24],[new h([203,0,113,0]),24],[new h([240,0,0,0]),4]],as112:[[new h([192,175,48,0]),24],[new h([192,31,196,0]),24]],amt:[[new h([192,52,193,0]),24]]},h.prototype.kind=function(){return"ipv4"},h.prototype.match=function(_,b){let S;if(b===void 0&&(S=_,_=S[0],b=S[1]),_.kind()!=="ipv4")throw new Error("ipaddr: cannot match ipv4 address with non-ipv4 one");return p(this.octets,_.octets,8,b)},h.prototype.prefixLengthFromSubnetMask=function(){let _=0,b=!1;const S={0:8,128:7,192:6,224:5,240:4,248:3,252:2,254:1,255:0};let O,T,q;for(O=3;O>=0;O-=1)if(T=this.octets[O],T in S){if(q=S[T],b&&q!==0)return null;q!==8&&(b=!0),_+=q}else return null;return 32-_},h.prototype.range=function(){return x.subnetMatch(this,this.SpecialRanges)},h.prototype.toByteArray=function(){return this.octets.slice(0)},h.prototype.toIPv4MappedAddress=function(){return x.IPv6.parse(`::ffff:${this.toString()}`)},h.prototype.toNormalizedString=function(){return this.toString()},h.prototype.toString=function(){return this.octets.join(".")},h}(),x.IPv4.broadcastAddressFromCIDR=function(h){try{const _=this.parseCIDR(h),b=_[0].toByteArray(),S=this.subnetMaskFromPrefixLength(_[1]).toByteArray(),O=[];let T=0;for(;T<4;)O.push(parseInt(b[T],10)|parseInt(S[T],10)^255),T++;return new this(O)}catch{throw new Error("ipaddr: the address does not have IPv4 CIDR format")}},x.IPv4.isIPv4=function(h){return this.parser(h)!==null},x.IPv4.isValid=function(h){try{return new this(this.parser(h)),!0}catch{return!1}},x.IPv4.isValidCIDR=function(h){try{return this.parseCIDR(h),!0}catch{return!1}},x.IPv4.isValidFourPartDecimal=function(h){return!!(x.IPv4.isValid(h)&&h.match(/^(0|[1-9]\d*)(\.(0|[1-9]\d*)){3}$/))},x.IPv4.networkAddressFromCIDR=function(h){let _,b,S,O,T;try{for(_=this.parseCIDR(h),S=_[0].toByteArray(),T=this.subnetMaskFromPrefixLength(_[1]).toByteArray(),O=[],b=0;b<4;)O.push(parseInt(S[b],10)&parseInt(T[b],10)),b++;return new this(O)}catch{throw new Error("ipaddr: the address does not have IPv4 CIDR format")}},x.IPv4.parse=function(h){const _=this.parser(h);if(_===null)throw new Error("ipaddr: string is not formatted like an IPv4 Address");return new this(_)},x.IPv4.parseCIDR=function(h){let _;if(_=h.match(/^(.+)\/(\d+)$/)){const b=parseInt(_[2]);if(b>=0&&b<=32){const S=[this.parse(_[1]),b];return Object.defineProperty(S,"toString",{value:function(){return this.join("/")}}),S}}throw new Error("ipaddr: string is not formatted like an IPv4 CIDR range")},x.IPv4.parser=function(h){let _,b,S;if(_=h.match(i.fourOctet))return function(){const O=_.slice(1,6),T=[];for(let q=0;q<O.length;q++)b=O[q],T.push(g(b));return T}();if(_=h.match(i.longValue)){if(S=g(_[1]),S>4294967295||S<0)throw new Error("ipaddr: address outside defined range");return function(){const O=[];let T;for(T=0;T<=24;T+=8)O.push(S>>T&255);return O}().reverse()}else return(_=h.match(i.twoOctet))?function(){const O=_.slice(1,4),T=[];if(S=g(O[1]),S>16777215||S<0)throw new Error("ipaddr: address outside defined range");return T.push(g(O[0])),T.push(S>>16&255),T.push(S>>8&255),T.push(S&255),T}():(_=h.match(i.threeOctet))?function(){const O=_.slice(1,5),T=[];if(S=g(O[2]),S>65535||S<0)throw new Error("ipaddr: address outside defined range");return T.push(g(O[0])),T.push(g(O[1])),T.push(S>>8&255),T.push(S&255),T}():null},x.IPv4.subnetMaskFromPrefixLength=function(h){if(h=parseInt(h),h<0||h>32)throw new Error("ipaddr: invalid IPv4 prefix length");const _=[0,0,0,0];let b=0;const S=Math.floor(h/8);for(;b<S;)_[b]=255,b++;return S<4&&(_[S]=Math.pow(2,h%8)-1<<8-h%8),new this(_)},x.IPv6=function(){function h(_,b){let S,O;if(_.length===16)for(this.parts=[],S=0;S<=14;S+=2)this.parts.push(_[S]<<8|_[S+1]);else if(_.length===8)this.parts=_;else throw new Error("ipaddr: ipv6 part count should be 8 or 16");for(S=0;S<this.parts.length;S++)if(O=this.parts[S],!(0<=O&&O<=65535))throw new Error("ipaddr: ipv6 part should fit in 16 bits");b&&(this.zoneId=b)}return h.prototype.SpecialRanges={unspecified:[new h([0,0,0,0,0,0,0,0]),128],linkLocal:[new h([65152,0,0,0,0,0,0,0]),10],multicast:[new h([65280,0,0,0,0,0,0,0]),8],loopback:[new h([0,0,0,0,0,0,0,1]),128],uniqueLocal:[new h([64512,0,0,0,0,0,0,0]),7],ipv4Mapped:[new h([0,0,0,0,0,65535,0,0]),96],discard:[new h([256,0,0,0,0,0,0,0]),64],rfc6145:[new h([0,0,0,0,65535,0,0,0]),96],rfc6052:[new h([100,65435,0,0,0,0,0,0]),96],"6to4":[new h([8194,0,0,0,0,0,0,0]),16],teredo:[new h([8193,0,0,0,0,0,0,0]),32],benchmarking:[new h([8193,2,0,0,0,0,0,0]),48],amt:[new h([8193,3,0,0,0,0,0,0]),32],as112v6:[[new h([8193,4,274,0,0,0,0,0]),48],[new h([9760,79,32768,0,0,0,0,0]),48]],deprecated:[new h([8193,16,0,0,0,0,0,0]),28],orchid2:[new h([8193,32,0,0,0,0,0,0]),28],droneRemoteIdProtocolEntityTags:[new h([8193,48,0,0,0,0,0,0]),28],reserved:[[new h([8193,0,0,0,0,0,0,0]),23],[new h([8193,3512,0,0,0,0,0,0]),32]]},h.prototype.isIPv4MappedAddress=function(){return this.range()==="ipv4Mapped"},h.prototype.kind=function(){return"ipv6"},h.prototype.match=function(_,b){let S;if(b===void 0&&(S=_,_=S[0],b=S[1]),_.kind()!=="ipv6")throw new Error("ipaddr: cannot match ipv6 address with non-ipv6 one");return p(this.parts,_.parts,16,b)},h.prototype.prefixLengthFromSubnetMask=function(){let _=0,b=!1;const S={0:16,32768:15,49152:14,57344:13,61440:12,63488:11,64512:10,65024:9,65280:8,65408:7,65472:6,65504:5,65520:4,65528:3,65532:2,65534:1,65535:0};let O,T;for(let q=7;q>=0;q-=1)if(O=this.parts[q],O in S){if(T=S[O],b&&T!==0)return null;T!==16&&(b=!0),_+=T}else return null;return 128-_},h.prototype.range=function(){return x.subnetMatch(this,this.SpecialRanges)},h.prototype.toByteArray=function(){let _;const b=[],S=this.parts;for(let O=0;O<S.length;O++)_=S[O],b.push(_>>8),b.push(_&255);return b},h.prototype.toFixedLengthString=function(){const _=(function(){const S=[];for(let O=0;O<this.parts.length;O++)S.push(m(this.parts[O].toString(16),4));return S}).call(this).join(":");let b="";return this.zoneId&&(b=`%${this.zoneId}`),_+b},h.prototype.toIPv4Address=function(){if(!this.isIPv4MappedAddress())throw new Error("ipaddr: trying to convert a generic ipv6 address to ipv4");const _=this.parts.slice(-2),b=_[0],S=_[1];return new x.IPv4([b>>8,b&255,S>>8,S&255])},h.prototype.toNormalizedString=function(){const _=(function(){const S=[];for(let O=0;O<this.parts.length;O++)S.push(this.parts[O].toString(16));return S}).call(this).join(":");let b="";return this.zoneId&&(b=`%${this.zoneId}`),_+b},h.prototype.toRFC5952String=function(){const _=/((^|:)(0(:|$)){2,})/g,b=this.toNormalizedString();let S=0,O=-1,T;for(;T=_.exec(b);)T[0].length>O&&(S=T.index,O=T[0].length);return O<0?b:`${b.substring(0,S)}::${b.substring(S+O)}`},h.prototype.toString=function(){return this.toRFC5952String()},h}(),x.IPv6.broadcastAddressFromCIDR=function(h){try{const _=this.parseCIDR(h),b=_[0].toByteArray(),S=this.subnetMaskFromPrefixLength(_[1]).toByteArray(),O=[];let T=0;for(;T<16;)O.push(parseInt(b[T],10)|parseInt(S[T],10)^255),T++;return new this(O)}catch(_){throw new Error(`ipaddr: the address does not have IPv6 CIDR format (${_})`)}},x.IPv6.isIPv6=function(h){return this.parser(h)!==null},x.IPv6.isValid=function(h){if(typeof h=="string"&&h.indexOf(":")===-1)return!1;try{const _=this.parser(h);return new this(_.parts,_.zoneId),!0}catch{return!1}},x.IPv6.isValidCIDR=function(h){if(typeof h=="string"&&h.indexOf(":")===-1)return!1;try{return this.parseCIDR(h),!0}catch{return!1}},x.IPv6.networkAddressFromCIDR=function(h){let _,b,S,O,T;try{for(_=this.parseCIDR(h),S=_[0].toByteArray(),T=this.subnetMaskFromPrefixLength(_[1]).toByteArray(),O=[],b=0;b<16;)O.push(parseInt(S[b],10)&parseInt(T[b],10)),b++;return new this(O)}catch(q){throw new Error(`ipaddr: the address does not have IPv6 CIDR format (${q})`)}},x.IPv6.parse=function(h){const _=this.parser(h);if(_.parts===null)throw new Error("ipaddr: string is not formatted like an IPv6 Address");return new this(_.parts,_.zoneId)},x.IPv6.parseCIDR=function(h){let _,b,S;if((b=h.match(/^(.+)\/(\d+)$/))&&(_=parseInt(b[2]),_>=0&&_<=128))return S=[this.parse(b[1]),_],Object.defineProperty(S,"toString",{value:function(){return this.join("/")}}),S;throw new Error("ipaddr: string is not formatted like an IPv6 CIDR range")},x.IPv6.parser=function(h){let _,b,S,O,T,q;if(S=h.match(l.deprecatedTransitional))return this.parser(`::ffff:${S[1]}`);if(l.native.test(h))return u(h,8);if((S=h.match(l.transitional))&&(q=S[6]||"",_=S[1],S[1].endsWith("::")||(_=_.slice(0,-1)),_=u(_+q,6),_.parts)){for(T=[parseInt(S[2]),parseInt(S[3]),parseInt(S[4]),parseInt(S[5])],b=0;b<T.length;b++)if(O=T[b],!(0<=O&&O<=255))return null;return _.parts.push(T[0]<<8|T[1]),_.parts.push(T[2]<<8|T[3]),{parts:_.parts,zoneId:_.zoneId}}return null},x.IPv6.subnetMaskFromPrefixLength=function(h){if(h=parseInt(h),h<0||h>128)throw new Error("ipaddr: invalid IPv6 prefix length");const _=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0];let b=0;const S=Math.floor(h/8);for(;b<S;)_[b]=255,b++;return S<16&&(_[S]=Math.pow(2,h%8)-1<<8-h%8),new this(_)},x.fromByteArray=function(h){const _=h.length;if(_===4)return new x.IPv4(h);if(_===16)return new x.IPv6(h);throw new Error("ipaddr: the binary input is neither an IPv6 nor IPv4 address")},x.isValid=function(h){return x.IPv6.isValid(h)||x.IPv4.isValid(h)},x.isValidCIDR=function(h){return x.IPv6.isValidCIDR(h)||x.IPv4.isValidCIDR(h)},x.parse=function(h){if(x.IPv6.isValid(h))return x.IPv6.parse(h);if(x.IPv4.isValid(h))return x.IPv4.parse(h);throw new Error("ipaddr: the address has neither IPv6 nor IPv4 format")},x.parseCIDR=function(h){try{return x.IPv6.parseCIDR(h)}catch{try{return x.IPv4.parseCIDR(h)}catch{throw new Error("ipaddr: the address has neither IPv6 nor IPv4 CIDR format")}}},x.process=function(h){const _=this.parse(h);return _.kind()==="ipv6"&&_.isIPv4MappedAddress()?_.toIPv4Address():_},x.subnetMatch=function(h,_,b){let S,O,T,q;b==null&&(b="unicast");for(O in _)if(Object.prototype.hasOwnProperty.call(_,O)){for(T=_[O],T[0]&&!(T[0]instanceof Array)&&(T=[T]),S=0;S<T.length;S++)if(q=T[S],h.kind()===q[0].kind()&&h.match.apply(h,q))return O}return b},n.exports?n.exports=x:e.ipaddr=x})(vr)})(qp);var El=qp.exports;class $l{static decodeIP(e){if(e.length===64&&parseInt(e,16)===0)return"::/0";if(e.length!==16)return e;const t=parseInt(e.slice(8),16).toString(2).split("").reduce((r,s)=>r+ +s,0);let i=e.slice(0,8).replace(/(.{2})/g,r=>`${parseInt(r,16)}.`);return i=i.slice(0,-1),`${i}/${t}`}static toString(e){if(e.byteLength===4||e.byteLength===16){const t=new Uint8Array(e);return El.fromByteArray(Array.from(t)).toString()}return this.decodeIP(W.ToHex(e))}static fromString(e){const t=El.parse(e);return new Uint8Array(t.toByteArray()).buffer}}var Io,Eo,$o;let Ce=class{constructor(e={}){Object.assign(this,e)}toString(){return this.bmpString||this.printableString||this.teletexString||this.universalString||this.utf8String||""}};d([f({type:y.TeletexString})],Ce.prototype,"teletexString",void 0);d([f({type:y.PrintableString})],Ce.prototype,"printableString",void 0);d([f({type:y.UniversalString})],Ce.prototype,"universalString",void 0);d([f({type:y.Utf8String})],Ce.prototype,"utf8String",void 0);d([f({type:y.BmpString})],Ce.prototype,"bmpString",void 0);Ce=d([B({type:z.Choice})],Ce);let Nn=class extends Ce{constructor(e={}){super(e),Object.assign(this,e)}toString(){return this.ia5String||(this.anyValue?W.ToHex(this.anyValue):super.toString())}};d([f({type:y.IA5String})],Nn.prototype,"ia5String",void 0);d([f({type:y.Any})],Nn.prototype,"anyValue",void 0);Nn=d([B({type:z.Choice})],Nn);class Ss{constructor(e={}){this.type="",this.value=new Nn,Object.assign(this,e)}}d([f({type:y.ObjectIdentifier})],Ss.prototype,"type",void 0);d([f({type:Nn})],Ss.prototype,"value",void 0);let On=Io=class extends le{constructor(e){super(e),Object.setPrototypeOf(this,Io.prototype)}};On=Io=d([B({type:z.Set,itemType:Ss})],On);let Co=Eo=class extends le{constructor(e){super(e),Object.setPrototypeOf(this,Eo.prototype)}};Co=Eo=d([B({type:z.Sequence,itemType:On})],Co);let ve=$o=class extends Co{constructor(e){super(e),Object.setPrototypeOf(this,$o.prototype)}};ve=$o=d([B({type:z.Sequence})],ve);const d_={fromASN:n=>$l.toString(kr.fromASN(n)),toASN:n=>kr.toASN($l.fromString(n))};class gi{constructor(e={}){this.typeId="",this.value=new ArrayBuffer(0),Object.assign(this,e)}}d([f({type:y.ObjectIdentifier})],gi.prototype,"typeId",void 0);d([f({type:y.Any,context:0})],gi.prototype,"value",void 0);class dc{constructor(e={}){this.partyName=new Ce,Object.assign(this,e)}}d([f({type:Ce,optional:!0,context:0,implicit:!0})],dc.prototype,"nameAssigner",void 0);d([f({type:Ce,context:1,implicit:!0})],dc.prototype,"partyName",void 0);let Q=class{constructor(e={}){Object.assign(this,e)}};d([f({type:gi,context:0,implicit:!0})],Q.prototype,"otherName",void 0);d([f({type:y.IA5String,context:1,implicit:!0})],Q.prototype,"rfc822Name",void 0);d([f({type:y.IA5String,context:2,implicit:!0})],Q.prototype,"dNSName",void 0);d([f({type:y.Any,context:3,implicit:!0})],Q.prototype,"x400Address",void 0);d([f({type:ve,context:4,implicit:!1})],Q.prototype,"directoryName",void 0);d([f({type:dc,context:5})],Q.prototype,"ediPartyName",void 0);d([f({type:y.IA5String,context:6,implicit:!0})],Q.prototype,"uniformResourceIdentifier",void 0);d([f({type:y.OctetString,context:7,implicit:!0,converter:d_})],Q.prototype,"iPAddress",void 0);d([f({type:y.ObjectIdentifier,context:8,implicit:!0})],Q.prototype,"registeredID",void 0);Q=d([B({type:z.Choice})],Q);const pc="1.3.6.1.5.5.7",p_=`${pc}.1`,qn=`${pc}.3`,As=`${pc}.48`,Cl=`${As}.1`,jl=`${As}.2`,zl=`${As}.3`,Nl=`${As}.5`,Ft="2.5.29";var jo;const zo=`${p_}.1`;class zi{constructor(e={}){this.accessMethod="",this.accessLocation=new Q,Object.assign(this,e)}}d([f({type:y.ObjectIdentifier})],zi.prototype,"accessMethod",void 0);d([f({type:Q})],zi.prototype,"accessLocation",void 0);let In=jo=class extends le{constructor(e){super(e),Object.setPrototypeOf(this,jo.prototype)}};In=jo=d([B({type:z.Sequence,itemType:zi})],In);const No=`${Ft}.35`;class fc extends re{}class Qt{constructor(e={}){e&&Object.assign(this,e)}}d([f({type:fc,context:0,optional:!0,implicit:!0})],Qt.prototype,"keyIdentifier",void 0);d([f({type:Q,context:1,optional:!0,implicit:!0,repeated:"sequence"})],Qt.prototype,"authorityCertIssuer",void 0);d([f({type:y.Integer,context:2,optional:!0,implicit:!0,converter:he})],Qt.prototype,"authorityCertSerialNumber",void 0);const Kp=`${Ft}.19`;class xr{constructor(e={}){this.cA=!1,Object.assign(this,e)}}d([f({type:y.Boolean,defaultValue:!1})],xr.prototype,"cA",void 0);d([f({type:y.Integer,optional:!0})],xr.prototype,"pathLenConstraint",void 0);var Oo;let Be=Oo=class extends le{constructor(e){super(e),Object.setPrototypeOf(this,Oo.prototype)}};Be=Oo=d([B({type:z.Sequence,itemType:Q})],Be);var Bo;let Ol=Bo=class extends Be{constructor(e){super(e),Object.setPrototypeOf(this,Bo.prototype)}};Ol=Bo=d([B({type:z.Sequence})],Ol);var To;const Wp=`${Ft}.32`;let At=class{constructor(e={}){Object.assign(this,e)}toString(){return this.ia5String||this.visibleString||this.bmpString||this.utf8String||""}};d([f({type:y.IA5String})],At.prototype,"ia5String",void 0);d([f({type:y.VisibleString})],At.prototype,"visibleString",void 0);d([f({type:y.BmpString})],At.prototype,"bmpString",void 0);d([f({type:y.Utf8String})],At.prototype,"utf8String",void 0);At=d([B({type:z.Choice})],At);class hc{constructor(e={}){this.organization=new At,this.noticeNumbers=[],Object.assign(this,e)}}d([f({type:At})],hc.prototype,"organization",void 0);d([f({type:y.Integer,repeated:"sequence"})],hc.prototype,"noticeNumbers",void 0);class gc{constructor(e={}){Object.assign(this,e)}}d([f({type:hc,optional:!0})],gc.prototype,"noticeRef",void 0);d([f({type:At,optional:!0})],gc.prototype,"explicitText",void 0);let Sr=class{constructor(e={}){Object.assign(this,e)}};d([f({type:y.IA5String})],Sr.prototype,"cPSuri",void 0);d([f({type:gc})],Sr.prototype,"userNotice",void 0);Sr=d([B({type:z.Choice})],Sr);class _c{constructor(e={}){this.policyQualifierId="",this.qualifier=new ArrayBuffer(0),Object.assign(this,e)}}d([f({type:y.ObjectIdentifier})],_c.prototype,"policyQualifierId",void 0);d([f({type:y.Any})],_c.prototype,"qualifier",void 0);class Is{constructor(e={}){this.policyIdentifier="",Object.assign(this,e)}}d([f({type:y.ObjectIdentifier})],Is.prototype,"policyIdentifier",void 0);d([f({type:_c,repeated:"sequence",optional:!0})],Is.prototype,"policyQualifiers",void 0);let Ar=To=class extends le{constructor(e){super(e),Object.setPrototypeOf(this,To.prototype)}};Ar=To=d([B({type:z.Sequence,itemType:Is})],Ar);let Ir=class{constructor(e=0){this.value=e}};d([f({type:y.Integer})],Ir.prototype,"value",void 0);Ir=d([B({type:z.Choice})],Ir);let Bl=class extends Ir{};Bl=d([B({type:z.Choice})],Bl);var Ro;const Po=`${Ft}.31`;var rt;(function(n){n[n.unused=1]="unused",n[n.keyCompromise=2]="keyCompromise",n[n.cACompromise=4]="cACompromise",n[n.affiliationChanged=8]="affiliationChanged",n[n.superseded=16]="superseded",n[n.cessationOfOperation=32]="cessationOfOperation",n[n.certificateHold=64]="certificateHold",n[n.privilegeWithdrawn=128]="privilegeWithdrawn",n[n.aACompromise=256]="aACompromise"})(rt||(rt={}));class Gp extends xs{toJSON(){const e=[],t=this.toNumber();return t&rt.aACompromise&&e.push("aACompromise"),t&rt.affiliationChanged&&e.push("affiliationChanged"),t&rt.cACompromise&&e.push("cACompromise"),t&rt.certificateHold&&e.push("certificateHold"),t&rt.cessationOfOperation&&e.push("cessationOfOperation"),t&rt.keyCompromise&&e.push("keyCompromise"),t&rt.privilegeWithdrawn&&e.push("privilegeWithdrawn"),t&rt.superseded&&e.push("superseded"),t&rt.unused&&e.push("unused"),e}toString(){return`[${this.toJSON().join(", ")}]`}}let un=class{constructor(e={}){Object.assign(this,e)}};d([f({type:Q,context:0,repeated:"sequence",implicit:!0})],un.prototype,"fullName",void 0);d([f({type:On,context:1,implicit:!0})],un.prototype,"nameRelativeToCRLIssuer",void 0);un=d([B({type:z.Choice})],un);class Kn{constructor(e={}){Object.assign(this,e)}}d([f({type:un,context:0,optional:!0})],Kn.prototype,"distributionPoint",void 0);d([f({type:Gp,context:1,optional:!0,implicit:!0})],Kn.prototype,"reasons",void 0);d([f({type:Q,context:2,optional:!0,repeated:"sequence",implicit:!0})],Kn.prototype,"cRLIssuer",void 0);let Cn=Ro=class extends le{constructor(e){super(e),Object.setPrototypeOf(this,Ro.prototype)}};Cn=Ro=d([B({type:z.Sequence,itemType:Kn})],Cn);var Lo;let Tl=Lo=class extends Cn{constructor(e){super(e),Object.setPrototypeOf(this,Lo.prototype)}};Tl=Lo=d([B({type:z.Sequence,itemType:Kn})],Tl);class ze{constructor(e={}){this.onlyContainsUserCerts=ze.ONLY,this.onlyContainsCACerts=ze.ONLY,this.indirectCRL=ze.ONLY,this.onlyContainsAttributeCerts=ze.ONLY,Object.assign(this,e)}}ze.ONLY=!1;d([f({type:un,context:0,optional:!0})],ze.prototype,"distributionPoint",void 0);d([f({type:y.Boolean,context:1,defaultValue:ze.ONLY,implicit:!0})],ze.prototype,"onlyContainsUserCerts",void 0);d([f({type:y.Boolean,context:2,defaultValue:ze.ONLY,implicit:!0})],ze.prototype,"onlyContainsCACerts",void 0);d([f({type:Gp,context:3,optional:!0,implicit:!0})],ze.prototype,"onlySomeReasons",void 0);d([f({type:y.Boolean,context:4,defaultValue:ze.ONLY,implicit:!0})],ze.prototype,"indirectCRL",void 0);d([f({type:y.Boolean,context:5,defaultValue:ze.ONLY,implicit:!0})],ze.prototype,"onlyContainsAttributeCerts",void 0);var ai;(function(n){n[n.unspecified=0]="unspecified",n[n.keyCompromise=1]="keyCompromise",n[n.cACompromise=2]="cACompromise",n[n.affiliationChanged=3]="affiliationChanged",n[n.superseded=4]="superseded",n[n.cessationOfOperation=5]="cessationOfOperation",n[n.certificateHold=6]="certificateHold",n[n.removeFromCRL=8]="removeFromCRL",n[n.privilegeWithdrawn=9]="privilegeWithdrawn",n[n.aACompromise=10]="aACompromise"})(ai||(ai={}));let Uo=class{constructor(e=ai.unspecified){this.reason=ai.unspecified,this.reason=e}toJSON(){return ai[this.reason]}toString(){return this.toJSON()}};d([f({type:y.Enumerated})],Uo.prototype,"reason",void 0);Uo=d([B({type:z.Choice})],Uo);var Vo;const Jp=`${Ft}.37`;let Er=Vo=class extends le{constructor(e){super(e),Object.setPrototypeOf(this,Vo.prototype)}};Er=Vo=d([B({type:z.Sequence,itemType:y.ObjectIdentifier})],Er);const f_=`${qn}.1`,h_=`${qn}.2`,g_=`${qn}.3`,__=`${qn}.4`,m_=`${qn}.8`,y_=`${qn}.9`;let Mo=class{constructor(e=new ArrayBuffer(0)){this.value=e}};d([f({type:y.Integer,converter:he})],Mo.prototype,"value",void 0);Mo=d([B({type:z.Choice})],Mo);let Ho=class{constructor(e){this.value=new Date,e&&(this.value=e)}};d([f({type:y.GeneralizedTime})],Ho.prototype,"value",void 0);Ho=d([B({type:z.Choice})],Ho);var Do;let Rl=Do=class extends Be{constructor(e){super(e),Object.setPrototypeOf(this,Do.prototype)}};Rl=Do=d([B({type:z.Sequence})],Rl);const Zp=`${Ft}.15`;var st;(function(n){n[n.digitalSignature=1]="digitalSignature",n[n.nonRepudiation=2]="nonRepudiation",n[n.keyEncipherment=4]="keyEncipherment",n[n.dataEncipherment=8]="dataEncipherment",n[n.keyAgreement=16]="keyAgreement",n[n.keyCertSign=32]="keyCertSign",n[n.cRLSign=64]="cRLSign",n[n.encipherOnly=128]="encipherOnly",n[n.decipherOnly=256]="decipherOnly"})(st||(st={}));class oo extends xs{toJSON(){const e=this.toNumber(),t=[];return e&st.cRLSign&&t.push("crlSign"),e&st.dataEncipherment&&t.push("dataEncipherment"),e&st.decipherOnly&&t.push("decipherOnly"),e&st.digitalSignature&&t.push("digitalSignature"),e&st.encipherOnly&&t.push("encipherOnly"),e&st.keyAgreement&&t.push("keyAgreement"),e&st.keyCertSign&&t.push("keyCertSign"),e&st.keyEncipherment&&t.push("keyEncipherment"),e&st.nonRepudiation&&t.push("nonRepudiation"),t}toString(){return`[${this.toJSON().join(", ")}]`}}var Fo;class Es{constructor(e={}){this.base=new Q,this.minimum=0,Object.assign(this,e)}}d([f({type:Q})],Es.prototype,"base",void 0);d([f({type:y.Integer,context:0,defaultValue:0,implicit:!0})],Es.prototype,"minimum",void 0);d([f({type:y.Integer,context:1,optional:!0,implicit:!0})],Es.prototype,"maximum",void 0);let $r=Fo=class extends le{constructor(e){super(e),Object.setPrototypeOf(this,Fo.prototype)}};$r=Fo=d([B({type:z.Sequence,itemType:Es})],$r);class Yp{constructor(e={}){Object.assign(this,e)}}d([f({type:$r,context:0,optional:!0,implicit:!0})],Yp.prototype,"permittedSubtrees",void 0);d([f({type:$r,context:1,optional:!0,implicit:!0})],Yp.prototype,"excludedSubtrees",void 0);class Xp{constructor(e={}){Object.assign(this,e)}}d([f({type:y.Integer,context:0,implicit:!0,optional:!0,converter:he})],Xp.prototype,"requireExplicitPolicy",void 0);d([f({type:y.Integer,context:1,implicit:!0,optional:!0,converter:he})],Xp.prototype,"inhibitPolicyMapping",void 0);var qo;class mc{constructor(e={}){this.issuerDomainPolicy="",this.subjectDomainPolicy="",Object.assign(this,e)}}d([f({type:y.ObjectIdentifier})],mc.prototype,"issuerDomainPolicy",void 0);d([f({type:y.ObjectIdentifier})],mc.prototype,"subjectDomainPolicy",void 0);let Pl=qo=class extends le{constructor(e){super(e),Object.setPrototypeOf(this,qo.prototype)}};Pl=qo=d([B({type:z.Sequence,itemType:mc})],Pl);var Ko;const Qp=`${Ft}.17`;let Wo=Ko=class extends Be{constructor(e){super(e),Object.setPrototypeOf(this,Ko.prototype)}};Wo=Ko=d([B({type:z.Sequence})],Wo);let It=class{constructor(e={}){this.type="",this.values=[],Object.assign(this,e)}};d([f({type:y.ObjectIdentifier})],It.prototype,"type",void 0);d([f({type:y.Any,repeated:"set"})],It.prototype,"values",void 0);var Go;let Ll=Go=class extends le{constructor(e){super(e),Object.setPrototypeOf(this,Go.prototype)}};Ll=Go=d([B({type:z.Sequence,itemType:It})],Ll);const ef=`${Ft}.14`;class Lt extends fc{}class tf{constructor(e={}){Object.assign(this,e)}}d([f({type:y.GeneralizedTime,context:0,implicit:!0,optional:!0})],tf.prototype,"notBefore",void 0);d([f({type:y.GeneralizedTime,context:1,implicit:!0,optional:!0})],tf.prototype,"notAfter",void 0);var ci;(function(n){n[n.keyUpdateAllowed=1]="keyUpdateAllowed",n[n.newExtensions=2]="newExtensions",n[n.pKIXCertificate=4]="pKIXCertificate"})(ci||(ci={}));class nf extends xs{toJSON(){const e=[],t=this.toNumber();return t&ci.pKIXCertificate&&e.push("pKIXCertificate"),t&ci.newExtensions&&e.push("newExtensions"),t&ci.keyUpdateAllowed&&e.push("keyUpdateAllowed"),e}toString(){return`[${this.toJSON().join(", ")}]`}}class rf{constructor(e={}){this.entrustVers="",this.entrustInfoFlags=new nf,Object.assign(this,e)}}d([f({type:y.GeneralString})],rf.prototype,"entrustVers",void 0);d([f({type:nf})],rf.prototype,"entrustInfoFlags",void 0);var Jo;let Ul=Jo=class extends le{constructor(e){super(e),Object.setPrototypeOf(this,Jo.prototype)}};Ul=Jo=d([B({type:z.Sequence,itemType:zi})],Ul);class H{constructor(e={}){this.algorithm="",Object.assign(this,e)}isEqual(e){return e instanceof H&&e.algorithm==this.algorithm&&(e.parameters&&this.parameters&&Dd(e.parameters,this.parameters)||e.parameters===this.parameters)}}d([f({type:y.ObjectIdentifier})],H.prototype,"algorithm",void 0);d([f({type:y.Any,optional:!0})],H.prototype,"parameters",void 0);class ot{constructor(e={}){this.algorithm=new H,this.subjectPublicKey=new ArrayBuffer(0),Object.assign(this,e)}}d([f({type:H})],ot.prototype,"algorithm",void 0);d([f({type:y.BitString})],ot.prototype,"subjectPublicKey",void 0);let Ee=class{constructor(e){if(e)if(typeof e=="string"||typeof e=="number"||e instanceof Date){const t=new Date(e);t.getUTCFullYear()>2049?this.generalTime=t:this.utcTime=t}else Object.assign(this,e)}getTime(){const e=this.utcTime||this.generalTime;if(!e)throw new Error("Cannot get time from CHOICE object");return e}};d([f({type:y.UTCTime})],Ee.prototype,"utcTime",void 0);d([f({type:y.GeneralizedTime})],Ee.prototype,"generalTime",void 0);Ee=d([B({type:z.Choice})],Ee);class Ni{constructor(e){this.notBefore=new Ee(new Date),this.notAfter=new Ee(new Date),e&&(this.notBefore=new Ee(e.notBefore),this.notAfter=new Ee(e.notAfter))}}d([f({type:Ee})],Ni.prototype,"notBefore",void 0);d([f({type:Ee})],Ni.prototype,"notAfter",void 0);var Zo;let Xe=class sf{constructor(e={}){this.extnID="",this.critical=sf.CRITICAL,this.extnValue=new re,Object.assign(this,e)}};Xe.CRITICAL=!1;d([f({type:y.ObjectIdentifier})],Xe.prototype,"extnID",void 0);d([f({type:y.Boolean,defaultValue:Xe.CRITICAL})],Xe.prototype,"critical",void 0);d([f({type:re})],Xe.prototype,"extnValue",void 0);let Vt=Zo=class extends le{constructor(e){super(e),Object.setPrototypeOf(this,Zo.prototype)}};Vt=Zo=d([B({type:z.Sequence,itemType:Xe})],Vt);var dn;(function(n){n[n.v1=0]="v1",n[n.v2=1]="v2",n[n.v3=2]="v3"})(dn||(dn={}));class Ge{constructor(e={}){this.version=dn.v1,this.serialNumber=new ArrayBuffer(0),this.signature=new H,this.issuer=new ve,this.validity=new Ni,this.subject=new ve,this.subjectPublicKeyInfo=new ot,Object.assign(this,e)}}d([f({type:y.Integer,context:0,defaultValue:dn.v1})],Ge.prototype,"version",void 0);d([f({type:y.Integer,converter:he})],Ge.prototype,"serialNumber",void 0);d([f({type:H})],Ge.prototype,"signature",void 0);d([f({type:ve})],Ge.prototype,"issuer",void 0);d([f({type:Ni})],Ge.prototype,"validity",void 0);d([f({type:ve})],Ge.prototype,"subject",void 0);d([f({type:ot})],Ge.prototype,"subjectPublicKeyInfo",void 0);d([f({type:y.BitString,context:1,implicit:!0,optional:!0})],Ge.prototype,"issuerUniqueID",void 0);d([f({type:y.BitString,context:2,implicit:!0,optional:!0})],Ge.prototype,"subjectUniqueID",void 0);d([f({type:Vt,context:3,optional:!0})],Ge.prototype,"extensions",void 0);class pn{constructor(e={}){this.tbsCertificate=new Ge,this.signatureAlgorithm=new H,this.signatureValue=new ArrayBuffer(0),Object.assign(this,e)}}d([f({type:Ge})],pn.prototype,"tbsCertificate",void 0);d([f({type:H})],pn.prototype,"signatureAlgorithm",void 0);d([f({type:y.BitString})],pn.prototype,"signatureValue",void 0);class $s{constructor(e={}){this.userCertificate=new ArrayBuffer(0),this.revocationDate=new Ee,Object.assign(this,e)}}d([f({type:y.Integer,converter:he})],$s.prototype,"userCertificate",void 0);d([f({type:Ee})],$s.prototype,"revocationDate",void 0);d([f({type:Xe,optional:!0,repeated:"sequence"})],$s.prototype,"crlEntryExtensions",void 0);class Nt{constructor(e={}){this.signature=new H,this.issuer=new ve,this.thisUpdate=new Ee,Object.assign(this,e)}}d([f({type:y.Integer,optional:!0})],Nt.prototype,"version",void 0);d([f({type:H})],Nt.prototype,"signature",void 0);d([f({type:ve})],Nt.prototype,"issuer",void 0);d([f({type:Ee})],Nt.prototype,"thisUpdate",void 0);d([f({type:Ee,optional:!0})],Nt.prototype,"nextUpdate",void 0);d([f({type:$s,repeated:"sequence",optional:!0})],Nt.prototype,"revokedCertificates",void 0);d([f({type:Xe,optional:!0,context:0,repeated:"sequence"})],Nt.prototype,"crlExtensions",void 0);class yc{constructor(e={}){this.tbsCertList=new Nt,this.signatureAlgorithm=new H,this.signature=new ArrayBuffer(0),Object.assign(this,e)}}d([f({type:Nt})],yc.prototype,"tbsCertList",void 0);d([f({type:H})],yc.prototype,"signatureAlgorithm",void 0);d([f({type:y.BitString})],yc.prototype,"signature",void 0);class Wn{constructor(e={}){this.issuer=new ve,this.serialNumber=new ArrayBuffer(0),Object.assign(this,e)}}d([f({type:ve})],Wn.prototype,"issuer",void 0);d([f({type:y.Integer,converter:he})],Wn.prototype,"serialNumber",void 0);let Bn=class{constructor(e={}){Object.assign(this,e)}};d([f({type:Lt,context:0,implicit:!0})],Bn.prototype,"subjectKeyIdentifier",void 0);d([f({type:Wn})],Bn.prototype,"issuerAndSerialNumber",void 0);Bn=d([B({type:z.Choice})],Bn);var Et;(function(n){n[n.v0=0]="v0",n[n.v1=1]="v1",n[n.v2=2]="v2",n[n.v3=3]="v3",n[n.v4=4]="v4",n[n.v5=5]="v5"})(Et||(Et={}));let _i=class extends H{};_i=d([B({type:z.Sequence})],_i);let Cr=class extends H{};Cr=d([B({type:z.Sequence})],Cr);let _t=class extends H{};_t=d([B({type:z.Sequence})],_t);let jr=class extends H{};jr=d([B({type:z.Sequence})],jr);let Vl=class extends H{};Vl=d([B({type:z.Sequence})],Vl);let Yo=class extends H{};Yo=d([B({type:z.Sequence})],Yo);let Gn=class{constructor(e={}){this.attrType="",this.attrValues=[],Object.assign(this,e)}};d([f({type:y.ObjectIdentifier})],Gn.prototype,"attrType",void 0);d([f({type:y.Any,repeated:"set"})],Gn.prototype,"attrValues",void 0);var Xo;class vt{constructor(e={}){this.version=Et.v0,this.sid=new Bn,this.digestAlgorithm=new _i,this.signatureAlgorithm=new Cr,this.signature=new re,Object.assign(this,e)}}d([f({type:y.Integer})],vt.prototype,"version",void 0);d([f({type:Bn})],vt.prototype,"sid",void 0);d([f({type:_i})],vt.prototype,"digestAlgorithm",void 0);d([f({type:Gn,repeated:"set",context:0,implicit:!0,optional:!0})],vt.prototype,"signedAttrs",void 0);d([f({type:Cr})],vt.prototype,"signatureAlgorithm",void 0);d([f({type:re})],vt.prototype,"signature",void 0);d([f({type:Gn,repeated:"set",context:1,implicit:!0,optional:!0})],vt.prototype,"unsignedAttrs",void 0);let zr=Xo=class extends le{constructor(e){super(e),Object.setPrototypeOf(this,Xo.prototype)}};zr=Xo=d([B({type:z.Set,itemType:vt})],zr);let Ml=class extends Ee{};Ml=d([B({type:z.Choice})],Ml);let Hl=class extends vt{};Hl=d([B({type:z.Sequence})],Hl);class vc{constructor(e={}){this.acIssuer=new Q,this.acSerial=0,this.attrs=[],Object.assign(this,e)}}d([f({type:Q})],vc.prototype,"acIssuer",void 0);d([f({type:y.Integer})],vc.prototype,"acSerial",void 0);d([f({type:It,repeated:"sequence"})],vc.prototype,"attrs",void 0);var Qo;let Nr=Qo=class extends le{constructor(e){super(e),Object.setPrototypeOf(this,Qo.prototype)}};Nr=Qo=d([B({type:z.Sequence,itemType:y.ObjectIdentifier})],Nr);class Cs{constructor(e={}){this.permitUnSpecified=!0,Object.assign(this,e)}}d([f({type:y.Integer,optional:!0})],Cs.prototype,"pathLenConstraint",void 0);d([f({type:Nr,implicit:!0,context:0,optional:!0})],Cs.prototype,"permittedAttrs",void 0);d([f({type:Nr,implicit:!0,context:1,optional:!0})],Cs.prototype,"excludedAttrs",void 0);d([f({type:y.Boolean,defaultValue:!0})],Cs.prototype,"permitUnSpecified",void 0);class wn{constructor(e={}){this.issuer=new Be,this.serial=new ArrayBuffer(0),this.issuerUID=new ArrayBuffer(0),Object.assign(this,e)}}d([f({type:Be})],wn.prototype,"issuer",void 0);d([f({type:y.Integer,converter:he})],wn.prototype,"serial",void 0);d([f({type:y.BitString,optional:!0})],wn.prototype,"issuerUID",void 0);var ea;(function(n){n[n.publicKey=0]="publicKey",n[n.publicKeyCert=1]="publicKeyCert",n[n.otherObjectTypes=2]="otherObjectTypes"})(ea||(ea={}));class bn{constructor(e={}){this.digestedObjectType=ea.publicKey,this.digestAlgorithm=new H,this.objectDigest=new ArrayBuffer(0),Object.assign(this,e)}}d([f({type:y.Enumerated})],bn.prototype,"digestedObjectType",void 0);d([f({type:y.ObjectIdentifier,optional:!0})],bn.prototype,"otherObjectTypeID",void 0);d([f({type:H})],bn.prototype,"digestAlgorithm",void 0);d([f({type:y.BitString})],bn.prototype,"objectDigest",void 0);class js{constructor(e={}){Object.assign(this,e)}}d([f({type:Be,optional:!0})],js.prototype,"issuerName",void 0);d([f({type:wn,context:0,implicit:!0,optional:!0})],js.prototype,"baseCertificateID",void 0);d([f({type:bn,context:1,implicit:!0,optional:!0})],js.prototype,"objectDigestInfo",void 0);let Tn=class{constructor(e={}){Object.assign(this,e)}};d([f({type:Q,repeated:"sequence"})],Tn.prototype,"v1Form",void 0);d([f({type:js,context:0,implicit:!0})],Tn.prototype,"v2Form",void 0);Tn=d([B({type:z.Choice})],Tn);class zs{constructor(e={}){this.notBeforeTime=new Date,this.notAfterTime=new Date,Object.assign(this,e)}}d([f({type:y.GeneralizedTime})],zs.prototype,"notBeforeTime",void 0);d([f({type:y.GeneralizedTime})],zs.prototype,"notAfterTime",void 0);class Oi{constructor(e={}){Object.assign(this,e)}}d([f({type:wn,implicit:!0,context:0,optional:!0})],Oi.prototype,"baseCertificateID",void 0);d([f({type:Be,implicit:!0,context:1,optional:!0})],Oi.prototype,"entityName",void 0);d([f({type:bn,implicit:!0,context:2,optional:!0})],Oi.prototype,"objectDigestInfo",void 0);var ta;(function(n){n[n.v2=1]="v2"})(ta||(ta={}));class lt{constructor(e={}){this.version=ta.v2,this.holder=new Oi,this.issuer=new Tn,this.signature=new H,this.serialNumber=new ArrayBuffer(0),this.attrCertValidityPeriod=new zs,this.attributes=[],Object.assign(this,e)}}d([f({type:y.Integer})],lt.prototype,"version",void 0);d([f({type:Oi})],lt.prototype,"holder",void 0);d([f({type:Tn})],lt.prototype,"issuer",void 0);d([f({type:H})],lt.prototype,"signature",void 0);d([f({type:y.Integer,converter:he})],lt.prototype,"serialNumber",void 0);d([f({type:zs})],lt.prototype,"attrCertValidityPeriod",void 0);d([f({type:It,repeated:"sequence"})],lt.prototype,"attributes",void 0);d([f({type:y.BitString,optional:!0})],lt.prototype,"issuerUniqueID",void 0);d([f({type:Vt,optional:!0})],lt.prototype,"extensions",void 0);class Ns{constructor(e={}){this.acinfo=new lt,this.signatureAlgorithm=new H,this.signatureValue=new ArrayBuffer(0),Object.assign(this,e)}}d([f({type:lt})],Ns.prototype,"acinfo",void 0);d([f({type:H})],Ns.prototype,"signatureAlgorithm",void 0);d([f({type:y.BitString})],Ns.prototype,"signatureValue",void 0);var Or;(function(n){n[n.unmarked=1]="unmarked",n[n.unclassified=2]="unclassified",n[n.restricted=4]="restricted",n[n.confidential=8]="confidential",n[n.secret=16]="secret",n[n.topSecret=32]="topSecret"})(Or||(Or={}));class na extends xs{}class wc{constructor(e={}){this.type="",this.value=new ArrayBuffer(0),Object.assign(this,e)}}d([f({type:y.ObjectIdentifier,implicit:!0,context:0})],wc.prototype,"type",void 0);d([f({type:y.Any,implicit:!0,context:1})],wc.prototype,"value",void 0);class bc{constructor(e={}){this.policyId="",this.classList=new na(Or.unclassified),Object.assign(this,e)}}d([f({type:y.ObjectIdentifier})],bc.prototype,"policyId",void 0);d([f({type:na,defaultValue:new na(Or.unclassified)})],bc.prototype,"classList",void 0);d([f({type:wc,repeated:"set"})],bc.prototype,"securityCategories",void 0);class Os{constructor(e={}){Object.assign(this,e)}}d([f({type:re})],Os.prototype,"cotets",void 0);d([f({type:y.ObjectIdentifier})],Os.prototype,"oid",void 0);d([f({type:y.Utf8String})],Os.prototype,"string",void 0);class of{constructor(e={}){this.values=[],Object.assign(this,e)}}d([f({type:Be,implicit:!0,context:0,optional:!0})],of.prototype,"policyAuthority",void 0);d([f({type:Os,repeated:"sequence"})],of.prototype,"values",void 0);var ia;class Bs{constructor(e={}){this.targetCertificate=new wn,Object.assign(this,e)}}d([f({type:wn})],Bs.prototype,"targetCertificate",void 0);d([f({type:Q,optional:!0})],Bs.prototype,"targetName",void 0);d([f({type:bn,optional:!0})],Bs.prototype,"certDigestInfo",void 0);let Rn=class{constructor(e={}){Object.assign(this,e)}};d([f({type:Q,context:0,implicit:!0})],Rn.prototype,"targetName",void 0);d([f({type:Q,context:1,implicit:!0})],Rn.prototype,"targetGroup",void 0);d([f({type:Bs,context:2,implicit:!0})],Rn.prototype,"targetCert",void 0);Rn=d([B({type:z.Choice})],Rn);let ra=ia=class extends le{constructor(e){super(e),Object.setPrototypeOf(this,ia.prototype)}};ra=ia=d([B({type:z.Sequence,itemType:Rn})],ra);var sa;let Dl=sa=class extends le{constructor(e){super(e),Object.setPrototypeOf(this,sa.prototype)}};Dl=sa=d([B({type:z.Sequence,itemType:ra})],Dl);class af{constructor(e={}){Object.assign(this,e)}}d([f({type:Be,implicit:!0,context:0,optional:!0})],af.prototype,"roleAuthority",void 0);d([f({type:Q,implicit:!0,context:1})],af.prototype,"roleName",void 0);class kc{constructor(e={}){this.service=new Q,this.ident=new Q,Object.assign(this,e)}}d([f({type:Q})],kc.prototype,"service",void 0);d([f({type:Q})],kc.prototype,"ident",void 0);d([f({type:re,optional:!0})],kc.prototype,"authInfo",void 0);var oa;class xc{constructor(e={}){this.otherCertFormat="",this.otherCert=new ArrayBuffer(0),Object.assign(this,e)}}d([f({type:y.ObjectIdentifier})],xc.prototype,"otherCertFormat",void 0);d([f({type:y.Any})],xc.prototype,"otherCert",void 0);let Pn=class{constructor(e={}){Object.assign(this,e)}};d([f({type:pn})],Pn.prototype,"certificate",void 0);d([f({type:Ns,context:2,implicit:!0})],Pn.prototype,"v2AttrCert",void 0);d([f({type:xc,context:3,implicit:!0})],Pn.prototype,"other",void 0);Pn=d([B({type:z.Choice})],Pn);let Br=oa=class extends le{constructor(e){super(e),Object.setPrototypeOf(this,oa.prototype)}};Br=oa=d([B({type:z.Set,itemType:Pn})],Br);class Jn{constructor(e={}){this.contentType="",this.content=new ArrayBuffer(0),Object.assign(this,e)}}d([f({type:y.ObjectIdentifier})],Jn.prototype,"contentType",void 0);d([f({type:y.Any,context:0})],Jn.prototype,"content",void 0);let mi=class{constructor(e={}){Object.assign(this,e)}};d([f({type:re})],mi.prototype,"single",void 0);d([f({type:y.Any})],mi.prototype,"any",void 0);mi=d([B({type:z.Choice})],mi);class Ts{constructor(e={}){this.eContentType="",Object.assign(this,e)}}d([f({type:y.ObjectIdentifier})],Ts.prototype,"eContentType",void 0);d([f({type:mi,context:0,optional:!0})],Ts.prototype,"eContent",void 0);let yi=class{constructor(e={}){Object.assign(this,e)}};d([f({type:re,context:0,implicit:!0,optional:!0})],yi.prototype,"value",void 0);d([f({type:re,converter:Wg,context:0,implicit:!0,optional:!0,repeated:"sequence"})],yi.prototype,"constructedValue",void 0);yi=d([B({type:z.Choice})],yi);class Bi{constructor(e={}){this.contentType="",this.contentEncryptionAlgorithm=new jr,Object.assign(this,e)}}d([f({type:y.ObjectIdentifier})],Bi.prototype,"contentType",void 0);d([f({type:jr})],Bi.prototype,"contentEncryptionAlgorithm",void 0);d([f({type:yi,optional:!0})],Bi.prototype,"encryptedContent",void 0);class Rs{constructor(e={}){this.keyAttrId="",Object.assign(this,e)}}d([f({type:y.ObjectIdentifier})],Rs.prototype,"keyAttrId",void 0);d([f({type:y.Any,optional:!0})],Rs.prototype,"keyAttr",void 0);var aa;class Ps{constructor(e={}){this.subjectKeyIdentifier=new Lt,Object.assign(this,e)}}d([f({type:Lt})],Ps.prototype,"subjectKeyIdentifier",void 0);d([f({type:y.GeneralizedTime,optional:!0})],Ps.prototype,"date",void 0);d([f({type:Rs,optional:!0})],Ps.prototype,"other",void 0);let Ln=class{constructor(e={}){Object.assign(this,e)}};d([f({type:Ps,context:0,implicit:!0,optional:!0})],Ln.prototype,"rKeyId",void 0);d([f({type:Wn,optional:!0})],Ln.prototype,"issuerAndSerialNumber",void 0);Ln=d([B({type:z.Choice})],Ln);class Sc{constructor(e={}){this.rid=new Ln,this.encryptedKey=new re,Object.assign(this,e)}}d([f({type:Ln})],Sc.prototype,"rid",void 0);d([f({type:re})],Sc.prototype,"encryptedKey",void 0);let Tr=aa=class extends le{constructor(e){super(e),Object.setPrototypeOf(this,aa.prototype)}};Tr=aa=d([B({type:z.Sequence,itemType:Sc})],Tr);class Ac{constructor(e={}){this.algorithm=new H,this.publicKey=new ArrayBuffer(0),Object.assign(this,e)}}d([f({type:H})],Ac.prototype,"algorithm",void 0);d([f({type:y.BitString})],Ac.prototype,"publicKey",void 0);let fn=class{constructor(e={}){Object.assign(this,e)}};d([f({type:Lt,context:0,implicit:!0,optional:!0})],fn.prototype,"subjectKeyIdentifier",void 0);d([f({type:Ac,context:1,implicit:!0,optional:!0})],fn.prototype,"originatorKey",void 0);d([f({type:Wn,optional:!0})],fn.prototype,"issuerAndSerialNumber",void 0);fn=d([B({type:z.Choice})],fn);class Zn{constructor(e={}){this.version=Et.v3,this.originator=new fn,this.keyEncryptionAlgorithm=new _t,this.recipientEncryptedKeys=new Tr,Object.assign(this,e)}}d([f({type:y.Integer})],Zn.prototype,"version",void 0);d([f({type:fn,context:0})],Zn.prototype,"originator",void 0);d([f({type:re,context:1,optional:!0})],Zn.prototype,"ukm",void 0);d([f({type:_t})],Zn.prototype,"keyEncryptionAlgorithm",void 0);d([f({type:Tr})],Zn.prototype,"recipientEncryptedKeys",void 0);let Un=class{constructor(e={}){Object.assign(this,e)}};d([f({type:Lt,context:0,implicit:!0})],Un.prototype,"subjectKeyIdentifier",void 0);d([f({type:Wn})],Un.prototype,"issuerAndSerialNumber",void 0);Un=d([B({type:z.Choice})],Un);class Ti{constructor(e={}){this.version=Et.v0,this.rid=new Un,this.keyEncryptionAlgorithm=new _t,this.encryptedKey=new re,Object.assign(this,e)}}d([f({type:y.Integer})],Ti.prototype,"version",void 0);d([f({type:Un})],Ti.prototype,"rid",void 0);d([f({type:_t})],Ti.prototype,"keyEncryptionAlgorithm",void 0);d([f({type:re})],Ti.prototype,"encryptedKey",void 0);class Ri{constructor(e={}){this.keyIdentifier=new re,Object.assign(this,e)}}d([f({type:re})],Ri.prototype,"keyIdentifier",void 0);d([f({type:y.GeneralizedTime,optional:!0})],Ri.prototype,"date",void 0);d([f({type:Rs,optional:!0})],Ri.prototype,"other",void 0);class Pi{constructor(e={}){this.version=Et.v4,this.kekid=new Ri,this.keyEncryptionAlgorithm=new _t,this.encryptedKey=new re,Object.assign(this,e)}}d([f({type:y.Integer})],Pi.prototype,"version",void 0);d([f({type:Ri})],Pi.prototype,"kekid",void 0);d([f({type:_t})],Pi.prototype,"keyEncryptionAlgorithm",void 0);d([f({type:re})],Pi.prototype,"encryptedKey",void 0);class Li{constructor(e={}){this.version=Et.v0,this.keyEncryptionAlgorithm=new _t,this.encryptedKey=new re,Object.assign(this,e)}}d([f({type:y.Integer})],Li.prototype,"version",void 0);d([f({type:Yo,context:0,optional:!0})],Li.prototype,"keyDerivationAlgorithm",void 0);d([f({type:_t})],Li.prototype,"keyEncryptionAlgorithm",void 0);d([f({type:re})],Li.prototype,"encryptedKey",void 0);class Ic{constructor(e={}){this.oriType="",this.oriValue=new ArrayBuffer(0),Object.assign(this,e)}}d([f({type:y.ObjectIdentifier})],Ic.prototype,"oriType",void 0);d([f({type:y.Any})],Ic.prototype,"oriValue",void 0);let Mt=class{constructor(e={}){Object.assign(this,e)}};d([f({type:Ti,optional:!0})],Mt.prototype,"ktri",void 0);d([f({type:Zn,context:1,implicit:!0,optional:!0})],Mt.prototype,"kari",void 0);d([f({type:Pi,context:2,implicit:!0,optional:!0})],Mt.prototype,"kekri",void 0);d([f({type:Li,context:3,implicit:!0,optional:!0})],Mt.prototype,"pwri",void 0);d([f({type:Ic,context:4,implicit:!0,optional:!0})],Mt.prototype,"ori",void 0);Mt=d([B({type:z.Choice})],Mt);var ca;let Rr=ca=class extends le{constructor(e){super(e),Object.setPrototypeOf(this,ca.prototype)}};Rr=ca=d([B({type:z.Set,itemType:Mt})],Rr);var la;class Ls{constructor(e={}){this.otherRevInfoFormat="",this.otherRevInfo=new ArrayBuffer(0),Object.assign(this,e)}}d([f({type:y.ObjectIdentifier})],Ls.prototype,"otherRevInfoFormat",void 0);d([f({type:y.Any})],Ls.prototype,"otherRevInfo",void 0);let Pr=class{constructor(e={}){this.other=new Ls,Object.assign(this,e)}};d([f({type:Ls,context:1,implicit:!0})],Pr.prototype,"other",void 0);Pr=d([B({type:z.Choice})],Pr);let Lr=la=class extends le{constructor(e){super(e),Object.setPrototypeOf(this,la.prototype)}};Lr=la=d([B({type:z.Set,itemType:Pr})],Lr);class Ec{constructor(e={}){Object.assign(this,e)}}d([f({type:Br,context:0,implicit:!0,optional:!0})],Ec.prototype,"certs",void 0);d([f({type:Lr,context:1,implicit:!0,optional:!0})],Ec.prototype,"crls",void 0);var ua;let da=ua=class extends le{constructor(e){super(e),Object.setPrototypeOf(this,ua.prototype)}};da=ua=d([B({type:z.Set,itemType:Gn})],da);class Ui{constructor(e={}){this.version=Et.v0,this.recipientInfos=new Rr,this.encryptedContentInfo=new Bi,Object.assign(this,e)}}d([f({type:y.Integer})],Ui.prototype,"version",void 0);d([f({type:Ec,context:0,implicit:!0,optional:!0})],Ui.prototype,"originatorInfo",void 0);d([f({type:Rr})],Ui.prototype,"recipientInfos",void 0);d([f({type:Bi})],Ui.prototype,"encryptedContentInfo",void 0);d([f({type:da,context:1,implicit:!0,optional:!0})],Ui.prototype,"unprotectedAttrs",void 0);const v_="1.2.840.113549.1.7.2";var pa;let Ur=pa=class extends le{constructor(e){super(e),Object.setPrototypeOf(this,pa.prototype)}};Ur=pa=d([B({type:z.Set,itemType:_i})],Ur);class Yn{constructor(e={}){this.version=Et.v0,this.digestAlgorithms=new Ur,this.encapContentInfo=new Ts,this.signerInfos=new zr,Object.assign(this,e)}}d([f({type:y.Integer})],Yn.prototype,"version",void 0);d([f({type:Ur})],Yn.prototype,"digestAlgorithms",void 0);d([f({type:Ts})],Yn.prototype,"encapContentInfo",void 0);d([f({type:Br,context:0,implicit:!0,optional:!0})],Yn.prototype,"certificates",void 0);d([f({type:Lr,context:1,implicit:!0,optional:!0})],Yn.prototype,"crls",void 0);d([f({type:zr})],Yn.prototype,"signerInfos",void 0);const vi="1.2.840.10045.2.1",$c="1.2.840.10045.4.1",cf="1.2.840.10045.4.3.1",Cc="1.2.840.10045.4.3.2",jc="1.2.840.10045.4.3.3",zc="1.2.840.10045.4.3.4",Fl="1.2.840.10045.3.1.7",ql="1.3.132.0.34",Kl="1.3.132.0.35";function Vi(n){return new H({algorithm:n})}const w_=Vi($c);Vi(cf);const b_=Vi(Cc),k_=Vi(jc),x_=Vi(zc);let wi=class{constructor(e={}){Object.assign(this,e)}};d([f({type:y.ObjectIdentifier})],wi.prototype,"fieldType",void 0);d([f({type:y.Any})],wi.prototype,"parameters",void 0);wi=d([B({type:z.Sequence})],wi);class S_ extends re{}let Vn=class{constructor(e={}){Object.assign(this,e)}};d([f({type:y.OctetString})],Vn.prototype,"a",void 0);d([f({type:y.OctetString})],Vn.prototype,"b",void 0);d([f({type:y.BitString,optional:!0})],Vn.prototype,"seed",void 0);Vn=d([B({type:z.Sequence})],Vn);var fa;(function(n){n[n.ecpVer1=1]="ecpVer1"})(fa||(fa={}));let $t=class{constructor(e={}){this.version=fa.ecpVer1,Object.assign(this,e)}};d([f({type:y.Integer})],$t.prototype,"version",void 0);d([f({type:wi})],$t.prototype,"fieldID",void 0);d([f({type:Vn})],$t.prototype,"curve",void 0);d([f({type:S_})],$t.prototype,"base",void 0);d([f({type:y.Integer,converter:he})],$t.prototype,"order",void 0);d([f({type:y.Integer,optional:!0})],$t.prototype,"cofactor",void 0);$t=d([B({type:z.Sequence})],$t);let Ht=class{constructor(e={}){Object.assign(this,e)}};d([f({type:y.ObjectIdentifier})],Ht.prototype,"namedCurve",void 0);d([f({type:y.Null})],Ht.prototype,"implicitCurve",void 0);d([f({type:$t})],Ht.prototype,"specifiedCurve",void 0);Ht=d([B({type:z.Choice})],Ht);class Us{constructor(e={}){this.version=1,this.privateKey=new re,Object.assign(this,e)}}d([f({type:y.Integer})],Us.prototype,"version",void 0);d([f({type:re})],Us.prototype,"privateKey",void 0);d([f({type:Ht,context:0,optional:!0})],Us.prototype,"parameters",void 0);d([f({type:y.BitString,context:1,optional:!0})],Us.prototype,"publicKey",void 0);class Vr{constructor(e={}){this.r=new ArrayBuffer(0),this.s=new ArrayBuffer(0),Object.assign(this,e)}}d([f({type:y.Integer,converter:he})],Vr.prototype,"r",void 0);d([f({type:y.Integer,converter:he})],Vr.prototype,"s",void 0);const Me="1.2.840.113549.1.1",hn=`${Me}.1`,A_=`${Me}.7`,I_=`${Me}.9`,li=`${Me}.10`,E_=`${Me}.2`,$_=`${Me}.4`,Mr=`${Me}.5`,C_=`${Me}.14`,ha=`${Me}.11`,Hr=`${Me}.12`,Dr=`${Me}.13`,lf=`${Me}.15`,uf=`${Me}.16`,Fr="1.3.14.3.2.26",df="2.16.840.1.101.3.4.2.4",qr="2.16.840.1.101.3.4.2.1",Kr="2.16.840.1.101.3.4.2.2",Wr="2.16.840.1.101.3.4.2.3",j_="2.16.840.1.101.3.4.2.5",z_="2.16.840.1.101.3.4.2.6",N_="1.2.840.113549.2.2",O_="1.2.840.113549.2.5",Vs=`${Me}.8`;function xe(n){return new H({algorithm:n,parameters:null})}xe(N_);xe(O_);const gn=xe(Fr);xe(df);xe(qr);xe(Kr);xe(Wr);xe(j_);xe(z_);const pf=new H({algorithm:Vs,parameters:L.serialize(gn)}),ff=new H({algorithm:I_,parameters:L.serialize(kr.toASN(new Uint8Array([218,57,163,238,94,107,75,13,50,85,191,239,149,96,24,144,175,216,7,9]).buffer))});xe(hn);xe(E_);xe($_);xe(Mr);xe(lf);xe(uf);xe(Hr);xe(Dr);xe(lf);xe(uf);class Ms{constructor(e={}){this.hashAlgorithm=new H(gn),this.maskGenAlgorithm=new H({algorithm:Vs,parameters:L.serialize(gn)}),this.pSourceAlgorithm=new H(ff),Object.assign(this,e)}}d([f({type:H,context:0,defaultValue:gn})],Ms.prototype,"hashAlgorithm",void 0);d([f({type:H,context:1,defaultValue:pf})],Ms.prototype,"maskGenAlgorithm",void 0);d([f({type:H,context:2,defaultValue:ff})],Ms.prototype,"pSourceAlgorithm",void 0);new H({algorithm:A_,parameters:L.serialize(new Ms)});class _n{constructor(e={}){this.hashAlgorithm=new H(gn),this.maskGenAlgorithm=new H({algorithm:Vs,parameters:L.serialize(gn)}),this.saltLength=20,this.trailerField=1,Object.assign(this,e)}}d([f({type:H,context:0,defaultValue:gn})],_n.prototype,"hashAlgorithm",void 0);d([f({type:H,context:1,defaultValue:pf})],_n.prototype,"maskGenAlgorithm",void 0);d([f({type:y.Integer,context:2,defaultValue:20})],_n.prototype,"saltLength",void 0);d([f({type:y.Integer,context:3,defaultValue:1})],_n.prototype,"trailerField",void 0);new H({algorithm:li,parameters:L.serialize(new _n)});class Hs{constructor(e={}){this.digestAlgorithm=new H,this.digest=new re,Object.assign(this,e)}}d([f({type:H})],Hs.prototype,"digestAlgorithm",void 0);d([f({type:re})],Hs.prototype,"digest",void 0);var ga;class Ds{constructor(e={}){this.prime=new ArrayBuffer(0),this.exponent=new ArrayBuffer(0),this.coefficient=new ArrayBuffer(0),Object.assign(this,e)}}d([f({type:y.Integer,converter:he})],Ds.prototype,"prime",void 0);d([f({type:y.Integer,converter:he})],Ds.prototype,"exponent",void 0);d([f({type:y.Integer,converter:he})],Ds.prototype,"coefficient",void 0);let _a=ga=class extends le{constructor(e){super(e),Object.setPrototypeOf(this,ga.prototype)}};_a=ga=d([B({type:z.Sequence,itemType:Ds})],_a);class wt{constructor(e={}){this.version=0,this.modulus=new ArrayBuffer(0),this.publicExponent=new ArrayBuffer(0),this.privateExponent=new ArrayBuffer(0),this.prime1=new ArrayBuffer(0),this.prime2=new ArrayBuffer(0),this.exponent1=new ArrayBuffer(0),this.exponent2=new ArrayBuffer(0),this.coefficient=new ArrayBuffer(0),Object.assign(this,e)}}d([f({type:y.Integer})],wt.prototype,"version",void 0);d([f({type:y.Integer,converter:he})],wt.prototype,"modulus",void 0);d([f({type:y.Integer,converter:he})],wt.prototype,"publicExponent",void 0);d([f({type:y.Integer,converter:he})],wt.prototype,"privateExponent",void 0);d([f({type:y.Integer,converter:he})],wt.prototype,"prime1",void 0);d([f({type:y.Integer,converter:he})],wt.prototype,"prime2",void 0);d([f({type:y.Integer,converter:he})],wt.prototype,"exponent1",void 0);d([f({type:y.Integer,converter:he})],wt.prototype,"exponent2",void 0);d([f({type:y.Integer,converter:he})],wt.prototype,"coefficient",void 0);d([f({type:_a,optional:!0})],wt.prototype,"otherPrimeInfos",void 0);class Nc{constructor(e={}){this.modulus=new ArrayBuffer(0),this.publicExponent=new ArrayBuffer(0),Object.assign(this,e)}}d([f({type:y.Integer,converter:he})],Nc.prototype,"modulus",void 0);d([f({type:y.Integer,converter:he})],Nc.prototype,"publicExponent",void 0);var ma;(function(n){n[n.Transient=0]="Transient",n[n.Singleton=1]="Singleton",n[n.ResolutionScoped=2]="ResolutionScoped",n[n.ContainerScoped=3]="ContainerScoped"})(ma||(ma={}));const Pe=ma;/*! *****************************************************************************
|
|
79
|
+
`)}`:`${t} :`}}Xd=Ue;D.Constructed=Xd;Ue.NAME="CONSTRUCTED";class Qd extends Te{fromBER(e,t,i){return t}toBER(e){return ct}}Qd.override="EndOfContentValueBlock";var ep;class ec extends $e{constructor(e={}){super(e,Qd),this.idBlock.tagClass=1,this.idBlock.tagNumber=0}}ep=ec;D.EndOfContent=ep;ec.NAME=hi;var tp;class cn extends $e{constructor(e={}){super(e,Te),this.idBlock.tagClass=1,this.idBlock.tagNumber=5}fromBER(e,t,i){return this.lenBlock.length>0&&this.warnings.push("Non-zero length of value block for Null type"),this.idBlock.error.length||(this.blockLength+=this.idBlock.blockLength),this.lenBlock.error.length||(this.blockLength+=this.lenBlock.blockLength),this.blockLength+=i,t+i>e.byteLength?(this.error="End of input reached before message was fully decoded (inconsistent offset and length values)",-1):t+i}toBER(e,t){const i=new ArrayBuffer(2);if(!e){const r=new Uint8Array(i);r[0]=5,r[1]=0}return t&&t.write(i),i}onAsciiEncoding(){return`${this.constructor.NAME}`}}tp=cn;D.Null=tp;cn.NAME="NULL";class np extends vt(Te){constructor({value:e,...t}={}){super(t),t.valueHex?this.valueHexView=U.toUint8Array(t.valueHex):this.valueHexView=new Uint8Array(1),e&&(this.value=e)}get value(){for(const e of this.valueHexView)if(e>0)return!0;return!1}set value(e){this.valueHexView[0]=e?255:0}fromBER(e,t,i){const r=U.toUint8Array(e);return zt(this,r,t,i)?(this.valueHexView=r.subarray(t,t+i),i>1&&this.warnings.push("Boolean value encoded in more then 1 octet"),this.isHexOnly=!0,Fd.call(this),this.blockLength=i,t+i):-1}toBER(){return this.valueHexView.slice()}toJSON(){return{...super.toJSON(),value:this.value}}}np.NAME="BooleanValueBlock";var ip;class ls extends $e{constructor(e={}){super(e,np),this.idBlock.tagClass=1,this.idBlock.tagNumber=1}getValue(){return this.valueBlock.value}setValue(e){this.valueBlock.value=e}onAsciiEncoding(){return`${this.constructor.NAME} : ${this.getValue}`}}ip=ls;D.Boolean=ip;ls.NAME="BOOLEAN";class rp extends vt(Pt){constructor({isConstructed:e=!1,...t}={}){super(t),this.isConstructed=e}fromBER(e,t,i){let r=0;if(this.isConstructed){if(this.isHexOnly=!1,r=Pt.prototype.fromBER.call(this,e,t,i),r===-1)return r;for(let s=0;s<this.value.length;s++){const o=this.value[s].constructor.NAME;if(o===hi){if(this.isIndefiniteForm)break;return this.error="EndOfContent is unexpected, OCTET STRING may consists of OCTET STRINGs only",-1}if(o!==qd)return this.error="OCTET STRING may consists of OCTET STRINGs only",-1}}else this.isHexOnly=!0,r=super.fromBER(e,t,i),this.blockLength=i;return r}toBER(e,t){return this.isConstructed?Pt.prototype.toBER.call(this,e,t):e?new ArrayBuffer(this.valueHexView.byteLength):this.valueHexView.slice().buffer}toJSON(){return{...super.toJSON(),isConstructed:this.isConstructed}}}rp.NAME="OctetStringValueBlock";var sp;let tn=class op extends $e{constructor({idBlock:e={},lenBlock:t={},...i}={}){var r,s;(r=i.isConstructed)!==null&&r!==void 0||(i.isConstructed=!!(!((s=i.value)===null||s===void 0)&&s.length)),super({idBlock:{isConstructed:i.isConstructed,...e},lenBlock:{...t,isIndefiniteForm:!!i.isIndefiniteForm},...i},rp),this.idBlock.tagClass=1,this.idBlock.tagNumber=4}fromBER(e,t,i){if(this.valueBlock.isConstructed=this.idBlock.isConstructed,this.valueBlock.isIndefiniteForm=this.lenBlock.isIndefiniteForm,i===0)return this.idBlock.error.length===0&&(this.blockLength+=this.idBlock.blockLength),this.lenBlock.error.length===0&&(this.blockLength+=this.lenBlock.blockLength),t;if(!this.valueBlock.isConstructed){const s=(e instanceof ArrayBuffer?new Uint8Array(e):e).subarray(t,t+i);try{if(s.byteLength){const o=Fn(s,0,s.byteLength);o.offset!==-1&&o.offset===i&&(this.valueBlock.value=[o.result])}}catch{}}return super.fromBER(e,t,i)}onAsciiEncoding(){return this.valueBlock.isConstructed||this.valueBlock.value&&this.valueBlock.value.length?Ue.prototype.onAsciiEncoding.call(this):`${this.constructor.NAME} : ${W.ToHex(this.valueBlock.valueHexView)}`}getValue(){if(!this.idBlock.isConstructed)return this.valueBlock.valueHexView.slice().buffer;const e=[];for(const t of this.valueBlock.value)t instanceof op&&e.push(t.valueBlock.valueHexView);return U.concat(e)}};sp=tn;D.OctetString=sp;tn.NAME=qd;class ap extends vt(Pt){constructor({unusedBits:e=0,isConstructed:t=!1,...i}={}){super(i),this.unusedBits=e,this.isConstructed=t,this.blockLength=this.valueHexView.byteLength}fromBER(e,t,i){if(!i)return t;let r=-1;if(this.isConstructed){if(r=Pt.prototype.fromBER.call(this,e,t,i),r===-1)return r;for(const c of this.value){const l=c.constructor.NAME;if(l===hi){if(this.isIndefiniteForm)break;return this.error="EndOfContent is unexpected, BIT STRING may consists of BIT STRINGs only",-1}if(l!==Kd)return this.error="BIT STRING may consists of BIT STRINGs only",-1;const u=c.valueBlock;if(this.unusedBits>0&&u.unusedBits>0)return this.error='Using of "unused bits" inside constructive BIT STRING allowed for least one only',-1;this.unusedBits=u.unusedBits}return r}const s=U.toUint8Array(e);if(!zt(this,s,t,i))return-1;const o=s.subarray(t,t+i);if(this.unusedBits=o[0],this.unusedBits>7)return this.error="Unused bits for BitString must be in range 0-7",-1;if(!this.unusedBits){const c=o.subarray(1);try{if(c.byteLength){const l=Fn(c,0,c.byteLength);l.offset!==-1&&l.offset===i-1&&(this.value=[l.result])}}catch{}}return this.valueHexView=o.subarray(1),this.blockLength=o.length,t+i}toBER(e,t){if(this.isConstructed)return Pt.prototype.toBER.call(this,e,t);if(e)return new ArrayBuffer(this.valueHexView.byteLength+1);if(!this.valueHexView.byteLength)return ct;const i=new Uint8Array(this.valueHexView.length+1);return i[0]=this.unusedBits,i.set(this.valueHexView,1),i.buffer}toJSON(){return{...super.toJSON(),unusedBits:this.unusedBits,isConstructed:this.isConstructed}}}ap.NAME="BitStringValueBlock";var cp;let nn=class extends $e{constructor({idBlock:e={},lenBlock:t={},...i}={}){var r,s;(r=i.isConstructed)!==null&&r!==void 0||(i.isConstructed=!!(!((s=i.value)===null||s===void 0)&&s.length)),super({idBlock:{isConstructed:i.isConstructed,...e},lenBlock:{...t,isIndefiniteForm:!!i.isIndefiniteForm},...i},ap),this.idBlock.tagClass=1,this.idBlock.tagNumber=3}fromBER(e,t,i){return this.valueBlock.isConstructed=this.idBlock.isConstructed,this.valueBlock.isIndefiniteForm=this.lenBlock.isIndefiniteForm,super.fromBER(e,t,i)}onAsciiEncoding(){if(this.valueBlock.isConstructed||this.valueBlock.value&&this.valueBlock.value.length)return Ue.prototype.onAsciiEncoding.call(this);{const e=[],t=this.valueBlock.valueHexView;for(const r of t)e.push(r.toString(2).padStart(8,"0"));const i=e.join("");return`${this.constructor.NAME} : ${i.substring(0,i.length-this.valueBlock.unusedBits)}`}}};cp=nn;D.BitString=cp;nn.NAME=Kd;var lp;function Pg(n,e){const t=new Uint8Array([0]),i=new Uint8Array(n),r=new Uint8Array(e);let s=i.slice(0);const o=s.length-1,c=r.slice(0),l=c.length-1;let u=0;const p=l<o?o:l;let g=0;for(let m=p;m>=0;m--,g++){switch(!0){case g<c.length:u=s[o-g]+c[l-g]+t[0];break;default:u=s[o-g]+t[0]}switch(t[0]=u/10,!0){case g>=s.length:s=xo(new Uint8Array([u%10]),s);break;default:s[o-g]=u%10}}return t[0]>0&&(s=xo(t,s)),s}function Al(n){if(n>=ni.length)for(let e=ni.length;e<=n;e++){const t=new Uint8Array([0]);let i=ni[e-1].slice(0);for(let r=i.length-1;r>=0;r--){const s=new Uint8Array([(i[r]<<1)+t[0]]);t[0]=s[0]/10,i[r]=s[0]%10}t[0]>0&&(i=xo(t,i)),ni.push(i)}return ni[n]}function Lg(n,e){let t=0;const i=new Uint8Array(n),r=new Uint8Array(e),s=i.slice(0),o=s.length-1,c=r.slice(0),l=c.length-1;let u,p=0;for(let g=l;g>=0;g--,p++)switch(u=s[o-p]-c[l-p]-t,!0){case u<0:t=1,s[o-p]=u+10;break;default:t=0,s[o-p]=u}if(t>0)for(let g=o-l+1;g>=0;g--,p++)if(u=s[o-p]-t,u<0)t=1,s[o-p]=u+10;else{t=0,s[o-p]=u;break}return s.slice()}class tc extends vt(Te){constructor({value:e,...t}={}){super(t),this._valueDec=0,t.valueHex&&this.setValueHex(),e!==void 0&&(this.valueDec=e)}setValueHex(){this.valueHexView.length>=4?(this.warnings.push("Too big Integer for decoding, hex only"),this.isHexOnly=!0,this._valueDec=0):(this.isHexOnly=!1,this.valueHexView.length>0&&(this._valueDec=Fd.call(this)))}set valueDec(e){this._valueDec=e,this.isHexOnly=!1,this.valueHexView=new Uint8Array(Ag(e))}get valueDec(){return this._valueDec}fromDER(e,t,i,r=0){const s=this.fromBER(e,t,i);if(s===-1)return s;const o=this.valueHexView;return o[0]===0&&o[1]&128?this.valueHexView=o.subarray(1):r!==0&&o.length<r&&(r-o.length>1&&(r=o.length+1),this.valueHexView=o.subarray(r-o.length)),s}toDER(e=!1){const t=this.valueHexView;switch(!0){case(t[0]&128)!==0:{const i=new Uint8Array(this.valueHexView.length+1);i[0]=0,i.set(t,1),this.valueHexView=i}break;case(t[0]===0&&(t[1]&128)===0):this.valueHexView=this.valueHexView.subarray(1);break}return this.toBER(e)}fromBER(e,t,i){const r=super.fromBER(e,t,i);return r===-1||this.setValueHex(),r}toBER(e){return e?new ArrayBuffer(this.valueHexView.length):this.valueHexView.slice().buffer}toJSON(){return{...super.toJSON(),valueDec:this.valueDec}}toString(){const e=this.valueHexView.length*8-1;let t=new Uint8Array(this.valueHexView.length*8/3),i=0,r;const s=this.valueHexView;let o="",c=!1;for(let l=s.byteLength-1;l>=0;l--){r=s[l];for(let u=0;u<8;u++){if((r&1)===1)switch(i){case e:t=Lg(Al(i),t),o="-";break;default:t=Pg(t,Al(i))}i++,r>>=1}}for(let l=0;l<t.length;l++)t[l]&&(c=!0),c&&(o+=xl.charAt(t[l]));return c===!1&&(o+=xl.charAt(0)),o}}lp=tc;tc.NAME="IntegerValueBlock";Object.defineProperty(lp.prototype,"valueHex",{set:function(n){this.valueHexView=new Uint8Array(n),this.setValueHex()},get:function(){return this.valueHexView.slice().buffer}});var up;class _t extends $e{constructor(e={}){super(e,tc),this.idBlock.tagClass=1,this.idBlock.tagNumber=2}toBigInt(){return wr(),BigInt(this.valueBlock.toString())}static fromBigInt(e){wr();const t=BigInt(e),i=new as,r=t.toString(16).replace(/^-/,""),s=new Uint8Array(W.FromHex(r));if(t<0){const c=new Uint8Array(s.length+(s[0]&128?1:0));c[0]|=128;const u=BigInt(`0x${W.ToHex(c)}`)+t,p=U.toUint8Array(W.FromHex(u.toString(16)));p[0]|=128,i.write(p)}else s[0]&128&&i.write(new Uint8Array([0])),i.write(s);return new _t({valueHex:i.final()})}convertToDER(){const e=new _t({valueHex:this.valueBlock.valueHexView});return e.valueBlock.toDER(),e}convertFromDER(){return new _t({valueHex:this.valueBlock.valueHexView[0]===0?this.valueBlock.valueHexView.subarray(1):this.valueBlock.valueHexView})}onAsciiEncoding(){return`${this.constructor.NAME} : ${this.valueBlock.toString()}`}}up=_t;D.Integer=up;_t.NAME="INTEGER";var dp;class us extends _t{constructor(e={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=10}}dp=us;D.Enumerated=dp;us.NAME="ENUMERATED";class So extends vt(Te){constructor({valueDec:e=-1,isFirstSid:t=!1,...i}={}){super(i),this.valueDec=e,this.isFirstSid=t}fromBER(e,t,i){if(!i)return t;const r=U.toUint8Array(e);if(!zt(this,r,t,i))return-1;const s=r.subarray(t,t+i);this.valueHexView=new Uint8Array(i);for(let c=0;c<i&&(this.valueHexView[c]=s[c]&127,this.blockLength++,!!(s[c]&128));c++);const o=new Uint8Array(this.blockLength);for(let c=0;c<this.blockLength;c++)o[c]=this.valueHexView[c];return this.valueHexView=o,s[this.blockLength-1]&128?(this.error="End of input reached before message was fully decoded",-1):(this.valueHexView[0]===0&&this.warnings.push("Needlessly long format of SID encoding"),this.blockLength<=8?this.valueDec=zn(this.valueHexView,7):(this.isHexOnly=!0,this.warnings.push("Too big SID for decoding, hex only")),t+this.blockLength)}set valueBigInt(e){wr();let t=BigInt(e).toString(2);for(;t.length%7;)t="0"+t;const i=new Uint8Array(t.length/7);for(let r=0;r<i.length;r++)i[r]=parseInt(t.slice(r*7,r*7+7),2)+(r+1<i.length?128:0);this.fromBER(i.buffer,0,i.length)}toBER(e){if(this.isHexOnly){if(e)return new ArrayBuffer(this.valueHexView.byteLength);const r=this.valueHexView,s=new Uint8Array(this.blockLength);for(let o=0;o<this.blockLength-1;o++)s[o]=r[o]|128;return s[this.blockLength-1]=r[this.blockLength-1],s.buffer}const t=an(this.valueDec,7);if(t.byteLength===0)return this.error="Error during encoding SID value",ct;const i=new Uint8Array(t.byteLength);if(!e){const r=new Uint8Array(t),s=t.byteLength-1;for(let o=0;o<s;o++)i[o]=r[o]|128;i[s]=r[s]}return i}toString(){let e="";if(this.isHexOnly)e=W.ToHex(this.valueHexView);else if(this.isFirstSid){let t=this.valueDec;this.valueDec<=39?e="0.":this.valueDec<=79?(e="1.",t-=40):(e="2.",t-=80),e+=t.toString()}else e=this.valueDec.toString();return e}toJSON(){return{...super.toJSON(),valueDec:this.valueDec,isFirstSid:this.isFirstSid}}}So.NAME="sidBlock";class pp extends Te{constructor({value:e=Le,...t}={}){super(t),this.value=[],e&&this.fromString(e)}fromBER(e,t,i){let r=t;for(;i>0;){const s=new So;if(r=s.fromBER(e,r,i),r===-1)return this.blockLength=0,this.error=s.error,r;this.value.length===0&&(s.isFirstSid=!0),this.blockLength+=s.blockLength,i-=s.blockLength,this.value.push(s)}return r}toBER(e){const t=[];for(let i=0;i<this.value.length;i++){const r=this.value[i].toBER(e);if(r.byteLength===0)return this.error=this.value[i].error,ct;t.push(r)}return Xa(t)}fromString(e){this.value=[];let t=0,i=0,r="",s=!1;do if(i=e.indexOf(".",t),i===-1?r=e.substring(t):r=e.substring(t,i),t=i+1,s){const o=this.value[0];let c=0;switch(o.valueDec){case 0:break;case 1:c=40;break;case 2:c=80;break;default:this.value=[];return}const l=parseInt(r,10);if(isNaN(l))return;o.valueDec=l+c,s=!1}else{const o=new So;if(r>Number.MAX_SAFE_INTEGER){wr();const c=BigInt(r);o.valueBigInt=c}else if(o.valueDec=parseInt(r,10),isNaN(o.valueDec))return;this.value.length||(o.isFirstSid=!0,s=!0),this.value.push(o)}while(i!==-1)}toString(){let e="",t=!1;for(let i=0;i<this.value.length;i++){t=this.value[i].isHexOnly;let r=this.value[i].toString();i!==0&&(e=`${e}.`),t?(r=`{${r}}`,this.value[i].isFirstSid?e=`2.{${r} - 80}`:e+=r):e+=r}return e}toJSON(){const e={...super.toJSON(),value:this.toString(),sidArray:[]};for(let t=0;t<this.value.length;t++)e.sidArray.push(this.value[t].toJSON());return e}}pp.NAME="ObjectIdentifierValueBlock";var fp;class ds extends $e{constructor(e={}){super(e,pp),this.idBlock.tagClass=1,this.idBlock.tagNumber=6}getValue(){return this.valueBlock.toString()}setValue(e){this.valueBlock.fromString(e)}onAsciiEncoding(){return`${this.constructor.NAME} : ${this.valueBlock.toString()||"empty"}`}toJSON(){return{...super.toJSON(),value:this.getValue()}}}fp=ds;D.ObjectIdentifier=fp;ds.NAME="OBJECT IDENTIFIER";class Ao extends vt(vn){constructor({valueDec:e=0,...t}={}){super(t),this.valueDec=e}fromBER(e,t,i){if(i===0)return t;const r=U.toUint8Array(e);if(!zt(this,r,t,i))return-1;const s=r.subarray(t,t+i);this.valueHexView=new Uint8Array(i);for(let c=0;c<i&&(this.valueHexView[c]=s[c]&127,this.blockLength++,!!(s[c]&128));c++);const o=new Uint8Array(this.blockLength);for(let c=0;c<this.blockLength;c++)o[c]=this.valueHexView[c];return this.valueHexView=o,s[this.blockLength-1]&128?(this.error="End of input reached before message was fully decoded",-1):(this.valueHexView[0]===0&&this.warnings.push("Needlessly long format of SID encoding"),this.blockLength<=8?this.valueDec=zn(this.valueHexView,7):(this.isHexOnly=!0,this.warnings.push("Too big SID for decoding, hex only")),t+this.blockLength)}toBER(e){if(this.isHexOnly){if(e)return new ArrayBuffer(this.valueHexView.byteLength);const r=this.valueHexView,s=new Uint8Array(this.blockLength);for(let o=0;o<this.blockLength-1;o++)s[o]=r[o]|128;return s[this.blockLength-1]=r[this.blockLength-1],s.buffer}const t=an(this.valueDec,7);if(t.byteLength===0)return this.error="Error during encoding SID value",ct;const i=new Uint8Array(t.byteLength);if(!e){const r=new Uint8Array(t),s=t.byteLength-1;for(let o=0;o<s;o++)i[o]=r[o]|128;i[s]=r[s]}return i.buffer}toString(){let e="";return this.isHexOnly?e=W.ToHex(this.valueHexView):e=this.valueDec.toString(),e}toJSON(){return{...super.toJSON(),valueDec:this.valueDec}}}Ao.NAME="relativeSidBlock";class hp extends Te{constructor({value:e=Le,...t}={}){super(t),this.value=[],e&&this.fromString(e)}fromBER(e,t,i){let r=t;for(;i>0;){const s=new Ao;if(r=s.fromBER(e,r,i),r===-1)return this.blockLength=0,this.error=s.error,r;this.blockLength+=s.blockLength,i-=s.blockLength,this.value.push(s)}return r}toBER(e,t){const i=[];for(let r=0;r<this.value.length;r++){const s=this.value[r].toBER(e);if(s.byteLength===0)return this.error=this.value[r].error,ct;i.push(s)}return Xa(i)}fromString(e){this.value=[];let t=0,i=0,r="";do{i=e.indexOf(".",t),i===-1?r=e.substring(t):r=e.substring(t,i),t=i+1;const s=new Ao;if(s.valueDec=parseInt(r,10),isNaN(s.valueDec))return!0;this.value.push(s)}while(i!==-1);return!0}toString(){let e="",t=!1;for(let i=0;i<this.value.length;i++){t=this.value[i].isHexOnly;let r=this.value[i].toString();i!==0&&(e=`${e}.`),t&&(r=`{${r}}`),e+=r}return e}toJSON(){const e={...super.toJSON(),value:this.toString(),sidArray:[]};for(let t=0;t<this.value.length;t++)e.sidArray.push(this.value[t].toJSON());return e}}hp.NAME="RelativeObjectIdentifierValueBlock";var gp;class nc extends $e{constructor(e={}){super(e,hp),this.idBlock.tagClass=1,this.idBlock.tagNumber=13}getValue(){return this.valueBlock.toString()}setValue(e){this.valueBlock.fromString(e)}onAsciiEncoding(){return`${this.constructor.NAME} : ${this.valueBlock.toString()||"empty"}`}toJSON(){return{...super.toJSON(),value:this.getValue()}}}gp=nc;D.RelativeObjectIdentifier=gp;nc.NAME="RelativeObjectIdentifier";var _p;class St extends Ue{constructor(e={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=16}}_p=St;D.Sequence=_p;St.NAME="SEQUENCE";var mp;let At=class extends Ue{constructor(e={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=17}};mp=At;D.Set=mp;At.NAME="SET";class yp extends vt(Te){constructor({...e}={}){super(e),this.isHexOnly=!0,this.value=Le}toJSON(){return{...super.toJSON(),value:this.value}}}yp.NAME="StringValueBlock";class vp extends yp{}vp.NAME="SimpleStringValueBlock";class We extends Qa{constructor({...e}={}){super(e,vp)}fromBuffer(e){this.valueBlock.value=String.fromCharCode.apply(null,U.toUint8Array(e))}fromString(e){const t=e.length,i=this.valueBlock.valueHexView=new Uint8Array(t);for(let r=0;r<t;r++)i[r]=e.charCodeAt(r);this.valueBlock.value=e}}We.NAME="SIMPLE STRING";class wp extends We{fromBuffer(e){this.valueBlock.valueHexView=U.toUint8Array(e);try{this.valueBlock.value=W.ToUtf8String(e)}catch(t){this.warnings.push(`Error during "decodeURIComponent": ${t}, using raw string`),this.valueBlock.value=W.ToBinary(e)}}fromString(e){this.valueBlock.valueHexView=new Uint8Array(W.FromUtf8String(e)),this.valueBlock.value=e}}wp.NAME="Utf8StringValueBlock";var bp;class Nt extends wp{constructor(e={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=12}}bp=Nt;D.Utf8String=bp;Nt.NAME="UTF8String";class kp extends We{fromBuffer(e){this.valueBlock.value=W.ToUtf16String(e),this.valueBlock.valueHexView=U.toUint8Array(e)}fromString(e){this.valueBlock.value=e,this.valueBlock.valueHexView=new Uint8Array(W.FromUtf16String(e))}}kp.NAME="BmpStringValueBlock";var xp;class ps extends kp{constructor({...e}={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=30}}xp=ps;D.BmpString=xp;ps.NAME="BMPString";class Sp extends We{fromBuffer(e){const t=ArrayBuffer.isView(e)?e.slice().buffer:e.slice(0),i=new Uint8Array(t);for(let r=0;r<i.length;r+=4)i[r]=i[r+3],i[r+1]=i[r+2],i[r+2]=0,i[r+3]=0;this.valueBlock.value=String.fromCharCode.apply(null,new Uint32Array(t))}fromString(e){const t=e.length,i=this.valueBlock.valueHexView=new Uint8Array(t*4);for(let r=0;r<t;r++){const s=an(e.charCodeAt(r),8),o=new Uint8Array(s);if(o.length>4)continue;const c=4-o.length;for(let l=o.length-1;l>=0;l--)i[r*4+l+c]=o[l]}this.valueBlock.value=e}}Sp.NAME="UniversalStringValueBlock";var Ap;class fs extends Sp{constructor({...e}={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=28}}Ap=fs;D.UniversalString=Ap;fs.NAME="UniversalString";var Ip;class hs extends We{constructor(e={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=18}}Ip=hs;D.NumericString=Ip;hs.NAME="NumericString";var Ep;class gs extends We{constructor(e={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=19}}Ep=gs;D.PrintableString=Ep;gs.NAME="PrintableString";var $p;class _s extends We{constructor(e={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=20}}$p=_s;D.TeletexString=$p;_s.NAME="TeletexString";var Cp;class ms extends We{constructor(e={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=21}}Cp=ms;D.VideotexString=Cp;ms.NAME="VideotexString";var jp;class ys extends We{constructor(e={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=22}}jp=ys;D.IA5String=jp;ys.NAME="IA5String";var zp;class vs extends We{constructor(e={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=25}}zp=vs;D.GraphicString=zp;vs.NAME="GraphicString";var Np;class Ci extends We{constructor(e={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=26}}Np=Ci;D.VisibleString=Np;Ci.NAME="VisibleString";var Op;class ws extends We{constructor(e={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=27}}Op=ws;D.GeneralString=Op;ws.NAME="GeneralString";var Bp;class bs extends We{constructor(e={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=29}}Bp=bs;D.CharacterString=Bp;bs.NAME="CharacterString";var Tp;class ji extends Ci{constructor({value:e,valueDate:t,...i}={}){if(super(i),this.year=0,this.month=0,this.day=0,this.hour=0,this.minute=0,this.second=0,e){this.fromString(e),this.valueBlock.valueHexView=new Uint8Array(e.length);for(let r=0;r<e.length;r++)this.valueBlock.valueHexView[r]=e.charCodeAt(r)}t&&(this.fromDate(t),this.valueBlock.valueHexView=new Uint8Array(this.toBuffer())),this.idBlock.tagClass=1,this.idBlock.tagNumber=23}fromBuffer(e){this.fromString(String.fromCharCode.apply(null,U.toUint8Array(e)))}toBuffer(){const e=this.toString(),t=new ArrayBuffer(e.length),i=new Uint8Array(t);for(let r=0;r<e.length;r++)i[r]=e.charCodeAt(r);return t}fromDate(e){this.year=e.getUTCFullYear(),this.month=e.getUTCMonth()+1,this.day=e.getUTCDate(),this.hour=e.getUTCHours(),this.minute=e.getUTCMinutes(),this.second=e.getUTCSeconds()}toDate(){return new Date(Date.UTC(this.year,this.month-1,this.day,this.hour,this.minute,this.second))}fromString(e){const i=/(\d{2})(\d{2})(\d{2})(\d{2})(\d{2})(\d{2})Z/ig.exec(e);if(i===null){this.error="Wrong input string for conversion";return}const r=parseInt(i[1],10);r>=50?this.year=1900+r:this.year=2e3+r,this.month=parseInt(i[2],10),this.day=parseInt(i[3],10),this.hour=parseInt(i[4],10),this.minute=parseInt(i[5],10),this.second=parseInt(i[6],10)}toString(e="iso"){if(e==="iso"){const t=new Array(7);return t[0]=Fe(this.year<2e3?this.year-1900:this.year-2e3,2),t[1]=Fe(this.month,2),t[2]=Fe(this.day,2),t[3]=Fe(this.hour,2),t[4]=Fe(this.minute,2),t[5]=Fe(this.second,2),t[6]="Z",t.join("")}return super.toString(e)}onAsciiEncoding(){return`${this.constructor.NAME} : ${this.toDate().toISOString()}`}toJSON(){return{...super.toJSON(),year:this.year,month:this.month,day:this.day,hour:this.hour,minute:this.minute,second:this.second}}}Tp=ji;D.UTCTime=Tp;ji.NAME="UTCTime";var Rp;class ks extends ji{constructor(e={}){var t;super(e),(t=this.millisecond)!==null&&t!==void 0||(this.millisecond=0),this.idBlock.tagClass=1,this.idBlock.tagNumber=24}fromDate(e){super.fromDate(e),this.millisecond=e.getUTCMilliseconds()}toDate(){return new Date(Date.UTC(this.year,this.month-1,this.day,this.hour,this.minute,this.second,this.millisecond))}fromString(e){let t=!1,i="",r="",s=0,o,c=0,l=0;if(e[e.length-1]==="Z")i=e.substring(0,e.length-1),t=!0;else{const g=new Number(e[e.length-1]);if(isNaN(g.valueOf()))throw new Error("Wrong input string for conversion");i=e}if(t){if(i.indexOf("+")!==-1)throw new Error("Wrong input string for conversion");if(i.indexOf("-")!==-1)throw new Error("Wrong input string for conversion")}else{let g=1,m=i.indexOf("+"),x="";if(m===-1&&(m=i.indexOf("-"),g=-1),m!==-1){if(x=i.substring(m+1),i=i.substring(0,m),x.length!==2&&x.length!==4)throw new Error("Wrong input string for conversion");let h=parseInt(x.substring(0,2),10);if(isNaN(h.valueOf()))throw new Error("Wrong input string for conversion");if(c=g*h,x.length===4){if(h=parseInt(x.substring(2,4),10),isNaN(h.valueOf()))throw new Error("Wrong input string for conversion");l=g*h}}}let u=i.indexOf(".");if(u===-1&&(u=i.indexOf(",")),u!==-1){const g=new Number(`0${i.substring(u)}`);if(isNaN(g.valueOf()))throw new Error("Wrong input string for conversion");s=g.valueOf(),r=i.substring(0,u)}else r=i;switch(!0){case r.length===8:if(o=/(\d{4})(\d{2})(\d{2})/ig,u!==-1)throw new Error("Wrong input string for conversion");break;case r.length===10:if(o=/(\d{4})(\d{2})(\d{2})(\d{2})/ig,u!==-1){let g=60*s;this.minute=Math.floor(g),g=60*(g-this.minute),this.second=Math.floor(g),g=1e3*(g-this.second),this.millisecond=Math.floor(g)}break;case r.length===12:if(o=/(\d{4})(\d{2})(\d{2})(\d{2})(\d{2})/ig,u!==-1){let g=60*s;this.second=Math.floor(g),g=1e3*(g-this.second),this.millisecond=Math.floor(g)}break;case r.length===14:if(o=/(\d{4})(\d{2})(\d{2})(\d{2})(\d{2})(\d{2})/ig,u!==-1){const g=1e3*s;this.millisecond=Math.floor(g)}break;default:throw new Error("Wrong input string for conversion")}const p=o.exec(r);if(p===null)throw new Error("Wrong input string for conversion");for(let g=1;g<p.length;g++)switch(g){case 1:this.year=parseInt(p[g],10);break;case 2:this.month=parseInt(p[g],10);break;case 3:this.day=parseInt(p[g],10);break;case 4:this.hour=parseInt(p[g],10)+c;break;case 5:this.minute=parseInt(p[g],10)+l;break;case 6:this.second=parseInt(p[g],10);break;default:throw new Error("Wrong input string for conversion")}if(t===!1){const g=new Date(this.year,this.month,this.day,this.hour,this.minute,this.second,this.millisecond);this.year=g.getUTCFullYear(),this.month=g.getUTCMonth(),this.day=g.getUTCDay(),this.hour=g.getUTCHours(),this.minute=g.getUTCMinutes(),this.second=g.getUTCSeconds(),this.millisecond=g.getUTCMilliseconds()}}toString(e="iso"){if(e==="iso"){const t=[];return t.push(Fe(this.year,4)),t.push(Fe(this.month,2)),t.push(Fe(this.day,2)),t.push(Fe(this.hour,2)),t.push(Fe(this.minute,2)),t.push(Fe(this.second,2)),this.millisecond!==0&&(t.push("."),t.push(Fe(this.millisecond,3))),t.push("Z"),t.join("")}return super.toString(e)}toJSON(){return{...super.toJSON(),millisecond:this.millisecond}}}Rp=ks;D.GeneralizedTime=Rp;ks.NAME="GeneralizedTime";var Pp;class ic extends Nt{constructor(e={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=31}}Pp=ic;D.DATE=Pp;ic.NAME="DATE";var Lp;class rc extends Nt{constructor(e={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=32}}Lp=rc;D.TimeOfDay=Lp;rc.NAME="TimeOfDay";var Up;class sc extends Nt{constructor(e={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=33}}Up=sc;D.DateTime=Up;sc.NAME="DateTime";var Vp;class oc extends Nt{constructor(e={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=34}}Vp=oc;D.Duration=Vp;oc.NAME="Duration";var Mp;class ac extends Nt{constructor(e={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=14}}Mp=ac;D.TIME=Mp;ac.NAME="TIME";class ln{constructor({name:e=Le,optional:t=!1}={}){this.name=e,this.optional=t}}class cc extends ln{constructor({value:e=[],...t}={}){super(t),this.value=e}}class br extends ln{constructor({value:e=new ln,local:t=!1,...i}={}){super(i),this.value=e,this.local=t}}class Ug{constructor({data:e=cs}={}){this.dataView=U.toUint8Array(e)}get data(){return this.dataView.slice().buffer}set data(e){this.dataView=U.toUint8Array(e)}fromBER(e,t,i){const r=t+i;return this.dataView=U.toUint8Array(e).subarray(t,r),r}toBER(e){return this.dataView.slice().buffer}}function Xt(n,e,t){if(t instanceof cc){for(let s=0;s<t.value.length;s++)if(Xt(n,e,t.value[s]).verified)return{verified:!0,result:n};{const s={verified:!1,result:{error:"Wrong values for Choice type"}};return t.hasOwnProperty(so)&&(s.name=t.name),s}}if(t instanceof ln)return t.hasOwnProperty(so)&&(n[t.name]=e),{verified:!0,result:n};if(!(n instanceof Object))return{verified:!1,result:{error:"Wrong root object"}};if(!(e instanceof Object))return{verified:!1,result:{error:"Wrong ASN.1 data"}};if(!(t instanceof Object))return{verified:!1,result:{error:"Wrong ASN.1 schema"}};if(!($g in t))return{verified:!1,result:{error:"Wrong ASN.1 schema"}};if(!(Ng in t.idBlock))return{verified:!1,result:{error:"Wrong ASN.1 schema"}};if(!(Og in t.idBlock))return{verified:!1,result:{error:"Wrong ASN.1 schema"}};const i=t.idBlock.toBER(!1);if(i.byteLength===0)return{verified:!1,result:{error:"Error encoding idBlock for ASN.1 schema"}};if(t.idBlock.fromBER(i,0,i.byteLength)===-1)return{verified:!1,result:{error:"Error decoding idBlock for ASN.1 schema"}};if(t.idBlock.hasOwnProperty(Cg)===!1)return{verified:!1,result:{error:"Wrong ASN.1 schema"}};if(t.idBlock.tagClass!==e.idBlock.tagClass)return{verified:!1,result:n};if(t.idBlock.hasOwnProperty(jg)===!1)return{verified:!1,result:{error:"Wrong ASN.1 schema"}};if(t.idBlock.tagNumber!==e.idBlock.tagNumber)return{verified:!1,result:n};if(t.idBlock.hasOwnProperty(zg)===!1)return{verified:!1,result:{error:"Wrong ASN.1 schema"}};if(t.idBlock.isConstructed!==e.idBlock.isConstructed)return{verified:!1,result:n};if(!(Eg in t.idBlock))return{verified:!1,result:{error:"Wrong ASN.1 schema"}};if(t.idBlock.isHexOnly!==e.idBlock.isHexOnly)return{verified:!1,result:n};if(t.idBlock.isHexOnly){if(!(Sl in t.idBlock))return{verified:!1,result:{error:"Wrong ASN.1 schema"}};const s=t.idBlock.valueHexView,o=e.idBlock.valueHexView;if(s.length!==o.length)return{verified:!1,result:n};for(let c=0;c<s.length;c++)if(s[c]!==o[1])return{verified:!1,result:n}}if(t.name&&(t.name=t.name.replace(/^\s+|\s+$/g,Le),t.name&&(n[t.name]=e)),t instanceof D.Constructed){let s=0,o={verified:!1,result:{error:"Unknown error"}},c=t.valueBlock.value.length;if(c>0&&t.valueBlock.value[0]instanceof br&&(c=e.valueBlock.value.length),c===0)return{verified:!0,result:n};if(e.valueBlock.value.length===0&&t.valueBlock.value.length!==0){let l=!0;for(let u=0;u<t.valueBlock.value.length;u++)l=l&&(t.valueBlock.value[u].optional||!1);return l?{verified:!0,result:n}:(t.name&&(t.name=t.name.replace(/^\s+|\s+$/g,Le),t.name&&delete n[t.name]),n.error="Inconsistent object length",{verified:!1,result:n})}for(let l=0;l<c;l++)if(l-s>=e.valueBlock.value.length){if(t.valueBlock.value[l].optional===!1){const u={verified:!1,result:n};return n.error="Inconsistent length between ASN.1 data and schema",t.name&&(t.name=t.name.replace(/^\s+|\s+$/g,Le),t.name&&(delete n[t.name],u.name=t.name)),u}}else if(t.valueBlock.value[0]instanceof br){if(o=Xt(n,e.valueBlock.value[l],t.valueBlock.value[0].value),o.verified===!1)if(t.valueBlock.value[0].optional)s++;else return t.name&&(t.name=t.name.replace(/^\s+|\s+$/g,Le),t.name&&delete n[t.name]),o;if(so in t.valueBlock.value[0]&&t.valueBlock.value[0].name.length>0){let u={};Bg in t.valueBlock.value[0]&&t.valueBlock.value[0].local?u=e:u=n,typeof u[t.valueBlock.value[0].name]>"u"&&(u[t.valueBlock.value[0].name]=[]),u[t.valueBlock.value[0].name].push(e.valueBlock.value[l])}}else if(o=Xt(n,e.valueBlock.value[l-s],t.valueBlock.value[l]),o.verified===!1)if(t.valueBlock.value[l].optional)s++;else return t.name&&(t.name=t.name.replace(/^\s+|\s+$/g,Le),t.name&&delete n[t.name]),o;if(o.verified===!1){const l={verified:!1,result:n};return t.name&&(t.name=t.name.replace(/^\s+|\s+$/g,Le),t.name&&(delete n[t.name],l.name=t.name)),l}return{verified:!0,result:n}}if(t.primitiveSchema&&Sl in e.valueBlock){const s=Fn(e.valueBlock.valueHexView);if(s.offset===-1){const o={verified:!1,result:s.result};return t.name&&(t.name=t.name.replace(/^\s+|\s+$/g,Le),t.name&&(delete n[t.name],o.name=t.name)),o}return Xt(n,s.result,t.primitiveSchema)}return{verified:!0,result:n}}function Vg(n,e){if(!(e instanceof Object))return{verified:!1,result:{error:"Wrong ASN.1 schema type"}};const t=Fn(U.toUint8Array(n));return t.offset===-1?{verified:!1,result:t.result}:Xt(t.result,t.result,e)}const Hp=Object.freeze(Object.defineProperty({__proto__:null,Any:ln,BaseBlock:$e,BaseStringBlock:Qa,BitString:nn,BmpString:ps,Boolean:ls,CharacterString:bs,Choice:cc,Constructed:Ue,DATE:ic,DateTime:sc,Duration:oc,EndOfContent:ec,Enumerated:us,GeneralString:ws,GeneralizedTime:ks,GraphicString:vs,HexBlock:vt,IA5String:ys,Integer:_t,Null:cn,NumericString:hs,ObjectIdentifier:ds,OctetString:tn,Primitive:$i,PrintableString:gs,RawData:Ug,RelativeObjectIdentifier:nc,Repeated:br,Sequence:St,Set:At,TIME:ac,TeletexString:_s,TimeOfDay:rc,UTCTime:ji,UniversalString:fs,Utf8String:Nt,ValueBlock:Te,VideotexString:ms,ViewWriter:as,VisibleString:Ci,compareSchema:Xt,fromBER:$n,verifySchema:Vg},Symbol.toStringTag,{value:"Module"}));var z;(function(n){n[n.Sequence=0]="Sequence",n[n.Set=1]="Set",n[n.Choice=2]="Choice"})(z||(z={}));var y;(function(n){n[n.Any=1]="Any",n[n.Boolean=2]="Boolean",n[n.OctetString=3]="OctetString",n[n.BitString=4]="BitString",n[n.Integer=5]="Integer",n[n.Enumerated=6]="Enumerated",n[n.ObjectIdentifier=7]="ObjectIdentifier",n[n.Utf8String=8]="Utf8String",n[n.BmpString=9]="BmpString",n[n.UniversalString=10]="UniversalString",n[n.NumericString=11]="NumericString",n[n.PrintableString=12]="PrintableString",n[n.TeletexString=13]="TeletexString",n[n.VideotexString=14]="VideotexString",n[n.IA5String=15]="IA5String",n[n.GraphicString=16]="GraphicString",n[n.VisibleString=17]="VisibleString",n[n.GeneralString=18]="GeneralString",n[n.CharacterString=19]="CharacterString",n[n.UTCTime=20]="UTCTime",n[n.GeneralizedTime=21]="GeneralizedTime",n[n.DATE=22]="DATE",n[n.TimeOfDay=23]="TimeOfDay",n[n.DateTime=24]="DateTime",n[n.Duration=25]="Duration",n[n.TIME=26]="TIME",n[n.Null=27]="Null"})(y||(y={}));class xs{constructor(e,t=0){if(this.unusedBits=0,this.value=new ArrayBuffer(0),e)if(typeof e=="number")this.fromNumber(e);else if(U.isBufferSource(e))this.unusedBits=t,this.value=U.toArrayBuffer(e);else throw TypeError("Unsupported type of 'params' argument for BitString")}fromASN(e){if(!(e instanceof nn))throw new TypeError("Argument 'asn' is not instance of ASN.1 BitString");return this.unusedBits=e.valueBlock.unusedBits,this.value=e.valueBlock.valueHex,this}toASN(){return new nn({unusedBits:this.unusedBits,valueHex:this.value})}toSchema(e){return new nn({name:e})}toNumber(){let e="";const t=new Uint8Array(this.value);for(const i of t)e+=i.toString(2).padStart(8,"0");return e=e.split("").reverse().join(""),this.unusedBits&&(e=e.slice(this.unusedBits).padStart(this.unusedBits,"0")),parseInt(e,2)}fromNumber(e){let t=e.toString(2);const i=t.length+7>>3;this.unusedBits=(i<<3)-t.length;const r=new Uint8Array(i);t=t.padStart(i<<3,"0").split("").reverse().join("");let s=0;for(;s<i;)r[s]=parseInt(t.slice(s<<3,(s<<3)+8),2),s++;this.value=r.buffer}}class re{get byteLength(){return this.buffer.byteLength}get byteOffset(){return 0}constructor(e){typeof e=="number"?this.buffer=new ArrayBuffer(e):U.isBufferSource(e)?this.buffer=U.toArrayBuffer(e):Array.isArray(e)?this.buffer=new Uint8Array(e):this.buffer=new ArrayBuffer(0)}fromASN(e){if(!(e instanceof tn))throw new TypeError("Argument 'asn' is not instance of ASN.1 OctetString");return this.buffer=e.valueBlock.valueHex,this}toASN(){return new tn({valueHex:this.buffer})}toSchema(e){return new tn({name:e})}}const Mg={fromASN:n=>n instanceof cn?null:n.valueBeforeDecodeView,toASN:n=>{if(n===null)return new cn;const e=$n(n);if(e.result.error)throw new Error(e.result.error);return e.result}},Hg={fromASN:n=>n.valueBlock.valueHexView.byteLength>=4?n.valueBlock.toString():n.valueBlock.valueDec,toASN:n=>new _t({value:+n})},Dg={fromASN:n=>n.valueBlock.valueDec,toASN:n=>new us({value:n})},he={fromASN:n=>n.valueBlock.valueHexView,toASN:n=>new _t({valueHex:n})},Fg={fromASN:n=>n.valueBlock.valueHexView,toASN:n=>new nn({valueHex:n})},qg={fromASN:n=>n.valueBlock.toString(),toASN:n=>new ds({value:n})},Kg={fromASN:n=>n.valueBlock.value,toASN:n=>new ls({value:n})},kr={fromASN:n=>n.valueBlock.valueHexView,toASN:n=>new tn({valueHex:n})},Wg={fromASN:n=>new re(n.getValue()),toASN:n=>n.toASN()};function Qe(n){return{fromASN:e=>e.valueBlock.value,toASN:e=>new n({value:e})}}const Dp=Qe(Nt),Gg=Qe(ps),Jg=Qe(fs),Zg=Qe(hs),Yg=Qe(gs),Xg=Qe(_s),Qg=Qe(ms),e_=Qe(ys),t_=Qe(vs),n_=Qe(Ci),i_=Qe(ws),r_=Qe(bs),s_={fromASN:n=>n.toDate(),toASN:n=>new ji({valueDate:n})},o_={fromASN:n=>n.toDate(),toASN:n=>new ks({valueDate:n})},a_={fromASN:()=>null,toASN:()=>new cn};function lc(n){switch(n){case y.Any:return Mg;case y.BitString:return Fg;case y.BmpString:return Gg;case y.Boolean:return Kg;case y.CharacterString:return r_;case y.Enumerated:return Dg;case y.GeneralString:return i_;case y.GeneralizedTime:return o_;case y.GraphicString:return t_;case y.IA5String:return e_;case y.Integer:return Hg;case y.Null:return a_;case y.NumericString:return Zg;case y.ObjectIdentifier:return qg;case y.OctetString:return kr;case y.PrintableString:return Yg;case y.TeletexString:return Xg;case y.UTCTime:return s_;case y.UniversalString:return Jg;case y.Utf8String:return Dp;case y.VideotexString:return Qg;case y.VisibleString:return n_;default:return null}}function xt(n){return typeof n=="function"&&n.prototype?n.prototype.toASN&&n.prototype.fromASN?!0:xt(n.prototype):!!(n&&typeof n=="object"&&"toASN"in n&&"fromASN"in n)}function Fp(n){var e;if(n){const t=Object.getPrototypeOf(n);return((e=t==null?void 0:t.prototype)===null||e===void 0?void 0:e.constructor)===Array?!0:Fp(t)}return!1}function c_(n,e){if(!(n&&e)||n.byteLength!==e.byteLength)return!1;const t=new Uint8Array(n),i=new Uint8Array(e);for(let r=0;r<n.byteLength;r++)if(t[r]!==i[r])return!1;return!0}class l_{constructor(){this.items=new WeakMap}has(e){return this.items.has(e)}get(e,t=!1){const i=this.items.get(e);if(!i)throw new Error(`Cannot get schema for '${e.prototype.constructor.name}' target`);if(t&&!i.schema)throw new Error(`Schema '${e.prototype.constructor.name}' doesn't contain ASN.1 schema. Call 'AsnSchemaStorage.cache'.`);return i}cache(e){const t=this.get(e);t.schema||(t.schema=this.create(e,!0))}createDefault(e){const t={type:z.Sequence,items:{}},i=this.findParentSchema(e);return i&&(Object.assign(t,i),t.items=Object.assign({},t.items,i.items)),t}create(e,t){const i=this.items.get(e)||this.createDefault(e),r=[];for(const s in i.items){const o=i.items[s],c=t?s:"";let l;if(typeof o.type=="number"){const p=y[o.type],g=Hp[p];if(!g)throw new Error(`Cannot get ASN1 class by name '${p}'`);l=new g({name:c})}else xt(o.type)?l=new o.type().toSchema(c):o.optional?this.get(o.type).type===z.Choice?l=new ln({name:c}):(l=this.create(o.type,!1),l.name=c):l=new ln({name:c});const u=!!o.optional||o.defaultValue!==void 0;if(o.repeated){l.name="";const p=o.repeated==="set"?At:St;l=new p({name:"",value:[new br({name:c,value:l})]})}if(o.context!==null&&o.context!==void 0)if(o.implicit)if(typeof o.type=="number"||xt(o.type)){const p=o.repeated?Ue:$i;r.push(new p({name:c,optional:u,idBlock:{tagClass:3,tagNumber:o.context}}))}else{this.cache(o.type);const p=!!o.repeated;let g=p?l:this.get(o.type,!0).schema;g="valueBlock"in g?g.valueBlock.value:g.value,r.push(new Ue({name:p?"":c,optional:u,idBlock:{tagClass:3,tagNumber:o.context},value:g}))}else r.push(new Ue({optional:u,idBlock:{tagClass:3,tagNumber:o.context},value:[l]}));else l.optional=u,r.push(l)}switch(i.type){case z.Sequence:return new St({value:r,name:""});case z.Set:return new At({value:r,name:""});case z.Choice:return new cc({value:r,name:""});default:throw new Error("Unsupported ASN1 type in use")}}set(e,t){return this.items.set(e,t),this}findParentSchema(e){const t=Object.getPrototypeOf(e);return t?this.items.get(t)||this.findParentSchema(t):null}}const Je=new l_,B=n=>e=>{let t;Je.has(e)?t=Je.get(e):(t=Je.createDefault(e),Je.set(e,t)),Object.assign(t,n)},f=n=>(e,t)=>{let i;Je.has(e.constructor)?i=Je.get(e.constructor):(i=Je.createDefault(e.constructor),Je.set(e.constructor,i));const r=Object.assign({},n);if(typeof r.type=="number"&&!r.converter){const s=lc(n.type);if(!s)throw new Error(`Cannot get default converter for property '${t}' of ${e.constructor.name}`);r.converter=s}i.items[t]=r};class Il extends Error{constructor(){super(...arguments),this.schemas=[]}}class u_{static parse(e,t){const i=$n(e);if(i.result.error)throw new Error(i.result.error);return this.fromASN(i.result,t)}static fromASN(e,t){var i;try{if(xt(t))return new t().fromASN(e);const r=Je.get(t);Je.cache(t);let s=r.schema;if(e.constructor===Ue&&r.type!==z.Choice){s=new Ue({idBlock:{tagClass:3,tagNumber:e.idBlock.tagNumber},value:r.schema.valueBlock.value});for(const l in r.items)delete e[l]}const o=Xt({},e,s);if(!o.verified)throw new Il(`Data does not match to ${t.name} ASN1 schema. ${o.result.error}`);const c=new t;if(Fp(t)){if(!("value"in e.valueBlock&&Array.isArray(e.valueBlock.value)))throw new Error("Cannot get items from the ASN.1 parsed value. ASN.1 object is not constructed.");const l=r.itemType;if(typeof l=="number"){const u=lc(l);if(!u)throw new Error(`Cannot get default converter for array item of ${t.name} ASN1 schema`);return t.from(e.valueBlock.value,p=>u.fromASN(p))}else return t.from(e.valueBlock.value,u=>this.fromASN(u,l))}for(const l in r.items){const u=o.result[l];if(!u)continue;const p=r.items[l],g=p.type;if(typeof g=="number"||xt(g)){const m=(i=p.converter)!==null&&i!==void 0?i:xt(g)?new g:null;if(!m)throw new Error("Converter is empty");if(p.repeated)if(p.implicit){const x=p.repeated==="sequence"?St:At,h=new x;h.valueBlock=u.valueBlock;const _=$n(h.toBER(!1));if(_.offset===-1)throw new Error(`Cannot parse the child item. ${_.result.error}`);if(!("value"in _.result.valueBlock&&Array.isArray(_.result.valueBlock.value)))throw new Error("Cannot get items from the ASN.1 parsed value. ASN.1 object is not constructed.");const b=_.result.valueBlock.value;c[l]=Array.from(b,S=>m.fromASN(S))}else c[l]=Array.from(u,x=>m.fromASN(x));else{let x=u;if(p.implicit){let h;if(xt(g))h=new g().toSchema("");else{const _=y[g],b=Hp[_];if(!b)throw new Error(`Cannot get '${_}' class from asn1js module`);h=new b}h.valueBlock=x.valueBlock,x=$n(h.toBER(!1)).result}c[l]=m.fromASN(x)}}else if(p.repeated){if(!Array.isArray(u))throw new Error("Cannot get list of items from the ASN.1 parsed value. ASN.1 value should be iterable.");c[l]=Array.from(u,m=>this.fromASN(m,g))}else c[l]=this.fromASN(u,g)}return c}catch(r){throw r instanceof Il&&r.schemas.push(t.name),r}}}class uc{static serialize(e){return e instanceof $e?e.toBER(!1):this.toASN(e).toBER(!1)}static toASN(e){if(e&&typeof e=="object"&&xt(e))return e.toASN();if(!(e&&typeof e=="object"))throw new TypeError("Parameter 1 should be type of Object.");const t=e.constructor,i=Je.get(t);Je.cache(t);let r=[];if(i.itemType){if(!Array.isArray(e))throw new TypeError("Parameter 1 should be type of Array.");if(typeof i.itemType=="number"){const o=lc(i.itemType);if(!o)throw new Error(`Cannot get default converter for array item of ${t.name} ASN1 schema`);r=e.map(c=>o.toASN(c))}else r=e.map(o=>this.toAsnItem({type:i.itemType},"[]",t,o))}else for(const o in i.items){const c=i.items[o],l=e[o];if(l===void 0||c.defaultValue===l||typeof c.defaultValue=="object"&&typeof l=="object"&&c_(this.serialize(c.defaultValue),this.serialize(l)))continue;const u=uc.toAsnItem(c,o,t,l);if(typeof c.context=="number")if(c.implicit)if(!c.repeated&&(typeof c.type=="number"||xt(c.type))){const p={};p.valueHex=u instanceof cn?u.valueBeforeDecodeView:u.valueBlock.toBER(),r.push(new $i({optional:c.optional,idBlock:{tagClass:3,tagNumber:c.context},...p}))}else r.push(new Ue({optional:c.optional,idBlock:{tagClass:3,tagNumber:c.context},value:u.valueBlock.value}));else r.push(new Ue({optional:c.optional,idBlock:{tagClass:3,tagNumber:c.context},value:[u]}));else c.repeated?r=r.concat(u):r.push(u)}let s;switch(i.type){case z.Sequence:s=new St({value:r});break;case z.Set:s=new At({value:r});break;case z.Choice:if(!r[0])throw new Error(`Schema '${t.name}' has wrong data. Choice cannot be empty.`);s=r[0];break}return s}static toAsnItem(e,t,i,r){let s;if(typeof e.type=="number"){const o=e.converter;if(!o)throw new Error(`Property '${t}' doesn't have converter for type ${y[e.type]} in schema '${i.name}'`);if(e.repeated){if(!Array.isArray(r))throw new TypeError("Parameter 'objProp' should be type of Array.");const c=Array.from(r,u=>o.toASN(u)),l=e.repeated==="sequence"?St:At;s=new l({value:c})}else s=o.toASN(r)}else if(e.repeated){if(!Array.isArray(r))throw new TypeError("Parameter 'objProp' should be type of Array.");const o=Array.from(r,l=>this.toASN(l)),c=e.repeated==="sequence"?St:At;s=new c({value:o})}else s=this.toASN(r);return s}}class le extends Array{constructor(e=[]){if(typeof e=="number")super(e);else{super();for(const t of e)this.push(t)}}}class L{static serialize(e){return uc.serialize(e)}static parse(e,t){return u_.parse(e,t)}static toString(e){const t=U.isBufferSource(e)?U.toArrayBuffer(e):L.serialize(e),i=$n(t);if(i.offset===-1)throw new Error(`Cannot decode ASN.1 data. ${i.result.error}`);return i.result.toString()}}function d(n,e,t,i){var r=arguments.length,s=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,o;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(n,e,t,i);else for(var c=n.length-1;c>=0;c--)(o=n[c])&&(s=(r<3?o(s):r>3?o(e,t,s):o(e,t))||s);return r>3&&s&&Object.defineProperty(e,t,s),s}var qp={exports:{}};(function(n){(function(e){const t="(0?\\d+|0x[a-f0-9]+)",i={fourOctet:new RegExp(`^${t}\\.${t}\\.${t}\\.${t}$`,"i"),threeOctet:new RegExp(`^${t}\\.${t}\\.${t}$`,"i"),twoOctet:new RegExp(`^${t}\\.${t}$`,"i"),longValue:new RegExp(`^${t}$`,"i")},r=new RegExp("^0[0-7]+$","i"),s=new RegExp("^0x[a-f0-9]+$","i"),o="%[0-9a-z]{1,}",c="(?:[0-9a-f]+::?)+",l={zoneIndex:new RegExp(o,"i"),native:new RegExp(`^(::)?(${c})?([0-9a-f]+)?(::)?(${o})?$`,"i"),deprecatedTransitional:new RegExp(`^(?:::)(${t}\\.${t}\\.${t}\\.${t}(${o})?)$`,"i"),transitional:new RegExp(`^((?:${c})|(?:::)(?:${c})?)${t}\\.${t}\\.${t}\\.${t}(${o})?$`,"i")};function u(h,_){if(h.indexOf("::")!==h.lastIndexOf("::"))return null;let b=0,S=-1,O=(h.match(l.zoneIndex)||[])[0],T,q;for(O&&(O=O.substring(1),h=h.replace(/%.+$/,""));(S=h.indexOf(":",S+1))>=0;)b++;if(h.substr(0,2)==="::"&&b--,h.substr(-2,2)==="::"&&b--,b>_)return null;for(q=_-b,T=":";q--;)T+="0:";return h=h.replace("::",T),h[0]===":"&&(h=h.slice(1)),h[h.length-1]===":"&&(h=h.slice(0,-1)),_=function(){const oe=h.split(":"),pe=[];for(let ce=0;ce<oe.length;ce++)pe.push(parseInt(oe[ce],16));return pe}(),{parts:_,zoneId:O}}function p(h,_,b,S){if(h.length!==_.length)throw new Error("ipaddr: cannot match CIDR for objects with different lengths");let O=0,T;for(;S>0;){if(T=b-S,T<0&&(T=0),h[O]>>T!==_[O]>>T)return!1;S-=b,O+=1}return!0}function g(h){if(s.test(h))return parseInt(h,16);if(h[0]==="0"&&!isNaN(parseInt(h[1],10))){if(r.test(h))return parseInt(h,8);throw new Error(`ipaddr: cannot parse ${h} as octal`)}return parseInt(h,10)}function m(h,_){for(;h.length<_;)h=`0${h}`;return h}const x={};x.IPv4=function(){function h(_){if(_.length!==4)throw new Error("ipaddr: ipv4 octet count should be 4");let b,S;for(b=0;b<_.length;b++)if(S=_[b],!(0<=S&&S<=255))throw new Error("ipaddr: ipv4 octet should fit in 8 bits");this.octets=_}return h.prototype.SpecialRanges={unspecified:[[new h([0,0,0,0]),8]],broadcast:[[new h([255,255,255,255]),32]],multicast:[[new h([224,0,0,0]),4]],linkLocal:[[new h([169,254,0,0]),16]],loopback:[[new h([127,0,0,0]),8]],carrierGradeNat:[[new h([100,64,0,0]),10]],private:[[new h([10,0,0,0]),8],[new h([172,16,0,0]),12],[new h([192,168,0,0]),16]],reserved:[[new h([192,0,0,0]),24],[new h([192,0,2,0]),24],[new h([192,88,99,0]),24],[new h([198,18,0,0]),15],[new h([198,51,100,0]),24],[new h([203,0,113,0]),24],[new h([240,0,0,0]),4]],as112:[[new h([192,175,48,0]),24],[new h([192,31,196,0]),24]],amt:[[new h([192,52,193,0]),24]]},h.prototype.kind=function(){return"ipv4"},h.prototype.match=function(_,b){let S;if(b===void 0&&(S=_,_=S[0],b=S[1]),_.kind()!=="ipv4")throw new Error("ipaddr: cannot match ipv4 address with non-ipv4 one");return p(this.octets,_.octets,8,b)},h.prototype.prefixLengthFromSubnetMask=function(){let _=0,b=!1;const S={0:8,128:7,192:6,224:5,240:4,248:3,252:2,254:1,255:0};let O,T,q;for(O=3;O>=0;O-=1)if(T=this.octets[O],T in S){if(q=S[T],b&&q!==0)return null;q!==8&&(b=!0),_+=q}else return null;return 32-_},h.prototype.range=function(){return x.subnetMatch(this,this.SpecialRanges)},h.prototype.toByteArray=function(){return this.octets.slice(0)},h.prototype.toIPv4MappedAddress=function(){return x.IPv6.parse(`::ffff:${this.toString()}`)},h.prototype.toNormalizedString=function(){return this.toString()},h.prototype.toString=function(){return this.octets.join(".")},h}(),x.IPv4.broadcastAddressFromCIDR=function(h){try{const _=this.parseCIDR(h),b=_[0].toByteArray(),S=this.subnetMaskFromPrefixLength(_[1]).toByteArray(),O=[];let T=0;for(;T<4;)O.push(parseInt(b[T],10)|parseInt(S[T],10)^255),T++;return new this(O)}catch{throw new Error("ipaddr: the address does not have IPv4 CIDR format")}},x.IPv4.isIPv4=function(h){return this.parser(h)!==null},x.IPv4.isValid=function(h){try{return new this(this.parser(h)),!0}catch{return!1}},x.IPv4.isValidCIDR=function(h){try{return this.parseCIDR(h),!0}catch{return!1}},x.IPv4.isValidFourPartDecimal=function(h){return!!(x.IPv4.isValid(h)&&h.match(/^(0|[1-9]\d*)(\.(0|[1-9]\d*)){3}$/))},x.IPv4.networkAddressFromCIDR=function(h){let _,b,S,O,T;try{for(_=this.parseCIDR(h),S=_[0].toByteArray(),T=this.subnetMaskFromPrefixLength(_[1]).toByteArray(),O=[],b=0;b<4;)O.push(parseInt(S[b],10)&parseInt(T[b],10)),b++;return new this(O)}catch{throw new Error("ipaddr: the address does not have IPv4 CIDR format")}},x.IPv4.parse=function(h){const _=this.parser(h);if(_===null)throw new Error("ipaddr: string is not formatted like an IPv4 Address");return new this(_)},x.IPv4.parseCIDR=function(h){let _;if(_=h.match(/^(.+)\/(\d+)$/)){const b=parseInt(_[2]);if(b>=0&&b<=32){const S=[this.parse(_[1]),b];return Object.defineProperty(S,"toString",{value:function(){return this.join("/")}}),S}}throw new Error("ipaddr: string is not formatted like an IPv4 CIDR range")},x.IPv4.parser=function(h){let _,b,S;if(_=h.match(i.fourOctet))return function(){const O=_.slice(1,6),T=[];for(let q=0;q<O.length;q++)b=O[q],T.push(g(b));return T}();if(_=h.match(i.longValue)){if(S=g(_[1]),S>4294967295||S<0)throw new Error("ipaddr: address outside defined range");return function(){const O=[];let T;for(T=0;T<=24;T+=8)O.push(S>>T&255);return O}().reverse()}else return(_=h.match(i.twoOctet))?function(){const O=_.slice(1,4),T=[];if(S=g(O[1]),S>16777215||S<0)throw new Error("ipaddr: address outside defined range");return T.push(g(O[0])),T.push(S>>16&255),T.push(S>>8&255),T.push(S&255),T}():(_=h.match(i.threeOctet))?function(){const O=_.slice(1,5),T=[];if(S=g(O[2]),S>65535||S<0)throw new Error("ipaddr: address outside defined range");return T.push(g(O[0])),T.push(g(O[1])),T.push(S>>8&255),T.push(S&255),T}():null},x.IPv4.subnetMaskFromPrefixLength=function(h){if(h=parseInt(h),h<0||h>32)throw new Error("ipaddr: invalid IPv4 prefix length");const _=[0,0,0,0];let b=0;const S=Math.floor(h/8);for(;b<S;)_[b]=255,b++;return S<4&&(_[S]=Math.pow(2,h%8)-1<<8-h%8),new this(_)},x.IPv6=function(){function h(_,b){let S,O;if(_.length===16)for(this.parts=[],S=0;S<=14;S+=2)this.parts.push(_[S]<<8|_[S+1]);else if(_.length===8)this.parts=_;else throw new Error("ipaddr: ipv6 part count should be 8 or 16");for(S=0;S<this.parts.length;S++)if(O=this.parts[S],!(0<=O&&O<=65535))throw new Error("ipaddr: ipv6 part should fit in 16 bits");b&&(this.zoneId=b)}return h.prototype.SpecialRanges={unspecified:[new h([0,0,0,0,0,0,0,0]),128],linkLocal:[new h([65152,0,0,0,0,0,0,0]),10],multicast:[new h([65280,0,0,0,0,0,0,0]),8],loopback:[new h([0,0,0,0,0,0,0,1]),128],uniqueLocal:[new h([64512,0,0,0,0,0,0,0]),7],ipv4Mapped:[new h([0,0,0,0,0,65535,0,0]),96],discard:[new h([256,0,0,0,0,0,0,0]),64],rfc6145:[new h([0,0,0,0,65535,0,0,0]),96],rfc6052:[new h([100,65435,0,0,0,0,0,0]),96],"6to4":[new h([8194,0,0,0,0,0,0,0]),16],teredo:[new h([8193,0,0,0,0,0,0,0]),32],benchmarking:[new h([8193,2,0,0,0,0,0,0]),48],amt:[new h([8193,3,0,0,0,0,0,0]),32],as112v6:[[new h([8193,4,274,0,0,0,0,0]),48],[new h([9760,79,32768,0,0,0,0,0]),48]],deprecated:[new h([8193,16,0,0,0,0,0,0]),28],orchid2:[new h([8193,32,0,0,0,0,0,0]),28],droneRemoteIdProtocolEntityTags:[new h([8193,48,0,0,0,0,0,0]),28],reserved:[[new h([8193,0,0,0,0,0,0,0]),23],[new h([8193,3512,0,0,0,0,0,0]),32]]},h.prototype.isIPv4MappedAddress=function(){return this.range()==="ipv4Mapped"},h.prototype.kind=function(){return"ipv6"},h.prototype.match=function(_,b){let S;if(b===void 0&&(S=_,_=S[0],b=S[1]),_.kind()!=="ipv6")throw new Error("ipaddr: cannot match ipv6 address with non-ipv6 one");return p(this.parts,_.parts,16,b)},h.prototype.prefixLengthFromSubnetMask=function(){let _=0,b=!1;const S={0:16,32768:15,49152:14,57344:13,61440:12,63488:11,64512:10,65024:9,65280:8,65408:7,65472:6,65504:5,65520:4,65528:3,65532:2,65534:1,65535:0};let O,T;for(let q=7;q>=0;q-=1)if(O=this.parts[q],O in S){if(T=S[O],b&&T!==0)return null;T!==16&&(b=!0),_+=T}else return null;return 128-_},h.prototype.range=function(){return x.subnetMatch(this,this.SpecialRanges)},h.prototype.toByteArray=function(){let _;const b=[],S=this.parts;for(let O=0;O<S.length;O++)_=S[O],b.push(_>>8),b.push(_&255);return b},h.prototype.toFixedLengthString=function(){const _=(function(){const S=[];for(let O=0;O<this.parts.length;O++)S.push(m(this.parts[O].toString(16),4));return S}).call(this).join(":");let b="";return this.zoneId&&(b=`%${this.zoneId}`),_+b},h.prototype.toIPv4Address=function(){if(!this.isIPv4MappedAddress())throw new Error("ipaddr: trying to convert a generic ipv6 address to ipv4");const _=this.parts.slice(-2),b=_[0],S=_[1];return new x.IPv4([b>>8,b&255,S>>8,S&255])},h.prototype.toNormalizedString=function(){const _=(function(){const S=[];for(let O=0;O<this.parts.length;O++)S.push(this.parts[O].toString(16));return S}).call(this).join(":");let b="";return this.zoneId&&(b=`%${this.zoneId}`),_+b},h.prototype.toRFC5952String=function(){const _=/((^|:)(0(:|$)){2,})/g,b=this.toNormalizedString();let S=0,O=-1,T;for(;T=_.exec(b);)T[0].length>O&&(S=T.index,O=T[0].length);return O<0?b:`${b.substring(0,S)}::${b.substring(S+O)}`},h.prototype.toString=function(){return this.toRFC5952String()},h}(),x.IPv6.broadcastAddressFromCIDR=function(h){try{const _=this.parseCIDR(h),b=_[0].toByteArray(),S=this.subnetMaskFromPrefixLength(_[1]).toByteArray(),O=[];let T=0;for(;T<16;)O.push(parseInt(b[T],10)|parseInt(S[T],10)^255),T++;return new this(O)}catch(_){throw new Error(`ipaddr: the address does not have IPv6 CIDR format (${_})`)}},x.IPv6.isIPv6=function(h){return this.parser(h)!==null},x.IPv6.isValid=function(h){if(typeof h=="string"&&h.indexOf(":")===-1)return!1;try{const _=this.parser(h);return new this(_.parts,_.zoneId),!0}catch{return!1}},x.IPv6.isValidCIDR=function(h){if(typeof h=="string"&&h.indexOf(":")===-1)return!1;try{return this.parseCIDR(h),!0}catch{return!1}},x.IPv6.networkAddressFromCIDR=function(h){let _,b,S,O,T;try{for(_=this.parseCIDR(h),S=_[0].toByteArray(),T=this.subnetMaskFromPrefixLength(_[1]).toByteArray(),O=[],b=0;b<16;)O.push(parseInt(S[b],10)&parseInt(T[b],10)),b++;return new this(O)}catch(q){throw new Error(`ipaddr: the address does not have IPv6 CIDR format (${q})`)}},x.IPv6.parse=function(h){const _=this.parser(h);if(_.parts===null)throw new Error("ipaddr: string is not formatted like an IPv6 Address");return new this(_.parts,_.zoneId)},x.IPv6.parseCIDR=function(h){let _,b,S;if((b=h.match(/^(.+)\/(\d+)$/))&&(_=parseInt(b[2]),_>=0&&_<=128))return S=[this.parse(b[1]),_],Object.defineProperty(S,"toString",{value:function(){return this.join("/")}}),S;throw new Error("ipaddr: string is not formatted like an IPv6 CIDR range")},x.IPv6.parser=function(h){let _,b,S,O,T,q;if(S=h.match(l.deprecatedTransitional))return this.parser(`::ffff:${S[1]}`);if(l.native.test(h))return u(h,8);if((S=h.match(l.transitional))&&(q=S[6]||"",_=S[1],S[1].endsWith("::")||(_=_.slice(0,-1)),_=u(_+q,6),_.parts)){for(T=[parseInt(S[2]),parseInt(S[3]),parseInt(S[4]),parseInt(S[5])],b=0;b<T.length;b++)if(O=T[b],!(0<=O&&O<=255))return null;return _.parts.push(T[0]<<8|T[1]),_.parts.push(T[2]<<8|T[3]),{parts:_.parts,zoneId:_.zoneId}}return null},x.IPv6.subnetMaskFromPrefixLength=function(h){if(h=parseInt(h),h<0||h>128)throw new Error("ipaddr: invalid IPv6 prefix length");const _=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0];let b=0;const S=Math.floor(h/8);for(;b<S;)_[b]=255,b++;return S<16&&(_[S]=Math.pow(2,h%8)-1<<8-h%8),new this(_)},x.fromByteArray=function(h){const _=h.length;if(_===4)return new x.IPv4(h);if(_===16)return new x.IPv6(h);throw new Error("ipaddr: the binary input is neither an IPv6 nor IPv4 address")},x.isValid=function(h){return x.IPv6.isValid(h)||x.IPv4.isValid(h)},x.isValidCIDR=function(h){return x.IPv6.isValidCIDR(h)||x.IPv4.isValidCIDR(h)},x.parse=function(h){if(x.IPv6.isValid(h))return x.IPv6.parse(h);if(x.IPv4.isValid(h))return x.IPv4.parse(h);throw new Error("ipaddr: the address has neither IPv6 nor IPv4 format")},x.parseCIDR=function(h){try{return x.IPv6.parseCIDR(h)}catch{try{return x.IPv4.parseCIDR(h)}catch{throw new Error("ipaddr: the address has neither IPv6 nor IPv4 CIDR format")}}},x.process=function(h){const _=this.parse(h);return _.kind()==="ipv6"&&_.isIPv4MappedAddress()?_.toIPv4Address():_},x.subnetMatch=function(h,_,b){let S,O,T,q;b==null&&(b="unicast");for(O in _)if(Object.prototype.hasOwnProperty.call(_,O)){for(T=_[O],T[0]&&!(T[0]instanceof Array)&&(T=[T]),S=0;S<T.length;S++)if(q=T[S],h.kind()===q[0].kind()&&h.match.apply(h,q))return O}return b},n.exports?n.exports=x:e.ipaddr=x})(vr)})(qp);var El=qp.exports;class $l{static decodeIP(e){if(e.length===64&&parseInt(e,16)===0)return"::/0";if(e.length!==16)return e;const t=parseInt(e.slice(8),16).toString(2).split("").reduce((r,s)=>r+ +s,0);let i=e.slice(0,8).replace(/(.{2})/g,r=>`${parseInt(r,16)}.`);return i=i.slice(0,-1),`${i}/${t}`}static toString(e){if(e.byteLength===4||e.byteLength===16){const t=new Uint8Array(e);return El.fromByteArray(Array.from(t)).toString()}return this.decodeIP(W.ToHex(e))}static fromString(e){const t=El.parse(e);return new Uint8Array(t.toByteArray()).buffer}}var Io,Eo,$o;let Ce=class{constructor(e={}){Object.assign(this,e)}toString(){return this.bmpString||this.printableString||this.teletexString||this.universalString||this.utf8String||""}};d([f({type:y.TeletexString})],Ce.prototype,"teletexString",void 0);d([f({type:y.PrintableString})],Ce.prototype,"printableString",void 0);d([f({type:y.UniversalString})],Ce.prototype,"universalString",void 0);d([f({type:y.Utf8String})],Ce.prototype,"utf8String",void 0);d([f({type:y.BmpString})],Ce.prototype,"bmpString",void 0);Ce=d([B({type:z.Choice})],Ce);let Nn=class extends Ce{constructor(e={}){super(e),Object.assign(this,e)}toString(){return this.ia5String||(this.anyValue?W.ToHex(this.anyValue):super.toString())}};d([f({type:y.IA5String})],Nn.prototype,"ia5String",void 0);d([f({type:y.Any})],Nn.prototype,"anyValue",void 0);Nn=d([B({type:z.Choice})],Nn);class Ss{constructor(e={}){this.type="",this.value=new Nn,Object.assign(this,e)}}d([f({type:y.ObjectIdentifier})],Ss.prototype,"type",void 0);d([f({type:Nn})],Ss.prototype,"value",void 0);let On=Io=class extends le{constructor(e){super(e),Object.setPrototypeOf(this,Io.prototype)}};On=Io=d([B({type:z.Set,itemType:Ss})],On);let Co=Eo=class extends le{constructor(e){super(e),Object.setPrototypeOf(this,Eo.prototype)}};Co=Eo=d([B({type:z.Sequence,itemType:On})],Co);let ve=$o=class extends Co{constructor(e){super(e),Object.setPrototypeOf(this,$o.prototype)}};ve=$o=d([B({type:z.Sequence})],ve);const d_={fromASN:n=>$l.toString(kr.fromASN(n)),toASN:n=>kr.toASN($l.fromString(n))};class gi{constructor(e={}){this.typeId="",this.value=new ArrayBuffer(0),Object.assign(this,e)}}d([f({type:y.ObjectIdentifier})],gi.prototype,"typeId",void 0);d([f({type:y.Any,context:0})],gi.prototype,"value",void 0);class dc{constructor(e={}){this.partyName=new Ce,Object.assign(this,e)}}d([f({type:Ce,optional:!0,context:0,implicit:!0})],dc.prototype,"nameAssigner",void 0);d([f({type:Ce,context:1,implicit:!0})],dc.prototype,"partyName",void 0);let Q=class{constructor(e={}){Object.assign(this,e)}};d([f({type:gi,context:0,implicit:!0})],Q.prototype,"otherName",void 0);d([f({type:y.IA5String,context:1,implicit:!0})],Q.prototype,"rfc822Name",void 0);d([f({type:y.IA5String,context:2,implicit:!0})],Q.prototype,"dNSName",void 0);d([f({type:y.Any,context:3,implicit:!0})],Q.prototype,"x400Address",void 0);d([f({type:ve,context:4,implicit:!1})],Q.prototype,"directoryName",void 0);d([f({type:dc,context:5})],Q.prototype,"ediPartyName",void 0);d([f({type:y.IA5String,context:6,implicit:!0})],Q.prototype,"uniformResourceIdentifier",void 0);d([f({type:y.OctetString,context:7,implicit:!0,converter:d_})],Q.prototype,"iPAddress",void 0);d([f({type:y.ObjectIdentifier,context:8,implicit:!0})],Q.prototype,"registeredID",void 0);Q=d([B({type:z.Choice})],Q);const pc="1.3.6.1.5.5.7",p_=`${pc}.1`,qn=`${pc}.3`,As=`${pc}.48`,Cl=`${As}.1`,jl=`${As}.2`,zl=`${As}.3`,Nl=`${As}.5`,Ft="2.5.29";var jo;const zo=`${p_}.1`;class zi{constructor(e={}){this.accessMethod="",this.accessLocation=new Q,Object.assign(this,e)}}d([f({type:y.ObjectIdentifier})],zi.prototype,"accessMethod",void 0);d([f({type:Q})],zi.prototype,"accessLocation",void 0);let In=jo=class extends le{constructor(e){super(e),Object.setPrototypeOf(this,jo.prototype)}};In=jo=d([B({type:z.Sequence,itemType:zi})],In);const No=`${Ft}.35`;class fc extends re{}class Qt{constructor(e={}){e&&Object.assign(this,e)}}d([f({type:fc,context:0,optional:!0,implicit:!0})],Qt.prototype,"keyIdentifier",void 0);d([f({type:Q,context:1,optional:!0,implicit:!0,repeated:"sequence"})],Qt.prototype,"authorityCertIssuer",void 0);d([f({type:y.Integer,context:2,optional:!0,implicit:!0,converter:he})],Qt.prototype,"authorityCertSerialNumber",void 0);const Kp=`${Ft}.19`;class xr{constructor(e={}){this.cA=!1,Object.assign(this,e)}}d([f({type:y.Boolean,defaultValue:!1})],xr.prototype,"cA",void 0);d([f({type:y.Integer,optional:!0})],xr.prototype,"pathLenConstraint",void 0);var Oo;let Be=Oo=class extends le{constructor(e){super(e),Object.setPrototypeOf(this,Oo.prototype)}};Be=Oo=d([B({type:z.Sequence,itemType:Q})],Be);var Bo;let Ol=Bo=class extends Be{constructor(e){super(e),Object.setPrototypeOf(this,Bo.prototype)}};Ol=Bo=d([B({type:z.Sequence})],Ol);var To;const Wp=`${Ft}.32`;let It=class{constructor(e={}){Object.assign(this,e)}toString(){return this.ia5String||this.visibleString||this.bmpString||this.utf8String||""}};d([f({type:y.IA5String})],It.prototype,"ia5String",void 0);d([f({type:y.VisibleString})],It.prototype,"visibleString",void 0);d([f({type:y.BmpString})],It.prototype,"bmpString",void 0);d([f({type:y.Utf8String})],It.prototype,"utf8String",void 0);It=d([B({type:z.Choice})],It);class hc{constructor(e={}){this.organization=new It,this.noticeNumbers=[],Object.assign(this,e)}}d([f({type:It})],hc.prototype,"organization",void 0);d([f({type:y.Integer,repeated:"sequence"})],hc.prototype,"noticeNumbers",void 0);class gc{constructor(e={}){Object.assign(this,e)}}d([f({type:hc,optional:!0})],gc.prototype,"noticeRef",void 0);d([f({type:It,optional:!0})],gc.prototype,"explicitText",void 0);let Sr=class{constructor(e={}){Object.assign(this,e)}};d([f({type:y.IA5String})],Sr.prototype,"cPSuri",void 0);d([f({type:gc})],Sr.prototype,"userNotice",void 0);Sr=d([B({type:z.Choice})],Sr);class _c{constructor(e={}){this.policyQualifierId="",this.qualifier=new ArrayBuffer(0),Object.assign(this,e)}}d([f({type:y.ObjectIdentifier})],_c.prototype,"policyQualifierId",void 0);d([f({type:y.Any})],_c.prototype,"qualifier",void 0);class Is{constructor(e={}){this.policyIdentifier="",Object.assign(this,e)}}d([f({type:y.ObjectIdentifier})],Is.prototype,"policyIdentifier",void 0);d([f({type:_c,repeated:"sequence",optional:!0})],Is.prototype,"policyQualifiers",void 0);let Ar=To=class extends le{constructor(e){super(e),Object.setPrototypeOf(this,To.prototype)}};Ar=To=d([B({type:z.Sequence,itemType:Is})],Ar);let Ir=class{constructor(e=0){this.value=e}};d([f({type:y.Integer})],Ir.prototype,"value",void 0);Ir=d([B({type:z.Choice})],Ir);let Bl=class extends Ir{};Bl=d([B({type:z.Choice})],Bl);var Ro;const Po=`${Ft}.31`;var rt;(function(n){n[n.unused=1]="unused",n[n.keyCompromise=2]="keyCompromise",n[n.cACompromise=4]="cACompromise",n[n.affiliationChanged=8]="affiliationChanged",n[n.superseded=16]="superseded",n[n.cessationOfOperation=32]="cessationOfOperation",n[n.certificateHold=64]="certificateHold",n[n.privilegeWithdrawn=128]="privilegeWithdrawn",n[n.aACompromise=256]="aACompromise"})(rt||(rt={}));class Gp extends xs{toJSON(){const e=[],t=this.toNumber();return t&rt.aACompromise&&e.push("aACompromise"),t&rt.affiliationChanged&&e.push("affiliationChanged"),t&rt.cACompromise&&e.push("cACompromise"),t&rt.certificateHold&&e.push("certificateHold"),t&rt.cessationOfOperation&&e.push("cessationOfOperation"),t&rt.keyCompromise&&e.push("keyCompromise"),t&rt.privilegeWithdrawn&&e.push("privilegeWithdrawn"),t&rt.superseded&&e.push("superseded"),t&rt.unused&&e.push("unused"),e}toString(){return`[${this.toJSON().join(", ")}]`}}let un=class{constructor(e={}){Object.assign(this,e)}};d([f({type:Q,context:0,repeated:"sequence",implicit:!0})],un.prototype,"fullName",void 0);d([f({type:On,context:1,implicit:!0})],un.prototype,"nameRelativeToCRLIssuer",void 0);un=d([B({type:z.Choice})],un);class Kn{constructor(e={}){Object.assign(this,e)}}d([f({type:un,context:0,optional:!0})],Kn.prototype,"distributionPoint",void 0);d([f({type:Gp,context:1,optional:!0,implicit:!0})],Kn.prototype,"reasons",void 0);d([f({type:Q,context:2,optional:!0,repeated:"sequence",implicit:!0})],Kn.prototype,"cRLIssuer",void 0);let Cn=Ro=class extends le{constructor(e){super(e),Object.setPrototypeOf(this,Ro.prototype)}};Cn=Ro=d([B({type:z.Sequence,itemType:Kn})],Cn);var Lo;let Tl=Lo=class extends Cn{constructor(e){super(e),Object.setPrototypeOf(this,Lo.prototype)}};Tl=Lo=d([B({type:z.Sequence,itemType:Kn})],Tl);class ze{constructor(e={}){this.onlyContainsUserCerts=ze.ONLY,this.onlyContainsCACerts=ze.ONLY,this.indirectCRL=ze.ONLY,this.onlyContainsAttributeCerts=ze.ONLY,Object.assign(this,e)}}ze.ONLY=!1;d([f({type:un,context:0,optional:!0})],ze.prototype,"distributionPoint",void 0);d([f({type:y.Boolean,context:1,defaultValue:ze.ONLY,implicit:!0})],ze.prototype,"onlyContainsUserCerts",void 0);d([f({type:y.Boolean,context:2,defaultValue:ze.ONLY,implicit:!0})],ze.prototype,"onlyContainsCACerts",void 0);d([f({type:Gp,context:3,optional:!0,implicit:!0})],ze.prototype,"onlySomeReasons",void 0);d([f({type:y.Boolean,context:4,defaultValue:ze.ONLY,implicit:!0})],ze.prototype,"indirectCRL",void 0);d([f({type:y.Boolean,context:5,defaultValue:ze.ONLY,implicit:!0})],ze.prototype,"onlyContainsAttributeCerts",void 0);var ai;(function(n){n[n.unspecified=0]="unspecified",n[n.keyCompromise=1]="keyCompromise",n[n.cACompromise=2]="cACompromise",n[n.affiliationChanged=3]="affiliationChanged",n[n.superseded=4]="superseded",n[n.cessationOfOperation=5]="cessationOfOperation",n[n.certificateHold=6]="certificateHold",n[n.removeFromCRL=8]="removeFromCRL",n[n.privilegeWithdrawn=9]="privilegeWithdrawn",n[n.aACompromise=10]="aACompromise"})(ai||(ai={}));let Uo=class{constructor(e=ai.unspecified){this.reason=ai.unspecified,this.reason=e}toJSON(){return ai[this.reason]}toString(){return this.toJSON()}};d([f({type:y.Enumerated})],Uo.prototype,"reason",void 0);Uo=d([B({type:z.Choice})],Uo);var Vo;const Jp=`${Ft}.37`;let Er=Vo=class extends le{constructor(e){super(e),Object.setPrototypeOf(this,Vo.prototype)}};Er=Vo=d([B({type:z.Sequence,itemType:y.ObjectIdentifier})],Er);const f_=`${qn}.1`,h_=`${qn}.2`,g_=`${qn}.3`,__=`${qn}.4`,m_=`${qn}.8`,y_=`${qn}.9`;let Mo=class{constructor(e=new ArrayBuffer(0)){this.value=e}};d([f({type:y.Integer,converter:he})],Mo.prototype,"value",void 0);Mo=d([B({type:z.Choice})],Mo);let Ho=class{constructor(e){this.value=new Date,e&&(this.value=e)}};d([f({type:y.GeneralizedTime})],Ho.prototype,"value",void 0);Ho=d([B({type:z.Choice})],Ho);var Do;let Rl=Do=class extends Be{constructor(e){super(e),Object.setPrototypeOf(this,Do.prototype)}};Rl=Do=d([B({type:z.Sequence})],Rl);const Zp=`${Ft}.15`;var st;(function(n){n[n.digitalSignature=1]="digitalSignature",n[n.nonRepudiation=2]="nonRepudiation",n[n.keyEncipherment=4]="keyEncipherment",n[n.dataEncipherment=8]="dataEncipherment",n[n.keyAgreement=16]="keyAgreement",n[n.keyCertSign=32]="keyCertSign",n[n.cRLSign=64]="cRLSign",n[n.encipherOnly=128]="encipherOnly",n[n.decipherOnly=256]="decipherOnly"})(st||(st={}));class oo extends xs{toJSON(){const e=this.toNumber(),t=[];return e&st.cRLSign&&t.push("crlSign"),e&st.dataEncipherment&&t.push("dataEncipherment"),e&st.decipherOnly&&t.push("decipherOnly"),e&st.digitalSignature&&t.push("digitalSignature"),e&st.encipherOnly&&t.push("encipherOnly"),e&st.keyAgreement&&t.push("keyAgreement"),e&st.keyCertSign&&t.push("keyCertSign"),e&st.keyEncipherment&&t.push("keyEncipherment"),e&st.nonRepudiation&&t.push("nonRepudiation"),t}toString(){return`[${this.toJSON().join(", ")}]`}}var Fo;class Es{constructor(e={}){this.base=new Q,this.minimum=0,Object.assign(this,e)}}d([f({type:Q})],Es.prototype,"base",void 0);d([f({type:y.Integer,context:0,defaultValue:0,implicit:!0})],Es.prototype,"minimum",void 0);d([f({type:y.Integer,context:1,optional:!0,implicit:!0})],Es.prototype,"maximum",void 0);let $r=Fo=class extends le{constructor(e){super(e),Object.setPrototypeOf(this,Fo.prototype)}};$r=Fo=d([B({type:z.Sequence,itemType:Es})],$r);class Yp{constructor(e={}){Object.assign(this,e)}}d([f({type:$r,context:0,optional:!0,implicit:!0})],Yp.prototype,"permittedSubtrees",void 0);d([f({type:$r,context:1,optional:!0,implicit:!0})],Yp.prototype,"excludedSubtrees",void 0);class Xp{constructor(e={}){Object.assign(this,e)}}d([f({type:y.Integer,context:0,implicit:!0,optional:!0,converter:he})],Xp.prototype,"requireExplicitPolicy",void 0);d([f({type:y.Integer,context:1,implicit:!0,optional:!0,converter:he})],Xp.prototype,"inhibitPolicyMapping",void 0);var qo;class mc{constructor(e={}){this.issuerDomainPolicy="",this.subjectDomainPolicy="",Object.assign(this,e)}}d([f({type:y.ObjectIdentifier})],mc.prototype,"issuerDomainPolicy",void 0);d([f({type:y.ObjectIdentifier})],mc.prototype,"subjectDomainPolicy",void 0);let Pl=qo=class extends le{constructor(e){super(e),Object.setPrototypeOf(this,qo.prototype)}};Pl=qo=d([B({type:z.Sequence,itemType:mc})],Pl);var Ko;const Qp=`${Ft}.17`;let Wo=Ko=class extends Be{constructor(e){super(e),Object.setPrototypeOf(this,Ko.prototype)}};Wo=Ko=d([B({type:z.Sequence})],Wo);let Et=class{constructor(e={}){this.type="",this.values=[],Object.assign(this,e)}};d([f({type:y.ObjectIdentifier})],Et.prototype,"type",void 0);d([f({type:y.Any,repeated:"set"})],Et.prototype,"values",void 0);var Go;let Ll=Go=class extends le{constructor(e){super(e),Object.setPrototypeOf(this,Go.prototype)}};Ll=Go=d([B({type:z.Sequence,itemType:Et})],Ll);const ef=`${Ft}.14`;class Lt extends fc{}class tf{constructor(e={}){Object.assign(this,e)}}d([f({type:y.GeneralizedTime,context:0,implicit:!0,optional:!0})],tf.prototype,"notBefore",void 0);d([f({type:y.GeneralizedTime,context:1,implicit:!0,optional:!0})],tf.prototype,"notAfter",void 0);var ci;(function(n){n[n.keyUpdateAllowed=1]="keyUpdateAllowed",n[n.newExtensions=2]="newExtensions",n[n.pKIXCertificate=4]="pKIXCertificate"})(ci||(ci={}));class nf extends xs{toJSON(){const e=[],t=this.toNumber();return t&ci.pKIXCertificate&&e.push("pKIXCertificate"),t&ci.newExtensions&&e.push("newExtensions"),t&ci.keyUpdateAllowed&&e.push("keyUpdateAllowed"),e}toString(){return`[${this.toJSON().join(", ")}]`}}class rf{constructor(e={}){this.entrustVers="",this.entrustInfoFlags=new nf,Object.assign(this,e)}}d([f({type:y.GeneralString})],rf.prototype,"entrustVers",void 0);d([f({type:nf})],rf.prototype,"entrustInfoFlags",void 0);var Jo;let Ul=Jo=class extends le{constructor(e){super(e),Object.setPrototypeOf(this,Jo.prototype)}};Ul=Jo=d([B({type:z.Sequence,itemType:zi})],Ul);class H{constructor(e={}){this.algorithm="",Object.assign(this,e)}isEqual(e){return e instanceof H&&e.algorithm==this.algorithm&&(e.parameters&&this.parameters&&Dd(e.parameters,this.parameters)||e.parameters===this.parameters)}}d([f({type:y.ObjectIdentifier})],H.prototype,"algorithm",void 0);d([f({type:y.Any,optional:!0})],H.prototype,"parameters",void 0);class ot{constructor(e={}){this.algorithm=new H,this.subjectPublicKey=new ArrayBuffer(0),Object.assign(this,e)}}d([f({type:H})],ot.prototype,"algorithm",void 0);d([f({type:y.BitString})],ot.prototype,"subjectPublicKey",void 0);let Ee=class{constructor(e){if(e)if(typeof e=="string"||typeof e=="number"||e instanceof Date){const t=new Date(e);t.getUTCFullYear()>2049?this.generalTime=t:this.utcTime=t}else Object.assign(this,e)}getTime(){const e=this.utcTime||this.generalTime;if(!e)throw new Error("Cannot get time from CHOICE object");return e}};d([f({type:y.UTCTime})],Ee.prototype,"utcTime",void 0);d([f({type:y.GeneralizedTime})],Ee.prototype,"generalTime",void 0);Ee=d([B({type:z.Choice})],Ee);class Ni{constructor(e){this.notBefore=new Ee(new Date),this.notAfter=new Ee(new Date),e&&(this.notBefore=new Ee(e.notBefore),this.notAfter=new Ee(e.notAfter))}}d([f({type:Ee})],Ni.prototype,"notBefore",void 0);d([f({type:Ee})],Ni.prototype,"notAfter",void 0);var Zo;let Xe=class sf{constructor(e={}){this.extnID="",this.critical=sf.CRITICAL,this.extnValue=new re,Object.assign(this,e)}};Xe.CRITICAL=!1;d([f({type:y.ObjectIdentifier})],Xe.prototype,"extnID",void 0);d([f({type:y.Boolean,defaultValue:Xe.CRITICAL})],Xe.prototype,"critical",void 0);d([f({type:re})],Xe.prototype,"extnValue",void 0);let Vt=Zo=class extends le{constructor(e){super(e),Object.setPrototypeOf(this,Zo.prototype)}};Vt=Zo=d([B({type:z.Sequence,itemType:Xe})],Vt);var dn;(function(n){n[n.v1=0]="v1",n[n.v2=1]="v2",n[n.v3=2]="v3"})(dn||(dn={}));class Ge{constructor(e={}){this.version=dn.v1,this.serialNumber=new ArrayBuffer(0),this.signature=new H,this.issuer=new ve,this.validity=new Ni,this.subject=new ve,this.subjectPublicKeyInfo=new ot,Object.assign(this,e)}}d([f({type:y.Integer,context:0,defaultValue:dn.v1})],Ge.prototype,"version",void 0);d([f({type:y.Integer,converter:he})],Ge.prototype,"serialNumber",void 0);d([f({type:H})],Ge.prototype,"signature",void 0);d([f({type:ve})],Ge.prototype,"issuer",void 0);d([f({type:Ni})],Ge.prototype,"validity",void 0);d([f({type:ve})],Ge.prototype,"subject",void 0);d([f({type:ot})],Ge.prototype,"subjectPublicKeyInfo",void 0);d([f({type:y.BitString,context:1,implicit:!0,optional:!0})],Ge.prototype,"issuerUniqueID",void 0);d([f({type:y.BitString,context:2,implicit:!0,optional:!0})],Ge.prototype,"subjectUniqueID",void 0);d([f({type:Vt,context:3,optional:!0})],Ge.prototype,"extensions",void 0);class pn{constructor(e={}){this.tbsCertificate=new Ge,this.signatureAlgorithm=new H,this.signatureValue=new ArrayBuffer(0),Object.assign(this,e)}}d([f({type:Ge})],pn.prototype,"tbsCertificate",void 0);d([f({type:H})],pn.prototype,"signatureAlgorithm",void 0);d([f({type:y.BitString})],pn.prototype,"signatureValue",void 0);class $s{constructor(e={}){this.userCertificate=new ArrayBuffer(0),this.revocationDate=new Ee,Object.assign(this,e)}}d([f({type:y.Integer,converter:he})],$s.prototype,"userCertificate",void 0);d([f({type:Ee})],$s.prototype,"revocationDate",void 0);d([f({type:Xe,optional:!0,repeated:"sequence"})],$s.prototype,"crlEntryExtensions",void 0);class Ot{constructor(e={}){this.signature=new H,this.issuer=new ve,this.thisUpdate=new Ee,Object.assign(this,e)}}d([f({type:y.Integer,optional:!0})],Ot.prototype,"version",void 0);d([f({type:H})],Ot.prototype,"signature",void 0);d([f({type:ve})],Ot.prototype,"issuer",void 0);d([f({type:Ee})],Ot.prototype,"thisUpdate",void 0);d([f({type:Ee,optional:!0})],Ot.prototype,"nextUpdate",void 0);d([f({type:$s,repeated:"sequence",optional:!0})],Ot.prototype,"revokedCertificates",void 0);d([f({type:Xe,optional:!0,context:0,repeated:"sequence"})],Ot.prototype,"crlExtensions",void 0);class yc{constructor(e={}){this.tbsCertList=new Ot,this.signatureAlgorithm=new H,this.signature=new ArrayBuffer(0),Object.assign(this,e)}}d([f({type:Ot})],yc.prototype,"tbsCertList",void 0);d([f({type:H})],yc.prototype,"signatureAlgorithm",void 0);d([f({type:y.BitString})],yc.prototype,"signature",void 0);class Wn{constructor(e={}){this.issuer=new ve,this.serialNumber=new ArrayBuffer(0),Object.assign(this,e)}}d([f({type:ve})],Wn.prototype,"issuer",void 0);d([f({type:y.Integer,converter:he})],Wn.prototype,"serialNumber",void 0);let Bn=class{constructor(e={}){Object.assign(this,e)}};d([f({type:Lt,context:0,implicit:!0})],Bn.prototype,"subjectKeyIdentifier",void 0);d([f({type:Wn})],Bn.prototype,"issuerAndSerialNumber",void 0);Bn=d([B({type:z.Choice})],Bn);var $t;(function(n){n[n.v0=0]="v0",n[n.v1=1]="v1",n[n.v2=2]="v2",n[n.v3=3]="v3",n[n.v4=4]="v4",n[n.v5=5]="v5"})($t||($t={}));let _i=class extends H{};_i=d([B({type:z.Sequence})],_i);let Cr=class extends H{};Cr=d([B({type:z.Sequence})],Cr);let mt=class extends H{};mt=d([B({type:z.Sequence})],mt);let jr=class extends H{};jr=d([B({type:z.Sequence})],jr);let Vl=class extends H{};Vl=d([B({type:z.Sequence})],Vl);let Yo=class extends H{};Yo=d([B({type:z.Sequence})],Yo);let Gn=class{constructor(e={}){this.attrType="",this.attrValues=[],Object.assign(this,e)}};d([f({type:y.ObjectIdentifier})],Gn.prototype,"attrType",void 0);d([f({type:y.Any,repeated:"set"})],Gn.prototype,"attrValues",void 0);var Xo;class wt{constructor(e={}){this.version=$t.v0,this.sid=new Bn,this.digestAlgorithm=new _i,this.signatureAlgorithm=new Cr,this.signature=new re,Object.assign(this,e)}}d([f({type:y.Integer})],wt.prototype,"version",void 0);d([f({type:Bn})],wt.prototype,"sid",void 0);d([f({type:_i})],wt.prototype,"digestAlgorithm",void 0);d([f({type:Gn,repeated:"set",context:0,implicit:!0,optional:!0})],wt.prototype,"signedAttrs",void 0);d([f({type:Cr})],wt.prototype,"signatureAlgorithm",void 0);d([f({type:re})],wt.prototype,"signature",void 0);d([f({type:Gn,repeated:"set",context:1,implicit:!0,optional:!0})],wt.prototype,"unsignedAttrs",void 0);let zr=Xo=class extends le{constructor(e){super(e),Object.setPrototypeOf(this,Xo.prototype)}};zr=Xo=d([B({type:z.Set,itemType:wt})],zr);let Ml=class extends Ee{};Ml=d([B({type:z.Choice})],Ml);let Hl=class extends wt{};Hl=d([B({type:z.Sequence})],Hl);class vc{constructor(e={}){this.acIssuer=new Q,this.acSerial=0,this.attrs=[],Object.assign(this,e)}}d([f({type:Q})],vc.prototype,"acIssuer",void 0);d([f({type:y.Integer})],vc.prototype,"acSerial",void 0);d([f({type:Et,repeated:"sequence"})],vc.prototype,"attrs",void 0);var Qo;let Nr=Qo=class extends le{constructor(e){super(e),Object.setPrototypeOf(this,Qo.prototype)}};Nr=Qo=d([B({type:z.Sequence,itemType:y.ObjectIdentifier})],Nr);class Cs{constructor(e={}){this.permitUnSpecified=!0,Object.assign(this,e)}}d([f({type:y.Integer,optional:!0})],Cs.prototype,"pathLenConstraint",void 0);d([f({type:Nr,implicit:!0,context:0,optional:!0})],Cs.prototype,"permittedAttrs",void 0);d([f({type:Nr,implicit:!0,context:1,optional:!0})],Cs.prototype,"excludedAttrs",void 0);d([f({type:y.Boolean,defaultValue:!0})],Cs.prototype,"permitUnSpecified",void 0);class wn{constructor(e={}){this.issuer=new Be,this.serial=new ArrayBuffer(0),this.issuerUID=new ArrayBuffer(0),Object.assign(this,e)}}d([f({type:Be})],wn.prototype,"issuer",void 0);d([f({type:y.Integer,converter:he})],wn.prototype,"serial",void 0);d([f({type:y.BitString,optional:!0})],wn.prototype,"issuerUID",void 0);var ea;(function(n){n[n.publicKey=0]="publicKey",n[n.publicKeyCert=1]="publicKeyCert",n[n.otherObjectTypes=2]="otherObjectTypes"})(ea||(ea={}));class bn{constructor(e={}){this.digestedObjectType=ea.publicKey,this.digestAlgorithm=new H,this.objectDigest=new ArrayBuffer(0),Object.assign(this,e)}}d([f({type:y.Enumerated})],bn.prototype,"digestedObjectType",void 0);d([f({type:y.ObjectIdentifier,optional:!0})],bn.prototype,"otherObjectTypeID",void 0);d([f({type:H})],bn.prototype,"digestAlgorithm",void 0);d([f({type:y.BitString})],bn.prototype,"objectDigest",void 0);class js{constructor(e={}){Object.assign(this,e)}}d([f({type:Be,optional:!0})],js.prototype,"issuerName",void 0);d([f({type:wn,context:0,implicit:!0,optional:!0})],js.prototype,"baseCertificateID",void 0);d([f({type:bn,context:1,implicit:!0,optional:!0})],js.prototype,"objectDigestInfo",void 0);let Tn=class{constructor(e={}){Object.assign(this,e)}};d([f({type:Q,repeated:"sequence"})],Tn.prototype,"v1Form",void 0);d([f({type:js,context:0,implicit:!0})],Tn.prototype,"v2Form",void 0);Tn=d([B({type:z.Choice})],Tn);class zs{constructor(e={}){this.notBeforeTime=new Date,this.notAfterTime=new Date,Object.assign(this,e)}}d([f({type:y.GeneralizedTime})],zs.prototype,"notBeforeTime",void 0);d([f({type:y.GeneralizedTime})],zs.prototype,"notAfterTime",void 0);class Oi{constructor(e={}){Object.assign(this,e)}}d([f({type:wn,implicit:!0,context:0,optional:!0})],Oi.prototype,"baseCertificateID",void 0);d([f({type:Be,implicit:!0,context:1,optional:!0})],Oi.prototype,"entityName",void 0);d([f({type:bn,implicit:!0,context:2,optional:!0})],Oi.prototype,"objectDigestInfo",void 0);var ta;(function(n){n[n.v2=1]="v2"})(ta||(ta={}));class lt{constructor(e={}){this.version=ta.v2,this.holder=new Oi,this.issuer=new Tn,this.signature=new H,this.serialNumber=new ArrayBuffer(0),this.attrCertValidityPeriod=new zs,this.attributes=[],Object.assign(this,e)}}d([f({type:y.Integer})],lt.prototype,"version",void 0);d([f({type:Oi})],lt.prototype,"holder",void 0);d([f({type:Tn})],lt.prototype,"issuer",void 0);d([f({type:H})],lt.prototype,"signature",void 0);d([f({type:y.Integer,converter:he})],lt.prototype,"serialNumber",void 0);d([f({type:zs})],lt.prototype,"attrCertValidityPeriod",void 0);d([f({type:Et,repeated:"sequence"})],lt.prototype,"attributes",void 0);d([f({type:y.BitString,optional:!0})],lt.prototype,"issuerUniqueID",void 0);d([f({type:Vt,optional:!0})],lt.prototype,"extensions",void 0);class Ns{constructor(e={}){this.acinfo=new lt,this.signatureAlgorithm=new H,this.signatureValue=new ArrayBuffer(0),Object.assign(this,e)}}d([f({type:lt})],Ns.prototype,"acinfo",void 0);d([f({type:H})],Ns.prototype,"signatureAlgorithm",void 0);d([f({type:y.BitString})],Ns.prototype,"signatureValue",void 0);var Or;(function(n){n[n.unmarked=1]="unmarked",n[n.unclassified=2]="unclassified",n[n.restricted=4]="restricted",n[n.confidential=8]="confidential",n[n.secret=16]="secret",n[n.topSecret=32]="topSecret"})(Or||(Or={}));class na extends xs{}class wc{constructor(e={}){this.type="",this.value=new ArrayBuffer(0),Object.assign(this,e)}}d([f({type:y.ObjectIdentifier,implicit:!0,context:0})],wc.prototype,"type",void 0);d([f({type:y.Any,implicit:!0,context:1})],wc.prototype,"value",void 0);class bc{constructor(e={}){this.policyId="",this.classList=new na(Or.unclassified),Object.assign(this,e)}}d([f({type:y.ObjectIdentifier})],bc.prototype,"policyId",void 0);d([f({type:na,defaultValue:new na(Or.unclassified)})],bc.prototype,"classList",void 0);d([f({type:wc,repeated:"set"})],bc.prototype,"securityCategories",void 0);class Os{constructor(e={}){Object.assign(this,e)}}d([f({type:re})],Os.prototype,"cotets",void 0);d([f({type:y.ObjectIdentifier})],Os.prototype,"oid",void 0);d([f({type:y.Utf8String})],Os.prototype,"string",void 0);class of{constructor(e={}){this.values=[],Object.assign(this,e)}}d([f({type:Be,implicit:!0,context:0,optional:!0})],of.prototype,"policyAuthority",void 0);d([f({type:Os,repeated:"sequence"})],of.prototype,"values",void 0);var ia;class Bs{constructor(e={}){this.targetCertificate=new wn,Object.assign(this,e)}}d([f({type:wn})],Bs.prototype,"targetCertificate",void 0);d([f({type:Q,optional:!0})],Bs.prototype,"targetName",void 0);d([f({type:bn,optional:!0})],Bs.prototype,"certDigestInfo",void 0);let Rn=class{constructor(e={}){Object.assign(this,e)}};d([f({type:Q,context:0,implicit:!0})],Rn.prototype,"targetName",void 0);d([f({type:Q,context:1,implicit:!0})],Rn.prototype,"targetGroup",void 0);d([f({type:Bs,context:2,implicit:!0})],Rn.prototype,"targetCert",void 0);Rn=d([B({type:z.Choice})],Rn);let ra=ia=class extends le{constructor(e){super(e),Object.setPrototypeOf(this,ia.prototype)}};ra=ia=d([B({type:z.Sequence,itemType:Rn})],ra);var sa;let Dl=sa=class extends le{constructor(e){super(e),Object.setPrototypeOf(this,sa.prototype)}};Dl=sa=d([B({type:z.Sequence,itemType:ra})],Dl);class af{constructor(e={}){Object.assign(this,e)}}d([f({type:Be,implicit:!0,context:0,optional:!0})],af.prototype,"roleAuthority",void 0);d([f({type:Q,implicit:!0,context:1})],af.prototype,"roleName",void 0);class kc{constructor(e={}){this.service=new Q,this.ident=new Q,Object.assign(this,e)}}d([f({type:Q})],kc.prototype,"service",void 0);d([f({type:Q})],kc.prototype,"ident",void 0);d([f({type:re,optional:!0})],kc.prototype,"authInfo",void 0);var oa;class xc{constructor(e={}){this.otherCertFormat="",this.otherCert=new ArrayBuffer(0),Object.assign(this,e)}}d([f({type:y.ObjectIdentifier})],xc.prototype,"otherCertFormat",void 0);d([f({type:y.Any})],xc.prototype,"otherCert",void 0);let Pn=class{constructor(e={}){Object.assign(this,e)}};d([f({type:pn})],Pn.prototype,"certificate",void 0);d([f({type:Ns,context:2,implicit:!0})],Pn.prototype,"v2AttrCert",void 0);d([f({type:xc,context:3,implicit:!0})],Pn.prototype,"other",void 0);Pn=d([B({type:z.Choice})],Pn);let Br=oa=class extends le{constructor(e){super(e),Object.setPrototypeOf(this,oa.prototype)}};Br=oa=d([B({type:z.Set,itemType:Pn})],Br);class Jn{constructor(e={}){this.contentType="",this.content=new ArrayBuffer(0),Object.assign(this,e)}}d([f({type:y.ObjectIdentifier})],Jn.prototype,"contentType",void 0);d([f({type:y.Any,context:0})],Jn.prototype,"content",void 0);let mi=class{constructor(e={}){Object.assign(this,e)}};d([f({type:re})],mi.prototype,"single",void 0);d([f({type:y.Any})],mi.prototype,"any",void 0);mi=d([B({type:z.Choice})],mi);class Ts{constructor(e={}){this.eContentType="",Object.assign(this,e)}}d([f({type:y.ObjectIdentifier})],Ts.prototype,"eContentType",void 0);d([f({type:mi,context:0,optional:!0})],Ts.prototype,"eContent",void 0);let yi=class{constructor(e={}){Object.assign(this,e)}};d([f({type:re,context:0,implicit:!0,optional:!0})],yi.prototype,"value",void 0);d([f({type:re,converter:Wg,context:0,implicit:!0,optional:!0,repeated:"sequence"})],yi.prototype,"constructedValue",void 0);yi=d([B({type:z.Choice})],yi);class Bi{constructor(e={}){this.contentType="",this.contentEncryptionAlgorithm=new jr,Object.assign(this,e)}}d([f({type:y.ObjectIdentifier})],Bi.prototype,"contentType",void 0);d([f({type:jr})],Bi.prototype,"contentEncryptionAlgorithm",void 0);d([f({type:yi,optional:!0})],Bi.prototype,"encryptedContent",void 0);class Rs{constructor(e={}){this.keyAttrId="",Object.assign(this,e)}}d([f({type:y.ObjectIdentifier})],Rs.prototype,"keyAttrId",void 0);d([f({type:y.Any,optional:!0})],Rs.prototype,"keyAttr",void 0);var aa;class Ps{constructor(e={}){this.subjectKeyIdentifier=new Lt,Object.assign(this,e)}}d([f({type:Lt})],Ps.prototype,"subjectKeyIdentifier",void 0);d([f({type:y.GeneralizedTime,optional:!0})],Ps.prototype,"date",void 0);d([f({type:Rs,optional:!0})],Ps.prototype,"other",void 0);let Ln=class{constructor(e={}){Object.assign(this,e)}};d([f({type:Ps,context:0,implicit:!0,optional:!0})],Ln.prototype,"rKeyId",void 0);d([f({type:Wn,optional:!0})],Ln.prototype,"issuerAndSerialNumber",void 0);Ln=d([B({type:z.Choice})],Ln);class Sc{constructor(e={}){this.rid=new Ln,this.encryptedKey=new re,Object.assign(this,e)}}d([f({type:Ln})],Sc.prototype,"rid",void 0);d([f({type:re})],Sc.prototype,"encryptedKey",void 0);let Tr=aa=class extends le{constructor(e){super(e),Object.setPrototypeOf(this,aa.prototype)}};Tr=aa=d([B({type:z.Sequence,itemType:Sc})],Tr);class Ac{constructor(e={}){this.algorithm=new H,this.publicKey=new ArrayBuffer(0),Object.assign(this,e)}}d([f({type:H})],Ac.prototype,"algorithm",void 0);d([f({type:y.BitString})],Ac.prototype,"publicKey",void 0);let fn=class{constructor(e={}){Object.assign(this,e)}};d([f({type:Lt,context:0,implicit:!0,optional:!0})],fn.prototype,"subjectKeyIdentifier",void 0);d([f({type:Ac,context:1,implicit:!0,optional:!0})],fn.prototype,"originatorKey",void 0);d([f({type:Wn,optional:!0})],fn.prototype,"issuerAndSerialNumber",void 0);fn=d([B({type:z.Choice})],fn);class Zn{constructor(e={}){this.version=$t.v3,this.originator=new fn,this.keyEncryptionAlgorithm=new mt,this.recipientEncryptedKeys=new Tr,Object.assign(this,e)}}d([f({type:y.Integer})],Zn.prototype,"version",void 0);d([f({type:fn,context:0})],Zn.prototype,"originator",void 0);d([f({type:re,context:1,optional:!0})],Zn.prototype,"ukm",void 0);d([f({type:mt})],Zn.prototype,"keyEncryptionAlgorithm",void 0);d([f({type:Tr})],Zn.prototype,"recipientEncryptedKeys",void 0);let Un=class{constructor(e={}){Object.assign(this,e)}};d([f({type:Lt,context:0,implicit:!0})],Un.prototype,"subjectKeyIdentifier",void 0);d([f({type:Wn})],Un.prototype,"issuerAndSerialNumber",void 0);Un=d([B({type:z.Choice})],Un);class Ti{constructor(e={}){this.version=$t.v0,this.rid=new Un,this.keyEncryptionAlgorithm=new mt,this.encryptedKey=new re,Object.assign(this,e)}}d([f({type:y.Integer})],Ti.prototype,"version",void 0);d([f({type:Un})],Ti.prototype,"rid",void 0);d([f({type:mt})],Ti.prototype,"keyEncryptionAlgorithm",void 0);d([f({type:re})],Ti.prototype,"encryptedKey",void 0);class Ri{constructor(e={}){this.keyIdentifier=new re,Object.assign(this,e)}}d([f({type:re})],Ri.prototype,"keyIdentifier",void 0);d([f({type:y.GeneralizedTime,optional:!0})],Ri.prototype,"date",void 0);d([f({type:Rs,optional:!0})],Ri.prototype,"other",void 0);class Pi{constructor(e={}){this.version=$t.v4,this.kekid=new Ri,this.keyEncryptionAlgorithm=new mt,this.encryptedKey=new re,Object.assign(this,e)}}d([f({type:y.Integer})],Pi.prototype,"version",void 0);d([f({type:Ri})],Pi.prototype,"kekid",void 0);d([f({type:mt})],Pi.prototype,"keyEncryptionAlgorithm",void 0);d([f({type:re})],Pi.prototype,"encryptedKey",void 0);class Li{constructor(e={}){this.version=$t.v0,this.keyEncryptionAlgorithm=new mt,this.encryptedKey=new re,Object.assign(this,e)}}d([f({type:y.Integer})],Li.prototype,"version",void 0);d([f({type:Yo,context:0,optional:!0})],Li.prototype,"keyDerivationAlgorithm",void 0);d([f({type:mt})],Li.prototype,"keyEncryptionAlgorithm",void 0);d([f({type:re})],Li.prototype,"encryptedKey",void 0);class Ic{constructor(e={}){this.oriType="",this.oriValue=new ArrayBuffer(0),Object.assign(this,e)}}d([f({type:y.ObjectIdentifier})],Ic.prototype,"oriType",void 0);d([f({type:y.Any})],Ic.prototype,"oriValue",void 0);let Mt=class{constructor(e={}){Object.assign(this,e)}};d([f({type:Ti,optional:!0})],Mt.prototype,"ktri",void 0);d([f({type:Zn,context:1,implicit:!0,optional:!0})],Mt.prototype,"kari",void 0);d([f({type:Pi,context:2,implicit:!0,optional:!0})],Mt.prototype,"kekri",void 0);d([f({type:Li,context:3,implicit:!0,optional:!0})],Mt.prototype,"pwri",void 0);d([f({type:Ic,context:4,implicit:!0,optional:!0})],Mt.prototype,"ori",void 0);Mt=d([B({type:z.Choice})],Mt);var ca;let Rr=ca=class extends le{constructor(e){super(e),Object.setPrototypeOf(this,ca.prototype)}};Rr=ca=d([B({type:z.Set,itemType:Mt})],Rr);var la;class Ls{constructor(e={}){this.otherRevInfoFormat="",this.otherRevInfo=new ArrayBuffer(0),Object.assign(this,e)}}d([f({type:y.ObjectIdentifier})],Ls.prototype,"otherRevInfoFormat",void 0);d([f({type:y.Any})],Ls.prototype,"otherRevInfo",void 0);let Pr=class{constructor(e={}){this.other=new Ls,Object.assign(this,e)}};d([f({type:Ls,context:1,implicit:!0})],Pr.prototype,"other",void 0);Pr=d([B({type:z.Choice})],Pr);let Lr=la=class extends le{constructor(e){super(e),Object.setPrototypeOf(this,la.prototype)}};Lr=la=d([B({type:z.Set,itemType:Pr})],Lr);class Ec{constructor(e={}){Object.assign(this,e)}}d([f({type:Br,context:0,implicit:!0,optional:!0})],Ec.prototype,"certs",void 0);d([f({type:Lr,context:1,implicit:!0,optional:!0})],Ec.prototype,"crls",void 0);var ua;let da=ua=class extends le{constructor(e){super(e),Object.setPrototypeOf(this,ua.prototype)}};da=ua=d([B({type:z.Set,itemType:Gn})],da);class Ui{constructor(e={}){this.version=$t.v0,this.recipientInfos=new Rr,this.encryptedContentInfo=new Bi,Object.assign(this,e)}}d([f({type:y.Integer})],Ui.prototype,"version",void 0);d([f({type:Ec,context:0,implicit:!0,optional:!0})],Ui.prototype,"originatorInfo",void 0);d([f({type:Rr})],Ui.prototype,"recipientInfos",void 0);d([f({type:Bi})],Ui.prototype,"encryptedContentInfo",void 0);d([f({type:da,context:1,implicit:!0,optional:!0})],Ui.prototype,"unprotectedAttrs",void 0);const v_="1.2.840.113549.1.7.2";var pa;let Ur=pa=class extends le{constructor(e){super(e),Object.setPrototypeOf(this,pa.prototype)}};Ur=pa=d([B({type:z.Set,itemType:_i})],Ur);class Yn{constructor(e={}){this.version=$t.v0,this.digestAlgorithms=new Ur,this.encapContentInfo=new Ts,this.signerInfos=new zr,Object.assign(this,e)}}d([f({type:y.Integer})],Yn.prototype,"version",void 0);d([f({type:Ur})],Yn.prototype,"digestAlgorithms",void 0);d([f({type:Ts})],Yn.prototype,"encapContentInfo",void 0);d([f({type:Br,context:0,implicit:!0,optional:!0})],Yn.prototype,"certificates",void 0);d([f({type:Lr,context:1,implicit:!0,optional:!0})],Yn.prototype,"crls",void 0);d([f({type:zr})],Yn.prototype,"signerInfos",void 0);const vi="1.2.840.10045.2.1",$c="1.2.840.10045.4.1",cf="1.2.840.10045.4.3.1",Cc="1.2.840.10045.4.3.2",jc="1.2.840.10045.4.3.3",zc="1.2.840.10045.4.3.4",Fl="1.2.840.10045.3.1.7",ql="1.3.132.0.34",Kl="1.3.132.0.35";function Vi(n){return new H({algorithm:n})}const w_=Vi($c);Vi(cf);const b_=Vi(Cc),k_=Vi(jc),x_=Vi(zc);let wi=class{constructor(e={}){Object.assign(this,e)}};d([f({type:y.ObjectIdentifier})],wi.prototype,"fieldType",void 0);d([f({type:y.Any})],wi.prototype,"parameters",void 0);wi=d([B({type:z.Sequence})],wi);class S_ extends re{}let Vn=class{constructor(e={}){Object.assign(this,e)}};d([f({type:y.OctetString})],Vn.prototype,"a",void 0);d([f({type:y.OctetString})],Vn.prototype,"b",void 0);d([f({type:y.BitString,optional:!0})],Vn.prototype,"seed",void 0);Vn=d([B({type:z.Sequence})],Vn);var fa;(function(n){n[n.ecpVer1=1]="ecpVer1"})(fa||(fa={}));let Ct=class{constructor(e={}){this.version=fa.ecpVer1,Object.assign(this,e)}};d([f({type:y.Integer})],Ct.prototype,"version",void 0);d([f({type:wi})],Ct.prototype,"fieldID",void 0);d([f({type:Vn})],Ct.prototype,"curve",void 0);d([f({type:S_})],Ct.prototype,"base",void 0);d([f({type:y.Integer,converter:he})],Ct.prototype,"order",void 0);d([f({type:y.Integer,optional:!0})],Ct.prototype,"cofactor",void 0);Ct=d([B({type:z.Sequence})],Ct);let Ht=class{constructor(e={}){Object.assign(this,e)}};d([f({type:y.ObjectIdentifier})],Ht.prototype,"namedCurve",void 0);d([f({type:y.Null})],Ht.prototype,"implicitCurve",void 0);d([f({type:Ct})],Ht.prototype,"specifiedCurve",void 0);Ht=d([B({type:z.Choice})],Ht);class Us{constructor(e={}){this.version=1,this.privateKey=new re,Object.assign(this,e)}}d([f({type:y.Integer})],Us.prototype,"version",void 0);d([f({type:re})],Us.prototype,"privateKey",void 0);d([f({type:Ht,context:0,optional:!0})],Us.prototype,"parameters",void 0);d([f({type:y.BitString,context:1,optional:!0})],Us.prototype,"publicKey",void 0);class Vr{constructor(e={}){this.r=new ArrayBuffer(0),this.s=new ArrayBuffer(0),Object.assign(this,e)}}d([f({type:y.Integer,converter:he})],Vr.prototype,"r",void 0);d([f({type:y.Integer,converter:he})],Vr.prototype,"s",void 0);const Me="1.2.840.113549.1.1",hn=`${Me}.1`,A_=`${Me}.7`,I_=`${Me}.9`,li=`${Me}.10`,E_=`${Me}.2`,$_=`${Me}.4`,Mr=`${Me}.5`,C_=`${Me}.14`,ha=`${Me}.11`,Hr=`${Me}.12`,Dr=`${Me}.13`,lf=`${Me}.15`,uf=`${Me}.16`,Fr="1.3.14.3.2.26",df="2.16.840.1.101.3.4.2.4",qr="2.16.840.1.101.3.4.2.1",Kr="2.16.840.1.101.3.4.2.2",Wr="2.16.840.1.101.3.4.2.3",j_="2.16.840.1.101.3.4.2.5",z_="2.16.840.1.101.3.4.2.6",N_="1.2.840.113549.2.2",O_="1.2.840.113549.2.5",Vs=`${Me}.8`;function xe(n){return new H({algorithm:n,parameters:null})}xe(N_);xe(O_);const gn=xe(Fr);xe(df);xe(qr);xe(Kr);xe(Wr);xe(j_);xe(z_);const pf=new H({algorithm:Vs,parameters:L.serialize(gn)}),ff=new H({algorithm:I_,parameters:L.serialize(kr.toASN(new Uint8Array([218,57,163,238,94,107,75,13,50,85,191,239,149,96,24,144,175,216,7,9]).buffer))});xe(hn);xe(E_);xe($_);xe(Mr);xe(lf);xe(uf);xe(Hr);xe(Dr);xe(lf);xe(uf);class Ms{constructor(e={}){this.hashAlgorithm=new H(gn),this.maskGenAlgorithm=new H({algorithm:Vs,parameters:L.serialize(gn)}),this.pSourceAlgorithm=new H(ff),Object.assign(this,e)}}d([f({type:H,context:0,defaultValue:gn})],Ms.prototype,"hashAlgorithm",void 0);d([f({type:H,context:1,defaultValue:pf})],Ms.prototype,"maskGenAlgorithm",void 0);d([f({type:H,context:2,defaultValue:ff})],Ms.prototype,"pSourceAlgorithm",void 0);new H({algorithm:A_,parameters:L.serialize(new Ms)});class _n{constructor(e={}){this.hashAlgorithm=new H(gn),this.maskGenAlgorithm=new H({algorithm:Vs,parameters:L.serialize(gn)}),this.saltLength=20,this.trailerField=1,Object.assign(this,e)}}d([f({type:H,context:0,defaultValue:gn})],_n.prototype,"hashAlgorithm",void 0);d([f({type:H,context:1,defaultValue:pf})],_n.prototype,"maskGenAlgorithm",void 0);d([f({type:y.Integer,context:2,defaultValue:20})],_n.prototype,"saltLength",void 0);d([f({type:y.Integer,context:3,defaultValue:1})],_n.prototype,"trailerField",void 0);new H({algorithm:li,parameters:L.serialize(new _n)});class Hs{constructor(e={}){this.digestAlgorithm=new H,this.digest=new re,Object.assign(this,e)}}d([f({type:H})],Hs.prototype,"digestAlgorithm",void 0);d([f({type:re})],Hs.prototype,"digest",void 0);var ga;class Ds{constructor(e={}){this.prime=new ArrayBuffer(0),this.exponent=new ArrayBuffer(0),this.coefficient=new ArrayBuffer(0),Object.assign(this,e)}}d([f({type:y.Integer,converter:he})],Ds.prototype,"prime",void 0);d([f({type:y.Integer,converter:he})],Ds.prototype,"exponent",void 0);d([f({type:y.Integer,converter:he})],Ds.prototype,"coefficient",void 0);let _a=ga=class extends le{constructor(e){super(e),Object.setPrototypeOf(this,ga.prototype)}};_a=ga=d([B({type:z.Sequence,itemType:Ds})],_a);class bt{constructor(e={}){this.version=0,this.modulus=new ArrayBuffer(0),this.publicExponent=new ArrayBuffer(0),this.privateExponent=new ArrayBuffer(0),this.prime1=new ArrayBuffer(0),this.prime2=new ArrayBuffer(0),this.exponent1=new ArrayBuffer(0),this.exponent2=new ArrayBuffer(0),this.coefficient=new ArrayBuffer(0),Object.assign(this,e)}}d([f({type:y.Integer})],bt.prototype,"version",void 0);d([f({type:y.Integer,converter:he})],bt.prototype,"modulus",void 0);d([f({type:y.Integer,converter:he})],bt.prototype,"publicExponent",void 0);d([f({type:y.Integer,converter:he})],bt.prototype,"privateExponent",void 0);d([f({type:y.Integer,converter:he})],bt.prototype,"prime1",void 0);d([f({type:y.Integer,converter:he})],bt.prototype,"prime2",void 0);d([f({type:y.Integer,converter:he})],bt.prototype,"exponent1",void 0);d([f({type:y.Integer,converter:he})],bt.prototype,"exponent2",void 0);d([f({type:y.Integer,converter:he})],bt.prototype,"coefficient",void 0);d([f({type:_a,optional:!0})],bt.prototype,"otherPrimeInfos",void 0);class Nc{constructor(e={}){this.modulus=new ArrayBuffer(0),this.publicExponent=new ArrayBuffer(0),Object.assign(this,e)}}d([f({type:y.Integer,converter:he})],Nc.prototype,"modulus",void 0);d([f({type:y.Integer,converter:he})],Nc.prototype,"publicExponent",void 0);var ma;(function(n){n[n.Transient=0]="Transient",n[n.Singleton=1]="Singleton",n[n.ResolutionScoped=2]="ResolutionScoped",n[n.ContainerScoped=3]="ContainerScoped"})(ma||(ma={}));const Pe=ma;/*! *****************************************************************************
|
|
80
80
|
Copyright (c) Microsoft Corporation.
|
|
81
81
|
|
|
82
82
|
Permission to use, copy, modify, and/or distribute this software for any
|
|
@@ -91,7 +91,7 @@ OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
|
|
91
91
|
PERFORMANCE OF THIS SOFTWARE.
|
|
92
92
|
***************************************************************************** */var ya=function(n,e){return ya=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,i){t.__proto__=i}||function(t,i){for(var r in i)i.hasOwnProperty(r)&&(t[r]=i[r])},ya(n,e)};function Oc(n,e){ya(n,e);function t(){this.constructor=n}n.prototype=e===null?Object.create(e):(t.prototype=e.prototype,new t)}function B_(n,e,t,i){function r(s){return s instanceof t?s:new t(function(o){o(s)})}return new(t||(t=Promise))(function(s,o){function c(p){try{u(i.next(p))}catch(g){o(g)}}function l(p){try{u(i.throw(p))}catch(g){o(g)}}function u(p){p.done?s(p.value):r(p.value).then(c,l)}u((i=i.apply(n,[])).next())})}function T_(n,e){var t={label:0,sent:function(){if(s[0]&1)throw s[1];return s[1]},trys:[],ops:[]},i,r,s,o;return o={next:c(0),throw:c(1),return:c(2)},typeof Symbol=="function"&&(o[Symbol.iterator]=function(){return this}),o;function c(u){return function(p){return l([u,p])}}function l(u){if(i)throw new TypeError("Generator is already executing.");for(;t;)try{if(i=1,r&&(s=u[0]&2?r.return:u[0]?r.throw||((s=r.return)&&s.call(r),0):r.next)&&!(s=s.call(r,u[1])).done)return s;switch(r=0,s&&(u=[u[0]&2,s.value]),u[0]){case 0:case 1:s=u;break;case 4:return t.label++,{value:u[1],done:!1};case 5:t.label++,r=u[1],u=[0];continue;case 7:u=t.ops.pop(),t.trys.pop();continue;default:if(s=t.trys,!(s=s.length>0&&s[s.length-1])&&(u[0]===6||u[0]===2)){t=0;continue}if(u[0]===3&&(!s||u[1]>s[0]&&u[1]<s[3])){t.label=u[1];break}if(u[0]===6&&t.label<s[1]){t.label=s[1],s=u;break}if(s&&t.label<s[2]){t.label=s[2],t.ops.push(u);break}s[2]&&t.ops.pop(),t.trys.pop();continue}u=e.call(n,t)}catch(p){u=[6,p],r=0}finally{i=s=0}if(u[0]&5)throw u[1];return{value:u[0]?u[1]:void 0,done:!0}}}function Ji(n){var e=typeof Symbol=="function"&&Symbol.iterator,t=e&&n[e],i=0;if(t)return t.call(n);if(n&&typeof n.length=="number")return{next:function(){return n&&i>=n.length&&(n=void 0),{value:n&&n[i++],done:!n}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")}function Gr(n,e){var t=typeof Symbol=="function"&&n[Symbol.iterator];if(!t)return n;var i=t.call(n),r,s=[],o;try{for(;(e===void 0||e-- >0)&&!(r=i.next()).done;)s.push(r.value)}catch(c){o={error:c}}finally{try{r&&!r.done&&(t=i.return)&&t.call(i)}finally{if(o)throw o.error}}return s}function Zt(){for(var n=[],e=0;e<arguments.length;e++)n=n.concat(Gr(arguments[e]));return n}var R_="injectionTokens";function P_(n){var e=Reflect.getMetadata("design:paramtypes",n)||[],t=Reflect.getOwnMetadata(R_,n)||{};return Object.keys(t).forEach(function(i){e[+i]=t[i]}),e}function hf(n){return!!n.useClass}function va(n){return!!n.useFactory}var gf=function(){function n(e){this.wrap=e,this.reflectMethods=["get","getPrototypeOf","setPrototypeOf","getOwnPropertyDescriptor","defineProperty","has","set","deleteProperty","apply","construct","ownKeys"]}return n.prototype.createProxy=function(e){var t=this,i={},r=!1,s,o=function(){return r||(s=e(t.wrap()),r=!0),s};return new Proxy(i,this.createHandler(o))},n.prototype.createHandler=function(e){var t={},i=function(r){t[r]=function(){for(var s=[],o=0;o<arguments.length;o++)s[o]=arguments[o];s[0]=e();var c=Reflect[r];return c.apply(void 0,Zt(s))}};return this.reflectMethods.forEach(i),t},n}();function Sn(n){return typeof n=="string"||typeof n=="symbol"}function L_(n){return typeof n=="object"&&"token"in n&&"multiple"in n}function Wl(n){return typeof n=="object"&&"token"in n&&"transform"in n}function U_(n){return typeof n=="function"||n instanceof gf}function nr(n){return!!n.useToken}function ir(n){return n.useValue!=null}function V_(n){return hf(n)||ir(n)||nr(n)||va(n)}var Bc=function(){function n(){this._registryMap=new Map}return n.prototype.entries=function(){return this._registryMap.entries()},n.prototype.getAll=function(e){return this.ensure(e),this._registryMap.get(e)},n.prototype.get=function(e){this.ensure(e);var t=this._registryMap.get(e);return t[t.length-1]||null},n.prototype.set=function(e,t){this.ensure(e),this._registryMap.get(e).push(t)},n.prototype.setAll=function(e,t){this._registryMap.set(e,t)},n.prototype.has=function(e){return this.ensure(e),this._registryMap.get(e).length>0},n.prototype.clear=function(){this._registryMap.clear()},n.prototype.ensure=function(e){this._registryMap.has(e)||this._registryMap.set(e,[])},n}(),M_=function(n){Oc(e,n);function e(){return n!==null&&n.apply(this,arguments)||this}return e}(Bc),Gl=function(){function n(){this.scopedResolutions=new Map}return n}();function H_(n,e){if(n===null)return"at position #"+e;var t=n.split(",")[e].trim();return'"'+t+'" at position #'+e}function D_(n,e,t){return t===void 0&&(t=" "),Zt([n],e.message.split(`
|
|
93
93
|
`).map(function(i){return t+i})).join(`
|
|
94
|
-
`)}function F_(n,e,t){var i=Gr(n.toString().match(/constructor\(([\w, ]+)\)/)||[],2),r=i[1],s=r===void 0?null:r,o=H_(s,e);return D_("Cannot inject the dependency "+o+' of "'+n.name+'" constructor. Reason:',t)}function q_(n){if(typeof n.dispose!="function")return!1;var e=n.dispose;return!(e.length>0)}var K_=function(n){Oc(e,n);function e(){return n!==null&&n.apply(this,arguments)||this}return e}(Bc),W_=function(n){Oc(e,n);function e(){return n!==null&&n.apply(this,arguments)||this}return e}(Bc),G_=function(){function n(){this.preResolution=new K_,this.postResolution=new W_}return n}(),_f=new Map,J_=function(){function n(e){this.parent=e,this._registry=new M_,this.interceptors=new G_,this.disposed=!1,this.disposables=new Set}return n.prototype.register=function(e,t,i){i===void 0&&(i={lifecycle:Pe.Transient}),this.ensureNotDisposed();var r;if(V_(t)?r=t:r={useClass:t},nr(r))for(var s=[e],o=r;o!=null;){var c=o.useToken;if(s.includes(c))throw new Error("Token registration cycle detected! "+Zt(s,[c]).join(" -> "));s.push(c);var l=this._registry.get(c);l&&nr(l.provider)?o=l.provider:o=null}if((i.lifecycle===Pe.Singleton||i.lifecycle==Pe.ContainerScoped||i.lifecycle==Pe.ResolutionScoped)&&(ir(r)||va(r)))throw new Error('Cannot use lifecycle "'+Pe[i.lifecycle]+'" with ValueProviders or FactoryProviders');return this._registry.set(e,{provider:r,options:i}),this},n.prototype.registerType=function(e,t){return this.ensureNotDisposed(),Sn(t)?this.register(e,{useToken:t}):this.register(e,{useClass:t})},n.prototype.registerInstance=function(e,t){return this.ensureNotDisposed(),this.register(e,{useValue:t})},n.prototype.registerSingleton=function(e,t){if(this.ensureNotDisposed(),Sn(e)){if(Sn(t))return this.register(e,{useToken:t},{lifecycle:Pe.Singleton});if(t)return this.register(e,{useClass:t},{lifecycle:Pe.Singleton});throw new Error('Cannot register a type name as a singleton without a "to" token')}var i=e;return t&&!Sn(t)&&(i=t),this.register(e,{useClass:i},{lifecycle:Pe.Singleton})},n.prototype.resolve=function(e,t){t===void 0&&(t=new Gl),this.ensureNotDisposed();var i=this.getRegistration(e);if(!i&&Sn(e))throw new Error('Attempted to resolve unregistered dependency token: "'+e.toString()+'"');if(this.executePreResolutionInterceptor(e,"Single"),i){var r=this.resolveRegistration(i,t);return this.executePostResolutionInterceptor(e,r,"Single"),r}if(U_(e)){var r=this.construct(e,t);return this.executePostResolutionInterceptor(e,r,"Single"),r}throw new Error("Attempted to construct an undefined constructor. Could mean a circular dependency problem. Try using `delay` function.")},n.prototype.executePreResolutionInterceptor=function(e,t){var i,r;if(this.interceptors.preResolution.has(e)){var s=[];try{for(var o=Ji(this.interceptors.preResolution.getAll(e)),c=o.next();!c.done;c=o.next()){var l=c.value;l.options.frequency!="Once"&&s.push(l),l.callback(e,t)}}catch(u){i={error:u}}finally{try{c&&!c.done&&(r=o.return)&&r.call(o)}finally{if(i)throw i.error}}this.interceptors.preResolution.setAll(e,s)}},n.prototype.executePostResolutionInterceptor=function(e,t,i){var r,s;if(this.interceptors.postResolution.has(e)){var o=[];try{for(var c=Ji(this.interceptors.postResolution.getAll(e)),l=c.next();!l.done;l=c.next()){var u=l.value;u.options.frequency!="Once"&&o.push(u),u.callback(e,t,i)}}catch(p){r={error:p}}finally{try{l&&!l.done&&(s=c.return)&&s.call(c)}finally{if(r)throw r.error}}this.interceptors.postResolution.setAll(e,o)}},n.prototype.resolveRegistration=function(e,t){if(this.ensureNotDisposed(),e.options.lifecycle===Pe.ResolutionScoped&&t.scopedResolutions.has(e))return t.scopedResolutions.get(e);var i=e.options.lifecycle===Pe.Singleton,r=e.options.lifecycle===Pe.ContainerScoped,s=i||r,o;return ir(e.provider)?o=e.provider.useValue:nr(e.provider)?o=s?e.instance||(e.instance=this.resolve(e.provider.useToken,t)):this.resolve(e.provider.useToken,t):hf(e.provider)?o=s?e.instance||(e.instance=this.construct(e.provider.useClass,t)):this.construct(e.provider.useClass,t):va(e.provider)?o=e.provider.useFactory(this):o=this.construct(e.provider,t),e.options.lifecycle===Pe.ResolutionScoped&&t.scopedResolutions.set(e,o),o},n.prototype.resolveAll=function(e,t){var i=this;t===void 0&&(t=new Gl),this.ensureNotDisposed();var r=this.getAllRegistrations(e);if(!r&&Sn(e))throw new Error('Attempted to resolve unregistered dependency token: "'+e.toString()+'"');if(this.executePreResolutionInterceptor(e,"All"),r){var s=r.map(function(c){return i.resolveRegistration(c,t)});return this.executePostResolutionInterceptor(e,s,"All"),s}var o=[this.construct(e,t)];return this.executePostResolutionInterceptor(e,o,"All"),o},n.prototype.isRegistered=function(e,t){return t===void 0&&(t=!1),this.ensureNotDisposed(),this._registry.has(e)||t&&(this.parent||!1)&&this.parent.isRegistered(e,!0)},n.prototype.reset=function(){this.ensureNotDisposed(),this._registry.clear(),this.interceptors.preResolution.clear(),this.interceptors.postResolution.clear()},n.prototype.clearInstances=function(){var e,t;this.ensureNotDisposed();try{for(var i=Ji(this._registry.entries()),r=i.next();!r.done;r=i.next()){var s=Gr(r.value,2),o=s[0],c=s[1];this._registry.setAll(o,c.filter(function(l){return!ir(l.provider)}).map(function(l){return l.instance=void 0,l}))}}catch(l){e={error:l}}finally{try{r&&!r.done&&(t=i.return)&&t.call(i)}finally{if(e)throw e.error}}},n.prototype.createChildContainer=function(){var e,t;this.ensureNotDisposed();var i=new n(this);try{for(var r=Ji(this._registry.entries()),s=r.next();!s.done;s=r.next()){var o=Gr(s.value,2),c=o[0],l=o[1];l.some(function(u){var p=u.options;return p.lifecycle===Pe.ContainerScoped})&&i._registry.setAll(c,l.map(function(u){return u.options.lifecycle===Pe.ContainerScoped?{provider:u.provider,options:u.options}:u}))}}catch(u){e={error:u}}finally{try{s&&!s.done&&(t=r.return)&&t.call(r)}finally{if(e)throw e.error}}return i},n.prototype.beforeResolution=function(e,t,i){i===void 0&&(i={frequency:"Always"}),this.interceptors.preResolution.set(e,{callback:t,options:i})},n.prototype.afterResolution=function(e,t,i){i===void 0&&(i={frequency:"Always"}),this.interceptors.postResolution.set(e,{callback:t,options:i})},n.prototype.dispose=function(){return B_(this,void 0,void 0,function(){var e;return T_(this,function(t){switch(t.label){case 0:return this.disposed=!0,e=[],this.disposables.forEach(function(i){var r=i.dispose();r&&e.push(r)}),[4,Promise.all(e)];case 1:return t.sent(),[2]}})})},n.prototype.getRegistration=function(e){return this.isRegistered(e)?this._registry.get(e):this.parent?this.parent.getRegistration(e):null},n.prototype.getAllRegistrations=function(e){return this.isRegistered(e)?this._registry.getAll(e):this.parent?this.parent.getAllRegistrations(e):null},n.prototype.construct=function(e,t){var i=this;if(e instanceof gf)return e.createProxy(function(s){return i.resolve(s,t)});var r=function(){var s=_f.get(e);if(!s||s.length===0){if(e.length===0)return new e;throw new Error('TypeInfo not known for "'+e.name+'"')}var o=s.map(i.resolveParams(t,e));return new(e.bind.apply(e,Zt([void 0],o)))}();return q_(r)&&this.disposables.add(r),r},n.prototype.resolveParams=function(e,t){var i=this;return function(r,s){var o,c,l;try{return L_(r)?Wl(r)?r.multiple?(o=i.resolve(r.transform)).transform.apply(o,Zt([i.resolveAll(r.token)],r.transformArgs)):(c=i.resolve(r.transform)).transform.apply(c,Zt([i.resolve(r.token,e)],r.transformArgs)):r.multiple?i.resolveAll(r.token):i.resolve(r.token,e):Wl(r)?(l=i.resolve(r.transform,e)).transform.apply(l,Zt([i.resolve(r.token,e)],r.transformArgs)):i.resolve(r,e)}catch(u){throw new Error(F_(t,s,u))}}},n.prototype.ensureNotDisposed=function(){if(this.disposed)throw new Error("This container has been disposed, you cannot interact with a disposed container")},n}(),je=new J_;function Fs(){return function(n){_f.set(n,P_(n))}}if(typeof Reflect>"u"||!Reflect.getMetadata)throw new Error(`tsyringe requires a reflect polyfill. Please add 'import "reflect-metadata"' to the top of your entry point.`);var wa;class qs{constructor(e={}){this.attrId="",this.attrValues=[],Object.assign(e)}}d([f({type:y.ObjectIdentifier})],qs.prototype,"attrId",void 0);d([f({type:y.Any,repeated:"set"})],qs.prototype,"attrValues",void 0);let Jl=wa=class extends le{constructor(e){super(e),Object.setPrototypeOf(this,wa.prototype)}};Jl=wa=d([B({type:z.Sequence,itemType:qs})],Jl);var ba;let Zl=ba=class extends le{constructor(e){super(e),Object.setPrototypeOf(this,ba.prototype)}};Zl=ba=d([B({type:z.Sequence,itemType:Jn})],Zl);class mf{constructor(e={}){this.certId="",this.certValue=new ArrayBuffer(0),Object.assign(this,e)}}d([f({type:y.ObjectIdentifier})],mf.prototype,"certId",void 0);d([f({type:y.Any,context:0})],mf.prototype,"certValue",void 0);class yf{constructor(e={}){this.crlId="",this.crltValue=new ArrayBuffer(0),Object.assign(this,e)}}d([f({type:y.ObjectIdentifier})],yf.prototype,"crlId",void 0);d([f({type:y.Any,context:0})],yf.prototype,"crltValue",void 0);class vf extends re{}let Ks=class{constructor(e={}){this.encryptionAlgorithm=new H,this.encryptedData=new vf,Object.assign(this,e)}};d([f({type:H})],Ks.prototype,"encryptionAlgorithm",void 0);d([f({type:vf})],Ks.prototype,"encryptedData",void 0);var ka,xa;(function(n){n[n.v1=0]="v1"})(xa||(xa={}));class wf extends re{}let Sa=ka=class extends le{constructor(e){super(e),Object.setPrototypeOf(this,ka.prototype)}};Sa=ka=d([B({type:z.Sequence,itemType:It})],Sa);class Mi{constructor(e={}){this.version=xa.v1,this.privateKeyAlgorithm=new H,this.privateKey=new wf,Object.assign(this,e)}}d([f({type:y.Integer})],Mi.prototype,"version",void 0);d([f({type:H})],Mi.prototype,"privateKeyAlgorithm",void 0);d([f({type:wf})],Mi.prototype,"privateKey",void 0);d([f({type:Sa,implicit:!0,context:0,optional:!0})],Mi.prototype,"attributes",void 0);let Yl=class extends Mi{};Yl=d([B({type:z.Sequence})],Yl);let Xl=class extends Ks{};Xl=d([B({type:z.Sequence})],Xl);class bf{constructor(e={}){this.secretTypeId="",this.secretValue=new ArrayBuffer(0),Object.assign(this,e)}}d([f({type:y.ObjectIdentifier})],bf.prototype,"secretTypeId",void 0);d([f({type:y.Any,context:0})],bf.prototype,"secretValue",void 0);class Hi{constructor(e={}){this.mac=new Hs,this.macSalt=new re,this.iterations=1,Object.assign(this,e)}}d([f({type:Hs})],Hi.prototype,"mac",void 0);d([f({type:re})],Hi.prototype,"macSalt",void 0);d([f({type:y.Integer,defaultValue:1})],Hi.prototype,"iterations",void 0);class Ws{constructor(e={}){this.version=3,this.authSafe=new Jn,this.macData=new Hi,Object.assign(this,e)}}d([f({type:y.Integer})],Ws.prototype,"version",void 0);d([f({type:Jn})],Ws.prototype,"authSafe",void 0);d([f({type:Hi,optional:!0})],Ws.prototype,"macData",void 0);var Aa;class Gs{constructor(e={}){this.bagId="",this.bagValue=new ArrayBuffer(0),Object.assign(this,e)}}d([f({type:y.ObjectIdentifier})],Gs.prototype,"bagId",void 0);d([f({type:y.Any,context:0})],Gs.prototype,"bagValue",void 0);d([f({type:qs,repeated:"set",optional:!0})],Gs.prototype,"bagAttributes",void 0);let Ql=Aa=class extends le{constructor(e){super(e),Object.setPrototypeOf(this,Aa.prototype)}};Ql=Aa=d([B({type:z.Sequence,itemType:Gs})],Ql);var Ia,Ea,$a;const kf="1.2.840.113549.1.9",xf=`${kf}.7`,Tc=`${kf}.14`;let Jr=class extends Ce{constructor(e={}){super(e)}toString(){return this.ia5String||super.toString()}};d([f({type:y.IA5String})],Jr.prototype,"ia5String",void 0);Jr=d([B({type:z.Choice})],Jr);let eu=class extends Jn{};eu=d([B({type:z.Sequence})],eu);let tu=class extends Ws{};tu=d([B({type:z.Sequence})],tu);let nu=class extends Ks{};nu=d([B({type:z.Sequence})],nu);let Ca=class{constructor(e=""){this.value=e}toString(){return this.value}};d([f({type:y.IA5String})],Ca.prototype,"value",void 0);Ca=d([B({type:z.Choice})],Ca);let iu=class extends Jr{};iu=d([B({type:z.Choice})],iu);let ru=class extends Ce{};ru=d([B({type:z.Choice})],ru);let ja=class{constructor(e=new Date){this.value=e}};d([f({type:y.GeneralizedTime})],ja.prototype,"value",void 0);ja=d([B({type:z.Choice})],ja);let su=class extends Ce{};su=d([B({type:z.Choice})],su);let za=class{constructor(e="M"){this.value=e}toString(){return this.value}};d([f({type:y.PrintableString})],za.prototype,"value",void 0);za=d([B({type:z.Choice})],za);let Zr=class{constructor(e=""){this.value=e}toString(){return this.value}};d([f({type:y.PrintableString})],Zr.prototype,"value",void 0);Zr=d([B({type:z.Choice})],Zr);let ou=class extends Zr{};ou=d([B({type:z.Choice})],ou);let au=class extends Ce{};au=d([B({type:z.Choice})],au);let Na=class{constructor(e=""){this.value=e}toString(){return this.value}};d([f({type:y.ObjectIdentifier})],Na.prototype,"value",void 0);Na=d([B({type:z.Choice})],Na);let cu=class extends Ee{};cu=d([B({type:z.Choice})],cu);let Oa=class{constructor(e=0){this.value=e}toString(){return this.value.toString()}};d([f({type:y.Integer})],Oa.prototype,"value",void 0);Oa=d([B({type:z.Choice})],Oa);let lu=class extends vt{};lu=d([B({type:z.Sequence})],lu);let Yr=class extends Ce{};Yr=d([B({type:z.Choice})],Yr);let uu=Ia=class extends Vt{constructor(e){super(e),Object.setPrototypeOf(this,Ia.prototype)}};uu=Ia=d([B({type:z.Sequence})],uu);let du=Ea=class extends le{constructor(e){super(e),Object.setPrototypeOf(this,Ea.prototype)}};du=Ea=d([B({type:z.Set,itemType:Gn})],du);let Ba=class{constructor(e=""){this.value=e}toString(){return this.value}};d([f({type:y.BmpString})],Ba.prototype,"value",void 0);Ba=d([B({type:z.Choice})],Ba);let Ta=class extends H{};Ta=d([B({type:z.Sequence})],Ta);let pu=$a=class extends le{constructor(e){super(e),Object.setPrototypeOf(this,$a.prototype)}};pu=$a=d([B({type:z.Sequence,itemType:Ta})],pu);var Ra;let Xr=Ra=class extends le{constructor(e){super(e),Object.setPrototypeOf(this,Ra.prototype)}};Xr=Ra=d([B({type:z.Sequence,itemType:It})],Xr);class Xn{constructor(e={}){this.version=0,this.subject=new ve,this.subjectPKInfo=new ot,this.attributes=new Xr,Object.assign(this,e)}}d([f({type:y.Integer})],Xn.prototype,"version",void 0);d([f({type:ve})],Xn.prototype,"subject",void 0);d([f({type:ot})],Xn.prototype,"subjectPKInfo",void 0);d([f({type:Xr,implicit:!0,context:0})],Xn.prototype,"attributes",void 0);class bi{constructor(e={}){this.certificationRequestInfo=new Xn,this.signatureAlgorithm=new H,this.signature=new ArrayBuffer(0),Object.assign(this,e)}}d([f({type:Xn})],bi.prototype,"certificationRequestInfo",void 0);d([f({type:H})],bi.prototype,"signatureAlgorithm",void 0);d([f({type:y.BitString})],bi.prototype,"signature",void 0);/*!
|
|
94
|
+
`)}function F_(n,e,t){var i=Gr(n.toString().match(/constructor\(([\w, ]+)\)/)||[],2),r=i[1],s=r===void 0?null:r,o=H_(s,e);return D_("Cannot inject the dependency "+o+' of "'+n.name+'" constructor. Reason:',t)}function q_(n){if(typeof n.dispose!="function")return!1;var e=n.dispose;return!(e.length>0)}var K_=function(n){Oc(e,n);function e(){return n!==null&&n.apply(this,arguments)||this}return e}(Bc),W_=function(n){Oc(e,n);function e(){return n!==null&&n.apply(this,arguments)||this}return e}(Bc),G_=function(){function n(){this.preResolution=new K_,this.postResolution=new W_}return n}(),_f=new Map,J_=function(){function n(e){this.parent=e,this._registry=new M_,this.interceptors=new G_,this.disposed=!1,this.disposables=new Set}return n.prototype.register=function(e,t,i){i===void 0&&(i={lifecycle:Pe.Transient}),this.ensureNotDisposed();var r;if(V_(t)?r=t:r={useClass:t},nr(r))for(var s=[e],o=r;o!=null;){var c=o.useToken;if(s.includes(c))throw new Error("Token registration cycle detected! "+Zt(s,[c]).join(" -> "));s.push(c);var l=this._registry.get(c);l&&nr(l.provider)?o=l.provider:o=null}if((i.lifecycle===Pe.Singleton||i.lifecycle==Pe.ContainerScoped||i.lifecycle==Pe.ResolutionScoped)&&(ir(r)||va(r)))throw new Error('Cannot use lifecycle "'+Pe[i.lifecycle]+'" with ValueProviders or FactoryProviders');return this._registry.set(e,{provider:r,options:i}),this},n.prototype.registerType=function(e,t){return this.ensureNotDisposed(),Sn(t)?this.register(e,{useToken:t}):this.register(e,{useClass:t})},n.prototype.registerInstance=function(e,t){return this.ensureNotDisposed(),this.register(e,{useValue:t})},n.prototype.registerSingleton=function(e,t){if(this.ensureNotDisposed(),Sn(e)){if(Sn(t))return this.register(e,{useToken:t},{lifecycle:Pe.Singleton});if(t)return this.register(e,{useClass:t},{lifecycle:Pe.Singleton});throw new Error('Cannot register a type name as a singleton without a "to" token')}var i=e;return t&&!Sn(t)&&(i=t),this.register(e,{useClass:i},{lifecycle:Pe.Singleton})},n.prototype.resolve=function(e,t){t===void 0&&(t=new Gl),this.ensureNotDisposed();var i=this.getRegistration(e);if(!i&&Sn(e))throw new Error('Attempted to resolve unregistered dependency token: "'+e.toString()+'"');if(this.executePreResolutionInterceptor(e,"Single"),i){var r=this.resolveRegistration(i,t);return this.executePostResolutionInterceptor(e,r,"Single"),r}if(U_(e)){var r=this.construct(e,t);return this.executePostResolutionInterceptor(e,r,"Single"),r}throw new Error("Attempted to construct an undefined constructor. Could mean a circular dependency problem. Try using `delay` function.")},n.prototype.executePreResolutionInterceptor=function(e,t){var i,r;if(this.interceptors.preResolution.has(e)){var s=[];try{for(var o=Ji(this.interceptors.preResolution.getAll(e)),c=o.next();!c.done;c=o.next()){var l=c.value;l.options.frequency!="Once"&&s.push(l),l.callback(e,t)}}catch(u){i={error:u}}finally{try{c&&!c.done&&(r=o.return)&&r.call(o)}finally{if(i)throw i.error}}this.interceptors.preResolution.setAll(e,s)}},n.prototype.executePostResolutionInterceptor=function(e,t,i){var r,s;if(this.interceptors.postResolution.has(e)){var o=[];try{for(var c=Ji(this.interceptors.postResolution.getAll(e)),l=c.next();!l.done;l=c.next()){var u=l.value;u.options.frequency!="Once"&&o.push(u),u.callback(e,t,i)}}catch(p){r={error:p}}finally{try{l&&!l.done&&(s=c.return)&&s.call(c)}finally{if(r)throw r.error}}this.interceptors.postResolution.setAll(e,o)}},n.prototype.resolveRegistration=function(e,t){if(this.ensureNotDisposed(),e.options.lifecycle===Pe.ResolutionScoped&&t.scopedResolutions.has(e))return t.scopedResolutions.get(e);var i=e.options.lifecycle===Pe.Singleton,r=e.options.lifecycle===Pe.ContainerScoped,s=i||r,o;return ir(e.provider)?o=e.provider.useValue:nr(e.provider)?o=s?e.instance||(e.instance=this.resolve(e.provider.useToken,t)):this.resolve(e.provider.useToken,t):hf(e.provider)?o=s?e.instance||(e.instance=this.construct(e.provider.useClass,t)):this.construct(e.provider.useClass,t):va(e.provider)?o=e.provider.useFactory(this):o=this.construct(e.provider,t),e.options.lifecycle===Pe.ResolutionScoped&&t.scopedResolutions.set(e,o),o},n.prototype.resolveAll=function(e,t){var i=this;t===void 0&&(t=new Gl),this.ensureNotDisposed();var r=this.getAllRegistrations(e);if(!r&&Sn(e))throw new Error('Attempted to resolve unregistered dependency token: "'+e.toString()+'"');if(this.executePreResolutionInterceptor(e,"All"),r){var s=r.map(function(c){return i.resolveRegistration(c,t)});return this.executePostResolutionInterceptor(e,s,"All"),s}var o=[this.construct(e,t)];return this.executePostResolutionInterceptor(e,o,"All"),o},n.prototype.isRegistered=function(e,t){return t===void 0&&(t=!1),this.ensureNotDisposed(),this._registry.has(e)||t&&(this.parent||!1)&&this.parent.isRegistered(e,!0)},n.prototype.reset=function(){this.ensureNotDisposed(),this._registry.clear(),this.interceptors.preResolution.clear(),this.interceptors.postResolution.clear()},n.prototype.clearInstances=function(){var e,t;this.ensureNotDisposed();try{for(var i=Ji(this._registry.entries()),r=i.next();!r.done;r=i.next()){var s=Gr(r.value,2),o=s[0],c=s[1];this._registry.setAll(o,c.filter(function(l){return!ir(l.provider)}).map(function(l){return l.instance=void 0,l}))}}catch(l){e={error:l}}finally{try{r&&!r.done&&(t=i.return)&&t.call(i)}finally{if(e)throw e.error}}},n.prototype.createChildContainer=function(){var e,t;this.ensureNotDisposed();var i=new n(this);try{for(var r=Ji(this._registry.entries()),s=r.next();!s.done;s=r.next()){var o=Gr(s.value,2),c=o[0],l=o[1];l.some(function(u){var p=u.options;return p.lifecycle===Pe.ContainerScoped})&&i._registry.setAll(c,l.map(function(u){return u.options.lifecycle===Pe.ContainerScoped?{provider:u.provider,options:u.options}:u}))}}catch(u){e={error:u}}finally{try{s&&!s.done&&(t=r.return)&&t.call(r)}finally{if(e)throw e.error}}return i},n.prototype.beforeResolution=function(e,t,i){i===void 0&&(i={frequency:"Always"}),this.interceptors.preResolution.set(e,{callback:t,options:i})},n.prototype.afterResolution=function(e,t,i){i===void 0&&(i={frequency:"Always"}),this.interceptors.postResolution.set(e,{callback:t,options:i})},n.prototype.dispose=function(){return B_(this,void 0,void 0,function(){var e;return T_(this,function(t){switch(t.label){case 0:return this.disposed=!0,e=[],this.disposables.forEach(function(i){var r=i.dispose();r&&e.push(r)}),[4,Promise.all(e)];case 1:return t.sent(),[2]}})})},n.prototype.getRegistration=function(e){return this.isRegistered(e)?this._registry.get(e):this.parent?this.parent.getRegistration(e):null},n.prototype.getAllRegistrations=function(e){return this.isRegistered(e)?this._registry.getAll(e):this.parent?this.parent.getAllRegistrations(e):null},n.prototype.construct=function(e,t){var i=this;if(e instanceof gf)return e.createProxy(function(s){return i.resolve(s,t)});var r=function(){var s=_f.get(e);if(!s||s.length===0){if(e.length===0)return new e;throw new Error('TypeInfo not known for "'+e.name+'"')}var o=s.map(i.resolveParams(t,e));return new(e.bind.apply(e,Zt([void 0],o)))}();return q_(r)&&this.disposables.add(r),r},n.prototype.resolveParams=function(e,t){var i=this;return function(r,s){var o,c,l;try{return L_(r)?Wl(r)?r.multiple?(o=i.resolve(r.transform)).transform.apply(o,Zt([i.resolveAll(r.token)],r.transformArgs)):(c=i.resolve(r.transform)).transform.apply(c,Zt([i.resolve(r.token,e)],r.transformArgs)):r.multiple?i.resolveAll(r.token):i.resolve(r.token,e):Wl(r)?(l=i.resolve(r.transform,e)).transform.apply(l,Zt([i.resolve(r.token,e)],r.transformArgs)):i.resolve(r,e)}catch(u){throw new Error(F_(t,s,u))}}},n.prototype.ensureNotDisposed=function(){if(this.disposed)throw new Error("This container has been disposed, you cannot interact with a disposed container")},n}(),je=new J_;function Fs(){return function(n){_f.set(n,P_(n))}}if(typeof Reflect>"u"||!Reflect.getMetadata)throw new Error(`tsyringe requires a reflect polyfill. Please add 'import "reflect-metadata"' to the top of your entry point.`);var wa;class qs{constructor(e={}){this.attrId="",this.attrValues=[],Object.assign(e)}}d([f({type:y.ObjectIdentifier})],qs.prototype,"attrId",void 0);d([f({type:y.Any,repeated:"set"})],qs.prototype,"attrValues",void 0);let Jl=wa=class extends le{constructor(e){super(e),Object.setPrototypeOf(this,wa.prototype)}};Jl=wa=d([B({type:z.Sequence,itemType:qs})],Jl);var ba;let Zl=ba=class extends le{constructor(e){super(e),Object.setPrototypeOf(this,ba.prototype)}};Zl=ba=d([B({type:z.Sequence,itemType:Jn})],Zl);class mf{constructor(e={}){this.certId="",this.certValue=new ArrayBuffer(0),Object.assign(this,e)}}d([f({type:y.ObjectIdentifier})],mf.prototype,"certId",void 0);d([f({type:y.Any,context:0})],mf.prototype,"certValue",void 0);class yf{constructor(e={}){this.crlId="",this.crltValue=new ArrayBuffer(0),Object.assign(this,e)}}d([f({type:y.ObjectIdentifier})],yf.prototype,"crlId",void 0);d([f({type:y.Any,context:0})],yf.prototype,"crltValue",void 0);class vf extends re{}let Ks=class{constructor(e={}){this.encryptionAlgorithm=new H,this.encryptedData=new vf,Object.assign(this,e)}};d([f({type:H})],Ks.prototype,"encryptionAlgorithm",void 0);d([f({type:vf})],Ks.prototype,"encryptedData",void 0);var ka,xa;(function(n){n[n.v1=0]="v1"})(xa||(xa={}));class wf extends re{}let Sa=ka=class extends le{constructor(e){super(e),Object.setPrototypeOf(this,ka.prototype)}};Sa=ka=d([B({type:z.Sequence,itemType:Et})],Sa);class Mi{constructor(e={}){this.version=xa.v1,this.privateKeyAlgorithm=new H,this.privateKey=new wf,Object.assign(this,e)}}d([f({type:y.Integer})],Mi.prototype,"version",void 0);d([f({type:H})],Mi.prototype,"privateKeyAlgorithm",void 0);d([f({type:wf})],Mi.prototype,"privateKey",void 0);d([f({type:Sa,implicit:!0,context:0,optional:!0})],Mi.prototype,"attributes",void 0);let Yl=class extends Mi{};Yl=d([B({type:z.Sequence})],Yl);let Xl=class extends Ks{};Xl=d([B({type:z.Sequence})],Xl);class bf{constructor(e={}){this.secretTypeId="",this.secretValue=new ArrayBuffer(0),Object.assign(this,e)}}d([f({type:y.ObjectIdentifier})],bf.prototype,"secretTypeId",void 0);d([f({type:y.Any,context:0})],bf.prototype,"secretValue",void 0);class Hi{constructor(e={}){this.mac=new Hs,this.macSalt=new re,this.iterations=1,Object.assign(this,e)}}d([f({type:Hs})],Hi.prototype,"mac",void 0);d([f({type:re})],Hi.prototype,"macSalt",void 0);d([f({type:y.Integer,defaultValue:1})],Hi.prototype,"iterations",void 0);class Ws{constructor(e={}){this.version=3,this.authSafe=new Jn,this.macData=new Hi,Object.assign(this,e)}}d([f({type:y.Integer})],Ws.prototype,"version",void 0);d([f({type:Jn})],Ws.prototype,"authSafe",void 0);d([f({type:Hi,optional:!0})],Ws.prototype,"macData",void 0);var Aa;class Gs{constructor(e={}){this.bagId="",this.bagValue=new ArrayBuffer(0),Object.assign(this,e)}}d([f({type:y.ObjectIdentifier})],Gs.prototype,"bagId",void 0);d([f({type:y.Any,context:0})],Gs.prototype,"bagValue",void 0);d([f({type:qs,repeated:"set",optional:!0})],Gs.prototype,"bagAttributes",void 0);let Ql=Aa=class extends le{constructor(e){super(e),Object.setPrototypeOf(this,Aa.prototype)}};Ql=Aa=d([B({type:z.Sequence,itemType:Gs})],Ql);var Ia,Ea,$a;const kf="1.2.840.113549.1.9",xf=`${kf}.7`,Tc=`${kf}.14`;let Jr=class extends Ce{constructor(e={}){super(e)}toString(){return this.ia5String||super.toString()}};d([f({type:y.IA5String})],Jr.prototype,"ia5String",void 0);Jr=d([B({type:z.Choice})],Jr);let eu=class extends Jn{};eu=d([B({type:z.Sequence})],eu);let tu=class extends Ws{};tu=d([B({type:z.Sequence})],tu);let nu=class extends Ks{};nu=d([B({type:z.Sequence})],nu);let Ca=class{constructor(e=""){this.value=e}toString(){return this.value}};d([f({type:y.IA5String})],Ca.prototype,"value",void 0);Ca=d([B({type:z.Choice})],Ca);let iu=class extends Jr{};iu=d([B({type:z.Choice})],iu);let ru=class extends Ce{};ru=d([B({type:z.Choice})],ru);let ja=class{constructor(e=new Date){this.value=e}};d([f({type:y.GeneralizedTime})],ja.prototype,"value",void 0);ja=d([B({type:z.Choice})],ja);let su=class extends Ce{};su=d([B({type:z.Choice})],su);let za=class{constructor(e="M"){this.value=e}toString(){return this.value}};d([f({type:y.PrintableString})],za.prototype,"value",void 0);za=d([B({type:z.Choice})],za);let Zr=class{constructor(e=""){this.value=e}toString(){return this.value}};d([f({type:y.PrintableString})],Zr.prototype,"value",void 0);Zr=d([B({type:z.Choice})],Zr);let ou=class extends Zr{};ou=d([B({type:z.Choice})],ou);let au=class extends Ce{};au=d([B({type:z.Choice})],au);let Na=class{constructor(e=""){this.value=e}toString(){return this.value}};d([f({type:y.ObjectIdentifier})],Na.prototype,"value",void 0);Na=d([B({type:z.Choice})],Na);let cu=class extends Ee{};cu=d([B({type:z.Choice})],cu);let Oa=class{constructor(e=0){this.value=e}toString(){return this.value.toString()}};d([f({type:y.Integer})],Oa.prototype,"value",void 0);Oa=d([B({type:z.Choice})],Oa);let lu=class extends wt{};lu=d([B({type:z.Sequence})],lu);let Yr=class extends Ce{};Yr=d([B({type:z.Choice})],Yr);let uu=Ia=class extends Vt{constructor(e){super(e),Object.setPrototypeOf(this,Ia.prototype)}};uu=Ia=d([B({type:z.Sequence})],uu);let du=Ea=class extends le{constructor(e){super(e),Object.setPrototypeOf(this,Ea.prototype)}};du=Ea=d([B({type:z.Set,itemType:Gn})],du);let Ba=class{constructor(e=""){this.value=e}toString(){return this.value}};d([f({type:y.BmpString})],Ba.prototype,"value",void 0);Ba=d([B({type:z.Choice})],Ba);let Ta=class extends H{};Ta=d([B({type:z.Sequence})],Ta);let pu=$a=class extends le{constructor(e){super(e),Object.setPrototypeOf(this,$a.prototype)}};pu=$a=d([B({type:z.Sequence,itemType:Ta})],pu);var Ra;let Xr=Ra=class extends le{constructor(e){super(e),Object.setPrototypeOf(this,Ra.prototype)}};Xr=Ra=d([B({type:z.Sequence,itemType:Et})],Xr);class Xn{constructor(e={}){this.version=0,this.subject=new ve,this.subjectPKInfo=new ot,this.attributes=new Xr,Object.assign(this,e)}}d([f({type:y.Integer})],Xn.prototype,"version",void 0);d([f({type:ve})],Xn.prototype,"subject",void 0);d([f({type:ot})],Xn.prototype,"subjectPKInfo",void 0);d([f({type:Xr,implicit:!0,context:0})],Xn.prototype,"attributes",void 0);class bi{constructor(e={}){this.certificationRequestInfo=new Xn,this.signatureAlgorithm=new H,this.signature=new ArrayBuffer(0),Object.assign(this,e)}}d([f({type:Xn})],bi.prototype,"certificationRequestInfo",void 0);d([f({type:H})],bi.prototype,"signatureAlgorithm",void 0);d([f({type:y.BitString})],bi.prototype,"signature",void 0);/*!
|
|
95
95
|
* MIT License
|
|
96
96
|
*
|
|
97
97
|
* Copyright (c) Peculiar Ventures. All rights reserved.
|
|
@@ -118,11 +118,11 @@ PERFORMANCE OF THIS SOFTWARE.
|
|
|
118
118
|
`)}static pad(e=0){return"".padStart(2*e," ")}static serializeObj(e,t=0){const i=[];let r=this.pad(t++),s="";const o=e[ae.VALUE];o&&(s=` ${o}`),i.push(`${r}${e[ae.NAME]}:${s}`),r=this.pad(t);for(const c in e){if(typeof c=="symbol")continue;const l=e[c],u=c?`${c}: `:"";if(typeof l=="string"||typeof l=="number"||typeof l=="boolean")i.push(`${r}${u}${l}`);else if(l instanceof Date)i.push(`${r}${u}${l.toUTCString()}`);else if(Array.isArray(l))for(const p of l)p[ae.NAME]=c,i.push(...this.serializeObj(p,t));else if(l instanceof ae)l[ae.NAME]=c,i.push(...this.serializeObj(l,t));else if(U.isBufferSource(l))c?(i.push(`${r}${u}`),i.push(...this.serializeBufferSource(l,t+1))):i.push(...this.serializeBufferSource(l,t));else if("toTextObject"in l){const p=l.toTextObject();p[ae.NAME]=c,i.push(...this.serializeObj(p,t))}else throw new TypeError("Cannot serialize data in text format. Unsupported type.")}return i}static serializeBufferSource(e,t=0){const i=this.pad(t),r=U.toUint8Array(e),s=[];for(let o=0;o<r.length;){const c=[];for(let l=0;l<16&&o<r.length;l++){l===8&&c.push("");const u=r[o++].toString(16).padStart(2,"0");c.push(u)}s.push(`${i}${c.join(" ")}`)}return s}static serializeAlgorithm(e){return this.algorithmSerializer.toTextObject(e)}}yn.oidSerializer=qt;yn.algorithmSerializer=Y_;class Kt{constructor(...e){if(e.length===1){const t=e[0];this.rawData=L.serialize(t),this.onInit(t)}else{const t=L.parse(e[0],e[1]);this.rawData=U.toArrayBuffer(e[0]),this.onInit(t)}}equal(e){return e instanceof Kt?Dd(e.rawData,this.rawData):!1}toString(e="text"){switch(e){case"asn":return L.toString(this.rawData);case"text":return yn.serialize(this.toTextObject());case"hex":return W.ToHex(this.rawData);case"base64":return W.ToBase64(this.rawData);case"base64url":return W.ToBase64Url(this.rawData);default:throw TypeError("Argument 'format' is unsupported value")}}getTextName(){return this.constructor.NAME}toTextObject(){const e=this.toTextObjectEmpty();return e[""]=this.rawData,e}toTextObjectEmpty(e){return new ae(this.getTextName(),{},e)}}Kt.NAME="ASN";class et extends Kt{constructor(...e){let t;U.isBufferSource(e[0])?t=U.toArrayBuffer(e[0]):t=L.serialize(new Xe({extnID:e[0],critical:e[1],extnValue:new re(U.toArrayBuffer(e[2]))})),super(t,Xe)}onInit(e){this.type=e.extnID,this.critical=e.critical,this.value=e.extnValue.buffer}toTextObject(){const e=this.toTextObjectWithoutValue();return e[""]=this.value,e}toTextObjectWithoutValue(){const e=this.toTextObjectEmpty(this.critical?"critical":void 0);return e[ae.NAME]===et.NAME&&(e[ae.NAME]=qt.toString(this.type)),e}}var If;class Tt{static isCryptoKeyPair(e){return e&&e.privateKey&&e.publicKey}static isCryptoKey(e){return e&&e.usages&&e.type&&e.algorithm&&e.extractable!==void 0}constructor(){this.items=new Map,this[If]="CryptoProvider",typeof self<"u"&&typeof crypto<"u"?this.set(Tt.DEFAULT,crypto):typeof global<"u"&&global.crypto&&global.crypto.subtle&&this.set(Tt.DEFAULT,global.crypto)}clear(){this.items.clear()}delete(e){return this.items.delete(e)}forEach(e,t){return this.items.forEach(e,t)}has(e){return this.items.has(e)}get size(){return this.items.size}entries(){return this.items.entries()}keys(){return this.items.keys()}values(){return this.items.values()}[Symbol.iterator](){return this.items[Symbol.iterator]()}get(e=Tt.DEFAULT){const t=this.items.get(e.toLowerCase());if(!t)throw new Error(`Cannot get Crypto by name '${e}'`);return t}set(e,t){if(typeof e=="string"){if(!t)throw new TypeError("Argument 'value' is required");this.items.set(e.toLowerCase(),t)}else this.items.set(Tt.DEFAULT,e);return this}}If=Symbol.toStringTag;Tt.DEFAULT="default";const Ie=new Tt,X_=/^[0-2](?:\.[1-9][0-9]*)+$/;function Q_(n){return new RegExp(X_).test(n)}class Ef{constructor(e={}){this.items={};for(const t in e)this.register(t,e[t])}get(e){return this.items[e]||null}findId(e){return Q_(e)?e:this.get(e)}register(e,t){this.items[e]=t,this.items[t]=e}}const Ve=new Ef;Ve.register("CN","2.5.4.3");Ve.register("L","2.5.4.7");Ve.register("ST","2.5.4.8");Ve.register("O","2.5.4.10");Ve.register("OU","2.5.4.11");Ve.register("C","2.5.4.6");Ve.register("DC","0.9.2342.19200300.100.1.25");Ve.register("E","1.2.840.113549.1.9.1");Ve.register("G","2.5.4.42");Ve.register("I","2.5.4.43");Ve.register("SN","2.5.4.4");Ve.register("T","2.5.4.12");function e0(n,e){return`\\${W.ToHex(W.FromUtf8String(e)).toUpperCase()}`}function t0(n){return n.replace(/([,+"\\<>;])/g,"\\$1").replace(/^([ #])/,"\\$1").replace(/([ ]$)/,"\\$1").replace(/([\r\n\t])/,e0)}class Ze{static isASCII(e){for(let t=0;t<e.length;t++)if(e.charCodeAt(t)>255)return!1;return!0}static isPrintableString(e){return/^[A-Za-z0-9 '()+,-./:=?]*$/g.test(e)}constructor(e,t={}){this.extraNames=new Ef,this.asn=new ve;for(const i in t)if(Object.prototype.hasOwnProperty.call(t,i)){const r=t[i];this.extraNames.register(i,r)}typeof e=="string"?this.asn=this.fromString(e):e instanceof ve?this.asn=e:U.isBufferSource(e)?this.asn=L.parse(e,ve):this.asn=this.fromJSON(e)}getField(e){const t=this.extraNames.findId(e)||Ve.findId(e),i=[];for(const r of this.asn)for(const s of r)s.type===t&&i.push(s.value.toString());return i}getName(e){return this.extraNames.get(e)||Ve.get(e)}toString(){return this.asn.map(e=>e.map(t=>{const i=this.getName(t.type)||t.type,r=t.value.anyValue?`#${W.ToHex(t.value.anyValue)}`:t0(t.value.toString());return`${i}=${r}`}).join("+")).join(", ")}toJSON(){var e;const t=[];for(const i of this.asn){const r={};for(const s of i){const o=this.getName(s.type)||s.type;(e=r[o])!==null&&e!==void 0||(r[o]=[]),r[o].push(s.value.anyValue?`#${W.ToHex(s.value.anyValue)}`:s.value.toString())}t.push(r)}return t}fromString(e){const t=new ve,i=/(\d\.[\d.]*\d|[A-Za-z]+)=((?:"")|(?:".*?[^\\]")|(?:[^,+].*?(?:[^\\][,+]))|(?:))([,+])?/g;let r=null,s=",";for(;r=i.exec(`${e},`);){let[,o,c]=r;const l=c[c.length-1];(l===","||l==="+")&&(c=c.slice(0,c.length-1),r[3]=l);const u=r[3];o=this.getTypeOid(o);const p=this.createAttribute(o,c);s==="+"?t[t.length-1].push(p):t.push(new On([p])),s=u}return t}fromJSON(e){const t=new ve;for(const i of e){const r=new On;for(const s in i){const o=this.getTypeOid(s),c=i[s];for(const l of c){const u=this.createAttribute(o,l);r.push(u)}}t.push(r)}return t}getTypeOid(e){if(/[\d.]+/.test(e)||(e=this.getName(e)||""),!e)throw new Error(`Cannot get OID for name type '${e}'`);return e}createAttribute(e,t){const i=new Ss({type:e});if(typeof t=="object")for(const r in t)switch(r){case"ia5String":i.value.ia5String=t[r];break;case"utf8String":i.value.utf8String=t[r];break;case"universalString":i.value.universalString=t[r];break;case"bmpString":i.value.bmpString=t[r];break;case"printableString":i.value.printableString=t[r];break}else if(t[0]==="#")i.value.anyValue=W.FromHex(t.slice(1));else{const r=this.processStringValue(t);e===this.getName("E")||e===this.getName("DC")?i.value.ia5String=r:Ze.isPrintableString(r)?i.value.printableString=r:i.value.utf8String=r}return i}processStringValue(e){const t=/"(.*?[^\\])?"/.exec(e);return t&&(e=t[1]),e.replace(/\\0a/ig,`
|
|
119
119
|
`).replace(/\\0d/ig,"\r").replace(/\\0g/ig," ").replace(/\\(.)/g,"$1")}toArrayBuffer(){return L.serialize(this.asn)}async getThumbprint(...e){var t;let i,r="SHA-1";return e.length>=1&&!(!((t=e[0])===null||t===void 0)&&t.subtle)?(r=e[0]||r,i=e[1]||Ie.get()):i=e[0]||Ie.get(),await i.subtle.digest(r,this.toArrayBuffer())}}const $f="Cannot initialize GeneralName from ASN.1 data.",Mu=`${$f} Unsupported string format in use.`,n0=`${$f} Value doesn't match to GUID regular expression.`,Hu=/^([0-9a-f]{8})-?([0-9a-f]{4})-?([0-9a-f]{4})-?([0-9a-f]{4})-?([0-9a-f]{12})$/i,Du="1.3.6.1.4.1.311.25.1",Fu="1.3.6.1.4.1.311.20.2.3",ao="dns",co="dn",lo="email",uo="ip",po="url",fo="guid",ho="upn",Zi="id";class Rt extends Kt{constructor(...e){let t;if(e.length===2)switch(e[0]){case co:{const i=new Ze(e[1]).toArrayBuffer(),r=L.parse(i,ve);t=new Q({directoryName:r});break}case ao:t=new Q({dNSName:e[1]});break;case lo:t=new Q({rfc822Name:e[1]});break;case fo:{const i=new RegExp(Hu,"i").exec(e[1]);if(!i)throw new Error("Cannot parse GUID value. Value doesn't match to regular expression");const r=i.slice(1).map((s,o)=>o<3?W.ToHex(new Uint8Array(W.FromHex(s)).reverse()):s).join("");t=new Q({otherName:new gi({typeId:Du,value:L.serialize(new re(W.FromHex(r)))})});break}case uo:t=new Q({iPAddress:e[1]});break;case Zi:t=new Q({registeredID:e[1]});break;case ho:{t=new Q({otherName:new gi({typeId:Fu,value:L.serialize(Dp.toASN(e[1]))})});break}case po:t=new Q({uniformResourceIdentifier:e[1]});break;default:throw new Error("Cannot create GeneralName. Unsupported type of the name")}else U.isBufferSource(e[0])?t=L.parse(e[0],Q):t=e[0];super(t)}onInit(e){if(e.dNSName!=null)this.type=ao,this.value=e.dNSName;else if(e.rfc822Name!=null)this.type=lo,this.value=e.rfc822Name;else if(e.iPAddress!=null)this.type=uo,this.value=e.iPAddress;else if(e.uniformResourceIdentifier!=null)this.type=po,this.value=e.uniformResourceIdentifier;else if(e.registeredID!=null)this.type=Zi,this.value=e.registeredID;else if(e.directoryName!=null)this.type=co,this.value=new Ze(e.directoryName).toString();else if(e.otherName!=null)if(e.otherName.typeId===Du){this.type=fo;const t=L.parse(e.otherName.value,re),i=new RegExp(Hu,"i").exec(W.ToHex(t));if(!i)throw new Error(n0);this.value=i.slice(1).map((r,s)=>s<3?W.ToHex(new Uint8Array(W.FromHex(r)).reverse()):r).join("-")}else if(e.otherName.typeId===Fu)this.type=ho,this.value=L.parse(e.otherName.value,Ce).toString();else throw new Error(Mu);else throw new Error(Mu)}toJSON(){return{type:this.type,value:this.value}}toTextObject(){let e;switch(this.type){case co:case ao:case fo:case uo:case Zi:case ho:case po:e=this.type.toUpperCase();break;case lo:e="Email";break;default:throw new Error("Unsupported GeneralName type")}let t=this.value;return this.type===Zi&&(t=qt.toString(t)),new ae(e,void 0,t)}}class xi extends Kt{constructor(e){let t;if(e instanceof Be)t=e;else if(Array.isArray(e)){const i=[];for(const r of e)if(r instanceof Q)i.push(r);else{const s=L.parse(new Rt(r.type,r.value).rawData,Q);i.push(s)}t=new Be(i)}else if(U.isBufferSource(e))t=L.parse(e,Be);else throw new Error("Cannot initialize GeneralNames. Incorrect incoming arguments");super(t)}onInit(e){const t=[];for(const i of e){let r=null;try{r=new Rt(i)}catch{continue}t.push(r)}this.items=t}toJSON(){return this.items.map(e=>e.toJSON())}toTextObject(){const e=super.toTextObjectEmpty();for(const t of this.items){const i=t.toTextObject();let r=e[i[ae.NAME]];Array.isArray(r)||(r=[],e[i[ae.NAME]]=r),r.push(i)}return e}}xi.NAME="GeneralNames";const ui="-{5}",Si="\\n",i0=`[^${Si}]+`,r0=`${ui}BEGIN (${i0}(?=${ui}))${ui}`,s0=`${ui}END \\1${ui}`,Mn="\\n",o0=`[^:${Si}]+`,a0=`(?:[^${Si}]+${Mn}(?: +[^${Si}]+${Mn})*)`,c0="[a-zA-Z0-9=+/]+",l0=`(?:${c0}${Mn})+`,qu=`${r0}${Mn}(?:((?:${o0}: ${a0})+))?${Mn}?(${l0})${s0}`;class qe{static isPem(e){return typeof e=="string"&&new RegExp(qu,"g").test(e)}static decodeWithHeaders(e){e=e.replace(/\r/g,"");const t=new RegExp(qu,"g"),i=[];let r=null;for(;r=t.exec(e);){const s=r[3].replace(new RegExp(`[${Si}]+`,"g"),""),o={type:r[1],headers:[],rawData:W.FromBase64(s)},c=r[2];if(c){const l=c.split(new RegExp(Mn,"g"));let u=null;for(const p of l){const[g,m]=p.split(/:(.*)/);if(m===void 0){if(!u)throw new Error("Cannot parse PEM string. Incorrect header value");u.value+=g.trim()}else u&&o.headers.push(u),u={key:g,value:m.trim()}}u&&o.headers.push(u)}i.push(o)}return i}static decode(e){return this.decodeWithHeaders(e).map(i=>i.rawData)}static decodeFirst(e){const t=this.decode(e);if(!t.length)throw new RangeError("PEM string doesn't contain any objects");return t[0]}static encode(e,t){if(Array.isArray(e)){const i=new Array;return t?e.forEach(r=>{if(!U.isBufferSource(r))throw new TypeError("Cannot encode array of BufferSource in PEM format. Not all items of the array are BufferSource");i.push(this.encodeStruct({type:t,rawData:U.toArrayBuffer(r)}))}):e.forEach(r=>{if(!("type"in r))throw new TypeError("Cannot encode array of PemStruct in PEM format. Not all items of the array are PemStrut");i.push(this.encodeStruct(r))}),i.join(`
|
|
120
120
|
`)}else{if(!t)throw new Error("Required argument 'tag' is missed");return this.encodeStruct({type:t,rawData:U.toArrayBuffer(e)})}}static encodeStruct(e){var t;const i=e.type.toLocaleUpperCase(),r=[];if(r.push(`-----BEGIN ${i}-----`),!((t=e.headers)===null||t===void 0)&&t.length){for(const u of e.headers)r.push(`${u.key}: ${u.value}`);r.push("")}const s=W.ToBase64(e.rawData);let o,c=0;const l=Array();for(;c<s.length&&(s.length-c<64?o=s.substring(c):(o=s.substring(c,c+64),c+=64),o.length!==0);)if(l.push(o),o.length<64)break;return r.push(...l),r.push(`-----END ${i}-----`),r.join(`
|
|
121
|
-
`)}}qe.CertificateTag="CERTIFICATE";qe.CrlTag="CRL";qe.CertificateRequestTag="CERTIFICATE REQUEST";qe.PublicKeyTag="PUBLIC KEY";qe.PrivateKeyTag="PRIVATE KEY";class Ct extends Kt{static isAsnEncoded(e){return U.isBufferSource(e)||typeof e=="string"}static toArrayBuffer(e){if(typeof e=="string"){if(qe.isPem(e))return qe.decode(e)[0];if(W.isHex(e))return W.FromHex(e);if(W.isBase64(e))return W.FromBase64(e);if(W.isBase64Url(e))return W.FromBase64Url(e);throw new TypeError("Unsupported format of 'raw' argument. Must be one of DER, PEM, HEX, Base64, or Base4Url")}else{const t=W.ToBinary(e);return qe.isPem(t)?qe.decode(t)[0]:W.isHex(t)?W.FromHex(t):W.isBase64(t)?W.FromBase64(t):W.isBase64Url(t)?W.FromBase64Url(t):U.toArrayBuffer(e)}}constructor(...e){Ct.isAsnEncoded(e[0])?super(Ct.toArrayBuffer(e[0]),e[1]):super(e[0])}toString(e="pem"){switch(e){case"pem":return qe.encode(this.rawData,this.tag);default:return super.toString(e)}}}class at extends Ct{static async create(e,t=Ie.get()){if(e instanceof at)return e;if(Tt.isCryptoKey(e)){if(e.type!=="public")throw new TypeError("Public key is required");const i=await t.subtle.exportKey("spki",e);return new at(i)}else{if(e.publicKey)return e.publicKey;if(U.isBufferSource(e))return new at(e);throw new TypeError("Unsupported PublicKeyType")}}constructor(e){Ct.isAsnEncoded(e)?super(e,ot):super(e),this.tag=qe.PublicKeyTag}async export(...e){let t,i=["verify"],r={hash:"SHA-256",...this.algorithm};e.length>1?(r=e[0]||r,i=e[1]||i,t=e[2]||Ie.get()):t=e[0]||Ie.get();let s=this.rawData;const o=L.parse(this.rawData,ot);return o.algorithm.algorithm===li&&(s=u0(o,s)),t.subtle.importKey("spki",s,r,!0,i)}onInit(e){const t=je.resolve(mn),i=this.algorithm=t.toWebAlgorithm(e.algorithm);switch(e.algorithm.algorithm){case hn:{const r=L.parse(e.subjectPublicKey,Nc),s=U.toUint8Array(r.modulus);i.publicExponent=U.toUint8Array(r.publicExponent),i.modulusLength=(s[0]?s:s.slice(1)).byteLength<<3;break}}}async getThumbprint(...e){var t;let i,r="SHA-1";return e.length>=1&&!(!((t=e[0])===null||t===void 0)&&t.subtle)?(r=e[0]||r,i=e[1]||Ie.get()):i=e[0]||Ie.get(),await i.subtle.digest(r,this.rawData)}async getKeyIdentifier(...e){let t,i="SHA-1";e.length===1?typeof e[0]=="string"?(i=e[0],t=Ie.get()):t=e[0]:e.length===2?(i=e[0],t=e[1]):t=Ie.get();const r=L.parse(this.rawData,ot);return await t.subtle.digest(i,r.subjectPublicKey)}toTextObject(){const e=this.toTextObjectEmpty(),t=L.parse(this.rawData,ot);switch(e.Algorithm=yn.serializeAlgorithm(t.algorithm),t.algorithm.algorithm){case vi:e["EC Point"]=t.subjectPublicKey;break;case hn:default:e["Raw Data"]=t.subjectPublicKey}return e}}function u0(n,e){return n.algorithm=new H({algorithm:hn,parameters:null}),e=L.serialize(n),e}class Ai extends et{static async create(e,t=!1,i=Ie.get()){if("name"in e&&"serialNumber"in e)return new Ai(e,t);const s=await(await at.create(e,i)).getKeyIdentifier(i);return new Ai(W.ToHex(s),t)}constructor(...e){if(U.isBufferSource(e[0]))super(e[0]);else if(typeof e[0]=="string"){const t=new Qt({keyIdentifier:new fc(W.FromHex(e[0]))});super(No,e[1],L.serialize(t))}else{const t=e[0],i=t.name instanceof xi?L.parse(t.name.rawData,Be):t.name,r=new Qt({authorityCertIssuer:i,authorityCertSerialNumber:W.FromHex(t.serialNumber)});super(No,e[1],L.serialize(r))}}onInit(e){super.onInit(e);const t=L.parse(e.extnValue,Qt);t.keyIdentifier&&(this.keyId=W.ToHex(t.keyIdentifier)),(t.authorityCertIssuer||t.authorityCertSerialNumber)&&(this.certId={name:t.authorityCertIssuer||[],serialNumber:t.authorityCertSerialNumber?W.ToHex(t.authorityCertSerialNumber):""})}toTextObject(){const e=this.toTextObjectWithoutValue(),t=L.parse(this.value,Qt);return t.authorityCertIssuer&&(e["Authority Issuer"]=new xi(t.authorityCertIssuer).toTextObject()),t.authorityCertSerialNumber&&(e["Authority Serial Number"]=t.authorityCertSerialNumber),t.keyIdentifier&&(e[""]=t.keyIdentifier),e}}Ai.NAME="Authority Key Identifier";class Rc extends et{constructor(...e){if(U.isBufferSource(e[0])){super(e[0]);const t=L.parse(this.value,xr);this.ca=t.cA,this.pathLength=t.pathLenConstraint}else{const t=new xr({cA:e[0],pathLenConstraint:e[1]});super(Kp,e[2],L.serialize(t)),this.ca=e[0],this.pathLength=e[1]}}toTextObject(){const e=this.toTextObjectWithoutValue();return this.ca&&(e.CA=this.ca),this.pathLength!==void 0&&(e["Path Length"]=this.pathLength),e}}Rc.NAME="Basic Constraints";var Ku;(function(n){n.serverAuth="1.3.6.1.5.5.7.3.1",n.clientAuth="1.3.6.1.5.5.7.3.2",n.codeSigning="1.3.6.1.5.5.7.3.3",n.emailProtection="1.3.6.1.5.5.7.3.4",n.timeStamping="1.3.6.1.5.5.7.3.8",n.ocspSigning="1.3.6.1.5.5.7.3.9"})(Ku||(Ku={}));class Pc extends et{constructor(...e){if(U.isBufferSource(e[0])){super(e[0]);const t=L.parse(this.value,Er);this.usages=t.map(i=>i)}else{const t=new Er(e[0]);super(Jp,e[1],L.serialize(t)),this.usages=e[0]}}toTextObject(){const e=this.toTextObjectWithoutValue();return e[""]=this.usages.map(t=>qt.toString(t)).join(", "),e}}Pc.NAME="Extended Key Usages";var Qr;(function(n){n[n.digitalSignature=1]="digitalSignature",n[n.nonRepudiation=2]="nonRepudiation",n[n.keyEncipherment=4]="keyEncipherment",n[n.dataEncipherment=8]="dataEncipherment",n[n.keyAgreement=16]="keyAgreement",n[n.keyCertSign=32]="keyCertSign",n[n.cRLSign=64]="cRLSign",n[n.encipherOnly=128]="encipherOnly",n[n.decipherOnly=256]="decipherOnly"})(Qr||(Qr={}));class Lc extends et{constructor(...e){if(U.isBufferSource(e[0])){super(e[0]);const t=L.parse(this.value,oo);this.usages=t.toNumber()}else{const t=new oo(e[0]);super(Zp,e[1],L.serialize(t)),this.usages=e[0]}}toTextObject(){const e=this.toTextObjectWithoutValue(),t=L.parse(this.value,oo);return e[""]=t.toJSON().join(", "),e}}Lc.NAME="Key Usages";class Fi extends et{static async create(e,t=!1,i=Ie.get()){const s=await(await at.create(e,i)).getKeyIdentifier(i);return new Fi(W.ToHex(s),t)}constructor(...e){if(U.isBufferSource(e[0])){super(e[0]);const t=L.parse(this.value,Lt);this.keyId=W.ToHex(t)}else{const t=typeof e[0]=="string"?W.FromHex(e[0]):e[0],i=new Lt(t);super(ef,e[1],L.serialize(i)),this.keyId=W.ToHex(t)}}toTextObject(){const e=this.toTextObjectWithoutValue(),t=L.parse(this.value,Lt);return e[""]=t,e}}Fi.NAME="Subject Key Identifier";class Cf extends et{constructor(...e){U.isBufferSource(e[0])?super(e[0]):super(Qp,e[1],new xi(e[0]||[]).rawData)}onInit(e){super.onInit(e);const t=L.parse(e.extnValue,Wo);this.names=new xi(t)}toTextObject(){const e=this.toTextObjectWithoutValue(),t=this.names.toTextObject();for(const i in t)e[i]=t[i];return e}}Cf.NAME="Subject Alternative Name";class tt{static register(e,t){this.items.set(e,t)}static create(e){const t=new et(e),i=this.items.get(t.type);return i?new i(e):t}}tt.items=new Map;class jf extends et{constructor(...e){var t;if(U.isBufferSource(e[0])){super(e[0]);const i=L.parse(this.value,Ar);this.policies=i.map(r=>r.policyIdentifier)}else{const i=e[0],r=(t=e[1])!==null&&t!==void 0?t:!1,s=new Ar(i.map(o=>new Is({policyIdentifier:o})));super(Wp,r,L.serialize(s)),this.policies=i}}toTextObject(){const e=this.toTextObjectWithoutValue();return e.Policy=this.policies.map(t=>new ae("",{},qt.toString(t))),e}}jf.NAME="Certificate Policies";tt.register(Wp,jf);class zf extends et{constructor(...e){var t;if(U.isBufferSource(e[0]))super(e[0]);else if(Array.isArray(e[0])&&typeof e[0][0]=="string"){const r=e[0].map(o=>new Kn({distributionPoint:new un({fullName:[new Q({uniformResourceIdentifier:o})]})})),s=new Cn(r);super(Po,e[1],L.serialize(s))}else{const i=new Cn(e[0]);super(Po,e[1],L.serialize(i))}(t=this.distributionPoints)!==null&&t!==void 0||(this.distributionPoints=[])}onInit(e){super.onInit(e);const t=L.parse(e.extnValue,Cn);this.distributionPoints=t}toTextObject(){const e=this.toTextObjectWithoutValue();return e["Distribution Point"]=this.distributionPoints.map(t=>{var i;const r={};return t.distributionPoint&&(r[""]=(i=t.distributionPoint.fullName)===null||i===void 0?void 0:i.map(s=>new Rt(s).toString()).join(", ")),t.reasons&&(r.Reasons=t.reasons.toString()),t.cRLIssuer&&(r["CRL Issuer"]=t.cRLIssuer.map(s=>s.toString()).join(", ")),r}),e}}zf.NAME="CRL Distribution Points";class Nf extends et{constructor(...e){var t,i,r,s;if(U.isBufferSource(e[0]))super(e[0]);else if(e[0]instanceof In){const o=new In(e[0]);super(zo,e[1],L.serialize(o))}else{const o=e[0],c=new In;Xi(c,o,Cl,"ocsp"),Xi(c,o,jl,"caIssuers"),Xi(c,o,zl,"timeStamping"),Xi(c,o,Nl,"caRepository"),super(zo,e[1],L.serialize(c))}(t=this.ocsp)!==null&&t!==void 0||(this.ocsp=[]),(i=this.caIssuers)!==null&&i!==void 0||(this.caIssuers=[]),(r=this.timeStamping)!==null&&r!==void 0||(this.timeStamping=[]),(s=this.caRepository)!==null&&s!==void 0||(this.caRepository=[])}onInit(e){super.onInit(e),this.ocsp=[],this.caIssuers=[],this.timeStamping=[],this.caRepository=[],L.parse(e.extnValue,In).forEach(i=>{switch(i.accessMethod){case Cl:this.ocsp.push(new Rt(i.accessLocation));break;case jl:this.caIssuers.push(new Rt(i.accessLocation));break;case zl:this.timeStamping.push(new Rt(i.accessLocation));break;case Nl:this.caRepository.push(new Rt(i.accessLocation));break}})}toTextObject(){const e=this.toTextObjectWithoutValue();return this.ocsp.length&&Yi(e,"OCSP",this.ocsp),this.caIssuers.length&&Yi(e,"CA Issuers",this.caIssuers),this.timeStamping.length&&Yi(e,"Time Stamping",this.timeStamping),this.caRepository.length&&Yi(e,"CA Repository",this.caRepository),e}}Nf.NAME="Authority Info Access";function Yi(n,e,t){if(t.length===1)n[e]=t[0].toTextObject();else{const i=new ae("");t.forEach((r,s)=>{const o=r.toTextObject(),c=`${o[ae.NAME]} ${s+1}`;let l=i[c];Array.isArray(l)||(l=[],i[c]=l),l.push(o)}),n[e]=i}}function Xi(n,e,t,i){const r=e[i];r&&(Array.isArray(r)?r:[r]).forEach(o=>{typeof o=="string"&&(o=new Rt("url",o)),n.push(new zi({accessMethod:t,accessLocation:L.parse(o.rawData,Q)}))})}class Qn extends Kt{constructor(...e){let t;if(U.isBufferSource(e[0]))t=U.toArrayBuffer(e[0]);else{const i=e[0],r=Array.isArray(e[1])?e[1].map(s=>U.toArrayBuffer(s)):[];t=L.serialize(new It({type:i,values:r}))}super(t,It)}onInit(e){this.type=e.type,this.values=e.values}toTextObject(){const e=this.toTextObjectWithoutValue();return e.Value=this.values.map(t=>new ae("",{"":t})),e}toTextObjectWithoutValue(){const e=this.toTextObjectEmpty();return e[ae.NAME]===Qn.NAME&&(e[ae.NAME]=qt.toString(this.type)),e}}Qn.NAME="Attribute";class Of extends Qn{constructor(...e){var t;if(U.isBufferSource(e[0]))super(e[0]);else{const i=new Yr({printableString:e[0]});super(xf,[L.serialize(i)])}(t=this.password)!==null&&t!==void 0||(this.password="")}onInit(e){if(super.onInit(e),this.values[0]){const t=L.parse(this.values[0],Yr);this.password=t.toString()}}toTextObject(){const e=this.toTextObjectWithoutValue();return e[ae.VALUE]=this.password,e}}Of.NAME="Challenge Password";class Uc extends Qn{constructor(...e){var t;if(U.isBufferSource(e[0]))super(e[0]);else{const i=e[0],r=new Vt;for(const s of i)r.push(L.parse(s.rawData,Xe));super(Tc,[L.serialize(r)])}(t=this.items)!==null&&t!==void 0||(this.items=[])}onInit(e){if(super.onInit(e),this.values[0]){const t=L.parse(this.values[0],Vt);this.items=t.map(i=>tt.create(L.serialize(i)))}}toTextObject(){const e=this.toTextObjectWithoutValue(),t=this.items.map(i=>i.toTextObject());for(const i of t)e[i[ae.NAME]]=i;return e}}Uc.NAME="Extensions";class Js{static register(e,t){this.items.set(e,t)}static create(e){const t=new Qn(e),i=this.items.get(t.type);return i?new i(e):t}}Js.items=new Map;const qi="crypto.signatureFormatter";class d0{toAsnSignature(e,t){return U.toArrayBuffer(t)}toWebSignature(e,t){return U.toArrayBuffer(t)}}var sr;let Pa=sr=class{static createPssParams(e,t){const i=sr.getHashAlgorithm(e);return i?new _n({hashAlgorithm:i,maskGenAlgorithm:new H({algorithm:Vs,parameters:L.serialize(i)}),saltLength:t}):null}static getHashAlgorithm(e){const t=je.resolve(mn);return typeof e=="string"?t.toAsnAlgorithm({name:e}):typeof e=="object"&&e&&"name"in e?t.toAsnAlgorithm(e):null}toAsnAlgorithm(e){switch(e.name.toLowerCase()){case"rsassa-pkcs1-v1_5":if("hash"in e){let t;if(typeof e.hash=="string")t=e.hash;else if(e.hash&&typeof e.hash=="object"&&"name"in e.hash&&typeof e.hash.name=="string")t=e.hash.name.toUpperCase();else throw new Error("Cannot get hash algorithm name");switch(t.toLowerCase()){case"sha-1":return new H({algorithm:Mr,parameters:null});case"sha-256":return new H({algorithm:ha,parameters:null});case"sha-384":return new H({algorithm:Hr,parameters:null});case"sha-512":return new H({algorithm:Dr,parameters:null})}}else return new H({algorithm:hn,parameters:null});break;case"rsa-pss":if("hash"in e){if(!("saltLength"in e&&typeof e.saltLength=="number"))throw new Error("Cannot get 'saltLength' from 'alg' argument");const t=sr.createPssParams(e.hash,e.saltLength);if(!t)throw new Error("Cannot create PSS parameters");return new H({algorithm:li,parameters:L.serialize(t)})}else return new H({algorithm:li,parameters:null})}return null}toWebAlgorithm(e){switch(e.algorithm){case hn:return{name:"RSASSA-PKCS1-v1_5"};case Mr:return{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-1"}};case ha:return{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}};case Hr:return{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-384"}};case Dr:return{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-512"}};case li:if(e.parameters){const t=L.parse(e.parameters,_n);return{name:"RSA-PSS",hash:je.resolve(mn).toWebAlgorithm(t.hashAlgorithm),saltLength:t.saltLength}}else return{name:"RSA-PSS"}}return null}};Pa=sr=d([Fs()],Pa);je.registerSingleton(Di,Pa);let La=class{toAsnAlgorithm(e){switch(e.name.toLowerCase()){case"sha-1":return new H({algorithm:Fr});case"sha-256":return new H({algorithm:qr});case"sha-384":return new H({algorithm:Kr});case"sha-512":return new H({algorithm:Wr})}return null}toWebAlgorithm(e){switch(e.algorithm){case Fr:return{name:"SHA-1"};case qr:return{name:"SHA-256"};case Kr:return{name:"SHA-384"};case Wr:return{name:"SHA-512"}}return null}};La=d([Fs()],La);je.registerSingleton(Di,La);class Ye{addPadding(e,t){const i=U.toUint8Array(t),r=new Uint8Array(e);return r.set(i,e-i.length),r}removePadding(e,t=!1){let i=U.toUint8Array(e);for(let r=0;r<i.length;r++)if(i[r]){i=i.slice(r);break}if(t&&i[0]>127){const r=new Uint8Array(i.length+1);return r.set(i,1),r.buffer}return i.buffer}toAsnSignature(e,t){if(e.name==="ECDSA"){const i=e.namedCurve,r=Ye.namedCurveSize.get(i)||Ye.defaultNamedCurveSize,s=new Vr,o=U.toUint8Array(t);return s.r=this.removePadding(o.slice(0,r),!0),s.s=this.removePadding(o.slice(r,r+r),!0),L.serialize(s)}return null}toWebSignature(e,t){if(e.name==="ECDSA"){const i=L.parse(t,Vr),r=e.namedCurve,s=Ye.namedCurveSize.get(r)||Ye.defaultNamedCurveSize,o=this.addPadding(s,this.removePadding(i.r)),c=this.addPadding(s,this.removePadding(i.s));return Sg(o,c)}return null}}Ye.namedCurveSize=new Map;Ye.defaultNamedCurveSize=32;const go="1.3.101.110",Wu="1.3.101.111",_o="1.3.101.112",Gu="1.3.101.113";let Ua=class{toAsnAlgorithm(e){let t=null;switch(e.name.toLowerCase()){case"ed25519":t=_o;break;case"x25519":t=go;break;case"eddsa":switch(e.namedCurve.toLowerCase()){case"ed25519":t=_o;break;case"ed448":t=Gu;break}break;case"ecdh-es":switch(e.namedCurve.toLowerCase()){case"x25519":t=go;break;case"x448":t=Wu;break}}return t?new H({algorithm:t}):null}toWebAlgorithm(e){switch(e.algorithm){case _o:return{name:"Ed25519"};case Gu:return{name:"EdDSA",namedCurve:"Ed448"};case go:return{name:"X25519"};case Wu:return{name:"ECDH-ES",namedCurve:"X448"}}return null}};Ua=d([Fs()],Ua);je.registerSingleton(Di,Ua);class p0 extends Ct{constructor(e){Ct.isAsnEncoded(e)?super(e,bi):super(e),this.tag=qe.CertificateRequestTag}onInit(e){this.tbs=L.serialize(e.certificationRequestInfo),this.publicKey=new at(e.certificationRequestInfo.subjectPKInfo);const t=je.resolve(mn);this.signatureAlgorithm=t.toWebAlgorithm(e.signatureAlgorithm),this.signature=e.signature,this.attributes=e.certificationRequestInfo.attributes.map(r=>Js.create(L.serialize(r)));const i=this.getAttribute(Tc);this.extensions=[],i instanceof Uc&&(this.extensions=i.items),this.subjectName=new Ze(e.certificationRequestInfo.subject),this.subject=this.subjectName.toString()}getAttribute(e){for(const t of this.attributes)if(t.type===e)return t;return null}getAttributes(e){return this.attributes.filter(t=>t.type===e)}getExtension(e){for(const t of this.extensions)if(t.type===e)return t;return null}getExtensions(e){return this.extensions.filter(t=>t.type===e)}async verify(e=Ie.get()){const t={...this.publicKey.algorithm,...this.signatureAlgorithm},i=await this.publicKey.export(t,["verify"],e),r=je.resolveAll(qi).reverse();let s=null;for(const c of r)if(s=c.toWebSignature(t,this.signature),s)break;if(!s)throw Error("Cannot convert WebCrypto signature value to ASN.1 format");return await e.subtle.verify(this.signatureAlgorithm,i,s,this.tbs)}toTextObject(){const e=this.toTextObjectEmpty(),t=L.parse(this.rawData,bi),i=t.certificationRequestInfo,r=new ae("",{Version:`${dn[i.version]} (${i.version})`,Subject:this.subject,"Subject Public Key Info":this.publicKey});if(this.attributes.length){const s=new ae("");for(const o of this.attributes){const c=o.toTextObject();s[c[ae.NAME]]=c}r.Attributes=s}return e.Data=r,e.Signature=new ae("",{Algorithm:yn.serializeAlgorithm(t.signatureAlgorithm),"":t.signature}),e}}p0.NAME="PKCS#10 Certificate Request";class Vc extends Ct{constructor(e){Ct.isAsnEncoded(e)?super(e,pn):super(e),this.tag=qe.CertificateTag}onInit(e){const t=e.tbsCertificate;this.tbs=L.serialize(t),this.serialNumber=W.ToHex(t.serialNumber),this.subjectName=new Ze(t.subject),this.subject=new Ze(t.subject).toString(),this.issuerName=new Ze(t.issuer),this.issuer=this.issuerName.toString();const i=je.resolve(mn);this.signatureAlgorithm=i.toWebAlgorithm(e.signatureAlgorithm),this.signature=e.signatureValue;const r=t.validity.notBefore.utcTime||t.validity.notBefore.generalTime;if(!r)throw new Error("Cannot get 'notBefore' value");this.notBefore=r;const s=t.validity.notAfter.utcTime||t.validity.notAfter.generalTime;if(!s)throw new Error("Cannot get 'notAfter' value");this.notAfter=s,this.extensions=[],t.extensions&&(this.extensions=t.extensions.map(o=>tt.create(L.serialize(o)))),this.publicKey=new at(t.subjectPublicKeyInfo)}getExtension(e){for(const t of this.extensions)if(typeof e=="string"){if(t.type===e)return t}else if(t instanceof e)return t;return null}getExtensions(e){return this.extensions.filter(t=>typeof e=="string"?t.type===e:t instanceof e)}async verify(e={},t=Ie.get()){let i,r;const s=e.publicKey;try{if(!s)i={...this.publicKey.algorithm,...this.signatureAlgorithm},r=await this.publicKey.export(i,["verify"],t);else if("publicKey"in s)i={...s.publicKey.algorithm,...this.signatureAlgorithm},r=await s.publicKey.export(i,["verify"],t);else if(s instanceof at)i={...s.algorithm,...this.signatureAlgorithm},r=await s.export(i,["verify"],t);else if(U.isBufferSource(s)){const u=new at(s);i={...u.algorithm,...this.signatureAlgorithm},r=await u.export(i,["verify"],t)}else i={...s.algorithm,...this.signatureAlgorithm},r=s}catch{return!1}const o=je.resolveAll(qi).reverse();let c=null;for(const u of o)if(c=u.toWebSignature(i,this.signature),c)break;if(!c)throw Error("Cannot convert ASN.1 signature value to WebCrypto format");const l=await t.subtle.verify(this.signatureAlgorithm,r,c,this.tbs);if(e.signatureOnly)return l;{const p=(e.date||new Date).getTime();return l&&this.notBefore.getTime()<p&&p<this.notAfter.getTime()}}async getThumbprint(...e){let t,i="SHA-1";return e[0]&&(e[0].subtle?t=e[0]:(i=e[0]||i,t=e[1])),t??(t=Ie.get()),await t.subtle.digest(i,this.rawData)}async isSelfSigned(e=Ie.get()){return this.subject===this.issuer&&await this.verify({signatureOnly:!0},e)}toTextObject(){const e=this.toTextObjectEmpty(),t=L.parse(this.rawData,pn),i=t.tbsCertificate,r=new ae("",{Version:`${dn[i.version]} (${i.version})`,"Serial Number":i.serialNumber,"Signature Algorithm":yn.serializeAlgorithm(i.signature),Issuer:this.issuer,Validity:new ae("",{"Not Before":i.validity.notBefore.getTime(),"Not After":i.validity.notAfter.getTime()}),Subject:this.subject,"Subject Public Key Info":this.publicKey});if(i.issuerUniqueID&&(r["Issuer Unique ID"]=i.issuerUniqueID),i.subjectUniqueID&&(r["Subject Unique ID"]=i.subjectUniqueID),this.extensions.length){const s=new ae("");for(const o of this.extensions){const c=o.toTextObject();s[c[ae.NAME]]=c}r.Extensions=s}return e.Data=r,e.Signature=new ae("",{Algorithm:yn.serializeAlgorithm(t.signatureAlgorithm),"":t.signatureValue}),e}}Vc.NAME="Certificate";class f0{static async createSelfSigned(e,t=Ie.get()){if(!e.keys.privateKey)throw new Error("Bad field 'keys' in 'params' argument. 'privateKey' is empty");if(!e.keys.publicKey)throw new Error("Bad field 'keys' in 'params' argument. 'publicKey' is empty");return this.create({serialNumber:e.serialNumber,subject:e.name,issuer:e.name,notBefore:e.notBefore,notAfter:e.notAfter,publicKey:e.keys.publicKey,signingKey:e.keys.privateKey,signingAlgorithm:e.signingAlgorithm,extensions:e.extensions},t)}static async create(e,t=Ie.get()){var i;let r;e.publicKey instanceof at?r=e.publicKey.rawData:"publicKey"in e.publicKey?r=e.publicKey.publicKey.rawData:U.isBufferSource(e.publicKey)?r=e.publicKey:r=await t.subtle.exportKey("spki",e.publicKey);const s=e.serialNumber?U.toUint8Array(W.FromHex(e.serialNumber)):t.getRandomValues(new Uint8Array(16));s[0]>127&&(s[0]&=127),s.length>1&&s[0]===0&&(s[1]|=128);const o=e.notBefore||new Date,c=e.notAfter||new Date(o.getTime()+31536e6),l=new pn({tbsCertificate:new Ge({version:dn.v3,serialNumber:s,validity:new Ni({notBefore:o,notAfter:c}),extensions:new Vt(((i=e.extensions)===null||i===void 0?void 0:i.map(b=>L.parse(b.rawData,Xe)))||[]),subjectPublicKeyInfo:L.parse(r,ot)})});if(e.subject){const b=e.subject instanceof Ze?e.subject:new Ze(e.subject);l.tbsCertificate.subject=L.parse(b.toArrayBuffer(),ve)}if(e.issuer){const b=e.issuer instanceof Ze?e.issuer:new Ze(e.issuer);l.tbsCertificate.issuer=L.parse(b.toArrayBuffer(),ve)}const u={hash:"SHA-256"},p="signingKey"in e?{...u,...e.signingAlgorithm,...e.signingKey.algorithm}:{...u,...e.signingAlgorithm},g=je.resolve(mn);l.tbsCertificate.signature=l.signatureAlgorithm=g.toAsnAlgorithm(p);const m=L.serialize(l.tbsCertificate),x="signingKey"in e?await t.subtle.sign(p,e.signingKey,m):e.signature,h=je.resolveAll(qi).reverse();let _=null;for(const b of h)if(_=b.toAsnSignature(p,x),_)break;if(!_)throw Error("Cannot convert ASN.1 signature value to WebCrypto format");return l.signatureValue=_,new Vc(L.serialize(l))}}var Ju;(function(n){n[n.unspecified=0]="unspecified",n[n.keyCompromise=1]="keyCompromise",n[n.cACompromise=2]="cACompromise",n[n.affiliationChanged=3]="affiliationChanged",n[n.superseded=4]="superseded",n[n.cessationOfOperation=5]="cessationOfOperation",n[n.certificateHold=6]="certificateHold",n[n.removeFromCRL=8]="removeFromCRL",n[n.privilegeWithdrawn=9]="privilegeWithdrawn",n[n.aACompromise=10]="aACompromise"})(Ju||(Ju={}));tt.register(Kp,Rc);tt.register(Jp,Pc);tt.register(Zp,Lc);tt.register(ef,Fi);tt.register(No,Ai);tt.register(Qp,Cf);tt.register(Po,zf);tt.register(zo,Nf);Js.register(xf,Of);Js.register(Tc,Uc);je.registerSingleton(qi,d0);je.registerSingleton(qi,Ye);Ye.namedCurveSize.set("P-256",32);Ye.namedCurveSize.set("K-256",32);Ye.namedCurveSize.set("P-384",48);Ye.namedCurveSize.set("P-521",66);const Zu="0123456789abcdef";function Va(n){const e=new Uint8Array(n);let t="";for(let i=0;i<e.length;i++){const r=e[i]>>4;t+=Zu[r];const s=e[i]&15;t+=Zu[s]}return t}class Bf{constructor(e,t){te(this,"alphabet");te(this,"padding");te(this,"decodeMap",new Map);if(e.length!==32)throw new Error("Invalid alphabet");if(this.alphabet=e,this.padding=(t==null?void 0:t.padding)??"=",this.alphabet.includes(this.padding)||this.padding.length!==1)throw new Error("Invalid padding");for(let i=0;i<e.length;i++)this.decodeMap.set(e[i],i)}encode(e,t){let i="",r=0,s=0;for(let c=0;c<e.length;c++)for(r=r<<8|e[c],s+=8;s>=5;)s-=5,i+=this.alphabet[r>>s&31];if(s>0&&(i+=this.alphabet[r<<5-s&31]),(t==null?void 0:t.includePadding)??!0){const c=(8-i.length%8)%8;for(let l=0;l<c;l++)i+="="}return i}decode(e,t){const i=(t==null?void 0:t.strict)??!0,r=Math.ceil(e.length/8),s=[];for(let o=0;o<r;o++){let c=0;const l=[];for(let p=0;p<8;p++){const g=e[o*8+p];if(g==="="){if(o+1!==r)throw new Error(`Invalid character: ${g}`);c+=1;continue}if(g===void 0){if(i)throw new Error("Invalid data");c+=1;continue}const m=this.decodeMap.get(g)??null;if(m===null)throw new Error(`Invalid character: ${g}`);l.push(m)}if(c===8||c===7||c===5||c===2)throw new Error("Invalid padding");const u=(l[0]<<3)+(l[1]>>2);if(s.push(u),c<6){const p=((l[1]&3)<<6)+(l[2]<<1)+(l[3]>>4);s.push(p)}if(c<4){const p=((l[3]&255)<<4)+(l[4]>>1);s.push(p)}if(c<3){const p=((l[4]&1)<<7)+(l[5]<<2)+(l[6]>>3);s.push(p)}if(c<1){const p=((l[6]&7)<<5)+l[7];s.push(p)}}return Uint8Array.from(s)}}new Bf("ABCDEFGHIJKLMNOPQRSTUVWXYZ234567");new Bf("0123456789ABCDEFGHIJKLMNOPQRSTUV");class Tf{constructor(e,t){te(this,"alphabet");te(this,"padding");te(this,"decodeMap",new Map);if(e.length!==64)throw new Error("Invalid alphabet");if(this.alphabet=e,this.padding=(t==null?void 0:t.padding)??"=",this.alphabet.includes(this.padding)||this.padding.length!==1)throw new Error("Invalid padding");for(let i=0;i<e.length;i++)this.decodeMap.set(e[i],i)}encode(e,t){let i="",r=0,s=0;for(let c=0;c<e.length;c++)for(r=r<<8|e[c],s+=8;s>=6;)s+=-6,i+=this.alphabet[r>>s&63];if(s>0&&(i+=this.alphabet[r<<6-s&63]),(t==null?void 0:t.includePadding)??!0){const c=(4-i.length%4)%4;for(let l=0;l<c;l++)i+="="}return i}decode(e,t){const i=(t==null?void 0:t.strict)??!0,r=Math.ceil(e.length/4),s=[];for(let o=0;o<r;o++){let c=0,l=0;for(let u=0;u<4;u++){const p=e[o*4+u];if(p==="="){if(o+1!==r)throw new Error(`Invalid character: ${p}`);c+=1;continue}if(p===void 0){if(i)throw new Error("Invalid data");c+=1;continue}const g=this.decodeMap.get(p)??null;if(g===null)throw new Error(`Invalid character: ${p}`);l+=g<<6*(3-u)}s.push(l>>16&255),c<2&&s.push(l>>8&255),c<1&&s.push(l&255)}return Uint8Array.from(s)}}const h0=new Tf("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"),rn=new Tf("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_");class g0{constructor(e){te(this,"hash");this.hash=e}async verify(e,t,i){const r=await crypto.subtle.importKey("spki",e,{name:"RSASSA-PKCS1-v1_5",hash:this.hash},!1,["verify"]);return await crypto.subtle.verify("RSASSA-PKCS1-v1_5",r,t,i)}async sign(e,t){const i=await crypto.subtle.importKey("pkcs8",e,{name:"RSASSA-PKCS1-v1_5",hash:this.hash},!1,["sign"]);return await crypto.subtle.sign("RSASSA-PKCS1-v1_5",i,t)}async generateKeyPair(e){const t=await crypto.subtle.generateKey({name:"RSASSA-PKCS1-v1_5",hash:this.hash,modulusLength:e??2048,publicExponent:new Uint8Array([1,0,1])},!0,["sign"]),i=await crypto.subtle.exportKey("pkcs8",t.privateKey),r=await crypto.subtle.exportKey("spki",t.publicKey);return{privateKey:i,publicKey:r}}}async function Rf(n){return await crypto.subtle.digest("SHA-256",n)}async function Ma(n){const e={name:"RSASSA-PKCS1-v1_5",hash:"SHA-256",publicExponent:new Uint8Array([1,0,1]),modulusLength:2048},t=await crypto.subtle.generateKey(e,!0,["sign","verify"]),i=Ke(),r=Va(new TextEncoder().encode(i)),s=await f0.createSelfSigned({serialNumber:r,name:n.name,notBefore:new Date,notAfter:new Date(Date.now()+365*24*60*60*1e3),signingAlgorithm:e,keys:t,extensions:[new Rc(!0,2,!0),new Pc(["1.3.6.1.5.5.7.3.1"],!0),new Lc(Qr.keyCertSign|Qr.cRLSign,!0),await Fi.create(t.publicKey)]}),o=await crypto.subtle.exportKey("pkcs8",t.privateKey),c=s.toString("pem"),l=await m0(s),u=Va(await s.getThumbprint()),p=_0("PRIVATE",o);return{kid:s.serialNumber,cert:c,thumbprint:u,fingerprint:l,pkcs7:p}}function _0(n,e){const t=h0.encode(new Uint8Array(e));let i=`-----BEGIN ${n} KEY-----\r
|
|
121
|
+
`)}}qe.CertificateTag="CERTIFICATE";qe.CrlTag="CRL";qe.CertificateRequestTag="CERTIFICATE REQUEST";qe.PublicKeyTag="PUBLIC KEY";qe.PrivateKeyTag="PRIVATE KEY";class jt extends Kt{static isAsnEncoded(e){return U.isBufferSource(e)||typeof e=="string"}static toArrayBuffer(e){if(typeof e=="string"){if(qe.isPem(e))return qe.decode(e)[0];if(W.isHex(e))return W.FromHex(e);if(W.isBase64(e))return W.FromBase64(e);if(W.isBase64Url(e))return W.FromBase64Url(e);throw new TypeError("Unsupported format of 'raw' argument. Must be one of DER, PEM, HEX, Base64, or Base4Url")}else{const t=W.ToBinary(e);return qe.isPem(t)?qe.decode(t)[0]:W.isHex(t)?W.FromHex(t):W.isBase64(t)?W.FromBase64(t):W.isBase64Url(t)?W.FromBase64Url(t):U.toArrayBuffer(e)}}constructor(...e){jt.isAsnEncoded(e[0])?super(jt.toArrayBuffer(e[0]),e[1]):super(e[0])}toString(e="pem"){switch(e){case"pem":return qe.encode(this.rawData,this.tag);default:return super.toString(e)}}}class at extends jt{static async create(e,t=Ie.get()){if(e instanceof at)return e;if(Tt.isCryptoKey(e)){if(e.type!=="public")throw new TypeError("Public key is required");const i=await t.subtle.exportKey("spki",e);return new at(i)}else{if(e.publicKey)return e.publicKey;if(U.isBufferSource(e))return new at(e);throw new TypeError("Unsupported PublicKeyType")}}constructor(e){jt.isAsnEncoded(e)?super(e,ot):super(e),this.tag=qe.PublicKeyTag}async export(...e){let t,i=["verify"],r={hash:"SHA-256",...this.algorithm};e.length>1?(r=e[0]||r,i=e[1]||i,t=e[2]||Ie.get()):t=e[0]||Ie.get();let s=this.rawData;const o=L.parse(this.rawData,ot);return o.algorithm.algorithm===li&&(s=u0(o,s)),t.subtle.importKey("spki",s,r,!0,i)}onInit(e){const t=je.resolve(mn),i=this.algorithm=t.toWebAlgorithm(e.algorithm);switch(e.algorithm.algorithm){case hn:{const r=L.parse(e.subjectPublicKey,Nc),s=U.toUint8Array(r.modulus);i.publicExponent=U.toUint8Array(r.publicExponent),i.modulusLength=(s[0]?s:s.slice(1)).byteLength<<3;break}}}async getThumbprint(...e){var t;let i,r="SHA-1";return e.length>=1&&!(!((t=e[0])===null||t===void 0)&&t.subtle)?(r=e[0]||r,i=e[1]||Ie.get()):i=e[0]||Ie.get(),await i.subtle.digest(r,this.rawData)}async getKeyIdentifier(...e){let t,i="SHA-1";e.length===1?typeof e[0]=="string"?(i=e[0],t=Ie.get()):t=e[0]:e.length===2?(i=e[0],t=e[1]):t=Ie.get();const r=L.parse(this.rawData,ot);return await t.subtle.digest(i,r.subjectPublicKey)}toTextObject(){const e=this.toTextObjectEmpty(),t=L.parse(this.rawData,ot);switch(e.Algorithm=yn.serializeAlgorithm(t.algorithm),t.algorithm.algorithm){case vi:e["EC Point"]=t.subjectPublicKey;break;case hn:default:e["Raw Data"]=t.subjectPublicKey}return e}}function u0(n,e){return n.algorithm=new H({algorithm:hn,parameters:null}),e=L.serialize(n),e}class Ai extends et{static async create(e,t=!1,i=Ie.get()){if("name"in e&&"serialNumber"in e)return new Ai(e,t);const s=await(await at.create(e,i)).getKeyIdentifier(i);return new Ai(W.ToHex(s),t)}constructor(...e){if(U.isBufferSource(e[0]))super(e[0]);else if(typeof e[0]=="string"){const t=new Qt({keyIdentifier:new fc(W.FromHex(e[0]))});super(No,e[1],L.serialize(t))}else{const t=e[0],i=t.name instanceof xi?L.parse(t.name.rawData,Be):t.name,r=new Qt({authorityCertIssuer:i,authorityCertSerialNumber:W.FromHex(t.serialNumber)});super(No,e[1],L.serialize(r))}}onInit(e){super.onInit(e);const t=L.parse(e.extnValue,Qt);t.keyIdentifier&&(this.keyId=W.ToHex(t.keyIdentifier)),(t.authorityCertIssuer||t.authorityCertSerialNumber)&&(this.certId={name:t.authorityCertIssuer||[],serialNumber:t.authorityCertSerialNumber?W.ToHex(t.authorityCertSerialNumber):""})}toTextObject(){const e=this.toTextObjectWithoutValue(),t=L.parse(this.value,Qt);return t.authorityCertIssuer&&(e["Authority Issuer"]=new xi(t.authorityCertIssuer).toTextObject()),t.authorityCertSerialNumber&&(e["Authority Serial Number"]=t.authorityCertSerialNumber),t.keyIdentifier&&(e[""]=t.keyIdentifier),e}}Ai.NAME="Authority Key Identifier";class Rc extends et{constructor(...e){if(U.isBufferSource(e[0])){super(e[0]);const t=L.parse(this.value,xr);this.ca=t.cA,this.pathLength=t.pathLenConstraint}else{const t=new xr({cA:e[0],pathLenConstraint:e[1]});super(Kp,e[2],L.serialize(t)),this.ca=e[0],this.pathLength=e[1]}}toTextObject(){const e=this.toTextObjectWithoutValue();return this.ca&&(e.CA=this.ca),this.pathLength!==void 0&&(e["Path Length"]=this.pathLength),e}}Rc.NAME="Basic Constraints";var Ku;(function(n){n.serverAuth="1.3.6.1.5.5.7.3.1",n.clientAuth="1.3.6.1.5.5.7.3.2",n.codeSigning="1.3.6.1.5.5.7.3.3",n.emailProtection="1.3.6.1.5.5.7.3.4",n.timeStamping="1.3.6.1.5.5.7.3.8",n.ocspSigning="1.3.6.1.5.5.7.3.9"})(Ku||(Ku={}));class Pc extends et{constructor(...e){if(U.isBufferSource(e[0])){super(e[0]);const t=L.parse(this.value,Er);this.usages=t.map(i=>i)}else{const t=new Er(e[0]);super(Jp,e[1],L.serialize(t)),this.usages=e[0]}}toTextObject(){const e=this.toTextObjectWithoutValue();return e[""]=this.usages.map(t=>qt.toString(t)).join(", "),e}}Pc.NAME="Extended Key Usages";var Qr;(function(n){n[n.digitalSignature=1]="digitalSignature",n[n.nonRepudiation=2]="nonRepudiation",n[n.keyEncipherment=4]="keyEncipherment",n[n.dataEncipherment=8]="dataEncipherment",n[n.keyAgreement=16]="keyAgreement",n[n.keyCertSign=32]="keyCertSign",n[n.cRLSign=64]="cRLSign",n[n.encipherOnly=128]="encipherOnly",n[n.decipherOnly=256]="decipherOnly"})(Qr||(Qr={}));class Lc extends et{constructor(...e){if(U.isBufferSource(e[0])){super(e[0]);const t=L.parse(this.value,oo);this.usages=t.toNumber()}else{const t=new oo(e[0]);super(Zp,e[1],L.serialize(t)),this.usages=e[0]}}toTextObject(){const e=this.toTextObjectWithoutValue(),t=L.parse(this.value,oo);return e[""]=t.toJSON().join(", "),e}}Lc.NAME="Key Usages";class Fi extends et{static async create(e,t=!1,i=Ie.get()){const s=await(await at.create(e,i)).getKeyIdentifier(i);return new Fi(W.ToHex(s),t)}constructor(...e){if(U.isBufferSource(e[0])){super(e[0]);const t=L.parse(this.value,Lt);this.keyId=W.ToHex(t)}else{const t=typeof e[0]=="string"?W.FromHex(e[0]):e[0],i=new Lt(t);super(ef,e[1],L.serialize(i)),this.keyId=W.ToHex(t)}}toTextObject(){const e=this.toTextObjectWithoutValue(),t=L.parse(this.value,Lt);return e[""]=t,e}}Fi.NAME="Subject Key Identifier";class Cf extends et{constructor(...e){U.isBufferSource(e[0])?super(e[0]):super(Qp,e[1],new xi(e[0]||[]).rawData)}onInit(e){super.onInit(e);const t=L.parse(e.extnValue,Wo);this.names=new xi(t)}toTextObject(){const e=this.toTextObjectWithoutValue(),t=this.names.toTextObject();for(const i in t)e[i]=t[i];return e}}Cf.NAME="Subject Alternative Name";class tt{static register(e,t){this.items.set(e,t)}static create(e){const t=new et(e),i=this.items.get(t.type);return i?new i(e):t}}tt.items=new Map;class jf extends et{constructor(...e){var t;if(U.isBufferSource(e[0])){super(e[0]);const i=L.parse(this.value,Ar);this.policies=i.map(r=>r.policyIdentifier)}else{const i=e[0],r=(t=e[1])!==null&&t!==void 0?t:!1,s=new Ar(i.map(o=>new Is({policyIdentifier:o})));super(Wp,r,L.serialize(s)),this.policies=i}}toTextObject(){const e=this.toTextObjectWithoutValue();return e.Policy=this.policies.map(t=>new ae("",{},qt.toString(t))),e}}jf.NAME="Certificate Policies";tt.register(Wp,jf);class zf extends et{constructor(...e){var t;if(U.isBufferSource(e[0]))super(e[0]);else if(Array.isArray(e[0])&&typeof e[0][0]=="string"){const r=e[0].map(o=>new Kn({distributionPoint:new un({fullName:[new Q({uniformResourceIdentifier:o})]})})),s=new Cn(r);super(Po,e[1],L.serialize(s))}else{const i=new Cn(e[0]);super(Po,e[1],L.serialize(i))}(t=this.distributionPoints)!==null&&t!==void 0||(this.distributionPoints=[])}onInit(e){super.onInit(e);const t=L.parse(e.extnValue,Cn);this.distributionPoints=t}toTextObject(){const e=this.toTextObjectWithoutValue();return e["Distribution Point"]=this.distributionPoints.map(t=>{var i;const r={};return t.distributionPoint&&(r[""]=(i=t.distributionPoint.fullName)===null||i===void 0?void 0:i.map(s=>new Rt(s).toString()).join(", ")),t.reasons&&(r.Reasons=t.reasons.toString()),t.cRLIssuer&&(r["CRL Issuer"]=t.cRLIssuer.map(s=>s.toString()).join(", ")),r}),e}}zf.NAME="CRL Distribution Points";class Nf extends et{constructor(...e){var t,i,r,s;if(U.isBufferSource(e[0]))super(e[0]);else if(e[0]instanceof In){const o=new In(e[0]);super(zo,e[1],L.serialize(o))}else{const o=e[0],c=new In;Xi(c,o,Cl,"ocsp"),Xi(c,o,jl,"caIssuers"),Xi(c,o,zl,"timeStamping"),Xi(c,o,Nl,"caRepository"),super(zo,e[1],L.serialize(c))}(t=this.ocsp)!==null&&t!==void 0||(this.ocsp=[]),(i=this.caIssuers)!==null&&i!==void 0||(this.caIssuers=[]),(r=this.timeStamping)!==null&&r!==void 0||(this.timeStamping=[]),(s=this.caRepository)!==null&&s!==void 0||(this.caRepository=[])}onInit(e){super.onInit(e),this.ocsp=[],this.caIssuers=[],this.timeStamping=[],this.caRepository=[],L.parse(e.extnValue,In).forEach(i=>{switch(i.accessMethod){case Cl:this.ocsp.push(new Rt(i.accessLocation));break;case jl:this.caIssuers.push(new Rt(i.accessLocation));break;case zl:this.timeStamping.push(new Rt(i.accessLocation));break;case Nl:this.caRepository.push(new Rt(i.accessLocation));break}})}toTextObject(){const e=this.toTextObjectWithoutValue();return this.ocsp.length&&Yi(e,"OCSP",this.ocsp),this.caIssuers.length&&Yi(e,"CA Issuers",this.caIssuers),this.timeStamping.length&&Yi(e,"Time Stamping",this.timeStamping),this.caRepository.length&&Yi(e,"CA Repository",this.caRepository),e}}Nf.NAME="Authority Info Access";function Yi(n,e,t){if(t.length===1)n[e]=t[0].toTextObject();else{const i=new ae("");t.forEach((r,s)=>{const o=r.toTextObject(),c=`${o[ae.NAME]} ${s+1}`;let l=i[c];Array.isArray(l)||(l=[],i[c]=l),l.push(o)}),n[e]=i}}function Xi(n,e,t,i){const r=e[i];r&&(Array.isArray(r)?r:[r]).forEach(o=>{typeof o=="string"&&(o=new Rt("url",o)),n.push(new zi({accessMethod:t,accessLocation:L.parse(o.rawData,Q)}))})}class Qn extends Kt{constructor(...e){let t;if(U.isBufferSource(e[0]))t=U.toArrayBuffer(e[0]);else{const i=e[0],r=Array.isArray(e[1])?e[1].map(s=>U.toArrayBuffer(s)):[];t=L.serialize(new Et({type:i,values:r}))}super(t,Et)}onInit(e){this.type=e.type,this.values=e.values}toTextObject(){const e=this.toTextObjectWithoutValue();return e.Value=this.values.map(t=>new ae("",{"":t})),e}toTextObjectWithoutValue(){const e=this.toTextObjectEmpty();return e[ae.NAME]===Qn.NAME&&(e[ae.NAME]=qt.toString(this.type)),e}}Qn.NAME="Attribute";class Of extends Qn{constructor(...e){var t;if(U.isBufferSource(e[0]))super(e[0]);else{const i=new Yr({printableString:e[0]});super(xf,[L.serialize(i)])}(t=this.password)!==null&&t!==void 0||(this.password="")}onInit(e){if(super.onInit(e),this.values[0]){const t=L.parse(this.values[0],Yr);this.password=t.toString()}}toTextObject(){const e=this.toTextObjectWithoutValue();return e[ae.VALUE]=this.password,e}}Of.NAME="Challenge Password";class Uc extends Qn{constructor(...e){var t;if(U.isBufferSource(e[0]))super(e[0]);else{const i=e[0],r=new Vt;for(const s of i)r.push(L.parse(s.rawData,Xe));super(Tc,[L.serialize(r)])}(t=this.items)!==null&&t!==void 0||(this.items=[])}onInit(e){if(super.onInit(e),this.values[0]){const t=L.parse(this.values[0],Vt);this.items=t.map(i=>tt.create(L.serialize(i)))}}toTextObject(){const e=this.toTextObjectWithoutValue(),t=this.items.map(i=>i.toTextObject());for(const i of t)e[i[ae.NAME]]=i;return e}}Uc.NAME="Extensions";class Js{static register(e,t){this.items.set(e,t)}static create(e){const t=new Qn(e),i=this.items.get(t.type);return i?new i(e):t}}Js.items=new Map;const qi="crypto.signatureFormatter";class d0{toAsnSignature(e,t){return U.toArrayBuffer(t)}toWebSignature(e,t){return U.toArrayBuffer(t)}}var sr;let Pa=sr=class{static createPssParams(e,t){const i=sr.getHashAlgorithm(e);return i?new _n({hashAlgorithm:i,maskGenAlgorithm:new H({algorithm:Vs,parameters:L.serialize(i)}),saltLength:t}):null}static getHashAlgorithm(e){const t=je.resolve(mn);return typeof e=="string"?t.toAsnAlgorithm({name:e}):typeof e=="object"&&e&&"name"in e?t.toAsnAlgorithm(e):null}toAsnAlgorithm(e){switch(e.name.toLowerCase()){case"rsassa-pkcs1-v1_5":if("hash"in e){let t;if(typeof e.hash=="string")t=e.hash;else if(e.hash&&typeof e.hash=="object"&&"name"in e.hash&&typeof e.hash.name=="string")t=e.hash.name.toUpperCase();else throw new Error("Cannot get hash algorithm name");switch(t.toLowerCase()){case"sha-1":return new H({algorithm:Mr,parameters:null});case"sha-256":return new H({algorithm:ha,parameters:null});case"sha-384":return new H({algorithm:Hr,parameters:null});case"sha-512":return new H({algorithm:Dr,parameters:null})}}else return new H({algorithm:hn,parameters:null});break;case"rsa-pss":if("hash"in e){if(!("saltLength"in e&&typeof e.saltLength=="number"))throw new Error("Cannot get 'saltLength' from 'alg' argument");const t=sr.createPssParams(e.hash,e.saltLength);if(!t)throw new Error("Cannot create PSS parameters");return new H({algorithm:li,parameters:L.serialize(t)})}else return new H({algorithm:li,parameters:null})}return null}toWebAlgorithm(e){switch(e.algorithm){case hn:return{name:"RSASSA-PKCS1-v1_5"};case Mr:return{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-1"}};case ha:return{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}};case Hr:return{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-384"}};case Dr:return{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-512"}};case li:if(e.parameters){const t=L.parse(e.parameters,_n);return{name:"RSA-PSS",hash:je.resolve(mn).toWebAlgorithm(t.hashAlgorithm),saltLength:t.saltLength}}else return{name:"RSA-PSS"}}return null}};Pa=sr=d([Fs()],Pa);je.registerSingleton(Di,Pa);let La=class{toAsnAlgorithm(e){switch(e.name.toLowerCase()){case"sha-1":return new H({algorithm:Fr});case"sha-256":return new H({algorithm:qr});case"sha-384":return new H({algorithm:Kr});case"sha-512":return new H({algorithm:Wr})}return null}toWebAlgorithm(e){switch(e.algorithm){case Fr:return{name:"SHA-1"};case qr:return{name:"SHA-256"};case Kr:return{name:"SHA-384"};case Wr:return{name:"SHA-512"}}return null}};La=d([Fs()],La);je.registerSingleton(Di,La);class Ye{addPadding(e,t){const i=U.toUint8Array(t),r=new Uint8Array(e);return r.set(i,e-i.length),r}removePadding(e,t=!1){let i=U.toUint8Array(e);for(let r=0;r<i.length;r++)if(i[r]){i=i.slice(r);break}if(t&&i[0]>127){const r=new Uint8Array(i.length+1);return r.set(i,1),r.buffer}return i.buffer}toAsnSignature(e,t){if(e.name==="ECDSA"){const i=e.namedCurve,r=Ye.namedCurveSize.get(i)||Ye.defaultNamedCurveSize,s=new Vr,o=U.toUint8Array(t);return s.r=this.removePadding(o.slice(0,r),!0),s.s=this.removePadding(o.slice(r,r+r),!0),L.serialize(s)}return null}toWebSignature(e,t){if(e.name==="ECDSA"){const i=L.parse(t,Vr),r=e.namedCurve,s=Ye.namedCurveSize.get(r)||Ye.defaultNamedCurveSize,o=this.addPadding(s,this.removePadding(i.r)),c=this.addPadding(s,this.removePadding(i.s));return Sg(o,c)}return null}}Ye.namedCurveSize=new Map;Ye.defaultNamedCurveSize=32;const go="1.3.101.110",Wu="1.3.101.111",_o="1.3.101.112",Gu="1.3.101.113";let Ua=class{toAsnAlgorithm(e){let t=null;switch(e.name.toLowerCase()){case"ed25519":t=_o;break;case"x25519":t=go;break;case"eddsa":switch(e.namedCurve.toLowerCase()){case"ed25519":t=_o;break;case"ed448":t=Gu;break}break;case"ecdh-es":switch(e.namedCurve.toLowerCase()){case"x25519":t=go;break;case"x448":t=Wu;break}}return t?new H({algorithm:t}):null}toWebAlgorithm(e){switch(e.algorithm){case _o:return{name:"Ed25519"};case Gu:return{name:"EdDSA",namedCurve:"Ed448"};case go:return{name:"X25519"};case Wu:return{name:"ECDH-ES",namedCurve:"X448"}}return null}};Ua=d([Fs()],Ua);je.registerSingleton(Di,Ua);class p0 extends jt{constructor(e){jt.isAsnEncoded(e)?super(e,bi):super(e),this.tag=qe.CertificateRequestTag}onInit(e){this.tbs=L.serialize(e.certificationRequestInfo),this.publicKey=new at(e.certificationRequestInfo.subjectPKInfo);const t=je.resolve(mn);this.signatureAlgorithm=t.toWebAlgorithm(e.signatureAlgorithm),this.signature=e.signature,this.attributes=e.certificationRequestInfo.attributes.map(r=>Js.create(L.serialize(r)));const i=this.getAttribute(Tc);this.extensions=[],i instanceof Uc&&(this.extensions=i.items),this.subjectName=new Ze(e.certificationRequestInfo.subject),this.subject=this.subjectName.toString()}getAttribute(e){for(const t of this.attributes)if(t.type===e)return t;return null}getAttributes(e){return this.attributes.filter(t=>t.type===e)}getExtension(e){for(const t of this.extensions)if(t.type===e)return t;return null}getExtensions(e){return this.extensions.filter(t=>t.type===e)}async verify(e=Ie.get()){const t={...this.publicKey.algorithm,...this.signatureAlgorithm},i=await this.publicKey.export(t,["verify"],e),r=je.resolveAll(qi).reverse();let s=null;for(const c of r)if(s=c.toWebSignature(t,this.signature),s)break;if(!s)throw Error("Cannot convert WebCrypto signature value to ASN.1 format");return await e.subtle.verify(this.signatureAlgorithm,i,s,this.tbs)}toTextObject(){const e=this.toTextObjectEmpty(),t=L.parse(this.rawData,bi),i=t.certificationRequestInfo,r=new ae("",{Version:`${dn[i.version]} (${i.version})`,Subject:this.subject,"Subject Public Key Info":this.publicKey});if(this.attributes.length){const s=new ae("");for(const o of this.attributes){const c=o.toTextObject();s[c[ae.NAME]]=c}r.Attributes=s}return e.Data=r,e.Signature=new ae("",{Algorithm:yn.serializeAlgorithm(t.signatureAlgorithm),"":t.signature}),e}}p0.NAME="PKCS#10 Certificate Request";class Vc extends jt{constructor(e){jt.isAsnEncoded(e)?super(e,pn):super(e),this.tag=qe.CertificateTag}onInit(e){const t=e.tbsCertificate;this.tbs=L.serialize(t),this.serialNumber=W.ToHex(t.serialNumber),this.subjectName=new Ze(t.subject),this.subject=new Ze(t.subject).toString(),this.issuerName=new Ze(t.issuer),this.issuer=this.issuerName.toString();const i=je.resolve(mn);this.signatureAlgorithm=i.toWebAlgorithm(e.signatureAlgorithm),this.signature=e.signatureValue;const r=t.validity.notBefore.utcTime||t.validity.notBefore.generalTime;if(!r)throw new Error("Cannot get 'notBefore' value");this.notBefore=r;const s=t.validity.notAfter.utcTime||t.validity.notAfter.generalTime;if(!s)throw new Error("Cannot get 'notAfter' value");this.notAfter=s,this.extensions=[],t.extensions&&(this.extensions=t.extensions.map(o=>tt.create(L.serialize(o)))),this.publicKey=new at(t.subjectPublicKeyInfo)}getExtension(e){for(const t of this.extensions)if(typeof e=="string"){if(t.type===e)return t}else if(t instanceof e)return t;return null}getExtensions(e){return this.extensions.filter(t=>typeof e=="string"?t.type===e:t instanceof e)}async verify(e={},t=Ie.get()){let i,r;const s=e.publicKey;try{if(!s)i={...this.publicKey.algorithm,...this.signatureAlgorithm},r=await this.publicKey.export(i,["verify"],t);else if("publicKey"in s)i={...s.publicKey.algorithm,...this.signatureAlgorithm},r=await s.publicKey.export(i,["verify"],t);else if(s instanceof at)i={...s.algorithm,...this.signatureAlgorithm},r=await s.export(i,["verify"],t);else if(U.isBufferSource(s)){const u=new at(s);i={...u.algorithm,...this.signatureAlgorithm},r=await u.export(i,["verify"],t)}else i={...s.algorithm,...this.signatureAlgorithm},r=s}catch{return!1}const o=je.resolveAll(qi).reverse();let c=null;for(const u of o)if(c=u.toWebSignature(i,this.signature),c)break;if(!c)throw Error("Cannot convert ASN.1 signature value to WebCrypto format");const l=await t.subtle.verify(this.signatureAlgorithm,r,c,this.tbs);if(e.signatureOnly)return l;{const p=(e.date||new Date).getTime();return l&&this.notBefore.getTime()<p&&p<this.notAfter.getTime()}}async getThumbprint(...e){let t,i="SHA-1";return e[0]&&(e[0].subtle?t=e[0]:(i=e[0]||i,t=e[1])),t??(t=Ie.get()),await t.subtle.digest(i,this.rawData)}async isSelfSigned(e=Ie.get()){return this.subject===this.issuer&&await this.verify({signatureOnly:!0},e)}toTextObject(){const e=this.toTextObjectEmpty(),t=L.parse(this.rawData,pn),i=t.tbsCertificate,r=new ae("",{Version:`${dn[i.version]} (${i.version})`,"Serial Number":i.serialNumber,"Signature Algorithm":yn.serializeAlgorithm(i.signature),Issuer:this.issuer,Validity:new ae("",{"Not Before":i.validity.notBefore.getTime(),"Not After":i.validity.notAfter.getTime()}),Subject:this.subject,"Subject Public Key Info":this.publicKey});if(i.issuerUniqueID&&(r["Issuer Unique ID"]=i.issuerUniqueID),i.subjectUniqueID&&(r["Subject Unique ID"]=i.subjectUniqueID),this.extensions.length){const s=new ae("");for(const o of this.extensions){const c=o.toTextObject();s[c[ae.NAME]]=c}r.Extensions=s}return e.Data=r,e.Signature=new ae("",{Algorithm:yn.serializeAlgorithm(t.signatureAlgorithm),"":t.signatureValue}),e}}Vc.NAME="Certificate";class f0{static async createSelfSigned(e,t=Ie.get()){if(!e.keys.privateKey)throw new Error("Bad field 'keys' in 'params' argument. 'privateKey' is empty");if(!e.keys.publicKey)throw new Error("Bad field 'keys' in 'params' argument. 'publicKey' is empty");return this.create({serialNumber:e.serialNumber,subject:e.name,issuer:e.name,notBefore:e.notBefore,notAfter:e.notAfter,publicKey:e.keys.publicKey,signingKey:e.keys.privateKey,signingAlgorithm:e.signingAlgorithm,extensions:e.extensions},t)}static async create(e,t=Ie.get()){var i;let r;e.publicKey instanceof at?r=e.publicKey.rawData:"publicKey"in e.publicKey?r=e.publicKey.publicKey.rawData:U.isBufferSource(e.publicKey)?r=e.publicKey:r=await t.subtle.exportKey("spki",e.publicKey);const s=e.serialNumber?U.toUint8Array(W.FromHex(e.serialNumber)):t.getRandomValues(new Uint8Array(16));s[0]>127&&(s[0]&=127),s.length>1&&s[0]===0&&(s[1]|=128);const o=e.notBefore||new Date,c=e.notAfter||new Date(o.getTime()+31536e6),l=new pn({tbsCertificate:new Ge({version:dn.v3,serialNumber:s,validity:new Ni({notBefore:o,notAfter:c}),extensions:new Vt(((i=e.extensions)===null||i===void 0?void 0:i.map(b=>L.parse(b.rawData,Xe)))||[]),subjectPublicKeyInfo:L.parse(r,ot)})});if(e.subject){const b=e.subject instanceof Ze?e.subject:new Ze(e.subject);l.tbsCertificate.subject=L.parse(b.toArrayBuffer(),ve)}if(e.issuer){const b=e.issuer instanceof Ze?e.issuer:new Ze(e.issuer);l.tbsCertificate.issuer=L.parse(b.toArrayBuffer(),ve)}const u={hash:"SHA-256"},p="signingKey"in e?{...u,...e.signingAlgorithm,...e.signingKey.algorithm}:{...u,...e.signingAlgorithm},g=je.resolve(mn);l.tbsCertificate.signature=l.signatureAlgorithm=g.toAsnAlgorithm(p);const m=L.serialize(l.tbsCertificate),x="signingKey"in e?await t.subtle.sign(p,e.signingKey,m):e.signature,h=je.resolveAll(qi).reverse();let _=null;for(const b of h)if(_=b.toAsnSignature(p,x),_)break;if(!_)throw Error("Cannot convert ASN.1 signature value to WebCrypto format");return l.signatureValue=_,new Vc(L.serialize(l))}}var Ju;(function(n){n[n.unspecified=0]="unspecified",n[n.keyCompromise=1]="keyCompromise",n[n.cACompromise=2]="cACompromise",n[n.affiliationChanged=3]="affiliationChanged",n[n.superseded=4]="superseded",n[n.cessationOfOperation=5]="cessationOfOperation",n[n.certificateHold=6]="certificateHold",n[n.removeFromCRL=8]="removeFromCRL",n[n.privilegeWithdrawn=9]="privilegeWithdrawn",n[n.aACompromise=10]="aACompromise"})(Ju||(Ju={}));tt.register(Kp,Rc);tt.register(Jp,Pc);tt.register(Zp,Lc);tt.register(ef,Fi);tt.register(No,Ai);tt.register(Qp,Cf);tt.register(Po,zf);tt.register(zo,Nf);Js.register(xf,Of);Js.register(Tc,Uc);je.registerSingleton(qi,d0);je.registerSingleton(qi,Ye);Ye.namedCurveSize.set("P-256",32);Ye.namedCurveSize.set("K-256",32);Ye.namedCurveSize.set("P-384",48);Ye.namedCurveSize.set("P-521",66);const Zu="0123456789abcdef";function Va(n){const e=new Uint8Array(n);let t="";for(let i=0;i<e.length;i++){const r=e[i]>>4;t+=Zu[r];const s=e[i]&15;t+=Zu[s]}return t}class Bf{constructor(e,t){te(this,"alphabet");te(this,"padding");te(this,"decodeMap",new Map);if(e.length!==32)throw new Error("Invalid alphabet");if(this.alphabet=e,this.padding=(t==null?void 0:t.padding)??"=",this.alphabet.includes(this.padding)||this.padding.length!==1)throw new Error("Invalid padding");for(let i=0;i<e.length;i++)this.decodeMap.set(e[i],i)}encode(e,t){let i="",r=0,s=0;for(let c=0;c<e.length;c++)for(r=r<<8|e[c],s+=8;s>=5;)s-=5,i+=this.alphabet[r>>s&31];if(s>0&&(i+=this.alphabet[r<<5-s&31]),(t==null?void 0:t.includePadding)??!0){const c=(8-i.length%8)%8;for(let l=0;l<c;l++)i+="="}return i}decode(e,t){const i=(t==null?void 0:t.strict)??!0,r=Math.ceil(e.length/8),s=[];for(let o=0;o<r;o++){let c=0;const l=[];for(let p=0;p<8;p++){const g=e[o*8+p];if(g==="="){if(o+1!==r)throw new Error(`Invalid character: ${g}`);c+=1;continue}if(g===void 0){if(i)throw new Error("Invalid data");c+=1;continue}const m=this.decodeMap.get(g)??null;if(m===null)throw new Error(`Invalid character: ${g}`);l.push(m)}if(c===8||c===7||c===5||c===2)throw new Error("Invalid padding");const u=(l[0]<<3)+(l[1]>>2);if(s.push(u),c<6){const p=((l[1]&3)<<6)+(l[2]<<1)+(l[3]>>4);s.push(p)}if(c<4){const p=((l[3]&255)<<4)+(l[4]>>1);s.push(p)}if(c<3){const p=((l[4]&1)<<7)+(l[5]<<2)+(l[6]>>3);s.push(p)}if(c<1){const p=((l[6]&7)<<5)+l[7];s.push(p)}}return Uint8Array.from(s)}}new Bf("ABCDEFGHIJKLMNOPQRSTUVWXYZ234567");new Bf("0123456789ABCDEFGHIJKLMNOPQRSTUV");class Tf{constructor(e,t){te(this,"alphabet");te(this,"padding");te(this,"decodeMap",new Map);if(e.length!==64)throw new Error("Invalid alphabet");if(this.alphabet=e,this.padding=(t==null?void 0:t.padding)??"=",this.alphabet.includes(this.padding)||this.padding.length!==1)throw new Error("Invalid padding");for(let i=0;i<e.length;i++)this.decodeMap.set(e[i],i)}encode(e,t){let i="",r=0,s=0;for(let c=0;c<e.length;c++)for(r=r<<8|e[c],s+=8;s>=6;)s+=-6,i+=this.alphabet[r>>s&63];if(s>0&&(i+=this.alphabet[r<<6-s&63]),(t==null?void 0:t.includePadding)??!0){const c=(4-i.length%4)%4;for(let l=0;l<c;l++)i+="="}return i}decode(e,t){const i=(t==null?void 0:t.strict)??!0,r=Math.ceil(e.length/4),s=[];for(let o=0;o<r;o++){let c=0,l=0;for(let u=0;u<4;u++){const p=e[o*4+u];if(p==="="){if(o+1!==r)throw new Error(`Invalid character: ${p}`);c+=1;continue}if(p===void 0){if(i)throw new Error("Invalid data");c+=1;continue}const g=this.decodeMap.get(p)??null;if(g===null)throw new Error(`Invalid character: ${p}`);l+=g<<6*(3-u)}s.push(l>>16&255),c<2&&s.push(l>>8&255),c<1&&s.push(l&255)}return Uint8Array.from(s)}}const h0=new Tf("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"),rn=new Tf("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_");class g0{constructor(e){te(this,"hash");this.hash=e}async verify(e,t,i){const r=await crypto.subtle.importKey("spki",e,{name:"RSASSA-PKCS1-v1_5",hash:this.hash},!1,["verify"]);return await crypto.subtle.verify("RSASSA-PKCS1-v1_5",r,t,i)}async sign(e,t){const i=await crypto.subtle.importKey("pkcs8",e,{name:"RSASSA-PKCS1-v1_5",hash:this.hash},!1,["sign"]);return await crypto.subtle.sign("RSASSA-PKCS1-v1_5",i,t)}async generateKeyPair(e){const t=await crypto.subtle.generateKey({name:"RSASSA-PKCS1-v1_5",hash:this.hash,modulusLength:e??2048,publicExponent:new Uint8Array([1,0,1])},!0,["sign"]),i=await crypto.subtle.exportKey("pkcs8",t.privateKey),r=await crypto.subtle.exportKey("spki",t.publicKey);return{privateKey:i,publicKey:r}}}async function Rf(n){return await crypto.subtle.digest("SHA-256",n)}async function Ma(n){const e={name:"RSASSA-PKCS1-v1_5",hash:"SHA-256",publicExponent:new Uint8Array([1,0,1]),modulusLength:2048},t=await crypto.subtle.generateKey(e,!0,["sign","verify"]),i=Ke(),r=Va(new TextEncoder().encode(i)),s=await f0.createSelfSigned({serialNumber:r,name:n.name,notBefore:new Date,notAfter:new Date(Date.now()+365*24*60*60*1e3),signingAlgorithm:e,keys:t,extensions:[new Rc(!0,2,!0),new Pc(["1.3.6.1.5.5.7.3.1"],!0),new Lc(Qr.keyCertSign|Qr.cRLSign,!0),await Fi.create(t.publicKey)]}),o=await crypto.subtle.exportKey("pkcs8",t.privateKey),c=s.toString("pem"),l=await m0(s),u=Va(await s.getThumbprint()),p=_0("PRIVATE",o);return{kid:s.serialNumber,cert:c,thumbprint:u,fingerprint:l,pkcs7:p}}function _0(n,e){const t=h0.encode(new Uint8Array(e));let i=`-----BEGIN ${n} KEY-----\r
|
|
122
122
|
`,r=0;for(;r<t.length;)r+64<=t.length?i+=t.substr(r,64)+`\r
|
|
123
123
|
`:i+=t.substr(r)+`\r
|
|
124
124
|
`,r+=64;return i+=`-----END ${n} KEY-----\r
|
|
125
|
-
`,i}async function m0(n){const e=await n.publicKey.export(),t=await crypto.subtle.exportKey("jwk",e),i=JSON.stringify(t,Object.keys(t).sort()),s=new TextEncoder().encode(i);return Va(await Rf(s))}const y0=1e3*60*60*24,v0=new a.OpenAPIHono().openapi(a.createRoute({tags:["keys"],method:"get",path:"/signing",request:{headers:a.z.object({"tenant-id":a.z.string()})},security:[{Bearer:["auth:read"]}],responses:{200:{content:{"application/json":{schema:a.z.array(ko)}},description:"List of keys"}}}),async n=>{const t=(await n.env.data.keys.list()).filter(i=>"cert"in i).map(i=>i);return n.json(t)}).openapi(a.createRoute({tags:["keys"],method:"get",path:"/signing/{kid}",request:{headers:a.z.object({"tenant-id":a.z.string()}),params:a.z.object({kid:a.z.string()})},security:[{Bearer:["auth:read"]}],responses:{200:{content:{"application/json":{schema:ko}},description:"The requested key"}}}),async n=>{const{kid:e}=n.req.valid("param"),i=(await n.env.data.keys.list()).find(r=>r.kid===e);if(!i)throw new N(404,{message:"Key not found"});return n.json(i)}).openapi(a.createRoute({tags:["keys"],method:"post",path:"/signing/rotate",request:{headers:a.z.object({"tenant-id":a.z.string()})},security:[{Bearer:["auth:write"]}],responses:{201:{description:"Status"}}}),async n=>{const e=await n.env.data.keys.list();for await(const i of e)await n.env.data.keys.update(i.kid,{revoked_at:new Date(Date.now()+y0).toISOString()});const t=await Ma({name:`CN=${n.env.ORGANIZATION_NAME}`});return await n.env.data.keys.create(t),n.text("OK",{status:201})}).openapi(a.createRoute({tags:["keys"],method:"put",path:"/signing/{kid}/revoke",request:{headers:a.z.object({"tenant-id":a.z.string()}),params:a.z.object({kid:a.z.string()})},security:[{Bearer:["auth:write"]}],responses:{201:{description:"Status"}}}),async n=>{const{kid:e}=n.req.valid("param");if(!await n.env.data.keys.update(e,{revoked_at:new Date().toISOString()}))throw new N(404,{message:"Key not found"});const i=await Ma({name:`CN=${n.env.ORGANIZATION_NAME}`});return await n.env.data.keys.create(i),n.text("OK")}),w0=new a.OpenAPIHono().openapi(a.createRoute({tags:["users"],method:"get",path:"/",request:{query:a.z.object({email:a.z.string()}),headers:a.z.object({"tenant-id":a.z.string()})},security:[{Bearer:["auth:read"]}],responses:{200:{content:{"tenant/json":{schema:a.z.array(qa)}},description:"List of users"}}}),async n=>{const{"tenant-id":e}=n.req.valid("header"),{email:t}=n.req.valid("query"),r=(await Md(n.env.data.users,e,t)).filter(s=>!s.linked_to);return n.json(r)}),b0=Dt.extend({clients:a.z.array(Yt)}),k0=new a.OpenAPIHono().openapi(a.createRoute({tags:["clients"],method:"get",path:"/",request:{query:on,headers:a.z.object({"tenant-id":a.z.string()})},security:[{Bearer:["auth:read"]}],responses:{200:{content:{"application/json":{schema:a.z.union([b0,a.z.array(Yt)])}},description:"List of clients"}}}),async n=>{const{"tenant-id":e}=n.req.valid("header"),{page:t,per_page:i,include_totals:r,sort:s,q:o}=n.req.valid("query"),l=(await n.env.data.applications.list(e,{page:t,per_page:i,include_totals:r,sort:Dn(s),q:o})).applications;return r?n.json({clients:l,start:0,limit:10,length:l.length}):n.json(l)}).openapi(a.createRoute({tags:["clients"],method:"get",path:"/{id}",request:{params:a.z.object({id:a.z.string()}),headers:a.z.object({"tenant-id":a.z.string()})},security:[{Bearer:["auth:read"]}],responses:{200:{content:{"application/json":{schema:Yt}},description:"An application"}}}),async n=>{const{"tenant-id":e}=n.req.valid("header"),{id:t}=n.req.valid("param"),r=(await n.env.data.applications.list(e,{page:1,per_page:0,include_totals:!1})).applications.find(s=>s.id===t);if(!r)throw new N(404);return n.json(r)}).openapi(a.createRoute({tags:["clients"],method:"delete",path:"/{id}",request:{params:a.z.object({id:a.z.string()}),headers:a.z.object({"tenant-id":a.z.string()})},security:[{Bearer:["auth:write"]}],responses:{200:{description:"Status"}}}),async n=>{const{"tenant-id":e}=n.req.valid("header"),{id:t}=n.req.valid("param");if(!await n.env.data.applications.remove(e,t))throw new N(404,{message:"Application not found"});return n.text("OK")}).openapi(a.createRoute({tags:["clients"],method:"patch",path:"/{id}",request:{body:{content:{"application/json":{schema:a.z.object(fr.shape).partial()}}},params:a.z.object({id:a.z.string()}),headers:a.z.object({"tenant-id":a.z.string()})},security:[{Bearer:["auth:write"]}],responses:{200:{content:{"application/json":{schema:Yt}},description:"The update application"}}}),async n=>{const{"tenant-id":e}=n.req.valid("header"),{id:t}=n.req.valid("param"),r=n.req.valid("json");await n.env.data.applications.update(e,t,r);const s=await n.env.data.applications.get(e,t);if(!s)throw new N(404,{message:"Application not found"});return n.json(s)}).openapi(a.createRoute({tags:["clients"],method:"post",path:"/",request:{body:{content:{"application/json":{schema:a.z.object(fr.shape)}}},headers:a.z.object({"tenant-id":a.z.string()})},security:[{Bearer:["auth:write"]}],responses:{201:{content:{"application/json":{schema:a.z.object(Yt.shape)}},description:"An application"}}}),async n=>{const{"tenant-id":e}=n.req.valid("header"),t=n.req.valid("json"),i={...t,id:t.id||Ke(),client_secret:t.client_secret||Ke()},r=await n.env.data.applications.create(e,i);return n.json(r,{status:201})});a.z.object({start:a.z.number(),limit:a.z.number(),length:a.z.number()});rs.extend({email:a.z.string(),login_count:a.z.number(),multifactor:a.z.array(a.z.string()).optional(),last_ip:a.z.string().optional(),last_login:a.z.string().optional(),user_id:a.z.string()}).catchall(a.z.any());const x0=Dt.extend({tenants:a.z.array(En)}),S0=new a.OpenAPIHono().openapi(a.createRoute({tags:["tenants"],method:"get",path:"/",request:{query:on},security:[{Bearer:["auth:read"]}],responses:{200:{content:{"tenant/json":{schema:a.z.union([a.z.array(En),x0])}},description:"List of tenants"}}}),async n=>{const{page:e,per_page:t,include_totals:i,sort:r,q:s}=n.req.valid("query"),o=await n.env.data.tenants.list({page:e,per_page:t,include_totals:i,sort:Dn(r),q:s});return i?n.json(o):n.json(o.tenants)}).openapi(a.createRoute({tags:["tenants"],method:"get",path:"/{id}",request:{params:a.z.object({id:a.z.string()})},security:[{Bearer:["auth:read"]}],responses:{200:{content:{"tenant/json":{schema:En}},description:"A tenant"}}}),async n=>{const{id:e}=n.req.valid("param"),t=await n.env.data.tenants.get(e);if(!t)throw new N(404);return n.json(t)}).openapi(a.createRoute({tags:["tenants"],method:"delete",path:"/{id}",request:{params:a.z.object({id:a.z.string()})},security:[{Bearer:["auth:write"]}],responses:{200:{description:"Status"}}}),async n=>{const{id:e}=n.req.valid("param");return await n.env.data.tenants.remove(e),n.text("OK")}).openapi(a.createRoute({tags:["tenants"],method:"patch",path:"/{id}",request:{body:{content:{"application/json":{schema:a.z.object(gr.shape).partial()}}},params:a.z.object({id:a.z.string()})},security:[{Bearer:["auth:write"]}],responses:{200:{description:"Status"}}}),async n=>{const{id:e}=n.req.valid("param"),t=n.req.valid("json");return await n.env.data.tenants.update(e,t),n.text("OK")}).openapi(a.createRoute({tags:["tenants"],method:"post",path:"/",request:{body:{content:{"application/json":{schema:a.z.object(gr.shape)}}}},security:[{Bearer:["auth:write"]}],responses:{200:{content:{"tenant/json":{schema:En}},description:"An tenant"}}}),async n=>{const e=n.req.valid("json"),t=await n.env.data.tenants.create(e);return n.json(t,{status:201})}),A0=Dt.extend({logs:a.z.array(mr)}),I0=new a.OpenAPIHono().openapi(a.createRoute({tags:["logs"],method:"get",path:"/",request:{query:on,headers:a.z.object({"tenant-id":a.z.string()})},security:[{Bearer:["auth:read"]}],responses:{200:{content:{"application/json":{schema:a.z.union([a.z.array(mr),A0])}},description:"List of log rows"}}}),async n=>{const{page:e,per_page:t,include_totals:i,sort:r,q:s}=n.req.valid("query"),{"tenant-id":o}=n.req.valid("header"),c=await n.env.data.logs.list(o,{page:e,per_page:t,include_totals:i,sort:Dn(r),q:s});return i?n.json(c):n.json(c.logs)}).openapi(a.createRoute({tags:["logs"],method:"get",path:"/{id}",request:{headers:a.z.object({"tenant-id":a.z.string()}),params:a.z.object({id:a.z.string()})},security:[{Bearer:["auth:read"]}],responses:{200:{content:{"application/json":{schema:mr}},description:"A log entry"}}}),async n=>{const{"tenant-id":e}=n.req.valid("header"),{id:t}=n.req.valid("param"),i=await n.env.data.logs.get(e,t);if(!i)throw new N(404);return n.json(i)}),E0=Dt.extend({hooks:a.z.array(An)}),$0=new a.OpenAPIHono().openapi(a.createRoute({tags:["hooks"],method:"get",path:"/",request:{query:on,headers:a.z.object({"tenant-id":a.z.string()})},security:[{Bearer:["auth:read"]}],responses:{200:{content:{"application/json":{schema:a.z.union([a.z.array(An),E0])}},description:"List of hooks"}}}),async n=>{const{"tenant-id":e}=n.req.valid("header"),{page:t,per_page:i,include_totals:r,sort:s,q:o}=n.req.valid("query"),c=await n.env.data.hooks.list(e,{page:t,per_page:i,include_totals:r,sort:Dn(s),q:o});return r?n.json(c):n.json(c.hooks)}).openapi(a.createRoute({tags:["hooks"],method:"post",path:"/",request:{headers:a.z.object({"tenant-id":a.z.string()}),body:{content:{"application/json":{schema:a.z.object(_r.shape)}}}},security:[{Bearer:["auth:write"]}],responses:{201:{content:{"application/json":{schema:An}},description:"The created hook"}}}),async n=>{const{"tenant-id":e}=n.req.valid("header"),t=n.req.valid("json"),i=await n.env.data.hooks.create(e,t);return n.json(i,{status:201})}).openapi(a.createRoute({tags:["hooks"],method:"patch",path:"/{hook_id}",request:{headers:a.z.object({"tenant-id":a.z.string()}),params:a.z.object({hook_id:a.z.string()}),body:{content:{"application/json":{schema:a.z.object(_r.shape).omit({hook_id:!0}).partial()}}}},security:[{Bearer:["auth:write"]}],responses:{200:{content:{"application/json":{schema:An.shape}},description:"The updated hook"},404:{description:"Hook not found"}}}),async n=>{const{"tenant-id":e}=n.req.valid("header"),{hook_id:t}=n.req.valid("param"),i=n.req.valid("json");await n.env.data.hooks.update(e,t,i);const r=await n.env.data.hooks.get(e,t);if(!r)throw new N(404,{message:"Hook not found"});return n.json(r)}).openapi(a.createRoute({tags:["hooks"],method:"get",path:"/{hook_id}",request:{headers:a.z.object({"tenant-id":a.z.string()}),params:a.z.object({hook_id:a.z.string()})},security:[{Bearer:["auth:read"]}],responses:{200:{content:{"application/json":{schema:An}},description:"A hook"},404:{description:"Hook not found"}}}),async n=>{const{"tenant-id":e}=n.req.valid("header"),{hook_id:t}=n.req.valid("param"),i=await n.env.data.hooks.get(e,t);if(!i)throw new N(404,{message:"Hook not found"});return n.json(i)}).openapi(a.createRoute({tags:["hooks"],method:"delete",path:"/{hook_id}",request:{headers:a.z.object({"tenant-id":a.z.string()}),params:a.z.object({hook_id:a.z.string()})},security:[{Bearer:["auth:read"]}],responses:{200:{description:"A hook"}}}),async n=>{const{"tenant-id":e}=n.req.valid("header"),{hook_id:t}=n.req.valid("param");if(!await n.env.data.hooks.remove(e,t))throw new N(404,{message:"Hook not found"});return n.text("OK")}),C0=Dt.extend({connections:a.z.array(Ot)}),j0=new a.OpenAPIHono().openapi(a.createRoute({tags:["connections"],method:"get",path:"/",request:{query:on,headers:a.z.object({"tenant-id":a.z.string()})},security:[{Bearer:["auth:read"]}],responses:{200:{content:{"application/json":{schema:a.z.union([a.z.array(Ot),C0])}},description:"List of connectionss"}}}),async n=>{const{"tenant-id":e}=n.req.valid("header"),{page:t,per_page:i,include_totals:r=!1,sort:s,q:o}=n.req.valid("query"),c=await n.env.data.connections.list(e,{page:t,per_page:i,include_totals:r,sort:Dn(s),q:o});return r?n.json(c):n.json(c.connections)}).openapi(a.createRoute({tags:["connections"],method:"get",path:"/{id}",request:{params:a.z.object({id:a.z.string()}),headers:a.z.object({"tenant-id":a.z.string()})},security:[{Bearer:["auth:read"]}],responses:{200:{content:{"application/json":{schema:Ot}},description:"A connection"}}}),async n=>{const{"tenant-id":e}=n.req.valid("header"),{id:t}=n.req.valid("param"),i=await n.env.data.connections.get(e,t);if(!i)throw new N(404);return n.json(i)}).openapi(a.createRoute({tags:["connections"],method:"delete",path:"/{id}",request:{params:a.z.object({id:a.z.string()}),headers:a.z.object({"tenant-id":a.z.string()})},security:[{Bearer:["auth:write"]}],responses:{200:{description:"Status"}}}),async n=>{const{"tenant-id":e}=n.req.valid("header"),{id:t}=n.req.valid("param");if(!await n.env.data.connections.remove(e,t))throw new N(404,{message:"Connection not found"});return n.text("OK")}).openapi(a.createRoute({tags:["connections"],method:"patch",path:"/{id}",request:{body:{content:{"application/json":{schema:a.z.object(hr.shape).partial()}}},params:a.z.object({id:a.z.string()}),headers:a.z.object({"tenant-id":a.z.string()})},security:[{Bearer:["auth:write"]}],responses:{200:{content:{"application/json":{schema:Ot}},description:"The updated connection"}}}),async n=>{const{"tenant-id":e}=n.req.valid("header"),{id:t}=n.req.valid("param"),i=n.req.valid("json");if(!await n.env.data.connections.update(e,t,i))throw new N(404,{message:"Connection not found"});const s=await n.env.data.connections.get(e,t);if(!s)throw new N(404,{message:"Connection not found"});return n.json(s)}).openapi(a.createRoute({tags:["connections"],method:"post",path:"/",request:{body:{content:{"application/json":{schema:a.z.object(hr.shape)}}},headers:a.z.object({"tenant-id":a.z.string()})},security:[{Bearer:["auth:write"]}],responses:{201:{content:{"application/json":{schema:Ot}},description:"A connection"}}}),async n=>{const{"tenant-id":e}=n.req.valid("header"),t=n.req.valid("json"),i=await n.env.data.connections.create(e,t);return n.json(i,{status:201})}),z0=new a.OpenAPIHono().openapi(a.createRoute({tags:["prompts"],method:"get",path:"/",request:{headers:a.z.object({"tenant-id":a.z.string()})},security:[{Bearer:["auth:read"]}],responses:{200:{content:{"application/json":{schema:er}},description:"Branding settings"}}}),async n=>{const{"tenant-id":e}=n.req.valid("header"),t=await n.env.data.promptSettings.get(e);return t?n.json(t):n.json(er.parse({}))}).openapi(a.createRoute({tags:["prompts"],method:"patch",path:"/",request:{headers:a.z.object({"tenant-id":a.z.string()}),body:{content:{"application/json":{schema:a.z.object(er.shape).partial()}}}},security:[{Bearer:["auth:write"]}],responses:{200:{description:"Prompts settings"}}}),async n=>{const{"tenant-id":e}=n.req.valid("header"),t=n.req.valid("json"),i=await n.env.data.promptSettings.get(e);return Object.assign(i,t),await n.env.data.promptSettings.set(e,i),n.json(i)});let Yu=!1;function Pf(n){n.use(async(e,t)=>(Yu||(n.openAPIRegistry.registerComponent("securitySchemes","Bearer",{type:"oauth2",scheme:"bearer",flows:{implicit:{authorizationUrl:`${e.env.AUTH_URL}/authorize`,scopes:{openid:"Basic user information",email:"User email",profile:"User profile information"}}}}),Yu=!0),await t()))}a.z.object({alg:a.z.literal("RS256"),kty:a.z.literal("RSA"),use:a.z.literal("sig"),n:a.z.string(),e:a.z.string(),kid:a.z.string(),x5t:a.z.string(),x5c:a.z.array(a.z.string())});async function N0(n){try{const e=await n.JWKS_SERVICE.fetch(n.JWKS_URL);if(!e.ok)throw new Error("Failed to fetch jwks");return(await e.json()).keys}catch(e){throw new N(500,{message:`Failed to fetch jwks: ${e.message}`})}}async function O0(n,e){const i=new TextEncoder().encode([e.raw.header,e.raw.payload].join(".")),r=new Uint8Array(Array.from(e.signature).map(l=>l.charCodeAt(0))),o=(await N0(n.env)).find(l=>l.kid===e.header.kid);if(!o)return console.log("No matching kid found"),!1;const c=await crypto.subtle.importKey("jwk",o,{name:"RSASSA-PKCS1-v1_5",hash:"SHA-256"},!1,["verify"]);return crypto.subtle.verify("RSASSA-PKCS1-v1_5",c,r,i)}function B0(n){const[e,t,i]=n.split(".");if(!e||!t||!i)return null;const r=JSON.parse(atob(e)),s=JSON.parse(atob(t)),o=atob(i.replace(/-/g,"+").replace(/_/g,"/"));return{header:r,payload:s,signature:o,raw:{header:e,payload:t,signature:i}}}function Lf(n){return async(e,t)=>{var r,s,o;const i=n.openAPIRegistry.definitions.find(c=>"route"in c&&c.route.path===e.req.path&&c.route.method.toUpperCase()===e.req.method);if(i&&"route"in i){const c=(s=(r=i.route.security)==null?void 0:r[0])==null?void 0:s.Bearer;if(!(c!=null&&c.length))return await t();const l=e.req.header("authorization")||"",[u,p]=l.split(" ");if((u==null?void 0:u.toLowerCase())!=="bearer"||!p)throw new N(401,{message:"Missing bearer token"});const g=B0(p);if(!g||!await O0(e,g))throw new N(403,{message:"Invalid JWT signature"});e.set("user_id",g.payload.sub),e.set("user",g.payload);const m=g.payload.permissions||[],x=((o=g.payload.scope)==null?void 0:o.split(" "))||[];if(c.length&&!(c.some(h=>m.includes(h))||c.some(h=>x.includes(h))))throw new N(403,{message:"Unauthorized"})}return await t()}}const T0=new a.OpenAPIHono().openapi(a.createRoute({tags:["emails"],method:"get",path:"/",request:{headers:a.z.object({"tenant-id":a.z.string()})},security:[{Bearer:["auth:read"]}],responses:{200:{content:{"application/json":{schema:tr}},description:"Email provider"}}}),async n=>{const{"tenant-id":e}=n.req.valid("header"),t=await n.env.data.emailProviders.get(e);if(!t)throw new N(404,{message:"Email provider not found"});return n.json(t)}).openapi(a.createRoute({tags:["emails"],method:"post",path:"/",request:{headers:a.z.object({"tenant-id":a.z.string()}),body:{content:{"application/json":{schema:a.z.object(tr.shape)}}}},security:[{Bearer:["auth:write"]}],responses:{200:{description:"Branding settings"}}}),async n=>{const{"tenant-id":e}=n.req.valid("header"),t=n.req.valid("json");return await n.env.data.emailProviders.create(e,t),n.text("OK",{status:201})}).openapi(a.createRoute({tags:["emails"],method:"patch",path:"/",request:{headers:a.z.object({"tenant-id":a.z.string()}),body:{content:{"application/json":{schema:a.z.object(tr.shape).partial()}}}},security:[{Bearer:["auth:write"]}],responses:{200:{description:"Branding settings"}}}),async n=>{const{"tenant-id":e}=n.req.valid("header"),t=n.req.valid("json");return await n.env.data.emailProviders.update(e,t),n.text("OK")});function R0(){const n=new a.OpenAPIHono;n.use(Lf(n));const e=n.route("/branding",ng).route("/email/providers",T0).route("/users",vg).route("/keys",v0).route("/users-by-email",w0).route("/clients",k0).route("/tenants",S0).route("/logs",I0).route("/hooks",$0).route("/connections",j0).route("/prompts",z0);return Pf(e),e.doc("/spec",{openapi:"3.0.0",info:{version:"1.0.0",title:"Management api"}}),e}function P0(n,e){Object.keys(e).forEach(t=>{const i=e[t];i!=null&&i.length&&n.searchParams.set(t,i)})}function Hn(n){var e,t,i;return{auth0Client:(e=n.query("auth0Client"))==null?void 0:e.slice(0,255),ip:(t=n.header("x-real-ip"))==null?void 0:t.slice(0,45),useragent:(i=n.header("user-agent"))==null?void 0:i.slice(0,512)}}const Qi=60*5,Uf=30*24*60*60,es=24*60*60,L0="auth-token",Xu=30*60*1e3,U0=5*60,V0=5*60;var Qu;(function(n){n[n.Include=0]="Include",n[n.None=1]="None"})(Qu||(Qu={}));var ed;(function(n){n[n.Required=0]="Required",n[n.Ignore=1]="Ignore"})(ed||(ed={}));function M0(n){return Mf(n,H0,Ii.Include)}function Vf(n){return Mf(n,D0,Ii.None)}function Mf(n,e,t){let i="";for(let r=0;r<n.byteLength;r+=3){let s=0,o=0;for(let c=0;c<3&&r+c<n.byteLength;c++)s=s<<8|n[r+c],o+=8;for(let c=0;c<4;c++)o>=6?(i+=e[s>>o-6&63],o-=6):o>0?(i+=e[s<<6-o&63],o=0):t===Ii.Include&&(i+="=")}return i}const H0="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",D0="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_";var Ii;(function(n){n[n.Include=0]="Include",n[n.None=1]="None"})(Ii||(Ii={}));var td;(function(n){n[n.Required=0]="Required",n[n.Ignore=1]="Ignore"})(td||(td={}));class F0{uint8(e,t){if(e.byteLength<t+1)throw new TypeError("Insufficient bytes");return e[t]}uint16(e,t){if(e.byteLength<t+2)throw new TypeError("Insufficient bytes");return e[t]<<8|e[t+1]}uint32(e,t){if(e.byteLength<t+4)throw new TypeError("Insufficient bytes");let i=0;for(let r=0;r<4;r++)i|=e[t+r]<<24-r*8;return i}uint64(e,t){if(e.byteLength<t+8)throw new TypeError("Insufficient bytes");let i=0n;for(let r=0;r<8;r++)i|=BigInt(e[t+r])<<BigInt(56-r*8);return i}putUint8(e,t,i){if(e.length<i+1)throw new TypeError("Not enough space");if(t<0||t>255)throw new TypeError("Invalid uint8 value");e[i]=t}putUint16(e,t,i){if(e.length<i+2)throw new TypeError("Not enough space");if(t<0||t>65535)throw new TypeError("Invalid uint16 value");e[i]=t>>8,e[i+1]=t&255}putUint32(e,t,i){if(e.length<i+4)throw new TypeError("Not enough space");if(t<0||t>4294967295)throw new TypeError("Invalid uint32 value");for(let r=0;r<4;r++)e[i+r]=t>>(3-r)*8&255}putUint64(e,t,i){if(e.length<i+8)throw new TypeError("Not enough space");if(t<0||t>18446744073709551615n)throw new TypeError("Invalid uint64 value");for(let r=0;r<8;r++)e[i+r]=Number(t>>BigInt((7-r)*8)&0xffn)}}const nd=new F0;function pt(n,e){return(n<<32-e|n>>>e)>>>0}function q0(n){const e=new K0;return e.update(n),e.digest()}class K0{constructor(){te(this,"blockSize",64);te(this,"size",32);te(this,"blocks",new Uint8Array(64));te(this,"currentBlockSize",0);te(this,"H",new Uint32Array([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]));te(this,"l",0n);te(this,"w",new Uint32Array(64))}update(e){if(this.l+=BigInt(e.byteLength)*8n,this.currentBlockSize+e.byteLength<64){this.blocks.set(e,this.currentBlockSize),this.currentBlockSize+=e.byteLength;return}let t=0;if(this.currentBlockSize>0){const i=e.slice(0,64-this.currentBlockSize);this.blocks.set(i,this.currentBlockSize),this.process(),t+=i.byteLength,this.currentBlockSize=0}for(;t+64<=e.byteLength;){const i=e.slice(t,t+64);this.blocks.set(i),this.process(),t+=64}if(e.byteLength-t>0){const i=e.slice(t);this.blocks.set(i),this.currentBlockSize=i.byteLength}}digest(){this.blocks[this.currentBlockSize]=128,this.currentBlockSize+=1,64-this.currentBlockSize<8&&(this.blocks.fill(0,this.currentBlockSize),this.process(),this.currentBlockSize=0),this.blocks.fill(0,this.currentBlockSize),nd.putUint64(this.blocks,this.l,this.blockSize-8),this.process();const e=new Uint8Array(32);for(let t=0;t<8;t++)nd.putUint32(e,this.H[t],t*4);return e}process(){for(let u=0;u<16;u++)this.w[u]=(this.blocks[u*4]<<24|this.blocks[u*4+1]<<16|this.blocks[u*4+2]<<8|this.blocks[u*4+3])>>>0;for(let u=16;u<64;u++){const p=(pt(this.w[u-2],17)^pt(this.w[u-2],19)^this.w[u-2]>>>10)>>>0,g=(pt(this.w[u-15],7)^pt(this.w[u-15],18)^this.w[u-15]>>>3)>>>0;this.w[u]=p+this.w[u-7]+g+this.w[u-16]|0}let e=this.H[0],t=this.H[1],i=this.H[2],r=this.H[3],s=this.H[4],o=this.H[5],c=this.H[6],l=this.H[7];for(let u=0;u<64;u++){const p=(pt(s,6)^pt(s,11)^pt(s,25))>>>0,g=(s&o^~s&c)>>>0,m=l+p+g+W0[u]+this.w[u]|0,x=(pt(e,2)^pt(e,13)^pt(e,22))>>>0,h=(e&t^e&i^t&i)>>>0,_=x+h|0;l=c,c=o,o=s,s=r+m|0,r=i,i=t,t=e,e=m+_|0}this.H[0]=e+this.H[0]|0,this.H[1]=t+this.H[1]|0,this.H[2]=i+this.H[2]|0,this.H[3]=r+this.H[3]|0,this.H[4]=s+this.H[4]|0,this.H[5]=o+this.H[5]|0,this.H[6]=c+this.H[6]|0,this.H[7]=l+this.H[7]|0}}const W0=new Uint32Array([1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298]);new BigUint64Array([0x428a2f98d728ae22n,0x7137449123ef65cdn,0xb5c0fbcfec4d3b2fn,0xe9b5dba58189dbbcn,0x3956c25bf348b538n,0x59f111f1b605d019n,0x923f82a4af194f9bn,0xab1c5ed5da6d8118n,0xd807aa98a3030242n,0x12835b0145706fben,0x243185be4ee4b28cn,0x550c7dc3d5ffb4e2n,0x72be5d74f27b896fn,0x80deb1fe3b1696b1n,0x9bdc06a725c71235n,0xc19bf174cf692694n,0xe49b69c19ef14ad2n,0xefbe4786384f25e3n,0x0fc19dc68b8cd5b5n,0x240ca1cc77ac9c65n,0x2de92c6f592b0275n,0x4a7484aa6ea6e483n,0x5cb0a9dcbd41fbd4n,0x76f988da831153b5n,0x983e5152ee66dfabn,0xa831c66d2db43210n,0xb00327c898fb213fn,0xbf597fc7beef0ee4n,0xc6e00bf33da88fc2n,0xd5a79147930aa725n,0x06ca6351e003826fn,0x142929670a0e6e70n,0x27b70a8546d22ffcn,0x2e1b21385c26c926n,0x4d2c6dfc5ac42aedn,0x53380d139d95b3dfn,0x650a73548baf63den,0x766a0abb3c77b2a8n,0x81c2c92e47edaee6n,0x92722c851482353bn,0xa2bfe8a14cf10364n,0xa81a664bbc423001n,0xc24b8b70d0f89791n,0xc76c51a30654be30n,0xd192e819d6ef5218n,0xd69906245565a910n,0xf40e35855771202an,0x106aa07032bbd1b8n,0x19a4c116b8d2d0c8n,0x1e376c085141ab53n,0x2748774cdf8eeb99n,0x34b0bcb5e19b48a8n,0x391c0cb3c5c95a63n,0x4ed8aa4ae3418acbn,0x5b9cca4f7763e373n,0x682e6ff3d6b2b8a3n,0x748f82ee5defb2fcn,0x78a5636f43172f60n,0x84c87814a1f0ab72n,0x8cc702081a6439ecn,0x90befffa23631e28n,0xa4506cebde82bde9n,0xbef9a3f7b2c67915n,0xc67178f2e372532bn,0xca273eceea26619cn,0xd186b8c721c0c207n,0xeada7dd6cde0eb1en,0xf57d4f7fee6ed178n,0x06f067aa72176fban,0x0a637dc5a2c898a6n,0x113f9804bef90daen,0x1b710b35131c471bn,0x28db77f523047d84n,0x32caab7b40c72493n,0x3c9ebe0a15c9bebcn,0x431d67c49c100d4cn,0x4cc5d4becb3e42b6n,0x597f299cfc657e2an,0x5fcb6fab3ad6faecn,0x6c44198c4a475817n]);class G0{constructor(e){te(this,"data");this.data=e}tokenType(){if("token_type"in this.data&&typeof this.data.token_type=="string")return this.data.token_type;throw new Error("Missing or invalid 'token_type' field")}accessToken(){if("access_token"in this.data&&typeof this.data.access_token=="string")return this.data.access_token;throw new Error("Missing or invalid 'access_token' field")}accessTokenExpiresInSeconds(){if("expires_in"in this.data&&typeof this.data.expires_in=="number")return this.data.expires_in;throw new Error("Missing or invalid 'expires_in' field")}accessTokenExpiresAt(){return new Date(Date.now()+this.accessTokenExpiresInSeconds()*1e3)}hasRefreshToken(){return"refresh_token"in this.data&&typeof this.data.refresh_token=="string"}refreshToken(){if("refresh_token"in this.data&&typeof this.data.refresh_token=="string")return this.data.refresh_token;throw new Error("Missing or invalid 'refresh_token' field")}hasScopes(){return"scope"in this.data&&typeof this.data.scope=="string"}scopes(){if("scope"in this.data&&typeof this.data.scope=="string")return this.data.scope.split(" ");throw new Error("Missing or invalid 'scope' field")}idToken(){if("id_token"in this.data&&typeof this.data.id_token=="string")return this.data.id_token;throw new Error("Missing or invalid field 'id_token'")}}function J0(n){const e=q0(new TextEncoder().encode(n));return Vf(e)}function Z0(){const n=new Uint8Array(32);return crypto.getRandomValues(n),Vf(n)}function di(n,e){const t=new TextEncoder().encode(e.toString()),i=new Request(n,{method:"POST",body:t});return i.headers.set("Content-Type","application/x-www-form-urlencoded"),i.headers.set("Accept","application/json"),i.headers.set("User-Agent","arctic"),i.headers.set("Content-Length",t.byteLength.toString()),i}function mo(n,e){const t=new TextEncoder().encode(`${n}:${e}`);return M0(t)}async function ts(n){let e;try{e=await fetch(n)}catch(t){throw new Df(t)}if(e.status===400||e.status===401){let t;try{t=await e.json()}catch{throw new or(e.status)}if(typeof t!="object"||t===null)throw new jn(e.status,t);let i;try{i=Hf(t)}catch{throw new jn(e.status,t)}throw i}if(e.status===200){let t;try{t=await e.json()}catch{throw new or(e.status)}if(typeof t!="object"||t===null)throw new jn(e.status,t);return new G0(t)}throw e.body!==null&&await e.body.cancel(),new or(e.status)}async function Y0(n){let e;try{e=await fetch(n)}catch(t){throw new Df(t)}if(e.status===400||e.status===401){let t;try{t=await e.json()}catch{throw new jn(e.status,null)}if(typeof t!="object"||t===null)throw new jn(e.status,t);let i;try{i=Hf(t)}catch{throw new jn(e.status,t)}throw i}if(e.status===200){e.body!==null&&await e.body.cancel();return}throw e.body!==null&&await e.body.cancel(),new or(e.status)}function Hf(n){let e;if("error"in n&&typeof n.error=="string")e=n.error;else throw new Error("Invalid error response");let t=null,i=null,r=null;if("error_description"in n){if(typeof n.error_description!="string")throw new Error("Invalid data");t=n.error_description}if("error_uri"in n){if(typeof n.error_uri!="string")throw new Error("Invalid data");i=n.error_uri}if("state"in n){if(typeof n.state!="string")throw new Error("Invalid data");r=n.state}return new X0(e,t,i,r)}class Df extends Error{constructor(e){super("Failed to send request",{cause:e})}}class X0 extends Error{constructor(t,i,r,s){super(`OAuth request error: ${t}`);te(this,"code");te(this,"description");te(this,"uri");te(this,"state");this.code=t,this.description=i,this.uri=r,this.state=s}}class or extends Error{constructor(t){super("Unexpected error response");te(this,"status");this.status=t}}class jn extends Error{constructor(t,i){super("Unexpected error response body");te(this,"status");te(this,"data");this.status=t,this.data=i}}class Mc{constructor(e,t,i){te(this,"clientId");te(this,"clientPassword");te(this,"redirectURI");this.clientId=e,this.clientPassword=t,this.redirectURI=i}createAuthorizationURL(e,t,i){const r=new URL(e);return r.searchParams.set("response_type","code"),r.searchParams.set("client_id",this.clientId),this.redirectURI!==null&&r.searchParams.set("redirect_uri",this.redirectURI),r.searchParams.set("state",t),i.length>0&&r.searchParams.set("scope",i.join(" ")),r}createAuthorizationURLWithPKCE(e,t,i,r,s){const o=new URL(e);if(o.searchParams.set("response_type","code"),o.searchParams.set("client_id",this.clientId),this.redirectURI!==null&&o.searchParams.set("redirect_uri",this.redirectURI),o.searchParams.set("state",t),i===Ei.S256){const c=J0(r);o.searchParams.set("code_challenge_method","S256"),o.searchParams.set("code_challenge",c)}else i===Ei.Plain&&(o.searchParams.set("code_challenge_method","plain"),o.searchParams.set("code_challenge",r));return s.length>0&&o.searchParams.set("scope",s.join(" ")),o}async validateAuthorizationCode(e,t,i){const r=new URLSearchParams;r.set("grant_type","authorization_code"),r.set("code",t),this.redirectURI!==null&&r.set("redirect_uri",this.redirectURI),i!==null&&r.set("code_verifier",i),this.clientPassword===null&&r.set("client_id",this.clientId);const s=di(e,r);if(this.clientPassword!==null){const c=mo(this.clientId,this.clientPassword);s.headers.set("Authorization",`Basic ${c}`)}return await ts(s)}async refreshAccessToken(e,t,i){const r=new URLSearchParams;r.set("grant_type","refresh_token"),r.set("refresh_token",t),this.clientPassword===null&&r.set("client_id",this.clientId),i.length>0&&r.set("scope",i.join(" "));const s=di(e,r);if(this.clientPassword!==null){const c=mo(this.clientId,this.clientPassword);s.headers.set("Authorization",`Basic ${c}`)}return await ts(s)}async revokeToken(e,t){const i=new URLSearchParams;i.set("token",t),this.clientPassword===null&&i.set("client_id",this.clientId);const r=di(e,i);if(this.clientPassword!==null){const s=mo(this.clientId,this.clientPassword);r.headers.set("Authorization",`Basic ${s}`)}await Y0(r)}}var Ei;(function(n){n[n.S256=0]="S256",n[n.Plain=1]="Plain"})(Ei||(Ei={}));var id;(function(n){n[n.Include=0]="Include",n[n.None=1]="None"})(id||(id={}));var rd;(function(n){n[n.Required=0]="Required",n[n.Ignore=1]="Ignore"})(rd||(rd={}));function pi(n){return Q0(n,em,ns.None)}function Q0(n,e,t){let i="";for(let r=0;r<n.byteLength;r+=3){let s=0,o=0;for(let c=0;c<3&&r+c<n.byteLength;c++)s=s<<8|n[r+c],o+=8;for(let c=0;c<4;c++)o>=6?(i+=e[s>>o-6&63],o-=6):o>0?(i+=e[s<<6-o&63],o=0):t===ns.Include&&(i+="=")}return i}const em="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_";var ns;(function(n){n[n.Include=0]="Include",n[n.None=1]="None"})(ns||(ns={}));var sd;(function(n){n[n.Required=0]="Required",n[n.Ignore=1]="Ignore"})(sd||(sd={}));function tm(n,e,t){const i=pi(new TextEncoder().encode(n)),r=pi(new TextEncoder().encode(e)),s=pi(t);return i+"."+r+"."+s}function nm(n,e){const t=pi(new TextEncoder().encode(n)),i=pi(new TextEncoder().encode(e)),r=t+"."+i;return new TextEncoder().encode(r)}const im="https://appleid.apple.com/auth/authorize",rm="https://appleid.apple.com/auth/token";class Ff{constructor(e,t,i,r,s){te(this,"clientId");te(this,"teamId");te(this,"keyId");te(this,"pkcs8PrivateKey");te(this,"redirectURI");this.clientId=e,this.teamId=t,this.keyId=i,this.pkcs8PrivateKey=r,this.redirectURI=s}createAuthorizationURL(e,t){const i=new URL(im);return i.searchParams.set("response_type","code"),i.searchParams.set("client_id",this.clientId),i.searchParams.set("state",e),t.length>0&&i.searchParams.set("scope",t.join(" ")),i.searchParams.set("redirect_uri",this.redirectURI),i}async validateAuthorizationCode(e){const t=new URLSearchParams;t.set("grant_type","authorization_code"),t.set("code",e),t.set("redirect_uri",this.redirectURI),t.set("client_id",this.clientId);const i=await this.createClientSecret();t.set("client_secret",i);const r=di(rm,t);return await ts(r)}async createClientSecret(){const e=await crypto.subtle.importKey("pkcs8",this.pkcs8PrivateKey,{name:"ECDSA",namedCurve:"P-256"},!1,["sign"]),t=Math.floor(Date.now()/1e3),i=JSON.stringify({typ:"JWT",alg:"ES256",kid:this.keyId}),r=JSON.stringify({iss:this.teamId,exp:t+5*60,aud:["https://appleid.apple.com"],sub:this.clientId,iat:t}),s=new Uint8Array(await crypto.subtle.sign({name:"ECDSA",hash:"SHA-256"},e,nm(i,r)));return tm(i,r,s)}}const sm="https://www.facebook.com/v16.0/dialog/oauth",om="https://graph.facebook.com/v16.0/oauth/access_token";class qf{constructor(e,t,i){te(this,"clientId");te(this,"clientSecret");te(this,"redirectURI");this.clientId=e,this.clientSecret=t,this.redirectURI=i}createAuthorizationURL(e,t){const i=new URL(sm);return i.searchParams.set("response_type","code"),i.searchParams.set("client_id",this.clientId),i.searchParams.set("state",e),t.length>0&&i.searchParams.set("scope",t.join(" ")),i.searchParams.set("redirect_uri",this.redirectURI),i}async validateAuthorizationCode(e){const t=new URLSearchParams;t.set("grant_type","authorization_code"),t.set("code",e),t.set("redirect_uri",this.redirectURI),t.set("client_id",this.clientId),t.set("client_secret",this.clientSecret);const i=di(om,t);return await ts(i)}}const am="https://accounts.google.com/o/oauth2/v2/auth",od="https://oauth2.googleapis.com/token",cm="https://oauth2.googleapis.com/revoke";class Kf{constructor(e,t,i){te(this,"client");this.client=new Mc(e,t,i)}createAuthorizationURL(e,t,i){return this.client.createAuthorizationURLWithPKCE(am,e,Ei.S256,t,i)}async validateAuthorizationCode(e,t){return await this.client.validateAuthorizationCode(od,e,t)}async refreshAccessToken(e){return await this.client.refreshAccessToken(od,e,[])}async revokeToken(e){await this.client.revokeToken(cm,e)}}class Hc{constructor(e,t){te(this,"value");te(this,"unit");this.value=e,this.unit=t}milliseconds(){return this.unit==="ms"?this.value:this.unit==="s"?this.value*1e3:this.unit==="m"?this.value*1e3*60:this.unit==="h"?this.value*1e3*60*60:this.unit==="d"?this.value*1e3*60*60*24:this.value*1e3*60*60*24*7}seconds(){return this.milliseconds()/1e3}transform(e){return new Hc(Math.round(this.milliseconds()*e),"ms")}}async function ad(n,e,t,i){const r={alg:n,typ:"JWT",...i==null?void 0:i.headers},s={...t};(i==null?void 0:i.audiences)!==void 0&&(s.aud=i.audiences),(i==null?void 0:i.subject)!==void 0&&(s.sub=i.subject),(i==null?void 0:i.issuer)!==void 0&&(s.iss=i.issuer),(i==null?void 0:i.jwtId)!==void 0&&(s.jti=i.jwtId),(i==null?void 0:i.expiresIn)!==void 0&&(s.exp=Math.floor(Date.now()/1e3)+i.expiresIn.seconds()),(i==null?void 0:i.notBefore)!==void 0&&(s.nbf=Math.floor(i.notBefore.getTime()/1e3)),s.iat=Math.floor(Date.now()/1e3);const o=new TextEncoder,c=rn.encode(o.encode(JSON.stringify(r)),{includePadding:!1}),l=rn.encode(o.encode(JSON.stringify(s)),{includePadding:!1}),u=o.encode([c,l].join(".")),p=await um(n).sign(e,u),g=rn.encode(new Uint8Array(p),{includePadding:!1});return[c,l,g].join(".")}function lm(n){const e=n.split(".");return e.length!==3?null:e}function Dc(n){const e=lm(n);if(!e)return null;const t=new TextDecoder,i=rn.decode(e[0],{strict:!1}),r=rn.decode(e[1],{strict:!1}),s=JSON.parse(t.decode(i));if(typeof s!="object"||s===null||!("alg"in s)||!dm(s.alg)||"typ"in s&&s.typ!=="JWT")return null;const o=JSON.parse(t.decode(r));if(typeof o!="object"||o===null)return null;const c={algorithm:s.alg,expiresAt:null,subject:null,issuedAt:null,issuer:null,jwtId:null,audiences:null,notBefore:null};if("exp"in o){if(typeof o.exp!="number")return null;c.expiresAt=new Date(o.exp*1e3)}if("iss"in o){if(typeof o.iss!="string")return null;c.issuer=o.iss}if("sub"in o){if(typeof o.sub!="string")return null;c.subject=o.sub}if("aud"in o)if(Array.isArray(o.aud)){for(const l of o.aud)if(typeof l!="string")return null;c.audiences=o.aud}else{if(typeof o.aud!="string")return null;c.audiences=[o.aud]}if("nbf"in o){if(typeof o.nbf!="number")return null;c.notBefore=new Date(o.nbf*1e3)}if("iat"in o){if(typeof o.iat!="number")return null;c.issuedAt=new Date(o.iat*1e3)}if("jti"in o){if(typeof o.jti!="string")return null;c.jwtId=o.jti}return{value:n,header:{...s,typ:"JWT",alg:s.alg},payload:{...o},parts:e,...c}}function um(n){return new g0(pm[n])}function dm(n){return typeof n!="string"?!1:["HS256","HS384","HS512","RS256","RS384","RS512","ES256","ES384","ES512","PS256","PS384","PS512"].includes(n)}const pm={RS256:"SHA-256",RS384:"SHA-384",RS512:"SHA-512"},Zs=a.z.object({iss:a.z.string().url(),sub:a.z.string(),aud:a.z.string(),exp:a.z.number(),email:a.z.string().optional(),given_name:a.z.string().optional(),family_name:a.z.string().optional(),name:a.z.string().optional(),iat:a.z.number(),auth_time:a.z.number().optional(),nonce:a.z.string().optional(),acr:a.z.string().optional(),amr:a.z.array(a.z.string()).optional(),azp:a.z.string().optional(),at_hash:a.z.string().optional(),c_hash:a.z.string().optional()}).passthrough();Zs.omit({iat:!0,auth_time:!0,nonce:!0,acr:!0,amr:!0,azp:!0,at_hash:!0,c_hash:!0});function mt(n){return n.UNIVERSAL_LOGIN_URL||`${n.ISSUER}u/`}function bt(n){return n.OAUTH_API_URL||n.ISSUER}function Wf(n){const{options:e}=n;if(!e||!e.client_id||!e.team_id||!e.kid||!e.app_secret)throw new Error("Missing required Apple authentication parameters");const t=Buffer.from(e.app_secret,"utf-8"),i=t.toString().replace(/-----BEGIN PRIVATE KEY-----|-----END PRIVATE KEY-----|\s/g,""),r=Uint8Array.from(Buffer.from(i,"base64"));return t.fill(0),{options:e,keyArray:r}}async function fm(n,e){var l,u;const{options:t,keyArray:i}=Wf(e),r=new Ff(t.client_id,t.team_id,t.kid,i,`${bt(n.env)}callback`),s=Ke(),o=await r.createAuthorizationURL(s,((l=t.scope)==null?void 0:l.split(" "))||["name","email"]);return(((u=t.scope)==null?void 0:u.split(" "))||["name","email"]).some(p=>["email","name"].includes(p))&&o.searchParams.set("response_mode","form_post"),{redirectUrl:o.href,code:s}}async function hm(n,e,t){const{options:i,keyArray:r}=Wf(e),o=await new Ff(i.client_id,i.team_id,i.kid,r,`${bt(n.env)}callback`).validateAuthorizationCode(t),c=Dc(o.idToken());if(!c)throw new Error("Invalid ID token");const l=Zs.parse(c.payload);return{sub:l.sub,email:l.email,given_name:l.given_name,family_name:l.family_name,name:l.name,picture:l.picture,locale:l.locale}}const gm=Object.freeze(Object.defineProperty({__proto__:null,getRedirect:fm,validateAuthorizationCodeAndGetUser:hm},Symbol.toStringTag,{value:"Module"}));async function _m(n,e){var o;const{options:t}=e;if(!(t!=null&&t.client_id)||!t.client_secret)throw new Error("Missing required authentication parameters");const i=new qf(t.client_id,t.client_secret,`${bt(n.env)}callback`),r=Ke();return{redirectUrl:i.createAuthorizationURL(r,((o=t.scope)==null?void 0:o.split(" "))||["email"]).href,code:r}}async function mm(n,e,t){const{options:i}=e;if(!(i!=null&&i.client_id)||!i.client_secret)throw new Error("Missing required authentication parameters");const s=await new qf(i.client_id,i.client_secret,`${bt(n.env)}callback`).validateAuthorizationCode(t),o=await fetch("https://graph.facebook.com/v16.0/me?fields=id,email,name",{headers:{Authorization:`Bearer ${s.accessToken()}`}});if(!o.ok)throw new Error("Failed to fetch user info");const c=await o.json();return n.set("log",`Userinfo: ${JSON.stringify(c)}`),{sub:c.id,email:c.email,name:c.name}}const ym=Object.freeze(Object.defineProperty({__proto__:null,getRedirect:_m,validateAuthorizationCodeAndGetUser:mm},Symbol.toStringTag,{value:"Module"}));async function vm(n,e){var c;const{options:t}=e;if(!(t!=null&&t.client_id)||!t.client_secret)throw new Error("Missing required Google authentication parameters");const i=new Kf(t.client_id,t.client_secret,`${bt(n.env)}callback`),r=Ke(),s=Z0();return{redirectUrl:i.createAuthorizationURL(r,s,((c=t.scope)==null?void 0:c.split(" "))??["email","profile"]).href,code:r,codeVerifier:s}}async function wm(n,e,t,i){const{options:r}=e;if(!(r!=null&&r.client_id)||!r.client_secret||!i)throw new Error("Missing required authentication parameters");const o=await new Kf(r.client_id,r.client_secret,`${bt(n.env)}callback`).validateAuthorizationCode(t,i);console.log("got here");const c=Dc(o.idToken());if(!c)throw new Error("Invalid ID token");const l=Zs.parse(c.payload);return{sub:l.sub,email:l.email,given_name:l.given_name,family_name:l.family_name,name:l.name,picture:l.picture,locale:l.locale}}const bm=Object.freeze(Object.defineProperty({__proto__:null,getRedirect:vm,validateAuthorizationCodeAndGetUser:wm},Symbol.toStringTag,{value:"Module"}));async function km(n,e){var o;const{options:t}=e;if(!(t!=null&&t.client_id)||!t.client_secret)throw new Error("Missing required authentication parameters");const i=new Mc(t.client_id,t.client_secret,`${bt(n.env)}callback`),r=Ke(),s=i.createAuthorizationURL("https://api.vipps.no/access-management-1.0/access/oauth2/auth",r,((o=t.scope)==null?void 0:o.split(" "))||["openid","email","phoneNumber","name","address","birthDate"]);return s.searchParams.set("response_type","code"),s.searchParams.set("response_mode","query"),{redirectUrl:s.href,code:r}}async function xm(n,e,t){const{options:i}=e;if(!(i!=null&&i.client_id)||!i.client_secret)throw new Error("Missing required authentication parameters");const s=await new Mc(i.client_id,i.client_secret,`${bt(n.env)}callback`).validateAuthorizationCode("https://api.vipps.no/access-management-1.0/access/oauth2/token",t,null),o=Dc(s.idToken());if(!o)throw new Error("Invalid ID token");const c=Zs.parse(o.payload);if(typeof c.msn!="string")throw new Error("msn not available in id token");const l=await fetch("https://api.vipps.no/vipps-userinfo-api/userinfo",{headers:{Authorization:`Bearer ${s.accessToken()}`,"Merchant-Serial-Number":c.msn}});if(!l.ok)throw new N(400,{message:"Failed to get user from vipps"});return await l.json()}const Sm=Object.freeze(Object.defineProperty({__proto__:null,getRedirect:km,validateAuthorizationCodeAndGetUser:xm},Symbol.toStringTag,{value:"Module"}));function Gf(n,e){const t=n.env.STRATEGIES||{},r={apple:gm,facebook:ym,"google-oauth2":bm,vipps:Sm,...t}[e];if(!r)throw new Error(`Strategy ${e} not found`);return r}async function Fc(n,e){const t=await n.data.clients.get(e);if(!t)throw new N(403,{message:"Client not found"});const i=n.DEFAULT_CLIENT_ID?await n.data.clients.get(n.DEFAULT_CLIENT_ID):void 0,r=await n.data.connections.list(t.tenant.id),s=n.DEFAULT_TENANT_ID?await n.data.connections.list(n.DEFAULT_TENANT_ID):{connections:[]},o=r.connections.map(c=>{var p;const l=(p=s.connections)==null?void 0:p.find(g=>g.name===c.name);return l!=null&&l.options?Ot.parse({...l||{},...c,options:{...l.options||{},...c.options}}):c}).filter(c=>c);return{...t,web_origins:[...(i==null?void 0:i.web_origins)||[],...t.web_origins||[],`${mt(n)}login`],allowed_logout_urls:[...(i==null?void 0:i.allowed_logout_urls)||[],...t.allowed_logout_urls||[],n.ISSUER],callbacks:[...(i==null?void 0:i.callbacks)||[],...t.callbacks||[],`${mt(n)}info`],connections:o,domains:[...t.domains||[],...(i==null?void 0:i.domains)||[]],tenant:{...(i==null?void 0:i.tenant)||{},...t.tenant}}}function Ys(n,e=[],t={}){try{const i=new URL(n);return e.some(r=>{try{return Am(i,new URL(r),t.allowPathWildcards)}catch{return!1}})}catch{return!1}}function Am(n,e,t){if(n.protocol!==e.protocol)return!1;if(t&&e.pathname.includes("*")){const i=e.pathname.replace(/\*/g,".*").replace(/\//g,"\\/");if(!new RegExp(`^${i}$`).test(n.pathname))return!1}else if(n.pathname!==e.pathname)return!1;if(e.hostname.startsWith("*.")&&e.hostname.split(".").length>2&&["http:","https:"].includes(e.protocol)){const i=e.hostname.split(".").slice(1).join(".");return n.hostname.endsWith(i)}return n.hostname===e.hostname}function Im(n){try{const t=/-----BEGIN (?:RSA )?(?:PRIVATE|PUBLIC) KEY-----([^-]*)-----END (?:RSA )?(?:PRIVATE|PUBLIC) KEY-----/.exec(n);if(!t||!t[1])throw new Error("Invalid PEM format");return Uint8Array.from(atob(t[1].replace(/\s/g,"")),i=>i.charCodeAt(0)).buffer}finally{n=n.replace(/./g,"\0")}}async function Em(n,e){if(e==="plain")return n;const t=new TextEncoder().encode(n),i=await Rf(t);return rn.encode(new Uint8Array(i),{includePadding:!1})}function Jf(n,e,t){const i=[];return i.push([encodeURIComponent(n),encodeURIComponent(e)]),(t==null?void 0:t.domain)!==void 0&&i.push(["Domain",t.domain]),(t==null?void 0:t.expires)!==void 0&&i.push(["Expires",t.expires.toUTCString()]),t!=null&&t.httpOnly&&i.push(["HttpOnly"]),(t==null?void 0:t.maxAge)!==void 0&&i.push(["Max-Age",t.maxAge.toString()]),(t==null?void 0:t.path)!==void 0&&i.push(["Path",t.path]),(t==null?void 0:t.sameSite)==="lax"&&i.push(["SameSite","Lax"]),(t==null?void 0:t.sameSite)==="none"&&i.push(["SameSite","None"]),(t==null?void 0:t.sameSite)==="strict"&&i.push(["SameSite","Strict"]),t!=null&&t.secure&&i.push(["Secure"]),i.map(r=>r.join("=")).join("; ")}function $m(n){const e=new Map,t=n.split("; ");for(const i of t){const r=i.split("="),s=r[0],o=r[1]??"";s&&e.set(decodeURIComponent(s),decodeURIComponent(o))}return e}function qc(n){return`${n}-${L0}`}function Zf(n,e){return e?$m(e).get(qc(n)):void 0}function Cm(n){const e={path:"/",httpOnly:!0,secure:!0,maxAge:0};return Jf(qc(n),"",{...e,sameSite:"none"})}function Yf(n,e){const t={path:"/",httpOnly:!0,secure:!0,maxAge:Uf};return Jf(qc(n),e,{...t,sameSite:"none"})}var Kc={},Xs={};(function(n){const e=":A-Za-z_\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD",t=e+"\\-.\\d\\u00B7\\u0300-\\u036F\\u203F-\\u2040",i="["+e+"]["+t+"]*",r=new RegExp("^"+i+"$"),s=function(c,l){const u=[];let p=l.exec(c);for(;p;){const g=[];g.startIndex=l.lastIndex-p[0].length;const m=p.length;for(let x=0;x<m;x++)g.push(p[x]);u.push(g),p=l.exec(c)}return u},o=function(c){const l=r.exec(c);return!(l===null||typeof l>"u")};n.isExist=function(c){return typeof c<"u"},n.isEmptyObject=function(c){return Object.keys(c).length===0},n.merge=function(c,l,u){if(l){const p=Object.keys(l),g=p.length;for(let m=0;m<g;m++)u==="strict"?c[p[m]]=[l[p[m]]]:c[p[m]]=l[p[m]]}},n.getValue=function(c){return n.isExist(c)?c:""},n.isName=o,n.getAllMatches=s,n.nameRegexp=i})(Xs);const Wc=Xs,jm={allowBooleanAttributes:!1,unpairedTags:[]};Kc.validate=function(n,e){e=Object.assign({},jm,e);const t=[];let i=!1,r=!1;n[0]==="\uFEFF"&&(n=n.substr(1));for(let s=0;s<n.length;s++)if(n[s]==="<"&&n[s+1]==="?"){if(s+=2,s=ld(n,s),s.err)return s}else if(n[s]==="<"){let o=s;if(s++,n[s]==="!"){s=ud(n,s);continue}else{let c=!1;n[s]==="/"&&(c=!0,s++);let l="";for(;s<n.length&&n[s]!==">"&&n[s]!==" "&&n[s]!==" "&&n[s]!==`
|
|
125
|
+
`,i}async function m0(n){const e=await n.publicKey.export(),t=await crypto.subtle.exportKey("jwk",e),i=JSON.stringify(t,Object.keys(t).sort()),s=new TextEncoder().encode(i);return Va(await Rf(s))}const y0=1e3*60*60*24,v0=new a.OpenAPIHono().openapi(a.createRoute({tags:["keys"],method:"get",path:"/signing",request:{headers:a.z.object({"tenant-id":a.z.string()})},security:[{Bearer:["auth:read"]}],responses:{200:{content:{"application/json":{schema:a.z.array(ko)}},description:"List of keys"}}}),async n=>{const t=(await n.env.data.keys.list()).filter(i=>"cert"in i).map(i=>i);return n.json(t)}).openapi(a.createRoute({tags:["keys"],method:"get",path:"/signing/{kid}",request:{headers:a.z.object({"tenant-id":a.z.string()}),params:a.z.object({kid:a.z.string()})},security:[{Bearer:["auth:read"]}],responses:{200:{content:{"application/json":{schema:ko}},description:"The requested key"}}}),async n=>{const{kid:e}=n.req.valid("param"),i=(await n.env.data.keys.list()).find(r=>r.kid===e);if(!i)throw new N(404,{message:"Key not found"});return n.json(i)}).openapi(a.createRoute({tags:["keys"],method:"post",path:"/signing/rotate",request:{headers:a.z.object({"tenant-id":a.z.string()})},security:[{Bearer:["auth:write"]}],responses:{201:{description:"Status"}}}),async n=>{const e=await n.env.data.keys.list();for await(const i of e)await n.env.data.keys.update(i.kid,{revoked_at:new Date(Date.now()+y0).toISOString()});const t=await Ma({name:`CN=${n.env.ORGANIZATION_NAME}`});return await n.env.data.keys.create(t),n.text("OK",{status:201})}).openapi(a.createRoute({tags:["keys"],method:"put",path:"/signing/{kid}/revoke",request:{headers:a.z.object({"tenant-id":a.z.string()}),params:a.z.object({kid:a.z.string()})},security:[{Bearer:["auth:write"]}],responses:{201:{description:"Status"}}}),async n=>{const{kid:e}=n.req.valid("param");if(!await n.env.data.keys.update(e,{revoked_at:new Date().toISOString()}))throw new N(404,{message:"Key not found"});const i=await Ma({name:`CN=${n.env.ORGANIZATION_NAME}`});return await n.env.data.keys.create(i),n.text("OK")}),w0=new a.OpenAPIHono().openapi(a.createRoute({tags:["users"],method:"get",path:"/",request:{query:a.z.object({email:a.z.string()}),headers:a.z.object({"tenant-id":a.z.string()})},security:[{Bearer:["auth:read"]}],responses:{200:{content:{"tenant/json":{schema:a.z.array(qa)}},description:"List of users"}}}),async n=>{const{"tenant-id":e}=n.req.valid("header"),{email:t}=n.req.valid("query"),r=(await Md(n.env.data.users,e,t)).filter(s=>!s.linked_to);return n.json(r)}),b0=Dt.extend({clients:a.z.array(Yt)}),k0=new a.OpenAPIHono().openapi(a.createRoute({tags:["clients"],method:"get",path:"/",request:{query:on,headers:a.z.object({"tenant-id":a.z.string()})},security:[{Bearer:["auth:read"]}],responses:{200:{content:{"application/json":{schema:a.z.union([b0,a.z.array(Yt)])}},description:"List of clients"}}}),async n=>{const{"tenant-id":e}=n.req.valid("header"),{page:t,per_page:i,include_totals:r,sort:s,q:o}=n.req.valid("query"),l=(await n.env.data.applications.list(e,{page:t,per_page:i,include_totals:r,sort:Dn(s),q:o})).applications;return r?n.json({clients:l,start:0,limit:10,length:l.length}):n.json(l)}).openapi(a.createRoute({tags:["clients"],method:"get",path:"/{id}",request:{params:a.z.object({id:a.z.string()}),headers:a.z.object({"tenant-id":a.z.string()})},security:[{Bearer:["auth:read"]}],responses:{200:{content:{"application/json":{schema:Yt}},description:"An application"}}}),async n=>{const{"tenant-id":e}=n.req.valid("header"),{id:t}=n.req.valid("param"),r=(await n.env.data.applications.list(e,{page:1,per_page:0,include_totals:!1})).applications.find(s=>s.id===t);if(!r)throw new N(404);return n.json(r)}).openapi(a.createRoute({tags:["clients"],method:"delete",path:"/{id}",request:{params:a.z.object({id:a.z.string()}),headers:a.z.object({"tenant-id":a.z.string()})},security:[{Bearer:["auth:write"]}],responses:{200:{description:"Status"}}}),async n=>{const{"tenant-id":e}=n.req.valid("header"),{id:t}=n.req.valid("param");if(!await n.env.data.applications.remove(e,t))throw new N(404,{message:"Application not found"});return n.text("OK")}).openapi(a.createRoute({tags:["clients"],method:"patch",path:"/{id}",request:{body:{content:{"application/json":{schema:a.z.object(fr.shape).partial()}}},params:a.z.object({id:a.z.string()}),headers:a.z.object({"tenant-id":a.z.string()})},security:[{Bearer:["auth:write"]}],responses:{200:{content:{"application/json":{schema:Yt}},description:"The update application"}}}),async n=>{const{"tenant-id":e}=n.req.valid("header"),{id:t}=n.req.valid("param"),r=n.req.valid("json");await n.env.data.applications.update(e,t,r);const s=await n.env.data.applications.get(e,t);if(!s)throw new N(404,{message:"Application not found"});return n.json(s)}).openapi(a.createRoute({tags:["clients"],method:"post",path:"/",request:{body:{content:{"application/json":{schema:a.z.object(fr.shape)}}},headers:a.z.object({"tenant-id":a.z.string()})},security:[{Bearer:["auth:write"]}],responses:{201:{content:{"application/json":{schema:a.z.object(Yt.shape)}},description:"An application"}}}),async n=>{const{"tenant-id":e}=n.req.valid("header"),t=n.req.valid("json"),i={...t,id:t.id||Ke(),client_secret:t.client_secret||Ke()},r=await n.env.data.applications.create(e,i);return n.json(r,{status:201})});a.z.object({start:a.z.number(),limit:a.z.number(),length:a.z.number()});rs.extend({email:a.z.string(),login_count:a.z.number(),multifactor:a.z.array(a.z.string()).optional(),last_ip:a.z.string().optional(),last_login:a.z.string().optional(),user_id:a.z.string()}).catchall(a.z.any());const x0=Dt.extend({tenants:a.z.array(En)}),S0=new a.OpenAPIHono().openapi(a.createRoute({tags:["tenants"],method:"get",path:"/",request:{query:on},security:[{Bearer:["auth:read"]}],responses:{200:{content:{"tenant/json":{schema:a.z.union([a.z.array(En),x0])}},description:"List of tenants"}}}),async n=>{const{page:e,per_page:t,include_totals:i,sort:r,q:s}=n.req.valid("query"),o=await n.env.data.tenants.list({page:e,per_page:t,include_totals:i,sort:Dn(r),q:s});return i?n.json(o):n.json(o.tenants)}).openapi(a.createRoute({tags:["tenants"],method:"get",path:"/{id}",request:{params:a.z.object({id:a.z.string()})},security:[{Bearer:["auth:read"]}],responses:{200:{content:{"tenant/json":{schema:En}},description:"A tenant"}}}),async n=>{const{id:e}=n.req.valid("param"),t=await n.env.data.tenants.get(e);if(!t)throw new N(404);return n.json(t)}).openapi(a.createRoute({tags:["tenants"],method:"delete",path:"/{id}",request:{params:a.z.object({id:a.z.string()})},security:[{Bearer:["auth:write"]}],responses:{200:{description:"Status"}}}),async n=>{const{id:e}=n.req.valid("param");return await n.env.data.tenants.remove(e),n.text("OK")}).openapi(a.createRoute({tags:["tenants"],method:"patch",path:"/{id}",request:{body:{content:{"application/json":{schema:a.z.object(gr.shape).partial()}}},params:a.z.object({id:a.z.string()})},security:[{Bearer:["auth:write"]}],responses:{200:{description:"Status"}}}),async n=>{const{id:e}=n.req.valid("param"),t=n.req.valid("json");return await n.env.data.tenants.update(e,t),n.text("OK")}).openapi(a.createRoute({tags:["tenants"],method:"post",path:"/",request:{body:{content:{"application/json":{schema:a.z.object(gr.shape)}}}},security:[{Bearer:["auth:write"]}],responses:{200:{content:{"tenant/json":{schema:En}},description:"An tenant"}}}),async n=>{const e=n.req.valid("json"),t=await n.env.data.tenants.create(e);return n.json(t,{status:201})}),A0=Dt.extend({logs:a.z.array(mr)}),I0=new a.OpenAPIHono().openapi(a.createRoute({tags:["logs"],method:"get",path:"/",request:{query:on,headers:a.z.object({"tenant-id":a.z.string()})},security:[{Bearer:["auth:read"]}],responses:{200:{content:{"application/json":{schema:a.z.union([a.z.array(mr),A0])}},description:"List of log rows"}}}),async n=>{const{page:e,per_page:t,include_totals:i,sort:r,q:s}=n.req.valid("query"),{"tenant-id":o}=n.req.valid("header"),c=await n.env.data.logs.list(o,{page:e,per_page:t,include_totals:i,sort:Dn(r),q:s});return i?n.json(c):n.json(c.logs)}).openapi(a.createRoute({tags:["logs"],method:"get",path:"/{id}",request:{headers:a.z.object({"tenant-id":a.z.string()}),params:a.z.object({id:a.z.string()})},security:[{Bearer:["auth:read"]}],responses:{200:{content:{"application/json":{schema:mr}},description:"A log entry"}}}),async n=>{const{"tenant-id":e}=n.req.valid("header"),{id:t}=n.req.valid("param"),i=await n.env.data.logs.get(e,t);if(!i)throw new N(404);return n.json(i)}),E0=Dt.extend({hooks:a.z.array(An)}),$0=new a.OpenAPIHono().openapi(a.createRoute({tags:["hooks"],method:"get",path:"/",request:{query:on,headers:a.z.object({"tenant-id":a.z.string()})},security:[{Bearer:["auth:read"]}],responses:{200:{content:{"application/json":{schema:a.z.union([a.z.array(An),E0])}},description:"List of hooks"}}}),async n=>{const{"tenant-id":e}=n.req.valid("header"),{page:t,per_page:i,include_totals:r,sort:s,q:o}=n.req.valid("query"),c=await n.env.data.hooks.list(e,{page:t,per_page:i,include_totals:r,sort:Dn(s),q:o});return r?n.json(c):n.json(c.hooks)}).openapi(a.createRoute({tags:["hooks"],method:"post",path:"/",request:{headers:a.z.object({"tenant-id":a.z.string()}),body:{content:{"application/json":{schema:a.z.object(_r.shape)}}}},security:[{Bearer:["auth:write"]}],responses:{201:{content:{"application/json":{schema:An}},description:"The created hook"}}}),async n=>{const{"tenant-id":e}=n.req.valid("header"),t=n.req.valid("json"),i=await n.env.data.hooks.create(e,t);return n.json(i,{status:201})}).openapi(a.createRoute({tags:["hooks"],method:"patch",path:"/{hook_id}",request:{headers:a.z.object({"tenant-id":a.z.string()}),params:a.z.object({hook_id:a.z.string()}),body:{content:{"application/json":{schema:a.z.object(_r.shape).omit({hook_id:!0}).partial()}}}},security:[{Bearer:["auth:write"]}],responses:{200:{content:{"application/json":{schema:An.shape}},description:"The updated hook"},404:{description:"Hook not found"}}}),async n=>{const{"tenant-id":e}=n.req.valid("header"),{hook_id:t}=n.req.valid("param"),i=n.req.valid("json");await n.env.data.hooks.update(e,t,i);const r=await n.env.data.hooks.get(e,t);if(!r)throw new N(404,{message:"Hook not found"});return n.json(r)}).openapi(a.createRoute({tags:["hooks"],method:"get",path:"/{hook_id}",request:{headers:a.z.object({"tenant-id":a.z.string()}),params:a.z.object({hook_id:a.z.string()})},security:[{Bearer:["auth:read"]}],responses:{200:{content:{"application/json":{schema:An}},description:"A hook"},404:{description:"Hook not found"}}}),async n=>{const{"tenant-id":e}=n.req.valid("header"),{hook_id:t}=n.req.valid("param"),i=await n.env.data.hooks.get(e,t);if(!i)throw new N(404,{message:"Hook not found"});return n.json(i)}).openapi(a.createRoute({tags:["hooks"],method:"delete",path:"/{hook_id}",request:{headers:a.z.object({"tenant-id":a.z.string()}),params:a.z.object({hook_id:a.z.string()})},security:[{Bearer:["auth:read"]}],responses:{200:{description:"A hook"}}}),async n=>{const{"tenant-id":e}=n.req.valid("header"),{hook_id:t}=n.req.valid("param");if(!await n.env.data.hooks.remove(e,t))throw new N(404,{message:"Hook not found"});return n.text("OK")}),C0=Dt.extend({connections:a.z.array(Bt)}),j0=new a.OpenAPIHono().openapi(a.createRoute({tags:["connections"],method:"get",path:"/",request:{query:on,headers:a.z.object({"tenant-id":a.z.string()})},security:[{Bearer:["auth:read"]}],responses:{200:{content:{"application/json":{schema:a.z.union([a.z.array(Bt),C0])}},description:"List of connectionss"}}}),async n=>{const{"tenant-id":e}=n.req.valid("header"),{page:t,per_page:i,include_totals:r=!1,sort:s,q:o}=n.req.valid("query"),c=await n.env.data.connections.list(e,{page:t,per_page:i,include_totals:r,sort:Dn(s),q:o});return r?n.json(c):n.json(c.connections)}).openapi(a.createRoute({tags:["connections"],method:"get",path:"/{id}",request:{params:a.z.object({id:a.z.string()}),headers:a.z.object({"tenant-id":a.z.string()})},security:[{Bearer:["auth:read"]}],responses:{200:{content:{"application/json":{schema:Bt}},description:"A connection"}}}),async n=>{const{"tenant-id":e}=n.req.valid("header"),{id:t}=n.req.valid("param"),i=await n.env.data.connections.get(e,t);if(!i)throw new N(404);return n.json(i)}).openapi(a.createRoute({tags:["connections"],method:"delete",path:"/{id}",request:{params:a.z.object({id:a.z.string()}),headers:a.z.object({"tenant-id":a.z.string()})},security:[{Bearer:["auth:write"]}],responses:{200:{description:"Status"}}}),async n=>{const{"tenant-id":e}=n.req.valid("header"),{id:t}=n.req.valid("param");if(!await n.env.data.connections.remove(e,t))throw new N(404,{message:"Connection not found"});return n.text("OK")}).openapi(a.createRoute({tags:["connections"],method:"patch",path:"/{id}",request:{body:{content:{"application/json":{schema:a.z.object(hr.shape).partial()}}},params:a.z.object({id:a.z.string()}),headers:a.z.object({"tenant-id":a.z.string()})},security:[{Bearer:["auth:write"]}],responses:{200:{content:{"application/json":{schema:Bt}},description:"The updated connection"}}}),async n=>{const{"tenant-id":e}=n.req.valid("header"),{id:t}=n.req.valid("param"),i=n.req.valid("json");if(!await n.env.data.connections.update(e,t,i))throw new N(404,{message:"Connection not found"});const s=await n.env.data.connections.get(e,t);if(!s)throw new N(404,{message:"Connection not found"});return n.json(s)}).openapi(a.createRoute({tags:["connections"],method:"post",path:"/",request:{body:{content:{"application/json":{schema:a.z.object(hr.shape)}}},headers:a.z.object({"tenant-id":a.z.string()})},security:[{Bearer:["auth:write"]}],responses:{201:{content:{"application/json":{schema:Bt}},description:"A connection"}}}),async n=>{const{"tenant-id":e}=n.req.valid("header"),t=n.req.valid("json"),i=await n.env.data.connections.create(e,t);return n.json(i,{status:201})}),z0=new a.OpenAPIHono().openapi(a.createRoute({tags:["prompts"],method:"get",path:"/",request:{headers:a.z.object({"tenant-id":a.z.string()})},security:[{Bearer:["auth:read"]}],responses:{200:{content:{"application/json":{schema:er}},description:"Branding settings"}}}),async n=>{const{"tenant-id":e}=n.req.valid("header"),t=await n.env.data.promptSettings.get(e);return t?n.json(t):n.json(er.parse({}))}).openapi(a.createRoute({tags:["prompts"],method:"patch",path:"/",request:{headers:a.z.object({"tenant-id":a.z.string()}),body:{content:{"application/json":{schema:a.z.object(er.shape).partial()}}}},security:[{Bearer:["auth:write"]}],responses:{200:{description:"Prompts settings"}}}),async n=>{const{"tenant-id":e}=n.req.valid("header"),t=n.req.valid("json"),i=await n.env.data.promptSettings.get(e);return Object.assign(i,t),await n.env.data.promptSettings.set(e,i),n.json(i)});let Yu=!1;function Pf(n){n.use(async(e,t)=>(Yu||(n.openAPIRegistry.registerComponent("securitySchemes","Bearer",{type:"oauth2",scheme:"bearer",flows:{implicit:{authorizationUrl:`${e.env.AUTH_URL}/authorize`,scopes:{openid:"Basic user information",email:"User email",profile:"User profile information"}}}}),Yu=!0),await t()))}a.z.object({alg:a.z.literal("RS256"),kty:a.z.literal("RSA"),use:a.z.literal("sig"),n:a.z.string(),e:a.z.string(),kid:a.z.string(),x5t:a.z.string(),x5c:a.z.array(a.z.string())});async function N0(n){try{const e=await n.JWKS_SERVICE.fetch(n.JWKS_URL);if(!e.ok)throw new Error("Failed to fetch jwks");return(await e.json()).keys}catch(e){throw new N(500,{message:`Failed to fetch jwks: ${e.message}`})}}async function O0(n,e){const i=new TextEncoder().encode([e.raw.header,e.raw.payload].join(".")),r=new Uint8Array(Array.from(e.signature).map(l=>l.charCodeAt(0))),o=(await N0(n.env)).find(l=>l.kid===e.header.kid);if(!o)return console.log("No matching kid found"),!1;const c=await crypto.subtle.importKey("jwk",o,{name:"RSASSA-PKCS1-v1_5",hash:"SHA-256"},!1,["verify"]);return crypto.subtle.verify("RSASSA-PKCS1-v1_5",c,r,i)}function B0(n){const[e,t,i]=n.split(".");if(!e||!t||!i)return null;const r=JSON.parse(atob(e)),s=JSON.parse(atob(t)),o=atob(i.replace(/-/g,"+").replace(/_/g,"/"));return{header:r,payload:s,signature:o,raw:{header:e,payload:t,signature:i}}}function Lf(n){return async(e,t)=>{var r,s,o;const i=n.openAPIRegistry.definitions.find(c=>"route"in c&&c.route.path===e.req.path&&c.route.method.toUpperCase()===e.req.method);if(i&&"route"in i){const c=(s=(r=i.route.security)==null?void 0:r[0])==null?void 0:s.Bearer;if(!(c!=null&&c.length))return await t();const l=e.req.header("authorization")||"",[u,p]=l.split(" ");if((u==null?void 0:u.toLowerCase())!=="bearer"||!p)throw new N(401,{message:"Missing bearer token"});const g=B0(p);if(!g||!await O0(e,g))throw new N(403,{message:"Invalid JWT signature"});e.set("user_id",g.payload.sub),e.set("user",g.payload);const m=g.payload.permissions||[],x=((o=g.payload.scope)==null?void 0:o.split(" "))||[];if(c.length&&!(c.some(h=>m.includes(h))||c.some(h=>x.includes(h))))throw new N(403,{message:"Unauthorized"})}return await t()}}const T0=new a.OpenAPIHono().openapi(a.createRoute({tags:["emails"],method:"get",path:"/",request:{headers:a.z.object({"tenant-id":a.z.string()})},security:[{Bearer:["auth:read"]}],responses:{200:{content:{"application/json":{schema:tr}},description:"Email provider"}}}),async n=>{const{"tenant-id":e}=n.req.valid("header"),t=await n.env.data.emailProviders.get(e);if(!t)throw new N(404,{message:"Email provider not found"});return n.json(t)}).openapi(a.createRoute({tags:["emails"],method:"post",path:"/",request:{headers:a.z.object({"tenant-id":a.z.string()}),body:{content:{"application/json":{schema:a.z.object(tr.shape)}}}},security:[{Bearer:["auth:write"]}],responses:{200:{description:"Branding settings"}}}),async n=>{const{"tenant-id":e}=n.req.valid("header"),t=n.req.valid("json");return await n.env.data.emailProviders.create(e,t),n.text("OK",{status:201})}).openapi(a.createRoute({tags:["emails"],method:"patch",path:"/",request:{headers:a.z.object({"tenant-id":a.z.string()}),body:{content:{"application/json":{schema:a.z.object(tr.shape).partial()}}}},security:[{Bearer:["auth:write"]}],responses:{200:{description:"Branding settings"}}}),async n=>{const{"tenant-id":e}=n.req.valid("header"),t=n.req.valid("json");return await n.env.data.emailProviders.update(e,t),n.text("OK")});function R0(){const n=new a.OpenAPIHono;n.use(Lf(n));const e=n.route("/branding",ng).route("/email/providers",T0).route("/users",vg).route("/keys",v0).route("/users-by-email",w0).route("/clients",k0).route("/tenants",S0).route("/logs",I0).route("/hooks",$0).route("/connections",j0).route("/prompts",z0);return Pf(e),e.doc("/spec",{openapi:"3.0.0",info:{version:"1.0.0",title:"Management api"}}),e}function P0(n,e){Object.keys(e).forEach(t=>{const i=e[t];i!=null&&i.length&&n.searchParams.set(t,i)})}function Hn(n){var e,t,i;return{auth0Client:(e=n.query("auth0Client"))==null?void 0:e.slice(0,255),ip:(t=n.header("x-real-ip"))==null?void 0:t.slice(0,45),useragent:(i=n.header("user-agent"))==null?void 0:i.slice(0,512)}}const Qi=60*5,Uf=30*24*60*60,es=24*60*60,L0="auth-token",Xu=30*60*1e3,U0=5*60,V0=5*60;var Qu;(function(n){n[n.Include=0]="Include",n[n.None=1]="None"})(Qu||(Qu={}));var ed;(function(n){n[n.Required=0]="Required",n[n.Ignore=1]="Ignore"})(ed||(ed={}));function M0(n){return Mf(n,H0,Ii.Include)}function Vf(n){return Mf(n,D0,Ii.None)}function Mf(n,e,t){let i="";for(let r=0;r<n.byteLength;r+=3){let s=0,o=0;for(let c=0;c<3&&r+c<n.byteLength;c++)s=s<<8|n[r+c],o+=8;for(let c=0;c<4;c++)o>=6?(i+=e[s>>o-6&63],o-=6):o>0?(i+=e[s<<6-o&63],o=0):t===Ii.Include&&(i+="=")}return i}const H0="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",D0="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_";var Ii;(function(n){n[n.Include=0]="Include",n[n.None=1]="None"})(Ii||(Ii={}));var td;(function(n){n[n.Required=0]="Required",n[n.Ignore=1]="Ignore"})(td||(td={}));class F0{uint8(e,t){if(e.byteLength<t+1)throw new TypeError("Insufficient bytes");return e[t]}uint16(e,t){if(e.byteLength<t+2)throw new TypeError("Insufficient bytes");return e[t]<<8|e[t+1]}uint32(e,t){if(e.byteLength<t+4)throw new TypeError("Insufficient bytes");let i=0;for(let r=0;r<4;r++)i|=e[t+r]<<24-r*8;return i}uint64(e,t){if(e.byteLength<t+8)throw new TypeError("Insufficient bytes");let i=0n;for(let r=0;r<8;r++)i|=BigInt(e[t+r])<<BigInt(56-r*8);return i}putUint8(e,t,i){if(e.length<i+1)throw new TypeError("Not enough space");if(t<0||t>255)throw new TypeError("Invalid uint8 value");e[i]=t}putUint16(e,t,i){if(e.length<i+2)throw new TypeError("Not enough space");if(t<0||t>65535)throw new TypeError("Invalid uint16 value");e[i]=t>>8,e[i+1]=t&255}putUint32(e,t,i){if(e.length<i+4)throw new TypeError("Not enough space");if(t<0||t>4294967295)throw new TypeError("Invalid uint32 value");for(let r=0;r<4;r++)e[i+r]=t>>(3-r)*8&255}putUint64(e,t,i){if(e.length<i+8)throw new TypeError("Not enough space");if(t<0||t>18446744073709551615n)throw new TypeError("Invalid uint64 value");for(let r=0;r<8;r++)e[i+r]=Number(t>>BigInt((7-r)*8)&0xffn)}}const nd=new F0;function pt(n,e){return(n<<32-e|n>>>e)>>>0}function q0(n){const e=new K0;return e.update(n),e.digest()}class K0{constructor(){te(this,"blockSize",64);te(this,"size",32);te(this,"blocks",new Uint8Array(64));te(this,"currentBlockSize",0);te(this,"H",new Uint32Array([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]));te(this,"l",0n);te(this,"w",new Uint32Array(64))}update(e){if(this.l+=BigInt(e.byteLength)*8n,this.currentBlockSize+e.byteLength<64){this.blocks.set(e,this.currentBlockSize),this.currentBlockSize+=e.byteLength;return}let t=0;if(this.currentBlockSize>0){const i=e.slice(0,64-this.currentBlockSize);this.blocks.set(i,this.currentBlockSize),this.process(),t+=i.byteLength,this.currentBlockSize=0}for(;t+64<=e.byteLength;){const i=e.slice(t,t+64);this.blocks.set(i),this.process(),t+=64}if(e.byteLength-t>0){const i=e.slice(t);this.blocks.set(i),this.currentBlockSize=i.byteLength}}digest(){this.blocks[this.currentBlockSize]=128,this.currentBlockSize+=1,64-this.currentBlockSize<8&&(this.blocks.fill(0,this.currentBlockSize),this.process(),this.currentBlockSize=0),this.blocks.fill(0,this.currentBlockSize),nd.putUint64(this.blocks,this.l,this.blockSize-8),this.process();const e=new Uint8Array(32);for(let t=0;t<8;t++)nd.putUint32(e,this.H[t],t*4);return e}process(){for(let u=0;u<16;u++)this.w[u]=(this.blocks[u*4]<<24|this.blocks[u*4+1]<<16|this.blocks[u*4+2]<<8|this.blocks[u*4+3])>>>0;for(let u=16;u<64;u++){const p=(pt(this.w[u-2],17)^pt(this.w[u-2],19)^this.w[u-2]>>>10)>>>0,g=(pt(this.w[u-15],7)^pt(this.w[u-15],18)^this.w[u-15]>>>3)>>>0;this.w[u]=p+this.w[u-7]+g+this.w[u-16]|0}let e=this.H[0],t=this.H[1],i=this.H[2],r=this.H[3],s=this.H[4],o=this.H[5],c=this.H[6],l=this.H[7];for(let u=0;u<64;u++){const p=(pt(s,6)^pt(s,11)^pt(s,25))>>>0,g=(s&o^~s&c)>>>0,m=l+p+g+W0[u]+this.w[u]|0,x=(pt(e,2)^pt(e,13)^pt(e,22))>>>0,h=(e&t^e&i^t&i)>>>0,_=x+h|0;l=c,c=o,o=s,s=r+m|0,r=i,i=t,t=e,e=m+_|0}this.H[0]=e+this.H[0]|0,this.H[1]=t+this.H[1]|0,this.H[2]=i+this.H[2]|0,this.H[3]=r+this.H[3]|0,this.H[4]=s+this.H[4]|0,this.H[5]=o+this.H[5]|0,this.H[6]=c+this.H[6]|0,this.H[7]=l+this.H[7]|0}}const W0=new Uint32Array([1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298]);new BigUint64Array([0x428a2f98d728ae22n,0x7137449123ef65cdn,0xb5c0fbcfec4d3b2fn,0xe9b5dba58189dbbcn,0x3956c25bf348b538n,0x59f111f1b605d019n,0x923f82a4af194f9bn,0xab1c5ed5da6d8118n,0xd807aa98a3030242n,0x12835b0145706fben,0x243185be4ee4b28cn,0x550c7dc3d5ffb4e2n,0x72be5d74f27b896fn,0x80deb1fe3b1696b1n,0x9bdc06a725c71235n,0xc19bf174cf692694n,0xe49b69c19ef14ad2n,0xefbe4786384f25e3n,0x0fc19dc68b8cd5b5n,0x240ca1cc77ac9c65n,0x2de92c6f592b0275n,0x4a7484aa6ea6e483n,0x5cb0a9dcbd41fbd4n,0x76f988da831153b5n,0x983e5152ee66dfabn,0xa831c66d2db43210n,0xb00327c898fb213fn,0xbf597fc7beef0ee4n,0xc6e00bf33da88fc2n,0xd5a79147930aa725n,0x06ca6351e003826fn,0x142929670a0e6e70n,0x27b70a8546d22ffcn,0x2e1b21385c26c926n,0x4d2c6dfc5ac42aedn,0x53380d139d95b3dfn,0x650a73548baf63den,0x766a0abb3c77b2a8n,0x81c2c92e47edaee6n,0x92722c851482353bn,0xa2bfe8a14cf10364n,0xa81a664bbc423001n,0xc24b8b70d0f89791n,0xc76c51a30654be30n,0xd192e819d6ef5218n,0xd69906245565a910n,0xf40e35855771202an,0x106aa07032bbd1b8n,0x19a4c116b8d2d0c8n,0x1e376c085141ab53n,0x2748774cdf8eeb99n,0x34b0bcb5e19b48a8n,0x391c0cb3c5c95a63n,0x4ed8aa4ae3418acbn,0x5b9cca4f7763e373n,0x682e6ff3d6b2b8a3n,0x748f82ee5defb2fcn,0x78a5636f43172f60n,0x84c87814a1f0ab72n,0x8cc702081a6439ecn,0x90befffa23631e28n,0xa4506cebde82bde9n,0xbef9a3f7b2c67915n,0xc67178f2e372532bn,0xca273eceea26619cn,0xd186b8c721c0c207n,0xeada7dd6cde0eb1en,0xf57d4f7fee6ed178n,0x06f067aa72176fban,0x0a637dc5a2c898a6n,0x113f9804bef90daen,0x1b710b35131c471bn,0x28db77f523047d84n,0x32caab7b40c72493n,0x3c9ebe0a15c9bebcn,0x431d67c49c100d4cn,0x4cc5d4becb3e42b6n,0x597f299cfc657e2an,0x5fcb6fab3ad6faecn,0x6c44198c4a475817n]);class G0{constructor(e){te(this,"data");this.data=e}tokenType(){if("token_type"in this.data&&typeof this.data.token_type=="string")return this.data.token_type;throw new Error("Missing or invalid 'token_type' field")}accessToken(){if("access_token"in this.data&&typeof this.data.access_token=="string")return this.data.access_token;throw new Error("Missing or invalid 'access_token' field")}accessTokenExpiresInSeconds(){if("expires_in"in this.data&&typeof this.data.expires_in=="number")return this.data.expires_in;throw new Error("Missing or invalid 'expires_in' field")}accessTokenExpiresAt(){return new Date(Date.now()+this.accessTokenExpiresInSeconds()*1e3)}hasRefreshToken(){return"refresh_token"in this.data&&typeof this.data.refresh_token=="string"}refreshToken(){if("refresh_token"in this.data&&typeof this.data.refresh_token=="string")return this.data.refresh_token;throw new Error("Missing or invalid 'refresh_token' field")}hasScopes(){return"scope"in this.data&&typeof this.data.scope=="string"}scopes(){if("scope"in this.data&&typeof this.data.scope=="string")return this.data.scope.split(" ");throw new Error("Missing or invalid 'scope' field")}idToken(){if("id_token"in this.data&&typeof this.data.id_token=="string")return this.data.id_token;throw new Error("Missing or invalid field 'id_token'")}}function J0(n){const e=q0(new TextEncoder().encode(n));return Vf(e)}function Z0(){const n=new Uint8Array(32);return crypto.getRandomValues(n),Vf(n)}function di(n,e){const t=new TextEncoder().encode(e.toString()),i=new Request(n,{method:"POST",body:t});return i.headers.set("Content-Type","application/x-www-form-urlencoded"),i.headers.set("Accept","application/json"),i.headers.set("User-Agent","arctic"),i.headers.set("Content-Length",t.byteLength.toString()),i}function mo(n,e){const t=new TextEncoder().encode(`${n}:${e}`);return M0(t)}async function ts(n){let e;try{e=await fetch(n)}catch(t){throw new Df(t)}if(e.status===400||e.status===401){let t;try{t=await e.json()}catch{throw new or(e.status)}if(typeof t!="object"||t===null)throw new jn(e.status,t);let i;try{i=Hf(t)}catch{throw new jn(e.status,t)}throw i}if(e.status===200){let t;try{t=await e.json()}catch{throw new or(e.status)}if(typeof t!="object"||t===null)throw new jn(e.status,t);return new G0(t)}throw e.body!==null&&await e.body.cancel(),new or(e.status)}async function Y0(n){let e;try{e=await fetch(n)}catch(t){throw new Df(t)}if(e.status===400||e.status===401){let t;try{t=await e.json()}catch{throw new jn(e.status,null)}if(typeof t!="object"||t===null)throw new jn(e.status,t);let i;try{i=Hf(t)}catch{throw new jn(e.status,t)}throw i}if(e.status===200){e.body!==null&&await e.body.cancel();return}throw e.body!==null&&await e.body.cancel(),new or(e.status)}function Hf(n){let e;if("error"in n&&typeof n.error=="string")e=n.error;else throw new Error("Invalid error response");let t=null,i=null,r=null;if("error_description"in n){if(typeof n.error_description!="string")throw new Error("Invalid data");t=n.error_description}if("error_uri"in n){if(typeof n.error_uri!="string")throw new Error("Invalid data");i=n.error_uri}if("state"in n){if(typeof n.state!="string")throw new Error("Invalid data");r=n.state}return new X0(e,t,i,r)}class Df extends Error{constructor(e){super("Failed to send request",{cause:e})}}class X0 extends Error{constructor(t,i,r,s){super(`OAuth request error: ${t}`);te(this,"code");te(this,"description");te(this,"uri");te(this,"state");this.code=t,this.description=i,this.uri=r,this.state=s}}class or extends Error{constructor(t){super("Unexpected error response");te(this,"status");this.status=t}}class jn extends Error{constructor(t,i){super("Unexpected error response body");te(this,"status");te(this,"data");this.status=t,this.data=i}}class Mc{constructor(e,t,i){te(this,"clientId");te(this,"clientPassword");te(this,"redirectURI");this.clientId=e,this.clientPassword=t,this.redirectURI=i}createAuthorizationURL(e,t,i){const r=new URL(e);return r.searchParams.set("response_type","code"),r.searchParams.set("client_id",this.clientId),this.redirectURI!==null&&r.searchParams.set("redirect_uri",this.redirectURI),r.searchParams.set("state",t),i.length>0&&r.searchParams.set("scope",i.join(" ")),r}createAuthorizationURLWithPKCE(e,t,i,r,s){const o=new URL(e);if(o.searchParams.set("response_type","code"),o.searchParams.set("client_id",this.clientId),this.redirectURI!==null&&o.searchParams.set("redirect_uri",this.redirectURI),o.searchParams.set("state",t),i===Ei.S256){const c=J0(r);o.searchParams.set("code_challenge_method","S256"),o.searchParams.set("code_challenge",c)}else i===Ei.Plain&&(o.searchParams.set("code_challenge_method","plain"),o.searchParams.set("code_challenge",r));return s.length>0&&o.searchParams.set("scope",s.join(" ")),o}async validateAuthorizationCode(e,t,i){const r=new URLSearchParams;r.set("grant_type","authorization_code"),r.set("code",t),this.redirectURI!==null&&r.set("redirect_uri",this.redirectURI),i!==null&&r.set("code_verifier",i),this.clientPassword===null&&r.set("client_id",this.clientId);const s=di(e,r);if(this.clientPassword!==null){const c=mo(this.clientId,this.clientPassword);s.headers.set("Authorization",`Basic ${c}`)}return await ts(s)}async refreshAccessToken(e,t,i){const r=new URLSearchParams;r.set("grant_type","refresh_token"),r.set("refresh_token",t),this.clientPassword===null&&r.set("client_id",this.clientId),i.length>0&&r.set("scope",i.join(" "));const s=di(e,r);if(this.clientPassword!==null){const c=mo(this.clientId,this.clientPassword);s.headers.set("Authorization",`Basic ${c}`)}return await ts(s)}async revokeToken(e,t){const i=new URLSearchParams;i.set("token",t),this.clientPassword===null&&i.set("client_id",this.clientId);const r=di(e,i);if(this.clientPassword!==null){const s=mo(this.clientId,this.clientPassword);r.headers.set("Authorization",`Basic ${s}`)}await Y0(r)}}var Ei;(function(n){n[n.S256=0]="S256",n[n.Plain=1]="Plain"})(Ei||(Ei={}));var id;(function(n){n[n.Include=0]="Include",n[n.None=1]="None"})(id||(id={}));var rd;(function(n){n[n.Required=0]="Required",n[n.Ignore=1]="Ignore"})(rd||(rd={}));function pi(n){return Q0(n,em,ns.None)}function Q0(n,e,t){let i="";for(let r=0;r<n.byteLength;r+=3){let s=0,o=0;for(let c=0;c<3&&r+c<n.byteLength;c++)s=s<<8|n[r+c],o+=8;for(let c=0;c<4;c++)o>=6?(i+=e[s>>o-6&63],o-=6):o>0?(i+=e[s<<6-o&63],o=0):t===ns.Include&&(i+="=")}return i}const em="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_";var ns;(function(n){n[n.Include=0]="Include",n[n.None=1]="None"})(ns||(ns={}));var sd;(function(n){n[n.Required=0]="Required",n[n.Ignore=1]="Ignore"})(sd||(sd={}));function tm(n,e,t){const i=pi(new TextEncoder().encode(n)),r=pi(new TextEncoder().encode(e)),s=pi(t);return i+"."+r+"."+s}function nm(n,e){const t=pi(new TextEncoder().encode(n)),i=pi(new TextEncoder().encode(e)),r=t+"."+i;return new TextEncoder().encode(r)}const im="https://appleid.apple.com/auth/authorize",rm="https://appleid.apple.com/auth/token";class Ff{constructor(e,t,i,r,s){te(this,"clientId");te(this,"teamId");te(this,"keyId");te(this,"pkcs8PrivateKey");te(this,"redirectURI");this.clientId=e,this.teamId=t,this.keyId=i,this.pkcs8PrivateKey=r,this.redirectURI=s}createAuthorizationURL(e,t){const i=new URL(im);return i.searchParams.set("response_type","code"),i.searchParams.set("client_id",this.clientId),i.searchParams.set("state",e),t.length>0&&i.searchParams.set("scope",t.join(" ")),i.searchParams.set("redirect_uri",this.redirectURI),i}async validateAuthorizationCode(e){const t=new URLSearchParams;t.set("grant_type","authorization_code"),t.set("code",e),t.set("redirect_uri",this.redirectURI),t.set("client_id",this.clientId);const i=await this.createClientSecret();t.set("client_secret",i);const r=di(rm,t);return await ts(r)}async createClientSecret(){const e=await crypto.subtle.importKey("pkcs8",this.pkcs8PrivateKey,{name:"ECDSA",namedCurve:"P-256"},!1,["sign"]),t=Math.floor(Date.now()/1e3),i=JSON.stringify({typ:"JWT",alg:"ES256",kid:this.keyId}),r=JSON.stringify({iss:this.teamId,exp:t+5*60,aud:["https://appleid.apple.com"],sub:this.clientId,iat:t}),s=new Uint8Array(await crypto.subtle.sign({name:"ECDSA",hash:"SHA-256"},e,nm(i,r)));return tm(i,r,s)}}const sm="https://www.facebook.com/v16.0/dialog/oauth",om="https://graph.facebook.com/v16.0/oauth/access_token";class qf{constructor(e,t,i){te(this,"clientId");te(this,"clientSecret");te(this,"redirectURI");this.clientId=e,this.clientSecret=t,this.redirectURI=i}createAuthorizationURL(e,t){const i=new URL(sm);return i.searchParams.set("response_type","code"),i.searchParams.set("client_id",this.clientId),i.searchParams.set("state",e),t.length>0&&i.searchParams.set("scope",t.join(" ")),i.searchParams.set("redirect_uri",this.redirectURI),i}async validateAuthorizationCode(e){const t=new URLSearchParams;t.set("grant_type","authorization_code"),t.set("code",e),t.set("redirect_uri",this.redirectURI),t.set("client_id",this.clientId),t.set("client_secret",this.clientSecret);const i=di(om,t);return await ts(i)}}const am="https://accounts.google.com/o/oauth2/v2/auth",od="https://oauth2.googleapis.com/token",cm="https://oauth2.googleapis.com/revoke";class Kf{constructor(e,t,i){te(this,"client");this.client=new Mc(e,t,i)}createAuthorizationURL(e,t,i){return this.client.createAuthorizationURLWithPKCE(am,e,Ei.S256,t,i)}async validateAuthorizationCode(e,t){return await this.client.validateAuthorizationCode(od,e,t)}async refreshAccessToken(e){return await this.client.refreshAccessToken(od,e,[])}async revokeToken(e){await this.client.revokeToken(cm,e)}}class Hc{constructor(e,t){te(this,"value");te(this,"unit");this.value=e,this.unit=t}milliseconds(){return this.unit==="ms"?this.value:this.unit==="s"?this.value*1e3:this.unit==="m"?this.value*1e3*60:this.unit==="h"?this.value*1e3*60*60:this.unit==="d"?this.value*1e3*60*60*24:this.value*1e3*60*60*24*7}seconds(){return this.milliseconds()/1e3}transform(e){return new Hc(Math.round(this.milliseconds()*e),"ms")}}async function ad(n,e,t,i){const r={alg:n,typ:"JWT",...i==null?void 0:i.headers},s={...t};(i==null?void 0:i.audiences)!==void 0&&(s.aud=i.audiences),(i==null?void 0:i.subject)!==void 0&&(s.sub=i.subject),(i==null?void 0:i.issuer)!==void 0&&(s.iss=i.issuer),(i==null?void 0:i.jwtId)!==void 0&&(s.jti=i.jwtId),(i==null?void 0:i.expiresIn)!==void 0&&(s.exp=Math.floor(Date.now()/1e3)+i.expiresIn.seconds()),(i==null?void 0:i.notBefore)!==void 0&&(s.nbf=Math.floor(i.notBefore.getTime()/1e3)),s.iat=Math.floor(Date.now()/1e3);const o=new TextEncoder,c=rn.encode(o.encode(JSON.stringify(r)),{includePadding:!1}),l=rn.encode(o.encode(JSON.stringify(s)),{includePadding:!1}),u=o.encode([c,l].join(".")),p=await um(n).sign(e,u),g=rn.encode(new Uint8Array(p),{includePadding:!1});return[c,l,g].join(".")}function lm(n){const e=n.split(".");return e.length!==3?null:e}function Dc(n){const e=lm(n);if(!e)return null;const t=new TextDecoder,i=rn.decode(e[0],{strict:!1}),r=rn.decode(e[1],{strict:!1}),s=JSON.parse(t.decode(i));if(typeof s!="object"||s===null||!("alg"in s)||!dm(s.alg)||"typ"in s&&s.typ!=="JWT")return null;const o=JSON.parse(t.decode(r));if(typeof o!="object"||o===null)return null;const c={algorithm:s.alg,expiresAt:null,subject:null,issuedAt:null,issuer:null,jwtId:null,audiences:null,notBefore:null};if("exp"in o){if(typeof o.exp!="number")return null;c.expiresAt=new Date(o.exp*1e3)}if("iss"in o){if(typeof o.iss!="string")return null;c.issuer=o.iss}if("sub"in o){if(typeof o.sub!="string")return null;c.subject=o.sub}if("aud"in o)if(Array.isArray(o.aud)){for(const l of o.aud)if(typeof l!="string")return null;c.audiences=o.aud}else{if(typeof o.aud!="string")return null;c.audiences=[o.aud]}if("nbf"in o){if(typeof o.nbf!="number")return null;c.notBefore=new Date(o.nbf*1e3)}if("iat"in o){if(typeof o.iat!="number")return null;c.issuedAt=new Date(o.iat*1e3)}if("jti"in o){if(typeof o.jti!="string")return null;c.jwtId=o.jti}return{value:n,header:{...s,typ:"JWT",alg:s.alg},payload:{...o},parts:e,...c}}function um(n){return new g0(pm[n])}function dm(n){return typeof n!="string"?!1:["HS256","HS384","HS512","RS256","RS384","RS512","ES256","ES384","ES512","PS256","PS384","PS512"].includes(n)}const pm={RS256:"SHA-256",RS384:"SHA-384",RS512:"SHA-512"},Zs=a.z.object({iss:a.z.string().url(),sub:a.z.string(),aud:a.z.string(),exp:a.z.number(),email:a.z.string().optional(),given_name:a.z.string().optional(),family_name:a.z.string().optional(),name:a.z.string().optional(),iat:a.z.number(),auth_time:a.z.number().optional(),nonce:a.z.string().optional(),acr:a.z.string().optional(),amr:a.z.array(a.z.string()).optional(),azp:a.z.string().optional(),at_hash:a.z.string().optional(),c_hash:a.z.string().optional()}).passthrough();Zs.omit({iat:!0,auth_time:!0,nonce:!0,acr:!0,amr:!0,azp:!0,at_hash:!0,c_hash:!0});function yt(n){return n.UNIVERSAL_LOGIN_URL||`${n.ISSUER}u/`}function kt(n){return n.OAUTH_API_URL||n.ISSUER}function Wf(n){const{options:e}=n;if(!e||!e.client_id||!e.team_id||!e.kid||!e.app_secret)throw new Error("Missing required Apple authentication parameters");const t=Buffer.from(e.app_secret,"utf-8"),i=t.toString().replace(/-----BEGIN PRIVATE KEY-----|-----END PRIVATE KEY-----|\s/g,""),r=Uint8Array.from(Buffer.from(i,"base64"));return t.fill(0),{options:e,keyArray:r}}async function fm(n,e){var l,u;const{options:t,keyArray:i}=Wf(e),r=new Ff(t.client_id,t.team_id,t.kid,i,`${kt(n.env)}callback`),s=Ke(),o=await r.createAuthorizationURL(s,((l=t.scope)==null?void 0:l.split(" "))||["name","email"]);return(((u=t.scope)==null?void 0:u.split(" "))||["name","email"]).some(p=>["email","name"].includes(p))&&o.searchParams.set("response_mode","form_post"),{redirectUrl:o.href,code:s}}async function hm(n,e,t){const{options:i,keyArray:r}=Wf(e),o=await new Ff(i.client_id,i.team_id,i.kid,r,`${kt(n.env)}callback`).validateAuthorizationCode(t),c=Dc(o.idToken());if(!c)throw new Error("Invalid ID token");const l=Zs.parse(c.payload);return{sub:l.sub,email:l.email,given_name:l.given_name,family_name:l.family_name,name:l.name,picture:l.picture,locale:l.locale}}const gm=Object.freeze(Object.defineProperty({__proto__:null,getRedirect:fm,validateAuthorizationCodeAndGetUser:hm},Symbol.toStringTag,{value:"Module"}));async function _m(n,e){var o;const{options:t}=e;if(!(t!=null&&t.client_id)||!t.client_secret)throw new Error("Missing required authentication parameters");const i=new qf(t.client_id,t.client_secret,`${kt(n.env)}callback`),r=Ke();return{redirectUrl:i.createAuthorizationURL(r,((o=t.scope)==null?void 0:o.split(" "))||["email"]).href,code:r}}async function mm(n,e,t){const{options:i}=e;if(!(i!=null&&i.client_id)||!i.client_secret)throw new Error("Missing required authentication parameters");const s=await new qf(i.client_id,i.client_secret,`${kt(n.env)}callback`).validateAuthorizationCode(t),o=await fetch("https://graph.facebook.com/v16.0/me?fields=id,email,name",{headers:{Authorization:`Bearer ${s.accessToken()}`}});if(!o.ok)throw new Error("Failed to fetch user info");const c=await o.json();return n.set("log",`Userinfo: ${JSON.stringify(c)}`),{sub:c.id,email:c.email,name:c.name}}const ym=Object.freeze(Object.defineProperty({__proto__:null,getRedirect:_m,validateAuthorizationCodeAndGetUser:mm},Symbol.toStringTag,{value:"Module"}));async function vm(n,e){var c;const{options:t}=e;if(!(t!=null&&t.client_id)||!t.client_secret)throw new Error("Missing required Google authentication parameters");const i=new Kf(t.client_id,t.client_secret,`${kt(n.env)}callback`),r=Ke(),s=Z0();return{redirectUrl:i.createAuthorizationURL(r,s,((c=t.scope)==null?void 0:c.split(" "))??["email","profile"]).href,code:r,codeVerifier:s}}async function wm(n,e,t,i){const{options:r}=e;if(!(r!=null&&r.client_id)||!r.client_secret||!i)throw new Error("Missing required authentication parameters");const o=await new Kf(r.client_id,r.client_secret,`${kt(n.env)}callback`).validateAuthorizationCode(t,i);console.log("got here");const c=Dc(o.idToken());if(!c)throw new Error("Invalid ID token");const l=Zs.parse(c.payload);return{sub:l.sub,email:l.email,given_name:l.given_name,family_name:l.family_name,name:l.name,picture:l.picture,locale:l.locale}}const bm=Object.freeze(Object.defineProperty({__proto__:null,getRedirect:vm,validateAuthorizationCodeAndGetUser:wm},Symbol.toStringTag,{value:"Module"}));async function km(n,e){var o;const{options:t}=e;if(!(t!=null&&t.client_id)||!t.client_secret)throw new Error("Missing required authentication parameters");const i=new Mc(t.client_id,t.client_secret,`${kt(n.env)}callback`),r=Ke(),s=i.createAuthorizationURL("https://api.vipps.no/access-management-1.0/access/oauth2/auth",r,((o=t.scope)==null?void 0:o.split(" "))||["openid","email","phoneNumber","name","address","birthDate"]);return s.searchParams.set("response_type","code"),s.searchParams.set("response_mode","query"),{redirectUrl:s.href,code:r}}async function xm(n,e,t){const{options:i}=e;if(!(i!=null&&i.client_id)||!i.client_secret)throw new Error("Missing required authentication parameters");const s=await new Mc(i.client_id,i.client_secret,`${kt(n.env)}callback`).validateAuthorizationCode("https://api.vipps.no/access-management-1.0/access/oauth2/token",t,null),o=Dc(s.idToken());if(!o)throw new Error("Invalid ID token");const c=Zs.parse(o.payload);if(typeof c.msn!="string")throw new Error("msn not available in id token");const l=await fetch("https://api.vipps.no/vipps-userinfo-api/userinfo",{headers:{Authorization:`Bearer ${s.accessToken()}`,"Merchant-Serial-Number":c.msn}});if(!l.ok)throw new N(400,{message:"Failed to get user from vipps"});return await l.json()}const Sm=Object.freeze(Object.defineProperty({__proto__:null,getRedirect:km,validateAuthorizationCodeAndGetUser:xm},Symbol.toStringTag,{value:"Module"}));function Gf(n,e){const t=n.env.STRATEGIES||{},r={apple:gm,facebook:ym,"google-oauth2":bm,vipps:Sm,...t}[e];if(!r)throw new Error(`Strategy ${e} not found`);return r}async function Fc(n,e){const t=await n.data.clients.get(e);if(!t)throw new N(403,{message:"Client not found"});const i=n.DEFAULT_CLIENT_ID?await n.data.clients.get(n.DEFAULT_CLIENT_ID):void 0,r=await n.data.connections.list(t.tenant.id),s=n.DEFAULT_TENANT_ID?await n.data.connections.list(n.DEFAULT_TENANT_ID):{connections:[]},o=r.connections.map(c=>{var p;const l=(p=s.connections)==null?void 0:p.find(g=>g.name===c.name);return l!=null&&l.options?Bt.parse({...l||{},...c,options:{...l.options||{},...c.options}}):c}).filter(c=>c);return{...t,web_origins:[...(i==null?void 0:i.web_origins)||[],...t.web_origins||[],`${yt(n)}login`],allowed_logout_urls:[...(i==null?void 0:i.allowed_logout_urls)||[],...t.allowed_logout_urls||[],n.ISSUER],callbacks:[...(i==null?void 0:i.callbacks)||[],...t.callbacks||[],`${yt(n)}info`],connections:o,domains:[...t.domains||[],...(i==null?void 0:i.domains)||[]],tenant:{...(i==null?void 0:i.tenant)||{},...t.tenant}}}function Ys(n,e=[],t={}){try{const i=new URL(n);return e.some(r=>{try{return Am(i,new URL(r),t.allowPathWildcards)}catch{return!1}})}catch{return!1}}function Am(n,e,t){if(n.protocol!==e.protocol)return!1;if(t&&e.pathname.includes("*")){const i=e.pathname.replace(/\*/g,".*").replace(/\//g,"\\/");if(!new RegExp(`^${i}$`).test(n.pathname))return!1}else if(n.pathname!==e.pathname)return!1;if(e.hostname.startsWith("*.")&&e.hostname.split(".").length>2&&["http:","https:"].includes(e.protocol)){const i=e.hostname.split(".").slice(1).join(".");return n.hostname.endsWith(i)}return n.hostname===e.hostname}function Im(n){try{const t=/-----BEGIN (?:RSA )?(?:PRIVATE|PUBLIC) KEY-----([^-]*)-----END (?:RSA )?(?:PRIVATE|PUBLIC) KEY-----/.exec(n);if(!t||!t[1])throw new Error("Invalid PEM format");return Uint8Array.from(atob(t[1].replace(/\s/g,"")),i=>i.charCodeAt(0)).buffer}finally{n=n.replace(/./g,"\0")}}async function Em(n,e){if(e==="plain")return n;const t=new TextEncoder().encode(n),i=await Rf(t);return rn.encode(new Uint8Array(i),{includePadding:!1})}function Jf(n,e,t){const i=[];return i.push([encodeURIComponent(n),encodeURIComponent(e)]),(t==null?void 0:t.domain)!==void 0&&i.push(["Domain",t.domain]),(t==null?void 0:t.expires)!==void 0&&i.push(["Expires",t.expires.toUTCString()]),t!=null&&t.httpOnly&&i.push(["HttpOnly"]),(t==null?void 0:t.maxAge)!==void 0&&i.push(["Max-Age",t.maxAge.toString()]),(t==null?void 0:t.path)!==void 0&&i.push(["Path",t.path]),(t==null?void 0:t.sameSite)==="lax"&&i.push(["SameSite","Lax"]),(t==null?void 0:t.sameSite)==="none"&&i.push(["SameSite","None"]),(t==null?void 0:t.sameSite)==="strict"&&i.push(["SameSite","Strict"]),t!=null&&t.secure&&i.push(["Secure"]),i.map(r=>r.join("=")).join("; ")}function $m(n){const e=new Map,t=n.split("; ");for(const i of t){const r=i.split("="),s=r[0],o=r[1]??"";s&&e.set(decodeURIComponent(s),decodeURIComponent(o))}return e}function qc(n){return`${n}-${L0}`}function Zf(n,e){return e?$m(e).get(qc(n)):void 0}function Cm(n){const e={path:"/",httpOnly:!0,secure:!0,maxAge:0};return Jf(qc(n),"",{...e,sameSite:"none"})}function Yf(n,e){const t={path:"/",httpOnly:!0,secure:!0,maxAge:Uf};return Jf(qc(n),e,{...t,sameSite:"none"})}var Kc={},Xs={};(function(n){const e=":A-Za-z_\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD",t=e+"\\-.\\d\\u00B7\\u0300-\\u036F\\u203F-\\u2040",i="["+e+"]["+t+"]*",r=new RegExp("^"+i+"$"),s=function(c,l){const u=[];let p=l.exec(c);for(;p;){const g=[];g.startIndex=l.lastIndex-p[0].length;const m=p.length;for(let x=0;x<m;x++)g.push(p[x]);u.push(g),p=l.exec(c)}return u},o=function(c){const l=r.exec(c);return!(l===null||typeof l>"u")};n.isExist=function(c){return typeof c<"u"},n.isEmptyObject=function(c){return Object.keys(c).length===0},n.merge=function(c,l,u){if(l){const p=Object.keys(l),g=p.length;for(let m=0;m<g;m++)u==="strict"?c[p[m]]=[l[p[m]]]:c[p[m]]=l[p[m]]}},n.getValue=function(c){return n.isExist(c)?c:""},n.isName=o,n.getAllMatches=s,n.nameRegexp=i})(Xs);const Wc=Xs,jm={allowBooleanAttributes:!1,unpairedTags:[]};Kc.validate=function(n,e){e=Object.assign({},jm,e);const t=[];let i=!1,r=!1;n[0]==="\uFEFF"&&(n=n.substr(1));for(let s=0;s<n.length;s++)if(n[s]==="<"&&n[s+1]==="?"){if(s+=2,s=ld(n,s),s.err)return s}else if(n[s]==="<"){let o=s;if(s++,n[s]==="!"){s=ud(n,s);continue}else{let c=!1;n[s]==="/"&&(c=!0,s++);let l="";for(;s<n.length&&n[s]!==">"&&n[s]!==" "&&n[s]!==" "&&n[s]!==`
|
|
126
126
|
`&&n[s]!=="\r";s++)l+=n[s];if(l=l.trim(),l[l.length-1]==="/"&&(l=l.substring(0,l.length-1),s--),!Lm(l)){let g;return l.trim().length===0?g="Invalid space after '<'.":g="Tag '"+l+"' is an invalid name.",ye("InvalidTag",g,Oe(n,s))}const u=Om(n,s);if(u===!1)return ye("InvalidAttr","Attributes for '"+l+"' have open quote.",Oe(n,s));let p=u.value;if(s=u.index,p[p.length-1]==="/"){const g=s-p.length;p=p.substring(0,p.length-1);const m=dd(p,e);if(m===!0)i=!0;else return ye(m.err.code,m.err.msg,Oe(n,g+m.err.line))}else if(c)if(u.tagClosed){if(p.trim().length>0)return ye("InvalidTag","Closing tag '"+l+"' can't have attributes or invalid starting.",Oe(n,o));if(t.length===0)return ye("InvalidTag","Closing tag '"+l+"' has not been opened.",Oe(n,o));{const g=t.pop();if(l!==g.tagName){let m=Oe(n,g.tagStartPos);return ye("InvalidTag","Expected closing tag '"+g.tagName+"' (opened in line "+m.line+", col "+m.col+") instead of closing tag '"+l+"'.",Oe(n,o))}t.length==0&&(r=!0)}}else return ye("InvalidTag","Closing tag '"+l+"' doesn't have proper closing.",Oe(n,s));else{const g=dd(p,e);if(g!==!0)return ye(g.err.code,g.err.msg,Oe(n,s-p.length+g.err.line));if(r===!0)return ye("InvalidXml","Multiple possible root nodes found.",Oe(n,s));e.unpairedTags.indexOf(l)!==-1||t.push({tagName:l,tagStartPos:o}),i=!0}for(s++;s<n.length;s++)if(n[s]==="<")if(n[s+1]==="!"){s++,s=ud(n,s);continue}else if(n[s+1]==="?"){if(s=ld(n,++s),s.err)return s}else break;else if(n[s]==="&"){const g=Rm(n,s);if(g==-1)return ye("InvalidChar","char '&' is not expected.",Oe(n,s));s=g}else if(r===!0&&!cd(n[s]))return ye("InvalidXml","Extra text at the end",Oe(n,s));n[s]==="<"&&s--}}else{if(cd(n[s]))continue;return ye("InvalidChar","char '"+n[s]+"' is not expected.",Oe(n,s))}if(i){if(t.length==1)return ye("InvalidTag","Unclosed tag '"+t[0].tagName+"'.",Oe(n,t[0].tagStartPos));if(t.length>0)return ye("InvalidXml","Invalid '"+JSON.stringify(t.map(s=>s.tagName),null,4).replace(/\r?\n/g,"")+"' found.",{line:1,col:1})}else return ye("InvalidXml","Start tag expected.",1);return!0};function cd(n){return n===" "||n===" "||n===`
|
|
127
127
|
`||n==="\r"}function ld(n,e){const t=e;for(;e<n.length;e++)if(n[e]=="?"||n[e]==" "){const i=n.substr(t,e-t);if(e>5&&i==="xml")return ye("InvalidXml","XML declaration allowed only at the start of the document.",Oe(n,e));if(n[e]=="?"&&n[e+1]==">"){e++;break}else continue}return e}function ud(n,e){if(n.length>e+5&&n[e+1]==="-"&&n[e+2]==="-"){for(e+=3;e<n.length;e++)if(n[e]==="-"&&n[e+1]==="-"&&n[e+2]===">"){e+=2;break}}else if(n.length>e+8&&n[e+1]==="D"&&n[e+2]==="O"&&n[e+3]==="C"&&n[e+4]==="T"&&n[e+5]==="Y"&&n[e+6]==="P"&&n[e+7]==="E"){let t=1;for(e+=8;e<n.length;e++)if(n[e]==="<")t++;else if(n[e]===">"&&(t--,t===0))break}else if(n.length>e+9&&n[e+1]==="["&&n[e+2]==="C"&&n[e+3]==="D"&&n[e+4]==="A"&&n[e+5]==="T"&&n[e+6]==="A"&&n[e+7]==="["){for(e+=8;e<n.length;e++)if(n[e]==="]"&&n[e+1]==="]"&&n[e+2]===">"){e+=2;break}}return e}const zm='"',Nm="'";function Om(n,e){let t="",i="",r=!1;for(;e<n.length;e++){if(n[e]===zm||n[e]===Nm)i===""?i=n[e]:i!==n[e]||(i="");else if(n[e]===">"&&i===""){r=!0;break}t+=n[e]}return i!==""?!1:{value:t,index:e,tagClosed:r}}const Bm=new RegExp(`(\\s*)([^\\s=]+)(\\s*=)?(\\s*(['"])(([\\s\\S])*?)\\5)?`,"g");function dd(n,e){const t=Wc.getAllMatches(n,Bm),i={};for(let r=0;r<t.length;r++){if(t[r][1].length===0)return ye("InvalidAttr","Attribute '"+t[r][2]+"' has no space in starting.",ii(t[r]));if(t[r][3]!==void 0&&t[r][4]===void 0)return ye("InvalidAttr","Attribute '"+t[r][2]+"' is without value.",ii(t[r]));if(t[r][3]===void 0&&!e.allowBooleanAttributes)return ye("InvalidAttr","boolean attribute '"+t[r][2]+"' is not allowed.",ii(t[r]));const s=t[r][2];if(!Pm(s))return ye("InvalidAttr","Attribute '"+s+"' is an invalid name.",ii(t[r]));if(!i.hasOwnProperty(s))i[s]=1;else return ye("InvalidAttr","Attribute '"+s+"' is repeated.",ii(t[r]))}return!0}function Tm(n,e){let t=/\d/;for(n[e]==="x"&&(e++,t=/[\da-fA-F]/);e<n.length;e++){if(n[e]===";")return e;if(!n[e].match(t))break}return-1}function Rm(n,e){if(e++,n[e]===";")return-1;if(n[e]==="#")return e++,Tm(n,e);let t=0;for(;e<n.length;e++,t++)if(!(n[e].match(/\w/)&&t<20)){if(n[e]===";")break;return-1}return e}function ye(n,e,t){return{err:{code:n,msg:e,line:t.line||t,col:t.col}}}function Pm(n){return Wc.isName(n)}function Lm(n){return Wc.isName(n)}function Oe(n,e){const t=n.substring(0,e).split(/\r?\n/);return{line:t.length,col:t[t.length-1].length+1}}function ii(n){return n.startIndex+n[1].length}var Gc={};const Xf={preserveOrder:!1,attributeNamePrefix:"@_",attributesGroupName:!1,textNodeName:"#text",ignoreAttributes:!0,removeNSPrefix:!1,allowBooleanAttributes:!1,parseTagValue:!0,parseAttributeValue:!1,trimValues:!0,cdataPropName:!1,numberParseOptions:{hex:!0,leadingZeros:!0,eNotation:!0},tagValueProcessor:function(n,e){return e},attributeValueProcessor:function(n,e){return e},stopNodes:[],alwaysCreateTextNode:!1,isArray:()=>!1,commentPropName:!1,unpairedTags:[],processEntities:!0,htmlEntities:!1,ignoreDeclaration:!1,ignorePiTags:!1,transformTagName:!1,transformAttributeName:!1,updateTag:function(n,e,t){return n}},Um=function(n){return Object.assign({},Xf,n)};Gc.buildOptions=Um;Gc.defaultOptions=Xf;class Vm{constructor(e){this.tagname=e,this.child=[],this[":@"]={}}add(e,t){e==="__proto__"&&(e="#__proto__"),this.child.push({[e]:t})}addChild(e){e.tagname==="__proto__"&&(e.tagname="#__proto__"),e[":@"]&&Object.keys(e[":@"]).length>0?this.child.push({[e.tagname]:e.child,":@":e[":@"]}):this.child.push({[e.tagname]:e.child})}}var Mm=Vm;const Hm=Xs;function Dm(n,e){const t={};if(n[e+3]==="O"&&n[e+4]==="C"&&n[e+5]==="T"&&n[e+6]==="Y"&&n[e+7]==="P"&&n[e+8]==="E"){e=e+9;let i=1,r=!1,s=!1,o="";for(;e<n.length;e++)if(n[e]==="<"&&!s){if(r&&Km(n,e)){e+=7;let c,l;[c,l,e]=Fm(n,e+1),l.indexOf("&")===-1&&(t[Zm(c)]={regx:RegExp(`&${c};`,"g"),val:l})}else if(r&&Wm(n,e))e+=8;else if(r&&Gm(n,e))e+=8;else if(r&&Jm(n,e))e+=9;else if(qm)s=!0;else throw new Error("Invalid DOCTYPE");i++,o=""}else if(n[e]===">"){if(s?n[e-1]==="-"&&n[e-2]==="-"&&(s=!1,i--):i--,i===0)break}else n[e]==="["?r=!0:o+=n[e];if(i!==0)throw new Error("Unclosed DOCTYPE")}else throw new Error("Invalid Tag instead of DOCTYPE");return{entities:t,i:e}}function Fm(n,e){let t="";for(;e<n.length&&n[e]!=="'"&&n[e]!=='"';e++)t+=n[e];if(t=t.trim(),t.indexOf(" ")!==-1)throw new Error("External entites are not supported");const i=n[e++];let r="";for(;e<n.length&&n[e]!==i;e++)r+=n[e];return[t,r,e]}function qm(n,e){return n[e+1]==="!"&&n[e+2]==="-"&&n[e+3]==="-"}function Km(n,e){return n[e+1]==="!"&&n[e+2]==="E"&&n[e+3]==="N"&&n[e+4]==="T"&&n[e+5]==="I"&&n[e+6]==="T"&&n[e+7]==="Y"}function Wm(n,e){return n[e+1]==="!"&&n[e+2]==="E"&&n[e+3]==="L"&&n[e+4]==="E"&&n[e+5]==="M"&&n[e+6]==="E"&&n[e+7]==="N"&&n[e+8]==="T"}function Gm(n,e){return n[e+1]==="!"&&n[e+2]==="A"&&n[e+3]==="T"&&n[e+4]==="T"&&n[e+5]==="L"&&n[e+6]==="I"&&n[e+7]==="S"&&n[e+8]==="T"}function Jm(n,e){return n[e+1]==="!"&&n[e+2]==="N"&&n[e+3]==="O"&&n[e+4]==="T"&&n[e+5]==="A"&&n[e+6]==="T"&&n[e+7]==="I"&&n[e+8]==="O"&&n[e+9]==="N"}function Zm(n){if(Hm.isName(n))return n;throw new Error(`Invalid entity name ${n}`)}var Ym=Dm;const Xm=/^[-+]?0x[a-fA-F0-9]+$/,Qm=/^([\-\+])?(0*)(\.[0-9]+([eE]\-?[0-9]+)?|[0-9]+(\.[0-9]+([eE]\-?[0-9]+)?)?)$/;!Number.parseInt&&window.parseInt&&(Number.parseInt=window.parseInt);!Number.parseFloat&&window.parseFloat&&(Number.parseFloat=window.parseFloat);const ey={hex:!0,leadingZeros:!0,decimalPoint:".",eNotation:!0};function ty(n,e={}){if(e=Object.assign({},ey,e),!n||typeof n!="string")return n;let t=n.trim();if(e.skipLike!==void 0&&e.skipLike.test(t))return n;if(e.hex&&Xm.test(t))return Number.parseInt(t,16);{const i=Qm.exec(t);if(i){const r=i[1],s=i[2];let o=ny(i[3]);const c=i[4]||i[6];if(!e.leadingZeros&&s.length>0&&r&&t[2]!==".")return n;if(!e.leadingZeros&&s.length>0&&!r&&t[1]!==".")return n;{const l=Number(t),u=""+l;return u.search(/[eE]/)!==-1||c?e.eNotation?l:n:t.indexOf(".")!==-1?u==="0"&&o===""||u===o||r&&u==="-"+o?l:n:s?o===u||r+o===u?l:n:t===u||t===r+u?l:n}}else return n}}function ny(n){return n&&n.indexOf(".")!==-1&&(n=n.replace(/0+$/,""),n==="."?n="0":n[0]==="."?n="0"+n:n[n.length-1]==="."&&(n=n.substr(0,n.length-1))),n}var iy=ty;function ry(n){return typeof n=="function"?n:Array.isArray(n)?e=>{for(const t of n)if(typeof t=="string"&&e===t||t instanceof RegExp&&t.test(e))return!0}:()=>!1}var Qf=ry;const eh=Xs,ri=Mm,sy=Ym,oy=iy,ay=Qf;let cy=class{constructor(e){this.options=e,this.currentNode=null,this.tagsNodeStack=[],this.docTypeEntities={},this.lastEntities={apos:{regex:/&(apos|#39|#x27);/g,val:"'"},gt:{regex:/&(gt|#62|#x3E);/g,val:">"},lt:{regex:/&(lt|#60|#x3C);/g,val:"<"},quot:{regex:/&(quot|#34|#x22);/g,val:'"'}},this.ampEntity={regex:/&(amp|#38|#x26);/g,val:"&"},this.htmlEntities={space:{regex:/&(nbsp|#160);/g,val:" "},cent:{regex:/&(cent|#162);/g,val:"¢"},pound:{regex:/&(pound|#163);/g,val:"£"},yen:{regex:/&(yen|#165);/g,val:"¥"},euro:{regex:/&(euro|#8364);/g,val:"€"},copyright:{regex:/&(copy|#169);/g,val:"©"},reg:{regex:/&(reg|#174);/g,val:"®"},inr:{regex:/&(inr|#8377);/g,val:"₹"},num_dec:{regex:/&#([0-9]{1,7});/g,val:(t,i)=>String.fromCharCode(Number.parseInt(i,10))},num_hex:{regex:/&#x([0-9a-fA-F]{1,6});/g,val:(t,i)=>String.fromCharCode(Number.parseInt(i,16))}},this.addExternalEntities=ly,this.parseXml=hy,this.parseTextData=uy,this.resolveNameSpace=dy,this.buildAttributesMap=fy,this.isItStopNode=yy,this.replaceEntitiesValue=_y,this.readStopNodeData=wy,this.saveTextToParentTag=my,this.addChild=gy,this.ignoreAttributesFn=ay(this.options.ignoreAttributes)}};function ly(n){const e=Object.keys(n);for(let t=0;t<e.length;t++){const i=e[t];this.lastEntities[i]={regex:new RegExp("&"+i+";","g"),val:n[i]}}}function uy(n,e,t,i,r,s,o){if(n!==void 0&&(this.options.trimValues&&!i&&(n=n.trim()),n.length>0)){o||(n=this.replaceEntitiesValue(n));const c=this.options.tagValueProcessor(e,n,t,r,s);return c==null?n:typeof c!=typeof n||c!==n?c:this.options.trimValues?Da(n,this.options.parseTagValue,this.options.numberParseOptions):n.trim()===n?Da(n,this.options.parseTagValue,this.options.numberParseOptions):n}}function dy(n){if(this.options.removeNSPrefix){const e=n.split(":"),t=n.charAt(0)==="/"?"/":"";if(e[0]==="xmlns")return"";e.length===2&&(n=t+e[1])}return n}const py=new RegExp(`([^\\s=]+)\\s*(=\\s*(['"])([\\s\\S]*?)\\3)?`,"gm");function fy(n,e,t){if(this.options.ignoreAttributes!==!0&&typeof n=="string"){const i=eh.getAllMatches(n,py),r=i.length,s={};for(let o=0;o<r;o++){const c=this.resolveNameSpace(i[o][1]);if(this.ignoreAttributesFn(c,e))continue;let l=i[o][4],u=this.options.attributeNamePrefix+c;if(c.length)if(this.options.transformAttributeName&&(u=this.options.transformAttributeName(u)),u==="__proto__"&&(u="#__proto__"),l!==void 0){this.options.trimValues&&(l=l.trim()),l=this.replaceEntitiesValue(l);const p=this.options.attributeValueProcessor(c,l,e);p==null?s[u]=l:typeof p!=typeof l||p!==l?s[u]=p:s[u]=Da(l,this.options.parseAttributeValue,this.options.numberParseOptions)}else this.options.allowBooleanAttributes&&(s[u]=!0)}if(!Object.keys(s).length)return;if(this.options.attributesGroupName){const o={};return o[this.options.attributesGroupName]=s,o}return s}}const hy=function(n){n=n.replace(/\r\n?/g,`
|
|
128
128
|
`);const e=new ri("!xml");let t=e,i="",r="";for(let s=0;s<n.length;s++)if(n[s]==="<")if(n[s+1]==="/"){const c=en(n,">",s,"Closing Tag is not closed.");let l=n.substring(s+2,c).trim();if(this.options.removeNSPrefix){const g=l.indexOf(":");g!==-1&&(l=l.substr(g+1))}this.options.transformTagName&&(l=this.options.transformTagName(l)),t&&(i=this.saveTextToParentTag(i,t,r));const u=r.substring(r.lastIndexOf(".")+1);if(l&&this.options.unpairedTags.indexOf(l)!==-1)throw new Error(`Unpaired tag can not be used as closing tag: </${l}>`);let p=0;u&&this.options.unpairedTags.indexOf(u)!==-1?(p=r.lastIndexOf(".",r.lastIndexOf(".")-1),this.tagsNodeStack.pop()):p=r.lastIndexOf("."),r=r.substring(0,p),t=this.tagsNodeStack.pop(),i="",s=c}else if(n[s+1]==="?"){let c=Ha(n,s,!1,"?>");if(!c)throw new Error("Pi Tag is not closed.");if(i=this.saveTextToParentTag(i,t,r),!(this.options.ignoreDeclaration&&c.tagName==="?xml"||this.options.ignorePiTags)){const l=new ri(c.tagName);l.add(this.options.textNodeName,""),c.tagName!==c.tagExp&&c.attrExpPresent&&(l[":@"]=this.buildAttributesMap(c.tagExp,r,c.tagName)),this.addChild(t,l,r)}s=c.closeIndex+1}else if(n.substr(s+1,3)==="!--"){const c=en(n,"-->",s+4,"Comment is not closed.");if(this.options.commentPropName){const l=n.substring(s+4,c-2);i=this.saveTextToParentTag(i,t,r),t.add(this.options.commentPropName,[{[this.options.textNodeName]:l}])}s=c}else if(n.substr(s+1,2)==="!D"){const c=sy(n,s);this.docTypeEntities=c.entities,s=c.i}else if(n.substr(s+1,2)==="!["){const c=en(n,"]]>",s,"CDATA is not closed.")-2,l=n.substring(s+9,c);i=this.saveTextToParentTag(i,t,r);let u=this.parseTextData(l,t.tagname,r,!0,!1,!0,!0);u==null&&(u=""),this.options.cdataPropName?t.add(this.options.cdataPropName,[{[this.options.textNodeName]:l}]):t.add(this.options.textNodeName,u),s=c+2}else{let c=Ha(n,s,this.options.removeNSPrefix),l=c.tagName;const u=c.rawTagName;let p=c.tagExp,g=c.attrExpPresent,m=c.closeIndex;this.options.transformTagName&&(l=this.options.transformTagName(l)),t&&i&&t.tagname!=="!xml"&&(i=this.saveTextToParentTag(i,t,r,!1));const x=t;if(x&&this.options.unpairedTags.indexOf(x.tagname)!==-1&&(t=this.tagsNodeStack.pop(),r=r.substring(0,r.lastIndexOf("."))),l!==e.tagname&&(r+=r?"."+l:l),this.isItStopNode(this.options.stopNodes,r,l)){let h="";if(p.length>0&&p.lastIndexOf("/")===p.length-1)l[l.length-1]==="/"?(l=l.substr(0,l.length-1),r=r.substr(0,r.length-1),p=l):p=p.substr(0,p.length-1),s=c.closeIndex;else if(this.options.unpairedTags.indexOf(l)!==-1)s=c.closeIndex;else{const b=this.readStopNodeData(n,u,m+1);if(!b)throw new Error(`Unexpected end of ${u}`);s=b.i,h=b.tagContent}const _=new ri(l);l!==p&&g&&(_[":@"]=this.buildAttributesMap(p,r,l)),h&&(h=this.parseTextData(h,l,r,!0,g,!0,!0)),r=r.substr(0,r.lastIndexOf(".")),_.add(this.options.textNodeName,h),this.addChild(t,_,r)}else{if(p.length>0&&p.lastIndexOf("/")===p.length-1){l[l.length-1]==="/"?(l=l.substr(0,l.length-1),r=r.substr(0,r.length-1),p=l):p=p.substr(0,p.length-1),this.options.transformTagName&&(l=this.options.transformTagName(l));const h=new ri(l);l!==p&&g&&(h[":@"]=this.buildAttributesMap(p,r,l)),this.addChild(t,h,r),r=r.substr(0,r.lastIndexOf("."))}else{const h=new ri(l);this.tagsNodeStack.push(t),l!==p&&g&&(h[":@"]=this.buildAttributesMap(p,r,l)),this.addChild(t,h,r),t=h}i="",s=m}}else i+=n[s];return e.child};function gy(n,e,t){const i=this.options.updateTag(e.tagname,t,e[":@"]);i===!1||(typeof i=="string"&&(e.tagname=i),n.addChild(e))}const _y=function(n){if(this.options.processEntities){for(let e in this.docTypeEntities){const t=this.docTypeEntities[e];n=n.replace(t.regx,t.val)}for(let e in this.lastEntities){const t=this.lastEntities[e];n=n.replace(t.regex,t.val)}if(this.options.htmlEntities)for(let e in this.htmlEntities){const t=this.htmlEntities[e];n=n.replace(t.regex,t.val)}n=n.replace(this.ampEntity.regex,this.ampEntity.val)}return n};function my(n,e,t,i){return n&&(i===void 0&&(i=Object.keys(e.child).length===0),n=this.parseTextData(n,e.tagname,t,!1,e[":@"]?Object.keys(e[":@"]).length!==0:!1,i),n!==void 0&&n!==""&&e.add(this.options.textNodeName,n),n=""),n}function yy(n,e,t){const i="*."+t;for(const r in n){const s=n[r];if(i===s||e===s)return!0}return!1}function vy(n,e,t=">"){let i,r="";for(let s=e;s<n.length;s++){let o=n[s];if(i)o===i&&(i="");else if(o==='"'||o==="'")i=o;else if(o===t[0])if(t[1]){if(n[s+1]===t[1])return{data:r,index:s}}else return{data:r,index:s};else o===" "&&(o=" ");r+=o}}function en(n,e,t,i){const r=n.indexOf(e,t);if(r===-1)throw new Error(i);return r+e.length-1}function Ha(n,e,t,i=">"){const r=vy(n,e+1,i);if(!r)return;let s=r.data;const o=r.index,c=s.search(/\s/);let l=s,u=!0;c!==-1&&(l=s.substring(0,c),s=s.substring(c+1).trimStart());const p=l;if(t){const g=l.indexOf(":");g!==-1&&(l=l.substr(g+1),u=l!==r.data.substr(g+1))}return{tagName:l,tagExp:s,closeIndex:o,attrExpPresent:u,rawTagName:p}}function wy(n,e,t){const i=t;let r=1;for(;t<n.length;t++)if(n[t]==="<")if(n[t+1]==="/"){const s=en(n,">",t,`${e} is not closed`);if(n.substring(t+2,s).trim()===e&&(r--,r===0))return{tagContent:n.substring(i,t),i:s};t=s}else if(n[t+1]==="?")t=en(n,"?>",t+1,"StopNode is not closed.");else if(n.substr(t+1,3)==="!--")t=en(n,"-->",t+3,"StopNode is not closed.");else if(n.substr(t+1,2)==="![")t=en(n,"]]>",t,"StopNode is not closed.")-2;else{const s=Ha(n,t,">");s&&((s&&s.tagName)===e&&s.tagExp[s.tagExp.length-1]!=="/"&&r++,t=s.closeIndex)}}function Da(n,e,t){if(e&&typeof n=="string"){const i=n.trim();return i==="true"?!0:i==="false"?!1:oy(n,t)}else return eh.isExist(n)?n:""}var by=cy,th={};function ky(n,e){return nh(n,e)}function nh(n,e,t){let i;const r={};for(let s=0;s<n.length;s++){const o=n[s],c=xy(o);let l="";if(t===void 0?l=c:l=t+"."+c,c===e.textNodeName)i===void 0?i=o[c]:i+=""+o[c];else{if(c===void 0)continue;if(o[c]){let u=nh(o[c],e,l);const p=Ay(u,e);o[":@"]?Sy(u,o[":@"],l,e):Object.keys(u).length===1&&u[e.textNodeName]!==void 0&&!e.alwaysCreateTextNode?u=u[e.textNodeName]:Object.keys(u).length===0&&(e.alwaysCreateTextNode?u[e.textNodeName]="":u=""),r[c]!==void 0&&r.hasOwnProperty(c)?(Array.isArray(r[c])||(r[c]=[r[c]]),r[c].push(u)):e.isArray(c,l,p)?r[c]=[u]:r[c]=u}}}return typeof i=="string"?i.length>0&&(r[e.textNodeName]=i):i!==void 0&&(r[e.textNodeName]=i),r}function xy(n){const e=Object.keys(n);for(let t=0;t<e.length;t++){const i=e[t];if(i!==":@")return i}}function Sy(n,e,t,i){if(e){const r=Object.keys(e),s=r.length;for(let o=0;o<s;o++){const c=r[o];i.isArray(c,t+"."+c,!0,!0)?n[c]=[e[c]]:n[c]=e[c]}}}function Ay(n,e){const{textNodeName:t}=e,i=Object.keys(n).length;return!!(i===0||i===1&&(n[t]||typeof n[t]=="boolean"||n[t]===0))}th.prettify=ky;const{buildOptions:Iy}=Gc,Ey=by,{prettify:$y}=th,Cy=Kc;let jy=class{constructor(e){this.externalEntities={},this.options=Iy(e)}parse(e,t){if(typeof e!="string")if(e.toString)e=e.toString();else throw new Error("XML data is accepted in String or Bytes[] form.");if(t){t===!0&&(t={});const s=Cy.validate(e,t);if(s!==!0)throw Error(`${s.err.msg}:${s.err.line}:${s.err.col}`)}const i=new Ey(this.options);i.addExternalEntities(this.externalEntities);const r=i.parseXml(e);return this.options.preserveOrder||r===void 0?r:$y(r,this.options)}addEntity(e,t){if(t.indexOf("&")!==-1)throw new Error("Entity value can't have '&'");if(e.indexOf("&")!==-1||e.indexOf(";")!==-1)throw new Error("An entity must be set without '&' and ';'. Eg. use '#xD' for '
'");if(t==="&")throw new Error("An entity with value '&' is not permitted");this.externalEntities[e]=t}};var zy=jy;const Ny=`
|
|
@@ -146,7 +146,7 @@ PERFORMANCE OF THIS SOFTWARE.
|
|
|
146
146
|
}};
|
|
147
147
|
<\/script>
|
|
148
148
|
</body>
|
|
149
|
-
</html>`;return new Response(r,{headers:{"Content-Type":"text/html"}})}async function Jy(n,e,t,i,r){var m,x,h;if(!t.redirect_uri)throw new N(400,{message:"Missing redirect_uri in authParams"});const[s]=await n.env.data.keys.list();if(!s)throw new N(500,{message:"No signing key found"});if(!((m=e.addons)!=null&&m.samlp))throw new N(400,{message:`SAML Addon is not enabled for client ${e.id}`});const{recipient:o,audience:c}=e.addons.samlp,l=t.state||"";if(!o||!l||!i||!t.state)throw new N(400,{message:"Missing recipient or inResponseTo"});const u=JSON.parse(t.state),p=new URL(t.redirect_uri),g=await Zy(n,{issuer:n.env.ISSUER,audience:c||t.client_id,destination:p.toString(),inResponseTo:u.requestId,userId:((h=(x=i.app_metadata)==null?void 0:x.vimeo)==null?void 0:h.user_id)||i.user_id,email:i.email,sessionIndex:r,signature:{privateKeyPem:s.pkcs7,cert:s.cert,kid:s.kid}});return Gy(p.toString(),g,u.relayState)}async function Zy(n,e){const t=e.notBefore||new Date().toISOString(),i=e.notAfter||new Date(new Date(t).getTime()+10*60*1e3).toISOString(),r=e.issueInstant||t,s=e.sessionNotOnOrAfter||i,o=e.responseId||`_${Ke()}`,c=e.assertionId||`_${Ke()}`,l=[{"samlp:Response":[{"saml:Issuer":[{"#text":e.issuer}]},{"samlp:Status":[{"samlp:StatusCode":[],":@":{"@_Value":"urn:oasis:names:tc:SAML:2.0:status:Success"}}]},{"saml:Assertion":[{"saml:Issuer":[{"#text":e.issuer}]},{"saml:Subject":[{"saml:NameID":[{"#text":e.email}],":@":{"@_Format":"urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress"}},{"saml:SubjectConfirmation":[{"saml:SubjectConfirmationData":[],":@":{"@_InResponseTo":e.inResponseTo,"@_NotOnOrAfter":i,"@_Recipient":e.destination}}],":@":{"@_Method":"urn:oasis:names:tc:SAML:2.0:cm:bearer"}}]},{"saml:Conditions":[{"saml:AudienceRestriction":[{"saml:Audience":[{"#text":e.audience}]}]}],":@":{"@_NotBefore":t,"@_NotOnOrAfter":i}},{"saml:AuthnStatement":[{"saml:AuthnContext":[{"saml:AuthnContextClassRef":[{"#text":"urn:oasis:names:tc:SAML:2.0:ac:classes:unspecified"}]}]}],":@":{"@_AuthnInstant":r,"@_SessionIndex":e.sessionIndex,"@_SessionNotOnOrAfter":s}},{"saml:AttributeStatement":[{"saml:Attribute":[{"saml:AttributeValue":[{"#text":e.userId}],":@":{"@_xmlns:xs":"http://www.w3.org/2001/XMLSchema","@_xmlns:xsi":"http://www.w3.org/2001/XMLSchema-instance","@_xsi:type":"xs:string"}}],":@":{"@_FriendlyName":"persistent","@_Name":"id","@_NameFormat":"urn:oasis:names:tc:SAML:2.0:attrname-format:unspecified"}},{"saml:Attribute":[{"saml:AttributeValue":[{"#text":e.email}],":@":{"@_xmlns:xs":"http://www.w3.org/2001/XMLSchema","@_xmlns:xsi":"http://www.w3.org/2001/XMLSchema-instance","@_xsi:type":"xs:string"}}],":@":{"@_Name":"email","@_NameFormat":"urn:oasis:names:tc:SAML:2.0:attrname-format:basic"}},{"saml:Attribute":[{"saml:AttributeValue":[{"#text":"manage-account"}],":@":{"@_xmlns:xs":"http://www.w3.org/2001/XMLSchema","@_xmlns:xsi":"http://www.w3.org/2001/XMLSchema-instance","@_xsi:type":"xs:string"}}],":@":{"@_Name":"Role","@_NameFormat":"urn:oasis:names:tc:SAML:2.0:attrname-format:basic"}},{"saml:Attribute":[{"saml:AttributeValue":[{"#text":"default-roles-master"}],":@":{"@_xmlns:xs":"http://www.w3.org/2001/XMLSchema","@_xmlns:xsi":"http://www.w3.org/2001/XMLSchema-instance","@_xsi:type":"xs:string"}}],":@":{"@_Name":"Role","@_NameFormat":"urn:oasis:names:tc:SAML:2.0:attrname-format:basic"}},{"saml:Attribute":[{"saml:AttributeValue":[{"#text":"offline_access"}],":@":{"@_xmlns:xs":"http://www.w3.org/2001/XMLSchema","@_xmlns:xsi":"http://www.w3.org/2001/XMLSchema-instance","@_xsi:type":"xs:string"}}],":@":{"@_Name":"Role","@_NameFormat":"urn:oasis:names:tc:SAML:2.0:attrname-format:basic"}},{"saml:Attribute":[{"saml:AttributeValue":[{"#text":"view-profile"}],":@":{"@_xmlns:xs":"http://www.w3.org/2001/XMLSchema","@_xmlns:xsi":"http://www.w3.org/2001/XMLSchema-instance","@_xsi:type":"xs:string"}}],":@":{"@_Name":"Role","@_NameFormat":"urn:oasis:names:tc:SAML:2.0:attrname-format:basic"}},{"saml:Attribute":[{"saml:AttributeValue":[{"#text":"uma_authorization"}],":@":{"@_xmlns:xs":"http://www.w3.org/2001/XMLSchema","@_xmlns:xsi":"http://www.w3.org/2001/XMLSchema-instance","@_xsi:type":"xs:string"}}],":@":{"@_Name":"Role","@_NameFormat":"urn:oasis:names:tc:SAML:2.0:attrname-format:basic"}},{"saml:Attribute":[{"saml:AttributeValue":[{"#text":"manage-account-links"}],":@":{"@_xmlns:xs":"http://www.w3.org/2001/XMLSchema","@_xmlns:xsi":"http://www.w3.org/2001/XMLSchema-instance","@_xsi:type":"xs:string"}}],":@":{"@_Name":"Role","@_NameFormat":"urn:oasis:names:tc:SAML:2.0:attrname-format:basic"}}]}],":@":{"@_xmlns":"urn:oasis:names:tc:SAML:2.0:assertion","@_ID":c,"@_IssueInstant":r,"@_Version":"2.0"}}],":@":{"@_xmlns:samlp":"urn:oasis:names:tc:SAML:2.0:protocol","@_xmlns:saml":"urn:oasis:names:tc:SAML:2.0:assertion","@_Destination":e.destination,"@_ID":o,"@_InResponseTo":e.inResponseTo,"@_IssueInstant":r,"@_Version":"2.0"}}];let p=new Wy.XMLBuilder({ignoreAttributes:!1,suppressEmptyNode:!0,preserveOrder:!0}).build(l);if(e.signature){const m=await fetch(n.env.SAML_SIGN_URL,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({xmlContent:p,privateKey:e.signature.privateKeyPem,publicCert:e.signature.cert})});if(!m.ok)throw new Error(`Failed to sign SAML response: ${m.status}`);p=await m.text()}return e.encode===!1?p:btoa(p)}const fd=["sub","iss","aud","exp","nbf","iat","jti"];async function Jc(n,e){var _,b;const{authParams:t,user:i,client:r,sid:s}=e,c=(await n.env.data.keys.list()).filter(S=>!S.revoked_at||new Date(S.revoked_at)>new Date),l=c[c.length-1];if(!(l!=null&&l.pkcs7))throw new N(500,{message:"No signing key available"});const u=Im(l.pkcs7),p={aud:t.audience||"default",scope:t.scope||"",sub:(i==null?void 0:i.user_id)||t.client_id,iss:n.env.ISSUER,tenant_id:n.var.tenant_id,sid:s},g=i&&((_=t.scope)!=null&&_.split(" ").includes("openid"))?{aud:t.client_id,sub:i.user_id,iss:n.env.ISSUER,sid:s,nonce:t.nonce,given_name:i.given_name,family_name:i.family_name,nickname:i.nickname,picture:i.picture,locale:i.locale,name:i.name,email:i.email,email_verified:i.email_verified}:void 0;(b=n.env.hooks)!=null&&b.onExecuteCredentialsExchange&&await n.env.hooks.onExecuteCredentialsExchange({client:r,user:i,scope:t.scope||"",grant_type:""},{accessToken:{setCustomClaim:(S,O)=>{if(fd.includes(S))throw new Error(`Cannot overwrite reserved claim '${S}'`);p[S]=O}},idToken:{setCustomClaim:(S,O)=>{if(fd.includes(S))throw new Error(`Cannot overwrite reserved claim '${S}'`);g&&(g[S]=O)}},access:{deny:S=>{throw new N(400,{message:`Access denied: ${S}`})}}});const m={includeIssuedTimestamp:!0,expiresIn:new Hc(1,"d"),headers:{kid:l.kid}},x=await ad("RS256",u,p,m),h=g?await ad("RS256",u,g,m):void 0;return{access_token:x,id_token:h,token_type:"Bearer",expires_in:86400}}async function sh(n,e,t){return await n.env.data.sessions.create(t.tenant.id,{session_id:Ke(),user_id:e.user_id,client_id:t.id,expires_at:new Date(Date.now()+Uf*1e3).toISOString(),used_at:new Date().toISOString()})}async function Ki(n,e){const{authParams:t,user:i,client:r}=e,s=e.sid||(await sh(n,i,r)).session_id;if(e.authParams.response_mode===sn.SAML_POST)return Jy(n,e.client,e.authParams,i,s);const o=await Jc(n,{authParams:t,user:i,client:r,sid:s}),c=new Headers({"set-cookie":Yf(r.tenant.id,s)});if(t.response_mode===sn.WEB_MESSAGE)return n.json(o,{headers:c});if((t.response_type||Ut.CODE)===Ut.CODE){if(!e.loginSession)throw new N(500,{message:"Login session not found"});const u=await n.env.data.codes.create(r.tenant.id,{code_id:Ke(),user_id:i.user_id,code_type:"authorization_code",login_id:e.loginSession.login_id,expires_at:new Date(Date.now()+U0*1e3).toISOString()});c.set("location",`${t.redirect_uri}?state=${e.authParams.state}&code=${u.code_id}`)}return new Response("Redirecting",{status:302,headers:c})}function Yy(n){return async(e,t)=>{if(!t.email||!t.email_verified)return n.users.create(e,t);const i=await Hd({userAdapter:n.users,tenant_id:e,email:t.email});return i?(await n.users.create(e,{...t,linked_to:i.user_id}),i):n.users.create(e,t)}}async function oh(n,e,t){for await(const i of e)if(!(await fetch(i.url,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(t)})).ok){const s=ke(n,{type:_e.FAILED_LOGIN_INCORRECT_PASSWORD,description:"Invalid password"});await t.logs.create(n.var.tenant_id,s)}}function Xy(n,e){return async(t,i)=>{const{hooks:r}=await e.hooks.list(t);return await oh(n,r,{tenant_id:t,user:i,trigger_id:"post-user-registration"}),i}}function Qy(n,e){return async(t,i)=>{const{hooks:r}=await e.hooks.list(t,{q:"trigger_id:pre-user-signup",page:0,per_page:100,include_totals:!1});await oh(n,r,{tenant_id:t,email:i,trigger_id:"pre-user-signup"})}}function ev(n,e){return async(t,i)=>{let r=await Yy(e)(t,i);return await Xy(n,e)(t,r),r}}async function tv(n,e,t,i){if(e.disable_sign_ups&&!await Hd({userAdapter:n.env.data.users,tenant_id:e.tenant.id,email:i})){const s=ke(n,{type:_e.FAILED_SIGNUP,description:"Public signup is disabled"});throw await n.env.data.logs.create(e.tenant.id,s),new N(400,{message:"Signups are disabled for this client"})}await Qy(n,t)(n.var.tenant_id||"",i)}function nv(n,e){return{...e,users:{...e.users,create:ev(n,e)}}}async function iv(n,e,t,i){if(!i.state)throw new N(400,{message:"State not found"});const r=e.connections.find(l=>l.name===t);if(!r){n.set("client_id",e.id);const l=ke(n,{type:_e.FAILED_LOGIN,description:"Connection not found"});throw await n.env.data.logs.create(e.tenant.id,l),new N(403,{message:"Connection Not Found"})}let s=await n.env.data.logins.get(e.tenant.id,i.state);s||(s=await n.env.data.logins.create(e.tenant.id,{expires_at:new Date(Date.now()+es*1e3).toISOString(),authParams:i,...Hn(n.req)}));const c=await Gf(n,r.strategy).getRedirect(n,r);return await n.env.data.codes.create(e.tenant.id,{login_id:s.login_id,code_id:c.code,code_type:"oauth2_state",connection_id:r.id,code_verifier:c.codeVerifier,expires_at:new Date(Date.now()+V0*1e3).toISOString()}),n.redirect(c.redirectUrl)}async function hd(n,{code:e,state:t}){var h;const{env:i}=n,r=await i.data.codes.get(n.var.tenant_id||"",t,"oauth2_state");if(!r||!r.connection_id)throw new N(403,{message:"State not found"});const s=await i.data.logins.get(n.var.tenant_id||"",r.login_id);if(!s)throw new N(403,{message:"Session not found"});const o=await Fc(i,s.authParams.client_id);n.set("client_id",o.id),n.set("tenant_id",o.tenant.id);const c=o.connections.find(_=>_.id===r.connection_id);if(!c){const _=ke(n,{type:_e.FAILED_LOGIN,description:"Connection not found"});throw await i.data.logs.create(o.tenant.id,_),new N(403,{message:"Connection not found"})}if(n.set("connection",c.name),!s.authParams.redirect_uri){const _=ke(n,{type:_e.FAILED_LOGIN,description:"Redirect URI not defined"});throw await i.data.logs.create(o.tenant.id,_),new N(403,{message:"Redirect URI not defined"})}if(!Ys(s.authParams.redirect_uri,o.callbacks||[],{allowPathWildcards:!0})){const _=`Invalid redirect URI - ${s.authParams.redirect_uri}`,b=ke(n,{type:_e.FAILED_LOGIN,description:_});throw await i.data.logs.create(o.tenant.id,b),new N(403,{message:_})}const u=await Gf(n,c.strategy).validateAuthorizationCodeAndGetUser(n,c,e,r.code_verifier),{sub:p,...g}=u;n.set("user_id",p);const m=((h=u.email)==null?void 0:h.toLocaleLowerCase())||`${c.name}.${p}@${new URL(n.env.ISSUER).hostname}`;n.set("username",m);let x=await os({userAdapter:i.data.users,tenant_id:o.tenant.id,email:m,provider:c.name});if(!x){try{await tv(n,o,n.env.data,m)}catch(_){const b=_;throw new N(500,{message:`Failed to run preUserSignupHook: ${b.message}`})}x=await i.data.users.create(o.tenant.id,{user_id:`${c.name}|${p}`,email:m,name:m,provider:c.name,connection:c.name,email_verified:!0,last_ip:"",is_social:!0,last_login:new Date().toISOString(),profileData:JSON.stringify(g)}),n.set("user_id",x.user_id)}return Ki(n,{client:o,authParams:s.authParams,loginSession:s,user:x})}async function gd(n,e,t,i,r,s){const o=await n.env.data.codes.get(n.var.tenant_id||"",e,"oauth2_state");if(!o)throw new N(400,{message:"State not found"});const c=await n.env.data.logins.get(n.var.tenant_id,o.login_id);if(!c)throw new N(400,{message:"Login not found"});const{redirect_uri:l}=c.authParams;if(!l)throw new N(400,{message:"Redirect uri not found"});const u=ke(n,{type:_e.FAILED_LOGIN,description:`Failed connection login: ${r} ${t}, ${i}`});Bt(n,n.env.data.logs.create(n.var.tenant_id,u));const p=new URL(l);return P0(p,{error:t,error_description:i,error_reason:s,error_code:r,state:c.authParams.state}),n.redirect(`${mt(n.env)}enter-email?state=${c.login_id}&error=${t}`)}const rv=new a.OpenAPIHono().openapi(a.createRoute({tags:["oauth2"],method:"get",path:"/",request:{query:a.z.object({state:a.z.string(),code:a.z.string().optional(),scope:a.z.string().optional(),hd:a.z.string().optional(),error:a.z.string().optional(),error_description:a.z.string().optional(),error_code:a.z.string().optional(),error_reason:a.z.string().optional()})},responses:{302:{description:"Redirect to the client's redirect uri"}}}),async n=>{const{state:e,code:t,error:i,error_description:r,error_code:s,error_reason:o}=n.req.valid("query");if(i)return gd(n,e,i,r,s,o);if(!t)throw new N(400,{message:"Code is required"});return hd(n,{code:t,state:e})}).openapi(a.createRoute({tags:["oauth2"],method:"post",path:"/",request:{body:{content:{"application/x-www-form-urlencoded":{schema:a.z.object({state:a.z.string(),code:a.z.string().optional(),scope:a.z.string().optional(),hd:a.z.string().optional(),error:a.z.string().optional(),error_description:a.z.string().optional(),error_code:a.z.string().optional(),error_reason:a.z.string().optional()})}}}},responses:{302:{description:"Redirect to the client's redirect uri"}}}),async n=>{const{state:e,code:t,error:i,error_description:r,error_code:s,error_reason:o}=n.req.valid("form");if(i)return gd(n,e,i,r,s,o);if(!t)throw new N(400,{message:"Code is required"});return hd(n,{code:t,state:e})}),sv=new a.OpenAPIHono().openapi(a.createRoute({tags:["oauth2"],method:"get",path:"/",request:{query:a.z.object({client_id:a.z.string(),returnTo:a.z.string().optional()}),header:a.z.object({cookie:a.z.string().optional()})},responses:{302:{description:"Log the user out"}}}),async n=>{const{client_id:e,returnTo:t}=n.req.valid("query"),i=await n.env.data.clients.get(e);if(!i)return n.text("OK");const r=await n.env.data.clients.get("DEFAULT_CLIENT");n.set("client_id",e),n.set("tenant_id",i.tenant.id);const s=t||n.req.header("referer");if(!s)return n.text("OK");if(!Ys(s,[...i.allowed_logout_urls||[],...(r==null?void 0:r.allowed_logout_urls)||[]],{allowPathWildcards:!0}))throw new N(400,{message:"Invalid redirect uri"});const o=n.req.header("cookie");if(o){const l=Zf(i.tenant.id,o);if(l){const u=await n.env.data.sessions.get(i.tenant.id,l);if(u){const p=await n.env.data.users.get(i.tenant.id,u.user_id);p&&(n.set("user_id",p.user_id),n.set("connection",p.connection))}await n.env.data.sessions.remove(i.tenant.id,l)}}const c=ke(n,{type:_e.SUCCESS_LOGOUT,description:"User successfully logged out"});return await n.env.data.logs.create(i.tenant.id,c),new Response("Redirecting",{status:302,headers:{"set-cookie":Cm(i.tenant.id),location:s}})}),_d=a.z.object({sub:a.z.string(),email:a.z.string().optional(),family_name:a.z.string().optional(),given_name:a.z.string().optional(),email_verified:a.z.boolean()}),ov=new a.OpenAPIHono().openapi(a.createRoute({tags:["oauth2"],method:"get",path:"/",request:{},security:[{Bearer:["openid"]}],responses:{200:{content:{"application/json":{schema:_d}},description:"Userinfo"}}}),async n=>{if(!n.var.user)throw new N(404,{message:"User not found"});const e=await n.env.data.users.get(n.var.user.tenant_id,n.var.user.sub);if(!e)throw new N(404,{message:"User not found"});return n.json(_d.parse({...e,sub:e.user_id}))}),av=new a.OpenAPIHono().openapi(a.createRoute({tags:["well known"],method:"get",path:"/jwks.json",request:{},responses:{200:{content:{"application/json":{schema:Cd}},description:"List of tenants"}}}),async n=>{const e=await n.env.data.keys.list(),t=await Promise.all(e.map(async i=>{const s=await new Vc(i.cert).publicKey.export(),o=await crypto.subtle.exportKey("jwk",s);return Wa.parse({...o,kid:i.kid})}));return n.json({keys:t},{headers:{"access-control-allow-origin":"*","access-control-allow-method":"GET","cache-control":`public, max-age=${Qi}, stale-while-revalidate=${Qi*2}, stale-if-error=86400`}})}).openapi(a.createRoute({tags:["well known"],method:"get",path:"/openid-configuration",request:{},responses:{200:{content:{"application/json":{schema:bo}},description:"List of tenants"}}}),async n=>{const e=n.env.ISSUER,t=bo.parse({issuer:e,authorization_endpoint:`${e}authorize`,token_endpoint:`${e}oauth/token`,device_authorization_endpoint:`${e}oauth/device/code`,userinfo_endpoint:`${e}userinfo`,mfa_challenge_endpoint:`${e}mfa/challenge`,jwks_uri:`${e}.well-known/jwks.json`,registration_endpoint:`${e}oidc/register`,revocation_endpoint:`${e}oauth/revoke`,scopes_supported:["openid","profile","offline_access","name","given_name","family_name","nickname","email","email_verified","picture","created_at","identities","phone","address"],response_types_supported:["code","token","id_token","code token","code id_token","token id_token","code token id_token"],code_challenge_methods_supported:["S256","plain"],response_modes_supported:["query","fragment","form_post"],subject_types_supported:["public"],id_token_signing_alg_values_supported:["RS256"],token_endpoint_auth_methods_supported:["client_secret_basic","client_secret_post"],claims_supported:["aud","auth_time","created_at","email","email_verified","exp","family_name","given_name","iat","identities","iss","name","nickname","phone_number","picture","sub"],request_uri_parameter_supported:!1,request_parameter_supported:!1,token_endpoint_auth_signing_alg_values_supported:["RS256","RS384","PS256"]});return n.json(t,{headers:{"access-control-allow-origin":"*","access-control-allow-method":"GET","cache-control":`public, max-age=${Qi}, stale-while-revalidate=${Qi*2}, stale-if-error=86400`}})});function ar(n,e){if(!n||!e||n.length!==e.length)return!1;let t=0;for(let i=0;i<n.length;i++)t|=n.charCodeAt(i)^e.charCodeAt(i);return t===0}const ah=a.z.object({grant_type:a.z.literal("client_credentials"),scope:a.z.string().optional(),client_secret:a.z.string(),client_id:a.z.string(),audience:a.z.string().optional()});async function cv(n,e){const t=await n.env.data.clients.get(e.client_id);if(!t)throw new N(403,{message:"Invalid client credentials"});if(t.client_secret&&!ar(t.client_secret,e.client_secret))throw new N(403,{message:"Invalid client credentials"});const i={client_id:t.id,scope:e.scope,audience:e.audience},r=await Jc(n,{authParams:i,client:t});return n.json(r)}const lv=a.z.object({grant_type:a.z.literal("authorization_code"),client_id:a.z.string(),code:a.z.string(),redirect_uri:a.z.string().optional(),client_secret:a.z.string().optional(),code_verifier:a.z.string().optional()}).refine(n=>"client_secret"in n&&!("code_verifier"in n)||!("client_secret"in n)&&"code_verifier"in n,{message:"Must provide either client_secret (standard flow) or code_verifier/code_verifier_mode (PKCE flow), but not both"});async function uv(n,e){const t=await n.env.data.clients.get(e.client_id);if(!t)throw new N(403,{message:"Client not found"});console.log("client",t);const i=await n.env.data.codes.get(t.tenant.id,e.code,"authorization_code");if(!i||!i.user_id)throw new N(403,{message:"Invalid client credentials"});if(new Date(i.expires_at)<new Date)throw new N(403,{message:"Code expired"});if(i.used_at)throw new N(403,{message:"Code already used"});const r=await n.env.data.logins.get(t.tenant.id,i.login_id);if(!r)throw new N(403,{message:"Invalid login"});if("client_secret"in e){const o=await n.env.data.clients.get("DEFAULT_CLIENT");if(!ar(t.client_secret,e.client_secret)&&!ar(o==null?void 0:o.client_secret,e.client_secret))throw new N(403,{message:"Invalid client credentials"})}else if("code_verifier"in e&&typeof e.code_verifier=="string"&&"code_challenge_method"in r.authParams&&typeof r.authParams.code_challenge_method=="string"){const o=await Em(e.code_verifier,r.authParams.code_challenge_method);if(!ar(o,r.authParams.code_challenge||""))throw new N(403,{message:"Invalid client credentials"})}if(r.authParams.redirect_uri&&r.authParams.redirect_uri!==e.redirect_uri)throw new N(403,{message:"Invalid redirect uri"});const s=await n.env.data.users.get(t.tenant.id,i.user_id);if(!s)throw new N(403,{message:"User not found"});return await n.env.data.codes.used(t.tenant.id,e.code),Ki(n,{user:s,client:t,loginSession:r,authParams:{...r.authParams,response_mode:sn.WEB_MESSAGE}})}const md=a.z.object({client_id:a.z.string().optional(),client_secret:a.z.string().optional()}),dv=a.z.union([ah.extend(md.shape),a.z.object({grant_type:a.z.literal("authorization_code"),client_id:a.z.string(),code:a.z.string(),redirect_uri:a.z.string(),code_verifier:a.z.string().min(43).max(128)}),a.z.object({grant_type:a.z.literal("authorization_code"),code:a.z.string(),redirect_uri:a.z.string().optional(),...md.shape})]);function pv(n){if(!n)return{};const[e,t]=n.split(" ");if((e==null?void 0:e.toLowerCase())==="basic"&&t){const[i,r]=atob(t).split(":");return{client_id:i,client_secret:r}}return{}}const fv=new a.OpenAPIHono().openapi(a.createRoute({tags:["oauth2"],method:"post",path:"/",request:{body:{content:{"application/x-www-form-urlencoded":{schema:dv}}}},responses:{200:{content:{"application/json":{schema:a.z.object({access_token:a.z.string(),id_token:a.z.string().optional(),refresh_token:a.z.string().optional(),token_type:a.z.string(),expires_in:a.z.number()})}},description:"Tokens"}}}),async n=>{const e=n.req.valid("form");console.log("body",e);const t=pv(n.req.header("Authorization")),i={...e,...t};if(!i.client_id)throw new N(400,{message:"client_id is required"});switch(e.grant_type){case yr.AuthorizationCode:return uv(n,lv.parse(i));case yr.ClientCredential:return cv(n,ah.parse(i));default:throw new N(400,{message:"Not implemented"})}});var Zc={exports:{}};const Yc=[{id:0,value:"Too weak",minDiversity:0,minLength:0},{id:1,value:"Weak",minDiversity:2,minLength:6},{id:2,value:"Medium",minDiversity:4,minLength:8},{id:3,value:"Strong",minDiversity:4,minLength:10}],ch=(n,e=Yc,t="!\"#$%&'()*+,-./:;<=>?@[\\\\\\]^_`{|}~")=>{let i=n||"";e[0].minDiversity=0,e[0].minLength=0;const r=[{regex:"[a-z]",message:"lowercase"},{regex:"[A-Z]",message:"uppercase"},{regex:"[0-9]",message:"number"}];t&&r.push({regex:`[${t}]`,message:"symbol"});let s={};s.contains=r.filter(c=>new RegExp(`${c.regex}`).test(i)).map(c=>c.message),s.length=i.length;let o=e.filter(c=>s.contains.length>=c.minDiversity).filter(c=>s.length>=c.minLength).sort((c,l)=>l.id-c.id).map(c=>({id:c.id,value:c.value}));return Object.assign(s,o[0]),s};Zc.exports={passwordStrength:ch,defaultOptions:Yc};var hv=Zc.exports.passwordStrength=ch;Zc.exports.defaultOptions=Yc;function gv(n){return hv(n).id<2?!1:n.length>=8&&/[a-z]/.test(n)&&/[A-Z]/.test(n)&&/[0-9]/.test(n)&&/[^A-Za-z0-9]/.test(n)}async function Qs(n,e){var r;const t=await n.env.data.emailProviders.get(n.var.tenant_id)||(n.env.DEFAULT_TENANT_ID?await n.env.data.emailProviders.get(n.env.DEFAULT_TENANT_ID):null);if(!t)throw new N(500,{message:"Email provider not found"});const i=(r=n.env.emailProviders)==null?void 0:r[t.name];if(!i)throw new N(500,{message:"Email provider not found"});await i({emailProvider:t,...e,from:t.default_from_address||`login@${n.env.ISSUER}`})}async function _v(n,e,t,i){const r=await n.env.data.tenants.get(n.var.tenant_id);if(!r)throw new N(500,{message:"Tenant not found"});const s=`${mt(n.env)}reset-password?state=${i}&code=${t}`,o={vendorName:r.name,lng:r.language||"en"};await Qs(n,{to:e,subject:"Reset your password",html:`Click here to reset your password: ${mt(n.env)}reset-password?state=${i}&code=${t}`,template:"auth-password-reset",data:{vendorName:r.name,logo:r.logo||"",passwordResetUrl:s,supportUrl:r.support_url||"https://support.sesamy.com",buttonColor:r.primary_color||"#7d68f4",passwordResetTitle:ue("password_reset_title",o),resetPasswordEmailClickToReset:ue("reset_password_email_click_to_reset",o),resetPasswordEmailReset:ue("reset_password_email_reset",o),supportInfo:ue("support_info",o),contactUs:ue("contact_us",o),copyright:ue("copyright",o)}})}async function mv(n,e,t){const i=await n.env.data.tenants.get(n.var.tenant_id);if(!i)throw new N(500,{message:"Tenant not found"});const r={vendorName:i.name,code:t,lng:i.language||"en"};await Qs(n,{to:e,subject:ue("code_email_subject",r),html:`Click here to validate your email: ${mt(n.env)}validate-email`,template:"auth-link",data:{code:t,vendorName:i.name,logo:i.logo||"",supportUrl:i.support_url||"",magicLink:`${bt(n.env)}passwordless/verify_redirect?ticket=${t}`,buttonColor:i.primary_color||"",welcomeToYourAccount:ue("welcome_to_your_account",r),linkEmailClickToLogin:ue("link_email_click_to_login",r),linkEmailLogin:ue("link_email_login",r),linkEmailOrEnterCode:ue("link_email_or_enter_code",r),codeValid30Mins:ue("code_valid_30_minutes",r),supportInfo:ue("support_info",r),contactUs:ue("contact_us",r),copyright:ue("copyright",r)}});const s=ke(n,{type:_e.CODE_LINK_SENT,description:e});Bt(n,n.env.data.logs.create(i.id,s))}async function lh(n,e,t){const i=await n.env.data.tenants.get(n.var.tenant_id);if(!i)throw new N(500,{message:"Tenant not found"});const r={vendorName:i.name,code:t,lng:i.language||"en"};await Qs(n,{to:e,subject:ue("code_email_subject",r),html:`Click here to validate your email: ${mt(n.env)}validate-email`,template:"auth-link",data:{code:t,vendorName:i.name,logo:i.logo||"",supportUrl:i.support_url||"",magicLink:`${bt(n.env)}passwordless/verify_redirect?ticket=${t}`,buttonColor:i.primary_color||"",welcomeToYourAccount:ue("welcome_to_your_account",r),linkEmailClickToLogin:ue("link_email_click_to_login",r),linkEmailLogin:ue("link_email_login",r),linkEmailOrEnterCode:ue("link_email_or_enter_code",r),codeValid30Mins:ue("code_valid_30_minutes",r),supportInfo:ue("support_info",r),contactUs:ue("contact_us",r),copyright:ue("copyright",r)}});const s=ke(n,{type:_e.CODE_LINK_SENT,description:e});Bt(n,n.env.data.logs.create(i.id,s))}async function uh(n,e){const t=await n.env.data.tenants.get(n.var.tenant_id);if(!t)throw new N(500,{message:"Tenant not found"});const i={vendorName:t.name,lng:t.language||"en"};await Qs(n,{to:e.email,subject:"Validate your email address",html:`Click here to validate your email: ${mt(n.env)}validate-email`,template:"auth-verify-email",data:{vendorName:t.name,logo:t.logo||"",emailValidationUrl:`${mt(n.env)}validate-email`,supportUrl:t.support_url||"https://support.sesamy.com",buttonColor:t.primary_color||"#7d68f4",welcomeToYourAccount:ue("welcome_to_your_account",i),verifyEmailVerify:ue("verify_email_verify",i),supportInfo:ue("support_info",i),contactUs:ue("contact_us",i),copyright:ue("copyright",i)}})}const yv=new a.OpenAPIHono().openapi(a.createRoute({tags:["dbconnections"],method:"post",path:"/signup",request:{body:{content:{"application/json":{schema:a.z.object({client_id:a.z.string(),connection:a.z.literal("Username-Password-Authentication"),email:a.z.string().transform(n=>n.toLowerCase()),password:a.z.string()})}}}},responses:{200:{content:{"application/json":{schema:a.z.object({_id:a.z.string(),email:a.z.string(),email_verified:a.z.boolean(),app_metadata:a.z.object({}),user_metadata:a.z.object({})})}},description:"Created user"}}}),async n=>{const{email:e,password:t,client_id:i}=n.req.valid("json"),r=await n.env.data.clients.get(i);if(!r)throw new N(400,{message:"Client not found"});if(n.set("client_id",r.id),n.set("tenant_id",r.tenant.id),!gv(t))throw new N(400,{message:"Password does not meet the requirements"});if(await os({userAdapter:n.env.data.users,tenant_id:r.tenant.id,email:e,provider:"auth2"}))throw new N(400,{message:"Invalid sign up"});const o=await n.env.data.users.create(r.tenant.id,{user_id:`auth2|${Za()}`,email:e,email_verified:!1,provider:"auth2",connection:"Username-Password-Authentication",is_social:!1});n.set("user_id",o.user_id),n.set("username",o.email),n.set("connection",o.connection);const c=await Ja.hash(t,10);await n.env.data.passwords.create(r.tenant.id,{user_id:o.user_id,password:c,algorithm:"bcrypt"}),await uh(n,o);const l=ke(n,{type:_e.SUCCESS_SIGNUP,description:"Successful signup"});return await n.env.data.logs.create(r.tenant.id,l),n.json({_id:o.user_id,email:o.email,email_verified:!1,app_metadata:{},user_metadata:{}})}).openapi(a.createRoute({tags:["dbconnections"],method:"post",path:"/change_password",request:{body:{content:{"application/json":{schema:a.z.object({client_id:a.z.string(),connection:a.z.literal("Username-Password-Authentication"),email:a.z.string().transform(n=>n.toLowerCase())})}}}},responses:{200:{description:"Redirect to the client's redirect uri"}}}),async n=>{const{email:e,client_id:t}=n.req.valid("json"),i=await n.env.data.clients.get(t);if(!i)throw new N(400,{message:"Client not found"});if(n.set("client_id",i.id),n.set("tenant_id",i.tenant.id),!await Ya({userAdapter:n.env.data.users,tenant_id:i.tenant.id,email:e,provider:"auth2"}))return n.html("If an account with that email exists, we've sent instructions to reset your password.");const s={client_id:t,username:e},o=await n.env.data.logins.create(i.tenant.id,{expires_at:new Date(Date.now()+es*1e3).toISOString(),authParams:s,...Hn(n.req)});return await _v(n,e,o.login_id,o.authParams.state),n.html("If an account with that email exists, we've sent instructions to reset your password.")});function dh(){const n="1234567890";let e="";for(let t=0;t<6;t+=1)e+=n[Math.floor(Math.random()*10)];return e.toString()}const vv=new a.OpenAPIHono().openapi(a.createRoute({tags:["passwordless"],method:"post",path:"/start",request:{body:{content:{"application/json":{schema:a.z.object({client_id:a.z.string(),connection:a.z.string(),email:a.z.string().transform(n=>n.toLowerCase()),send:a.z.enum(["link","code"]),authParams:Ka.omit({client_id:!0})})}}}},responses:{200:{description:"Status"}}}),async n=>{const e=n.req.valid("json"),{env:t}=n,{client_id:i,email:r,send:s,authParams:o}=e,c=await n.env.data.clients.get(i);if(!c)throw new N(400,{message:"Client not found"});n.set("client_id",c.id),n.set("tenant_id",c.tenant.id);const l=await t.data.logins.create(c.tenant.id,{authParams:{...o,client_id:i,username:r},expires_at:new Date(Date.now()+Xu).toISOString(),...Hn(n.req)}),u=await t.data.codes.create(c.tenant.id,{code_id:dh(),code_type:"otp",login_id:l.login_id,expires_at:new Date(Date.now()+Xu).toISOString()});return s==="link"?await lh(n,r,u.code_id):await mv(n,r,u.code_id),n.html("OK")}).openapi(a.createRoute({tags:["passwordless"],method:"get",path:"/verify_redirect",request:{query:a.z.object({scope:a.z.string(),response_type:a.z.nativeEnum(Ut),redirect_uri:a.z.string(),state:a.z.string(),nonce:a.z.string().optional(),verification_code:a.z.string(),connection:a.z.string(),client_id:a.z.string(),email:a.z.string().transform(n=>n.toLowerCase()),audience:a.z.string().optional()})},responses:{302:{description:"Status"}}}),async n=>{const{env:e}=n,{client_id:t,email:i,verification_code:r,redirect_uri:s,state:o,scope:c,audience:l,response_type:u,nonce:p}=n.req.valid("query"),g=await Fc(e,t);n.set("client_id",g.id),n.set("tenant_id",g.tenant.id),n.set("connection","email");const m=await e.data.codes.get(g.tenant.id,r,"otp");if(!m)throw new N(400,{message:"Code not found or expired"});if(m.expires_at<new Date().toISOString())throw new N(400,{message:"Code expired"});const x=await e.data.logins.get(g.tenant.id,m.login_id);if(!x||x.authParams.username!==i)throw new N(400,{message:"Code not found or expired"});const h=Hn(n.req);if(x.ip!==h.ip)return n.redirect(`${mt(n.env)}invalid-session?state=${x.login_id}`);if(!Ys(s,g.callbacks,{allowPathWildcards:!0}))throw new N(400,{message:`Invalid redirect URI - ${s}`});const _={client_id:t,redirect_uri:s,state:o,nonce:p,scope:c,audience:l,response_type:u},b=await os({userAdapter:e.data.users,tenant_id:g.tenant.id,email:i,provider:"email"});if(!b)throw new N(400,{message:"User not found"});return Ki(n,{user:b,client:g,loginSession:x,authParams:_})});class si extends N{constructor(t,i){super(t,i);te(this,"_code");this._code=i==null?void 0:i.code}get code(){return this._code}}async function wv(n,e,t){const{env:i}=n,r=t.username;if(n.set("username",r),!r)throw new N(400,{message:"Username is required"});const s=await Ya({userAdapter:n.env.data.users,tenant_id:e.tenant.id,email:r,provider:"auth2"});if(!s){const m=ke(n,{type:_e.FAILED_LOGIN_INCORRECT_PASSWORD,description:"Invalid user"});throw Bt(n,n.env.data.logs.create(e.tenant.id,m)),new si(403,{message:"User not found",code:"USER_NOT_FOUND"})}const o=s.linked_to?await i.data.users.get(e.tenant.id,s.linked_to):s;if(!o)throw new si(403,{message:"User not found",code:"USER_NOT_FOUND"});n.set("connection",s.connection),n.set("user_id",o.user_id);const{password:c}=await i.data.passwords.get(e.tenant.id,s.user_id);if(!await Ja.compare(t.password,c)){const m=ke(n,{type:_e.FAILED_LOGIN_INCORRECT_PASSWORD,description:"Invalid password"});throw Bt(n,n.env.data.logs.create(e.tenant.id,m)),new si(403,{message:"Invalid password",code:"INVALID_PASSWORD"})}if((await i.data.logs.list(e.tenant.id,{page:0,per_page:10,include_totals:!1,q:`user_id:${o.user_id}`})).logs.filter(m=>m.type===_e.FAILED_LOGIN_INCORRECT_PASSWORD&&new Date(m.date)>new Date(Date.now()-1e3*60*5)).length>=3){const m=ke(n,{type:_e.FAILED_LOGIN,description:"Too many failed login attempts"});throw Bt(n,n.env.data.logs.create(e.tenant.id,m)),new si(403,{message:"Too many failed login attempts",code:"TOO_MANY_FAILED_LOGINS"})}if(!s.email_verified&&e.email_validation==="enforced"){await uh(n,s);const m=ke(n,{type:_e.FAILED_LOGIN,description:"Email not verified"});throw await n.env.data.logs.create(e.tenant.id,m),new si(403,{message:"Email not verified",code:"EMAIL_NOT_VERIFIED"})}const g=ke(n,{type:_e.SUCCESS_LOGIN,description:"Successful login",strategy_type:"Username-Password-Authentication",strategy:"Username-Password-Authentication"});return Bt(n,n.env.data.logs.create(e.tenant.id,g)),o}function bv(){const n=new Uint8Array(32);return crypto.getRandomValues(n),rn.encode(n,{includePadding:!1})}function yd(){return new N(403,{res:new Response(JSON.stringify({error:"access_denied",error_description:"Wrong email or verification code."}),{status:403,headers:{"Content-Type":"application/json"}}),message:"Wrong email or verification code."})}const vd=30*60*1e3,kv=new a.OpenAPIHono().openapi(a.createRoute({tags:["oauth"],method:"post",path:"/",request:{body:{content:{"application/json":{schema:a.z.union([a.z.object({credential_type:a.z.literal("http://auth0.com/oauth/grant-type/passwordless/otp"),otp:a.z.string(),client_id:a.z.string(),username:a.z.string().transform(n=>n.toLowerCase()),realm:a.z.enum(["email"]),scope:a.z.string().optional()}),a.z.object({credential_type:a.z.literal("http://auth0.com/oauth/grant-type/password-realm"),client_id:a.z.string(),username:a.z.string().transform(n=>n.toLowerCase()),password:a.z.string(),realm:a.z.enum(["Username-Password-Authentication"]),scope:a.z.string().optional()})])}}}},responses:{200:{description:"List of tenants"}}}),async n=>{const e=n.req.valid("json"),{client_id:t,username:i}=e;n.set("username",i);const r=await n.env.data.clients.get(t);if(!r)throw new N(400,{message:"Client not found"});n.set("client_id",t),n.set("tenant_id",r.tenant.id);const s=i.toLocaleLowerCase();let o;if("otp"in e){const p=await n.env.data.codes.get(r.tenant.id,e.otp,"otp");if(!p)throw yd();const g=await n.env.data.logins.get(r.tenant.id,p.login_id);if(!g||g.authParams.username!==s)throw yd();o=g}else if("password"in e)await wv(n,r,{username:i,password:e.password,client_id:t}),o=await n.env.data.logins.create(r.tenant.id,{expires_at:new Date(Date.now()+vd).toISOString(),authParams:{client_id:r.id,username:s},...Hn(n.req)});else throw new N(400,{message:"Code or password required"});const c=bv(),l=Ke(12),u=await n.env.data.codes.create(r.tenant.id,{code_id:Ke(),code_type:"ticket",login_id:o.login_id,expires_at:new Date(Date.now()+vd).toISOString(),code_verifier:[l,c].join("|")});return n.json({login_ticket:u.code_id,co_verifier:c,co_id:l})});function xv(n,e){var i,r,s;if(!n||e.length===0)return!1;const t=((i=yo(n))==null?void 0:i.host)??null;if(!t)return!1;for(const o of e){let c;if(o.startsWith("http://")||o.startsWith("https://")?c=((r=yo(o))==null?void 0:r.host)??null:c=((s=yo("https://"+o))==null?void 0:s.host)??null,t===c)return!0}return!1}function yo(n){try{return new URL(n)}catch{return null}}async function Sv({ctx:n,session:e,client:t,authParams:i,connection:r,login_hint:s}){const o=await n.env.data.logins.create(t.tenant.id,{expires_at:new Date(Date.now()+es*1e3).toISOString(),authParams:i,...Hn(n.req)});if(e&&s){const c=await n.env.data.users.get(t.tenant.id,e.user_id);if((c==null?void 0:c.email)===s)return Ki(n,{client:t,loginSession:o,authParams:i,user:c,sid:e.session_id})}if(r==="email"&&s){const c=dh();return await n.env.data.codes.create(t.tenant.id,{code_id:c,code_type:"otp",login_id:o.login_id,expires_at:new Date(Date.now()+es*1e3).toISOString()}),await lh(n,s,c),n.redirect(`/u/enter-code?state=${o.login_id}`)}return e?n.redirect(`/u/check-account?state=${o.login_id}`):n.redirect(`/u/enter-email?state=${o.login_id}`)}function Av(n){if(n==="Username-Password-Authentication")return"auth2";if(n==="email")return"email";throw new N(403,{message:"Invalid realm"})}async function Iv(n,e,t,i,r){var m;const{env:s}=n;n.set("connection",r);const o=await s.data.codes.get(e,t,"ticket");if(!o||o.used_at)throw new N(403,{message:"Ticket not found"});const c=await s.data.logins.get(e,o.login_id);if(!c||!c.authParams.username)throw new N(403,{message:"Session not found"});const l=await s.data.clients.get(c.authParams.client_id);if(!l)throw new N(403,{message:"Client not found"});n.set("client_id",c.authParams.client_id),await s.data.codes.used(e,t);const u=Av(r);let p=await os({userAdapter:s.data.users,tenant_id:e,email:c.authParams.username,provider:u});p||(p=await s.data.users.create(e,{user_id:`email|${Za()}`,email:c.authParams.username,name:c.authParams.username,provider:"email",connection:"email",email_verified:!0,is_social:!1,last_ip:"",last_login:new Date().toISOString()})),n.set("username",p.email),n.set("user_id",p.user_id);const g=await sh(n,p,l);return Ki(n,{authParams:{scope:(m=c.authParams)==null?void 0:m.scope,...i},loginSession:c,sid:g.session_id,user:p,client:l})}async function wd(n,e){return`<!DOCTYPE html>
|
|
149
|
+
</html>`;return new Response(r,{headers:{"Content-Type":"text/html"}})}async function Jy(n,e,t,i,r){var m,x,h;if(!t.redirect_uri)throw new N(400,{message:"Missing redirect_uri in authParams"});const[s]=await n.env.data.keys.list();if(!s)throw new N(500,{message:"No signing key found"});if(!((m=e.addons)!=null&&m.samlp))throw new N(400,{message:`SAML Addon is not enabled for client ${e.id}`});const{recipient:o,audience:c}=e.addons.samlp,l=t.state||"";if(!o||!l||!i||!t.state)throw new N(400,{message:"Missing recipient or inResponseTo"});const u=JSON.parse(t.state),p=new URL(t.redirect_uri),g=await Zy(n,{issuer:n.env.ISSUER,audience:c||t.client_id,destination:p.toString(),inResponseTo:u.requestId,userId:((h=(x=i.app_metadata)==null?void 0:x.vimeo)==null?void 0:h.user_id)||i.user_id,email:i.email,sessionIndex:r,signature:{privateKeyPem:s.pkcs7,cert:s.cert,kid:s.kid}});return Gy(p.toString(),g,u.relayState)}async function Zy(n,e){const t=e.notBefore||new Date().toISOString(),i=e.notAfter||new Date(new Date(t).getTime()+10*60*1e3).toISOString(),r=e.issueInstant||t,s=e.sessionNotOnOrAfter||i,o=e.responseId||`_${Ke()}`,c=e.assertionId||`_${Ke()}`,l=[{"samlp:Response":[{"saml:Issuer":[{"#text":e.issuer}]},{"samlp:Status":[{"samlp:StatusCode":[],":@":{"@_Value":"urn:oasis:names:tc:SAML:2.0:status:Success"}}]},{"saml:Assertion":[{"saml:Issuer":[{"#text":e.issuer}]},{"saml:Subject":[{"saml:NameID":[{"#text":e.email}],":@":{"@_Format":"urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress"}},{"saml:SubjectConfirmation":[{"saml:SubjectConfirmationData":[],":@":{"@_InResponseTo":e.inResponseTo,"@_NotOnOrAfter":i,"@_Recipient":e.destination}}],":@":{"@_Method":"urn:oasis:names:tc:SAML:2.0:cm:bearer"}}]},{"saml:Conditions":[{"saml:AudienceRestriction":[{"saml:Audience":[{"#text":e.audience}]}]}],":@":{"@_NotBefore":t,"@_NotOnOrAfter":i}},{"saml:AuthnStatement":[{"saml:AuthnContext":[{"saml:AuthnContextClassRef":[{"#text":"urn:oasis:names:tc:SAML:2.0:ac:classes:unspecified"}]}]}],":@":{"@_AuthnInstant":r,"@_SessionIndex":e.sessionIndex,"@_SessionNotOnOrAfter":s}},{"saml:AttributeStatement":[{"saml:Attribute":[{"saml:AttributeValue":[{"#text":e.userId}],":@":{"@_xmlns:xs":"http://www.w3.org/2001/XMLSchema","@_xmlns:xsi":"http://www.w3.org/2001/XMLSchema-instance","@_xsi:type":"xs:string"}}],":@":{"@_FriendlyName":"persistent","@_Name":"id","@_NameFormat":"urn:oasis:names:tc:SAML:2.0:attrname-format:unspecified"}},{"saml:Attribute":[{"saml:AttributeValue":[{"#text":e.email}],":@":{"@_xmlns:xs":"http://www.w3.org/2001/XMLSchema","@_xmlns:xsi":"http://www.w3.org/2001/XMLSchema-instance","@_xsi:type":"xs:string"}}],":@":{"@_Name":"email","@_NameFormat":"urn:oasis:names:tc:SAML:2.0:attrname-format:basic"}},{"saml:Attribute":[{"saml:AttributeValue":[{"#text":"manage-account"}],":@":{"@_xmlns:xs":"http://www.w3.org/2001/XMLSchema","@_xmlns:xsi":"http://www.w3.org/2001/XMLSchema-instance","@_xsi:type":"xs:string"}}],":@":{"@_Name":"Role","@_NameFormat":"urn:oasis:names:tc:SAML:2.0:attrname-format:basic"}},{"saml:Attribute":[{"saml:AttributeValue":[{"#text":"default-roles-master"}],":@":{"@_xmlns:xs":"http://www.w3.org/2001/XMLSchema","@_xmlns:xsi":"http://www.w3.org/2001/XMLSchema-instance","@_xsi:type":"xs:string"}}],":@":{"@_Name":"Role","@_NameFormat":"urn:oasis:names:tc:SAML:2.0:attrname-format:basic"}},{"saml:Attribute":[{"saml:AttributeValue":[{"#text":"offline_access"}],":@":{"@_xmlns:xs":"http://www.w3.org/2001/XMLSchema","@_xmlns:xsi":"http://www.w3.org/2001/XMLSchema-instance","@_xsi:type":"xs:string"}}],":@":{"@_Name":"Role","@_NameFormat":"urn:oasis:names:tc:SAML:2.0:attrname-format:basic"}},{"saml:Attribute":[{"saml:AttributeValue":[{"#text":"view-profile"}],":@":{"@_xmlns:xs":"http://www.w3.org/2001/XMLSchema","@_xmlns:xsi":"http://www.w3.org/2001/XMLSchema-instance","@_xsi:type":"xs:string"}}],":@":{"@_Name":"Role","@_NameFormat":"urn:oasis:names:tc:SAML:2.0:attrname-format:basic"}},{"saml:Attribute":[{"saml:AttributeValue":[{"#text":"uma_authorization"}],":@":{"@_xmlns:xs":"http://www.w3.org/2001/XMLSchema","@_xmlns:xsi":"http://www.w3.org/2001/XMLSchema-instance","@_xsi:type":"xs:string"}}],":@":{"@_Name":"Role","@_NameFormat":"urn:oasis:names:tc:SAML:2.0:attrname-format:basic"}},{"saml:Attribute":[{"saml:AttributeValue":[{"#text":"manage-account-links"}],":@":{"@_xmlns:xs":"http://www.w3.org/2001/XMLSchema","@_xmlns:xsi":"http://www.w3.org/2001/XMLSchema-instance","@_xsi:type":"xs:string"}}],":@":{"@_Name":"Role","@_NameFormat":"urn:oasis:names:tc:SAML:2.0:attrname-format:basic"}}]}],":@":{"@_xmlns":"urn:oasis:names:tc:SAML:2.0:assertion","@_ID":c,"@_IssueInstant":r,"@_Version":"2.0"}}],":@":{"@_xmlns:samlp":"urn:oasis:names:tc:SAML:2.0:protocol","@_xmlns:saml":"urn:oasis:names:tc:SAML:2.0:assertion","@_Destination":e.destination,"@_ID":o,"@_InResponseTo":e.inResponseTo,"@_IssueInstant":r,"@_Version":"2.0"}}];let p=new Wy.XMLBuilder({ignoreAttributes:!1,suppressEmptyNode:!0,preserveOrder:!0}).build(l);if(e.signature){const m=await fetch(n.env.SAML_SIGN_URL,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({xmlContent:p,privateKey:e.signature.privateKeyPem,publicCert:e.signature.cert})});if(!m.ok)throw new Error(`Failed to sign SAML response: ${m.status}`);p=await m.text()}return e.encode===!1?p:btoa(p)}const fd=["sub","iss","aud","exp","nbf","iat","jti"];async function Jc(n,e){var _,b;const{authParams:t,user:i,client:r,sid:s}=e,c=(await n.env.data.keys.list()).filter(S=>!S.revoked_at||new Date(S.revoked_at)>new Date),l=c[c.length-1];if(!(l!=null&&l.pkcs7))throw new N(500,{message:"No signing key available"});const u=Im(l.pkcs7),p={aud:t.audience||"default",scope:t.scope||"",sub:(i==null?void 0:i.user_id)||t.client_id,iss:n.env.ISSUER,tenant_id:n.var.tenant_id,sid:s},g=i&&((_=t.scope)!=null&&_.split(" ").includes("openid"))?{aud:t.client_id,sub:i.user_id,iss:n.env.ISSUER,sid:s,nonce:t.nonce,given_name:i.given_name,family_name:i.family_name,nickname:i.nickname,picture:i.picture,locale:i.locale,name:i.name,email:i.email,email_verified:i.email_verified}:void 0;(b=n.env.hooks)!=null&&b.onExecuteCredentialsExchange&&await n.env.hooks.onExecuteCredentialsExchange({client:r,user:i,scope:t.scope||"",grant_type:""},{accessToken:{setCustomClaim:(S,O)=>{if(fd.includes(S))throw new Error(`Cannot overwrite reserved claim '${S}'`);p[S]=O}},idToken:{setCustomClaim:(S,O)=>{if(fd.includes(S))throw new Error(`Cannot overwrite reserved claim '${S}'`);g&&(g[S]=O)}},access:{deny:S=>{throw new N(400,{message:`Access denied: ${S}`})}}});const m={includeIssuedTimestamp:!0,expiresIn:new Hc(1,"d"),headers:{kid:l.kid}},x=await ad("RS256",u,p,m),h=g?await ad("RS256",u,g,m):void 0;return{access_token:x,id_token:h,token_type:"Bearer",expires_in:86400}}async function sh(n,e,t){return await n.env.data.sessions.create(t.tenant.id,{session_id:Ke(),user_id:e.user_id,client_id:t.id,expires_at:new Date(Date.now()+Uf*1e3).toISOString(),used_at:new Date().toISOString()})}async function Ki(n,e){const{authParams:t,user:i,client:r}=e,s=be(n,{type:_e.SUCCESS_LOGIN,description:`Successful login for ${i.user_id}`,userId:i.user_id});gt(n,n.env.data.logs.create(r.tenant.id,s)),gt(n,n.env.data.users.update(r.tenant.id,i.user_id,{last_login:new Date().toISOString(),last_ip:n.req.header("x-real-ip")||""}));const o=e.sid||(await sh(n,i,r)).session_id;if(e.authParams.response_mode===sn.SAML_POST)return Jy(n,e.client,e.authParams,i,o);const c=await Jc(n,{authParams:t,user:i,client:r,sid:o}),l=new Headers({"set-cookie":Yf(r.tenant.id,o)});if(t.response_mode===sn.WEB_MESSAGE)return n.json(c,{headers:l});if((t.response_type||Ut.CODE)===Ut.CODE){if(!e.loginSession)throw new N(500,{message:"Login session not found"});const p=await n.env.data.codes.create(r.tenant.id,{code_id:Ke(),user_id:i.user_id,code_type:"authorization_code",login_id:e.loginSession.login_id,expires_at:new Date(Date.now()+U0*1e3).toISOString()});l.set("location",`${t.redirect_uri}?state=${e.authParams.state}&code=${p.code_id}`)}return new Response("Redirecting",{status:302,headers:l})}function Yy(n){return async(e,t)=>{if(!t.email||!t.email_verified)return n.users.create(e,t);const i=await Hd({userAdapter:n.users,tenant_id:e,email:t.email});return i?(await n.users.create(e,{...t,linked_to:i.user_id}),i):n.users.create(e,t)}}async function oh(n,e,t){for await(const i of e)if(!(await fetch(i.url,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(t)})).ok){const s=be(n,{type:_e.FAILED_LOGIN_INCORRECT_PASSWORD,description:"Invalid password"});await t.logs.create(n.var.tenant_id,s)}}function Xy(n,e){return async(t,i)=>{const{hooks:r}=await e.hooks.list(t);return await oh(n,r,{tenant_id:t,user:i,trigger_id:"post-user-registration"}),i}}function Qy(n,e){return async(t,i)=>{const{hooks:r}=await e.hooks.list(t,{q:"trigger_id:pre-user-signup",page:0,per_page:100,include_totals:!1});await oh(n,r,{tenant_id:t,email:i,trigger_id:"pre-user-signup"})}}function ev(n,e){return async(t,i)=>{let r=await Yy(e)(t,i);return await Xy(n,e)(t,r),r}}async function tv(n,e,t,i){if(e.disable_sign_ups&&!await Hd({userAdapter:n.env.data.users,tenant_id:e.tenant.id,email:i})){const s=be(n,{type:_e.FAILED_SIGNUP,description:"Public signup is disabled"});throw await n.env.data.logs.create(e.tenant.id,s),new N(400,{message:"Signups are disabled for this client"})}await Qy(n,t)(n.var.tenant_id||"",i)}function nv(n,e){return{...e,users:{...e.users,create:ev(n,e)}}}async function iv(n,e,t,i){if(!i.state)throw new N(400,{message:"State not found"});const r=e.connections.find(l=>l.name===t);if(!r){n.set("client_id",e.id);const l=be(n,{type:_e.FAILED_LOGIN,description:"Connection not found"});throw await n.env.data.logs.create(e.tenant.id,l),new N(403,{message:"Connection Not Found"})}let s=await n.env.data.logins.get(e.tenant.id,i.state);s||(s=await n.env.data.logins.create(e.tenant.id,{expires_at:new Date(Date.now()+es*1e3).toISOString(),authParams:i,...Hn(n.req)}));const c=await Gf(n,r.strategy).getRedirect(n,r);return await n.env.data.codes.create(e.tenant.id,{login_id:s.login_id,code_id:c.code,code_type:"oauth2_state",connection_id:r.id,code_verifier:c.codeVerifier,expires_at:new Date(Date.now()+V0*1e3).toISOString()}),n.redirect(c.redirectUrl)}async function hd(n,{code:e,state:t}){var h;const{env:i}=n,r=await i.data.codes.get(n.var.tenant_id||"",t,"oauth2_state");if(!r||!r.connection_id)throw new N(403,{message:"State not found"});const s=await i.data.logins.get(n.var.tenant_id||"",r.login_id);if(!s)throw new N(403,{message:"Session not found"});const o=await Fc(i,s.authParams.client_id);n.set("client_id",o.id),n.set("tenant_id",o.tenant.id);const c=o.connections.find(_=>_.id===r.connection_id);if(!c){const _=be(n,{type:_e.FAILED_LOGIN,description:"Connection not found"});throw await i.data.logs.create(o.tenant.id,_),new N(403,{message:"Connection not found"})}if(n.set("connection",c.name),!s.authParams.redirect_uri){const _=be(n,{type:_e.FAILED_LOGIN,description:"Redirect URI not defined"});throw await i.data.logs.create(o.tenant.id,_),new N(403,{message:"Redirect URI not defined"})}if(!Ys(s.authParams.redirect_uri,o.callbacks||[],{allowPathWildcards:!0})){const _=`Invalid redirect URI - ${s.authParams.redirect_uri}`,b=be(n,{type:_e.FAILED_LOGIN,description:_});throw await i.data.logs.create(o.tenant.id,b),new N(403,{message:_})}const u=await Gf(n,c.strategy).validateAuthorizationCodeAndGetUser(n,c,e,r.code_verifier),{sub:p,...g}=u;n.set("user_id",p);const m=((h=u.email)==null?void 0:h.toLocaleLowerCase())||`${c.name}.${p}@${new URL(n.env.ISSUER).hostname}`;n.set("username",m);let x=await os({userAdapter:i.data.users,tenant_id:o.tenant.id,email:m,provider:c.name});if(!x){try{await tv(n,o,n.env.data,m)}catch(_){const b=_;throw new N(500,{message:`Failed to run preUserSignupHook: ${b.message}`})}x=await i.data.users.create(o.tenant.id,{user_id:`${c.name}|${p}`,email:m,name:m,provider:c.name,connection:c.name,email_verified:!0,last_ip:"",is_social:!0,last_login:new Date().toISOString(),profileData:JSON.stringify(g)}),n.set("user_id",x.user_id)}return Ki(n,{client:o,authParams:s.authParams,loginSession:s,user:x})}async function gd(n,e,t,i,r,s){const o=await n.env.data.codes.get(n.var.tenant_id||"",e,"oauth2_state");if(!o)throw new N(400,{message:"State not found"});const c=await n.env.data.logins.get(n.var.tenant_id,o.login_id);if(!c)throw new N(400,{message:"Login not found"});const{redirect_uri:l}=c.authParams;if(!l)throw new N(400,{message:"Redirect uri not found"});const u=be(n,{type:_e.FAILED_LOGIN,description:`Failed connection login: ${r} ${t}, ${i}`});gt(n,n.env.data.logs.create(n.var.tenant_id,u));const p=new URL(l);return P0(p,{error:t,error_description:i,error_reason:s,error_code:r,state:c.authParams.state}),n.redirect(`${yt(n.env)}enter-email?state=${c.login_id}&error=${t}`)}const rv=new a.OpenAPIHono().openapi(a.createRoute({tags:["oauth2"],method:"get",path:"/",request:{query:a.z.object({state:a.z.string(),code:a.z.string().optional(),scope:a.z.string().optional(),hd:a.z.string().optional(),error:a.z.string().optional(),error_description:a.z.string().optional(),error_code:a.z.string().optional(),error_reason:a.z.string().optional()})},responses:{302:{description:"Redirect to the client's redirect uri"}}}),async n=>{const{state:e,code:t,error:i,error_description:r,error_code:s,error_reason:o}=n.req.valid("query");if(i)return gd(n,e,i,r,s,o);if(!t)throw new N(400,{message:"Code is required"});return hd(n,{code:t,state:e})}).openapi(a.createRoute({tags:["oauth2"],method:"post",path:"/",request:{body:{content:{"application/x-www-form-urlencoded":{schema:a.z.object({state:a.z.string(),code:a.z.string().optional(),scope:a.z.string().optional(),hd:a.z.string().optional(),error:a.z.string().optional(),error_description:a.z.string().optional(),error_code:a.z.string().optional(),error_reason:a.z.string().optional()})}}}},responses:{302:{description:"Redirect to the client's redirect uri"}}}),async n=>{const{state:e,code:t,error:i,error_description:r,error_code:s,error_reason:o}=n.req.valid("form");if(i)return gd(n,e,i,r,s,o);if(!t)throw new N(400,{message:"Code is required"});return hd(n,{code:t,state:e})}),sv=new a.OpenAPIHono().openapi(a.createRoute({tags:["oauth2"],method:"get",path:"/",request:{query:a.z.object({client_id:a.z.string(),returnTo:a.z.string().optional()}),header:a.z.object({cookie:a.z.string().optional()})},responses:{302:{description:"Log the user out"}}}),async n=>{const{client_id:e,returnTo:t}=n.req.valid("query"),i=await n.env.data.clients.get(e);if(!i)return n.text("OK");const r=await n.env.data.clients.get("DEFAULT_CLIENT");n.set("client_id",e),n.set("tenant_id",i.tenant.id);const s=t||n.req.header("referer");if(!s)return n.text("OK");if(!Ys(s,[...i.allowed_logout_urls||[],...(r==null?void 0:r.allowed_logout_urls)||[]],{allowPathWildcards:!0}))throw new N(400,{message:"Invalid redirect uri"});const o=n.req.header("cookie");if(o){const l=Zf(i.tenant.id,o);if(l){const u=await n.env.data.sessions.get(i.tenant.id,l);if(u){const p=await n.env.data.users.get(i.tenant.id,u.user_id);p&&(n.set("user_id",p.user_id),n.set("connection",p.connection))}await n.env.data.sessions.remove(i.tenant.id,l)}}const c=be(n,{type:_e.SUCCESS_LOGOUT,description:"User successfully logged out"});return await n.env.data.logs.create(i.tenant.id,c),new Response("Redirecting",{status:302,headers:{"set-cookie":Cm(i.tenant.id),location:s}})}),_d=a.z.object({sub:a.z.string(),email:a.z.string().optional(),family_name:a.z.string().optional(),given_name:a.z.string().optional(),email_verified:a.z.boolean()}),ov=new a.OpenAPIHono().openapi(a.createRoute({tags:["oauth2"],method:"get",path:"/",request:{},security:[{Bearer:["openid"]}],responses:{200:{content:{"application/json":{schema:_d}},description:"Userinfo"}}}),async n=>{if(!n.var.user)throw new N(404,{message:"User not found"});const e=await n.env.data.users.get(n.var.user.tenant_id,n.var.user.sub);if(!e)throw new N(404,{message:"User not found"});return n.json(_d.parse({...e,sub:e.user_id}))}),av=new a.OpenAPIHono().openapi(a.createRoute({tags:["well known"],method:"get",path:"/jwks.json",request:{},responses:{200:{content:{"application/json":{schema:Cd}},description:"List of tenants"}}}),async n=>{const e=await n.env.data.keys.list(),t=await Promise.all(e.map(async i=>{const s=await new Vc(i.cert).publicKey.export(),o=await crypto.subtle.exportKey("jwk",s);return Wa.parse({...o,kid:i.kid})}));return n.json({keys:t},{headers:{"access-control-allow-origin":"*","access-control-allow-method":"GET","cache-control":`public, max-age=${Qi}, stale-while-revalidate=${Qi*2}, stale-if-error=86400`}})}).openapi(a.createRoute({tags:["well known"],method:"get",path:"/openid-configuration",request:{},responses:{200:{content:{"application/json":{schema:bo}},description:"List of tenants"}}}),async n=>{const e=n.env.ISSUER,t=bo.parse({issuer:e,authorization_endpoint:`${e}authorize`,token_endpoint:`${e}oauth/token`,device_authorization_endpoint:`${e}oauth/device/code`,userinfo_endpoint:`${e}userinfo`,mfa_challenge_endpoint:`${e}mfa/challenge`,jwks_uri:`${e}.well-known/jwks.json`,registration_endpoint:`${e}oidc/register`,revocation_endpoint:`${e}oauth/revoke`,scopes_supported:["openid","profile","offline_access","name","given_name","family_name","nickname","email","email_verified","picture","created_at","identities","phone","address"],response_types_supported:["code","token","id_token","code token","code id_token","token id_token","code token id_token"],code_challenge_methods_supported:["S256","plain"],response_modes_supported:["query","fragment","form_post"],subject_types_supported:["public"],id_token_signing_alg_values_supported:["RS256"],token_endpoint_auth_methods_supported:["client_secret_basic","client_secret_post"],claims_supported:["aud","auth_time","created_at","email","email_verified","exp","family_name","given_name","iat","identities","iss","name","nickname","phone_number","picture","sub"],request_uri_parameter_supported:!1,request_parameter_supported:!1,token_endpoint_auth_signing_alg_values_supported:["RS256","RS384","PS256"]});return n.json(t,{headers:{"access-control-allow-origin":"*","access-control-allow-method":"GET","cache-control":`public, max-age=${Qi}, stale-while-revalidate=${Qi*2}, stale-if-error=86400`}})});function ar(n,e){if(!n||!e||n.length!==e.length)return!1;let t=0;for(let i=0;i<n.length;i++)t|=n.charCodeAt(i)^e.charCodeAt(i);return t===0}const ah=a.z.object({grant_type:a.z.literal("client_credentials"),scope:a.z.string().optional(),client_secret:a.z.string(),client_id:a.z.string(),audience:a.z.string().optional()});async function cv(n,e){const t=await n.env.data.clients.get(e.client_id);if(!t)throw new N(403,{message:"Invalid client credentials"});if(t.client_secret&&!ar(t.client_secret,e.client_secret))throw new N(403,{message:"Invalid client credentials"});const i={client_id:t.id,scope:e.scope,audience:e.audience},r=await Jc(n,{authParams:i,client:t});return n.json(r)}const lv=a.z.object({grant_type:a.z.literal("authorization_code"),client_id:a.z.string(),code:a.z.string(),redirect_uri:a.z.string().optional(),client_secret:a.z.string().optional(),code_verifier:a.z.string().optional()}).refine(n=>"client_secret"in n&&!("code_verifier"in n)||!("client_secret"in n)&&"code_verifier"in n,{message:"Must provide either client_secret (standard flow) or code_verifier/code_verifier_mode (PKCE flow), but not both"});async function uv(n,e){const t=await n.env.data.clients.get(e.client_id);if(!t)throw new N(403,{message:"Client not found"});console.log("client",t);const i=await n.env.data.codes.get(t.tenant.id,e.code,"authorization_code");if(!i||!i.user_id)throw new N(403,{message:"Invalid client credentials"});if(new Date(i.expires_at)<new Date)throw new N(403,{message:"Code expired"});if(i.used_at)throw new N(403,{message:"Code already used"});const r=await n.env.data.logins.get(t.tenant.id,i.login_id);if(!r)throw new N(403,{message:"Invalid login"});if("client_secret"in e){const o=await n.env.data.clients.get("DEFAULT_CLIENT");if(!ar(t.client_secret,e.client_secret)&&!ar(o==null?void 0:o.client_secret,e.client_secret))throw new N(403,{message:"Invalid client credentials"})}else if("code_verifier"in e&&typeof e.code_verifier=="string"&&"code_challenge_method"in r.authParams&&typeof r.authParams.code_challenge_method=="string"){const o=await Em(e.code_verifier,r.authParams.code_challenge_method);if(!ar(o,r.authParams.code_challenge||""))throw new N(403,{message:"Invalid client credentials"})}if(r.authParams.redirect_uri&&r.authParams.redirect_uri!==e.redirect_uri)throw new N(403,{message:"Invalid redirect uri"});const s=await n.env.data.users.get(t.tenant.id,i.user_id);if(!s)throw new N(403,{message:"User not found"});return await n.env.data.codes.used(t.tenant.id,e.code),Ki(n,{user:s,client:t,loginSession:r,authParams:{...r.authParams,response_mode:sn.WEB_MESSAGE}})}const md=a.z.object({client_id:a.z.string().optional(),client_secret:a.z.string().optional()}),dv=a.z.union([ah.extend(md.shape),a.z.object({grant_type:a.z.literal("authorization_code"),client_id:a.z.string(),code:a.z.string(),redirect_uri:a.z.string(),code_verifier:a.z.string().min(43).max(128)}),a.z.object({grant_type:a.z.literal("authorization_code"),code:a.z.string(),redirect_uri:a.z.string().optional(),...md.shape})]);function pv(n){if(!n)return{};const[e,t]=n.split(" ");if((e==null?void 0:e.toLowerCase())==="basic"&&t){const[i,r]=atob(t).split(":");return{client_id:i,client_secret:r}}return{}}const fv=new a.OpenAPIHono().openapi(a.createRoute({tags:["oauth2"],method:"post",path:"/",request:{body:{content:{"application/x-www-form-urlencoded":{schema:dv}}}},responses:{200:{content:{"application/json":{schema:a.z.object({access_token:a.z.string(),id_token:a.z.string().optional(),refresh_token:a.z.string().optional(),token_type:a.z.string(),expires_in:a.z.number()})}},description:"Tokens"}}}),async n=>{const e=n.req.valid("form");console.log("body",e);const t=pv(n.req.header("Authorization")),i={...e,...t};if(!i.client_id)throw new N(400,{message:"client_id is required"});switch(e.grant_type){case yr.AuthorizationCode:return uv(n,lv.parse(i));case yr.ClientCredential:return cv(n,ah.parse(i));default:throw new N(400,{message:"Not implemented"})}});var Zc={exports:{}};const Yc=[{id:0,value:"Too weak",minDiversity:0,minLength:0},{id:1,value:"Weak",minDiversity:2,minLength:6},{id:2,value:"Medium",minDiversity:4,minLength:8},{id:3,value:"Strong",minDiversity:4,minLength:10}],ch=(n,e=Yc,t="!\"#$%&'()*+,-./:;<=>?@[\\\\\\]^_`{|}~")=>{let i=n||"";e[0].minDiversity=0,e[0].minLength=0;const r=[{regex:"[a-z]",message:"lowercase"},{regex:"[A-Z]",message:"uppercase"},{regex:"[0-9]",message:"number"}];t&&r.push({regex:`[${t}]`,message:"symbol"});let s={};s.contains=r.filter(c=>new RegExp(`${c.regex}`).test(i)).map(c=>c.message),s.length=i.length;let o=e.filter(c=>s.contains.length>=c.minDiversity).filter(c=>s.length>=c.minLength).sort((c,l)=>l.id-c.id).map(c=>({id:c.id,value:c.value}));return Object.assign(s,o[0]),s};Zc.exports={passwordStrength:ch,defaultOptions:Yc};var hv=Zc.exports.passwordStrength=ch;Zc.exports.defaultOptions=Yc;function gv(n){return hv(n).id<2?!1:n.length>=8&&/[a-z]/.test(n)&&/[A-Z]/.test(n)&&/[0-9]/.test(n)&&/[^A-Za-z0-9]/.test(n)}async function Qs(n,e){var r;const t=await n.env.data.emailProviders.get(n.var.tenant_id)||(n.env.DEFAULT_TENANT_ID?await n.env.data.emailProviders.get(n.env.DEFAULT_TENANT_ID):null);if(!t)throw new N(500,{message:"Email provider not found"});const i=(r=n.env.emailProviders)==null?void 0:r[t.name];if(!i)throw new N(500,{message:"Email provider not found"});await i({emailProvider:t,...e,from:t.default_from_address||`login@${n.env.ISSUER}`})}async function _v(n,e,t,i){const r=await n.env.data.tenants.get(n.var.tenant_id);if(!r)throw new N(500,{message:"Tenant not found"});const s=`${yt(n.env)}reset-password?state=${i}&code=${t}`,o={vendorName:r.name,lng:r.language||"en"};await Qs(n,{to:e,subject:"Reset your password",html:`Click here to reset your password: ${yt(n.env)}reset-password?state=${i}&code=${t}`,template:"auth-password-reset",data:{vendorName:r.name,logo:r.logo||"",passwordResetUrl:s,supportUrl:r.support_url||"https://support.sesamy.com",buttonColor:r.primary_color||"#7d68f4",passwordResetTitle:ue("password_reset_title",o),resetPasswordEmailClickToReset:ue("reset_password_email_click_to_reset",o),resetPasswordEmailReset:ue("reset_password_email_reset",o),supportInfo:ue("support_info",o),contactUs:ue("contact_us",o),copyright:ue("copyright",o)}})}async function mv(n,e,t){const i=await n.env.data.tenants.get(n.var.tenant_id);if(!i)throw new N(500,{message:"Tenant not found"});const r={vendorName:i.name,code:t,lng:i.language||"en"};await Qs(n,{to:e,subject:ue("code_email_subject",r),html:`Click here to validate your email: ${yt(n.env)}validate-email`,template:"auth-link",data:{code:t,vendorName:i.name,logo:i.logo||"",supportUrl:i.support_url||"",magicLink:`${kt(n.env)}passwordless/verify_redirect?ticket=${t}`,buttonColor:i.primary_color||"",welcomeToYourAccount:ue("welcome_to_your_account",r),linkEmailClickToLogin:ue("link_email_click_to_login",r),linkEmailLogin:ue("link_email_login",r),linkEmailOrEnterCode:ue("link_email_or_enter_code",r),codeValid30Mins:ue("code_valid_30_minutes",r),supportInfo:ue("support_info",r),contactUs:ue("contact_us",r),copyright:ue("copyright",r)}});const s=be(n,{type:_e.CODE_LINK_SENT,description:e});gt(n,n.env.data.logs.create(i.id,s))}async function lh(n,e,t){const i=await n.env.data.tenants.get(n.var.tenant_id);if(!i)throw new N(500,{message:"Tenant not found"});const r={vendorName:i.name,code:t,lng:i.language||"en"};await Qs(n,{to:e,subject:ue("code_email_subject",r),html:`Click here to validate your email: ${yt(n.env)}validate-email`,template:"auth-link",data:{code:t,vendorName:i.name,logo:i.logo||"",supportUrl:i.support_url||"",magicLink:`${kt(n.env)}passwordless/verify_redirect?ticket=${t}`,buttonColor:i.primary_color||"",welcomeToYourAccount:ue("welcome_to_your_account",r),linkEmailClickToLogin:ue("link_email_click_to_login",r),linkEmailLogin:ue("link_email_login",r),linkEmailOrEnterCode:ue("link_email_or_enter_code",r),codeValid30Mins:ue("code_valid_30_minutes",r),supportInfo:ue("support_info",r),contactUs:ue("contact_us",r),copyright:ue("copyright",r)}});const s=be(n,{type:_e.CODE_LINK_SENT,description:e});gt(n,n.env.data.logs.create(i.id,s))}async function uh(n,e){const t=await n.env.data.tenants.get(n.var.tenant_id);if(!t)throw new N(500,{message:"Tenant not found"});const i={vendorName:t.name,lng:t.language||"en"};await Qs(n,{to:e.email,subject:"Validate your email address",html:`Click here to validate your email: ${yt(n.env)}validate-email`,template:"auth-verify-email",data:{vendorName:t.name,logo:t.logo||"",emailValidationUrl:`${yt(n.env)}validate-email`,supportUrl:t.support_url||"https://support.sesamy.com",buttonColor:t.primary_color||"#7d68f4",welcomeToYourAccount:ue("welcome_to_your_account",i),verifyEmailVerify:ue("verify_email_verify",i),supportInfo:ue("support_info",i),contactUs:ue("contact_us",i),copyright:ue("copyright",i)}})}const yv=new a.OpenAPIHono().openapi(a.createRoute({tags:["dbconnections"],method:"post",path:"/signup",request:{body:{content:{"application/json":{schema:a.z.object({client_id:a.z.string(),connection:a.z.literal("Username-Password-Authentication"),email:a.z.string().transform(n=>n.toLowerCase()),password:a.z.string()})}}}},responses:{200:{content:{"application/json":{schema:a.z.object({_id:a.z.string(),email:a.z.string(),email_verified:a.z.boolean(),app_metadata:a.z.object({}),user_metadata:a.z.object({})})}},description:"Created user"}}}),async n=>{const{email:e,password:t,client_id:i}=n.req.valid("json"),r=await n.env.data.clients.get(i);if(!r)throw new N(400,{message:"Client not found"});if(n.set("client_id",r.id),n.set("tenant_id",r.tenant.id),!gv(t))throw new N(400,{message:"Password does not meet the requirements"});if(await os({userAdapter:n.env.data.users,tenant_id:r.tenant.id,email:e,provider:"auth2"}))throw new N(400,{message:"Invalid sign up"});const o=await n.env.data.users.create(r.tenant.id,{user_id:`auth2|${Za()}`,email:e,email_verified:!1,provider:"auth2",connection:"Username-Password-Authentication",is_social:!1});n.set("user_id",o.user_id),n.set("username",o.email),n.set("connection",o.connection);const c=await Ja.hash(t,10);await n.env.data.passwords.create(r.tenant.id,{user_id:o.user_id,password:c,algorithm:"bcrypt"}),await uh(n,o);const l=be(n,{type:_e.SUCCESS_SIGNUP,description:"Successful signup"});return await n.env.data.logs.create(r.tenant.id,l),n.json({_id:o.user_id,email:o.email,email_verified:!1,app_metadata:{},user_metadata:{}})}).openapi(a.createRoute({tags:["dbconnections"],method:"post",path:"/change_password",request:{body:{content:{"application/json":{schema:a.z.object({client_id:a.z.string(),connection:a.z.literal("Username-Password-Authentication"),email:a.z.string().transform(n=>n.toLowerCase())})}}}},responses:{200:{description:"Redirect to the client's redirect uri"}}}),async n=>{const{email:e,client_id:t}=n.req.valid("json"),i=await n.env.data.clients.get(t);if(!i)throw new N(400,{message:"Client not found"});if(n.set("client_id",i.id),n.set("tenant_id",i.tenant.id),!await Ya({userAdapter:n.env.data.users,tenant_id:i.tenant.id,email:e,provider:"auth2"}))return n.html("If an account with that email exists, we've sent instructions to reset your password.");const s={client_id:t,username:e},o=await n.env.data.logins.create(i.tenant.id,{expires_at:new Date(Date.now()+es*1e3).toISOString(),authParams:s,...Hn(n.req)});return await _v(n,e,o.login_id,o.authParams.state),n.html("If an account with that email exists, we've sent instructions to reset your password.")});function dh(){const n="1234567890";let e="";for(let t=0;t<6;t+=1)e+=n[Math.floor(Math.random()*10)];return e.toString()}const vv=new a.OpenAPIHono().openapi(a.createRoute({tags:["passwordless"],method:"post",path:"/start",request:{body:{content:{"application/json":{schema:a.z.object({client_id:a.z.string(),connection:a.z.string(),email:a.z.string().transform(n=>n.toLowerCase()),send:a.z.enum(["link","code"]),authParams:Ka.omit({client_id:!0})})}}}},responses:{200:{description:"Status"}}}),async n=>{const e=n.req.valid("json"),{env:t}=n,{client_id:i,email:r,send:s,authParams:o}=e,c=await n.env.data.clients.get(i);if(!c)throw new N(400,{message:"Client not found"});n.set("client_id",c.id),n.set("tenant_id",c.tenant.id);const l=await t.data.logins.create(c.tenant.id,{authParams:{...o,client_id:i,username:r},expires_at:new Date(Date.now()+Xu).toISOString(),...Hn(n.req)}),u=await t.data.codes.create(c.tenant.id,{code_id:dh(),code_type:"otp",login_id:l.login_id,expires_at:new Date(Date.now()+Xu).toISOString()});return s==="link"?await lh(n,r,u.code_id):await mv(n,r,u.code_id),n.html("OK")}).openapi(a.createRoute({tags:["passwordless"],method:"get",path:"/verify_redirect",request:{query:a.z.object({scope:a.z.string(),response_type:a.z.nativeEnum(Ut),redirect_uri:a.z.string(),state:a.z.string(),nonce:a.z.string().optional(),verification_code:a.z.string(),connection:a.z.string(),client_id:a.z.string(),email:a.z.string().transform(n=>n.toLowerCase()),audience:a.z.string().optional()})},responses:{302:{description:"Status"}}}),async n=>{const{env:e}=n,{client_id:t,email:i,verification_code:r,redirect_uri:s,state:o,scope:c,audience:l,response_type:u,nonce:p}=n.req.valid("query"),g=await Fc(e,t);n.set("client_id",g.id),n.set("tenant_id",g.tenant.id),n.set("connection","email");const m=await e.data.codes.get(g.tenant.id,r,"otp");if(!m)throw new N(400,{message:"Code not found or expired"});if(m.expires_at<new Date().toISOString())throw new N(400,{message:"Code expired"});const x=await e.data.logins.get(g.tenant.id,m.login_id);if(!x||x.authParams.username!==i)throw new N(400,{message:"Code not found or expired"});const h=Hn(n.req);if(x.ip!==h.ip)return n.redirect(`${yt(n.env)}invalid-session?state=${x.login_id}`);if(!Ys(s,g.callbacks,{allowPathWildcards:!0}))throw new N(400,{message:`Invalid redirect URI - ${s}`});const _={client_id:t,redirect_uri:s,state:o,nonce:p,scope:c,audience:l,response_type:u},b=await os({userAdapter:e.data.users,tenant_id:g.tenant.id,email:i,provider:"email"});if(!b)throw new N(400,{message:"User not found"});return Ki(n,{user:b,client:g,loginSession:x,authParams:_})});class si extends N{constructor(t,i){super(t,i);te(this,"_code");this._code=i==null?void 0:i.code}get code(){return this._code}}async function wv(n,e,t){const{env:i}=n,r=t.username;if(n.set("username",r),!r)throw new N(400,{message:"Username is required"});const s=await Ya({userAdapter:n.env.data.users,tenant_id:e.tenant.id,email:r,provider:"auth2"});if(!s){const m=be(n,{type:_e.FAILED_LOGIN_INCORRECT_PASSWORD,description:"Invalid user"});throw gt(n,n.env.data.logs.create(e.tenant.id,m)),new si(403,{message:"User not found",code:"USER_NOT_FOUND"})}const o=s.linked_to?await i.data.users.get(e.tenant.id,s.linked_to):s;if(!o)throw new si(403,{message:"User not found",code:"USER_NOT_FOUND"});n.set("connection",s.connection),n.set("user_id",o.user_id);const{password:c}=await i.data.passwords.get(e.tenant.id,s.user_id);if(!await Ja.compare(t.password,c)){const m=be(n,{type:_e.FAILED_LOGIN_INCORRECT_PASSWORD,description:"Invalid password"});throw gt(n,n.env.data.logs.create(e.tenant.id,m)),new si(403,{message:"Invalid password",code:"INVALID_PASSWORD"})}if((await i.data.logs.list(e.tenant.id,{page:0,per_page:10,include_totals:!1,q:`user_id:${o.user_id}`})).logs.filter(m=>m.type===_e.FAILED_LOGIN_INCORRECT_PASSWORD&&new Date(m.date)>new Date(Date.now()-1e3*60*5)).length>=3){const m=be(n,{type:_e.FAILED_LOGIN,description:"Too many failed login attempts"});throw gt(n,n.env.data.logs.create(e.tenant.id,m)),new si(403,{message:"Too many failed login attempts",code:"TOO_MANY_FAILED_LOGINS"})}if(!s.email_verified&&e.email_validation==="enforced"){await uh(n,s);const m=be(n,{type:_e.FAILED_LOGIN,description:"Email not verified"});throw await n.env.data.logs.create(e.tenant.id,m),new si(403,{message:"Email not verified",code:"EMAIL_NOT_VERIFIED"})}const g=be(n,{type:_e.SUCCESS_LOGIN,description:"Successful login",strategy_type:"Username-Password-Authentication",strategy:"Username-Password-Authentication"});return gt(n,n.env.data.logs.create(e.tenant.id,g)),o}function bv(){const n=new Uint8Array(32);return crypto.getRandomValues(n),rn.encode(n,{includePadding:!1})}function yd(){return new N(403,{res:new Response(JSON.stringify({error:"access_denied",error_description:"Wrong email or verification code."}),{status:403,headers:{"Content-Type":"application/json"}}),message:"Wrong email or verification code."})}const vd=30*60*1e3,kv=new a.OpenAPIHono().openapi(a.createRoute({tags:["oauth"],method:"post",path:"/",request:{body:{content:{"application/json":{schema:a.z.union([a.z.object({credential_type:a.z.literal("http://auth0.com/oauth/grant-type/passwordless/otp"),otp:a.z.string(),client_id:a.z.string(),username:a.z.string().transform(n=>n.toLowerCase()),realm:a.z.enum(["email"]),scope:a.z.string().optional()}),a.z.object({credential_type:a.z.literal("http://auth0.com/oauth/grant-type/password-realm"),client_id:a.z.string(),username:a.z.string().transform(n=>n.toLowerCase()),password:a.z.string(),realm:a.z.enum(["Username-Password-Authentication"]),scope:a.z.string().optional()})])}}}},responses:{200:{description:"List of tenants"}}}),async n=>{const e=n.req.valid("json"),{client_id:t,username:i}=e;n.set("username",i);const r=await n.env.data.clients.get(t);if(!r)throw new N(400,{message:"Client not found"});n.set("client_id",t),n.set("tenant_id",r.tenant.id);const s=i.toLocaleLowerCase();let o;if("otp"in e){const p=await n.env.data.codes.get(r.tenant.id,e.otp,"otp");if(!p)throw yd();const g=await n.env.data.logins.get(r.tenant.id,p.login_id);if(!g||g.authParams.username!==s)throw yd();o=g}else if("password"in e)await wv(n,r,{username:i,password:e.password,client_id:t}),o=await n.env.data.logins.create(r.tenant.id,{expires_at:new Date(Date.now()+vd).toISOString(),authParams:{client_id:r.id,username:s},...Hn(n.req)});else throw new N(400,{message:"Code or password required"});const c=bv(),l=Ke(12),u=await n.env.data.codes.create(r.tenant.id,{code_id:Ke(),code_type:"ticket",login_id:o.login_id,expires_at:new Date(Date.now()+vd).toISOString(),code_verifier:[l,c].join("|")});return n.json({login_ticket:u.code_id,co_verifier:c,co_id:l})});function xv(n,e){var i,r,s;if(!n||e.length===0)return!1;const t=((i=yo(n))==null?void 0:i.host)??null;if(!t)return!1;for(const o of e){let c;if(o.startsWith("http://")||o.startsWith("https://")?c=((r=yo(o))==null?void 0:r.host)??null:c=((s=yo("https://"+o))==null?void 0:s.host)??null,t===c)return!0}return!1}function yo(n){try{return new URL(n)}catch{return null}}async function Sv({ctx:n,session:e,client:t,authParams:i,connection:r,login_hint:s}){const o=await n.env.data.logins.create(t.tenant.id,{expires_at:new Date(Date.now()+es*1e3).toISOString(),authParams:i,...Hn(n.req)});if(e&&s){const c=await n.env.data.users.get(t.tenant.id,e.user_id);if((c==null?void 0:c.email)===s)return Ki(n,{client:t,loginSession:o,authParams:i,user:c,sid:e.session_id})}if(r==="email"&&s){const c=dh();return await n.env.data.codes.create(t.tenant.id,{code_id:c,code_type:"otp",login_id:o.login_id,expires_at:new Date(Date.now()+es*1e3).toISOString()}),await lh(n,s,c),n.redirect(`/u/enter-code?state=${o.login_id}`)}return e?n.redirect(`/u/check-account?state=${o.login_id}`):n.redirect(`/u/enter-email?state=${o.login_id}`)}function Av(n){if(n==="Username-Password-Authentication")return"auth2";if(n==="email")return"email";throw new N(403,{message:"Invalid realm"})}async function Iv(n,e,t,i,r){var m;const{env:s}=n;n.set("connection",r);const o=await s.data.codes.get(e,t,"ticket");if(!o||o.used_at)throw new N(403,{message:"Ticket not found"});const c=await s.data.logins.get(e,o.login_id);if(!c||!c.authParams.username)throw new N(403,{message:"Session not found"});const l=await s.data.clients.get(c.authParams.client_id);if(!l)throw new N(403,{message:"Client not found"});n.set("client_id",c.authParams.client_id),await s.data.codes.used(e,t);const u=Av(r);let p=await os({userAdapter:s.data.users,tenant_id:e,email:c.authParams.username,provider:u});p||(p=await s.data.users.create(e,{user_id:`email|${Za()}`,email:c.authParams.username,name:c.authParams.username,provider:"email",connection:"email",email_verified:!0,is_social:!1,last_ip:"",last_login:new Date().toISOString()})),n.set("username",p.email),n.set("user_id",p.user_id);const g=await sh(n,p,l);return Ki(n,{authParams:{scope:(m=c.authParams)==null?void 0:m.scope,...i},loginSession:c,sid:g.session_id,user:p,client:l})}async function wd(n,e){return`<!DOCTYPE html>
|
|
150
150
|
<html>
|
|
151
151
|
|
|
152
152
|
<head>
|
|
@@ -189,7 +189,7 @@ PERFORMANCE OF THIS SOFTWARE.
|
|
|
189
189
|
<\/script>
|
|
190
190
|
</body>
|
|
191
191
|
|
|
192
|
-
</html>`}async function Ev({ctx:n,client:e,session:t,redirect_uri:i,state:r,nonce:s,code_challenge_method:o,code_challenge:c,audience:l,scope:u}){const{env:p}=n,g=new URL(i);if(t){n.set("user_id",t.user_id);const x=new Headers,h=Yf(e.tenant.id,t.session_id);x.set("set-cookie",h);const _=await p.data.users.get(e.tenant.id,t.user_id);if(_){n.set("username",_.email),n.set("connection",_.connection);const b=await Jc(n,{client:e,authParams:{client_id:e.id,audience:l,code_challenge_method:o,code_challenge:c,scope:u,state:r,nonce:s,response_type:Ut.TOKEN_ID_TOKEN},user:_,sid:t.session_id});await p.data.sessions.update(e.tenant.id,t.session_id,{used_at:new Date().toISOString()});const S=
|
|
192
|
+
</html>`}async function Ev({ctx:n,client:e,session:t,redirect_uri:i,state:r,nonce:s,code_challenge_method:o,code_challenge:c,audience:l,scope:u}){const{env:p}=n,g=new URL(i);if(t){n.set("user_id",t.user_id);const x=new Headers,h=Yf(e.tenant.id,t.session_id);x.set("set-cookie",h);const _=await p.data.users.get(e.tenant.id,t.user_id);if(_){n.set("username",_.email),n.set("connection",_.connection);const b=await Jc(n,{client:e,authParams:{client_id:e.id,audience:l,code_challenge_method:o,code_challenge:c,scope:u,state:r,nonce:s,response_type:Ut.TOKEN_ID_TOKEN},user:_,sid:t.session_id});await p.data.sessions.update(e.tenant.id,t.session_id,{used_at:new Date().toISOString()});const S=be(n,{type:_e.SUCCESS_SILENT_AUTH,description:"Successful silent authentication"});return await n.env.data.logs.create(e.tenant.id,S),n.html(wd(`${g.protocol}//${g.host}`,JSON.stringify(b)),{headers:x})}}const m=be(n,{type:_e.FAILED_SILENT_AUTH,description:"Login required"});return await n.env.data.logs.create(e.tenant.id,m),n.html(wd(`${g.protocol}//${g.host}`,JSON.stringify({error:"login_required",error_description:"Login required",state:r})))}const $v=new a.OpenAPIHono().openapi(a.createRoute({tags:["oauth"],method:"get",path:"/",request:{query:a.z.object({client_id:a.z.string(),vendor_id:a.z.string().optional(),redirect_uri:a.z.string(),scope:a.z.string().optional(),state:a.z.string(),prompt:a.z.string().optional(),response_mode:a.z.nativeEnum(sn).optional(),response_type:a.z.nativeEnum(Ut).optional(),audience:a.z.string().optional(),connection:a.z.string().optional(),nonce:a.z.string().optional(),max_age:a.z.string().optional(),login_ticket:a.z.string().optional(),code_challenge_method:a.z.nativeEnum(ss).optional(),code_challenge:a.z.string().optional(),realm:a.z.string().optional(),auth0Client:a.z.string().optional(),login_hint:a.z.string().optional(),ui_locales:a.z.string().optional()})},responses:{200:{description:"Silent authentication page"},302:{description:"Redirect to the client's redirect uri"}}}),async n=>{const{env:e}=n,{client_id:t,vendor_id:i,redirect_uri:r,scope:s,state:o,audience:c,nonce:l,connection:u,response_type:p,response_mode:g,code_challenge:m,code_challenge_method:x,prompt:h,login_ticket:_,realm:b,auth0Client:S,login_hint:O,ui_locales:T}=n.req.valid("query");n.set("log","authorize");const q=await Fc(e,t);n.set("client_id",q.id),n.set("tenant_id",q.tenant.id);const oe={redirect_uri:r,scope:s,state:o,client_id:t,vendor_id:i,audience:c,nonce:l,prompt:h,response_type:p,response_mode:g,code_challenge:m,code_challenge_method:x,username:O,ui_locales:T},pe=n.req.header("origin");if(pe&&!xv(pe,q.web_origins||[]))throw new N(403,{message:`Origin ${pe} not allowed`});if(oe.redirect_uri&&!Ys(oe.redirect_uri,q.callbacks||[],{allowPathWildcards:!0}))throw new N(400,{message:`Invalid redirect URI - ${oe.redirect_uri}`});const ce=Zf(q.tenant.id,n.req.header("cookie")),Re=ce?await e.data.sessions.get(q.tenant.id,ce):void 0;if(h=="none"){if(!p)throw new N(400,{message:"Missing response_type"});return Ev({ctx:n,session:Re||void 0,redirect_uri:r,state:o,response_type:p,client:q,nonce:l,code_challenge_method:x,code_challenge:m,audience:c,scope:s})}return u&&u!=="email"?iv(n,q,u,oe):_?Iv(n,q.tenant.id,_,oe,b):Sv({ctx:n,client:q,auth0Client:S,authParams:oe,session:Re||void 0,connection:u,login_hint:O})});function Cv(){const n=new a.OpenAPIHono;n.use(Lf(n));const e=n.route("/v2/logout",sv).route("/userinfo",ov).route("/.well-known",av).route("/oauth/token",fv).route("/dbconnections",yv).route("/passwordless",vv).route("/co/authenticate",kv).route("/authorize",$v).route("/callback",rv);return e.doc("/spec",{openapi:"3.0.0",info:{version:"1.0.0",title:"Oauth API"}}),Pf(e),e}function jv(){const e=new a.OpenAPIHono;return e.doc("/u/spec",{openapi:"3.0.0",info:{version:"1.0.0",title:"Universal login"}}),e}const zv="Account detected",Nv="We have detected that you have already created an account through",Ov="By signing in, you agree to our",Bv="and",Tv="Callback URL mismatch",Rv="The provided redirect_uri is not in the list of allowed callback URLs.",Pv="continue with user",Lv="Please click the button to create a new password account.",Uv="Enter the code at {{vendorName}} to complete the login",Vv="Welcome to {{vendorName}}! {{code}} is the login code",Mv="Welcome to {{vendorName}}! {{code}} is the login code",Hv="The code is valid for 30 minutes",Dv="Confirm password",Fv="Need Help?",qv="Contact us",Kv="or continue with social account",Wv="Continue with {{provider}}",Gv="Would you like to continue with your existing account?",Jv="Copyright © 2023 SESAMY. All rights reserved.",Zv="©2023 Sesamy",Yv="Choose a password with a mix of uppercase and lowercase letters, numbers, and symbols.",Xv="Please enter a valid email address.",Qv="The passwords didn't match. Try again.",ew="Choose password",tw="Password must be at least 8 characters long and contain at least one lowercase letter, one uppercase letter, one number and one symbol.",nw="Create new account",iw="Sign up with password",rw="You are currently logged in as <0>{{email}}</0>",sw="Email",ow="Email address",aw="Your email address has been validated",cw="Now enter your password to login again",lw="An email has been sent to <0>{{email}}</0> with a verification link. Please click the link to verify your email address and set a password.",uw="Email verification sent",dw="Enter a code",pw="We'll send you a verification link to ensure you own this email address.",fw="Enter new password",hw="Enter password",gw="Enter your email address and password to login.",_w="Enter your password",mw="The magic link has expired. Please click on the button below to receive a new link in your inbox.",yw="Hey! We updated our login experience. <0>Click here to learn more about it.</0>",vw="Send password reset email",ww="Click the button below and we’ll send instructions on how to reset your password.",bw="Password reset email sent",kw="Forgot password?",xw="Forgot password?",Sw="Go back",Aw="Invalid password",Iw=`The link is no longer valid.
|
|
193
193
|
|
|
194
194
|
Please make sure to open the login link in the same browser you started the login with.
|
|
195
195
|
|
|
@@ -217,4 +217,4 @@ Kliknutím na odkaz níže můžete zahájit nové přihlášení.`,y$="Neplatn
|
|
|
217
217
|
|
|
218
218
|
Varmista, että avaat kirjautumislinkin samalla selaimella, jolla aloitit kirjautumisen.
|
|
219
219
|
|
|
220
|
-
Voit aloittaa uuden kirjautumisen klikkaamalla alla olevaa linkkiä.`,EC="Virheellinen linkki",$C="Kirjaudu sisään napsauttamalla painiketta",CC="Kirjaudu sisään",jC="Tai kirjoita koodi osoitteessa {{vendorName}} kirjautumisen loppuun saattamiseksi.",zC="Kirjoita sähköpostiosoitteesi avataksesi tämän ohjelman osoitteessa {{service}}",NC="Yhdistä tilisi {{service}}",OC="Olet kirjautunut sisään nimellä",BC="Kirjaudu sisään",TC="Kirjoita sähköpostiosoitteesi kirjautuaksesi sisään.",RC="Anna sähköpostiosoitteesi, niin lähetämme sinulle kirjautumiskoodin.",PC="Anna sähköpostiosoitteesi, niin lähetämme sinulle kirjautumislinkin.",LC="Kirjaudu ulos",UC="Ei, haluan käyttää toista tiliä",VC="tai",MC="Salasana",HC="Salasana on nollattu",DC="Menestys",FC="Vaihda salasana tilillesi {{vendorName}} ",qC="Vaihda salasana tilillesi {{vendorName}} ",KC="Tietosuojakäytäntö",WC="Uudelleenohjaus",GC="Vahvista salasana",JC="Rekisteröi uusi salasana",ZC="Lähetä koodi uudelleen",YC="Vaihda salasana",XC="Kirjoita alla oleva uusi salasanasi sähköpostitiliä varten: ",QC="Napsauta painiketta salasanasi palauttamiseksi",e3="Napsauta painiketta salasanasi palauttamiseksi",t3="Nollaa salasanasi",n3="Vaihda salasana tilillesi {{vendorName}} ",i3="Nollaa salasana",r3="Lähetä",s3="Lähetä minulle uusi maaginen linkki",o3="Muista tarkistaa roskapostikansiosi, jos sähköposti ei ole saapunut.",a3="Aseta salasana",c3="Kirjaudu sisään",l3="Rekisteröityminen",u3="Rekisteröidy onnistuneesti",d3="Näyttää siltä, että Spotify-tilisi on tällä hetkellä yhdistetty toiseen Sesamy-tiliin. Mutta älä pelkää, me opastamme sinua prosessin läpi, jotta saat tämän korjattua.",p3="Siirry Spotifyn Content Access -sivulle",f3='Aloitetaan poistamalla Spotify-tilisi linkitys. Klikkaa alla olevaa painiketta siirtyäksesi Spotifyn Content Access -sivulle. Kun olet kirjautunut sisään Spotify-tilillesi, etsi Sesamy yhdistettyjen alustojen luettelosta. Napsauta "Unlink" Sesamyn logon vieressä.',h3="Vaihe 1: Poista Spotify-tilisi linkitys",g3="Kun olet onnistuneesti irrottanut Spotify-tilisi, voit yhdistää sen uudelleen Sesamyn kanssa. Toista vain aiemmin tekemäsi vaiheet, jotka johtivat sinut tälle sivulle.",_3="Vaihe 2: Yhdistä Spotify-tilisi uudelleen Sesamyn kanssa",m3="Hups! Spotify-tilisi on jo linkitetty",y3="Jos sinulla on kysyttävää tai tarvitset apua, voit ottaa yhteyttä tukitiimiimme.",v3="Ehdot ja edellytykset",w3="Sähköpostiosoitteesi on vahvistettava. Olemme lähettäneet uuden sähköpostiviestin sähköpostiisi.",b3="Käyttäjätiliä ei ole olemassa",k3="Käyttäjätiliä ei ole olemassa",x3="Emme löytäneet käyttäjää, jolla on annettu sähköpostiosoite. Yritä uudelleen.",S3="Yritä uudelleen.",A3="Validoi koodi",I3="Tarkista sähköpostin vahvistusohjeet postilaatikostasi.",E3="Rekisteröitynyt",$3="Vahvista sähköpostiosoitteesi napsauttamalla painiketta",C3="Vahvista sähköpostiosoitteesi",j3="Vahvista sähköpostiosoitteesi",z3="Vahvista tili",N3="Vahvista sähköpostiosoitteesi",O3="Tarkista sähköpostisi osoitteesta <0>{{email}}</0> ja syötä lähettämämme kuusinumeroinen koodi.",B3="Tervetuloa",T3="Tervetuloa tilillesi {{vendorName}}!",R3="Jatka tällä tilillä",P3="Kyllä, jatka {{text}}",L3="Kyllä, jatka olemassa olevalla tilillä",U3={"Server error: Invalid code":"Virheellinen koodi","Wrong email or verification code":{"":"Väärä sähköpostiosoite tai vahvistuskoodi."},account_detected:z6,account_with_sso_provider:N6,agree_to:O6,and:B6,callback_url_mismatch:T6,callback_url_not_allowed:R6,check_email_title:P6,click_to_sign_up_description:L6,code_email_enter_code:U6,code_email_subject:V6,code_email_title:M6,code_valid_30_minutes:H6,confirm_password:D6,contact_support:F6,contact_us:q6,continue:"Jatka",continue_social_login:K6,continue_with:W6,continue_with_sso_provider_headline:G6,copyright:J6,copyright_sesamy:Z6,create_account_description:Y6,create_account_email_invalid:X6,create_account_passwords_didnt_match:Q6,create_account_title:eC,create_account_weak_password:tC,create_new_account_link:nC,create_password_account_title:iC,currently_logged_in_as:rC,email:sC,email_placeholder:oC,email_validated:aC,email_validated_cta:cC,email_verification_for_signup_sent_description:lC,email_verification_for_signup_sent_title:uC,enter_a_code_btn:dC,enter_email_for_verification_description:pC,enter_new_password_placeholder:fC,enter_password:hC,enter_password_description:gC,enter_your_password_btn:_C,expired_code:mC,fokus_info_message:yC,forgot_password_cta:vC,forgot_password_description:wC,forgot_password_email_sent:bC,forgot_password_link:kC,forgot_password_title:xC,go_back:SC,"invalid-email":"Virheellinen sähköpostiosoite",invalid_password:AC,invalid_session_body:IC,invalid_session_title:EC,link_email_click_to_login:$C,link_email_login:CC,link_email_or_enter_code:jC,link_page_body:zC,link_page_headline:NC,logged_in_as:OC,login:BC,login_description:TC,login_description_code:RC,login_description_link:PC,logout:LC,no_use_another:UC,or:VC,password:MC,password_has_been_reset:HC,password_has_been_reset_title:DC,password_reset_subject:FC,password_reset_title:qC,privacy_policy:KC,redirecting:WC,reenter_new_password_placeholder:GC,register_password_account:JC,resend_code:ZC,reset_password_cta:YC,reset_password_description:XC,reset_password_email_click_to_reset:QC,reset_password_email_cta:e3,reset_password_email_reset:t3,reset_password_subject:n3,reset_password_title:i3,send:r3,send_me_a_new_magic_link:s3,sent_code_spam:o3,set_password:a3,sign_in:c3,signup:l3,signup_success:u3,spotify_already_linked_body:d3,spotify_already_linked_cta:p3,spotify_already_linked_step1_body:f3,spotify_already_linked_step1_title:h3,spotify_already_linked_step2_body:g3,spotify_already_linked_step2_title:_3,spotify_already_linked_title:m3,support_info:y3,terms:v3,unverified_email:w3,user_account_does_not_exist:b3,user_not_found:k3,user_not_found_body:x3,user_not_found_cta:S3,validate_code:A3,validate_email_body:I3,validate_email_title:E3,verify_email_click_to_verify:$3,verify_email_subject:C3,verify_email_title:j3,verify_email_verify:z3,verify_your_email:N3,we_sent_a_code_to:O3,welcome:B3,welcome_to_your_account:T3,yes_continue:R3,yes_continue_with:P3,yes_continue_with_existing_account:L3};Ne.init({supportedLngs:["en","it","nb","sv","pl","cs","fi"],fallbackLng:"en",resources:{en:{translation:Ub},it:{translation:Gk},nb:{translation:i2},sv:{translation:pI},pl:{translation:bE},cs:{translation:j6},fi:{translation:U3}}});function V3(n){const e=new a.OpenAPIHono;e.use(async(s,o)=>(s.env.data=nv(s,n.dataAdapter),o())),e.get("/",s=>s.json({name:"authhero"}));const t=R0();e.route("/api/v2",t);const i=Cv();e.route("/",i);const r=jv();return e.route("/u",r),{app:e,managementApp:t,oauthApp:i,universalApp:r,createX509Certificate:Ma}}exports.Auth0Client=zd;exports.AuthorizationResponseMode=sn;exports.AuthorizationResponseType=Ut;exports.CodeChallengeMethod=ss;exports.GrantType=yr;exports.LogTypes=_e;exports.applicationInsertSchema=fr;exports.applicationSchema=Yt;exports.auth0UserResponseSchema=ft;exports.authParamsSchema=Ka;exports.baseUserSchema=rs;exports.bordersSchema=Bd;exports.brandingSchema=wo;exports.codeInsertSchema=Ed;exports.codeSchema=Jh;exports.codeTypeSchema=Id;exports.colorsSchema=Td;exports.connectionInsertSchema=hr;exports.connectionSchema=
|
|
220
|
+
Voit aloittaa uuden kirjautumisen klikkaamalla alla olevaa linkkiä.`,EC="Virheellinen linkki",$C="Kirjaudu sisään napsauttamalla painiketta",CC="Kirjaudu sisään",jC="Tai kirjoita koodi osoitteessa {{vendorName}} kirjautumisen loppuun saattamiseksi.",zC="Kirjoita sähköpostiosoitteesi avataksesi tämän ohjelman osoitteessa {{service}}",NC="Yhdistä tilisi {{service}}",OC="Olet kirjautunut sisään nimellä",BC="Kirjaudu sisään",TC="Kirjoita sähköpostiosoitteesi kirjautuaksesi sisään.",RC="Anna sähköpostiosoitteesi, niin lähetämme sinulle kirjautumiskoodin.",PC="Anna sähköpostiosoitteesi, niin lähetämme sinulle kirjautumislinkin.",LC="Kirjaudu ulos",UC="Ei, haluan käyttää toista tiliä",VC="tai",MC="Salasana",HC="Salasana on nollattu",DC="Menestys",FC="Vaihda salasana tilillesi {{vendorName}} ",qC="Vaihda salasana tilillesi {{vendorName}} ",KC="Tietosuojakäytäntö",WC="Uudelleenohjaus",GC="Vahvista salasana",JC="Rekisteröi uusi salasana",ZC="Lähetä koodi uudelleen",YC="Vaihda salasana",XC="Kirjoita alla oleva uusi salasanasi sähköpostitiliä varten: ",QC="Napsauta painiketta salasanasi palauttamiseksi",e3="Napsauta painiketta salasanasi palauttamiseksi",t3="Nollaa salasanasi",n3="Vaihda salasana tilillesi {{vendorName}} ",i3="Nollaa salasana",r3="Lähetä",s3="Lähetä minulle uusi maaginen linkki",o3="Muista tarkistaa roskapostikansiosi, jos sähköposti ei ole saapunut.",a3="Aseta salasana",c3="Kirjaudu sisään",l3="Rekisteröityminen",u3="Rekisteröidy onnistuneesti",d3="Näyttää siltä, että Spotify-tilisi on tällä hetkellä yhdistetty toiseen Sesamy-tiliin. Mutta älä pelkää, me opastamme sinua prosessin läpi, jotta saat tämän korjattua.",p3="Siirry Spotifyn Content Access -sivulle",f3='Aloitetaan poistamalla Spotify-tilisi linkitys. Klikkaa alla olevaa painiketta siirtyäksesi Spotifyn Content Access -sivulle. Kun olet kirjautunut sisään Spotify-tilillesi, etsi Sesamy yhdistettyjen alustojen luettelosta. Napsauta "Unlink" Sesamyn logon vieressä.',h3="Vaihe 1: Poista Spotify-tilisi linkitys",g3="Kun olet onnistuneesti irrottanut Spotify-tilisi, voit yhdistää sen uudelleen Sesamyn kanssa. Toista vain aiemmin tekemäsi vaiheet, jotka johtivat sinut tälle sivulle.",_3="Vaihe 2: Yhdistä Spotify-tilisi uudelleen Sesamyn kanssa",m3="Hups! Spotify-tilisi on jo linkitetty",y3="Jos sinulla on kysyttävää tai tarvitset apua, voit ottaa yhteyttä tukitiimiimme.",v3="Ehdot ja edellytykset",w3="Sähköpostiosoitteesi on vahvistettava. Olemme lähettäneet uuden sähköpostiviestin sähköpostiisi.",b3="Käyttäjätiliä ei ole olemassa",k3="Käyttäjätiliä ei ole olemassa",x3="Emme löytäneet käyttäjää, jolla on annettu sähköpostiosoite. Yritä uudelleen.",S3="Yritä uudelleen.",A3="Validoi koodi",I3="Tarkista sähköpostin vahvistusohjeet postilaatikostasi.",E3="Rekisteröitynyt",$3="Vahvista sähköpostiosoitteesi napsauttamalla painiketta",C3="Vahvista sähköpostiosoitteesi",j3="Vahvista sähköpostiosoitteesi",z3="Vahvista tili",N3="Vahvista sähköpostiosoitteesi",O3="Tarkista sähköpostisi osoitteesta <0>{{email}}</0> ja syötä lähettämämme kuusinumeroinen koodi.",B3="Tervetuloa",T3="Tervetuloa tilillesi {{vendorName}}!",R3="Jatka tällä tilillä",P3="Kyllä, jatka {{text}}",L3="Kyllä, jatka olemassa olevalla tilillä",U3={"Server error: Invalid code":"Virheellinen koodi","Wrong email or verification code":{"":"Väärä sähköpostiosoite tai vahvistuskoodi."},account_detected:z6,account_with_sso_provider:N6,agree_to:O6,and:B6,callback_url_mismatch:T6,callback_url_not_allowed:R6,check_email_title:P6,click_to_sign_up_description:L6,code_email_enter_code:U6,code_email_subject:V6,code_email_title:M6,code_valid_30_minutes:H6,confirm_password:D6,contact_support:F6,contact_us:q6,continue:"Jatka",continue_social_login:K6,continue_with:W6,continue_with_sso_provider_headline:G6,copyright:J6,copyright_sesamy:Z6,create_account_description:Y6,create_account_email_invalid:X6,create_account_passwords_didnt_match:Q6,create_account_title:eC,create_account_weak_password:tC,create_new_account_link:nC,create_password_account_title:iC,currently_logged_in_as:rC,email:sC,email_placeholder:oC,email_validated:aC,email_validated_cta:cC,email_verification_for_signup_sent_description:lC,email_verification_for_signup_sent_title:uC,enter_a_code_btn:dC,enter_email_for_verification_description:pC,enter_new_password_placeholder:fC,enter_password:hC,enter_password_description:gC,enter_your_password_btn:_C,expired_code:mC,fokus_info_message:yC,forgot_password_cta:vC,forgot_password_description:wC,forgot_password_email_sent:bC,forgot_password_link:kC,forgot_password_title:xC,go_back:SC,"invalid-email":"Virheellinen sähköpostiosoite",invalid_password:AC,invalid_session_body:IC,invalid_session_title:EC,link_email_click_to_login:$C,link_email_login:CC,link_email_or_enter_code:jC,link_page_body:zC,link_page_headline:NC,logged_in_as:OC,login:BC,login_description:TC,login_description_code:RC,login_description_link:PC,logout:LC,no_use_another:UC,or:VC,password:MC,password_has_been_reset:HC,password_has_been_reset_title:DC,password_reset_subject:FC,password_reset_title:qC,privacy_policy:KC,redirecting:WC,reenter_new_password_placeholder:GC,register_password_account:JC,resend_code:ZC,reset_password_cta:YC,reset_password_description:XC,reset_password_email_click_to_reset:QC,reset_password_email_cta:e3,reset_password_email_reset:t3,reset_password_subject:n3,reset_password_title:i3,send:r3,send_me_a_new_magic_link:s3,sent_code_spam:o3,set_password:a3,sign_in:c3,signup:l3,signup_success:u3,spotify_already_linked_body:d3,spotify_already_linked_cta:p3,spotify_already_linked_step1_body:f3,spotify_already_linked_step1_title:h3,spotify_already_linked_step2_body:g3,spotify_already_linked_step2_title:_3,spotify_already_linked_title:m3,support_info:y3,terms:v3,unverified_email:w3,user_account_does_not_exist:b3,user_not_found:k3,user_not_found_body:x3,user_not_found_cta:S3,validate_code:A3,validate_email_body:I3,validate_email_title:E3,verify_email_click_to_verify:$3,verify_email_subject:C3,verify_email_title:j3,verify_email_verify:z3,verify_your_email:N3,we_sent_a_code_to:O3,welcome:B3,welcome_to_your_account:T3,yes_continue:R3,yes_continue_with:P3,yes_continue_with_existing_account:L3};Ne.init({supportedLngs:["en","it","nb","sv","pl","cs","fi"],fallbackLng:"en",resources:{en:{translation:Ub},it:{translation:Gk},nb:{translation:i2},sv:{translation:pI},pl:{translation:bE},cs:{translation:j6},fi:{translation:U3}}});function V3(n){const e=new a.OpenAPIHono;e.use(async(s,o)=>(s.env.data=nv(s,n.dataAdapter),o())),e.get("/",s=>s.json({name:"authhero"}));const t=R0();e.route("/api/v2",t);const i=Cv();e.route("/",i);const r=jv();return e.route("/u",r),{app:e,managementApp:t,oauthApp:i,universalApp:r,createX509Certificate:Ma}}exports.Auth0Client=zd;exports.AuthorizationResponseMode=sn;exports.AuthorizationResponseType=Ut;exports.CodeChallengeMethod=ss;exports.GrantType=yr;exports.LogTypes=_e;exports.applicationInsertSchema=fr;exports.applicationSchema=Yt;exports.auth0UserResponseSchema=ft;exports.authParamsSchema=Ka;exports.baseUserSchema=rs;exports.bordersSchema=Bd;exports.brandingSchema=wo;exports.codeInsertSchema=Ed;exports.codeSchema=Jh;exports.codeTypeSchema=Id;exports.colorsSchema=Td;exports.connectionInsertSchema=hr;exports.connectionSchema=Bt;exports.domainInsertSchema=$d;exports.domainSchema=Zh;exports.emailProviderSchema=tr;exports.fontDetailsSchema=Jt;exports.fontsSchema=Rd;exports.hookInsertSchema=_r;exports.hookSchema=An;exports.identitySchema=Sd;exports.init=V3;exports.jwksKeySchema=Cd;exports.jwksSchema=Wa;exports.logSchema=mr;exports.loginInsertSchema=jd;exports.loginSchema=Yh;exports.openIDConfigurationSchema=bo;exports.pageBackgroundSchema=Pd;exports.parseUserId=tg;exports.passwordInsertSchema=Nd;exports.passwordSchema=Qh;exports.profileDataSchema=xd;exports.promptSettingSchema=er;exports.samlpAddon=Ad;exports.sessionInsertSchema=Od;exports.sessionSchema=Ga;exports.signingKeySchema=ko;exports.tenantInsertSchema=gr;exports.tenantSchema=En;exports.themeInsertSchema=Ud;exports.themeSchema=eg;exports.totalsSchema=Dt;exports.userInsertSchema=pr;exports.userResponseSchema=Fh;exports.userSchema=qa;exports.vendorSettingsSchema=Wh;exports.widgetSchema=Ld;
|