authhero 0.74.1 → 0.74.2
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 +20 -20
- package/dist/authhero.mjs +674 -670
- package/package.json +1 -1
package/dist/authhero.cjs
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
"use strict";var wm=Object.defineProperty;var bm=(t,e,n)=>e in t?wm(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n;var ee=(t,e,n)=>bm(t,typeof e!="symbol"?e+"":e,n);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const a=require("@hono/zod-openapi"),ne=t=>typeof t=="string",xr=()=>{let t,e;const n=new Promise((r,i)=>{t=r,e=i});return n.resolve=t,n.reject=e,n},bu=t=>t==null?"":""+t,km=(t,e,n)=>{t.forEach(r=>{e[r]&&(n[r]=e[r])})},xm=/###/g,ku=t=>t&&t.indexOf("###")>-1?t.replace(xm,"."):t,xu=t=>!t||ne(t),$r=(t,e,n)=>{const r=ne(e)?e.split("."):e;let i=0;for(;i<r.length-1;){if(xu(t))return{};const s=ku(r[i]);!t[s]&&n&&(t[s]=new n),Object.prototype.hasOwnProperty.call(t,s)?t=t[s]:t={},++i}return xu(t)?{}:{obj:t,k:ku(r[i])}},Su=(t,e,n)=>{const{obj:r,k:i}=$r(t,e,Object);if(r!==void 0||e.length===1){r[i]=n;return}let s=e[e.length-1],o=e.slice(0,e.length-1),c=$r(t,o,Object);for(;c.obj===void 0&&o.length;)s=`${o[o.length-1]}.${s}`,o=o.slice(0,o.length-1),c=$r(t,o,Object),c!=null&&c.obj&&typeof c.obj[`${c.k}.${s}`]<"u"&&(c.obj=void 0);c.obj[`${c.k}.${s}`]=n},Sm=(t,e,n,r)=>{const{obj:i,k:s}=$r(t,e,Object);i[s]=i[s]||[],i[s].push(n)},Yi=(t,e)=>{const{obj:n,k:r}=$r(t,e);if(n&&Object.prototype.hasOwnProperty.call(n,r))return n[r]},Am=(t,e,n)=>{const r=Yi(t,n);return r!==void 0?r:Yi(e,n)},Zp=(t,e,n)=>{for(const r in e)r!=="__proto__"&&r!=="constructor"&&(r in t?ne(t[r])||t[r]instanceof String||ne(e[r])||e[r]instanceof String?n&&(t[r]=e[r]):Zp(t[r],e[r],n):t[r]=e[r]);return t},Ln=t=>t.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,"\\$&");var Em={"&":"&","<":"<",">":">",'"':""","'":"'","/":"/"};const Im=t=>ne(t)?t.replace(/[&<>"'\/]/g,e=>Em[e]):t;class Cm{constructor(e){this.capacity=e,this.regExpMap=new Map,this.regExpQueue=[]}getRegExp(e){const n=this.regExpMap.get(e);if(n!==void 0)return n;const r=new RegExp(e);return this.regExpQueue.length===this.capacity&&this.regExpMap.delete(this.regExpQueue.shift()),this.regExpMap.set(e,r),this.regExpQueue.push(e),r}}const Nm=[" ",",","?","!",";"],zm=new Cm(20),$m=(t,e,n)=>{e=e||"",n=n||"";const r=Nm.filter(o=>e.indexOf(o)<0&&n.indexOf(o)<0);if(r.length===0)return!0;const i=zm.getRegExp(`(${r.map(o=>o==="?"?"\\?":o).join("|")})`);let s=!i.test(t);if(!s){const o=t.indexOf(n);o>0&&!i.test(t.substring(0,o))&&(s=!0)}return s},ba=function(t,e){let n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:".";if(!t)return;if(t[e])return Object.prototype.hasOwnProperty.call(t,e)?t[e]:void 0;const r=e.split(n);let i=t;for(let s=0;s<r.length;){if(!i||typeof i!="object")return;let o,c="";for(let l=s;l<r.length;++l)if(l!==s&&(c+=n),c+=r[l],o=i[c],o!==void 0){if(["string","number","boolean"].indexOf(typeof o)>-1&&l<r.length-1)continue;s+=l-s+1;break}i=o}return i},Xi=t=>t==null?void 0:t.replace("_","-"),jm={type:"logger",log(t){this.output("log",t)},warn(t){this.output("warn",t)},error(t){this.output("error",t)},output(t,e){var n,r;(r=(n=console==null?void 0:console[t])==null?void 0:n.apply)==null||r.call(n,console,e)}};class Qi{constructor(e){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};this.init(e,n)}init(e){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};this.prefix=n.prefix||"i18next:",this.logger=e||jm,this.options=n,this.debug=n.debug}log(){for(var e=arguments.length,n=new Array(e),r=0;r<e;r++)n[r]=arguments[r];return this.forward(n,"log","",!0)}warn(){for(var e=arguments.length,n=new Array(e),r=0;r<e;r++)n[r]=arguments[r];return this.forward(n,"warn","",!0)}error(){for(var e=arguments.length,n=new Array(e),r=0;r<e;r++)n[r]=arguments[r];return this.forward(n,"error","")}deprecate(){for(var e=arguments.length,n=new Array(e),r=0;r<e;r++)n[r]=arguments[r];return this.forward(n,"warn","WARNING DEPRECATED: ",!0)}forward(e,n,r,i){return i&&!this.debug?null:(ne(e[0])&&(e[0]=`${r}${this.prefix} ${e[0]}`),this.logger[n](e))}create(e){return new Qi(this.logger,{prefix:`${this.prefix}:${e}:`,...this.options})}clone(e){return e=e||this.options,e.prefix=e.prefix||this.prefix,new Qi(this.logger,e)}}var kt=new Qi;class Ws{constructor(){this.observers={}}on(e,n){return e.split(" ").forEach(r=>{this.observers[r]||(this.observers[r]=new Map);const i=this.observers[r].get(n)||0;this.observers[r].set(n,i+1)}),this}off(e,n){if(this.observers[e]){if(!n){delete this.observers[e];return}this.observers[e].delete(n)}}emit(e){for(var n=arguments.length,r=new Array(n>1?n-1:0),i=1;i<n;i++)r[i-1]=arguments[i];this.observers[e]&&Array.from(this.observers[e].entries()).forEach(o=>{let[c,l]=o;for(let u=0;u<l;u++)c(...r)}),this.observers["*"]&&Array.from(this.observers["*"].entries()).forEach(o=>{let[c,l]=o;for(let u=0;u<l;u++)c.apply(c,[e,...r])})}}class Au extends Ws{constructor(e){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{ns:["translation"],defaultNS:"translation"};super(),this.data=e||{},this.options=n,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 n=this.options.ns.indexOf(e);n>-1&&this.options.ns.splice(n,1)}getResource(e,n,r){var u,p;let i=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{};const s=i.keySeparator!==void 0?i.keySeparator:this.options.keySeparator,o=i.ignoreJSONStructure!==void 0?i.ignoreJSONStructure:this.options.ignoreJSONStructure;let c;e.indexOf(".")>-1?c=e.split("."):(c=[e,n],r&&(Array.isArray(r)?c.push(...r):ne(r)&&s?c.push(...r.split(s)):c.push(r)));const l=Yi(this.data,c);return!l&&!n&&!r&&e.indexOf(".")>-1&&(e=c[0],n=c[1],r=c.slice(2).join(".")),l||!o||!ne(r)?l:ba((p=(u=this.data)==null?void 0:u[e])==null?void 0:p[n],r,s)}addResource(e,n,r,i){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,n];r&&(c=c.concat(o?r.split(o):r)),e.indexOf(".")>-1&&(c=e.split("."),i=n,n=c[1]),this.addNamespaces(n),Su(this.data,c,i),s.silent||this.emit("added",e,n,r,i)}addResources(e,n,r){let i=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{silent:!1};for(const s in r)(ne(r[s])||Array.isArray(r[s]))&&this.addResource(e,n,s,r[s],{silent:!0});i.silent||this.emit("added",e,n,r)}addResourceBundle(e,n,r,i,s){let o=arguments.length>5&&arguments[5]!==void 0?arguments[5]:{silent:!1,skipCopy:!1},c=[e,n];e.indexOf(".")>-1&&(c=e.split("."),i=r,r=n,n=c[1]),this.addNamespaces(n);let l=Yi(this.data,c)||{};o.skipCopy||(r=JSON.parse(JSON.stringify(r))),i?Zp(l,r,s):l={...l,...r},Su(this.data,c,l),o.silent||this.emit("added",e,n,r)}removeResourceBundle(e,n){this.hasResourceBundle(e,n)&&delete this.data[e][n],this.removeNamespaces(n),this.emit("removed",e,n)}hasResourceBundle(e,n){return this.getResource(e,n)!==void 0}getResourceBundle(e,n){return n||(n=this.options.defaultNS),this.getResource(e,n)}getDataByLanguage(e){return this.data[e]}hasLanguageSomeTranslations(e){const n=this.getDataByLanguage(e);return!!(n&&Object.keys(n)||[]).find(i=>n[i]&&Object.keys(n[i]).length>0)}toJSON(){return this.data}}var Yp={processors:{},addPostProcessor(t){this.processors[t.name]=t},handle(t,e,n,r,i){return t.forEach(s=>{var o;e=((o=this.processors[s])==null?void 0:o.process(e,n,r,i))??e}),e}};const Eu={};class es extends Ws{constructor(e){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};super(),km(["resourceStore","languageUtils","pluralResolver","interpolator","backendConnector","i18nFormat","utils"],e,this),this.options=n,this.options.keySeparator===void 0&&(this.options.keySeparator="."),this.logger=kt.create("translator")}changeLanguage(e){e&&(this.language=e)}exists(e){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{interpolation:{}};if(e==null)return!1;const r=this.resolve(e,n);return(r==null?void 0:r.res)!==void 0}extractFromKey(e,n){let r=n.nsSeparator!==void 0?n.nsSeparator:this.options.nsSeparator;r===void 0&&(r=":");const i=n.keySeparator!==void 0?n.keySeparator:this.options.keySeparator;let s=n.ns||this.options.defaultNS||[];const o=r&&e.indexOf(r)>-1,c=!this.options.userDefinedKeySeparator&&!n.keySeparator&&!this.options.userDefinedNsSeparator&&!n.nsSeparator&&!$m(e,r,i);if(o&&!c){const l=e.match(this.interpolator.nestingRegexp);if(l&&l.length>0)return{key:e,namespaces:ne(s)?[s]:s};const u=e.split(r);(r!==i||r===i&&this.options.ns.indexOf(u[0])>-1)&&(s=u.shift()),e=u.join(i)}return{key:e,namespaces:ne(s)?[s]:s}}translate(e,n,r){if(typeof n!="object"&&this.options.overloadTranslationOptionHandler&&(n=this.options.overloadTranslationOptionHandler(arguments)),typeof n=="object"&&(n={...n}),n||(n={}),e==null)return"";Array.isArray(e)||(e=[String(e)]);const i=n.returnDetails!==void 0?n.returnDetails:this.options.returnDetails,s=n.keySeparator!==void 0?n.keySeparator:this.options.keySeparator,{key:o,namespaces:c}=this.extractFromKey(e[e.length-1],n),l=c[c.length-1],u=n.lng||this.language,p=n.appendNamespaceToCIMode||this.options.appendNamespaceToCIMode;if((u==null?void 0:u.toLowerCase())==="cimode"){if(p){const R=n.nsSeparator||this.options.nsSeparator;return i?{res:`${l}${R}${o}`,usedKey:o,exactUsedKey:o,usedLng:u,usedNS:l,usedParams:this.getUsedParamsDetails(n)}:`${l}${R}${o}`}return i?{res:o,usedKey:o,exactUsedKey:o,usedLng:u,usedNS:l,usedParams:this.getUsedParamsDetails(n)}:o}const h=this.resolve(e,n);let m=h==null?void 0:h.res;const v=(h==null?void 0:h.usedKey)||o,f=(h==null?void 0:h.exactUsedKey)||o,_=Object.prototype.toString.apply(m),w=["[object Number]","[object Function]","[object RegExp]"],S=n.joinArrays!==void 0?n.joinArrays:this.options.joinArrays,N=!this.i18nFormat||this.i18nFormat.handleAsObject,B=!ne(m)&&typeof m!="boolean"&&typeof m!="number";if(N&&m&&B&&w.indexOf(_)<0&&!(ne(S)&&Array.isArray(m))){if(!n.returnObjects&&!this.options.returnObjects){this.options.returnedObjectHandler||this.logger.warn("accessing an object - but returnObjects options is not enabled!");const R=this.options.returnedObjectHandler?this.options.returnedObjectHandler(v,m,{...n,ns:c}):`key '${o} (${this.language})' returned an object instead of string.`;return i?(h.res=R,h.usedParams=this.getUsedParamsDetails(n),h):R}if(s){const R=Array.isArray(m),te=R?[]:{},fe=R?f:v;for(const le in m)if(Object.prototype.hasOwnProperty.call(m,le)){const Ve=`${fe}${s}${le}`;te[le]=this.translate(Ve,{...n,joinArrays:!1,ns:c}),te[le]===Ve&&(te[le]=m[le])}m=te}}else if(N&&ne(S)&&Array.isArray(m))m=m.join(S),m&&(m=this.extendTranslation(m,e,n,r));else{let R=!1,te=!1;const fe=n.count!==void 0&&!ne(n.count),le=es.hasDefaultValue(n),Ve=fe?this.pluralResolver.getSuffix(u,n.count,n):"",at=n.ordinal&&fe?this.pluralResolver.getSuffix(u,n.count,{ordinal:!1}):"",Ge=fe&&!n.ordinal&&n.count===0,$=Ge&&n[`defaultValue${this.options.pluralSeparator}zero`]||n[`defaultValue${Ve}`]||n[`defaultValue${at}`]||n.defaultValue;!this.isValidLookup(m)&&le&&(R=!0,m=$),this.isValidLookup(m)||(te=!0,m=o);const E=(n.missingKeyNoValueFallbackToKey||this.options.missingKeyNoValueFallbackToKey)&&te?void 0:m,x=le&&$!==m&&this.options.updateMissing;if(te||R||x){if(this.logger.log(x?"updateKey":"missingKey",u,l,o,x?$:m),s){const X=this.resolve(o,{...n,keySeparator:!1});X&&X.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 k=[];const j=this.languageUtils.getFallbackCodes(this.options.fallbackLng,n.lng||this.language);if(this.options.saveMissingTo==="fallback"&&j&&j[0])for(let X=0;X<j.length;X++)k.push(j[X]);else this.options.saveMissingTo==="all"?k=this.languageUtils.toResolveHierarchy(n.lng||this.language):k.push(n.lng||this.language);const L=(X,G,ie)=>{var H;const ce=le&&ie!==m?ie:E;this.options.missingKeyHandler?this.options.missingKeyHandler(X,l,G,ce,x,n):(H=this.backendConnector)!=null&&H.saveMissing&&this.backendConnector.saveMissing(X,l,G,ce,x,n),this.emit("missingKey",X,l,G,m)};this.options.saveMissing&&(this.options.saveMissingPlurals&&fe?k.forEach(X=>{const G=this.pluralResolver.getSuffixes(X,n);Ge&&n[`defaultValue${this.options.pluralSeparator}zero`]&&G.indexOf(`${this.options.pluralSeparator}zero`)<0&&G.push(`${this.options.pluralSeparator}zero`),G.forEach(ie=>{L([X],o+ie,n[`defaultValue${ie}`]||$)})}):L(k,o,$))}m=this.extendTranslation(m,e,n,h,r),te&&m===o&&this.options.appendNamespaceToMissingKey&&(m=`${l}:${o}`),(te||R)&&this.options.parseMissingKeyHandler&&(m=this.options.parseMissingKeyHandler(this.options.appendNamespaceToMissingKey?`${l}:${o}`:o,R?m:void 0))}return i?(h.res=m,h.usedParams=this.getUsedParamsDetails(n),h):m}extendTranslation(e,n,r,i,s){var u,p;var o=this;if((u=this.i18nFormat)!=null&&u.parse)e=this.i18nFormat.parse(e,{...this.options.interpolation.defaultVariables,...r},r.lng||this.language||i.usedLng,i.usedNS,i.usedKey,{resolved:i});else if(!r.skipInterpolation){r.interpolation&&this.interpolator.init({...r,interpolation:{...this.options.interpolation,...r.interpolation}});const h=ne(e)&&(((p=r==null?void 0:r.interpolation)==null?void 0:p.skipOnVariables)!==void 0?r.interpolation.skipOnVariables:this.options.interpolation.skipOnVariables);let m;if(h){const f=e.match(this.interpolator.nestingRegexp);m=f&&f.length}let v=r.replace&&!ne(r.replace)?r.replace:r;if(this.options.interpolation.defaultVariables&&(v={...this.options.interpolation.defaultVariables,...v}),e=this.interpolator.interpolate(e,v,r.lng||this.language||i.usedLng,r),h){const f=e.match(this.interpolator.nestingRegexp),_=f&&f.length;m<_&&(r.nest=!1)}!r.lng&&i&&i.res&&(r.lng=this.language||i.usedLng),r.nest!==!1&&(e=this.interpolator.nest(e,function(){for(var f=arguments.length,_=new Array(f),w=0;w<f;w++)_[w]=arguments[w];return(s==null?void 0:s[0])===_[0]&&!r.context?(o.logger.warn(`It seems you are nesting recursively key: ${_[0]} in key: ${n[0]}`),null):o.translate(..._,n)},r)),r.interpolation&&this.interpolator.reset()}const c=r.postProcess||this.options.postProcess,l=ne(c)?[c]:c;return e!=null&&(l!=null&&l.length)&&r.applyPostProcessor!==!1&&(e=Yp.handle(l,e,n,this.options&&this.options.postProcessPassResolved?{i18nResolved:{...i,usedParams:this.getUsedParamsDetails(r)},...r}:r,this)),e}resolve(e){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},r,i,s,o,c;return ne(e)&&(e=[e]),e.forEach(l=>{if(this.isValidLookup(r))return;const u=this.extractFromKey(l,n),p=u.key;i=p;let h=u.namespaces;this.options.fallbackNS&&(h=h.concat(this.options.fallbackNS));const m=n.count!==void 0&&!ne(n.count),v=m&&!n.ordinal&&n.count===0,f=n.context!==void 0&&(ne(n.context)||typeof n.context=="number")&&n.context!=="",_=n.lngs?n.lngs:this.languageUtils.toResolveHierarchy(n.lng||this.language,n.fallbackLng);h.forEach(w=>{var S,N;this.isValidLookup(r)||(c=w,!Eu[`${_[0]}-${w}`]&&((S=this.utils)!=null&&S.hasLoadedNamespace)&&!((N=this.utils)!=null&&N.hasLoadedNamespace(c))&&(Eu[`${_[0]}-${w}`]=!0,this.logger.warn(`key "${i}" 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(B=>{var fe;if(this.isValidLookup(r))return;o=B;const R=[p];if((fe=this.i18nFormat)!=null&&fe.addLookupKeys)this.i18nFormat.addLookupKeys(R,p,B,w,n);else{let le;m&&(le=this.pluralResolver.getSuffix(B,n.count,n));const Ve=`${this.options.pluralSeparator}zero`,at=`${this.options.pluralSeparator}ordinal${this.options.pluralSeparator}`;if(m&&(R.push(p+le),n.ordinal&&le.indexOf(at)===0&&R.push(p+le.replace(at,this.options.pluralSeparator)),v&&R.push(p+Ve)),f){const Ge=`${p}${this.options.contextSeparator}${n.context}`;R.push(Ge),m&&(R.push(Ge+le),n.ordinal&&le.indexOf(at)===0&&R.push(Ge+le.replace(at,this.options.pluralSeparator)),v&&R.push(Ge+Ve))}}let te;for(;te=R.pop();)this.isValidLookup(r)||(s=te,r=this.getResource(B,w,te,n))}))})}),{res:r,usedKey:i,exactUsedKey:s,usedLng:o,usedNS:c}}isValidLookup(e){return e!==void 0&&!(!this.options.returnNull&&e===null)&&!(!this.options.returnEmptyString&&e==="")}getResource(e,n,r){var s;let i=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{};return(s=this.i18nFormat)!=null&&s.getResource?this.i18nFormat.getResource(e,n,r,i):this.resourceStore.getResource(e,n,r,i)}getUsedParamsDetails(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};const n=["defaultValue","ordinal","context","replace","lng","lngs","fallbackLng","ns","keySeparator","nsSeparator","returnObjects","returnDetails","joinArrays","postProcess","interpolation"],r=e.replace&&!ne(e.replace);let i=r?e.replace:e;if(r&&typeof e.count<"u"&&(i.count=e.count),this.options.interpolation.defaultVariables&&(i={...this.options.interpolation.defaultVariables,...i}),!r){i={...i};for(const s of n)delete i[s]}return i}static hasDefaultValue(e){const n="defaultValue";for(const r in e)if(Object.prototype.hasOwnProperty.call(e,r)&&n===r.substring(0,n.length)&&e[r]!==void 0)return!0;return!1}}class Iu{constructor(e){this.options=e,this.supportedLngs=this.options.supportedLngs||!1,this.logger=kt.create("languageUtils")}getScriptPartFromCode(e){if(e=Xi(e),!e||e.indexOf("-")<0)return null;const n=e.split("-");return n.length===2||(n.pop(),n[n.length-1].toLowerCase()==="x")?null:this.formatLanguageCode(n.join("-"))}getLanguagePartFromCode(e){if(e=Xi(e),!e||e.indexOf("-")<0)return e;const n=e.split("-");return this.formatLanguageCode(n[0])}formatLanguageCode(e){if(ne(e)&&e.indexOf("-")>-1){let n;try{n=Intl.getCanonicalLocales(e)[0]}catch{}return n&&this.options.lowerCaseLng&&(n=n.toLowerCase()),n||(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 n;return e.forEach(r=>{if(n)return;const i=this.formatLanguageCode(r);(!this.options.supportedLngs||this.isSupportedCode(i))&&(n=i)}),!n&&this.options.supportedLngs&&e.forEach(r=>{if(n)return;const i=this.getLanguagePartFromCode(r);if(this.isSupportedCode(i))return n=i;n=this.options.supportedLngs.find(s=>{if(s===i)return s;if(!(s.indexOf("-")<0&&i.indexOf("-")<0)&&(s.indexOf("-")>0&&i.indexOf("-")<0&&s.substring(0,s.indexOf("-"))===i||s.indexOf(i)===0&&i.length>1))return s})}),n||(n=this.getFallbackCodes(this.options.fallbackLng)[0]),n}getFallbackCodes(e,n){if(!e)return[];if(typeof e=="function"&&(e=e(n)),ne(e)&&(e=[e]),Array.isArray(e))return e;if(!n)return e.default||[];let r=e[n];return r||(r=e[this.getScriptPartFromCode(n)]),r||(r=e[this.formatLanguageCode(n)]),r||(r=e[this.getLanguagePartFromCode(n)]),r||(r=e.default),r||[]}toResolveHierarchy(e,n){const r=this.getFallbackCodes(n||this.options.fallbackLng||[],e),i=[],s=o=>{o&&(this.isSupportedCode(o)?i.push(o):this.logger.warn(`rejecting language code not found in supportedLngs: ${o}`))};return ne(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))):ne(e)&&s(this.formatLanguageCode(e)),r.forEach(o=>{i.indexOf(o)<0&&s(this.formatLanguageCode(o))}),i}}const Cu={zero:0,one:1,two:2,few:3,many:4,other:5},Nu={select:t=>t===1?"one":"other",resolvedOptions:()=>({pluralCategories:["one","other"]})};class Om{constructor(e){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};this.languageUtils=e,this.options=n,this.logger=kt.create("pluralResolver"),this.pluralRulesCache={}}addRule(e,n){this.rules[e]=n}clearCache(){this.pluralRulesCache={}}getRule(e){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};const r=Xi(e==="dev"?"en":e),i=n.ordinal?"ordinal":"cardinal",s=JSON.stringify({cleanedCode:r,type:i});if(s in this.pluralRulesCache)return this.pluralRulesCache[s];let o;try{o=new Intl.PluralRules(r,{type:i})}catch{if(!Intl)return this.logger.error("No Intl support, please use an Intl polyfill!"),Nu;if(!e.match(/-|_/))return Nu;const l=this.languageUtils.getLanguagePartFromCode(e);o=this.getRule(l,n)}return this.pluralRulesCache[s]=o,o}needsPlural(e){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},r=this.getRule(e,n);return r||(r=this.getRule("dev",n)),(r==null?void 0:r.resolvedOptions().pluralCategories.length)>1}getPluralFormsOfKey(e,n){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};return this.getSuffixes(e,r).map(i=>`${n}${i}`)}getSuffixes(e){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},r=this.getRule(e,n);return r||(r=this.getRule("dev",n)),r?r.resolvedOptions().pluralCategories.sort((i,s)=>Cu[i]-Cu[s]).map(i=>`${this.options.prepend}${n.ordinal?`ordinal${this.options.prepend}`:""}${i}`):[]}getSuffix(e,n){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};const i=this.getRule(e,r);return i?`${this.options.prepend}${r.ordinal?`ordinal${this.options.prepend}`:""}${i.select(n)}`:(this.logger.warn(`no plural rule found for: ${e}`),this.getSuffix("dev",n,r))}}const zu=function(t,e,n){let r=arguments.length>3&&arguments[3]!==void 0?arguments[3]:".",i=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!0,s=Am(t,e,n);return!s&&i&&ne(n)&&(s=ba(t,n,r),s===void 0&&(s=ba(e,n,r))),s},Xo=t=>t.replace(/\$/g,"$$$$");class Bm{constructor(){var n;let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};this.logger=kt.create("interpolator"),this.options=e,this.format=((n=e==null?void 0:e.interpolation)==null?void 0:n.format)||(r=>r),this.init(e)}init(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};e.interpolation||(e.interpolation={escapeValue:!0});const{escape:n,escapeValue:r,useRawValueToEscape:i,prefix:s,prefixEscaped:o,suffix:c,suffixEscaped:l,formatSeparator:u,unescapeSuffix:p,unescapePrefix:h,nestingPrefix:m,nestingPrefixEscaped:v,nestingSuffix:f,nestingSuffixEscaped:_,nestingOptionsSeparator:w,maxReplaces:S,alwaysFormat:N}=e.interpolation;this.escape=n!==void 0?n:Im,this.escapeValue=r!==void 0?r:!0,this.useRawValueToEscape=i!==void 0?i:!1,this.prefix=s?Ln(s):o||"{{",this.suffix=c?Ln(c):l||"}}",this.formatSeparator=u||",",this.unescapePrefix=p?"":h||"-",this.unescapeSuffix=this.unescapePrefix?"":p||"",this.nestingPrefix=m?Ln(m):v||Ln("$t("),this.nestingSuffix=f?Ln(f):_||Ln(")"),this.nestingOptionsSeparator=w||",",this.maxReplaces=S||1e3,this.alwaysFormat=N!==void 0?N:!1,this.resetRegExp()}reset(){this.options&&this.init(this.options)}resetRegExp(){const e=(n,r)=>(n==null?void 0:n.source)===r?(n.lastIndex=0,n):new RegExp(r,"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,n,r,i){var v;let s,o,c;const l=this.options&&this.options.interpolation&&this.options.interpolation.defaultVariables||{},u=f=>{if(f.indexOf(this.formatSeparator)<0){const N=zu(n,l,f,this.options.keySeparator,this.options.ignoreJSONStructure);return this.alwaysFormat?this.format(N,void 0,r,{...i,...n,interpolationkey:f}):N}const _=f.split(this.formatSeparator),w=_.shift().trim(),S=_.join(this.formatSeparator).trim();return this.format(zu(n,l,w,this.options.keySeparator,this.options.ignoreJSONStructure),S,r,{...i,...n,interpolationkey:w})};this.resetRegExp();const p=(i==null?void 0:i.missingInterpolationHandler)||this.options.missingInterpolationHandler,h=((v=i==null?void 0:i.interpolation)==null?void 0:v.skipOnVariables)!==void 0?i.interpolation.skipOnVariables:this.options.interpolation.skipOnVariables;return[{regex:this.regexpUnescape,safeValue:f=>Xo(f)},{regex:this.regexp,safeValue:f=>this.escapeValue?Xo(this.escape(f)):Xo(f)}].forEach(f=>{for(c=0;s=f.regex.exec(e);){const _=s[1].trim();if(o=u(_),o===void 0)if(typeof p=="function"){const S=p(e,s,i);o=ne(S)?S:""}else if(i&&Object.prototype.hasOwnProperty.call(i,_))o="";else if(h){o=s[0];continue}else this.logger.warn(`missed to pass in variable ${_} for interpolating ${e}`),o="";else!ne(o)&&!this.useRawValueToEscape&&(o=bu(o));const w=f.safeValue(o);if(e=e.replace(s[0],w),h?(f.regex.lastIndex+=o.length,f.regex.lastIndex-=s[0].length):f.regex.lastIndex=0,c++,c>=this.maxReplaces)break}}),e}nest(e,n){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},i,s,o;const c=(l,u)=>{const p=this.nestingOptionsSeparator;if(l.indexOf(p)<0)return l;const h=l.split(new RegExp(`${p}[ ]*{`));let m=`{${h[1]}`;l=h[0],m=this.interpolate(m,o);const v=m.match(/'/g),f=m.match(/"/g);(((v==null?void 0:v.length)??0)%2===0&&!f||f.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(;i=this.nestingRegexp.exec(e);){let l=[];o={...r},o=o.replace&&!ne(o.replace)?o.replace:o,o.applyPostProcessor=!1,delete o.defaultValue;let u=!1;if(i[0].indexOf(this.formatSeparator)!==-1&&!/{.*}/.test(i[1])){const p=i[1].split(this.formatSeparator).map(h=>h.trim());i[1]=p.shift(),l=p,u=!0}if(s=n(c.call(this,i[1].trim(),o),o),s&&i[0]===e&&!ne(s))return s;ne(s)||(s=bu(s)),s||(this.logger.warn(`missed to resolve ${i[1]} for nesting ${e}`),s=""),u&&(s=l.reduce((p,h)=>this.format(p,h,r.lng,{...r,interpolationkey:i[1].trim()}),s.trim())),e=e.replace(i[0],s),this.regexp.lastIndex=0}return e}}const Tm=t=>{let e=t.toLowerCase().trim();const n={};if(t.indexOf("(")>-1){const r=t.split("(");e=r[0].toLowerCase().trim();const i=r[1].substring(0,r[1].length-1);e==="currency"&&i.indexOf(":")<0?n.currency||(n.currency=i.trim()):e==="relativetime"&&i.indexOf(":")<0?n.range||(n.range=i.trim()):i.split(";").forEach(o=>{if(o){const[c,...l]=o.split(":"),u=l.join(":").trim().replace(/^'+|'+$/g,""),p=c.trim();n[p]||(n[p]=u),u==="false"&&(n[p]=!1),u==="true"&&(n[p]=!0),isNaN(u)||(n[p]=parseInt(u,10))}})}return{formatName:e,formatOptions:n}},Un=t=>{const e={};return(n,r,i)=>{let s=i;i&&i.interpolationkey&&i.formatParams&&i.formatParams[i.interpolationkey]&&i[i.interpolationkey]&&(s={...s,[i.interpolationkey]:void 0});const o=r+JSON.stringify(s);let c=e[o];return c||(c=t(Xi(r),i),e[o]=c),c(n)}};class Pm{constructor(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};this.logger=kt.create("formatter"),this.options=e,this.formats={number:Un((n,r)=>{const i=new Intl.NumberFormat(n,{...r});return s=>i.format(s)}),currency:Un((n,r)=>{const i=new Intl.NumberFormat(n,{...r,style:"currency"});return s=>i.format(s)}),datetime:Un((n,r)=>{const i=new Intl.DateTimeFormat(n,{...r});return s=>i.format(s)}),relativetime:Un((n,r)=>{const i=new Intl.RelativeTimeFormat(n,{...r});return s=>i.format(s,r.range||"day")}),list:Un((n,r)=>{const i=new Intl.ListFormat(n,{...r});return s=>i.format(s)})},this.init(e)}init(e){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{interpolation:{}};this.formatSeparator=n.interpolation.formatSeparator||","}add(e,n){this.formats[e.toLowerCase().trim()]=n}addCached(e,n){this.formats[e.toLowerCase().trim()]=Un(n)}format(e,n,r){let i=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{};const s=n.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 h;const{formatName:u,formatOptions:p}=Tm(l);if(this.formats[u]){let m=c;try{const v=((h=i==null?void 0:i.formatParams)==null?void 0:h[i.interpolationkey])||{},f=v.locale||v.lng||i.locale||i.lng||r;m=this.formats[u](c,f,{...p,...i,...v})}catch(v){this.logger.warn(v)}return m}else this.logger.warn(`there was no format function for ${u}`);return c},e)}}const Rm=(t,e)=>{t.pending[e]!==void 0&&(delete t.pending[e],t.pendingCount--)};class Lm extends Ws{constructor(e,n,r){var s,o;let i=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{};super(),this.backend=e,this.store=n,this.services=r,this.languageUtils=r.languageUtils,this.options=i,this.logger=kt.create("backendConnector"),this.waitingReads=[],this.maxParallelReads=i.maxParallelReads||10,this.readingCalls=0,this.maxRetries=i.maxRetries>=0?i.maxRetries:5,this.retryTimeout=i.retryTimeout>=1?i.retryTimeout:350,this.state={},this.queue=[],(o=(s=this.backend)==null?void 0:s.init)==null||o.call(s,r,i.backend,i)}queueLoad(e,n,r,i){const s={},o={},c={},l={};return e.forEach(u=>{let p=!0;n.forEach(h=>{const m=`${u}|${h}`;!r.reload&&this.store.hasResourceBundle(u,h)?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[h]===void 0&&(l[h]=!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:i}),{toLoad:Object.keys(s),pending:Object.keys(o),toLoadLanguages:Object.keys(c),toLoadNamespaces:Object.keys(l)}}loaded(e,n,r){const i=e.split("|"),s=i[0],o=i[1];n&&this.emit("failedLoading",s,o,n),!n&&r&&this.store.addResourceBundle(s,o,r,void 0,void 0,{skipCopy:!0}),this.state[e]=n?-1:2,n&&r&&(this.state[e]=0);const c={};this.queue.forEach(l=>{Sm(l.loaded,[s],o),Rm(l,e),n&&l.errors.push(n),l.pendingCount===0&&!l.done&&(Object.keys(l.loaded).forEach(u=>{c[u]||(c[u]={});const p=l.loaded[u];p.length&&p.forEach(h=>{c[u][h]===void 0&&(c[u][h]=!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,n,r){let i=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:n,fcName:r,tried:i,wait:s,callback:o});return}this.readingCalls++;const c=(u,p)=>{if(this.readingCalls--,this.waitingReads.length>0){const h=this.waitingReads.shift();this.read(h.lng,h.ns,h.fcName,h.tried,h.wait,h.callback)}if(u&&p&&i<this.maxRetries){setTimeout(()=>{this.read.call(this,e,n,r,i+1,s*2,o)},s);return}o(u,p)},l=this.backend[r].bind(this.backend);if(l.length===2){try{const u=l(e,n);u&&typeof u.then=="function"?u.then(p=>c(null,p)).catch(c):c(null,u)}catch(u){c(u)}return}return l(e,n,c)}prepareLoading(e,n){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},i=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."),i&&i();ne(e)&&(e=this.languageUtils.toResolveHierarchy(e)),ne(n)&&(n=[n]);const s=this.queueLoad(e,n,r,i);if(!s.toLoad.length)return s.pending.length||i(),null;s.toLoad.forEach(o=>{this.loadOne(o)})}load(e,n,r){this.prepareLoading(e,n,{},r)}reload(e,n,r){this.prepareLoading(e,n,{reload:!0},r)}loadOne(e){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"";const r=e.split("|"),i=r[0],s=r[1];this.read(i,s,"read",void 0,void 0,(o,c)=>{o&&this.logger.warn(`${n}loading namespace ${s} for language ${i} failed`,o),!o&&c&&this.logger.log(`${n}loaded namespace ${s} for language ${i}`,c),this.loaded(e,o,c)})}saveMissing(e,n,r,i,s){var l,u,p,h,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&&!((h=(p=this.services)==null?void 0:p.utils)!=null&&h.hasLoadedNamespace(n))){this.logger.warn(`did not save key "${r}" as the namespace "${n}" 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(!(r==null||r==="")){if((m=this.backend)!=null&&m.create){const v={...o,isUpdate:s},f=this.backend.create.bind(this.backend);if(f.length<6)try{let _;f.length===5?_=f(e,n,r,i,v):_=f(e,n,r,i),_&&typeof _.then=="function"?_.then(w=>c(null,w)).catch(c):c(null,_)}catch(_){c(_)}else f(e,n,r,i,c,v)}!e||!e[0]||this.store.addResource(e[0],n,r,i)}}}const $u=()=>({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:t=>{let e={};if(typeof t[1]=="object"&&(e=t[1]),ne(t[1])&&(e.defaultValue=t[1]),ne(t[2])&&(e.tDescription=t[2]),typeof t[2]=="object"||typeof t[3]=="object"){const n=t[3]||t[2];Object.keys(n).forEach(r=>{e[r]=n[r]})}return e},interpolation:{escapeValue:!0,format:t=>t,prefix:"{{",suffix:"}}",formatSeparator:",",unescapePrefix:"-",nestingPrefix:"$t(",nestingSuffix:")",nestingOptionsSeparator:",",maxReplaces:1e3,skipOnVariables:!0}}),ju=t=>{var e,n;return ne(t.ns)&&(t.ns=[t.ns]),ne(t.fallbackLng)&&(t.fallbackLng=[t.fallbackLng]),ne(t.fallbackNS)&&(t.fallbackNS=[t.fallbackNS]),((n=(e=t.supportedLngs)==null?void 0:e.indexOf)==null?void 0:n.call(e,"cimode"))<0&&(t.supportedLngs=t.supportedLngs.concat(["cimode"])),typeof t.initImmediate=="boolean"&&(t.initAsync=t.initImmediate),t},zi=()=>{},Um=t=>{Object.getOwnPropertyNames(Object.getPrototypeOf(t)).forEach(n=>{typeof t[n]=="function"&&(t[n]=t[n].bind(t))})};class Ur extends Ws{constructor(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},n=arguments.length>1?arguments[1]:void 0;if(super(),this.options=ju(e),this.services={},this.logger=kt,this.modules={external:[]},Um(this),n&&!this.isInitialized&&!e.isClone){if(!this.options.initAsync)return this.init(e,n),this;setTimeout(()=>{this.init(e,n)},0)}}init(){var e=this;let n=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},r=arguments.length>1?arguments[1]:void 0;this.isInitializing=!0,typeof n=="function"&&(r=n,n={}),!n.defaultNS&&n.defaultNS!==!1&&n.ns&&(ne(n.ns)?n.defaultNS=n.ns:n.ns.indexOf("translation")<0&&(n.defaultNS=n.ns[0]));const i=$u();this.options={...i,...this.options,...ju(n)},this.options.interpolation={...i.interpolation,...this.options.interpolation},n.keySeparator!==void 0&&(this.options.userDefinedKeySeparator=n.keySeparator),n.nsSeparator!==void 0&&(this.options.userDefinedNsSeparator=n.nsSeparator);const s=p=>p?typeof p=="function"?new p:p:null;if(!this.options.isClone){this.modules.logger?kt.init(s(this.modules.logger),this.options):kt.init(null,this.options);let p;this.modules.formatter?p=this.modules.formatter:p=Pm;const h=new Iu(this.options);this.store=new Au(this.options.resources,this.options);const m=this.services;m.logger=kt,m.resourceStore=this.store,m.languageUtils=h,m.pluralResolver=new Om(h,{prepend:this.options.pluralSeparator,simplifyPluralSuffix:this.options.simplifyPluralSuffix}),p&&(!this.options.interpolation.format||this.options.interpolation.format===i.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 Bm(this.options),m.utils={hasLoadedNamespace:this.hasLoadedNamespace.bind(this)},m.backendConnector=new Lm(s(this.modules.backend),m.resourceStore,m,this.options),m.backendConnector.on("*",function(v){for(var f=arguments.length,_=new Array(f>1?f-1:0),w=1;w<f;w++)_[w-1]=arguments[w];e.emit(v,..._)}),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 es(this.services,this.options),this.translator.on("*",function(v){for(var f=arguments.length,_=new Array(f>1?f-1:0),w=1;w<f;w++)_[w-1]=arguments[w];e.emit(v,..._)}),this.modules.external.forEach(v=>{v.init&&v.init(this)})}if(this.format=this.options.interpolation.format,r||(r=zi),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=xr(),u=()=>{const p=(h,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),r(h,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 r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:zi;const i=ne(e)?e:this.language;if(typeof e=="function"&&(r=e),!this.options.resources||this.options.partialBundledLanguages){if((i==null?void 0:i.toLowerCase())==="cimode"&&(!this.options.preload||this.options.preload.length===0))return r();const c=[],l=u=>{if(!u||u==="cimode")return;this.services.languageUtils.toResolveHierarchy(u).forEach(h=>{h!=="cimode"&&c.indexOf(h)<0&&c.push(h)})};i?l(i):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),r(u)})}else r(null)}reloadResources(e,n,r){const i=xr();return typeof e=="function"&&(r=e,e=void 0),typeof n=="function"&&(r=n,n=void 0),e||(e=this.languages),n||(n=this.options.ns),r||(r=zi),this.services.backendConnector.reload(e,n,s=>{i.resolve(),r(s)}),i}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"&&Yp.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 n=0;n<this.languages.length;n++){const r=this.languages[n];if(!(["cimode","dev"].indexOf(r)>-1)&&this.store.hasLanguageSomeTranslations(r)){this.resolvedLanguage=r;break}}}changeLanguage(e,n){var r=this;this.isLanguageChangingTo=e;const i=xr();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,i.resolve(function(){return r.t(...arguments)}),n&&n(l,function(){return r.t(...arguments)})},c=l=>{var p,h;!e&&!l&&this.services.languageDetector&&(l=[]);const u=ne(l)?l:this.services.languageUtils.getBestMatchFromCodes(l);u&&(this.language||s(u),this.translator.language||this.translator.changeLanguage(u),(h=(p=this.services.languageDetector)==null?void 0:p.cacheUserLanguage)==null||h.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),i}getFixedT(e,n,r){var i=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),h=2;h<u;h++)p[h-2]=arguments[h];l=i.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||r||s.keyPrefix);const m=i.options.keySeparator||".";let v;return l.keyPrefix&&Array.isArray(o)?v=o.map(f=>`${l.keyPrefix}${m}${f}`):v=l.keyPrefix?`${l.keyPrefix}${m}${o}`:o,i.t(v,l)};return ne(e)?s.lng=e:s.lngs=e,s.ns=n,s.keyPrefix=r,s}t(){var i;for(var e=arguments.length,n=new Array(e),r=0;r<e;r++)n[r]=arguments[r];return(i=this.translator)==null?void 0:i.translate(...n)}exists(){var i;for(var e=arguments.length,n=new Array(e),r=0;r<e;r++)n[r]=arguments[r];return(i=this.translator)==null?void 0:i.exists(...n)}setDefaultNamespace(e){this.options.defaultNS=e}hasLoadedNamespace(e){let n=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 r=n.lng||this.resolvedLanguage||this.languages[0],i=this.options?this.options.fallbackLng:!1,s=this.languages[this.languages.length-1];if(r.toLowerCase()==="cimode")return!0;const o=(c,l)=>{const u=this.services.backendConnector.state[`${c}|${l}`];return u===-1||u===0||u===2};if(n.precheck){const c=n.precheck(this,o);if(c!==void 0)return c}return!!(this.hasResourceBundle(r,e)||!this.services.backendConnector.backend||this.options.resources&&!this.options.partialBundledLanguages||o(r,e)&&(!i||o(s,e)))}loadNamespaces(e,n){const r=xr();return this.options.ns?(ne(e)&&(e=[e]),e.forEach(i=>{this.options.ns.indexOf(i)<0&&this.options.ns.push(i)}),this.loadResources(i=>{r.resolve(),n&&n(i)}),r):(n&&n(),Promise.resolve())}loadLanguages(e,n){const r=xr();ne(e)&&(e=[e]);const i=this.options.preload||[],s=e.filter(o=>i.indexOf(o)<0&&this.services.languageUtils.isSupportedCode(o));return s.length?(this.options.preload=i.concat(s),this.loadResources(o=>{r.resolve(),n&&n(o)}),r):(n&&n(),Promise.resolve())}dir(e){var i,s;if(e||(e=this.resolvedLanguage||(((i=this.languages)==null?void 0:i.length)>0?this.languages[0]:this.language)),!e)return"rtl";const n=["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"],r=((s=this.services)==null?void 0:s.languageUtils)||new Iu($u());return n.indexOf(r.getLanguagePartFromCode(e))>-1||e.toLowerCase().indexOf("-arab")>1?"rtl":"ltr"}static createInstance(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},n=arguments.length>1?arguments[1]:void 0;return new Ur(e,n)}cloneInstance(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:zi;const r=e.forkResourceStore;r&&delete e.forkResourceStore;const i={...this.options,...e,isClone:!0},s=new Ur(i);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)},r){const c=Object.keys(this.store.data).reduce((l,u)=>(l[u]={...this.store.data[u]},Object.keys(l[u]).reduce((p,h)=>(p[h]={...l[u][h]},p),{})),{});s.store=new Au(c,i),s.services.resourceStore=s.store}return s.translator=new es(s.services,i),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(i,n),s.translator.options=i,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 U=Ur.createInstance();U.createInstance=Ur.createInstance;U.createInstance;U.dir;U.init;U.loadResources;U.reloadResources;U.use;U.changeLanguage;U.getFixedT;const de=U.t;U.exists;U.setDefaultNamespace;U.hasLoadedNamespace;U.loadNamespaces;U.loadLanguages;const tn=a.z.object({start:a.z.number(),limit:a.z.number(),length:a.z.number()}),Xp=a.z.object({created_at:a.z.string(),updated_at:a.z.string()}),Qp=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()),ef=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:Qp.optional()}),Gs=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()}),ts=Gs.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()}),Yc=a.z.object({...ts.shape,...Xp.shape,user_id:a.z.string(),is_social:a.z.boolean(),email:a.z.string(),login_count:a.z.number(),identities:a.z.array(ef).optional()}),bt=Yc,Vm=Gs.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()),Mm="useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict";let qm=(t=21)=>{let e="",n=crypto.getRandomValues(new Uint8Array(t));for(;t--;)e+=Mm[n[t]&63];return e};const tf=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()}),ns=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:tf.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(()=>qm()).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"})}),dn=a.z.object({created_at:a.z.string().transform(t=>t===null?"":t),updated_at:a.z.string().transform(t=>t===null?"":t),...ns.shape});var Jt=(t=>(t.TOKEN="token",t.TOKEN_ID_TOKEN="token id_token",t.CODE="code",t))(Jt||{}),Zt=(t=>(t.QUERY="query",t.FRAGMENT="fragment",t.FORM_POST="form_post",t.WEB_MESSAGE="web_message",t.SAML_POST="saml_post",t))(Zt||{}),Js=(t=>(t.S256="S256",t.Plain="plain",t))(Js||{});const Xc=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(Jt).optional(),response_mode:a.z.nativeEnum(Zt).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(Js).optional(),code_challenge:a.z.string().optional(),username:a.z.string().optional(),ui_locales:a.z.string().optional()}),ka=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()}),rs=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()}),Dt=a.z.object({id:a.z.string(),created_at:a.z.string().transform(t=>t===null?"":t),updated_at:a.z.string().transform(t=>t===null?"":t)}).extend(rs.shape),is=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(),id:a.z.string().optional()}),Hn=a.z.object({created_at:a.z.string().transform(t=>t===null?"":t),updated_at:a.z.string().transform(t=>t===null?"":t),...is.shape,id:a.z.string()}),nf=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()});a.z.object({...dn.shape,tenant:Hn,connections:a.z.array(Dt)});const rf=a.z.enum(["password_reset","email_verification","otp","authorization_code","oauth2_state","ticket"]),sf=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:rf,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()}),Dm=a.z.object({...sf.shape,created_at:a.z.string()}),of=a.z.object({domain:a.z.string(),type:a.z.enum(["auth0_managed_certs","self_managed_certs"]),verification_method:a.z.enum(["txt"]).optional(),tls_policy:a.z.enum(["recommended"]).optional(),custom_client_ip_header:a.z.enum(["true-client-ip","cf-connecting-ip","x-forwarded-for","x-azure-clientip","null"]).optional(),domain_metadata:a.z.record(a.z.string().max(255)).optional()}),Hm=a.z.object({...of.shape,custom_domain_id:a.z.string(),primary:a.z.boolean(),status:a.z.enum(["disabled","pending","pending_verification","ready"]),origin_domain_name:a.z.string().optional(),verification:a.z.object({}).optional(),tls_policy:a.z.string().optional()}),ss=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()}),qn=ss.extend({...Xp.shape,hook_id:a.z.string()}),Qc=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()}),af=a.z.object({keys:a.z.array(Qc)}),xa=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())}),cf=a.z.object({auth0Client:a.z.string().optional(),authParams:Xc,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"}),Fm=a.z.object({...cf.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 me=(t=>(t.FAILED_SILENT_AUTH="fsa",t.FAILED_SIGNUP="fs",t.FAILED_LOGIN="f",t.FAILED_LOGIN_INCORRECT_PASSWORD="fp",t.FAILED_CHANGE_PASSWORD="fcp",t.FAILED_BY_CONNECTOR="fc",t.FAILED_LOGIN_INVALID_EMAIL_USERNAME="fu",t.FAILED_HOOK="fh",t.FAILED_CROSS_ORIGIN_AUTHENTICATION="fcoa",t.SUCCESS_API_OPERATION="sapi",t.SUCCESS_CHANGE_PASSWORD="scp",t.SUCCESS_CHANGE_PASSWORD_REQUEST="scpr",t.SUCCESS_CHANGE_USERNAME="scu",t.SUCCESS_CROSS_ORIGIN_AUTHENTICATION="scoa",t.SUCCESS_EXCHANGE_AUTHORIZATION_CODE_FOR_ACCESS_TOKEN="seacft",t.SUCCESS_EXCHANGE_REFRESH_TOKEN_FOR_ACCESS_TOKEN="serft",t.SUCCESS_LOGIN="s",t.SUCCESS_LOGOUT="slo",t.SUCCESS_SIGNUP="ss",t.SUCCESS_SILENT_AUTH="ssa",t.SUCCESS_VERIFICATION_EMAIL="sv",t.SUCCESS_VERIFICATION_EMAIL_REQUEST="svr",t.CODE_LINK_SENT="cls",t.BLOCKED_ACCOUNT_EMAIL="limit_wc",t.BLOCKED_ACCOUNT_IP="limit_sul",t.BLOCKED_IP_ADDRESS="limit_mu",t))(me||{});const Km=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"]),lf=a.z.object({name:a.z.string(),version:a.z.string(),env:a.z.object({node:a.z.string().optional()}).optional()}),os=a.z.object({type:Km,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:lf.optional()}),uf=a.z.object({user_id:a.z.string(),password:a.z.string(),algorithm:a.z.enum(["bcrypt","argon2id"]).default("argon2id")}),Wm=a.z.object({...uf.shape,created_at:a.z.string(),updated_at:a.z.string()}),df=a.z.object({initial_user_agent:a.z.string().describe("First user agent of the device from which this user logged in"),initial_ip:a.z.string().describe("First IP address associated with this session"),initial_asn:a.z.string().describe("First autonomous system number associated with this session"),last_user_agent:a.z.string().describe("Last user agent of the device from which this user logged in"),last_ip:a.z.string().describe("Last IP address from which this user logged in"),last_asn:a.z.string().describe("Last autonomous system number from which this user logged in")}),pf=a.z.object({id:a.z.string(),revoked_at:a.z.string().optional(),used_at:a.z.string().optional(),user_id:a.z.string().describe("The user ID associated with the session"),expires_at:a.z.string().optional(),idle_expires_at:a.z.string().optional(),device:df.describe("Metadata related to the device used in the session"),clients:a.z.array(a.z.string()).describe("List of client details for the session")}),Zs=a.z.object({created_at:a.z.string(),updated_at:a.z.string(),authenticated_at:a.z.string(),last_interaction_at:a.z.string(),...pf.shape}),Sa=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 jr=(t=>(t.RefreshToken="refresh_token",t.AuthorizationCode="authorization_code",t.ClientCredential="client_credentials",t.Passwordless="passwordless",t.Password="password",t))(jr||{});const ff=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 hf=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()}),gf=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()}),ln=a.z.object({bold:a.z.boolean(),size:a.z.number()}),mf=a.z.object({body_text:ln,buttons_text:ln,font_url:a.z.string(),input_labels:ln,links:ln,links_style:a.z.enum(["normal"]),reference_text_size:a.z.number(),subtitle:ln,title:ln}),_f=a.z.object({background_color:a.z.string(),background_image_url:a.z.string(),page_layout:a.z.enum(["center"])}),yf=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"])}),vf=a.z.object({borders:hf,colors:gf,displayName:a.z.string(),fonts:mf,page_background:_f,widget:yf}),Gm=vf.extend({themeId:a.z.string()}),Li=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()}),Ui=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()}),el=a.z.object({id:a.z.string(),session_id:a.z.string(),user_id:a.z.string(),client_id:a.z.string(),expires_at:a.z.string().optional(),idle_expires_at:a.z.string().optional(),last_exchanged_at:a.z.string().optional(),device:df,resource_servers:a.z.array(a.z.object({audience:a.z.string(),scopes:a.z.string()})),rotating:a.z.boolean()}),Jm=a.z.object({created_at:a.z.string(),...el.shape});function Zm(t){const[e,n]=t.split("|");if(!e||!n)throw new Error(`Invalid user_id: ${t}`);return{connection:e,id:n}}const Ym=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:ka}},description:"Branding settings"}}}),async t=>{const{"tenant-id":e}=t.req.valid("header"),n=await t.env.data.branding.get(e);return n?t.json(n):t.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(ka.shape).partial()}}}},security:[{Bearer:["auth:write"]}],responses:{200:{description:"Branding settings"}}}),async t=>{const{"tenant-id":e}=t.req.valid("header"),n=t.req.valid("json");return await t.env.data.branding.set(e,n),t.text("OK")});var z=class extends Error{constructor(e=500,n){super(n==null?void 0:n.message,{cause:n==null?void 0:n.cause});ee(this,"res");ee(this,"status");this.res=n==null?void 0:n.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})}},as=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function wf(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t}function Xm(t){if(t.__esModule)return t;var e=t.default;if(typeof e=="function"){var n=function r(){return this instanceof r?Reflect.construct(e,arguments,this.constructor):e.apply(this,arguments)};n.prototype=e.prototype}else n={};return Object.defineProperty(n,"__esModule",{value:!0}),Object.keys(t).forEach(function(r){var i=Object.getOwnPropertyDescriptor(t,r);Object.defineProperty(n,r,i.get?i:{enumerable:!0,get:function(){return t[r]}})}),n}function Qm(t){throw new Error('Could not dynamically require "'+t+'". Please configure the dynamicRequireTargets or/and ignoreDynamicRequires option of @rollup/plugin-commonjs appropriately for this require call to work.')}var bf={exports:{}};const e_={},t_=Object.freeze(Object.defineProperty({__proto__:null,default:e_},Symbol.toStringTag,{value:"Module"})),n_=Xm(t_);(function(t){/**
|
|
1
|
+
"use strict";var wm=Object.defineProperty;var bm=(t,e,n)=>e in t?wm(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n;var ee=(t,e,n)=>bm(t,typeof e!="symbol"?e+"":e,n);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const a=require("@hono/zod-openapi"),ne=t=>typeof t=="string",xr=()=>{let t,e;const n=new Promise((r,i)=>{t=r,e=i});return n.resolve=t,n.reject=e,n},bu=t=>t==null?"":""+t,km=(t,e,n)=>{t.forEach(r=>{e[r]&&(n[r]=e[r])})},xm=/###/g,ku=t=>t&&t.indexOf("###")>-1?t.replace(xm,"."):t,xu=t=>!t||ne(t),$r=(t,e,n)=>{const r=ne(e)?e.split("."):e;let i=0;for(;i<r.length-1;){if(xu(t))return{};const s=ku(r[i]);!t[s]&&n&&(t[s]=new n),Object.prototype.hasOwnProperty.call(t,s)?t=t[s]:t={},++i}return xu(t)?{}:{obj:t,k:ku(r[i])}},Su=(t,e,n)=>{const{obj:r,k:i}=$r(t,e,Object);if(r!==void 0||e.length===1){r[i]=n;return}let s=e[e.length-1],o=e.slice(0,e.length-1),c=$r(t,o,Object);for(;c.obj===void 0&&o.length;)s=`${o[o.length-1]}.${s}`,o=o.slice(0,o.length-1),c=$r(t,o,Object),c!=null&&c.obj&&typeof c.obj[`${c.k}.${s}`]<"u"&&(c.obj=void 0);c.obj[`${c.k}.${s}`]=n},Sm=(t,e,n,r)=>{const{obj:i,k:s}=$r(t,e,Object);i[s]=i[s]||[],i[s].push(n)},Yi=(t,e)=>{const{obj:n,k:r}=$r(t,e);if(n&&Object.prototype.hasOwnProperty.call(n,r))return n[r]},Am=(t,e,n)=>{const r=Yi(t,n);return r!==void 0?r:Yi(e,n)},Zp=(t,e,n)=>{for(const r in e)r!=="__proto__"&&r!=="constructor"&&(r in t?ne(t[r])||t[r]instanceof String||ne(e[r])||e[r]instanceof String?n&&(t[r]=e[r]):Zp(t[r],e[r],n):t[r]=e[r]);return t},Ln=t=>t.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,"\\$&");var Em={"&":"&","<":"<",">":">",'"':""","'":"'","/":"/"};const Im=t=>ne(t)?t.replace(/[&<>"'\/]/g,e=>Em[e]):t;class Cm{constructor(e){this.capacity=e,this.regExpMap=new Map,this.regExpQueue=[]}getRegExp(e){const n=this.regExpMap.get(e);if(n!==void 0)return n;const r=new RegExp(e);return this.regExpQueue.length===this.capacity&&this.regExpMap.delete(this.regExpQueue.shift()),this.regExpMap.set(e,r),this.regExpQueue.push(e),r}}const Nm=[" ",",","?","!",";"],zm=new Cm(20),$m=(t,e,n)=>{e=e||"",n=n||"";const r=Nm.filter(o=>e.indexOf(o)<0&&n.indexOf(o)<0);if(r.length===0)return!0;const i=zm.getRegExp(`(${r.map(o=>o==="?"?"\\?":o).join("|")})`);let s=!i.test(t);if(!s){const o=t.indexOf(n);o>0&&!i.test(t.substring(0,o))&&(s=!0)}return s},ka=function(t,e){let n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:".";if(!t)return;if(t[e])return Object.prototype.hasOwnProperty.call(t,e)?t[e]:void 0;const r=e.split(n);let i=t;for(let s=0;s<r.length;){if(!i||typeof i!="object")return;let o,c="";for(let l=s;l<r.length;++l)if(l!==s&&(c+=n),c+=r[l],o=i[c],o!==void 0){if(["string","number","boolean"].indexOf(typeof o)>-1&&l<r.length-1)continue;s+=l-s+1;break}i=o}return i},Xi=t=>t==null?void 0:t.replace("_","-"),jm={type:"logger",log(t){this.output("log",t)},warn(t){this.output("warn",t)},error(t){this.output("error",t)},output(t,e){var n,r;(r=(n=console==null?void 0:console[t])==null?void 0:n.apply)==null||r.call(n,console,e)}};class Qi{constructor(e){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};this.init(e,n)}init(e){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};this.prefix=n.prefix||"i18next:",this.logger=e||jm,this.options=n,this.debug=n.debug}log(){for(var e=arguments.length,n=new Array(e),r=0;r<e;r++)n[r]=arguments[r];return this.forward(n,"log","",!0)}warn(){for(var e=arguments.length,n=new Array(e),r=0;r<e;r++)n[r]=arguments[r];return this.forward(n,"warn","",!0)}error(){for(var e=arguments.length,n=new Array(e),r=0;r<e;r++)n[r]=arguments[r];return this.forward(n,"error","")}deprecate(){for(var e=arguments.length,n=new Array(e),r=0;r<e;r++)n[r]=arguments[r];return this.forward(n,"warn","WARNING DEPRECATED: ",!0)}forward(e,n,r,i){return i&&!this.debug?null:(ne(e[0])&&(e[0]=`${r}${this.prefix} ${e[0]}`),this.logger[n](e))}create(e){return new Qi(this.logger,{prefix:`${this.prefix}:${e}:`,...this.options})}clone(e){return e=e||this.options,e.prefix=e.prefix||this.prefix,new Qi(this.logger,e)}}var kt=new Qi;class Ws{constructor(){this.observers={}}on(e,n){return e.split(" ").forEach(r=>{this.observers[r]||(this.observers[r]=new Map);const i=this.observers[r].get(n)||0;this.observers[r].set(n,i+1)}),this}off(e,n){if(this.observers[e]){if(!n){delete this.observers[e];return}this.observers[e].delete(n)}}emit(e){for(var n=arguments.length,r=new Array(n>1?n-1:0),i=1;i<n;i++)r[i-1]=arguments[i];this.observers[e]&&Array.from(this.observers[e].entries()).forEach(o=>{let[c,l]=o;for(let u=0;u<l;u++)c(...r)}),this.observers["*"]&&Array.from(this.observers["*"].entries()).forEach(o=>{let[c,l]=o;for(let u=0;u<l;u++)c.apply(c,[e,...r])})}}class Au extends Ws{constructor(e){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{ns:["translation"],defaultNS:"translation"};super(),this.data=e||{},this.options=n,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 n=this.options.ns.indexOf(e);n>-1&&this.options.ns.splice(n,1)}getResource(e,n,r){var u,p;let i=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{};const s=i.keySeparator!==void 0?i.keySeparator:this.options.keySeparator,o=i.ignoreJSONStructure!==void 0?i.ignoreJSONStructure:this.options.ignoreJSONStructure;let c;e.indexOf(".")>-1?c=e.split("."):(c=[e,n],r&&(Array.isArray(r)?c.push(...r):ne(r)&&s?c.push(...r.split(s)):c.push(r)));const l=Yi(this.data,c);return!l&&!n&&!r&&e.indexOf(".")>-1&&(e=c[0],n=c[1],r=c.slice(2).join(".")),l||!o||!ne(r)?l:ka((p=(u=this.data)==null?void 0:u[e])==null?void 0:p[n],r,s)}addResource(e,n,r,i){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,n];r&&(c=c.concat(o?r.split(o):r)),e.indexOf(".")>-1&&(c=e.split("."),i=n,n=c[1]),this.addNamespaces(n),Su(this.data,c,i),s.silent||this.emit("added",e,n,r,i)}addResources(e,n,r){let i=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{silent:!1};for(const s in r)(ne(r[s])||Array.isArray(r[s]))&&this.addResource(e,n,s,r[s],{silent:!0});i.silent||this.emit("added",e,n,r)}addResourceBundle(e,n,r,i,s){let o=arguments.length>5&&arguments[5]!==void 0?arguments[5]:{silent:!1,skipCopy:!1},c=[e,n];e.indexOf(".")>-1&&(c=e.split("."),i=r,r=n,n=c[1]),this.addNamespaces(n);let l=Yi(this.data,c)||{};o.skipCopy||(r=JSON.parse(JSON.stringify(r))),i?Zp(l,r,s):l={...l,...r},Su(this.data,c,l),o.silent||this.emit("added",e,n,r)}removeResourceBundle(e,n){this.hasResourceBundle(e,n)&&delete this.data[e][n],this.removeNamespaces(n),this.emit("removed",e,n)}hasResourceBundle(e,n){return this.getResource(e,n)!==void 0}getResourceBundle(e,n){return n||(n=this.options.defaultNS),this.getResource(e,n)}getDataByLanguage(e){return this.data[e]}hasLanguageSomeTranslations(e){const n=this.getDataByLanguage(e);return!!(n&&Object.keys(n)||[]).find(i=>n[i]&&Object.keys(n[i]).length>0)}toJSON(){return this.data}}var Yp={processors:{},addPostProcessor(t){this.processors[t.name]=t},handle(t,e,n,r,i){return t.forEach(s=>{var o;e=((o=this.processors[s])==null?void 0:o.process(e,n,r,i))??e}),e}};const Eu={};class es extends Ws{constructor(e){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};super(),km(["resourceStore","languageUtils","pluralResolver","interpolator","backendConnector","i18nFormat","utils"],e,this),this.options=n,this.options.keySeparator===void 0&&(this.options.keySeparator="."),this.logger=kt.create("translator")}changeLanguage(e){e&&(this.language=e)}exists(e){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{interpolation:{}};if(e==null)return!1;const r=this.resolve(e,n);return(r==null?void 0:r.res)!==void 0}extractFromKey(e,n){let r=n.nsSeparator!==void 0?n.nsSeparator:this.options.nsSeparator;r===void 0&&(r=":");const i=n.keySeparator!==void 0?n.keySeparator:this.options.keySeparator;let s=n.ns||this.options.defaultNS||[];const o=r&&e.indexOf(r)>-1,c=!this.options.userDefinedKeySeparator&&!n.keySeparator&&!this.options.userDefinedNsSeparator&&!n.nsSeparator&&!$m(e,r,i);if(o&&!c){const l=e.match(this.interpolator.nestingRegexp);if(l&&l.length>0)return{key:e,namespaces:ne(s)?[s]:s};const u=e.split(r);(r!==i||r===i&&this.options.ns.indexOf(u[0])>-1)&&(s=u.shift()),e=u.join(i)}return{key:e,namespaces:ne(s)?[s]:s}}translate(e,n,r){if(typeof n!="object"&&this.options.overloadTranslationOptionHandler&&(n=this.options.overloadTranslationOptionHandler(arguments)),typeof n=="object"&&(n={...n}),n||(n={}),e==null)return"";Array.isArray(e)||(e=[String(e)]);const i=n.returnDetails!==void 0?n.returnDetails:this.options.returnDetails,s=n.keySeparator!==void 0?n.keySeparator:this.options.keySeparator,{key:o,namespaces:c}=this.extractFromKey(e[e.length-1],n),l=c[c.length-1],u=n.lng||this.language,p=n.appendNamespaceToCIMode||this.options.appendNamespaceToCIMode;if((u==null?void 0:u.toLowerCase())==="cimode"){if(p){const R=n.nsSeparator||this.options.nsSeparator;return i?{res:`${l}${R}${o}`,usedKey:o,exactUsedKey:o,usedLng:u,usedNS:l,usedParams:this.getUsedParamsDetails(n)}:`${l}${R}${o}`}return i?{res:o,usedKey:o,exactUsedKey:o,usedLng:u,usedNS:l,usedParams:this.getUsedParamsDetails(n)}:o}const h=this.resolve(e,n);let m=h==null?void 0:h.res;const v=(h==null?void 0:h.usedKey)||o,f=(h==null?void 0:h.exactUsedKey)||o,_=Object.prototype.toString.apply(m),w=["[object Number]","[object Function]","[object RegExp]"],S=n.joinArrays!==void 0?n.joinArrays:this.options.joinArrays,N=!this.i18nFormat||this.i18nFormat.handleAsObject,B=!ne(m)&&typeof m!="boolean"&&typeof m!="number";if(N&&m&&B&&w.indexOf(_)<0&&!(ne(S)&&Array.isArray(m))){if(!n.returnObjects&&!this.options.returnObjects){this.options.returnedObjectHandler||this.logger.warn("accessing an object - but returnObjects options is not enabled!");const R=this.options.returnedObjectHandler?this.options.returnedObjectHandler(v,m,{...n,ns:c}):`key '${o} (${this.language})' returned an object instead of string.`;return i?(h.res=R,h.usedParams=this.getUsedParamsDetails(n),h):R}if(s){const R=Array.isArray(m),te=R?[]:{},fe=R?f:v;for(const le in m)if(Object.prototype.hasOwnProperty.call(m,le)){const Ve=`${fe}${s}${le}`;te[le]=this.translate(Ve,{...n,joinArrays:!1,ns:c}),te[le]===Ve&&(te[le]=m[le])}m=te}}else if(N&&ne(S)&&Array.isArray(m))m=m.join(S),m&&(m=this.extendTranslation(m,e,n,r));else{let R=!1,te=!1;const fe=n.count!==void 0&&!ne(n.count),le=es.hasDefaultValue(n),Ve=fe?this.pluralResolver.getSuffix(u,n.count,n):"",at=n.ordinal&&fe?this.pluralResolver.getSuffix(u,n.count,{ordinal:!1}):"",Ge=fe&&!n.ordinal&&n.count===0,$=Ge&&n[`defaultValue${this.options.pluralSeparator}zero`]||n[`defaultValue${Ve}`]||n[`defaultValue${at}`]||n.defaultValue;!this.isValidLookup(m)&&le&&(R=!0,m=$),this.isValidLookup(m)||(te=!0,m=o);const E=(n.missingKeyNoValueFallbackToKey||this.options.missingKeyNoValueFallbackToKey)&&te?void 0:m,x=le&&$!==m&&this.options.updateMissing;if(te||R||x){if(this.logger.log(x?"updateKey":"missingKey",u,l,o,x?$:m),s){const X=this.resolve(o,{...n,keySeparator:!1});X&&X.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 k=[];const j=this.languageUtils.getFallbackCodes(this.options.fallbackLng,n.lng||this.language);if(this.options.saveMissingTo==="fallback"&&j&&j[0])for(let X=0;X<j.length;X++)k.push(j[X]);else this.options.saveMissingTo==="all"?k=this.languageUtils.toResolveHierarchy(n.lng||this.language):k.push(n.lng||this.language);const L=(X,G,ie)=>{var H;const ce=le&&ie!==m?ie:E;this.options.missingKeyHandler?this.options.missingKeyHandler(X,l,G,ce,x,n):(H=this.backendConnector)!=null&&H.saveMissing&&this.backendConnector.saveMissing(X,l,G,ce,x,n),this.emit("missingKey",X,l,G,m)};this.options.saveMissing&&(this.options.saveMissingPlurals&&fe?k.forEach(X=>{const G=this.pluralResolver.getSuffixes(X,n);Ge&&n[`defaultValue${this.options.pluralSeparator}zero`]&&G.indexOf(`${this.options.pluralSeparator}zero`)<0&&G.push(`${this.options.pluralSeparator}zero`),G.forEach(ie=>{L([X],o+ie,n[`defaultValue${ie}`]||$)})}):L(k,o,$))}m=this.extendTranslation(m,e,n,h,r),te&&m===o&&this.options.appendNamespaceToMissingKey&&(m=`${l}:${o}`),(te||R)&&this.options.parseMissingKeyHandler&&(m=this.options.parseMissingKeyHandler(this.options.appendNamespaceToMissingKey?`${l}:${o}`:o,R?m:void 0))}return i?(h.res=m,h.usedParams=this.getUsedParamsDetails(n),h):m}extendTranslation(e,n,r,i,s){var u,p;var o=this;if((u=this.i18nFormat)!=null&&u.parse)e=this.i18nFormat.parse(e,{...this.options.interpolation.defaultVariables,...r},r.lng||this.language||i.usedLng,i.usedNS,i.usedKey,{resolved:i});else if(!r.skipInterpolation){r.interpolation&&this.interpolator.init({...r,interpolation:{...this.options.interpolation,...r.interpolation}});const h=ne(e)&&(((p=r==null?void 0:r.interpolation)==null?void 0:p.skipOnVariables)!==void 0?r.interpolation.skipOnVariables:this.options.interpolation.skipOnVariables);let m;if(h){const f=e.match(this.interpolator.nestingRegexp);m=f&&f.length}let v=r.replace&&!ne(r.replace)?r.replace:r;if(this.options.interpolation.defaultVariables&&(v={...this.options.interpolation.defaultVariables,...v}),e=this.interpolator.interpolate(e,v,r.lng||this.language||i.usedLng,r),h){const f=e.match(this.interpolator.nestingRegexp),_=f&&f.length;m<_&&(r.nest=!1)}!r.lng&&i&&i.res&&(r.lng=this.language||i.usedLng),r.nest!==!1&&(e=this.interpolator.nest(e,function(){for(var f=arguments.length,_=new Array(f),w=0;w<f;w++)_[w]=arguments[w];return(s==null?void 0:s[0])===_[0]&&!r.context?(o.logger.warn(`It seems you are nesting recursively key: ${_[0]} in key: ${n[0]}`),null):o.translate(..._,n)},r)),r.interpolation&&this.interpolator.reset()}const c=r.postProcess||this.options.postProcess,l=ne(c)?[c]:c;return e!=null&&(l!=null&&l.length)&&r.applyPostProcessor!==!1&&(e=Yp.handle(l,e,n,this.options&&this.options.postProcessPassResolved?{i18nResolved:{...i,usedParams:this.getUsedParamsDetails(r)},...r}:r,this)),e}resolve(e){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},r,i,s,o,c;return ne(e)&&(e=[e]),e.forEach(l=>{if(this.isValidLookup(r))return;const u=this.extractFromKey(l,n),p=u.key;i=p;let h=u.namespaces;this.options.fallbackNS&&(h=h.concat(this.options.fallbackNS));const m=n.count!==void 0&&!ne(n.count),v=m&&!n.ordinal&&n.count===0,f=n.context!==void 0&&(ne(n.context)||typeof n.context=="number")&&n.context!=="",_=n.lngs?n.lngs:this.languageUtils.toResolveHierarchy(n.lng||this.language,n.fallbackLng);h.forEach(w=>{var S,N;this.isValidLookup(r)||(c=w,!Eu[`${_[0]}-${w}`]&&((S=this.utils)!=null&&S.hasLoadedNamespace)&&!((N=this.utils)!=null&&N.hasLoadedNamespace(c))&&(Eu[`${_[0]}-${w}`]=!0,this.logger.warn(`key "${i}" 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(B=>{var fe;if(this.isValidLookup(r))return;o=B;const R=[p];if((fe=this.i18nFormat)!=null&&fe.addLookupKeys)this.i18nFormat.addLookupKeys(R,p,B,w,n);else{let le;m&&(le=this.pluralResolver.getSuffix(B,n.count,n));const Ve=`${this.options.pluralSeparator}zero`,at=`${this.options.pluralSeparator}ordinal${this.options.pluralSeparator}`;if(m&&(R.push(p+le),n.ordinal&&le.indexOf(at)===0&&R.push(p+le.replace(at,this.options.pluralSeparator)),v&&R.push(p+Ve)),f){const Ge=`${p}${this.options.contextSeparator}${n.context}`;R.push(Ge),m&&(R.push(Ge+le),n.ordinal&&le.indexOf(at)===0&&R.push(Ge+le.replace(at,this.options.pluralSeparator)),v&&R.push(Ge+Ve))}}let te;for(;te=R.pop();)this.isValidLookup(r)||(s=te,r=this.getResource(B,w,te,n))}))})}),{res:r,usedKey:i,exactUsedKey:s,usedLng:o,usedNS:c}}isValidLookup(e){return e!==void 0&&!(!this.options.returnNull&&e===null)&&!(!this.options.returnEmptyString&&e==="")}getResource(e,n,r){var s;let i=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{};return(s=this.i18nFormat)!=null&&s.getResource?this.i18nFormat.getResource(e,n,r,i):this.resourceStore.getResource(e,n,r,i)}getUsedParamsDetails(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};const n=["defaultValue","ordinal","context","replace","lng","lngs","fallbackLng","ns","keySeparator","nsSeparator","returnObjects","returnDetails","joinArrays","postProcess","interpolation"],r=e.replace&&!ne(e.replace);let i=r?e.replace:e;if(r&&typeof e.count<"u"&&(i.count=e.count),this.options.interpolation.defaultVariables&&(i={...this.options.interpolation.defaultVariables,...i}),!r){i={...i};for(const s of n)delete i[s]}return i}static hasDefaultValue(e){const n="defaultValue";for(const r in e)if(Object.prototype.hasOwnProperty.call(e,r)&&n===r.substring(0,n.length)&&e[r]!==void 0)return!0;return!1}}class Iu{constructor(e){this.options=e,this.supportedLngs=this.options.supportedLngs||!1,this.logger=kt.create("languageUtils")}getScriptPartFromCode(e){if(e=Xi(e),!e||e.indexOf("-")<0)return null;const n=e.split("-");return n.length===2||(n.pop(),n[n.length-1].toLowerCase()==="x")?null:this.formatLanguageCode(n.join("-"))}getLanguagePartFromCode(e){if(e=Xi(e),!e||e.indexOf("-")<0)return e;const n=e.split("-");return this.formatLanguageCode(n[0])}formatLanguageCode(e){if(ne(e)&&e.indexOf("-")>-1){let n;try{n=Intl.getCanonicalLocales(e)[0]}catch{}return n&&this.options.lowerCaseLng&&(n=n.toLowerCase()),n||(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 n;return e.forEach(r=>{if(n)return;const i=this.formatLanguageCode(r);(!this.options.supportedLngs||this.isSupportedCode(i))&&(n=i)}),!n&&this.options.supportedLngs&&e.forEach(r=>{if(n)return;const i=this.getLanguagePartFromCode(r);if(this.isSupportedCode(i))return n=i;n=this.options.supportedLngs.find(s=>{if(s===i)return s;if(!(s.indexOf("-")<0&&i.indexOf("-")<0)&&(s.indexOf("-")>0&&i.indexOf("-")<0&&s.substring(0,s.indexOf("-"))===i||s.indexOf(i)===0&&i.length>1))return s})}),n||(n=this.getFallbackCodes(this.options.fallbackLng)[0]),n}getFallbackCodes(e,n){if(!e)return[];if(typeof e=="function"&&(e=e(n)),ne(e)&&(e=[e]),Array.isArray(e))return e;if(!n)return e.default||[];let r=e[n];return r||(r=e[this.getScriptPartFromCode(n)]),r||(r=e[this.formatLanguageCode(n)]),r||(r=e[this.getLanguagePartFromCode(n)]),r||(r=e.default),r||[]}toResolveHierarchy(e,n){const r=this.getFallbackCodes(n||this.options.fallbackLng||[],e),i=[],s=o=>{o&&(this.isSupportedCode(o)?i.push(o):this.logger.warn(`rejecting language code not found in supportedLngs: ${o}`))};return ne(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))):ne(e)&&s(this.formatLanguageCode(e)),r.forEach(o=>{i.indexOf(o)<0&&s(this.formatLanguageCode(o))}),i}}const Cu={zero:0,one:1,two:2,few:3,many:4,other:5},Nu={select:t=>t===1?"one":"other",resolvedOptions:()=>({pluralCategories:["one","other"]})};class Om{constructor(e){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};this.languageUtils=e,this.options=n,this.logger=kt.create("pluralResolver"),this.pluralRulesCache={}}addRule(e,n){this.rules[e]=n}clearCache(){this.pluralRulesCache={}}getRule(e){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};const r=Xi(e==="dev"?"en":e),i=n.ordinal?"ordinal":"cardinal",s=JSON.stringify({cleanedCode:r,type:i});if(s in this.pluralRulesCache)return this.pluralRulesCache[s];let o;try{o=new Intl.PluralRules(r,{type:i})}catch{if(!Intl)return this.logger.error("No Intl support, please use an Intl polyfill!"),Nu;if(!e.match(/-|_/))return Nu;const l=this.languageUtils.getLanguagePartFromCode(e);o=this.getRule(l,n)}return this.pluralRulesCache[s]=o,o}needsPlural(e){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},r=this.getRule(e,n);return r||(r=this.getRule("dev",n)),(r==null?void 0:r.resolvedOptions().pluralCategories.length)>1}getPluralFormsOfKey(e,n){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};return this.getSuffixes(e,r).map(i=>`${n}${i}`)}getSuffixes(e){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},r=this.getRule(e,n);return r||(r=this.getRule("dev",n)),r?r.resolvedOptions().pluralCategories.sort((i,s)=>Cu[i]-Cu[s]).map(i=>`${this.options.prepend}${n.ordinal?`ordinal${this.options.prepend}`:""}${i}`):[]}getSuffix(e,n){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};const i=this.getRule(e,r);return i?`${this.options.prepend}${r.ordinal?`ordinal${this.options.prepend}`:""}${i.select(n)}`:(this.logger.warn(`no plural rule found for: ${e}`),this.getSuffix("dev",n,r))}}const zu=function(t,e,n){let r=arguments.length>3&&arguments[3]!==void 0?arguments[3]:".",i=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!0,s=Am(t,e,n);return!s&&i&&ne(n)&&(s=ka(t,n,r),s===void 0&&(s=ka(e,n,r))),s},Qo=t=>t.replace(/\$/g,"$$$$");class Bm{constructor(){var n;let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};this.logger=kt.create("interpolator"),this.options=e,this.format=((n=e==null?void 0:e.interpolation)==null?void 0:n.format)||(r=>r),this.init(e)}init(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};e.interpolation||(e.interpolation={escapeValue:!0});const{escape:n,escapeValue:r,useRawValueToEscape:i,prefix:s,prefixEscaped:o,suffix:c,suffixEscaped:l,formatSeparator:u,unescapeSuffix:p,unescapePrefix:h,nestingPrefix:m,nestingPrefixEscaped:v,nestingSuffix:f,nestingSuffixEscaped:_,nestingOptionsSeparator:w,maxReplaces:S,alwaysFormat:N}=e.interpolation;this.escape=n!==void 0?n:Im,this.escapeValue=r!==void 0?r:!0,this.useRawValueToEscape=i!==void 0?i:!1,this.prefix=s?Ln(s):o||"{{",this.suffix=c?Ln(c):l||"}}",this.formatSeparator=u||",",this.unescapePrefix=p?"":h||"-",this.unescapeSuffix=this.unescapePrefix?"":p||"",this.nestingPrefix=m?Ln(m):v||Ln("$t("),this.nestingSuffix=f?Ln(f):_||Ln(")"),this.nestingOptionsSeparator=w||",",this.maxReplaces=S||1e3,this.alwaysFormat=N!==void 0?N:!1,this.resetRegExp()}reset(){this.options&&this.init(this.options)}resetRegExp(){const e=(n,r)=>(n==null?void 0:n.source)===r?(n.lastIndex=0,n):new RegExp(r,"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,n,r,i){var v;let s,o,c;const l=this.options&&this.options.interpolation&&this.options.interpolation.defaultVariables||{},u=f=>{if(f.indexOf(this.formatSeparator)<0){const N=zu(n,l,f,this.options.keySeparator,this.options.ignoreJSONStructure);return this.alwaysFormat?this.format(N,void 0,r,{...i,...n,interpolationkey:f}):N}const _=f.split(this.formatSeparator),w=_.shift().trim(),S=_.join(this.formatSeparator).trim();return this.format(zu(n,l,w,this.options.keySeparator,this.options.ignoreJSONStructure),S,r,{...i,...n,interpolationkey:w})};this.resetRegExp();const p=(i==null?void 0:i.missingInterpolationHandler)||this.options.missingInterpolationHandler,h=((v=i==null?void 0:i.interpolation)==null?void 0:v.skipOnVariables)!==void 0?i.interpolation.skipOnVariables:this.options.interpolation.skipOnVariables;return[{regex:this.regexpUnescape,safeValue:f=>Qo(f)},{regex:this.regexp,safeValue:f=>this.escapeValue?Qo(this.escape(f)):Qo(f)}].forEach(f=>{for(c=0;s=f.regex.exec(e);){const _=s[1].trim();if(o=u(_),o===void 0)if(typeof p=="function"){const S=p(e,s,i);o=ne(S)?S:""}else if(i&&Object.prototype.hasOwnProperty.call(i,_))o="";else if(h){o=s[0];continue}else this.logger.warn(`missed to pass in variable ${_} for interpolating ${e}`),o="";else!ne(o)&&!this.useRawValueToEscape&&(o=bu(o));const w=f.safeValue(o);if(e=e.replace(s[0],w),h?(f.regex.lastIndex+=o.length,f.regex.lastIndex-=s[0].length):f.regex.lastIndex=0,c++,c>=this.maxReplaces)break}}),e}nest(e,n){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},i,s,o;const c=(l,u)=>{const p=this.nestingOptionsSeparator;if(l.indexOf(p)<0)return l;const h=l.split(new RegExp(`${p}[ ]*{`));let m=`{${h[1]}`;l=h[0],m=this.interpolate(m,o);const v=m.match(/'/g),f=m.match(/"/g);(((v==null?void 0:v.length)??0)%2===0&&!f||f.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(;i=this.nestingRegexp.exec(e);){let l=[];o={...r},o=o.replace&&!ne(o.replace)?o.replace:o,o.applyPostProcessor=!1,delete o.defaultValue;let u=!1;if(i[0].indexOf(this.formatSeparator)!==-1&&!/{.*}/.test(i[1])){const p=i[1].split(this.formatSeparator).map(h=>h.trim());i[1]=p.shift(),l=p,u=!0}if(s=n(c.call(this,i[1].trim(),o),o),s&&i[0]===e&&!ne(s))return s;ne(s)||(s=bu(s)),s||(this.logger.warn(`missed to resolve ${i[1]} for nesting ${e}`),s=""),u&&(s=l.reduce((p,h)=>this.format(p,h,r.lng,{...r,interpolationkey:i[1].trim()}),s.trim())),e=e.replace(i[0],s),this.regexp.lastIndex=0}return e}}const Tm=t=>{let e=t.toLowerCase().trim();const n={};if(t.indexOf("(")>-1){const r=t.split("(");e=r[0].toLowerCase().trim();const i=r[1].substring(0,r[1].length-1);e==="currency"&&i.indexOf(":")<0?n.currency||(n.currency=i.trim()):e==="relativetime"&&i.indexOf(":")<0?n.range||(n.range=i.trim()):i.split(";").forEach(o=>{if(o){const[c,...l]=o.split(":"),u=l.join(":").trim().replace(/^'+|'+$/g,""),p=c.trim();n[p]||(n[p]=u),u==="false"&&(n[p]=!1),u==="true"&&(n[p]=!0),isNaN(u)||(n[p]=parseInt(u,10))}})}return{formatName:e,formatOptions:n}},Un=t=>{const e={};return(n,r,i)=>{let s=i;i&&i.interpolationkey&&i.formatParams&&i.formatParams[i.interpolationkey]&&i[i.interpolationkey]&&(s={...s,[i.interpolationkey]:void 0});const o=r+JSON.stringify(s);let c=e[o];return c||(c=t(Xi(r),i),e[o]=c),c(n)}};class Pm{constructor(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};this.logger=kt.create("formatter"),this.options=e,this.formats={number:Un((n,r)=>{const i=new Intl.NumberFormat(n,{...r});return s=>i.format(s)}),currency:Un((n,r)=>{const i=new Intl.NumberFormat(n,{...r,style:"currency"});return s=>i.format(s)}),datetime:Un((n,r)=>{const i=new Intl.DateTimeFormat(n,{...r});return s=>i.format(s)}),relativetime:Un((n,r)=>{const i=new Intl.RelativeTimeFormat(n,{...r});return s=>i.format(s,r.range||"day")}),list:Un((n,r)=>{const i=new Intl.ListFormat(n,{...r});return s=>i.format(s)})},this.init(e)}init(e){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{interpolation:{}};this.formatSeparator=n.interpolation.formatSeparator||","}add(e,n){this.formats[e.toLowerCase().trim()]=n}addCached(e,n){this.formats[e.toLowerCase().trim()]=Un(n)}format(e,n,r){let i=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{};const s=n.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 h;const{formatName:u,formatOptions:p}=Tm(l);if(this.formats[u]){let m=c;try{const v=((h=i==null?void 0:i.formatParams)==null?void 0:h[i.interpolationkey])||{},f=v.locale||v.lng||i.locale||i.lng||r;m=this.formats[u](c,f,{...p,...i,...v})}catch(v){this.logger.warn(v)}return m}else this.logger.warn(`there was no format function for ${u}`);return c},e)}}const Rm=(t,e)=>{t.pending[e]!==void 0&&(delete t.pending[e],t.pendingCount--)};class Lm extends Ws{constructor(e,n,r){var s,o;let i=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{};super(),this.backend=e,this.store=n,this.services=r,this.languageUtils=r.languageUtils,this.options=i,this.logger=kt.create("backendConnector"),this.waitingReads=[],this.maxParallelReads=i.maxParallelReads||10,this.readingCalls=0,this.maxRetries=i.maxRetries>=0?i.maxRetries:5,this.retryTimeout=i.retryTimeout>=1?i.retryTimeout:350,this.state={},this.queue=[],(o=(s=this.backend)==null?void 0:s.init)==null||o.call(s,r,i.backend,i)}queueLoad(e,n,r,i){const s={},o={},c={},l={};return e.forEach(u=>{let p=!0;n.forEach(h=>{const m=`${u}|${h}`;!r.reload&&this.store.hasResourceBundle(u,h)?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[h]===void 0&&(l[h]=!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:i}),{toLoad:Object.keys(s),pending:Object.keys(o),toLoadLanguages:Object.keys(c),toLoadNamespaces:Object.keys(l)}}loaded(e,n,r){const i=e.split("|"),s=i[0],o=i[1];n&&this.emit("failedLoading",s,o,n),!n&&r&&this.store.addResourceBundle(s,o,r,void 0,void 0,{skipCopy:!0}),this.state[e]=n?-1:2,n&&r&&(this.state[e]=0);const c={};this.queue.forEach(l=>{Sm(l.loaded,[s],o),Rm(l,e),n&&l.errors.push(n),l.pendingCount===0&&!l.done&&(Object.keys(l.loaded).forEach(u=>{c[u]||(c[u]={});const p=l.loaded[u];p.length&&p.forEach(h=>{c[u][h]===void 0&&(c[u][h]=!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,n,r){let i=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:n,fcName:r,tried:i,wait:s,callback:o});return}this.readingCalls++;const c=(u,p)=>{if(this.readingCalls--,this.waitingReads.length>0){const h=this.waitingReads.shift();this.read(h.lng,h.ns,h.fcName,h.tried,h.wait,h.callback)}if(u&&p&&i<this.maxRetries){setTimeout(()=>{this.read.call(this,e,n,r,i+1,s*2,o)},s);return}o(u,p)},l=this.backend[r].bind(this.backend);if(l.length===2){try{const u=l(e,n);u&&typeof u.then=="function"?u.then(p=>c(null,p)).catch(c):c(null,u)}catch(u){c(u)}return}return l(e,n,c)}prepareLoading(e,n){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},i=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."),i&&i();ne(e)&&(e=this.languageUtils.toResolveHierarchy(e)),ne(n)&&(n=[n]);const s=this.queueLoad(e,n,r,i);if(!s.toLoad.length)return s.pending.length||i(),null;s.toLoad.forEach(o=>{this.loadOne(o)})}load(e,n,r){this.prepareLoading(e,n,{},r)}reload(e,n,r){this.prepareLoading(e,n,{reload:!0},r)}loadOne(e){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"";const r=e.split("|"),i=r[0],s=r[1];this.read(i,s,"read",void 0,void 0,(o,c)=>{o&&this.logger.warn(`${n}loading namespace ${s} for language ${i} failed`,o),!o&&c&&this.logger.log(`${n}loaded namespace ${s} for language ${i}`,c),this.loaded(e,o,c)})}saveMissing(e,n,r,i,s){var l,u,p,h,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&&!((h=(p=this.services)==null?void 0:p.utils)!=null&&h.hasLoadedNamespace(n))){this.logger.warn(`did not save key "${r}" as the namespace "${n}" 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(!(r==null||r==="")){if((m=this.backend)!=null&&m.create){const v={...o,isUpdate:s},f=this.backend.create.bind(this.backend);if(f.length<6)try{let _;f.length===5?_=f(e,n,r,i,v):_=f(e,n,r,i),_&&typeof _.then=="function"?_.then(w=>c(null,w)).catch(c):c(null,_)}catch(_){c(_)}else f(e,n,r,i,c,v)}!e||!e[0]||this.store.addResource(e[0],n,r,i)}}}const $u=()=>({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:t=>{let e={};if(typeof t[1]=="object"&&(e=t[1]),ne(t[1])&&(e.defaultValue=t[1]),ne(t[2])&&(e.tDescription=t[2]),typeof t[2]=="object"||typeof t[3]=="object"){const n=t[3]||t[2];Object.keys(n).forEach(r=>{e[r]=n[r]})}return e},interpolation:{escapeValue:!0,format:t=>t,prefix:"{{",suffix:"}}",formatSeparator:",",unescapePrefix:"-",nestingPrefix:"$t(",nestingSuffix:")",nestingOptionsSeparator:",",maxReplaces:1e3,skipOnVariables:!0}}),ju=t=>{var e,n;return ne(t.ns)&&(t.ns=[t.ns]),ne(t.fallbackLng)&&(t.fallbackLng=[t.fallbackLng]),ne(t.fallbackNS)&&(t.fallbackNS=[t.fallbackNS]),((n=(e=t.supportedLngs)==null?void 0:e.indexOf)==null?void 0:n.call(e,"cimode"))<0&&(t.supportedLngs=t.supportedLngs.concat(["cimode"])),typeof t.initImmediate=="boolean"&&(t.initAsync=t.initImmediate),t},zi=()=>{},Um=t=>{Object.getOwnPropertyNames(Object.getPrototypeOf(t)).forEach(n=>{typeof t[n]=="function"&&(t[n]=t[n].bind(t))})};class Ur extends Ws{constructor(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},n=arguments.length>1?arguments[1]:void 0;if(super(),this.options=ju(e),this.services={},this.logger=kt,this.modules={external:[]},Um(this),n&&!this.isInitialized&&!e.isClone){if(!this.options.initAsync)return this.init(e,n),this;setTimeout(()=>{this.init(e,n)},0)}}init(){var e=this;let n=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},r=arguments.length>1?arguments[1]:void 0;this.isInitializing=!0,typeof n=="function"&&(r=n,n={}),!n.defaultNS&&n.defaultNS!==!1&&n.ns&&(ne(n.ns)?n.defaultNS=n.ns:n.ns.indexOf("translation")<0&&(n.defaultNS=n.ns[0]));const i=$u();this.options={...i,...this.options,...ju(n)},this.options.interpolation={...i.interpolation,...this.options.interpolation},n.keySeparator!==void 0&&(this.options.userDefinedKeySeparator=n.keySeparator),n.nsSeparator!==void 0&&(this.options.userDefinedNsSeparator=n.nsSeparator);const s=p=>p?typeof p=="function"?new p:p:null;if(!this.options.isClone){this.modules.logger?kt.init(s(this.modules.logger),this.options):kt.init(null,this.options);let p;this.modules.formatter?p=this.modules.formatter:p=Pm;const h=new Iu(this.options);this.store=new Au(this.options.resources,this.options);const m=this.services;m.logger=kt,m.resourceStore=this.store,m.languageUtils=h,m.pluralResolver=new Om(h,{prepend:this.options.pluralSeparator,simplifyPluralSuffix:this.options.simplifyPluralSuffix}),p&&(!this.options.interpolation.format||this.options.interpolation.format===i.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 Bm(this.options),m.utils={hasLoadedNamespace:this.hasLoadedNamespace.bind(this)},m.backendConnector=new Lm(s(this.modules.backend),m.resourceStore,m,this.options),m.backendConnector.on("*",function(v){for(var f=arguments.length,_=new Array(f>1?f-1:0),w=1;w<f;w++)_[w-1]=arguments[w];e.emit(v,..._)}),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 es(this.services,this.options),this.translator.on("*",function(v){for(var f=arguments.length,_=new Array(f>1?f-1:0),w=1;w<f;w++)_[w-1]=arguments[w];e.emit(v,..._)}),this.modules.external.forEach(v=>{v.init&&v.init(this)})}if(this.format=this.options.interpolation.format,r||(r=zi),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=xr(),u=()=>{const p=(h,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),r(h,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 r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:zi;const i=ne(e)?e:this.language;if(typeof e=="function"&&(r=e),!this.options.resources||this.options.partialBundledLanguages){if((i==null?void 0:i.toLowerCase())==="cimode"&&(!this.options.preload||this.options.preload.length===0))return r();const c=[],l=u=>{if(!u||u==="cimode")return;this.services.languageUtils.toResolveHierarchy(u).forEach(h=>{h!=="cimode"&&c.indexOf(h)<0&&c.push(h)})};i?l(i):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),r(u)})}else r(null)}reloadResources(e,n,r){const i=xr();return typeof e=="function"&&(r=e,e=void 0),typeof n=="function"&&(r=n,n=void 0),e||(e=this.languages),n||(n=this.options.ns),r||(r=zi),this.services.backendConnector.reload(e,n,s=>{i.resolve(),r(s)}),i}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"&&Yp.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 n=0;n<this.languages.length;n++){const r=this.languages[n];if(!(["cimode","dev"].indexOf(r)>-1)&&this.store.hasLanguageSomeTranslations(r)){this.resolvedLanguage=r;break}}}changeLanguage(e,n){var r=this;this.isLanguageChangingTo=e;const i=xr();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,i.resolve(function(){return r.t(...arguments)}),n&&n(l,function(){return r.t(...arguments)})},c=l=>{var p,h;!e&&!l&&this.services.languageDetector&&(l=[]);const u=ne(l)?l:this.services.languageUtils.getBestMatchFromCodes(l);u&&(this.language||s(u),this.translator.language||this.translator.changeLanguage(u),(h=(p=this.services.languageDetector)==null?void 0:p.cacheUserLanguage)==null||h.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),i}getFixedT(e,n,r){var i=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),h=2;h<u;h++)p[h-2]=arguments[h];l=i.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||r||s.keyPrefix);const m=i.options.keySeparator||".";let v;return l.keyPrefix&&Array.isArray(o)?v=o.map(f=>`${l.keyPrefix}${m}${f}`):v=l.keyPrefix?`${l.keyPrefix}${m}${o}`:o,i.t(v,l)};return ne(e)?s.lng=e:s.lngs=e,s.ns=n,s.keyPrefix=r,s}t(){var i;for(var e=arguments.length,n=new Array(e),r=0;r<e;r++)n[r]=arguments[r];return(i=this.translator)==null?void 0:i.translate(...n)}exists(){var i;for(var e=arguments.length,n=new Array(e),r=0;r<e;r++)n[r]=arguments[r];return(i=this.translator)==null?void 0:i.exists(...n)}setDefaultNamespace(e){this.options.defaultNS=e}hasLoadedNamespace(e){let n=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 r=n.lng||this.resolvedLanguage||this.languages[0],i=this.options?this.options.fallbackLng:!1,s=this.languages[this.languages.length-1];if(r.toLowerCase()==="cimode")return!0;const o=(c,l)=>{const u=this.services.backendConnector.state[`${c}|${l}`];return u===-1||u===0||u===2};if(n.precheck){const c=n.precheck(this,o);if(c!==void 0)return c}return!!(this.hasResourceBundle(r,e)||!this.services.backendConnector.backend||this.options.resources&&!this.options.partialBundledLanguages||o(r,e)&&(!i||o(s,e)))}loadNamespaces(e,n){const r=xr();return this.options.ns?(ne(e)&&(e=[e]),e.forEach(i=>{this.options.ns.indexOf(i)<0&&this.options.ns.push(i)}),this.loadResources(i=>{r.resolve(),n&&n(i)}),r):(n&&n(),Promise.resolve())}loadLanguages(e,n){const r=xr();ne(e)&&(e=[e]);const i=this.options.preload||[],s=e.filter(o=>i.indexOf(o)<0&&this.services.languageUtils.isSupportedCode(o));return s.length?(this.options.preload=i.concat(s),this.loadResources(o=>{r.resolve(),n&&n(o)}),r):(n&&n(),Promise.resolve())}dir(e){var i,s;if(e||(e=this.resolvedLanguage||(((i=this.languages)==null?void 0:i.length)>0?this.languages[0]:this.language)),!e)return"rtl";const n=["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"],r=((s=this.services)==null?void 0:s.languageUtils)||new Iu($u());return n.indexOf(r.getLanguagePartFromCode(e))>-1||e.toLowerCase().indexOf("-arab")>1?"rtl":"ltr"}static createInstance(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},n=arguments.length>1?arguments[1]:void 0;return new Ur(e,n)}cloneInstance(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:zi;const r=e.forkResourceStore;r&&delete e.forkResourceStore;const i={...this.options,...e,isClone:!0},s=new Ur(i);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)},r){const c=Object.keys(this.store.data).reduce((l,u)=>(l[u]={...this.store.data[u]},Object.keys(l[u]).reduce((p,h)=>(p[h]={...l[u][h]},p),{})),{});s.store=new Au(c,i),s.services.resourceStore=s.store}return s.translator=new es(s.services,i),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(i,n),s.translator.options=i,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 U=Ur.createInstance();U.createInstance=Ur.createInstance;U.createInstance;U.dir;U.init;U.loadResources;U.reloadResources;U.use;U.changeLanguage;U.getFixedT;const de=U.t;U.exists;U.setDefaultNamespace;U.hasLoadedNamespace;U.loadNamespaces;U.loadLanguages;const tn=a.z.object({start:a.z.number(),limit:a.z.number(),length:a.z.number()}),Xp=a.z.object({created_at:a.z.string(),updated_at:a.z.string()}),Qp=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()),ef=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:Qp.optional()}),Gs=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()}),ts=Gs.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()}),Xc=a.z.object({...ts.shape,...Xp.shape,user_id:a.z.string(),is_social:a.z.boolean(),email:a.z.string(),login_count:a.z.number(),identities:a.z.array(ef).optional()}),bt=Xc,Vm=Gs.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()),Mm="useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict";let qm=(t=21)=>{let e="",n=crypto.getRandomValues(new Uint8Array(t));for(;t--;)e+=Mm[n[t]&63];return e};const tf=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()}),ns=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:tf.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(()=>qm()).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"})}),dn=a.z.object({created_at:a.z.string().transform(t=>t===null?"":t),updated_at:a.z.string().transform(t=>t===null?"":t),...ns.shape});var Jt=(t=>(t.TOKEN="token",t.TOKEN_ID_TOKEN="token id_token",t.CODE="code",t))(Jt||{}),Zt=(t=>(t.QUERY="query",t.FRAGMENT="fragment",t.FORM_POST="form_post",t.WEB_MESSAGE="web_message",t.SAML_POST="saml_post",t))(Zt||{}),Js=(t=>(t.S256="S256",t.Plain="plain",t))(Js||{});const Qc=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(Jt).optional(),response_mode:a.z.nativeEnum(Zt).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(Js).optional(),code_challenge:a.z.string().optional(),username:a.z.string().optional(),ui_locales:a.z.string().optional()}),xa=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()}),rs=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()}),Dt=a.z.object({id:a.z.string(),created_at:a.z.string().transform(t=>t===null?"":t),updated_at:a.z.string().transform(t=>t===null?"":t)}).extend(rs.shape),is=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(),id:a.z.string().optional()}),Hn=a.z.object({created_at:a.z.string().transform(t=>t===null?"":t),updated_at:a.z.string().transform(t=>t===null?"":t),...is.shape,id:a.z.string()}),nf=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()});a.z.object({...dn.shape,tenant:Hn,connections:a.z.array(Dt)});const rf=a.z.enum(["password_reset","email_verification","otp","authorization_code","oauth2_state","ticket"]),sf=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:rf,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()}),Dm=a.z.object({...sf.shape,created_at:a.z.string()}),of=a.z.object({domain:a.z.string(),type:a.z.enum(["auth0_managed_certs","self_managed_certs"]),verification_method:a.z.enum(["txt"]).optional(),tls_policy:a.z.enum(["recommended"]).optional(),custom_client_ip_header:a.z.enum(["true-client-ip","cf-connecting-ip","x-forwarded-for","x-azure-clientip","null"]).optional(),domain_metadata:a.z.record(a.z.string().max(255)).optional()}),Hm=a.z.object({...of.shape,custom_domain_id:a.z.string(),primary:a.z.boolean(),status:a.z.enum(["disabled","pending","pending_verification","ready"]),origin_domain_name:a.z.string().optional(),verification:a.z.object({}).optional(),tls_policy:a.z.string().optional()}),ss=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()}),qn=ss.extend({...Xp.shape,hook_id:a.z.string()}),el=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()}),af=a.z.object({keys:a.z.array(el)}),Sa=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())}),cf=a.z.object({auth0Client:a.z.string().optional(),authParams:Qc,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"}),Fm=a.z.object({...cf.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 me=(t=>(t.FAILED_SILENT_AUTH="fsa",t.FAILED_SIGNUP="fs",t.FAILED_LOGIN="f",t.FAILED_LOGIN_INCORRECT_PASSWORD="fp",t.FAILED_CHANGE_PASSWORD="fcp",t.FAILED_BY_CONNECTOR="fc",t.FAILED_LOGIN_INVALID_EMAIL_USERNAME="fu",t.FAILED_HOOK="fh",t.FAILED_CROSS_ORIGIN_AUTHENTICATION="fcoa",t.SUCCESS_API_OPERATION="sapi",t.SUCCESS_CHANGE_PASSWORD="scp",t.SUCCESS_CHANGE_PASSWORD_REQUEST="scpr",t.SUCCESS_CHANGE_USERNAME="scu",t.SUCCESS_CROSS_ORIGIN_AUTHENTICATION="scoa",t.SUCCESS_EXCHANGE_AUTHORIZATION_CODE_FOR_ACCESS_TOKEN="seacft",t.SUCCESS_EXCHANGE_REFRESH_TOKEN_FOR_ACCESS_TOKEN="serft",t.SUCCESS_LOGIN="s",t.SUCCESS_LOGOUT="slo",t.SUCCESS_SIGNUP="ss",t.SUCCESS_SILENT_AUTH="ssa",t.SUCCESS_VERIFICATION_EMAIL="sv",t.SUCCESS_VERIFICATION_EMAIL_REQUEST="svr",t.CODE_LINK_SENT="cls",t.BLOCKED_ACCOUNT_EMAIL="limit_wc",t.BLOCKED_ACCOUNT_IP="limit_sul",t.BLOCKED_IP_ADDRESS="limit_mu",t))(me||{});const Km=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"]),lf=a.z.object({name:a.z.string(),version:a.z.string(),env:a.z.object({node:a.z.string().optional()}).optional()}),os=a.z.object({type:Km,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:lf.optional()}),uf=a.z.object({user_id:a.z.string(),password:a.z.string(),algorithm:a.z.enum(["bcrypt","argon2id"]).default("argon2id")}),Wm=a.z.object({...uf.shape,created_at:a.z.string(),updated_at:a.z.string()}),df=a.z.object({initial_user_agent:a.z.string().describe("First user agent of the device from which this user logged in"),initial_ip:a.z.string().describe("First IP address associated with this session"),initial_asn:a.z.string().describe("First autonomous system number associated with this session"),last_user_agent:a.z.string().describe("Last user agent of the device from which this user logged in"),last_ip:a.z.string().describe("Last IP address from which this user logged in"),last_asn:a.z.string().describe("Last autonomous system number from which this user logged in")}),pf=a.z.object({id:a.z.string(),revoked_at:a.z.string().optional(),used_at:a.z.string().optional(),user_id:a.z.string().describe("The user ID associated with the session"),expires_at:a.z.string().optional(),idle_expires_at:a.z.string().optional(),device:df.describe("Metadata related to the device used in the session"),clients:a.z.array(a.z.string()).describe("List of client details for the session")}),Zs=a.z.object({created_at:a.z.string(),updated_at:a.z.string(),authenticated_at:a.z.string(),last_interaction_at:a.z.string(),...pf.shape}),Aa=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 jr=(t=>(t.RefreshToken="refresh_token",t.AuthorizationCode="authorization_code",t.ClientCredential="client_credentials",t.Passwordless="passwordless",t.Password="password",t))(jr||{});const ff=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 hf=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()}),gf=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()}),ln=a.z.object({bold:a.z.boolean(),size:a.z.number()}),mf=a.z.object({body_text:ln,buttons_text:ln,font_url:a.z.string(),input_labels:ln,links:ln,links_style:a.z.enum(["normal"]),reference_text_size:a.z.number(),subtitle:ln,title:ln}),_f=a.z.object({background_color:a.z.string(),background_image_url:a.z.string(),page_layout:a.z.enum(["center"])}),yf=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"])}),vf=a.z.object({borders:hf,colors:gf,displayName:a.z.string(),fonts:mf,page_background:_f,widget:yf}),Gm=vf.extend({themeId:a.z.string()}),Li=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()}),Ui=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()}),tl=a.z.object({id:a.z.string(),session_id:a.z.string(),user_id:a.z.string(),client_id:a.z.string(),expires_at:a.z.string().optional(),idle_expires_at:a.z.string().optional(),last_exchanged_at:a.z.string().optional(),device:df,resource_servers:a.z.array(a.z.object({audience:a.z.string(),scopes:a.z.string()})),rotating:a.z.boolean()}),Jm=a.z.object({created_at:a.z.string(),...tl.shape});function Zm(t){const[e,n]=t.split("|");if(!e||!n)throw new Error(`Invalid user_id: ${t}`);return{connection:e,id:n}}const Ym=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:xa}},description:"Branding settings"}}}),async t=>{const{"tenant-id":e}=t.req.valid("header"),n=await t.env.data.branding.get(e);return n?t.json(n):t.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(xa.shape).partial()}}}},security:[{Bearer:["auth:write"]}],responses:{200:{description:"Branding settings"}}}),async t=>{const{"tenant-id":e}=t.req.valid("header"),n=t.req.valid("json");return await t.env.data.branding.set(e,n),t.text("OK")});var z=class extends Error{constructor(e=500,n){super(n==null?void 0:n.message,{cause:n==null?void 0:n.cause});ee(this,"res");ee(this,"status");this.res=n==null?void 0:n.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})}},as=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function wf(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t}function Xm(t){if(t.__esModule)return t;var e=t.default;if(typeof e=="function"){var n=function r(){return this instanceof r?Reflect.construct(e,arguments,this.constructor):e.apply(this,arguments)};n.prototype=e.prototype}else n={};return Object.defineProperty(n,"__esModule",{value:!0}),Object.keys(t).forEach(function(r){var i=Object.getOwnPropertyDescriptor(t,r);Object.defineProperty(n,r,i.get?i:{enumerable:!0,get:function(){return t[r]}})}),n}function Qm(t){throw new Error('Could not dynamically require "'+t+'". Please configure the dynamicRequireTargets or/and ignoreDynamicRequires option of @rollup/plugin-commonjs appropriately for this require call to work.')}var bf={exports:{}};const e_={},t_=Object.freeze(Object.defineProperty({__proto__:null,default:e_},Symbol.toStringTag,{value:"Module"})),n_=Xm(t_);(function(t){/**
|
|
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,n){typeof Qm=="function"&&t&&t.exports?t.exports=n():(e.dcodeIO=e.dcodeIO||{}).bcrypt=n()})(as,function(){var e={},n=null;function r($){if(t&&t.exports)try{return n_.randomBytes($)}catch{}try{var C;return(self.crypto||self.msCrypto).getRandomValues(C=new Uint32Array($)),Array.prototype.slice.call(C)}catch{}if(!n)throw Error("Neither WebCryptoAPI nor a crypto module is available. Use bcrypt.setRandomFallback to set an alternative");return n($)}var i=!1;try{r(1),i=!0}catch{}n=null,e.setRandomFallback=function($){n=$},e.genSaltSync=function($,C){if($=$||_,typeof $!="number")throw Error("Illegal arguments: "+typeof $+", "+typeof C);$<4?$=4:$>31&&($=31);var E=[];return E.push("$2a$"),$<10&&E.push("0"),E.push($.toString()),E.push("$"),E.push(h(r(f),f)),E.join("")},e.genSalt=function($,C,E){if(typeof C=="function"&&(E=C,C=void 0),typeof $=="function"&&(E=$,$=void 0),typeof $>"u")$=_;else if(typeof $!="number")throw Error("illegal arguments: "+typeof $);function x(k){o(function(){try{k(null,e.genSaltSync($))}catch(j){k(j)}})}if(E){if(typeof E!="function")throw Error("Illegal callback: "+typeof E);x(E)}else return new Promise(function(k,j){x(function(L,X){if(L){j(L);return}k(X)})})},e.hashSync=function($,C){if(typeof C>"u"&&(C=_),typeof C=="number"&&(C=e.genSaltSync(C)),typeof $!="string"||typeof C!="string")throw Error("Illegal arguments: "+typeof $+", "+typeof C);return Ge($,C)},e.hash=function($,C,E,x){function k(j){typeof $=="string"&&typeof C=="number"?e.genSalt(C,function(L,X){Ge($,X,j,x)}):typeof $=="string"&&typeof C=="string"?Ge($,C,j,x):o(j.bind(this,Error("Illegal arguments: "+typeof $+", "+typeof C)))}if(E){if(typeof E!="function")throw Error("Illegal callback: "+typeof E);k(E)}else return new Promise(function(j,L){k(function(X,G){if(X){L(X);return}j(G)})})};function s($,C){for(var E=0,x=0,k=0,j=$.length;k<j;++k)$.charCodeAt(k)===C.charCodeAt(k)?++E:++x;return E<0?!1:x===0}e.compareSync=function($,C){if(typeof $!="string"||typeof C!="string")throw Error("Illegal arguments: "+typeof $+", "+typeof C);return C.length!==60?!1:s(e.hashSync($,C.substr(0,C.length-31)),C)},e.compare=function($,C,E,x){function k(j){if(typeof $!="string"||typeof C!="string"){o(j.bind(this,Error("Illegal arguments: "+typeof $+", "+typeof C)));return}if(C.length!==60){o(j.bind(this,null,!1));return}e.hash($,C.substr(0,29),function(L,X){L?j(L):j(null,s(X,C))},x)}if(E){if(typeof E!="function")throw Error("Illegal callback: "+typeof E);k(E)}else return new Promise(function(j,L){k(function(X,G){if(X){L(X);return}j(G)})})},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 C=[],E=0;return v.encodeUTF16toUTF8(function(){return E>=$.length?null:$.charCodeAt(E++)},function(x){C.push(x)}),C}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 h($,C){var E=0,x=[],k,j;if(C<=0||C>$.length)throw Error("Illegal len: "+C);for(;E<C;){if(k=$[E++]&255,x.push(l[k>>2&63]),k=(k&3)<<4,E>=C){x.push(l[k&63]);break}if(j=$[E++]&255,k|=j>>4&15,x.push(l[k&63]),k=(j&15)<<2,E>=C){x.push(l[k&63]);break}j=$[E++]&255,k|=j>>6&3,x.push(l[k&63]),x.push(l[j&63])}return x.join("")}function m($,C){var E=0,x=$.length,k=0,j=[],L,X,G,ie,ce,H;if(C<=0)throw Error("Illegal len: "+C);for(;E<x-1&&k<C&&(H=$.charCodeAt(E++),L=H<u.length?u[H]:-1,H=$.charCodeAt(E++),X=H<u.length?u[H]:-1,!(L==-1||X==-1||(ce=L<<2>>>0,ce|=(X&48)>>4,j.push(p(ce)),++k>=C||E>=x)||(H=$.charCodeAt(E++),G=H<u.length?u[H]:-1,G==-1)||(ce=(X&15)<<4>>>0,ce|=(G&60)>>2,j.push(p(ce)),++k>=C||E>=x)));)H=$.charCodeAt(E++),ie=H<u.length?u[H]:-1,ce=(G&3)<<6>>>0,ce|=ie,j.push(p(ce)),++k;var Ie=[];for(E=0;E<k;E++)Ie.push(j[E].charCodeAt(0));return Ie}var v=function(){var $={};return $.MAX_CODEPOINT=1114111,$.encodeUTF8=function(C,E){var x=null;for(typeof C=="number"&&(x=C,C=function(){return null});x!==null||(x=C())!==null;)x<128?E(x&127):x<2048?(E(x>>6&31|192),E(x&63|128)):x<65536?(E(x>>12&15|224),E(x>>6&63|128),E(x&63|128)):(E(x>>18&7|240),E(x>>12&63|128),E(x>>6&63|128),E(x&63|128)),x=null},$.decodeUTF8=function(C,E){for(var x,k,j,L,X=function(G){G=G.slice(0,G.indexOf(null));var ie=Error(G.toString());throw ie.name="TruncatedError",ie.bytes=G,ie};(x=C())!==null;)if(!(x&128))E(x);else if((x&224)===192)(k=C())===null&&X([x,k]),E((x&31)<<6|k&63);else if((x&240)===224)((k=C())===null||(j=C())===null)&&X([x,k,j]),E((x&15)<<12|(k&63)<<6|j&63);else if((x&248)===240)((k=C())===null||(j=C())===null||(L=C())===null)&&X([x,k,j,L]),E((x&7)<<18|(k&63)<<12|(j&63)<<6|L&63);else throw RangeError("Illegal starting byte: "+x)},$.UTF16toUTF8=function(C,E){for(var x,k=null;(x=k!==null?k:C())!==null;){if(x>=55296&&x<=57343&&(k=C())!==null&&k>=56320&&k<=57343){E((x-55296)*1024+k-56320+65536),k=null;continue}E(x)}k!==null&&E(k)},$.UTF8toUTF16=function(C,E){var x=null;for(typeof C=="number"&&(x=C,C=function(){return null});x!==null||(x=C())!==null;)x<=65535?E(x):(x-=65536,E((x>>10)+55296),E(x%1024+56320)),x=null},$.encodeUTF16toUTF8=function(C,E){$.UTF16toUTF8(C,function(x){$.encodeUTF8(x,E)})},$.decodeUTF8toUTF16=function(C,E){$.decodeUTF8(C,function(x){$.UTF8toUTF16(x,E)})},$.calculateCodePoint=function(C){return C<128?1:C<2048?2:C<65536?3:4},$.calculateUTF8=function(C){for(var E,x=0;(E=C())!==null;)x+=$.calculateCodePoint(E);return x},$.calculateUTF16asUTF8=function(C){var E=0,x=0;return $.UTF16toUTF8(C,function(k){++E,x+=$.calculateCodePoint(k)}),[E,x]},$}();Date.now=Date.now||function(){return+new Date};var f=16,_=10,w=16,S=100,N=[608135816,2242054355,320440878,57701188,2752067618,698298832,137296536,3964562569,1160258022,953160567,3193202383,887688300,3232508343,3380367581,1065670069,3041331479,2450970073,2306472731],B=[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],R=[1332899944,1700884034,1701343084,1684370003,1668446532,1869963892];function te($,C,E,x){var k,j=$[C],L=$[C+1];return j^=E[0],k=x[j>>>24],k+=x[256|j>>16&255],k^=x[512|j>>8&255],k+=x[768|j&255],L^=k^E[1],k=x[L>>>24],k+=x[256|L>>16&255],k^=x[512|L>>8&255],k+=x[768|L&255],j^=k^E[2],k=x[j>>>24],k+=x[256|j>>16&255],k^=x[512|j>>8&255],k+=x[768|j&255],L^=k^E[3],k=x[L>>>24],k+=x[256|L>>16&255],k^=x[512|L>>8&255],k+=x[768|L&255],j^=k^E[4],k=x[j>>>24],k+=x[256|j>>16&255],k^=x[512|j>>8&255],k+=x[768|j&255],L^=k^E[5],k=x[L>>>24],k+=x[256|L>>16&255],k^=x[512|L>>8&255],k+=x[768|L&255],j^=k^E[6],k=x[j>>>24],k+=x[256|j>>16&255],k^=x[512|j>>8&255],k+=x[768|j&255],L^=k^E[7],k=x[L>>>24],k+=x[256|L>>16&255],k^=x[512|L>>8&255],k+=x[768|L&255],j^=k^E[8],k=x[j>>>24],k+=x[256|j>>16&255],k^=x[512|j>>8&255],k+=x[768|j&255],L^=k^E[9],k=x[L>>>24],k+=x[256|L>>16&255],k^=x[512|L>>8&255],k+=x[768|L&255],j^=k^E[10],k=x[j>>>24],k+=x[256|j>>16&255],k^=x[512|j>>8&255],k+=x[768|j&255],L^=k^E[11],k=x[L>>>24],k+=x[256|L>>16&255],k^=x[512|L>>8&255],k+=x[768|L&255],j^=k^E[12],k=x[j>>>24],k+=x[256|j>>16&255],k^=x[512|j>>8&255],k+=x[768|j&255],L^=k^E[13],k=x[L>>>24],k+=x[256|L>>16&255],k^=x[512|L>>8&255],k+=x[768|L&255],j^=k^E[14],k=x[j>>>24],k+=x[256|j>>16&255],k^=x[512|j>>8&255],k+=x[768|j&255],L^=k^E[15],k=x[L>>>24],k+=x[256|L>>16&255],k^=x[512|L>>8&255],k+=x[768|L&255],j^=k^E[16],$[C]=L^E[w+1],$[C+1]=j,$}function fe($,C){for(var E=0,x=0;E<4;++E)x=x<<8|$[C]&255,C=(C+1)%$.length;return{key:x,offp:C}}function le($,C,E){for(var x=0,k=[0,0],j=C.length,L=E.length,X,G=0;G<j;G++)X=fe($,x),x=X.offp,C[G]=C[G]^X.key;for(G=0;G<j;G+=2)k=te(k,0,C,E),C[G]=k[0],C[G+1]=k[1];for(G=0;G<L;G+=2)k=te(k,0,C,E),E[G]=k[0],E[G+1]=k[1]}function Ve($,C,E,x){for(var k=0,j=[0,0],L=E.length,X=x.length,G,ie=0;ie<L;ie++)G=fe(C,k),k=G.offp,E[ie]=E[ie]^G.key;for(k=0,ie=0;ie<L;ie+=2)G=fe($,k),k=G.offp,j[0]^=G.key,G=fe($,k),k=G.offp,j[1]^=G.key,j=te(j,0,E,x),E[ie]=j[0],E[ie+1]=j[1];for(ie=0;ie<X;ie+=2)G=fe($,k),k=G.offp,j[0]^=G.key,G=fe($,k),k=G.offp,j[1]^=G.key,j=te(j,0,E,x),x[ie]=j[0],x[ie+1]=j[1]}function at($,C,E,x,k){var j=R.slice(),L=j.length,X;if(E<4||E>31)if(X=Error("Illegal number of rounds (4-31): "+E),x){o(x.bind(this,X));return}else throw X;if(C.length!==f)if(X=Error("Illegal salt length: "+C.length+" != "+f),x){o(x.bind(this,X));return}else throw X;E=1<<E>>>0;var G,ie,ce=0,H;Int32Array?(G=new Int32Array(N),ie=new Int32Array(B)):(G=N.slice(),ie=B.slice()),Ve(C,$,G,ie);function Ie(){if(k&&k(ce/E),ce<E)for(var he=Date.now();ce<E&&(ce=ce+1,le($,G,ie),le(C,G,ie),!(Date.now()-he>S)););else{for(ce=0;ce<64;ce++)for(H=0;H<L>>1;H++)te(j,H<<1,G,ie);var xe=[];for(ce=0;ce<L;ce++)xe.push((j[ce]>>24&255)>>>0),xe.push((j[ce]>>16&255)>>>0),xe.push((j[ce]>>8&255)>>>0),xe.push((j[ce]&255)>>>0);if(x){x(null,xe);return}else return xe}x&&o(Ie)}if(typeof x<"u")Ie();else for(var cn;;)if(typeof(cn=Ie())<"u")return cn||[]}function Ge($,C,E,x){var k;if(typeof $!="string"||typeof C!="string")if(k=Error("Invalid string / salt: Not a string"),E){o(E.bind(this,k));return}else throw k;var j,L;if(C.charAt(0)!=="$"||C.charAt(1)!=="2")if(k=Error("Invalid salt version: "+C.substring(0,2)),E){o(E.bind(this,k));return}else throw k;if(C.charAt(2)==="$")j="\0",L=3;else{if(j=C.charAt(2),j!=="a"&&j!=="b"&&j!=="y"||C.charAt(3)!=="$")if(k=Error("Invalid salt revision: "+C.substring(2,4)),E){o(E.bind(this,k));return}else throw k;L=4}if(C.charAt(L+2)>"$")if(k=Error("Missing salt rounds"),E){o(E.bind(this,k));return}else throw k;var X=parseInt(C.substring(L,L+1),10)*10,G=parseInt(C.substring(L+1,L+2),10),ie=X+G,ce=C.substring(L+3,L+25);$+=j>="a"?"\0":"";var H=c($),Ie=m(ce,f);function cn(he){var xe=[];return xe.push("$2"),j>="a"&&xe.push(j),xe.push("$"),ie<10&&xe.push("0"),xe.push(ie.toString()),xe.push("$"),xe.push(h(Ie,Ie.length)),xe.push(h(he,R.length*4-1)),xe.join("")}if(typeof E>"u")return cn(at(H,Ie,ie));at(H,Ie,ie,function(he,xe){he?E(he,null):E(null,cn(xe))},x)}return e.encodeBase64=h,e.decodeBase64=m,e})})(bf);var r_=bf.exports;const si=wf(r_),i_="useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict";let s_=t=>crypto.getRandomValues(new Uint8Array(t)),o_=(t,e,n)=>{let r=(2<<Math.log2(t.length-1))-1,i=-~(1.6*r*e/t.length);return(s=e)=>{let o="";for(;;){let c=n(i),l=i;for(;l--;)if(o+=t[c[l]&r]||"",o.length===s)return o}}},a_=(t,e=21)=>o_(t,e,s_),Re=(t=21)=>{let e="",n=crypto.getRandomValues(new Uint8Array(t));for(;t--;)e+=i_[n[t]&63];return e};const c_=24;function oi(){return a_("0123456789abcdef",c_)()}function Ou(t){if(!t.includes("|"))return console.error("Invalid user_id format"),t;const[,e]=t.split("|");return e}async function tl(t,e,n){return(await t.list(e,{page:0,per_page:10,include_totals:!1,q:`email:${n}`})).users}async function Gn({userAdapter:t,tenant_id:e,email:n,provider:r}){const{users:i}=await t.list(e,{page:0,per_page:10,include_totals:!1,q:`email:${n} provider:${r}`});return i.length>1&&console.error("More than one user found for same email and provider"),i[0]||null}async function Ys({userAdapter:t,tenant_id:e,email:n}){var c;const{users:r}=await t.list(e,{page:0,per_page:10,include_totals:!1,q:`email:${n}`}),i=r.filter(l=>!(l.provider==="auth2"&&!l.email_verified));if(i.length===0)return;const s=i.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 t.get(e,(c=i[0])==null?void 0:c.linked_to);if(!o)throw new Error("Primary account not found");return o}async function yn({userAdapter:t,tenant_id:e,email:n,provider:r}){const i=await Gn({userAdapter:t,tenant_id:e,email:n,provider:r});return i?i.linked_to?t.get(e,i.linked_to):i:null}const vn=a.z.object({page:a.z.string().min(0).optional().default("0").transform(t=>parseInt(t,10)).openapi({description:"The page number where 0 is the first page"}),per_page:a.z.string().min(1).optional().default("10").transform(t=>parseInt(t,10)).openapi({description:"The number of items per page"}),include_totals:a.z.string().optional().default("false").transform(t=>t==="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 lr(t){if(!t)return;const[e,n]=t.split(":"),r=n==="1"?"asc":"desc";if(!(!e||!r))return{sort_by:e,sort_order:r}}function be(t,e){return{type:e.type,description:e.description||"",ip:t.req.header("x-real-ip")||"",user_agent:t.req.header("user-agent")||"",date:new Date().toISOString(),details:{request:{method:t.req.method,path:t.req.path,qs:t.req.queries(),body:e.body||t.var.body||""}},isMobile:!1,client_id:t.var.client_id,client_name:"",user_id:e.userId||t.var.user_id||"",hostname:t.req.header("host")||"",user_name:t.var.username||"",connection_id:"",connection:t.var.connection||"",strategy:e.strategy||"",strategy_type:e.strategy_type||"",audience:"",scope:[]}}var l_={deno:"Deno",bun:"Bun",workerd:"Cloudflare-Workers",node:"Node.js"},u_=()=>{var n,r;const t=globalThis;if(typeof navigator<"u"&&typeof navigator.userAgent=="string"){for(const[i,s]of Object.entries(l_))if(d_(s))return i}return typeof(t==null?void 0:t.EdgeRuntime)=="string"?"edge-light":(t==null?void 0:t.fastly)!==void 0?"fastly":((r=(n=t==null?void 0:t.process)==null?void 0:n.release)==null?void 0:r.name)==="node"?"node":"other"},d_=t=>navigator.userAgent.startsWith(t);function Qe(t,e){u_()==="workerd"&&t.executionCtx.waitUntil(e)}const Bu=tn.extend({users:a.z.array(bt)}),p_=tn.extend({sessions:a.z.array(Zs)}),f_=new a.OpenAPIHono().openapi(a.createRoute({tags:["users"],method:"get",path:"/",request:{query:vn,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),Bu])}},description:"List of users"}}}),async t=>{const{page:e,per_page:n,include_totals:r,sort:i,q:s}=t.req.valid("query"),{"tenant-id":o}=t.req.valid("header");if(s!=null&&s.includes("identities.profileData.email")){const p=s.split("=")[1],m=(await t.env.data.users.list(o,{page:e,per_page:n,include_totals:r,q:`email:${p}`})).users.filter(_=>_.linked_to),[v]=m;if(!v)return t.json([]);const f=await t.env.data.users.get(o,v.linked_to);if(!f)throw new z(500,{message:"Primary account not found"});return t.json([bt.parse(f)])}const c=["-_exists_:linked_to"];s&&c.push(s);const l=await t.env.data.users.list(o,{page:e,per_page:n,include_totals:r,sort:lr(i),q:c.join(" ")}),u=l.users.filter(p=>!p.linked_to);return r?t.json(Bu.parse({users:u,length:l.length,start:l.start,limit:l.limit})):t.json(a.z.array(bt).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:bt}},description:"List of users"}}}),async t=>{const{user_id:e}=t.req.valid("param"),{"tenant-id":n}=t.req.valid("header"),r=await t.env.data.users.get(n,e);if(!r)throw new z(404);if(r.linked_to)throw new z(404,{message:"User is linked to another user"});return t.json(r)}).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 t=>{const{user_id:e}=t.req.valid("param"),{"tenant-id":n}=t.req.valid("header");if(!await t.env.data.users.remove(n,e))throw new z(404);return t.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({...ts.shape})}}}},security:[{Bearer:["auth:write"]}],responses:{200:{content:{"application/json":{schema:bt}},description:"Status"}}}),async t=>{const{"tenant-id":e}=t.req.valid("header"),n=t.req.valid("json");t.set("body",n);const{email:r}=n;if(!r)throw new z(400,{message:"Email is required"});const i=r.toLowerCase(),s=`${n.provider}|${n.user_id||oi()}`;try{const o=await t.env.data.users.create(e,{email:i,user_id:s,name:n.name||i,provider:n.provider,connection:n.connection,email_verified:n.email_verified||!1,last_ip:"",is_social:!1,last_login:new Date().toISOString()});t.set("user_id",o.user_id);const c=be(t,{type:me.SUCCESS_API_OPERATION,description:"User created"});Qe(t,t.env.data.logs.create(e,c));const l={...o,identities:[{connection:o.connection,provider:o.provider,user_id:Ou(o.user_id),isSocial:o.is_social}]};return t.json(bt.parse(l),{status:201})}catch(o){throw o.message==="User already exists"?new z(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({...ts.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 t=>{var u;const{"tenant-id":e}=t.req.valid("header"),n=t.req.valid("json"),{user_id:r}=t.req.valid("param"),{verify_email:i,password:s,...o}=n,c=await t.env.data.users.get(e,r);if(!c)throw new z(404);if(o.email&&o.email!==c.email){const p=await tl(t.env.data.users,e,o.email);if(p.length&&p.some(h=>h.user_id!==r))throw new z(409,{message:"Another user with the same email address already exists."})}if(c.linked_to)throw new z(404,{message:"User is linked to another user"});if(await t.env.data.users.update(e,r,o),s){const p=(u=c.identities)==null?void 0:u.find(h=>h.connection==="Username-Password-Authentication");if(!p)throw new z(400,{message:"User does not have a password identity"});await t.env.data.passwords.update(e,{user_id:`${p.provider}|${p.user_id}`,password:si.hashSync(s,10),algorithm:"bcrypt"})}const l=await t.env.data.users.get(e,r);if(!l)throw new z(500);return t.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 t=>{const{"tenant-id":e}=t.req.valid("header"),n=t.req.valid("json"),{user_id:r}=t.req.valid("param"),i="link_with"in n?n.link_with:n.user_id,s=await t.env.data.users.get(e,r);if(!s)throw new z(400,{message:"Linking an inexistent identity is not allowed."});await t.env.data.users.update(e,i,{linked_to:r});const o=await t.env.data.users.list(e,{page:0,per_page:10,include_totals:!1,q:`linked_to:${r}`}),c=[s,...o.users].map(l=>({connection:l.connection,provider:l.provider,user_id:Ou(l.user_id),isSocial:l.is_social}));return t.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(bt)}},description:"Status"}}}),async t=>{const{"tenant-id":e}=t.req.valid("header"),{user_id:n,provider:r,linked_user_id:i}=t.req.valid("param");await t.env.data.users.unlink(e,n,r,i);const s=await t.env.data.users.get(e,n);if(!s)throw new z(404);return t.json([bt.parse(s)])}).openapi(a.createRoute({tags:["users"],method:"get",path:"/{user_id}/sessions",request:{query:vn,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(Zs),p_])}},description:"List of sessions"}}}),async t=>{const{user_id:e}=t.req.valid("param"),{include_totals:n}=t.req.valid("query"),{"tenant-id":r}=t.req.valid("header"),i=await t.env.data.sessions.list(r,{page:0,per_page:10,include_totals:!1,q:`user_id:${e}`});return n?t.json(i):t.json(i.sessions)});/*! *****************************************************************************
|
|
5
|
+
*/(function(e,n){typeof Qm=="function"&&t&&t.exports?t.exports=n():(e.dcodeIO=e.dcodeIO||{}).bcrypt=n()})(as,function(){var e={},n=null;function r($){if(t&&t.exports)try{return n_.randomBytes($)}catch{}try{var C;return(self.crypto||self.msCrypto).getRandomValues(C=new Uint32Array($)),Array.prototype.slice.call(C)}catch{}if(!n)throw Error("Neither WebCryptoAPI nor a crypto module is available. Use bcrypt.setRandomFallback to set an alternative");return n($)}var i=!1;try{r(1),i=!0}catch{}n=null,e.setRandomFallback=function($){n=$},e.genSaltSync=function($,C){if($=$||_,typeof $!="number")throw Error("Illegal arguments: "+typeof $+", "+typeof C);$<4?$=4:$>31&&($=31);var E=[];return E.push("$2a$"),$<10&&E.push("0"),E.push($.toString()),E.push("$"),E.push(h(r(f),f)),E.join("")},e.genSalt=function($,C,E){if(typeof C=="function"&&(E=C,C=void 0),typeof $=="function"&&(E=$,$=void 0),typeof $>"u")$=_;else if(typeof $!="number")throw Error("illegal arguments: "+typeof $);function x(k){o(function(){try{k(null,e.genSaltSync($))}catch(j){k(j)}})}if(E){if(typeof E!="function")throw Error("Illegal callback: "+typeof E);x(E)}else return new Promise(function(k,j){x(function(L,X){if(L){j(L);return}k(X)})})},e.hashSync=function($,C){if(typeof C>"u"&&(C=_),typeof C=="number"&&(C=e.genSaltSync(C)),typeof $!="string"||typeof C!="string")throw Error("Illegal arguments: "+typeof $+", "+typeof C);return Ge($,C)},e.hash=function($,C,E,x){function k(j){typeof $=="string"&&typeof C=="number"?e.genSalt(C,function(L,X){Ge($,X,j,x)}):typeof $=="string"&&typeof C=="string"?Ge($,C,j,x):o(j.bind(this,Error("Illegal arguments: "+typeof $+", "+typeof C)))}if(E){if(typeof E!="function")throw Error("Illegal callback: "+typeof E);k(E)}else return new Promise(function(j,L){k(function(X,G){if(X){L(X);return}j(G)})})};function s($,C){for(var E=0,x=0,k=0,j=$.length;k<j;++k)$.charCodeAt(k)===C.charCodeAt(k)?++E:++x;return E<0?!1:x===0}e.compareSync=function($,C){if(typeof $!="string"||typeof C!="string")throw Error("Illegal arguments: "+typeof $+", "+typeof C);return C.length!==60?!1:s(e.hashSync($,C.substr(0,C.length-31)),C)},e.compare=function($,C,E,x){function k(j){if(typeof $!="string"||typeof C!="string"){o(j.bind(this,Error("Illegal arguments: "+typeof $+", "+typeof C)));return}if(C.length!==60){o(j.bind(this,null,!1));return}e.hash($,C.substr(0,29),function(L,X){L?j(L):j(null,s(X,C))},x)}if(E){if(typeof E!="function")throw Error("Illegal callback: "+typeof E);k(E)}else return new Promise(function(j,L){k(function(X,G){if(X){L(X);return}j(G)})})},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 C=[],E=0;return v.encodeUTF16toUTF8(function(){return E>=$.length?null:$.charCodeAt(E++)},function(x){C.push(x)}),C}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 h($,C){var E=0,x=[],k,j;if(C<=0||C>$.length)throw Error("Illegal len: "+C);for(;E<C;){if(k=$[E++]&255,x.push(l[k>>2&63]),k=(k&3)<<4,E>=C){x.push(l[k&63]);break}if(j=$[E++]&255,k|=j>>4&15,x.push(l[k&63]),k=(j&15)<<2,E>=C){x.push(l[k&63]);break}j=$[E++]&255,k|=j>>6&3,x.push(l[k&63]),x.push(l[j&63])}return x.join("")}function m($,C){var E=0,x=$.length,k=0,j=[],L,X,G,ie,ce,H;if(C<=0)throw Error("Illegal len: "+C);for(;E<x-1&&k<C&&(H=$.charCodeAt(E++),L=H<u.length?u[H]:-1,H=$.charCodeAt(E++),X=H<u.length?u[H]:-1,!(L==-1||X==-1||(ce=L<<2>>>0,ce|=(X&48)>>4,j.push(p(ce)),++k>=C||E>=x)||(H=$.charCodeAt(E++),G=H<u.length?u[H]:-1,G==-1)||(ce=(X&15)<<4>>>0,ce|=(G&60)>>2,j.push(p(ce)),++k>=C||E>=x)));)H=$.charCodeAt(E++),ie=H<u.length?u[H]:-1,ce=(G&3)<<6>>>0,ce|=ie,j.push(p(ce)),++k;var Ie=[];for(E=0;E<k;E++)Ie.push(j[E].charCodeAt(0));return Ie}var v=function(){var $={};return $.MAX_CODEPOINT=1114111,$.encodeUTF8=function(C,E){var x=null;for(typeof C=="number"&&(x=C,C=function(){return null});x!==null||(x=C())!==null;)x<128?E(x&127):x<2048?(E(x>>6&31|192),E(x&63|128)):x<65536?(E(x>>12&15|224),E(x>>6&63|128),E(x&63|128)):(E(x>>18&7|240),E(x>>12&63|128),E(x>>6&63|128),E(x&63|128)),x=null},$.decodeUTF8=function(C,E){for(var x,k,j,L,X=function(G){G=G.slice(0,G.indexOf(null));var ie=Error(G.toString());throw ie.name="TruncatedError",ie.bytes=G,ie};(x=C())!==null;)if(!(x&128))E(x);else if((x&224)===192)(k=C())===null&&X([x,k]),E((x&31)<<6|k&63);else if((x&240)===224)((k=C())===null||(j=C())===null)&&X([x,k,j]),E((x&15)<<12|(k&63)<<6|j&63);else if((x&248)===240)((k=C())===null||(j=C())===null||(L=C())===null)&&X([x,k,j,L]),E((x&7)<<18|(k&63)<<12|(j&63)<<6|L&63);else throw RangeError("Illegal starting byte: "+x)},$.UTF16toUTF8=function(C,E){for(var x,k=null;(x=k!==null?k:C())!==null;){if(x>=55296&&x<=57343&&(k=C())!==null&&k>=56320&&k<=57343){E((x-55296)*1024+k-56320+65536),k=null;continue}E(x)}k!==null&&E(k)},$.UTF8toUTF16=function(C,E){var x=null;for(typeof C=="number"&&(x=C,C=function(){return null});x!==null||(x=C())!==null;)x<=65535?E(x):(x-=65536,E((x>>10)+55296),E(x%1024+56320)),x=null},$.encodeUTF16toUTF8=function(C,E){$.UTF16toUTF8(C,function(x){$.encodeUTF8(x,E)})},$.decodeUTF8toUTF16=function(C,E){$.decodeUTF8(C,function(x){$.UTF8toUTF16(x,E)})},$.calculateCodePoint=function(C){return C<128?1:C<2048?2:C<65536?3:4},$.calculateUTF8=function(C){for(var E,x=0;(E=C())!==null;)x+=$.calculateCodePoint(E);return x},$.calculateUTF16asUTF8=function(C){var E=0,x=0;return $.UTF16toUTF8(C,function(k){++E,x+=$.calculateCodePoint(k)}),[E,x]},$}();Date.now=Date.now||function(){return+new Date};var f=16,_=10,w=16,S=100,N=[608135816,2242054355,320440878,57701188,2752067618,698298832,137296536,3964562569,1160258022,953160567,3193202383,887688300,3232508343,3380367581,1065670069,3041331479,2450970073,2306472731],B=[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],R=[1332899944,1700884034,1701343084,1684370003,1668446532,1869963892];function te($,C,E,x){var k,j=$[C],L=$[C+1];return j^=E[0],k=x[j>>>24],k+=x[256|j>>16&255],k^=x[512|j>>8&255],k+=x[768|j&255],L^=k^E[1],k=x[L>>>24],k+=x[256|L>>16&255],k^=x[512|L>>8&255],k+=x[768|L&255],j^=k^E[2],k=x[j>>>24],k+=x[256|j>>16&255],k^=x[512|j>>8&255],k+=x[768|j&255],L^=k^E[3],k=x[L>>>24],k+=x[256|L>>16&255],k^=x[512|L>>8&255],k+=x[768|L&255],j^=k^E[4],k=x[j>>>24],k+=x[256|j>>16&255],k^=x[512|j>>8&255],k+=x[768|j&255],L^=k^E[5],k=x[L>>>24],k+=x[256|L>>16&255],k^=x[512|L>>8&255],k+=x[768|L&255],j^=k^E[6],k=x[j>>>24],k+=x[256|j>>16&255],k^=x[512|j>>8&255],k+=x[768|j&255],L^=k^E[7],k=x[L>>>24],k+=x[256|L>>16&255],k^=x[512|L>>8&255],k+=x[768|L&255],j^=k^E[8],k=x[j>>>24],k+=x[256|j>>16&255],k^=x[512|j>>8&255],k+=x[768|j&255],L^=k^E[9],k=x[L>>>24],k+=x[256|L>>16&255],k^=x[512|L>>8&255],k+=x[768|L&255],j^=k^E[10],k=x[j>>>24],k+=x[256|j>>16&255],k^=x[512|j>>8&255],k+=x[768|j&255],L^=k^E[11],k=x[L>>>24],k+=x[256|L>>16&255],k^=x[512|L>>8&255],k+=x[768|L&255],j^=k^E[12],k=x[j>>>24],k+=x[256|j>>16&255],k^=x[512|j>>8&255],k+=x[768|j&255],L^=k^E[13],k=x[L>>>24],k+=x[256|L>>16&255],k^=x[512|L>>8&255],k+=x[768|L&255],j^=k^E[14],k=x[j>>>24],k+=x[256|j>>16&255],k^=x[512|j>>8&255],k+=x[768|j&255],L^=k^E[15],k=x[L>>>24],k+=x[256|L>>16&255],k^=x[512|L>>8&255],k+=x[768|L&255],j^=k^E[16],$[C]=L^E[w+1],$[C+1]=j,$}function fe($,C){for(var E=0,x=0;E<4;++E)x=x<<8|$[C]&255,C=(C+1)%$.length;return{key:x,offp:C}}function le($,C,E){for(var x=0,k=[0,0],j=C.length,L=E.length,X,G=0;G<j;G++)X=fe($,x),x=X.offp,C[G]=C[G]^X.key;for(G=0;G<j;G+=2)k=te(k,0,C,E),C[G]=k[0],C[G+1]=k[1];for(G=0;G<L;G+=2)k=te(k,0,C,E),E[G]=k[0],E[G+1]=k[1]}function Ve($,C,E,x){for(var k=0,j=[0,0],L=E.length,X=x.length,G,ie=0;ie<L;ie++)G=fe(C,k),k=G.offp,E[ie]=E[ie]^G.key;for(k=0,ie=0;ie<L;ie+=2)G=fe($,k),k=G.offp,j[0]^=G.key,G=fe($,k),k=G.offp,j[1]^=G.key,j=te(j,0,E,x),E[ie]=j[0],E[ie+1]=j[1];for(ie=0;ie<X;ie+=2)G=fe($,k),k=G.offp,j[0]^=G.key,G=fe($,k),k=G.offp,j[1]^=G.key,j=te(j,0,E,x),x[ie]=j[0],x[ie+1]=j[1]}function at($,C,E,x,k){var j=R.slice(),L=j.length,X;if(E<4||E>31)if(X=Error("Illegal number of rounds (4-31): "+E),x){o(x.bind(this,X));return}else throw X;if(C.length!==f)if(X=Error("Illegal salt length: "+C.length+" != "+f),x){o(x.bind(this,X));return}else throw X;E=1<<E>>>0;var G,ie,ce=0,H;Int32Array?(G=new Int32Array(N),ie=new Int32Array(B)):(G=N.slice(),ie=B.slice()),Ve(C,$,G,ie);function Ie(){if(k&&k(ce/E),ce<E)for(var he=Date.now();ce<E&&(ce=ce+1,le($,G,ie),le(C,G,ie),!(Date.now()-he>S)););else{for(ce=0;ce<64;ce++)for(H=0;H<L>>1;H++)te(j,H<<1,G,ie);var xe=[];for(ce=0;ce<L;ce++)xe.push((j[ce]>>24&255)>>>0),xe.push((j[ce]>>16&255)>>>0),xe.push((j[ce]>>8&255)>>>0),xe.push((j[ce]&255)>>>0);if(x){x(null,xe);return}else return xe}x&&o(Ie)}if(typeof x<"u")Ie();else for(var cn;;)if(typeof(cn=Ie())<"u")return cn||[]}function Ge($,C,E,x){var k;if(typeof $!="string"||typeof C!="string")if(k=Error("Invalid string / salt: Not a string"),E){o(E.bind(this,k));return}else throw k;var j,L;if(C.charAt(0)!=="$"||C.charAt(1)!=="2")if(k=Error("Invalid salt version: "+C.substring(0,2)),E){o(E.bind(this,k));return}else throw k;if(C.charAt(2)==="$")j="\0",L=3;else{if(j=C.charAt(2),j!=="a"&&j!=="b"&&j!=="y"||C.charAt(3)!=="$")if(k=Error("Invalid salt revision: "+C.substring(2,4)),E){o(E.bind(this,k));return}else throw k;L=4}if(C.charAt(L+2)>"$")if(k=Error("Missing salt rounds"),E){o(E.bind(this,k));return}else throw k;var X=parseInt(C.substring(L,L+1),10)*10,G=parseInt(C.substring(L+1,L+2),10),ie=X+G,ce=C.substring(L+3,L+25);$+=j>="a"?"\0":"";var H=c($),Ie=m(ce,f);function cn(he){var xe=[];return xe.push("$2"),j>="a"&&xe.push(j),xe.push("$"),ie<10&&xe.push("0"),xe.push(ie.toString()),xe.push("$"),xe.push(h(Ie,Ie.length)),xe.push(h(he,R.length*4-1)),xe.join("")}if(typeof E>"u")return cn(at(H,Ie,ie));at(H,Ie,ie,function(he,xe){he?E(he,null):E(null,cn(xe))},x)}return e.encodeBase64=h,e.decodeBase64=m,e})})(bf);var r_=bf.exports;const si=wf(r_),i_="useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict";let s_=t=>crypto.getRandomValues(new Uint8Array(t)),o_=(t,e,n)=>{let r=(2<<Math.log2(t.length-1))-1,i=-~(1.6*r*e/t.length);return(s=e)=>{let o="";for(;;){let c=n(i),l=i;for(;l--;)if(o+=t[c[l]&r]||"",o.length===s)return o}}},a_=(t,e=21)=>o_(t,e,s_),Re=(t=21)=>{let e="",n=crypto.getRandomValues(new Uint8Array(t));for(;t--;)e+=i_[n[t]&63];return e};const c_=24;function oi(){return a_("0123456789abcdef",c_)()}function Ou(t){if(!t.includes("|"))return console.error("Invalid user_id format"),t;const[,e]=t.split("|");return e}async function Ys(t,e,n){return(await t.list(e,{page:0,per_page:10,include_totals:!1,q:`email:${n}`})).users}async function Gn({userAdapter:t,tenant_id:e,email:n,provider:r}){const{users:i}=await t.list(e,{page:0,per_page:10,include_totals:!1,q:`email:${n} provider:${r}`});return i.length>1&&console.error("More than one user found for same email and provider"),i[0]||null}async function Xs({userAdapter:t,tenant_id:e,email:n}){var c;const{users:r}=await t.list(e,{page:0,per_page:10,include_totals:!1,q:`email:${n}`}),i=r.filter(l=>!(l.provider==="auth2"&&!l.email_verified));if(i.length===0)return;const s=i.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 t.get(e,(c=i[0])==null?void 0:c.linked_to);if(!o)throw new Error("Primary account not found");return o}async function yn({userAdapter:t,tenant_id:e,email:n,provider:r}){const i=await Gn({userAdapter:t,tenant_id:e,email:n,provider:r});return i?i.linked_to?t.get(e,i.linked_to):i:null}const vn=a.z.object({page:a.z.string().min(0).optional().default("0").transform(t=>parseInt(t,10)).openapi({description:"The page number where 0 is the first page"}),per_page:a.z.string().min(1).optional().default("10").transform(t=>parseInt(t,10)).openapi({description:"The number of items per page"}),include_totals:a.z.string().optional().default("false").transform(t=>t==="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 lr(t){if(!t)return;const[e,n]=t.split(":"),r=n==="1"?"asc":"desc";if(!(!e||!r))return{sort_by:e,sort_order:r}}function be(t,e){return{type:e.type,description:e.description||"",ip:t.req.header("x-real-ip")||"",user_agent:t.req.header("user-agent")||"",date:new Date().toISOString(),details:{request:{method:t.req.method,path:t.req.path,qs:t.req.queries(),body:e.body||t.var.body||""}},isMobile:!1,client_id:t.var.client_id,client_name:"",user_id:e.userId||t.var.user_id||"",hostname:t.req.header("host")||"",user_name:t.var.username||"",connection_id:"",connection:t.var.connection||"",strategy:e.strategy||"",strategy_type:e.strategy_type||"",audience:"",scope:[]}}var l_={deno:"Deno",bun:"Bun",workerd:"Cloudflare-Workers",node:"Node.js"},u_=()=>{var n,r;const t=globalThis;if(typeof navigator<"u"&&typeof navigator.userAgent=="string"){for(const[i,s]of Object.entries(l_))if(d_(s))return i}return typeof(t==null?void 0:t.EdgeRuntime)=="string"?"edge-light":(t==null?void 0:t.fastly)!==void 0?"fastly":((r=(n=t==null?void 0:t.process)==null?void 0:n.release)==null?void 0:r.name)==="node"?"node":"other"},d_=t=>navigator.userAgent.startsWith(t);function Qe(t,e){u_()==="workerd"&&t.executionCtx.waitUntil(e)}const Bu=tn.extend({users:a.z.array(bt)}),p_=tn.extend({sessions:a.z.array(Zs)}),f_=new a.OpenAPIHono().openapi(a.createRoute({tags:["users"],method:"get",path:"/",request:{query:vn,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),Bu])}},description:"List of users"}}}),async t=>{const{page:e,per_page:n,include_totals:r,sort:i,q:s}=t.req.valid("query"),{"tenant-id":o}=t.req.valid("header");if(s!=null&&s.includes("identities.profileData.email")){const p=s.split("=")[1],m=(await t.env.data.users.list(o,{page:e,per_page:n,include_totals:r,q:`email:${p}`})).users.filter(_=>_.linked_to),[v]=m;if(!v)return t.json([]);const f=await t.env.data.users.get(o,v.linked_to);if(!f)throw new z(500,{message:"Primary account not found"});return t.json([bt.parse(f)])}const c=["-_exists_:linked_to"];s&&c.push(s);const l=await t.env.data.users.list(o,{page:e,per_page:n,include_totals:r,sort:lr(i),q:c.join(" ")}),u=l.users.filter(p=>!p.linked_to);return r?t.json(Bu.parse({users:u,length:l.length,start:l.start,limit:l.limit})):t.json(a.z.array(bt).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:bt}},description:"List of users"}}}),async t=>{const{user_id:e}=t.req.valid("param"),{"tenant-id":n}=t.req.valid("header"),r=await t.env.data.users.get(n,e);if(!r)throw new z(404);if(r.linked_to)throw new z(404,{message:"User is linked to another user"});return t.json(r)}).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 t=>{const{user_id:e}=t.req.valid("param"),{"tenant-id":n}=t.req.valid("header");if(!await t.env.data.users.remove(n,e))throw new z(404);return t.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({...ts.shape})}}}},security:[{Bearer:["auth:write"]}],responses:{200:{content:{"application/json":{schema:bt}},description:"Status"}}}),async t=>{const{"tenant-id":e}=t.req.valid("header"),n=t.req.valid("json");t.set("body",n);const{email:r}=n;if(!r)throw new z(400,{message:"Email is required"});const i=r.toLowerCase(),s=`${n.provider}|${n.user_id||oi()}`;try{const o=await t.env.data.users.create(e,{email:i,user_id:s,name:n.name||i,provider:n.provider,connection:n.connection,email_verified:n.email_verified||!1,last_ip:"",is_social:!1,last_login:new Date().toISOString()});t.set("user_id",o.user_id);const c=be(t,{type:me.SUCCESS_API_OPERATION,description:"User created"});Qe(t,t.env.data.logs.create(e,c));const l={...o,identities:[{connection:o.connection,provider:o.provider,user_id:Ou(o.user_id),isSocial:o.is_social}]};return t.json(bt.parse(l),{status:201})}catch(o){throw o.message==="User already exists"?new z(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({...ts.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 t=>{var u;const{"tenant-id":e}=t.req.valid("header"),n=t.req.valid("json"),{user_id:r}=t.req.valid("param"),{verify_email:i,password:s,...o}=n,c=await t.env.data.users.get(e,r);if(!c)throw new z(404);if(o.email&&o.email!==c.email){const p=await Ys(t.env.data.users,e,o.email);if(p.length&&p.some(h=>h.user_id!==r))throw new z(409,{message:"Another user with the same email address already exists."})}if(c.linked_to)throw new z(404,{message:"User is linked to another user"});if(await t.env.data.users.update(e,r,o),s){const p=(u=c.identities)==null?void 0:u.find(h=>h.connection==="Username-Password-Authentication");if(!p)throw new z(400,{message:"User does not have a password identity"});await t.env.data.passwords.update(e,{user_id:`${p.provider}|${p.user_id}`,password:si.hashSync(s,10),algorithm:"bcrypt"})}const l=await t.env.data.users.get(e,r);if(!l)throw new z(500);return t.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 t=>{const{"tenant-id":e}=t.req.valid("header"),n=t.req.valid("json"),{user_id:r}=t.req.valid("param"),i="link_with"in n?n.link_with:n.user_id,s=await t.env.data.users.get(e,r);if(!s)throw new z(400,{message:"Linking an inexistent identity is not allowed."});await t.env.data.users.update(e,i,{linked_to:r});const o=await t.env.data.users.list(e,{page:0,per_page:10,include_totals:!1,q:`linked_to:${r}`}),c=[s,...o.users].map(l=>({connection:l.connection,provider:l.provider,user_id:Ou(l.user_id),isSocial:l.is_social}));return t.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(bt)}},description:"Status"}}}),async t=>{const{"tenant-id":e}=t.req.valid("header"),{user_id:n,provider:r,linked_user_id:i}=t.req.valid("param");await t.env.data.users.unlink(e,n,r,i);const s=await t.env.data.users.get(e,n);if(!s)throw new z(404);return t.json([bt.parse(s)])}).openapi(a.createRoute({tags:["users"],method:"get",path:"/{user_id}/sessions",request:{query:vn,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(Zs),p_])}},description:"List of sessions"}}}),async t=>{const{user_id:e}=t.req.valid("param"),{include_totals:n}=t.req.valid("query"),{"tenant-id":r}=t.req.valid("header"),i=await t.env.data.sessions.list(r,{page:0,per_page:10,include_totals:!1,q:`user_id:${e}`});return n?t.json(i):t.json(i.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 Tu;(function(t){(function(e){var n=typeof globalThis=="object"?globalThis:typeof as=="object"?as:typeof self=="object"?self:typeof this=="object"?this:c(),r=i(t);typeof n.Reflect<"u"&&(r=i(n.Reflect,r)),e(r,n),typeof n.Reflect>"u"&&(n.Reflect=t);function i(l,u){return function(p,h){Object.defineProperty(l,p,{configurable:!0,writable:!0,value:h}),u&&u(p,h)}}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,n){var r=Object.prototype.hasOwnProperty,i=typeof Symbol=="function",s=i&&typeof Symbol.toPrimitive<"u"?Symbol.toPrimitive:"@@toPrimitive",o=i&&typeof Symbol.iterator<"u"?Symbol.iterator:"@@iterator",c=typeof Object.create=="function",l={__proto__:[]}instanceof Array,u=!c&&!l,p={create:c?function(){return Yo(Object.create(null))}:l?function(){return Yo({__proto__:null})}:function(){return Yo({})},has:u?function(A,I){return r.call(A,I)}:function(A,I){return I in A},get:u?function(A,I){return r.call(A,I)?A[I]:void 0}:function(A,I){return A[I]}},h=Object.getPrototypeOf(Function),m=typeof Map=="function"&&typeof Map.prototype.entries=="function"?Map:gm(),v=typeof Set=="function"&&typeof Set.prototype.entries=="function"?Set:mm(),f=typeof WeakMap=="function"?WeakMap:_m(),_=i?Symbol.for("@reflect-metadata:registry"):void 0,w=pm(),S=fm(w);function N(A,I,O,V){if(H(O)){if(!fu(A))throw new TypeError;if(!hu(I))throw new TypeError;return C(A,I)}else{if(!fu(A))throw new TypeError;if(!he(I))throw new TypeError;if(!he(V)&&!H(V)&&!Ie(V))throw new TypeError;return Ie(V)&&(V=void 0),O=yt(O),E(A,I,O,V)}}e("decorate",N);function B(A,I){function O(V,Q){if(!he(V))throw new TypeError;if(!H(Q)&&!um(Q))throw new TypeError;X(A,I,V,Q)}return O}e("metadata",B);function R(A,I,O,V){if(!he(O))throw new TypeError;return H(V)||(V=yt(V)),X(A,I,O,V)}e("defineMetadata",R);function te(A,I,O){if(!he(I))throw new TypeError;return H(O)||(O=yt(O)),x(A,I,O)}e("hasMetadata",te);function fe(A,I,O){if(!he(I))throw new TypeError;return H(O)||(O=yt(O)),k(A,I,O)}e("hasOwnMetadata",fe);function le(A,I,O){if(!he(I))throw new TypeError;return H(O)||(O=yt(O)),j(A,I,O)}e("getMetadata",le);function Ve(A,I,O){if(!he(I))throw new TypeError;return H(O)||(O=yt(O)),L(A,I,O)}e("getOwnMetadata",Ve);function at(A,I){if(!he(A))throw new TypeError;return H(I)||(I=yt(I)),G(A,I)}e("getMetadataKeys",at);function Ge(A,I){if(!he(A))throw new TypeError;return H(I)||(I=yt(I)),ie(A,I)}e("getOwnMetadataKeys",Ge);function $(A,I,O){if(!he(I))throw new TypeError;if(H(O)||(O=yt(O)),!he(I))throw new TypeError;H(O)||(O=yt(O));var V=kr(I,O,!1);return H(V)?!1:V.OrdinaryDeleteMetadata(A,I,O)}e("deleteMetadata",$);function C(A,I){for(var O=A.length-1;O>=0;--O){var V=A[O],Q=V(I);if(!H(Q)&&!Ie(Q)){if(!hu(Q))throw new TypeError;I=Q}}return I}function E(A,I,O,V){for(var Q=A.length-1;Q>=0;--Q){var Ce=A[Q],Ae=Ce(I,O,V);if(!H(Ae)&&!Ie(Ae)){if(!he(Ae))throw new TypeError;V=Ae}}return V}function x(A,I,O){var V=k(A,I,O);if(V)return!0;var Q=Zo(I);return Ie(Q)?!1:x(A,Q,O)}function k(A,I,O){var V=kr(I,O,!1);return H(V)?!1:pu(V.OrdinaryHasOwnMetadata(A,I,O))}function j(A,I,O){var V=k(A,I,O);if(V)return L(A,I,O);var Q=Zo(I);if(!Ie(Q))return j(A,Q,O)}function L(A,I,O){var V=kr(I,O,!1);if(!H(V))return V.OrdinaryGetOwnMetadata(A,I,O)}function X(A,I,O,V){var Q=kr(O,V,!0);Q.OrdinaryDefineOwnMetadata(A,I,O,V)}function G(A,I){var O=ie(A,I),V=Zo(A);if(V===null)return O;var Q=G(V,I);if(Q.length<=0)return O;if(O.length<=0)return Q;for(var Ce=new v,Ae=[],se=0,D=O;se<D.length;se++){var W=D[se],Z=Ce.has(W);Z||(Ce.add(W),Ae.push(W))}for(var Y=0,oe=Q;Y<oe.length;Y++){var W=oe[Y],Z=Ce.has(W);Z||(Ce.add(W),Ae.push(W))}return Ae}function ie(A,I){var O=kr(A,I,!1);return O?O.OrdinaryOwnMetadataKeys(A,I):[]}function ce(A){if(A===null)return 1;switch(typeof A){case"undefined":return 0;case"boolean":return 2;case"string":return 3;case"symbol":return 4;case"number":return 5;case"object":return A===null?1:6;default:return 6}}function H(A){return A===void 0}function Ie(A){return A===null}function cn(A){return typeof A=="symbol"}function he(A){return typeof A=="object"?A!==null:typeof A=="function"}function xe(A,I){switch(ce(A)){case 0:return A;case 1:return A;case 2:return A;case 3:return A;case 4:return A;case 5:return A}var O="string",V=gu(A,s);if(V!==void 0){var Q=V.call(A,O);if(he(Q))throw new TypeError;return Q}return cm(A)}function cm(A,I){var O,V;{var Q=A.toString;if(Ni(Q)){var V=Q.call(A);if(!he(V))return V}var O=A.valueOf;if(Ni(O)){var V=O.call(A);if(!he(V))return V}}throw new TypeError}function pu(A){return!!A}function lm(A){return""+A}function yt(A){var I=xe(A);return cn(I)?I:lm(I)}function fu(A){return Array.isArray?Array.isArray(A):A instanceof Object?A instanceof Array:Object.prototype.toString.call(A)==="[object Array]"}function Ni(A){return typeof A=="function"}function hu(A){return typeof A=="function"}function um(A){switch(ce(A)){case 3:return!0;case 4:return!0;default:return!1}}function Jo(A,I){return A===I||A!==A&&I!==I}function gu(A,I){var O=A[I];if(O!=null){if(!Ni(O))throw new TypeError;return O}}function mu(A){var I=gu(A,o);if(!Ni(I))throw new TypeError;var O=I.call(A);if(!he(O))throw new TypeError;return O}function _u(A){return A.value}function yu(A){var I=A.next();return I.done?!1:I}function vu(A){var I=A.return;I&&I.call(A)}function Zo(A){var I=Object.getPrototypeOf(A);if(typeof A!="function"||A===h||I!==h)return I;var O=A.prototype,V=O&&Object.getPrototypeOf(O);if(V==null||V===Object.prototype)return I;var Q=V.constructor;return typeof Q!="function"||Q===A?I:Q}function dm(){var A;!H(_)&&typeof n.Reflect<"u"&&!(_ in n.Reflect)&&typeof n.Reflect.defineMetadata=="function"&&(A=hm(n.Reflect));var I,O,V,Q=new f,Ce={registerProvider:Ae,getProvider:D,setProvider:Z};return Ce;function Ae(Y){if(!Object.isExtensible(Ce))throw new Error("Cannot add provider to a frozen registry.");switch(!0){case A===Y:break;case H(I):I=Y;break;case I===Y:break;case H(O):O=Y;break;case O===Y:break;default:V===void 0&&(V=new v),V.add(Y);break}}function se(Y,oe){if(!H(I)){if(I.isProviderFor(Y,oe))return I;if(!H(O)){if(O.isProviderFor(Y,oe))return I;if(!H(V))for(var ge=mu(V);;){var ve=yu(ge);if(!ve)return;var ct=_u(ve);if(ct.isProviderFor(Y,oe))return vu(ge),ct}}}if(!H(A)&&A.isProviderFor(Y,oe))return A}function D(Y,oe){var ge=Q.get(Y),ve;return H(ge)||(ve=ge.get(oe)),H(ve)&&(ve=se(Y,oe),H(ve)||(H(ge)&&(ge=new m,Q.set(Y,ge)),ge.set(oe,ve))),ve}function W(Y){if(H(Y))throw new TypeError;return I===Y||O===Y||!H(V)&&V.has(Y)}function Z(Y,oe,ge){if(!W(ge))throw new Error("Metadata provider not registered.");var ve=D(Y,oe);if(ve!==ge){if(!H(ve))return!1;var ct=Q.get(Y);H(ct)&&(ct=new m,Q.set(Y,ct)),ct.set(oe,ge)}return!0}}function pm(){var A;return!H(_)&&he(n.Reflect)&&Object.isExtensible(n.Reflect)&&(A=n.Reflect[_]),H(A)&&(A=dm()),!H(_)&&he(n.Reflect)&&Object.isExtensible(n.Reflect)&&Object.defineProperty(n.Reflect,_,{enumerable:!1,configurable:!1,writable:!1,value:A}),A}function fm(A){var I=new f,O={isProviderFor:function(W,Z){var Y=I.get(W);return H(Y)?!1:Y.has(Z)},OrdinaryDefineOwnMetadata:Ae,OrdinaryHasOwnMetadata:Q,OrdinaryGetOwnMetadata:Ce,OrdinaryOwnMetadataKeys:se,OrdinaryDeleteMetadata:D};return w.registerProvider(O),O;function V(W,Z,Y){var oe=I.get(W),ge=!1;if(H(oe)){if(!Y)return;oe=new m,I.set(W,oe),ge=!0}var ve=oe.get(Z);if(H(ve)){if(!Y)return;if(ve=new m,oe.set(Z,ve),!A.setProvider(W,Z,O))throw oe.delete(Z),ge&&I.delete(W),new Error("Wrong provider for target.")}return ve}function Q(W,Z,Y){var oe=V(Z,Y,!1);return H(oe)?!1:pu(oe.has(W))}function Ce(W,Z,Y){var oe=V(Z,Y,!1);if(!H(oe))return oe.get(W)}function Ae(W,Z,Y,oe){var ge=V(Y,oe,!0);ge.set(W,Z)}function se(W,Z){var Y=[],oe=V(W,Z,!1);if(H(oe))return Y;for(var ge=oe.keys(),ve=mu(ge),ct=0;;){var wu=yu(ve);if(!wu)return Y.length=ct,Y;var ym=_u(wu);try{Y[ct]=ym}catch(vm){try{vu(ve)}finally{throw vm}}ct++}}function D(W,Z,Y){var oe=V(Z,Y,!1);if(H(oe)||!oe.delete(W))return!1;if(oe.size===0){var ge=I.get(Z);H(ge)||(ge.delete(Y),ge.size===0&&I.delete(ge))}return!0}}function hm(A){var I=A.defineMetadata,O=A.hasOwnMetadata,V=A.getOwnMetadata,Q=A.getOwnMetadataKeys,Ce=A.deleteMetadata,Ae=new f,se={isProviderFor:function(D,W){var Z=Ae.get(D);return!H(Z)&&Z.has(W)?!0:Q(D,W).length?(H(Z)&&(Z=new v,Ae.set(D,Z)),Z.add(W),!0):!1},OrdinaryDefineOwnMetadata:I,OrdinaryHasOwnMetadata:O,OrdinaryGetOwnMetadata:V,OrdinaryOwnMetadataKeys:Q,OrdinaryDeleteMetadata:Ce};return se}function kr(A,I,O){var V=w.getProvider(A,I);if(!H(V))return V;if(O){if(w.setProvider(A,I,S))return S;throw new Error("Illegal state.")}}function gm(){var A={},I=[],O=function(){function se(D,W,Z){this._index=0,this._keys=D,this._values=W,this._selector=Z}return se.prototype["@@iterator"]=function(){return this},se.prototype[o]=function(){return this},se.prototype.next=function(){var D=this._index;if(D>=0&&D<this._keys.length){var W=this._selector(this._keys[D],this._values[D]);return D+1>=this._keys.length?(this._index=-1,this._keys=I,this._values=I):this._index++,{value:W,done:!1}}return{value:void 0,done:!0}},se.prototype.throw=function(D){throw this._index>=0&&(this._index=-1,this._keys=I,this._values=I),D},se.prototype.return=function(D){return this._index>=0&&(this._index=-1,this._keys=I,this._values=I),{value:D,done:!0}},se}(),V=function(){function se(){this._keys=[],this._values=[],this._cacheKey=A,this._cacheIndex=-2}return Object.defineProperty(se.prototype,"size",{get:function(){return this._keys.length},enumerable:!0,configurable:!0}),se.prototype.has=function(D){return this._find(D,!1)>=0},se.prototype.get=function(D){var W=this._find(D,!1);return W>=0?this._values[W]:void 0},se.prototype.set=function(D,W){var Z=this._find(D,!0);return this._values[Z]=W,this},se.prototype.delete=function(D){var W=this._find(D,!1);if(W>=0){for(var Z=this._keys.length,Y=W+1;Y<Z;Y++)this._keys[Y-1]=this._keys[Y],this._values[Y-1]=this._values[Y];return this._keys.length--,this._values.length--,Jo(D,this._cacheKey)&&(this._cacheKey=A,this._cacheIndex=-2),!0}return!1},se.prototype.clear=function(){this._keys.length=0,this._values.length=0,this._cacheKey=A,this._cacheIndex=-2},se.prototype.keys=function(){return new O(this._keys,this._values,Q)},se.prototype.values=function(){return new O(this._keys,this._values,Ce)},se.prototype.entries=function(){return new O(this._keys,this._values,Ae)},se.prototype["@@iterator"]=function(){return this.entries()},se.prototype[o]=function(){return this.entries()},se.prototype._find=function(D,W){if(!Jo(this._cacheKey,D)){this._cacheIndex=-1;for(var Z=0;Z<this._keys.length;Z++)if(Jo(this._keys[Z],D)){this._cacheIndex=Z;break}}return this._cacheIndex<0&&W&&(this._cacheIndex=this._keys.length,this._keys.push(D),this._values.push(void 0)),this._cacheIndex},se}();return V;function Q(se,D){return se}function Ce(se,D){return D}function Ae(se,D){return[se,D]}}function mm(){var A=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(O){return this._map.has(O)},I.prototype.add=function(O){return this._map.set(O,O),this},I.prototype.delete=function(O){return this._map.delete(O)},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 A}function _m(){var A=16,I=p.create(),O=V();return function(){function D(){this._key=V()}return D.prototype.has=function(W){var Z=Q(W,!1);return Z!==void 0?p.has(Z,this._key):!1},D.prototype.get=function(W){var Z=Q(W,!1);return Z!==void 0?p.get(Z,this._key):void 0},D.prototype.set=function(W,Z){var Y=Q(W,!0);return Y[this._key]=Z,this},D.prototype.delete=function(W){var Z=Q(W,!1);return Z!==void 0?delete Z[this._key]:!1},D.prototype.clear=function(){this._key=V()},D}();function V(){var D;do D="@@WeakMap@@"+se();while(p.has(I,D));return I[D]=!0,D}function Q(D,W){if(!r.call(D,O)){if(!W)return;Object.defineProperty(D,O,{value:p.create()})}return D[O]}function Ce(D,W){for(var Z=0;Z<W;++Z)D[Z]=Math.random()*255|0;return D}function Ae(D){if(typeof Uint8Array=="function"){var W=new Uint8Array(D);return typeof crypto<"u"?crypto.getRandomValues(W):typeof msCrypto<"u"?msCrypto.getRandomValues(W):Ce(W,D),W}return Ce(new Array(D),D)}function se(){var D=Ae(A);D[6]=D[6]&79|64,D[8]=D[8]&191|128;for(var W="",Z=0;Z<A;++Z){var Y=D[Z];(Z===4||Z===6||Z===8)&&(W+="-"),Y<16&&(W+="0"),W+=Y.toString(16).toLowerCase()}return W}}function Yo(A){return A.__=void 0,delete A.__,A}})})(Tu||(Tu={}));/*!
|
|
18
|
+
***************************************************************************** */var Tu;(function(t){(function(e){var n=typeof globalThis=="object"?globalThis:typeof as=="object"?as:typeof self=="object"?self:typeof this=="object"?this:c(),r=i(t);typeof n.Reflect<"u"&&(r=i(n.Reflect,r)),e(r,n),typeof n.Reflect>"u"&&(n.Reflect=t);function i(l,u){return function(p,h){Object.defineProperty(l,p,{configurable:!0,writable:!0,value:h}),u&&u(p,h)}}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,n){var r=Object.prototype.hasOwnProperty,i=typeof Symbol=="function",s=i&&typeof Symbol.toPrimitive<"u"?Symbol.toPrimitive:"@@toPrimitive",o=i&&typeof Symbol.iterator<"u"?Symbol.iterator:"@@iterator",c=typeof Object.create=="function",l={__proto__:[]}instanceof Array,u=!c&&!l,p={create:c?function(){return Xo(Object.create(null))}:l?function(){return Xo({__proto__:null})}:function(){return Xo({})},has:u?function(A,I){return r.call(A,I)}:function(A,I){return I in A},get:u?function(A,I){return r.call(A,I)?A[I]:void 0}:function(A,I){return A[I]}},h=Object.getPrototypeOf(Function),m=typeof Map=="function"&&typeof Map.prototype.entries=="function"?Map:gm(),v=typeof Set=="function"&&typeof Set.prototype.entries=="function"?Set:mm(),f=typeof WeakMap=="function"?WeakMap:_m(),_=i?Symbol.for("@reflect-metadata:registry"):void 0,w=pm(),S=fm(w);function N(A,I,O,V){if(H(O)){if(!fu(A))throw new TypeError;if(!hu(I))throw new TypeError;return C(A,I)}else{if(!fu(A))throw new TypeError;if(!he(I))throw new TypeError;if(!he(V)&&!H(V)&&!Ie(V))throw new TypeError;return Ie(V)&&(V=void 0),O=yt(O),E(A,I,O,V)}}e("decorate",N);function B(A,I){function O(V,Q){if(!he(V))throw new TypeError;if(!H(Q)&&!um(Q))throw new TypeError;X(A,I,V,Q)}return O}e("metadata",B);function R(A,I,O,V){if(!he(O))throw new TypeError;return H(V)||(V=yt(V)),X(A,I,O,V)}e("defineMetadata",R);function te(A,I,O){if(!he(I))throw new TypeError;return H(O)||(O=yt(O)),x(A,I,O)}e("hasMetadata",te);function fe(A,I,O){if(!he(I))throw new TypeError;return H(O)||(O=yt(O)),k(A,I,O)}e("hasOwnMetadata",fe);function le(A,I,O){if(!he(I))throw new TypeError;return H(O)||(O=yt(O)),j(A,I,O)}e("getMetadata",le);function Ve(A,I,O){if(!he(I))throw new TypeError;return H(O)||(O=yt(O)),L(A,I,O)}e("getOwnMetadata",Ve);function at(A,I){if(!he(A))throw new TypeError;return H(I)||(I=yt(I)),G(A,I)}e("getMetadataKeys",at);function Ge(A,I){if(!he(A))throw new TypeError;return H(I)||(I=yt(I)),ie(A,I)}e("getOwnMetadataKeys",Ge);function $(A,I,O){if(!he(I))throw new TypeError;if(H(O)||(O=yt(O)),!he(I))throw new TypeError;H(O)||(O=yt(O));var V=kr(I,O,!1);return H(V)?!1:V.OrdinaryDeleteMetadata(A,I,O)}e("deleteMetadata",$);function C(A,I){for(var O=A.length-1;O>=0;--O){var V=A[O],Q=V(I);if(!H(Q)&&!Ie(Q)){if(!hu(Q))throw new TypeError;I=Q}}return I}function E(A,I,O,V){for(var Q=A.length-1;Q>=0;--Q){var Ce=A[Q],Ae=Ce(I,O,V);if(!H(Ae)&&!Ie(Ae)){if(!he(Ae))throw new TypeError;V=Ae}}return V}function x(A,I,O){var V=k(A,I,O);if(V)return!0;var Q=Yo(I);return Ie(Q)?!1:x(A,Q,O)}function k(A,I,O){var V=kr(I,O,!1);return H(V)?!1:pu(V.OrdinaryHasOwnMetadata(A,I,O))}function j(A,I,O){var V=k(A,I,O);if(V)return L(A,I,O);var Q=Yo(I);if(!Ie(Q))return j(A,Q,O)}function L(A,I,O){var V=kr(I,O,!1);if(!H(V))return V.OrdinaryGetOwnMetadata(A,I,O)}function X(A,I,O,V){var Q=kr(O,V,!0);Q.OrdinaryDefineOwnMetadata(A,I,O,V)}function G(A,I){var O=ie(A,I),V=Yo(A);if(V===null)return O;var Q=G(V,I);if(Q.length<=0)return O;if(O.length<=0)return Q;for(var Ce=new v,Ae=[],se=0,D=O;se<D.length;se++){var W=D[se],Z=Ce.has(W);Z||(Ce.add(W),Ae.push(W))}for(var Y=0,oe=Q;Y<oe.length;Y++){var W=oe[Y],Z=Ce.has(W);Z||(Ce.add(W),Ae.push(W))}return Ae}function ie(A,I){var O=kr(A,I,!1);return O?O.OrdinaryOwnMetadataKeys(A,I):[]}function ce(A){if(A===null)return 1;switch(typeof A){case"undefined":return 0;case"boolean":return 2;case"string":return 3;case"symbol":return 4;case"number":return 5;case"object":return A===null?1:6;default:return 6}}function H(A){return A===void 0}function Ie(A){return A===null}function cn(A){return typeof A=="symbol"}function he(A){return typeof A=="object"?A!==null:typeof A=="function"}function xe(A,I){switch(ce(A)){case 0:return A;case 1:return A;case 2:return A;case 3:return A;case 4:return A;case 5:return A}var O="string",V=gu(A,s);if(V!==void 0){var Q=V.call(A,O);if(he(Q))throw new TypeError;return Q}return cm(A)}function cm(A,I){var O,V;{var Q=A.toString;if(Ni(Q)){var V=Q.call(A);if(!he(V))return V}var O=A.valueOf;if(Ni(O)){var V=O.call(A);if(!he(V))return V}}throw new TypeError}function pu(A){return!!A}function lm(A){return""+A}function yt(A){var I=xe(A);return cn(I)?I:lm(I)}function fu(A){return Array.isArray?Array.isArray(A):A instanceof Object?A instanceof Array:Object.prototype.toString.call(A)==="[object Array]"}function Ni(A){return typeof A=="function"}function hu(A){return typeof A=="function"}function um(A){switch(ce(A)){case 3:return!0;case 4:return!0;default:return!1}}function Zo(A,I){return A===I||A!==A&&I!==I}function gu(A,I){var O=A[I];if(O!=null){if(!Ni(O))throw new TypeError;return O}}function mu(A){var I=gu(A,o);if(!Ni(I))throw new TypeError;var O=I.call(A);if(!he(O))throw new TypeError;return O}function _u(A){return A.value}function yu(A){var I=A.next();return I.done?!1:I}function vu(A){var I=A.return;I&&I.call(A)}function Yo(A){var I=Object.getPrototypeOf(A);if(typeof A!="function"||A===h||I!==h)return I;var O=A.prototype,V=O&&Object.getPrototypeOf(O);if(V==null||V===Object.prototype)return I;var Q=V.constructor;return typeof Q!="function"||Q===A?I:Q}function dm(){var A;!H(_)&&typeof n.Reflect<"u"&&!(_ in n.Reflect)&&typeof n.Reflect.defineMetadata=="function"&&(A=hm(n.Reflect));var I,O,V,Q=new f,Ce={registerProvider:Ae,getProvider:D,setProvider:Z};return Ce;function Ae(Y){if(!Object.isExtensible(Ce))throw new Error("Cannot add provider to a frozen registry.");switch(!0){case A===Y:break;case H(I):I=Y;break;case I===Y:break;case H(O):O=Y;break;case O===Y:break;default:V===void 0&&(V=new v),V.add(Y);break}}function se(Y,oe){if(!H(I)){if(I.isProviderFor(Y,oe))return I;if(!H(O)){if(O.isProviderFor(Y,oe))return I;if(!H(V))for(var ge=mu(V);;){var ve=yu(ge);if(!ve)return;var ct=_u(ve);if(ct.isProviderFor(Y,oe))return vu(ge),ct}}}if(!H(A)&&A.isProviderFor(Y,oe))return A}function D(Y,oe){var ge=Q.get(Y),ve;return H(ge)||(ve=ge.get(oe)),H(ve)&&(ve=se(Y,oe),H(ve)||(H(ge)&&(ge=new m,Q.set(Y,ge)),ge.set(oe,ve))),ve}function W(Y){if(H(Y))throw new TypeError;return I===Y||O===Y||!H(V)&&V.has(Y)}function Z(Y,oe,ge){if(!W(ge))throw new Error("Metadata provider not registered.");var ve=D(Y,oe);if(ve!==ge){if(!H(ve))return!1;var ct=Q.get(Y);H(ct)&&(ct=new m,Q.set(Y,ct)),ct.set(oe,ge)}return!0}}function pm(){var A;return!H(_)&&he(n.Reflect)&&Object.isExtensible(n.Reflect)&&(A=n.Reflect[_]),H(A)&&(A=dm()),!H(_)&&he(n.Reflect)&&Object.isExtensible(n.Reflect)&&Object.defineProperty(n.Reflect,_,{enumerable:!1,configurable:!1,writable:!1,value:A}),A}function fm(A){var I=new f,O={isProviderFor:function(W,Z){var Y=I.get(W);return H(Y)?!1:Y.has(Z)},OrdinaryDefineOwnMetadata:Ae,OrdinaryHasOwnMetadata:Q,OrdinaryGetOwnMetadata:Ce,OrdinaryOwnMetadataKeys:se,OrdinaryDeleteMetadata:D};return w.registerProvider(O),O;function V(W,Z,Y){var oe=I.get(W),ge=!1;if(H(oe)){if(!Y)return;oe=new m,I.set(W,oe),ge=!0}var ve=oe.get(Z);if(H(ve)){if(!Y)return;if(ve=new m,oe.set(Z,ve),!A.setProvider(W,Z,O))throw oe.delete(Z),ge&&I.delete(W),new Error("Wrong provider for target.")}return ve}function Q(W,Z,Y){var oe=V(Z,Y,!1);return H(oe)?!1:pu(oe.has(W))}function Ce(W,Z,Y){var oe=V(Z,Y,!1);if(!H(oe))return oe.get(W)}function Ae(W,Z,Y,oe){var ge=V(Y,oe,!0);ge.set(W,Z)}function se(W,Z){var Y=[],oe=V(W,Z,!1);if(H(oe))return Y;for(var ge=oe.keys(),ve=mu(ge),ct=0;;){var wu=yu(ve);if(!wu)return Y.length=ct,Y;var ym=_u(wu);try{Y[ct]=ym}catch(vm){try{vu(ve)}finally{throw vm}}ct++}}function D(W,Z,Y){var oe=V(Z,Y,!1);if(H(oe)||!oe.delete(W))return!1;if(oe.size===0){var ge=I.get(Z);H(ge)||(ge.delete(Y),ge.size===0&&I.delete(ge))}return!0}}function hm(A){var I=A.defineMetadata,O=A.hasOwnMetadata,V=A.getOwnMetadata,Q=A.getOwnMetadataKeys,Ce=A.deleteMetadata,Ae=new f,se={isProviderFor:function(D,W){var Z=Ae.get(D);return!H(Z)&&Z.has(W)?!0:Q(D,W).length?(H(Z)&&(Z=new v,Ae.set(D,Z)),Z.add(W),!0):!1},OrdinaryDefineOwnMetadata:I,OrdinaryHasOwnMetadata:O,OrdinaryGetOwnMetadata:V,OrdinaryOwnMetadataKeys:Q,OrdinaryDeleteMetadata:Ce};return se}function kr(A,I,O){var V=w.getProvider(A,I);if(!H(V))return V;if(O){if(w.setProvider(A,I,S))return S;throw new Error("Illegal state.")}}function gm(){var A={},I=[],O=function(){function se(D,W,Z){this._index=0,this._keys=D,this._values=W,this._selector=Z}return se.prototype["@@iterator"]=function(){return this},se.prototype[o]=function(){return this},se.prototype.next=function(){var D=this._index;if(D>=0&&D<this._keys.length){var W=this._selector(this._keys[D],this._values[D]);return D+1>=this._keys.length?(this._index=-1,this._keys=I,this._values=I):this._index++,{value:W,done:!1}}return{value:void 0,done:!0}},se.prototype.throw=function(D){throw this._index>=0&&(this._index=-1,this._keys=I,this._values=I),D},se.prototype.return=function(D){return this._index>=0&&(this._index=-1,this._keys=I,this._values=I),{value:D,done:!0}},se}(),V=function(){function se(){this._keys=[],this._values=[],this._cacheKey=A,this._cacheIndex=-2}return Object.defineProperty(se.prototype,"size",{get:function(){return this._keys.length},enumerable:!0,configurable:!0}),se.prototype.has=function(D){return this._find(D,!1)>=0},se.prototype.get=function(D){var W=this._find(D,!1);return W>=0?this._values[W]:void 0},se.prototype.set=function(D,W){var Z=this._find(D,!0);return this._values[Z]=W,this},se.prototype.delete=function(D){var W=this._find(D,!1);if(W>=0){for(var Z=this._keys.length,Y=W+1;Y<Z;Y++)this._keys[Y-1]=this._keys[Y],this._values[Y-1]=this._values[Y];return this._keys.length--,this._values.length--,Zo(D,this._cacheKey)&&(this._cacheKey=A,this._cacheIndex=-2),!0}return!1},se.prototype.clear=function(){this._keys.length=0,this._values.length=0,this._cacheKey=A,this._cacheIndex=-2},se.prototype.keys=function(){return new O(this._keys,this._values,Q)},se.prototype.values=function(){return new O(this._keys,this._values,Ce)},se.prototype.entries=function(){return new O(this._keys,this._values,Ae)},se.prototype["@@iterator"]=function(){return this.entries()},se.prototype[o]=function(){return this.entries()},se.prototype._find=function(D,W){if(!Zo(this._cacheKey,D)){this._cacheIndex=-1;for(var Z=0;Z<this._keys.length;Z++)if(Zo(this._keys[Z],D)){this._cacheIndex=Z;break}}return this._cacheIndex<0&&W&&(this._cacheIndex=this._keys.length,this._keys.push(D),this._values.push(void 0)),this._cacheIndex},se}();return V;function Q(se,D){return se}function Ce(se,D){return D}function Ae(se,D){return[se,D]}}function mm(){var A=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(O){return this._map.has(O)},I.prototype.add=function(O){return this._map.set(O,O),this},I.prototype.delete=function(O){return this._map.delete(O)},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 A}function _m(){var A=16,I=p.create(),O=V();return function(){function D(){this._key=V()}return D.prototype.has=function(W){var Z=Q(W,!1);return Z!==void 0?p.has(Z,this._key):!1},D.prototype.get=function(W){var Z=Q(W,!1);return Z!==void 0?p.get(Z,this._key):void 0},D.prototype.set=function(W,Z){var Y=Q(W,!0);return Y[this._key]=Z,this},D.prototype.delete=function(W){var Z=Q(W,!1);return Z!==void 0?delete Z[this._key]:!1},D.prototype.clear=function(){this._key=V()},D}();function V(){var D;do D="@@WeakMap@@"+se();while(p.has(I,D));return I[D]=!0,D}function Q(D,W){if(!r.call(D,O)){if(!W)return;Object.defineProperty(D,O,{value:p.create()})}return D[O]}function Ce(D,W){for(var Z=0;Z<W;++Z)D[Z]=Math.random()*255|0;return D}function Ae(D){if(typeof Uint8Array=="function"){var W=new Uint8Array(D);return typeof crypto<"u"?crypto.getRandomValues(W):typeof msCrypto<"u"?msCrypto.getRandomValues(W):Ce(W,D),W}return Ce(new Array(D),D)}function se(){var D=Ae(A);D[6]=D[6]&79|64,D[8]=D[8]&191|128;for(var W="",Z=0;Z<A;++Z){var Y=D[Z];(Z===4||Z===6||Z===8)&&(W+="-"),Y<16&&(W+="0"),W+=Y.toString(16).toLowerCase()}return W}}function Xo(A){return A.__=void 0,delete A.__,A}})})(Tu||(Tu={}));/*!
|
|
19
19
|
* MIT License
|
|
20
20
|
*
|
|
21
21
|
* Copyright (c) 2017-2022 Peculiar Ventures, LLC
|
|
@@ -38,9 +38,9 @@ and limitations under the License.
|
|
|
38
38
|
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
39
39
|
* SOFTWARE.
|
|
40
40
|
*
|
|
41
|
-
*/const h_="[object ArrayBuffer]";class q{static isArrayBuffer(e){return Object.prototype.toString.call(e)===h_}static toArrayBuffer(e){return this.isArrayBuffer(e)?e:e.byteLength===e.buffer.byteLength||e.byteOffset===0&&e.byteLength===e.buffer.byteLength?e.buffer:this.toUint8Array(e.buffer).slice(e.byteOffset,e.byteOffset+e.byteLength).buffer}static toUint8Array(e){return this.toView(e,Uint8Array)}static toView(e,n){if(e.constructor===n)return e;if(this.isArrayBuffer(e))return new n(e);if(this.isArrayBufferView(e))return new n(e.buffer,e.byteOffset,e.byteLength);throw new TypeError("The provided value is not of type '(ArrayBuffer or ArrayBufferView)'")}static isBufferSource(e){return this.isArrayBufferView(e)||this.isArrayBuffer(e)}static isArrayBufferView(e){return ArrayBuffer.isView(e)||e&&this.isArrayBuffer(e.buffer)}static isEqual(e,n){const r=q.toUint8Array(e),i=q.toUint8Array(n);if(r.length!==i.byteLength)return!1;for(let s=0;s<r.length;s++)if(r[s]!==i[s])return!1;return!0}static concat(...e){let n;Array.isArray(e[0])&&!(e[1]instanceof Function)||Array.isArray(e[0])&&e[1]instanceof Function?n=e[0]:e[e.length-1]instanceof Function?n=e.slice(0,e.length-1):n=e;let r=0;for(const o of n)r+=o.byteLength;const i=new Uint8Array(r);let s=0;for(const o of n){const c=this.toUint8Array(o);i.set(c,s),s+=c.length}return e[e.length-1]instanceof Function?this.toView(i,e[e.length-1]):i.buffer}}const
|
|
41
|
+
*/const h_="[object ArrayBuffer]";class q{static isArrayBuffer(e){return Object.prototype.toString.call(e)===h_}static toArrayBuffer(e){return this.isArrayBuffer(e)?e:e.byteLength===e.buffer.byteLength||e.byteOffset===0&&e.byteLength===e.buffer.byteLength?e.buffer:this.toUint8Array(e.buffer).slice(e.byteOffset,e.byteOffset+e.byteLength).buffer}static toUint8Array(e){return this.toView(e,Uint8Array)}static toView(e,n){if(e.constructor===n)return e;if(this.isArrayBuffer(e))return new n(e);if(this.isArrayBufferView(e))return new n(e.buffer,e.byteOffset,e.byteLength);throw new TypeError("The provided value is not of type '(ArrayBuffer or ArrayBufferView)'")}static isBufferSource(e){return this.isArrayBufferView(e)||this.isArrayBuffer(e)}static isArrayBufferView(e){return ArrayBuffer.isView(e)||e&&this.isArrayBuffer(e.buffer)}static isEqual(e,n){const r=q.toUint8Array(e),i=q.toUint8Array(n);if(r.length!==i.byteLength)return!1;for(let s=0;s<r.length;s++)if(r[s]!==i[s])return!1;return!0}static concat(...e){let n;Array.isArray(e[0])&&!(e[1]instanceof Function)||Array.isArray(e[0])&&e[1]instanceof Function?n=e[0]:e[e.length-1]instanceof Function?n=e.slice(0,e.length-1):n=e;let r=0;for(const o of n)r+=o.byteLength;const i=new Uint8Array(r);let s=0;for(const o of n){const c=this.toUint8Array(o);i.set(c,s),s+=c.length}return e[e.length-1]instanceof Function?this.toView(i,e[e.length-1]):i.buffer}}const ea="string",g_=/^[0-9a-f]+$/i,m_=/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/,__=/^[a-zA-Z0-9-_]+$/;class Pu{static fromString(e){const n=unescape(encodeURIComponent(e)),r=new Uint8Array(n.length);for(let i=0;i<n.length;i++)r[i]=n.charCodeAt(i);return r.buffer}static toString(e){const n=q.toUint8Array(e);let r="";for(let s=0;s<n.length;s++)r+=String.fromCharCode(n[s]);return decodeURIComponent(escape(r))}}class vt{static toString(e,n=!1){const r=q.toArrayBuffer(e),i=new DataView(r);let s="";for(let o=0;o<r.byteLength;o+=2){const c=i.getUint16(o,n);s+=String.fromCharCode(c)}return s}static fromString(e,n=!1){const r=new ArrayBuffer(e.length*2),i=new DataView(r);for(let s=0;s<e.length;s++)i.setUint16(s*2,e.charCodeAt(s),n);return r}}class J{static isHex(e){return typeof e===ea&&g_.test(e)}static isBase64(e){return typeof e===ea&&m_.test(e)}static isBase64Url(e){return typeof e===ea&&__.test(e)}static ToString(e,n="utf8"){const r=q.toUint8Array(e);switch(n.toLowerCase()){case"utf8":return this.ToUtf8String(r);case"binary":return this.ToBinary(r);case"hex":return this.ToHex(r);case"base64":return this.ToBase64(r);case"base64url":return this.ToBase64Url(r);case"utf16le":return vt.toString(r,!0);case"utf16":case"utf16be":return vt.toString(r);default:throw new Error(`Unknown type of encoding '${n}'`)}}static FromString(e,n="utf8"){if(!e)return new ArrayBuffer(0);switch(n.toLowerCase()){case"utf8":return this.FromUtf8String(e);case"binary":return this.FromBinary(e);case"hex":return this.FromHex(e);case"base64":return this.FromBase64(e);case"base64url":return this.FromBase64Url(e);case"utf16le":return vt.fromString(e,!0);case"utf16":case"utf16be":return vt.fromString(e);default:throw new Error(`Unknown type of encoding '${n}'`)}}static ToBase64(e){const n=q.toUint8Array(e);if(typeof btoa<"u"){const r=this.ToString(n,"binary");return btoa(r)}else return Buffer.from(n).toString("base64")}static FromBase64(e){const n=this.formatString(e);if(!n)return new ArrayBuffer(0);if(!J.isBase64(n))throw new TypeError("Argument 'base64Text' is not Base64 encoded");return typeof atob<"u"?this.FromBinary(atob(n)):new Uint8Array(Buffer.from(n,"base64")).buffer}static FromBase64Url(e){const n=this.formatString(e);if(!n)return new ArrayBuffer(0);if(!J.isBase64Url(n))throw new TypeError("Argument 'base64url' is not Base64Url encoded");return this.FromBase64(this.Base64Padding(n.replace(/\-/g,"+").replace(/\_/g,"/")))}static ToBase64Url(e){return this.ToBase64(e).replace(/\+/g,"-").replace(/\//g,"_").replace(/\=/g,"")}static FromUtf8String(e,n=J.DEFAULT_UTF8_ENCODING){switch(n){case"ascii":return this.FromBinary(e);case"utf8":return Pu.fromString(e);case"utf16":case"utf16be":return vt.fromString(e);case"utf16le":case"usc2":return vt.fromString(e,!0);default:throw new Error(`Unknown type of encoding '${n}'`)}}static ToUtf8String(e,n=J.DEFAULT_UTF8_ENCODING){switch(n){case"ascii":return this.ToBinary(e);case"utf8":return Pu.toString(e);case"utf16":case"utf16be":return vt.toString(e);case"utf16le":case"usc2":return vt.toString(e,!0);default:throw new Error(`Unknown type of encoding '${n}'`)}}static FromBinary(e){const n=e.length,r=new Uint8Array(n);for(let i=0;i<n;i++)r[i]=e.charCodeAt(i);return r.buffer}static ToBinary(e){const n=q.toUint8Array(e);let r="";for(let i=0;i<n.length;i++)r+=String.fromCharCode(n[i]);return r}static ToHex(e){const n=q.toUint8Array(e);let r="";const i=n.length;for(let s=0;s<i;s++){const o=n[s];o<16&&(r+="0"),r+=o.toString(16)}return r}static FromHex(e){let n=this.formatString(e);if(!n)return new ArrayBuffer(0);if(!J.isHex(n))throw new TypeError("Argument 'hexString' is not HEX encoded");n.length%2&&(n=`0${n}`);const r=new Uint8Array(n.length/2);for(let i=0;i<n.length;i=i+2){const s=n.slice(i,i+2);r[i/2]=parseInt(s,16)}return r.buffer}static ToUtf16String(e,n=!1){return vt.toString(e,n)}static FromUtf16String(e,n=!1){return vt.fromString(e,n)}static Base64Padding(e){const n=4-e.length%4;if(n<4)for(let r=0;r<n;r++)e+="=";return e}static formatString(e){return(e==null?void 0:e.replace(/[\n\r\t ]/g,""))||""}}J.DEFAULT_UTF8_ENCODING="utf8";function y_(...t){const e=t.map(i=>i.byteLength).reduce((i,s)=>i+s),n=new Uint8Array(e);let r=0;return t.map(i=>new Uint8Array(i)).forEach(i=>{for(const s of i)n[r++]=s}),n.buffer}function kf(t,e){if(!(t&&e)||t.byteLength!==e.byteLength)return!1;const n=new Uint8Array(t),r=new Uint8Array(e);for(let i=0;i<t.byteLength;i++)if(n[i]!==r[i])return!1;return!0}/*!
|
|
42
42
|
Copyright (c) Peculiar Ventures, LLC
|
|
43
|
-
*/function Jn(t,e){let n=0;if(t.length===1)return t[0];for(let r=t.length-1;r>=0;r--)n+=t[t.length-1-r]*Math.pow(2,e*r);return n}function wn(t,e,n=-1){const r=n;let i=t,s=0,o=Math.pow(2,e);for(let c=1;c<8;c++){if(t<o){let l;if(r<0)l=new ArrayBuffer(c),s=c;else{if(r<c)return new ArrayBuffer(0);l=new ArrayBuffer(r),s=r}const u=new Uint8Array(l);for(let p=c-1;p>=0;p--){const h=Math.pow(2,p*e);u[s-p-1]=Math.floor(i/h),i-=u[s-p-1]*h}return l}o*=Math.pow(2,e)}return new ArrayBuffer(0)}function
|
|
43
|
+
*/function Jn(t,e){let n=0;if(t.length===1)return t[0];for(let r=t.length-1;r>=0;r--)n+=t[t.length-1-r]*Math.pow(2,e*r);return n}function wn(t,e,n=-1){const r=n;let i=t,s=0,o=Math.pow(2,e);for(let c=1;c<8;c++){if(t<o){let l;if(r<0)l=new ArrayBuffer(c),s=c;else{if(r<c)return new ArrayBuffer(0);l=new ArrayBuffer(r),s=r}const u=new Uint8Array(l);for(let p=c-1;p>=0;p--){const h=Math.pow(2,p*e);u[s-p-1]=Math.floor(i/h),i-=u[s-p-1]*h}return l}o*=Math.pow(2,e)}return new ArrayBuffer(0)}function Ea(...t){let e=0,n=0;for(const s of t)e+=s.length;const r=new ArrayBuffer(e),i=new Uint8Array(r);for(const s of t)i.set(s,n),n+=s.length;return i}function xf(){const t=new Uint8Array(this.valueHex);if(this.valueHex.byteLength>=2){const c=t[0]===255&&t[1]&128,l=t[0]===0&&(t[1]&128)===0;(c||l)&&this.warnings.push("Needlessly long format")}const e=new ArrayBuffer(this.valueHex.byteLength),n=new Uint8Array(e);for(let c=0;c<this.valueHex.byteLength;c++)n[c]=0;n[0]=t[0]&128;const r=Jn(n,8),i=new ArrayBuffer(this.valueHex.byteLength),s=new Uint8Array(i);for(let c=0;c<this.valueHex.byteLength;c++)s[c]=t[c];return s[0]&=127,Jn(s,8)-r}function v_(t){const e=t<0?t*-1:t;let n=128;for(let r=1;r<8;r++){if(e<=n){if(t<0){const o=n-e,c=wn(o,8,r),l=new Uint8Array(c);return l[0]|=128,c}let i=wn(e,8,r),s=new Uint8Array(i);if(s[0]&128){const o=i.slice(0),c=new Uint8Array(o);i=new ArrayBuffer(i.byteLength+1),s=new Uint8Array(i);for(let l=0;l<o.byteLength;l++)s[l+1]=c[l];s[0]=0}return i}n*=Math.pow(2,8)}return new ArrayBuffer(0)}function w_(t,e){if(t.byteLength!==e.byteLength)return!1;const n=new Uint8Array(t),r=new Uint8Array(e);for(let i=0;i<n.length;i++)if(n[i]!==r[i])return!1;return!0}function Je(t,e){const n=t.toString(10);if(e<n.length)return"";const r=e-n.length,i=new Array(r);for(let o=0;o<r;o++)i[o]="0";return i.join("").concat(n)}/*!
|
|
44
44
|
* Copyright (c) 2014, GMO GlobalSign
|
|
45
45
|
* Copyright (c) 2015-2022, Peculiar Ventures
|
|
46
46
|
* All rights reserved.
|
|
@@ -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 cs(){if(typeof BigInt>"u")throw new Error("BigInt is not defined. Your environment doesn't implement BigInt.")}function nl(t){let e=0,n=0;for(let i=0;i<t.length;i++){const s=t[i];e+=s.byteLength}const r=new Uint8Array(e);for(let i=0;i<t.length;i++){const s=t[i];r.set(new Uint8Array(s),n),n+=s.byteLength}return r.buffer}function Vt(t,e,n,r){return e instanceof Uint8Array?e.byteLength?n<0?(t.error="Wrong parameter: inputOffset less than zero",!1):r<0?(t.error="Wrong parameter: inputLength less than zero",!1):e.byteLength-n-r<0?(t.error="End of input reached before message was fully decoded (inconsistent offset and length values)",!1):!0:(t.error="Wrong parameter: inputBuffer has zero length",!1):(t.error="Wrong parameter: inputBuffer must be 'Uint8Array'",!1)}class Xs{constructor(){this.items=[]}write(e){this.items.push(e)}final(){return nl(this.items)}}const Sr=[new Uint8Array([1])],Ru="0123456789",ea="name",Lu="valueHexView",b_="isHexOnly",k_="idBlock",x_="tagClass",S_="tagNumber",A_="isConstructed",E_="fromBER",I_="toBER",C_="local",qe="",mt=new ArrayBuffer(0),Qs=new Uint8Array(0),Vr="EndOfContent",Sf="OCTET STRING",Af="BIT STRING";function It(t){var e;return e=class extends t{constructor(...r){var i;super(...r);const s=r[0]||{};this.isHexOnly=(i=s.isHexOnly)!==null&&i!==void 0?i:!1,this.valueHexView=s.valueHex?q.toUint8Array(s.valueHex):Qs}get valueHex(){return this.valueHexView.slice().buffer}set valueHex(r){this.valueHexView=new Uint8Array(r)}fromBER(r,i,s){const o=r instanceof ArrayBuffer?new Uint8Array(r):r;if(!Vt(this,o,i,s))return-1;const c=i+s;return this.valueHexView=o.subarray(i,c),this.valueHexView.length?(this.blockLength=s,c):(this.warnings.push("Zero buffer length"),i)}toBER(r=!1){return this.isHexOnly?r?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",mt)}toJSON(){return{...super.toJSON(),isHexOnly:this.isHexOnly,valueHex:J.ToHex(this.valueHexView)}}},e.NAME="hexBlock",e}class jn{constructor({blockLength:e=0,error:n=qe,warnings:r=[],valueBeforeDecode:i=Qs}={}){this.blockLength=e,this.error=n,this.warnings=r,this.valueBeforeDecodeView=q.toUint8Array(i)}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:J.ToHex(this.valueBeforeDecodeView)}}}jn.NAME="baseBlock";class Ue extends jn{fromBER(e,n,r){throw TypeError("User need to make a specific function in a class which extends 'ValueBlock'")}toBER(e,n){throw TypeError("User need to make a specific function in a class which extends 'ValueBlock'")}}Ue.NAME="valueBlock";class Ef extends It(jn){constructor({idBlock:e={}}={}){var n,r,i,s;super(),e?(this.isHexOnly=(n=e.isHexOnly)!==null&&n!==void 0?n:!1,this.valueHexView=e.valueHex?q.toUint8Array(e.valueHex):Qs,this.tagClass=(r=e.tagClass)!==null&&r!==void 0?r:-1,this.tagNumber=(i=e.tagNumber)!==null&&i!==void 0?i:-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 n=0;switch(this.tagClass){case 1:n|=0;break;case 2:n|=64;break;case 3:n|=128;break;case 4:n|=192;break;default:return this.error="Unknown tag class",mt}if(this.isConstructed&&(n|=32),this.tagNumber<31&&!this.isHexOnly){const i=new Uint8Array(1);if(!e){let s=this.tagNumber;s&=31,n|=s,i[0]=n}return i.buffer}if(!this.isHexOnly){const i=wn(this.tagNumber,7),s=new Uint8Array(i),o=i.byteLength,c=new Uint8Array(o+1);if(c[0]=n|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 r=new Uint8Array(this.valueHexView.byteLength+1);if(r[0]=n|31,!e){const i=this.valueHexView;for(let s=0;s<i.length-1;s++)r[s+1]=i[s]|128;r[this.valueHexView.byteLength]=i[i.length-1]}return r.buffer}fromBER(e,n,r){const i=q.toUint8Array(e);if(!Vt(this,i,n,r))return-1;const s=i.subarray(n,n+r);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 v=0;v<u.length;v++)m[v]=u[v];u=this.valueHexView=new Uint8Array(p)}}this.blockLength=l+1,u[l-1]=s[l]&127;const h=new Uint8Array(l);for(let m=0;m<l;m++)h[m]=u[m];u=this.valueHexView=new Uint8Array(l),u.set(h),this.blockLength<=9?this.tagNumber=Jn(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 n+this.blockLength}toJSON(){return{...super.toJSON(),tagClass:this.tagClass,tagNumber:this.tagNumber,isConstructed:this.isConstructed}}}Ef.NAME="identificationBlock";class If extends jn{constructor({lenBlock:e={}}={}){var n,r,i;super(),this.isIndefiniteForm=(n=e.isIndefiniteForm)!==null&&n!==void 0?n:!1,this.longFormUsed=(r=e.longFormUsed)!==null&&r!==void 0?r:!1,this.length=(i=e.length)!==null&&i!==void 0?i:0}fromBER(e,n,r){const i=q.toUint8Array(e);if(!Vt(this,i,n,r))return-1;const s=i.subarray(n,n+r);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,n+this.blockLength;if(this.longFormUsed=!!(s[0]&128),this.longFormUsed===!1)return this.length=s[0],this.blockLength=1,n+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=n+1,l=i.subarray(c,c+o);return l[o-1]===0&&this.warnings.push("Needlessly long encoded length"),this.length=Jn(l,8),this.longFormUsed&&this.length<=127&&this.warnings.push("Unnecessary usage of long length form"),this.blockLength=o+1,n+this.blockLength}toBER(e=!1){let n,r;if(this.length>127&&(this.longFormUsed=!0),this.isIndefiniteForm)return n=new ArrayBuffer(1),e===!1&&(r=new Uint8Array(n),r[0]=128),n;if(this.longFormUsed){const i=wn(this.length,8);if(i.byteLength>127)return this.error="Too big length",mt;if(n=new ArrayBuffer(i.byteLength+1),e)return n;const s=new Uint8Array(i);r=new Uint8Array(n),r[0]=i.byteLength|128;for(let o=0;o<i.byteLength;o++)r[o+1]=s[o];return n}return n=new ArrayBuffer(1),e===!1&&(r=new Uint8Array(n),r[0]=this.length),n}toJSON(){return{...super.toJSON(),isIndefiniteForm:this.isIndefiniteForm,longFormUsed:this.longFormUsed,length:this.length}}}If.NAME="lengthBlock";const K={};class je extends jn{constructor({name:e=qe,optional:n=!1,primitiveSchema:r,...i}={},s){super(i),this.name=e,this.optional=n,r&&(this.primitiveSchema=r),this.idBlock=new Ef(i),this.lenBlock=new If(i),this.valueBlock=s?new s(i):new Ue(i)}fromBER(e,n,r){const i=this.valueBlock.fromBER(e,n,this.lenBlock.isIndefiniteForm?r:this.lenBlock.length);return i===-1?(this.error=this.valueBlock.error,i):(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),i)}toBER(e,n){const r=n||new Xs;n||Cf(this);const i=this.idBlock.toBER(e);if(r.write(i),this.lenBlock.isIndefiniteForm)r.write(new Uint8Array([128]).buffer),this.valueBlock.toBER(e,r),r.write(new ArrayBuffer(2));else{const s=this.valueBlock.toBER(e);this.lenBlock.length=s.byteLength;const o=this.lenBlock.toBER(e);r.write(o),r.write(s)}return n?mt:r.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():J.ToHex(this.toBER())}onAsciiEncoding(){return`${this.constructor.NAME} : ${J.ToHex(this.valueBlock.valueBeforeDecodeView)}`}isEqual(e){if(this===e)return!0;if(!(e instanceof this.constructor))return!1;const n=this.toBER(),r=e.toBER();return w_(n,r)}}je.NAME="BaseBlock";function Cf(t){if(t instanceof K.Constructed)for(const e of t.valueBlock.value)Cf(e)&&(t.lenBlock.isIndefiniteForm=!0);return!!t.lenBlock.isIndefiniteForm}class rl extends je{constructor({value:e=qe,...n}={},r){super(n,r),e&&this.fromString(e)}getValue(){return this.valueBlock.value}setValue(e){this.valueBlock.value=e}fromBER(e,n,r){const i=this.valueBlock.fromBER(e,n,this.lenBlock.isIndefiniteForm?r:this.lenBlock.length);return i===-1?(this.error=this.valueBlock.error,i):(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),i)}onAsciiEncoding(){return`${this.constructor.NAME} : '${this.valueBlock.value}'`}}rl.NAME="BaseStringBlock";class Nf extends It(Ue){constructor({isHexOnly:e=!0,...n}={}){super(n),this.isHexOnly=e}}Nf.NAME="PrimitiveValueBlock";var zf;class ai extends je{constructor(e={}){super(e,Nf),this.idBlock.isConstructed=!1}}zf=ai;K.Primitive=zf;ai.NAME="PRIMITIVE";function N_(t,e){if(t instanceof e)return t;const n=new e;return n.idBlock=t.idBlock,n.lenBlock=t.lenBlock,n.warnings=t.warnings,n.valueBeforeDecodeView=t.valueBeforeDecodeView,n}function ur(t,e=0,n=t.length){const r=e;let i=new je({},Ue);const s=new jn;if(!Vt(s,t,e,n))return i.error=s.error,{offset:-1,result:i};if(!t.subarray(e,e+n).length)return i.error="Zero buffer length",{offset:-1,result:i};let c=i.idBlock.fromBER(t,e,n);if(i.idBlock.warnings.length&&i.warnings.concat(i.idBlock.warnings),c===-1)return i.error=i.idBlock.error,{offset:-1,result:i};if(e=c,n-=i.idBlock.blockLength,c=i.lenBlock.fromBER(t,e,n),i.lenBlock.warnings.length&&i.warnings.concat(i.lenBlock.warnings),c===-1)return i.error=i.lenBlock.error,{offset:-1,result:i};if(e=c,n-=i.lenBlock.blockLength,!i.idBlock.isConstructed&&i.lenBlock.isIndefiniteForm)return i.error="Indefinite length form used for primitive encoding form",{offset:-1,result:i};let l=je;switch(i.idBlock.tagClass){case 1:if(i.idBlock.tagNumber>=37&&i.idBlock.isHexOnly===!1)return i.error="UNIVERSAL 37 and upper tags are reserved by ASN.1 standard",{offset:-1,result:i};switch(i.idBlock.tagNumber){case 0:if(i.idBlock.isConstructed&&i.lenBlock.length>0)return i.error="Type [UNIVERSAL 0] is reserved",{offset:-1,result:i};l=K.EndOfContent;break;case 1:l=K.Boolean;break;case 2:l=K.Integer;break;case 3:l=K.BitString;break;case 4:l=K.OctetString;break;case 5:l=K.Null;break;case 6:l=K.ObjectIdentifier;break;case 10:l=K.Enumerated;break;case 12:l=K.Utf8String;break;case 13:l=K.RelativeObjectIdentifier;break;case 14:l=K.TIME;break;case 15:return i.error="[UNIVERSAL 15] is reserved by ASN.1 standard",{offset:-1,result:i};case 16:l=K.Sequence;break;case 17:l=K.Set;break;case 18:l=K.NumericString;break;case 19:l=K.PrintableString;break;case 20:l=K.TeletexString;break;case 21:l=K.VideotexString;break;case 22:l=K.IA5String;break;case 23:l=K.UTCTime;break;case 24:l=K.GeneralizedTime;break;case 25:l=K.GraphicString;break;case 26:l=K.VisibleString;break;case 27:l=K.GeneralString;break;case 28:l=K.UniversalString;break;case 29:l=K.CharacterString;break;case 30:l=K.BmpString;break;case 31:l=K.DATE;break;case 32:l=K.TimeOfDay;break;case 33:l=K.DateTime;break;case 34:l=K.Duration;break;default:{const u=i.idBlock.isConstructed?new K.Constructed:new K.Primitive;u.idBlock=i.idBlock,u.lenBlock=i.lenBlock,u.warnings=i.warnings,i=u}}break;case 2:case 3:case 4:default:l=i.idBlock.isConstructed?K.Constructed:K.Primitive}return i=N_(i,l),c=i.fromBER(t,e,i.lenBlock.isIndefiniteForm?n:i.lenBlock.length),i.valueBeforeDecodeView=t.subarray(r,r+i.blockLength),{offset:c,result:i}}function Fn(t){if(!t.byteLength){const e=new je({},Ue);return e.error="Input buffer has zero length",{offset:-1,result:e}}return ur(q.toUint8Array(t).slice(),0,t.byteLength)}function z_(t,e){return t?1:e}class Kt extends Ue{constructor({value:e=[],isIndefiniteForm:n=!1,...r}={}){super(r),this.value=e,this.isIndefiniteForm=n}fromBER(e,n,r){const i=q.toUint8Array(e);if(!Vt(this,i,n,r))return-1;if(this.valueBeforeDecodeView=i.subarray(n,n+r),this.valueBeforeDecodeView.length===0)return this.warnings.push("Zero buffer length"),n;let s=n;for(;z_(this.isIndefiniteForm,r)>0;){const o=ur(i,s,r);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,r-=o.result.blockLength,this.value.push(o.result),this.isIndefiniteForm&&o.result.constructor.NAME===Vr)break}return this.isIndefiniteForm&&(this.value[this.value.length-1].constructor.NAME===Vr?this.value.pop():this.warnings.push("No EndOfContent block encoded")),s}toBER(e,n){const r=n||new Xs;for(let i=0;i<this.value.length;i++)this.value[i].toBER(e,r);return n?mt:r.final()}toJSON(){const e={...super.toJSON(),isIndefiniteForm:this.isIndefiniteForm,value:[]};for(const n of this.value)e.value.push(n.toJSON());return e}}Kt.NAME="ConstructedValueBlock";var $f;class De extends je{constructor(e={}){super(e,Kt),this.idBlock.isConstructed=!0}fromBER(e,n,r){this.valueBlock.isIndefiniteForm=this.lenBlock.isIndefiniteForm;const i=this.valueBlock.fromBER(e,n,this.lenBlock.isIndefiniteForm?r:this.lenBlock.length);return i===-1?(this.error=this.valueBlock.error,i):(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),i)}onAsciiEncoding(){const e=[];for(const r of this.valueBlock.value)e.push(r.toString("ascii").split(`
|
|
75
|
+
*/function cs(){if(typeof BigInt>"u")throw new Error("BigInt is not defined. Your environment doesn't implement BigInt.")}function nl(t){let e=0,n=0;for(let i=0;i<t.length;i++){const s=t[i];e+=s.byteLength}const r=new Uint8Array(e);for(let i=0;i<t.length;i++){const s=t[i];r.set(new Uint8Array(s),n),n+=s.byteLength}return r.buffer}function Vt(t,e,n,r){return e instanceof Uint8Array?e.byteLength?n<0?(t.error="Wrong parameter: inputOffset less than zero",!1):r<0?(t.error="Wrong parameter: inputLength less than zero",!1):e.byteLength-n-r<0?(t.error="End of input reached before message was fully decoded (inconsistent offset and length values)",!1):!0:(t.error="Wrong parameter: inputBuffer has zero length",!1):(t.error="Wrong parameter: inputBuffer must be 'Uint8Array'",!1)}class Qs{constructor(){this.items=[]}write(e){this.items.push(e)}final(){return nl(this.items)}}const Sr=[new Uint8Array([1])],Ru="0123456789",ta="name",Lu="valueHexView",b_="isHexOnly",k_="idBlock",x_="tagClass",S_="tagNumber",A_="isConstructed",E_="fromBER",I_="toBER",C_="local",qe="",mt=new ArrayBuffer(0),eo=new Uint8Array(0),Vr="EndOfContent",Sf="OCTET STRING",Af="BIT STRING";function It(t){var e;return e=class extends t{constructor(...r){var i;super(...r);const s=r[0]||{};this.isHexOnly=(i=s.isHexOnly)!==null&&i!==void 0?i:!1,this.valueHexView=s.valueHex?q.toUint8Array(s.valueHex):eo}get valueHex(){return this.valueHexView.slice().buffer}set valueHex(r){this.valueHexView=new Uint8Array(r)}fromBER(r,i,s){const o=r instanceof ArrayBuffer?new Uint8Array(r):r;if(!Vt(this,o,i,s))return-1;const c=i+s;return this.valueHexView=o.subarray(i,c),this.valueHexView.length?(this.blockLength=s,c):(this.warnings.push("Zero buffer length"),i)}toBER(r=!1){return this.isHexOnly?r?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",mt)}toJSON(){return{...super.toJSON(),isHexOnly:this.isHexOnly,valueHex:J.ToHex(this.valueHexView)}}},e.NAME="hexBlock",e}class jn{constructor({blockLength:e=0,error:n=qe,warnings:r=[],valueBeforeDecode:i=eo}={}){this.blockLength=e,this.error=n,this.warnings=r,this.valueBeforeDecodeView=q.toUint8Array(i)}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:J.ToHex(this.valueBeforeDecodeView)}}}jn.NAME="baseBlock";class Ue extends jn{fromBER(e,n,r){throw TypeError("User need to make a specific function in a class which extends 'ValueBlock'")}toBER(e,n){throw TypeError("User need to make a specific function in a class which extends 'ValueBlock'")}}Ue.NAME="valueBlock";class Ef extends It(jn){constructor({idBlock:e={}}={}){var n,r,i,s;super(),e?(this.isHexOnly=(n=e.isHexOnly)!==null&&n!==void 0?n:!1,this.valueHexView=e.valueHex?q.toUint8Array(e.valueHex):eo,this.tagClass=(r=e.tagClass)!==null&&r!==void 0?r:-1,this.tagNumber=(i=e.tagNumber)!==null&&i!==void 0?i:-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 n=0;switch(this.tagClass){case 1:n|=0;break;case 2:n|=64;break;case 3:n|=128;break;case 4:n|=192;break;default:return this.error="Unknown tag class",mt}if(this.isConstructed&&(n|=32),this.tagNumber<31&&!this.isHexOnly){const i=new Uint8Array(1);if(!e){let s=this.tagNumber;s&=31,n|=s,i[0]=n}return i.buffer}if(!this.isHexOnly){const i=wn(this.tagNumber,7),s=new Uint8Array(i),o=i.byteLength,c=new Uint8Array(o+1);if(c[0]=n|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 r=new Uint8Array(this.valueHexView.byteLength+1);if(r[0]=n|31,!e){const i=this.valueHexView;for(let s=0;s<i.length-1;s++)r[s+1]=i[s]|128;r[this.valueHexView.byteLength]=i[i.length-1]}return r.buffer}fromBER(e,n,r){const i=q.toUint8Array(e);if(!Vt(this,i,n,r))return-1;const s=i.subarray(n,n+r);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 v=0;v<u.length;v++)m[v]=u[v];u=this.valueHexView=new Uint8Array(p)}}this.blockLength=l+1,u[l-1]=s[l]&127;const h=new Uint8Array(l);for(let m=0;m<l;m++)h[m]=u[m];u=this.valueHexView=new Uint8Array(l),u.set(h),this.blockLength<=9?this.tagNumber=Jn(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 n+this.blockLength}toJSON(){return{...super.toJSON(),tagClass:this.tagClass,tagNumber:this.tagNumber,isConstructed:this.isConstructed}}}Ef.NAME="identificationBlock";class If extends jn{constructor({lenBlock:e={}}={}){var n,r,i;super(),this.isIndefiniteForm=(n=e.isIndefiniteForm)!==null&&n!==void 0?n:!1,this.longFormUsed=(r=e.longFormUsed)!==null&&r!==void 0?r:!1,this.length=(i=e.length)!==null&&i!==void 0?i:0}fromBER(e,n,r){const i=q.toUint8Array(e);if(!Vt(this,i,n,r))return-1;const s=i.subarray(n,n+r);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,n+this.blockLength;if(this.longFormUsed=!!(s[0]&128),this.longFormUsed===!1)return this.length=s[0],this.blockLength=1,n+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=n+1,l=i.subarray(c,c+o);return l[o-1]===0&&this.warnings.push("Needlessly long encoded length"),this.length=Jn(l,8),this.longFormUsed&&this.length<=127&&this.warnings.push("Unnecessary usage of long length form"),this.blockLength=o+1,n+this.blockLength}toBER(e=!1){let n,r;if(this.length>127&&(this.longFormUsed=!0),this.isIndefiniteForm)return n=new ArrayBuffer(1),e===!1&&(r=new Uint8Array(n),r[0]=128),n;if(this.longFormUsed){const i=wn(this.length,8);if(i.byteLength>127)return this.error="Too big length",mt;if(n=new ArrayBuffer(i.byteLength+1),e)return n;const s=new Uint8Array(i);r=new Uint8Array(n),r[0]=i.byteLength|128;for(let o=0;o<i.byteLength;o++)r[o+1]=s[o];return n}return n=new ArrayBuffer(1),e===!1&&(r=new Uint8Array(n),r[0]=this.length),n}toJSON(){return{...super.toJSON(),isIndefiniteForm:this.isIndefiniteForm,longFormUsed:this.longFormUsed,length:this.length}}}If.NAME="lengthBlock";const K={};class je extends jn{constructor({name:e=qe,optional:n=!1,primitiveSchema:r,...i}={},s){super(i),this.name=e,this.optional=n,r&&(this.primitiveSchema=r),this.idBlock=new Ef(i),this.lenBlock=new If(i),this.valueBlock=s?new s(i):new Ue(i)}fromBER(e,n,r){const i=this.valueBlock.fromBER(e,n,this.lenBlock.isIndefiniteForm?r:this.lenBlock.length);return i===-1?(this.error=this.valueBlock.error,i):(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),i)}toBER(e,n){const r=n||new Qs;n||Cf(this);const i=this.idBlock.toBER(e);if(r.write(i),this.lenBlock.isIndefiniteForm)r.write(new Uint8Array([128]).buffer),this.valueBlock.toBER(e,r),r.write(new ArrayBuffer(2));else{const s=this.valueBlock.toBER(e);this.lenBlock.length=s.byteLength;const o=this.lenBlock.toBER(e);r.write(o),r.write(s)}return n?mt:r.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():J.ToHex(this.toBER())}onAsciiEncoding(){return`${this.constructor.NAME} : ${J.ToHex(this.valueBlock.valueBeforeDecodeView)}`}isEqual(e){if(this===e)return!0;if(!(e instanceof this.constructor))return!1;const n=this.toBER(),r=e.toBER();return w_(n,r)}}je.NAME="BaseBlock";function Cf(t){if(t instanceof K.Constructed)for(const e of t.valueBlock.value)Cf(e)&&(t.lenBlock.isIndefiniteForm=!0);return!!t.lenBlock.isIndefiniteForm}class rl extends je{constructor({value:e=qe,...n}={},r){super(n,r),e&&this.fromString(e)}getValue(){return this.valueBlock.value}setValue(e){this.valueBlock.value=e}fromBER(e,n,r){const i=this.valueBlock.fromBER(e,n,this.lenBlock.isIndefiniteForm?r:this.lenBlock.length);return i===-1?(this.error=this.valueBlock.error,i):(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),i)}onAsciiEncoding(){return`${this.constructor.NAME} : '${this.valueBlock.value}'`}}rl.NAME="BaseStringBlock";class Nf extends It(Ue){constructor({isHexOnly:e=!0,...n}={}){super(n),this.isHexOnly=e}}Nf.NAME="PrimitiveValueBlock";var zf;class ai extends je{constructor(e={}){super(e,Nf),this.idBlock.isConstructed=!1}}zf=ai;K.Primitive=zf;ai.NAME="PRIMITIVE";function N_(t,e){if(t instanceof e)return t;const n=new e;return n.idBlock=t.idBlock,n.lenBlock=t.lenBlock,n.warnings=t.warnings,n.valueBeforeDecodeView=t.valueBeforeDecodeView,n}function ur(t,e=0,n=t.length){const r=e;let i=new je({},Ue);const s=new jn;if(!Vt(s,t,e,n))return i.error=s.error,{offset:-1,result:i};if(!t.subarray(e,e+n).length)return i.error="Zero buffer length",{offset:-1,result:i};let c=i.idBlock.fromBER(t,e,n);if(i.idBlock.warnings.length&&i.warnings.concat(i.idBlock.warnings),c===-1)return i.error=i.idBlock.error,{offset:-1,result:i};if(e=c,n-=i.idBlock.blockLength,c=i.lenBlock.fromBER(t,e,n),i.lenBlock.warnings.length&&i.warnings.concat(i.lenBlock.warnings),c===-1)return i.error=i.lenBlock.error,{offset:-1,result:i};if(e=c,n-=i.lenBlock.blockLength,!i.idBlock.isConstructed&&i.lenBlock.isIndefiniteForm)return i.error="Indefinite length form used for primitive encoding form",{offset:-1,result:i};let l=je;switch(i.idBlock.tagClass){case 1:if(i.idBlock.tagNumber>=37&&i.idBlock.isHexOnly===!1)return i.error="UNIVERSAL 37 and upper tags are reserved by ASN.1 standard",{offset:-1,result:i};switch(i.idBlock.tagNumber){case 0:if(i.idBlock.isConstructed&&i.lenBlock.length>0)return i.error="Type [UNIVERSAL 0] is reserved",{offset:-1,result:i};l=K.EndOfContent;break;case 1:l=K.Boolean;break;case 2:l=K.Integer;break;case 3:l=K.BitString;break;case 4:l=K.OctetString;break;case 5:l=K.Null;break;case 6:l=K.ObjectIdentifier;break;case 10:l=K.Enumerated;break;case 12:l=K.Utf8String;break;case 13:l=K.RelativeObjectIdentifier;break;case 14:l=K.TIME;break;case 15:return i.error="[UNIVERSAL 15] is reserved by ASN.1 standard",{offset:-1,result:i};case 16:l=K.Sequence;break;case 17:l=K.Set;break;case 18:l=K.NumericString;break;case 19:l=K.PrintableString;break;case 20:l=K.TeletexString;break;case 21:l=K.VideotexString;break;case 22:l=K.IA5String;break;case 23:l=K.UTCTime;break;case 24:l=K.GeneralizedTime;break;case 25:l=K.GraphicString;break;case 26:l=K.VisibleString;break;case 27:l=K.GeneralString;break;case 28:l=K.UniversalString;break;case 29:l=K.CharacterString;break;case 30:l=K.BmpString;break;case 31:l=K.DATE;break;case 32:l=K.TimeOfDay;break;case 33:l=K.DateTime;break;case 34:l=K.Duration;break;default:{const u=i.idBlock.isConstructed?new K.Constructed:new K.Primitive;u.idBlock=i.idBlock,u.lenBlock=i.lenBlock,u.warnings=i.warnings,i=u}}break;case 2:case 3:case 4:default:l=i.idBlock.isConstructed?K.Constructed:K.Primitive}return i=N_(i,l),c=i.fromBER(t,e,i.lenBlock.isIndefiniteForm?n:i.lenBlock.length),i.valueBeforeDecodeView=t.subarray(r,r+i.blockLength),{offset:c,result:i}}function Fn(t){if(!t.byteLength){const e=new je({},Ue);return e.error="Input buffer has zero length",{offset:-1,result:e}}return ur(q.toUint8Array(t).slice(),0,t.byteLength)}function z_(t,e){return t?1:e}class Kt extends Ue{constructor({value:e=[],isIndefiniteForm:n=!1,...r}={}){super(r),this.value=e,this.isIndefiniteForm=n}fromBER(e,n,r){const i=q.toUint8Array(e);if(!Vt(this,i,n,r))return-1;if(this.valueBeforeDecodeView=i.subarray(n,n+r),this.valueBeforeDecodeView.length===0)return this.warnings.push("Zero buffer length"),n;let s=n;for(;z_(this.isIndefiniteForm,r)>0;){const o=ur(i,s,r);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,r-=o.result.blockLength,this.value.push(o.result),this.isIndefiniteForm&&o.result.constructor.NAME===Vr)break}return this.isIndefiniteForm&&(this.value[this.value.length-1].constructor.NAME===Vr?this.value.pop():this.warnings.push("No EndOfContent block encoded")),s}toBER(e,n){const r=n||new Qs;for(let i=0;i<this.value.length;i++)this.value[i].toBER(e,r);return n?mt:r.final()}toJSON(){const e={...super.toJSON(),isIndefiniteForm:this.isIndefiniteForm,value:[]};for(const n of this.value)e.value.push(n.toJSON());return e}}Kt.NAME="ConstructedValueBlock";var $f;class De extends je{constructor(e={}){super(e,Kt),this.idBlock.isConstructed=!0}fromBER(e,n,r){this.valueBlock.isIndefiniteForm=this.lenBlock.isIndefiniteForm;const i=this.valueBlock.fromBER(e,n,this.lenBlock.isIndefiniteForm?r:this.lenBlock.length);return i===-1?(this.error=this.valueBlock.error,i):(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),i)}onAsciiEncoding(){const e=[];for(const r of this.valueBlock.value)e.push(r.toString("ascii").split(`
|
|
76
76
|
`).map(i=>` ${i}`).join(`
|
|
77
77
|
`));const n=this.idBlock.tagClass===3?`[${this.idBlock.tagNumber}]`:this.constructor.NAME;return e.length?`${n} :
|
|
78
78
|
${e.join(`
|
|
79
|
-
`)}`:`${n} :`}}$f=De;K.Constructed=$f;De.NAME="CONSTRUCTED";class jf extends Ue{fromBER(e,n,r){return n}toBER(e){return mt}}jf.override="EndOfContentValueBlock";var Of;class il extends je{constructor(e={}){super(e,jf),this.idBlock.tagClass=1,this.idBlock.tagNumber=0}}Of=il;K.EndOfContent=Of;il.NAME=Vr;var Bf;class bn extends je{constructor(e={}){super(e,Ue),this.idBlock.tagClass=1,this.idBlock.tagNumber=5}fromBER(e,n,r){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+=r,n+r>e.byteLength?(this.error="End of input reached before message was fully decoded (inconsistent offset and length values)",-1):n+r}toBER(e,n){const r=new ArrayBuffer(2);if(!e){const i=new Uint8Array(r);i[0]=5,i[1]=0}return n&&n.write(r),r}onAsciiEncoding(){return`${this.constructor.NAME}`}}Bf=bn;K.Null=Bf;bn.NAME="NULL";class Tf extends It(Ue){constructor({value:e,...n}={}){super(n),n.valueHex?this.valueHexView=q.toUint8Array(n.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,n,r){const i=q.toUint8Array(e);return Vt(this,i,n,r)?(this.valueHexView=i.subarray(n,n+r),r>1&&this.warnings.push("Boolean value encoded in more then 1 octet"),this.isHexOnly=!0,xf.call(this),this.blockLength=r,n+r):-1}toBER(){return this.valueHexView.slice()}toJSON(){return{...super.toJSON(),value:this.value}}}Tf.NAME="BooleanValueBlock";var Pf;class eo extends je{constructor(e={}){super(e,Tf),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}`}}Pf=eo;K.Boolean=Pf;eo.NAME="BOOLEAN";class Rf extends It(Kt){constructor({isConstructed:e=!1,...n}={}){super(n),this.isConstructed=e}fromBER(e,n,r){let i=0;if(this.isConstructed){if(this.isHexOnly=!1,i=Kt.prototype.fromBER.call(this,e,n,r),i===-1)return i;for(let s=0;s<this.value.length;s++){const o=this.value[s].constructor.NAME;if(o===Vr){if(this.isIndefiniteForm)break;return this.error="EndOfContent is unexpected, OCTET STRING may consists of OCTET STRINGs only",-1}if(o!==Sf)return this.error="OCTET STRING may consists of OCTET STRINGs only",-1}}else this.isHexOnly=!0,i=super.fromBER(e,n,r),this.blockLength=r;return i}toBER(e,n){return this.isConstructed?Kt.prototype.toBER.call(this,e,n):e?new ArrayBuffer(this.valueHexView.byteLength):this.valueHexView.slice().buffer}toJSON(){return{...super.toJSON(),isConstructed:this.isConstructed}}}Rf.NAME="OctetStringValueBlock";var Lf;let gn=class Uf extends je{constructor({idBlock:e={},lenBlock:n={},...r}={}){var i,s;(i=r.isConstructed)!==null&&i!==void 0||(r.isConstructed=!!(!((s=r.value)===null||s===void 0)&&s.length)),super({idBlock:{isConstructed:r.isConstructed,...e},lenBlock:{...n,isIndefiniteForm:!!r.isIndefiniteForm},...r},Rf),this.idBlock.tagClass=1,this.idBlock.tagNumber=4}fromBER(e,n,r){if(this.valueBlock.isConstructed=this.idBlock.isConstructed,this.valueBlock.isIndefiniteForm=this.lenBlock.isIndefiniteForm,r===0)return this.idBlock.error.length===0&&(this.blockLength+=this.idBlock.blockLength),this.lenBlock.error.length===0&&(this.blockLength+=this.lenBlock.blockLength),n;if(!this.valueBlock.isConstructed){const s=(e instanceof ArrayBuffer?new Uint8Array(e):e).subarray(n,n+r);try{if(s.byteLength){const o=ur(s,0,s.byteLength);o.offset!==-1&&o.offset===r&&(this.valueBlock.value=[o.result])}}catch{}}return super.fromBER(e,n,r)}onAsciiEncoding(){return this.valueBlock.isConstructed||this.valueBlock.value&&this.valueBlock.value.length?De.prototype.onAsciiEncoding.call(this):`${this.constructor.NAME} : ${J.ToHex(this.valueBlock.valueHexView)}`}getValue(){if(!this.idBlock.isConstructed)return this.valueBlock.valueHexView.slice().buffer;const e=[];for(const n of this.valueBlock.value)n instanceof Uf&&e.push(n.valueBlock.valueHexView);return q.concat(e)}};Lf=gn;K.OctetString=Lf;gn.NAME=Sf;class Vf extends It(Kt){constructor({unusedBits:e=0,isConstructed:n=!1,...r}={}){super(r),this.unusedBits=e,this.isConstructed=n,this.blockLength=this.valueHexView.byteLength}fromBER(e,n,r){if(!r)return n;let i=-1;if(this.isConstructed){if(i=Kt.prototype.fromBER.call(this,e,n,r),i===-1)return i;for(const c of this.value){const l=c.constructor.NAME;if(l===Vr){if(this.isIndefiniteForm)break;return this.error="EndOfContent is unexpected, BIT STRING may consists of BIT STRINGs only",-1}if(l!==Af)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 i}const s=q.toUint8Array(e);if(!Vt(this,s,n,r))return-1;const o=s.subarray(n,n+r);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=ur(c,0,c.byteLength);l.offset!==-1&&l.offset===r-1&&(this.value=[l.result])}}catch{}}return this.valueHexView=o.subarray(1),this.blockLength=o.length,n+r}toBER(e,n){if(this.isConstructed)return Kt.prototype.toBER.call(this,e,n);if(e)return new ArrayBuffer(this.valueHexView.byteLength+1);if(!this.valueHexView.byteLength)return mt;const r=new Uint8Array(this.valueHexView.length+1);return r[0]=this.unusedBits,r.set(this.valueHexView,1),r.buffer}toJSON(){return{...super.toJSON(),unusedBits:this.unusedBits,isConstructed:this.isConstructed}}}Vf.NAME="BitStringValueBlock";var Mf;let mn=class extends je{constructor({idBlock:e={},lenBlock:n={},...r}={}){var i,s;(i=r.isConstructed)!==null&&i!==void 0||(r.isConstructed=!!(!((s=r.value)===null||s===void 0)&&s.length)),super({idBlock:{isConstructed:r.isConstructed,...e},lenBlock:{...n,isIndefiniteForm:!!r.isIndefiniteForm},...r},Vf),this.idBlock.tagClass=1,this.idBlock.tagNumber=3}fromBER(e,n,r){return this.valueBlock.isConstructed=this.idBlock.isConstructed,this.valueBlock.isIndefiniteForm=this.lenBlock.isIndefiniteForm,super.fromBER(e,n,r)}onAsciiEncoding(){if(this.valueBlock.isConstructed||this.valueBlock.value&&this.valueBlock.value.length)return De.prototype.onAsciiEncoding.call(this);{const e=[],n=this.valueBlock.valueHexView;for(const i of n)e.push(i.toString(2).padStart(8,"0"));const r=e.join("");return`${this.constructor.NAME} : ${r.substring(0,r.length-this.valueBlock.unusedBits)}`}}};Mf=mn;K.BitString=Mf;mn.NAME=Af;var qf;function $_(t,e){const n=new Uint8Array([0]),r=new Uint8Array(t),i=new Uint8Array(e);let s=r.slice(0);const o=s.length-1,c=i.slice(0),l=c.length-1;let u=0;const p=l<o?o:l;let h=0;for(let m=p;m>=0;m--,h++){switch(!0){case h<c.length:u=s[o-h]+c[l-h]+n[0];break;default:u=s[o-h]+n[0]}switch(n[0]=u/10,!0){case h>=s.length:s=Aa(new Uint8Array([u%10]),s);break;default:s[o-h]=u%10}}return n[0]>0&&(s=Aa(n,s)),s}function Uu(t){if(t>=Sr.length)for(let e=Sr.length;e<=t;e++){const n=new Uint8Array([0]);let r=Sr[e-1].slice(0);for(let i=r.length-1;i>=0;i--){const s=new Uint8Array([(r[i]<<1)+n[0]]);n[0]=s[0]/10,r[i]=s[0]%10}n[0]>0&&(r=Aa(n,r)),Sr.push(r)}return Sr[t]}function j_(t,e){let n=0;const r=new Uint8Array(t),i=new Uint8Array(e),s=r.slice(0),o=s.length-1,c=i.slice(0),l=c.length-1;let u,p=0;for(let h=l;h>=0;h--,p++)switch(u=s[o-p]-c[l-p]-n,!0){case u<0:n=1,s[o-p]=u+10;break;default:n=0,s[o-p]=u}if(n>0)for(let h=o-l+1;h>=0;h--,p++)if(u=s[o-p]-n,u<0)n=1,s[o-p]=u+10;else{n=0,s[o-p]=u;break}return s.slice()}class sl extends It(Ue){constructor({value:e,...n}={}){super(n),this._valueDec=0,n.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=xf.call(this)))}set valueDec(e){this._valueDec=e,this.isHexOnly=!1,this.valueHexView=new Uint8Array(v_(e))}get valueDec(){return this._valueDec}fromDER(e,n,r,i=0){const s=this.fromBER(e,n,r);if(s===-1)return s;const o=this.valueHexView;return o[0]===0&&o[1]&128?this.valueHexView=o.subarray(1):i!==0&&o.length<i&&(i-o.length>1&&(i=o.length+1),this.valueHexView=o.subarray(i-o.length)),s}toDER(e=!1){const n=this.valueHexView;switch(!0){case(n[0]&128)!==0:{const r=new Uint8Array(this.valueHexView.length+1);r[0]=0,r.set(n,1),this.valueHexView=r}break;case(n[0]===0&&(n[1]&128)===0):this.valueHexView=this.valueHexView.subarray(1);break}return this.toBER(e)}fromBER(e,n,r){const i=super.fromBER(e,n,r);return i===-1||this.setValueHex(),i}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 n=new Uint8Array(this.valueHexView.length*8/3),r=0,i;const s=this.valueHexView;let o="",c=!1;for(let l=s.byteLength-1;l>=0;l--){i=s[l];for(let u=0;u<8;u++){if((i&1)===1)switch(r){case e:n=j_(Uu(r),n),o="-";break;default:n=$_(n,Uu(r))}r++,i>>=1}}for(let l=0;l<n.length;l++)n[l]&&(c=!0),c&&(o+=Ru.charAt(n[l]));return c===!1&&(o+=Ru.charAt(0)),o}}qf=sl;sl.NAME="IntegerValueBlock";Object.defineProperty(qf.prototype,"valueHex",{set:function(t){this.valueHexView=new Uint8Array(t),this.setValueHex()},get:function(){return this.valueHexView.slice().buffer}});var Df;class xt extends je{constructor(e={}){super(e,sl),this.idBlock.tagClass=1,this.idBlock.tagNumber=2}toBigInt(){return cs(),BigInt(this.valueBlock.toString())}static fromBigInt(e){cs();const n=BigInt(e),r=new Xs,i=n.toString(16).replace(/^-/,""),s=new Uint8Array(J.FromHex(i));if(n<0){const c=new Uint8Array(s.length+(s[0]&128?1:0));c[0]|=128;const u=BigInt(`0x${J.ToHex(c)}`)+n,p=q.toUint8Array(J.FromHex(u.toString(16)));p[0]|=128,r.write(p)}else s[0]&128&&r.write(new Uint8Array([0])),r.write(s);return new xt({valueHex:r.final()})}convertToDER(){const e=new xt({valueHex:this.valueBlock.valueHexView});return e.valueBlock.toDER(),e}convertFromDER(){return new xt({valueHex:this.valueBlock.valueHexView[0]===0?this.valueBlock.valueHexView.subarray(1):this.valueBlock.valueHexView})}onAsciiEncoding(){return`${this.constructor.NAME} : ${this.valueBlock.toString()}`}}Df=xt;K.Integer=Df;xt.NAME="INTEGER";var Hf;class to extends xt{constructor(e={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=10}}Hf=to;K.Enumerated=Hf;to.NAME="ENUMERATED";class Ea extends It(Ue){constructor({valueDec:e=-1,isFirstSid:n=!1,...r}={}){super(r),this.valueDec=e,this.isFirstSid=n}fromBER(e,n,r){if(!r)return n;const i=q.toUint8Array(e);if(!Vt(this,i,n,r))return-1;const s=i.subarray(n,n+r);this.valueHexView=new Uint8Array(r);for(let c=0;c<r&&(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=Jn(this.valueHexView,7):(this.isHexOnly=!0,this.warnings.push("Too big SID for decoding, hex only")),n+this.blockLength)}set valueBigInt(e){cs();let n=BigInt(e).toString(2);for(;n.length%7;)n="0"+n;const r=new Uint8Array(n.length/7);for(let i=0;i<r.length;i++)r[i]=parseInt(n.slice(i*7,i*7+7),2)+(i+1<r.length?128:0);this.fromBER(r.buffer,0,r.length)}toBER(e){if(this.isHexOnly){if(e)return new ArrayBuffer(this.valueHexView.byteLength);const i=this.valueHexView,s=new Uint8Array(this.blockLength);for(let o=0;o<this.blockLength-1;o++)s[o]=i[o]|128;return s[this.blockLength-1]=i[this.blockLength-1],s.buffer}const n=wn(this.valueDec,7);if(n.byteLength===0)return this.error="Error during encoding SID value",mt;const r=new Uint8Array(n.byteLength);if(!e){const i=new Uint8Array(n),s=n.byteLength-1;for(let o=0;o<s;o++)r[o]=i[o]|128;r[s]=i[s]}return r}toString(){let e="";if(this.isHexOnly)e=J.ToHex(this.valueHexView);else if(this.isFirstSid){let n=this.valueDec;this.valueDec<=39?e="0.":this.valueDec<=79?(e="1.",n-=40):(e="2.",n-=80),e+=n.toString()}else e=this.valueDec.toString();return e}toJSON(){return{...super.toJSON(),valueDec:this.valueDec,isFirstSid:this.isFirstSid}}}Ea.NAME="sidBlock";class Ff extends Ue{constructor({value:e=qe,...n}={}){super(n),this.value=[],e&&this.fromString(e)}fromBER(e,n,r){let i=n;for(;r>0;){const s=new Ea;if(i=s.fromBER(e,i,r),i===-1)return this.blockLength=0,this.error=s.error,i;this.value.length===0&&(s.isFirstSid=!0),this.blockLength+=s.blockLength,r-=s.blockLength,this.value.push(s)}return i}toBER(e){const n=[];for(let r=0;r<this.value.length;r++){const i=this.value[r].toBER(e);if(i.byteLength===0)return this.error=this.value[r].error,mt;n.push(i)}return nl(n)}fromString(e){this.value=[];let n=0,r=0,i="",s=!1;do if(r=e.indexOf(".",n),r===-1?i=e.substring(n):i=e.substring(n,r),n=r+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(i,10);if(isNaN(l))return;o.valueDec=l+c,s=!1}else{const o=new Ea;if(i>Number.MAX_SAFE_INTEGER){cs();const c=BigInt(i);o.valueBigInt=c}else if(o.valueDec=parseInt(i,10),isNaN(o.valueDec))return;this.value.length||(o.isFirstSid=!0,s=!0),this.value.push(o)}while(r!==-1)}toString(){let e="",n=!1;for(let r=0;r<this.value.length;r++){n=this.value[r].isHexOnly;let i=this.value[r].toString();r!==0&&(e=`${e}.`),n?(i=`{${i}}`,this.value[r].isFirstSid?e=`2.{${i} - 80}`:e+=i):e+=i}return e}toJSON(){const e={...super.toJSON(),value:this.toString(),sidArray:[]};for(let n=0;n<this.value.length;n++)e.sidArray.push(this.value[n].toJSON());return e}}Ff.NAME="ObjectIdentifierValueBlock";var Kf;class no extends je{constructor(e={}){super(e,Ff),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()}}}Kf=no;K.ObjectIdentifier=Kf;no.NAME="OBJECT IDENTIFIER";class Ia extends It(jn){constructor({valueDec:e=0,...n}={}){super(n),this.valueDec=e}fromBER(e,n,r){if(r===0)return n;const i=q.toUint8Array(e);if(!Vt(this,i,n,r))return-1;const s=i.subarray(n,n+r);this.valueHexView=new Uint8Array(r);for(let c=0;c<r&&(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=Jn(this.valueHexView,7):(this.isHexOnly=!0,this.warnings.push("Too big SID for decoding, hex only")),n+this.blockLength)}toBER(e){if(this.isHexOnly){if(e)return new ArrayBuffer(this.valueHexView.byteLength);const i=this.valueHexView,s=new Uint8Array(this.blockLength);for(let o=0;o<this.blockLength-1;o++)s[o]=i[o]|128;return s[this.blockLength-1]=i[this.blockLength-1],s.buffer}const n=wn(this.valueDec,7);if(n.byteLength===0)return this.error="Error during encoding SID value",mt;const r=new Uint8Array(n.byteLength);if(!e){const i=new Uint8Array(n),s=n.byteLength-1;for(let o=0;o<s;o++)r[o]=i[o]|128;r[s]=i[s]}return r.buffer}toString(){let e="";return this.isHexOnly?e=J.ToHex(this.valueHexView):e=this.valueDec.toString(),e}toJSON(){return{...super.toJSON(),valueDec:this.valueDec}}}Ia.NAME="relativeSidBlock";class Wf extends Ue{constructor({value:e=qe,...n}={}){super(n),this.value=[],e&&this.fromString(e)}fromBER(e,n,r){let i=n;for(;r>0;){const s=new Ia;if(i=s.fromBER(e,i,r),i===-1)return this.blockLength=0,this.error=s.error,i;this.blockLength+=s.blockLength,r-=s.blockLength,this.value.push(s)}return i}toBER(e,n){const r=[];for(let i=0;i<this.value.length;i++){const s=this.value[i].toBER(e);if(s.byteLength===0)return this.error=this.value[i].error,mt;r.push(s)}return nl(r)}fromString(e){this.value=[];let n=0,r=0,i="";do{r=e.indexOf(".",n),r===-1?i=e.substring(n):i=e.substring(n,r),n=r+1;const s=new Ia;if(s.valueDec=parseInt(i,10),isNaN(s.valueDec))return!0;this.value.push(s)}while(r!==-1);return!0}toString(){let e="",n=!1;for(let r=0;r<this.value.length;r++){n=this.value[r].isHexOnly;let i=this.value[r].toString();r!==0&&(e=`${e}.`),n&&(i=`{${i}}`),e+=i}return e}toJSON(){const e={...super.toJSON(),value:this.toString(),sidArray:[]};for(let n=0;n<this.value.length;n++)e.sidArray.push(this.value[n].toJSON());return e}}Wf.NAME="RelativeObjectIdentifierValueBlock";var Gf;class ol extends je{constructor(e={}){super(e,Wf),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()}}}Gf=ol;K.RelativeObjectIdentifier=Gf;ol.NAME="RelativeObjectIdentifier";var Jf;class Ot extends De{constructor(e={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=16}}Jf=Ot;K.Sequence=Jf;Ot.NAME="SEQUENCE";var Zf;let Bt=class extends De{constructor(e={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=17}};Zf=Bt;K.Set=Zf;Bt.NAME="SET";class Yf extends It(Ue){constructor({...e}={}){super(e),this.isHexOnly=!0,this.value=qe}toJSON(){return{...super.toJSON(),value:this.value}}}Yf.NAME="StringValueBlock";class Xf extends Yf{}Xf.NAME="SimpleStringValueBlock";class Ye extends rl{constructor({...e}={}){super(e,Xf)}fromBuffer(e){this.valueBlock.value=String.fromCharCode.apply(null,q.toUint8Array(e))}fromString(e){const n=e.length,r=this.valueBlock.valueHexView=new Uint8Array(n);for(let i=0;i<n;i++)r[i]=e.charCodeAt(i);this.valueBlock.value=e}}Ye.NAME="SIMPLE STRING";class Qf extends Ye{fromBuffer(e){this.valueBlock.valueHexView=q.toUint8Array(e);try{this.valueBlock.value=J.ToUtf8String(e)}catch(n){this.warnings.push(`Error during "decodeURIComponent": ${n}, using raw string`),this.valueBlock.value=J.ToBinary(e)}}fromString(e){this.valueBlock.valueHexView=new Uint8Array(J.FromUtf8String(e)),this.valueBlock.value=e}}Qf.NAME="Utf8StringValueBlock";var eh;class Mt extends Qf{constructor(e={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=12}}eh=Mt;K.Utf8String=eh;Mt.NAME="UTF8String";class th extends Ye{fromBuffer(e){this.valueBlock.value=J.ToUtf16String(e),this.valueBlock.valueHexView=q.toUint8Array(e)}fromString(e){this.valueBlock.value=e,this.valueBlock.valueHexView=new Uint8Array(J.FromUtf16String(e))}}th.NAME="BmpStringValueBlock";var nh;class ro extends th{constructor({...e}={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=30}}nh=ro;K.BmpString=nh;ro.NAME="BMPString";class rh extends Ye{fromBuffer(e){const n=ArrayBuffer.isView(e)?e.slice().buffer:e.slice(0),r=new Uint8Array(n);for(let i=0;i<r.length;i+=4)r[i]=r[i+3],r[i+1]=r[i+2],r[i+2]=0,r[i+3]=0;this.valueBlock.value=String.fromCharCode.apply(null,new Uint32Array(n))}fromString(e){const n=e.length,r=this.valueBlock.valueHexView=new Uint8Array(n*4);for(let i=0;i<n;i++){const s=wn(e.charCodeAt(i),8),o=new Uint8Array(s);if(o.length>4)continue;const c=4-o.length;for(let l=o.length-1;l>=0;l--)r[i*4+l+c]=o[l]}this.valueBlock.value=e}}rh.NAME="UniversalStringValueBlock";var ih;class io extends rh{constructor({...e}={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=28}}ih=io;K.UniversalString=ih;io.NAME="UniversalString";var sh;class so extends Ye{constructor(e={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=18}}sh=so;K.NumericString=sh;so.NAME="NumericString";var oh;class oo extends Ye{constructor(e={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=19}}oh=oo;K.PrintableString=oh;oo.NAME="PrintableString";var ah;class ao extends Ye{constructor(e={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=20}}ah=ao;K.TeletexString=ah;ao.NAME="TeletexString";var ch;class co extends Ye{constructor(e={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=21}}ch=co;K.VideotexString=ch;co.NAME="VideotexString";var lh;class lo extends Ye{constructor(e={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=22}}lh=lo;K.IA5String=lh;lo.NAME="IA5String";var uh;class uo extends Ye{constructor(e={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=25}}uh=uo;K.GraphicString=uh;uo.NAME="GraphicString";var dh;class ci extends Ye{constructor(e={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=26}}dh=ci;K.VisibleString=dh;ci.NAME="VisibleString";var ph;class po extends Ye{constructor(e={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=27}}ph=po;K.GeneralString=ph;po.NAME="GeneralString";var fh;class fo extends Ye{constructor(e={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=29}}fh=fo;K.CharacterString=fh;fo.NAME="CharacterString";var hh;class li extends ci{constructor({value:e,valueDate:n,...r}={}){if(super(r),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 i=0;i<e.length;i++)this.valueBlock.valueHexView[i]=e.charCodeAt(i)}n&&(this.fromDate(n),this.valueBlock.valueHexView=new Uint8Array(this.toBuffer())),this.idBlock.tagClass=1,this.idBlock.tagNumber=23}fromBuffer(e){this.fromString(String.fromCharCode.apply(null,q.toUint8Array(e)))}toBuffer(){const e=this.toString(),n=new ArrayBuffer(e.length),r=new Uint8Array(n);for(let i=0;i<e.length;i++)r[i]=e.charCodeAt(i);return n}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 r=/(\d{2})(\d{2})(\d{2})(\d{2})(\d{2})(\d{2})Z/ig.exec(e);if(r===null){this.error="Wrong input string for conversion";return}const i=parseInt(r[1],10);i>=50?this.year=1900+i:this.year=2e3+i,this.month=parseInt(r[2],10),this.day=parseInt(r[3],10),this.hour=parseInt(r[4],10),this.minute=parseInt(r[5],10),this.second=parseInt(r[6],10)}toString(e="iso"){if(e==="iso"){const n=new Array(7);return n[0]=Je(this.year<2e3?this.year-1900:this.year-2e3,2),n[1]=Je(this.month,2),n[2]=Je(this.day,2),n[3]=Je(this.hour,2),n[4]=Je(this.minute,2),n[5]=Je(this.second,2),n[6]="Z",n.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}}}hh=li;K.UTCTime=hh;li.NAME="UTCTime";var gh;class ho extends li{constructor(e={}){var n;super(e),(n=this.millisecond)!==null&&n!==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 n=!1,r="",i="",s=0,o,c=0,l=0;if(e[e.length-1]==="Z")r=e.substring(0,e.length-1),n=!0;else{const h=new Number(e[e.length-1]);if(isNaN(h.valueOf()))throw new Error("Wrong input string for conversion");r=e}if(n){if(r.indexOf("+")!==-1)throw new Error("Wrong input string for conversion");if(r.indexOf("-")!==-1)throw new Error("Wrong input string for conversion")}else{let h=1,m=r.indexOf("+"),v="";if(m===-1&&(m=r.indexOf("-"),h=-1),m!==-1){if(v=r.substring(m+1),r=r.substring(0,m),v.length!==2&&v.length!==4)throw new Error("Wrong input string for conversion");let f=parseInt(v.substring(0,2),10);if(isNaN(f.valueOf()))throw new Error("Wrong input string for conversion");if(c=h*f,v.length===4){if(f=parseInt(v.substring(2,4),10),isNaN(f.valueOf()))throw new Error("Wrong input string for conversion");l=h*f}}}let u=r.indexOf(".");if(u===-1&&(u=r.indexOf(",")),u!==-1){const h=new Number(`0${r.substring(u)}`);if(isNaN(h.valueOf()))throw new Error("Wrong input string for conversion");s=h.valueOf(),i=r.substring(0,u)}else i=r;switch(!0){case i.length===8:if(o=/(\d{4})(\d{2})(\d{2})/ig,u!==-1)throw new Error("Wrong input string for conversion");break;case i.length===10:if(o=/(\d{4})(\d{2})(\d{2})(\d{2})/ig,u!==-1){let h=60*s;this.minute=Math.floor(h),h=60*(h-this.minute),this.second=Math.floor(h),h=1e3*(h-this.second),this.millisecond=Math.floor(h)}break;case i.length===12:if(o=/(\d{4})(\d{2})(\d{2})(\d{2})(\d{2})/ig,u!==-1){let h=60*s;this.second=Math.floor(h),h=1e3*(h-this.second),this.millisecond=Math.floor(h)}break;case i.length===14:if(o=/(\d{4})(\d{2})(\d{2})(\d{2})(\d{2})(\d{2})/ig,u!==-1){const h=1e3*s;this.millisecond=Math.floor(h)}break;default:throw new Error("Wrong input string for conversion")}const p=o.exec(i);if(p===null)throw new Error("Wrong input string for conversion");for(let h=1;h<p.length;h++)switch(h){case 1:this.year=parseInt(p[h],10);break;case 2:this.month=parseInt(p[h],10);break;case 3:this.day=parseInt(p[h],10);break;case 4:this.hour=parseInt(p[h],10)+c;break;case 5:this.minute=parseInt(p[h],10)+l;break;case 6:this.second=parseInt(p[h],10);break;default:throw new Error("Wrong input string for conversion")}if(n===!1){const h=new Date(this.year,this.month,this.day,this.hour,this.minute,this.second,this.millisecond);this.year=h.getUTCFullYear(),this.month=h.getUTCMonth(),this.day=h.getUTCDay(),this.hour=h.getUTCHours(),this.minute=h.getUTCMinutes(),this.second=h.getUTCSeconds(),this.millisecond=h.getUTCMilliseconds()}}toString(e="iso"){if(e==="iso"){const n=[];return n.push(Je(this.year,4)),n.push(Je(this.month,2)),n.push(Je(this.day,2)),n.push(Je(this.hour,2)),n.push(Je(this.minute,2)),n.push(Je(this.second,2)),this.millisecond!==0&&(n.push("."),n.push(Je(this.millisecond,3))),n.push("Z"),n.join("")}return super.toString(e)}toJSON(){return{...super.toJSON(),millisecond:this.millisecond}}}gh=ho;K.GeneralizedTime=gh;ho.NAME="GeneralizedTime";var mh;class al extends Mt{constructor(e={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=31}}mh=al;K.DATE=mh;al.NAME="DATE";var _h;class cl extends Mt{constructor(e={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=32}}_h=cl;K.TimeOfDay=_h;cl.NAME="TimeOfDay";var yh;class ll extends Mt{constructor(e={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=33}}yh=ll;K.DateTime=yh;ll.NAME="DateTime";var vh;class ul extends Mt{constructor(e={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=34}}vh=ul;K.Duration=vh;ul.NAME="Duration";var wh;class dl extends Mt{constructor(e={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=14}}wh=dl;K.TIME=wh;dl.NAME="TIME";class kn{constructor({name:e=qe,optional:n=!1}={}){this.name=e,this.optional=n}}class pl extends kn{constructor({value:e=[],...n}={}){super(n),this.value=e}}class ls extends kn{constructor({value:e=new kn,local:n=!1,...r}={}){super(r),this.value=e,this.local=n}}class O_{constructor({data:e=Qs}={}){this.dataView=q.toUint8Array(e)}get data(){return this.dataView.slice().buffer}set data(e){this.dataView=q.toUint8Array(e)}fromBER(e,n,r){const i=n+r;return this.dataView=q.toUint8Array(e).subarray(n,i),i}toBER(e){return this.dataView.slice().buffer}}function pn(t,e,n){if(n instanceof pl){for(let s=0;s<n.value.length;s++)if(pn(t,e,n.value[s]).verified)return{verified:!0,result:t};{const s={verified:!1,result:{error:"Wrong values for Choice type"}};return n.hasOwnProperty(ea)&&(s.name=n.name),s}}if(n instanceof kn)return n.hasOwnProperty(ea)&&(t[n.name]=e),{verified:!0,result:t};if(!(t instanceof Object))return{verified:!1,result:{error:"Wrong root object"}};if(!(e instanceof Object))return{verified:!1,result:{error:"Wrong ASN.1 data"}};if(!(n instanceof Object))return{verified:!1,result:{error:"Wrong ASN.1 schema"}};if(!(k_ in n))return{verified:!1,result:{error:"Wrong ASN.1 schema"}};if(!(E_ in n.idBlock))return{verified:!1,result:{error:"Wrong ASN.1 schema"}};if(!(I_ in n.idBlock))return{verified:!1,result:{error:"Wrong ASN.1 schema"}};const r=n.idBlock.toBER(!1);if(r.byteLength===0)return{verified:!1,result:{error:"Error encoding idBlock for ASN.1 schema"}};if(n.idBlock.fromBER(r,0,r.byteLength)===-1)return{verified:!1,result:{error:"Error decoding idBlock for ASN.1 schema"}};if(n.idBlock.hasOwnProperty(x_)===!1)return{verified:!1,result:{error:"Wrong ASN.1 schema"}};if(n.idBlock.tagClass!==e.idBlock.tagClass)return{verified:!1,result:t};if(n.idBlock.hasOwnProperty(S_)===!1)return{verified:!1,result:{error:"Wrong ASN.1 schema"}};if(n.idBlock.tagNumber!==e.idBlock.tagNumber)return{verified:!1,result:t};if(n.idBlock.hasOwnProperty(A_)===!1)return{verified:!1,result:{error:"Wrong ASN.1 schema"}};if(n.idBlock.isConstructed!==e.idBlock.isConstructed)return{verified:!1,result:t};if(!(b_ in n.idBlock))return{verified:!1,result:{error:"Wrong ASN.1 schema"}};if(n.idBlock.isHexOnly!==e.idBlock.isHexOnly)return{verified:!1,result:t};if(n.idBlock.isHexOnly){if(!(Lu in n.idBlock))return{verified:!1,result:{error:"Wrong ASN.1 schema"}};const s=n.idBlock.valueHexView,o=e.idBlock.valueHexView;if(s.length!==o.length)return{verified:!1,result:t};for(let c=0;c<s.length;c++)if(s[c]!==o[1])return{verified:!1,result:t}}if(n.name&&(n.name=n.name.replace(/^\s+|\s+$/g,qe),n.name&&(t[n.name]=e)),n instanceof K.Constructed){let s=0,o={verified:!1,result:{error:"Unknown error"}},c=n.valueBlock.value.length;if(c>0&&n.valueBlock.value[0]instanceof ls&&(c=e.valueBlock.value.length),c===0)return{verified:!0,result:t};if(e.valueBlock.value.length===0&&n.valueBlock.value.length!==0){let l=!0;for(let u=0;u<n.valueBlock.value.length;u++)l=l&&(n.valueBlock.value[u].optional||!1);return l?{verified:!0,result:t}:(n.name&&(n.name=n.name.replace(/^\s+|\s+$/g,qe),n.name&&delete t[n.name]),t.error="Inconsistent object length",{verified:!1,result:t})}for(let l=0;l<c;l++)if(l-s>=e.valueBlock.value.length){if(n.valueBlock.value[l].optional===!1){const u={verified:!1,result:t};return t.error="Inconsistent length between ASN.1 data and schema",n.name&&(n.name=n.name.replace(/^\s+|\s+$/g,qe),n.name&&(delete t[n.name],u.name=n.name)),u}}else if(n.valueBlock.value[0]instanceof ls){if(o=pn(t,e.valueBlock.value[l],n.valueBlock.value[0].value),o.verified===!1)if(n.valueBlock.value[0].optional)s++;else return n.name&&(n.name=n.name.replace(/^\s+|\s+$/g,qe),n.name&&delete t[n.name]),o;if(ea in n.valueBlock.value[0]&&n.valueBlock.value[0].name.length>0){let u={};C_ in n.valueBlock.value[0]&&n.valueBlock.value[0].local?u=e:u=t,typeof u[n.valueBlock.value[0].name]>"u"&&(u[n.valueBlock.value[0].name]=[]),u[n.valueBlock.value[0].name].push(e.valueBlock.value[l])}}else if(o=pn(t,e.valueBlock.value[l-s],n.valueBlock.value[l]),o.verified===!1)if(n.valueBlock.value[l].optional)s++;else return n.name&&(n.name=n.name.replace(/^\s+|\s+$/g,qe),n.name&&delete t[n.name]),o;if(o.verified===!1){const l={verified:!1,result:t};return n.name&&(n.name=n.name.replace(/^\s+|\s+$/g,qe),n.name&&(delete t[n.name],l.name=n.name)),l}return{verified:!0,result:t}}if(n.primitiveSchema&&Lu in e.valueBlock){const s=ur(e.valueBlock.valueHexView);if(s.offset===-1){const o={verified:!1,result:s.result};return n.name&&(n.name=n.name.replace(/^\s+|\s+$/g,qe),n.name&&(delete t[n.name],o.name=n.name)),o}return pn(t,s.result,n.primitiveSchema)}return{verified:!0,result:t}}function B_(t,e){if(!(e instanceof Object))return{verified:!1,result:{error:"Wrong ASN.1 schema type"}};const n=ur(q.toUint8Array(t));return n.offset===-1?{verified:!1,result:n.result}:pn(n.result,n.result,e)}const bh=Object.freeze(Object.defineProperty({__proto__:null,Any:kn,BaseBlock:je,BaseStringBlock:rl,BitString:mn,BmpString:ro,Boolean:eo,CharacterString:fo,Choice:pl,Constructed:De,DATE:al,DateTime:ll,Duration:ul,EndOfContent:il,Enumerated:to,GeneralString:po,GeneralizedTime:ho,GraphicString:uo,HexBlock:It,IA5String:lo,Integer:xt,Null:bn,NumericString:so,ObjectIdentifier:no,OctetString:gn,Primitive:ai,PrintableString:oo,RawData:O_,RelativeObjectIdentifier:ol,Repeated:ls,Sequence:Ot,Set:Bt,TIME:dl,TeletexString:ao,TimeOfDay:cl,UTCTime:li,UniversalString:io,Utf8String:Mt,ValueBlock:Ue,VideotexString:co,ViewWriter:Xs,VisibleString:ci,compareSchema:pn,fromBER:Fn,verifySchema:B_},Symbol.toStringTag,{value:"Module"}));var T;(function(t){t[t.Sequence=0]="Sequence",t[t.Set=1]="Set",t[t.Choice=2]="Choice"})(T||(T={}));var b;(function(t){t[t.Any=1]="Any",t[t.Boolean=2]="Boolean",t[t.OctetString=3]="OctetString",t[t.BitString=4]="BitString",t[t.Integer=5]="Integer",t[t.Enumerated=6]="Enumerated",t[t.ObjectIdentifier=7]="ObjectIdentifier",t[t.Utf8String=8]="Utf8String",t[t.BmpString=9]="BmpString",t[t.UniversalString=10]="UniversalString",t[t.NumericString=11]="NumericString",t[t.PrintableString=12]="PrintableString",t[t.TeletexString=13]="TeletexString",t[t.VideotexString=14]="VideotexString",t[t.IA5String=15]="IA5String",t[t.GraphicString=16]="GraphicString",t[t.VisibleString=17]="VisibleString",t[t.GeneralString=18]="GeneralString",t[t.CharacterString=19]="CharacterString",t[t.UTCTime=20]="UTCTime",t[t.GeneralizedTime=21]="GeneralizedTime",t[t.DATE=22]="DATE",t[t.TimeOfDay=23]="TimeOfDay",t[t.DateTime=24]="DateTime",t[t.Duration=25]="Duration",t[t.TIME=26]="TIME",t[t.Null=27]="Null"})(b||(b={}));class go{constructor(e,n=0){if(this.unusedBits=0,this.value=new ArrayBuffer(0),e)if(typeof e=="number")this.fromNumber(e);else if(q.isBufferSource(e))this.unusedBits=n,this.value=q.toArrayBuffer(e);else throw TypeError("Unsupported type of 'params' argument for BitString")}fromASN(e){if(!(e instanceof mn))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 mn({unusedBits:this.unusedBits,valueHex:this.value})}toSchema(e){return new mn({name:e})}toNumber(){let e="";const n=new Uint8Array(this.value);for(const r of n)e+=r.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 n=e.toString(2);const r=n.length+7>>3;this.unusedBits=(r<<3)-n.length;const i=new Uint8Array(r);n=n.padStart(r<<3,"0").split("").reverse().join("");let s=0;for(;s<r;)i[s]=parseInt(n.slice(s<<3,(s<<3)+8),2),s++;this.value=i.buffer}}class ae{get byteLength(){return this.buffer.byteLength}get byteOffset(){return 0}constructor(e){typeof e=="number"?this.buffer=new ArrayBuffer(e):q.isBufferSource(e)?this.buffer=q.toArrayBuffer(e):Array.isArray(e)?this.buffer=new Uint8Array(e):this.buffer=new ArrayBuffer(0)}fromASN(e){if(!(e instanceof gn))throw new TypeError("Argument 'asn' is not instance of ASN.1 OctetString");return this.buffer=e.valueBlock.valueHex,this}toASN(){return new gn({valueHex:this.buffer})}toSchema(e){return new gn({name:e})}}const T_={fromASN:t=>t instanceof bn?null:t.valueBeforeDecodeView,toASN:t=>{if(t===null)return new bn;const e=Fn(t);if(e.result.error)throw new Error(e.result.error);return e.result}},P_={fromASN:t=>t.valueBlock.valueHexView.byteLength>=4?t.valueBlock.toString():t.valueBlock.valueDec,toASN:t=>new xt({value:+t})},R_={fromASN:t=>t.valueBlock.valueDec,toASN:t=>new to({value:t})},_e={fromASN:t=>t.valueBlock.valueHexView,toASN:t=>new xt({valueHex:t})},L_={fromASN:t=>t.valueBlock.valueHexView,toASN:t=>new mn({valueHex:t})},U_={fromASN:t=>t.valueBlock.toString(),toASN:t=>new no({value:t})},V_={fromASN:t=>t.valueBlock.value,toASN:t=>new eo({value:t})},us={fromASN:t=>t.valueBlock.valueHexView,toASN:t=>new gn({valueHex:t})},M_={fromASN:t=>new ae(t.getValue()),toASN:t=>t.toASN()};function it(t){return{fromASN:e=>e.valueBlock.value,toASN:e=>new t({value:e})}}const kh=it(Mt),q_=it(ro),D_=it(io),H_=it(so),F_=it(oo),K_=it(ao),W_=it(co),G_=it(lo),J_=it(uo),Z_=it(ci),Y_=it(po),X_=it(fo),Q_={fromASN:t=>t.toDate(),toASN:t=>new li({valueDate:t})},e0={fromASN:t=>t.toDate(),toASN:t=>new ho({valueDate:t})},t0={fromASN:()=>null,toASN:()=>new bn};function fl(t){switch(t){case b.Any:return T_;case b.BitString:return L_;case b.BmpString:return q_;case b.Boolean:return V_;case b.CharacterString:return X_;case b.Enumerated:return R_;case b.GeneralString:return Y_;case b.GeneralizedTime:return e0;case b.GraphicString:return J_;case b.IA5String:return G_;case b.Integer:return P_;case b.Null:return t0;case b.NumericString:return H_;case b.ObjectIdentifier:return U_;case b.OctetString:return us;case b.PrintableString:return F_;case b.TeletexString:return K_;case b.UTCTime:return Q_;case b.UniversalString:return D_;case b.Utf8String:return kh;case b.VideotexString:return W_;case b.VisibleString:return Z_;default:return null}}function jt(t){return typeof t=="function"&&t.prototype?t.prototype.toASN&&t.prototype.fromASN?!0:jt(t.prototype):!!(t&&typeof t=="object"&&"toASN"in t&&"fromASN"in t)}function xh(t){var e;if(t){const n=Object.getPrototypeOf(t);return((e=n==null?void 0:n.prototype)===null||e===void 0?void 0:e.constructor)===Array?!0:xh(n)}return!1}function n0(t,e){if(!(t&&e)||t.byteLength!==e.byteLength)return!1;const n=new Uint8Array(t),r=new Uint8Array(e);for(let i=0;i<t.byteLength;i++)if(n[i]!==r[i])return!1;return!0}class r0{constructor(){this.items=new WeakMap}has(e){return this.items.has(e)}get(e,n=!1){const r=this.items.get(e);if(!r)throw new Error(`Cannot get schema for '${e.prototype.constructor.name}' target`);if(n&&!r.schema)throw new Error(`Schema '${e.prototype.constructor.name}' doesn't contain ASN.1 schema. Call 'AsnSchemaStorage.cache'.`);return r}cache(e){const n=this.get(e);n.schema||(n.schema=this.create(e,!0))}createDefault(e){const n={type:T.Sequence,items:{}},r=this.findParentSchema(e);return r&&(Object.assign(n,r),n.items=Object.assign({},n.items,r.items)),n}create(e,n){const r=this.items.get(e)||this.createDefault(e),i=[];for(const s in r.items){const o=r.items[s],c=n?s:"";let l;if(typeof o.type=="number"){const p=b[o.type],h=bh[p];if(!h)throw new Error(`Cannot get ASN1 class by name '${p}'`);l=new h({name:c})}else jt(o.type)?l=new o.type().toSchema(c):o.optional?this.get(o.type).type===T.Choice?l=new kn({name:c}):(l=this.create(o.type,!1),l.name=c):l=new kn({name:c});const u=!!o.optional||o.defaultValue!==void 0;if(o.repeated){l.name="";const p=o.repeated==="set"?Bt:Ot;l=new p({name:"",value:[new ls({name:c,value:l})]})}if(o.context!==null&&o.context!==void 0)if(o.implicit)if(typeof o.type=="number"||jt(o.type)){const p=o.repeated?De:ai;i.push(new p({name:c,optional:u,idBlock:{tagClass:3,tagNumber:o.context}}))}else{this.cache(o.type);const p=!!o.repeated;let h=p?l:this.get(o.type,!0).schema;h="valueBlock"in h?h.valueBlock.value:h.value,i.push(new De({name:p?"":c,optional:u,idBlock:{tagClass:3,tagNumber:o.context},value:h}))}else i.push(new De({optional:u,idBlock:{tagClass:3,tagNumber:o.context},value:[l]}));else l.optional=u,i.push(l)}switch(r.type){case T.Sequence:return new Ot({value:i,name:""});case T.Set:return new Bt({value:i,name:""});case T.Choice:return new pl({value:i,name:""});default:throw new Error("Unsupported ASN1 type in use")}}set(e,n){return this.items.set(e,n),this}findParentSchema(e){const n=Object.getPrototypeOf(e);return n?this.items.get(n)||this.findParentSchema(n):null}}const et=new r0,P=t=>e=>{let n;et.has(e)?n=et.get(e):(n=et.createDefault(e),et.set(e,n)),Object.assign(n,t)},g=t=>(e,n)=>{let r;et.has(e.constructor)?r=et.get(e.constructor):(r=et.createDefault(e.constructor),et.set(e.constructor,r));const i=Object.assign({},t);if(typeof i.type=="number"&&!i.converter){const s=fl(t.type);if(!s)throw new Error(`Cannot get default converter for property '${n}' of ${e.constructor.name}`);i.converter=s}r.items[n]=i};class Vu extends Error{constructor(){super(...arguments),this.schemas=[]}}class i0{static parse(e,n){const r=Fn(e);if(r.result.error)throw new Error(r.result.error);return this.fromASN(r.result,n)}static fromASN(e,n){var r;try{if(jt(n))return new n().fromASN(e);const i=et.get(n);et.cache(n);let s=i.schema;if(e.constructor===De&&i.type!==T.Choice){s=new De({idBlock:{tagClass:3,tagNumber:e.idBlock.tagNumber},value:i.schema.valueBlock.value});for(const l in i.items)delete e[l]}const o=pn({},e,s);if(!o.verified)throw new Vu(`Data does not match to ${n.name} ASN1 schema. ${o.result.error}`);const c=new n;if(xh(n)){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=i.itemType;if(typeof l=="number"){const u=fl(l);if(!u)throw new Error(`Cannot get default converter for array item of ${n.name} ASN1 schema`);return n.from(e.valueBlock.value,p=>u.fromASN(p))}else return n.from(e.valueBlock.value,u=>this.fromASN(u,l))}for(const l in i.items){const u=o.result[l];if(!u)continue;const p=i.items[l],h=p.type;if(typeof h=="number"||jt(h)){const m=(r=p.converter)!==null&&r!==void 0?r:jt(h)?new h:null;if(!m)throw new Error("Converter is empty");if(p.repeated)if(p.implicit){const v=p.repeated==="sequence"?Ot:Bt,f=new v;f.valueBlock=u.valueBlock;const _=Fn(f.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 w=_.result.valueBlock.value;c[l]=Array.from(w,S=>m.fromASN(S))}else c[l]=Array.from(u,v=>m.fromASN(v));else{let v=u;if(p.implicit){let f;if(jt(h))f=new h().toSchema("");else{const _=b[h],w=bh[_];if(!w)throw new Error(`Cannot get '${_}' class from asn1js module`);f=new w}f.valueBlock=v.valueBlock,v=Fn(f.toBER(!1)).result}c[l]=m.fromASN(v)}}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,h))}else c[l]=this.fromASN(u,h)}return c}catch(i){throw i instanceof Vu&&i.schemas.push(n.name),i}}}class hl{static serialize(e){return e instanceof je?e.toBER(!1):this.toASN(e).toBER(!1)}static toASN(e){if(e&&typeof e=="object"&&jt(e))return e.toASN();if(!(e&&typeof e=="object"))throw new TypeError("Parameter 1 should be type of Object.");const n=e.constructor,r=et.get(n);et.cache(n);let i=[];if(r.itemType){if(!Array.isArray(e))throw new TypeError("Parameter 1 should be type of Array.");if(typeof r.itemType=="number"){const o=fl(r.itemType);if(!o)throw new Error(`Cannot get default converter for array item of ${n.name} ASN1 schema`);i=e.map(c=>o.toASN(c))}else i=e.map(o=>this.toAsnItem({type:r.itemType},"[]",n,o))}else for(const o in r.items){const c=r.items[o],l=e[o];if(l===void 0||c.defaultValue===l||typeof c.defaultValue=="object"&&typeof l=="object"&&n0(this.serialize(c.defaultValue),this.serialize(l)))continue;const u=hl.toAsnItem(c,o,n,l);if(typeof c.context=="number")if(c.implicit)if(!c.repeated&&(typeof c.type=="number"||jt(c.type))){const p={};p.valueHex=u instanceof bn?u.valueBeforeDecodeView:u.valueBlock.toBER(),i.push(new ai({optional:c.optional,idBlock:{tagClass:3,tagNumber:c.context},...p}))}else i.push(new De({optional:c.optional,idBlock:{tagClass:3,tagNumber:c.context},value:u.valueBlock.value}));else i.push(new De({optional:c.optional,idBlock:{tagClass:3,tagNumber:c.context},value:[u]}));else c.repeated?i=i.concat(u):i.push(u)}let s;switch(r.type){case T.Sequence:s=new Ot({value:i});break;case T.Set:s=new Bt({value:i});break;case T.Choice:if(!i[0])throw new Error(`Schema '${n.name}' has wrong data. Choice cannot be empty.`);s=i[0];break}return s}static toAsnItem(e,n,r,i){let s;if(typeof e.type=="number"){const o=e.converter;if(!o)throw new Error(`Property '${n}' doesn't have converter for type ${b[e.type]} in schema '${r.name}'`);if(e.repeated){if(!Array.isArray(i))throw new TypeError("Parameter 'objProp' should be type of Array.");const c=Array.from(i,u=>o.toASN(u)),l=e.repeated==="sequence"?Ot:Bt;s=new l({value:c})}else s=o.toASN(i)}else if(e.repeated){if(!Array.isArray(i))throw new TypeError("Parameter 'objProp' should be type of Array.");const o=Array.from(i,l=>this.toASN(l)),c=e.repeated==="sequence"?Ot:Bt;s=new c({value:o})}else s=this.toASN(i);return s}}class pe extends Array{constructor(e=[]){if(typeof e=="number")super(e);else{super();for(const n of e)this.push(n)}}}class M{static serialize(e){return hl.serialize(e)}static parse(e,n){return i0.parse(e,n)}static toString(e){const n=q.isBufferSource(e)?q.toArrayBuffer(e):M.serialize(e),r=Fn(n);if(r.offset===-1)throw new Error(`Cannot decode ASN.1 data. ${r.result.error}`);return r.result.toString()}}function d(t,e,n,r){var i=arguments.length,s=i<3?e:r===null?r=Object.getOwnPropertyDescriptor(e,n):r,o;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(t,e,n,r);else for(var c=t.length-1;c>=0;c--)(o=t[c])&&(s=(i<3?o(s):i>3?o(e,n,s):o(e,n))||s);return i>3&&s&&Object.defineProperty(e,n,s),s}var Sh={exports:{}};(function(t){(function(e){const n="(0?\\d+|0x[a-f0-9]+)",r={fourOctet:new RegExp(`^${n}\\.${n}\\.${n}\\.${n}$`,"i"),threeOctet:new RegExp(`^${n}\\.${n}\\.${n}$`,"i"),twoOctet:new RegExp(`^${n}\\.${n}$`,"i"),longValue:new RegExp(`^${n}$`,"i")},i=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(`^(?:::)(${n}\\.${n}\\.${n}\\.${n}(${o})?)$`,"i"),transitional:new RegExp(`^((?:${c})|(?:::)(?:${c})?)${n}\\.${n}\\.${n}\\.${n}(${o})?$`,"i")};function u(f,_){if(f.indexOf("::")!==f.lastIndexOf("::"))return null;let w=0,S=-1,N=(f.match(l.zoneIndex)||[])[0],B,R;for(N&&(N=N.substring(1),f=f.replace(/%.+$/,""));(S=f.indexOf(":",S+1))>=0;)w++;if(f.substr(0,2)==="::"&&w--,f.substr(-2,2)==="::"&&w--,w>_)return null;for(R=_-w,B=":";R--;)B+="0:";return f=f.replace("::",B),f[0]===":"&&(f=f.slice(1)),f[f.length-1]===":"&&(f=f.slice(0,-1)),_=function(){const te=f.split(":"),fe=[];for(let le=0;le<te.length;le++)fe.push(parseInt(te[le],16));return fe}(),{parts:_,zoneId:N}}function p(f,_,w,S){if(f.length!==_.length)throw new Error("ipaddr: cannot match CIDR for objects with different lengths");let N=0,B;for(;S>0;){if(B=w-S,B<0&&(B=0),f[N]>>B!==_[N]>>B)return!1;S-=w,N+=1}return!0}function h(f){if(s.test(f))return parseInt(f,16);if(f[0]==="0"&&!isNaN(parseInt(f[1],10))){if(i.test(f))return parseInt(f,8);throw new Error(`ipaddr: cannot parse ${f} as octal`)}return parseInt(f,10)}function m(f,_){for(;f.length<_;)f=`0${f}`;return f}const v={};v.IPv4=function(){function f(_){if(_.length!==4)throw new Error("ipaddr: ipv4 octet count should be 4");let w,S;for(w=0;w<_.length;w++)if(S=_[w],!(0<=S&&S<=255))throw new Error("ipaddr: ipv4 octet should fit in 8 bits");this.octets=_}return f.prototype.SpecialRanges={unspecified:[[new f([0,0,0,0]),8]],broadcast:[[new f([255,255,255,255]),32]],multicast:[[new f([224,0,0,0]),4]],linkLocal:[[new f([169,254,0,0]),16]],loopback:[[new f([127,0,0,0]),8]],carrierGradeNat:[[new f([100,64,0,0]),10]],private:[[new f([10,0,0,0]),8],[new f([172,16,0,0]),12],[new f([192,168,0,0]),16]],reserved:[[new f([192,0,0,0]),24],[new f([192,0,2,0]),24],[new f([192,88,99,0]),24],[new f([198,18,0,0]),15],[new f([198,51,100,0]),24],[new f([203,0,113,0]),24],[new f([240,0,0,0]),4]],as112:[[new f([192,175,48,0]),24],[new f([192,31,196,0]),24]],amt:[[new f([192,52,193,0]),24]]},f.prototype.kind=function(){return"ipv4"},f.prototype.match=function(_,w){let S;if(w===void 0&&(S=_,_=S[0],w=S[1]),_.kind()!=="ipv4")throw new Error("ipaddr: cannot match ipv4 address with non-ipv4 one");return p(this.octets,_.octets,8,w)},f.prototype.prefixLengthFromSubnetMask=function(){let _=0,w=!1;const S={0:8,128:7,192:6,224:5,240:4,248:3,252:2,254:1,255:0};let N,B,R;for(N=3;N>=0;N-=1)if(B=this.octets[N],B in S){if(R=S[B],w&&R!==0)return null;R!==8&&(w=!0),_+=R}else return null;return 32-_},f.prototype.range=function(){return v.subnetMatch(this,this.SpecialRanges)},f.prototype.toByteArray=function(){return this.octets.slice(0)},f.prototype.toIPv4MappedAddress=function(){return v.IPv6.parse(`::ffff:${this.toString()}`)},f.prototype.toNormalizedString=function(){return this.toString()},f.prototype.toString=function(){return this.octets.join(".")},f}(),v.IPv4.broadcastAddressFromCIDR=function(f){try{const _=this.parseCIDR(f),w=_[0].toByteArray(),S=this.subnetMaskFromPrefixLength(_[1]).toByteArray(),N=[];let B=0;for(;B<4;)N.push(parseInt(w[B],10)|parseInt(S[B],10)^255),B++;return new this(N)}catch{throw new Error("ipaddr: the address does not have IPv4 CIDR format")}},v.IPv4.isIPv4=function(f){return this.parser(f)!==null},v.IPv4.isValid=function(f){try{return new this(this.parser(f)),!0}catch{return!1}},v.IPv4.isValidCIDR=function(f){try{return this.parseCIDR(f),!0}catch{return!1}},v.IPv4.isValidFourPartDecimal=function(f){return!!(v.IPv4.isValid(f)&&f.match(/^(0|[1-9]\d*)(\.(0|[1-9]\d*)){3}$/))},v.IPv4.networkAddressFromCIDR=function(f){let _,w,S,N,B;try{for(_=this.parseCIDR(f),S=_[0].toByteArray(),B=this.subnetMaskFromPrefixLength(_[1]).toByteArray(),N=[],w=0;w<4;)N.push(parseInt(S[w],10)&parseInt(B[w],10)),w++;return new this(N)}catch{throw new Error("ipaddr: the address does not have IPv4 CIDR format")}},v.IPv4.parse=function(f){const _=this.parser(f);if(_===null)throw new Error("ipaddr: string is not formatted like an IPv4 Address");return new this(_)},v.IPv4.parseCIDR=function(f){let _;if(_=f.match(/^(.+)\/(\d+)$/)){const w=parseInt(_[2]);if(w>=0&&w<=32){const S=[this.parse(_[1]),w];return Object.defineProperty(S,"toString",{value:function(){return this.join("/")}}),S}}throw new Error("ipaddr: string is not formatted like an IPv4 CIDR range")},v.IPv4.parser=function(f){let _,w,S;if(_=f.match(r.fourOctet))return function(){const N=_.slice(1,6),B=[];for(let R=0;R<N.length;R++)w=N[R],B.push(h(w));return B}();if(_=f.match(r.longValue)){if(S=h(_[1]),S>4294967295||S<0)throw new Error("ipaddr: address outside defined range");return function(){const N=[];let B;for(B=0;B<=24;B+=8)N.push(S>>B&255);return N}().reverse()}else return(_=f.match(r.twoOctet))?function(){const N=_.slice(1,4),B=[];if(S=h(N[1]),S>16777215||S<0)throw new Error("ipaddr: address outside defined range");return B.push(h(N[0])),B.push(S>>16&255),B.push(S>>8&255),B.push(S&255),B}():(_=f.match(r.threeOctet))?function(){const N=_.slice(1,5),B=[];if(S=h(N[2]),S>65535||S<0)throw new Error("ipaddr: address outside defined range");return B.push(h(N[0])),B.push(h(N[1])),B.push(S>>8&255),B.push(S&255),B}():null},v.IPv4.subnetMaskFromPrefixLength=function(f){if(f=parseInt(f),f<0||f>32)throw new Error("ipaddr: invalid IPv4 prefix length");const _=[0,0,0,0];let w=0;const S=Math.floor(f/8);for(;w<S;)_[w]=255,w++;return S<4&&(_[S]=Math.pow(2,f%8)-1<<8-f%8),new this(_)},v.IPv6=function(){function f(_,w){let S,N;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(N=this.parts[S],!(0<=N&&N<=65535))throw new Error("ipaddr: ipv6 part should fit in 16 bits");w&&(this.zoneId=w)}return f.prototype.SpecialRanges={unspecified:[new f([0,0,0,0,0,0,0,0]),128],linkLocal:[new f([65152,0,0,0,0,0,0,0]),10],multicast:[new f([65280,0,0,0,0,0,0,0]),8],loopback:[new f([0,0,0,0,0,0,0,1]),128],uniqueLocal:[new f([64512,0,0,0,0,0,0,0]),7],ipv4Mapped:[new f([0,0,0,0,0,65535,0,0]),96],discard:[new f([256,0,0,0,0,0,0,0]),64],rfc6145:[new f([0,0,0,0,65535,0,0,0]),96],rfc6052:[new f([100,65435,0,0,0,0,0,0]),96],"6to4":[new f([8194,0,0,0,0,0,0,0]),16],teredo:[new f([8193,0,0,0,0,0,0,0]),32],benchmarking:[new f([8193,2,0,0,0,0,0,0]),48],amt:[new f([8193,3,0,0,0,0,0,0]),32],as112v6:[[new f([8193,4,274,0,0,0,0,0]),48],[new f([9760,79,32768,0,0,0,0,0]),48]],deprecated:[new f([8193,16,0,0,0,0,0,0]),28],orchid2:[new f([8193,32,0,0,0,0,0,0]),28],droneRemoteIdProtocolEntityTags:[new f([8193,48,0,0,0,0,0,0]),28],reserved:[[new f([8193,0,0,0,0,0,0,0]),23],[new f([8193,3512,0,0,0,0,0,0]),32]]},f.prototype.isIPv4MappedAddress=function(){return this.range()==="ipv4Mapped"},f.prototype.kind=function(){return"ipv6"},f.prototype.match=function(_,w){let S;if(w===void 0&&(S=_,_=S[0],w=S[1]),_.kind()!=="ipv6")throw new Error("ipaddr: cannot match ipv6 address with non-ipv6 one");return p(this.parts,_.parts,16,w)},f.prototype.prefixLengthFromSubnetMask=function(){let _=0,w=!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 N,B;for(let R=7;R>=0;R-=1)if(N=this.parts[R],N in S){if(B=S[N],w&&B!==0)return null;B!==16&&(w=!0),_+=B}else return null;return 128-_},f.prototype.range=function(){return v.subnetMatch(this,this.SpecialRanges)},f.prototype.toByteArray=function(){let _;const w=[],S=this.parts;for(let N=0;N<S.length;N++)_=S[N],w.push(_>>8),w.push(_&255);return w},f.prototype.toFixedLengthString=function(){const _=(function(){const S=[];for(let N=0;N<this.parts.length;N++)S.push(m(this.parts[N].toString(16),4));return S}).call(this).join(":");let w="";return this.zoneId&&(w=`%${this.zoneId}`),_+w},f.prototype.toIPv4Address=function(){if(!this.isIPv4MappedAddress())throw new Error("ipaddr: trying to convert a generic ipv6 address to ipv4");const _=this.parts.slice(-2),w=_[0],S=_[1];return new v.IPv4([w>>8,w&255,S>>8,S&255])},f.prototype.toNormalizedString=function(){const _=(function(){const S=[];for(let N=0;N<this.parts.length;N++)S.push(this.parts[N].toString(16));return S}).call(this).join(":");let w="";return this.zoneId&&(w=`%${this.zoneId}`),_+w},f.prototype.toRFC5952String=function(){const _=/((^|:)(0(:|$)){2,})/g,w=this.toNormalizedString();let S=0,N=-1,B;for(;B=_.exec(w);)B[0].length>N&&(S=B.index,N=B[0].length);return N<0?w:`${w.substring(0,S)}::${w.substring(S+N)}`},f.prototype.toString=function(){return this.toRFC5952String()},f}(),v.IPv6.broadcastAddressFromCIDR=function(f){try{const _=this.parseCIDR(f),w=_[0].toByteArray(),S=this.subnetMaskFromPrefixLength(_[1]).toByteArray(),N=[];let B=0;for(;B<16;)N.push(parseInt(w[B],10)|parseInt(S[B],10)^255),B++;return new this(N)}catch(_){throw new Error(`ipaddr: the address does not have IPv6 CIDR format (${_})`)}},v.IPv6.isIPv6=function(f){return this.parser(f)!==null},v.IPv6.isValid=function(f){if(typeof f=="string"&&f.indexOf(":")===-1)return!1;try{const _=this.parser(f);return new this(_.parts,_.zoneId),!0}catch{return!1}},v.IPv6.isValidCIDR=function(f){if(typeof f=="string"&&f.indexOf(":")===-1)return!1;try{return this.parseCIDR(f),!0}catch{return!1}},v.IPv6.networkAddressFromCIDR=function(f){let _,w,S,N,B;try{for(_=this.parseCIDR(f),S=_[0].toByteArray(),B=this.subnetMaskFromPrefixLength(_[1]).toByteArray(),N=[],w=0;w<16;)N.push(parseInt(S[w],10)&parseInt(B[w],10)),w++;return new this(N)}catch(R){throw new Error(`ipaddr: the address does not have IPv6 CIDR format (${R})`)}},v.IPv6.parse=function(f){const _=this.parser(f);if(_.parts===null)throw new Error("ipaddr: string is not formatted like an IPv6 Address");return new this(_.parts,_.zoneId)},v.IPv6.parseCIDR=function(f){let _,w,S;if((w=f.match(/^(.+)\/(\d+)$/))&&(_=parseInt(w[2]),_>=0&&_<=128))return S=[this.parse(w[1]),_],Object.defineProperty(S,"toString",{value:function(){return this.join("/")}}),S;throw new Error("ipaddr: string is not formatted like an IPv6 CIDR range")},v.IPv6.parser=function(f){let _,w,S,N,B,R;if(S=f.match(l.deprecatedTransitional))return this.parser(`::ffff:${S[1]}`);if(l.native.test(f))return u(f,8);if((S=f.match(l.transitional))&&(R=S[6]||"",_=S[1],S[1].endsWith("::")||(_=_.slice(0,-1)),_=u(_+R,6),_.parts)){for(B=[parseInt(S[2]),parseInt(S[3]),parseInt(S[4]),parseInt(S[5])],w=0;w<B.length;w++)if(N=B[w],!(0<=N&&N<=255))return null;return _.parts.push(B[0]<<8|B[1]),_.parts.push(B[2]<<8|B[3]),{parts:_.parts,zoneId:_.zoneId}}return null},v.IPv6.subnetMaskFromPrefixLength=function(f){if(f=parseInt(f),f<0||f>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 w=0;const S=Math.floor(f/8);for(;w<S;)_[w]=255,w++;return S<16&&(_[S]=Math.pow(2,f%8)-1<<8-f%8),new this(_)},v.fromByteArray=function(f){const _=f.length;if(_===4)return new v.IPv4(f);if(_===16)return new v.IPv6(f);throw new Error("ipaddr: the binary input is neither an IPv6 nor IPv4 address")},v.isValid=function(f){return v.IPv6.isValid(f)||v.IPv4.isValid(f)},v.isValidCIDR=function(f){return v.IPv6.isValidCIDR(f)||v.IPv4.isValidCIDR(f)},v.parse=function(f){if(v.IPv6.isValid(f))return v.IPv6.parse(f);if(v.IPv4.isValid(f))return v.IPv4.parse(f);throw new Error("ipaddr: the address has neither IPv6 nor IPv4 format")},v.parseCIDR=function(f){try{return v.IPv6.parseCIDR(f)}catch{try{return v.IPv4.parseCIDR(f)}catch{throw new Error("ipaddr: the address has neither IPv6 nor IPv4 CIDR format")}}},v.process=function(f){const _=this.parse(f);return _.kind()==="ipv6"&&_.isIPv4MappedAddress()?_.toIPv4Address():_},v.subnetMatch=function(f,_,w){let S,N,B,R;w==null&&(w="unicast");for(N in _)if(Object.prototype.hasOwnProperty.call(_,N)){for(B=_[N],B[0]&&!(B[0]instanceof Array)&&(B=[B]),S=0;S<B.length;S++)if(R=B[S],f.kind()===R[0].kind()&&f.match.apply(f,R))return N}return w},t.exports?t.exports=v:e.ipaddr=v})(as)})(Sh);var Mu=Sh.exports;class qu{static decodeIP(e){if(e.length===64&&parseInt(e,16)===0)return"::/0";if(e.length!==16)return e;const n=parseInt(e.slice(8),16).toString(2).split("").reduce((i,s)=>i+ +s,0);let r=e.slice(0,8).replace(/(.{2})/g,i=>`${parseInt(i,16)}.`);return r=r.slice(0,-1),`${r}/${n}`}static toString(e){if(e.byteLength===4||e.byteLength===16){const n=new Uint8Array(e);return Mu.fromByteArray(Array.from(n)).toString()}return this.decodeIP(J.ToHex(e))}static fromString(e){const n=Mu.parse(e);return new Uint8Array(n.toByteArray()).buffer}}var Ca,Na,za;let Oe=class{constructor(e={}){Object.assign(this,e)}toString(){return this.bmpString||this.printableString||this.teletexString||this.universalString||this.utf8String||""}};d([g({type:b.TeletexString})],Oe.prototype,"teletexString",void 0);d([g({type:b.PrintableString})],Oe.prototype,"printableString",void 0);d([g({type:b.UniversalString})],Oe.prototype,"universalString",void 0);d([g({type:b.Utf8String})],Oe.prototype,"utf8String",void 0);d([g({type:b.BmpString})],Oe.prototype,"bmpString",void 0);Oe=d([P({type:T.Choice})],Oe);let Zn=class extends Oe{constructor(e={}){super(e),Object.assign(this,e)}toString(){return this.ia5String||(this.anyValue?J.ToHex(this.anyValue):super.toString())}};d([g({type:b.IA5String})],Zn.prototype,"ia5String",void 0);d([g({type:b.Any})],Zn.prototype,"anyValue",void 0);Zn=d([P({type:T.Choice})],Zn);class mo{constructor(e={}){this.type="",this.value=new Zn,Object.assign(this,e)}}d([g({type:b.ObjectIdentifier})],mo.prototype,"type",void 0);d([g({type:Zn})],mo.prototype,"value",void 0);let Yn=Ca=class extends pe{constructor(e){super(e),Object.setPrototypeOf(this,Ca.prototype)}};Yn=Ca=d([P({type:T.Set,itemType:mo})],Yn);let $a=Na=class extends pe{constructor(e){super(e),Object.setPrototypeOf(this,Na.prototype)}};$a=Na=d([P({type:T.Sequence,itemType:Yn})],$a);let ke=za=class extends $a{constructor(e){super(e),Object.setPrototypeOf(this,za.prototype)}};ke=za=d([P({type:T.Sequence})],ke);const s0={fromASN:t=>qu.toString(us.fromASN(t)),toASN:t=>us.toASN(qu.fromString(t))};class Mr{constructor(e={}){this.typeId="",this.value=new ArrayBuffer(0),Object.assign(this,e)}}d([g({type:b.ObjectIdentifier})],Mr.prototype,"typeId",void 0);d([g({type:b.Any,context:0})],Mr.prototype,"value",void 0);class gl{constructor(e={}){this.partyName=new Oe,Object.assign(this,e)}}d([g({type:Oe,optional:!0,context:0,implicit:!0})],gl.prototype,"nameAssigner",void 0);d([g({type:Oe,context:1,implicit:!0})],gl.prototype,"partyName",void 0);let re=class{constructor(e={}){Object.assign(this,e)}};d([g({type:Mr,context:0,implicit:!0})],re.prototype,"otherName",void 0);d([g({type:b.IA5String,context:1,implicit:!0})],re.prototype,"rfc822Name",void 0);d([g({type:b.IA5String,context:2,implicit:!0})],re.prototype,"dNSName",void 0);d([g({type:b.Any,context:3,implicit:!0})],re.prototype,"x400Address",void 0);d([g({type:ke,context:4,implicit:!1})],re.prototype,"directoryName",void 0);d([g({type:gl,context:5})],re.prototype,"ediPartyName",void 0);d([g({type:b.IA5String,context:6,implicit:!0})],re.prototype,"uniformResourceIdentifier",void 0);d([g({type:b.OctetString,context:7,implicit:!0,converter:s0})],re.prototype,"iPAddress",void 0);d([g({type:b.ObjectIdentifier,context:8,implicit:!0})],re.prototype,"registeredID",void 0);re=d([P({type:T.Choice})],re);const ml="1.3.6.1.5.5.7",o0=`${ml}.1`,dr=`${ml}.3`,_o=`${ml}.48`,Du=`${_o}.1`,Hu=`${_o}.2`,Fu=`${_o}.3`,Ku=`${_o}.5`,nn="2.5.29";var ja;const Oa=`${o0}.1`;class ui{constructor(e={}){this.accessMethod="",this.accessLocation=new re,Object.assign(this,e)}}d([g({type:b.ObjectIdentifier})],ui.prototype,"accessMethod",void 0);d([g({type:re})],ui.prototype,"accessLocation",void 0);let Dn=ja=class extends pe{constructor(e){super(e),Object.setPrototypeOf(this,ja.prototype)}};Dn=ja=d([P({type:T.Sequence,itemType:ui})],Dn);const Ba=`${nn}.35`;class _l extends ae{}class fn{constructor(e={}){e&&Object.assign(this,e)}}d([g({type:_l,context:0,optional:!0,implicit:!0})],fn.prototype,"keyIdentifier",void 0);d([g({type:re,context:1,optional:!0,implicit:!0,repeated:"sequence"})],fn.prototype,"authorityCertIssuer",void 0);d([g({type:b.Integer,context:2,optional:!0,implicit:!0,converter:_e})],fn.prototype,"authorityCertSerialNumber",void 0);const Ah=`${nn}.19`;class ds{constructor(e={}){this.cA=!1,Object.assign(this,e)}}d([g({type:b.Boolean,defaultValue:!1})],ds.prototype,"cA",void 0);d([g({type:b.Integer,optional:!0})],ds.prototype,"pathLenConstraint",void 0);var Ta;let Le=Ta=class extends pe{constructor(e){super(e),Object.setPrototypeOf(this,Ta.prototype)}};Le=Ta=d([P({type:T.Sequence,itemType:re})],Le);var Pa;let Wu=Pa=class extends Le{constructor(e){super(e),Object.setPrototypeOf(this,Pa.prototype)}};Wu=Pa=d([P({type:T.Sequence})],Wu);var Ra;const Eh=`${nn}.32`;let Tt=class{constructor(e={}){Object.assign(this,e)}toString(){return this.ia5String||this.visibleString||this.bmpString||this.utf8String||""}};d([g({type:b.IA5String})],Tt.prototype,"ia5String",void 0);d([g({type:b.VisibleString})],Tt.prototype,"visibleString",void 0);d([g({type:b.BmpString})],Tt.prototype,"bmpString",void 0);d([g({type:b.Utf8String})],Tt.prototype,"utf8String",void 0);Tt=d([P({type:T.Choice})],Tt);class yl{constructor(e={}){this.organization=new Tt,this.noticeNumbers=[],Object.assign(this,e)}}d([g({type:Tt})],yl.prototype,"organization",void 0);d([g({type:b.Integer,repeated:"sequence"})],yl.prototype,"noticeNumbers",void 0);class vl{constructor(e={}){Object.assign(this,e)}}d([g({type:yl,optional:!0})],vl.prototype,"noticeRef",void 0);d([g({type:Tt,optional:!0})],vl.prototype,"explicitText",void 0);let ps=class{constructor(e={}){Object.assign(this,e)}};d([g({type:b.IA5String})],ps.prototype,"cPSuri",void 0);d([g({type:vl})],ps.prototype,"userNotice",void 0);ps=d([P({type:T.Choice})],ps);class wl{constructor(e={}){this.policyQualifierId="",this.qualifier=new ArrayBuffer(0),Object.assign(this,e)}}d([g({type:b.ObjectIdentifier})],wl.prototype,"policyQualifierId",void 0);d([g({type:b.Any})],wl.prototype,"qualifier",void 0);class yo{constructor(e={}){this.policyIdentifier="",Object.assign(this,e)}}d([g({type:b.ObjectIdentifier})],yo.prototype,"policyIdentifier",void 0);d([g({type:wl,repeated:"sequence",optional:!0})],yo.prototype,"policyQualifiers",void 0);let fs=Ra=class extends pe{constructor(e){super(e),Object.setPrototypeOf(this,Ra.prototype)}};fs=Ra=d([P({type:T.Sequence,itemType:yo})],fs);let hs=class{constructor(e=0){this.value=e}};d([g({type:b.Integer})],hs.prototype,"value",void 0);hs=d([P({type:T.Choice})],hs);let Gu=class extends hs{};Gu=d([P({type:T.Choice})],Gu);var La;const Ua=`${nn}.31`;var lt;(function(t){t[t.unused=1]="unused",t[t.keyCompromise=2]="keyCompromise",t[t.cACompromise=4]="cACompromise",t[t.affiliationChanged=8]="affiliationChanged",t[t.superseded=16]="superseded",t[t.cessationOfOperation=32]="cessationOfOperation",t[t.certificateHold=64]="certificateHold",t[t.privilegeWithdrawn=128]="privilegeWithdrawn",t[t.aACompromise=256]="aACompromise"})(lt||(lt={}));class Ih extends go{toJSON(){const e=[],n=this.toNumber();return n<.aACompromise&&e.push("aACompromise"),n<.affiliationChanged&&e.push("affiliationChanged"),n<.cACompromise&&e.push("cACompromise"),n<.certificateHold&&e.push("certificateHold"),n<.cessationOfOperation&&e.push("cessationOfOperation"),n<.keyCompromise&&e.push("keyCompromise"),n<.privilegeWithdrawn&&e.push("privilegeWithdrawn"),n<.superseded&&e.push("superseded"),n<.unused&&e.push("unused"),e}toString(){return`[${this.toJSON().join(", ")}]`}}let xn=class{constructor(e={}){Object.assign(this,e)}};d([g({type:re,context:0,repeated:"sequence",implicit:!0})],xn.prototype,"fullName",void 0);d([g({type:Yn,context:1,implicit:!0})],xn.prototype,"nameRelativeToCRLIssuer",void 0);xn=d([P({type:T.Choice})],xn);class pr{constructor(e={}){Object.assign(this,e)}}d([g({type:xn,context:0,optional:!0})],pr.prototype,"distributionPoint",void 0);d([g({type:Ih,context:1,optional:!0,implicit:!0})],pr.prototype,"reasons",void 0);d([g({type:re,context:2,optional:!0,repeated:"sequence",implicit:!0})],pr.prototype,"cRLIssuer",void 0);let Kn=La=class extends pe{constructor(e){super(e),Object.setPrototypeOf(this,La.prototype)}};Kn=La=d([P({type:T.Sequence,itemType:pr})],Kn);var Va;let Ju=Va=class extends Kn{constructor(e){super(e),Object.setPrototypeOf(this,Va.prototype)}};Ju=Va=d([P({type:T.Sequence,itemType:pr})],Ju);class Te{constructor(e={}){this.onlyContainsUserCerts=Te.ONLY,this.onlyContainsCACerts=Te.ONLY,this.indirectCRL=Te.ONLY,this.onlyContainsAttributeCerts=Te.ONLY,Object.assign(this,e)}}Te.ONLY=!1;d([g({type:xn,context:0,optional:!0})],Te.prototype,"distributionPoint",void 0);d([g({type:b.Boolean,context:1,defaultValue:Te.ONLY,implicit:!0})],Te.prototype,"onlyContainsUserCerts",void 0);d([g({type:b.Boolean,context:2,defaultValue:Te.ONLY,implicit:!0})],Te.prototype,"onlyContainsCACerts",void 0);d([g({type:Ih,context:3,optional:!0,implicit:!0})],Te.prototype,"onlySomeReasons",void 0);d([g({type:b.Boolean,context:4,defaultValue:Te.ONLY,implicit:!0})],Te.prototype,"indirectCRL",void 0);d([g({type:b.Boolean,context:5,defaultValue:Te.ONLY,implicit:!0})],Te.prototype,"onlyContainsAttributeCerts",void 0);var Or;(function(t){t[t.unspecified=0]="unspecified",t[t.keyCompromise=1]="keyCompromise",t[t.cACompromise=2]="cACompromise",t[t.affiliationChanged=3]="affiliationChanged",t[t.superseded=4]="superseded",t[t.cessationOfOperation=5]="cessationOfOperation",t[t.certificateHold=6]="certificateHold",t[t.removeFromCRL=8]="removeFromCRL",t[t.privilegeWithdrawn=9]="privilegeWithdrawn",t[t.aACompromise=10]="aACompromise"})(Or||(Or={}));let Ma=class{constructor(e=Or.unspecified){this.reason=Or.unspecified,this.reason=e}toJSON(){return Or[this.reason]}toString(){return this.toJSON()}};d([g({type:b.Enumerated})],Ma.prototype,"reason",void 0);Ma=d([P({type:T.Choice})],Ma);var qa;const Ch=`${nn}.37`;let gs=qa=class extends pe{constructor(e){super(e),Object.setPrototypeOf(this,qa.prototype)}};gs=qa=d([P({type:T.Sequence,itemType:b.ObjectIdentifier})],gs);const a0=`${dr}.1`,c0=`${dr}.2`,l0=`${dr}.3`,u0=`${dr}.4`,d0=`${dr}.8`,p0=`${dr}.9`;let Da=class{constructor(e=new ArrayBuffer(0)){this.value=e}};d([g({type:b.Integer,converter:_e})],Da.prototype,"value",void 0);Da=d([P({type:T.Choice})],Da);let Ha=class{constructor(e){this.value=new Date,e&&(this.value=e)}};d([g({type:b.GeneralizedTime})],Ha.prototype,"value",void 0);Ha=d([P({type:T.Choice})],Ha);var Fa;let Zu=Fa=class extends Le{constructor(e){super(e),Object.setPrototypeOf(this,Fa.prototype)}};Zu=Fa=d([P({type:T.Sequence})],Zu);const Nh=`${nn}.15`;var ut;(function(t){t[t.digitalSignature=1]="digitalSignature",t[t.nonRepudiation=2]="nonRepudiation",t[t.keyEncipherment=4]="keyEncipherment",t[t.dataEncipherment=8]="dataEncipherment",t[t.keyAgreement=16]="keyAgreement",t[t.keyCertSign=32]="keyCertSign",t[t.cRLSign=64]="cRLSign",t[t.encipherOnly=128]="encipherOnly",t[t.decipherOnly=256]="decipherOnly"})(ut||(ut={}));class ta extends go{toJSON(){const e=this.toNumber(),n=[];return e&ut.cRLSign&&n.push("crlSign"),e&ut.dataEncipherment&&n.push("dataEncipherment"),e&ut.decipherOnly&&n.push("decipherOnly"),e&ut.digitalSignature&&n.push("digitalSignature"),e&ut.encipherOnly&&n.push("encipherOnly"),e&ut.keyAgreement&&n.push("keyAgreement"),e&ut.keyCertSign&&n.push("keyCertSign"),e&ut.keyEncipherment&&n.push("keyEncipherment"),e&ut.nonRepudiation&&n.push("nonRepudiation"),n}toString(){return`[${this.toJSON().join(", ")}]`}}var Ka;class vo{constructor(e={}){this.base=new re,this.minimum=0,Object.assign(this,e)}}d([g({type:re})],vo.prototype,"base",void 0);d([g({type:b.Integer,context:0,defaultValue:0,implicit:!0})],vo.prototype,"minimum",void 0);d([g({type:b.Integer,context:1,optional:!0,implicit:!0})],vo.prototype,"maximum",void 0);let ms=Ka=class extends pe{constructor(e){super(e),Object.setPrototypeOf(this,Ka.prototype)}};ms=Ka=d([P({type:T.Sequence,itemType:vo})],ms);class zh{constructor(e={}){Object.assign(this,e)}}d([g({type:ms,context:0,optional:!0,implicit:!0})],zh.prototype,"permittedSubtrees",void 0);d([g({type:ms,context:1,optional:!0,implicit:!0})],zh.prototype,"excludedSubtrees",void 0);class $h{constructor(e={}){Object.assign(this,e)}}d([g({type:b.Integer,context:0,implicit:!0,optional:!0,converter:_e})],$h.prototype,"requireExplicitPolicy",void 0);d([g({type:b.Integer,context:1,implicit:!0,optional:!0,converter:_e})],$h.prototype,"inhibitPolicyMapping",void 0);var Wa;class bl{constructor(e={}){this.issuerDomainPolicy="",this.subjectDomainPolicy="",Object.assign(this,e)}}d([g({type:b.ObjectIdentifier})],bl.prototype,"issuerDomainPolicy",void 0);d([g({type:b.ObjectIdentifier})],bl.prototype,"subjectDomainPolicy",void 0);let Yu=Wa=class extends pe{constructor(e){super(e),Object.setPrototypeOf(this,Wa.prototype)}};Yu=Wa=d([P({type:T.Sequence,itemType:bl})],Yu);var Ga;const jh=`${nn}.17`;let Ja=Ga=class extends Le{constructor(e){super(e),Object.setPrototypeOf(this,Ga.prototype)}};Ja=Ga=d([P({type:T.Sequence})],Ja);let Pt=class{constructor(e={}){this.type="",this.values=[],Object.assign(this,e)}};d([g({type:b.ObjectIdentifier})],Pt.prototype,"type",void 0);d([g({type:b.Any,repeated:"set"})],Pt.prototype,"values",void 0);var Za;let Xu=Za=class extends pe{constructor(e){super(e),Object.setPrototypeOf(this,Za.prototype)}};Xu=Za=d([P({type:T.Sequence,itemType:Pt})],Xu);const Oh=`${nn}.14`;class Wt extends _l{}class Bh{constructor(e={}){Object.assign(this,e)}}d([g({type:b.GeneralizedTime,context:0,implicit:!0,optional:!0})],Bh.prototype,"notBefore",void 0);d([g({type:b.GeneralizedTime,context:1,implicit:!0,optional:!0})],Bh.prototype,"notAfter",void 0);var Br;(function(t){t[t.keyUpdateAllowed=1]="keyUpdateAllowed",t[t.newExtensions=2]="newExtensions",t[t.pKIXCertificate=4]="pKIXCertificate"})(Br||(Br={}));class Th extends go{toJSON(){const e=[],n=this.toNumber();return n&Br.pKIXCertificate&&e.push("pKIXCertificate"),n&Br.newExtensions&&e.push("newExtensions"),n&Br.keyUpdateAllowed&&e.push("keyUpdateAllowed"),e}toString(){return`[${this.toJSON().join(", ")}]`}}class Ph{constructor(e={}){this.entrustVers="",this.entrustInfoFlags=new Th,Object.assign(this,e)}}d([g({type:b.GeneralString})],Ph.prototype,"entrustVers",void 0);d([g({type:Th})],Ph.prototype,"entrustInfoFlags",void 0);var Ya;let Qu=Ya=class extends pe{constructor(e){super(e),Object.setPrototypeOf(this,Ya.prototype)}};Qu=Ya=d([P({type:T.Sequence,itemType:ui})],Qu);class F{constructor(e={}){this.algorithm="",Object.assign(this,e)}isEqual(e){return e instanceof F&&e.algorithm==this.algorithm&&(e.parameters&&this.parameters&&kf(e.parameters,this.parameters)||e.parameters===this.parameters)}}d([g({type:b.ObjectIdentifier})],F.prototype,"algorithm",void 0);d([g({type:b.Any,optional:!0})],F.prototype,"parameters",void 0);class dt{constructor(e={}){this.algorithm=new F,this.subjectPublicKey=new ArrayBuffer(0),Object.assign(this,e)}}d([g({type:F})],dt.prototype,"algorithm",void 0);d([g({type:b.BitString})],dt.prototype,"subjectPublicKey",void 0);let $e=class{constructor(e){if(e)if(typeof e=="string"||typeof e=="number"||e instanceof Date){const n=new Date(e);n.getUTCFullYear()>2049?this.generalTime=n:this.utcTime=n}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([g({type:b.UTCTime})],$e.prototype,"utcTime",void 0);d([g({type:b.GeneralizedTime})],$e.prototype,"generalTime",void 0);$e=d([P({type:T.Choice})],$e);class di{constructor(e){this.notBefore=new $e(new Date),this.notAfter=new $e(new Date),e&&(this.notBefore=new $e(e.notBefore),this.notAfter=new $e(e.notAfter))}}d([g({type:$e})],di.prototype,"notBefore",void 0);d([g({type:$e})],di.prototype,"notAfter",void 0);var Xa;let rt=class Rh{constructor(e={}){this.extnID="",this.critical=Rh.CRITICAL,this.extnValue=new ae,Object.assign(this,e)}};rt.CRITICAL=!1;d([g({type:b.ObjectIdentifier})],rt.prototype,"extnID",void 0);d([g({type:b.Boolean,defaultValue:rt.CRITICAL})],rt.prototype,"critical",void 0);d([g({type:ae})],rt.prototype,"extnValue",void 0);let Yt=Xa=class extends pe{constructor(e){super(e),Object.setPrototypeOf(this,Xa.prototype)}};Yt=Xa=d([P({type:T.Sequence,itemType:rt})],Yt);var Sn;(function(t){t[t.v1=0]="v1",t[t.v2=1]="v2",t[t.v3=2]="v3"})(Sn||(Sn={}));class Xe{constructor(e={}){this.version=Sn.v1,this.serialNumber=new ArrayBuffer(0),this.signature=new F,this.issuer=new ke,this.validity=new di,this.subject=new ke,this.subjectPublicKeyInfo=new dt,Object.assign(this,e)}}d([g({type:b.Integer,context:0,defaultValue:Sn.v1})],Xe.prototype,"version",void 0);d([g({type:b.Integer,converter:_e})],Xe.prototype,"serialNumber",void 0);d([g({type:F})],Xe.prototype,"signature",void 0);d([g({type:ke})],Xe.prototype,"issuer",void 0);d([g({type:di})],Xe.prototype,"validity",void 0);d([g({type:ke})],Xe.prototype,"subject",void 0);d([g({type:dt})],Xe.prototype,"subjectPublicKeyInfo",void 0);d([g({type:b.BitString,context:1,implicit:!0,optional:!0})],Xe.prototype,"issuerUniqueID",void 0);d([g({type:b.BitString,context:2,implicit:!0,optional:!0})],Xe.prototype,"subjectUniqueID",void 0);d([g({type:Yt,context:3,optional:!0})],Xe.prototype,"extensions",void 0);class An{constructor(e={}){this.tbsCertificate=new Xe,this.signatureAlgorithm=new F,this.signatureValue=new ArrayBuffer(0),Object.assign(this,e)}}d([g({type:Xe})],An.prototype,"tbsCertificate",void 0);d([g({type:F})],An.prototype,"signatureAlgorithm",void 0);d([g({type:b.BitString})],An.prototype,"signatureValue",void 0);class wo{constructor(e={}){this.userCertificate=new ArrayBuffer(0),this.revocationDate=new $e,Object.assign(this,e)}}d([g({type:b.Integer,converter:_e})],wo.prototype,"userCertificate",void 0);d([g({type:$e})],wo.prototype,"revocationDate",void 0);d([g({type:rt,optional:!0,repeated:"sequence"})],wo.prototype,"crlEntryExtensions",void 0);class qt{constructor(e={}){this.signature=new F,this.issuer=new ke,this.thisUpdate=new $e,Object.assign(this,e)}}d([g({type:b.Integer,optional:!0})],qt.prototype,"version",void 0);d([g({type:F})],qt.prototype,"signature",void 0);d([g({type:ke})],qt.prototype,"issuer",void 0);d([g({type:$e})],qt.prototype,"thisUpdate",void 0);d([g({type:$e,optional:!0})],qt.prototype,"nextUpdate",void 0);d([g({type:wo,repeated:"sequence",optional:!0})],qt.prototype,"revokedCertificates",void 0);d([g({type:rt,optional:!0,context:0,repeated:"sequence"})],qt.prototype,"crlExtensions",void 0);class kl{constructor(e={}){this.tbsCertList=new qt,this.signatureAlgorithm=new F,this.signature=new ArrayBuffer(0),Object.assign(this,e)}}d([g({type:qt})],kl.prototype,"tbsCertList",void 0);d([g({type:F})],kl.prototype,"signatureAlgorithm",void 0);d([g({type:b.BitString})],kl.prototype,"signature",void 0);class fr{constructor(e={}){this.issuer=new ke,this.serialNumber=new ArrayBuffer(0),Object.assign(this,e)}}d([g({type:ke})],fr.prototype,"issuer",void 0);d([g({type:b.Integer,converter:_e})],fr.prototype,"serialNumber",void 0);let Xn=class{constructor(e={}){Object.assign(this,e)}};d([g({type:Wt,context:0,implicit:!0})],Xn.prototype,"subjectKeyIdentifier",void 0);d([g({type:fr})],Xn.prototype,"issuerAndSerialNumber",void 0);Xn=d([P({type:T.Choice})],Xn);var Rt;(function(t){t[t.v0=0]="v0",t[t.v1=1]="v1",t[t.v2=2]="v2",t[t.v3=3]="v3",t[t.v4=4]="v4",t[t.v5=5]="v5"})(Rt||(Rt={}));let qr=class extends F{};qr=d([P({type:T.Sequence})],qr);let _s=class extends F{};_s=d([P({type:T.Sequence})],_s);let St=class extends F{};St=d([P({type:T.Sequence})],St);let ys=class extends F{};ys=d([P({type:T.Sequence})],ys);let ed=class extends F{};ed=d([P({type:T.Sequence})],ed);let Qa=class extends F{};Qa=d([P({type:T.Sequence})],Qa);let hr=class{constructor(e={}){this.attrType="",this.attrValues=[],Object.assign(this,e)}};d([g({type:b.ObjectIdentifier})],hr.prototype,"attrType",void 0);d([g({type:b.Any,repeated:"set"})],hr.prototype,"attrValues",void 0);var ec;class Ct{constructor(e={}){this.version=Rt.v0,this.sid=new Xn,this.digestAlgorithm=new qr,this.signatureAlgorithm=new _s,this.signature=new ae,Object.assign(this,e)}}d([g({type:b.Integer})],Ct.prototype,"version",void 0);d([g({type:Xn})],Ct.prototype,"sid",void 0);d([g({type:qr})],Ct.prototype,"digestAlgorithm",void 0);d([g({type:hr,repeated:"set",context:0,implicit:!0,optional:!0})],Ct.prototype,"signedAttrs",void 0);d([g({type:_s})],Ct.prototype,"signatureAlgorithm",void 0);d([g({type:ae})],Ct.prototype,"signature",void 0);d([g({type:hr,repeated:"set",context:1,implicit:!0,optional:!0})],Ct.prototype,"unsignedAttrs",void 0);let vs=ec=class extends pe{constructor(e){super(e),Object.setPrototypeOf(this,ec.prototype)}};vs=ec=d([P({type:T.Set,itemType:Ct})],vs);let td=class extends $e{};td=d([P({type:T.Choice})],td);let nd=class extends Ct{};nd=d([P({type:T.Sequence})],nd);class xl{constructor(e={}){this.acIssuer=new re,this.acSerial=0,this.attrs=[],Object.assign(this,e)}}d([g({type:re})],xl.prototype,"acIssuer",void 0);d([g({type:b.Integer})],xl.prototype,"acSerial",void 0);d([g({type:Pt,repeated:"sequence"})],xl.prototype,"attrs",void 0);var tc;let ws=tc=class extends pe{constructor(e){super(e),Object.setPrototypeOf(this,tc.prototype)}};ws=tc=d([P({type:T.Sequence,itemType:b.ObjectIdentifier})],ws);class bo{constructor(e={}){this.permitUnSpecified=!0,Object.assign(this,e)}}d([g({type:b.Integer,optional:!0})],bo.prototype,"pathLenConstraint",void 0);d([g({type:ws,implicit:!0,context:0,optional:!0})],bo.prototype,"permittedAttrs",void 0);d([g({type:ws,implicit:!0,context:1,optional:!0})],bo.prototype,"excludedAttrs",void 0);d([g({type:b.Boolean,defaultValue:!0})],bo.prototype,"permitUnSpecified",void 0);class On{constructor(e={}){this.issuer=new Le,this.serial=new ArrayBuffer(0),this.issuerUID=new ArrayBuffer(0),Object.assign(this,e)}}d([g({type:Le})],On.prototype,"issuer",void 0);d([g({type:b.Integer,converter:_e})],On.prototype,"serial",void 0);d([g({type:b.BitString,optional:!0})],On.prototype,"issuerUID",void 0);var nc;(function(t){t[t.publicKey=0]="publicKey",t[t.publicKeyCert=1]="publicKeyCert",t[t.otherObjectTypes=2]="otherObjectTypes"})(nc||(nc={}));class Bn{constructor(e={}){this.digestedObjectType=nc.publicKey,this.digestAlgorithm=new F,this.objectDigest=new ArrayBuffer(0),Object.assign(this,e)}}d([g({type:b.Enumerated})],Bn.prototype,"digestedObjectType",void 0);d([g({type:b.ObjectIdentifier,optional:!0})],Bn.prototype,"otherObjectTypeID",void 0);d([g({type:F})],Bn.prototype,"digestAlgorithm",void 0);d([g({type:b.BitString})],Bn.prototype,"objectDigest",void 0);class ko{constructor(e={}){Object.assign(this,e)}}d([g({type:Le,optional:!0})],ko.prototype,"issuerName",void 0);d([g({type:On,context:0,implicit:!0,optional:!0})],ko.prototype,"baseCertificateID",void 0);d([g({type:Bn,context:1,implicit:!0,optional:!0})],ko.prototype,"objectDigestInfo",void 0);let Qn=class{constructor(e={}){Object.assign(this,e)}};d([g({type:re,repeated:"sequence"})],Qn.prototype,"v1Form",void 0);d([g({type:ko,context:0,implicit:!0})],Qn.prototype,"v2Form",void 0);Qn=d([P({type:T.Choice})],Qn);class xo{constructor(e={}){this.notBeforeTime=new Date,this.notAfterTime=new Date,Object.assign(this,e)}}d([g({type:b.GeneralizedTime})],xo.prototype,"notBeforeTime",void 0);d([g({type:b.GeneralizedTime})],xo.prototype,"notAfterTime",void 0);class pi{constructor(e={}){Object.assign(this,e)}}d([g({type:On,implicit:!0,context:0,optional:!0})],pi.prototype,"baseCertificateID",void 0);d([g({type:Le,implicit:!0,context:1,optional:!0})],pi.prototype,"entityName",void 0);d([g({type:Bn,implicit:!0,context:2,optional:!0})],pi.prototype,"objectDigestInfo",void 0);var rc;(function(t){t[t.v2=1]="v2"})(rc||(rc={}));class _t{constructor(e={}){this.version=rc.v2,this.holder=new pi,this.issuer=new Qn,this.signature=new F,this.serialNumber=new ArrayBuffer(0),this.attrCertValidityPeriod=new xo,this.attributes=[],Object.assign(this,e)}}d([g({type:b.Integer})],_t.prototype,"version",void 0);d([g({type:pi})],_t.prototype,"holder",void 0);d([g({type:Qn})],_t.prototype,"issuer",void 0);d([g({type:F})],_t.prototype,"signature",void 0);d([g({type:b.Integer,converter:_e})],_t.prototype,"serialNumber",void 0);d([g({type:xo})],_t.prototype,"attrCertValidityPeriod",void 0);d([g({type:Pt,repeated:"sequence"})],_t.prototype,"attributes",void 0);d([g({type:b.BitString,optional:!0})],_t.prototype,"issuerUniqueID",void 0);d([g({type:Yt,optional:!0})],_t.prototype,"extensions",void 0);class So{constructor(e={}){this.acinfo=new _t,this.signatureAlgorithm=new F,this.signatureValue=new ArrayBuffer(0),Object.assign(this,e)}}d([g({type:_t})],So.prototype,"acinfo",void 0);d([g({type:F})],So.prototype,"signatureAlgorithm",void 0);d([g({type:b.BitString})],So.prototype,"signatureValue",void 0);var bs;(function(t){t[t.unmarked=1]="unmarked",t[t.unclassified=2]="unclassified",t[t.restricted=4]="restricted",t[t.confidential=8]="confidential",t[t.secret=16]="secret",t[t.topSecret=32]="topSecret"})(bs||(bs={}));class ic extends go{}class Sl{constructor(e={}){this.type="",this.value=new ArrayBuffer(0),Object.assign(this,e)}}d([g({type:b.ObjectIdentifier,implicit:!0,context:0})],Sl.prototype,"type",void 0);d([g({type:b.Any,implicit:!0,context:1})],Sl.prototype,"value",void 0);class Al{constructor(e={}){this.policyId="",this.classList=new ic(bs.unclassified),Object.assign(this,e)}}d([g({type:b.ObjectIdentifier})],Al.prototype,"policyId",void 0);d([g({type:ic,defaultValue:new ic(bs.unclassified)})],Al.prototype,"classList",void 0);d([g({type:Sl,repeated:"set"})],Al.prototype,"securityCategories",void 0);class Ao{constructor(e={}){Object.assign(this,e)}}d([g({type:ae})],Ao.prototype,"cotets",void 0);d([g({type:b.ObjectIdentifier})],Ao.prototype,"oid",void 0);d([g({type:b.Utf8String})],Ao.prototype,"string",void 0);class Lh{constructor(e={}){this.values=[],Object.assign(this,e)}}d([g({type:Le,implicit:!0,context:0,optional:!0})],Lh.prototype,"policyAuthority",void 0);d([g({type:Ao,repeated:"sequence"})],Lh.prototype,"values",void 0);var sc;class Eo{constructor(e={}){this.targetCertificate=new On,Object.assign(this,e)}}d([g({type:On})],Eo.prototype,"targetCertificate",void 0);d([g({type:re,optional:!0})],Eo.prototype,"targetName",void 0);d([g({type:Bn,optional:!0})],Eo.prototype,"certDigestInfo",void 0);let er=class{constructor(e={}){Object.assign(this,e)}};d([g({type:re,context:0,implicit:!0})],er.prototype,"targetName",void 0);d([g({type:re,context:1,implicit:!0})],er.prototype,"targetGroup",void 0);d([g({type:Eo,context:2,implicit:!0})],er.prototype,"targetCert",void 0);er=d([P({type:T.Choice})],er);let oc=sc=class extends pe{constructor(e){super(e),Object.setPrototypeOf(this,sc.prototype)}};oc=sc=d([P({type:T.Sequence,itemType:er})],oc);var ac;let rd=ac=class extends pe{constructor(e){super(e),Object.setPrototypeOf(this,ac.prototype)}};rd=ac=d([P({type:T.Sequence,itemType:oc})],rd);class Uh{constructor(e={}){Object.assign(this,e)}}d([g({type:Le,implicit:!0,context:0,optional:!0})],Uh.prototype,"roleAuthority",void 0);d([g({type:re,implicit:!0,context:1})],Uh.prototype,"roleName",void 0);class El{constructor(e={}){this.service=new re,this.ident=new re,Object.assign(this,e)}}d([g({type:re})],El.prototype,"service",void 0);d([g({type:re})],El.prototype,"ident",void 0);d([g({type:ae,optional:!0})],El.prototype,"authInfo",void 0);var cc;class Il{constructor(e={}){this.otherCertFormat="",this.otherCert=new ArrayBuffer(0),Object.assign(this,e)}}d([g({type:b.ObjectIdentifier})],Il.prototype,"otherCertFormat",void 0);d([g({type:b.Any})],Il.prototype,"otherCert",void 0);let tr=class{constructor(e={}){Object.assign(this,e)}};d([g({type:An})],tr.prototype,"certificate",void 0);d([g({type:So,context:2,implicit:!0})],tr.prototype,"v2AttrCert",void 0);d([g({type:Il,context:3,implicit:!0})],tr.prototype,"other",void 0);tr=d([P({type:T.Choice})],tr);let ks=cc=class extends pe{constructor(e){super(e),Object.setPrototypeOf(this,cc.prototype)}};ks=cc=d([P({type:T.Set,itemType:tr})],ks);class gr{constructor(e={}){this.contentType="",this.content=new ArrayBuffer(0),Object.assign(this,e)}}d([g({type:b.ObjectIdentifier})],gr.prototype,"contentType",void 0);d([g({type:b.Any,context:0})],gr.prototype,"content",void 0);let Dr=class{constructor(e={}){Object.assign(this,e)}};d([g({type:ae})],Dr.prototype,"single",void 0);d([g({type:b.Any})],Dr.prototype,"any",void 0);Dr=d([P({type:T.Choice})],Dr);class Io{constructor(e={}){this.eContentType="",Object.assign(this,e)}}d([g({type:b.ObjectIdentifier})],Io.prototype,"eContentType",void 0);d([g({type:Dr,context:0,optional:!0})],Io.prototype,"eContent",void 0);let Hr=class{constructor(e={}){Object.assign(this,e)}};d([g({type:ae,context:0,implicit:!0,optional:!0})],Hr.prototype,"value",void 0);d([g({type:ae,converter:M_,context:0,implicit:!0,optional:!0,repeated:"sequence"})],Hr.prototype,"constructedValue",void 0);Hr=d([P({type:T.Choice})],Hr);class fi{constructor(e={}){this.contentType="",this.contentEncryptionAlgorithm=new ys,Object.assign(this,e)}}d([g({type:b.ObjectIdentifier})],fi.prototype,"contentType",void 0);d([g({type:ys})],fi.prototype,"contentEncryptionAlgorithm",void 0);d([g({type:Hr,optional:!0})],fi.prototype,"encryptedContent",void 0);class Co{constructor(e={}){this.keyAttrId="",Object.assign(this,e)}}d([g({type:b.ObjectIdentifier})],Co.prototype,"keyAttrId",void 0);d([g({type:b.Any,optional:!0})],Co.prototype,"keyAttr",void 0);var lc;class No{constructor(e={}){this.subjectKeyIdentifier=new Wt,Object.assign(this,e)}}d([g({type:Wt})],No.prototype,"subjectKeyIdentifier",void 0);d([g({type:b.GeneralizedTime,optional:!0})],No.prototype,"date",void 0);d([g({type:Co,optional:!0})],No.prototype,"other",void 0);let nr=class{constructor(e={}){Object.assign(this,e)}};d([g({type:No,context:0,implicit:!0,optional:!0})],nr.prototype,"rKeyId",void 0);d([g({type:fr,optional:!0})],nr.prototype,"issuerAndSerialNumber",void 0);nr=d([P({type:T.Choice})],nr);class Cl{constructor(e={}){this.rid=new nr,this.encryptedKey=new ae,Object.assign(this,e)}}d([g({type:nr})],Cl.prototype,"rid",void 0);d([g({type:ae})],Cl.prototype,"encryptedKey",void 0);let xs=lc=class extends pe{constructor(e){super(e),Object.setPrototypeOf(this,lc.prototype)}};xs=lc=d([P({type:T.Sequence,itemType:Cl})],xs);class Nl{constructor(e={}){this.algorithm=new F,this.publicKey=new ArrayBuffer(0),Object.assign(this,e)}}d([g({type:F})],Nl.prototype,"algorithm",void 0);d([g({type:b.BitString})],Nl.prototype,"publicKey",void 0);let En=class{constructor(e={}){Object.assign(this,e)}};d([g({type:Wt,context:0,implicit:!0,optional:!0})],En.prototype,"subjectKeyIdentifier",void 0);d([g({type:Nl,context:1,implicit:!0,optional:!0})],En.prototype,"originatorKey",void 0);d([g({type:fr,optional:!0})],En.prototype,"issuerAndSerialNumber",void 0);En=d([P({type:T.Choice})],En);class mr{constructor(e={}){this.version=Rt.v3,this.originator=new En,this.keyEncryptionAlgorithm=new St,this.recipientEncryptedKeys=new xs,Object.assign(this,e)}}d([g({type:b.Integer})],mr.prototype,"version",void 0);d([g({type:En,context:0})],mr.prototype,"originator",void 0);d([g({type:ae,context:1,optional:!0})],mr.prototype,"ukm",void 0);d([g({type:St})],mr.prototype,"keyEncryptionAlgorithm",void 0);d([g({type:xs})],mr.prototype,"recipientEncryptedKeys",void 0);let rr=class{constructor(e={}){Object.assign(this,e)}};d([g({type:Wt,context:0,implicit:!0})],rr.prototype,"subjectKeyIdentifier",void 0);d([g({type:fr})],rr.prototype,"issuerAndSerialNumber",void 0);rr=d([P({type:T.Choice})],rr);class hi{constructor(e={}){this.version=Rt.v0,this.rid=new rr,this.keyEncryptionAlgorithm=new St,this.encryptedKey=new ae,Object.assign(this,e)}}d([g({type:b.Integer})],hi.prototype,"version",void 0);d([g({type:rr})],hi.prototype,"rid",void 0);d([g({type:St})],hi.prototype,"keyEncryptionAlgorithm",void 0);d([g({type:ae})],hi.prototype,"encryptedKey",void 0);class gi{constructor(e={}){this.keyIdentifier=new ae,Object.assign(this,e)}}d([g({type:ae})],gi.prototype,"keyIdentifier",void 0);d([g({type:b.GeneralizedTime,optional:!0})],gi.prototype,"date",void 0);d([g({type:Co,optional:!0})],gi.prototype,"other",void 0);class mi{constructor(e={}){this.version=Rt.v4,this.kekid=new gi,this.keyEncryptionAlgorithm=new St,this.encryptedKey=new ae,Object.assign(this,e)}}d([g({type:b.Integer})],mi.prototype,"version",void 0);d([g({type:gi})],mi.prototype,"kekid",void 0);d([g({type:St})],mi.prototype,"keyEncryptionAlgorithm",void 0);d([g({type:ae})],mi.prototype,"encryptedKey",void 0);class _i{constructor(e={}){this.version=Rt.v0,this.keyEncryptionAlgorithm=new St,this.encryptedKey=new ae,Object.assign(this,e)}}d([g({type:b.Integer})],_i.prototype,"version",void 0);d([g({type:Qa,context:0,optional:!0})],_i.prototype,"keyDerivationAlgorithm",void 0);d([g({type:St})],_i.prototype,"keyEncryptionAlgorithm",void 0);d([g({type:ae})],_i.prototype,"encryptedKey",void 0);class zl{constructor(e={}){this.oriType="",this.oriValue=new ArrayBuffer(0),Object.assign(this,e)}}d([g({type:b.ObjectIdentifier})],zl.prototype,"oriType",void 0);d([g({type:b.Any})],zl.prototype,"oriValue",void 0);let Xt=class{constructor(e={}){Object.assign(this,e)}};d([g({type:hi,optional:!0})],Xt.prototype,"ktri",void 0);d([g({type:mr,context:1,implicit:!0,optional:!0})],Xt.prototype,"kari",void 0);d([g({type:mi,context:2,implicit:!0,optional:!0})],Xt.prototype,"kekri",void 0);d([g({type:_i,context:3,implicit:!0,optional:!0})],Xt.prototype,"pwri",void 0);d([g({type:zl,context:4,implicit:!0,optional:!0})],Xt.prototype,"ori",void 0);Xt=d([P({type:T.Choice})],Xt);var uc;let Ss=uc=class extends pe{constructor(e){super(e),Object.setPrototypeOf(this,uc.prototype)}};Ss=uc=d([P({type:T.Set,itemType:Xt})],Ss);var dc;class zo{constructor(e={}){this.otherRevInfoFormat="",this.otherRevInfo=new ArrayBuffer(0),Object.assign(this,e)}}d([g({type:b.ObjectIdentifier})],zo.prototype,"otherRevInfoFormat",void 0);d([g({type:b.Any})],zo.prototype,"otherRevInfo",void 0);let As=class{constructor(e={}){this.other=new zo,Object.assign(this,e)}};d([g({type:zo,context:1,implicit:!0})],As.prototype,"other",void 0);As=d([P({type:T.Choice})],As);let Es=dc=class extends pe{constructor(e){super(e),Object.setPrototypeOf(this,dc.prototype)}};Es=dc=d([P({type:T.Set,itemType:As})],Es);class $l{constructor(e={}){Object.assign(this,e)}}d([g({type:ks,context:0,implicit:!0,optional:!0})],$l.prototype,"certs",void 0);d([g({type:Es,context:1,implicit:!0,optional:!0})],$l.prototype,"crls",void 0);var pc;let fc=pc=class extends pe{constructor(e){super(e),Object.setPrototypeOf(this,pc.prototype)}};fc=pc=d([P({type:T.Set,itemType:hr})],fc);class yi{constructor(e={}){this.version=Rt.v0,this.recipientInfos=new Ss,this.encryptedContentInfo=new fi,Object.assign(this,e)}}d([g({type:b.Integer})],yi.prototype,"version",void 0);d([g({type:$l,context:0,implicit:!0,optional:!0})],yi.prototype,"originatorInfo",void 0);d([g({type:Ss})],yi.prototype,"recipientInfos",void 0);d([g({type:fi})],yi.prototype,"encryptedContentInfo",void 0);d([g({type:fc,context:1,implicit:!0,optional:!0})],yi.prototype,"unprotectedAttrs",void 0);const f0="1.2.840.113549.1.7.2";var hc;let Is=hc=class extends pe{constructor(e){super(e),Object.setPrototypeOf(this,hc.prototype)}};Is=hc=d([P({type:T.Set,itemType:qr})],Is);class _r{constructor(e={}){this.version=Rt.v0,this.digestAlgorithms=new Is,this.encapContentInfo=new Io,this.signerInfos=new vs,Object.assign(this,e)}}d([g({type:b.Integer})],_r.prototype,"version",void 0);d([g({type:Is})],_r.prototype,"digestAlgorithms",void 0);d([g({type:Io})],_r.prototype,"encapContentInfo",void 0);d([g({type:ks,context:0,implicit:!0,optional:!0})],_r.prototype,"certificates",void 0);d([g({type:Es,context:1,implicit:!0,optional:!0})],_r.prototype,"crls",void 0);d([g({type:vs})],_r.prototype,"signerInfos",void 0);const Fr="1.2.840.10045.2.1",jl="1.2.840.10045.4.1",Vh="1.2.840.10045.4.3.1",Ol="1.2.840.10045.4.3.2",Bl="1.2.840.10045.4.3.3",Tl="1.2.840.10045.4.3.4",id="1.2.840.10045.3.1.7",sd="1.3.132.0.34",od="1.3.132.0.35";function vi(t){return new F({algorithm:t})}const h0=vi(jl);vi(Vh);const g0=vi(Ol),m0=vi(Bl),_0=vi(Tl);let Kr=class{constructor(e={}){Object.assign(this,e)}};d([g({type:b.ObjectIdentifier})],Kr.prototype,"fieldType",void 0);d([g({type:b.Any})],Kr.prototype,"parameters",void 0);Kr=d([P({type:T.Sequence})],Kr);class y0 extends ae{}let ir=class{constructor(e={}){Object.assign(this,e)}};d([g({type:b.OctetString})],ir.prototype,"a",void 0);d([g({type:b.OctetString})],ir.prototype,"b",void 0);d([g({type:b.BitString,optional:!0})],ir.prototype,"seed",void 0);ir=d([P({type:T.Sequence})],ir);var gc;(function(t){t[t.ecpVer1=1]="ecpVer1"})(gc||(gc={}));let Lt=class{constructor(e={}){this.version=gc.ecpVer1,Object.assign(this,e)}};d([g({type:b.Integer})],Lt.prototype,"version",void 0);d([g({type:Kr})],Lt.prototype,"fieldID",void 0);d([g({type:ir})],Lt.prototype,"curve",void 0);d([g({type:y0})],Lt.prototype,"base",void 0);d([g({type:b.Integer,converter:_e})],Lt.prototype,"order",void 0);d([g({type:b.Integer,optional:!0})],Lt.prototype,"cofactor",void 0);Lt=d([P({type:T.Sequence})],Lt);let Qt=class{constructor(e={}){Object.assign(this,e)}};d([g({type:b.ObjectIdentifier})],Qt.prototype,"namedCurve",void 0);d([g({type:b.Null})],Qt.prototype,"implicitCurve",void 0);d([g({type:Lt})],Qt.prototype,"specifiedCurve",void 0);Qt=d([P({type:T.Choice})],Qt);class $o{constructor(e={}){this.version=1,this.privateKey=new ae,Object.assign(this,e)}}d([g({type:b.Integer})],$o.prototype,"version",void 0);d([g({type:ae})],$o.prototype,"privateKey",void 0);d([g({type:Qt,context:0,optional:!0})],$o.prototype,"parameters",void 0);d([g({type:b.BitString,context:1,optional:!0})],$o.prototype,"publicKey",void 0);class Cs{constructor(e={}){this.r=new ArrayBuffer(0),this.s=new ArrayBuffer(0),Object.assign(this,e)}}d([g({type:b.Integer,converter:_e})],Cs.prototype,"r",void 0);d([g({type:b.Integer,converter:_e})],Cs.prototype,"s",void 0);const Ke="1.2.840.113549.1.1",In=`${Ke}.1`,v0=`${Ke}.7`,w0=`${Ke}.9`,Tr=`${Ke}.10`,b0=`${Ke}.2`,k0=`${Ke}.4`,Ns=`${Ke}.5`,x0=`${Ke}.14`,mc=`${Ke}.11`,zs=`${Ke}.12`,$s=`${Ke}.13`,Mh=`${Ke}.15`,qh=`${Ke}.16`,js="1.3.14.3.2.26",Dh="2.16.840.1.101.3.4.2.4",Os="2.16.840.1.101.3.4.2.1",Bs="2.16.840.1.101.3.4.2.2",Ts="2.16.840.1.101.3.4.2.3",S0="2.16.840.1.101.3.4.2.5",A0="2.16.840.1.101.3.4.2.6",E0="1.2.840.113549.2.2",I0="1.2.840.113549.2.5",jo=`${Ke}.8`;function Ee(t){return new F({algorithm:t,parameters:null})}Ee(E0);Ee(I0);const Cn=Ee(js);Ee(Dh);Ee(Os);Ee(Bs);Ee(Ts);Ee(S0);Ee(A0);const Hh=new F({algorithm:jo,parameters:M.serialize(Cn)}),Fh=new F({algorithm:w0,parameters:M.serialize(us.toASN(new Uint8Array([218,57,163,238,94,107,75,13,50,85,191,239,149,96,24,144,175,216,7,9]).buffer))});Ee(In);Ee(b0);Ee(k0);Ee(Ns);Ee(Mh);Ee(qh);Ee(zs);Ee($s);Ee(Mh);Ee(qh);class Oo{constructor(e={}){this.hashAlgorithm=new F(Cn),this.maskGenAlgorithm=new F({algorithm:jo,parameters:M.serialize(Cn)}),this.pSourceAlgorithm=new F(Fh),Object.assign(this,e)}}d([g({type:F,context:0,defaultValue:Cn})],Oo.prototype,"hashAlgorithm",void 0);d([g({type:F,context:1,defaultValue:Hh})],Oo.prototype,"maskGenAlgorithm",void 0);d([g({type:F,context:2,defaultValue:Fh})],Oo.prototype,"pSourceAlgorithm",void 0);new F({algorithm:v0,parameters:M.serialize(new Oo)});class Nn{constructor(e={}){this.hashAlgorithm=new F(Cn),this.maskGenAlgorithm=new F({algorithm:jo,parameters:M.serialize(Cn)}),this.saltLength=20,this.trailerField=1,Object.assign(this,e)}}d([g({type:F,context:0,defaultValue:Cn})],Nn.prototype,"hashAlgorithm",void 0);d([g({type:F,context:1,defaultValue:Hh})],Nn.prototype,"maskGenAlgorithm",void 0);d([g({type:b.Integer,context:2,defaultValue:20})],Nn.prototype,"saltLength",void 0);d([g({type:b.Integer,context:3,defaultValue:1})],Nn.prototype,"trailerField",void 0);new F({algorithm:Tr,parameters:M.serialize(new Nn)});class Bo{constructor(e={}){this.digestAlgorithm=new F,this.digest=new ae,Object.assign(this,e)}}d([g({type:F})],Bo.prototype,"digestAlgorithm",void 0);d([g({type:ae})],Bo.prototype,"digest",void 0);var _c;class To{constructor(e={}){this.prime=new ArrayBuffer(0),this.exponent=new ArrayBuffer(0),this.coefficient=new ArrayBuffer(0),Object.assign(this,e)}}d([g({type:b.Integer,converter:_e})],To.prototype,"prime",void 0);d([g({type:b.Integer,converter:_e})],To.prototype,"exponent",void 0);d([g({type:b.Integer,converter:_e})],To.prototype,"coefficient",void 0);let yc=_c=class extends pe{constructor(e){super(e),Object.setPrototypeOf(this,_c.prototype)}};yc=_c=d([P({type:T.Sequence,itemType:To})],yc);class Nt{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([g({type:b.Integer})],Nt.prototype,"version",void 0);d([g({type:b.Integer,converter:_e})],Nt.prototype,"modulus",void 0);d([g({type:b.Integer,converter:_e})],Nt.prototype,"publicExponent",void 0);d([g({type:b.Integer,converter:_e})],Nt.prototype,"privateExponent",void 0);d([g({type:b.Integer,converter:_e})],Nt.prototype,"prime1",void 0);d([g({type:b.Integer,converter:_e})],Nt.prototype,"prime2",void 0);d([g({type:b.Integer,converter:_e})],Nt.prototype,"exponent1",void 0);d([g({type:b.Integer,converter:_e})],Nt.prototype,"exponent2",void 0);d([g({type:b.Integer,converter:_e})],Nt.prototype,"coefficient",void 0);d([g({type:yc,optional:!0})],Nt.prototype,"otherPrimeInfos",void 0);class Pl{constructor(e={}){this.modulus=new ArrayBuffer(0),this.publicExponent=new ArrayBuffer(0),Object.assign(this,e)}}d([g({type:b.Integer,converter:_e})],Pl.prototype,"modulus",void 0);d([g({type:b.Integer,converter:_e})],Pl.prototype,"publicExponent",void 0);var vc;(function(t){t[t.Transient=0]="Transient",t[t.Singleton=1]="Singleton",t[t.ResolutionScoped=2]="ResolutionScoped",t[t.ContainerScoped=3]="ContainerScoped"})(vc||(vc={}));const Me=vc;/*! *****************************************************************************
|
|
79
|
+
`)}`:`${n} :`}}$f=De;K.Constructed=$f;De.NAME="CONSTRUCTED";class jf extends Ue{fromBER(e,n,r){return n}toBER(e){return mt}}jf.override="EndOfContentValueBlock";var Of;class il extends je{constructor(e={}){super(e,jf),this.idBlock.tagClass=1,this.idBlock.tagNumber=0}}Of=il;K.EndOfContent=Of;il.NAME=Vr;var Bf;class bn extends je{constructor(e={}){super(e,Ue),this.idBlock.tagClass=1,this.idBlock.tagNumber=5}fromBER(e,n,r){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+=r,n+r>e.byteLength?(this.error="End of input reached before message was fully decoded (inconsistent offset and length values)",-1):n+r}toBER(e,n){const r=new ArrayBuffer(2);if(!e){const i=new Uint8Array(r);i[0]=5,i[1]=0}return n&&n.write(r),r}onAsciiEncoding(){return`${this.constructor.NAME}`}}Bf=bn;K.Null=Bf;bn.NAME="NULL";class Tf extends It(Ue){constructor({value:e,...n}={}){super(n),n.valueHex?this.valueHexView=q.toUint8Array(n.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,n,r){const i=q.toUint8Array(e);return Vt(this,i,n,r)?(this.valueHexView=i.subarray(n,n+r),r>1&&this.warnings.push("Boolean value encoded in more then 1 octet"),this.isHexOnly=!0,xf.call(this),this.blockLength=r,n+r):-1}toBER(){return this.valueHexView.slice()}toJSON(){return{...super.toJSON(),value:this.value}}}Tf.NAME="BooleanValueBlock";var Pf;class to extends je{constructor(e={}){super(e,Tf),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}`}}Pf=to;K.Boolean=Pf;to.NAME="BOOLEAN";class Rf extends It(Kt){constructor({isConstructed:e=!1,...n}={}){super(n),this.isConstructed=e}fromBER(e,n,r){let i=0;if(this.isConstructed){if(this.isHexOnly=!1,i=Kt.prototype.fromBER.call(this,e,n,r),i===-1)return i;for(let s=0;s<this.value.length;s++){const o=this.value[s].constructor.NAME;if(o===Vr){if(this.isIndefiniteForm)break;return this.error="EndOfContent is unexpected, OCTET STRING may consists of OCTET STRINGs only",-1}if(o!==Sf)return this.error="OCTET STRING may consists of OCTET STRINGs only",-1}}else this.isHexOnly=!0,i=super.fromBER(e,n,r),this.blockLength=r;return i}toBER(e,n){return this.isConstructed?Kt.prototype.toBER.call(this,e,n):e?new ArrayBuffer(this.valueHexView.byteLength):this.valueHexView.slice().buffer}toJSON(){return{...super.toJSON(),isConstructed:this.isConstructed}}}Rf.NAME="OctetStringValueBlock";var Lf;let gn=class Uf extends je{constructor({idBlock:e={},lenBlock:n={},...r}={}){var i,s;(i=r.isConstructed)!==null&&i!==void 0||(r.isConstructed=!!(!((s=r.value)===null||s===void 0)&&s.length)),super({idBlock:{isConstructed:r.isConstructed,...e},lenBlock:{...n,isIndefiniteForm:!!r.isIndefiniteForm},...r},Rf),this.idBlock.tagClass=1,this.idBlock.tagNumber=4}fromBER(e,n,r){if(this.valueBlock.isConstructed=this.idBlock.isConstructed,this.valueBlock.isIndefiniteForm=this.lenBlock.isIndefiniteForm,r===0)return this.idBlock.error.length===0&&(this.blockLength+=this.idBlock.blockLength),this.lenBlock.error.length===0&&(this.blockLength+=this.lenBlock.blockLength),n;if(!this.valueBlock.isConstructed){const s=(e instanceof ArrayBuffer?new Uint8Array(e):e).subarray(n,n+r);try{if(s.byteLength){const o=ur(s,0,s.byteLength);o.offset!==-1&&o.offset===r&&(this.valueBlock.value=[o.result])}}catch{}}return super.fromBER(e,n,r)}onAsciiEncoding(){return this.valueBlock.isConstructed||this.valueBlock.value&&this.valueBlock.value.length?De.prototype.onAsciiEncoding.call(this):`${this.constructor.NAME} : ${J.ToHex(this.valueBlock.valueHexView)}`}getValue(){if(!this.idBlock.isConstructed)return this.valueBlock.valueHexView.slice().buffer;const e=[];for(const n of this.valueBlock.value)n instanceof Uf&&e.push(n.valueBlock.valueHexView);return q.concat(e)}};Lf=gn;K.OctetString=Lf;gn.NAME=Sf;class Vf extends It(Kt){constructor({unusedBits:e=0,isConstructed:n=!1,...r}={}){super(r),this.unusedBits=e,this.isConstructed=n,this.blockLength=this.valueHexView.byteLength}fromBER(e,n,r){if(!r)return n;let i=-1;if(this.isConstructed){if(i=Kt.prototype.fromBER.call(this,e,n,r),i===-1)return i;for(const c of this.value){const l=c.constructor.NAME;if(l===Vr){if(this.isIndefiniteForm)break;return this.error="EndOfContent is unexpected, BIT STRING may consists of BIT STRINGs only",-1}if(l!==Af)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 i}const s=q.toUint8Array(e);if(!Vt(this,s,n,r))return-1;const o=s.subarray(n,n+r);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=ur(c,0,c.byteLength);l.offset!==-1&&l.offset===r-1&&(this.value=[l.result])}}catch{}}return this.valueHexView=o.subarray(1),this.blockLength=o.length,n+r}toBER(e,n){if(this.isConstructed)return Kt.prototype.toBER.call(this,e,n);if(e)return new ArrayBuffer(this.valueHexView.byteLength+1);if(!this.valueHexView.byteLength)return mt;const r=new Uint8Array(this.valueHexView.length+1);return r[0]=this.unusedBits,r.set(this.valueHexView,1),r.buffer}toJSON(){return{...super.toJSON(),unusedBits:this.unusedBits,isConstructed:this.isConstructed}}}Vf.NAME="BitStringValueBlock";var Mf;let mn=class extends je{constructor({idBlock:e={},lenBlock:n={},...r}={}){var i,s;(i=r.isConstructed)!==null&&i!==void 0||(r.isConstructed=!!(!((s=r.value)===null||s===void 0)&&s.length)),super({idBlock:{isConstructed:r.isConstructed,...e},lenBlock:{...n,isIndefiniteForm:!!r.isIndefiniteForm},...r},Vf),this.idBlock.tagClass=1,this.idBlock.tagNumber=3}fromBER(e,n,r){return this.valueBlock.isConstructed=this.idBlock.isConstructed,this.valueBlock.isIndefiniteForm=this.lenBlock.isIndefiniteForm,super.fromBER(e,n,r)}onAsciiEncoding(){if(this.valueBlock.isConstructed||this.valueBlock.value&&this.valueBlock.value.length)return De.prototype.onAsciiEncoding.call(this);{const e=[],n=this.valueBlock.valueHexView;for(const i of n)e.push(i.toString(2).padStart(8,"0"));const r=e.join("");return`${this.constructor.NAME} : ${r.substring(0,r.length-this.valueBlock.unusedBits)}`}}};Mf=mn;K.BitString=Mf;mn.NAME=Af;var qf;function $_(t,e){const n=new Uint8Array([0]),r=new Uint8Array(t),i=new Uint8Array(e);let s=r.slice(0);const o=s.length-1,c=i.slice(0),l=c.length-1;let u=0;const p=l<o?o:l;let h=0;for(let m=p;m>=0;m--,h++){switch(!0){case h<c.length:u=s[o-h]+c[l-h]+n[0];break;default:u=s[o-h]+n[0]}switch(n[0]=u/10,!0){case h>=s.length:s=Ea(new Uint8Array([u%10]),s);break;default:s[o-h]=u%10}}return n[0]>0&&(s=Ea(n,s)),s}function Uu(t){if(t>=Sr.length)for(let e=Sr.length;e<=t;e++){const n=new Uint8Array([0]);let r=Sr[e-1].slice(0);for(let i=r.length-1;i>=0;i--){const s=new Uint8Array([(r[i]<<1)+n[0]]);n[0]=s[0]/10,r[i]=s[0]%10}n[0]>0&&(r=Ea(n,r)),Sr.push(r)}return Sr[t]}function j_(t,e){let n=0;const r=new Uint8Array(t),i=new Uint8Array(e),s=r.slice(0),o=s.length-1,c=i.slice(0),l=c.length-1;let u,p=0;for(let h=l;h>=0;h--,p++)switch(u=s[o-p]-c[l-p]-n,!0){case u<0:n=1,s[o-p]=u+10;break;default:n=0,s[o-p]=u}if(n>0)for(let h=o-l+1;h>=0;h--,p++)if(u=s[o-p]-n,u<0)n=1,s[o-p]=u+10;else{n=0,s[o-p]=u;break}return s.slice()}class sl extends It(Ue){constructor({value:e,...n}={}){super(n),this._valueDec=0,n.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=xf.call(this)))}set valueDec(e){this._valueDec=e,this.isHexOnly=!1,this.valueHexView=new Uint8Array(v_(e))}get valueDec(){return this._valueDec}fromDER(e,n,r,i=0){const s=this.fromBER(e,n,r);if(s===-1)return s;const o=this.valueHexView;return o[0]===0&&o[1]&128?this.valueHexView=o.subarray(1):i!==0&&o.length<i&&(i-o.length>1&&(i=o.length+1),this.valueHexView=o.subarray(i-o.length)),s}toDER(e=!1){const n=this.valueHexView;switch(!0){case(n[0]&128)!==0:{const r=new Uint8Array(this.valueHexView.length+1);r[0]=0,r.set(n,1),this.valueHexView=r}break;case(n[0]===0&&(n[1]&128)===0):this.valueHexView=this.valueHexView.subarray(1);break}return this.toBER(e)}fromBER(e,n,r){const i=super.fromBER(e,n,r);return i===-1||this.setValueHex(),i}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 n=new Uint8Array(this.valueHexView.length*8/3),r=0,i;const s=this.valueHexView;let o="",c=!1;for(let l=s.byteLength-1;l>=0;l--){i=s[l];for(let u=0;u<8;u++){if((i&1)===1)switch(r){case e:n=j_(Uu(r),n),o="-";break;default:n=$_(n,Uu(r))}r++,i>>=1}}for(let l=0;l<n.length;l++)n[l]&&(c=!0),c&&(o+=Ru.charAt(n[l]));return c===!1&&(o+=Ru.charAt(0)),o}}qf=sl;sl.NAME="IntegerValueBlock";Object.defineProperty(qf.prototype,"valueHex",{set:function(t){this.valueHexView=new Uint8Array(t),this.setValueHex()},get:function(){return this.valueHexView.slice().buffer}});var Df;class xt extends je{constructor(e={}){super(e,sl),this.idBlock.tagClass=1,this.idBlock.tagNumber=2}toBigInt(){return cs(),BigInt(this.valueBlock.toString())}static fromBigInt(e){cs();const n=BigInt(e),r=new Qs,i=n.toString(16).replace(/^-/,""),s=new Uint8Array(J.FromHex(i));if(n<0){const c=new Uint8Array(s.length+(s[0]&128?1:0));c[0]|=128;const u=BigInt(`0x${J.ToHex(c)}`)+n,p=q.toUint8Array(J.FromHex(u.toString(16)));p[0]|=128,r.write(p)}else s[0]&128&&r.write(new Uint8Array([0])),r.write(s);return new xt({valueHex:r.final()})}convertToDER(){const e=new xt({valueHex:this.valueBlock.valueHexView});return e.valueBlock.toDER(),e}convertFromDER(){return new xt({valueHex:this.valueBlock.valueHexView[0]===0?this.valueBlock.valueHexView.subarray(1):this.valueBlock.valueHexView})}onAsciiEncoding(){return`${this.constructor.NAME} : ${this.valueBlock.toString()}`}}Df=xt;K.Integer=Df;xt.NAME="INTEGER";var Hf;class no extends xt{constructor(e={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=10}}Hf=no;K.Enumerated=Hf;no.NAME="ENUMERATED";class Ia extends It(Ue){constructor({valueDec:e=-1,isFirstSid:n=!1,...r}={}){super(r),this.valueDec=e,this.isFirstSid=n}fromBER(e,n,r){if(!r)return n;const i=q.toUint8Array(e);if(!Vt(this,i,n,r))return-1;const s=i.subarray(n,n+r);this.valueHexView=new Uint8Array(r);for(let c=0;c<r&&(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=Jn(this.valueHexView,7):(this.isHexOnly=!0,this.warnings.push("Too big SID for decoding, hex only")),n+this.blockLength)}set valueBigInt(e){cs();let n=BigInt(e).toString(2);for(;n.length%7;)n="0"+n;const r=new Uint8Array(n.length/7);for(let i=0;i<r.length;i++)r[i]=parseInt(n.slice(i*7,i*7+7),2)+(i+1<r.length?128:0);this.fromBER(r.buffer,0,r.length)}toBER(e){if(this.isHexOnly){if(e)return new ArrayBuffer(this.valueHexView.byteLength);const i=this.valueHexView,s=new Uint8Array(this.blockLength);for(let o=0;o<this.blockLength-1;o++)s[o]=i[o]|128;return s[this.blockLength-1]=i[this.blockLength-1],s.buffer}const n=wn(this.valueDec,7);if(n.byteLength===0)return this.error="Error during encoding SID value",mt;const r=new Uint8Array(n.byteLength);if(!e){const i=new Uint8Array(n),s=n.byteLength-1;for(let o=0;o<s;o++)r[o]=i[o]|128;r[s]=i[s]}return r}toString(){let e="";if(this.isHexOnly)e=J.ToHex(this.valueHexView);else if(this.isFirstSid){let n=this.valueDec;this.valueDec<=39?e="0.":this.valueDec<=79?(e="1.",n-=40):(e="2.",n-=80),e+=n.toString()}else e=this.valueDec.toString();return e}toJSON(){return{...super.toJSON(),valueDec:this.valueDec,isFirstSid:this.isFirstSid}}}Ia.NAME="sidBlock";class Ff extends Ue{constructor({value:e=qe,...n}={}){super(n),this.value=[],e&&this.fromString(e)}fromBER(e,n,r){let i=n;for(;r>0;){const s=new Ia;if(i=s.fromBER(e,i,r),i===-1)return this.blockLength=0,this.error=s.error,i;this.value.length===0&&(s.isFirstSid=!0),this.blockLength+=s.blockLength,r-=s.blockLength,this.value.push(s)}return i}toBER(e){const n=[];for(let r=0;r<this.value.length;r++){const i=this.value[r].toBER(e);if(i.byteLength===0)return this.error=this.value[r].error,mt;n.push(i)}return nl(n)}fromString(e){this.value=[];let n=0,r=0,i="",s=!1;do if(r=e.indexOf(".",n),r===-1?i=e.substring(n):i=e.substring(n,r),n=r+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(i,10);if(isNaN(l))return;o.valueDec=l+c,s=!1}else{const o=new Ia;if(i>Number.MAX_SAFE_INTEGER){cs();const c=BigInt(i);o.valueBigInt=c}else if(o.valueDec=parseInt(i,10),isNaN(o.valueDec))return;this.value.length||(o.isFirstSid=!0,s=!0),this.value.push(o)}while(r!==-1)}toString(){let e="",n=!1;for(let r=0;r<this.value.length;r++){n=this.value[r].isHexOnly;let i=this.value[r].toString();r!==0&&(e=`${e}.`),n?(i=`{${i}}`,this.value[r].isFirstSid?e=`2.{${i} - 80}`:e+=i):e+=i}return e}toJSON(){const e={...super.toJSON(),value:this.toString(),sidArray:[]};for(let n=0;n<this.value.length;n++)e.sidArray.push(this.value[n].toJSON());return e}}Ff.NAME="ObjectIdentifierValueBlock";var Kf;class ro extends je{constructor(e={}){super(e,Ff),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()}}}Kf=ro;K.ObjectIdentifier=Kf;ro.NAME="OBJECT IDENTIFIER";class Ca extends It(jn){constructor({valueDec:e=0,...n}={}){super(n),this.valueDec=e}fromBER(e,n,r){if(r===0)return n;const i=q.toUint8Array(e);if(!Vt(this,i,n,r))return-1;const s=i.subarray(n,n+r);this.valueHexView=new Uint8Array(r);for(let c=0;c<r&&(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=Jn(this.valueHexView,7):(this.isHexOnly=!0,this.warnings.push("Too big SID for decoding, hex only")),n+this.blockLength)}toBER(e){if(this.isHexOnly){if(e)return new ArrayBuffer(this.valueHexView.byteLength);const i=this.valueHexView,s=new Uint8Array(this.blockLength);for(let o=0;o<this.blockLength-1;o++)s[o]=i[o]|128;return s[this.blockLength-1]=i[this.blockLength-1],s.buffer}const n=wn(this.valueDec,7);if(n.byteLength===0)return this.error="Error during encoding SID value",mt;const r=new Uint8Array(n.byteLength);if(!e){const i=new Uint8Array(n),s=n.byteLength-1;for(let o=0;o<s;o++)r[o]=i[o]|128;r[s]=i[s]}return r.buffer}toString(){let e="";return this.isHexOnly?e=J.ToHex(this.valueHexView):e=this.valueDec.toString(),e}toJSON(){return{...super.toJSON(),valueDec:this.valueDec}}}Ca.NAME="relativeSidBlock";class Wf extends Ue{constructor({value:e=qe,...n}={}){super(n),this.value=[],e&&this.fromString(e)}fromBER(e,n,r){let i=n;for(;r>0;){const s=new Ca;if(i=s.fromBER(e,i,r),i===-1)return this.blockLength=0,this.error=s.error,i;this.blockLength+=s.blockLength,r-=s.blockLength,this.value.push(s)}return i}toBER(e,n){const r=[];for(let i=0;i<this.value.length;i++){const s=this.value[i].toBER(e);if(s.byteLength===0)return this.error=this.value[i].error,mt;r.push(s)}return nl(r)}fromString(e){this.value=[];let n=0,r=0,i="";do{r=e.indexOf(".",n),r===-1?i=e.substring(n):i=e.substring(n,r),n=r+1;const s=new Ca;if(s.valueDec=parseInt(i,10),isNaN(s.valueDec))return!0;this.value.push(s)}while(r!==-1);return!0}toString(){let e="",n=!1;for(let r=0;r<this.value.length;r++){n=this.value[r].isHexOnly;let i=this.value[r].toString();r!==0&&(e=`${e}.`),n&&(i=`{${i}}`),e+=i}return e}toJSON(){const e={...super.toJSON(),value:this.toString(),sidArray:[]};for(let n=0;n<this.value.length;n++)e.sidArray.push(this.value[n].toJSON());return e}}Wf.NAME="RelativeObjectIdentifierValueBlock";var Gf;class ol extends je{constructor(e={}){super(e,Wf),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()}}}Gf=ol;K.RelativeObjectIdentifier=Gf;ol.NAME="RelativeObjectIdentifier";var Jf;class Ot extends De{constructor(e={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=16}}Jf=Ot;K.Sequence=Jf;Ot.NAME="SEQUENCE";var Zf;let Bt=class extends De{constructor(e={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=17}};Zf=Bt;K.Set=Zf;Bt.NAME="SET";class Yf extends It(Ue){constructor({...e}={}){super(e),this.isHexOnly=!0,this.value=qe}toJSON(){return{...super.toJSON(),value:this.value}}}Yf.NAME="StringValueBlock";class Xf extends Yf{}Xf.NAME="SimpleStringValueBlock";class Ye extends rl{constructor({...e}={}){super(e,Xf)}fromBuffer(e){this.valueBlock.value=String.fromCharCode.apply(null,q.toUint8Array(e))}fromString(e){const n=e.length,r=this.valueBlock.valueHexView=new Uint8Array(n);for(let i=0;i<n;i++)r[i]=e.charCodeAt(i);this.valueBlock.value=e}}Ye.NAME="SIMPLE STRING";class Qf extends Ye{fromBuffer(e){this.valueBlock.valueHexView=q.toUint8Array(e);try{this.valueBlock.value=J.ToUtf8String(e)}catch(n){this.warnings.push(`Error during "decodeURIComponent": ${n}, using raw string`),this.valueBlock.value=J.ToBinary(e)}}fromString(e){this.valueBlock.valueHexView=new Uint8Array(J.FromUtf8String(e)),this.valueBlock.value=e}}Qf.NAME="Utf8StringValueBlock";var eh;class Mt extends Qf{constructor(e={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=12}}eh=Mt;K.Utf8String=eh;Mt.NAME="UTF8String";class th extends Ye{fromBuffer(e){this.valueBlock.value=J.ToUtf16String(e),this.valueBlock.valueHexView=q.toUint8Array(e)}fromString(e){this.valueBlock.value=e,this.valueBlock.valueHexView=new Uint8Array(J.FromUtf16String(e))}}th.NAME="BmpStringValueBlock";var nh;class io extends th{constructor({...e}={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=30}}nh=io;K.BmpString=nh;io.NAME="BMPString";class rh extends Ye{fromBuffer(e){const n=ArrayBuffer.isView(e)?e.slice().buffer:e.slice(0),r=new Uint8Array(n);for(let i=0;i<r.length;i+=4)r[i]=r[i+3],r[i+1]=r[i+2],r[i+2]=0,r[i+3]=0;this.valueBlock.value=String.fromCharCode.apply(null,new Uint32Array(n))}fromString(e){const n=e.length,r=this.valueBlock.valueHexView=new Uint8Array(n*4);for(let i=0;i<n;i++){const s=wn(e.charCodeAt(i),8),o=new Uint8Array(s);if(o.length>4)continue;const c=4-o.length;for(let l=o.length-1;l>=0;l--)r[i*4+l+c]=o[l]}this.valueBlock.value=e}}rh.NAME="UniversalStringValueBlock";var ih;class so extends rh{constructor({...e}={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=28}}ih=so;K.UniversalString=ih;so.NAME="UniversalString";var sh;class oo extends Ye{constructor(e={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=18}}sh=oo;K.NumericString=sh;oo.NAME="NumericString";var oh;class ao extends Ye{constructor(e={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=19}}oh=ao;K.PrintableString=oh;ao.NAME="PrintableString";var ah;class co extends Ye{constructor(e={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=20}}ah=co;K.TeletexString=ah;co.NAME="TeletexString";var ch;class lo extends Ye{constructor(e={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=21}}ch=lo;K.VideotexString=ch;lo.NAME="VideotexString";var lh;class uo extends Ye{constructor(e={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=22}}lh=uo;K.IA5String=lh;uo.NAME="IA5String";var uh;class po extends Ye{constructor(e={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=25}}uh=po;K.GraphicString=uh;po.NAME="GraphicString";var dh;class ci extends Ye{constructor(e={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=26}}dh=ci;K.VisibleString=dh;ci.NAME="VisibleString";var ph;class fo extends Ye{constructor(e={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=27}}ph=fo;K.GeneralString=ph;fo.NAME="GeneralString";var fh;class ho extends Ye{constructor(e={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=29}}fh=ho;K.CharacterString=fh;ho.NAME="CharacterString";var hh;class li extends ci{constructor({value:e,valueDate:n,...r}={}){if(super(r),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 i=0;i<e.length;i++)this.valueBlock.valueHexView[i]=e.charCodeAt(i)}n&&(this.fromDate(n),this.valueBlock.valueHexView=new Uint8Array(this.toBuffer())),this.idBlock.tagClass=1,this.idBlock.tagNumber=23}fromBuffer(e){this.fromString(String.fromCharCode.apply(null,q.toUint8Array(e)))}toBuffer(){const e=this.toString(),n=new ArrayBuffer(e.length),r=new Uint8Array(n);for(let i=0;i<e.length;i++)r[i]=e.charCodeAt(i);return n}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 r=/(\d{2})(\d{2})(\d{2})(\d{2})(\d{2})(\d{2})Z/ig.exec(e);if(r===null){this.error="Wrong input string for conversion";return}const i=parseInt(r[1],10);i>=50?this.year=1900+i:this.year=2e3+i,this.month=parseInt(r[2],10),this.day=parseInt(r[3],10),this.hour=parseInt(r[4],10),this.minute=parseInt(r[5],10),this.second=parseInt(r[6],10)}toString(e="iso"){if(e==="iso"){const n=new Array(7);return n[0]=Je(this.year<2e3?this.year-1900:this.year-2e3,2),n[1]=Je(this.month,2),n[2]=Je(this.day,2),n[3]=Je(this.hour,2),n[4]=Je(this.minute,2),n[5]=Je(this.second,2),n[6]="Z",n.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}}}hh=li;K.UTCTime=hh;li.NAME="UTCTime";var gh;class go extends li{constructor(e={}){var n;super(e),(n=this.millisecond)!==null&&n!==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 n=!1,r="",i="",s=0,o,c=0,l=0;if(e[e.length-1]==="Z")r=e.substring(0,e.length-1),n=!0;else{const h=new Number(e[e.length-1]);if(isNaN(h.valueOf()))throw new Error("Wrong input string for conversion");r=e}if(n){if(r.indexOf("+")!==-1)throw new Error("Wrong input string for conversion");if(r.indexOf("-")!==-1)throw new Error("Wrong input string for conversion")}else{let h=1,m=r.indexOf("+"),v="";if(m===-1&&(m=r.indexOf("-"),h=-1),m!==-1){if(v=r.substring(m+1),r=r.substring(0,m),v.length!==2&&v.length!==4)throw new Error("Wrong input string for conversion");let f=parseInt(v.substring(0,2),10);if(isNaN(f.valueOf()))throw new Error("Wrong input string for conversion");if(c=h*f,v.length===4){if(f=parseInt(v.substring(2,4),10),isNaN(f.valueOf()))throw new Error("Wrong input string for conversion");l=h*f}}}let u=r.indexOf(".");if(u===-1&&(u=r.indexOf(",")),u!==-1){const h=new Number(`0${r.substring(u)}`);if(isNaN(h.valueOf()))throw new Error("Wrong input string for conversion");s=h.valueOf(),i=r.substring(0,u)}else i=r;switch(!0){case i.length===8:if(o=/(\d{4})(\d{2})(\d{2})/ig,u!==-1)throw new Error("Wrong input string for conversion");break;case i.length===10:if(o=/(\d{4})(\d{2})(\d{2})(\d{2})/ig,u!==-1){let h=60*s;this.minute=Math.floor(h),h=60*(h-this.minute),this.second=Math.floor(h),h=1e3*(h-this.second),this.millisecond=Math.floor(h)}break;case i.length===12:if(o=/(\d{4})(\d{2})(\d{2})(\d{2})(\d{2})/ig,u!==-1){let h=60*s;this.second=Math.floor(h),h=1e3*(h-this.second),this.millisecond=Math.floor(h)}break;case i.length===14:if(o=/(\d{4})(\d{2})(\d{2})(\d{2})(\d{2})(\d{2})/ig,u!==-1){const h=1e3*s;this.millisecond=Math.floor(h)}break;default:throw new Error("Wrong input string for conversion")}const p=o.exec(i);if(p===null)throw new Error("Wrong input string for conversion");for(let h=1;h<p.length;h++)switch(h){case 1:this.year=parseInt(p[h],10);break;case 2:this.month=parseInt(p[h],10);break;case 3:this.day=parseInt(p[h],10);break;case 4:this.hour=parseInt(p[h],10)+c;break;case 5:this.minute=parseInt(p[h],10)+l;break;case 6:this.second=parseInt(p[h],10);break;default:throw new Error("Wrong input string for conversion")}if(n===!1){const h=new Date(this.year,this.month,this.day,this.hour,this.minute,this.second,this.millisecond);this.year=h.getUTCFullYear(),this.month=h.getUTCMonth(),this.day=h.getUTCDay(),this.hour=h.getUTCHours(),this.minute=h.getUTCMinutes(),this.second=h.getUTCSeconds(),this.millisecond=h.getUTCMilliseconds()}}toString(e="iso"){if(e==="iso"){const n=[];return n.push(Je(this.year,4)),n.push(Je(this.month,2)),n.push(Je(this.day,2)),n.push(Je(this.hour,2)),n.push(Je(this.minute,2)),n.push(Je(this.second,2)),this.millisecond!==0&&(n.push("."),n.push(Je(this.millisecond,3))),n.push("Z"),n.join("")}return super.toString(e)}toJSON(){return{...super.toJSON(),millisecond:this.millisecond}}}gh=go;K.GeneralizedTime=gh;go.NAME="GeneralizedTime";var mh;class al extends Mt{constructor(e={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=31}}mh=al;K.DATE=mh;al.NAME="DATE";var _h;class cl extends Mt{constructor(e={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=32}}_h=cl;K.TimeOfDay=_h;cl.NAME="TimeOfDay";var yh;class ll extends Mt{constructor(e={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=33}}yh=ll;K.DateTime=yh;ll.NAME="DateTime";var vh;class ul extends Mt{constructor(e={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=34}}vh=ul;K.Duration=vh;ul.NAME="Duration";var wh;class dl extends Mt{constructor(e={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=14}}wh=dl;K.TIME=wh;dl.NAME="TIME";class kn{constructor({name:e=qe,optional:n=!1}={}){this.name=e,this.optional=n}}class pl extends kn{constructor({value:e=[],...n}={}){super(n),this.value=e}}class ls extends kn{constructor({value:e=new kn,local:n=!1,...r}={}){super(r),this.value=e,this.local=n}}class O_{constructor({data:e=eo}={}){this.dataView=q.toUint8Array(e)}get data(){return this.dataView.slice().buffer}set data(e){this.dataView=q.toUint8Array(e)}fromBER(e,n,r){const i=n+r;return this.dataView=q.toUint8Array(e).subarray(n,i),i}toBER(e){return this.dataView.slice().buffer}}function pn(t,e,n){if(n instanceof pl){for(let s=0;s<n.value.length;s++)if(pn(t,e,n.value[s]).verified)return{verified:!0,result:t};{const s={verified:!1,result:{error:"Wrong values for Choice type"}};return n.hasOwnProperty(ta)&&(s.name=n.name),s}}if(n instanceof kn)return n.hasOwnProperty(ta)&&(t[n.name]=e),{verified:!0,result:t};if(!(t instanceof Object))return{verified:!1,result:{error:"Wrong root object"}};if(!(e instanceof Object))return{verified:!1,result:{error:"Wrong ASN.1 data"}};if(!(n instanceof Object))return{verified:!1,result:{error:"Wrong ASN.1 schema"}};if(!(k_ in n))return{verified:!1,result:{error:"Wrong ASN.1 schema"}};if(!(E_ in n.idBlock))return{verified:!1,result:{error:"Wrong ASN.1 schema"}};if(!(I_ in n.idBlock))return{verified:!1,result:{error:"Wrong ASN.1 schema"}};const r=n.idBlock.toBER(!1);if(r.byteLength===0)return{verified:!1,result:{error:"Error encoding idBlock for ASN.1 schema"}};if(n.idBlock.fromBER(r,0,r.byteLength)===-1)return{verified:!1,result:{error:"Error decoding idBlock for ASN.1 schema"}};if(n.idBlock.hasOwnProperty(x_)===!1)return{verified:!1,result:{error:"Wrong ASN.1 schema"}};if(n.idBlock.tagClass!==e.idBlock.tagClass)return{verified:!1,result:t};if(n.idBlock.hasOwnProperty(S_)===!1)return{verified:!1,result:{error:"Wrong ASN.1 schema"}};if(n.idBlock.tagNumber!==e.idBlock.tagNumber)return{verified:!1,result:t};if(n.idBlock.hasOwnProperty(A_)===!1)return{verified:!1,result:{error:"Wrong ASN.1 schema"}};if(n.idBlock.isConstructed!==e.idBlock.isConstructed)return{verified:!1,result:t};if(!(b_ in n.idBlock))return{verified:!1,result:{error:"Wrong ASN.1 schema"}};if(n.idBlock.isHexOnly!==e.idBlock.isHexOnly)return{verified:!1,result:t};if(n.idBlock.isHexOnly){if(!(Lu in n.idBlock))return{verified:!1,result:{error:"Wrong ASN.1 schema"}};const s=n.idBlock.valueHexView,o=e.idBlock.valueHexView;if(s.length!==o.length)return{verified:!1,result:t};for(let c=0;c<s.length;c++)if(s[c]!==o[1])return{verified:!1,result:t}}if(n.name&&(n.name=n.name.replace(/^\s+|\s+$/g,qe),n.name&&(t[n.name]=e)),n instanceof K.Constructed){let s=0,o={verified:!1,result:{error:"Unknown error"}},c=n.valueBlock.value.length;if(c>0&&n.valueBlock.value[0]instanceof ls&&(c=e.valueBlock.value.length),c===0)return{verified:!0,result:t};if(e.valueBlock.value.length===0&&n.valueBlock.value.length!==0){let l=!0;for(let u=0;u<n.valueBlock.value.length;u++)l=l&&(n.valueBlock.value[u].optional||!1);return l?{verified:!0,result:t}:(n.name&&(n.name=n.name.replace(/^\s+|\s+$/g,qe),n.name&&delete t[n.name]),t.error="Inconsistent object length",{verified:!1,result:t})}for(let l=0;l<c;l++)if(l-s>=e.valueBlock.value.length){if(n.valueBlock.value[l].optional===!1){const u={verified:!1,result:t};return t.error="Inconsistent length between ASN.1 data and schema",n.name&&(n.name=n.name.replace(/^\s+|\s+$/g,qe),n.name&&(delete t[n.name],u.name=n.name)),u}}else if(n.valueBlock.value[0]instanceof ls){if(o=pn(t,e.valueBlock.value[l],n.valueBlock.value[0].value),o.verified===!1)if(n.valueBlock.value[0].optional)s++;else return n.name&&(n.name=n.name.replace(/^\s+|\s+$/g,qe),n.name&&delete t[n.name]),o;if(ta in n.valueBlock.value[0]&&n.valueBlock.value[0].name.length>0){let u={};C_ in n.valueBlock.value[0]&&n.valueBlock.value[0].local?u=e:u=t,typeof u[n.valueBlock.value[0].name]>"u"&&(u[n.valueBlock.value[0].name]=[]),u[n.valueBlock.value[0].name].push(e.valueBlock.value[l])}}else if(o=pn(t,e.valueBlock.value[l-s],n.valueBlock.value[l]),o.verified===!1)if(n.valueBlock.value[l].optional)s++;else return n.name&&(n.name=n.name.replace(/^\s+|\s+$/g,qe),n.name&&delete t[n.name]),o;if(o.verified===!1){const l={verified:!1,result:t};return n.name&&(n.name=n.name.replace(/^\s+|\s+$/g,qe),n.name&&(delete t[n.name],l.name=n.name)),l}return{verified:!0,result:t}}if(n.primitiveSchema&&Lu in e.valueBlock){const s=ur(e.valueBlock.valueHexView);if(s.offset===-1){const o={verified:!1,result:s.result};return n.name&&(n.name=n.name.replace(/^\s+|\s+$/g,qe),n.name&&(delete t[n.name],o.name=n.name)),o}return pn(t,s.result,n.primitiveSchema)}return{verified:!0,result:t}}function B_(t,e){if(!(e instanceof Object))return{verified:!1,result:{error:"Wrong ASN.1 schema type"}};const n=ur(q.toUint8Array(t));return n.offset===-1?{verified:!1,result:n.result}:pn(n.result,n.result,e)}const bh=Object.freeze(Object.defineProperty({__proto__:null,Any:kn,BaseBlock:je,BaseStringBlock:rl,BitString:mn,BmpString:io,Boolean:to,CharacterString:ho,Choice:pl,Constructed:De,DATE:al,DateTime:ll,Duration:ul,EndOfContent:il,Enumerated:no,GeneralString:fo,GeneralizedTime:go,GraphicString:po,HexBlock:It,IA5String:uo,Integer:xt,Null:bn,NumericString:oo,ObjectIdentifier:ro,OctetString:gn,Primitive:ai,PrintableString:ao,RawData:O_,RelativeObjectIdentifier:ol,Repeated:ls,Sequence:Ot,Set:Bt,TIME:dl,TeletexString:co,TimeOfDay:cl,UTCTime:li,UniversalString:so,Utf8String:Mt,ValueBlock:Ue,VideotexString:lo,ViewWriter:Qs,VisibleString:ci,compareSchema:pn,fromBER:Fn,verifySchema:B_},Symbol.toStringTag,{value:"Module"}));var T;(function(t){t[t.Sequence=0]="Sequence",t[t.Set=1]="Set",t[t.Choice=2]="Choice"})(T||(T={}));var b;(function(t){t[t.Any=1]="Any",t[t.Boolean=2]="Boolean",t[t.OctetString=3]="OctetString",t[t.BitString=4]="BitString",t[t.Integer=5]="Integer",t[t.Enumerated=6]="Enumerated",t[t.ObjectIdentifier=7]="ObjectIdentifier",t[t.Utf8String=8]="Utf8String",t[t.BmpString=9]="BmpString",t[t.UniversalString=10]="UniversalString",t[t.NumericString=11]="NumericString",t[t.PrintableString=12]="PrintableString",t[t.TeletexString=13]="TeletexString",t[t.VideotexString=14]="VideotexString",t[t.IA5String=15]="IA5String",t[t.GraphicString=16]="GraphicString",t[t.VisibleString=17]="VisibleString",t[t.GeneralString=18]="GeneralString",t[t.CharacterString=19]="CharacterString",t[t.UTCTime=20]="UTCTime",t[t.GeneralizedTime=21]="GeneralizedTime",t[t.DATE=22]="DATE",t[t.TimeOfDay=23]="TimeOfDay",t[t.DateTime=24]="DateTime",t[t.Duration=25]="Duration",t[t.TIME=26]="TIME",t[t.Null=27]="Null"})(b||(b={}));class mo{constructor(e,n=0){if(this.unusedBits=0,this.value=new ArrayBuffer(0),e)if(typeof e=="number")this.fromNumber(e);else if(q.isBufferSource(e))this.unusedBits=n,this.value=q.toArrayBuffer(e);else throw TypeError("Unsupported type of 'params' argument for BitString")}fromASN(e){if(!(e instanceof mn))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 mn({unusedBits:this.unusedBits,valueHex:this.value})}toSchema(e){return new mn({name:e})}toNumber(){let e="";const n=new Uint8Array(this.value);for(const r of n)e+=r.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 n=e.toString(2);const r=n.length+7>>3;this.unusedBits=(r<<3)-n.length;const i=new Uint8Array(r);n=n.padStart(r<<3,"0").split("").reverse().join("");let s=0;for(;s<r;)i[s]=parseInt(n.slice(s<<3,(s<<3)+8),2),s++;this.value=i.buffer}}class ae{get byteLength(){return this.buffer.byteLength}get byteOffset(){return 0}constructor(e){typeof e=="number"?this.buffer=new ArrayBuffer(e):q.isBufferSource(e)?this.buffer=q.toArrayBuffer(e):Array.isArray(e)?this.buffer=new Uint8Array(e):this.buffer=new ArrayBuffer(0)}fromASN(e){if(!(e instanceof gn))throw new TypeError("Argument 'asn' is not instance of ASN.1 OctetString");return this.buffer=e.valueBlock.valueHex,this}toASN(){return new gn({valueHex:this.buffer})}toSchema(e){return new gn({name:e})}}const T_={fromASN:t=>t instanceof bn?null:t.valueBeforeDecodeView,toASN:t=>{if(t===null)return new bn;const e=Fn(t);if(e.result.error)throw new Error(e.result.error);return e.result}},P_={fromASN:t=>t.valueBlock.valueHexView.byteLength>=4?t.valueBlock.toString():t.valueBlock.valueDec,toASN:t=>new xt({value:+t})},R_={fromASN:t=>t.valueBlock.valueDec,toASN:t=>new no({value:t})},_e={fromASN:t=>t.valueBlock.valueHexView,toASN:t=>new xt({valueHex:t})},L_={fromASN:t=>t.valueBlock.valueHexView,toASN:t=>new mn({valueHex:t})},U_={fromASN:t=>t.valueBlock.toString(),toASN:t=>new ro({value:t})},V_={fromASN:t=>t.valueBlock.value,toASN:t=>new to({value:t})},us={fromASN:t=>t.valueBlock.valueHexView,toASN:t=>new gn({valueHex:t})},M_={fromASN:t=>new ae(t.getValue()),toASN:t=>t.toASN()};function it(t){return{fromASN:e=>e.valueBlock.value,toASN:e=>new t({value:e})}}const kh=it(Mt),q_=it(io),D_=it(so),H_=it(oo),F_=it(ao),K_=it(co),W_=it(lo),G_=it(uo),J_=it(po),Z_=it(ci),Y_=it(fo),X_=it(ho),Q_={fromASN:t=>t.toDate(),toASN:t=>new li({valueDate:t})},e0={fromASN:t=>t.toDate(),toASN:t=>new go({valueDate:t})},t0={fromASN:()=>null,toASN:()=>new bn};function fl(t){switch(t){case b.Any:return T_;case b.BitString:return L_;case b.BmpString:return q_;case b.Boolean:return V_;case b.CharacterString:return X_;case b.Enumerated:return R_;case b.GeneralString:return Y_;case b.GeneralizedTime:return e0;case b.GraphicString:return J_;case b.IA5String:return G_;case b.Integer:return P_;case b.Null:return t0;case b.NumericString:return H_;case b.ObjectIdentifier:return U_;case b.OctetString:return us;case b.PrintableString:return F_;case b.TeletexString:return K_;case b.UTCTime:return Q_;case b.UniversalString:return D_;case b.Utf8String:return kh;case b.VideotexString:return W_;case b.VisibleString:return Z_;default:return null}}function jt(t){return typeof t=="function"&&t.prototype?t.prototype.toASN&&t.prototype.fromASN?!0:jt(t.prototype):!!(t&&typeof t=="object"&&"toASN"in t&&"fromASN"in t)}function xh(t){var e;if(t){const n=Object.getPrototypeOf(t);return((e=n==null?void 0:n.prototype)===null||e===void 0?void 0:e.constructor)===Array?!0:xh(n)}return!1}function n0(t,e){if(!(t&&e)||t.byteLength!==e.byteLength)return!1;const n=new Uint8Array(t),r=new Uint8Array(e);for(let i=0;i<t.byteLength;i++)if(n[i]!==r[i])return!1;return!0}class r0{constructor(){this.items=new WeakMap}has(e){return this.items.has(e)}get(e,n=!1){const r=this.items.get(e);if(!r)throw new Error(`Cannot get schema for '${e.prototype.constructor.name}' target`);if(n&&!r.schema)throw new Error(`Schema '${e.prototype.constructor.name}' doesn't contain ASN.1 schema. Call 'AsnSchemaStorage.cache'.`);return r}cache(e){const n=this.get(e);n.schema||(n.schema=this.create(e,!0))}createDefault(e){const n={type:T.Sequence,items:{}},r=this.findParentSchema(e);return r&&(Object.assign(n,r),n.items=Object.assign({},n.items,r.items)),n}create(e,n){const r=this.items.get(e)||this.createDefault(e),i=[];for(const s in r.items){const o=r.items[s],c=n?s:"";let l;if(typeof o.type=="number"){const p=b[o.type],h=bh[p];if(!h)throw new Error(`Cannot get ASN1 class by name '${p}'`);l=new h({name:c})}else jt(o.type)?l=new o.type().toSchema(c):o.optional?this.get(o.type).type===T.Choice?l=new kn({name:c}):(l=this.create(o.type,!1),l.name=c):l=new kn({name:c});const u=!!o.optional||o.defaultValue!==void 0;if(o.repeated){l.name="";const p=o.repeated==="set"?Bt:Ot;l=new p({name:"",value:[new ls({name:c,value:l})]})}if(o.context!==null&&o.context!==void 0)if(o.implicit)if(typeof o.type=="number"||jt(o.type)){const p=o.repeated?De:ai;i.push(new p({name:c,optional:u,idBlock:{tagClass:3,tagNumber:o.context}}))}else{this.cache(o.type);const p=!!o.repeated;let h=p?l:this.get(o.type,!0).schema;h="valueBlock"in h?h.valueBlock.value:h.value,i.push(new De({name:p?"":c,optional:u,idBlock:{tagClass:3,tagNumber:o.context},value:h}))}else i.push(new De({optional:u,idBlock:{tagClass:3,tagNumber:o.context},value:[l]}));else l.optional=u,i.push(l)}switch(r.type){case T.Sequence:return new Ot({value:i,name:""});case T.Set:return new Bt({value:i,name:""});case T.Choice:return new pl({value:i,name:""});default:throw new Error("Unsupported ASN1 type in use")}}set(e,n){return this.items.set(e,n),this}findParentSchema(e){const n=Object.getPrototypeOf(e);return n?this.items.get(n)||this.findParentSchema(n):null}}const et=new r0,P=t=>e=>{let n;et.has(e)?n=et.get(e):(n=et.createDefault(e),et.set(e,n)),Object.assign(n,t)},g=t=>(e,n)=>{let r;et.has(e.constructor)?r=et.get(e.constructor):(r=et.createDefault(e.constructor),et.set(e.constructor,r));const i=Object.assign({},t);if(typeof i.type=="number"&&!i.converter){const s=fl(t.type);if(!s)throw new Error(`Cannot get default converter for property '${n}' of ${e.constructor.name}`);i.converter=s}r.items[n]=i};class Vu extends Error{constructor(){super(...arguments),this.schemas=[]}}class i0{static parse(e,n){const r=Fn(e);if(r.result.error)throw new Error(r.result.error);return this.fromASN(r.result,n)}static fromASN(e,n){var r;try{if(jt(n))return new n().fromASN(e);const i=et.get(n);et.cache(n);let s=i.schema;if(e.constructor===De&&i.type!==T.Choice){s=new De({idBlock:{tagClass:3,tagNumber:e.idBlock.tagNumber},value:i.schema.valueBlock.value});for(const l in i.items)delete e[l]}const o=pn({},e,s);if(!o.verified)throw new Vu(`Data does not match to ${n.name} ASN1 schema. ${o.result.error}`);const c=new n;if(xh(n)){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=i.itemType;if(typeof l=="number"){const u=fl(l);if(!u)throw new Error(`Cannot get default converter for array item of ${n.name} ASN1 schema`);return n.from(e.valueBlock.value,p=>u.fromASN(p))}else return n.from(e.valueBlock.value,u=>this.fromASN(u,l))}for(const l in i.items){const u=o.result[l];if(!u)continue;const p=i.items[l],h=p.type;if(typeof h=="number"||jt(h)){const m=(r=p.converter)!==null&&r!==void 0?r:jt(h)?new h:null;if(!m)throw new Error("Converter is empty");if(p.repeated)if(p.implicit){const v=p.repeated==="sequence"?Ot:Bt,f=new v;f.valueBlock=u.valueBlock;const _=Fn(f.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 w=_.result.valueBlock.value;c[l]=Array.from(w,S=>m.fromASN(S))}else c[l]=Array.from(u,v=>m.fromASN(v));else{let v=u;if(p.implicit){let f;if(jt(h))f=new h().toSchema("");else{const _=b[h],w=bh[_];if(!w)throw new Error(`Cannot get '${_}' class from asn1js module`);f=new w}f.valueBlock=v.valueBlock,v=Fn(f.toBER(!1)).result}c[l]=m.fromASN(v)}}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,h))}else c[l]=this.fromASN(u,h)}return c}catch(i){throw i instanceof Vu&&i.schemas.push(n.name),i}}}class hl{static serialize(e){return e instanceof je?e.toBER(!1):this.toASN(e).toBER(!1)}static toASN(e){if(e&&typeof e=="object"&&jt(e))return e.toASN();if(!(e&&typeof e=="object"))throw new TypeError("Parameter 1 should be type of Object.");const n=e.constructor,r=et.get(n);et.cache(n);let i=[];if(r.itemType){if(!Array.isArray(e))throw new TypeError("Parameter 1 should be type of Array.");if(typeof r.itemType=="number"){const o=fl(r.itemType);if(!o)throw new Error(`Cannot get default converter for array item of ${n.name} ASN1 schema`);i=e.map(c=>o.toASN(c))}else i=e.map(o=>this.toAsnItem({type:r.itemType},"[]",n,o))}else for(const o in r.items){const c=r.items[o],l=e[o];if(l===void 0||c.defaultValue===l||typeof c.defaultValue=="object"&&typeof l=="object"&&n0(this.serialize(c.defaultValue),this.serialize(l)))continue;const u=hl.toAsnItem(c,o,n,l);if(typeof c.context=="number")if(c.implicit)if(!c.repeated&&(typeof c.type=="number"||jt(c.type))){const p={};p.valueHex=u instanceof bn?u.valueBeforeDecodeView:u.valueBlock.toBER(),i.push(new ai({optional:c.optional,idBlock:{tagClass:3,tagNumber:c.context},...p}))}else i.push(new De({optional:c.optional,idBlock:{tagClass:3,tagNumber:c.context},value:u.valueBlock.value}));else i.push(new De({optional:c.optional,idBlock:{tagClass:3,tagNumber:c.context},value:[u]}));else c.repeated?i=i.concat(u):i.push(u)}let s;switch(r.type){case T.Sequence:s=new Ot({value:i});break;case T.Set:s=new Bt({value:i});break;case T.Choice:if(!i[0])throw new Error(`Schema '${n.name}' has wrong data. Choice cannot be empty.`);s=i[0];break}return s}static toAsnItem(e,n,r,i){let s;if(typeof e.type=="number"){const o=e.converter;if(!o)throw new Error(`Property '${n}' doesn't have converter for type ${b[e.type]} in schema '${r.name}'`);if(e.repeated){if(!Array.isArray(i))throw new TypeError("Parameter 'objProp' should be type of Array.");const c=Array.from(i,u=>o.toASN(u)),l=e.repeated==="sequence"?Ot:Bt;s=new l({value:c})}else s=o.toASN(i)}else if(e.repeated){if(!Array.isArray(i))throw new TypeError("Parameter 'objProp' should be type of Array.");const o=Array.from(i,l=>this.toASN(l)),c=e.repeated==="sequence"?Ot:Bt;s=new c({value:o})}else s=this.toASN(i);return s}}class pe extends Array{constructor(e=[]){if(typeof e=="number")super(e);else{super();for(const n of e)this.push(n)}}}class M{static serialize(e){return hl.serialize(e)}static parse(e,n){return i0.parse(e,n)}static toString(e){const n=q.isBufferSource(e)?q.toArrayBuffer(e):M.serialize(e),r=Fn(n);if(r.offset===-1)throw new Error(`Cannot decode ASN.1 data. ${r.result.error}`);return r.result.toString()}}function d(t,e,n,r){var i=arguments.length,s=i<3?e:r===null?r=Object.getOwnPropertyDescriptor(e,n):r,o;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(t,e,n,r);else for(var c=t.length-1;c>=0;c--)(o=t[c])&&(s=(i<3?o(s):i>3?o(e,n,s):o(e,n))||s);return i>3&&s&&Object.defineProperty(e,n,s),s}var Sh={exports:{}};(function(t){(function(e){const n="(0?\\d+|0x[a-f0-9]+)",r={fourOctet:new RegExp(`^${n}\\.${n}\\.${n}\\.${n}$`,"i"),threeOctet:new RegExp(`^${n}\\.${n}\\.${n}$`,"i"),twoOctet:new RegExp(`^${n}\\.${n}$`,"i"),longValue:new RegExp(`^${n}$`,"i")},i=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(`^(?:::)(${n}\\.${n}\\.${n}\\.${n}(${o})?)$`,"i"),transitional:new RegExp(`^((?:${c})|(?:::)(?:${c})?)${n}\\.${n}\\.${n}\\.${n}(${o})?$`,"i")};function u(f,_){if(f.indexOf("::")!==f.lastIndexOf("::"))return null;let w=0,S=-1,N=(f.match(l.zoneIndex)||[])[0],B,R;for(N&&(N=N.substring(1),f=f.replace(/%.+$/,""));(S=f.indexOf(":",S+1))>=0;)w++;if(f.substr(0,2)==="::"&&w--,f.substr(-2,2)==="::"&&w--,w>_)return null;for(R=_-w,B=":";R--;)B+="0:";return f=f.replace("::",B),f[0]===":"&&(f=f.slice(1)),f[f.length-1]===":"&&(f=f.slice(0,-1)),_=function(){const te=f.split(":"),fe=[];for(let le=0;le<te.length;le++)fe.push(parseInt(te[le],16));return fe}(),{parts:_,zoneId:N}}function p(f,_,w,S){if(f.length!==_.length)throw new Error("ipaddr: cannot match CIDR for objects with different lengths");let N=0,B;for(;S>0;){if(B=w-S,B<0&&(B=0),f[N]>>B!==_[N]>>B)return!1;S-=w,N+=1}return!0}function h(f){if(s.test(f))return parseInt(f,16);if(f[0]==="0"&&!isNaN(parseInt(f[1],10))){if(i.test(f))return parseInt(f,8);throw new Error(`ipaddr: cannot parse ${f} as octal`)}return parseInt(f,10)}function m(f,_){for(;f.length<_;)f=`0${f}`;return f}const v={};v.IPv4=function(){function f(_){if(_.length!==4)throw new Error("ipaddr: ipv4 octet count should be 4");let w,S;for(w=0;w<_.length;w++)if(S=_[w],!(0<=S&&S<=255))throw new Error("ipaddr: ipv4 octet should fit in 8 bits");this.octets=_}return f.prototype.SpecialRanges={unspecified:[[new f([0,0,0,0]),8]],broadcast:[[new f([255,255,255,255]),32]],multicast:[[new f([224,0,0,0]),4]],linkLocal:[[new f([169,254,0,0]),16]],loopback:[[new f([127,0,0,0]),8]],carrierGradeNat:[[new f([100,64,0,0]),10]],private:[[new f([10,0,0,0]),8],[new f([172,16,0,0]),12],[new f([192,168,0,0]),16]],reserved:[[new f([192,0,0,0]),24],[new f([192,0,2,0]),24],[new f([192,88,99,0]),24],[new f([198,18,0,0]),15],[new f([198,51,100,0]),24],[new f([203,0,113,0]),24],[new f([240,0,0,0]),4]],as112:[[new f([192,175,48,0]),24],[new f([192,31,196,0]),24]],amt:[[new f([192,52,193,0]),24]]},f.prototype.kind=function(){return"ipv4"},f.prototype.match=function(_,w){let S;if(w===void 0&&(S=_,_=S[0],w=S[1]),_.kind()!=="ipv4")throw new Error("ipaddr: cannot match ipv4 address with non-ipv4 one");return p(this.octets,_.octets,8,w)},f.prototype.prefixLengthFromSubnetMask=function(){let _=0,w=!1;const S={0:8,128:7,192:6,224:5,240:4,248:3,252:2,254:1,255:0};let N,B,R;for(N=3;N>=0;N-=1)if(B=this.octets[N],B in S){if(R=S[B],w&&R!==0)return null;R!==8&&(w=!0),_+=R}else return null;return 32-_},f.prototype.range=function(){return v.subnetMatch(this,this.SpecialRanges)},f.prototype.toByteArray=function(){return this.octets.slice(0)},f.prototype.toIPv4MappedAddress=function(){return v.IPv6.parse(`::ffff:${this.toString()}`)},f.prototype.toNormalizedString=function(){return this.toString()},f.prototype.toString=function(){return this.octets.join(".")},f}(),v.IPv4.broadcastAddressFromCIDR=function(f){try{const _=this.parseCIDR(f),w=_[0].toByteArray(),S=this.subnetMaskFromPrefixLength(_[1]).toByteArray(),N=[];let B=0;for(;B<4;)N.push(parseInt(w[B],10)|parseInt(S[B],10)^255),B++;return new this(N)}catch{throw new Error("ipaddr: the address does not have IPv4 CIDR format")}},v.IPv4.isIPv4=function(f){return this.parser(f)!==null},v.IPv4.isValid=function(f){try{return new this(this.parser(f)),!0}catch{return!1}},v.IPv4.isValidCIDR=function(f){try{return this.parseCIDR(f),!0}catch{return!1}},v.IPv4.isValidFourPartDecimal=function(f){return!!(v.IPv4.isValid(f)&&f.match(/^(0|[1-9]\d*)(\.(0|[1-9]\d*)){3}$/))},v.IPv4.networkAddressFromCIDR=function(f){let _,w,S,N,B;try{for(_=this.parseCIDR(f),S=_[0].toByteArray(),B=this.subnetMaskFromPrefixLength(_[1]).toByteArray(),N=[],w=0;w<4;)N.push(parseInt(S[w],10)&parseInt(B[w],10)),w++;return new this(N)}catch{throw new Error("ipaddr: the address does not have IPv4 CIDR format")}},v.IPv4.parse=function(f){const _=this.parser(f);if(_===null)throw new Error("ipaddr: string is not formatted like an IPv4 Address");return new this(_)},v.IPv4.parseCIDR=function(f){let _;if(_=f.match(/^(.+)\/(\d+)$/)){const w=parseInt(_[2]);if(w>=0&&w<=32){const S=[this.parse(_[1]),w];return Object.defineProperty(S,"toString",{value:function(){return this.join("/")}}),S}}throw new Error("ipaddr: string is not formatted like an IPv4 CIDR range")},v.IPv4.parser=function(f){let _,w,S;if(_=f.match(r.fourOctet))return function(){const N=_.slice(1,6),B=[];for(let R=0;R<N.length;R++)w=N[R],B.push(h(w));return B}();if(_=f.match(r.longValue)){if(S=h(_[1]),S>4294967295||S<0)throw new Error("ipaddr: address outside defined range");return function(){const N=[];let B;for(B=0;B<=24;B+=8)N.push(S>>B&255);return N}().reverse()}else return(_=f.match(r.twoOctet))?function(){const N=_.slice(1,4),B=[];if(S=h(N[1]),S>16777215||S<0)throw new Error("ipaddr: address outside defined range");return B.push(h(N[0])),B.push(S>>16&255),B.push(S>>8&255),B.push(S&255),B}():(_=f.match(r.threeOctet))?function(){const N=_.slice(1,5),B=[];if(S=h(N[2]),S>65535||S<0)throw new Error("ipaddr: address outside defined range");return B.push(h(N[0])),B.push(h(N[1])),B.push(S>>8&255),B.push(S&255),B}():null},v.IPv4.subnetMaskFromPrefixLength=function(f){if(f=parseInt(f),f<0||f>32)throw new Error("ipaddr: invalid IPv4 prefix length");const _=[0,0,0,0];let w=0;const S=Math.floor(f/8);for(;w<S;)_[w]=255,w++;return S<4&&(_[S]=Math.pow(2,f%8)-1<<8-f%8),new this(_)},v.IPv6=function(){function f(_,w){let S,N;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(N=this.parts[S],!(0<=N&&N<=65535))throw new Error("ipaddr: ipv6 part should fit in 16 bits");w&&(this.zoneId=w)}return f.prototype.SpecialRanges={unspecified:[new f([0,0,0,0,0,0,0,0]),128],linkLocal:[new f([65152,0,0,0,0,0,0,0]),10],multicast:[new f([65280,0,0,0,0,0,0,0]),8],loopback:[new f([0,0,0,0,0,0,0,1]),128],uniqueLocal:[new f([64512,0,0,0,0,0,0,0]),7],ipv4Mapped:[new f([0,0,0,0,0,65535,0,0]),96],discard:[new f([256,0,0,0,0,0,0,0]),64],rfc6145:[new f([0,0,0,0,65535,0,0,0]),96],rfc6052:[new f([100,65435,0,0,0,0,0,0]),96],"6to4":[new f([8194,0,0,0,0,0,0,0]),16],teredo:[new f([8193,0,0,0,0,0,0,0]),32],benchmarking:[new f([8193,2,0,0,0,0,0,0]),48],amt:[new f([8193,3,0,0,0,0,0,0]),32],as112v6:[[new f([8193,4,274,0,0,0,0,0]),48],[new f([9760,79,32768,0,0,0,0,0]),48]],deprecated:[new f([8193,16,0,0,0,0,0,0]),28],orchid2:[new f([8193,32,0,0,0,0,0,0]),28],droneRemoteIdProtocolEntityTags:[new f([8193,48,0,0,0,0,0,0]),28],reserved:[[new f([8193,0,0,0,0,0,0,0]),23],[new f([8193,3512,0,0,0,0,0,0]),32]]},f.prototype.isIPv4MappedAddress=function(){return this.range()==="ipv4Mapped"},f.prototype.kind=function(){return"ipv6"},f.prototype.match=function(_,w){let S;if(w===void 0&&(S=_,_=S[0],w=S[1]),_.kind()!=="ipv6")throw new Error("ipaddr: cannot match ipv6 address with non-ipv6 one");return p(this.parts,_.parts,16,w)},f.prototype.prefixLengthFromSubnetMask=function(){let _=0,w=!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 N,B;for(let R=7;R>=0;R-=1)if(N=this.parts[R],N in S){if(B=S[N],w&&B!==0)return null;B!==16&&(w=!0),_+=B}else return null;return 128-_},f.prototype.range=function(){return v.subnetMatch(this,this.SpecialRanges)},f.prototype.toByteArray=function(){let _;const w=[],S=this.parts;for(let N=0;N<S.length;N++)_=S[N],w.push(_>>8),w.push(_&255);return w},f.prototype.toFixedLengthString=function(){const _=(function(){const S=[];for(let N=0;N<this.parts.length;N++)S.push(m(this.parts[N].toString(16),4));return S}).call(this).join(":");let w="";return this.zoneId&&(w=`%${this.zoneId}`),_+w},f.prototype.toIPv4Address=function(){if(!this.isIPv4MappedAddress())throw new Error("ipaddr: trying to convert a generic ipv6 address to ipv4");const _=this.parts.slice(-2),w=_[0],S=_[1];return new v.IPv4([w>>8,w&255,S>>8,S&255])},f.prototype.toNormalizedString=function(){const _=(function(){const S=[];for(let N=0;N<this.parts.length;N++)S.push(this.parts[N].toString(16));return S}).call(this).join(":");let w="";return this.zoneId&&(w=`%${this.zoneId}`),_+w},f.prototype.toRFC5952String=function(){const _=/((^|:)(0(:|$)){2,})/g,w=this.toNormalizedString();let S=0,N=-1,B;for(;B=_.exec(w);)B[0].length>N&&(S=B.index,N=B[0].length);return N<0?w:`${w.substring(0,S)}::${w.substring(S+N)}`},f.prototype.toString=function(){return this.toRFC5952String()},f}(),v.IPv6.broadcastAddressFromCIDR=function(f){try{const _=this.parseCIDR(f),w=_[0].toByteArray(),S=this.subnetMaskFromPrefixLength(_[1]).toByteArray(),N=[];let B=0;for(;B<16;)N.push(parseInt(w[B],10)|parseInt(S[B],10)^255),B++;return new this(N)}catch(_){throw new Error(`ipaddr: the address does not have IPv6 CIDR format (${_})`)}},v.IPv6.isIPv6=function(f){return this.parser(f)!==null},v.IPv6.isValid=function(f){if(typeof f=="string"&&f.indexOf(":")===-1)return!1;try{const _=this.parser(f);return new this(_.parts,_.zoneId),!0}catch{return!1}},v.IPv6.isValidCIDR=function(f){if(typeof f=="string"&&f.indexOf(":")===-1)return!1;try{return this.parseCIDR(f),!0}catch{return!1}},v.IPv6.networkAddressFromCIDR=function(f){let _,w,S,N,B;try{for(_=this.parseCIDR(f),S=_[0].toByteArray(),B=this.subnetMaskFromPrefixLength(_[1]).toByteArray(),N=[],w=0;w<16;)N.push(parseInt(S[w],10)&parseInt(B[w],10)),w++;return new this(N)}catch(R){throw new Error(`ipaddr: the address does not have IPv6 CIDR format (${R})`)}},v.IPv6.parse=function(f){const _=this.parser(f);if(_.parts===null)throw new Error("ipaddr: string is not formatted like an IPv6 Address");return new this(_.parts,_.zoneId)},v.IPv6.parseCIDR=function(f){let _,w,S;if((w=f.match(/^(.+)\/(\d+)$/))&&(_=parseInt(w[2]),_>=0&&_<=128))return S=[this.parse(w[1]),_],Object.defineProperty(S,"toString",{value:function(){return this.join("/")}}),S;throw new Error("ipaddr: string is not formatted like an IPv6 CIDR range")},v.IPv6.parser=function(f){let _,w,S,N,B,R;if(S=f.match(l.deprecatedTransitional))return this.parser(`::ffff:${S[1]}`);if(l.native.test(f))return u(f,8);if((S=f.match(l.transitional))&&(R=S[6]||"",_=S[1],S[1].endsWith("::")||(_=_.slice(0,-1)),_=u(_+R,6),_.parts)){for(B=[parseInt(S[2]),parseInt(S[3]),parseInt(S[4]),parseInt(S[5])],w=0;w<B.length;w++)if(N=B[w],!(0<=N&&N<=255))return null;return _.parts.push(B[0]<<8|B[1]),_.parts.push(B[2]<<8|B[3]),{parts:_.parts,zoneId:_.zoneId}}return null},v.IPv6.subnetMaskFromPrefixLength=function(f){if(f=parseInt(f),f<0||f>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 w=0;const S=Math.floor(f/8);for(;w<S;)_[w]=255,w++;return S<16&&(_[S]=Math.pow(2,f%8)-1<<8-f%8),new this(_)},v.fromByteArray=function(f){const _=f.length;if(_===4)return new v.IPv4(f);if(_===16)return new v.IPv6(f);throw new Error("ipaddr: the binary input is neither an IPv6 nor IPv4 address")},v.isValid=function(f){return v.IPv6.isValid(f)||v.IPv4.isValid(f)},v.isValidCIDR=function(f){return v.IPv6.isValidCIDR(f)||v.IPv4.isValidCIDR(f)},v.parse=function(f){if(v.IPv6.isValid(f))return v.IPv6.parse(f);if(v.IPv4.isValid(f))return v.IPv4.parse(f);throw new Error("ipaddr: the address has neither IPv6 nor IPv4 format")},v.parseCIDR=function(f){try{return v.IPv6.parseCIDR(f)}catch{try{return v.IPv4.parseCIDR(f)}catch{throw new Error("ipaddr: the address has neither IPv6 nor IPv4 CIDR format")}}},v.process=function(f){const _=this.parse(f);return _.kind()==="ipv6"&&_.isIPv4MappedAddress()?_.toIPv4Address():_},v.subnetMatch=function(f,_,w){let S,N,B,R;w==null&&(w="unicast");for(N in _)if(Object.prototype.hasOwnProperty.call(_,N)){for(B=_[N],B[0]&&!(B[0]instanceof Array)&&(B=[B]),S=0;S<B.length;S++)if(R=B[S],f.kind()===R[0].kind()&&f.match.apply(f,R))return N}return w},t.exports?t.exports=v:e.ipaddr=v})(as)})(Sh);var Mu=Sh.exports;class qu{static decodeIP(e){if(e.length===64&&parseInt(e,16)===0)return"::/0";if(e.length!==16)return e;const n=parseInt(e.slice(8),16).toString(2).split("").reduce((i,s)=>i+ +s,0);let r=e.slice(0,8).replace(/(.{2})/g,i=>`${parseInt(i,16)}.`);return r=r.slice(0,-1),`${r}/${n}`}static toString(e){if(e.byteLength===4||e.byteLength===16){const n=new Uint8Array(e);return Mu.fromByteArray(Array.from(n)).toString()}return this.decodeIP(J.ToHex(e))}static fromString(e){const n=Mu.parse(e);return new Uint8Array(n.toByteArray()).buffer}}var Na,za,$a;let Oe=class{constructor(e={}){Object.assign(this,e)}toString(){return this.bmpString||this.printableString||this.teletexString||this.universalString||this.utf8String||""}};d([g({type:b.TeletexString})],Oe.prototype,"teletexString",void 0);d([g({type:b.PrintableString})],Oe.prototype,"printableString",void 0);d([g({type:b.UniversalString})],Oe.prototype,"universalString",void 0);d([g({type:b.Utf8String})],Oe.prototype,"utf8String",void 0);d([g({type:b.BmpString})],Oe.prototype,"bmpString",void 0);Oe=d([P({type:T.Choice})],Oe);let Zn=class extends Oe{constructor(e={}){super(e),Object.assign(this,e)}toString(){return this.ia5String||(this.anyValue?J.ToHex(this.anyValue):super.toString())}};d([g({type:b.IA5String})],Zn.prototype,"ia5String",void 0);d([g({type:b.Any})],Zn.prototype,"anyValue",void 0);Zn=d([P({type:T.Choice})],Zn);class _o{constructor(e={}){this.type="",this.value=new Zn,Object.assign(this,e)}}d([g({type:b.ObjectIdentifier})],_o.prototype,"type",void 0);d([g({type:Zn})],_o.prototype,"value",void 0);let Yn=Na=class extends pe{constructor(e){super(e),Object.setPrototypeOf(this,Na.prototype)}};Yn=Na=d([P({type:T.Set,itemType:_o})],Yn);let ja=za=class extends pe{constructor(e){super(e),Object.setPrototypeOf(this,za.prototype)}};ja=za=d([P({type:T.Sequence,itemType:Yn})],ja);let ke=$a=class extends ja{constructor(e){super(e),Object.setPrototypeOf(this,$a.prototype)}};ke=$a=d([P({type:T.Sequence})],ke);const s0={fromASN:t=>qu.toString(us.fromASN(t)),toASN:t=>us.toASN(qu.fromString(t))};class Mr{constructor(e={}){this.typeId="",this.value=new ArrayBuffer(0),Object.assign(this,e)}}d([g({type:b.ObjectIdentifier})],Mr.prototype,"typeId",void 0);d([g({type:b.Any,context:0})],Mr.prototype,"value",void 0);class gl{constructor(e={}){this.partyName=new Oe,Object.assign(this,e)}}d([g({type:Oe,optional:!0,context:0,implicit:!0})],gl.prototype,"nameAssigner",void 0);d([g({type:Oe,context:1,implicit:!0})],gl.prototype,"partyName",void 0);let re=class{constructor(e={}){Object.assign(this,e)}};d([g({type:Mr,context:0,implicit:!0})],re.prototype,"otherName",void 0);d([g({type:b.IA5String,context:1,implicit:!0})],re.prototype,"rfc822Name",void 0);d([g({type:b.IA5String,context:2,implicit:!0})],re.prototype,"dNSName",void 0);d([g({type:b.Any,context:3,implicit:!0})],re.prototype,"x400Address",void 0);d([g({type:ke,context:4,implicit:!1})],re.prototype,"directoryName",void 0);d([g({type:gl,context:5})],re.prototype,"ediPartyName",void 0);d([g({type:b.IA5String,context:6,implicit:!0})],re.prototype,"uniformResourceIdentifier",void 0);d([g({type:b.OctetString,context:7,implicit:!0,converter:s0})],re.prototype,"iPAddress",void 0);d([g({type:b.ObjectIdentifier,context:8,implicit:!0})],re.prototype,"registeredID",void 0);re=d([P({type:T.Choice})],re);const ml="1.3.6.1.5.5.7",o0=`${ml}.1`,dr=`${ml}.3`,yo=`${ml}.48`,Du=`${yo}.1`,Hu=`${yo}.2`,Fu=`${yo}.3`,Ku=`${yo}.5`,nn="2.5.29";var Oa;const Ba=`${o0}.1`;class ui{constructor(e={}){this.accessMethod="",this.accessLocation=new re,Object.assign(this,e)}}d([g({type:b.ObjectIdentifier})],ui.prototype,"accessMethod",void 0);d([g({type:re})],ui.prototype,"accessLocation",void 0);let Dn=Oa=class extends pe{constructor(e){super(e),Object.setPrototypeOf(this,Oa.prototype)}};Dn=Oa=d([P({type:T.Sequence,itemType:ui})],Dn);const Ta=`${nn}.35`;class _l extends ae{}class fn{constructor(e={}){e&&Object.assign(this,e)}}d([g({type:_l,context:0,optional:!0,implicit:!0})],fn.prototype,"keyIdentifier",void 0);d([g({type:re,context:1,optional:!0,implicit:!0,repeated:"sequence"})],fn.prototype,"authorityCertIssuer",void 0);d([g({type:b.Integer,context:2,optional:!0,implicit:!0,converter:_e})],fn.prototype,"authorityCertSerialNumber",void 0);const Ah=`${nn}.19`;class ds{constructor(e={}){this.cA=!1,Object.assign(this,e)}}d([g({type:b.Boolean,defaultValue:!1})],ds.prototype,"cA",void 0);d([g({type:b.Integer,optional:!0})],ds.prototype,"pathLenConstraint",void 0);var Pa;let Le=Pa=class extends pe{constructor(e){super(e),Object.setPrototypeOf(this,Pa.prototype)}};Le=Pa=d([P({type:T.Sequence,itemType:re})],Le);var Ra;let Wu=Ra=class extends Le{constructor(e){super(e),Object.setPrototypeOf(this,Ra.prototype)}};Wu=Ra=d([P({type:T.Sequence})],Wu);var La;const Eh=`${nn}.32`;let Tt=class{constructor(e={}){Object.assign(this,e)}toString(){return this.ia5String||this.visibleString||this.bmpString||this.utf8String||""}};d([g({type:b.IA5String})],Tt.prototype,"ia5String",void 0);d([g({type:b.VisibleString})],Tt.prototype,"visibleString",void 0);d([g({type:b.BmpString})],Tt.prototype,"bmpString",void 0);d([g({type:b.Utf8String})],Tt.prototype,"utf8String",void 0);Tt=d([P({type:T.Choice})],Tt);class yl{constructor(e={}){this.organization=new Tt,this.noticeNumbers=[],Object.assign(this,e)}}d([g({type:Tt})],yl.prototype,"organization",void 0);d([g({type:b.Integer,repeated:"sequence"})],yl.prototype,"noticeNumbers",void 0);class vl{constructor(e={}){Object.assign(this,e)}}d([g({type:yl,optional:!0})],vl.prototype,"noticeRef",void 0);d([g({type:Tt,optional:!0})],vl.prototype,"explicitText",void 0);let ps=class{constructor(e={}){Object.assign(this,e)}};d([g({type:b.IA5String})],ps.prototype,"cPSuri",void 0);d([g({type:vl})],ps.prototype,"userNotice",void 0);ps=d([P({type:T.Choice})],ps);class wl{constructor(e={}){this.policyQualifierId="",this.qualifier=new ArrayBuffer(0),Object.assign(this,e)}}d([g({type:b.ObjectIdentifier})],wl.prototype,"policyQualifierId",void 0);d([g({type:b.Any})],wl.prototype,"qualifier",void 0);class vo{constructor(e={}){this.policyIdentifier="",Object.assign(this,e)}}d([g({type:b.ObjectIdentifier})],vo.prototype,"policyIdentifier",void 0);d([g({type:wl,repeated:"sequence",optional:!0})],vo.prototype,"policyQualifiers",void 0);let fs=La=class extends pe{constructor(e){super(e),Object.setPrototypeOf(this,La.prototype)}};fs=La=d([P({type:T.Sequence,itemType:vo})],fs);let hs=class{constructor(e=0){this.value=e}};d([g({type:b.Integer})],hs.prototype,"value",void 0);hs=d([P({type:T.Choice})],hs);let Gu=class extends hs{};Gu=d([P({type:T.Choice})],Gu);var Ua;const Va=`${nn}.31`;var lt;(function(t){t[t.unused=1]="unused",t[t.keyCompromise=2]="keyCompromise",t[t.cACompromise=4]="cACompromise",t[t.affiliationChanged=8]="affiliationChanged",t[t.superseded=16]="superseded",t[t.cessationOfOperation=32]="cessationOfOperation",t[t.certificateHold=64]="certificateHold",t[t.privilegeWithdrawn=128]="privilegeWithdrawn",t[t.aACompromise=256]="aACompromise"})(lt||(lt={}));class Ih extends mo{toJSON(){const e=[],n=this.toNumber();return n<.aACompromise&&e.push("aACompromise"),n<.affiliationChanged&&e.push("affiliationChanged"),n<.cACompromise&&e.push("cACompromise"),n<.certificateHold&&e.push("certificateHold"),n<.cessationOfOperation&&e.push("cessationOfOperation"),n<.keyCompromise&&e.push("keyCompromise"),n<.privilegeWithdrawn&&e.push("privilegeWithdrawn"),n<.superseded&&e.push("superseded"),n<.unused&&e.push("unused"),e}toString(){return`[${this.toJSON().join(", ")}]`}}let xn=class{constructor(e={}){Object.assign(this,e)}};d([g({type:re,context:0,repeated:"sequence",implicit:!0})],xn.prototype,"fullName",void 0);d([g({type:Yn,context:1,implicit:!0})],xn.prototype,"nameRelativeToCRLIssuer",void 0);xn=d([P({type:T.Choice})],xn);class pr{constructor(e={}){Object.assign(this,e)}}d([g({type:xn,context:0,optional:!0})],pr.prototype,"distributionPoint",void 0);d([g({type:Ih,context:1,optional:!0,implicit:!0})],pr.prototype,"reasons",void 0);d([g({type:re,context:2,optional:!0,repeated:"sequence",implicit:!0})],pr.prototype,"cRLIssuer",void 0);let Kn=Ua=class extends pe{constructor(e){super(e),Object.setPrototypeOf(this,Ua.prototype)}};Kn=Ua=d([P({type:T.Sequence,itemType:pr})],Kn);var Ma;let Ju=Ma=class extends Kn{constructor(e){super(e),Object.setPrototypeOf(this,Ma.prototype)}};Ju=Ma=d([P({type:T.Sequence,itemType:pr})],Ju);class Te{constructor(e={}){this.onlyContainsUserCerts=Te.ONLY,this.onlyContainsCACerts=Te.ONLY,this.indirectCRL=Te.ONLY,this.onlyContainsAttributeCerts=Te.ONLY,Object.assign(this,e)}}Te.ONLY=!1;d([g({type:xn,context:0,optional:!0})],Te.prototype,"distributionPoint",void 0);d([g({type:b.Boolean,context:1,defaultValue:Te.ONLY,implicit:!0})],Te.prototype,"onlyContainsUserCerts",void 0);d([g({type:b.Boolean,context:2,defaultValue:Te.ONLY,implicit:!0})],Te.prototype,"onlyContainsCACerts",void 0);d([g({type:Ih,context:3,optional:!0,implicit:!0})],Te.prototype,"onlySomeReasons",void 0);d([g({type:b.Boolean,context:4,defaultValue:Te.ONLY,implicit:!0})],Te.prototype,"indirectCRL",void 0);d([g({type:b.Boolean,context:5,defaultValue:Te.ONLY,implicit:!0})],Te.prototype,"onlyContainsAttributeCerts",void 0);var Or;(function(t){t[t.unspecified=0]="unspecified",t[t.keyCompromise=1]="keyCompromise",t[t.cACompromise=2]="cACompromise",t[t.affiliationChanged=3]="affiliationChanged",t[t.superseded=4]="superseded",t[t.cessationOfOperation=5]="cessationOfOperation",t[t.certificateHold=6]="certificateHold",t[t.removeFromCRL=8]="removeFromCRL",t[t.privilegeWithdrawn=9]="privilegeWithdrawn",t[t.aACompromise=10]="aACompromise"})(Or||(Or={}));let qa=class{constructor(e=Or.unspecified){this.reason=Or.unspecified,this.reason=e}toJSON(){return Or[this.reason]}toString(){return this.toJSON()}};d([g({type:b.Enumerated})],qa.prototype,"reason",void 0);qa=d([P({type:T.Choice})],qa);var Da;const Ch=`${nn}.37`;let gs=Da=class extends pe{constructor(e){super(e),Object.setPrototypeOf(this,Da.prototype)}};gs=Da=d([P({type:T.Sequence,itemType:b.ObjectIdentifier})],gs);const a0=`${dr}.1`,c0=`${dr}.2`,l0=`${dr}.3`,u0=`${dr}.4`,d0=`${dr}.8`,p0=`${dr}.9`;let Ha=class{constructor(e=new ArrayBuffer(0)){this.value=e}};d([g({type:b.Integer,converter:_e})],Ha.prototype,"value",void 0);Ha=d([P({type:T.Choice})],Ha);let Fa=class{constructor(e){this.value=new Date,e&&(this.value=e)}};d([g({type:b.GeneralizedTime})],Fa.prototype,"value",void 0);Fa=d([P({type:T.Choice})],Fa);var Ka;let Zu=Ka=class extends Le{constructor(e){super(e),Object.setPrototypeOf(this,Ka.prototype)}};Zu=Ka=d([P({type:T.Sequence})],Zu);const Nh=`${nn}.15`;var ut;(function(t){t[t.digitalSignature=1]="digitalSignature",t[t.nonRepudiation=2]="nonRepudiation",t[t.keyEncipherment=4]="keyEncipherment",t[t.dataEncipherment=8]="dataEncipherment",t[t.keyAgreement=16]="keyAgreement",t[t.keyCertSign=32]="keyCertSign",t[t.cRLSign=64]="cRLSign",t[t.encipherOnly=128]="encipherOnly",t[t.decipherOnly=256]="decipherOnly"})(ut||(ut={}));class na extends mo{toJSON(){const e=this.toNumber(),n=[];return e&ut.cRLSign&&n.push("crlSign"),e&ut.dataEncipherment&&n.push("dataEncipherment"),e&ut.decipherOnly&&n.push("decipherOnly"),e&ut.digitalSignature&&n.push("digitalSignature"),e&ut.encipherOnly&&n.push("encipherOnly"),e&ut.keyAgreement&&n.push("keyAgreement"),e&ut.keyCertSign&&n.push("keyCertSign"),e&ut.keyEncipherment&&n.push("keyEncipherment"),e&ut.nonRepudiation&&n.push("nonRepudiation"),n}toString(){return`[${this.toJSON().join(", ")}]`}}var Wa;class wo{constructor(e={}){this.base=new re,this.minimum=0,Object.assign(this,e)}}d([g({type:re})],wo.prototype,"base",void 0);d([g({type:b.Integer,context:0,defaultValue:0,implicit:!0})],wo.prototype,"minimum",void 0);d([g({type:b.Integer,context:1,optional:!0,implicit:!0})],wo.prototype,"maximum",void 0);let ms=Wa=class extends pe{constructor(e){super(e),Object.setPrototypeOf(this,Wa.prototype)}};ms=Wa=d([P({type:T.Sequence,itemType:wo})],ms);class zh{constructor(e={}){Object.assign(this,e)}}d([g({type:ms,context:0,optional:!0,implicit:!0})],zh.prototype,"permittedSubtrees",void 0);d([g({type:ms,context:1,optional:!0,implicit:!0})],zh.prototype,"excludedSubtrees",void 0);class $h{constructor(e={}){Object.assign(this,e)}}d([g({type:b.Integer,context:0,implicit:!0,optional:!0,converter:_e})],$h.prototype,"requireExplicitPolicy",void 0);d([g({type:b.Integer,context:1,implicit:!0,optional:!0,converter:_e})],$h.prototype,"inhibitPolicyMapping",void 0);var Ga;class bl{constructor(e={}){this.issuerDomainPolicy="",this.subjectDomainPolicy="",Object.assign(this,e)}}d([g({type:b.ObjectIdentifier})],bl.prototype,"issuerDomainPolicy",void 0);d([g({type:b.ObjectIdentifier})],bl.prototype,"subjectDomainPolicy",void 0);let Yu=Ga=class extends pe{constructor(e){super(e),Object.setPrototypeOf(this,Ga.prototype)}};Yu=Ga=d([P({type:T.Sequence,itemType:bl})],Yu);var Ja;const jh=`${nn}.17`;let Za=Ja=class extends Le{constructor(e){super(e),Object.setPrototypeOf(this,Ja.prototype)}};Za=Ja=d([P({type:T.Sequence})],Za);let Pt=class{constructor(e={}){this.type="",this.values=[],Object.assign(this,e)}};d([g({type:b.ObjectIdentifier})],Pt.prototype,"type",void 0);d([g({type:b.Any,repeated:"set"})],Pt.prototype,"values",void 0);var Ya;let Xu=Ya=class extends pe{constructor(e){super(e),Object.setPrototypeOf(this,Ya.prototype)}};Xu=Ya=d([P({type:T.Sequence,itemType:Pt})],Xu);const Oh=`${nn}.14`;class Wt extends _l{}class Bh{constructor(e={}){Object.assign(this,e)}}d([g({type:b.GeneralizedTime,context:0,implicit:!0,optional:!0})],Bh.prototype,"notBefore",void 0);d([g({type:b.GeneralizedTime,context:1,implicit:!0,optional:!0})],Bh.prototype,"notAfter",void 0);var Br;(function(t){t[t.keyUpdateAllowed=1]="keyUpdateAllowed",t[t.newExtensions=2]="newExtensions",t[t.pKIXCertificate=4]="pKIXCertificate"})(Br||(Br={}));class Th extends mo{toJSON(){const e=[],n=this.toNumber();return n&Br.pKIXCertificate&&e.push("pKIXCertificate"),n&Br.newExtensions&&e.push("newExtensions"),n&Br.keyUpdateAllowed&&e.push("keyUpdateAllowed"),e}toString(){return`[${this.toJSON().join(", ")}]`}}class Ph{constructor(e={}){this.entrustVers="",this.entrustInfoFlags=new Th,Object.assign(this,e)}}d([g({type:b.GeneralString})],Ph.prototype,"entrustVers",void 0);d([g({type:Th})],Ph.prototype,"entrustInfoFlags",void 0);var Xa;let Qu=Xa=class extends pe{constructor(e){super(e),Object.setPrototypeOf(this,Xa.prototype)}};Qu=Xa=d([P({type:T.Sequence,itemType:ui})],Qu);class F{constructor(e={}){this.algorithm="",Object.assign(this,e)}isEqual(e){return e instanceof F&&e.algorithm==this.algorithm&&(e.parameters&&this.parameters&&kf(e.parameters,this.parameters)||e.parameters===this.parameters)}}d([g({type:b.ObjectIdentifier})],F.prototype,"algorithm",void 0);d([g({type:b.Any,optional:!0})],F.prototype,"parameters",void 0);class dt{constructor(e={}){this.algorithm=new F,this.subjectPublicKey=new ArrayBuffer(0),Object.assign(this,e)}}d([g({type:F})],dt.prototype,"algorithm",void 0);d([g({type:b.BitString})],dt.prototype,"subjectPublicKey",void 0);let $e=class{constructor(e){if(e)if(typeof e=="string"||typeof e=="number"||e instanceof Date){const n=new Date(e);n.getUTCFullYear()>2049?this.generalTime=n:this.utcTime=n}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([g({type:b.UTCTime})],$e.prototype,"utcTime",void 0);d([g({type:b.GeneralizedTime})],$e.prototype,"generalTime",void 0);$e=d([P({type:T.Choice})],$e);class di{constructor(e){this.notBefore=new $e(new Date),this.notAfter=new $e(new Date),e&&(this.notBefore=new $e(e.notBefore),this.notAfter=new $e(e.notAfter))}}d([g({type:$e})],di.prototype,"notBefore",void 0);d([g({type:$e})],di.prototype,"notAfter",void 0);var Qa;let rt=class Rh{constructor(e={}){this.extnID="",this.critical=Rh.CRITICAL,this.extnValue=new ae,Object.assign(this,e)}};rt.CRITICAL=!1;d([g({type:b.ObjectIdentifier})],rt.prototype,"extnID",void 0);d([g({type:b.Boolean,defaultValue:rt.CRITICAL})],rt.prototype,"critical",void 0);d([g({type:ae})],rt.prototype,"extnValue",void 0);let Yt=Qa=class extends pe{constructor(e){super(e),Object.setPrototypeOf(this,Qa.prototype)}};Yt=Qa=d([P({type:T.Sequence,itemType:rt})],Yt);var Sn;(function(t){t[t.v1=0]="v1",t[t.v2=1]="v2",t[t.v3=2]="v3"})(Sn||(Sn={}));class Xe{constructor(e={}){this.version=Sn.v1,this.serialNumber=new ArrayBuffer(0),this.signature=new F,this.issuer=new ke,this.validity=new di,this.subject=new ke,this.subjectPublicKeyInfo=new dt,Object.assign(this,e)}}d([g({type:b.Integer,context:0,defaultValue:Sn.v1})],Xe.prototype,"version",void 0);d([g({type:b.Integer,converter:_e})],Xe.prototype,"serialNumber",void 0);d([g({type:F})],Xe.prototype,"signature",void 0);d([g({type:ke})],Xe.prototype,"issuer",void 0);d([g({type:di})],Xe.prototype,"validity",void 0);d([g({type:ke})],Xe.prototype,"subject",void 0);d([g({type:dt})],Xe.prototype,"subjectPublicKeyInfo",void 0);d([g({type:b.BitString,context:1,implicit:!0,optional:!0})],Xe.prototype,"issuerUniqueID",void 0);d([g({type:b.BitString,context:2,implicit:!0,optional:!0})],Xe.prototype,"subjectUniqueID",void 0);d([g({type:Yt,context:3,optional:!0})],Xe.prototype,"extensions",void 0);class An{constructor(e={}){this.tbsCertificate=new Xe,this.signatureAlgorithm=new F,this.signatureValue=new ArrayBuffer(0),Object.assign(this,e)}}d([g({type:Xe})],An.prototype,"tbsCertificate",void 0);d([g({type:F})],An.prototype,"signatureAlgorithm",void 0);d([g({type:b.BitString})],An.prototype,"signatureValue",void 0);class bo{constructor(e={}){this.userCertificate=new ArrayBuffer(0),this.revocationDate=new $e,Object.assign(this,e)}}d([g({type:b.Integer,converter:_e})],bo.prototype,"userCertificate",void 0);d([g({type:$e})],bo.prototype,"revocationDate",void 0);d([g({type:rt,optional:!0,repeated:"sequence"})],bo.prototype,"crlEntryExtensions",void 0);class qt{constructor(e={}){this.signature=new F,this.issuer=new ke,this.thisUpdate=new $e,Object.assign(this,e)}}d([g({type:b.Integer,optional:!0})],qt.prototype,"version",void 0);d([g({type:F})],qt.prototype,"signature",void 0);d([g({type:ke})],qt.prototype,"issuer",void 0);d([g({type:$e})],qt.prototype,"thisUpdate",void 0);d([g({type:$e,optional:!0})],qt.prototype,"nextUpdate",void 0);d([g({type:bo,repeated:"sequence",optional:!0})],qt.prototype,"revokedCertificates",void 0);d([g({type:rt,optional:!0,context:0,repeated:"sequence"})],qt.prototype,"crlExtensions",void 0);class kl{constructor(e={}){this.tbsCertList=new qt,this.signatureAlgorithm=new F,this.signature=new ArrayBuffer(0),Object.assign(this,e)}}d([g({type:qt})],kl.prototype,"tbsCertList",void 0);d([g({type:F})],kl.prototype,"signatureAlgorithm",void 0);d([g({type:b.BitString})],kl.prototype,"signature",void 0);class fr{constructor(e={}){this.issuer=new ke,this.serialNumber=new ArrayBuffer(0),Object.assign(this,e)}}d([g({type:ke})],fr.prototype,"issuer",void 0);d([g({type:b.Integer,converter:_e})],fr.prototype,"serialNumber",void 0);let Xn=class{constructor(e={}){Object.assign(this,e)}};d([g({type:Wt,context:0,implicit:!0})],Xn.prototype,"subjectKeyIdentifier",void 0);d([g({type:fr})],Xn.prototype,"issuerAndSerialNumber",void 0);Xn=d([P({type:T.Choice})],Xn);var Rt;(function(t){t[t.v0=0]="v0",t[t.v1=1]="v1",t[t.v2=2]="v2",t[t.v3=3]="v3",t[t.v4=4]="v4",t[t.v5=5]="v5"})(Rt||(Rt={}));let qr=class extends F{};qr=d([P({type:T.Sequence})],qr);let _s=class extends F{};_s=d([P({type:T.Sequence})],_s);let St=class extends F{};St=d([P({type:T.Sequence})],St);let ys=class extends F{};ys=d([P({type:T.Sequence})],ys);let ed=class extends F{};ed=d([P({type:T.Sequence})],ed);let ec=class extends F{};ec=d([P({type:T.Sequence})],ec);let hr=class{constructor(e={}){this.attrType="",this.attrValues=[],Object.assign(this,e)}};d([g({type:b.ObjectIdentifier})],hr.prototype,"attrType",void 0);d([g({type:b.Any,repeated:"set"})],hr.prototype,"attrValues",void 0);var tc;class Ct{constructor(e={}){this.version=Rt.v0,this.sid=new Xn,this.digestAlgorithm=new qr,this.signatureAlgorithm=new _s,this.signature=new ae,Object.assign(this,e)}}d([g({type:b.Integer})],Ct.prototype,"version",void 0);d([g({type:Xn})],Ct.prototype,"sid",void 0);d([g({type:qr})],Ct.prototype,"digestAlgorithm",void 0);d([g({type:hr,repeated:"set",context:0,implicit:!0,optional:!0})],Ct.prototype,"signedAttrs",void 0);d([g({type:_s})],Ct.prototype,"signatureAlgorithm",void 0);d([g({type:ae})],Ct.prototype,"signature",void 0);d([g({type:hr,repeated:"set",context:1,implicit:!0,optional:!0})],Ct.prototype,"unsignedAttrs",void 0);let vs=tc=class extends pe{constructor(e){super(e),Object.setPrototypeOf(this,tc.prototype)}};vs=tc=d([P({type:T.Set,itemType:Ct})],vs);let td=class extends $e{};td=d([P({type:T.Choice})],td);let nd=class extends Ct{};nd=d([P({type:T.Sequence})],nd);class xl{constructor(e={}){this.acIssuer=new re,this.acSerial=0,this.attrs=[],Object.assign(this,e)}}d([g({type:re})],xl.prototype,"acIssuer",void 0);d([g({type:b.Integer})],xl.prototype,"acSerial",void 0);d([g({type:Pt,repeated:"sequence"})],xl.prototype,"attrs",void 0);var nc;let ws=nc=class extends pe{constructor(e){super(e),Object.setPrototypeOf(this,nc.prototype)}};ws=nc=d([P({type:T.Sequence,itemType:b.ObjectIdentifier})],ws);class ko{constructor(e={}){this.permitUnSpecified=!0,Object.assign(this,e)}}d([g({type:b.Integer,optional:!0})],ko.prototype,"pathLenConstraint",void 0);d([g({type:ws,implicit:!0,context:0,optional:!0})],ko.prototype,"permittedAttrs",void 0);d([g({type:ws,implicit:!0,context:1,optional:!0})],ko.prototype,"excludedAttrs",void 0);d([g({type:b.Boolean,defaultValue:!0})],ko.prototype,"permitUnSpecified",void 0);class On{constructor(e={}){this.issuer=new Le,this.serial=new ArrayBuffer(0),this.issuerUID=new ArrayBuffer(0),Object.assign(this,e)}}d([g({type:Le})],On.prototype,"issuer",void 0);d([g({type:b.Integer,converter:_e})],On.prototype,"serial",void 0);d([g({type:b.BitString,optional:!0})],On.prototype,"issuerUID",void 0);var rc;(function(t){t[t.publicKey=0]="publicKey",t[t.publicKeyCert=1]="publicKeyCert",t[t.otherObjectTypes=2]="otherObjectTypes"})(rc||(rc={}));class Bn{constructor(e={}){this.digestedObjectType=rc.publicKey,this.digestAlgorithm=new F,this.objectDigest=new ArrayBuffer(0),Object.assign(this,e)}}d([g({type:b.Enumerated})],Bn.prototype,"digestedObjectType",void 0);d([g({type:b.ObjectIdentifier,optional:!0})],Bn.prototype,"otherObjectTypeID",void 0);d([g({type:F})],Bn.prototype,"digestAlgorithm",void 0);d([g({type:b.BitString})],Bn.prototype,"objectDigest",void 0);class xo{constructor(e={}){Object.assign(this,e)}}d([g({type:Le,optional:!0})],xo.prototype,"issuerName",void 0);d([g({type:On,context:0,implicit:!0,optional:!0})],xo.prototype,"baseCertificateID",void 0);d([g({type:Bn,context:1,implicit:!0,optional:!0})],xo.prototype,"objectDigestInfo",void 0);let Qn=class{constructor(e={}){Object.assign(this,e)}};d([g({type:re,repeated:"sequence"})],Qn.prototype,"v1Form",void 0);d([g({type:xo,context:0,implicit:!0})],Qn.prototype,"v2Form",void 0);Qn=d([P({type:T.Choice})],Qn);class So{constructor(e={}){this.notBeforeTime=new Date,this.notAfterTime=new Date,Object.assign(this,e)}}d([g({type:b.GeneralizedTime})],So.prototype,"notBeforeTime",void 0);d([g({type:b.GeneralizedTime})],So.prototype,"notAfterTime",void 0);class pi{constructor(e={}){Object.assign(this,e)}}d([g({type:On,implicit:!0,context:0,optional:!0})],pi.prototype,"baseCertificateID",void 0);d([g({type:Le,implicit:!0,context:1,optional:!0})],pi.prototype,"entityName",void 0);d([g({type:Bn,implicit:!0,context:2,optional:!0})],pi.prototype,"objectDigestInfo",void 0);var ic;(function(t){t[t.v2=1]="v2"})(ic||(ic={}));class _t{constructor(e={}){this.version=ic.v2,this.holder=new pi,this.issuer=new Qn,this.signature=new F,this.serialNumber=new ArrayBuffer(0),this.attrCertValidityPeriod=new So,this.attributes=[],Object.assign(this,e)}}d([g({type:b.Integer})],_t.prototype,"version",void 0);d([g({type:pi})],_t.prototype,"holder",void 0);d([g({type:Qn})],_t.prototype,"issuer",void 0);d([g({type:F})],_t.prototype,"signature",void 0);d([g({type:b.Integer,converter:_e})],_t.prototype,"serialNumber",void 0);d([g({type:So})],_t.prototype,"attrCertValidityPeriod",void 0);d([g({type:Pt,repeated:"sequence"})],_t.prototype,"attributes",void 0);d([g({type:b.BitString,optional:!0})],_t.prototype,"issuerUniqueID",void 0);d([g({type:Yt,optional:!0})],_t.prototype,"extensions",void 0);class Ao{constructor(e={}){this.acinfo=new _t,this.signatureAlgorithm=new F,this.signatureValue=new ArrayBuffer(0),Object.assign(this,e)}}d([g({type:_t})],Ao.prototype,"acinfo",void 0);d([g({type:F})],Ao.prototype,"signatureAlgorithm",void 0);d([g({type:b.BitString})],Ao.prototype,"signatureValue",void 0);var bs;(function(t){t[t.unmarked=1]="unmarked",t[t.unclassified=2]="unclassified",t[t.restricted=4]="restricted",t[t.confidential=8]="confidential",t[t.secret=16]="secret",t[t.topSecret=32]="topSecret"})(bs||(bs={}));class sc extends mo{}class Sl{constructor(e={}){this.type="",this.value=new ArrayBuffer(0),Object.assign(this,e)}}d([g({type:b.ObjectIdentifier,implicit:!0,context:0})],Sl.prototype,"type",void 0);d([g({type:b.Any,implicit:!0,context:1})],Sl.prototype,"value",void 0);class Al{constructor(e={}){this.policyId="",this.classList=new sc(bs.unclassified),Object.assign(this,e)}}d([g({type:b.ObjectIdentifier})],Al.prototype,"policyId",void 0);d([g({type:sc,defaultValue:new sc(bs.unclassified)})],Al.prototype,"classList",void 0);d([g({type:Sl,repeated:"set"})],Al.prototype,"securityCategories",void 0);class Eo{constructor(e={}){Object.assign(this,e)}}d([g({type:ae})],Eo.prototype,"cotets",void 0);d([g({type:b.ObjectIdentifier})],Eo.prototype,"oid",void 0);d([g({type:b.Utf8String})],Eo.prototype,"string",void 0);class Lh{constructor(e={}){this.values=[],Object.assign(this,e)}}d([g({type:Le,implicit:!0,context:0,optional:!0})],Lh.prototype,"policyAuthority",void 0);d([g({type:Eo,repeated:"sequence"})],Lh.prototype,"values",void 0);var oc;class Io{constructor(e={}){this.targetCertificate=new On,Object.assign(this,e)}}d([g({type:On})],Io.prototype,"targetCertificate",void 0);d([g({type:re,optional:!0})],Io.prototype,"targetName",void 0);d([g({type:Bn,optional:!0})],Io.prototype,"certDigestInfo",void 0);let er=class{constructor(e={}){Object.assign(this,e)}};d([g({type:re,context:0,implicit:!0})],er.prototype,"targetName",void 0);d([g({type:re,context:1,implicit:!0})],er.prototype,"targetGroup",void 0);d([g({type:Io,context:2,implicit:!0})],er.prototype,"targetCert",void 0);er=d([P({type:T.Choice})],er);let ac=oc=class extends pe{constructor(e){super(e),Object.setPrototypeOf(this,oc.prototype)}};ac=oc=d([P({type:T.Sequence,itemType:er})],ac);var cc;let rd=cc=class extends pe{constructor(e){super(e),Object.setPrototypeOf(this,cc.prototype)}};rd=cc=d([P({type:T.Sequence,itemType:ac})],rd);class Uh{constructor(e={}){Object.assign(this,e)}}d([g({type:Le,implicit:!0,context:0,optional:!0})],Uh.prototype,"roleAuthority",void 0);d([g({type:re,implicit:!0,context:1})],Uh.prototype,"roleName",void 0);class El{constructor(e={}){this.service=new re,this.ident=new re,Object.assign(this,e)}}d([g({type:re})],El.prototype,"service",void 0);d([g({type:re})],El.prototype,"ident",void 0);d([g({type:ae,optional:!0})],El.prototype,"authInfo",void 0);var lc;class Il{constructor(e={}){this.otherCertFormat="",this.otherCert=new ArrayBuffer(0),Object.assign(this,e)}}d([g({type:b.ObjectIdentifier})],Il.prototype,"otherCertFormat",void 0);d([g({type:b.Any})],Il.prototype,"otherCert",void 0);let tr=class{constructor(e={}){Object.assign(this,e)}};d([g({type:An})],tr.prototype,"certificate",void 0);d([g({type:Ao,context:2,implicit:!0})],tr.prototype,"v2AttrCert",void 0);d([g({type:Il,context:3,implicit:!0})],tr.prototype,"other",void 0);tr=d([P({type:T.Choice})],tr);let ks=lc=class extends pe{constructor(e){super(e),Object.setPrototypeOf(this,lc.prototype)}};ks=lc=d([P({type:T.Set,itemType:tr})],ks);class gr{constructor(e={}){this.contentType="",this.content=new ArrayBuffer(0),Object.assign(this,e)}}d([g({type:b.ObjectIdentifier})],gr.prototype,"contentType",void 0);d([g({type:b.Any,context:0})],gr.prototype,"content",void 0);let Dr=class{constructor(e={}){Object.assign(this,e)}};d([g({type:ae})],Dr.prototype,"single",void 0);d([g({type:b.Any})],Dr.prototype,"any",void 0);Dr=d([P({type:T.Choice})],Dr);class Co{constructor(e={}){this.eContentType="",Object.assign(this,e)}}d([g({type:b.ObjectIdentifier})],Co.prototype,"eContentType",void 0);d([g({type:Dr,context:0,optional:!0})],Co.prototype,"eContent",void 0);let Hr=class{constructor(e={}){Object.assign(this,e)}};d([g({type:ae,context:0,implicit:!0,optional:!0})],Hr.prototype,"value",void 0);d([g({type:ae,converter:M_,context:0,implicit:!0,optional:!0,repeated:"sequence"})],Hr.prototype,"constructedValue",void 0);Hr=d([P({type:T.Choice})],Hr);class fi{constructor(e={}){this.contentType="",this.contentEncryptionAlgorithm=new ys,Object.assign(this,e)}}d([g({type:b.ObjectIdentifier})],fi.prototype,"contentType",void 0);d([g({type:ys})],fi.prototype,"contentEncryptionAlgorithm",void 0);d([g({type:Hr,optional:!0})],fi.prototype,"encryptedContent",void 0);class No{constructor(e={}){this.keyAttrId="",Object.assign(this,e)}}d([g({type:b.ObjectIdentifier})],No.prototype,"keyAttrId",void 0);d([g({type:b.Any,optional:!0})],No.prototype,"keyAttr",void 0);var uc;class zo{constructor(e={}){this.subjectKeyIdentifier=new Wt,Object.assign(this,e)}}d([g({type:Wt})],zo.prototype,"subjectKeyIdentifier",void 0);d([g({type:b.GeneralizedTime,optional:!0})],zo.prototype,"date",void 0);d([g({type:No,optional:!0})],zo.prototype,"other",void 0);let nr=class{constructor(e={}){Object.assign(this,e)}};d([g({type:zo,context:0,implicit:!0,optional:!0})],nr.prototype,"rKeyId",void 0);d([g({type:fr,optional:!0})],nr.prototype,"issuerAndSerialNumber",void 0);nr=d([P({type:T.Choice})],nr);class Cl{constructor(e={}){this.rid=new nr,this.encryptedKey=new ae,Object.assign(this,e)}}d([g({type:nr})],Cl.prototype,"rid",void 0);d([g({type:ae})],Cl.prototype,"encryptedKey",void 0);let xs=uc=class extends pe{constructor(e){super(e),Object.setPrototypeOf(this,uc.prototype)}};xs=uc=d([P({type:T.Sequence,itemType:Cl})],xs);class Nl{constructor(e={}){this.algorithm=new F,this.publicKey=new ArrayBuffer(0),Object.assign(this,e)}}d([g({type:F})],Nl.prototype,"algorithm",void 0);d([g({type:b.BitString})],Nl.prototype,"publicKey",void 0);let En=class{constructor(e={}){Object.assign(this,e)}};d([g({type:Wt,context:0,implicit:!0,optional:!0})],En.prototype,"subjectKeyIdentifier",void 0);d([g({type:Nl,context:1,implicit:!0,optional:!0})],En.prototype,"originatorKey",void 0);d([g({type:fr,optional:!0})],En.prototype,"issuerAndSerialNumber",void 0);En=d([P({type:T.Choice})],En);class mr{constructor(e={}){this.version=Rt.v3,this.originator=new En,this.keyEncryptionAlgorithm=new St,this.recipientEncryptedKeys=new xs,Object.assign(this,e)}}d([g({type:b.Integer})],mr.prototype,"version",void 0);d([g({type:En,context:0})],mr.prototype,"originator",void 0);d([g({type:ae,context:1,optional:!0})],mr.prototype,"ukm",void 0);d([g({type:St})],mr.prototype,"keyEncryptionAlgorithm",void 0);d([g({type:xs})],mr.prototype,"recipientEncryptedKeys",void 0);let rr=class{constructor(e={}){Object.assign(this,e)}};d([g({type:Wt,context:0,implicit:!0})],rr.prototype,"subjectKeyIdentifier",void 0);d([g({type:fr})],rr.prototype,"issuerAndSerialNumber",void 0);rr=d([P({type:T.Choice})],rr);class hi{constructor(e={}){this.version=Rt.v0,this.rid=new rr,this.keyEncryptionAlgorithm=new St,this.encryptedKey=new ae,Object.assign(this,e)}}d([g({type:b.Integer})],hi.prototype,"version",void 0);d([g({type:rr})],hi.prototype,"rid",void 0);d([g({type:St})],hi.prototype,"keyEncryptionAlgorithm",void 0);d([g({type:ae})],hi.prototype,"encryptedKey",void 0);class gi{constructor(e={}){this.keyIdentifier=new ae,Object.assign(this,e)}}d([g({type:ae})],gi.prototype,"keyIdentifier",void 0);d([g({type:b.GeneralizedTime,optional:!0})],gi.prototype,"date",void 0);d([g({type:No,optional:!0})],gi.prototype,"other",void 0);class mi{constructor(e={}){this.version=Rt.v4,this.kekid=new gi,this.keyEncryptionAlgorithm=new St,this.encryptedKey=new ae,Object.assign(this,e)}}d([g({type:b.Integer})],mi.prototype,"version",void 0);d([g({type:gi})],mi.prototype,"kekid",void 0);d([g({type:St})],mi.prototype,"keyEncryptionAlgorithm",void 0);d([g({type:ae})],mi.prototype,"encryptedKey",void 0);class _i{constructor(e={}){this.version=Rt.v0,this.keyEncryptionAlgorithm=new St,this.encryptedKey=new ae,Object.assign(this,e)}}d([g({type:b.Integer})],_i.prototype,"version",void 0);d([g({type:ec,context:0,optional:!0})],_i.prototype,"keyDerivationAlgorithm",void 0);d([g({type:St})],_i.prototype,"keyEncryptionAlgorithm",void 0);d([g({type:ae})],_i.prototype,"encryptedKey",void 0);class zl{constructor(e={}){this.oriType="",this.oriValue=new ArrayBuffer(0),Object.assign(this,e)}}d([g({type:b.ObjectIdentifier})],zl.prototype,"oriType",void 0);d([g({type:b.Any})],zl.prototype,"oriValue",void 0);let Xt=class{constructor(e={}){Object.assign(this,e)}};d([g({type:hi,optional:!0})],Xt.prototype,"ktri",void 0);d([g({type:mr,context:1,implicit:!0,optional:!0})],Xt.prototype,"kari",void 0);d([g({type:mi,context:2,implicit:!0,optional:!0})],Xt.prototype,"kekri",void 0);d([g({type:_i,context:3,implicit:!0,optional:!0})],Xt.prototype,"pwri",void 0);d([g({type:zl,context:4,implicit:!0,optional:!0})],Xt.prototype,"ori",void 0);Xt=d([P({type:T.Choice})],Xt);var dc;let Ss=dc=class extends pe{constructor(e){super(e),Object.setPrototypeOf(this,dc.prototype)}};Ss=dc=d([P({type:T.Set,itemType:Xt})],Ss);var pc;class $o{constructor(e={}){this.otherRevInfoFormat="",this.otherRevInfo=new ArrayBuffer(0),Object.assign(this,e)}}d([g({type:b.ObjectIdentifier})],$o.prototype,"otherRevInfoFormat",void 0);d([g({type:b.Any})],$o.prototype,"otherRevInfo",void 0);let As=class{constructor(e={}){this.other=new $o,Object.assign(this,e)}};d([g({type:$o,context:1,implicit:!0})],As.prototype,"other",void 0);As=d([P({type:T.Choice})],As);let Es=pc=class extends pe{constructor(e){super(e),Object.setPrototypeOf(this,pc.prototype)}};Es=pc=d([P({type:T.Set,itemType:As})],Es);class $l{constructor(e={}){Object.assign(this,e)}}d([g({type:ks,context:0,implicit:!0,optional:!0})],$l.prototype,"certs",void 0);d([g({type:Es,context:1,implicit:!0,optional:!0})],$l.prototype,"crls",void 0);var fc;let hc=fc=class extends pe{constructor(e){super(e),Object.setPrototypeOf(this,fc.prototype)}};hc=fc=d([P({type:T.Set,itemType:hr})],hc);class yi{constructor(e={}){this.version=Rt.v0,this.recipientInfos=new Ss,this.encryptedContentInfo=new fi,Object.assign(this,e)}}d([g({type:b.Integer})],yi.prototype,"version",void 0);d([g({type:$l,context:0,implicit:!0,optional:!0})],yi.prototype,"originatorInfo",void 0);d([g({type:Ss})],yi.prototype,"recipientInfos",void 0);d([g({type:fi})],yi.prototype,"encryptedContentInfo",void 0);d([g({type:hc,context:1,implicit:!0,optional:!0})],yi.prototype,"unprotectedAttrs",void 0);const f0="1.2.840.113549.1.7.2";var gc;let Is=gc=class extends pe{constructor(e){super(e),Object.setPrototypeOf(this,gc.prototype)}};Is=gc=d([P({type:T.Set,itemType:qr})],Is);class _r{constructor(e={}){this.version=Rt.v0,this.digestAlgorithms=new Is,this.encapContentInfo=new Co,this.signerInfos=new vs,Object.assign(this,e)}}d([g({type:b.Integer})],_r.prototype,"version",void 0);d([g({type:Is})],_r.prototype,"digestAlgorithms",void 0);d([g({type:Co})],_r.prototype,"encapContentInfo",void 0);d([g({type:ks,context:0,implicit:!0,optional:!0})],_r.prototype,"certificates",void 0);d([g({type:Es,context:1,implicit:!0,optional:!0})],_r.prototype,"crls",void 0);d([g({type:vs})],_r.prototype,"signerInfos",void 0);const Fr="1.2.840.10045.2.1",jl="1.2.840.10045.4.1",Vh="1.2.840.10045.4.3.1",Ol="1.2.840.10045.4.3.2",Bl="1.2.840.10045.4.3.3",Tl="1.2.840.10045.4.3.4",id="1.2.840.10045.3.1.7",sd="1.3.132.0.34",od="1.3.132.0.35";function vi(t){return new F({algorithm:t})}const h0=vi(jl);vi(Vh);const g0=vi(Ol),m0=vi(Bl),_0=vi(Tl);let Kr=class{constructor(e={}){Object.assign(this,e)}};d([g({type:b.ObjectIdentifier})],Kr.prototype,"fieldType",void 0);d([g({type:b.Any})],Kr.prototype,"parameters",void 0);Kr=d([P({type:T.Sequence})],Kr);class y0 extends ae{}let ir=class{constructor(e={}){Object.assign(this,e)}};d([g({type:b.OctetString})],ir.prototype,"a",void 0);d([g({type:b.OctetString})],ir.prototype,"b",void 0);d([g({type:b.BitString,optional:!0})],ir.prototype,"seed",void 0);ir=d([P({type:T.Sequence})],ir);var mc;(function(t){t[t.ecpVer1=1]="ecpVer1"})(mc||(mc={}));let Lt=class{constructor(e={}){this.version=mc.ecpVer1,Object.assign(this,e)}};d([g({type:b.Integer})],Lt.prototype,"version",void 0);d([g({type:Kr})],Lt.prototype,"fieldID",void 0);d([g({type:ir})],Lt.prototype,"curve",void 0);d([g({type:y0})],Lt.prototype,"base",void 0);d([g({type:b.Integer,converter:_e})],Lt.prototype,"order",void 0);d([g({type:b.Integer,optional:!0})],Lt.prototype,"cofactor",void 0);Lt=d([P({type:T.Sequence})],Lt);let Qt=class{constructor(e={}){Object.assign(this,e)}};d([g({type:b.ObjectIdentifier})],Qt.prototype,"namedCurve",void 0);d([g({type:b.Null})],Qt.prototype,"implicitCurve",void 0);d([g({type:Lt})],Qt.prototype,"specifiedCurve",void 0);Qt=d([P({type:T.Choice})],Qt);class jo{constructor(e={}){this.version=1,this.privateKey=new ae,Object.assign(this,e)}}d([g({type:b.Integer})],jo.prototype,"version",void 0);d([g({type:ae})],jo.prototype,"privateKey",void 0);d([g({type:Qt,context:0,optional:!0})],jo.prototype,"parameters",void 0);d([g({type:b.BitString,context:1,optional:!0})],jo.prototype,"publicKey",void 0);class Cs{constructor(e={}){this.r=new ArrayBuffer(0),this.s=new ArrayBuffer(0),Object.assign(this,e)}}d([g({type:b.Integer,converter:_e})],Cs.prototype,"r",void 0);d([g({type:b.Integer,converter:_e})],Cs.prototype,"s",void 0);const Ke="1.2.840.113549.1.1",In=`${Ke}.1`,v0=`${Ke}.7`,w0=`${Ke}.9`,Tr=`${Ke}.10`,b0=`${Ke}.2`,k0=`${Ke}.4`,Ns=`${Ke}.5`,x0=`${Ke}.14`,_c=`${Ke}.11`,zs=`${Ke}.12`,$s=`${Ke}.13`,Mh=`${Ke}.15`,qh=`${Ke}.16`,js="1.3.14.3.2.26",Dh="2.16.840.1.101.3.4.2.4",Os="2.16.840.1.101.3.4.2.1",Bs="2.16.840.1.101.3.4.2.2",Ts="2.16.840.1.101.3.4.2.3",S0="2.16.840.1.101.3.4.2.5",A0="2.16.840.1.101.3.4.2.6",E0="1.2.840.113549.2.2",I0="1.2.840.113549.2.5",Oo=`${Ke}.8`;function Ee(t){return new F({algorithm:t,parameters:null})}Ee(E0);Ee(I0);const Cn=Ee(js);Ee(Dh);Ee(Os);Ee(Bs);Ee(Ts);Ee(S0);Ee(A0);const Hh=new F({algorithm:Oo,parameters:M.serialize(Cn)}),Fh=new F({algorithm:w0,parameters:M.serialize(us.toASN(new Uint8Array([218,57,163,238,94,107,75,13,50,85,191,239,149,96,24,144,175,216,7,9]).buffer))});Ee(In);Ee(b0);Ee(k0);Ee(Ns);Ee(Mh);Ee(qh);Ee(zs);Ee($s);Ee(Mh);Ee(qh);class Bo{constructor(e={}){this.hashAlgorithm=new F(Cn),this.maskGenAlgorithm=new F({algorithm:Oo,parameters:M.serialize(Cn)}),this.pSourceAlgorithm=new F(Fh),Object.assign(this,e)}}d([g({type:F,context:0,defaultValue:Cn})],Bo.prototype,"hashAlgorithm",void 0);d([g({type:F,context:1,defaultValue:Hh})],Bo.prototype,"maskGenAlgorithm",void 0);d([g({type:F,context:2,defaultValue:Fh})],Bo.prototype,"pSourceAlgorithm",void 0);new F({algorithm:v0,parameters:M.serialize(new Bo)});class Nn{constructor(e={}){this.hashAlgorithm=new F(Cn),this.maskGenAlgorithm=new F({algorithm:Oo,parameters:M.serialize(Cn)}),this.saltLength=20,this.trailerField=1,Object.assign(this,e)}}d([g({type:F,context:0,defaultValue:Cn})],Nn.prototype,"hashAlgorithm",void 0);d([g({type:F,context:1,defaultValue:Hh})],Nn.prototype,"maskGenAlgorithm",void 0);d([g({type:b.Integer,context:2,defaultValue:20})],Nn.prototype,"saltLength",void 0);d([g({type:b.Integer,context:3,defaultValue:1})],Nn.prototype,"trailerField",void 0);new F({algorithm:Tr,parameters:M.serialize(new Nn)});class To{constructor(e={}){this.digestAlgorithm=new F,this.digest=new ae,Object.assign(this,e)}}d([g({type:F})],To.prototype,"digestAlgorithm",void 0);d([g({type:ae})],To.prototype,"digest",void 0);var yc;class Po{constructor(e={}){this.prime=new ArrayBuffer(0),this.exponent=new ArrayBuffer(0),this.coefficient=new ArrayBuffer(0),Object.assign(this,e)}}d([g({type:b.Integer,converter:_e})],Po.prototype,"prime",void 0);d([g({type:b.Integer,converter:_e})],Po.prototype,"exponent",void 0);d([g({type:b.Integer,converter:_e})],Po.prototype,"coefficient",void 0);let vc=yc=class extends pe{constructor(e){super(e),Object.setPrototypeOf(this,yc.prototype)}};vc=yc=d([P({type:T.Sequence,itemType:Po})],vc);class Nt{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([g({type:b.Integer})],Nt.prototype,"version",void 0);d([g({type:b.Integer,converter:_e})],Nt.prototype,"modulus",void 0);d([g({type:b.Integer,converter:_e})],Nt.prototype,"publicExponent",void 0);d([g({type:b.Integer,converter:_e})],Nt.prototype,"privateExponent",void 0);d([g({type:b.Integer,converter:_e})],Nt.prototype,"prime1",void 0);d([g({type:b.Integer,converter:_e})],Nt.prototype,"prime2",void 0);d([g({type:b.Integer,converter:_e})],Nt.prototype,"exponent1",void 0);d([g({type:b.Integer,converter:_e})],Nt.prototype,"exponent2",void 0);d([g({type:b.Integer,converter:_e})],Nt.prototype,"coefficient",void 0);d([g({type:vc,optional:!0})],Nt.prototype,"otherPrimeInfos",void 0);class Pl{constructor(e={}){this.modulus=new ArrayBuffer(0),this.publicExponent=new ArrayBuffer(0),Object.assign(this,e)}}d([g({type:b.Integer,converter:_e})],Pl.prototype,"modulus",void 0);d([g({type:b.Integer,converter:_e})],Pl.prototype,"publicExponent",void 0);var wc;(function(t){t[t.Transient=0]="Transient",t[t.Singleton=1]="Singleton",t[t.ResolutionScoped=2]="ResolutionScoped",t[t.ContainerScoped=3]="ContainerScoped"})(wc||(wc={}));const Me=wc;/*! *****************************************************************************
|
|
80
80
|
Copyright (c) Microsoft Corporation.
|
|
81
81
|
|
|
82
82
|
Permission to use, copy, modify, and/or distribute this software for any
|
|
@@ -89,9 +89,9 @@ INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
|
|
|
89
89
|
LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
|
|
90
90
|
OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
|
91
91
|
PERFORMANCE OF THIS SOFTWARE.
|
|
92
|
-
***************************************************************************** */var
|
|
92
|
+
***************************************************************************** */var bc=function(t,e){return bc=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,r){n.__proto__=r}||function(n,r){for(var i in r)r.hasOwnProperty(i)&&(n[i]=r[i])},bc(t,e)};function Rl(t,e){bc(t,e);function n(){this.constructor=t}t.prototype=e===null?Object.create(e):(n.prototype=e.prototype,new n)}function C0(t,e,n,r){function i(s){return s instanceof n?s:new n(function(o){o(s)})}return new(n||(n=Promise))(function(s,o){function c(p){try{u(r.next(p))}catch(h){o(h)}}function l(p){try{u(r.throw(p))}catch(h){o(h)}}function u(p){p.done?s(p.value):i(p.value).then(c,l)}u((r=r.apply(t,[])).next())})}function N0(t,e){var n={label:0,sent:function(){if(s[0]&1)throw s[1];return s[1]},trys:[],ops:[]},r,i,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(r)throw new TypeError("Generator is already executing.");for(;n;)try{if(r=1,i&&(s=u[0]&2?i.return:u[0]?i.throw||((s=i.return)&&s.call(i),0):i.next)&&!(s=s.call(i,u[1])).done)return s;switch(i=0,s&&(u=[u[0]&2,s.value]),u[0]){case 0:case 1:s=u;break;case 4:return n.label++,{value:u[1],done:!1};case 5:n.label++,i=u[1],u=[0];continue;case 7:u=n.ops.pop(),n.trys.pop();continue;default:if(s=n.trys,!(s=s.length>0&&s[s.length-1])&&(u[0]===6||u[0]===2)){n=0;continue}if(u[0]===3&&(!s||u[1]>s[0]&&u[1]<s[3])){n.label=u[1];break}if(u[0]===6&&n.label<s[1]){n.label=s[1],s=u;break}if(s&&n.label<s[2]){n.label=s[2],n.ops.push(u);break}s[2]&&n.ops.pop(),n.trys.pop();continue}u=e.call(t,n)}catch(p){u=[6,p],i=0}finally{r=s=0}if(u[0]&5)throw u[1];return{value:u[0]?u[1]:void 0,done:!0}}}function $i(t){var e=typeof Symbol=="function"&&Symbol.iterator,n=e&&t[e],r=0;if(n)return n.call(t);if(t&&typeof t.length=="number")return{next:function(){return t&&r>=t.length&&(t=void 0),{value:t&&t[r++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")}function Ps(t,e){var n=typeof Symbol=="function"&&t[Symbol.iterator];if(!n)return t;var r=n.call(t),i,s=[],o;try{for(;(e===void 0||e-- >0)&&!(i=r.next()).done;)s.push(i.value)}catch(c){o={error:c}}finally{try{i&&!i.done&&(n=r.return)&&n.call(r)}finally{if(o)throw o.error}}return s}function un(){for(var t=[],e=0;e<arguments.length;e++)t=t.concat(Ps(arguments[e]));return t}var z0="injectionTokens";function $0(t){var e=Reflect.getMetadata("design:paramtypes",t)||[],n=Reflect.getOwnMetadata(z0,t)||{};return Object.keys(n).forEach(function(r){e[+r]=n[r]}),e}function Kh(t){return!!t.useClass}function kc(t){return!!t.useFactory}var Wh=function(){function t(e){this.wrap=e,this.reflectMethods=["get","getPrototypeOf","setPrototypeOf","getOwnPropertyDescriptor","defineProperty","has","set","deleteProperty","apply","construct","ownKeys"]}return t.prototype.createProxy=function(e){var n=this,r={},i=!1,s,o=function(){return i||(s=e(n.wrap()),i=!0),s};return new Proxy(r,this.createHandler(o))},t.prototype.createHandler=function(e){var n={},r=function(i){n[i]=function(){for(var s=[],o=0;o<arguments.length;o++)s[o]=arguments[o];s[0]=e();var c=Reflect[i];return c.apply(void 0,un(s))}};return this.reflectMethods.forEach(r),n},t}();function Vn(t){return typeof t=="string"||typeof t=="symbol"}function j0(t){return typeof t=="object"&&"token"in t&&"multiple"in t}function ad(t){return typeof t=="object"&&"token"in t&&"transform"in t}function O0(t){return typeof t=="function"||t instanceof Wh}function Vi(t){return!!t.useToken}function Mi(t){return t.useValue!=null}function B0(t){return Kh(t)||Mi(t)||Vi(t)||kc(t)}var Ll=function(){function t(){this._registryMap=new Map}return t.prototype.entries=function(){return this._registryMap.entries()},t.prototype.getAll=function(e){return this.ensure(e),this._registryMap.get(e)},t.prototype.get=function(e){this.ensure(e);var n=this._registryMap.get(e);return n[n.length-1]||null},t.prototype.set=function(e,n){this.ensure(e),this._registryMap.get(e).push(n)},t.prototype.setAll=function(e,n){this._registryMap.set(e,n)},t.prototype.has=function(e){return this.ensure(e),this._registryMap.get(e).length>0},t.prototype.clear=function(){this._registryMap.clear()},t.prototype.ensure=function(e){this._registryMap.has(e)||this._registryMap.set(e,[])},t}(),T0=function(t){Rl(e,t);function e(){return t!==null&&t.apply(this,arguments)||this}return e}(Ll),cd=function(){function t(){this.scopedResolutions=new Map}return t}();function P0(t,e){if(t===null)return"at position #"+e;var n=t.split(",")[e].trim();return'"'+n+'" at position #'+e}function R0(t,e,n){return n===void 0&&(n=" "),un([t],e.message.split(`
|
|
93
93
|
`).map(function(r){return n+r})).join(`
|
|
94
|
-
`)}function L0(t,e,n){var r=Ps(t.toString().match(/constructor\(([\w, ]+)\)/)||[],2),i=r[1],s=i===void 0?null:i,o=P0(s,e);return R0("Cannot inject the dependency "+o+' of "'+t.name+'" constructor. Reason:',n)}function U0(t){if(typeof t.dispose!="function")return!1;var e=t.dispose;return!(e.length>0)}var V0=function(t){Rl(e,t);function e(){return t!==null&&t.apply(this,arguments)||this}return e}(Ll),M0=function(t){Rl(e,t);function e(){return t!==null&&t.apply(this,arguments)||this}return e}(Ll),q0=function(){function t(){this.preResolution=new V0,this.postResolution=new M0}return t}(),Gh=new Map,D0=function(){function t(e){this.parent=e,this._registry=new T0,this.interceptors=new q0,this.disposed=!1,this.disposables=new Set}return t.prototype.register=function(e,n,r){r===void 0&&(r={lifecycle:Me.Transient}),this.ensureNotDisposed();var i;if(B0(n)?i=n:i={useClass:n},Vi(i))for(var s=[e],o=i;o!=null;){var c=o.useToken;if(s.includes(c))throw new Error("Token registration cycle detected! "+un(s,[c]).join(" -> "));s.push(c);var l=this._registry.get(c);l&&Vi(l.provider)?o=l.provider:o=null}if((r.lifecycle===Me.Singleton||r.lifecycle==Me.ContainerScoped||r.lifecycle==Me.ResolutionScoped)&&(Mi(i)||bc(i)))throw new Error('Cannot use lifecycle "'+Me[r.lifecycle]+'" with ValueProviders or FactoryProviders');return this._registry.set(e,{provider:i,options:r}),this},t.prototype.registerType=function(e,n){return this.ensureNotDisposed(),Vn(n)?this.register(e,{useToken:n}):this.register(e,{useClass:n})},t.prototype.registerInstance=function(e,n){return this.ensureNotDisposed(),this.register(e,{useValue:n})},t.prototype.registerSingleton=function(e,n){if(this.ensureNotDisposed(),Vn(e)){if(Vn(n))return this.register(e,{useToken:n},{lifecycle:Me.Singleton});if(n)return this.register(e,{useClass:n},{lifecycle:Me.Singleton});throw new Error('Cannot register a type name as a singleton without a "to" token')}var r=e;return n&&!Vn(n)&&(r=n),this.register(e,{useClass:r},{lifecycle:Me.Singleton})},t.prototype.resolve=function(e,n){n===void 0&&(n=new cd),this.ensureNotDisposed();var r=this.getRegistration(e);if(!r&&Vn(e))throw new Error('Attempted to resolve unregistered dependency token: "'+e.toString()+'"');if(this.executePreResolutionInterceptor(e,"Single"),r){var i=this.resolveRegistration(r,n);return this.executePostResolutionInterceptor(e,i,"Single"),i}if(O0(e)){var i=this.construct(e,n);return this.executePostResolutionInterceptor(e,i,"Single"),i}throw new Error("Attempted to construct an undefined constructor. Could mean a circular dependency problem. Try using `delay` function.")},t.prototype.executePreResolutionInterceptor=function(e,n){var r,i;if(this.interceptors.preResolution.has(e)){var s=[];try{for(var o=$i(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,n)}}catch(u){r={error:u}}finally{try{c&&!c.done&&(i=o.return)&&i.call(o)}finally{if(r)throw r.error}}this.interceptors.preResolution.setAll(e,s)}},t.prototype.executePostResolutionInterceptor=function(e,n,r){var i,s;if(this.interceptors.postResolution.has(e)){var o=[];try{for(var c=$i(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,n,r)}}catch(p){i={error:p}}finally{try{l&&!l.done&&(s=c.return)&&s.call(c)}finally{if(i)throw i.error}}this.interceptors.postResolution.setAll(e,o)}},t.prototype.resolveRegistration=function(e,n){if(this.ensureNotDisposed(),e.options.lifecycle===Me.ResolutionScoped&&n.scopedResolutions.has(e))return n.scopedResolutions.get(e);var r=e.options.lifecycle===Me.Singleton,i=e.options.lifecycle===Me.ContainerScoped,s=r||i,o;return Mi(e.provider)?o=e.provider.useValue:Vi(e.provider)?o=s?e.instance||(e.instance=this.resolve(e.provider.useToken,n)):this.resolve(e.provider.useToken,n):Kh(e.provider)?o=s?e.instance||(e.instance=this.construct(e.provider.useClass,n)):this.construct(e.provider.useClass,n):bc(e.provider)?o=e.provider.useFactory(this):o=this.construct(e.provider,n),e.options.lifecycle===Me.ResolutionScoped&&n.scopedResolutions.set(e,o),o},t.prototype.resolveAll=function(e,n){var r=this;n===void 0&&(n=new cd),this.ensureNotDisposed();var i=this.getAllRegistrations(e);if(!i&&Vn(e))throw new Error('Attempted to resolve unregistered dependency token: "'+e.toString()+'"');if(this.executePreResolutionInterceptor(e,"All"),i){var s=i.map(function(c){return r.resolveRegistration(c,n)});return this.executePostResolutionInterceptor(e,s,"All"),s}var o=[this.construct(e,n)];return this.executePostResolutionInterceptor(e,o,"All"),o},t.prototype.isRegistered=function(e,n){return n===void 0&&(n=!1),this.ensureNotDisposed(),this._registry.has(e)||n&&(this.parent||!1)&&this.parent.isRegistered(e,!0)},t.prototype.reset=function(){this.ensureNotDisposed(),this._registry.clear(),this.interceptors.preResolution.clear(),this.interceptors.postResolution.clear()},t.prototype.clearInstances=function(){var e,n;this.ensureNotDisposed();try{for(var r=$i(this._registry.entries()),i=r.next();!i.done;i=r.next()){var s=Ps(i.value,2),o=s[0],c=s[1];this._registry.setAll(o,c.filter(function(l){return!Mi(l.provider)}).map(function(l){return l.instance=void 0,l}))}}catch(l){e={error:l}}finally{try{i&&!i.done&&(n=r.return)&&n.call(r)}finally{if(e)throw e.error}}},t.prototype.createChildContainer=function(){var e,n;this.ensureNotDisposed();var r=new t(this);try{for(var i=$i(this._registry.entries()),s=i.next();!s.done;s=i.next()){var o=Ps(s.value,2),c=o[0],l=o[1];l.some(function(u){var p=u.options;return p.lifecycle===Me.ContainerScoped})&&r._registry.setAll(c,l.map(function(u){return u.options.lifecycle===Me.ContainerScoped?{provider:u.provider,options:u.options}:u}))}}catch(u){e={error:u}}finally{try{s&&!s.done&&(n=i.return)&&n.call(i)}finally{if(e)throw e.error}}return r},t.prototype.beforeResolution=function(e,n,r){r===void 0&&(r={frequency:"Always"}),this.interceptors.preResolution.set(e,{callback:n,options:r})},t.prototype.afterResolution=function(e,n,r){r===void 0&&(r={frequency:"Always"}),this.interceptors.postResolution.set(e,{callback:n,options:r})},t.prototype.dispose=function(){return C0(this,void 0,void 0,function(){var e;return N0(this,function(n){switch(n.label){case 0:return this.disposed=!0,e=[],this.disposables.forEach(function(r){var i=r.dispose();i&&e.push(i)}),[4,Promise.all(e)];case 1:return n.sent(),[2]}})})},t.prototype.getRegistration=function(e){return this.isRegistered(e)?this._registry.get(e):this.parent?this.parent.getRegistration(e):null},t.prototype.getAllRegistrations=function(e){return this.isRegistered(e)?this._registry.getAll(e):this.parent?this.parent.getAllRegistrations(e):null},t.prototype.construct=function(e,n){var r=this;if(e instanceof Wh)return e.createProxy(function(s){return r.resolve(s,n)});var i=function(){var s=Gh.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(r.resolveParams(n,e));return new(e.bind.apply(e,un([void 0],o)))}();return U0(i)&&this.disposables.add(i),i},t.prototype.resolveParams=function(e,n){var r=this;return function(i,s){var o,c,l;try{return j0(i)?ad(i)?i.multiple?(o=r.resolve(i.transform)).transform.apply(o,un([r.resolveAll(i.token)],i.transformArgs)):(c=r.resolve(i.transform)).transform.apply(c,un([r.resolve(i.token,e)],i.transformArgs)):i.multiple?r.resolveAll(i.token):r.resolve(i.token,e):ad(i)?(l=r.resolve(i.transform,e)).transform.apply(l,un([r.resolve(i.token,e)],i.transformArgs)):r.resolve(i,e)}catch(u){throw new Error(L0(n,s,u))}}},t.prototype.ensureNotDisposed=function(){if(this.disposed)throw new Error("This container has been disposed, you cannot interact with a disposed container")},t}(),Be=new D0;function Po(){return function(t){Gh.set(t,$0(t))}}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 kc;class Ro{constructor(e={}){this.attrId="",this.attrValues=[],Object.assign(e)}}d([g({type:b.ObjectIdentifier})],Ro.prototype,"attrId",void 0);d([g({type:b.Any,repeated:"set"})],Ro.prototype,"attrValues",void 0);let ld=kc=class extends pe{constructor(e){super(e),Object.setPrototypeOf(this,kc.prototype)}};ld=kc=d([P({type:T.Sequence,itemType:Ro})],ld);var xc;let ud=xc=class extends pe{constructor(e){super(e),Object.setPrototypeOf(this,xc.prototype)}};ud=xc=d([P({type:T.Sequence,itemType:gr})],ud);class Jh{constructor(e={}){this.certId="",this.certValue=new ArrayBuffer(0),Object.assign(this,e)}}d([g({type:b.ObjectIdentifier})],Jh.prototype,"certId",void 0);d([g({type:b.Any,context:0})],Jh.prototype,"certValue",void 0);class Zh{constructor(e={}){this.crlId="",this.crltValue=new ArrayBuffer(0),Object.assign(this,e)}}d([g({type:b.ObjectIdentifier})],Zh.prototype,"crlId",void 0);d([g({type:b.Any,context:0})],Zh.prototype,"crltValue",void 0);class Yh extends ae{}let Lo=class{constructor(e={}){this.encryptionAlgorithm=new F,this.encryptedData=new Yh,Object.assign(this,e)}};d([g({type:F})],Lo.prototype,"encryptionAlgorithm",void 0);d([g({type:Yh})],Lo.prototype,"encryptedData",void 0);var Sc,Ac;(function(t){t[t.v1=0]="v1"})(Ac||(Ac={}));class Xh extends ae{}let Ec=Sc=class extends pe{constructor(e){super(e),Object.setPrototypeOf(this,Sc.prototype)}};Ec=Sc=d([P({type:T.Sequence,itemType:Pt})],Ec);class wi{constructor(e={}){this.version=Ac.v1,this.privateKeyAlgorithm=new F,this.privateKey=new Xh,Object.assign(this,e)}}d([g({type:b.Integer})],wi.prototype,"version",void 0);d([g({type:F})],wi.prototype,"privateKeyAlgorithm",void 0);d([g({type:Xh})],wi.prototype,"privateKey",void 0);d([g({type:Ec,implicit:!0,context:0,optional:!0})],wi.prototype,"attributes",void 0);let dd=class extends wi{};dd=d([P({type:T.Sequence})],dd);let pd=class extends Lo{};pd=d([P({type:T.Sequence})],pd);class Qh{constructor(e={}){this.secretTypeId="",this.secretValue=new ArrayBuffer(0),Object.assign(this,e)}}d([g({type:b.ObjectIdentifier})],Qh.prototype,"secretTypeId",void 0);d([g({type:b.Any,context:0})],Qh.prototype,"secretValue",void 0);class bi{constructor(e={}){this.mac=new Bo,this.macSalt=new ae,this.iterations=1,Object.assign(this,e)}}d([g({type:Bo})],bi.prototype,"mac",void 0);d([g({type:ae})],bi.prototype,"macSalt",void 0);d([g({type:b.Integer,defaultValue:1})],bi.prototype,"iterations",void 0);class Uo{constructor(e={}){this.version=3,this.authSafe=new gr,this.macData=new bi,Object.assign(this,e)}}d([g({type:b.Integer})],Uo.prototype,"version",void 0);d([g({type:gr})],Uo.prototype,"authSafe",void 0);d([g({type:bi,optional:!0})],Uo.prototype,"macData",void 0);var Ic;class Vo{constructor(e={}){this.bagId="",this.bagValue=new ArrayBuffer(0),Object.assign(this,e)}}d([g({type:b.ObjectIdentifier})],Vo.prototype,"bagId",void 0);d([g({type:b.Any,context:0})],Vo.prototype,"bagValue",void 0);d([g({type:Ro,repeated:"set",optional:!0})],Vo.prototype,"bagAttributes",void 0);let fd=Ic=class extends pe{constructor(e){super(e),Object.setPrototypeOf(this,Ic.prototype)}};fd=Ic=d([P({type:T.Sequence,itemType:Vo})],fd);var Cc,Nc,zc;const eg="1.2.840.113549.1.9",tg=`${eg}.7`,Ul=`${eg}.14`;let Rs=class extends Oe{constructor(e={}){super(e)}toString(){return this.ia5String||super.toString()}};d([g({type:b.IA5String})],Rs.prototype,"ia5String",void 0);Rs=d([P({type:T.Choice})],Rs);let hd=class extends gr{};hd=d([P({type:T.Sequence})],hd);let gd=class extends Uo{};gd=d([P({type:T.Sequence})],gd);let md=class extends Lo{};md=d([P({type:T.Sequence})],md);let $c=class{constructor(e=""){this.value=e}toString(){return this.value}};d([g({type:b.IA5String})],$c.prototype,"value",void 0);$c=d([P({type:T.Choice})],$c);let _d=class extends Rs{};_d=d([P({type:T.Choice})],_d);let yd=class extends Oe{};yd=d([P({type:T.Choice})],yd);let jc=class{constructor(e=new Date){this.value=e}};d([g({type:b.GeneralizedTime})],jc.prototype,"value",void 0);jc=d([P({type:T.Choice})],jc);let vd=class extends Oe{};vd=d([P({type:T.Choice})],vd);let Oc=class{constructor(e="M"){this.value=e}toString(){return this.value}};d([g({type:b.PrintableString})],Oc.prototype,"value",void 0);Oc=d([P({type:T.Choice})],Oc);let Ls=class{constructor(e=""){this.value=e}toString(){return this.value}};d([g({type:b.PrintableString})],Ls.prototype,"value",void 0);Ls=d([P({type:T.Choice})],Ls);let wd=class extends Ls{};wd=d([P({type:T.Choice})],wd);let bd=class extends Oe{};bd=d([P({type:T.Choice})],bd);let Bc=class{constructor(e=""){this.value=e}toString(){return this.value}};d([g({type:b.ObjectIdentifier})],Bc.prototype,"value",void 0);Bc=d([P({type:T.Choice})],Bc);let kd=class extends $e{};kd=d([P({type:T.Choice})],kd);let Tc=class{constructor(e=0){this.value=e}toString(){return this.value.toString()}};d([g({type:b.Integer})],Tc.prototype,"value",void 0);Tc=d([P({type:T.Choice})],Tc);let xd=class extends Ct{};xd=d([P({type:T.Sequence})],xd);let Us=class extends Oe{};Us=d([P({type:T.Choice})],Us);let Sd=Cc=class extends Yt{constructor(e){super(e),Object.setPrototypeOf(this,Cc.prototype)}};Sd=Cc=d([P({type:T.Sequence})],Sd);let Ad=Nc=class extends pe{constructor(e){super(e),Object.setPrototypeOf(this,Nc.prototype)}};Ad=Nc=d([P({type:T.Set,itemType:hr})],Ad);let Pc=class{constructor(e=""){this.value=e}toString(){return this.value}};d([g({type:b.BmpString})],Pc.prototype,"value",void 0);Pc=d([P({type:T.Choice})],Pc);let Rc=class extends F{};Rc=d([P({type:T.Sequence})],Rc);let Ed=zc=class extends pe{constructor(e){super(e),Object.setPrototypeOf(this,zc.prototype)}};Ed=zc=d([P({type:T.Sequence,itemType:Rc})],Ed);var Lc;let Vs=Lc=class extends pe{constructor(e){super(e),Object.setPrototypeOf(this,Lc.prototype)}};Vs=Lc=d([P({type:T.Sequence,itemType:Pt})],Vs);class yr{constructor(e={}){this.version=0,this.subject=new ke,this.subjectPKInfo=new dt,this.attributes=new Vs,Object.assign(this,e)}}d([g({type:b.Integer})],yr.prototype,"version",void 0);d([g({type:ke})],yr.prototype,"subject",void 0);d([g({type:dt})],yr.prototype,"subjectPKInfo",void 0);d([g({type:Vs,implicit:!0,context:0})],yr.prototype,"attributes",void 0);class Wr{constructor(e={}){this.certificationRequestInfo=new yr,this.signatureAlgorithm=new F,this.signature=new ArrayBuffer(0),Object.assign(this,e)}}d([g({type:yr})],Wr.prototype,"certificationRequestInfo",void 0);d([g({type:F})],Wr.prototype,"signatureAlgorithm",void 0);d([g({type:b.BitString})],Wr.prototype,"signature",void 0);/*!
|
|
94
|
+
`)}function L0(t,e,n){var r=Ps(t.toString().match(/constructor\(([\w, ]+)\)/)||[],2),i=r[1],s=i===void 0?null:i,o=P0(s,e);return R0("Cannot inject the dependency "+o+' of "'+t.name+'" constructor. Reason:',n)}function U0(t){if(typeof t.dispose!="function")return!1;var e=t.dispose;return!(e.length>0)}var V0=function(t){Rl(e,t);function e(){return t!==null&&t.apply(this,arguments)||this}return e}(Ll),M0=function(t){Rl(e,t);function e(){return t!==null&&t.apply(this,arguments)||this}return e}(Ll),q0=function(){function t(){this.preResolution=new V0,this.postResolution=new M0}return t}(),Gh=new Map,D0=function(){function t(e){this.parent=e,this._registry=new T0,this.interceptors=new q0,this.disposed=!1,this.disposables=new Set}return t.prototype.register=function(e,n,r){r===void 0&&(r={lifecycle:Me.Transient}),this.ensureNotDisposed();var i;if(B0(n)?i=n:i={useClass:n},Vi(i))for(var s=[e],o=i;o!=null;){var c=o.useToken;if(s.includes(c))throw new Error("Token registration cycle detected! "+un(s,[c]).join(" -> "));s.push(c);var l=this._registry.get(c);l&&Vi(l.provider)?o=l.provider:o=null}if((r.lifecycle===Me.Singleton||r.lifecycle==Me.ContainerScoped||r.lifecycle==Me.ResolutionScoped)&&(Mi(i)||kc(i)))throw new Error('Cannot use lifecycle "'+Me[r.lifecycle]+'" with ValueProviders or FactoryProviders');return this._registry.set(e,{provider:i,options:r}),this},t.prototype.registerType=function(e,n){return this.ensureNotDisposed(),Vn(n)?this.register(e,{useToken:n}):this.register(e,{useClass:n})},t.prototype.registerInstance=function(e,n){return this.ensureNotDisposed(),this.register(e,{useValue:n})},t.prototype.registerSingleton=function(e,n){if(this.ensureNotDisposed(),Vn(e)){if(Vn(n))return this.register(e,{useToken:n},{lifecycle:Me.Singleton});if(n)return this.register(e,{useClass:n},{lifecycle:Me.Singleton});throw new Error('Cannot register a type name as a singleton without a "to" token')}var r=e;return n&&!Vn(n)&&(r=n),this.register(e,{useClass:r},{lifecycle:Me.Singleton})},t.prototype.resolve=function(e,n){n===void 0&&(n=new cd),this.ensureNotDisposed();var r=this.getRegistration(e);if(!r&&Vn(e))throw new Error('Attempted to resolve unregistered dependency token: "'+e.toString()+'"');if(this.executePreResolutionInterceptor(e,"Single"),r){var i=this.resolveRegistration(r,n);return this.executePostResolutionInterceptor(e,i,"Single"),i}if(O0(e)){var i=this.construct(e,n);return this.executePostResolutionInterceptor(e,i,"Single"),i}throw new Error("Attempted to construct an undefined constructor. Could mean a circular dependency problem. Try using `delay` function.")},t.prototype.executePreResolutionInterceptor=function(e,n){var r,i;if(this.interceptors.preResolution.has(e)){var s=[];try{for(var o=$i(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,n)}}catch(u){r={error:u}}finally{try{c&&!c.done&&(i=o.return)&&i.call(o)}finally{if(r)throw r.error}}this.interceptors.preResolution.setAll(e,s)}},t.prototype.executePostResolutionInterceptor=function(e,n,r){var i,s;if(this.interceptors.postResolution.has(e)){var o=[];try{for(var c=$i(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,n,r)}}catch(p){i={error:p}}finally{try{l&&!l.done&&(s=c.return)&&s.call(c)}finally{if(i)throw i.error}}this.interceptors.postResolution.setAll(e,o)}},t.prototype.resolveRegistration=function(e,n){if(this.ensureNotDisposed(),e.options.lifecycle===Me.ResolutionScoped&&n.scopedResolutions.has(e))return n.scopedResolutions.get(e);var r=e.options.lifecycle===Me.Singleton,i=e.options.lifecycle===Me.ContainerScoped,s=r||i,o;return Mi(e.provider)?o=e.provider.useValue:Vi(e.provider)?o=s?e.instance||(e.instance=this.resolve(e.provider.useToken,n)):this.resolve(e.provider.useToken,n):Kh(e.provider)?o=s?e.instance||(e.instance=this.construct(e.provider.useClass,n)):this.construct(e.provider.useClass,n):kc(e.provider)?o=e.provider.useFactory(this):o=this.construct(e.provider,n),e.options.lifecycle===Me.ResolutionScoped&&n.scopedResolutions.set(e,o),o},t.prototype.resolveAll=function(e,n){var r=this;n===void 0&&(n=new cd),this.ensureNotDisposed();var i=this.getAllRegistrations(e);if(!i&&Vn(e))throw new Error('Attempted to resolve unregistered dependency token: "'+e.toString()+'"');if(this.executePreResolutionInterceptor(e,"All"),i){var s=i.map(function(c){return r.resolveRegistration(c,n)});return this.executePostResolutionInterceptor(e,s,"All"),s}var o=[this.construct(e,n)];return this.executePostResolutionInterceptor(e,o,"All"),o},t.prototype.isRegistered=function(e,n){return n===void 0&&(n=!1),this.ensureNotDisposed(),this._registry.has(e)||n&&(this.parent||!1)&&this.parent.isRegistered(e,!0)},t.prototype.reset=function(){this.ensureNotDisposed(),this._registry.clear(),this.interceptors.preResolution.clear(),this.interceptors.postResolution.clear()},t.prototype.clearInstances=function(){var e,n;this.ensureNotDisposed();try{for(var r=$i(this._registry.entries()),i=r.next();!i.done;i=r.next()){var s=Ps(i.value,2),o=s[0],c=s[1];this._registry.setAll(o,c.filter(function(l){return!Mi(l.provider)}).map(function(l){return l.instance=void 0,l}))}}catch(l){e={error:l}}finally{try{i&&!i.done&&(n=r.return)&&n.call(r)}finally{if(e)throw e.error}}},t.prototype.createChildContainer=function(){var e,n;this.ensureNotDisposed();var r=new t(this);try{for(var i=$i(this._registry.entries()),s=i.next();!s.done;s=i.next()){var o=Ps(s.value,2),c=o[0],l=o[1];l.some(function(u){var p=u.options;return p.lifecycle===Me.ContainerScoped})&&r._registry.setAll(c,l.map(function(u){return u.options.lifecycle===Me.ContainerScoped?{provider:u.provider,options:u.options}:u}))}}catch(u){e={error:u}}finally{try{s&&!s.done&&(n=i.return)&&n.call(i)}finally{if(e)throw e.error}}return r},t.prototype.beforeResolution=function(e,n,r){r===void 0&&(r={frequency:"Always"}),this.interceptors.preResolution.set(e,{callback:n,options:r})},t.prototype.afterResolution=function(e,n,r){r===void 0&&(r={frequency:"Always"}),this.interceptors.postResolution.set(e,{callback:n,options:r})},t.prototype.dispose=function(){return C0(this,void 0,void 0,function(){var e;return N0(this,function(n){switch(n.label){case 0:return this.disposed=!0,e=[],this.disposables.forEach(function(r){var i=r.dispose();i&&e.push(i)}),[4,Promise.all(e)];case 1:return n.sent(),[2]}})})},t.prototype.getRegistration=function(e){return this.isRegistered(e)?this._registry.get(e):this.parent?this.parent.getRegistration(e):null},t.prototype.getAllRegistrations=function(e){return this.isRegistered(e)?this._registry.getAll(e):this.parent?this.parent.getAllRegistrations(e):null},t.prototype.construct=function(e,n){var r=this;if(e instanceof Wh)return e.createProxy(function(s){return r.resolve(s,n)});var i=function(){var s=Gh.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(r.resolveParams(n,e));return new(e.bind.apply(e,un([void 0],o)))}();return U0(i)&&this.disposables.add(i),i},t.prototype.resolveParams=function(e,n){var r=this;return function(i,s){var o,c,l;try{return j0(i)?ad(i)?i.multiple?(o=r.resolve(i.transform)).transform.apply(o,un([r.resolveAll(i.token)],i.transformArgs)):(c=r.resolve(i.transform)).transform.apply(c,un([r.resolve(i.token,e)],i.transformArgs)):i.multiple?r.resolveAll(i.token):r.resolve(i.token,e):ad(i)?(l=r.resolve(i.transform,e)).transform.apply(l,un([r.resolve(i.token,e)],i.transformArgs)):r.resolve(i,e)}catch(u){throw new Error(L0(n,s,u))}}},t.prototype.ensureNotDisposed=function(){if(this.disposed)throw new Error("This container has been disposed, you cannot interact with a disposed container")},t}(),Be=new D0;function Ro(){return function(t){Gh.set(t,$0(t))}}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 xc;class Lo{constructor(e={}){this.attrId="",this.attrValues=[],Object.assign(e)}}d([g({type:b.ObjectIdentifier})],Lo.prototype,"attrId",void 0);d([g({type:b.Any,repeated:"set"})],Lo.prototype,"attrValues",void 0);let ld=xc=class extends pe{constructor(e){super(e),Object.setPrototypeOf(this,xc.prototype)}};ld=xc=d([P({type:T.Sequence,itemType:Lo})],ld);var Sc;let ud=Sc=class extends pe{constructor(e){super(e),Object.setPrototypeOf(this,Sc.prototype)}};ud=Sc=d([P({type:T.Sequence,itemType:gr})],ud);class Jh{constructor(e={}){this.certId="",this.certValue=new ArrayBuffer(0),Object.assign(this,e)}}d([g({type:b.ObjectIdentifier})],Jh.prototype,"certId",void 0);d([g({type:b.Any,context:0})],Jh.prototype,"certValue",void 0);class Zh{constructor(e={}){this.crlId="",this.crltValue=new ArrayBuffer(0),Object.assign(this,e)}}d([g({type:b.ObjectIdentifier})],Zh.prototype,"crlId",void 0);d([g({type:b.Any,context:0})],Zh.prototype,"crltValue",void 0);class Yh extends ae{}let Uo=class{constructor(e={}){this.encryptionAlgorithm=new F,this.encryptedData=new Yh,Object.assign(this,e)}};d([g({type:F})],Uo.prototype,"encryptionAlgorithm",void 0);d([g({type:Yh})],Uo.prototype,"encryptedData",void 0);var Ac,Ec;(function(t){t[t.v1=0]="v1"})(Ec||(Ec={}));class Xh extends ae{}let Ic=Ac=class extends pe{constructor(e){super(e),Object.setPrototypeOf(this,Ac.prototype)}};Ic=Ac=d([P({type:T.Sequence,itemType:Pt})],Ic);class wi{constructor(e={}){this.version=Ec.v1,this.privateKeyAlgorithm=new F,this.privateKey=new Xh,Object.assign(this,e)}}d([g({type:b.Integer})],wi.prototype,"version",void 0);d([g({type:F})],wi.prototype,"privateKeyAlgorithm",void 0);d([g({type:Xh})],wi.prototype,"privateKey",void 0);d([g({type:Ic,implicit:!0,context:0,optional:!0})],wi.prototype,"attributes",void 0);let dd=class extends wi{};dd=d([P({type:T.Sequence})],dd);let pd=class extends Uo{};pd=d([P({type:T.Sequence})],pd);class Qh{constructor(e={}){this.secretTypeId="",this.secretValue=new ArrayBuffer(0),Object.assign(this,e)}}d([g({type:b.ObjectIdentifier})],Qh.prototype,"secretTypeId",void 0);d([g({type:b.Any,context:0})],Qh.prototype,"secretValue",void 0);class bi{constructor(e={}){this.mac=new To,this.macSalt=new ae,this.iterations=1,Object.assign(this,e)}}d([g({type:To})],bi.prototype,"mac",void 0);d([g({type:ae})],bi.prototype,"macSalt",void 0);d([g({type:b.Integer,defaultValue:1})],bi.prototype,"iterations",void 0);class Vo{constructor(e={}){this.version=3,this.authSafe=new gr,this.macData=new bi,Object.assign(this,e)}}d([g({type:b.Integer})],Vo.prototype,"version",void 0);d([g({type:gr})],Vo.prototype,"authSafe",void 0);d([g({type:bi,optional:!0})],Vo.prototype,"macData",void 0);var Cc;class Mo{constructor(e={}){this.bagId="",this.bagValue=new ArrayBuffer(0),Object.assign(this,e)}}d([g({type:b.ObjectIdentifier})],Mo.prototype,"bagId",void 0);d([g({type:b.Any,context:0})],Mo.prototype,"bagValue",void 0);d([g({type:Lo,repeated:"set",optional:!0})],Mo.prototype,"bagAttributes",void 0);let fd=Cc=class extends pe{constructor(e){super(e),Object.setPrototypeOf(this,Cc.prototype)}};fd=Cc=d([P({type:T.Sequence,itemType:Mo})],fd);var Nc,zc,$c;const eg="1.2.840.113549.1.9",tg=`${eg}.7`,Ul=`${eg}.14`;let Rs=class extends Oe{constructor(e={}){super(e)}toString(){return this.ia5String||super.toString()}};d([g({type:b.IA5String})],Rs.prototype,"ia5String",void 0);Rs=d([P({type:T.Choice})],Rs);let hd=class extends gr{};hd=d([P({type:T.Sequence})],hd);let gd=class extends Vo{};gd=d([P({type:T.Sequence})],gd);let md=class extends Uo{};md=d([P({type:T.Sequence})],md);let jc=class{constructor(e=""){this.value=e}toString(){return this.value}};d([g({type:b.IA5String})],jc.prototype,"value",void 0);jc=d([P({type:T.Choice})],jc);let _d=class extends Rs{};_d=d([P({type:T.Choice})],_d);let yd=class extends Oe{};yd=d([P({type:T.Choice})],yd);let Oc=class{constructor(e=new Date){this.value=e}};d([g({type:b.GeneralizedTime})],Oc.prototype,"value",void 0);Oc=d([P({type:T.Choice})],Oc);let vd=class extends Oe{};vd=d([P({type:T.Choice})],vd);let Bc=class{constructor(e="M"){this.value=e}toString(){return this.value}};d([g({type:b.PrintableString})],Bc.prototype,"value",void 0);Bc=d([P({type:T.Choice})],Bc);let Ls=class{constructor(e=""){this.value=e}toString(){return this.value}};d([g({type:b.PrintableString})],Ls.prototype,"value",void 0);Ls=d([P({type:T.Choice})],Ls);let wd=class extends Ls{};wd=d([P({type:T.Choice})],wd);let bd=class extends Oe{};bd=d([P({type:T.Choice})],bd);let Tc=class{constructor(e=""){this.value=e}toString(){return this.value}};d([g({type:b.ObjectIdentifier})],Tc.prototype,"value",void 0);Tc=d([P({type:T.Choice})],Tc);let kd=class extends $e{};kd=d([P({type:T.Choice})],kd);let Pc=class{constructor(e=0){this.value=e}toString(){return this.value.toString()}};d([g({type:b.Integer})],Pc.prototype,"value",void 0);Pc=d([P({type:T.Choice})],Pc);let xd=class extends Ct{};xd=d([P({type:T.Sequence})],xd);let Us=class extends Oe{};Us=d([P({type:T.Choice})],Us);let Sd=Nc=class extends Yt{constructor(e){super(e),Object.setPrototypeOf(this,Nc.prototype)}};Sd=Nc=d([P({type:T.Sequence})],Sd);let Ad=zc=class extends pe{constructor(e){super(e),Object.setPrototypeOf(this,zc.prototype)}};Ad=zc=d([P({type:T.Set,itemType:hr})],Ad);let Rc=class{constructor(e=""){this.value=e}toString(){return this.value}};d([g({type:b.BmpString})],Rc.prototype,"value",void 0);Rc=d([P({type:T.Choice})],Rc);let Lc=class extends F{};Lc=d([P({type:T.Sequence})],Lc);let Ed=$c=class extends pe{constructor(e){super(e),Object.setPrototypeOf(this,$c.prototype)}};Ed=$c=d([P({type:T.Sequence,itemType:Lc})],Ed);var Uc;let Vs=Uc=class extends pe{constructor(e){super(e),Object.setPrototypeOf(this,Uc.prototype)}};Vs=Uc=d([P({type:T.Sequence,itemType:Pt})],Vs);class yr{constructor(e={}){this.version=0,this.subject=new ke,this.subjectPKInfo=new dt,this.attributes=new Vs,Object.assign(this,e)}}d([g({type:b.Integer})],yr.prototype,"version",void 0);d([g({type:ke})],yr.prototype,"subject",void 0);d([g({type:dt})],yr.prototype,"subjectPKInfo",void 0);d([g({type:Vs,implicit:!0,context:0})],yr.prototype,"attributes",void 0);class Wr{constructor(e={}){this.certificationRequestInfo=new yr,this.signatureAlgorithm=new F,this.signature=new ArrayBuffer(0),Object.assign(this,e)}}d([g({type:yr})],Wr.prototype,"certificationRequestInfo",void 0);d([g({type:F})],Wr.prototype,"signatureAlgorithm",void 0);d([g({type:b.BitString})],Wr.prototype,"signature",void 0);/*!
|
|
95
95
|
* MIT License
|
|
96
96
|
*
|
|
97
97
|
* Copyright (c) Peculiar Ventures. All rights reserved.
|
|
@@ -114,18 +114,18 @@ PERFORMANCE OF THIS SOFTWARE.
|
|
|
114
114
|
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
115
115
|
* SOFTWARE.
|
|
116
116
|
*
|
|
117
|
-
*/const ki="crypto.algorithm";class H0{getAlgorithms(){return Be.resolveAll(ki)}toAsnAlgorithm(e){({...e});for(const n of this.getAlgorithms()){const r=n.toAsnAlgorithm(e);if(r)return r}if(/^[0-9.]+$/.test(e.name)){const n=new F({algorithm:e.name});if("parameters"in e){const r=e;n.parameters=r.parameters}return n}throw new Error("Cannot convert WebCrypto algorithm to ASN.1 algorithm")}toWebAlgorithm(e){for(const r of this.getAlgorithms()){const i=r.toWebAlgorithm(e);if(i)return i}return{name:e.algorithm,parameters:e.parameters}}}const zn="crypto.algorithmProvider";Be.registerSingleton(zn,H0);var qi;const We="1.3.36.3.3.2.8.1.1",Id=`${We}.1`,Cd=`${We}.2`,Nd=`${We}.3`,zd=`${We}.4`,$d=`${We}.5`,jd=`${We}.6`,Od=`${We}.7`,Bd=`${We}.8`,Td=`${We}.9`,Pd=`${We}.10`,Rd=`${We}.11`,Ld=`${We}.12`,Ud=`${We}.13`,Vd=`${We}.14`,Md="brainpoolP160r1",qd="brainpoolP160t1",Dd="brainpoolP192r1",Hd="brainpoolP192t1",Fd="brainpoolP224r1",Kd="brainpoolP224t1",Wd="brainpoolP256r1",Gd="brainpoolP256t1",Jd="brainpoolP320r1",Zd="brainpoolP320t1",Yd="brainpoolP384r1",Xd="brainpoolP384t1",Qd="brainpoolP512r1",ep="brainpoolP512t1",ye="ECDSA";let Gr=qi=class{toAsnAlgorithm(e){switch(e.name.toLowerCase()){case ye.toLowerCase():if("hash"in e)switch((typeof e.hash=="string"?e.hash:e.hash.name).toLowerCase()){case"sha-1":return h0;case"sha-256":return g0;case"sha-384":return m0;case"sha-512":return _0}else if("namedCurve"in e){let n="";switch(e.namedCurve){case"P-256":n=id;break;case"K-256":n=qi.SECP256K1;break;case"P-384":n=sd;break;case"P-521":n=od;break;case Md:n=Id;break;case qd:n=Cd;break;case Dd:n=Nd;break;case Hd:n=zd;break;case Fd:n=$d;break;case Kd:n=jd;break;case Wd:n=Od;break;case Gd:n=Bd;break;case Jd:n=Td;break;case Zd:n=Pd;break;case Yd:n=Rd;break;case Xd:n=Ld;break;case Qd:n=Ud;break;case ep:n=Vd;break}if(n)return new F({algorithm:Fr,parameters:M.serialize(new Qt({namedCurve:n}))})}}return null}toWebAlgorithm(e){switch(e.algorithm){case jl:return{name:ye,hash:{name:"SHA-1"}};case Ol:return{name:ye,hash:{name:"SHA-256"}};case Bl:return{name:ye,hash:{name:"SHA-384"}};case Tl:return{name:ye,hash:{name:"SHA-512"}};case Fr:{if(!e.parameters)throw new TypeError("Cannot get required parameters from EC algorithm");switch(M.parse(e.parameters,Qt).namedCurve){case id:return{name:ye,namedCurve:"P-256"};case qi.SECP256K1:return{name:ye,namedCurve:"K-256"};case sd:return{name:ye,namedCurve:"P-384"};case od:return{name:ye,namedCurve:"P-521"};case Id:return{name:ye,namedCurve:Md};case Cd:return{name:ye,namedCurve:qd};case Nd:return{name:ye,namedCurve:Dd};case zd:return{name:ye,namedCurve:Hd};case $d:return{name:ye,namedCurve:Fd};case jd:return{name:ye,namedCurve:Kd};case Od:return{name:ye,namedCurve:Wd};case Bd:return{name:ye,namedCurve:Gd};case Td:return{name:ye,namedCurve:Jd};case Pd:return{name:ye,namedCurve:Zd};case Rd:return{name:ye,namedCurve:Yd};case Ld:return{name:ye,namedCurve:Xd};case Ud:return{name:ye,namedCurve:Qd};case Vd:return{name:ye,namedCurve:ep}}}}return null}};Gr.SECP256K1="1.3.132.0.10";Gr=qi=d([
|
|
118
|
-
`)}static pad(e=0){return"".padStart(2*e," ")}static serializeObj(e,n=0){const r=[];let i=this.pad(n++),s="";const o=e[ue.VALUE];o&&(s=` ${o}`),r.push(`${i}${e[ue.NAME]}:${s}`),i=this.pad(n);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")r.push(`${i}${u}${l}`);else if(l instanceof Date)r.push(`${i}${u}${l.toUTCString()}`);else if(Array.isArray(l))for(const p of l)p[ue.NAME]=c,r.push(...this.serializeObj(p,n));else if(l instanceof ue)l[ue.NAME]=c,r.push(...this.serializeObj(l,n));else if(q.isBufferSource(l))c?(r.push(`${i}${u}`),r.push(...this.serializeBufferSource(l,n+1))):r.push(...this.serializeBufferSource(l,n));else if("toTextObject"in l){const p=l.toTextObject();p[ue.NAME]=c,r.push(...this.serializeObj(p,n))}else throw new TypeError("Cannot serialize data in text format. Unsupported type.")}return r}static serializeBufferSource(e,n=0){const r=this.pad(n),i=q.toUint8Array(e),s=[];for(let o=0;o<i.length;){const c=[];for(let l=0;l<16&&o<i.length;l++){l===8&&c.push("");const u=i[o++].toString(16).padStart(2,"0");c.push(u)}s.push(`${r}${c.join(" ")}`)}return s}static serializeAlgorithm(e){return this.algorithmSerializer.toTextObject(e)}}$n.oidSerializer=rn;$n.algorithmSerializer=F0;class sn{constructor(...e){if(e.length===1){const n=e[0];this.rawData=M.serialize(n),this.onInit(n)}else{const n=M.parse(e[0],e[1]);this.rawData=q.toArrayBuffer(e[0]),this.onInit(n)}}equal(e){return e instanceof sn?kf(e.rawData,this.rawData):!1}toString(e="text"){switch(e){case"asn":return M.toString(this.rawData);case"text":return $n.serialize(this.toTextObject());case"hex":return J.ToHex(this.rawData);case"base64":return J.ToBase64(this.rawData);case"base64url":return J.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 ue(this.getTextName(),{},e)}}sn.NAME="ASN";class st extends sn{constructor(...e){let n;q.isBufferSource(e[0])?n=q.toArrayBuffer(e[0]):n=M.serialize(new rt({extnID:e[0],critical:e[1],extnValue:new ae(q.toArrayBuffer(e[2]))})),super(n,rt)}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[ue.NAME]===st.NAME&&(e[ue.NAME]=rn.toString(this.type)),e}}var ig;class Ht{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[ig]="CryptoProvider",typeof self<"u"&&typeof crypto<"u"?this.set(Ht.DEFAULT,crypto):typeof global<"u"&&global.crypto&&global.crypto.subtle&&this.set(Ht.DEFAULT,global.crypto)}clear(){this.items.clear()}delete(e){return this.items.delete(e)}forEach(e,n){return this.items.forEach(e,n)}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=Ht.DEFAULT){const n=this.items.get(e.toLowerCase());if(!n)throw new Error(`Cannot get Crypto by name '${e}'`);return n}set(e,n){if(typeof e=="string"){if(!n)throw new TypeError("Argument 'value' is required");this.items.set(e.toLowerCase(),n)}else this.items.set(Ht.DEFAULT,e);return this}}ig=Symbol.toStringTag;Ht.DEFAULT="default";const ze=new Ht,K0=/^[0-2](?:\.[1-9][0-9]*)+$/;function W0(t){return new RegExp(K0).test(t)}class sg{constructor(e={}){this.items={};for(const n in e)this.register(n,e[n])}get(e){return this.items[e]||null}findId(e){return W0(e)?e:this.get(e)}register(e,n){this.items[e]=n,this.items[n]=e}}const He=new sg;He.register("CN","2.5.4.3");He.register("L","2.5.4.7");He.register("ST","2.5.4.8");He.register("O","2.5.4.10");He.register("OU","2.5.4.11");He.register("C","2.5.4.6");He.register("DC","0.9.2342.19200300.100.1.25");He.register("E","1.2.840.113549.1.9.1");He.register("G","2.5.4.42");He.register("I","2.5.4.43");He.register("SN","2.5.4.4");He.register("T","2.5.4.12");function G0(t,e){return`\\${J.ToHex(J.FromUtf8String(e)).toUpperCase()}`}function J0(t){return t.replace(/([,+"\\<>;])/g,"\\$1").replace(/^([ #])/,"\\$1").replace(/([ ]$)/,"\\$1").replace(/([\r\n\t])/,G0)}class tt{static isASCII(e){for(let n=0;n<e.length;n++)if(e.charCodeAt(n)>255)return!1;return!0}static isPrintableString(e){return/^[A-Za-z0-9 '()+,-./:=?]*$/g.test(e)}constructor(e,n={}){this.extraNames=new sg,this.asn=new ke;for(const r in n)if(Object.prototype.hasOwnProperty.call(n,r)){const i=n[r];this.extraNames.register(r,i)}typeof e=="string"?this.asn=this.fromString(e):e instanceof ke?this.asn=e:q.isBufferSource(e)?this.asn=M.parse(e,ke):this.asn=this.fromJSON(e)}getField(e){const n=this.extraNames.findId(e)||He.findId(e),r=[];for(const i of this.asn)for(const s of i)s.type===n&&r.push(s.value.toString());return r}getName(e){return this.extraNames.get(e)||He.get(e)}toString(){return this.asn.map(e=>e.map(n=>{const r=this.getName(n.type)||n.type,i=n.value.anyValue?`#${J.ToHex(n.value.anyValue)}`:J0(n.value.toString());return`${r}=${i}`}).join("+")).join(", ")}toJSON(){var e;const n=[];for(const r of this.asn){const i={};for(const s of r){const o=this.getName(s.type)||s.type;(e=i[o])!==null&&e!==void 0||(i[o]=[]),i[o].push(s.value.anyValue?`#${J.ToHex(s.value.anyValue)}`:s.value.toString())}n.push(i)}return n}fromString(e){const n=new ke,r=/(\d\.[\d.]*\d|[A-Za-z]+)=((?:"")|(?:".*?[^\\]")|(?:[^,+].*?(?:[^\\][,+]))|(?:))([,+])?/g;let i=null,s=",";for(;i=r.exec(`${e},`);){let[,o,c]=i;const l=c[c.length-1];(l===","||l==="+")&&(c=c.slice(0,c.length-1),i[3]=l);const u=i[3];o=this.getTypeOid(o);const p=this.createAttribute(o,c);s==="+"?n[n.length-1].push(p):n.push(new Yn([p])),s=u}return n}fromJSON(e){const n=new ke;for(const r of e){const i=new Yn;for(const s in r){const o=this.getTypeOid(s),c=r[s];for(const l of c){const u=this.createAttribute(o,l);i.push(u)}}n.push(i)}return n}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,n){const r=new
|
|
119
|
-
`).replace(/\\0d/ig,"\r").replace(/\\0g/ig," ").replace(/\\(.)/g,"$1")}toArrayBuffer(){return M.serialize(this.asn)}async getThumbprint(...e){var n;let r,i="SHA-1";return e.length>=1&&!(!((n=e[0])===null||n===void 0)&&n.subtle)?(i=e[0]||i,r=e[1]||ze.get()):r=e[0]||ze.get(),await r.subtle.digest(i,this.toArrayBuffer())}}const og="Cannot initialize GeneralName from ASN.1 data.",tp=`${og} Unsupported string format in use.`,Z0=`${og} Value doesn't match to GUID regular expression.`,np=/^([0-9a-f]{8})-?([0-9a-f]{4})-?([0-9a-f]{4})-?([0-9a-f]{4})-?([0-9a-f]{12})$/i,rp="1.3.6.1.4.1.311.25.1",ip="1.3.6.1.4.1.311.20.2.3",
|
|
117
|
+
*/const ki="crypto.algorithm";class H0{getAlgorithms(){return Be.resolveAll(ki)}toAsnAlgorithm(e){({...e});for(const n of this.getAlgorithms()){const r=n.toAsnAlgorithm(e);if(r)return r}if(/^[0-9.]+$/.test(e.name)){const n=new F({algorithm:e.name});if("parameters"in e){const r=e;n.parameters=r.parameters}return n}throw new Error("Cannot convert WebCrypto algorithm to ASN.1 algorithm")}toWebAlgorithm(e){for(const r of this.getAlgorithms()){const i=r.toWebAlgorithm(e);if(i)return i}return{name:e.algorithm,parameters:e.parameters}}}const zn="crypto.algorithmProvider";Be.registerSingleton(zn,H0);var qi;const We="1.3.36.3.3.2.8.1.1",Id=`${We}.1`,Cd=`${We}.2`,Nd=`${We}.3`,zd=`${We}.4`,$d=`${We}.5`,jd=`${We}.6`,Od=`${We}.7`,Bd=`${We}.8`,Td=`${We}.9`,Pd=`${We}.10`,Rd=`${We}.11`,Ld=`${We}.12`,Ud=`${We}.13`,Vd=`${We}.14`,Md="brainpoolP160r1",qd="brainpoolP160t1",Dd="brainpoolP192r1",Hd="brainpoolP192t1",Fd="brainpoolP224r1",Kd="brainpoolP224t1",Wd="brainpoolP256r1",Gd="brainpoolP256t1",Jd="brainpoolP320r1",Zd="brainpoolP320t1",Yd="brainpoolP384r1",Xd="brainpoolP384t1",Qd="brainpoolP512r1",ep="brainpoolP512t1",ye="ECDSA";let Gr=qi=class{toAsnAlgorithm(e){switch(e.name.toLowerCase()){case ye.toLowerCase():if("hash"in e)switch((typeof e.hash=="string"?e.hash:e.hash.name).toLowerCase()){case"sha-1":return h0;case"sha-256":return g0;case"sha-384":return m0;case"sha-512":return _0}else if("namedCurve"in e){let n="";switch(e.namedCurve){case"P-256":n=id;break;case"K-256":n=qi.SECP256K1;break;case"P-384":n=sd;break;case"P-521":n=od;break;case Md:n=Id;break;case qd:n=Cd;break;case Dd:n=Nd;break;case Hd:n=zd;break;case Fd:n=$d;break;case Kd:n=jd;break;case Wd:n=Od;break;case Gd:n=Bd;break;case Jd:n=Td;break;case Zd:n=Pd;break;case Yd:n=Rd;break;case Xd:n=Ld;break;case Qd:n=Ud;break;case ep:n=Vd;break}if(n)return new F({algorithm:Fr,parameters:M.serialize(new Qt({namedCurve:n}))})}}return null}toWebAlgorithm(e){switch(e.algorithm){case jl:return{name:ye,hash:{name:"SHA-1"}};case Ol:return{name:ye,hash:{name:"SHA-256"}};case Bl:return{name:ye,hash:{name:"SHA-384"}};case Tl:return{name:ye,hash:{name:"SHA-512"}};case Fr:{if(!e.parameters)throw new TypeError("Cannot get required parameters from EC algorithm");switch(M.parse(e.parameters,Qt).namedCurve){case id:return{name:ye,namedCurve:"P-256"};case qi.SECP256K1:return{name:ye,namedCurve:"K-256"};case sd:return{name:ye,namedCurve:"P-384"};case od:return{name:ye,namedCurve:"P-521"};case Id:return{name:ye,namedCurve:Md};case Cd:return{name:ye,namedCurve:qd};case Nd:return{name:ye,namedCurve:Dd};case zd:return{name:ye,namedCurve:Hd};case $d:return{name:ye,namedCurve:Fd};case jd:return{name:ye,namedCurve:Kd};case Od:return{name:ye,namedCurve:Wd};case Bd:return{name:ye,namedCurve:Gd};case Td:return{name:ye,namedCurve:Jd};case Pd:return{name:ye,namedCurve:Zd};case Rd:return{name:ye,namedCurve:Yd};case Ld:return{name:ye,namedCurve:Xd};case Ud:return{name:ye,namedCurve:Qd};case Vd:return{name:ye,namedCurve:ep}}}}return null}};Gr.SECP256K1="1.3.132.0.10";Gr=qi=d([Ro()],Gr);Be.registerSingleton(ki,Gr);const ng=Symbol("name"),rg=Symbol("value");class ue{constructor(e,n={},r=""){this[ng]=e,this[rg]=r;for(const i in n)this[i]=n[i]}}ue.NAME=ng;ue.VALUE=rg;class F0{static toTextObject(e){const n=new ue("Algorithm Identifier",{},rn.toString(e.algorithm));if(e.parameters)switch(e.algorithm){case Fr:{const r=new Gr().toWebAlgorithm(e);r&&"namedCurve"in r?n["Named Curve"]=r.namedCurve:n.Parameters=e.parameters;break}default:n.Parameters=e.parameters}return n}}class rn{static toString(e){const n=this.items[e];return n||e}}rn.items={[js]:"sha1",[Dh]:"sha224",[Os]:"sha256",[Bs]:"sha384",[Ts]:"sha512",[In]:"rsaEncryption",[Ns]:"sha1WithRSAEncryption",[x0]:"sha224WithRSAEncryption",[_c]:"sha256WithRSAEncryption",[zs]:"sha384WithRSAEncryption",[$s]:"sha512WithRSAEncryption",[Fr]:"ecPublicKey",[jl]:"ecdsaWithSHA1",[Vh]:"ecdsaWithSHA224",[Ol]:"ecdsaWithSHA256",[Bl]:"ecdsaWithSHA384",[Tl]:"ecdsaWithSHA512",[a0]:"TLS WWW server authentication",[c0]:"TLS WWW client authentication",[l0]:"Code Signing",[u0]:"E-mail Protection",[d0]:"Time Stamping",[p0]:"OCSP Signing",[f0]:"Signed Data"};class $n{static serialize(e){return this.serializeObj(e).join(`
|
|
118
|
+
`)}static pad(e=0){return"".padStart(2*e," ")}static serializeObj(e,n=0){const r=[];let i=this.pad(n++),s="";const o=e[ue.VALUE];o&&(s=` ${o}`),r.push(`${i}${e[ue.NAME]}:${s}`),i=this.pad(n);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")r.push(`${i}${u}${l}`);else if(l instanceof Date)r.push(`${i}${u}${l.toUTCString()}`);else if(Array.isArray(l))for(const p of l)p[ue.NAME]=c,r.push(...this.serializeObj(p,n));else if(l instanceof ue)l[ue.NAME]=c,r.push(...this.serializeObj(l,n));else if(q.isBufferSource(l))c?(r.push(`${i}${u}`),r.push(...this.serializeBufferSource(l,n+1))):r.push(...this.serializeBufferSource(l,n));else if("toTextObject"in l){const p=l.toTextObject();p[ue.NAME]=c,r.push(...this.serializeObj(p,n))}else throw new TypeError("Cannot serialize data in text format. Unsupported type.")}return r}static serializeBufferSource(e,n=0){const r=this.pad(n),i=q.toUint8Array(e),s=[];for(let o=0;o<i.length;){const c=[];for(let l=0;l<16&&o<i.length;l++){l===8&&c.push("");const u=i[o++].toString(16).padStart(2,"0");c.push(u)}s.push(`${r}${c.join(" ")}`)}return s}static serializeAlgorithm(e){return this.algorithmSerializer.toTextObject(e)}}$n.oidSerializer=rn;$n.algorithmSerializer=F0;class sn{constructor(...e){if(e.length===1){const n=e[0];this.rawData=M.serialize(n),this.onInit(n)}else{const n=M.parse(e[0],e[1]);this.rawData=q.toArrayBuffer(e[0]),this.onInit(n)}}equal(e){return e instanceof sn?kf(e.rawData,this.rawData):!1}toString(e="text"){switch(e){case"asn":return M.toString(this.rawData);case"text":return $n.serialize(this.toTextObject());case"hex":return J.ToHex(this.rawData);case"base64":return J.ToBase64(this.rawData);case"base64url":return J.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 ue(this.getTextName(),{},e)}}sn.NAME="ASN";class st extends sn{constructor(...e){let n;q.isBufferSource(e[0])?n=q.toArrayBuffer(e[0]):n=M.serialize(new rt({extnID:e[0],critical:e[1],extnValue:new ae(q.toArrayBuffer(e[2]))})),super(n,rt)}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[ue.NAME]===st.NAME&&(e[ue.NAME]=rn.toString(this.type)),e}}var ig;class Ht{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[ig]="CryptoProvider",typeof self<"u"&&typeof crypto<"u"?this.set(Ht.DEFAULT,crypto):typeof global<"u"&&global.crypto&&global.crypto.subtle&&this.set(Ht.DEFAULT,global.crypto)}clear(){this.items.clear()}delete(e){return this.items.delete(e)}forEach(e,n){return this.items.forEach(e,n)}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=Ht.DEFAULT){const n=this.items.get(e.toLowerCase());if(!n)throw new Error(`Cannot get Crypto by name '${e}'`);return n}set(e,n){if(typeof e=="string"){if(!n)throw new TypeError("Argument 'value' is required");this.items.set(e.toLowerCase(),n)}else this.items.set(Ht.DEFAULT,e);return this}}ig=Symbol.toStringTag;Ht.DEFAULT="default";const ze=new Ht,K0=/^[0-2](?:\.[1-9][0-9]*)+$/;function W0(t){return new RegExp(K0).test(t)}class sg{constructor(e={}){this.items={};for(const n in e)this.register(n,e[n])}get(e){return this.items[e]||null}findId(e){return W0(e)?e:this.get(e)}register(e,n){this.items[e]=n,this.items[n]=e}}const He=new sg;He.register("CN","2.5.4.3");He.register("L","2.5.4.7");He.register("ST","2.5.4.8");He.register("O","2.5.4.10");He.register("OU","2.5.4.11");He.register("C","2.5.4.6");He.register("DC","0.9.2342.19200300.100.1.25");He.register("E","1.2.840.113549.1.9.1");He.register("G","2.5.4.42");He.register("I","2.5.4.43");He.register("SN","2.5.4.4");He.register("T","2.5.4.12");function G0(t,e){return`\\${J.ToHex(J.FromUtf8String(e)).toUpperCase()}`}function J0(t){return t.replace(/([,+"\\<>;])/g,"\\$1").replace(/^([ #])/,"\\$1").replace(/([ ]$)/,"\\$1").replace(/([\r\n\t])/,G0)}class tt{static isASCII(e){for(let n=0;n<e.length;n++)if(e.charCodeAt(n)>255)return!1;return!0}static isPrintableString(e){return/^[A-Za-z0-9 '()+,-./:=?]*$/g.test(e)}constructor(e,n={}){this.extraNames=new sg,this.asn=new ke;for(const r in n)if(Object.prototype.hasOwnProperty.call(n,r)){const i=n[r];this.extraNames.register(r,i)}typeof e=="string"?this.asn=this.fromString(e):e instanceof ke?this.asn=e:q.isBufferSource(e)?this.asn=M.parse(e,ke):this.asn=this.fromJSON(e)}getField(e){const n=this.extraNames.findId(e)||He.findId(e),r=[];for(const i of this.asn)for(const s of i)s.type===n&&r.push(s.value.toString());return r}getName(e){return this.extraNames.get(e)||He.get(e)}toString(){return this.asn.map(e=>e.map(n=>{const r=this.getName(n.type)||n.type,i=n.value.anyValue?`#${J.ToHex(n.value.anyValue)}`:J0(n.value.toString());return`${r}=${i}`}).join("+")).join(", ")}toJSON(){var e;const n=[];for(const r of this.asn){const i={};for(const s of r){const o=this.getName(s.type)||s.type;(e=i[o])!==null&&e!==void 0||(i[o]=[]),i[o].push(s.value.anyValue?`#${J.ToHex(s.value.anyValue)}`:s.value.toString())}n.push(i)}return n}fromString(e){const n=new ke,r=/(\d\.[\d.]*\d|[A-Za-z]+)=((?:"")|(?:".*?[^\\]")|(?:[^,+].*?(?:[^\\][,+]))|(?:))([,+])?/g;let i=null,s=",";for(;i=r.exec(`${e},`);){let[,o,c]=i;const l=c[c.length-1];(l===","||l==="+")&&(c=c.slice(0,c.length-1),i[3]=l);const u=i[3];o=this.getTypeOid(o);const p=this.createAttribute(o,c);s==="+"?n[n.length-1].push(p):n.push(new Yn([p])),s=u}return n}fromJSON(e){const n=new ke;for(const r of e){const i=new Yn;for(const s in r){const o=this.getTypeOid(s),c=r[s];for(const l of c){const u=this.createAttribute(o,l);i.push(u)}}n.push(i)}return n}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,n){const r=new _o({type:e});if(typeof n=="object")for(const i in n)switch(i){case"ia5String":r.value.ia5String=n[i];break;case"utf8String":r.value.utf8String=n[i];break;case"universalString":r.value.universalString=n[i];break;case"bmpString":r.value.bmpString=n[i];break;case"printableString":r.value.printableString=n[i];break}else if(n[0]==="#")r.value.anyValue=J.FromHex(n.slice(1));else{const i=this.processStringValue(n);e===this.getName("E")||e===this.getName("DC")?r.value.ia5String=i:tt.isPrintableString(i)?r.value.printableString=i:r.value.utf8String=i}return r}processStringValue(e){const n=/"(.*?[^\\])?"/.exec(e);return n&&(e=n[1]),e.replace(/\\0a/ig,`
|
|
119
|
+
`).replace(/\\0d/ig,"\r").replace(/\\0g/ig," ").replace(/\\(.)/g,"$1")}toArrayBuffer(){return M.serialize(this.asn)}async getThumbprint(...e){var n;let r,i="SHA-1";return e.length>=1&&!(!((n=e[0])===null||n===void 0)&&n.subtle)?(i=e[0]||i,r=e[1]||ze.get()):r=e[0]||ze.get(),await r.subtle.digest(i,this.toArrayBuffer())}}const og="Cannot initialize GeneralName from ASN.1 data.",tp=`${og} Unsupported string format in use.`,Z0=`${og} Value doesn't match to GUID regular expression.`,np=/^([0-9a-f]{8})-?([0-9a-f]{4})-?([0-9a-f]{4})-?([0-9a-f]{4})-?([0-9a-f]{12})$/i,rp="1.3.6.1.4.1.311.25.1",ip="1.3.6.1.4.1.311.20.2.3",ra="dns",ia="dn",sa="email",oa="ip",aa="url",ca="guid",la="upn",ji="id";class Ft extends sn{constructor(...e){let n;if(e.length===2)switch(e[0]){case ia:{const r=new tt(e[1]).toArrayBuffer(),i=M.parse(r,ke);n=new re({directoryName:i});break}case ra:n=new re({dNSName:e[1]});break;case sa:n=new re({rfc822Name:e[1]});break;case ca:{const r=new RegExp(np,"i").exec(e[1]);if(!r)throw new Error("Cannot parse GUID value. Value doesn't match to regular expression");const i=r.slice(1).map((s,o)=>o<3?J.ToHex(new Uint8Array(J.FromHex(s)).reverse()):s).join("");n=new re({otherName:new Mr({typeId:rp,value:M.serialize(new ae(J.FromHex(i)))})});break}case oa:n=new re({iPAddress:e[1]});break;case ji:n=new re({registeredID:e[1]});break;case la:{n=new re({otherName:new Mr({typeId:ip,value:M.serialize(kh.toASN(e[1]))})});break}case aa:n=new re({uniformResourceIdentifier:e[1]});break;default:throw new Error("Cannot create GeneralName. Unsupported type of the name")}else q.isBufferSource(e[0])?n=M.parse(e[0],re):n=e[0];super(n)}onInit(e){if(e.dNSName!=null)this.type=ra,this.value=e.dNSName;else if(e.rfc822Name!=null)this.type=sa,this.value=e.rfc822Name;else if(e.iPAddress!=null)this.type=oa,this.value=e.iPAddress;else if(e.uniformResourceIdentifier!=null)this.type=aa,this.value=e.uniformResourceIdentifier;else if(e.registeredID!=null)this.type=ji,this.value=e.registeredID;else if(e.directoryName!=null)this.type=ia,this.value=new tt(e.directoryName).toString();else if(e.otherName!=null)if(e.otherName.typeId===rp){this.type=ca;const n=M.parse(e.otherName.value,ae),r=new RegExp(np,"i").exec(J.ToHex(n));if(!r)throw new Error(Z0);this.value=r.slice(1).map((i,s)=>s<3?J.ToHex(new Uint8Array(J.FromHex(i)).reverse()):i).join("-")}else if(e.otherName.typeId===ip)this.type=la,this.value=M.parse(e.otherName.value,Oe).toString();else throw new Error(tp);else throw new Error(tp)}toJSON(){return{type:this.type,value:this.value}}toTextObject(){let e;switch(this.type){case ia:case ra:case ca:case oa:case ji:case la:case aa:e=this.type.toUpperCase();break;case sa:e="Email";break;default:throw new Error("Unsupported GeneralName type")}let n=this.value;return this.type===ji&&(n=rn.toString(n)),new ue(e,void 0,n)}}class Jr extends sn{constructor(e){let n;if(e instanceof Le)n=e;else if(Array.isArray(e)){const r=[];for(const i of e)if(i instanceof re)r.push(i);else{const s=M.parse(new Ft(i.type,i.value).rawData,re);r.push(s)}n=new Le(r)}else if(q.isBufferSource(e))n=M.parse(e,Le);else throw new Error("Cannot initialize GeneralNames. Incorrect incoming arguments");super(n)}onInit(e){const n=[];for(const r of e){let i=null;try{i=new Ft(r)}catch{continue}n.push(i)}this.items=n}toJSON(){return this.items.map(e=>e.toJSON())}toTextObject(){const e=super.toTextObjectEmpty();for(const n of this.items){const r=n.toTextObject();let i=e[r[ue.NAME]];Array.isArray(i)||(i=[],e[r[ue.NAME]]=i),i.push(r)}return e}}Jr.NAME="GeneralNames";const Pr="-{5}",Zr="\\n",Y0=`[^${Zr}]+`,X0=`${Pr}BEGIN (${Y0}(?=${Pr}))${Pr}`,Q0=`${Pr}END \\1${Pr}`,sr="\\n",ey=`[^:${Zr}]+`,ty=`(?:[^${Zr}]+${sr}(?: +[^${Zr}]+${sr})*)`,ny="[a-zA-Z0-9=+/]+",ry=`(?:${ny}${sr})+`,sp=`${X0}${sr}(?:((?:${ey}: ${ty})+))?${sr}?(${ry})${Q0}`;class Ze{static isPem(e){return typeof e=="string"&&new RegExp(sp,"g").test(e)}static decodeWithHeaders(e){e=e.replace(/\r/g,"");const n=new RegExp(sp,"g"),r=[];let i=null;for(;i=n.exec(e);){const s=i[3].replace(new RegExp(`[${Zr}]+`,"g"),""),o={type:i[1],headers:[],rawData:J.FromBase64(s)},c=i[2];if(c){const l=c.split(new RegExp(sr,"g"));let u=null;for(const p of l){const[h,m]=p.split(/:(.*)/);if(m===void 0){if(!u)throw new Error("Cannot parse PEM string. Incorrect header value");u.value+=h.trim()}else u&&o.headers.push(u),u={key:h,value:m.trim()}}u&&o.headers.push(u)}r.push(o)}return r}static decode(e){return this.decodeWithHeaders(e).map(r=>r.rawData)}static decodeFirst(e){const n=this.decode(e);if(!n.length)throw new RangeError("PEM string doesn't contain any objects");return n[0]}static encode(e,n){if(Array.isArray(e)){const r=new Array;return n?e.forEach(i=>{if(!q.isBufferSource(i))throw new TypeError("Cannot encode array of BufferSource in PEM format. Not all items of the array are BufferSource");r.push(this.encodeStruct({type:n,rawData:q.toArrayBuffer(i)}))}):e.forEach(i=>{if(!("type"in i))throw new TypeError("Cannot encode array of PemStruct in PEM format. Not all items of the array are PemStrut");r.push(this.encodeStruct(i))}),r.join(`
|
|
120
120
|
`)}else{if(!n)throw new Error("Required argument 'tag' is missed");return this.encodeStruct({type:n,rawData:q.toArrayBuffer(e)})}}static encodeStruct(e){var n;const r=e.type.toLocaleUpperCase(),i=[];if(i.push(`-----BEGIN ${r}-----`),!((n=e.headers)===null||n===void 0)&&n.length){for(const u of e.headers)i.push(`${u.key}: ${u.value}`);i.push("")}const s=J.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 i.push(...l),i.push(`-----END ${r}-----`),i.join(`
|
|
121
|
-
`)}}Ze.CertificateTag="CERTIFICATE";Ze.CrlTag="CRL";Ze.CertificateRequestTag="CERTIFICATE REQUEST";Ze.PublicKeyTag="PUBLIC KEY";Ze.PrivateKeyTag="PRIVATE KEY";class Ut extends sn{static isAsnEncoded(e){return q.isBufferSource(e)||typeof e=="string"}static toArrayBuffer(e){if(typeof e=="string"){if(Ze.isPem(e))return Ze.decode(e)[0];if(J.isHex(e))return J.FromHex(e);if(J.isBase64(e))return J.FromBase64(e);if(J.isBase64Url(e))return J.FromBase64Url(e);throw new TypeError("Unsupported format of 'raw' argument. Must be one of DER, PEM, HEX, Base64, or Base4Url")}else{const n=J.ToBinary(e);return Ze.isPem(n)?Ze.decode(n)[0]:J.isHex(n)?J.FromHex(n):J.isBase64(n)?J.FromBase64(n):J.isBase64Url(n)?J.FromBase64Url(n):q.toArrayBuffer(e)}}constructor(...e){Ut.isAsnEncoded(e[0])?super(Ut.toArrayBuffer(e[0]),e[1]):super(e[0])}toString(e="pem"){switch(e){case"pem":return Ze.encode(this.rawData,this.tag);default:return super.toString(e)}}}class pt extends Ut{static async create(e,n=ze.get()){if(e instanceof pt)return e;if(Ht.isCryptoKey(e)){if(e.type!=="public")throw new TypeError("Public key is required");const r=await n.subtle.exportKey("spki",e);return new pt(r)}else{if(e.publicKey)return e.publicKey;if(q.isBufferSource(e))return new pt(e);throw new TypeError("Unsupported PublicKeyType")}}constructor(e){Ut.isAsnEncoded(e)?super(e,dt):super(e),this.tag=Ze.PublicKeyTag}async export(...e){let n,r=["verify"],i={hash:"SHA-256",...this.algorithm};e.length>1?(i=e[0]||i,r=e[1]||r,n=e[2]||ze.get()):n=e[0]||ze.get();let s=this.rawData;const o=M.parse(this.rawData,dt);return o.algorithm.algorithm===Tr&&(s=iy(o,s)),n.subtle.importKey("spki",s,i,!0,r)}onInit(e){const n=Be.resolve(zn),r=this.algorithm=n.toWebAlgorithm(e.algorithm);switch(e.algorithm.algorithm){case In:{const i=M.parse(e.subjectPublicKey,Pl),s=q.toUint8Array(i.modulus);r.publicExponent=q.toUint8Array(i.publicExponent),r.modulusLength=(s[0]?s:s.slice(1)).byteLength<<3;break}}}async getThumbprint(...e){var n;let r,i="SHA-1";return e.length>=1&&!(!((n=e[0])===null||n===void 0)&&n.subtle)?(i=e[0]||i,r=e[1]||ze.get()):r=e[0]||ze.get(),await r.subtle.digest(i,this.rawData)}async getKeyIdentifier(...e){let n,r="SHA-1";e.length===1?typeof e[0]=="string"?(r=e[0],n=ze.get()):n=e[0]:e.length===2?(r=e[0],n=e[1]):n=ze.get();const i=M.parse(this.rawData,dt);return await n.subtle.digest(r,i.subjectPublicKey)}toTextObject(){const e=this.toTextObjectEmpty(),n=M.parse(this.rawData,dt);switch(e.Algorithm=$n.serializeAlgorithm(n.algorithm),n.algorithm.algorithm){case Fr:e["EC Point"]=n.subjectPublicKey;break;case In:default:e["Raw Data"]=n.subjectPublicKey}return e}}function iy(t,e){return t.algorithm=new F({algorithm:In,parameters:null}),e=M.serialize(t),e}class Yr extends st{static async create(e,n=!1,r=ze.get()){if("name"in e&&"serialNumber"in e)return new Yr(e,n);const s=await(await pt.create(e,r)).getKeyIdentifier(r);return new Yr(J.ToHex(s),n)}constructor(...e){if(q.isBufferSource(e[0]))super(e[0]);else if(typeof e[0]=="string"){const n=new fn({keyIdentifier:new _l(J.FromHex(e[0]))});super(Ba,e[1],M.serialize(n))}else{const n=e[0],r=n.name instanceof Jr?M.parse(n.name.rawData,Le):n.name,i=new fn({authorityCertIssuer:r,authorityCertSerialNumber:J.FromHex(n.serialNumber)});super(Ba,e[1],M.serialize(i))}}onInit(e){super.onInit(e);const n=M.parse(e.extnValue,fn);n.keyIdentifier&&(this.keyId=J.ToHex(n.keyIdentifier)),(n.authorityCertIssuer||n.authorityCertSerialNumber)&&(this.certId={name:n.authorityCertIssuer||[],serialNumber:n.authorityCertSerialNumber?J.ToHex(n.authorityCertSerialNumber):""})}toTextObject(){const e=this.toTextObjectWithoutValue(),n=M.parse(this.value,fn);return n.authorityCertIssuer&&(e["Authority Issuer"]=new Jr(n.authorityCertIssuer).toTextObject()),n.authorityCertSerialNumber&&(e["Authority Serial Number"]=n.authorityCertSerialNumber),n.keyIdentifier&&(e[""]=n.keyIdentifier),e}}Yr.NAME="Authority Key Identifier";class Vl extends st{constructor(...e){if(q.isBufferSource(e[0])){super(e[0]);const n=M.parse(this.value,ds);this.ca=n.cA,this.pathLength=n.pathLenConstraint}else{const n=new ds({cA:e[0],pathLenConstraint:e[1]});super(Ah,e[2],M.serialize(n)),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}}Vl.NAME="Basic Constraints";var op;(function(t){t.serverAuth="1.3.6.1.5.5.7.3.1",t.clientAuth="1.3.6.1.5.5.7.3.2",t.codeSigning="1.3.6.1.5.5.7.3.3",t.emailProtection="1.3.6.1.5.5.7.3.4",t.timeStamping="1.3.6.1.5.5.7.3.8",t.ocspSigning="1.3.6.1.5.5.7.3.9"})(op||(op={}));class Ml extends st{constructor(...e){if(q.isBufferSource(e[0])){super(e[0]);const n=M.parse(this.value,gs);this.usages=n.map(r=>r)}else{const n=new gs(e[0]);super(Ch,e[1],M.serialize(n)),this.usages=e[0]}}toTextObject(){const e=this.toTextObjectWithoutValue();return e[""]=this.usages.map(n=>rn.toString(n)).join(", "),e}}Ml.NAME="Extended Key Usages";var Ms;(function(t){t[t.digitalSignature=1]="digitalSignature",t[t.nonRepudiation=2]="nonRepudiation",t[t.keyEncipherment=4]="keyEncipherment",t[t.dataEncipherment=8]="dataEncipherment",t[t.keyAgreement=16]="keyAgreement",t[t.keyCertSign=32]="keyCertSign",t[t.cRLSign=64]="cRLSign",t[t.encipherOnly=128]="encipherOnly",t[t.decipherOnly=256]="decipherOnly"})(Ms||(Ms={}));class ql extends st{constructor(...e){if(q.isBufferSource(e[0])){super(e[0]);const n=M.parse(this.value,ta);this.usages=n.toNumber()}else{const n=new ta(e[0]);super(Nh,e[1],M.serialize(n)),this.usages=e[0]}}toTextObject(){const e=this.toTextObjectWithoutValue(),n=M.parse(this.value,ta);return e[""]=n.toJSON().join(", "),e}}ql.NAME="Key Usages";class xi extends st{static async create(e,n=!1,r=ze.get()){const s=await(await pt.create(e,r)).getKeyIdentifier(r);return new xi(J.ToHex(s),n)}constructor(...e){if(q.isBufferSource(e[0])){super(e[0]);const n=M.parse(this.value,Wt);this.keyId=J.ToHex(n)}else{const n=typeof e[0]=="string"?J.FromHex(e[0]):e[0],r=new Wt(n);super(Oh,e[1],M.serialize(r)),this.keyId=J.ToHex(n)}}toTextObject(){const e=this.toTextObjectWithoutValue(),n=M.parse(this.value,Wt);return e[""]=n,e}}xi.NAME="Subject Key Identifier";class ag extends st{constructor(...e){q.isBufferSource(e[0])?super(e[0]):super(jh,e[1],new Jr(e[0]||[]).rawData)}onInit(e){super.onInit(e);const n=M.parse(e.extnValue,Ja);this.names=new Jr(n)}toTextObject(){const e=this.toTextObjectWithoutValue(),n=this.names.toTextObject();for(const r in n)e[r]=n[r];return e}}ag.NAME="Subject Alternative Name";class ot{static register(e,n){this.items.set(e,n)}static create(e){const n=new st(e),r=this.items.get(n.type);return r?new r(e):n}}ot.items=new Map;class cg extends st{constructor(...e){var n;if(q.isBufferSource(e[0])){super(e[0]);const r=M.parse(this.value,fs);this.policies=r.map(i=>i.policyIdentifier)}else{const r=e[0],i=(n=e[1])!==null&&n!==void 0?n:!1,s=new fs(r.map(o=>new yo({policyIdentifier:o})));super(Eh,i,M.serialize(s)),this.policies=r}}toTextObject(){const e=this.toTextObjectWithoutValue();return e.Policy=this.policies.map(n=>new ue("",{},rn.toString(n))),e}}cg.NAME="Certificate Policies";ot.register(Eh,cg);class lg extends st{constructor(...e){var n;if(q.isBufferSource(e[0]))super(e[0]);else if(Array.isArray(e[0])&&typeof e[0][0]=="string"){const i=e[0].map(o=>new pr({distributionPoint:new xn({fullName:[new re({uniformResourceIdentifier:o})]})})),s=new Kn(i);super(Ua,e[1],M.serialize(s))}else{const r=new Kn(e[0]);super(Ua,e[1],M.serialize(r))}(n=this.distributionPoints)!==null&&n!==void 0||(this.distributionPoints=[])}onInit(e){super.onInit(e);const n=M.parse(e.extnValue,Kn);this.distributionPoints=n}toTextObject(){const e=this.toTextObjectWithoutValue();return e["Distribution Point"]=this.distributionPoints.map(n=>{var r;const i={};return n.distributionPoint&&(i[""]=(r=n.distributionPoint.fullName)===null||r===void 0?void 0:r.map(s=>new Ft(s).toString()).join(", ")),n.reasons&&(i.Reasons=n.reasons.toString()),n.cRLIssuer&&(i["CRL Issuer"]=n.cRLIssuer.map(s=>s.toString()).join(", ")),i}),e}}lg.NAME="CRL Distribution Points";class ug extends st{constructor(...e){var n,r,i,s;if(q.isBufferSource(e[0]))super(e[0]);else if(e[0]instanceof Dn){const o=new Dn(e[0]);super(Oa,e[1],M.serialize(o))}else{const o=e[0],c=new Dn;Bi(c,o,Du,"ocsp"),Bi(c,o,Hu,"caIssuers"),Bi(c,o,Fu,"timeStamping"),Bi(c,o,Ku,"caRepository"),super(Oa,e[1],M.serialize(c))}(n=this.ocsp)!==null&&n!==void 0||(this.ocsp=[]),(r=this.caIssuers)!==null&&r!==void 0||(this.caIssuers=[]),(i=this.timeStamping)!==null&&i!==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=[],M.parse(e.extnValue,Dn).forEach(r=>{switch(r.accessMethod){case Du:this.ocsp.push(new Ft(r.accessLocation));break;case Hu:this.caIssuers.push(new Ft(r.accessLocation));break;case Fu:this.timeStamping.push(new Ft(r.accessLocation));break;case Ku:this.caRepository.push(new Ft(r.accessLocation));break}})}toTextObject(){const e=this.toTextObjectWithoutValue();return this.ocsp.length&&Oi(e,"OCSP",this.ocsp),this.caIssuers.length&&Oi(e,"CA Issuers",this.caIssuers),this.timeStamping.length&&Oi(e,"Time Stamping",this.timeStamping),this.caRepository.length&&Oi(e,"CA Repository",this.caRepository),e}}ug.NAME="Authority Info Access";function Oi(t,e,n){if(n.length===1)t[e]=n[0].toTextObject();else{const r=new ue("");n.forEach((i,s)=>{const o=i.toTextObject(),c=`${o[ue.NAME]} ${s+1}`;let l=r[c];Array.isArray(l)||(l=[],r[c]=l),l.push(o)}),t[e]=r}}function Bi(t,e,n,r){const i=e[r];i&&(Array.isArray(i)?i:[i]).forEach(o=>{typeof o=="string"&&(o=new Ft("url",o)),t.push(new ui({accessMethod:n,accessLocation:M.parse(o.rawData,re)}))})}class vr extends sn{constructor(...e){let n;if(q.isBufferSource(e[0]))n=q.toArrayBuffer(e[0]);else{const r=e[0],i=Array.isArray(e[1])?e[1].map(s=>q.toArrayBuffer(s)):[];n=M.serialize(new Pt({type:r,values:i}))}super(n,Pt)}onInit(e){this.type=e.type,this.values=e.values}toTextObject(){const e=this.toTextObjectWithoutValue();return e.Value=this.values.map(n=>new ue("",{"":n})),e}toTextObjectWithoutValue(){const e=this.toTextObjectEmpty();return e[ue.NAME]===vr.NAME&&(e[ue.NAME]=rn.toString(this.type)),e}}vr.NAME="Attribute";class dg extends vr{constructor(...e){var n;if(q.isBufferSource(e[0]))super(e[0]);else{const r=new Us({printableString:e[0]});super(tg,[M.serialize(r)])}(n=this.password)!==null&&n!==void 0||(this.password="")}onInit(e){if(super.onInit(e),this.values[0]){const n=M.parse(this.values[0],Us);this.password=n.toString()}}toTextObject(){const e=this.toTextObjectWithoutValue();return e[ue.VALUE]=this.password,e}}dg.NAME="Challenge Password";class Dl extends vr{constructor(...e){var n;if(q.isBufferSource(e[0]))super(e[0]);else{const r=e[0],i=new Yt;for(const s of r)i.push(M.parse(s.rawData,rt));super(Ul,[M.serialize(i)])}(n=this.items)!==null&&n!==void 0||(this.items=[])}onInit(e){if(super.onInit(e),this.values[0]){const n=M.parse(this.values[0],Yt);this.items=n.map(r=>ot.create(M.serialize(r)))}}toTextObject(){const e=this.toTextObjectWithoutValue(),n=this.items.map(r=>r.toTextObject());for(const r of n)e[r[ue.NAME]]=r;return e}}Dl.NAME="Extensions";class Mo{static register(e,n){this.items.set(e,n)}static create(e){const n=new vr(e),r=this.items.get(n.type);return r?new r(e):n}}Mo.items=new Map;const Si="crypto.signatureFormatter";class sy{toAsnSignature(e,n){return q.toArrayBuffer(n)}toWebSignature(e,n){return q.toArrayBuffer(n)}}var Di;let Uc=Di=class{static createPssParams(e,n){const r=Di.getHashAlgorithm(e);return r?new Nn({hashAlgorithm:r,maskGenAlgorithm:new F({algorithm:jo,parameters:M.serialize(r)}),saltLength:n}):null}static getHashAlgorithm(e){const n=Be.resolve(zn);return typeof e=="string"?n.toAsnAlgorithm({name:e}):typeof e=="object"&&e&&"name"in e?n.toAsnAlgorithm(e):null}toAsnAlgorithm(e){switch(e.name.toLowerCase()){case"rsassa-pkcs1-v1_5":if("hash"in e){let n;if(typeof e.hash=="string")n=e.hash;else if(e.hash&&typeof e.hash=="object"&&"name"in e.hash&&typeof e.hash.name=="string")n=e.hash.name.toUpperCase();else throw new Error("Cannot get hash algorithm name");switch(n.toLowerCase()){case"sha-1":return new F({algorithm:Ns,parameters:null});case"sha-256":return new F({algorithm:mc,parameters:null});case"sha-384":return new F({algorithm:zs,parameters:null});case"sha-512":return new F({algorithm:$s,parameters:null})}}else return new F({algorithm:In,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 n=Di.createPssParams(e.hash,e.saltLength);if(!n)throw new Error("Cannot create PSS parameters");return new F({algorithm:Tr,parameters:M.serialize(n)})}else return new F({algorithm:Tr,parameters:null})}return null}toWebAlgorithm(e){switch(e.algorithm){case In:return{name:"RSASSA-PKCS1-v1_5"};case Ns:return{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-1"}};case mc:return{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}};case zs:return{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-384"}};case $s:return{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-512"}};case Tr:if(e.parameters){const n=M.parse(e.parameters,Nn);return{name:"RSA-PSS",hash:Be.resolve(zn).toWebAlgorithm(n.hashAlgorithm),saltLength:n.saltLength}}else return{name:"RSA-PSS"}}return null}};Uc=Di=d([Po()],Uc);Be.registerSingleton(ki,Uc);let Vc=class{toAsnAlgorithm(e){switch(e.name.toLowerCase()){case"sha-1":return new F({algorithm:js});case"sha-256":return new F({algorithm:Os});case"sha-384":return new F({algorithm:Bs});case"sha-512":return new F({algorithm:Ts})}return null}toWebAlgorithm(e){switch(e.algorithm){case js:return{name:"SHA-1"};case Os:return{name:"SHA-256"};case Bs:return{name:"SHA-384"};case Ts:return{name:"SHA-512"}}return null}};Vc=d([Po()],Vc);Be.registerSingleton(ki,Vc);class nt{addPadding(e,n){const r=q.toUint8Array(n),i=new Uint8Array(e);return i.set(r,e-r.length),i}removePadding(e,n=!1){let r=q.toUint8Array(e);for(let i=0;i<r.length;i++)if(r[i]){r=r.slice(i);break}if(n&&r[0]>127){const i=new Uint8Array(r.length+1);return i.set(r,1),i.buffer}return r.buffer}toAsnSignature(e,n){if(e.name==="ECDSA"){const r=e.namedCurve,i=nt.namedCurveSize.get(r)||nt.defaultNamedCurveSize,s=new Cs,o=q.toUint8Array(n);return s.r=this.removePadding(o.slice(0,i),!0),s.s=this.removePadding(o.slice(i,i+i),!0),M.serialize(s)}return null}toWebSignature(e,n){if(e.name==="ECDSA"){const r=M.parse(n,Cs),i=e.namedCurve,s=nt.namedCurveSize.get(i)||nt.defaultNamedCurveSize,o=this.addPadding(s,this.removePadding(r.r)),c=this.addPadding(s,this.removePadding(r.s));return y_(o,c)}return null}}nt.namedCurveSize=new Map;nt.defaultNamedCurveSize=32;const la="1.3.101.110",ap="1.3.101.111",ua="1.3.101.112",cp="1.3.101.113";let Mc=class{toAsnAlgorithm(e){let n=null;switch(e.name.toLowerCase()){case"ed25519":n=ua;break;case"x25519":n=la;break;case"eddsa":switch(e.namedCurve.toLowerCase()){case"ed25519":n=ua;break;case"ed448":n=cp;break}break;case"ecdh-es":switch(e.namedCurve.toLowerCase()){case"x25519":n=la;break;case"x448":n=ap;break}}return n?new F({algorithm:n}):null}toWebAlgorithm(e){switch(e.algorithm){case ua:return{name:"Ed25519"};case cp:return{name:"EdDSA",namedCurve:"Ed448"};case la:return{name:"X25519"};case ap:return{name:"ECDH-ES",namedCurve:"X448"}}return null}};Mc=d([Po()],Mc);Be.registerSingleton(ki,Mc);class oy extends Ut{constructor(e){Ut.isAsnEncoded(e)?super(e,Wr):super(e),this.tag=Ze.CertificateRequestTag}onInit(e){this.tbs=M.serialize(e.certificationRequestInfo),this.publicKey=new pt(e.certificationRequestInfo.subjectPKInfo);const n=Be.resolve(zn);this.signatureAlgorithm=n.toWebAlgorithm(e.signatureAlgorithm),this.signature=e.signature,this.attributes=e.certificationRequestInfo.attributes.map(i=>Mo.create(M.serialize(i)));const r=this.getAttribute(Ul);this.extensions=[],r instanceof Dl&&(this.extensions=r.items),this.subjectName=new tt(e.certificationRequestInfo.subject),this.subject=this.subjectName.toString()}getAttribute(e){for(const n of this.attributes)if(n.type===e)return n;return null}getAttributes(e){return this.attributes.filter(n=>n.type===e)}getExtension(e){for(const n of this.extensions)if(n.type===e)return n;return null}getExtensions(e){return this.extensions.filter(n=>n.type===e)}async verify(e=ze.get()){const n={...this.publicKey.algorithm,...this.signatureAlgorithm},r=await this.publicKey.export(n,["verify"],e),i=Be.resolveAll(Si).reverse();let s=null;for(const c of i)if(s=c.toWebSignature(n,this.signature),s)break;if(!s)throw Error("Cannot convert WebCrypto signature value to ASN.1 format");return await e.subtle.verify(this.signatureAlgorithm,r,s,this.tbs)}toTextObject(){const e=this.toTextObjectEmpty(),n=M.parse(this.rawData,Wr),r=n.certificationRequestInfo,i=new ue("",{Version:`${Sn[r.version]} (${r.version})`,Subject:this.subject,"Subject Public Key Info":this.publicKey});if(this.attributes.length){const s=new ue("");for(const o of this.attributes){const c=o.toTextObject();s[c[ue.NAME]]=c}i.Attributes=s}return e.Data=i,e.Signature=new ue("",{Algorithm:$n.serializeAlgorithm(n.signatureAlgorithm),"":n.signature}),e}}oy.NAME="PKCS#10 Certificate Request";class Hl extends Ut{constructor(e){Ut.isAsnEncoded(e)?super(e,An):super(e),this.tag=Ze.CertificateTag}onInit(e){const n=e.tbsCertificate;this.tbs=M.serialize(n),this.serialNumber=J.ToHex(n.serialNumber),this.subjectName=new tt(n.subject),this.subject=new tt(n.subject).toString(),this.issuerName=new tt(n.issuer),this.issuer=this.issuerName.toString();const r=Be.resolve(zn);this.signatureAlgorithm=r.toWebAlgorithm(e.signatureAlgorithm),this.signature=e.signatureValue;const i=n.validity.notBefore.utcTime||n.validity.notBefore.generalTime;if(!i)throw new Error("Cannot get 'notBefore' value");this.notBefore=i;const s=n.validity.notAfter.utcTime||n.validity.notAfter.generalTime;if(!s)throw new Error("Cannot get 'notAfter' value");this.notAfter=s,this.extensions=[],n.extensions&&(this.extensions=n.extensions.map(o=>ot.create(M.serialize(o)))),this.publicKey=new pt(n.subjectPublicKeyInfo)}getExtension(e){for(const n of this.extensions)if(typeof e=="string"){if(n.type===e)return n}else if(n instanceof e)return n;return null}getExtensions(e){return this.extensions.filter(n=>typeof e=="string"?n.type===e:n instanceof e)}async verify(e={},n=ze.get()){let r,i;const s=e.publicKey;try{if(!s)r={...this.publicKey.algorithm,...this.signatureAlgorithm},i=await this.publicKey.export(r,["verify"],n);else if("publicKey"in s)r={...s.publicKey.algorithm,...this.signatureAlgorithm},i=await s.publicKey.export(r,["verify"],n);else if(s instanceof pt)r={...s.algorithm,...this.signatureAlgorithm},i=await s.export(r,["verify"],n);else if(q.isBufferSource(s)){const u=new pt(s);r={...u.algorithm,...this.signatureAlgorithm},i=await u.export(r,["verify"],n)}else r={...s.algorithm,...this.signatureAlgorithm},i=s}catch{return!1}const o=Be.resolveAll(Si).reverse();let c=null;for(const u of o)if(c=u.toWebSignature(r,this.signature),c)break;if(!c)throw Error("Cannot convert ASN.1 signature value to WebCrypto format");const l=await n.subtle.verify(this.signatureAlgorithm,i,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 n,r="SHA-1";return e[0]&&(e[0].subtle?n=e[0]:(r=e[0]||r,n=e[1])),n??(n=ze.get()),await n.subtle.digest(r,this.rawData)}async isSelfSigned(e=ze.get()){return this.subject===this.issuer&&await this.verify({signatureOnly:!0},e)}toTextObject(){const e=this.toTextObjectEmpty(),n=M.parse(this.rawData,An),r=n.tbsCertificate,i=new ue("",{Version:`${Sn[r.version]} (${r.version})`,"Serial Number":r.serialNumber,"Signature Algorithm":$n.serializeAlgorithm(r.signature),Issuer:this.issuer,Validity:new ue("",{"Not Before":r.validity.notBefore.getTime(),"Not After":r.validity.notAfter.getTime()}),Subject:this.subject,"Subject Public Key Info":this.publicKey});if(r.issuerUniqueID&&(i["Issuer Unique ID"]=r.issuerUniqueID),r.subjectUniqueID&&(i["Subject Unique ID"]=r.subjectUniqueID),this.extensions.length){const s=new ue("");for(const o of this.extensions){const c=o.toTextObject();s[c[ue.NAME]]=c}i.Extensions=s}return e.Data=i,e.Signature=new ue("",{Algorithm:$n.serializeAlgorithm(n.signatureAlgorithm),"":n.signatureValue}),e}}Hl.NAME="Certificate";class ay{static async createSelfSigned(e,n=ze.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},n)}static async create(e,n=ze.get()){var r;let i;e.publicKey instanceof pt?i=e.publicKey.rawData:"publicKey"in e.publicKey?i=e.publicKey.publicKey.rawData:q.isBufferSource(e.publicKey)?i=e.publicKey:i=await n.subtle.exportKey("spki",e.publicKey);const s=e.serialNumber?q.toUint8Array(J.FromHex(e.serialNumber)):n.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 An({tbsCertificate:new Xe({version:Sn.v3,serialNumber:s,validity:new di({notBefore:o,notAfter:c}),extensions:new Yt(((r=e.extensions)===null||r===void 0?void 0:r.map(w=>M.parse(w.rawData,rt)))||[]),subjectPublicKeyInfo:M.parse(i,dt)})});if(e.subject){const w=e.subject instanceof tt?e.subject:new tt(e.subject);l.tbsCertificate.subject=M.parse(w.toArrayBuffer(),ke)}if(e.issuer){const w=e.issuer instanceof tt?e.issuer:new tt(e.issuer);l.tbsCertificate.issuer=M.parse(w.toArrayBuffer(),ke)}const u={hash:"SHA-256"},p="signingKey"in e?{...u,...e.signingAlgorithm,...e.signingKey.algorithm}:{...u,...e.signingAlgorithm},h=Be.resolve(zn);l.tbsCertificate.signature=l.signatureAlgorithm=h.toAsnAlgorithm(p);const m=M.serialize(l.tbsCertificate),v="signingKey"in e?await n.subtle.sign(p,e.signingKey,m):e.signature,f=Be.resolveAll(Si).reverse();let _=null;for(const w of f)if(_=w.toAsnSignature(p,v),_)break;if(!_)throw Error("Cannot convert ASN.1 signature value to WebCrypto format");return l.signatureValue=_,new Hl(M.serialize(l))}}var lp;(function(t){t[t.unspecified=0]="unspecified",t[t.keyCompromise=1]="keyCompromise",t[t.cACompromise=2]="cACompromise",t[t.affiliationChanged=3]="affiliationChanged",t[t.superseded=4]="superseded",t[t.cessationOfOperation=5]="cessationOfOperation",t[t.certificateHold=6]="certificateHold",t[t.removeFromCRL=8]="removeFromCRL",t[t.privilegeWithdrawn=9]="privilegeWithdrawn",t[t.aACompromise=10]="aACompromise"})(lp||(lp={}));ot.register(Ah,Vl);ot.register(Ch,Ml);ot.register(Nh,ql);ot.register(Oh,xi);ot.register(Ba,Yr);ot.register(jh,ag);ot.register(Ua,lg);ot.register(Oa,ug);Mo.register(tg,dg);Mo.register(Ul,Dl);Be.registerSingleton(Si,sy);Be.registerSingleton(Si,nt);nt.namedCurveSize.set("P-256",32);nt.namedCurveSize.set("K-256",32);nt.namedCurveSize.set("P-384",48);nt.namedCurveSize.set("P-521",66);const up="0123456789abcdef";function qc(t){const e=new Uint8Array(t);let n="";for(let r=0;r<e.length;r++){const i=e[r]>>4;n+=up[i];const s=e[r]&15;n+=up[s]}return n}class pg{constructor(e,n){ee(this,"alphabet");ee(this,"padding");ee(this,"decodeMap",new Map);if(e.length!==32)throw new Error("Invalid alphabet");if(this.alphabet=e,this.padding=(n==null?void 0:n.padding)??"=",this.alphabet.includes(this.padding)||this.padding.length!==1)throw new Error("Invalid padding");for(let r=0;r<e.length;r++)this.decodeMap.set(e[r],r)}encode(e,n){let r="",i=0,s=0;for(let c=0;c<e.length;c++)for(i=i<<8|e[c],s+=8;s>=5;)s-=5,r+=this.alphabet[i>>s&31];if(s>0&&(r+=this.alphabet[i<<5-s&31]),(n==null?void 0:n.includePadding)??!0){const c=(8-r.length%8)%8;for(let l=0;l<c;l++)r+="="}return r}decode(e,n){const r=(n==null?void 0:n.strict)??!0,i=Math.ceil(e.length/8),s=[];for(let o=0;o<i;o++){let c=0;const l=[];for(let p=0;p<8;p++){const h=e[o*8+p];if(h==="="){if(o+1!==i)throw new Error(`Invalid character: ${h}`);c+=1;continue}if(h===void 0){if(r)throw new Error("Invalid data");c+=1;continue}const m=this.decodeMap.get(h)??null;if(m===null)throw new Error(`Invalid character: ${h}`);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 pg("ABCDEFGHIJKLMNOPQRSTUVWXYZ234567");new pg("0123456789ABCDEFGHIJKLMNOPQRSTUV");class fg{constructor(e,n){ee(this,"alphabet");ee(this,"padding");ee(this,"decodeMap",new Map);if(e.length!==64)throw new Error("Invalid alphabet");if(this.alphabet=e,this.padding=(n==null?void 0:n.padding)??"=",this.alphabet.includes(this.padding)||this.padding.length!==1)throw new Error("Invalid padding");for(let r=0;r<e.length;r++)this.decodeMap.set(e[r],r)}encode(e,n){let r="",i=0,s=0;for(let c=0;c<e.length;c++)for(i=i<<8|e[c],s+=8;s>=6;)s+=-6,r+=this.alphabet[i>>s&63];if(s>0&&(r+=this.alphabet[i<<6-s&63]),(n==null?void 0:n.includePadding)??!0){const c=(4-r.length%4)%4;for(let l=0;l<c;l++)r+="="}return r}decode(e,n){const r=(n==null?void 0:n.strict)??!0,i=Math.ceil(e.length/4),s=[];for(let o=0;o<i;o++){let c=0,l=0;for(let u=0;u<4;u++){const p=e[o*4+u];if(p==="="){if(o+1!==i)throw new Error(`Invalid character: ${p}`);c+=1;continue}if(p===void 0){if(r)throw new Error("Invalid data");c+=1;continue}const h=this.decodeMap.get(p)??null;if(h===null)throw new Error(`Invalid character: ${p}`);l+=h<<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 cy=new fg("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"),_n=new fg("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_");class ly{constructor(e){ee(this,"hash");this.hash=e}async verify(e,n,r){const i=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",i,n,r)}async sign(e,n){const r=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",r,n)}async generateKeyPair(e){const n=await crypto.subtle.generateKey({name:"RSASSA-PKCS1-v1_5",hash:this.hash,modulusLength:e??2048,publicExponent:new Uint8Array([1,0,1])},!0,["sign"]),r=await crypto.subtle.exportKey("pkcs8",n.privateKey),i=await crypto.subtle.exportKey("spki",n.publicKey);return{privateKey:r,publicKey:i}}}async function hg(t){return await crypto.subtle.digest("SHA-256",t)}async function Dc(t){const e={name:"RSASSA-PKCS1-v1_5",hash:"SHA-256",publicExponent:new Uint8Array([1,0,1]),modulusLength:2048},n=await crypto.subtle.generateKey(e,!0,["sign","verify"]),r=Re(),i=qc(new TextEncoder().encode(r)),s=await ay.createSelfSigned({serialNumber:i,name:t.name,notBefore:new Date,notAfter:new Date(Date.now()+365*24*60*60*1e3),signingAlgorithm:e,keys:n,extensions:[new Vl(!0,2,!0),new Ml(["1.3.6.1.5.5.7.3.1"],!0),new ql(Ms.keyCertSign|Ms.cRLSign,!0),await xi.create(n.publicKey)]}),o=await crypto.subtle.exportKey("pkcs8",n.privateKey),c=s.toString("pem"),l=await dy(s),u=qc(await s.getThumbprint()),p=uy("PRIVATE",o);return{kid:s.serialNumber,cert:c,thumbprint:u,fingerprint:l,pkcs7:p}}function uy(t,e){const n=cy.encode(new Uint8Array(e));let r=`-----BEGIN ${t} KEY-----\r
|
|
121
|
+
`)}}Ze.CertificateTag="CERTIFICATE";Ze.CrlTag="CRL";Ze.CertificateRequestTag="CERTIFICATE REQUEST";Ze.PublicKeyTag="PUBLIC KEY";Ze.PrivateKeyTag="PRIVATE KEY";class Ut extends sn{static isAsnEncoded(e){return q.isBufferSource(e)||typeof e=="string"}static toArrayBuffer(e){if(typeof e=="string"){if(Ze.isPem(e))return Ze.decode(e)[0];if(J.isHex(e))return J.FromHex(e);if(J.isBase64(e))return J.FromBase64(e);if(J.isBase64Url(e))return J.FromBase64Url(e);throw new TypeError("Unsupported format of 'raw' argument. Must be one of DER, PEM, HEX, Base64, or Base4Url")}else{const n=J.ToBinary(e);return Ze.isPem(n)?Ze.decode(n)[0]:J.isHex(n)?J.FromHex(n):J.isBase64(n)?J.FromBase64(n):J.isBase64Url(n)?J.FromBase64Url(n):q.toArrayBuffer(e)}}constructor(...e){Ut.isAsnEncoded(e[0])?super(Ut.toArrayBuffer(e[0]),e[1]):super(e[0])}toString(e="pem"){switch(e){case"pem":return Ze.encode(this.rawData,this.tag);default:return super.toString(e)}}}class pt extends Ut{static async create(e,n=ze.get()){if(e instanceof pt)return e;if(Ht.isCryptoKey(e)){if(e.type!=="public")throw new TypeError("Public key is required");const r=await n.subtle.exportKey("spki",e);return new pt(r)}else{if(e.publicKey)return e.publicKey;if(q.isBufferSource(e))return new pt(e);throw new TypeError("Unsupported PublicKeyType")}}constructor(e){Ut.isAsnEncoded(e)?super(e,dt):super(e),this.tag=Ze.PublicKeyTag}async export(...e){let n,r=["verify"],i={hash:"SHA-256",...this.algorithm};e.length>1?(i=e[0]||i,r=e[1]||r,n=e[2]||ze.get()):n=e[0]||ze.get();let s=this.rawData;const o=M.parse(this.rawData,dt);return o.algorithm.algorithm===Tr&&(s=iy(o,s)),n.subtle.importKey("spki",s,i,!0,r)}onInit(e){const n=Be.resolve(zn),r=this.algorithm=n.toWebAlgorithm(e.algorithm);switch(e.algorithm.algorithm){case In:{const i=M.parse(e.subjectPublicKey,Pl),s=q.toUint8Array(i.modulus);r.publicExponent=q.toUint8Array(i.publicExponent),r.modulusLength=(s[0]?s:s.slice(1)).byteLength<<3;break}}}async getThumbprint(...e){var n;let r,i="SHA-1";return e.length>=1&&!(!((n=e[0])===null||n===void 0)&&n.subtle)?(i=e[0]||i,r=e[1]||ze.get()):r=e[0]||ze.get(),await r.subtle.digest(i,this.rawData)}async getKeyIdentifier(...e){let n,r="SHA-1";e.length===1?typeof e[0]=="string"?(r=e[0],n=ze.get()):n=e[0]:e.length===2?(r=e[0],n=e[1]):n=ze.get();const i=M.parse(this.rawData,dt);return await n.subtle.digest(r,i.subjectPublicKey)}toTextObject(){const e=this.toTextObjectEmpty(),n=M.parse(this.rawData,dt);switch(e.Algorithm=$n.serializeAlgorithm(n.algorithm),n.algorithm.algorithm){case Fr:e["EC Point"]=n.subjectPublicKey;break;case In:default:e["Raw Data"]=n.subjectPublicKey}return e}}function iy(t,e){return t.algorithm=new F({algorithm:In,parameters:null}),e=M.serialize(t),e}class Yr extends st{static async create(e,n=!1,r=ze.get()){if("name"in e&&"serialNumber"in e)return new Yr(e,n);const s=await(await pt.create(e,r)).getKeyIdentifier(r);return new Yr(J.ToHex(s),n)}constructor(...e){if(q.isBufferSource(e[0]))super(e[0]);else if(typeof e[0]=="string"){const n=new fn({keyIdentifier:new _l(J.FromHex(e[0]))});super(Ta,e[1],M.serialize(n))}else{const n=e[0],r=n.name instanceof Jr?M.parse(n.name.rawData,Le):n.name,i=new fn({authorityCertIssuer:r,authorityCertSerialNumber:J.FromHex(n.serialNumber)});super(Ta,e[1],M.serialize(i))}}onInit(e){super.onInit(e);const n=M.parse(e.extnValue,fn);n.keyIdentifier&&(this.keyId=J.ToHex(n.keyIdentifier)),(n.authorityCertIssuer||n.authorityCertSerialNumber)&&(this.certId={name:n.authorityCertIssuer||[],serialNumber:n.authorityCertSerialNumber?J.ToHex(n.authorityCertSerialNumber):""})}toTextObject(){const e=this.toTextObjectWithoutValue(),n=M.parse(this.value,fn);return n.authorityCertIssuer&&(e["Authority Issuer"]=new Jr(n.authorityCertIssuer).toTextObject()),n.authorityCertSerialNumber&&(e["Authority Serial Number"]=n.authorityCertSerialNumber),n.keyIdentifier&&(e[""]=n.keyIdentifier),e}}Yr.NAME="Authority Key Identifier";class Vl extends st{constructor(...e){if(q.isBufferSource(e[0])){super(e[0]);const n=M.parse(this.value,ds);this.ca=n.cA,this.pathLength=n.pathLenConstraint}else{const n=new ds({cA:e[0],pathLenConstraint:e[1]});super(Ah,e[2],M.serialize(n)),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}}Vl.NAME="Basic Constraints";var op;(function(t){t.serverAuth="1.3.6.1.5.5.7.3.1",t.clientAuth="1.3.6.1.5.5.7.3.2",t.codeSigning="1.3.6.1.5.5.7.3.3",t.emailProtection="1.3.6.1.5.5.7.3.4",t.timeStamping="1.3.6.1.5.5.7.3.8",t.ocspSigning="1.3.6.1.5.5.7.3.9"})(op||(op={}));class Ml extends st{constructor(...e){if(q.isBufferSource(e[0])){super(e[0]);const n=M.parse(this.value,gs);this.usages=n.map(r=>r)}else{const n=new gs(e[0]);super(Ch,e[1],M.serialize(n)),this.usages=e[0]}}toTextObject(){const e=this.toTextObjectWithoutValue();return e[""]=this.usages.map(n=>rn.toString(n)).join(", "),e}}Ml.NAME="Extended Key Usages";var Ms;(function(t){t[t.digitalSignature=1]="digitalSignature",t[t.nonRepudiation=2]="nonRepudiation",t[t.keyEncipherment=4]="keyEncipherment",t[t.dataEncipherment=8]="dataEncipherment",t[t.keyAgreement=16]="keyAgreement",t[t.keyCertSign=32]="keyCertSign",t[t.cRLSign=64]="cRLSign",t[t.encipherOnly=128]="encipherOnly",t[t.decipherOnly=256]="decipherOnly"})(Ms||(Ms={}));class ql extends st{constructor(...e){if(q.isBufferSource(e[0])){super(e[0]);const n=M.parse(this.value,na);this.usages=n.toNumber()}else{const n=new na(e[0]);super(Nh,e[1],M.serialize(n)),this.usages=e[0]}}toTextObject(){const e=this.toTextObjectWithoutValue(),n=M.parse(this.value,na);return e[""]=n.toJSON().join(", "),e}}ql.NAME="Key Usages";class xi extends st{static async create(e,n=!1,r=ze.get()){const s=await(await pt.create(e,r)).getKeyIdentifier(r);return new xi(J.ToHex(s),n)}constructor(...e){if(q.isBufferSource(e[0])){super(e[0]);const n=M.parse(this.value,Wt);this.keyId=J.ToHex(n)}else{const n=typeof e[0]=="string"?J.FromHex(e[0]):e[0],r=new Wt(n);super(Oh,e[1],M.serialize(r)),this.keyId=J.ToHex(n)}}toTextObject(){const e=this.toTextObjectWithoutValue(),n=M.parse(this.value,Wt);return e[""]=n,e}}xi.NAME="Subject Key Identifier";class ag extends st{constructor(...e){q.isBufferSource(e[0])?super(e[0]):super(jh,e[1],new Jr(e[0]||[]).rawData)}onInit(e){super.onInit(e);const n=M.parse(e.extnValue,Za);this.names=new Jr(n)}toTextObject(){const e=this.toTextObjectWithoutValue(),n=this.names.toTextObject();for(const r in n)e[r]=n[r];return e}}ag.NAME="Subject Alternative Name";class ot{static register(e,n){this.items.set(e,n)}static create(e){const n=new st(e),r=this.items.get(n.type);return r?new r(e):n}}ot.items=new Map;class cg extends st{constructor(...e){var n;if(q.isBufferSource(e[0])){super(e[0]);const r=M.parse(this.value,fs);this.policies=r.map(i=>i.policyIdentifier)}else{const r=e[0],i=(n=e[1])!==null&&n!==void 0?n:!1,s=new fs(r.map(o=>new vo({policyIdentifier:o})));super(Eh,i,M.serialize(s)),this.policies=r}}toTextObject(){const e=this.toTextObjectWithoutValue();return e.Policy=this.policies.map(n=>new ue("",{},rn.toString(n))),e}}cg.NAME="Certificate Policies";ot.register(Eh,cg);class lg extends st{constructor(...e){var n;if(q.isBufferSource(e[0]))super(e[0]);else if(Array.isArray(e[0])&&typeof e[0][0]=="string"){const i=e[0].map(o=>new pr({distributionPoint:new xn({fullName:[new re({uniformResourceIdentifier:o})]})})),s=new Kn(i);super(Va,e[1],M.serialize(s))}else{const r=new Kn(e[0]);super(Va,e[1],M.serialize(r))}(n=this.distributionPoints)!==null&&n!==void 0||(this.distributionPoints=[])}onInit(e){super.onInit(e);const n=M.parse(e.extnValue,Kn);this.distributionPoints=n}toTextObject(){const e=this.toTextObjectWithoutValue();return e["Distribution Point"]=this.distributionPoints.map(n=>{var r;const i={};return n.distributionPoint&&(i[""]=(r=n.distributionPoint.fullName)===null||r===void 0?void 0:r.map(s=>new Ft(s).toString()).join(", ")),n.reasons&&(i.Reasons=n.reasons.toString()),n.cRLIssuer&&(i["CRL Issuer"]=n.cRLIssuer.map(s=>s.toString()).join(", ")),i}),e}}lg.NAME="CRL Distribution Points";class ug extends st{constructor(...e){var n,r,i,s;if(q.isBufferSource(e[0]))super(e[0]);else if(e[0]instanceof Dn){const o=new Dn(e[0]);super(Ba,e[1],M.serialize(o))}else{const o=e[0],c=new Dn;Bi(c,o,Du,"ocsp"),Bi(c,o,Hu,"caIssuers"),Bi(c,o,Fu,"timeStamping"),Bi(c,o,Ku,"caRepository"),super(Ba,e[1],M.serialize(c))}(n=this.ocsp)!==null&&n!==void 0||(this.ocsp=[]),(r=this.caIssuers)!==null&&r!==void 0||(this.caIssuers=[]),(i=this.timeStamping)!==null&&i!==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=[],M.parse(e.extnValue,Dn).forEach(r=>{switch(r.accessMethod){case Du:this.ocsp.push(new Ft(r.accessLocation));break;case Hu:this.caIssuers.push(new Ft(r.accessLocation));break;case Fu:this.timeStamping.push(new Ft(r.accessLocation));break;case Ku:this.caRepository.push(new Ft(r.accessLocation));break}})}toTextObject(){const e=this.toTextObjectWithoutValue();return this.ocsp.length&&Oi(e,"OCSP",this.ocsp),this.caIssuers.length&&Oi(e,"CA Issuers",this.caIssuers),this.timeStamping.length&&Oi(e,"Time Stamping",this.timeStamping),this.caRepository.length&&Oi(e,"CA Repository",this.caRepository),e}}ug.NAME="Authority Info Access";function Oi(t,e,n){if(n.length===1)t[e]=n[0].toTextObject();else{const r=new ue("");n.forEach((i,s)=>{const o=i.toTextObject(),c=`${o[ue.NAME]} ${s+1}`;let l=r[c];Array.isArray(l)||(l=[],r[c]=l),l.push(o)}),t[e]=r}}function Bi(t,e,n,r){const i=e[r];i&&(Array.isArray(i)?i:[i]).forEach(o=>{typeof o=="string"&&(o=new Ft("url",o)),t.push(new ui({accessMethod:n,accessLocation:M.parse(o.rawData,re)}))})}class vr extends sn{constructor(...e){let n;if(q.isBufferSource(e[0]))n=q.toArrayBuffer(e[0]);else{const r=e[0],i=Array.isArray(e[1])?e[1].map(s=>q.toArrayBuffer(s)):[];n=M.serialize(new Pt({type:r,values:i}))}super(n,Pt)}onInit(e){this.type=e.type,this.values=e.values}toTextObject(){const e=this.toTextObjectWithoutValue();return e.Value=this.values.map(n=>new ue("",{"":n})),e}toTextObjectWithoutValue(){const e=this.toTextObjectEmpty();return e[ue.NAME]===vr.NAME&&(e[ue.NAME]=rn.toString(this.type)),e}}vr.NAME="Attribute";class dg extends vr{constructor(...e){var n;if(q.isBufferSource(e[0]))super(e[0]);else{const r=new Us({printableString:e[0]});super(tg,[M.serialize(r)])}(n=this.password)!==null&&n!==void 0||(this.password="")}onInit(e){if(super.onInit(e),this.values[0]){const n=M.parse(this.values[0],Us);this.password=n.toString()}}toTextObject(){const e=this.toTextObjectWithoutValue();return e[ue.VALUE]=this.password,e}}dg.NAME="Challenge Password";class Dl extends vr{constructor(...e){var n;if(q.isBufferSource(e[0]))super(e[0]);else{const r=e[0],i=new Yt;for(const s of r)i.push(M.parse(s.rawData,rt));super(Ul,[M.serialize(i)])}(n=this.items)!==null&&n!==void 0||(this.items=[])}onInit(e){if(super.onInit(e),this.values[0]){const n=M.parse(this.values[0],Yt);this.items=n.map(r=>ot.create(M.serialize(r)))}}toTextObject(){const e=this.toTextObjectWithoutValue(),n=this.items.map(r=>r.toTextObject());for(const r of n)e[r[ue.NAME]]=r;return e}}Dl.NAME="Extensions";class qo{static register(e,n){this.items.set(e,n)}static create(e){const n=new vr(e),r=this.items.get(n.type);return r?new r(e):n}}qo.items=new Map;const Si="crypto.signatureFormatter";class sy{toAsnSignature(e,n){return q.toArrayBuffer(n)}toWebSignature(e,n){return q.toArrayBuffer(n)}}var Di;let Vc=Di=class{static createPssParams(e,n){const r=Di.getHashAlgorithm(e);return r?new Nn({hashAlgorithm:r,maskGenAlgorithm:new F({algorithm:Oo,parameters:M.serialize(r)}),saltLength:n}):null}static getHashAlgorithm(e){const n=Be.resolve(zn);return typeof e=="string"?n.toAsnAlgorithm({name:e}):typeof e=="object"&&e&&"name"in e?n.toAsnAlgorithm(e):null}toAsnAlgorithm(e){switch(e.name.toLowerCase()){case"rsassa-pkcs1-v1_5":if("hash"in e){let n;if(typeof e.hash=="string")n=e.hash;else if(e.hash&&typeof e.hash=="object"&&"name"in e.hash&&typeof e.hash.name=="string")n=e.hash.name.toUpperCase();else throw new Error("Cannot get hash algorithm name");switch(n.toLowerCase()){case"sha-1":return new F({algorithm:Ns,parameters:null});case"sha-256":return new F({algorithm:_c,parameters:null});case"sha-384":return new F({algorithm:zs,parameters:null});case"sha-512":return new F({algorithm:$s,parameters:null})}}else return new F({algorithm:In,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 n=Di.createPssParams(e.hash,e.saltLength);if(!n)throw new Error("Cannot create PSS parameters");return new F({algorithm:Tr,parameters:M.serialize(n)})}else return new F({algorithm:Tr,parameters:null})}return null}toWebAlgorithm(e){switch(e.algorithm){case In:return{name:"RSASSA-PKCS1-v1_5"};case Ns:return{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-1"}};case _c:return{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}};case zs:return{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-384"}};case $s:return{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-512"}};case Tr:if(e.parameters){const n=M.parse(e.parameters,Nn);return{name:"RSA-PSS",hash:Be.resolve(zn).toWebAlgorithm(n.hashAlgorithm),saltLength:n.saltLength}}else return{name:"RSA-PSS"}}return null}};Vc=Di=d([Ro()],Vc);Be.registerSingleton(ki,Vc);let Mc=class{toAsnAlgorithm(e){switch(e.name.toLowerCase()){case"sha-1":return new F({algorithm:js});case"sha-256":return new F({algorithm:Os});case"sha-384":return new F({algorithm:Bs});case"sha-512":return new F({algorithm:Ts})}return null}toWebAlgorithm(e){switch(e.algorithm){case js:return{name:"SHA-1"};case Os:return{name:"SHA-256"};case Bs:return{name:"SHA-384"};case Ts:return{name:"SHA-512"}}return null}};Mc=d([Ro()],Mc);Be.registerSingleton(ki,Mc);class nt{addPadding(e,n){const r=q.toUint8Array(n),i=new Uint8Array(e);return i.set(r,e-r.length),i}removePadding(e,n=!1){let r=q.toUint8Array(e);for(let i=0;i<r.length;i++)if(r[i]){r=r.slice(i);break}if(n&&r[0]>127){const i=new Uint8Array(r.length+1);return i.set(r,1),i.buffer}return r.buffer}toAsnSignature(e,n){if(e.name==="ECDSA"){const r=e.namedCurve,i=nt.namedCurveSize.get(r)||nt.defaultNamedCurveSize,s=new Cs,o=q.toUint8Array(n);return s.r=this.removePadding(o.slice(0,i),!0),s.s=this.removePadding(o.slice(i,i+i),!0),M.serialize(s)}return null}toWebSignature(e,n){if(e.name==="ECDSA"){const r=M.parse(n,Cs),i=e.namedCurve,s=nt.namedCurveSize.get(i)||nt.defaultNamedCurveSize,o=this.addPadding(s,this.removePadding(r.r)),c=this.addPadding(s,this.removePadding(r.s));return y_(o,c)}return null}}nt.namedCurveSize=new Map;nt.defaultNamedCurveSize=32;const ua="1.3.101.110",ap="1.3.101.111",da="1.3.101.112",cp="1.3.101.113";let qc=class{toAsnAlgorithm(e){let n=null;switch(e.name.toLowerCase()){case"ed25519":n=da;break;case"x25519":n=ua;break;case"eddsa":switch(e.namedCurve.toLowerCase()){case"ed25519":n=da;break;case"ed448":n=cp;break}break;case"ecdh-es":switch(e.namedCurve.toLowerCase()){case"x25519":n=ua;break;case"x448":n=ap;break}}return n?new F({algorithm:n}):null}toWebAlgorithm(e){switch(e.algorithm){case da:return{name:"Ed25519"};case cp:return{name:"EdDSA",namedCurve:"Ed448"};case ua:return{name:"X25519"};case ap:return{name:"ECDH-ES",namedCurve:"X448"}}return null}};qc=d([Ro()],qc);Be.registerSingleton(ki,qc);class oy extends Ut{constructor(e){Ut.isAsnEncoded(e)?super(e,Wr):super(e),this.tag=Ze.CertificateRequestTag}onInit(e){this.tbs=M.serialize(e.certificationRequestInfo),this.publicKey=new pt(e.certificationRequestInfo.subjectPKInfo);const n=Be.resolve(zn);this.signatureAlgorithm=n.toWebAlgorithm(e.signatureAlgorithm),this.signature=e.signature,this.attributes=e.certificationRequestInfo.attributes.map(i=>qo.create(M.serialize(i)));const r=this.getAttribute(Ul);this.extensions=[],r instanceof Dl&&(this.extensions=r.items),this.subjectName=new tt(e.certificationRequestInfo.subject),this.subject=this.subjectName.toString()}getAttribute(e){for(const n of this.attributes)if(n.type===e)return n;return null}getAttributes(e){return this.attributes.filter(n=>n.type===e)}getExtension(e){for(const n of this.extensions)if(n.type===e)return n;return null}getExtensions(e){return this.extensions.filter(n=>n.type===e)}async verify(e=ze.get()){const n={...this.publicKey.algorithm,...this.signatureAlgorithm},r=await this.publicKey.export(n,["verify"],e),i=Be.resolveAll(Si).reverse();let s=null;for(const c of i)if(s=c.toWebSignature(n,this.signature),s)break;if(!s)throw Error("Cannot convert WebCrypto signature value to ASN.1 format");return await e.subtle.verify(this.signatureAlgorithm,r,s,this.tbs)}toTextObject(){const e=this.toTextObjectEmpty(),n=M.parse(this.rawData,Wr),r=n.certificationRequestInfo,i=new ue("",{Version:`${Sn[r.version]} (${r.version})`,Subject:this.subject,"Subject Public Key Info":this.publicKey});if(this.attributes.length){const s=new ue("");for(const o of this.attributes){const c=o.toTextObject();s[c[ue.NAME]]=c}i.Attributes=s}return e.Data=i,e.Signature=new ue("",{Algorithm:$n.serializeAlgorithm(n.signatureAlgorithm),"":n.signature}),e}}oy.NAME="PKCS#10 Certificate Request";class Hl extends Ut{constructor(e){Ut.isAsnEncoded(e)?super(e,An):super(e),this.tag=Ze.CertificateTag}onInit(e){const n=e.tbsCertificate;this.tbs=M.serialize(n),this.serialNumber=J.ToHex(n.serialNumber),this.subjectName=new tt(n.subject),this.subject=new tt(n.subject).toString(),this.issuerName=new tt(n.issuer),this.issuer=this.issuerName.toString();const r=Be.resolve(zn);this.signatureAlgorithm=r.toWebAlgorithm(e.signatureAlgorithm),this.signature=e.signatureValue;const i=n.validity.notBefore.utcTime||n.validity.notBefore.generalTime;if(!i)throw new Error("Cannot get 'notBefore' value");this.notBefore=i;const s=n.validity.notAfter.utcTime||n.validity.notAfter.generalTime;if(!s)throw new Error("Cannot get 'notAfter' value");this.notAfter=s,this.extensions=[],n.extensions&&(this.extensions=n.extensions.map(o=>ot.create(M.serialize(o)))),this.publicKey=new pt(n.subjectPublicKeyInfo)}getExtension(e){for(const n of this.extensions)if(typeof e=="string"){if(n.type===e)return n}else if(n instanceof e)return n;return null}getExtensions(e){return this.extensions.filter(n=>typeof e=="string"?n.type===e:n instanceof e)}async verify(e={},n=ze.get()){let r,i;const s=e.publicKey;try{if(!s)r={...this.publicKey.algorithm,...this.signatureAlgorithm},i=await this.publicKey.export(r,["verify"],n);else if("publicKey"in s)r={...s.publicKey.algorithm,...this.signatureAlgorithm},i=await s.publicKey.export(r,["verify"],n);else if(s instanceof pt)r={...s.algorithm,...this.signatureAlgorithm},i=await s.export(r,["verify"],n);else if(q.isBufferSource(s)){const u=new pt(s);r={...u.algorithm,...this.signatureAlgorithm},i=await u.export(r,["verify"],n)}else r={...s.algorithm,...this.signatureAlgorithm},i=s}catch{return!1}const o=Be.resolveAll(Si).reverse();let c=null;for(const u of o)if(c=u.toWebSignature(r,this.signature),c)break;if(!c)throw Error("Cannot convert ASN.1 signature value to WebCrypto format");const l=await n.subtle.verify(this.signatureAlgorithm,i,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 n,r="SHA-1";return e[0]&&(e[0].subtle?n=e[0]:(r=e[0]||r,n=e[1])),n??(n=ze.get()),await n.subtle.digest(r,this.rawData)}async isSelfSigned(e=ze.get()){return this.subject===this.issuer&&await this.verify({signatureOnly:!0},e)}toTextObject(){const e=this.toTextObjectEmpty(),n=M.parse(this.rawData,An),r=n.tbsCertificate,i=new ue("",{Version:`${Sn[r.version]} (${r.version})`,"Serial Number":r.serialNumber,"Signature Algorithm":$n.serializeAlgorithm(r.signature),Issuer:this.issuer,Validity:new ue("",{"Not Before":r.validity.notBefore.getTime(),"Not After":r.validity.notAfter.getTime()}),Subject:this.subject,"Subject Public Key Info":this.publicKey});if(r.issuerUniqueID&&(i["Issuer Unique ID"]=r.issuerUniqueID),r.subjectUniqueID&&(i["Subject Unique ID"]=r.subjectUniqueID),this.extensions.length){const s=new ue("");for(const o of this.extensions){const c=o.toTextObject();s[c[ue.NAME]]=c}i.Extensions=s}return e.Data=i,e.Signature=new ue("",{Algorithm:$n.serializeAlgorithm(n.signatureAlgorithm),"":n.signatureValue}),e}}Hl.NAME="Certificate";class ay{static async createSelfSigned(e,n=ze.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},n)}static async create(e,n=ze.get()){var r;let i;e.publicKey instanceof pt?i=e.publicKey.rawData:"publicKey"in e.publicKey?i=e.publicKey.publicKey.rawData:q.isBufferSource(e.publicKey)?i=e.publicKey:i=await n.subtle.exportKey("spki",e.publicKey);const s=e.serialNumber?q.toUint8Array(J.FromHex(e.serialNumber)):n.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 An({tbsCertificate:new Xe({version:Sn.v3,serialNumber:s,validity:new di({notBefore:o,notAfter:c}),extensions:new Yt(((r=e.extensions)===null||r===void 0?void 0:r.map(w=>M.parse(w.rawData,rt)))||[]),subjectPublicKeyInfo:M.parse(i,dt)})});if(e.subject){const w=e.subject instanceof tt?e.subject:new tt(e.subject);l.tbsCertificate.subject=M.parse(w.toArrayBuffer(),ke)}if(e.issuer){const w=e.issuer instanceof tt?e.issuer:new tt(e.issuer);l.tbsCertificate.issuer=M.parse(w.toArrayBuffer(),ke)}const u={hash:"SHA-256"},p="signingKey"in e?{...u,...e.signingAlgorithm,...e.signingKey.algorithm}:{...u,...e.signingAlgorithm},h=Be.resolve(zn);l.tbsCertificate.signature=l.signatureAlgorithm=h.toAsnAlgorithm(p);const m=M.serialize(l.tbsCertificate),v="signingKey"in e?await n.subtle.sign(p,e.signingKey,m):e.signature,f=Be.resolveAll(Si).reverse();let _=null;for(const w of f)if(_=w.toAsnSignature(p,v),_)break;if(!_)throw Error("Cannot convert ASN.1 signature value to WebCrypto format");return l.signatureValue=_,new Hl(M.serialize(l))}}var lp;(function(t){t[t.unspecified=0]="unspecified",t[t.keyCompromise=1]="keyCompromise",t[t.cACompromise=2]="cACompromise",t[t.affiliationChanged=3]="affiliationChanged",t[t.superseded=4]="superseded",t[t.cessationOfOperation=5]="cessationOfOperation",t[t.certificateHold=6]="certificateHold",t[t.removeFromCRL=8]="removeFromCRL",t[t.privilegeWithdrawn=9]="privilegeWithdrawn",t[t.aACompromise=10]="aACompromise"})(lp||(lp={}));ot.register(Ah,Vl);ot.register(Ch,Ml);ot.register(Nh,ql);ot.register(Oh,xi);ot.register(Ta,Yr);ot.register(jh,ag);ot.register(Va,lg);ot.register(Ba,ug);qo.register(tg,dg);qo.register(Ul,Dl);Be.registerSingleton(Si,sy);Be.registerSingleton(Si,nt);nt.namedCurveSize.set("P-256",32);nt.namedCurveSize.set("K-256",32);nt.namedCurveSize.set("P-384",48);nt.namedCurveSize.set("P-521",66);const up="0123456789abcdef";function Dc(t){const e=new Uint8Array(t);let n="";for(let r=0;r<e.length;r++){const i=e[r]>>4;n+=up[i];const s=e[r]&15;n+=up[s]}return n}class pg{constructor(e,n){ee(this,"alphabet");ee(this,"padding");ee(this,"decodeMap",new Map);if(e.length!==32)throw new Error("Invalid alphabet");if(this.alphabet=e,this.padding=(n==null?void 0:n.padding)??"=",this.alphabet.includes(this.padding)||this.padding.length!==1)throw new Error("Invalid padding");for(let r=0;r<e.length;r++)this.decodeMap.set(e[r],r)}encode(e,n){let r="",i=0,s=0;for(let c=0;c<e.length;c++)for(i=i<<8|e[c],s+=8;s>=5;)s-=5,r+=this.alphabet[i>>s&31];if(s>0&&(r+=this.alphabet[i<<5-s&31]),(n==null?void 0:n.includePadding)??!0){const c=(8-r.length%8)%8;for(let l=0;l<c;l++)r+="="}return r}decode(e,n){const r=(n==null?void 0:n.strict)??!0,i=Math.ceil(e.length/8),s=[];for(let o=0;o<i;o++){let c=0;const l=[];for(let p=0;p<8;p++){const h=e[o*8+p];if(h==="="){if(o+1!==i)throw new Error(`Invalid character: ${h}`);c+=1;continue}if(h===void 0){if(r)throw new Error("Invalid data");c+=1;continue}const m=this.decodeMap.get(h)??null;if(m===null)throw new Error(`Invalid character: ${h}`);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 pg("ABCDEFGHIJKLMNOPQRSTUVWXYZ234567");new pg("0123456789ABCDEFGHIJKLMNOPQRSTUV");class fg{constructor(e,n){ee(this,"alphabet");ee(this,"padding");ee(this,"decodeMap",new Map);if(e.length!==64)throw new Error("Invalid alphabet");if(this.alphabet=e,this.padding=(n==null?void 0:n.padding)??"=",this.alphabet.includes(this.padding)||this.padding.length!==1)throw new Error("Invalid padding");for(let r=0;r<e.length;r++)this.decodeMap.set(e[r],r)}encode(e,n){let r="",i=0,s=0;for(let c=0;c<e.length;c++)for(i=i<<8|e[c],s+=8;s>=6;)s+=-6,r+=this.alphabet[i>>s&63];if(s>0&&(r+=this.alphabet[i<<6-s&63]),(n==null?void 0:n.includePadding)??!0){const c=(4-r.length%4)%4;for(let l=0;l<c;l++)r+="="}return r}decode(e,n){const r=(n==null?void 0:n.strict)??!0,i=Math.ceil(e.length/4),s=[];for(let o=0;o<i;o++){let c=0,l=0;for(let u=0;u<4;u++){const p=e[o*4+u];if(p==="="){if(o+1!==i)throw new Error(`Invalid character: ${p}`);c+=1;continue}if(p===void 0){if(r)throw new Error("Invalid data");c+=1;continue}const h=this.decodeMap.get(p)??null;if(h===null)throw new Error(`Invalid character: ${p}`);l+=h<<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 cy=new fg("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"),_n=new fg("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_");class ly{constructor(e){ee(this,"hash");this.hash=e}async verify(e,n,r){const i=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",i,n,r)}async sign(e,n){const r=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",r,n)}async generateKeyPair(e){const n=await crypto.subtle.generateKey({name:"RSASSA-PKCS1-v1_5",hash:this.hash,modulusLength:e??2048,publicExponent:new Uint8Array([1,0,1])},!0,["sign"]),r=await crypto.subtle.exportKey("pkcs8",n.privateKey),i=await crypto.subtle.exportKey("spki",n.publicKey);return{privateKey:r,publicKey:i}}}async function hg(t){return await crypto.subtle.digest("SHA-256",t)}async function Hc(t){const e={name:"RSASSA-PKCS1-v1_5",hash:"SHA-256",publicExponent:new Uint8Array([1,0,1]),modulusLength:2048},n=await crypto.subtle.generateKey(e,!0,["sign","verify"]),r=Re(),i=Dc(new TextEncoder().encode(r)),s=await ay.createSelfSigned({serialNumber:i,name:t.name,notBefore:new Date,notAfter:new Date(Date.now()+365*24*60*60*1e3),signingAlgorithm:e,keys:n,extensions:[new Vl(!0,2,!0),new Ml(["1.3.6.1.5.5.7.3.1"],!0),new ql(Ms.keyCertSign|Ms.cRLSign,!0),await xi.create(n.publicKey)]}),o=await crypto.subtle.exportKey("pkcs8",n.privateKey),c=s.toString("pem"),l=await dy(s),u=Dc(await s.getThumbprint()),p=uy("PRIVATE",o);return{kid:s.serialNumber,cert:c,thumbprint:u,fingerprint:l,pkcs7:p}}function uy(t,e){const n=cy.encode(new Uint8Array(e));let r=`-----BEGIN ${t} KEY-----\r
|
|
122
122
|
`,i=0;for(;i<n.length;)i+64<=n.length?r+=n.substr(i,64)+`\r
|
|
123
123
|
`:r+=n.substr(i)+`\r
|
|
124
124
|
`,i+=64;return r+=`-----END ${t} KEY-----\r
|
|
125
|
-
`,r}async function dy(t){const e=await t.publicKey.export(),n=await crypto.subtle.exportKey("jwk",e),r=JSON.stringify(n,Object.keys(n).sort()),s=new TextEncoder().encode(r);return qc(await hg(s))}const py=1e3*60*60*24,fy=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(Sa)}},description:"List of keys"}}}),async t=>{const n=(await t.env.data.keys.list()).filter(r=>"cert"in r).map(r=>r);return t.json(n)}).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:Sa}},description:"The requested key"}}}),async t=>{const{kid:e}=t.req.valid("param"),r=(await t.env.data.keys.list()).find(i=>i.kid===e);if(!r)throw new z(404,{message:"Key not found"});return t.json(r)}).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 t=>{const e=await t.env.data.keys.list();for await(const r of e)await t.env.data.keys.update(r.kid,{revoked_at:new Date(Date.now()+py).toISOString()});const n=await Dc({name:`CN=${t.env.ORGANIZATION_NAME}`});return await t.env.data.keys.create(n),t.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 t=>{const{kid:e}=t.req.valid("param");if(!await t.env.data.keys.update(e,{revoked_at:new Date().toISOString()}))throw new z(404,{message:"Key not found"});const r=await Dc({name:`CN=${t.env.ORGANIZATION_NAME}`});return await t.env.data.keys.create(r),t.text("OK")}),hy=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(Yc)}},description:"List of users"}}}),async t=>{const{"tenant-id":e}=t.req.valid("header"),{email:n}=t.req.valid("query"),i=(await tl(t.env.data.users,e,n)).filter(s=>!s.linked_to);return t.json(i)}),gy=tn.extend({clients:a.z.array(dn)}),my=new a.OpenAPIHono().openapi(a.createRoute({tags:["clients"],method:"get",path:"/",request:{query:vn,headers:a.z.object({"tenant-id":a.z.string()})},security:[{Bearer:["auth:read"]}],responses:{200:{content:{"application/json":{schema:a.z.union([gy,a.z.array(dn)])}},description:"List of clients"}}}),async t=>{const{"tenant-id":e}=t.req.valid("header"),{page:n,per_page:r,include_totals:i,sort:s,q:o}=t.req.valid("query"),l=(await t.env.data.applications.list(e,{page:n,per_page:r,include_totals:i,sort:lr(s),q:o})).applications;return i?t.json({clients:l,start:0,limit:10,length:l.length}):t.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:dn}},description:"An application"}}}),async t=>{const{"tenant-id":e}=t.req.valid("header"),{id:n}=t.req.valid("param"),i=(await t.env.data.applications.list(e,{page:1,per_page:0,include_totals:!1})).applications.find(s=>s.id===n);if(!i)throw new z(404);return t.json(i)}).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 t=>{const{"tenant-id":e}=t.req.valid("header"),{id:n}=t.req.valid("param");if(!await t.env.data.applications.remove(e,n))throw new z(404,{message:"Application not found"});return t.text("OK")}).openapi(a.createRoute({tags:["clients"],method:"patch",path:"/{id}",request:{body:{content:{"application/json":{schema:a.z.object(ns.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:dn}},description:"The update application"}}}),async t=>{const{"tenant-id":e}=t.req.valid("header"),{id:n}=t.req.valid("param"),i=t.req.valid("json");await t.env.data.applications.update(e,n,i);const s=await t.env.data.applications.get(e,n);if(!s)throw new z(404,{message:"Application not found"});return t.json(s)}).openapi(a.createRoute({tags:["clients"],method:"post",path:"/",request:{body:{content:{"application/json":{schema:a.z.object(ns.shape)}}},headers:a.z.object({"tenant-id":a.z.string()})},security:[{Bearer:["auth:write"]}],responses:{201:{content:{"application/json":{schema:a.z.object(dn.shape)}},description:"An application"}}}),async t=>{const{"tenant-id":e}=t.req.valid("header"),n=t.req.valid("json"),r={...n,id:n.id||Re(),client_secret:n.client_secret||Re()},i=await t.env.data.applications.create(e,r);return t.json(i,{status:201})});a.z.object({start:a.z.number(),limit:a.z.number(),length:a.z.number()});Gs.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 _y=tn.extend({tenants:a.z.array(Hn)}),yy=new a.OpenAPIHono().openapi(a.createRoute({tags:["tenants"],method:"get",path:"/",request:{query:vn},security:[{Bearer:["auth:read"]}],responses:{200:{content:{"tenant/json":{schema:a.z.union([a.z.array(Hn),_y])}},description:"List of tenants"}}}),async t=>{const{page:e,per_page:n,include_totals:r,sort:i,q:s}=t.req.valid("query"),o=await t.env.data.tenants.list({page:e,per_page:n,include_totals:r,sort:lr(i),q:s});return r?t.json(o):t.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:Hn}},description:"A tenant"}}}),async t=>{const{id:e}=t.req.valid("param"),n=await t.env.data.tenants.get(e);if(!n)throw new z(404);return t.json(n)}).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 t=>{const{id:e}=t.req.valid("param");return await t.env.data.tenants.remove(e),t.text("OK")}).openapi(a.createRoute({tags:["tenants"],method:"patch",path:"/{id}",request:{body:{content:{"application/json":{schema:a.z.object(is.shape).partial()}}},params:a.z.object({id:a.z.string()})},security:[{Bearer:["auth:write"]}],responses:{200:{description:"Status"}}}),async t=>{const{id:e}=t.req.valid("param"),n=t.req.valid("json");return await t.env.data.tenants.update(e,n),t.text("OK")}).openapi(a.createRoute({tags:["tenants"],method:"post",path:"/",request:{body:{content:{"application/json":{schema:a.z.object(is.shape)}}}},security:[{Bearer:["auth:write"]}],responses:{200:{content:{"tenant/json":{schema:Hn}},description:"An tenant"}}}),async t=>{const e=t.req.valid("json"),n=await t.env.data.tenants.create(e);return t.json(n,{status:201})}),vy=tn.extend({logs:a.z.array(os)}),wy=new a.OpenAPIHono().openapi(a.createRoute({tags:["logs"],method:"get",path:"/",request:{query:vn,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(os),vy])}},description:"List of log rows"}}}),async t=>{const{page:e,per_page:n,include_totals:r,sort:i,q:s}=t.req.valid("query"),{"tenant-id":o}=t.req.valid("header"),c=await t.env.data.logs.list(o,{page:e,per_page:n,include_totals:r,sort:lr(i),q:s});return r?t.json(c):t.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:os}},description:"A log entry"}}}),async t=>{const{"tenant-id":e}=t.req.valid("header"),{id:n}=t.req.valid("param"),r=await t.env.data.logs.get(e,n);if(!r)throw new z(404);return t.json(r)}),by=tn.extend({hooks:a.z.array(qn)}),ky=new a.OpenAPIHono().openapi(a.createRoute({tags:["hooks"],method:"get",path:"/",request:{query:vn,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(qn),by])}},description:"List of hooks"}}}),async t=>{const{"tenant-id":e}=t.req.valid("header"),{page:n,per_page:r,include_totals:i,sort:s,q:o}=t.req.valid("query"),c=await t.env.data.hooks.list(e,{page:n,per_page:r,include_totals:i,sort:lr(s),q:o});return i?t.json(c):t.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(ss.shape)}}}},security:[{Bearer:["auth:write"]}],responses:{201:{content:{"application/json":{schema:qn}},description:"The created hook"}}}),async t=>{const{"tenant-id":e}=t.req.valid("header"),n=t.req.valid("json"),r=await t.env.data.hooks.create(e,n);return t.json(r,{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(ss.shape).omit({hook_id:!0}).partial()}}}},security:[{Bearer:["auth:write"]}],responses:{200:{content:{"application/json":{schema:qn.shape}},description:"The updated hook"},404:{description:"Hook not found"}}}),async t=>{const{"tenant-id":e}=t.req.valid("header"),{hook_id:n}=t.req.valid("param"),r=t.req.valid("json");await t.env.data.hooks.update(e,n,r);const i=await t.env.data.hooks.get(e,n);if(!i)throw new z(404,{message:"Hook not found"});return t.json(i)}).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:qn}},description:"A hook"},404:{description:"Hook not found"}}}),async t=>{const{"tenant-id":e}=t.req.valid("header"),{hook_id:n}=t.req.valid("param"),r=await t.env.data.hooks.get(e,n);if(!r)throw new z(404,{message:"Hook not found"});return t.json(r)}).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 t=>{const{"tenant-id":e}=t.req.valid("header"),{hook_id:n}=t.req.valid("param");if(!await t.env.data.hooks.remove(e,n))throw new z(404,{message:"Hook not found"});return t.text("OK")}),xy=tn.extend({connections:a.z.array(Dt)}),Sy=new a.OpenAPIHono().openapi(a.createRoute({tags:["connections"],method:"get",path:"/",request:{query:vn,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(Dt),xy])}},description:"List of connectionss"}}}),async t=>{const{"tenant-id":e}=t.req.valid("header"),{page:n,per_page:r,include_totals:i=!1,sort:s,q:o}=t.req.valid("query"),c=await t.env.data.connections.list(e,{page:n,per_page:r,include_totals:i,sort:lr(s),q:o});return i?t.json(c):t.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:Dt}},description:"A connection"}}}),async t=>{const{"tenant-id":e}=t.req.valid("header"),{id:n}=t.req.valid("param"),r=await t.env.data.connections.get(e,n);if(!r)throw new z(404);return t.json(r)}).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 t=>{const{"tenant-id":e}=t.req.valid("header"),{id:n}=t.req.valid("param");if(!await t.env.data.connections.remove(e,n))throw new z(404,{message:"Connection not found"});return t.text("OK")}).openapi(a.createRoute({tags:["connections"],method:"patch",path:"/{id}",request:{body:{content:{"application/json":{schema:a.z.object(rs.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:Dt}},description:"The updated connection"}}}),async t=>{const{"tenant-id":e}=t.req.valid("header"),{id:n}=t.req.valid("param"),r=t.req.valid("json");if(!await t.env.data.connections.update(e,n,r))throw new z(404,{message:"Connection not found"});const s=await t.env.data.connections.get(e,n);if(!s)throw new z(404,{message:"Connection not found"});return t.json(s)}).openapi(a.createRoute({tags:["connections"],method:"post",path:"/",request:{body:{content:{"application/json":{schema:a.z.object(rs.shape)}}},headers:a.z.object({"tenant-id":a.z.string()})},security:[{Bearer:["auth:write"]}],responses:{201:{content:{"application/json":{schema:Dt}},description:"A connection"}}}),async t=>{const{"tenant-id":e}=t.req.valid("header"),n=t.req.valid("json"),r=await t.env.data.connections.create(e,n);return t.json(r,{status:201})}),Ay=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:Li}},description:"Branding settings"}}}),async t=>{const{"tenant-id":e}=t.req.valid("header"),n=await t.env.data.promptSettings.get(e);return n?t.json(n):t.json(Li.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(Li.shape).partial()}}}},security:[{Bearer:["auth:write"]}],responses:{200:{description:"Prompts settings"}}}),async t=>{const{"tenant-id":e}=t.req.valid("header"),n=t.req.valid("json"),r=await t.env.data.promptSettings.get(e);return Object.assign(r,n),await t.env.data.promptSettings.set(e,r),t.json(r)});let dp=!1;function gg(t){t.use(async(e,n)=>(dp||(t.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"}}}}),dp=!0),await n()))}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 Ey(t){try{const e=await t.JWKS_SERVICE.fetch(t.JWKS_URL);if(!e.ok)throw new Error("Failed to fetch jwks");return(await e.json()).keys}catch(e){throw new z(500,{message:`Failed to fetch jwks: ${e.message}`})}}async function Iy(t,e){const r=new TextEncoder().encode([e.raw.header,e.raw.payload].join(".")),i=new Uint8Array(Array.from(e.signature).map(l=>l.charCodeAt(0))),o=(await Ey(t.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,i,r)}function Cy(t){const[e,n,r]=t.split(".");if(!e||!n||!r)return null;const i=JSON.parse(atob(e)),s=JSON.parse(atob(n)),o=atob(r.replace(/-/g,"+").replace(/_/g,"/"));return{header:i,payload:s,signature:o,raw:{header:e,payload:n,signature:r}}}function mg(t){return async(e,n)=>{var i,s,o;const r=t.openAPIRegistry.definitions.find(c=>"route"in c&&c.route.path===e.req.path&&c.route.method.toUpperCase()===e.req.method);if(r&&"route"in r){const c=(s=(i=r.route.security)==null?void 0:i[0])==null?void 0:s.Bearer;if(!(c!=null&&c.length))return await n();const l=e.req.header("authorization")||"",[u,p]=l.split(" ");if((u==null?void 0:u.toLowerCase())!=="bearer"||!p)throw new z(401,{message:"Missing bearer token"});const h=Cy(p);if(!h||!await Iy(e,h))throw new z(403,{message:"Invalid JWT signature"});e.set("user_id",h.payload.sub),e.set("user",h.payload);const m=h.payload.permissions||[],v=((o=h.payload.scope)==null?void 0:o.split(" "))||[];if(c.length&&!(c.some(f=>m.includes(f))||c.some(f=>v.includes(f))))throw new z(403,{message:"Unauthorized"})}return await n()}}const Ny=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:Ui}},description:"Email provider"}}}),async t=>{const{"tenant-id":e}=t.req.valid("header"),n=await t.env.data.emailProviders.get(e);if(!n)throw new z(404,{message:"Email provider not found"});return t.json(n)}).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(Ui.shape)}}}},security:[{Bearer:["auth:write"]}],responses:{200:{description:"Branding settings"}}}),async t=>{const{"tenant-id":e}=t.req.valid("header"),n=t.req.valid("json");return await t.env.data.emailProviders.create(e,n),t.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(Ui.shape).partial()}}}},security:[{Bearer:["auth:write"]}],responses:{200:{description:"Branding settings"}}}),async t=>{const{"tenant-id":e}=t.req.valid("header"),n=t.req.valid("json");return await t.env.data.emailProviders.update(e,n),t.text("OK")}),zy=new a.OpenAPIHono().openapi(a.createRoute({tags:["sessions"],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:Zs}},description:"A session"}}}),async t=>{const{"tenant-id":e}=t.req.valid("header"),{id:n}=t.req.valid("param"),r=await t.env.data.sessions.get(e,n);if(!r)throw new z(404);return t.json(r)}).openapi(a.createRoute({tags:["sessions"],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 t=>{const{"tenant-id":e}=t.req.valid("header"),{id:n}=t.req.valid("param");if(!await t.env.data.sessions.remove(e,n))throw new z(404,{message:"Session not found"});return t.text("OK")}).openapi(a.createRoute({tags:["sessions"],method:"post",path:"/{id}/revoke",request:{params:a.z.object({id:a.z.string()}),headers:a.z.object({"tenant-id":a.z.string()})},security:[{Bearer:["auth:write"]}],responses:{202:{description:"Sesssion deletion status"}}}),async t=>{const{"tenant-id":e}=t.req.valid("header"),{id:n}=t.req.valid("param");if(!await t.env.data.sessions.update(e,n,{revoked_at:new Date().toDateString()}))throw new z(404,{message:"Session not found"});return t.text("Session deletion request accepted.",{status:202})}),$y=new a.OpenAPIHono().openapi(a.createRoute({tags:["refresh_tokens"],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:el}},description:"A session"}}}),async t=>{const{"tenant-id":e}=t.req.valid("header"),{id:n}=t.req.valid("param"),r=await t.env.data.refreshTokens.get(e,n);if(!r)throw new z(404);return t.json(r)}).openapi(a.createRoute({tags:["refresh_tokens"],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 t=>{const{"tenant-id":e}=t.req.valid("header"),{id:n}=t.req.valid("param");if(!await t.env.data.refreshTokens.remove(e,n))throw new z(404,{message:"Session not found"});return t.text("OK")});function jy(){const t=new a.OpenAPIHono;t.use(mg(t));const e=t.route("/branding",Ym).route("/email/providers",Ny).route("/users",f_).route("/keys",fy).route("/users-by-email",hy).route("/clients",my).route("/tenants",yy).route("/logs",wy).route("/hooks",ky).route("/connections",Sy).route("/prompts",Ay).route("/sessions",zy).route("/refresh_tokens",$y);return gg(e),e.doc("/spec",{openapi:"3.0.0",info:{version:"1.0.0",title:"Management api"}}),e}function Oy(t,e){Object.keys(e).forEach(n=>{const r=e[n];r!=null&&r.length&&t.searchParams.set(n,r)})}function Tn(t){var e,n,r;return{auth0Client:(e=t.query("auth0Client"))==null?void 0:e.slice(0,255),ip:(n=t.header("x-real-ip"))==null?void 0:n.slice(0,45),useragent:(r=t.header("user-agent"))==null?void 0:r.slice(0,512)}}const Ti=60*5,qo=30*24*60*60,Xr=24*60*60,By="auth-token",Hc=30*60*1e3,Ty=5*60,Py=5*60,Ry=30*60*1e3,Ly=30*60*1e3,Uy=24*60*60*1e3;var pp;(function(t){t[t.Include=0]="Include",t[t.None=1]="None"})(pp||(pp={}));var fp;(function(t){t[t.Required=0]="Required",t[t.Ignore=1]="Ignore"})(fp||(fp={}));function Vy(t){return yg(t,My,Qr.Include)}function _g(t){return yg(t,qy,Qr.None)}function yg(t,e,n){let r="";for(let i=0;i<t.byteLength;i+=3){let s=0,o=0;for(let c=0;c<3&&i+c<t.byteLength;c++)s=s<<8|t[i+c],o+=8;for(let c=0;c<4;c++)o>=6?(r+=e[s>>o-6&63],o-=6):o>0?(r+=e[s<<6-o&63],o=0):n===Qr.Include&&(r+="=")}return r}const My="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",qy="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_";var Qr;(function(t){t[t.Include=0]="Include",t[t.None=1]="None"})(Qr||(Qr={}));var hp;(function(t){t[t.Required=0]="Required",t[t.Ignore=1]="Ignore"})(hp||(hp={}));class Dy{uint8(e,n){if(e.byteLength<n+1)throw new TypeError("Insufficient bytes");return e[n]}uint16(e,n){if(e.byteLength<n+2)throw new TypeError("Insufficient bytes");return e[n]<<8|e[n+1]}uint32(e,n){if(e.byteLength<n+4)throw new TypeError("Insufficient bytes");let r=0;for(let i=0;i<4;i++)r|=e[n+i]<<24-i*8;return r}uint64(e,n){if(e.byteLength<n+8)throw new TypeError("Insufficient bytes");let r=0n;for(let i=0;i<8;i++)r|=BigInt(e[n+i])<<BigInt(56-i*8);return r}putUint8(e,n,r){if(e.length<r+1)throw new TypeError("Not enough space");if(n<0||n>255)throw new TypeError("Invalid uint8 value");e[r]=n}putUint16(e,n,r){if(e.length<r+2)throw new TypeError("Not enough space");if(n<0||n>65535)throw new TypeError("Invalid uint16 value");e[r]=n>>8,e[r+1]=n&255}putUint32(e,n,r){if(e.length<r+4)throw new TypeError("Not enough space");if(n<0||n>4294967295)throw new TypeError("Invalid uint32 value");for(let i=0;i<4;i++)e[r+i]=n>>(3-i)*8&255}putUint64(e,n,r){if(e.length<r+8)throw new TypeError("Not enough space");if(n<0||n>18446744073709551615n)throw new TypeError("Invalid uint64 value");for(let i=0;i<8;i++)e[r+i]=Number(n>>BigInt((7-i)*8)&0xffn)}}const gp=new Dy;function wt(t,e){return(t<<32-e|t>>>e)>>>0}function Hy(t){const e=new Fy;return e.update(t),e.digest()}class Fy{constructor(){ee(this,"blockSize",64);ee(this,"size",32);ee(this,"blocks",new Uint8Array(64));ee(this,"currentBlockSize",0);ee(this,"H",new Uint32Array([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]));ee(this,"l",0n);ee(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 n=0;if(this.currentBlockSize>0){const r=e.slice(0,64-this.currentBlockSize);this.blocks.set(r,this.currentBlockSize),this.process(),n+=r.byteLength,this.currentBlockSize=0}for(;n+64<=e.byteLength;){const r=e.slice(n,n+64);this.blocks.set(r),this.process(),n+=64}if(e.byteLength-n>0){const r=e.slice(n);this.blocks.set(r),this.currentBlockSize=r.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),gp.putUint64(this.blocks,this.l,this.blockSize-8),this.process();const e=new Uint8Array(32);for(let n=0;n<8;n++)gp.putUint32(e,this.H[n],n*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=(wt(this.w[u-2],17)^wt(this.w[u-2],19)^this.w[u-2]>>>10)>>>0,h=(wt(this.w[u-15],7)^wt(this.w[u-15],18)^this.w[u-15]>>>3)>>>0;this.w[u]=p+this.w[u-7]+h+this.w[u-16]|0}let e=this.H[0],n=this.H[1],r=this.H[2],i=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=(wt(s,6)^wt(s,11)^wt(s,25))>>>0,h=(s&o^~s&c)>>>0,m=l+p+h+Ky[u]+this.w[u]|0,v=(wt(e,2)^wt(e,13)^wt(e,22))>>>0,f=(e&n^e&r^n&r)>>>0,_=v+f|0;l=c,c=o,o=s,s=i+m|0,i=r,r=n,n=e,e=m+_|0}this.H[0]=e+this.H[0]|0,this.H[1]=n+this.H[1]|0,this.H[2]=r+this.H[2]|0,this.H[3]=i+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 Ky=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 Wy{constructor(e){ee(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 Gy(t){const e=Hy(new TextEncoder().encode(t));return _g(e)}function Jy(){const t=new Uint8Array(32);return crypto.getRandomValues(t),_g(t)}function Rr(t,e){const n=new TextEncoder().encode(e.toString()),r=new Request(t,{method:"POST",body:n});return r.headers.set("Content-Type","application/x-www-form-urlencoded"),r.headers.set("Accept","application/json"),r.headers.set("User-Agent","arctic"),r.headers.set("Content-Length",n.byteLength.toString()),r}function da(t,e){const n=new TextEncoder().encode(`${t}:${e}`);return Vy(n)}async function qs(t){let e;try{e=await fetch(t)}catch(n){throw new wg(n)}if(e.status===400||e.status===401){let n;try{n=await e.json()}catch{throw new Hi(e.status)}if(typeof n!="object"||n===null)throw new Wn(e.status,n);let r;try{r=vg(n)}catch{throw new Wn(e.status,n)}throw r}if(e.status===200){let n;try{n=await e.json()}catch{throw new Hi(e.status)}if(typeof n!="object"||n===null)throw new Wn(e.status,n);return new Wy(n)}throw e.body!==null&&await e.body.cancel(),new Hi(e.status)}async function Zy(t){let e;try{e=await fetch(t)}catch(n){throw new wg(n)}if(e.status===400||e.status===401){let n;try{n=await e.json()}catch{throw new Wn(e.status,null)}if(typeof n!="object"||n===null)throw new Wn(e.status,n);let r;try{r=vg(n)}catch{throw new Wn(e.status,n)}throw r}if(e.status===200){e.body!==null&&await e.body.cancel();return}throw e.body!==null&&await e.body.cancel(),new Hi(e.status)}function vg(t){let e;if("error"in t&&typeof t.error=="string")e=t.error;else throw new Error("Invalid error response");let n=null,r=null,i=null;if("error_description"in t){if(typeof t.error_description!="string")throw new Error("Invalid data");n=t.error_description}if("error_uri"in t){if(typeof t.error_uri!="string")throw new Error("Invalid data");r=t.error_uri}if("state"in t){if(typeof t.state!="string")throw new Error("Invalid data");i=t.state}return new Yy(e,n,r,i)}class wg extends Error{constructor(e){super("Failed to send request",{cause:e})}}class Yy extends Error{constructor(n,r,i,s){super(`OAuth request error: ${n}`);ee(this,"code");ee(this,"description");ee(this,"uri");ee(this,"state");this.code=n,this.description=r,this.uri=i,this.state=s}}class Hi extends Error{constructor(n){super("Unexpected error response");ee(this,"status");this.status=n}}class Wn extends Error{constructor(n,r){super("Unexpected error response body");ee(this,"status");ee(this,"data");this.status=n,this.data=r}}class Fl{constructor(e,n,r){ee(this,"clientId");ee(this,"clientPassword");ee(this,"redirectURI");this.clientId=e,this.clientPassword=n,this.redirectURI=r}createAuthorizationURL(e,n,r){const i=new URL(e);return i.searchParams.set("response_type","code"),i.searchParams.set("client_id",this.clientId),this.redirectURI!==null&&i.searchParams.set("redirect_uri",this.redirectURI),i.searchParams.set("state",n),r.length>0&&i.searchParams.set("scope",r.join(" ")),i}createAuthorizationURLWithPKCE(e,n,r,i,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",n),r===ei.S256){const c=Gy(i);o.searchParams.set("code_challenge_method","S256"),o.searchParams.set("code_challenge",c)}else r===ei.Plain&&(o.searchParams.set("code_challenge_method","plain"),o.searchParams.set("code_challenge",i));return s.length>0&&o.searchParams.set("scope",s.join(" ")),o}async validateAuthorizationCode(e,n,r){const i=new URLSearchParams;i.set("grant_type","authorization_code"),i.set("code",n),this.redirectURI!==null&&i.set("redirect_uri",this.redirectURI),r!==null&&i.set("code_verifier",r),this.clientPassword===null&&i.set("client_id",this.clientId);const s=Rr(e,i);if(this.clientPassword!==null){const c=da(this.clientId,this.clientPassword);s.headers.set("Authorization",`Basic ${c}`)}return await qs(s)}async refreshAccessToken(e,n,r){const i=new URLSearchParams;i.set("grant_type","refresh_token"),i.set("refresh_token",n),this.clientPassword===null&&i.set("client_id",this.clientId),r.length>0&&i.set("scope",r.join(" "));const s=Rr(e,i);if(this.clientPassword!==null){const c=da(this.clientId,this.clientPassword);s.headers.set("Authorization",`Basic ${c}`)}return await qs(s)}async revokeToken(e,n){const r=new URLSearchParams;r.set("token",n),this.clientPassword===null&&r.set("client_id",this.clientId);const i=Rr(e,r);if(this.clientPassword!==null){const s=da(this.clientId,this.clientPassword);i.headers.set("Authorization",`Basic ${s}`)}await Zy(i)}}var ei;(function(t){t[t.S256=0]="S256",t[t.Plain=1]="Plain"})(ei||(ei={}));var mp;(function(t){t[t.Include=0]="Include",t[t.None=1]="None"})(mp||(mp={}));var _p;(function(t){t[t.Required=0]="Required",t[t.Ignore=1]="Ignore"})(_p||(_p={}));function Lr(t){return Xy(t,Qy,Ds.None)}function Xy(t,e,n){let r="";for(let i=0;i<t.byteLength;i+=3){let s=0,o=0;for(let c=0;c<3&&i+c<t.byteLength;c++)s=s<<8|t[i+c],o+=8;for(let c=0;c<4;c++)o>=6?(r+=e[s>>o-6&63],o-=6):o>0?(r+=e[s<<6-o&63],o=0):n===Ds.Include&&(r+="=")}return r}const Qy="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_";var Ds;(function(t){t[t.Include=0]="Include",t[t.None=1]="None"})(Ds||(Ds={}));var yp;(function(t){t[t.Required=0]="Required",t[t.Ignore=1]="Ignore"})(yp||(yp={}));function ev(t,e,n){const r=Lr(new TextEncoder().encode(t)),i=Lr(new TextEncoder().encode(e)),s=Lr(n);return r+"."+i+"."+s}function tv(t,e){const n=Lr(new TextEncoder().encode(t)),r=Lr(new TextEncoder().encode(e)),i=n+"."+r;return new TextEncoder().encode(i)}const nv="https://appleid.apple.com/auth/authorize",rv="https://appleid.apple.com/auth/token";class bg{constructor(e,n,r,i,s){ee(this,"clientId");ee(this,"teamId");ee(this,"keyId");ee(this,"pkcs8PrivateKey");ee(this,"redirectURI");this.clientId=e,this.teamId=n,this.keyId=r,this.pkcs8PrivateKey=i,this.redirectURI=s}createAuthorizationURL(e,n){const r=new URL(nv);return r.searchParams.set("response_type","code"),r.searchParams.set("client_id",this.clientId),r.searchParams.set("state",e),n.length>0&&r.searchParams.set("scope",n.join(" ")),r.searchParams.set("redirect_uri",this.redirectURI),r}async validateAuthorizationCode(e){const n=new URLSearchParams;n.set("grant_type","authorization_code"),n.set("code",e),n.set("redirect_uri",this.redirectURI),n.set("client_id",this.clientId);const r=await this.createClientSecret();n.set("client_secret",r);const i=Rr(rv,n);return await qs(i)}async createClientSecret(){const e=await crypto.subtle.importKey("pkcs8",this.pkcs8PrivateKey,{name:"ECDSA",namedCurve:"P-256"},!1,["sign"]),n=Math.floor(Date.now()/1e3),r=JSON.stringify({typ:"JWT",alg:"ES256",kid:this.keyId}),i=JSON.stringify({iss:this.teamId,exp:n+5*60,aud:["https://appleid.apple.com"],sub:this.clientId,iat:n}),s=new Uint8Array(await crypto.subtle.sign({name:"ECDSA",hash:"SHA-256"},e,tv(r,i)));return ev(r,i,s)}}const iv="https://www.facebook.com/v16.0/dialog/oauth",sv="https://graph.facebook.com/v16.0/oauth/access_token";class kg{constructor(e,n,r){ee(this,"clientId");ee(this,"clientSecret");ee(this,"redirectURI");this.clientId=e,this.clientSecret=n,this.redirectURI=r}createAuthorizationURL(e,n){const r=new URL(iv);return r.searchParams.set("response_type","code"),r.searchParams.set("client_id",this.clientId),r.searchParams.set("state",e),n.length>0&&r.searchParams.set("scope",n.join(" ")),r.searchParams.set("redirect_uri",this.redirectURI),r}async validateAuthorizationCode(e){const n=new URLSearchParams;n.set("grant_type","authorization_code"),n.set("code",e),n.set("redirect_uri",this.redirectURI),n.set("client_id",this.clientId),n.set("client_secret",this.clientSecret);const r=Rr(sv,n);return await qs(r)}}const ov="https://accounts.google.com/o/oauth2/v2/auth",vp="https://oauth2.googleapis.com/token",av="https://oauth2.googleapis.com/revoke";let xg=class{constructor(e,n,r){ee(this,"client");this.client=new Fl(e,n,r)}createAuthorizationURL(e,n,r){return this.client.createAuthorizationURLWithPKCE(ov,e,ei.S256,n,r)}async validateAuthorizationCode(e,n){return await this.client.validateAuthorizationCode(vp,e,n)}async refreshAccessToken(e){return await this.client.refreshAccessToken(vp,e,[])}async revokeToken(e){await this.client.revokeToken(av,e)}};class Kl{constructor(e,n){ee(this,"value");ee(this,"unit");this.value=e,this.unit=n}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 Kl(Math.round(this.milliseconds()*e),"ms")}}async function wp(t,e,n,r){const i={alg:t,typ:"JWT",...r==null?void 0:r.headers},s={...n};(r==null?void 0:r.audiences)!==void 0&&(s.aud=r.audiences),(r==null?void 0:r.subject)!==void 0&&(s.sub=r.subject),(r==null?void 0:r.issuer)!==void 0&&(s.iss=r.issuer),(r==null?void 0:r.jwtId)!==void 0&&(s.jti=r.jwtId),(r==null?void 0:r.expiresIn)!==void 0&&(s.exp=Math.floor(Date.now()/1e3)+r.expiresIn.seconds()),(r==null?void 0:r.notBefore)!==void 0&&(s.nbf=Math.floor(r.notBefore.getTime()/1e3)),s.iat=Math.floor(Date.now()/1e3);const o=new TextEncoder,c=_n.encode(o.encode(JSON.stringify(i)),{includePadding:!1}),l=_n.encode(o.encode(JSON.stringify(s)),{includePadding:!1}),u=o.encode([c,l].join(".")),p=await lv(t).sign(e,u),h=_n.encode(new Uint8Array(p),{includePadding:!1});return[c,l,h].join(".")}function cv(t){const e=t.split(".");return e.length!==3?null:e}function Wl(t){const e=cv(t);if(!e)return null;const n=new TextDecoder,r=_n.decode(e[0],{strict:!1}),i=_n.decode(e[1],{strict:!1}),s=JSON.parse(n.decode(r));if(typeof s!="object"||s===null||!("alg"in s)||!uv(s.alg)||"typ"in s&&s.typ!=="JWT")return null;const o=JSON.parse(n.decode(i));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:t,header:{...s,typ:"JWT",alg:s.alg},payload:{...o},parts:e,...c}}function lv(t){return new ly(dv[t])}function uv(t){return typeof t!="string"?!1:["HS256","HS384","HS512","RS256","RS384","RS512","ES256","ES384","ES512","PS256","PS384","PS512"].includes(t)}const dv={RS256:"SHA-256",RS384:"SHA-384",RS512:"SHA-512"},Do=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();Do.omit({iat:!0,auth_time:!0,nonce:!0,acr:!0,amr:!0,azp:!0,at_hash:!0,c_hash:!0});function pv(t){return t.ISSUER}function At(t){return t.UNIVERSAL_LOGIN_URL||`${t.ISSUER}u/`}function Ne(t){return t.OAUTH_API_URL||t.ISSUER}function Sg(t){const{options:e}=t;if(!e||!e.client_id||!e.team_id||!e.kid||!e.app_secret)throw new Error("Missing required Apple authentication parameters");const n=Buffer.from(e.app_secret,"utf-8"),r=n.toString().replace(/-----BEGIN PRIVATE KEY-----|-----END PRIVATE KEY-----|\s/g,""),i=Uint8Array.from(Buffer.from(r,"base64"));return n.fill(0),{options:e,keyArray:i}}async function fv(t,e){var l,u;const{options:n,keyArray:r}=Sg(e),i=new bg(n.client_id,n.team_id,n.kid,r,`${Ne(t.env)}callback`),s=Re(),o=await i.createAuthorizationURL(s,((l=n.scope)==null?void 0:l.split(" "))||["name","email"]);return(((u=n.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 hv(t,e,n){const{options:r,keyArray:i}=Sg(e),o=await new bg(r.client_id,r.team_id,r.kid,i,`${Ne(t.env)}callback`).validateAuthorizationCode(n),c=Wl(o.idToken());if(!c)throw new Error("Invalid ID token");const l=Do.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 gv=Object.freeze(Object.defineProperty({__proto__:null,getRedirect:fv,validateAuthorizationCodeAndGetUser:hv},Symbol.toStringTag,{value:"Module"}));async function mv(t,e){var o;const{options:n}=e;if(!(n!=null&&n.client_id)||!n.client_secret)throw new Error("Missing required authentication parameters");const r=new kg(n.client_id,n.client_secret,`${Ne(t.env)}callback`),i=Re();return{redirectUrl:r.createAuthorizationURL(i,((o=n.scope)==null?void 0:o.split(" "))||["email"]).href,code:i}}async function _v(t,e,n){const{options:r}=e;if(!(r!=null&&r.client_id)||!r.client_secret)throw new Error("Missing required authentication parameters");const s=await new kg(r.client_id,r.client_secret,`${Ne(t.env)}callback`).validateAuthorizationCode(n),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 t.set("log",`Userinfo: ${JSON.stringify(c)}`),{sub:c.id,email:c.email,name:c.name}}const yv=Object.freeze(Object.defineProperty({__proto__:null,getRedirect:mv,validateAuthorizationCodeAndGetUser:_v},Symbol.toStringTag,{value:"Module"}));async function vv(t,e){var c;const{options:n}=e;if(!(n!=null&&n.client_id)||!n.client_secret)throw new Error("Missing required Google authentication parameters");const r=new xg(n.client_id,n.client_secret,`${Ne(t.env)}callback`),i=Re(),s=Jy();return{redirectUrl:r.createAuthorizationURL(i,s,((c=n.scope)==null?void 0:c.split(" "))??["email","profile"]).href,code:i,codeVerifier:s}}async function wv(t,e,n,r){const{options:i}=e;if(!(i!=null&&i.client_id)||!i.client_secret||!r)throw new Error("Missing required authentication parameters");const o=await new xg(i.client_id,i.client_secret,`${Ne(t.env)}callback`).validateAuthorizationCode(n,r);console.log("got here");const c=Wl(o.idToken());if(!c)throw new Error("Invalid ID token");const l=Do.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 bv=Object.freeze(Object.defineProperty({__proto__:null,getRedirect:vv,validateAuthorizationCodeAndGetUser:wv},Symbol.toStringTag,{value:"Module"}));async function kv(t,e){var o;const{options:n}=e;if(!(n!=null&&n.client_id)||!n.client_secret)throw new Error("Missing required authentication parameters");const r=new Fl(n.client_id,n.client_secret,`${Ne(t.env)}callback`),i=Re(),s=r.createAuthorizationURL("https://api.vipps.no/access-management-1.0/access/oauth2/auth",i,((o=n.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:i}}async function xv(t,e,n){const{options:r}=e;if(!(r!=null&&r.client_id)||!r.client_secret)throw new Error("Missing required authentication parameters");const s=await new Fl(r.client_id,r.client_secret,`${Ne(t.env)}callback`).validateAuthorizationCode("https://api.vipps.no/access-management-1.0/access/oauth2/token",n,null),o=Wl(s.idToken());if(!o)throw new Error("Invalid ID token");const c=Do.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 z(400,{message:"Failed to get user from vipps"});return await l.json()}const Sv=Object.freeze(Object.defineProperty({__proto__:null,getRedirect:kv,validateAuthorizationCodeAndGetUser:xv},Symbol.toStringTag,{value:"Module"}));function Ag(t,e){const n=t.env.STRATEGIES||{},i={apple:gv,facebook:yv,"google-oauth2":bv,vipps:Sv,...n}[e];if(!i)throw new Error(`Strategy ${e} not found`);return i}async function Ho(t,e){const n=await t.data.clients.get(e);if(!n)throw new z(403,{message:"Client not found"});const r=t.DEFAULT_CLIENT_ID?await t.data.clients.get(t.DEFAULT_CLIENT_ID):void 0,i=await t.data.connections.list(n.tenant.id),s=t.DEFAULT_TENANT_ID?await t.data.connections.list(t.DEFAULT_TENANT_ID):{connections:[]},o=i.connections.map(c=>{var p;const l=(p=s.connections)==null?void 0:p.find(h=>h.name===c.name);return l!=null&&l.options?Dt.parse({...l||{},...c,options:{...l.options||{},...c.options}}):c}).filter(c=>c);return{...n,web_origins:[...(r==null?void 0:r.web_origins)||[],...n.web_origins||[],`${At(t)}login`],allowed_logout_urls:[...(r==null?void 0:r.allowed_logout_urls)||[],...n.allowed_logout_urls||[],t.ISSUER],callbacks:[...(r==null?void 0:r.callbacks)||[],...n.callbacks||[],`${At(t)}info`],connections:o,tenant:{...(r==null?void 0:r.tenant)||{},...n.tenant}}}function Fo(t,e=[],n={}){try{const r=new URL(t);return e.some(i=>{try{return Av(r,new URL(i),n.allowPathWildcards)}catch{return!1}})}catch{return!1}}function Av(t,e,n){if(t.protocol!==e.protocol)return!1;if(n&&e.pathname.includes("*")){const r=e.pathname.replace(/\*/g,".*").replace(/\//g,"\\/");if(!new RegExp(`^${r}$`).test(t.pathname))return!1}else if(t.pathname!==e.pathname)return!1;if(e.hostname.startsWith("*.")&&e.hostname.split(".").length>2&&["http:","https:"].includes(e.protocol)){const r=e.hostname.split(".").slice(1).join(".");return t.hostname.endsWith(r)}return t.hostname===e.hostname}function Ev(){const t=new Uint8Array(32);return crypto.getRandomValues(t),_n.encode(t,{includePadding:!1})}function Iv(t){try{const n=/-----BEGIN (?:RSA )?(?:PRIVATE|PUBLIC) KEY-----([^-]*)-----END (?:RSA )?(?:PRIVATE|PUBLIC) KEY-----/.exec(t);if(!n||!n[1])throw new Error("Invalid PEM format");return Uint8Array.from(atob(n[1].replace(/\s/g,"")),r=>r.charCodeAt(0)).buffer}finally{t=t.replace(/./g,"\0")}}async function Cv(t,e){if(e==="plain")return t;const n=new TextEncoder().encode(t),r=await hg(n);return _n.encode(new Uint8Array(r),{includePadding:!1})}function Eg(t,e,n){const r=[];return r.push([encodeURIComponent(t),encodeURIComponent(e)]),(n==null?void 0:n.domain)!==void 0&&r.push(["Domain",n.domain]),(n==null?void 0:n.expires)!==void 0&&r.push(["Expires",n.expires.toUTCString()]),n!=null&&n.httpOnly&&r.push(["HttpOnly"]),(n==null?void 0:n.maxAge)!==void 0&&r.push(["Max-Age",n.maxAge.toString()]),(n==null?void 0:n.path)!==void 0&&r.push(["Path",n.path]),(n==null?void 0:n.sameSite)==="lax"&&r.push(["SameSite","Lax"]),(n==null?void 0:n.sameSite)==="none"&&r.push(["SameSite","None"]),(n==null?void 0:n.sameSite)==="strict"&&r.push(["SameSite","Strict"]),n!=null&&n.secure&&r.push(["Secure"]),r.map(i=>i.join("=")).join("; ")}function Nv(t){const e=new Map,n=t.split("; ");for(const r of n){const i=r.split("="),s=i[0],o=i[1]??"";s&&e.set(decodeURIComponent(s),decodeURIComponent(o))}return e}function Gl(t){return`${t}-${By}`}function Hs(t,e){return e?Nv(e).get(Gl(t)):void 0}function zv(t){const e={path:"/",httpOnly:!0,secure:!0,maxAge:0};return Eg(Gl(t),"",{...e,sameSite:"none"})}function Ig(t,e){const n={path:"/",httpOnly:!0,secure:!0,maxAge:qo};return Eg(Gl(t),e,{...n,sameSite:"none"})}var Jl={},Ko={};(function(t){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",n=e+"\\-.\\d\\u00B7\\u0300-\\u036F\\u203F-\\u2040",r="["+e+"]["+n+"]*",i=new RegExp("^"+r+"$"),s=function(c,l){const u=[];let p=l.exec(c);for(;p;){const h=[];h.startIndex=l.lastIndex-p[0].length;const m=p.length;for(let v=0;v<m;v++)h.push(p[v]);u.push(h),p=l.exec(c)}return u},o=function(c){const l=i.exec(c);return!(l===null||typeof l>"u")};t.isExist=function(c){return typeof c<"u"},t.isEmptyObject=function(c){return Object.keys(c).length===0},t.merge=function(c,l,u){if(l){const p=Object.keys(l),h=p.length;for(let m=0;m<h;m++)u==="strict"?c[p[m]]=[l[p[m]]]:c[p[m]]=l[p[m]]}},t.getValue=function(c){return t.isExist(c)?c:""},t.isName=o,t.getAllMatches=s,t.nameRegexp=r})(Ko);const Zl=Ko,$v={allowBooleanAttributes:!1,unpairedTags:[]};Jl.validate=function(t,e){e=Object.assign({},$v,e);const n=[];let r=!1,i=!1;t[0]==="\uFEFF"&&(t=t.substr(1));for(let s=0;s<t.length;s++)if(t[s]==="<"&&t[s+1]==="?"){if(s+=2,s=kp(t,s),s.err)return s}else if(t[s]==="<"){let o=s;if(s++,t[s]==="!"){s=xp(t,s);continue}else{let c=!1;t[s]==="/"&&(c=!0,s++);let l="";for(;s<t.length&&t[s]!==">"&&t[s]!==" "&&t[s]!==" "&&t[s]!==`
|
|
125
|
+
`,r}async function dy(t){const e=await t.publicKey.export(),n=await crypto.subtle.exportKey("jwk",e),r=JSON.stringify(n,Object.keys(n).sort()),s=new TextEncoder().encode(r);return Dc(await hg(s))}const py=1e3*60*60*24,fy=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(Aa)}},description:"List of keys"}}}),async t=>{const n=(await t.env.data.keys.list()).filter(r=>"cert"in r).map(r=>r);return t.json(n)}).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:Aa}},description:"The requested key"}}}),async t=>{const{kid:e}=t.req.valid("param"),r=(await t.env.data.keys.list()).find(i=>i.kid===e);if(!r)throw new z(404,{message:"Key not found"});return t.json(r)}).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 t=>{const e=await t.env.data.keys.list();for await(const r of e)await t.env.data.keys.update(r.kid,{revoked_at:new Date(Date.now()+py).toISOString()});const n=await Hc({name:`CN=${t.env.ORGANIZATION_NAME}`});return await t.env.data.keys.create(n),t.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 t=>{const{kid:e}=t.req.valid("param");if(!await t.env.data.keys.update(e,{revoked_at:new Date().toISOString()}))throw new z(404,{message:"Key not found"});const r=await Hc({name:`CN=${t.env.ORGANIZATION_NAME}`});return await t.env.data.keys.create(r),t.text("OK")}),hy=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(Xc)}},description:"List of users"}}}),async t=>{const{"tenant-id":e}=t.req.valid("header"),{email:n}=t.req.valid("query"),i=(await Ys(t.env.data.users,e,n)).filter(s=>!s.linked_to);return t.json(i)}),gy=tn.extend({clients:a.z.array(dn)}),my=new a.OpenAPIHono().openapi(a.createRoute({tags:["clients"],method:"get",path:"/",request:{query:vn,headers:a.z.object({"tenant-id":a.z.string()})},security:[{Bearer:["auth:read"]}],responses:{200:{content:{"application/json":{schema:a.z.union([gy,a.z.array(dn)])}},description:"List of clients"}}}),async t=>{const{"tenant-id":e}=t.req.valid("header"),{page:n,per_page:r,include_totals:i,sort:s,q:o}=t.req.valid("query"),l=(await t.env.data.applications.list(e,{page:n,per_page:r,include_totals:i,sort:lr(s),q:o})).applications;return i?t.json({clients:l,start:0,limit:10,length:l.length}):t.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:dn}},description:"An application"}}}),async t=>{const{"tenant-id":e}=t.req.valid("header"),{id:n}=t.req.valid("param"),i=(await t.env.data.applications.list(e,{page:1,per_page:0,include_totals:!1})).applications.find(s=>s.id===n);if(!i)throw new z(404);return t.json(i)}).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 t=>{const{"tenant-id":e}=t.req.valid("header"),{id:n}=t.req.valid("param");if(!await t.env.data.applications.remove(e,n))throw new z(404,{message:"Application not found"});return t.text("OK")}).openapi(a.createRoute({tags:["clients"],method:"patch",path:"/{id}",request:{body:{content:{"application/json":{schema:a.z.object(ns.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:dn}},description:"The update application"}}}),async t=>{const{"tenant-id":e}=t.req.valid("header"),{id:n}=t.req.valid("param"),i=t.req.valid("json");await t.env.data.applications.update(e,n,i);const s=await t.env.data.applications.get(e,n);if(!s)throw new z(404,{message:"Application not found"});return t.json(s)}).openapi(a.createRoute({tags:["clients"],method:"post",path:"/",request:{body:{content:{"application/json":{schema:a.z.object(ns.shape)}}},headers:a.z.object({"tenant-id":a.z.string()})},security:[{Bearer:["auth:write"]}],responses:{201:{content:{"application/json":{schema:a.z.object(dn.shape)}},description:"An application"}}}),async t=>{const{"tenant-id":e}=t.req.valid("header"),n=t.req.valid("json"),r={...n,id:n.id||Re(),client_secret:n.client_secret||Re()},i=await t.env.data.applications.create(e,r);return t.json(i,{status:201})});a.z.object({start:a.z.number(),limit:a.z.number(),length:a.z.number()});Gs.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 _y=tn.extend({tenants:a.z.array(Hn)}),yy=new a.OpenAPIHono().openapi(a.createRoute({tags:["tenants"],method:"get",path:"/",request:{query:vn},security:[{Bearer:["auth:read"]}],responses:{200:{content:{"tenant/json":{schema:a.z.union([a.z.array(Hn),_y])}},description:"List of tenants"}}}),async t=>{const{page:e,per_page:n,include_totals:r,sort:i,q:s}=t.req.valid("query"),o=await t.env.data.tenants.list({page:e,per_page:n,include_totals:r,sort:lr(i),q:s});return r?t.json(o):t.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:Hn}},description:"A tenant"}}}),async t=>{const{id:e}=t.req.valid("param"),n=await t.env.data.tenants.get(e);if(!n)throw new z(404);return t.json(n)}).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 t=>{const{id:e}=t.req.valid("param");return await t.env.data.tenants.remove(e),t.text("OK")}).openapi(a.createRoute({tags:["tenants"],method:"patch",path:"/{id}",request:{body:{content:{"application/json":{schema:a.z.object(is.shape).partial()}}},params:a.z.object({id:a.z.string()})},security:[{Bearer:["auth:write"]}],responses:{200:{description:"Status"}}}),async t=>{const{id:e}=t.req.valid("param"),n=t.req.valid("json");return await t.env.data.tenants.update(e,n),t.text("OK")}).openapi(a.createRoute({tags:["tenants"],method:"post",path:"/",request:{body:{content:{"application/json":{schema:a.z.object(is.shape)}}}},security:[{Bearer:["auth:write"]}],responses:{200:{content:{"tenant/json":{schema:Hn}},description:"An tenant"}}}),async t=>{const e=t.req.valid("json"),n=await t.env.data.tenants.create(e);return t.json(n,{status:201})}),vy=tn.extend({logs:a.z.array(os)}),wy=new a.OpenAPIHono().openapi(a.createRoute({tags:["logs"],method:"get",path:"/",request:{query:vn,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(os),vy])}},description:"List of log rows"}}}),async t=>{const{page:e,per_page:n,include_totals:r,sort:i,q:s}=t.req.valid("query"),{"tenant-id":o}=t.req.valid("header"),c=await t.env.data.logs.list(o,{page:e,per_page:n,include_totals:r,sort:lr(i),q:s});return r?t.json(c):t.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:os}},description:"A log entry"}}}),async t=>{const{"tenant-id":e}=t.req.valid("header"),{id:n}=t.req.valid("param"),r=await t.env.data.logs.get(e,n);if(!r)throw new z(404);return t.json(r)}),by=tn.extend({hooks:a.z.array(qn)}),ky=new a.OpenAPIHono().openapi(a.createRoute({tags:["hooks"],method:"get",path:"/",request:{query:vn,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(qn),by])}},description:"List of hooks"}}}),async t=>{const{"tenant-id":e}=t.req.valid("header"),{page:n,per_page:r,include_totals:i,sort:s,q:o}=t.req.valid("query"),c=await t.env.data.hooks.list(e,{page:n,per_page:r,include_totals:i,sort:lr(s),q:o});return i?t.json(c):t.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(ss.shape)}}}},security:[{Bearer:["auth:write"]}],responses:{201:{content:{"application/json":{schema:qn}},description:"The created hook"}}}),async t=>{const{"tenant-id":e}=t.req.valid("header"),n=t.req.valid("json"),r=await t.env.data.hooks.create(e,n);return t.json(r,{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(ss.shape).omit({hook_id:!0}).partial()}}}},security:[{Bearer:["auth:write"]}],responses:{200:{content:{"application/json":{schema:qn.shape}},description:"The updated hook"},404:{description:"Hook not found"}}}),async t=>{const{"tenant-id":e}=t.req.valid("header"),{hook_id:n}=t.req.valid("param"),r=t.req.valid("json");await t.env.data.hooks.update(e,n,r);const i=await t.env.data.hooks.get(e,n);if(!i)throw new z(404,{message:"Hook not found"});return t.json(i)}).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:qn}},description:"A hook"},404:{description:"Hook not found"}}}),async t=>{const{"tenant-id":e}=t.req.valid("header"),{hook_id:n}=t.req.valid("param"),r=await t.env.data.hooks.get(e,n);if(!r)throw new z(404,{message:"Hook not found"});return t.json(r)}).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 t=>{const{"tenant-id":e}=t.req.valid("header"),{hook_id:n}=t.req.valid("param");if(!await t.env.data.hooks.remove(e,n))throw new z(404,{message:"Hook not found"});return t.text("OK")}),xy=tn.extend({connections:a.z.array(Dt)}),Sy=new a.OpenAPIHono().openapi(a.createRoute({tags:["connections"],method:"get",path:"/",request:{query:vn,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(Dt),xy])}},description:"List of connectionss"}}}),async t=>{const{"tenant-id":e}=t.req.valid("header"),{page:n,per_page:r,include_totals:i=!1,sort:s,q:o}=t.req.valid("query"),c=await t.env.data.connections.list(e,{page:n,per_page:r,include_totals:i,sort:lr(s),q:o});return i?t.json(c):t.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:Dt}},description:"A connection"}}}),async t=>{const{"tenant-id":e}=t.req.valid("header"),{id:n}=t.req.valid("param"),r=await t.env.data.connections.get(e,n);if(!r)throw new z(404);return t.json(r)}).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 t=>{const{"tenant-id":e}=t.req.valid("header"),{id:n}=t.req.valid("param");if(!await t.env.data.connections.remove(e,n))throw new z(404,{message:"Connection not found"});return t.text("OK")}).openapi(a.createRoute({tags:["connections"],method:"patch",path:"/{id}",request:{body:{content:{"application/json":{schema:a.z.object(rs.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:Dt}},description:"The updated connection"}}}),async t=>{const{"tenant-id":e}=t.req.valid("header"),{id:n}=t.req.valid("param"),r=t.req.valid("json");if(!await t.env.data.connections.update(e,n,r))throw new z(404,{message:"Connection not found"});const s=await t.env.data.connections.get(e,n);if(!s)throw new z(404,{message:"Connection not found"});return t.json(s)}).openapi(a.createRoute({tags:["connections"],method:"post",path:"/",request:{body:{content:{"application/json":{schema:a.z.object(rs.shape)}}},headers:a.z.object({"tenant-id":a.z.string()})},security:[{Bearer:["auth:write"]}],responses:{201:{content:{"application/json":{schema:Dt}},description:"A connection"}}}),async t=>{const{"tenant-id":e}=t.req.valid("header"),n=t.req.valid("json"),r=await t.env.data.connections.create(e,n);return t.json(r,{status:201})}),Ay=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:Li}},description:"Branding settings"}}}),async t=>{const{"tenant-id":e}=t.req.valid("header"),n=await t.env.data.promptSettings.get(e);return n?t.json(n):t.json(Li.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(Li.shape).partial()}}}},security:[{Bearer:["auth:write"]}],responses:{200:{description:"Prompts settings"}}}),async t=>{const{"tenant-id":e}=t.req.valid("header"),n=t.req.valid("json"),r=await t.env.data.promptSettings.get(e);return Object.assign(r,n),await t.env.data.promptSettings.set(e,r),t.json(r)});let dp=!1;function gg(t){t.use(async(e,n)=>(dp||(t.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"}}}}),dp=!0),await n()))}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 Ey(t){try{const e=await t.JWKS_SERVICE.fetch(t.JWKS_URL);if(!e.ok)throw new Error("Failed to fetch jwks");return(await e.json()).keys}catch(e){throw new z(500,{message:`Failed to fetch jwks: ${e.message}`})}}async function Iy(t,e){const r=new TextEncoder().encode([e.raw.header,e.raw.payload].join(".")),i=new Uint8Array(Array.from(e.signature).map(l=>l.charCodeAt(0))),o=(await Ey(t.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,i,r)}function Cy(t){const[e,n,r]=t.split(".");if(!e||!n||!r)return null;const i=JSON.parse(atob(e)),s=JSON.parse(atob(n)),o=atob(r.replace(/-/g,"+").replace(/_/g,"/"));return{header:i,payload:s,signature:o,raw:{header:e,payload:n,signature:r}}}function mg(t){return async(e,n)=>{var i,s,o;const r=t.openAPIRegistry.definitions.find(c=>"route"in c&&c.route.path===e.req.path&&c.route.method.toUpperCase()===e.req.method);if(r&&"route"in r){const c=(s=(i=r.route.security)==null?void 0:i[0])==null?void 0:s.Bearer;if(!(c!=null&&c.length))return await n();const l=e.req.header("authorization")||"",[u,p]=l.split(" ");if((u==null?void 0:u.toLowerCase())!=="bearer"||!p)throw new z(401,{message:"Missing bearer token"});const h=Cy(p);if(!h||!await Iy(e,h))throw new z(403,{message:"Invalid JWT signature"});e.set("user_id",h.payload.sub),e.set("user",h.payload);const m=h.payload.permissions||[],v=((o=h.payload.scope)==null?void 0:o.split(" "))||[];if(c.length&&!(c.some(f=>m.includes(f))||c.some(f=>v.includes(f))))throw new z(403,{message:"Unauthorized"})}return await n()}}const Ny=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:Ui}},description:"Email provider"}}}),async t=>{const{"tenant-id":e}=t.req.valid("header"),n=await t.env.data.emailProviders.get(e);if(!n)throw new z(404,{message:"Email provider not found"});return t.json(n)}).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(Ui.shape)}}}},security:[{Bearer:["auth:write"]}],responses:{200:{description:"Branding settings"}}}),async t=>{const{"tenant-id":e}=t.req.valid("header"),n=t.req.valid("json");return await t.env.data.emailProviders.create(e,n),t.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(Ui.shape).partial()}}}},security:[{Bearer:["auth:write"]}],responses:{200:{description:"Branding settings"}}}),async t=>{const{"tenant-id":e}=t.req.valid("header"),n=t.req.valid("json");return await t.env.data.emailProviders.update(e,n),t.text("OK")}),zy=new a.OpenAPIHono().openapi(a.createRoute({tags:["sessions"],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:Zs}},description:"A session"}}}),async t=>{const{"tenant-id":e}=t.req.valid("header"),{id:n}=t.req.valid("param"),r=await t.env.data.sessions.get(e,n);if(!r)throw new z(404);return t.json(r)}).openapi(a.createRoute({tags:["sessions"],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 t=>{const{"tenant-id":e}=t.req.valid("header"),{id:n}=t.req.valid("param");if(!await t.env.data.sessions.remove(e,n))throw new z(404,{message:"Session not found"});return t.text("OK")}).openapi(a.createRoute({tags:["sessions"],method:"post",path:"/{id}/revoke",request:{params:a.z.object({id:a.z.string()}),headers:a.z.object({"tenant-id":a.z.string()})},security:[{Bearer:["auth:write"]}],responses:{202:{description:"Sesssion deletion status"}}}),async t=>{const{"tenant-id":e}=t.req.valid("header"),{id:n}=t.req.valid("param");if(!await t.env.data.sessions.update(e,n,{revoked_at:new Date().toDateString()}))throw new z(404,{message:"Session not found"});return t.text("Session deletion request accepted.",{status:202})}),$y=new a.OpenAPIHono().openapi(a.createRoute({tags:["refresh_tokens"],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:tl}},description:"A session"}}}),async t=>{const{"tenant-id":e}=t.req.valid("header"),{id:n}=t.req.valid("param"),r=await t.env.data.refreshTokens.get(e,n);if(!r)throw new z(404);return t.json(r)}).openapi(a.createRoute({tags:["refresh_tokens"],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 t=>{const{"tenant-id":e}=t.req.valid("header"),{id:n}=t.req.valid("param");if(!await t.env.data.refreshTokens.remove(e,n))throw new z(404,{message:"Session not found"});return t.text("OK")});function jy(){const t=new a.OpenAPIHono;t.use(mg(t));const e=t.route("/branding",Ym).route("/email/providers",Ny).route("/users",f_).route("/keys",fy).route("/users-by-email",hy).route("/clients",my).route("/tenants",yy).route("/logs",wy).route("/hooks",ky).route("/connections",Sy).route("/prompts",Ay).route("/sessions",zy).route("/refresh_tokens",$y);return gg(e),e.doc("/spec",{openapi:"3.0.0",info:{version:"1.0.0",title:"Management api"}}),e}function Oy(t,e){Object.keys(e).forEach(n=>{const r=e[n];r!=null&&r.length&&t.searchParams.set(n,r)})}function Tn(t){var e,n,r;return{auth0Client:(e=t.query("auth0Client"))==null?void 0:e.slice(0,255),ip:(n=t.header("x-real-ip"))==null?void 0:n.slice(0,45),useragent:(r=t.header("user-agent"))==null?void 0:r.slice(0,512)}}const Ti=60*5,Do=30*24*60*60,Xr=24*60*60,By="auth-token",Fc=30*60*1e3,Ty=5*60,Py=5*60,Ry=30*60*1e3,Ly=30*60*1e3,Uy=24*60*60*1e3;var pp;(function(t){t[t.Include=0]="Include",t[t.None=1]="None"})(pp||(pp={}));var fp;(function(t){t[t.Required=0]="Required",t[t.Ignore=1]="Ignore"})(fp||(fp={}));function Vy(t){return yg(t,My,Qr.Include)}function _g(t){return yg(t,qy,Qr.None)}function yg(t,e,n){let r="";for(let i=0;i<t.byteLength;i+=3){let s=0,o=0;for(let c=0;c<3&&i+c<t.byteLength;c++)s=s<<8|t[i+c],o+=8;for(let c=0;c<4;c++)o>=6?(r+=e[s>>o-6&63],o-=6):o>0?(r+=e[s<<6-o&63],o=0):n===Qr.Include&&(r+="=")}return r}const My="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",qy="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_";var Qr;(function(t){t[t.Include=0]="Include",t[t.None=1]="None"})(Qr||(Qr={}));var hp;(function(t){t[t.Required=0]="Required",t[t.Ignore=1]="Ignore"})(hp||(hp={}));class Dy{uint8(e,n){if(e.byteLength<n+1)throw new TypeError("Insufficient bytes");return e[n]}uint16(e,n){if(e.byteLength<n+2)throw new TypeError("Insufficient bytes");return e[n]<<8|e[n+1]}uint32(e,n){if(e.byteLength<n+4)throw new TypeError("Insufficient bytes");let r=0;for(let i=0;i<4;i++)r|=e[n+i]<<24-i*8;return r}uint64(e,n){if(e.byteLength<n+8)throw new TypeError("Insufficient bytes");let r=0n;for(let i=0;i<8;i++)r|=BigInt(e[n+i])<<BigInt(56-i*8);return r}putUint8(e,n,r){if(e.length<r+1)throw new TypeError("Not enough space");if(n<0||n>255)throw new TypeError("Invalid uint8 value");e[r]=n}putUint16(e,n,r){if(e.length<r+2)throw new TypeError("Not enough space");if(n<0||n>65535)throw new TypeError("Invalid uint16 value");e[r]=n>>8,e[r+1]=n&255}putUint32(e,n,r){if(e.length<r+4)throw new TypeError("Not enough space");if(n<0||n>4294967295)throw new TypeError("Invalid uint32 value");for(let i=0;i<4;i++)e[r+i]=n>>(3-i)*8&255}putUint64(e,n,r){if(e.length<r+8)throw new TypeError("Not enough space");if(n<0||n>18446744073709551615n)throw new TypeError("Invalid uint64 value");for(let i=0;i<8;i++)e[r+i]=Number(n>>BigInt((7-i)*8)&0xffn)}}const gp=new Dy;function wt(t,e){return(t<<32-e|t>>>e)>>>0}function Hy(t){const e=new Fy;return e.update(t),e.digest()}class Fy{constructor(){ee(this,"blockSize",64);ee(this,"size",32);ee(this,"blocks",new Uint8Array(64));ee(this,"currentBlockSize",0);ee(this,"H",new Uint32Array([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]));ee(this,"l",0n);ee(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 n=0;if(this.currentBlockSize>0){const r=e.slice(0,64-this.currentBlockSize);this.blocks.set(r,this.currentBlockSize),this.process(),n+=r.byteLength,this.currentBlockSize=0}for(;n+64<=e.byteLength;){const r=e.slice(n,n+64);this.blocks.set(r),this.process(),n+=64}if(e.byteLength-n>0){const r=e.slice(n);this.blocks.set(r),this.currentBlockSize=r.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),gp.putUint64(this.blocks,this.l,this.blockSize-8),this.process();const e=new Uint8Array(32);for(let n=0;n<8;n++)gp.putUint32(e,this.H[n],n*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=(wt(this.w[u-2],17)^wt(this.w[u-2],19)^this.w[u-2]>>>10)>>>0,h=(wt(this.w[u-15],7)^wt(this.w[u-15],18)^this.w[u-15]>>>3)>>>0;this.w[u]=p+this.w[u-7]+h+this.w[u-16]|0}let e=this.H[0],n=this.H[1],r=this.H[2],i=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=(wt(s,6)^wt(s,11)^wt(s,25))>>>0,h=(s&o^~s&c)>>>0,m=l+p+h+Ky[u]+this.w[u]|0,v=(wt(e,2)^wt(e,13)^wt(e,22))>>>0,f=(e&n^e&r^n&r)>>>0,_=v+f|0;l=c,c=o,o=s,s=i+m|0,i=r,r=n,n=e,e=m+_|0}this.H[0]=e+this.H[0]|0,this.H[1]=n+this.H[1]|0,this.H[2]=r+this.H[2]|0,this.H[3]=i+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 Ky=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 Wy{constructor(e){ee(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 Gy(t){const e=Hy(new TextEncoder().encode(t));return _g(e)}function Jy(){const t=new Uint8Array(32);return crypto.getRandomValues(t),_g(t)}function Rr(t,e){const n=new TextEncoder().encode(e.toString()),r=new Request(t,{method:"POST",body:n});return r.headers.set("Content-Type","application/x-www-form-urlencoded"),r.headers.set("Accept","application/json"),r.headers.set("User-Agent","arctic"),r.headers.set("Content-Length",n.byteLength.toString()),r}function pa(t,e){const n=new TextEncoder().encode(`${t}:${e}`);return Vy(n)}async function qs(t){let e;try{e=await fetch(t)}catch(n){throw new wg(n)}if(e.status===400||e.status===401){let n;try{n=await e.json()}catch{throw new Hi(e.status)}if(typeof n!="object"||n===null)throw new Wn(e.status,n);let r;try{r=vg(n)}catch{throw new Wn(e.status,n)}throw r}if(e.status===200){let n;try{n=await e.json()}catch{throw new Hi(e.status)}if(typeof n!="object"||n===null)throw new Wn(e.status,n);return new Wy(n)}throw e.body!==null&&await e.body.cancel(),new Hi(e.status)}async function Zy(t){let e;try{e=await fetch(t)}catch(n){throw new wg(n)}if(e.status===400||e.status===401){let n;try{n=await e.json()}catch{throw new Wn(e.status,null)}if(typeof n!="object"||n===null)throw new Wn(e.status,n);let r;try{r=vg(n)}catch{throw new Wn(e.status,n)}throw r}if(e.status===200){e.body!==null&&await e.body.cancel();return}throw e.body!==null&&await e.body.cancel(),new Hi(e.status)}function vg(t){let e;if("error"in t&&typeof t.error=="string")e=t.error;else throw new Error("Invalid error response");let n=null,r=null,i=null;if("error_description"in t){if(typeof t.error_description!="string")throw new Error("Invalid data");n=t.error_description}if("error_uri"in t){if(typeof t.error_uri!="string")throw new Error("Invalid data");r=t.error_uri}if("state"in t){if(typeof t.state!="string")throw new Error("Invalid data");i=t.state}return new Yy(e,n,r,i)}class wg extends Error{constructor(e){super("Failed to send request",{cause:e})}}class Yy extends Error{constructor(n,r,i,s){super(`OAuth request error: ${n}`);ee(this,"code");ee(this,"description");ee(this,"uri");ee(this,"state");this.code=n,this.description=r,this.uri=i,this.state=s}}class Hi extends Error{constructor(n){super("Unexpected error response");ee(this,"status");this.status=n}}class Wn extends Error{constructor(n,r){super("Unexpected error response body");ee(this,"status");ee(this,"data");this.status=n,this.data=r}}class Fl{constructor(e,n,r){ee(this,"clientId");ee(this,"clientPassword");ee(this,"redirectURI");this.clientId=e,this.clientPassword=n,this.redirectURI=r}createAuthorizationURL(e,n,r){const i=new URL(e);return i.searchParams.set("response_type","code"),i.searchParams.set("client_id",this.clientId),this.redirectURI!==null&&i.searchParams.set("redirect_uri",this.redirectURI),i.searchParams.set("state",n),r.length>0&&i.searchParams.set("scope",r.join(" ")),i}createAuthorizationURLWithPKCE(e,n,r,i,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",n),r===ei.S256){const c=Gy(i);o.searchParams.set("code_challenge_method","S256"),o.searchParams.set("code_challenge",c)}else r===ei.Plain&&(o.searchParams.set("code_challenge_method","plain"),o.searchParams.set("code_challenge",i));return s.length>0&&o.searchParams.set("scope",s.join(" ")),o}async validateAuthorizationCode(e,n,r){const i=new URLSearchParams;i.set("grant_type","authorization_code"),i.set("code",n),this.redirectURI!==null&&i.set("redirect_uri",this.redirectURI),r!==null&&i.set("code_verifier",r),this.clientPassword===null&&i.set("client_id",this.clientId);const s=Rr(e,i);if(this.clientPassword!==null){const c=pa(this.clientId,this.clientPassword);s.headers.set("Authorization",`Basic ${c}`)}return await qs(s)}async refreshAccessToken(e,n,r){const i=new URLSearchParams;i.set("grant_type","refresh_token"),i.set("refresh_token",n),this.clientPassword===null&&i.set("client_id",this.clientId),r.length>0&&i.set("scope",r.join(" "));const s=Rr(e,i);if(this.clientPassword!==null){const c=pa(this.clientId,this.clientPassword);s.headers.set("Authorization",`Basic ${c}`)}return await qs(s)}async revokeToken(e,n){const r=new URLSearchParams;r.set("token",n),this.clientPassword===null&&r.set("client_id",this.clientId);const i=Rr(e,r);if(this.clientPassword!==null){const s=pa(this.clientId,this.clientPassword);i.headers.set("Authorization",`Basic ${s}`)}await Zy(i)}}var ei;(function(t){t[t.S256=0]="S256",t[t.Plain=1]="Plain"})(ei||(ei={}));var mp;(function(t){t[t.Include=0]="Include",t[t.None=1]="None"})(mp||(mp={}));var _p;(function(t){t[t.Required=0]="Required",t[t.Ignore=1]="Ignore"})(_p||(_p={}));function Lr(t){return Xy(t,Qy,Ds.None)}function Xy(t,e,n){let r="";for(let i=0;i<t.byteLength;i+=3){let s=0,o=0;for(let c=0;c<3&&i+c<t.byteLength;c++)s=s<<8|t[i+c],o+=8;for(let c=0;c<4;c++)o>=6?(r+=e[s>>o-6&63],o-=6):o>0?(r+=e[s<<6-o&63],o=0):n===Ds.Include&&(r+="=")}return r}const Qy="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_";var Ds;(function(t){t[t.Include=0]="Include",t[t.None=1]="None"})(Ds||(Ds={}));var yp;(function(t){t[t.Required=0]="Required",t[t.Ignore=1]="Ignore"})(yp||(yp={}));function ev(t,e,n){const r=Lr(new TextEncoder().encode(t)),i=Lr(new TextEncoder().encode(e)),s=Lr(n);return r+"."+i+"."+s}function tv(t,e){const n=Lr(new TextEncoder().encode(t)),r=Lr(new TextEncoder().encode(e)),i=n+"."+r;return new TextEncoder().encode(i)}const nv="https://appleid.apple.com/auth/authorize",rv="https://appleid.apple.com/auth/token";class bg{constructor(e,n,r,i,s){ee(this,"clientId");ee(this,"teamId");ee(this,"keyId");ee(this,"pkcs8PrivateKey");ee(this,"redirectURI");this.clientId=e,this.teamId=n,this.keyId=r,this.pkcs8PrivateKey=i,this.redirectURI=s}createAuthorizationURL(e,n){const r=new URL(nv);return r.searchParams.set("response_type","code"),r.searchParams.set("client_id",this.clientId),r.searchParams.set("state",e),n.length>0&&r.searchParams.set("scope",n.join(" ")),r.searchParams.set("redirect_uri",this.redirectURI),r}async validateAuthorizationCode(e){const n=new URLSearchParams;n.set("grant_type","authorization_code"),n.set("code",e),n.set("redirect_uri",this.redirectURI),n.set("client_id",this.clientId);const r=await this.createClientSecret();n.set("client_secret",r);const i=Rr(rv,n);return await qs(i)}async createClientSecret(){const e=await crypto.subtle.importKey("pkcs8",this.pkcs8PrivateKey,{name:"ECDSA",namedCurve:"P-256"},!1,["sign"]),n=Math.floor(Date.now()/1e3),r=JSON.stringify({typ:"JWT",alg:"ES256",kid:this.keyId}),i=JSON.stringify({iss:this.teamId,exp:n+5*60,aud:["https://appleid.apple.com"],sub:this.clientId,iat:n}),s=new Uint8Array(await crypto.subtle.sign({name:"ECDSA",hash:"SHA-256"},e,tv(r,i)));return ev(r,i,s)}}const iv="https://www.facebook.com/v16.0/dialog/oauth",sv="https://graph.facebook.com/v16.0/oauth/access_token";class kg{constructor(e,n,r){ee(this,"clientId");ee(this,"clientSecret");ee(this,"redirectURI");this.clientId=e,this.clientSecret=n,this.redirectURI=r}createAuthorizationURL(e,n){const r=new URL(iv);return r.searchParams.set("response_type","code"),r.searchParams.set("client_id",this.clientId),r.searchParams.set("state",e),n.length>0&&r.searchParams.set("scope",n.join(" ")),r.searchParams.set("redirect_uri",this.redirectURI),r}async validateAuthorizationCode(e){const n=new URLSearchParams;n.set("grant_type","authorization_code"),n.set("code",e),n.set("redirect_uri",this.redirectURI),n.set("client_id",this.clientId),n.set("client_secret",this.clientSecret);const r=Rr(sv,n);return await qs(r)}}const ov="https://accounts.google.com/o/oauth2/v2/auth",vp="https://oauth2.googleapis.com/token",av="https://oauth2.googleapis.com/revoke";let xg=class{constructor(e,n,r){ee(this,"client");this.client=new Fl(e,n,r)}createAuthorizationURL(e,n,r){return this.client.createAuthorizationURLWithPKCE(ov,e,ei.S256,n,r)}async validateAuthorizationCode(e,n){return await this.client.validateAuthorizationCode(vp,e,n)}async refreshAccessToken(e){return await this.client.refreshAccessToken(vp,e,[])}async revokeToken(e){await this.client.revokeToken(av,e)}};class Kl{constructor(e,n){ee(this,"value");ee(this,"unit");this.value=e,this.unit=n}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 Kl(Math.round(this.milliseconds()*e),"ms")}}async function wp(t,e,n,r){const i={alg:t,typ:"JWT",...r==null?void 0:r.headers},s={...n};(r==null?void 0:r.audiences)!==void 0&&(s.aud=r.audiences),(r==null?void 0:r.subject)!==void 0&&(s.sub=r.subject),(r==null?void 0:r.issuer)!==void 0&&(s.iss=r.issuer),(r==null?void 0:r.jwtId)!==void 0&&(s.jti=r.jwtId),(r==null?void 0:r.expiresIn)!==void 0&&(s.exp=Math.floor(Date.now()/1e3)+r.expiresIn.seconds()),(r==null?void 0:r.notBefore)!==void 0&&(s.nbf=Math.floor(r.notBefore.getTime()/1e3)),s.iat=Math.floor(Date.now()/1e3);const o=new TextEncoder,c=_n.encode(o.encode(JSON.stringify(i)),{includePadding:!1}),l=_n.encode(o.encode(JSON.stringify(s)),{includePadding:!1}),u=o.encode([c,l].join(".")),p=await lv(t).sign(e,u),h=_n.encode(new Uint8Array(p),{includePadding:!1});return[c,l,h].join(".")}function cv(t){const e=t.split(".");return e.length!==3?null:e}function Wl(t){const e=cv(t);if(!e)return null;const n=new TextDecoder,r=_n.decode(e[0],{strict:!1}),i=_n.decode(e[1],{strict:!1}),s=JSON.parse(n.decode(r));if(typeof s!="object"||s===null||!("alg"in s)||!uv(s.alg)||"typ"in s&&s.typ!=="JWT")return null;const o=JSON.parse(n.decode(i));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:t,header:{...s,typ:"JWT",alg:s.alg},payload:{...o},parts:e,...c}}function lv(t){return new ly(dv[t])}function uv(t){return typeof t!="string"?!1:["HS256","HS384","HS512","RS256","RS384","RS512","ES256","ES384","ES512","PS256","PS384","PS512"].includes(t)}const dv={RS256:"SHA-256",RS384:"SHA-384",RS512:"SHA-512"},Ho=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();Ho.omit({iat:!0,auth_time:!0,nonce:!0,acr:!0,amr:!0,azp:!0,at_hash:!0,c_hash:!0});function pv(t){return t.ISSUER}function At(t){return t.UNIVERSAL_LOGIN_URL||`${t.ISSUER}u/`}function Ne(t){return t.OAUTH_API_URL||t.ISSUER}function Sg(t){const{options:e}=t;if(!e||!e.client_id||!e.team_id||!e.kid||!e.app_secret)throw new Error("Missing required Apple authentication parameters");const n=Buffer.from(e.app_secret,"utf-8"),r=n.toString().replace(/-----BEGIN PRIVATE KEY-----|-----END PRIVATE KEY-----|\s/g,""),i=Uint8Array.from(Buffer.from(r,"base64"));return n.fill(0),{options:e,keyArray:i}}async function fv(t,e){var l,u;const{options:n,keyArray:r}=Sg(e),i=new bg(n.client_id,n.team_id,n.kid,r,`${Ne(t.env)}callback`),s=Re(),o=await i.createAuthorizationURL(s,((l=n.scope)==null?void 0:l.split(" "))||["name","email"]);return(((u=n.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 hv(t,e,n){const{options:r,keyArray:i}=Sg(e),o=await new bg(r.client_id,r.team_id,r.kid,i,`${Ne(t.env)}callback`).validateAuthorizationCode(n),c=Wl(o.idToken());if(!c)throw new Error("Invalid ID token");const l=Ho.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 gv=Object.freeze(Object.defineProperty({__proto__:null,getRedirect:fv,validateAuthorizationCodeAndGetUser:hv},Symbol.toStringTag,{value:"Module"}));async function mv(t,e){var o;const{options:n}=e;if(!(n!=null&&n.client_id)||!n.client_secret)throw new Error("Missing required authentication parameters");const r=new kg(n.client_id,n.client_secret,`${Ne(t.env)}callback`),i=Re();return{redirectUrl:r.createAuthorizationURL(i,((o=n.scope)==null?void 0:o.split(" "))||["email"]).href,code:i}}async function _v(t,e,n){const{options:r}=e;if(!(r!=null&&r.client_id)||!r.client_secret)throw new Error("Missing required authentication parameters");const s=await new kg(r.client_id,r.client_secret,`${Ne(t.env)}callback`).validateAuthorizationCode(n),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 t.set("log",`Userinfo: ${JSON.stringify(c)}`),{sub:c.id,email:c.email,name:c.name}}const yv=Object.freeze(Object.defineProperty({__proto__:null,getRedirect:mv,validateAuthorizationCodeAndGetUser:_v},Symbol.toStringTag,{value:"Module"}));async function vv(t,e){var c;const{options:n}=e;if(!(n!=null&&n.client_id)||!n.client_secret)throw new Error("Missing required Google authentication parameters");const r=new xg(n.client_id,n.client_secret,`${Ne(t.env)}callback`),i=Re(),s=Jy();return{redirectUrl:r.createAuthorizationURL(i,s,((c=n.scope)==null?void 0:c.split(" "))??["email","profile"]).href,code:i,codeVerifier:s}}async function wv(t,e,n,r){const{options:i}=e;if(!(i!=null&&i.client_id)||!i.client_secret||!r)throw new Error("Missing required authentication parameters");const o=await new xg(i.client_id,i.client_secret,`${Ne(t.env)}callback`).validateAuthorizationCode(n,r);console.log("got here");const c=Wl(o.idToken());if(!c)throw new Error("Invalid ID token");const l=Ho.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 bv=Object.freeze(Object.defineProperty({__proto__:null,getRedirect:vv,validateAuthorizationCodeAndGetUser:wv},Symbol.toStringTag,{value:"Module"}));async function kv(t,e){var o;const{options:n}=e;if(!(n!=null&&n.client_id)||!n.client_secret)throw new Error("Missing required authentication parameters");const r=new Fl(n.client_id,n.client_secret,`${Ne(t.env)}callback`),i=Re(),s=r.createAuthorizationURL("https://api.vipps.no/access-management-1.0/access/oauth2/auth",i,((o=n.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:i}}async function xv(t,e,n){const{options:r}=e;if(!(r!=null&&r.client_id)||!r.client_secret)throw new Error("Missing required authentication parameters");const s=await new Fl(r.client_id,r.client_secret,`${Ne(t.env)}callback`).validateAuthorizationCode("https://api.vipps.no/access-management-1.0/access/oauth2/token",n,null),o=Wl(s.idToken());if(!o)throw new Error("Invalid ID token");const c=Ho.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 z(400,{message:"Failed to get user from vipps"});return await l.json()}const Sv=Object.freeze(Object.defineProperty({__proto__:null,getRedirect:kv,validateAuthorizationCodeAndGetUser:xv},Symbol.toStringTag,{value:"Module"}));function Ag(t,e){const n=t.env.STRATEGIES||{},i={apple:gv,facebook:yv,"google-oauth2":bv,vipps:Sv,...n}[e];if(!i)throw new Error(`Strategy ${e} not found`);return i}async function Fo(t,e){const n=await t.data.clients.get(e);if(!n)throw new z(403,{message:"Client not found"});const r=t.DEFAULT_CLIENT_ID?await t.data.clients.get(t.DEFAULT_CLIENT_ID):void 0,i=await t.data.connections.list(n.tenant.id),s=t.DEFAULT_TENANT_ID?await t.data.connections.list(t.DEFAULT_TENANT_ID):{connections:[]},o=i.connections.map(c=>{var p;const l=(p=s.connections)==null?void 0:p.find(h=>h.name===c.name);return l!=null&&l.options?Dt.parse({...l||{},...c,options:{...l.options||{},...c.options}}):c}).filter(c=>c);return{...n,web_origins:[...(r==null?void 0:r.web_origins)||[],...n.web_origins||[],`${At(t)}login`],allowed_logout_urls:[...(r==null?void 0:r.allowed_logout_urls)||[],...n.allowed_logout_urls||[],t.ISSUER],callbacks:[...(r==null?void 0:r.callbacks)||[],...n.callbacks||[],`${At(t)}info`],connections:o,tenant:{...(r==null?void 0:r.tenant)||{},...n.tenant}}}function Ko(t,e=[],n={}){try{const r=new URL(t);return e.some(i=>{try{return Av(r,new URL(i),n.allowPathWildcards)}catch{return!1}})}catch{return!1}}function Av(t,e,n){if(t.protocol!==e.protocol)return!1;if(n&&e.pathname.includes("*")){const r=e.pathname.replace(/\*/g,".*").replace(/\//g,"\\/");if(!new RegExp(`^${r}$`).test(t.pathname))return!1}else if(t.pathname!==e.pathname)return!1;if(e.hostname.startsWith("*.")&&e.hostname.split(".").length>2&&["http:","https:"].includes(e.protocol)){const r=e.hostname.split(".").slice(1).join(".");return t.hostname.endsWith(r)}return t.hostname===e.hostname}function Ev(){const t=new Uint8Array(32);return crypto.getRandomValues(t),_n.encode(t,{includePadding:!1})}function Iv(t){try{const n=/-----BEGIN (?:RSA )?(?:PRIVATE|PUBLIC) KEY-----([^-]*)-----END (?:RSA )?(?:PRIVATE|PUBLIC) KEY-----/.exec(t);if(!n||!n[1])throw new Error("Invalid PEM format");return Uint8Array.from(atob(n[1].replace(/\s/g,"")),r=>r.charCodeAt(0)).buffer}finally{t=t.replace(/./g,"\0")}}async function Cv(t,e){if(e==="plain")return t;const n=new TextEncoder().encode(t),r=await hg(n);return _n.encode(new Uint8Array(r),{includePadding:!1})}function Eg(t,e,n){const r=[];return r.push([encodeURIComponent(t),encodeURIComponent(e)]),(n==null?void 0:n.domain)!==void 0&&r.push(["Domain",n.domain]),(n==null?void 0:n.expires)!==void 0&&r.push(["Expires",n.expires.toUTCString()]),n!=null&&n.httpOnly&&r.push(["HttpOnly"]),(n==null?void 0:n.maxAge)!==void 0&&r.push(["Max-Age",n.maxAge.toString()]),(n==null?void 0:n.path)!==void 0&&r.push(["Path",n.path]),(n==null?void 0:n.sameSite)==="lax"&&r.push(["SameSite","Lax"]),(n==null?void 0:n.sameSite)==="none"&&r.push(["SameSite","None"]),(n==null?void 0:n.sameSite)==="strict"&&r.push(["SameSite","Strict"]),n!=null&&n.secure&&r.push(["Secure"]),r.map(i=>i.join("=")).join("; ")}function Nv(t){const e=new Map,n=t.split("; ");for(const r of n){const i=r.split("="),s=i[0],o=i[1]??"";s&&e.set(decodeURIComponent(s),decodeURIComponent(o))}return e}function Gl(t){return`${t}-${By}`}function Hs(t,e){return e?Nv(e).get(Gl(t)):void 0}function zv(t){const e={path:"/",httpOnly:!0,secure:!0,maxAge:0};return Eg(Gl(t),"",{...e,sameSite:"none"})}function Ig(t,e){const n={path:"/",httpOnly:!0,secure:!0,maxAge:Do};return Eg(Gl(t),e,{...n,sameSite:"none"})}var Jl={},Wo={};(function(t){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",n=e+"\\-.\\d\\u00B7\\u0300-\\u036F\\u203F-\\u2040",r="["+e+"]["+n+"]*",i=new RegExp("^"+r+"$"),s=function(c,l){const u=[];let p=l.exec(c);for(;p;){const h=[];h.startIndex=l.lastIndex-p[0].length;const m=p.length;for(let v=0;v<m;v++)h.push(p[v]);u.push(h),p=l.exec(c)}return u},o=function(c){const l=i.exec(c);return!(l===null||typeof l>"u")};t.isExist=function(c){return typeof c<"u"},t.isEmptyObject=function(c){return Object.keys(c).length===0},t.merge=function(c,l,u){if(l){const p=Object.keys(l),h=p.length;for(let m=0;m<h;m++)u==="strict"?c[p[m]]=[l[p[m]]]:c[p[m]]=l[p[m]]}},t.getValue=function(c){return t.isExist(c)?c:""},t.isName=o,t.getAllMatches=s,t.nameRegexp=r})(Wo);const Zl=Wo,$v={allowBooleanAttributes:!1,unpairedTags:[]};Jl.validate=function(t,e){e=Object.assign({},$v,e);const n=[];let r=!1,i=!1;t[0]==="\uFEFF"&&(t=t.substr(1));for(let s=0;s<t.length;s++)if(t[s]==="<"&&t[s+1]==="?"){if(s+=2,s=kp(t,s),s.err)return s}else if(t[s]==="<"){let o=s;if(s++,t[s]==="!"){s=xp(t,s);continue}else{let c=!1;t[s]==="/"&&(c=!0,s++);let l="";for(;s<t.length&&t[s]!==">"&&t[s]!==" "&&t[s]!==" "&&t[s]!==`
|
|
126
126
|
`&&t[s]!=="\r";s++)l+=t[s];if(l=l.trim(),l[l.length-1]==="/"&&(l=l.substring(0,l.length-1),s--),!Uv(l)){let h;return l.trim().length===0?h="Invalid space after '<'.":h="Tag '"+l+"' is an invalid name.",we("InvalidTag",h,Pe(t,s))}const u=Bv(t,s);if(u===!1)return we("InvalidAttr","Attributes for '"+l+"' have open quote.",Pe(t,s));let p=u.value;if(s=u.index,p[p.length-1]==="/"){const h=s-p.length;p=p.substring(0,p.length-1);const m=Sp(p,e);if(m===!0)r=!0;else return we(m.err.code,m.err.msg,Pe(t,h+m.err.line))}else if(c)if(u.tagClosed){if(p.trim().length>0)return we("InvalidTag","Closing tag '"+l+"' can't have attributes or invalid starting.",Pe(t,o));if(n.length===0)return we("InvalidTag","Closing tag '"+l+"' has not been opened.",Pe(t,o));{const h=n.pop();if(l!==h.tagName){let m=Pe(t,h.tagStartPos);return we("InvalidTag","Expected closing tag '"+h.tagName+"' (opened in line "+m.line+", col "+m.col+") instead of closing tag '"+l+"'.",Pe(t,o))}n.length==0&&(i=!0)}}else return we("InvalidTag","Closing tag '"+l+"' doesn't have proper closing.",Pe(t,s));else{const h=Sp(p,e);if(h!==!0)return we(h.err.code,h.err.msg,Pe(t,s-p.length+h.err.line));if(i===!0)return we("InvalidXml","Multiple possible root nodes found.",Pe(t,s));e.unpairedTags.indexOf(l)!==-1||n.push({tagName:l,tagStartPos:o}),r=!0}for(s++;s<t.length;s++)if(t[s]==="<")if(t[s+1]==="!"){s++,s=xp(t,s);continue}else if(t[s+1]==="?"){if(s=kp(t,++s),s.err)return s}else break;else if(t[s]==="&"){const h=Rv(t,s);if(h==-1)return we("InvalidChar","char '&' is not expected.",Pe(t,s));s=h}else if(i===!0&&!bp(t[s]))return we("InvalidXml","Extra text at the end",Pe(t,s));t[s]==="<"&&s--}}else{if(bp(t[s]))continue;return we("InvalidChar","char '"+t[s]+"' is not expected.",Pe(t,s))}if(r){if(n.length==1)return we("InvalidTag","Unclosed tag '"+n[0].tagName+"'.",Pe(t,n[0].tagStartPos));if(n.length>0)return we("InvalidXml","Invalid '"+JSON.stringify(n.map(s=>s.tagName),null,4).replace(/\r?\n/g,"")+"' found.",{line:1,col:1})}else return we("InvalidXml","Start tag expected.",1);return!0};function bp(t){return t===" "||t===" "||t===`
|
|
127
|
-
`||t==="\r"}function kp(t,e){const n=e;for(;e<t.length;e++)if(t[e]=="?"||t[e]==" "){const r=t.substr(n,e-n);if(e>5&&r==="xml")return we("InvalidXml","XML declaration allowed only at the start of the document.",Pe(t,e));if(t[e]=="?"&&t[e+1]==">"){e++;break}else continue}return e}function xp(t,e){if(t.length>e+5&&t[e+1]==="-"&&t[e+2]==="-"){for(e+=3;e<t.length;e++)if(t[e]==="-"&&t[e+1]==="-"&&t[e+2]===">"){e+=2;break}}else if(t.length>e+8&&t[e+1]==="D"&&t[e+2]==="O"&&t[e+3]==="C"&&t[e+4]==="T"&&t[e+5]==="Y"&&t[e+6]==="P"&&t[e+7]==="E"){let n=1;for(e+=8;e<t.length;e++)if(t[e]==="<")n++;else if(t[e]===">"&&(n--,n===0))break}else if(t.length>e+9&&t[e+1]==="["&&t[e+2]==="C"&&t[e+3]==="D"&&t[e+4]==="A"&&t[e+5]==="T"&&t[e+6]==="A"&&t[e+7]==="["){for(e+=8;e<t.length;e++)if(t[e]==="]"&&t[e+1]==="]"&&t[e+2]===">"){e+=2;break}}return e}const jv='"',Ov="'";function Bv(t,e){let n="",r="",i=!1;for(;e<t.length;e++){if(t[e]===jv||t[e]===Ov)r===""?r=t[e]:r!==t[e]||(r="");else if(t[e]===">"&&r===""){i=!0;break}n+=t[e]}return r!==""?!1:{value:n,index:e,tagClosed:i}}const Tv=new RegExp(`(\\s*)([^\\s=]+)(\\s*=)?(\\s*(['"])(([\\s\\S])*?)\\5)?`,"g");function Sp(t,e){const n=Zl.getAllMatches(t,Tv),r={};for(let i=0;i<n.length;i++){if(n[i][1].length===0)return we("InvalidAttr","Attribute '"+n[i][2]+"' has no space in starting.",Ar(n[i]));if(n[i][3]!==void 0&&n[i][4]===void 0)return we("InvalidAttr","Attribute '"+n[i][2]+"' is without value.",Ar(n[i]));if(n[i][3]===void 0&&!e.allowBooleanAttributes)return we("InvalidAttr","boolean attribute '"+n[i][2]+"' is not allowed.",Ar(n[i]));const s=n[i][2];if(!Lv(s))return we("InvalidAttr","Attribute '"+s+"' is an invalid name.",Ar(n[i]));if(!r.hasOwnProperty(s))r[s]=1;else return we("InvalidAttr","Attribute '"+s+"' is repeated.",Ar(n[i]))}return!0}function Pv(t,e){let n=/\d/;for(t[e]==="x"&&(e++,n=/[\da-fA-F]/);e<t.length;e++){if(t[e]===";")return e;if(!t[e].match(n))break}return-1}function Rv(t,e){if(e++,t[e]===";")return-1;if(t[e]==="#")return e++,Pv(t,e);let n=0;for(;e<t.length;e++,n++)if(!(t[e].match(/\w/)&&n<20)){if(t[e]===";")break;return-1}return e}function we(t,e,n){return{err:{code:t,msg:e,line:n.line||n,col:n.col}}}function Lv(t){return Zl.isName(t)}function Uv(t){return Zl.isName(t)}function Pe(t,e){const n=t.substring(0,e).split(/\r?\n/);return{line:n.length,col:n[n.length-1].length+1}}function Ar(t){return t.startIndex+t[1].length}var Yl={};const Cg={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(t,e){return e},attributeValueProcessor:function(t,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(t,e,n){return t}},Vv=function(t){return Object.assign({},Cg,t)};Yl.buildOptions=Vv;Yl.defaultOptions=Cg;class Mv{constructor(e){this.tagname=e,this.child=[],this[":@"]={}}add(e,n){e==="__proto__"&&(e="#__proto__"),this.child.push({[e]:n})}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 qv=Mv;const Dv=
|
|
128
|
-
`);const e=new Er("!xml");let n=e,r="",i="";for(let s=0;s<t.length;s++)if(t[s]==="<")if(t[s+1]==="/"){const c=hn(t,">",s,"Closing Tag is not closed.");let l=t.substring(s+2,c).trim();if(this.options.removeNSPrefix){const h=l.indexOf(":");h!==-1&&(l=l.substr(h+1))}this.options.transformTagName&&(l=this.options.transformTagName(l)),n&&(r=this.saveTextToParentTag(r,n,i));const u=i.substring(i.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=i.lastIndexOf(".",i.lastIndexOf(".")-1),this.tagsNodeStack.pop()):p=i.lastIndexOf("."),i=i.substring(0,p),n=this.tagsNodeStack.pop(),r="",s=c}else if(t[s+1]==="?"){let c=
|
|
127
|
+
`||t==="\r"}function kp(t,e){const n=e;for(;e<t.length;e++)if(t[e]=="?"||t[e]==" "){const r=t.substr(n,e-n);if(e>5&&r==="xml")return we("InvalidXml","XML declaration allowed only at the start of the document.",Pe(t,e));if(t[e]=="?"&&t[e+1]==">"){e++;break}else continue}return e}function xp(t,e){if(t.length>e+5&&t[e+1]==="-"&&t[e+2]==="-"){for(e+=3;e<t.length;e++)if(t[e]==="-"&&t[e+1]==="-"&&t[e+2]===">"){e+=2;break}}else if(t.length>e+8&&t[e+1]==="D"&&t[e+2]==="O"&&t[e+3]==="C"&&t[e+4]==="T"&&t[e+5]==="Y"&&t[e+6]==="P"&&t[e+7]==="E"){let n=1;for(e+=8;e<t.length;e++)if(t[e]==="<")n++;else if(t[e]===">"&&(n--,n===0))break}else if(t.length>e+9&&t[e+1]==="["&&t[e+2]==="C"&&t[e+3]==="D"&&t[e+4]==="A"&&t[e+5]==="T"&&t[e+6]==="A"&&t[e+7]==="["){for(e+=8;e<t.length;e++)if(t[e]==="]"&&t[e+1]==="]"&&t[e+2]===">"){e+=2;break}}return e}const jv='"',Ov="'";function Bv(t,e){let n="",r="",i=!1;for(;e<t.length;e++){if(t[e]===jv||t[e]===Ov)r===""?r=t[e]:r!==t[e]||(r="");else if(t[e]===">"&&r===""){i=!0;break}n+=t[e]}return r!==""?!1:{value:n,index:e,tagClosed:i}}const Tv=new RegExp(`(\\s*)([^\\s=]+)(\\s*=)?(\\s*(['"])(([\\s\\S])*?)\\5)?`,"g");function Sp(t,e){const n=Zl.getAllMatches(t,Tv),r={};for(let i=0;i<n.length;i++){if(n[i][1].length===0)return we("InvalidAttr","Attribute '"+n[i][2]+"' has no space in starting.",Ar(n[i]));if(n[i][3]!==void 0&&n[i][4]===void 0)return we("InvalidAttr","Attribute '"+n[i][2]+"' is without value.",Ar(n[i]));if(n[i][3]===void 0&&!e.allowBooleanAttributes)return we("InvalidAttr","boolean attribute '"+n[i][2]+"' is not allowed.",Ar(n[i]));const s=n[i][2];if(!Lv(s))return we("InvalidAttr","Attribute '"+s+"' is an invalid name.",Ar(n[i]));if(!r.hasOwnProperty(s))r[s]=1;else return we("InvalidAttr","Attribute '"+s+"' is repeated.",Ar(n[i]))}return!0}function Pv(t,e){let n=/\d/;for(t[e]==="x"&&(e++,n=/[\da-fA-F]/);e<t.length;e++){if(t[e]===";")return e;if(!t[e].match(n))break}return-1}function Rv(t,e){if(e++,t[e]===";")return-1;if(t[e]==="#")return e++,Pv(t,e);let n=0;for(;e<t.length;e++,n++)if(!(t[e].match(/\w/)&&n<20)){if(t[e]===";")break;return-1}return e}function we(t,e,n){return{err:{code:t,msg:e,line:n.line||n,col:n.col}}}function Lv(t){return Zl.isName(t)}function Uv(t){return Zl.isName(t)}function Pe(t,e){const n=t.substring(0,e).split(/\r?\n/);return{line:n.length,col:n[n.length-1].length+1}}function Ar(t){return t.startIndex+t[1].length}var Yl={};const Cg={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(t,e){return e},attributeValueProcessor:function(t,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(t,e,n){return t}},Vv=function(t){return Object.assign({},Cg,t)};Yl.buildOptions=Vv;Yl.defaultOptions=Cg;class Mv{constructor(e){this.tagname=e,this.child=[],this[":@"]={}}add(e,n){e==="__proto__"&&(e="#__proto__"),this.child.push({[e]:n})}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 qv=Mv;const Dv=Wo;function Hv(t,e){const n={};if(t[e+3]==="O"&&t[e+4]==="C"&&t[e+5]==="T"&&t[e+6]==="Y"&&t[e+7]==="P"&&t[e+8]==="E"){e=e+9;let r=1,i=!1,s=!1,o="";for(;e<t.length;e++)if(t[e]==="<"&&!s){if(i&&Wv(t,e)){e+=7;let c,l;[c,l,e]=Fv(t,e+1),l.indexOf("&")===-1&&(n[Yv(c)]={regx:RegExp(`&${c};`,"g"),val:l})}else if(i&&Gv(t,e))e+=8;else if(i&&Jv(t,e))e+=8;else if(i&&Zv(t,e))e+=9;else if(Kv)s=!0;else throw new Error("Invalid DOCTYPE");r++,o=""}else if(t[e]===">"){if(s?t[e-1]==="-"&&t[e-2]==="-"&&(s=!1,r--):r--,r===0)break}else t[e]==="["?i=!0:o+=t[e];if(r!==0)throw new Error("Unclosed DOCTYPE")}else throw new Error("Invalid Tag instead of DOCTYPE");return{entities:n,i:e}}function Fv(t,e){let n="";for(;e<t.length&&t[e]!=="'"&&t[e]!=='"';e++)n+=t[e];if(n=n.trim(),n.indexOf(" ")!==-1)throw new Error("External entites are not supported");const r=t[e++];let i="";for(;e<t.length&&t[e]!==r;e++)i+=t[e];return[n,i,e]}function Kv(t,e){return t[e+1]==="!"&&t[e+2]==="-"&&t[e+3]==="-"}function Wv(t,e){return t[e+1]==="!"&&t[e+2]==="E"&&t[e+3]==="N"&&t[e+4]==="T"&&t[e+5]==="I"&&t[e+6]==="T"&&t[e+7]==="Y"}function Gv(t,e){return t[e+1]==="!"&&t[e+2]==="E"&&t[e+3]==="L"&&t[e+4]==="E"&&t[e+5]==="M"&&t[e+6]==="E"&&t[e+7]==="N"&&t[e+8]==="T"}function Jv(t,e){return t[e+1]==="!"&&t[e+2]==="A"&&t[e+3]==="T"&&t[e+4]==="T"&&t[e+5]==="L"&&t[e+6]==="I"&&t[e+7]==="S"&&t[e+8]==="T"}function Zv(t,e){return t[e+1]==="!"&&t[e+2]==="N"&&t[e+3]==="O"&&t[e+4]==="T"&&t[e+5]==="A"&&t[e+6]==="T"&&t[e+7]==="I"&&t[e+8]==="O"&&t[e+9]==="N"}function Yv(t){if(Dv.isName(t))return t;throw new Error(`Invalid entity name ${t}`)}var Xv=Hv;const Qv=/^[-+]?0x[a-fA-F0-9]+$/,ew=/^([\-\+])?(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 tw={hex:!0,leadingZeros:!0,decimalPoint:".",eNotation:!0};function nw(t,e={}){if(e=Object.assign({},tw,e),!t||typeof t!="string")return t;let n=t.trim();if(e.skipLike!==void 0&&e.skipLike.test(n))return t;if(e.hex&&Qv.test(n))return Number.parseInt(n,16);{const r=ew.exec(n);if(r){const i=r[1],s=r[2];let o=rw(r[3]);const c=r[4]||r[6];if(!e.leadingZeros&&s.length>0&&i&&n[2]!==".")return t;if(!e.leadingZeros&&s.length>0&&!i&&n[1]!==".")return t;{const l=Number(n),u=""+l;return u.search(/[eE]/)!==-1||c?e.eNotation?l:t:n.indexOf(".")!==-1?u==="0"&&o===""||u===o||i&&u==="-"+o?l:t:s?o===u||i+o===u?l:t:n===u||n===i+u?l:t}}else return t}}function rw(t){return t&&t.indexOf(".")!==-1&&(t=t.replace(/0+$/,""),t==="."?t="0":t[0]==="."?t="0"+t:t[t.length-1]==="."&&(t=t.substr(0,t.length-1))),t}var iw=nw;function sw(t){return typeof t=="function"?t:Array.isArray(t)?e=>{for(const n of t)if(typeof n=="string"&&e===n||n instanceof RegExp&&n.test(e))return!0}:()=>!1}var Ng=sw;const zg=Wo,Er=qv,ow=Xv,aw=iw,cw=Ng;let lw=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:(n,r)=>String.fromCharCode(Number.parseInt(r,10))},num_hex:{regex:/&#x([0-9a-fA-F]{1,6});/g,val:(n,r)=>String.fromCharCode(Number.parseInt(r,16))}},this.addExternalEntities=uw,this.parseXml=gw,this.parseTextData=dw,this.resolveNameSpace=pw,this.buildAttributesMap=hw,this.isItStopNode=vw,this.replaceEntitiesValue=_w,this.readStopNodeData=bw,this.saveTextToParentTag=yw,this.addChild=mw,this.ignoreAttributesFn=cw(this.options.ignoreAttributes)}};function uw(t){const e=Object.keys(t);for(let n=0;n<e.length;n++){const r=e[n];this.lastEntities[r]={regex:new RegExp("&"+r+";","g"),val:t[r]}}}function dw(t,e,n,r,i,s,o){if(t!==void 0&&(this.options.trimValues&&!r&&(t=t.trim()),t.length>0)){o||(t=this.replaceEntitiesValue(t));const c=this.options.tagValueProcessor(e,t,n,i,s);return c==null?t:typeof c!=typeof t||c!==t?c:this.options.trimValues?Wc(t,this.options.parseTagValue,this.options.numberParseOptions):t.trim()===t?Wc(t,this.options.parseTagValue,this.options.numberParseOptions):t}}function pw(t){if(this.options.removeNSPrefix){const e=t.split(":"),n=t.charAt(0)==="/"?"/":"";if(e[0]==="xmlns")return"";e.length===2&&(t=n+e[1])}return t}const fw=new RegExp(`([^\\s=]+)\\s*(=\\s*(['"])([\\s\\S]*?)\\3)?`,"gm");function hw(t,e,n){if(this.options.ignoreAttributes!==!0&&typeof t=="string"){const r=zg.getAllMatches(t,fw),i=r.length,s={};for(let o=0;o<i;o++){const c=this.resolveNameSpace(r[o][1]);if(this.ignoreAttributesFn(c,e))continue;let l=r[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]=Wc(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 gw=function(t){t=t.replace(/\r\n?/g,`
|
|
128
|
+
`);const e=new Er("!xml");let n=e,r="",i="";for(let s=0;s<t.length;s++)if(t[s]==="<")if(t[s+1]==="/"){const c=hn(t,">",s,"Closing Tag is not closed.");let l=t.substring(s+2,c).trim();if(this.options.removeNSPrefix){const h=l.indexOf(":");h!==-1&&(l=l.substr(h+1))}this.options.transformTagName&&(l=this.options.transformTagName(l)),n&&(r=this.saveTextToParentTag(r,n,i));const u=i.substring(i.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=i.lastIndexOf(".",i.lastIndexOf(".")-1),this.tagsNodeStack.pop()):p=i.lastIndexOf("."),i=i.substring(0,p),n=this.tagsNodeStack.pop(),r="",s=c}else if(t[s+1]==="?"){let c=Kc(t,s,!1,"?>");if(!c)throw new Error("Pi Tag is not closed.");if(r=this.saveTextToParentTag(r,n,i),!(this.options.ignoreDeclaration&&c.tagName==="?xml"||this.options.ignorePiTags)){const l=new Er(c.tagName);l.add(this.options.textNodeName,""),c.tagName!==c.tagExp&&c.attrExpPresent&&(l[":@"]=this.buildAttributesMap(c.tagExp,i,c.tagName)),this.addChild(n,l,i)}s=c.closeIndex+1}else if(t.substr(s+1,3)==="!--"){const c=hn(t,"-->",s+4,"Comment is not closed.");if(this.options.commentPropName){const l=t.substring(s+4,c-2);r=this.saveTextToParentTag(r,n,i),n.add(this.options.commentPropName,[{[this.options.textNodeName]:l}])}s=c}else if(t.substr(s+1,2)==="!D"){const c=ow(t,s);this.docTypeEntities=c.entities,s=c.i}else if(t.substr(s+1,2)==="!["){const c=hn(t,"]]>",s,"CDATA is not closed.")-2,l=t.substring(s+9,c);r=this.saveTextToParentTag(r,n,i);let u=this.parseTextData(l,n.tagname,i,!0,!1,!0,!0);u==null&&(u=""),this.options.cdataPropName?n.add(this.options.cdataPropName,[{[this.options.textNodeName]:l}]):n.add(this.options.textNodeName,u),s=c+2}else{let c=Kc(t,s,this.options.removeNSPrefix),l=c.tagName;const u=c.rawTagName;let p=c.tagExp,h=c.attrExpPresent,m=c.closeIndex;this.options.transformTagName&&(l=this.options.transformTagName(l)),n&&r&&n.tagname!=="!xml"&&(r=this.saveTextToParentTag(r,n,i,!1));const v=n;if(v&&this.options.unpairedTags.indexOf(v.tagname)!==-1&&(n=this.tagsNodeStack.pop(),i=i.substring(0,i.lastIndexOf("."))),l!==e.tagname&&(i+=i?"."+l:l),this.isItStopNode(this.options.stopNodes,i,l)){let f="";if(p.length>0&&p.lastIndexOf("/")===p.length-1)l[l.length-1]==="/"?(l=l.substr(0,l.length-1),i=i.substr(0,i.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 w=this.readStopNodeData(t,u,m+1);if(!w)throw new Error(`Unexpected end of ${u}`);s=w.i,f=w.tagContent}const _=new Er(l);l!==p&&h&&(_[":@"]=this.buildAttributesMap(p,i,l)),f&&(f=this.parseTextData(f,l,i,!0,h,!0,!0)),i=i.substr(0,i.lastIndexOf(".")),_.add(this.options.textNodeName,f),this.addChild(n,_,i)}else{if(p.length>0&&p.lastIndexOf("/")===p.length-1){l[l.length-1]==="/"?(l=l.substr(0,l.length-1),i=i.substr(0,i.length-1),p=l):p=p.substr(0,p.length-1),this.options.transformTagName&&(l=this.options.transformTagName(l));const f=new Er(l);l!==p&&h&&(f[":@"]=this.buildAttributesMap(p,i,l)),this.addChild(n,f,i),i=i.substr(0,i.lastIndexOf("."))}else{const f=new Er(l);this.tagsNodeStack.push(n),l!==p&&h&&(f[":@"]=this.buildAttributesMap(p,i,l)),this.addChild(n,f,i),n=f}r="",s=m}}else r+=t[s];return e.child};function mw(t,e,n){const r=this.options.updateTag(e.tagname,n,e[":@"]);r===!1||(typeof r=="string"&&(e.tagname=r),t.addChild(e))}const _w=function(t){if(this.options.processEntities){for(let e in this.docTypeEntities){const n=this.docTypeEntities[e];t=t.replace(n.regx,n.val)}for(let e in this.lastEntities){const n=this.lastEntities[e];t=t.replace(n.regex,n.val)}if(this.options.htmlEntities)for(let e in this.htmlEntities){const n=this.htmlEntities[e];t=t.replace(n.regex,n.val)}t=t.replace(this.ampEntity.regex,this.ampEntity.val)}return t};function yw(t,e,n,r){return t&&(r===void 0&&(r=Object.keys(e.child).length===0),t=this.parseTextData(t,e.tagname,n,!1,e[":@"]?Object.keys(e[":@"]).length!==0:!1,r),t!==void 0&&t!==""&&e.add(this.options.textNodeName,t),t=""),t}function vw(t,e,n){const r="*."+n;for(const i in t){const s=t[i];if(r===s||e===s)return!0}return!1}function ww(t,e,n=">"){let r,i="";for(let s=e;s<t.length;s++){let o=t[s];if(r)o===r&&(r="");else if(o==='"'||o==="'")r=o;else if(o===n[0])if(n[1]){if(t[s+1]===n[1])return{data:i,index:s}}else return{data:i,index:s};else o===" "&&(o=" ");i+=o}}function hn(t,e,n,r){const i=t.indexOf(e,n);if(i===-1)throw new Error(r);return i+e.length-1}function Kc(t,e,n,r=">"){const i=ww(t,e+1,r);if(!i)return;let s=i.data;const o=i.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(n){const h=l.indexOf(":");h!==-1&&(l=l.substr(h+1),u=l!==i.data.substr(h+1))}return{tagName:l,tagExp:s,closeIndex:o,attrExpPresent:u,rawTagName:p}}function bw(t,e,n){const r=n;let i=1;for(;n<t.length;n++)if(t[n]==="<")if(t[n+1]==="/"){const s=hn(t,">",n,`${e} is not closed`);if(t.substring(n+2,s).trim()===e&&(i--,i===0))return{tagContent:t.substring(r,n),i:s};n=s}else if(t[n+1]==="?")n=hn(t,"?>",n+1,"StopNode is not closed.");else if(t.substr(n+1,3)==="!--")n=hn(t,"-->",n+3,"StopNode is not closed.");else if(t.substr(n+1,2)==="![")n=hn(t,"]]>",n,"StopNode is not closed.")-2;else{const s=Kc(t,n,">");s&&((s&&s.tagName)===e&&s.tagExp[s.tagExp.length-1]!=="/"&&i++,n=s.closeIndex)}}function Wc(t,e,n){if(e&&typeof t=="string"){const r=t.trim();return r==="true"?!0:r==="false"?!1:aw(t,n)}else return zg.isExist(t)?t:""}var kw=lw,$g={};function xw(t,e){return jg(t,e)}function jg(t,e,n){let r;const i={};for(let s=0;s<t.length;s++){const o=t[s],c=Sw(o);let l="";if(n===void 0?l=c:l=n+"."+c,c===e.textNodeName)r===void 0?r=o[c]:r+=""+o[c];else{if(c===void 0)continue;if(o[c]){let u=jg(o[c],e,l);const p=Ew(u,e);o[":@"]?Aw(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=""),i[c]!==void 0&&i.hasOwnProperty(c)?(Array.isArray(i[c])||(i[c]=[i[c]]),i[c].push(u)):e.isArray(c,l,p)?i[c]=[u]:i[c]=u}}}return typeof r=="string"?r.length>0&&(i[e.textNodeName]=r):r!==void 0&&(i[e.textNodeName]=r),i}function Sw(t){const e=Object.keys(t);for(let n=0;n<e.length;n++){const r=e[n];if(r!==":@")return r}}function Aw(t,e,n,r){if(e){const i=Object.keys(e),s=i.length;for(let o=0;o<s;o++){const c=i[o];r.isArray(c,n+"."+c,!0,!0)?t[c]=[e[c]]:t[c]=e[c]}}}function Ew(t,e){const{textNodeName:n}=e,r=Object.keys(t).length;return!!(r===0||r===1&&(t[n]||typeof t[n]=="boolean"||t[n]===0))}$g.prettify=xw;const{buildOptions:Iw}=Yl,Cw=kw,{prettify:Nw}=$g,zw=Jl;let $w=class{constructor(e){this.externalEntities={},this.options=Iw(e)}parse(e,n){if(typeof e!="string")if(e.toString)e=e.toString();else throw new Error("XML data is accepted in String or Bytes[] form.");if(n){n===!0&&(n={});const s=zw.validate(e,n);if(s!==!0)throw Error(`${s.err.msg}:${s.err.line}:${s.err.col}`)}const r=new Cw(this.options);r.addExternalEntities(this.externalEntities);const i=r.parseXml(e);return this.options.preserveOrder||i===void 0?i:Nw(i,this.options)}addEntity(e,n){if(n.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(n==="&")throw new Error("An entity with value '&' is not permitted");this.externalEntities[e]=n}};var jw=$w;const Ow=`
|
|
129
129
|
`;function Bw(t,e){let n="";return e.format&&e.indentBy.length>0&&(n=Ow),Og(t,e,"",n)}function Og(t,e,n,r){let i="",s=!1;for(let o=0;o<t.length;o++){const c=t[o],l=Tw(c);if(l===void 0)continue;let u="";if(n.length===0?u=l:u=`${n}.${l}`,l===e.textNodeName){let f=c[l];Pw(u,e)||(f=e.tagValueProcessor(l,f),f=Bg(f,e)),s&&(i+=r),i+=f,s=!1;continue}else if(l===e.cdataPropName){s&&(i+=r),i+=`<![CDATA[${c[l][0][e.textNodeName]}]]>`,s=!1;continue}else if(l===e.commentPropName){i+=r+`<!--${c[l][0][e.textNodeName]}-->`,s=!0;continue}else if(l[0]==="?"){const f=Ap(c[":@"],e),_=l==="?xml"?"":r;let w=c[l][0][e.textNodeName];w=w.length!==0?" "+w:"",i+=_+`<${l}${w}${f}?>`,s=!0;continue}let p=r;p!==""&&(p+=e.indentBy);const h=Ap(c[":@"],e),m=r+`<${l}${h}`,v=Og(c[l],e,u,p);e.unpairedTags.indexOf(l)!==-1?e.suppressUnpairedNode?i+=m+">":i+=m+"/>":(!v||v.length===0)&&e.suppressEmptyNode?i+=m+"/>":v&&v.endsWith(">")?i+=m+`>${v}${r}</${l}>`:(i+=m+">",v&&r!==""&&(v.includes("/>")||v.includes("</"))?i+=r+e.indentBy+v+r:i+=v,i+=`</${l}>`),s=!0}return i}function Tw(t){const e=Object.keys(t);for(let n=0;n<e.length;n++){const r=e[n];if(t.hasOwnProperty(r)&&r!==":@")return r}}function Ap(t,e){let n="";if(t&&!e.ignoreAttributes)for(let r in t){if(!t.hasOwnProperty(r))continue;let i=e.attributeValueProcessor(r,t[r]);i=Bg(i,e),i===!0&&e.suppressBooleanAttributes?n+=` ${r.substr(e.attributeNamePrefix.length)}`:n+=` ${r.substr(e.attributeNamePrefix.length)}="${i}"`}return n}function Pw(t,e){t=t.substr(0,t.length-e.textNodeName.length-1);let n=t.substr(t.lastIndexOf(".")+1);for(let r in e.stopNodes)if(e.stopNodes[r]===t||e.stopNodes[r]==="*."+n)return!0;return!1}function Bg(t,e){if(t&&t.length>0&&e.processEntities)for(let n=0;n<e.entities.length;n++){const r=e.entities[n];t=t.replace(r.regex,r.val)}return t}var Rw=Bw;const Lw=Rw,Uw=Ng,Vw={attributeNamePrefix:"@_",attributesGroupName:!1,textNodeName:"#text",ignoreAttributes:!0,cdataPropName:!1,format:!1,indentBy:" ",suppressEmptyNode:!1,suppressUnpairedNode:!0,suppressBooleanAttributes:!0,tagValueProcessor:function(t,e){return e},attributeValueProcessor:function(t,e){return e},preserveOrder:!1,commentPropName:!1,unpairedTags:[],entities:[{regex:new RegExp("&","g"),val:"&"},{regex:new RegExp(">","g"),val:">"},{regex:new RegExp("<","g"),val:"<"},{regex:new RegExp("'","g"),val:"'"},{regex:new RegExp('"',"g"),val:"""}],processEntities:!0,stopNodes:[],oneListGroup:!1};function on(t){this.options=Object.assign({},Vw,t),this.options.ignoreAttributes===!0||this.options.attributesGroupName?this.isAttribute=function(){return!1}:(this.ignoreAttributesFn=Uw(this.options.ignoreAttributes),this.attrPrefixLen=this.options.attributeNamePrefix.length,this.isAttribute=Dw),this.processTextOrObjNode=Mw,this.options.format?(this.indentate=qw,this.tagEndChar=`>
|
|
130
130
|
`,this.newLine=`
|
|
131
131
|
`):(this.indentate=function(){return""},this.tagEndChar=">",this.newLine="")}on.prototype.build=function(t){return this.options.preserveOrder?Lw(t,this.options):(Array.isArray(t)&&this.options.arrayNodeName&&this.options.arrayNodeName.length>1&&(t={[this.options.arrayNodeName]:t}),this.j2x(t,0,[]).val)};on.prototype.j2x=function(t,e,n){let r="",i="";const s=n.join(".");for(let o in t)if(Object.prototype.hasOwnProperty.call(t,o))if(typeof t[o]>"u")this.isAttribute(o)&&(i+="");else if(t[o]===null)this.isAttribute(o)?i+="":o[0]==="?"?i+=this.indentate(e)+"<"+o+"?"+this.tagEndChar:i+=this.indentate(e)+"<"+o+"/"+this.tagEndChar;else if(t[o]instanceof Date)i+=this.buildTextValNode(t[o],o,"",e);else if(typeof t[o]!="object"){const c=this.isAttribute(o);if(c&&!this.ignoreAttributesFn(c,s))r+=this.buildAttrPairStr(c,""+t[o]);else if(!c)if(o===this.options.textNodeName){let l=this.options.tagValueProcessor(o,""+t[o]);i+=this.replaceEntitiesValue(l)}else i+=this.buildTextValNode(t[o],o,"",e)}else if(Array.isArray(t[o])){const c=t[o].length;let l="",u="";for(let p=0;p<c;p++){const h=t[o][p];if(!(typeof h>"u"))if(h===null)o[0]==="?"?i+=this.indentate(e)+"<"+o+"?"+this.tagEndChar:i+=this.indentate(e)+"<"+o+"/"+this.tagEndChar;else if(typeof h=="object")if(this.options.oneListGroup){const m=this.j2x(h,e+1,n.concat(o));l+=m.val,this.options.attributesGroupName&&h.hasOwnProperty(this.options.attributesGroupName)&&(u+=m.attrStr)}else l+=this.processTextOrObjNode(h,o,e,n);else if(this.options.oneListGroup){let m=this.options.tagValueProcessor(o,h);m=this.replaceEntitiesValue(m),l+=m}else l+=this.buildTextValNode(h,o,"",e)}this.options.oneListGroup&&(l=this.buildObjectNode(l,o,u,e)),i+=l}else if(this.options.attributesGroupName&&o===this.options.attributesGroupName){const c=Object.keys(t[o]),l=c.length;for(let u=0;u<l;u++)r+=this.buildAttrPairStr(c[u],""+t[o][c[u]])}else i+=this.processTextOrObjNode(t[o],o,e,n);return{attrStr:r,val:i}};on.prototype.buildAttrPairStr=function(t,e){return e=this.options.attributeValueProcessor(t,""+e),e=this.replaceEntitiesValue(e),this.options.suppressBooleanAttributes&&e==="true"?" "+t:" "+t+'="'+e+'"'};function Mw(t,e,n,r){const i=this.j2x(t,n+1,r.concat(e));return t[this.options.textNodeName]!==void 0&&Object.keys(t).length===1?this.buildTextValNode(t[this.options.textNodeName],e,i.attrStr,n):this.buildObjectNode(i.val,e,i.attrStr,n)}on.prototype.buildObjectNode=function(t,e,n,r){if(t==="")return e[0]==="?"?this.indentate(r)+"<"+e+n+"?"+this.tagEndChar:this.indentate(r)+"<"+e+n+this.closeTag(e)+this.tagEndChar;{let i="</"+e+this.tagEndChar,s="";return e[0]==="?"&&(s="?",i=""),(n||n==="")&&t.indexOf("<")===-1?this.indentate(r)+"<"+e+n+s+">"+t+i:this.options.commentPropName!==!1&&e===this.options.commentPropName&&s.length===0?this.indentate(r)+`<!--${t}-->`+this.newLine:this.indentate(r)+"<"+e+n+s+this.tagEndChar+t+this.indentate(r)+i}};on.prototype.closeTag=function(t){let e="";return this.options.unpairedTags.indexOf(t)!==-1?this.options.suppressUnpairedNode||(e="/"):this.options.suppressEmptyNode?e="/":e=`></${t}`,e};on.prototype.buildTextValNode=function(t,e,n,r){if(this.options.cdataPropName!==!1&&e===this.options.cdataPropName)return this.indentate(r)+`<![CDATA[${t}]]>`+this.newLine;if(this.options.commentPropName!==!1&&e===this.options.commentPropName)return this.indentate(r)+`<!--${t}-->`+this.newLine;if(e[0]==="?")return this.indentate(r)+"<"+e+n+"?"+this.tagEndChar;{let i=this.options.tagValueProcessor(e,t);return i=this.replaceEntitiesValue(i),i===""?this.indentate(r)+"<"+e+n+this.closeTag(e)+this.tagEndChar:this.indentate(r)+"<"+e+n+">"+i+"</"+e+this.tagEndChar}};on.prototype.replaceEntitiesValue=function(t){if(t&&t.length>0&&this.options.processEntities)for(let e=0;e<this.options.entities.length;e++){const n=this.options.entities[e];t=t.replace(n.regex,n.val)}return t};function qw(t){return this.options.indentBy.repeat(t)}function Dw(t){return t.startsWith(this.options.attributeNamePrefix)&&t!==this.options.textNodeName?t.substr(this.attrPrefixLen):!1}var Hw=on;const Fw=Jl,Kw=jw,Ww=Hw;var Gw={XMLParser:Kw,XMLValidator:Fw,XMLBuilder:Ww};function Jw(t,e,n){const r=n?`<input type="hidden" name="RelayState" value="${n}" />`:"",i=`
|
|
@@ -146,7 +146,7 @@ PERFORMANCE OF THIS SOFTWARE.
|
|
|
146
146
|
}};
|
|
147
147
|
<\/script>
|
|
148
148
|
</body>
|
|
149
|
-
</html>`;return new Response(i,{headers:{"Content-Type":"text/html"}})}async function Zw(t,e,n,r,i){var m,v,f;if(!n.redirect_uri)throw new z(400,{message:"Missing redirect_uri in authParams"});const[s]=await t.env.data.keys.list();if(!s)throw new z(500,{message:"No signing key found"});if(!((m=e.addons)!=null&&m.samlp))throw new z(400,{message:`SAML Addon is not enabled for client ${e.id}`});const{recipient:o,audience:c}=e.addons.samlp,l=n.state||"";if(!o||!l||!r||!n.state)throw new z(400,{message:"Missing recipient or inResponseTo"});const u=JSON.parse(n.state),p=new URL(n.redirect_uri),h=await Yw(t,{issuer:t.env.ISSUER,audience:c||n.client_id,destination:p.toString(),inResponseTo:u.requestId,userId:((f=(v=r.app_metadata)==null?void 0:v.vimeo)==null?void 0:f.user_id)||r.user_id,email:r.email,sessionIndex:i,signature:{privateKeyPem:s.pkcs7,cert:s.cert,kid:s.kid}});return Jw(p.toString(),h,u.relayState)}async function Yw(t,e){const n=e.notBefore||new Date().toISOString(),r=e.notAfter||new Date(new Date(n).getTime()+10*60*1e3).toISOString(),i=e.issueInstant||n,s=e.sessionNotOnOrAfter||r,o=e.responseId||`_${Re()}`,c=e.assertionId||`_${Re()}`,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":r,"@_Recipient":e.destination}}],":@":{"@_Method":"urn:oasis:names:tc:SAML:2.0:cm:bearer"}}]},{"saml:Conditions":[{"saml:AudienceRestriction":[{"saml:Audience":[{"#text":e.audience}]}]}],":@":{"@_NotBefore":n,"@_NotOnOrAfter":r}},{"saml:AuthnStatement":[{"saml:AuthnContext":[{"saml:AuthnContextClassRef":[{"#text":"urn:oasis:names:tc:SAML:2.0:ac:classes:unspecified"}]}]}],":@":{"@_AuthnInstant":i,"@_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":i,"@_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":i,"@_Version":"2.0"}}];let p=new Gw.XMLBuilder({ignoreAttributes:!1,suppressEmptyNode:!0,preserveOrder:!0}).build(l);if(e.signature){const m=await fetch(t.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)}async function Xw(t,e,n){const r=await t.env.data.tenants.get(e);if(!r)throw new Error(`Tenant not found: ${e}`);return Wo(t,{client:{id:t.env.ISSUER,tenant:r,created_at:new Date().toISOString(),updated_at:new Date().toISOString(),name:t.env.ISSUER,disable_sign_ups:!1,connections:[]},authParams:{client_id:t.env.ISSUER,response_type:Jt.TOKEN,scope:n}})}async function Xl(t,e,n){const r=await Xw(t,n.tenant_id,"webhook");for await(const i of e)if(!(await fetch(i.url,{method:"POST",headers:{Authorization:`Bearer ${r.access_token}`,"Content-Type":"application/json"},body:JSON.stringify(n)})).ok){const o=be(t,{type:me.FAILED_HOOK,description:`Failed to invoke hook ${i.hook_id}`});await t.env.data.logs.create(n.tenant_id,o)}}function Qw(t,e){return async(n,r)=>{const{hooks:i}=await e.hooks.list(n);return await Xl(t,i,{tenant_id:n,user:r,trigger_id:"post-user-registration"}),r}}function eb(t,e){return async(n,r)=>{const{hooks:i}=await e.hooks.list(n,{q:"trigger_id:pre-user-signup",page:0,per_page:100,include_totals:!1});await Xl(t,i,{tenant_id:n,email:r,trigger_id:"pre-user-signup"})}}function tb(t,e){return async(n,r)=>{const{hooks:i}=await e.hooks.list(n,{q:"trigger_id:post-user-login",page:0,per_page:100,include_totals:!1});return await Xl(t,i,{tenant_id:n,user:r,trigger_id:"post-user-login"}),r}}const Ep=["sub","iss","aud","exp","nbf","iat","jti"];async function Wo(t,e){var _,w;const{authParams:n,user:r,client:i,session_id:s}=e,c=(await t.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 z(500,{message:"No signing key available"});const u=Iv(l.pkcs7),p={aud:n.audience||"default",scope:n.scope||"",sub:(r==null?void 0:r.user_id)||n.client_id,iss:t.env.ISSUER,tenant_id:t.var.tenant_id,sid:s},h=r&&((_=n.scope)!=null&&_.split(" ").includes("openid"))?{aud:n.client_id,sub:r.user_id,iss:t.env.ISSUER,sid:s,nonce:n.nonce,given_name:r.given_name,family_name:r.family_name,nickname:r.nickname,picture:r.picture,locale:r.locale,name:r.name,email:r.email,email_verified:r.email_verified}:void 0;(w=t.env.hooks)!=null&&w.onExecuteCredentialsExchange&&await t.env.hooks.onExecuteCredentialsExchange({client:i,user:r,scope:n.scope||"",grant_type:""},{accessToken:{setCustomClaim:(S,N)=>{if(Ep.includes(S))throw new Error(`Cannot overwrite reserved claim '${S}'`);p[S]=N}},idToken:{setCustomClaim:(S,N)=>{if(Ep.includes(S))throw new Error(`Cannot overwrite reserved claim '${S}'`);h&&(h[S]=N)}},access:{deny:S=>{throw new z(400,{message:`Access denied: ${S}`})}}});const m={includeIssuedTimestamp:!0,expiresIn:new Kl(1,"d"),headers:{kid:l.kid}},v=await wp("RS256",u,p,m),f=h?await wp("RS256",u,h,m):void 0;return{access_token:v,refresh_token:e.refresh_token,id_token:f,token_type:"Bearer",expires_in:86400}}async function nb(t,e){const{client:n,scope:r,audience:i=n.tenant.audience,session_id:s}=e;return await t.env.data.refreshTokens.create(n.tenant.id,{id:Re(),session_id:s,client_id:n.id,expires_at:new Date(Date.now()+qo*1e3).toISOString(),user_id:e.user.user_id,device:{last_ip:t.req.header("x-real-ip")||"",initial_ip:t.req.header("x-real-ip")||"",last_user_agent:t.req.header("user-agent")||"",initial_user_agent:t.req.header("user-agent")||"",initial_asn:"",last_asn:""},resource_servers:[{audience:i,scopes:r}],rotating:!1})}async function Tg(t,e){const{user:n,client:r,scope:i,audience:s}=e,o=await t.env.data.sessions.create(r.tenant.id,{id:Re(),user_id:n.user_id,idle_expires_at:new Date(Date.now()+qo*1e3).toISOString(),device:{last_ip:t.req.header("x-real-ip")||"",initial_ip:t.req.header("x-real-ip")||"",last_user_agent:t.req.header("user-agent")||"",initial_user_agent:t.req.header("user-agent")||"",initial_asn:"",last_asn:""},clients:[r.id]}),c=i!=null&&i.split(" ").includes("offline_access")?await nb(t,{...e,session_id:o.id,scope:i,audience:s}):void 0;return{...o,refresh_token:c}}async function an(t,e){var v;const{authParams:n,user:r,client:i,ticketAuth:s}=e,o=be(t,{type:me.SUCCESS_LOGIN,description:`Successful login for ${r.user_id}`,userId:r.user_id});if(Qe(t,t.env.data.logs.create(i.tenant.id,o)),Qe(t,t.env.data.users.update(i.tenant.id,r.user_id,{last_login:new Date().toISOString(),last_ip:t.req.header("x-real-ip")||"",login_count:r.login_count+1})),s){if(!e.loginSession)throw new z(500,{message:"Login session not found"});const f=Ev(),_=Re(12),w=await t.env.data.codes.create(i.tenant.id,{code_id:Re(),code_type:"ticket",login_id:e.loginSession.login_id,expires_at:new Date(Date.now()+Ry).toISOString(),code_verifier:[_,f].join("|")});return t.json({login_ticket:w.code_id,co_verifier:f,co_id:_})}let c=e.refreshToken,l=e.sessionId,u=r;if(!l){u=await tb(t,t.env.data)(i.tenant.id,r);const f=await Tg(t,{user:r,client:i,scope:n.scope,audience:n.audience});l=f.id,c=(v=f.refresh_token)==null?void 0:v.id}if(e.authParams.response_mode===Zt.SAML_POST)return Zw(t,e.client,e.authParams,u,l);const p=await Wo(t,{authParams:n,user:u,client:i,session_id:l,refresh_token:c}),h=new Headers({"set-cookie":Ig(i.tenant.id,l)});if(n.response_mode===Zt.WEB_MESSAGE)return t.json(p,{headers:h});if((n.response_type||Jt.CODE)===Jt.CODE){if(!e.loginSession)throw new z(500,{message:"Login session not found"});const f=await t.env.data.codes.create(i.tenant.id,{code_id:Re(),user_id:r.user_id,code_type:"authorization_code",login_id:e.loginSession.login_id,expires_at:new Date(Date.now()+Ty*1e3).toISOString()});h.set("location",`${n.redirect_uri}?state=${e.authParams.state}&code=${f.code_id}`)}return new Response("Redirecting",{status:302,headers:h})}function rb(t){return async(e,n)=>{if(!n.email||!n.email_verified)return t.users.create(e,n);const r=await Ys({userAdapter:t.users,tenant_id:e,email:n.email});return r?(await t.users.create(e,{...n,linked_to:r.user_id}),r):t.users.create(e,n)}}function ib(t,e){return async(n,r)=>{let i=await rb(e)(n,r);return await Qw(t,e)(n,i),i}}async function Pg(t,e,n,r){if(e.disable_sign_ups&&!await Ys({userAdapter:t.env.data.users,tenant_id:e.tenant.id,email:r})){const s=be(t,{type:me.FAILED_SIGNUP,description:"Public signup is disabled"});throw await t.env.data.logs.create(e.tenant.id,s),new z(400,{message:"Signups are disabled for this client"})}await eb(t,n)(t.var.tenant_id||"",r)}function sb(t,e){return{...e,users:{...e.users,create:ib(t,e)}}}async function ob(t,e,n,r){if(!r.state)throw new z(400,{message:"State not found"});const i=e.connections.find(l=>l.name===n);if(!i){t.set("client_id",e.id);const l=be(t,{type:me.FAILED_LOGIN,description:"Connection not found"});throw await t.env.data.logs.create(e.tenant.id,l),new z(403,{message:"Connection Not Found"})}let s=await t.env.data.logins.get(e.tenant.id,r.state);s||(s=await t.env.data.logins.create(e.tenant.id,{expires_at:new Date(Date.now()+Xr*1e3).toISOString(),authParams:r,...Tn(t.req)}));const c=await Ag(t,i.strategy).getRedirect(t,i);return await t.env.data.codes.create(e.tenant.id,{login_id:s.login_id,code_id:c.code,code_type:"oauth2_state",connection_id:i.id,code_verifier:c.codeVerifier,expires_at:new Date(Date.now()+Py*1e3).toISOString()}),t.redirect(c.redirectUrl)}async function Ip(t,{code:e,state:n}){var f;const{env:r}=t,i=await r.data.codes.get(t.var.tenant_id||"",n,"oauth2_state");if(!i||!i.connection_id)throw new z(403,{message:"State not found"});const s=await r.data.logins.get(t.var.tenant_id||"",i.login_id);if(!s)throw new z(403,{message:"Session not found"});const o=await Ho(r,s.authParams.client_id);t.set("client_id",o.id),t.set("tenant_id",o.tenant.id);const c=o.connections.find(_=>_.id===i.connection_id);if(!c){const _=be(t,{type:me.FAILED_LOGIN,description:"Connection not found"});throw await r.data.logs.create(o.tenant.id,_),new z(403,{message:"Connection not found"})}if(t.set("connection",c.name),!s.authParams.redirect_uri){const _=be(t,{type:me.FAILED_LOGIN,description:"Redirect URI not defined"});throw await r.data.logs.create(o.tenant.id,_),new z(403,{message:"Redirect URI not defined"})}if(!Fo(s.authParams.redirect_uri,o.callbacks||[],{allowPathWildcards:!0})){const _=`Invalid redirect URI - ${s.authParams.redirect_uri}`,w=be(t,{type:me.FAILED_LOGIN,description:_});throw await r.data.logs.create(o.tenant.id,w),new z(403,{message:_})}const u=await Ag(t,c.strategy).validateAuthorizationCodeAndGetUser(t,c,e,i.code_verifier),{sub:p,...h}=u;t.set("user_id",p);const m=((f=u.email)==null?void 0:f.toLocaleLowerCase())||`${c.name}.${p}@${new URL(t.env.ISSUER).hostname}`;t.set("username",m);let v=await yn({userAdapter:r.data.users,tenant_id:o.tenant.id,email:m,provider:c.name});if(!v){try{await Pg(t,o,t.env.data,m)}catch(_){const w=_;throw new z(500,{message:`Failed to run preUserSignupHook: ${w.message}`})}v=await r.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(h)}),t.set("user_id",v.user_id)}return an(t,{client:o,authParams:s.authParams,loginSession:s,user:v})}async function Cp(t,e,n,r,i,s){const o=await t.env.data.codes.get(t.var.tenant_id||"",e,"oauth2_state");if(!o)throw new z(400,{message:"State not found"});const c=await t.env.data.logins.get(t.var.tenant_id,o.login_id);if(!c)throw new z(400,{message:"Login not found"});const{redirect_uri:l}=c.authParams;if(!l)throw new z(400,{message:"Redirect uri not found"});const u=be(t,{type:me.FAILED_LOGIN,description:`Failed connection login: ${i} ${n}, ${r}`});Qe(t,t.env.data.logs.create(t.var.tenant_id,u));const p=new URL(l);return Oy(p,{error:n,error_description:r,error_reason:s,error_code:i,state:c.authParams.state}),t.redirect(`${At(t.env)}enter-email?state=${c.login_id}&error=${n}`)}const ab=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 t=>{const{state:e,code:n,error:r,error_description:i,error_code:s,error_reason:o}=t.req.valid("query");if(r)return Cp(t,e,r,i,s,o);if(!n)throw new z(400,{message:"Code is required"});return Ip(t,{code:n,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 t=>{const{state:e,code:n,error:r,error_description:i,error_code:s,error_reason:o}=t.req.valid("form");if(r)return Cp(t,e,r,i,s,o);if(!n)throw new z(400,{message:"Code is required"});return Ip(t,{code:n,state:e})}),cb=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 t=>{const{client_id:e,returnTo:n}=t.req.valid("query"),r=await t.env.data.clients.get(e);if(!r)return t.text("OK");const i=await t.env.data.clients.get("DEFAULT_CLIENT");t.set("client_id",e),t.set("tenant_id",r.tenant.id);const s=n||t.req.header("referer");if(!s)return t.text("OK");if(!Fo(s,[...r.allowed_logout_urls||[],...(i==null?void 0:i.allowed_logout_urls)||[]],{allowPathWildcards:!0}))throw new z(400,{message:"Invalid redirect uri"});const o=t.req.header("cookie");if(o){const l=Hs(r.tenant.id,o);if(l){const u=await t.env.data.sessions.get(r.tenant.id,l);if(u){const p=await t.env.data.users.get(r.tenant.id,u.user_id);p&&(t.set("user_id",p.user_id),t.set("connection",p.connection))}await t.env.data.sessions.remove(r.tenant.id,l)}}const c=be(t,{type:me.SUCCESS_LOGOUT,description:"User successfully logged out"});return await t.env.data.logs.create(r.tenant.id,c),new Response("Redirecting",{status:302,headers:{"set-cookie":zv(r.tenant.id),location:s}})}),Np=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()}),lb=new a.OpenAPIHono().openapi(a.createRoute({tags:["oauth2"],method:"get",path:"/",request:{},security:[{Bearer:["openid"]}],responses:{200:{content:{"application/json":{schema:Np}},description:"Userinfo"}}}),async t=>{if(!t.var.user)throw new z(404,{message:"User not found"});const e=await t.env.data.users.get(t.var.user.tenant_id,t.var.user.sub);if(!e)throw new z(404,{message:"User not found"});return t.json(Np.parse({...e,sub:e.user_id}))}),ub=new a.OpenAPIHono().openapi(a.createRoute({tags:["well known"],method:"get",path:"/jwks.json",request:{},responses:{200:{content:{"application/json":{schema:af}},description:"List of tenants"}}}),async t=>{const e=await t.env.data.keys.list(),n=await Promise.all(e.map(async r=>{const s=await new Hl(r.cert).publicKey.export(),o=await crypto.subtle.exportKey("jwk",s);return Qc.parse({...o,kid:r.kid})}));return t.json({keys:n},{headers:{"access-control-allow-origin":"*","access-control-allow-method":"GET","cache-control":`public, max-age=${Ti}, stale-while-revalidate=${Ti*2}, stale-if-error=86400`}})}).openapi(a.createRoute({tags:["well known"],method:"get",path:"/openid-configuration",request:{},responses:{200:{content:{"application/json":{schema:xa}},description:"List of tenants"}}}),async t=>{const e=xa.parse({issuer:pv(t.env),authorization_endpoint:`${Ne(t.env)}authorize`,token_endpoint:`${Ne(t.env)}oauth/token`,device_authorization_endpoint:`${Ne(t.env)}oauth/device/code`,userinfo_endpoint:`${Ne(t.env)}userinfo`,mfa_challenge_endpoint:`${Ne(t.env)}mfa/challenge`,jwks_uri:`${Ne(t.env)}.well-known/jwks.json`,registration_endpoint:`${Ne(t.env)}oidc/register`,revocation_endpoint:`${Ne(t.env)}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 t.json(e,{headers:{"access-control-allow-origin":"*","access-control-allow-method":"GET","cache-control":`public, max-age=${Ti}, stale-while-revalidate=${Ti*2}, stale-if-error=86400`}})});function Fi(t,e){if(!t||!e||t.length!==e.length)return!1;let n=0;for(let r=0;r<t.length;r++)n|=t.charCodeAt(r)^e.charCodeAt(r);return n===0}const Rg=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 db(t,e){const n=await t.env.data.clients.get(e.client_id);if(!n)throw new z(403,{message:"Invalid client credentials"});if(n.client_secret&&!Fi(n.client_secret,e.client_secret))throw new z(403,{message:"Invalid client credentials"});const r={client_id:n.id,scope:e.scope,audience:e.audience},i=await Wo(t,{authParams:r,client:n});return t.json(i)}const pb=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(t=>"client_secret"in t&&!("code_verifier"in t)||!("client_secret"in t)&&"code_verifier"in t,{message:"Must provide either client_secret (standard flow) or code_verifier/code_verifier_mode (PKCE flow), but not both"});async function fb(t,e){const n=await t.env.data.clients.get(e.client_id);if(!n)throw new z(403,{message:"Client not found"});const r=await t.env.data.codes.get(n.tenant.id,e.code,"authorization_code");if(!r||!r.user_id)throw new z(403,{message:"Invalid client credentials"});if(new Date(r.expires_at)<new Date)throw new z(403,{message:"Code expired"});if(r.used_at)throw new z(403,{message:"Code already used"});const i=await t.env.data.logins.get(n.tenant.id,r.login_id);if(!i)throw new z(403,{message:"Invalid login"});if("client_secret"in e){const o=await t.env.data.clients.get("DEFAULT_CLIENT");if(!Fi(n.client_secret,e.client_secret)&&!Fi(o==null?void 0:o.client_secret,e.client_secret))throw new z(403,{message:"Invalid client credentials"})}else if("code_verifier"in e&&typeof e.code_verifier=="string"&&"code_challenge_method"in i.authParams&&typeof i.authParams.code_challenge_method=="string"){const o=await Cv(e.code_verifier,i.authParams.code_challenge_method);if(!Fi(o,i.authParams.code_challenge||""))throw new z(403,{message:"Invalid client credentials"})}if(i.authParams.redirect_uri&&i.authParams.redirect_uri!==e.redirect_uri)throw new z(403,{message:"Invalid redirect uri"});const s=await t.env.data.users.get(n.tenant.id,r.user_id);if(!s)throw new z(403,{message:"User not found"});return await t.env.data.codes.used(n.tenant.id,e.code),an(t,{user:s,client:n,loginSession:i,authParams:{...i.authParams,response_mode:Zt.WEB_MESSAGE}})}const hb=a.z.object({grant_type:a.z.literal("refresh_token"),client_id:a.z.string(),redirect_uri:a.z.string().optional(),refresh_token:a.z.string()});async function gb(t,e){const n=await t.env.data.clients.get(e.client_id);if(!n)throw new z(403,{message:"Client not found"});const r=await t.env.data.refreshTokens.get(n.tenant.id,e.refresh_token);if(r){if(r.expires_at&&new Date(r.expires_at)<new Date||r.idle_expires_at&&new Date(r.idle_expires_at)<new Date)throw new z(403,{message:JSON.stringify({error:"invalid_grant",error_description:"Refresh token has expired"})})}else throw new z(403,{message:JSON.stringify({error:"invalid_grant",error_description:"Invalid refresh token"})});const i=await t.env.data.users.get(n.tenant.id,r.user_id);if(!i)throw new z(403,{message:"User not found"});const s=r.resource_servers[0];if(r.idle_expires_at){const o=new Date(Date.now()+2592e6);await t.env.data.refreshTokens.update(n.tenant.id,r.id,{idle_expires_at:o.toISOString(),last_exchanged_at:new Date().toISOString(),device:{...r.device,last_ip:t.req.header["x-real-ip"]||"",last_user_agent:t.req.header["user-agent"]||""}})}return an(t,{user:i,client:n,refreshToken:r.id,sessionId:r.session_id,authParams:{client_id:n.id,audience:s==null?void 0:s.audience,scope:s==null?void 0:s.scopes,response_mode:Zt.WEB_MESSAGE}})}const zp=a.z.object({client_id:a.z.string().optional(),client_secret:a.z.string().optional()}),mb=a.z.union([Rg.extend(zp.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(),...zp.shape}),a.z.object({grant_type:a.z.literal("refresh_token"),client_id:a.z.string(),refresh_token:a.z.string(),redirect_uri:a.z.string().optional()})]);function _b(t){if(!t)return{};const[e,n]=t.split(" ");if((e==null?void 0:e.toLowerCase())==="basic"&&n){const[r,i]=atob(n).split(":");return{client_id:r,client_secret:i}}return{}}const yb=new a.OpenAPIHono().openapi(a.createRoute({tags:["oauth2"],method:"post",path:"/",request:{body:{content:{"application/x-www-form-urlencoded":{schema:mb}}}},responses:{200:{content:{"application/json":{schema:ff}},description:"Tokens"}}}),async t=>{const e=t.req.valid("form"),n=_b(t.req.header("Authorization")),r={...e,...n};if(!r.client_id)throw new z(400,{message:"client_id is required"});switch(e.grant_type){case jr.AuthorizationCode:return fb(t,pb.parse(r));case jr.ClientCredential:return db(t,Rg.parse(r));case jr.RefreshToken:return gb(t,hb.parse(r));default:throw new z(400,{message:"Not implemented"})}});var Ql={exports:{}};const eu=[{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}],Lg=(t,e=eu,n="!\"#$%&'()*+,-./:;<=>?@[\\\\\\]^_`{|}~")=>{let r=t||"";e[0].minDiversity=0,e[0].minLength=0;const i=[{regex:"[a-z]",message:"lowercase"},{regex:"[A-Z]",message:"uppercase"},{regex:"[0-9]",message:"number"}];n&&i.push({regex:`[${n}]`,message:"symbol"});let s={};s.contains=i.filter(c=>new RegExp(`${c.regex}`).test(r)).map(c=>c.message),s.length=r.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};Ql.exports={passwordStrength:Lg,defaultOptions:eu};var vb=Ql.exports.passwordStrength=Lg;Ql.exports.defaultOptions=eu;function tu(t){return vb(t).id<2?!1:t.length>=8&&/[a-z]/.test(t)&&/[A-Z]/.test(t)&&/[0-9]/.test(t)&&/[^A-Za-z0-9]/.test(t)}async function Go(t,e){var i;const n=await t.env.data.emailProviders.get(t.var.tenant_id)||(t.env.DEFAULT_TENANT_ID?await t.env.data.emailProviders.get(t.env.DEFAULT_TENANT_ID):null);if(!n)throw new z(500,{message:"Email provider not found"});const r=(i=t.env.emailProviders)==null?void 0:i[n.name];if(!r)throw new z(500,{message:"Email provider not found"});await r({emailProvider:n,...e,from:n.default_from_address||`login@${t.env.ISSUER}`})}async function Ug(t,e,n,r){const i=await t.env.data.tenants.get(t.var.tenant_id);if(!i)throw new z(500,{message:"Tenant not found"});const s=`${At(t.env)}reset-password?state=${r}&code=${n}`,o={vendorName:i.name,lng:i.language||"en"};await Go(t,{to:e,subject:"Reset your password",html:`Click here to reset your password: ${At(t.env)}reset-password?state=${r}&code=${n}`,template:"auth-password-reset",data:{vendorName:i.name,logo:i.logo||"",passwordResetUrl:s,supportUrl:i.support_url||"https://support.sesamy.com",buttonColor:i.primary_color||"#7d68f4",passwordResetTitle:de("password_reset_title",o),resetPasswordEmailClickToReset:de("reset_password_email_click_to_reset",o),resetPasswordEmailReset:de("reset_password_email_reset",o),supportInfo:de("support_info",o),contactUs:de("contact_us",o),copyright:de("copyright",o)}})}async function Vg(t,e,n){const r=await t.env.data.tenants.get(t.var.tenant_id);if(!r)throw new z(500,{message:"Tenant not found"});const i={vendorName:r.name,code:n,lng:r.language||"en"};await Go(t,{to:e,subject:de("code_email_subject",i),html:`Click here to validate your email: ${At(t.env)}validate-email`,template:"auth-link",data:{code:n,vendorName:r.name,logo:r.logo||"",supportUrl:r.support_url||"",magicLink:`${Ne(t.env)}passwordless/verify_redirect?ticket=${n}`,buttonColor:r.primary_color||"",welcomeToYourAccount:de("welcome_to_your_account",i),linkEmailClickToLogin:de("link_email_click_to_login",i),linkEmailLogin:de("link_email_login",i),linkEmailOrEnterCode:de("link_email_or_enter_code",i),codeValid30Mins:de("code_valid_30_minutes",i),supportInfo:de("support_info",i),contactUs:de("contact_us",i),copyright:de("copyright",i)}});const s=be(t,{type:me.CODE_LINK_SENT,description:e});Qe(t,t.env.data.logs.create(r.id,s))}async function nu(t,e,n,r){const i=await t.env.data.tenants.get(t.var.tenant_id);if(!i)throw new z(500,{message:"Tenant not found"});if(!r.redirect_uri)throw new z(400,{message:"redirect_uri is required"});const s=new URL(Ne(t.env));s.pathname="passwordless/verify_redirect",s.searchParams.set("verification_code",n),s.searchParams.set("connection","email"),s.searchParams.set("client_id",r.client_id),s.searchParams.set("redirect_uri",r.redirect_uri),s.searchParams.set("email",e),r.response_type&&s.searchParams.set("response_type",r.response_type),r.scope&&s.searchParams.set("scope",r.scope),r.state&&s.searchParams.set("state",r.state),r.nonce&&s.searchParams.set("nonce",r.nonce),r.code_challenge&&s.searchParams.set("code_challenge",r.code_challenge),r.code_challenge_method&&s.searchParams.set("code_challenge_method",r.code_challenge_method),r.audience&&s.searchParams.set("audience",r.audience);const o={vendorName:i.name,code:n,lng:i.language||"en"};await Go(t,{to:e,subject:de("code_email_subject",o),html:`Click here to validate your email: ${At(t.env)}validate-email`,template:"auth-link",data:{code:n,vendorName:i.name,logo:i.logo||"",supportUrl:i.support_url||"",magicLink:s.toString(),buttonColor:i.primary_color||"",welcomeToYourAccount:de("welcome_to_your_account",o),linkEmailClickToLogin:de("link_email_click_to_login",o),linkEmailLogin:de("link_email_login",o),linkEmailOrEnterCode:de("link_email_or_enter_code",o),codeValid30Mins:de("code_valid_30_minutes",o),supportInfo:de("support_info",o),contactUs:de("contact_us",o),copyright:de("copyright",o)}});const c=be(t,{type:me.CODE_LINK_SENT,description:e});Qe(t,t.env.data.logs.create(i.id,c))}async function ru(t,e){const n=await t.env.data.tenants.get(t.var.tenant_id);if(!n)throw new z(500,{message:"Tenant not found"});const r={vendorName:n.name,lng:n.language||"en"};await Go(t,{to:e.email,subject:"Validate your email address",html:`Click here to validate your email: ${At(t.env)}validate-email`,template:"auth-verify-email",data:{vendorName:n.name,logo:n.logo||"",emailValidationUrl:`${At(t.env)}validate-email`,supportUrl:n.support_url||"https://support.sesamy.com",buttonColor:n.primary_color||"#7d68f4",welcomeToYourAccount:de("welcome_to_your_account",r),verifyEmailVerify:de("verify_email_verify",r),supportInfo:de("support_info",r),contactUs:de("contact_us",r),copyright:de("copyright",r)}})}const wb=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(t=>t.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 t=>{const{email:e,password:n,client_id:r}=t.req.valid("json"),i=await t.env.data.clients.get(r);if(!i)throw new z(400,{message:"Client not found"});if(t.set("client_id",i.id),t.set("tenant_id",i.tenant.id),!tu(n))throw new z(400,{message:"Password does not meet the requirements"});if(await yn({userAdapter:t.env.data.users,tenant_id:i.tenant.id,email:e,provider:"auth2"}))throw new z(400,{message:"Invalid sign up"});const o=await t.env.data.users.create(i.tenant.id,{user_id:`auth2|${oi()}`,email:e,email_verified:!1,provider:"auth2",connection:"Username-Password-Authentication",is_social:!1});t.set("user_id",o.user_id),t.set("username",o.email),t.set("connection",o.connection);const c=await si.hash(n,10);await t.env.data.passwords.create(i.tenant.id,{user_id:o.user_id,password:c,algorithm:"bcrypt"}),await ru(t,o);const l=be(t,{type:me.SUCCESS_SIGNUP,description:"Successful signup"});return await t.env.data.logs.create(i.tenant.id,l),t.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(t=>t.toLowerCase())})}}}},responses:{200:{description:"Redirect to the client's redirect uri"}}}),async t=>{const{email:e,client_id:n}=t.req.valid("json"),r=await t.env.data.clients.get(n);if(!r)throw new z(400,{message:"Client not found"});if(t.set("client_id",r.id),t.set("tenant_id",r.tenant.id),!await Gn({userAdapter:t.env.data.users,tenant_id:r.tenant.id,email:e,provider:"auth2"}))return t.html("If an account with that email exists, we've sent instructions to reset your password.");const s={client_id:n,username:e},o=await t.env.data.logins.create(r.tenant.id,{expires_at:new Date(Date.now()+Xr*1e3).toISOString(),authParams:s,...Tn(t.req)});return await Ug(t,e,o.login_id,o.authParams.state),t.html("If an account with that email exists, we've sent instructions to reset your password.")});function or(){const t="1234567890";let e="";for(let n=0;n<6;n+=1)e+=t[Math.floor(Math.random()*10)];return e.toString()}async function iu(t,e,n,r,i,s){const{env:o}=t,c=await o.data.codes.get(e.tenant.id,i,"otp");if(!c)throw new z(400,{message:"Code not found or expired"});if(c.expires_at<new Date().toISOString())throw new z(400,{message:"Code expired"});if(c.used_at)throw new z(400,{message:"Code already used"});const l=await o.data.logins.get(e.tenant.id,c.login_id);if(!l||l.authParams.username!==r)throw new z(400,{message:"Code not found or expired"});const u=Tn(t.req);if(l.ip!==u.ip)return t.redirect(`${At(t.env)}invalid-session?state=${l.login_id}`);if(n.redirect_uri&&!Fo(n.redirect_uri,e.callbacks,{allowPathWildcards:!0}))throw new z(400,{message:`Invalid redirect URI - ${n.redirect_uri}`});let p=await yn({userAdapter:o.data.users,tenant_id:e.tenant.id,email:r,provider:"email"});if(!p){if(e.disable_sign_ups)throw new z(400,{message:"User not found"});p=await o.data.users.create(e.tenant.id,{email:r,email_verified:!0,connection:"email",provider:"email",is_social:!1,user_id:`email|${Re()}`})}return await o.data.codes.used(e.tenant.id,i),an(t,{user:p,client:e,loginSession:l,authParams:n,ticketAuth:s})}const bb=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(t=>t.toLowerCase()),send:a.z.enum(["link","code"]),authParams:Xc.omit({client_id:!0})})}}}},responses:{200:{description:"Status"}}}),async t=>{const e=t.req.valid("json"),{env:n}=t,{client_id:r,email:i,send:s,authParams:o}=e,c=await t.env.data.clients.get(r);if(!c)throw new z(400,{message:"Client not found"});t.set("client_id",c.id),t.set("tenant_id",c.tenant.id);const l=await n.data.logins.create(c.tenant.id,{authParams:{...o,client_id:r,username:i},expires_at:new Date(Date.now()+Hc).toISOString(),...Tn(t.req)}),u=await n.data.codes.create(c.tenant.id,{code_id:or(),code_type:"otp",login_id:l.login_id,expires_at:new Date(Date.now()+Hc).toISOString()});return s==="link"?await nu(t,i,u.code_id,{...o,client_id:r}):await Vg(t,i,u.code_id),t.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(Jt),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(t=>t.toLowerCase()),audience:a.z.string().optional()})},responses:{302:{description:"Status"}}}),async t=>{const{env:e}=t,{client_id:n,email:r,verification_code:i,redirect_uri:s,state:o,scope:c,audience:l,response_type:u,nonce:p}=t.req.valid("query"),h=await Ho(e,n);return t.set("client_id",h.id),t.set("tenant_id",h.tenant.id),t.set("connection","email"),iu(t,h,{client_id:n,redirect_uri:s,state:o,nonce:p,scope:c,audience:l,response_type:u},r,i)});class Ir extends z{constructor(n,r){super(n,r);ee(this,"_code");this._code=r==null?void 0:r.code}get code(){return this._code}}async function su(t,e,n,r,i){const{env:s}=t,o=n.username;if(t.set("username",o),!o)throw new z(400,{message:"Username is required"});const c=await Gn({userAdapter:t.env.data.users,tenant_id:e.tenant.id,email:o,provider:"auth2"});if(!c){const f=be(t,{type:me.FAILED_LOGIN_INCORRECT_PASSWORD,description:"Invalid user"});throw Qe(t,t.env.data.logs.create(e.tenant.id,f)),new Ir(403,{message:"User not found",code:"USER_NOT_FOUND"})}const l=c.linked_to?await s.data.users.get(e.tenant.id,c.linked_to):c;if(!l)throw new Ir(403,{message:"User not found",code:"USER_NOT_FOUND"});t.set("connection",c.connection),t.set("user_id",l.user_id);const{password:u}=await s.data.passwords.get(e.tenant.id,c.user_id);if(!await si.compare(n.password,u)){const f=be(t,{type:me.FAILED_LOGIN_INCORRECT_PASSWORD,description:"Invalid password"});throw Qe(t,t.env.data.logs.create(e.tenant.id,f)),new Ir(403,{message:"Invalid password",code:"INVALID_PASSWORD"})}if((await s.data.logs.list(e.tenant.id,{page:0,per_page:10,include_totals:!1,q:`user_id:${l.user_id}`})).logs.filter(f=>f.type===me.FAILED_LOGIN_INCORRECT_PASSWORD&&new Date(f.date)>new Date(Date.now()-1e3*60*5)).length>=3){const f=be(t,{type:me.FAILED_LOGIN,description:"Too many failed login attempts"});throw Qe(t,t.env.data.logs.create(e.tenant.id,f)),new Ir(403,{message:"Too many failed login attempts",code:"TOO_MANY_FAILED_LOGINS"})}if(!c.email_verified&&e.email_validation==="enforced"){await ru(t,c);const f=be(t,{type:me.FAILED_LOGIN,description:"Email not verified"});throw await t.env.data.logs.create(e.tenant.id,f),new Ir(403,{message:"Email not verified",code:"EMAIL_NOT_VERIFIED"})}const v=be(t,{type:me.SUCCESS_LOGIN,description:"Successful login",strategy_type:"Username-Password-Authentication",strategy:"Username-Password-Authentication"});return Qe(t,t.env.data.logs.create(e.tenant.id,v)),an(t,{client:e,authParams:n,user:l,ticketAuth:i,loginSession:r})}async function kb(t,e,n,r){let i=await yn({userAdapter:t.env.data.users,tenant_id:e.tenant.id,email:n,provider:"auth2"});if(!i){if(!(await tl(t.env.data.users,e.tenant.id,n)).length)return;i=await t.env.data.users.create(e.tenant.id,{user_id:`email|${oi()}`,email:n,email_verified:!1,is_social:!1,provider:"auth2",connection:"Username-Password-Authentication"})}const s=await t.env.data.logins.create(e.tenant.id,{expires_at:new Date(Date.now()+Uy).toISOString(),authParams:{client_id:e.id,username:n},...Tn(t.req)});let o=or(),c=await t.env.data.codes.get(e.tenant.id,o,"password_reset");for(;c;)o=or(),c=await t.env.data.codes.get(e.tenant.id,o,"password_reset");const l=await t.env.data.codes.create(e.tenant.id,{code_id:o,code_type:"password_reset",login_id:s.login_id,expires_at:new Date(Date.now()+Ly).toISOString()});await Ug(t,n,l.code_id,r)}const xb=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(t=>t.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(t=>t.toLowerCase()),password:a.z.string(),realm:a.z.enum(["Username-Password-Authentication"]),scope:a.z.string().optional()})])}}}},responses:{200:{description:"List of tenants"}}}),async t=>{const e=t.req.valid("json"),{client_id:n,username:r}=e;t.set("username",r);const i=await t.env.data.clients.get(n);if(!i)throw new z(400,{message:"Client not found"});t.set("client_id",n),t.set("tenant_id",i.tenant.id);const s=r.toLocaleLowerCase();if("otp"in e)return iu(t,i,{client_id:n,username:s},s,e.otp,!0);if("password"in e){const o=await t.env.data.logins.create(i.tenant.id,{expires_at:new Date(Date.now()+Xr*1e3).toISOString(),authParams:{client_id:n,username:s},...Tn(t.req)});return su(t,i,{username:s,password:e.password,client_id:n},o,!0)}else throw new z(400,{message:"Code or password required"})});function Sb(t,e){var r,i,s;if(!t||e.length===0)return!1;const n=((r=pa(t))==null?void 0:r.host)??null;if(!n)return!1;for(const o of e){let c;if(o.startsWith("http://")||o.startsWith("https://")?c=((i=pa(o))==null?void 0:i.host)??null:c=((s=pa("https://"+o))==null?void 0:s.host)??null,n===c)return!0}return!1}function pa(t){try{return new URL(t)}catch{return null}}async function Ab({ctx:t,session:e,client:n,authParams:r,connection:i,login_hint:s}){const o=await t.env.data.logins.create(n.tenant.id,{expires_at:new Date(Date.now()+Xr*1e3).toISOString(),authParams:r,...Tn(t.req)});if(e&&s){const c=await t.env.data.users.get(n.tenant.id,e.user_id);if((c==null?void 0:c.email)===s)return an(t,{client:n,loginSession:o,authParams:r,user:c,sessionId:e.id})}if(i==="email"&&s){const c=or();return await t.env.data.codes.create(n.tenant.id,{code_id:c,code_type:"otp",login_id:o.login_id,expires_at:new Date(Date.now()+Xr*1e3).toISOString()}),await nu(t,s,c,r),t.redirect(`/u/enter-code?state=${o.login_id}`)}return e?t.redirect(`/u/check-account?state=${o.login_id}`):t.redirect(`/u/enter-email?state=${o.login_id}`)}function Eb(t){if(t==="Username-Password-Authentication")return"auth2";if(t==="email")return"email";throw new z(403,{message:"Invalid realm"})}async function Ib(t,e,n,r,i){var m;const{env:s}=t;t.set("connection",i);const o=await s.data.codes.get(e,n,"ticket");if(!o||o.used_at)throw new z(403,{message:"Ticket not found"});const c=await s.data.logins.get(e,o.login_id);if(!c||!c.authParams.username)throw new z(403,{message:"Session not found"});const l=await s.data.clients.get(c.authParams.client_id);if(!l)throw new z(403,{message:"Client not found"});t.set("client_id",c.authParams.client_id),await s.data.codes.used(e,n);const u=Eb(i);let p=await yn({userAdapter:s.data.users,tenant_id:e,email:c.authParams.username,provider:u});p||(p=await s.data.users.create(e,{user_id:`email|${oi()}`,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()})),t.set("username",p.email),t.set("user_id",p.user_id);const h=await Tg(t,{user:p,client:l,scope:r.scope,audience:r.audience});return an(t,{authParams:{scope:(m=c.authParams)==null?void 0:m.scope,...r},loginSession:c,sessionId:h.id,user:p,client:l})}async function $p(t,e){return`<!DOCTYPE html>
|
|
149
|
+
</html>`;return new Response(i,{headers:{"Content-Type":"text/html"}})}async function Zw(t,e,n,r,i){var m,v,f;if(!n.redirect_uri)throw new z(400,{message:"Missing redirect_uri in authParams"});const[s]=await t.env.data.keys.list();if(!s)throw new z(500,{message:"No signing key found"});if(!((m=e.addons)!=null&&m.samlp))throw new z(400,{message:`SAML Addon is not enabled for client ${e.id}`});const{recipient:o,audience:c}=e.addons.samlp,l=n.state||"";if(!o||!l||!r||!n.state)throw new z(400,{message:"Missing recipient or inResponseTo"});const u=JSON.parse(n.state),p=new URL(n.redirect_uri),h=await Yw(t,{issuer:t.env.ISSUER,audience:c||n.client_id,destination:p.toString(),inResponseTo:u.requestId,userId:((f=(v=r.app_metadata)==null?void 0:v.vimeo)==null?void 0:f.user_id)||r.user_id,email:r.email,sessionIndex:i,signature:{privateKeyPem:s.pkcs7,cert:s.cert,kid:s.kid}});return Jw(p.toString(),h,u.relayState)}async function Yw(t,e){const n=e.notBefore||new Date().toISOString(),r=e.notAfter||new Date(new Date(n).getTime()+10*60*1e3).toISOString(),i=e.issueInstant||n,s=e.sessionNotOnOrAfter||r,o=e.responseId||`_${Re()}`,c=e.assertionId||`_${Re()}`,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":r,"@_Recipient":e.destination}}],":@":{"@_Method":"urn:oasis:names:tc:SAML:2.0:cm:bearer"}}]},{"saml:Conditions":[{"saml:AudienceRestriction":[{"saml:Audience":[{"#text":e.audience}]}]}],":@":{"@_NotBefore":n,"@_NotOnOrAfter":r}},{"saml:AuthnStatement":[{"saml:AuthnContext":[{"saml:AuthnContextClassRef":[{"#text":"urn:oasis:names:tc:SAML:2.0:ac:classes:unspecified"}]}]}],":@":{"@_AuthnInstant":i,"@_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":i,"@_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":i,"@_Version":"2.0"}}];let p=new Gw.XMLBuilder({ignoreAttributes:!1,suppressEmptyNode:!0,preserveOrder:!0}).build(l);if(e.signature){const m=await fetch(t.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)}async function Xw(t,e,n){const r=await t.env.data.tenants.get(e);if(!r)throw new Error(`Tenant not found: ${e}`);return Go(t,{client:{id:t.env.ISSUER,tenant:r,created_at:new Date().toISOString(),updated_at:new Date().toISOString(),name:t.env.ISSUER,disable_sign_ups:!1,connections:[]},authParams:{client_id:t.env.ISSUER,response_type:Jt.TOKEN,scope:n}})}async function Xl(t,e,n){const r=await Xw(t,n.tenant_id,"webhook");for await(const i of e)if(!(await fetch(i.url,{method:"POST",headers:{Authorization:`Bearer ${r.access_token}`,"Content-Type":"application/json"},body:JSON.stringify(n)})).ok){const o=be(t,{type:me.FAILED_HOOK,description:`Failed to invoke hook ${i.hook_id}`});await t.env.data.logs.create(n.tenant_id,o)}}function Qw(t,e){return async(n,r)=>{const{hooks:i}=await e.hooks.list(n);return await Xl(t,i,{tenant_id:n,user:r,trigger_id:"post-user-registration"}),r}}function eb(t,e){return async(n,r)=>{const{hooks:i}=await e.hooks.list(n,{q:"trigger_id:pre-user-signup",page:0,per_page:100,include_totals:!1});await Xl(t,i,{tenant_id:n,email:r,trigger_id:"pre-user-signup"})}}function tb(t,e){return async(n,r)=>{const{hooks:i}=await e.hooks.list(n,{q:"trigger_id:post-user-login",page:0,per_page:100,include_totals:!1});return await Xl(t,i,{tenant_id:n,user:r,trigger_id:"post-user-login"}),r}}const Ep=["sub","iss","aud","exp","nbf","iat","jti"];async function Go(t,e){var _,w;const{authParams:n,user:r,client:i,session_id:s}=e,c=(await t.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 z(500,{message:"No signing key available"});const u=Iv(l.pkcs7),p={aud:n.audience||"default",scope:n.scope||"",sub:(r==null?void 0:r.user_id)||n.client_id,iss:t.env.ISSUER,tenant_id:t.var.tenant_id,sid:s},h=r&&((_=n.scope)!=null&&_.split(" ").includes("openid"))?{aud:n.client_id,sub:r.user_id,iss:t.env.ISSUER,sid:s,nonce:n.nonce,given_name:r.given_name,family_name:r.family_name,nickname:r.nickname,picture:r.picture,locale:r.locale,name:r.name,email:r.email,email_verified:r.email_verified}:void 0;(w=t.env.hooks)!=null&&w.onExecuteCredentialsExchange&&await t.env.hooks.onExecuteCredentialsExchange({client:i,user:r,scope:n.scope||"",grant_type:""},{accessToken:{setCustomClaim:(S,N)=>{if(Ep.includes(S))throw new Error(`Cannot overwrite reserved claim '${S}'`);p[S]=N}},idToken:{setCustomClaim:(S,N)=>{if(Ep.includes(S))throw new Error(`Cannot overwrite reserved claim '${S}'`);h&&(h[S]=N)}},access:{deny:S=>{throw new z(400,{message:`Access denied: ${S}`})}}});const m={includeIssuedTimestamp:!0,expiresIn:new Kl(1,"d"),headers:{kid:l.kid}},v=await wp("RS256",u,p,m),f=h?await wp("RS256",u,h,m):void 0;return{access_token:v,refresh_token:e.refresh_token,id_token:f,token_type:"Bearer",expires_in:86400}}async function nb(t,e){const{client:n,scope:r,audience:i=n.tenant.audience,session_id:s}=e;return await t.env.data.refreshTokens.create(n.tenant.id,{id:Re(),session_id:s,client_id:n.id,expires_at:new Date(Date.now()+Do*1e3).toISOString(),user_id:e.user.user_id,device:{last_ip:t.req.header("x-real-ip")||"",initial_ip:t.req.header("x-real-ip")||"",last_user_agent:t.req.header("user-agent")||"",initial_user_agent:t.req.header("user-agent")||"",initial_asn:"",last_asn:""},resource_servers:[{audience:i,scopes:r}],rotating:!1})}async function Tg(t,e){const{user:n,client:r,scope:i,audience:s}=e,o=await t.env.data.sessions.create(r.tenant.id,{id:Re(),user_id:n.user_id,idle_expires_at:new Date(Date.now()+Do*1e3).toISOString(),device:{last_ip:t.req.header("x-real-ip")||"",initial_ip:t.req.header("x-real-ip")||"",last_user_agent:t.req.header("user-agent")||"",initial_user_agent:t.req.header("user-agent")||"",initial_asn:"",last_asn:""},clients:[r.id]}),c=i!=null&&i.split(" ").includes("offline_access")?await nb(t,{...e,session_id:o.id,scope:i,audience:s}):void 0;return{...o,refresh_token:c}}async function an(t,e){var v;const{authParams:n,user:r,client:i,ticketAuth:s}=e,o=be(t,{type:me.SUCCESS_LOGIN,description:`Successful login for ${r.user_id}`,userId:r.user_id});if(Qe(t,t.env.data.logs.create(i.tenant.id,o)),Qe(t,t.env.data.users.update(i.tenant.id,r.user_id,{last_login:new Date().toISOString(),last_ip:t.req.header("x-real-ip")||"",login_count:r.login_count+1})),s){if(!e.loginSession)throw new z(500,{message:"Login session not found"});const f=Ev(),_=Re(12),w=await t.env.data.codes.create(i.tenant.id,{code_id:Re(),code_type:"ticket",login_id:e.loginSession.login_id,expires_at:new Date(Date.now()+Ry).toISOString(),code_verifier:[_,f].join("|")});return t.json({login_ticket:w.code_id,co_verifier:f,co_id:_})}let c=e.refreshToken,l=e.sessionId,u=r;if(!l){u=await tb(t,t.env.data)(i.tenant.id,r);const f=await Tg(t,{user:r,client:i,scope:n.scope,audience:n.audience});l=f.id,c=(v=f.refresh_token)==null?void 0:v.id}if(e.authParams.response_mode===Zt.SAML_POST)return Zw(t,e.client,e.authParams,u,l);const p=await Go(t,{authParams:n,user:u,client:i,session_id:l,refresh_token:c}),h=new Headers({"set-cookie":Ig(i.tenant.id,l)});if(n.response_mode===Zt.WEB_MESSAGE)return t.json(p,{headers:h});if((n.response_type||Jt.CODE)===Jt.CODE){if(!e.loginSession)throw new z(500,{message:"Login session not found"});const f=await t.env.data.codes.create(i.tenant.id,{code_id:Re(),user_id:r.user_id,code_type:"authorization_code",login_id:e.loginSession.login_id,expires_at:new Date(Date.now()+Ty*1e3).toISOString()});h.set("location",`${n.redirect_uri}?state=${e.authParams.state}&code=${f.code_id}`)}return new Response("Redirecting",{status:302,headers:h})}function rb(t){return async(e,n)=>{if(!n.email||!n.email_verified)return t.users.create(e,n);const r=await Xs({userAdapter:t.users,tenant_id:e,email:n.email});return r?(await t.users.create(e,{...n,linked_to:r.user_id}),r):t.users.create(e,n)}}function ib(t,e){return async(n,r)=>{let i=await rb(e)(n,r);return await Qw(t,e)(n,i),i}}async function Pg(t,e,n,r){if(e.disable_sign_ups&&!await Xs({userAdapter:t.env.data.users,tenant_id:e.tenant.id,email:r})){const s=be(t,{type:me.FAILED_SIGNUP,description:"Public signup is disabled"});throw await t.env.data.logs.create(e.tenant.id,s),new z(400,{message:"Signups are disabled for this client"})}await eb(t,n)(t.var.tenant_id||"",r)}function sb(t,e){return{...e,users:{...e.users,create:ib(t,e)}}}async function ob(t,e,n,r){if(!r.state)throw new z(400,{message:"State not found"});const i=e.connections.find(l=>l.name===n);if(!i){t.set("client_id",e.id);const l=be(t,{type:me.FAILED_LOGIN,description:"Connection not found"});throw await t.env.data.logs.create(e.tenant.id,l),new z(403,{message:"Connection Not Found"})}let s=await t.env.data.logins.get(e.tenant.id,r.state);s||(s=await t.env.data.logins.create(e.tenant.id,{expires_at:new Date(Date.now()+Xr*1e3).toISOString(),authParams:r,...Tn(t.req)}));const c=await Ag(t,i.strategy).getRedirect(t,i);return await t.env.data.codes.create(e.tenant.id,{login_id:s.login_id,code_id:c.code,code_type:"oauth2_state",connection_id:i.id,code_verifier:c.codeVerifier,expires_at:new Date(Date.now()+Py*1e3).toISOString()}),t.redirect(c.redirectUrl)}async function Ip(t,{code:e,state:n}){var f;const{env:r}=t,i=await r.data.codes.get(t.var.tenant_id||"",n,"oauth2_state");if(!i||!i.connection_id)throw new z(403,{message:"State not found"});const s=await r.data.logins.get(t.var.tenant_id||"",i.login_id);if(!s)throw new z(403,{message:"Session not found"});const o=await Fo(r,s.authParams.client_id);t.set("client_id",o.id),t.set("tenant_id",o.tenant.id);const c=o.connections.find(_=>_.id===i.connection_id);if(!c){const _=be(t,{type:me.FAILED_LOGIN,description:"Connection not found"});throw await r.data.logs.create(o.tenant.id,_),new z(403,{message:"Connection not found"})}if(t.set("connection",c.name),!s.authParams.redirect_uri){const _=be(t,{type:me.FAILED_LOGIN,description:"Redirect URI not defined"});throw await r.data.logs.create(o.tenant.id,_),new z(403,{message:"Redirect URI not defined"})}if(!Ko(s.authParams.redirect_uri,o.callbacks||[],{allowPathWildcards:!0})){const _=`Invalid redirect URI - ${s.authParams.redirect_uri}`,w=be(t,{type:me.FAILED_LOGIN,description:_});throw await r.data.logs.create(o.tenant.id,w),new z(403,{message:_})}const u=await Ag(t,c.strategy).validateAuthorizationCodeAndGetUser(t,c,e,i.code_verifier),{sub:p,...h}=u;t.set("user_id",p);const m=((f=u.email)==null?void 0:f.toLocaleLowerCase())||`${c.name}.${p}@${new URL(t.env.ISSUER).hostname}`;t.set("username",m);let v=await yn({userAdapter:r.data.users,tenant_id:o.tenant.id,email:m,provider:c.name});if(!v){try{await Pg(t,o,t.env.data,m)}catch(_){const w=_;throw new z(500,{message:`Failed to run preUserSignupHook: ${w.message}`})}v=await r.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(h)}),t.set("user_id",v.user_id)}return an(t,{client:o,authParams:s.authParams,loginSession:s,user:v})}async function Cp(t,e,n,r,i,s){const o=await t.env.data.codes.get(t.var.tenant_id||"",e,"oauth2_state");if(!o)throw new z(400,{message:"State not found"});const c=await t.env.data.logins.get(t.var.tenant_id,o.login_id);if(!c)throw new z(400,{message:"Login not found"});const{redirect_uri:l}=c.authParams;if(!l)throw new z(400,{message:"Redirect uri not found"});const u=be(t,{type:me.FAILED_LOGIN,description:`Failed connection login: ${i} ${n}, ${r}`});Qe(t,t.env.data.logs.create(t.var.tenant_id,u));const p=new URL(l);return Oy(p,{error:n,error_description:r,error_reason:s,error_code:i,state:c.authParams.state}),t.redirect(`${At(t.env)}enter-email?state=${c.login_id}&error=${n}`)}const ab=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 t=>{const{state:e,code:n,error:r,error_description:i,error_code:s,error_reason:o}=t.req.valid("query");if(r)return Cp(t,e,r,i,s,o);if(!n)throw new z(400,{message:"Code is required"});return Ip(t,{code:n,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 t=>{const{state:e,code:n,error:r,error_description:i,error_code:s,error_reason:o}=t.req.valid("form");if(r)return Cp(t,e,r,i,s,o);if(!n)throw new z(400,{message:"Code is required"});return Ip(t,{code:n,state:e})}),cb=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 t=>{const{client_id:e,returnTo:n}=t.req.valid("query"),r=await t.env.data.clients.get(e);if(!r)return t.text("OK");const i=await t.env.data.clients.get("DEFAULT_CLIENT");t.set("client_id",e),t.set("tenant_id",r.tenant.id);const s=n||t.req.header("referer");if(!s)return t.text("OK");if(!Ko(s,[...r.allowed_logout_urls||[],...(i==null?void 0:i.allowed_logout_urls)||[]],{allowPathWildcards:!0}))throw new z(400,{message:"Invalid redirect uri"});const o=t.req.header("cookie");if(o){const l=Hs(r.tenant.id,o);if(l){const u=await t.env.data.sessions.get(r.tenant.id,l);if(u){const p=await t.env.data.users.get(r.tenant.id,u.user_id);p&&(t.set("user_id",p.user_id),t.set("connection",p.connection))}await t.env.data.sessions.remove(r.tenant.id,l)}}const c=be(t,{type:me.SUCCESS_LOGOUT,description:"User successfully logged out"});return await t.env.data.logs.create(r.tenant.id,c),new Response("Redirecting",{status:302,headers:{"set-cookie":zv(r.tenant.id),location:s}})}),Np=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()}),lb=new a.OpenAPIHono().openapi(a.createRoute({tags:["oauth2"],method:"get",path:"/",request:{},security:[{Bearer:["openid"]}],responses:{200:{content:{"application/json":{schema:Np}},description:"Userinfo"}}}),async t=>{if(!t.var.user)throw new z(404,{message:"User not found"});const e=await t.env.data.users.get(t.var.user.tenant_id,t.var.user.sub);if(!e)throw new z(404,{message:"User not found"});return t.json(Np.parse({...e,sub:e.user_id}))}),ub=new a.OpenAPIHono().openapi(a.createRoute({tags:["well known"],method:"get",path:"/jwks.json",request:{},responses:{200:{content:{"application/json":{schema:af}},description:"List of tenants"}}}),async t=>{const e=await t.env.data.keys.list(),n=await Promise.all(e.map(async r=>{const s=await new Hl(r.cert).publicKey.export(),o=await crypto.subtle.exportKey("jwk",s);return el.parse({...o,kid:r.kid})}));return t.json({keys:n},{headers:{"access-control-allow-origin":"*","access-control-allow-method":"GET","cache-control":`public, max-age=${Ti}, stale-while-revalidate=${Ti*2}, stale-if-error=86400`}})}).openapi(a.createRoute({tags:["well known"],method:"get",path:"/openid-configuration",request:{},responses:{200:{content:{"application/json":{schema:Sa}},description:"List of tenants"}}}),async t=>{const e=Sa.parse({issuer:pv(t.env),authorization_endpoint:`${Ne(t.env)}authorize`,token_endpoint:`${Ne(t.env)}oauth/token`,device_authorization_endpoint:`${Ne(t.env)}oauth/device/code`,userinfo_endpoint:`${Ne(t.env)}userinfo`,mfa_challenge_endpoint:`${Ne(t.env)}mfa/challenge`,jwks_uri:`${Ne(t.env)}.well-known/jwks.json`,registration_endpoint:`${Ne(t.env)}oidc/register`,revocation_endpoint:`${Ne(t.env)}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 t.json(e,{headers:{"access-control-allow-origin":"*","access-control-allow-method":"GET","cache-control":`public, max-age=${Ti}, stale-while-revalidate=${Ti*2}, stale-if-error=86400`}})});function Fi(t,e){if(!t||!e||t.length!==e.length)return!1;let n=0;for(let r=0;r<t.length;r++)n|=t.charCodeAt(r)^e.charCodeAt(r);return n===0}const Rg=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 db(t,e){const n=await t.env.data.clients.get(e.client_id);if(!n)throw new z(403,{message:"Invalid client credentials"});if(n.client_secret&&!Fi(n.client_secret,e.client_secret))throw new z(403,{message:"Invalid client credentials"});const r={client_id:n.id,scope:e.scope,audience:e.audience},i=await Go(t,{authParams:r,client:n});return t.json(i)}const pb=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(t=>"client_secret"in t&&!("code_verifier"in t)||!("client_secret"in t)&&"code_verifier"in t,{message:"Must provide either client_secret (standard flow) or code_verifier/code_verifier_mode (PKCE flow), but not both"});async function fb(t,e){const n=await t.env.data.clients.get(e.client_id);if(!n)throw new z(403,{message:"Client not found"});const r=await t.env.data.codes.get(n.tenant.id,e.code,"authorization_code");if(!r||!r.user_id)throw new z(403,{message:"Invalid client credentials"});if(new Date(r.expires_at)<new Date)throw new z(403,{message:"Code expired"});if(r.used_at)throw new z(403,{message:"Code already used"});const i=await t.env.data.logins.get(n.tenant.id,r.login_id);if(!i)throw new z(403,{message:"Invalid login"});if("client_secret"in e){const o=await t.env.data.clients.get("DEFAULT_CLIENT");if(!Fi(n.client_secret,e.client_secret)&&!Fi(o==null?void 0:o.client_secret,e.client_secret))throw new z(403,{message:"Invalid client credentials"})}else if("code_verifier"in e&&typeof e.code_verifier=="string"&&"code_challenge_method"in i.authParams&&typeof i.authParams.code_challenge_method=="string"){const o=await Cv(e.code_verifier,i.authParams.code_challenge_method);if(!Fi(o,i.authParams.code_challenge||""))throw new z(403,{message:"Invalid client credentials"})}if(i.authParams.redirect_uri&&i.authParams.redirect_uri!==e.redirect_uri)throw new z(403,{message:"Invalid redirect uri"});const s=await t.env.data.users.get(n.tenant.id,r.user_id);if(!s)throw new z(403,{message:"User not found"});return await t.env.data.codes.used(n.tenant.id,e.code),an(t,{user:s,client:n,loginSession:i,authParams:{...i.authParams,response_mode:Zt.WEB_MESSAGE}})}const hb=a.z.object({grant_type:a.z.literal("refresh_token"),client_id:a.z.string(),redirect_uri:a.z.string().optional(),refresh_token:a.z.string()});async function gb(t,e){const n=await t.env.data.clients.get(e.client_id);if(!n)throw new z(403,{message:"Client not found"});const r=await t.env.data.refreshTokens.get(n.tenant.id,e.refresh_token);if(r){if(r.expires_at&&new Date(r.expires_at)<new Date||r.idle_expires_at&&new Date(r.idle_expires_at)<new Date)throw new z(403,{message:JSON.stringify({error:"invalid_grant",error_description:"Refresh token has expired"})})}else throw new z(403,{message:JSON.stringify({error:"invalid_grant",error_description:"Invalid refresh token"})});const i=await t.env.data.users.get(n.tenant.id,r.user_id);if(!i)throw new z(403,{message:"User not found"});const s=r.resource_servers[0];if(r.idle_expires_at){const o=new Date(Date.now()+2592e6);await t.env.data.refreshTokens.update(n.tenant.id,r.id,{idle_expires_at:o.toISOString(),last_exchanged_at:new Date().toISOString(),device:{...r.device,last_ip:t.req.header["x-real-ip"]||"",last_user_agent:t.req.header["user-agent"]||""}})}return an(t,{user:i,client:n,refreshToken:r.id,sessionId:r.session_id,authParams:{client_id:n.id,audience:s==null?void 0:s.audience,scope:s==null?void 0:s.scopes,response_mode:Zt.WEB_MESSAGE}})}const zp=a.z.object({client_id:a.z.string().optional(),client_secret:a.z.string().optional()}),mb=a.z.union([Rg.extend(zp.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(),...zp.shape}),a.z.object({grant_type:a.z.literal("refresh_token"),client_id:a.z.string(),refresh_token:a.z.string(),redirect_uri:a.z.string().optional()})]);function _b(t){if(!t)return{};const[e,n]=t.split(" ");if((e==null?void 0:e.toLowerCase())==="basic"&&n){const[r,i]=atob(n).split(":");return{client_id:r,client_secret:i}}return{}}const yb=new a.OpenAPIHono().openapi(a.createRoute({tags:["oauth2"],method:"post",path:"/",request:{body:{content:{"application/x-www-form-urlencoded":{schema:mb}}}},responses:{200:{content:{"application/json":{schema:ff}},description:"Tokens"}}}),async t=>{const e=t.req.valid("form"),n=_b(t.req.header("Authorization")),r={...e,...n};if(!r.client_id)throw new z(400,{message:"client_id is required"});switch(e.grant_type){case jr.AuthorizationCode:return fb(t,pb.parse(r));case jr.ClientCredential:return db(t,Rg.parse(r));case jr.RefreshToken:return gb(t,hb.parse(r));default:throw new z(400,{message:"Not implemented"})}});var Ql={exports:{}};const eu=[{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}],Lg=(t,e=eu,n="!\"#$%&'()*+,-./:;<=>?@[\\\\\\]^_`{|}~")=>{let r=t||"";e[0].minDiversity=0,e[0].minLength=0;const i=[{regex:"[a-z]",message:"lowercase"},{regex:"[A-Z]",message:"uppercase"},{regex:"[0-9]",message:"number"}];n&&i.push({regex:`[${n}]`,message:"symbol"});let s={};s.contains=i.filter(c=>new RegExp(`${c.regex}`).test(r)).map(c=>c.message),s.length=r.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};Ql.exports={passwordStrength:Lg,defaultOptions:eu};var vb=Ql.exports.passwordStrength=Lg;Ql.exports.defaultOptions=eu;function tu(t){return vb(t).id<2?!1:t.length>=8&&/[a-z]/.test(t)&&/[A-Z]/.test(t)&&/[0-9]/.test(t)&&/[^A-Za-z0-9]/.test(t)}async function Jo(t,e){var i;const n=await t.env.data.emailProviders.get(t.var.tenant_id)||(t.env.DEFAULT_TENANT_ID?await t.env.data.emailProviders.get(t.env.DEFAULT_TENANT_ID):null);if(!n)throw new z(500,{message:"Email provider not found"});const r=(i=t.env.emailProviders)==null?void 0:i[n.name];if(!r)throw new z(500,{message:"Email provider not found"});await r({emailProvider:n,...e,from:n.default_from_address||`login@${t.env.ISSUER}`})}async function Ug(t,e,n,r){const i=await t.env.data.tenants.get(t.var.tenant_id);if(!i)throw new z(500,{message:"Tenant not found"});const s=`${At(t.env)}reset-password?state=${r}&code=${n}`,o={vendorName:i.name,lng:i.language||"en"};await Jo(t,{to:e,subject:"Reset your password",html:`Click here to reset your password: ${At(t.env)}reset-password?state=${r}&code=${n}`,template:"auth-password-reset",data:{vendorName:i.name,logo:i.logo||"",passwordResetUrl:s,supportUrl:i.support_url||"https://support.sesamy.com",buttonColor:i.primary_color||"#7d68f4",passwordResetTitle:de("password_reset_title",o),resetPasswordEmailClickToReset:de("reset_password_email_click_to_reset",o),resetPasswordEmailReset:de("reset_password_email_reset",o),supportInfo:de("support_info",o),contactUs:de("contact_us",o),copyright:de("copyright",o)}})}async function Vg(t,e,n){const r=await t.env.data.tenants.get(t.var.tenant_id);if(!r)throw new z(500,{message:"Tenant not found"});const i={vendorName:r.name,code:n,lng:r.language||"en"};await Jo(t,{to:e,subject:de("code_email_subject",i),html:`Click here to validate your email: ${At(t.env)}validate-email`,template:"auth-link",data:{code:n,vendorName:r.name,logo:r.logo||"",supportUrl:r.support_url||"",magicLink:`${Ne(t.env)}passwordless/verify_redirect?ticket=${n}`,buttonColor:r.primary_color||"",welcomeToYourAccount:de("welcome_to_your_account",i),linkEmailClickToLogin:de("link_email_click_to_login",i),linkEmailLogin:de("link_email_login",i),linkEmailOrEnterCode:de("link_email_or_enter_code",i),codeValid30Mins:de("code_valid_30_minutes",i),supportInfo:de("support_info",i),contactUs:de("contact_us",i),copyright:de("copyright",i)}});const s=be(t,{type:me.CODE_LINK_SENT,description:e});Qe(t,t.env.data.logs.create(r.id,s))}async function nu(t,e,n,r){const i=await t.env.data.tenants.get(t.var.tenant_id);if(!i)throw new z(500,{message:"Tenant not found"});if(!r.redirect_uri)throw new z(400,{message:"redirect_uri is required"});const s=new URL(Ne(t.env));s.pathname="passwordless/verify_redirect",s.searchParams.set("verification_code",n),s.searchParams.set("connection","email"),s.searchParams.set("client_id",r.client_id),s.searchParams.set("redirect_uri",r.redirect_uri),s.searchParams.set("email",e),r.response_type&&s.searchParams.set("response_type",r.response_type),r.scope&&s.searchParams.set("scope",r.scope),r.state&&s.searchParams.set("state",r.state),r.nonce&&s.searchParams.set("nonce",r.nonce),r.code_challenge&&s.searchParams.set("code_challenge",r.code_challenge),r.code_challenge_method&&s.searchParams.set("code_challenge_method",r.code_challenge_method),r.audience&&s.searchParams.set("audience",r.audience);const o={vendorName:i.name,code:n,lng:i.language||"en"};await Jo(t,{to:e,subject:de("code_email_subject",o),html:`Click here to validate your email: ${At(t.env)}validate-email`,template:"auth-link",data:{code:n,vendorName:i.name,logo:i.logo||"",supportUrl:i.support_url||"",magicLink:s.toString(),buttonColor:i.primary_color||"",welcomeToYourAccount:de("welcome_to_your_account",o),linkEmailClickToLogin:de("link_email_click_to_login",o),linkEmailLogin:de("link_email_login",o),linkEmailOrEnterCode:de("link_email_or_enter_code",o),codeValid30Mins:de("code_valid_30_minutes",o),supportInfo:de("support_info",o),contactUs:de("contact_us",o),copyright:de("copyright",o)}});const c=be(t,{type:me.CODE_LINK_SENT,description:e});Qe(t,t.env.data.logs.create(i.id,c))}async function ru(t,e){const n=await t.env.data.tenants.get(t.var.tenant_id);if(!n)throw new z(500,{message:"Tenant not found"});const r={vendorName:n.name,lng:n.language||"en"};await Jo(t,{to:e.email,subject:"Validate your email address",html:`Click here to validate your email: ${At(t.env)}validate-email`,template:"auth-verify-email",data:{vendorName:n.name,logo:n.logo||"",emailValidationUrl:`${At(t.env)}validate-email`,supportUrl:n.support_url||"https://support.sesamy.com",buttonColor:n.primary_color||"#7d68f4",welcomeToYourAccount:de("welcome_to_your_account",r),verifyEmailVerify:de("verify_email_verify",r),supportInfo:de("support_info",r),contactUs:de("contact_us",r),copyright:de("copyright",r)}})}const wb=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(t=>t.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 t=>{const{email:e,password:n,client_id:r}=t.req.valid("json"),i=await t.env.data.clients.get(r);if(!i)throw new z(400,{message:"Client not found"});if(t.set("client_id",i.id),t.set("tenant_id",i.tenant.id),!tu(n))throw new z(400,{message:"Password does not meet the requirements"});if(await yn({userAdapter:t.env.data.users,tenant_id:i.tenant.id,email:e,provider:"auth2"}))throw new z(400,{message:"Invalid sign up"});const o=await t.env.data.users.create(i.tenant.id,{user_id:`auth2|${oi()}`,email:e,email_verified:!1,provider:"auth2",connection:"Username-Password-Authentication",is_social:!1});t.set("user_id",o.user_id),t.set("username",o.email),t.set("connection",o.connection);const c=await si.hash(n,10);await t.env.data.passwords.create(i.tenant.id,{user_id:o.user_id,password:c,algorithm:"bcrypt"}),await ru(t,o);const l=be(t,{type:me.SUCCESS_SIGNUP,description:"Successful signup"});return await t.env.data.logs.create(i.tenant.id,l),t.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(t=>t.toLowerCase())})}}}},responses:{200:{description:"Redirect to the client's redirect uri"}}}),async t=>{const{email:e,client_id:n}=t.req.valid("json"),r=await t.env.data.clients.get(n);if(!r)throw new z(400,{message:"Client not found"});if(t.set("client_id",r.id),t.set("tenant_id",r.tenant.id),!await Gn({userAdapter:t.env.data.users,tenant_id:r.tenant.id,email:e,provider:"auth2"}))return t.html("If an account with that email exists, we've sent instructions to reset your password.");const s={client_id:n,username:e},o=await t.env.data.logins.create(r.tenant.id,{expires_at:new Date(Date.now()+Xr*1e3).toISOString(),authParams:s,...Tn(t.req)});return await Ug(t,e,o.login_id,o.authParams.state),t.html("If an account with that email exists, we've sent instructions to reset your password.")});function or(){const t="1234567890";let e="";for(let n=0;n<6;n+=1)e+=t[Math.floor(Math.random()*10)];return e.toString()}async function iu(t,e,n,r,i,s){const{env:o}=t,c=await o.data.codes.get(e.tenant.id,i,"otp");if(!c)throw new z(400,{message:"Code not found or expired"});if(c.expires_at<new Date().toISOString())throw new z(400,{message:"Code expired"});if(c.used_at)throw new z(400,{message:"Code already used"});const l=await o.data.logins.get(e.tenant.id,c.login_id);if(!l||l.authParams.username!==r)throw new z(400,{message:"Code not found or expired"});const u=Tn(t.req);if(l.ip!==u.ip)return t.redirect(`${At(t.env)}invalid-session?state=${l.login_id}`);if(n.redirect_uri&&!Ko(n.redirect_uri,e.callbacks,{allowPathWildcards:!0}))throw new z(400,{message:`Invalid redirect URI - ${n.redirect_uri}`});let p=await yn({userAdapter:o.data.users,tenant_id:e.tenant.id,email:r,provider:"email"});if(!p){if(e.disable_sign_ups&&!(await Ys(t.env.data.users,e.tenant.id,r)).length)throw new z(400,{message:"User not found"});p=await o.data.users.create(e.tenant.id,{email:r,email_verified:!0,connection:"email",provider:"email",is_social:!1,user_id:`email|${Re()}`})}return await o.data.codes.used(e.tenant.id,i),an(t,{user:p,client:e,loginSession:l,authParams:n,ticketAuth:s})}const bb=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(t=>t.toLowerCase()),send:a.z.enum(["link","code"]),authParams:Qc.omit({client_id:!0})})}}}},responses:{200:{description:"Status"}}}),async t=>{const e=t.req.valid("json"),{env:n}=t,{client_id:r,email:i,send:s,authParams:o}=e,c=await t.env.data.clients.get(r);if(!c)throw new z(400,{message:"Client not found"});t.set("client_id",c.id),t.set("tenant_id",c.tenant.id);const l=await n.data.logins.create(c.tenant.id,{authParams:{...o,client_id:r,username:i},expires_at:new Date(Date.now()+Fc).toISOString(),...Tn(t.req)}),u=await n.data.codes.create(c.tenant.id,{code_id:or(),code_type:"otp",login_id:l.login_id,expires_at:new Date(Date.now()+Fc).toISOString()});return s==="link"?await nu(t,i,u.code_id,{...o,client_id:r}):await Vg(t,i,u.code_id),t.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(Jt),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(t=>t.toLowerCase()),audience:a.z.string().optional()})},responses:{302:{description:"Status"}}}),async t=>{const{env:e}=t,{client_id:n,email:r,verification_code:i,redirect_uri:s,state:o,scope:c,audience:l,response_type:u,nonce:p}=t.req.valid("query"),h=await Fo(e,n);return t.set("client_id",h.id),t.set("tenant_id",h.tenant.id),t.set("connection","email"),iu(t,h,{client_id:n,redirect_uri:s,state:o,nonce:p,scope:c,audience:l,response_type:u},r,i)});class Ir extends z{constructor(n,r){super(n,r);ee(this,"_code");this._code=r==null?void 0:r.code}get code(){return this._code}}async function su(t,e,n,r,i){const{env:s}=t,o=n.username;if(t.set("username",o),!o)throw new z(400,{message:"Username is required"});const c=await Gn({userAdapter:t.env.data.users,tenant_id:e.tenant.id,email:o,provider:"auth2"});if(!c){const f=be(t,{type:me.FAILED_LOGIN_INCORRECT_PASSWORD,description:"Invalid user"});throw Qe(t,t.env.data.logs.create(e.tenant.id,f)),new Ir(403,{message:"User not found",code:"USER_NOT_FOUND"})}const l=c.linked_to?await s.data.users.get(e.tenant.id,c.linked_to):c;if(!l)throw new Ir(403,{message:"User not found",code:"USER_NOT_FOUND"});t.set("connection",c.connection),t.set("user_id",l.user_id);const{password:u}=await s.data.passwords.get(e.tenant.id,c.user_id);if(!await si.compare(n.password,u)){const f=be(t,{type:me.FAILED_LOGIN_INCORRECT_PASSWORD,description:"Invalid password"});throw Qe(t,t.env.data.logs.create(e.tenant.id,f)),new Ir(403,{message:"Invalid password",code:"INVALID_PASSWORD"})}if((await s.data.logs.list(e.tenant.id,{page:0,per_page:10,include_totals:!1,q:`user_id:${l.user_id}`})).logs.filter(f=>f.type===me.FAILED_LOGIN_INCORRECT_PASSWORD&&new Date(f.date)>new Date(Date.now()-1e3*60*5)).length>=3){const f=be(t,{type:me.FAILED_LOGIN,description:"Too many failed login attempts"});throw Qe(t,t.env.data.logs.create(e.tenant.id,f)),new Ir(403,{message:"Too many failed login attempts",code:"TOO_MANY_FAILED_LOGINS"})}if(!c.email_verified&&e.email_validation==="enforced"){await ru(t,c);const f=be(t,{type:me.FAILED_LOGIN,description:"Email not verified"});throw await t.env.data.logs.create(e.tenant.id,f),new Ir(403,{message:"Email not verified",code:"EMAIL_NOT_VERIFIED"})}const v=be(t,{type:me.SUCCESS_LOGIN,description:"Successful login",strategy_type:"Username-Password-Authentication",strategy:"Username-Password-Authentication"});return Qe(t,t.env.data.logs.create(e.tenant.id,v)),an(t,{client:e,authParams:n,user:l,ticketAuth:i,loginSession:r})}async function kb(t,e,n,r){let i=await yn({userAdapter:t.env.data.users,tenant_id:e.tenant.id,email:n,provider:"auth2"});if(!i){if(!(await Ys(t.env.data.users,e.tenant.id,n)).length)return;i=await t.env.data.users.create(e.tenant.id,{user_id:`email|${oi()}`,email:n,email_verified:!1,is_social:!1,provider:"auth2",connection:"Username-Password-Authentication"})}const s=await t.env.data.logins.create(e.tenant.id,{expires_at:new Date(Date.now()+Uy).toISOString(),authParams:{client_id:e.id,username:n},...Tn(t.req)});let o=or(),c=await t.env.data.codes.get(e.tenant.id,o,"password_reset");for(;c;)o=or(),c=await t.env.data.codes.get(e.tenant.id,o,"password_reset");const l=await t.env.data.codes.create(e.tenant.id,{code_id:o,code_type:"password_reset",login_id:s.login_id,expires_at:new Date(Date.now()+Ly).toISOString()});await Ug(t,n,l.code_id,r)}const xb=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(t=>t.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(t=>t.toLowerCase()),password:a.z.string(),realm:a.z.enum(["Username-Password-Authentication"]),scope:a.z.string().optional()})])}}}},responses:{200:{description:"List of tenants"}}}),async t=>{const e=t.req.valid("json"),{client_id:n,username:r}=e;t.set("username",r);const i=await t.env.data.clients.get(n);if(!i)throw new z(400,{message:"Client not found"});t.set("client_id",n),t.set("tenant_id",i.tenant.id);const s=r.toLocaleLowerCase();if("otp"in e)return iu(t,i,{client_id:n,username:s},s,e.otp,!0);if("password"in e){const o=await t.env.data.logins.create(i.tenant.id,{expires_at:new Date(Date.now()+Xr*1e3).toISOString(),authParams:{client_id:n,username:s},...Tn(t.req)});return su(t,i,{username:s,password:e.password,client_id:n},o,!0)}else throw new z(400,{message:"Code or password required"})});function Sb(t,e){var r,i,s;if(!t||e.length===0)return!1;const n=((r=fa(t))==null?void 0:r.host)??null;if(!n)return!1;for(const o of e){let c;if(o.startsWith("http://")||o.startsWith("https://")?c=((i=fa(o))==null?void 0:i.host)??null:c=((s=fa("https://"+o))==null?void 0:s.host)??null,n===c)return!0}return!1}function fa(t){try{return new URL(t)}catch{return null}}async function Ab({ctx:t,session:e,client:n,authParams:r,connection:i,login_hint:s}){const o=await t.env.data.logins.create(n.tenant.id,{expires_at:new Date(Date.now()+Xr*1e3).toISOString(),authParams:r,...Tn(t.req)});if(e&&s){const c=await t.env.data.users.get(n.tenant.id,e.user_id);if((c==null?void 0:c.email)===s)return an(t,{client:n,loginSession:o,authParams:r,user:c,sessionId:e.id})}if(i==="email"&&s){const c=or();return await t.env.data.codes.create(n.tenant.id,{code_id:c,code_type:"otp",login_id:o.login_id,expires_at:new Date(Date.now()+Xr*1e3).toISOString()}),await nu(t,s,c,r),t.redirect(`/u/enter-code?state=${o.login_id}`)}return e?t.redirect(`/u/check-account?state=${o.login_id}`):t.redirect(`/u/enter-email?state=${o.login_id}`)}function Eb(t){if(t==="Username-Password-Authentication")return"auth2";if(t==="email")return"email";throw new z(403,{message:"Invalid realm"})}async function Ib(t,e,n,r,i){var m;const{env:s}=t;t.set("connection",i);const o=await s.data.codes.get(e,n,"ticket");if(!o||o.used_at)throw new z(403,{message:"Ticket not found"});const c=await s.data.logins.get(e,o.login_id);if(!c||!c.authParams.username)throw new z(403,{message:"Session not found"});const l=await s.data.clients.get(c.authParams.client_id);if(!l)throw new z(403,{message:"Client not found"});t.set("client_id",c.authParams.client_id),await s.data.codes.used(e,n);const u=Eb(i);let p=await yn({userAdapter:s.data.users,tenant_id:e,email:c.authParams.username,provider:u});p||(p=await s.data.users.create(e,{user_id:`email|${oi()}`,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()})),t.set("username",p.email),t.set("user_id",p.user_id);const h=await Tg(t,{user:p,client:l,scope:r.scope,audience:r.audience});return an(t,{authParams:{scope:(m=c.authParams)==null?void 0:m.scope,...r},loginSession:c,sessionId:h.id,user:p,client:l})}async function $p(t,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 Cb({ctx:t,client:e,session:n,redirect_uri:r,state:i,nonce:s,code_challenge_method:o,code_challenge:c,audience:l,scope:u,response_type:p}){const{env:h}=t,m=new URL(r);if(n!=null&&n.expires_at&&new Date(n.expires_at)>new Date){t.set("user_id",n.user_id);const f=new Headers,_=Ig(e.tenant.id,n.id);f.set("set-cookie",_);const w=await h.data.users.get(e.tenant.id,n.user_id);if(w){t.set("username",w.email),t.set("connection",w.connection);const S=await Wo(t,{client:e,authParams:{client_id:e.id,audience:l,code_challenge_method:o,code_challenge:c,scope:u,state:i,nonce:s,response_type:p},user:w,session_id:n.id});await h.data.sessions.update(e.tenant.id,n.id,{used_at:new Date().toISOString(),expires_at:new Date(Date.now()+qo*1e3).toISOString()});const N=be(t,{type:me.SUCCESS_SILENT_AUTH,description:"Successful silent authentication"});return await t.env.data.logs.create(e.tenant.id,N),t.html($p(`${m.protocol}//${m.host}`,JSON.stringify(S)),{headers:f})}}const v=be(t,{type:me.FAILED_SILENT_AUTH,description:"Login required"});return await t.env.data.logs.create(e.tenant.id,v),t.html($p(`${m.protocol}//${m.host}`,JSON.stringify({error:"login_required",error_description:"Login required",state:i})))}const Nb=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(Zt).optional(),response_type:a.z.nativeEnum(Jt).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(Js).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 t=>{const{env:e}=t,{client_id:n,vendor_id:r,redirect_uri:i,scope:s,state:o,audience:c,nonce:l,connection:u,response_type:p,response_mode:h,code_challenge:m,code_challenge_method:v,prompt:f,login_ticket:_,realm:w,auth0Client:S,login_hint:N,ui_locales:B}=t.req.valid("query");t.set("log","authorize");const R=await Ho(e,n);t.set("client_id",R.id),t.set("tenant_id",R.tenant.id);const te={redirect_uri:i,scope:s,state:o,client_id:n,vendor_id:r,audience:c,nonce:l,prompt:f,response_type:p,response_mode:h,code_challenge:m,code_challenge_method:v,username:N,ui_locales:B},fe=t.req.header("origin");if(fe&&!Sb(fe,R.web_origins||[]))throw new z(403,{message:`Origin ${fe} not allowed`});if(te.redirect_uri&&!Fo(te.redirect_uri,R.callbacks||[],{allowPathWildcards:!0}))throw new z(400,{message:`Invalid redirect URI - ${te.redirect_uri}`});const le=Hs(R.tenant.id,t.req.header("cookie")),Ve=le?await e.data.sessions.get(R.tenant.id,le):void 0;if(f=="none"){if(!p)throw new z(400,{message:"Missing response_type"});return Cb({ctx:t,session:Ve||void 0,redirect_uri:i,state:o,response_type:p,client:R,nonce:l,code_challenge_method:v,code_challenge:m,audience:c,scope:s})}return u&&u!=="email"?ob(t,R,u,te):_?Ib(t,R.tenant.id,_,te,w):Ab({ctx:t,client:R,auth0Client:S,authParams:te,session:Ve||void 0,connection:u,login_hint:N})});function zb(){const t=new a.OpenAPIHono;t.use(mg(t));const e=t.route("/v2/logout",cb).route("/userinfo",lb).route("/.well-known",ub).route("/oauth/token",yb).route("/dbconnections",wb).route("/passwordless",bb).route("/co/authenticate",xb).route("/authorize",Nb).route("/callback",ab);return e.doc("/spec",{openapi:"3.0.0",info:{version:"1.0.0",title:"Oauth API"}}),gg(e),e}var $b={Stringify:1,BeforeStream:2,Stream:3},ft=(t,e)=>{const n=new String(t);return n.isEscaped=!0,n.callbacks=e,n},jb=/[&<>'"]/,Mg=async(t,e)=>{let n="";e||(e=[]);const r=await Promise.all(t);for(let i=r.length-1;n+=r[i],i--,!(i<0);i--){let s=r[i];typeof s=="object"&&e.push(...s.callbacks||[]);const o=s.isEscaped;if(s=await(typeof s=="object"?s.toString():s),typeof s=="object"&&e.push(...s.callbacks||[]),s.isEscaped??o)n+=s;else{const c=[n];Gt(s,c),n=c[0]}}return ft(n,e)},Gt=(t,e)=>{const n=t.search(jb);if(n===-1){e[0]+=t;return}let r,i,s=0;for(i=n;i<t.length;i++){switch(t.charCodeAt(i)){case 34:r=""";break;case 39:r="'";break;case 38:r="&";break;case 60:r="<";break;case 62:r=">";break;default:continue}e[0]+=t.substring(s,i)+r,s=i+1}e[0]+=t.substring(s,i)},qg=t=>{const e=t.callbacks;if(!(e!=null&&e.length))return t;const n=[t],r={};return e.forEach(i=>i({phase:$b.Stringify,buffer:n,context:r})),n[0]},Ob=(t,...e)=>{const n=[""];for(let r=0,i=t.length-1;r<i;r++){n[0]+=t[r];const s=Array.isArray(e[r])?e[r].flat(1/0):[e[r]];for(let o=0,c=s.length;o<c;o++){const l=s[o];if(typeof l=="string")Gt(l,n);else if(typeof l=="number")n[0]+=l;else{if(typeof l=="boolean"||l===null||l===void 0)continue;if(typeof l=="object"&&l.isEscaped)if(l.callbacks)n.unshift("",l);else{const u=l.toString();u instanceof Promise?n.unshift("",u):n[0]+=u}else l instanceof Promise?n.unshift("",l):Gt(l.toString(),n)}}}return n[0]+=t[t.length-1],n.length===1?"callbacks"in n?ft(qg(ft(n[0],n.callbacks))):ft(n[0]):Mg(n,n.callbacks)},ou=Symbol("RENDERER"),Wc=Symbol("ERROR_HANDLER"),Se=Symbol("STASH"),Dg=Symbol("INTERNAL"),Bb=Symbol("MEMO"),Fs=Symbol("PERMALINK"),jp=t=>(t[Dg]=!0,t),Hg=t=>({value:e,children:n})=>{if(!n)return;const r={children:[{tag:jp(()=>{t.push(e)}),props:{}}]};Array.isArray(n)?r.children.push(...n.flat()):r.children.push(n),r.children.push({tag:jp(()=>{t.pop()}),props:{}});const i={tag:"",props:r,type:""};return i[Wc]=s=>{throw t.pop(),s},i},Fg=t=>{const e=[t],n=Hg(e);return n.values=e,n.Provider=n,ar.push(n),n},ar=[],Tb=t=>{const e=[t],n=r=>{e.push(r.value);let i;try{i=r.children?(Array.isArray(r.children)?new Jg("",{},r.children):r.children).toString():""}finally{e.pop()}return i instanceof Promise?i.then(s=>ft(s,s.callbacks)):ft(i)};return n.values=e,n.Provider=n,n[ou]=Hg(e),ar.push(n),n},wr=t=>t.values.at(-1),Ki={title:[],script:["src"],style:["data-href"],link:["href"],meta:["name","httpEquiv","charset","itemProp"]},Gc={},Wi="data-precedence",Ai=t=>Array.isArray(t)?t:[t],Op=new WeakMap,Bp=(t,e,n,r)=>({buffer:i,context:s})=>{if(!i)return;const o=Op.get(s)||{};Op.set(s,o);const c=o[t]||(o[t]=[]);let l=!1;const u=Ki[t];if(u.length>0){e:for(const[,p]of c)for(const h of u)if(((p==null?void 0:p[h])??null)===(n==null?void 0:n[h])){l=!0;break e}}if(l?i[0]=i[0].replaceAll(e,""):u.length>0?c.push([e,n,r]):c.unshift([e,n,r]),i[0].indexOf("</head>")!==-1){let p;if(r===void 0)p=c.map(([h])=>h);else{const h=[];p=c.map(([m,,v])=>{let f=h.indexOf(v);return f===-1&&(h.push(v),f=h.length-1),[m,f]}).sort((m,v)=>m[1]-v[1]).map(([m])=>m)}p.forEach(h=>{i[0]=i[0].replaceAll(h,"")}),i[0]=i[0].replace(/(?=<\/head>)/,p.join(""))}},Ei=(t,e,n)=>ft(new ht(t,n,Ai(e??[])).toString()),Ii=(t,e,n,r)=>{if("itemProp"in n)return Ei(t,e,n);let{precedence:i,blocking:s,...o}=n;i=r?i??"":void 0,r&&(o[Wi]=i);const c=new ht(t,o,Ai(e||[])).toString();return c instanceof Promise?c.then(l=>ft(c,[...l.callbacks||[],Bp(t,l,o,i)])):ft(c,[Bp(t,c,o,i)])},Pb=({children:t,...e})=>{const n=au();if(n){const r=wr(n);if(r==="svg"||r==="head")return new ht("title",e,Ai(t??[]))}return Ii("title",t,e,!1)},Rb=({children:t,...e})=>{const n=au();return["src","async"].some(r=>!e[r])||n&&wr(n)==="head"?Ei("script",t,e):Ii("script",t,e,!1)},Lb=({children:t,...e})=>["href","precedence"].every(n=>n in e)?(e["data-href"]=e.href,delete e.href,Ii("style",t,e,!0)):Ei("style",t,e),Ub=({children:t,...e})=>["onLoad","onError"].some(n=>n in e)||e.rel==="stylesheet"&&(!("precedence"in e)||"disabled"in e)?Ei("link",t,e):Ii("link",t,e,"precedence"in e),Vb=({children:t,...e})=>{const n=au();return n&&wr(n)==="head"?Ei("meta",t,e):Ii("meta",t,e,!1)},Kg=(t,{children:e,...n})=>new ht(t,n,Ai(e??[])),Mb=t=>(typeof t.action=="function"&&(t.action=Fs in t.action?t.action[Fs]:void 0),Kg("form",t)),Wg=(t,e)=>(typeof e.formAction=="function"&&(e.formAction=Fs in e.formAction?e.formAction[Fs]:void 0),Kg(t,e)),qb=t=>Wg("input",t),Db=t=>Wg("button",t);const fa=Object.freeze(Object.defineProperty({__proto__:null,button:Db,form:Mb,input:qb,link:Ub,meta:Vb,script:Rb,style:Lb,title:Pb},Symbol.toStringTag,{value:"Module"}));var Hb=new Map([["className","class"],["htmlFor","for"],["crossOrigin","crossorigin"],["httpEquiv","http-equiv"],["itemProp","itemprop"],["fetchPriority","fetchpriority"],["noModule","nomodule"],["formAction","formaction"]]),Ks=t=>Hb.get(t)||t,Gg=(t,e)=>{for(const[n,r]of Object.entries(t)){const i=n[0]==="-"||!/[A-Z]/.test(n)?n:n.replace(/[A-Z]/g,s=>`-${s.toLowerCase()}`);e(i,r==null?null:typeof r=="number"?i.match(/^(?:a|border-im|column(?:-c|s)|flex(?:$|-[^b])|grid-(?:ar|[^a])|font-w|li|or|sca|st|ta|wido|z)|ty$/)?`${r}`:`${r}px`:r)}},ti=void 0,au=()=>ti,Fb=t=>/[A-Z]/.test(t)&&t.match(/^(?:al|basel|clip(?:Path|Rule)$|co|do|fill|fl|fo|gl|let|lig|i|marker[EMS]|o|pai|pointe|sh|st[or]|text[^L]|tr|u|ve|w)/)?t.replace(/([A-Z])/g,"-$1").toLowerCase():t,Kb=["area","base","br","col","embed","hr","img","input","keygen","link","meta","param","source","track","wbr"],Wb=["allowfullscreen","async","autofocus","autoplay","checked","controls","default","defer","disabled","download","formnovalidate","hidden","inert","ismap","itemscope","loop","multiple","muted","nomodule","novalidate","open","playsinline","readonly","required","reversed","selected"],cu=(t,e)=>{for(let n=0,r=t.length;n<r;n++){const i=t[n];if(typeof i=="string")Gt(i,e);else{if(typeof i=="boolean"||i===null||i===void 0)continue;i instanceof ht?i.toStringToBuffer(e):typeof i=="number"||i.isEscaped?e[0]+=i:i instanceof Promise?e.unshift("",i):cu(i,e)}}},ht=class{constructor(t,e,n){ee(this,"tag");ee(this,"props");ee(this,"key");ee(this,"children");ee(this,"isEscaped",!0);ee(this,"localContexts");this.tag=t,this.props=e,this.children=n}get type(){return this.tag}get ref(){return this.props.ref||null}toString(){var e,n;const t=[""];(e=this.localContexts)==null||e.forEach(([r,i])=>{r.values.push(i)});try{this.toStringToBuffer(t)}finally{(n=this.localContexts)==null||n.forEach(([r])=>{r.values.pop()})}return t.length===1?"callbacks"in t?qg(ft(t[0],t.callbacks)).toString():t[0]:Mg(t,t.callbacks)}toStringToBuffer(t){const e=this.tag,n=this.props;let{children:r}=this;t[0]+=`<${e}`;const i=ti&&wr(ti)==="svg"?s=>Fb(Ks(s)):s=>Ks(s);for(let[s,o]of Object.entries(n))if(s=i(s),s!=="children"){if(s==="style"&&typeof o=="object"){let c="";Gg(o,(l,u)=>{u!=null&&(c+=`${c?";":""}${l}:${u}`)}),t[0]+=' style="',Gt(c,t),t[0]+='"'}else if(typeof o=="string")t[0]+=` ${s}="`,Gt(o,t),t[0]+='"';else if(o!=null)if(typeof o=="number"||o.isEscaped)t[0]+=` ${s}="${o}"`;else if(typeof o=="boolean"&&Wb.includes(s))o&&(t[0]+=` ${s}=""`);else if(s==="dangerouslySetInnerHTML"){if(r.length>0)throw"Can only set one of `children` or `props.dangerouslySetInnerHTML`.";r=[ft(o.__html)]}else if(o instanceof Promise)t[0]+=` ${s}="`,t.unshift('"',o);else if(typeof o=="function"){if(!s.startsWith("on"))throw`Invalid prop '${s}' of type 'function' supplied to '${e}'.`}else t[0]+=` ${s}="`,Gt(o.toString(),t),t[0]+='"'}if(Kb.includes(e)&&r.length===0){t[0]+="/>";return}t[0]+=">",cu(r,t),t[0]+=`</${e}>`}},ha=class extends ht{toStringToBuffer(t){const{children:e}=this,n=this.tag.call(null,{...this.props,children:e.length<=1?e[0]:e});if(!(typeof n=="boolean"||n==null))if(n instanceof Promise)if(ar.length===0)t.unshift("",n);else{const r=ar.map(i=>[i,i.values.at(-1)]);t.unshift("",n.then(i=>(i instanceof ht&&(i.localContexts=r),i)))}else n instanceof ht?n.toStringToBuffer(t):typeof n=="number"||n.isEscaped?(t[0]+=n,n.callbacks&&(t.callbacks||(t.callbacks=[]),t.callbacks.push(...n.callbacks))):Gt(n,t)}},Jg=class extends ht{toStringToBuffer(t){cu(this.children,t)}},Gb=(t,e,...n)=>{e??(e={}),n.length&&(e.children=n.length===1?n[0]:n);const r=e.key;delete e.key;const i=Gi(t,e,n);return i.key=r,i},Tp=!1,Gi=(t,e,n)=>{if(!Tp){for(const r in Gc)fa[r][ou]=Gc[r];Tp=!0}return typeof t=="function"?new ha(t,e,n):fa[t]?new ha(fa[t],e,n):t==="svg"||t==="head"?(ti||(ti=Tb("")),new ht(t,e,[new ha(ti,{value:t},n)])):new ht(t,e,n)},lu=({children:t})=>new Jg("",{children:t},Array.isArray(t)?t:t?[t]:[]),Jb=(t,e,...n)=>Gb(t.tag,{...t.props,...e},...n);function y(t,e,n){let r;if(!e||!("children"in e))r=Gi(t,e,[]);else{const i=e.children;r=Array.isArray(i)?Gi(t,e,i):Gi(t,e,[i])}return r.key=n,r}const Pp={name:"sesamy",logoUrl:"https://assets.sesamy.com/static/images/email/sesamy-logo.png",style:{primaryColor:"#7D68F4",buttonTextColor:"#FFFFFF",primaryHoverColor:"#A091F2"},loginBackgroundImage:"",checkoutHideSocial:!1,supportEmail:"support@sesamy.com",supportUrl:"https://support.sesamy.com",siteUrl:"https://sesamy.com",termsAndConditionsUrl:"https://store.sesamy.com/pages/terms-of-service",manageSubscriptionsUrl:"https://account.sesamy.com/manage-subscriptions"};async function Zg(t,e,n){if(!n&&!e)return Pp;const r=n||e;try{const i=await fetch(`${t.API_URL}/profile/vendors/${r}/style`);if(!i.ok)throw new Error("Failed to fetch vendor settings");const s=await i.json();return nf.parse(s)}catch(i){return console.error(i),Pp}}async function Fe(t,e){var l;const{env:n}=t,r=await n.data.logins.get(t.var.tenant_id||"",e);if(!r)throw new z(400,{message:"Session not found"});t.set("login",r);const i=await Ho(n,r.authParams.client_id);t.set("client_id",i.id),t.set("tenant_id",i.tenant.id);const s=await n.data.tenants.get(i.tenant.id);if(!s)throw new z(400,{message:"Tenant not found"});const o=await Zg(n,i.id,r.authParams.vendor_id),c=(l=r.authParams.ui_locales)==null?void 0:l.split(" ").map(u=>u.split("-")[0]).find(u=>{if(Array.isArray(U.options.supportedLngs))return U.options.supportedLngs.includes(u)});return await U.changeLanguage(c||s.language||"sv"),{vendorSettings:{...o,termsAndConditionsUrl:i.id==="fokus-app"?"https://www.fokus.se/kopvillkor-app/":o.termsAndConditionsUrl},client:i,tenant:s,session:r}}async function Zb(t,e,n,r){if(r!==void 0)return r==="password";const i=await Ys({userAdapter:t.env.data.users,tenant_id:e.tenant.id,email:n});if(i){const o=await t.env.data.logs.list(e.tenant.id,{page:0,per_page:10,include_totals:!1,sort:{sort_by:"date",sort_order:"desc"},q:`type:${me.SUCCESS_LOGIN} user_id:${i.user_id}`}),[c]=o.logs.filter(l=>l.strategy&&["Username-Password-Authentication","passwordless","email"].includes(l.strategy));if(c)return c.strategy==="Username-Password-Authentication"}return(await t.env.data.promptSettings.get(e.tenant.id)).password_first}const Yb=({vendorSettings:t})=>t!=null&&t.logoUrl?y("div",{className:"flex h-9 items-center",children:y("img",{src:t.logoUrl,className:"max-h-full",alt:"Vendor logo"})}):y(lu,{}),Xb=({vendorSettings:t})=>{const{termsAndConditionsUrl:e}=t;return y("div",{className:"mt-8",children:e&&y("div",{className:"text-xs text-gray-300",children:[U.t("agree_to")," ",y("a",{href:e,className:"text-primary hover:underline",target:"_blank",rel:"noreferrer",children:U.t("terms")})]})})};var Yg={exports:{}};/*!
|
|
192
|
+
</html>`}async function Cb({ctx:t,client:e,session:n,redirect_uri:r,state:i,nonce:s,code_challenge_method:o,code_challenge:c,audience:l,scope:u,response_type:p}){const{env:h}=t,m=new URL(r);if(n!=null&&n.expires_at&&new Date(n.expires_at)>new Date){t.set("user_id",n.user_id);const f=new Headers,_=Ig(e.tenant.id,n.id);f.set("set-cookie",_);const w=await h.data.users.get(e.tenant.id,n.user_id);if(w){t.set("username",w.email),t.set("connection",w.connection);const S=await Go(t,{client:e,authParams:{client_id:e.id,audience:l,code_challenge_method:o,code_challenge:c,scope:u,state:i,nonce:s,response_type:p},user:w,session_id:n.id});await h.data.sessions.update(e.tenant.id,n.id,{used_at:new Date().toISOString(),expires_at:new Date(Date.now()+Do*1e3).toISOString()});const N=be(t,{type:me.SUCCESS_SILENT_AUTH,description:"Successful silent authentication"});return await t.env.data.logs.create(e.tenant.id,N),t.html($p(`${m.protocol}//${m.host}`,JSON.stringify(S)),{headers:f})}}const v=be(t,{type:me.FAILED_SILENT_AUTH,description:"Login required"});return await t.env.data.logs.create(e.tenant.id,v),t.html($p(`${m.protocol}//${m.host}`,JSON.stringify({error:"login_required",error_description:"Login required",state:i})))}const Nb=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(Zt).optional(),response_type:a.z.nativeEnum(Jt).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(Js).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 t=>{const{env:e}=t,{client_id:n,vendor_id:r,redirect_uri:i,scope:s,state:o,audience:c,nonce:l,connection:u,response_type:p,response_mode:h,code_challenge:m,code_challenge_method:v,prompt:f,login_ticket:_,realm:w,auth0Client:S,login_hint:N,ui_locales:B}=t.req.valid("query");t.set("log","authorize");const R=await Fo(e,n);t.set("client_id",R.id),t.set("tenant_id",R.tenant.id);const te={redirect_uri:i,scope:s,state:o,client_id:n,vendor_id:r,audience:c,nonce:l,prompt:f,response_type:p,response_mode:h,code_challenge:m,code_challenge_method:v,username:N,ui_locales:B},fe=t.req.header("origin");if(fe&&!Sb(fe,R.web_origins||[]))throw new z(403,{message:`Origin ${fe} not allowed`});if(te.redirect_uri&&!Ko(te.redirect_uri,R.callbacks||[],{allowPathWildcards:!0}))throw new z(400,{message:`Invalid redirect URI - ${te.redirect_uri}`});const le=Hs(R.tenant.id,t.req.header("cookie")),Ve=le?await e.data.sessions.get(R.tenant.id,le):void 0;if(f=="none"){if(!p)throw new z(400,{message:"Missing response_type"});return Cb({ctx:t,session:Ve||void 0,redirect_uri:i,state:o,response_type:p,client:R,nonce:l,code_challenge_method:v,code_challenge:m,audience:c,scope:s})}return u&&u!=="email"?ob(t,R,u,te):_?Ib(t,R.tenant.id,_,te,w):Ab({ctx:t,client:R,auth0Client:S,authParams:te,session:Ve||void 0,connection:u,login_hint:N})});function zb(){const t=new a.OpenAPIHono;t.use(mg(t));const e=t.route("/v2/logout",cb).route("/userinfo",lb).route("/.well-known",ub).route("/oauth/token",yb).route("/dbconnections",wb).route("/passwordless",bb).route("/co/authenticate",xb).route("/authorize",Nb).route("/callback",ab);return e.doc("/spec",{openapi:"3.0.0",info:{version:"1.0.0",title:"Oauth API"}}),gg(e),e}var $b={Stringify:1,BeforeStream:2,Stream:3},ft=(t,e)=>{const n=new String(t);return n.isEscaped=!0,n.callbacks=e,n},jb=/[&<>'"]/,Mg=async(t,e)=>{let n="";e||(e=[]);const r=await Promise.all(t);for(let i=r.length-1;n+=r[i],i--,!(i<0);i--){let s=r[i];typeof s=="object"&&e.push(...s.callbacks||[]);const o=s.isEscaped;if(s=await(typeof s=="object"?s.toString():s),typeof s=="object"&&e.push(...s.callbacks||[]),s.isEscaped??o)n+=s;else{const c=[n];Gt(s,c),n=c[0]}}return ft(n,e)},Gt=(t,e)=>{const n=t.search(jb);if(n===-1){e[0]+=t;return}let r,i,s=0;for(i=n;i<t.length;i++){switch(t.charCodeAt(i)){case 34:r=""";break;case 39:r="'";break;case 38:r="&";break;case 60:r="<";break;case 62:r=">";break;default:continue}e[0]+=t.substring(s,i)+r,s=i+1}e[0]+=t.substring(s,i)},qg=t=>{const e=t.callbacks;if(!(e!=null&&e.length))return t;const n=[t],r={};return e.forEach(i=>i({phase:$b.Stringify,buffer:n,context:r})),n[0]},Ob=(t,...e)=>{const n=[""];for(let r=0,i=t.length-1;r<i;r++){n[0]+=t[r];const s=Array.isArray(e[r])?e[r].flat(1/0):[e[r]];for(let o=0,c=s.length;o<c;o++){const l=s[o];if(typeof l=="string")Gt(l,n);else if(typeof l=="number")n[0]+=l;else{if(typeof l=="boolean"||l===null||l===void 0)continue;if(typeof l=="object"&&l.isEscaped)if(l.callbacks)n.unshift("",l);else{const u=l.toString();u instanceof Promise?n.unshift("",u):n[0]+=u}else l instanceof Promise?n.unshift("",l):Gt(l.toString(),n)}}}return n[0]+=t[t.length-1],n.length===1?"callbacks"in n?ft(qg(ft(n[0],n.callbacks))):ft(n[0]):Mg(n,n.callbacks)},ou=Symbol("RENDERER"),Gc=Symbol("ERROR_HANDLER"),Se=Symbol("STASH"),Dg=Symbol("INTERNAL"),Bb=Symbol("MEMO"),Fs=Symbol("PERMALINK"),jp=t=>(t[Dg]=!0,t),Hg=t=>({value:e,children:n})=>{if(!n)return;const r={children:[{tag:jp(()=>{t.push(e)}),props:{}}]};Array.isArray(n)?r.children.push(...n.flat()):r.children.push(n),r.children.push({tag:jp(()=>{t.pop()}),props:{}});const i={tag:"",props:r,type:""};return i[Gc]=s=>{throw t.pop(),s},i},Fg=t=>{const e=[t],n=Hg(e);return n.values=e,n.Provider=n,ar.push(n),n},ar=[],Tb=t=>{const e=[t],n=r=>{e.push(r.value);let i;try{i=r.children?(Array.isArray(r.children)?new Jg("",{},r.children):r.children).toString():""}finally{e.pop()}return i instanceof Promise?i.then(s=>ft(s,s.callbacks)):ft(i)};return n.values=e,n.Provider=n,n[ou]=Hg(e),ar.push(n),n},wr=t=>t.values.at(-1),Ki={title:[],script:["src"],style:["data-href"],link:["href"],meta:["name","httpEquiv","charset","itemProp"]},Jc={},Wi="data-precedence",Ai=t=>Array.isArray(t)?t:[t],Op=new WeakMap,Bp=(t,e,n,r)=>({buffer:i,context:s})=>{if(!i)return;const o=Op.get(s)||{};Op.set(s,o);const c=o[t]||(o[t]=[]);let l=!1;const u=Ki[t];if(u.length>0){e:for(const[,p]of c)for(const h of u)if(((p==null?void 0:p[h])??null)===(n==null?void 0:n[h])){l=!0;break e}}if(l?i[0]=i[0].replaceAll(e,""):u.length>0?c.push([e,n,r]):c.unshift([e,n,r]),i[0].indexOf("</head>")!==-1){let p;if(r===void 0)p=c.map(([h])=>h);else{const h=[];p=c.map(([m,,v])=>{let f=h.indexOf(v);return f===-1&&(h.push(v),f=h.length-1),[m,f]}).sort((m,v)=>m[1]-v[1]).map(([m])=>m)}p.forEach(h=>{i[0]=i[0].replaceAll(h,"")}),i[0]=i[0].replace(/(?=<\/head>)/,p.join(""))}},Ei=(t,e,n)=>ft(new ht(t,n,Ai(e??[])).toString()),Ii=(t,e,n,r)=>{if("itemProp"in n)return Ei(t,e,n);let{precedence:i,blocking:s,...o}=n;i=r?i??"":void 0,r&&(o[Wi]=i);const c=new ht(t,o,Ai(e||[])).toString();return c instanceof Promise?c.then(l=>ft(c,[...l.callbacks||[],Bp(t,l,o,i)])):ft(c,[Bp(t,c,o,i)])},Pb=({children:t,...e})=>{const n=au();if(n){const r=wr(n);if(r==="svg"||r==="head")return new ht("title",e,Ai(t??[]))}return Ii("title",t,e,!1)},Rb=({children:t,...e})=>{const n=au();return["src","async"].some(r=>!e[r])||n&&wr(n)==="head"?Ei("script",t,e):Ii("script",t,e,!1)},Lb=({children:t,...e})=>["href","precedence"].every(n=>n in e)?(e["data-href"]=e.href,delete e.href,Ii("style",t,e,!0)):Ei("style",t,e),Ub=({children:t,...e})=>["onLoad","onError"].some(n=>n in e)||e.rel==="stylesheet"&&(!("precedence"in e)||"disabled"in e)?Ei("link",t,e):Ii("link",t,e,"precedence"in e),Vb=({children:t,...e})=>{const n=au();return n&&wr(n)==="head"?Ei("meta",t,e):Ii("meta",t,e,!1)},Kg=(t,{children:e,...n})=>new ht(t,n,Ai(e??[])),Mb=t=>(typeof t.action=="function"&&(t.action=Fs in t.action?t.action[Fs]:void 0),Kg("form",t)),Wg=(t,e)=>(typeof e.formAction=="function"&&(e.formAction=Fs in e.formAction?e.formAction[Fs]:void 0),Kg(t,e)),qb=t=>Wg("input",t),Db=t=>Wg("button",t);const ha=Object.freeze(Object.defineProperty({__proto__:null,button:Db,form:Mb,input:qb,link:Ub,meta:Vb,script:Rb,style:Lb,title:Pb},Symbol.toStringTag,{value:"Module"}));var Hb=new Map([["className","class"],["htmlFor","for"],["crossOrigin","crossorigin"],["httpEquiv","http-equiv"],["itemProp","itemprop"],["fetchPriority","fetchpriority"],["noModule","nomodule"],["formAction","formaction"]]),Ks=t=>Hb.get(t)||t,Gg=(t,e)=>{for(const[n,r]of Object.entries(t)){const i=n[0]==="-"||!/[A-Z]/.test(n)?n:n.replace(/[A-Z]/g,s=>`-${s.toLowerCase()}`);e(i,r==null?null:typeof r=="number"?i.match(/^(?:a|border-im|column(?:-c|s)|flex(?:$|-[^b])|grid-(?:ar|[^a])|font-w|li|or|sca|st|ta|wido|z)|ty$/)?`${r}`:`${r}px`:r)}},ti=void 0,au=()=>ti,Fb=t=>/[A-Z]/.test(t)&&t.match(/^(?:al|basel|clip(?:Path|Rule)$|co|do|fill|fl|fo|gl|let|lig|i|marker[EMS]|o|pai|pointe|sh|st[or]|text[^L]|tr|u|ve|w)/)?t.replace(/([A-Z])/g,"-$1").toLowerCase():t,Kb=["area","base","br","col","embed","hr","img","input","keygen","link","meta","param","source","track","wbr"],Wb=["allowfullscreen","async","autofocus","autoplay","checked","controls","default","defer","disabled","download","formnovalidate","hidden","inert","ismap","itemscope","loop","multiple","muted","nomodule","novalidate","open","playsinline","readonly","required","reversed","selected"],cu=(t,e)=>{for(let n=0,r=t.length;n<r;n++){const i=t[n];if(typeof i=="string")Gt(i,e);else{if(typeof i=="boolean"||i===null||i===void 0)continue;i instanceof ht?i.toStringToBuffer(e):typeof i=="number"||i.isEscaped?e[0]+=i:i instanceof Promise?e.unshift("",i):cu(i,e)}}},ht=class{constructor(t,e,n){ee(this,"tag");ee(this,"props");ee(this,"key");ee(this,"children");ee(this,"isEscaped",!0);ee(this,"localContexts");this.tag=t,this.props=e,this.children=n}get type(){return this.tag}get ref(){return this.props.ref||null}toString(){var e,n;const t=[""];(e=this.localContexts)==null||e.forEach(([r,i])=>{r.values.push(i)});try{this.toStringToBuffer(t)}finally{(n=this.localContexts)==null||n.forEach(([r])=>{r.values.pop()})}return t.length===1?"callbacks"in t?qg(ft(t[0],t.callbacks)).toString():t[0]:Mg(t,t.callbacks)}toStringToBuffer(t){const e=this.tag,n=this.props;let{children:r}=this;t[0]+=`<${e}`;const i=ti&&wr(ti)==="svg"?s=>Fb(Ks(s)):s=>Ks(s);for(let[s,o]of Object.entries(n))if(s=i(s),s!=="children"){if(s==="style"&&typeof o=="object"){let c="";Gg(o,(l,u)=>{u!=null&&(c+=`${c?";":""}${l}:${u}`)}),t[0]+=' style="',Gt(c,t),t[0]+='"'}else if(typeof o=="string")t[0]+=` ${s}="`,Gt(o,t),t[0]+='"';else if(o!=null)if(typeof o=="number"||o.isEscaped)t[0]+=` ${s}="${o}"`;else if(typeof o=="boolean"&&Wb.includes(s))o&&(t[0]+=` ${s}=""`);else if(s==="dangerouslySetInnerHTML"){if(r.length>0)throw"Can only set one of `children` or `props.dangerouslySetInnerHTML`.";r=[ft(o.__html)]}else if(o instanceof Promise)t[0]+=` ${s}="`,t.unshift('"',o);else if(typeof o=="function"){if(!s.startsWith("on"))throw`Invalid prop '${s}' of type 'function' supplied to '${e}'.`}else t[0]+=` ${s}="`,Gt(o.toString(),t),t[0]+='"'}if(Kb.includes(e)&&r.length===0){t[0]+="/>";return}t[0]+=">",cu(r,t),t[0]+=`</${e}>`}},ga=class extends ht{toStringToBuffer(t){const{children:e}=this,n=this.tag.call(null,{...this.props,children:e.length<=1?e[0]:e});if(!(typeof n=="boolean"||n==null))if(n instanceof Promise)if(ar.length===0)t.unshift("",n);else{const r=ar.map(i=>[i,i.values.at(-1)]);t.unshift("",n.then(i=>(i instanceof ht&&(i.localContexts=r),i)))}else n instanceof ht?n.toStringToBuffer(t):typeof n=="number"||n.isEscaped?(t[0]+=n,n.callbacks&&(t.callbacks||(t.callbacks=[]),t.callbacks.push(...n.callbacks))):Gt(n,t)}},Jg=class extends ht{toStringToBuffer(t){cu(this.children,t)}},Gb=(t,e,...n)=>{e??(e={}),n.length&&(e.children=n.length===1?n[0]:n);const r=e.key;delete e.key;const i=Gi(t,e,n);return i.key=r,i},Tp=!1,Gi=(t,e,n)=>{if(!Tp){for(const r in Jc)ha[r][ou]=Jc[r];Tp=!0}return typeof t=="function"?new ga(t,e,n):ha[t]?new ga(ha[t],e,n):t==="svg"||t==="head"?(ti||(ti=Tb("")),new ht(t,e,[new ga(ti,{value:t},n)])):new ht(t,e,n)},lu=({children:t})=>new Jg("",{children:t},Array.isArray(t)?t:t?[t]:[]),Jb=(t,e,...n)=>Gb(t.tag,{...t.props,...e},...n);function y(t,e,n){let r;if(!e||!("children"in e))r=Gi(t,e,[]);else{const i=e.children;r=Array.isArray(i)?Gi(t,e,i):Gi(t,e,[i])}return r.key=n,r}const Pp={name:"sesamy",logoUrl:"https://assets.sesamy.com/static/images/email/sesamy-logo.png",style:{primaryColor:"#7D68F4",buttonTextColor:"#FFFFFF",primaryHoverColor:"#A091F2"},loginBackgroundImage:"",checkoutHideSocial:!1,supportEmail:"support@sesamy.com",supportUrl:"https://support.sesamy.com",siteUrl:"https://sesamy.com",termsAndConditionsUrl:"https://store.sesamy.com/pages/terms-of-service",manageSubscriptionsUrl:"https://account.sesamy.com/manage-subscriptions"};async function Zg(t,e,n){if(!n&&!e)return Pp;const r=n||e;try{const i=await fetch(`${t.API_URL}/profile/vendors/${r}/style`);if(!i.ok)throw new Error("Failed to fetch vendor settings");const s=await i.json();return nf.parse(s)}catch(i){return console.error(i),Pp}}async function Fe(t,e){var l;const{env:n}=t,r=await n.data.logins.get(t.var.tenant_id||"",e);if(!r)throw new z(400,{message:"Session not found"});t.set("login",r);const i=await Fo(n,r.authParams.client_id);t.set("client_id",i.id),t.set("tenant_id",i.tenant.id);const s=await n.data.tenants.get(i.tenant.id);if(!s)throw new z(400,{message:"Tenant not found"});const o=await Zg(n,i.id,r.authParams.vendor_id),c=(l=r.authParams.ui_locales)==null?void 0:l.split(" ").map(u=>u.split("-")[0]).find(u=>{if(Array.isArray(U.options.supportedLngs))return U.options.supportedLngs.includes(u)});return await U.changeLanguage(c||s.language||"sv"),{vendorSettings:{...o,termsAndConditionsUrl:i.id==="fokus-app"?"https://www.fokus.se/kopvillkor-app/":o.termsAndConditionsUrl},client:i,tenant:s,session:r}}async function Zb(t,e,n,r){if(r!==void 0)return r==="password";const i=await Xs({userAdapter:t.env.data.users,tenant_id:e.tenant.id,email:n});if(i){const o=await t.env.data.logs.list(e.tenant.id,{page:0,per_page:10,include_totals:!1,sort:{sort_by:"date",sort_order:"desc"},q:`type:${me.SUCCESS_LOGIN} user_id:${i.user_id}`}),[c]=o.logs.filter(l=>l.strategy&&["Username-Password-Authentication","passwordless","email"].includes(l.strategy));if(c)return c.strategy==="Username-Password-Authentication"}return(await t.env.data.promptSettings.get(e.tenant.id)).password_first}const Yb=({vendorSettings:t})=>t!=null&&t.logoUrl?y("div",{className:"flex h-9 items-center",children:y("img",{src:t.logoUrl,className:"max-h-full",alt:"Vendor logo"})}):y(lu,{}),Xb=({vendorSettings:t})=>{const{termsAndConditionsUrl:e}=t;return y("div",{className:"mt-8",children:e&&y("div",{className:"text-xs text-gray-300",children:[U.t("agree_to")," ",y("a",{href:e,className:"text-primary hover:underline",target:"_blank",rel:"noreferrer",children:U.t("terms")})]})})};var Yg={exports:{}};/*!
|
|
193
193
|
Copyright (c) 2018 Jed Watson.
|
|
194
194
|
Licensed under the MIT License (MIT), see
|
|
195
195
|
http://jedwatson.github.io/classnames
|
|
@@ -219,7 +219,7 @@ PERFORMANCE OF THIS SOFTWARE.
|
|
|
219
219
|
${o?"invisible h-0":"visible h-auto"}
|
|
220
220
|
`,children:t}),o&&y("div",{className:"absolute left-0 top-0 flex h-full w-full items-center justify-center",children:y(o1,{size:"medium"})})]})},Pi=({connection:t,text:e,icon:n=null,canResize:r=!1,session:i})=>{const s=new URLSearchParams({client_id:i.authParams.client_id,connection:t});i.authParams.response_type&&s.set("response_type",i.authParams.response_type),i.authParams.redirect_uri&&s.set("redirect_uri",i.authParams.redirect_uri),i.authParams.scope&&s.set("scope",i.authParams.scope),i.authParams.nonce&&s.set("nonce",i.authParams.nonce),i.authParams.response_type&&s.set("response_type",i.authParams.response_type),i.authParams.state&&s.set("state",i.login_id);const o=`/authorize?${s.toString()}`;return y(ni,{className:Et("border border-gray-200 bg-white hover:bg-gray-100 dark:border-gray-400 dark:bg-black dark:hover:bg-black/90",{"px-0 py-3 sm:px-10 sm:py-4 short:px-0 short:py-3":r,"px-10 py-3":!r}),variant:"custom","aria-label":e,Component:"a",href:o,children:[n||"",y("div",{className:Et("text-left text-black dark:text-white sm:text-base",{"hidden sm:inline short:hidden":r}),children:e})]})},a1=({...t})=>y("svg",{width:"45",height:"45",viewBox:"0 0 45 45",xmlns:"http://www.w3.org/2000/svg",...t,children:[y("path",{d:"M44.1035 23.0123C44.1054 21.4791 43.9758 19.9486 43.716 18.4375H22.498V27.1028H34.6507C34.4021 28.4868 33.8757 29.8061 33.1034 30.9812C32.3311 32.1562 31.3289 33.1628 30.1571 33.9401V39.5649H37.41C41.6567 35.6494 44.1035 29.859 44.1035 23.0123Z",fill:"#4285F4"}),y("path",{d:"M22.4982 44.9997C28.5698 44.9997 33.6821 43.0061 37.4101 39.5687L30.1573 33.9439C28.1386 35.3126 25.5387 36.0938 22.4982 36.0938C16.6296 36.0938 11.6485 32.1377 9.86736 26.8066H2.39575V32.6033C4.26839 36.3297 7.13989 39.4622 10.6896 41.6512C14.2394 43.8402 18.3277 44.9995 22.4982 44.9997Z",fill:"#34A853"}),y("path",{d:"M9.86737 26.8073C8.92572 24.0138 8.92572 20.9886 9.86737 18.1951V12.3984H2.39576C0.820432 15.5332 0 18.9929 0 22.5012C0 26.0095 0.820432 29.4692 2.39576 32.604L9.86737 26.8073Z",fill:"#FBBC04"}),y("path",{d:"M22.4982 8.90741C25.7068 8.85499 28.8071 10.0673 31.1291 12.2823L37.5507 5.86064C33.4788 2.03602 28.0843 -0.0637686 22.4982 0.00147616C18.3277 0.00166623 14.2394 1.16098 10.6896 3.34999C7.13989 5.539 4.26839 8.67155 2.39575 12.3979L9.86736 18.1946C11.6485 12.8635 16.6296 8.90741 22.4982 8.90741Z",fill:"#EA4335"})]}),Pn=({children:t,className:e})=>y(lu,{children:[y(ni,{className:e,id:"initial-btn",children:t}),y(ni,{className:Et(e,"hidden"),isLoading:!0,id:"loading-btn",disabled:!0,children:" "})]}),Rn=({children:t,className:e})=>y("form",{id:"form",method:"post",className:e,children:t}),c1=({...t})=>y("svg",{version:"1.1",id:"Layer_1",xmlns:"http://www.w3.org/2000/svg",x:"0px",y:"0px",viewBox:"0 0 48 48",enableBackground:"new 0 0 48 48",width:"45",height:"45",...t,children:[y("path",{fill:"#FF5B24",d:"M3.5,8h41c1.9,0,3.5,1.6,3.5,3.5v25c0,1.9-1.6,3.5-3.5,3.5h-41C1.6,40,0,38.4,0,36.5v-25C0,9.6,1.6,8,3.5,8z"}),y("path",{fillRule:"evenodd",clipRule:"evenodd",fill:"#FFFFFF",d:`M27.9,20.3c1.4,0,2.6-1,2.6-2.5h0c0-1.5-1.2-2.5-2.6-2.5c-1.4,0-2.6,1-2.6,2.5C25.3,19.2,26.5,20.3,27.9,20.3z
|
|
221
221
|
M31.2,24.4c-1.7,2.2-3.5,3.8-6.7,3.8h0c-3.2,0-5.8-2-7.7-4.8c-0.8-1.2-2-1.4-2.9-0.8c-0.8,0.6-1,1.8-0.3,2.9
|
|
222
|
-
c2.7,4.1,6.5,6.6,10.9,6.6c4,0,7.2-2,9.6-5.2c0.9-1.2,0.9-2.5,0-3.1C33.3,22.9,32.1,23.2,31.2,24.4z`})]}),Up=({error:t,vendorSettings:e,session:n,email:r,client:i,impersonation:s})=>{const o=i.connections.map(({name:m})=>m),c=o.includes("facebook"),l=o.includes("google-oauth2"),u=o.includes("apple"),p=o.includes("vipps"),h=c||l||u||p;return y(zt,{title:U.t("welcome"),vendorSettings:e,children:[y("div",{className:"mb-4 text-lg font-medium sm:text-2xl",children:U.t("welcome")}),y("div",{className:"mb-8 text-gray-300",children:U.t("login_description")}),y("div",{className:"flex flex-1 flex-col justify-center",children:[y(Rn,{className:"mb-7",children:[y("input",{type:"email",name:"username",placeholder:U.t("email_placeholder"),className:Et("mb-2 w-full rounded-lg border bg-gray-100 px-4 py-5 text-base placeholder:text-gray-300 dark:bg-gray-600 md:text-base",{"border-red":t,"border-gray-100 dark:border-gray-500":!t}),required:!0,value:r||""}),s&&y("input",{type:"email",name:"act_as",placeholder:"Impersonate as",className:Et("mb-2 w-full rounded-lg border bg-gray-100 px-4 py-5 text-base placeholder:text-gray-300 dark:bg-gray-600 md:text-base",{"border-red":t,"border-gray-100 dark:border-gray-500":!t}),required:!0,value:""}),t&&y(br,{children:t}),y(Pn,{className:"text-base sm:mt-4 md:text-base",children:y("div",{className:"flex items-center space-x-2",children:[y("span",{children:U.t("continue")}),y(gt,{className:"text-xs",name:"arrow-right"})]})})]}),h&&y("div",{className:"relative mb-5 block text-center text-gray-300 dark:text-gray-300",children:[y("div",{className:"absolute left-0 right-0 top-1/2 border-b border-gray-200 dark:border-gray-600"}),y("div",{className:"relative inline-block bg-white px-2 dark:bg-gray-800",children:U.t("continue_social_login")})]}),y("div",{className:"flex space-x-4 sm:flex-col sm:space-x-0 sm:space-y-4 short:flex-row short:space-x-4 short:space-y-0",children:[c&&y(Pi,{connection:"facebook",text:U.t("continue_with",{provider:"Facebook"}),canResize:!0,icon:y(gt,{className:"text-xl text-[#1196F5] sm:absolute sm:left-4 sm:top-1/2 sm:-translate-y-1/2 sm:text-2xl short:static short:left-auto short:top-auto short:translate-y-0 short:text-xl",name:"facebook"}),session:n}),l&&y(Pi,{connection:"google-oauth2",text:U.t("continue_with",{provider:"Google"}),canResize:!0,icon:y(a1,{className:"h-5 w-5 sm:absolute sm:left-4 sm:top-1/2 sm:h-6 sm:w-6 sm:-translate-y-1/2 short:static short:left-auto short:top-auto short:h-5 short:w-5 short:translate-y-0"}),session:n}),u&&y(Pi,{connection:"apple",text:U.t("continue_with",{provider:"Apple"}),canResize:!0,icon:y(gt,{className:"text-xl text-black dark:text-white sm:absolute sm:left-4 sm:top-1/2 sm:-translate-y-1/2 sm:text-2xl short:static short:left-auto short:top-auto short:translate-y-0 short:text-xl",name:"apple"}),session:n}),p&&y(Pi,{connection:"vipps",text:U.t("continue_with",{provider:"Vipps"}),canResize:!0,icon:y(c1,{className:"h-5 w-5 sm:absolute sm:left-4 sm:top-1/2 sm:h-6 sm:w-6 sm:-translate-y-1/2 short:static short:left-auto short:top-auto short:h-5 short:w-5 short:translate-y-0"}),session:n})]})]})]})},l1=["Auth0.swift"];function u1(t){if(!t)return"link";const e=atob(t),n=JSON.parse(e);return l1.includes(n.name)?"code":"link"}const d1=new a.OpenAPIHono().openapi(a.createRoute({tags:["login"],method:"get",path:"/",request:{query:a.z.object({state:a.z.string().openapi({description:"The state parameter from the authorization request"}),impersonation:a.z.string().optional()})},responses:{200:{description:"Response"}}}),async t=>{const{state:e,impersonation:n}=t.req.valid("query"),{vendorSettings:r,session:i,client:s}=await Fe(t,e);return t.html(y(Up,{vendorSettings:r,session:i,client:s,email:i.authParams.username,impersonation:n==="true"}))}).openapi(a.createRoute({tags:["login"],method:"post",path:"/",request:{query:a.z.object({state:a.z.string().openapi({description:"The state parameter from the authorization request"})}),body:{content:{"application/x-www-form-urlencoded":{schema:a.z.object({username:a.z.string().transform(t=>t.toLowerCase()),act_as:a.z.string().transform(t=>t.toLowerCase()).optional(),login_selection:a.z.enum(["code","password"]).optional()})}}}},responses:{200:{description:"Response"}}}),async t=>{const{env:e}=t,{state:n}=t.req.valid("query"),r=t.req.valid("form");t.set("body",r),t.set("username",r.username);const{client:i,session:s,vendorSettings:o}=await Fe(t,n);t.set("client_id",i.id);const c=r.username,l=await Ys({userAdapter:e.data.users,tenant_id:i.tenant.id,email:c});if(l&&t.set("user_id",l.user_id),!l)try{await Pg(t,i,t.env.data,r.username)}catch{const v=be(t,{type:me.FAILED_SIGNUP,description:"Public signup is disabled"});return await t.env.data.logs.create(i.tenant.id,v),t.html(y(Up,{vendorSettings:o,session:s,error:U.t("user_account_does_not_exist"),email:r.username,client:i}),400)}if(s.authParams.username=r.username,s.authParams.act_as=r.act_as,await e.data.logins.update(i.tenant.id,s.login_id,s),await Zb(t,i,r.username,r.login_selection))return t.redirect(`/u/enter-password?state=${n}`);let u=or(),p=await e.data.codes.get(i.tenant.id,u,"otp");for(;p;)u=or(),p=await e.data.codes.get(i.tenant.id,u,"otp");const h=await t.env.data.codes.create(i.tenant.id,{code_id:u,code_type:"otp",login_id:s.login_id,expires_at:new Date(Date.now()+Hc).toISOString()});return u1(s.auth0Client)==="link"&&!r.username.includes("online.no")?Qe(t,nu(t,r.username,h.code_id,s.authParams)):Qe(t,Vg(t,r.username,h.code_id)),t.redirect(`/u/enter-code?state=${n}`)}),en=t=>y("a",{className:"block text-primary hover:text-primaryHover text-center",href:`/u/enter-email?state=${t.state}`,children:U.t("go_back")});var ri="_hp",p1={Change:"Input",DoubleClick:"DblClick"},f1={svg:"2000/svg",math:"1998/Math/MathML"},ii=[],Jc=new WeakMap,cr=void 0,h1=()=>cr,$t=t=>"t"in t,ga={onClick:["click",!1]},Vp=t=>{if(!t.startsWith("on"))return;if(ga[t])return ga[t];const e=t.match(/^on([A-Z][a-zA-Z]+?(?:PointerCapture)?)(Capture)?$/);if(e){const[,n,r]=e;return ga[t]=[(p1[n]||n).toLowerCase(),!!r]}},Mp=(t,e)=>cr&&t instanceof SVGElement&&/[A-Z]/.test(e)&&(e in t.style||e.match(/^(?:o|pai|str|u|ve)/))?e.replace(/([A-Z])/g,"-$1").toLowerCase():e,g1=(t,e,n)=>{var r;e||(e={});for(let i in e){const s=e[i];if(i!=="children"&&(!n||n[i]!==s)){i=Ks(i);const o=Vp(i);if(o){if((n==null?void 0:n[i])!==s&&(n&&t.removeEventListener(o[0],n[i],o[1]),s!=null)){if(typeof s!="function")throw new Error(`Event handler for "${i}" is not a function`);t.addEventListener(o[0],s,o[1])}}else if(i==="dangerouslySetInnerHTML"&&s)t.innerHTML=s.__html;else if(i==="ref"){let c;typeof s=="function"?c=s(t)||(()=>s(null)):s&&"current"in s&&(s.current=t,c=()=>s.current=null),Jc.set(t,c)}else if(i==="style"){const c=t.style;typeof s=="string"?c.cssText=s:(c.cssText="",s!=null&&Gg(s,c.setProperty.bind(c)))}else{if(i==="value"){const l=t.nodeName;if(l==="INPUT"||l==="TEXTAREA"||l==="SELECT"){if(t.value=s==null||s===!1?null:s,l==="TEXTAREA"){t.textContent=s;continue}else if(l==="SELECT"){t.selectedIndex===-1&&(t.selectedIndex=0);continue}}}else(i==="checked"&&t.nodeName==="INPUT"||i==="selected"&&t.nodeName==="OPTION")&&(t[i]=s);const c=Mp(t,i);s==null||s===!1?t.removeAttribute(c):s===!0?t.setAttribute(c,""):typeof s=="string"||typeof s=="number"?t.setAttribute(c,s):t.setAttribute(c,s.toString())}}}if(n)for(let i in n){const s=n[i];if(i!=="children"&&!(i in e)){i=Ks(i);const o=Vp(i);o?t.removeEventListener(o[0],s,o[1]):i==="ref"?(r=Jc.get(t))==null||r():t.removeAttribute(Mp(t,i))}}},m1=(t,e)=>{e[Se][0]=0,ii.push([t,e]);const n=e.tag[ou]||e.tag,r=n.defaultProps?{...n.defaultProps,...e.props}:e.props;try{return[n.call(null,r)]}finally{ii.pop()}},Xg=(t,e,n,r,i)=>{var s,o;(s=t.vR)!=null&&s.length&&(r.push(...t.vR),delete t.vR),typeof t.tag=="function"&&((o=t[Se][1][nm])==null||o.forEach(c=>i.push(c))),t.vC.forEach(c=>{var l;if($t(c))n.push(c);else if(typeof c.tag=="function"||c.tag===""){c.c=e;const u=n.length;if(Xg(c,e,n,r,i),c.s){for(let p=u;p<n.length;p++)n[p].s=!0;c.s=!1}}else n.push(c),(l=c.vR)!=null&&l.length&&(r.push(...c.vR),delete c.vR)})},_1=t=>{for(;;t=t.tag===ri||!t.vC||!t.pP?t.nN:t.vC[0]){if(!t)return null;if(t.tag!==ri&&t.e)return t.e}},Qg=t=>{var e,n,r,i,s,o;$t(t)||((n=(e=t[Se])==null?void 0:e[1][nm])==null||n.forEach(c=>{var l;return(l=c[2])==null?void 0:l.call(c)}),(r=Jc.get(t.e))==null||r(),t.p===2&&((i=t.vC)==null||i.forEach(c=>c.p=2)),(s=t.vC)==null||s.forEach(Qg)),t.p||((o=t.e)==null||o.remove(),delete t.e),typeof t.tag=="function"&&(zr.delete(t),Ji.delete(t),delete t[Se][3],t.a=!0)},em=(t,e,n)=>{t.c=e,tm(t,e,n)},qp=(t,e)=>{if(e){for(let n=0,r=t.length;n<r;n++)if(t[n]===e)return n}},Dp=Symbol(),tm=(t,e,n)=>{var u;const r=[],i=[],s=[];Xg(t,e,r,i,s),i.forEach(Qg);const o=n?void 0:e.childNodes;let c,l=null;if(n)c=-1;else if(!o.length)c=0;else{const p=qp(o,_1(t.nN));p!==void 0?(l=o[p],c=p):c=qp(o,(u=r.find(h=>h.tag!==ri&&h.e))==null?void 0:u.e)??-1,c===-1&&(n=!0)}for(let p=0,h=r.length;p<h;p++,c++){const m=r[p];let v;if(m.s&&m.e)v=m.e,m.s=!1;else{const f=n||!m.e;$t(m)?(m.e&&m.d&&(m.e.textContent=m.t),m.d=!1,v=m.e||(m.e=document.createTextNode(m.t))):(v=m.e||(m.e=m.n?document.createElementNS(m.n,m.tag):document.createElement(m.tag)),g1(v,m.props,m.pP),tm(m,v,f))}m.tag===ri?c--:n?v.parentNode||e.appendChild(v):o[c]!==v&&o[c-1]!==v&&(o[c+1]===v?e.appendChild(o[c]):e.insertBefore(v,l||o[c]||null))}if(t.pP&&delete t.pP,s.length){const p=[],h=[];s.forEach(([,m,,v,f])=>{m&&p.push(m),v&&h.push(v),f==null||f()}),p.forEach(m=>m()),h.length&&requestAnimationFrame(()=>{h.forEach(m=>m())})}},Ji=new WeakMap,Zc=(t,e,n)=>{var s,o,c,l,u,p;const r=!n&&e.pC;n&&(e.pC||(e.pC=e.vC));let i;try{n||(n=typeof e.tag=="function"?m1(t,e):Ai(e.props.children)),((s=n[0])==null?void 0:s.tag)===""&&n[0][Wc]&&(i=n[0][Wc],t[5].push([t,i,e]));const h=r?[...e.pC]:e.vC?[...e.vC]:void 0,m=[];let v;for(let f=0;f<n.length;f++){Array.isArray(n[f])&&n.splice(f,1,...n[f].flat());let _=y1(n[f]);if(_){typeof _.tag=="function"&&!_.tag[Dg]&&(ar.length>0&&(_[Se][2]=ar.map(S=>[S,S.values.at(-1)])),(o=t[5])!=null&&o.length&&(_[Se][3]=t[5].at(-1)));let w;if(h&&h.length){const S=h.findIndex($t(_)?N=>$t(N):_.key!==void 0?N=>N.key===_.key&&N.tag===_.tag:N=>N.tag===_.tag);S!==-1&&(w=h[S],h.splice(S,1))}if(w)if($t(_))w.t!==_.t&&(w.t=_.t,w.d=!0),_=w;else{const S=w.pP=w.props;w.props=_.props,w.f||(w.f=_.f||e.f),typeof _.tag=="function"&&(w[Se][2]=_[Se][2]||[],w[Se][3]=_[Se][3],!w.f&&((w.o||w)===_.o||(l=(c=w.tag)[Bb])!=null&&l.call(c,S,w.props))&&(w.s=!0)),_=w}else if(!$t(_)&&cr){const S=wr(cr);S&&(_.n=S)}if(!$t(_)&&!_.s&&(Zc(t,_),delete _.f),m.push(_),v&&!v.s&&!_.s)for(let S=v;S&&!$t(S);S=(u=S.vC)==null?void 0:u.at(-1))S.nN=_;v=_}}e.vR=r?[...e.vC,...h||[]]:h||[],e.vC=m,r&&delete e.pC}catch(h){if(e.f=!0,h===Dp){if(i)return;throw h}const[m,v,f]=((p=e[Se])==null?void 0:p[3])||[];if(v){const _=()=>Zi([0,!1,t[2]],f),w=Ji.get(f)||[];w.push(_),Ji.set(f,w);const S=v(h,()=>{const N=Ji.get(f);if(N){const B=N.indexOf(_);if(B!==-1)return N.splice(B,1),_()}});if(S){if(t[0]===1)t[1]=!0;else if(Zc(t,f,[S]),(v.length===1||t!==m)&&f.c){em(f,f.c,!1);return}throw Dp}}throw h}finally{i&&t[5].pop()}},y1=t=>{if(!(t==null||typeof t=="boolean")){if(typeof t=="string"||typeof t=="number")return{t:t.toString(),d:!0};if("vR"in t&&(t={tag:t.tag,props:t.props,key:t.key,f:t.f,type:t.tag,ref:t.props.ref,o:t.o||t}),typeof t.tag=="function")t[Se]=[0,[]];else{const e=f1[t.tag];e&&(cr||(cr=Fg("")),t.props.children=[{tag:cr,props:{value:t.n=`http://www.w3.org/${e}`,children:t.props.children}}])}return t}},Hp=(t,e)=>{var n,r;(n=e[Se][2])==null||n.forEach(([i,s])=>{i.values.push(s)});try{Zc(t,e,void 0)}catch{return}if(e.a){delete e.a;return}(r=e[Se][2])==null||r.forEach(([i])=>{i.values.pop()}),(t[0]!==1||!t[1])&&em(e,e.c,!1)},zr=new WeakMap,Fp=[],Zi=async(t,e)=>{t[5]||(t[5]=[]);const n=zr.get(e);n&&n[0](void 0);let r;const i=new Promise(s=>r=s);if(zr.set(e,[r,()=>{t[2]?t[2](t,e,s=>{Hp(s,e)}).then(()=>r(e)):(Hp(t,e),r(e))}]),Fp.length)Fp.at(-1).add(e);else{await Promise.resolve();const s=zr.get(e);s&&(zr.delete(e),s[1]())}return i},v1=(t,e,n)=>({tag:ri,props:{children:t},key:n,e,p:1}),ma=0,nm=1,_a=2,ya=3,va=new WeakMap,rm=(t,e)=>!t||!e||t.length!==e.length||e.some((n,r)=>n!==t[r]),w1=void 0,Kp=[],b1=t=>{var o;const e=()=>typeof t=="function"?t():t,n=ii.at(-1);if(!n)return[e(),()=>{}];const[,r]=n,i=(o=r[Se][1])[ma]||(o[ma]=[]),s=r[Se][0]++;return i[s]||(i[s]=[e(),c=>{const l=w1,u=i[s];if(typeof c=="function"&&(c=c(u[0])),!Object.is(c,u[0]))if(u[0]=c,Kp.length){const[p,h]=Kp.at(-1);Promise.all([p===3?r:Zi([p,!1,l],r),h]).then(([m])=>{if(!m||!(p===2||p===3))return;const v=m.vC;requestAnimationFrame(()=>{setTimeout(()=>{v===m.vC&&Zi([p===3?1:0,!1,l],m)})})})}else Zi([0,!1,l],r)}])},uu=(t,e)=>{var c;const n=ii.at(-1);if(!n)return t;const[,r]=n,i=(c=r[Se][1])[_a]||(c[_a]=[]),s=r[Se][0]++,o=i[s];return rm(o==null?void 0:o[1],e)?i[s]=[t,e]:t=i[s][0],t},k1=t=>{const e=va.get(t);if(e){if(e.length===2)throw e[1];return e[0]}throw t.then(n=>va.set(t,[n]),n=>va.set(t,[void 0,n])),t},x1=(t,e)=>{var c;const n=ii.at(-1);if(!n)return t();const[,r]=n,i=(c=r[Se][1])[ya]||(c[ya]=[]),s=r[Se][0]++,o=i[s];return rm(o==null?void 0:o[1],e)&&(i[s]=[t(),e]),i[s][0]},S1=Fg({pending:!1,data:null,method:null,action:null}),Wp=new Set,A1=t=>{Wp.add(t),t.finally(()=>Wp.delete(t))},du=(t,e)=>x1(()=>n=>{let r;t&&(typeof t=="function"?r=t(n)||(()=>{t(null)}):t&&"current"in t&&(t.current=n,r=()=>{t.current=null}));const i=e(n);return()=>{i==null||i(),r==null||r()}},[t]),Mn=Object.create(null),Ri=Object.create(null),Ci=(t,e,n,r,i)=>{if(e!=null&&e.itemProp)return{tag:t,props:e,type:t,ref:e.ref};const s=document.head;let{onLoad:o,onError:c,precedence:l,blocking:u,...p}=e,h=null,m=!1;const v=Ki[t];let f;if(v.length>0){const N=s.querySelectorAll(t);e:for(const B of N)for(const R of Ki[t])if(B.getAttribute(R)===e[R]){h=B;break e}if(!h){const B=v.reduce((R,te)=>e[te]===void 0?R:`${R}-${te}-${e[te]}`,t);m=!Ri[B],h=Ri[B]||(Ri[B]=(()=>{const R=document.createElement(t);for(const te of v)e[te]!==void 0&&R.setAttribute(te,e[te]),e.rel&&R.setAttribute("rel",e.rel);return R})())}}else f=s.querySelectorAll(t);l=r?l??"":void 0,r&&(p[Wi]=l);const _=uu(N=>{if(v.length>0){let B=!1;for(const R of s.querySelectorAll(t)){if(B&&R.getAttribute(Wi)!==l){s.insertBefore(N,R);return}R.getAttribute(Wi)===l&&(B=!0)}s.appendChild(N)}else if(f){let B=!1;for(const R of f)if(R===N){B=!0;break}B||s.insertBefore(N,s.contains(f[0])?f[0]:s.querySelector(t)),f=void 0}},[l]),w=du(e.ref,N=>{var te;const B=v[0];if(n===2&&(N.innerHTML=""),(m||f)&&_(N),!c&&!o)return;let R=Mn[te=N.getAttribute(B)]||(Mn[te]=new Promise((fe,le)=>{N.addEventListener("load",fe),N.addEventListener("error",le)}));o&&(R=R.then(o)),c&&(R=R.catch(c)),R.catch(()=>{})});if(i&&u==="render"){const N=Ki[t][0];if(e[N]){const B=e[N],R=Mn[B]||(Mn[B]=new Promise((te,fe)=>{_(h),h.addEventListener("load",te),h.addEventListener("error",fe)}));k1(R)}}const S={tag:t,type:t,props:{...p,ref:w},ref:w};return S.p=n,h&&(S.e=h),v1(S,s)},E1=t=>{const e=h1(),n=e&&wr(e);return n!=null&&n.endsWith("svg")?{tag:"title",props:t,type:"title",ref:t.ref}:Ci("title",t,void 0,!1,!1)},I1=t=>!t||["src","async"].some(e=>!t[e])?{tag:"script",props:t,type:"script",ref:t.ref}:Ci("script",t,1,!1,!0),C1=t=>!t||!["href","precedence"].every(e=>e in t)?{tag:"style",props:t,type:"style",ref:t.ref}:(t["data-href"]=t.href,delete t.href,Ci("style",t,2,!0,!0)),N1=t=>!t||["onLoad","onError"].some(e=>e in t)||t.rel==="stylesheet"&&(!("precedence"in t)||"disabled"in t)?{tag:"link",props:t,type:"link",ref:t.ref}:Ci("link",t,1,"precedence"in t,!0),z1=t=>Ci("meta",t,void 0,!1,!1),im=Symbol(),$1=t=>{const{action:e,...n}=t;typeof e!="function"&&(n.action=e);const[r,i]=b1([null,!1]),s=uu(async u=>{const p=u.isTrusted?e:u.detail[im];if(typeof p!="function")return;u.preventDefault();const h=new FormData(u.target);i([h,!0]);const m=p(h);m instanceof Promise&&(A1(m),await m),i([null,!0])},[]),o=du(t.ref,u=>(u.addEventListener("submit",s),()=>{u.removeEventListener("submit",s)})),[c,l]=r;return r[1]=!1,{tag:S1,props:{value:{pending:c!==null,data:c,method:c?"post":null,action:c?e:null},children:{tag:"form",props:{...n,ref:o},type:"form",ref:o}},f:l}},sm=(t,{formAction:e,...n})=>{if(typeof e=="function"){const r=uu(i=>{i.preventDefault(),i.currentTarget.form.dispatchEvent(new CustomEvent("submit",{detail:{[im]:e}}))},[]);n.ref=du(n.ref,i=>(i.addEventListener("click",r),()=>{i.removeEventListener("click",r)}))}return{tag:t,props:n,type:t,ref:n.ref}},j1=t=>sm("input",t),O1=t=>sm("button",t);Object.assign(Gc,{title:E1,script:I1,style:C1,link:N1,meta:z1,form:$1,input:j1,button:O1});new TextEncoder;const om=t=>{const{i18nKey:e,values:n,components:r}=t,i=U.t(e,n),s=/<(\d+)>(.*?)<\/\d+>/g,o=[];let c=0,l;for(;(l=s.exec(i))!==null;){const[,u,p]=l,h=i.substring(c,l.index);h&&o.push(h);const m=parseInt(u,10);o.push(Jb(r[m],{},p)),c=s.lastIndex}return c<i.length&&o.push(i.substring(c)),y(lu,{children:o})},Gp=6,Jp=({error:t,vendorSettings:e,email:n,state:r,client:i,hasPasswordLogin:s})=>{const o=new URLSearchParams({state:r}),l=i.connections.map(({name:u})=>u).includes("auth2");return y(zt,{title:U.t("verify_your_email"),vendorSettings:e,children:[y("div",{className:"mb-4 text-2xl font-medium",children:U.t("verify_your_email")}),y("div",{className:"mb-8 text-gray-300",children:y(om,{i18nKey:"we_sent_a_code_to",components:[y("span",{className:"text-black dark:text-white"},"span")],values:{email:n}})}),y("div",{className:"flex flex-1 flex-col justify-center",children:[y(Rn,{className:"pt-2",children:[y("input",{autoFocus:!0,type:"text",pattern:"[0-9]*",maxLength:Gp,inputMode:"numeric",name:"code",placeholder:"******",className:Et("mb-2 w-full rounded-lg border bg-gray-100 px-4 pb-2 pt-2.5 text-center indent-[5px] font-mono text-3xl placeholder:text-gray-300 dark:bg-gray-600 md:text-3xl",{"border-red":t,"border-gray-100 dark:border-gray-500":!t}),minLength:Gp,required:!0,id:"code-input"}),t&&y(br,{children:t}),y("div",{className:"text-center sm:mt-2",children:y(Pn,{className:"text-base sm:mt-4 md:text-base",children:y("div",{className:"flex items-center space-x-2",children:[y("span",{children:U.t("login")}),y(gt,{className:"text-xs",name:"arrow-right"})]})})}),y("div",{className:"my-4 flex space-x-2 text-sm text-[#B2B2B2]",children:[y(gt,{className:"text-base",name:"info-bubble"}),y("div",{className:"text-sm text-gray-300 md:text-sm",children:U.t("sent_code_spam")})]}),l&&y("div",{className:"text-center mb-12",children:[y("div",{className:"relative mb-5 block text-center text-gray-300 dark:text-gray-300",children:[y("div",{className:"absolute left-0 right-0 top-1/2 border-b border-gray-200 dark:border-gray-600"}),y("div",{className:"relative inline-block bg-white px-2 dark:bg-gray-800",children:U.t("or")})]}),y(ni,{Component:"a",href:`/u/${s?"enter-password":"pre-signup"}?${o.toString()}`,variant:"secondary",className:"block",children:U.t("enter_your_password_btn")})]})]}),y(en,{state:r})]})]})},B1=new a.OpenAPIHono().openapi(a.createRoute({tags:["login"],method:"get",path:"/",request:{query:a.z.object({state:a.z.string().openapi({description:"The state"})})},responses:{200:{description:"Response"}}}),async t=>{const{state:e}=t.req.valid("query"),{vendorSettings:n,session:r,client:i}=await Fe(t,e);if(!r.authParams.username)throw new z(400,{message:"Username not found in state"});const s=await yn({userAdapter:t.env.data.users,tenant_id:i.tenant.id,email:r.authParams.username,provider:"auth2"});return t.html(y(Jp,{vendorSettings:n,email:r.authParams.username,state:e,client:i,hasPasswordLogin:!!s}))}).openapi(a.createRoute({tags:["login"],method:"post",path:"/",request:{query:a.z.object({state:a.z.string().openapi({description:"The state"})}),body:{content:{"application/x-www-form-urlencoded":{schema:a.z.object({code:a.z.string()})}}}},responses:{200:{description:"Response"}}}),async t=>{const{state:e}=t.req.valid("query"),{code:n}=t.req.valid("form"),{session:r,client:i,vendorSettings:s}=await Fe(t,e);if(t.set("client_id",i.id),!r.authParams.username)throw new z(400,{message:"Username not found in state"});try{return await iu(t,i,r.authParams,r.authParams.username,n)}catch(o){const c=o,l=await yn({userAdapter:t.env.data.users,tenant_id:i.tenant.id,email:r.authParams.username,provider:"auth2"});return t.html(y(Jp,{vendorSettings:s,email:r.authParams.username,state:e,client:i,error:c.message,hasPasswordLogin:!!l}),400)}}),T1=t=>{const{vendorSettings:e,state:n}=t;return y(zt,{title:U.t("unverified_email"),vendorSettings:e,children:[y("div",{className:"flex flex-1 flex-col justify-center",children:[y("p",{className:"mb-8 text-gray-300 text-lg",children:U.t("unverified_email")}),y("div",{className:"my-4 flex space-x-2 text-sm text-[#B2B2B2]",children:[y(gt,{className:"text-base",name:"info-bubble"}),y("div",{className:"text-sm text-gray-300 md:text-sm",children:U.t("sent_code_spam")})]}),y(en,{state:n})]}),y(en,{state:n})]})},wa=t=>{const{error:e,vendorSettings:n,email:r,state:i}=t,s=new URLSearchParams({state:i});return y(zt,{title:U.t("enter_password"),vendorSettings:n,children:[y("div",{className:"mb-4 text-lg font-medium sm:text-2xl",children:U.t("enter_password")}),y("div",{className:"mb-6 text-gray-300",children:U.t("enter_password_description")}),y("div",{className:"flex flex-1 flex-col justify-center",children:[y(Rn,{className:"mb-7",children:[y("input",{type:"text",name:"username",placeholder:U.t("email_placeholder"),className:"mb-2 w-full rounded-lg bg-gray-100 px-4 py-5 text-base placeholder:text-gray-300 dark:bg-gray-600 md:text-base",value:r}),y("input",{type:"password",name:"password",placeholder:U.t("password")||"",className:"mb-2 w-full rounded-lg bg-gray-100 px-4 py-5 text-base placeholder:text-gray-300 dark:bg-gray-600 md:text-base",required:!0}),e&&y(br,{children:e}),y(Pn,{className:"text-base sm:mt-4 md:text-base",children:y("div",{className:"flex items-center space-x-2",children:[y("span",{children:U.t("login")}),y(gt,{className:"text-xs",name:"arrow-right"})]})})]}),y("a",{href:`/u/forgot-password?${s.toString()}`,className:"text-primary hover:underline mb-4",children:U.t("forgot_password_link")}),y("div",{className:"text-center mb-12",children:[y("div",{className:"relative mb-5 block text-center text-gray-300 dark:text-gray-300",children:[y("div",{className:"absolute left-0 right-0 top-1/2 border-b border-gray-200 dark:border-gray-600"}),y("div",{className:"relative inline-block bg-white px-2 dark:bg-gray-800",children:U.t("or")})]}),y("form",{method:"post",action:`/u/enter-email?${s.toString()}`,children:[y("input",{type:"hidden",name:"login_selection",value:"code"}),y("input",{type:"hidden",name:"username",value:r}),y(ni,{variant:"secondary",className:"block",children:U.t("enter_a_code_btn")})]})]}),y(en,{state:i})]})]})},P1=new a.OpenAPIHono().openapi(a.createRoute({tags:["login"],method:"get",path:"/",request:{query:a.z.object({state:a.z.string().openapi({description:"The state parameter from the authorization request"})})},responses:{200:{description:"Response"}}}),async t=>{const{state:e}=t.req.valid("query"),{vendorSettings:n,client:r,session:i}=await Fe(t,e);if(!i.authParams.username)throw new z(400,{message:"Username required"});return t.html(y(wa,{vendorSettings:n,email:i.authParams.username,state:e,client:r}))}).openapi(a.createRoute({tags:["login"],method:"post",path:"/",request:{query:a.z.object({state:a.z.string().openapi({description:"The state parameter from the authorization request"})}),body:{content:{"application/x-www-form-urlencoded":{schema:a.z.object({password:a.z.string()})}}}},responses:{200:{description:"Response"}}}),async t=>{const{state:e}=t.req.valid("query"),n=t.req.valid("form"),{password:r}=n,{vendorSettings:i,client:s,session:o}=await Fe(t,e),{username:c}=o.authParams;if(!c)throw new z(400,{message:"Username required"});try{return await su(t,s,{...o.authParams,password:r},o)}catch(l){const u=l;return u.code==="INVALID_PASSWORD"||u.code==="USER_NOT_FOUND"?t.html(y(wa,{vendorSettings:i,email:c,error:U.t("invalid_password"),state:e,client:s}),400):u.code==="EMAIL_NOT_VERIFIED"?t.html(y(T1,{vendorSettings:i,state:e}),400):t.html(y(wa,{vendorSettings:i,email:c,error:u.message,state:e,client:s}),400)}}),Cr=t=>{const{state:e,error:n,vendorSettings:r,email:i,code:s}=t;return y(zt,{title:U.t("create_account_title"),vendorSettings:r,children:[y("div",{className:"mb-4 text-lg font-medium sm:text-2xl",children:U.t("create_account_title")}),y("div",{className:"mb-6 text-gray-300",children:U.t("create_account_description")}),y("div",{className:"flex flex-1 flex-col justify-center",children:[y(Rn,{children:[y("input",{type:"hidden",name:"code",value:s}),y("input",{type:"email",name:"username",placeholder:U.t("email_placeholder"),className:"mb-2 w-full rounded-lg bg-gray-100 px-4 py-5 text-base placeholder:text-gray-300 dark:bg-gray-600 md:text-base",required:!0,value:i,disabled:!!i}),y("input",{type:"password",name:"password",placeholder:U.t("enter_new_password_placeholder"),className:"mb-2 w-full rounded-lg bg-gray-100 px-4 py-5 text-base placeholder:text-gray-300 dark:bg-gray-600 md:text-base"}),y("input",{type:"password",name:"re-enter-password",placeholder:U.t("reenter_new_password_placeholder"),className:"mb-2 w-full rounded-lg bg-gray-100 px-4 py-5 text-base placeholder:text-gray-300 dark:bg-gray-600 md:text-base"}),n&&y(br,{children:n}),y(Pn,{className:"text-base sm:mt-2 md:text-base",children:U.t("continue")})]}),y(en,{state:e})]})]})},am=t=>{const{message:e,vendorSettings:n,pageTitle:r,state:i}=t;return y(zt,{title:"Login",vendorSettings:n,children:[r?y("div",{className:"mb-6 text-gray-300",children:r}):"",y("div",{className:"flex flex-1 flex-col justify-center",children:e}),i?y(en,{state:i}):""]})},R1=new a.OpenAPIHono().openapi(a.createRoute({tags:["login"],method:"get",path:"/",request:{query:a.z.object({state:a.z.string().openapi({description:"The state parameter from the authorization request"}),code:a.z.string().optional().openapi({description:"The code parameter from an email verification link"})})},responses:{200:{description:"Response"}}}),async t=>{const{state:e,code:n}=t.req.valid("query"),{vendorSettings:r,session:i}=await Fe(t,e),{username:s}=i.authParams;if(!s)throw new z(400,{message:"Username required"});return n?t.html(y(Cr,{state:e,vendorSettings:r,email:s,code:n})):t.html(y(Cr,{state:e,vendorSettings:r,email:s}))}).openapi(a.createRoute({tags:["login"],method:"post",path:"/",request:{query:a.z.object({state:a.z.string().openapi({description:"The state parameter from the authorization request"})}),body:{content:{"application/x-www-form-urlencoded":{schema:a.z.object({password:a.z.string(),"re-enter-password":a.z.string(),code:a.z.string().optional()})}}}},responses:{200:{description:"Response"}}}),async t=>{const{state:e}=t.req.valid("query"),n=t.req.valid("form"),{env:r}=t,{vendorSettings:i,client:s,session:o}=await Fe(t,e),c="Username-Password-Authentication";t.set("client_id",s.id),t.set("connection",c);const l=o.authParams.username;if(!l)throw new z(400,{message:"Username required"});if(n.password!==n["re-enter-password"])return t.html(y(Cr,{state:e,code:n.code,vendorSettings:i,error:U.t("create_account_passwords_didnt_match"),email:o.authParams.username}),400);if(!tu(n.password))return t.html(y(Cr,{state:e,code:n.code,vendorSettings:i,error:U.t("create_account_weak_password"),email:o.authParams.username}),400);const u=n.code?await r.data.codes.get(s.tenant.id,n.code,"email_verification"):void 0,p=u?await r.data.logins.get(s.tenant.id,u.login_id):void 0;try{if(await Gn({userAdapter:t.env.data.users,tenant_id:s.tenant.id,email:l,provider:"auth2"}))throw new z(400,{message:"Invalid sign up"});const m=(p==null?void 0:p.authParams.username)===l,v=await t.env.data.users.create(s.tenant.id,{user_id:`auth2|${oi()}`,email:l,email_verified:m,provider:"auth2",connection:c,is_social:!1}),f=await Gn({userAdapter:t.env.data.users,tenant_id:s.tenant.id,email:l,provider:"auth2"});if(!f)throw new z(400,{message:"Invalid sign up"});return await r.data.passwords.create(s.tenant.id,{user_id:f.user_id,password:await si.hash(n.password,10),algorithm:"bcrypt"}),m?await su(t,s,{...o.authParams,password:n.password},o):(await ru(t,v),t.html(y(am,{message:U.t("validate_email_body"),pageTitle:U.t("validate_email_title"),vendorSettings:i,state:e})))}catch(h){const m=await Zg(r,s.id,o.authParams.vendor_id),v=h;return t.html(y(Cr,{state:e,vendorSettings:m,error:v.message,email:l}),400)}}),Nr=t=>{const{error:e,vendorSettings:n,email:r}=t;return y(zt,{title:U.t("reset_password_title"),vendorSettings:n,children:[y("div",{className:"mb-4 text-lg font-medium sm:text-2xl",children:U.t("reset_password_title")}),y("div",{className:"mb-6 text-gray-300",children:`${U.t("reset_password_description")} ${r}`}),y("div",{className:"flex flex-1 flex-col justify-center",children:y(Rn,{children:[y("input",{type:"password",name:"password",placeholder:U.t("enter_new_password_placeholder"),className:"mb-2 w-full rounded-lg bg-gray-100 px-4 py-5 text-base placeholder:text-gray-300 dark:bg-gray-600 md:text-base"}),y("input",{type:"password",name:"re-enter-password",placeholder:U.t("reenter_new_password_placeholder"),className:"mb-2 w-full rounded-lg bg-gray-100 px-4 py-5 text-base placeholder:text-gray-300 dark:bg-gray-600 md:text-base"}),e&&y(br,{children:e}),y(Pn,{className:"text-base sm:mt-2 md:text-base",children:U.t("reset_password_cta")})]})})]})},L1=new a.OpenAPIHono().openapi(a.createRoute({tags:["login"],method:"get",path:"/",request:{query:a.z.object({state:a.z.string().openapi({description:"The state parameter from the authorization request"}),code:a.z.string().openapi({description:"The code parameter from the authorization request"})})},responses:{200:{description:"Response"}}}),async t=>{const{state:e}=t.req.valid("query"),{vendorSettings:n,session:r}=await Fe(t,e);if(!r.authParams.username)throw new z(400,{message:"Username required"});return t.html(y(Nr,{vendorSettings:n,email:r.authParams.username}))}).openapi(a.createRoute({tags:["login"],method:"post",path:"/",request:{query:a.z.object({state:a.z.string().openapi({description:"The state parameter from the authorization request"}),code:a.z.string().openapi({description:"The code parameter from the authorization request"})}),body:{content:{"application/x-www-form-urlencoded":{schema:a.z.object({password:a.z.string(),"re-enter-password":a.z.string()})}}}},responses:{200:{description:"Response"}}}),async t=>{const{state:e,code:n}=t.req.valid("query"),{password:r,"re-enter-password":i}=t.req.valid("form"),{env:s}=t,{vendorSettings:o,client:c,session:l}=await Fe(t,e);if(!l.authParams.username)throw new z(400,{message:"Username required"});if(r!==i)return t.html(y(Nr,{error:U.t("create_account_passwords_didnt_match"),vendorSettings:o,email:l.authParams.username}),400);if(!tu(r))return t.html(y(Nr,{error:U.t("create_account_weak_password"),vendorSettings:o,email:l.authParams.username}),400);const u=await Gn({userAdapter:s.data.users,tenant_id:c.tenant.id,email:l.authParams.username,provider:"auth2"});if(!u)throw new z(400,{message:"User not found"});try{if(!await s.data.codes.get(c.tenant.id,n,"password_reset"))return t.html(y(Nr,{error:"Code not found or expired",vendorSettings:o,email:l.authParams.username}),400);console.log("got here");const h={user_id:u.user_id,password:await si.hash(r,10),algorithm:"bcrypt"};await s.data.passwords.get(c.tenant.id,u.user_id)?await s.data.passwords.update(c.tenant.id,h):await s.data.passwords.create(c.tenant.id,h),u.email_verified||await s.data.users.update(c.tenant.id,u.user_id,{email_verified:!0})}catch{return t.html(y(Nr,{error:"The password could not be reset",vendorSettings:o,email:l.authParams.username}),400)}return t.html(y(am,{message:U.t("password_has_been_reset"),vendorSettings:o,state:e}))}),U1=t=>{const{error:e,vendorSettings:n,email:r,state:i}=t;return y(zt,{title:U.t("forgot_password_title"),vendorSettings:n,children:[y("div",{className:"mb-4 text-lg font-medium sm:text-2xl",children:U.t("forgot_password_title")}),y("div",{className:"mb-6 text-gray-300",children:U.t("forgot_password_description")}),y("div",{className:"flex flex-1 flex-col justify-center",children:[y(Rn,{className:"pt-2",children:[y("input",{type:"email",name:"username",placeholder:U.t("email_placeholder"),className:"mb-2 w-full rounded-lg bg-gray-100 px-4 py-5 text-base placeholder:text-gray-300 dark:bg-gray-600 md:text-base",value:r,disabled:!!r}),e&&y(br,{children:e}),y(Pn,{className:"sm:mt-4",children:U.t("forgot_password_cta")})]}),y(en,{state:i})]})]})},V1=t=>{const{vendorSettings:e,state:n}=t;return y(zt,{title:"Login",vendorSettings:e,children:[y("div",{className:"flex flex-1 flex-col justify-center",children:[y("div",{children:U.t("forgot_password_email_sent")}),y("div",{className:"my-4 flex space-x-2 text-sm text-[#B2B2B2]",children:[y(gt,{className:"text-base",name:"info-bubble"}),y("div",{className:"text-sm text-gray-300 md:text-sm",children:U.t("sent_code_spam")})]})]}),y(en,{state:n})]})},M1=new a.OpenAPIHono().openapi(a.createRoute({tags:["login"],method:"get",path:"/",request:{query:a.z.object({state:a.z.string().openapi({description:"The state parameter from the authorization request"})})},responses:{200:{description:"Response"}}}),async t=>{const{state:e}=t.req.valid("query"),{vendorSettings:n,session:r}=await Fe(t,e);return t.html(y(U1,{vendorSettings:n,state:e,email:r.authParams.username}))}).openapi(a.createRoute({tags:["login"],method:"post",path:"/",request:{query:a.z.object({state:a.z.string().openapi({description:"The state parameter from the authorization request"})})},responses:{200:{description:"Response"}}}),async t=>{const{state:e}=t.req.valid("query"),{vendorSettings:n,client:r,session:i}=await Fe(t,e);return await kb(t,r,i.authParams.username,i.login_id),t.html(y(V1,{vendorSettings:n,state:e}))}),q1=({vendorSettings:t,state:e,user:n})=>y(zt,{title:de("check_email_title"),vendorSettings:t,children:y("div",{className:"flex flex-1 flex-col justify-center",children:[y("div",{className:"mb-8 text-gray-700 dark:text-gray-300",children:[y(om,{i18nKey:"currently_logged_in_as",components:[y("span",{className:"font-semibold text-gray-900 dark:text-white"},"span")],values:{email:n.email}}),y("br",{}),de("continue_with_sso_provider_headline")]}),y("div",{className:"space-y-6",children:[y(Rn,{children:y(Pn,{className:"w-full text-base sm:mt-4 md:text-base",children:y("div",{className:"flex items-center justify-center space-x-2",children:y("span",{children:U.t("yes_continue_with_existing_account")})})})}),y("a",{className:"block text-center text-primary hover:text-primaryHover focus:outline-none focus:ring-2 focus:ring-primary focus:ring-offset-2 dark:focus:ring-offset-gray-900",href:`/u/enter-email?state=${encodeURIComponent(e)}`,children:U.t("no_use_another")})]})]})}),D1=new a.OpenAPIHono().openapi(a.createRoute({tags:["login"],method:"get",path:"/",request:{query:a.z.object({state:a.z.string().openapi({description:"The state parameter from the authorization request"})})},responses:{200:{description:"Response"}}}),async t=>{const{env:e}=t,{state:n}=t.req.valid("query"),{vendorSettings:r,client:i}=await Fe(t,n),s=Hs(i.tenant.id,t.req.header("cookie")),o=s?await e.data.sessions.get(i.tenant.id,s):null;if(!o)return t.redirect(`/u/enter-email?state=${n}`);const c=await e.data.users.get(i.tenant.id,o.user_id);return c?t.html(y(q1,{vendorSettings:r,state:n,user:c})):t.redirect(`/u/enter-email?state=${n}`)}).openapi(a.createRoute({tags:["login"],method:"post",path:"/",request:{query:a.z.object({state:a.z.string().openapi({description:"The state parameter from the authorization request"})})},responses:{302:{description:"Redirect"}}}),async t=>{const{env:e}=t,{state:n}=t.req.valid("query"),{session:r,client:i}=await Fe(t,n),s=Hs(i.tenant.id,t.req.header("cookie")),o=s?await e.data.sessions.get(i.tenant.id,s):null;if(!o)return t.redirect(`/u/enter-email?state=${n}`);const c=await e.data.users.get(i.tenant.id,o.user_id);return c?an(t,{user:c,authParams:r.authParams,client:i,loginSession:r}):t.redirect(`/u/enter-email?state=${n}`)});function H1(){const e=new a.OpenAPIHono().route("/check-account",D1).route("/enter-email",d1).route("/enter-code",B1).route("/enter-password",P1).route("/reset-password",L1).route("/forgot-password",M1).route("/signup",R1);return e.doc("/u/spec",{openapi:"3.0.0",info:{version:"1.0.0",title:"Universal login"}}),e}const F1="Account detected",K1="We have detected that you have already created an account through",W1="By signing in, you agree to our",G1="and",J1="Callback URL mismatch",Z1="The provided redirect_uri is not in the list of allowed callback URLs.",Y1="continue with user",X1="Please click the button to create a new password account.",Q1="Enter the code at {{vendorName}} to complete the login",ek="Welcome to {{vendorName}}! {{code}} is the login code",tk="Welcome to {{vendorName}}! {{code}} is the login code",nk="The code is valid for 30 minutes",rk="Confirm password",ik="Need Help?",sk="Contact us",ok="or continue with social account",ak="Continue with {{provider}}",ck="Would you like to continue with your existing account?",lk="Copyright © 2023 SESAMY. All rights reserved.",uk="©2023 Sesamy",dk="Choose a password with a mix of uppercase and lowercase letters, numbers, and symbols.",pk="Please enter a valid email address.",fk="The passwords didn't match. Try again.",hk="Choose password",gk="Password must be at least 8 characters long and contain at least one lowercase letter, one uppercase letter, one number and one symbol.",mk="Create new account",_k="Sign up with password",yk="You are currently logged in as <0>{{email}}</0>",vk="Email",wk="Email address",bk="Your email address has been validated",kk="Now enter your password to login again",xk="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.",Sk="Email verification sent",Ak="Enter a code",Ek="We'll send you a verification link to ensure you own this email address.",Ik="Enter new password",Ck="Enter password",Nk="Enter your email address and password to login.",zk="Enter your password",$k="The magic link has expired. Please click on the button below to receive a new link in your inbox.",jk="Hey! We updated our login experience. <0>Click here to learn more about it.</0>",Ok="Send password reset email",Bk="Click the button below and we’ll send instructions on how to reset your password.",Tk="Password reset email sent",Pk="Forgot password?",Rk="Forgot password?",Lk="Go back",Uk="Invalid password",Vk=`The link is no longer valid.
|
|
222
|
+
c2.7,4.1,6.5,6.6,10.9,6.6c4,0,7.2-2,9.6-5.2c0.9-1.2,0.9-2.5,0-3.1C33.3,22.9,32.1,23.2,31.2,24.4z`})]}),Up=({error:t,vendorSettings:e,session:n,email:r,client:i,impersonation:s})=>{const o=i.connections.map(({name:m})=>m),c=o.includes("facebook"),l=o.includes("google-oauth2"),u=o.includes("apple"),p=o.includes("vipps"),h=c||l||u||p;return y(zt,{title:U.t("welcome"),vendorSettings:e,children:[y("div",{className:"mb-4 text-lg font-medium sm:text-2xl",children:U.t("welcome")}),y("div",{className:"mb-8 text-gray-300",children:U.t("login_description")}),y("div",{className:"flex flex-1 flex-col justify-center",children:[y(Rn,{className:"mb-7",children:[y("input",{type:"email",name:"username",placeholder:U.t("email_placeholder"),className:Et("mb-2 w-full rounded-lg border bg-gray-100 px-4 py-5 text-base placeholder:text-gray-300 dark:bg-gray-600 md:text-base",{"border-red":t,"border-gray-100 dark:border-gray-500":!t}),required:!0,value:r||""}),s&&y("input",{type:"email",name:"act_as",placeholder:"Impersonate as",className:Et("mb-2 w-full rounded-lg border bg-gray-100 px-4 py-5 text-base placeholder:text-gray-300 dark:bg-gray-600 md:text-base",{"border-red":t,"border-gray-100 dark:border-gray-500":!t}),required:!0,value:""}),t&&y(br,{children:t}),y(Pn,{className:"text-base sm:mt-4 md:text-base",children:y("div",{className:"flex items-center space-x-2",children:[y("span",{children:U.t("continue")}),y(gt,{className:"text-xs",name:"arrow-right"})]})})]}),h&&y("div",{className:"relative mb-5 block text-center text-gray-300 dark:text-gray-300",children:[y("div",{className:"absolute left-0 right-0 top-1/2 border-b border-gray-200 dark:border-gray-600"}),y("div",{className:"relative inline-block bg-white px-2 dark:bg-gray-800",children:U.t("continue_social_login")})]}),y("div",{className:"flex space-x-4 sm:flex-col sm:space-x-0 sm:space-y-4 short:flex-row short:space-x-4 short:space-y-0",children:[c&&y(Pi,{connection:"facebook",text:U.t("continue_with",{provider:"Facebook"}),canResize:!0,icon:y(gt,{className:"text-xl text-[#1196F5] sm:absolute sm:left-4 sm:top-1/2 sm:-translate-y-1/2 sm:text-2xl short:static short:left-auto short:top-auto short:translate-y-0 short:text-xl",name:"facebook"}),session:n}),l&&y(Pi,{connection:"google-oauth2",text:U.t("continue_with",{provider:"Google"}),canResize:!0,icon:y(a1,{className:"h-5 w-5 sm:absolute sm:left-4 sm:top-1/2 sm:h-6 sm:w-6 sm:-translate-y-1/2 short:static short:left-auto short:top-auto short:h-5 short:w-5 short:translate-y-0"}),session:n}),u&&y(Pi,{connection:"apple",text:U.t("continue_with",{provider:"Apple"}),canResize:!0,icon:y(gt,{className:"text-xl text-black dark:text-white sm:absolute sm:left-4 sm:top-1/2 sm:-translate-y-1/2 sm:text-2xl short:static short:left-auto short:top-auto short:translate-y-0 short:text-xl",name:"apple"}),session:n}),p&&y(Pi,{connection:"vipps",text:U.t("continue_with",{provider:"Vipps"}),canResize:!0,icon:y(c1,{className:"h-5 w-5 sm:absolute sm:left-4 sm:top-1/2 sm:h-6 sm:w-6 sm:-translate-y-1/2 short:static short:left-auto short:top-auto short:h-5 short:w-5 short:translate-y-0"}),session:n})]})]})]})},l1=["Auth0.swift"];function u1(t){if(!t)return"link";const e=atob(t),n=JSON.parse(e);return l1.includes(n.name)?"code":"link"}const d1=new a.OpenAPIHono().openapi(a.createRoute({tags:["login"],method:"get",path:"/",request:{query:a.z.object({state:a.z.string().openapi({description:"The state parameter from the authorization request"}),impersonation:a.z.string().optional()})},responses:{200:{description:"Response"}}}),async t=>{const{state:e,impersonation:n}=t.req.valid("query"),{vendorSettings:r,session:i,client:s}=await Fe(t,e);return t.html(y(Up,{vendorSettings:r,session:i,client:s,email:i.authParams.username,impersonation:n==="true"}))}).openapi(a.createRoute({tags:["login"],method:"post",path:"/",request:{query:a.z.object({state:a.z.string().openapi({description:"The state parameter from the authorization request"})}),body:{content:{"application/x-www-form-urlencoded":{schema:a.z.object({username:a.z.string().transform(t=>t.toLowerCase()),act_as:a.z.string().transform(t=>t.toLowerCase()).optional(),login_selection:a.z.enum(["code","password"]).optional()})}}}},responses:{200:{description:"Response"}}}),async t=>{const{env:e}=t,{state:n}=t.req.valid("query"),r=t.req.valid("form");t.set("body",r),t.set("username",r.username);const{client:i,session:s,vendorSettings:o}=await Fe(t,n);t.set("client_id",i.id);const c=r.username,l=await Xs({userAdapter:e.data.users,tenant_id:i.tenant.id,email:c});if(l&&t.set("user_id",l.user_id),!l)try{await Pg(t,i,t.env.data,r.username)}catch{const v=be(t,{type:me.FAILED_SIGNUP,description:"Public signup is disabled"});return await t.env.data.logs.create(i.tenant.id,v),t.html(y(Up,{vendorSettings:o,session:s,error:U.t("user_account_does_not_exist"),email:r.username,client:i}),400)}if(s.authParams.username=r.username,s.authParams.act_as=r.act_as,await e.data.logins.update(i.tenant.id,s.login_id,s),await Zb(t,i,r.username,r.login_selection))return t.redirect(`/u/enter-password?state=${n}`);let u=or(),p=await e.data.codes.get(i.tenant.id,u,"otp");for(;p;)u=or(),p=await e.data.codes.get(i.tenant.id,u,"otp");const h=await t.env.data.codes.create(i.tenant.id,{code_id:u,code_type:"otp",login_id:s.login_id,expires_at:new Date(Date.now()+Fc).toISOString()});return u1(s.auth0Client)==="link"&&!r.username.includes("online.no")?Qe(t,nu(t,r.username,h.code_id,s.authParams)):Qe(t,Vg(t,r.username,h.code_id)),t.redirect(`/u/enter-code?state=${n}`)}),en=t=>y("a",{className:"block text-primary hover:text-primaryHover text-center",href:`/u/enter-email?state=${t.state}`,children:U.t("go_back")});var ri="_hp",p1={Change:"Input",DoubleClick:"DblClick"},f1={svg:"2000/svg",math:"1998/Math/MathML"},ii=[],Zc=new WeakMap,cr=void 0,h1=()=>cr,$t=t=>"t"in t,ma={onClick:["click",!1]},Vp=t=>{if(!t.startsWith("on"))return;if(ma[t])return ma[t];const e=t.match(/^on([A-Z][a-zA-Z]+?(?:PointerCapture)?)(Capture)?$/);if(e){const[,n,r]=e;return ma[t]=[(p1[n]||n).toLowerCase(),!!r]}},Mp=(t,e)=>cr&&t instanceof SVGElement&&/[A-Z]/.test(e)&&(e in t.style||e.match(/^(?:o|pai|str|u|ve)/))?e.replace(/([A-Z])/g,"-$1").toLowerCase():e,g1=(t,e,n)=>{var r;e||(e={});for(let i in e){const s=e[i];if(i!=="children"&&(!n||n[i]!==s)){i=Ks(i);const o=Vp(i);if(o){if((n==null?void 0:n[i])!==s&&(n&&t.removeEventListener(o[0],n[i],o[1]),s!=null)){if(typeof s!="function")throw new Error(`Event handler for "${i}" is not a function`);t.addEventListener(o[0],s,o[1])}}else if(i==="dangerouslySetInnerHTML"&&s)t.innerHTML=s.__html;else if(i==="ref"){let c;typeof s=="function"?c=s(t)||(()=>s(null)):s&&"current"in s&&(s.current=t,c=()=>s.current=null),Zc.set(t,c)}else if(i==="style"){const c=t.style;typeof s=="string"?c.cssText=s:(c.cssText="",s!=null&&Gg(s,c.setProperty.bind(c)))}else{if(i==="value"){const l=t.nodeName;if(l==="INPUT"||l==="TEXTAREA"||l==="SELECT"){if(t.value=s==null||s===!1?null:s,l==="TEXTAREA"){t.textContent=s;continue}else if(l==="SELECT"){t.selectedIndex===-1&&(t.selectedIndex=0);continue}}}else(i==="checked"&&t.nodeName==="INPUT"||i==="selected"&&t.nodeName==="OPTION")&&(t[i]=s);const c=Mp(t,i);s==null||s===!1?t.removeAttribute(c):s===!0?t.setAttribute(c,""):typeof s=="string"||typeof s=="number"?t.setAttribute(c,s):t.setAttribute(c,s.toString())}}}if(n)for(let i in n){const s=n[i];if(i!=="children"&&!(i in e)){i=Ks(i);const o=Vp(i);o?t.removeEventListener(o[0],s,o[1]):i==="ref"?(r=Zc.get(t))==null||r():t.removeAttribute(Mp(t,i))}}},m1=(t,e)=>{e[Se][0]=0,ii.push([t,e]);const n=e.tag[ou]||e.tag,r=n.defaultProps?{...n.defaultProps,...e.props}:e.props;try{return[n.call(null,r)]}finally{ii.pop()}},Xg=(t,e,n,r,i)=>{var s,o;(s=t.vR)!=null&&s.length&&(r.push(...t.vR),delete t.vR),typeof t.tag=="function"&&((o=t[Se][1][nm])==null||o.forEach(c=>i.push(c))),t.vC.forEach(c=>{var l;if($t(c))n.push(c);else if(typeof c.tag=="function"||c.tag===""){c.c=e;const u=n.length;if(Xg(c,e,n,r,i),c.s){for(let p=u;p<n.length;p++)n[p].s=!0;c.s=!1}}else n.push(c),(l=c.vR)!=null&&l.length&&(r.push(...c.vR),delete c.vR)})},_1=t=>{for(;;t=t.tag===ri||!t.vC||!t.pP?t.nN:t.vC[0]){if(!t)return null;if(t.tag!==ri&&t.e)return t.e}},Qg=t=>{var e,n,r,i,s,o;$t(t)||((n=(e=t[Se])==null?void 0:e[1][nm])==null||n.forEach(c=>{var l;return(l=c[2])==null?void 0:l.call(c)}),(r=Zc.get(t.e))==null||r(),t.p===2&&((i=t.vC)==null||i.forEach(c=>c.p=2)),(s=t.vC)==null||s.forEach(Qg)),t.p||((o=t.e)==null||o.remove(),delete t.e),typeof t.tag=="function"&&(zr.delete(t),Ji.delete(t),delete t[Se][3],t.a=!0)},em=(t,e,n)=>{t.c=e,tm(t,e,n)},qp=(t,e)=>{if(e){for(let n=0,r=t.length;n<r;n++)if(t[n]===e)return n}},Dp=Symbol(),tm=(t,e,n)=>{var u;const r=[],i=[],s=[];Xg(t,e,r,i,s),i.forEach(Qg);const o=n?void 0:e.childNodes;let c,l=null;if(n)c=-1;else if(!o.length)c=0;else{const p=qp(o,_1(t.nN));p!==void 0?(l=o[p],c=p):c=qp(o,(u=r.find(h=>h.tag!==ri&&h.e))==null?void 0:u.e)??-1,c===-1&&(n=!0)}for(let p=0,h=r.length;p<h;p++,c++){const m=r[p];let v;if(m.s&&m.e)v=m.e,m.s=!1;else{const f=n||!m.e;$t(m)?(m.e&&m.d&&(m.e.textContent=m.t),m.d=!1,v=m.e||(m.e=document.createTextNode(m.t))):(v=m.e||(m.e=m.n?document.createElementNS(m.n,m.tag):document.createElement(m.tag)),g1(v,m.props,m.pP),tm(m,v,f))}m.tag===ri?c--:n?v.parentNode||e.appendChild(v):o[c]!==v&&o[c-1]!==v&&(o[c+1]===v?e.appendChild(o[c]):e.insertBefore(v,l||o[c]||null))}if(t.pP&&delete t.pP,s.length){const p=[],h=[];s.forEach(([,m,,v,f])=>{m&&p.push(m),v&&h.push(v),f==null||f()}),p.forEach(m=>m()),h.length&&requestAnimationFrame(()=>{h.forEach(m=>m())})}},Ji=new WeakMap,Yc=(t,e,n)=>{var s,o,c,l,u,p;const r=!n&&e.pC;n&&(e.pC||(e.pC=e.vC));let i;try{n||(n=typeof e.tag=="function"?m1(t,e):Ai(e.props.children)),((s=n[0])==null?void 0:s.tag)===""&&n[0][Gc]&&(i=n[0][Gc],t[5].push([t,i,e]));const h=r?[...e.pC]:e.vC?[...e.vC]:void 0,m=[];let v;for(let f=0;f<n.length;f++){Array.isArray(n[f])&&n.splice(f,1,...n[f].flat());let _=y1(n[f]);if(_){typeof _.tag=="function"&&!_.tag[Dg]&&(ar.length>0&&(_[Se][2]=ar.map(S=>[S,S.values.at(-1)])),(o=t[5])!=null&&o.length&&(_[Se][3]=t[5].at(-1)));let w;if(h&&h.length){const S=h.findIndex($t(_)?N=>$t(N):_.key!==void 0?N=>N.key===_.key&&N.tag===_.tag:N=>N.tag===_.tag);S!==-1&&(w=h[S],h.splice(S,1))}if(w)if($t(_))w.t!==_.t&&(w.t=_.t,w.d=!0),_=w;else{const S=w.pP=w.props;w.props=_.props,w.f||(w.f=_.f||e.f),typeof _.tag=="function"&&(w[Se][2]=_[Se][2]||[],w[Se][3]=_[Se][3],!w.f&&((w.o||w)===_.o||(l=(c=w.tag)[Bb])!=null&&l.call(c,S,w.props))&&(w.s=!0)),_=w}else if(!$t(_)&&cr){const S=wr(cr);S&&(_.n=S)}if(!$t(_)&&!_.s&&(Yc(t,_),delete _.f),m.push(_),v&&!v.s&&!_.s)for(let S=v;S&&!$t(S);S=(u=S.vC)==null?void 0:u.at(-1))S.nN=_;v=_}}e.vR=r?[...e.vC,...h||[]]:h||[],e.vC=m,r&&delete e.pC}catch(h){if(e.f=!0,h===Dp){if(i)return;throw h}const[m,v,f]=((p=e[Se])==null?void 0:p[3])||[];if(v){const _=()=>Zi([0,!1,t[2]],f),w=Ji.get(f)||[];w.push(_),Ji.set(f,w);const S=v(h,()=>{const N=Ji.get(f);if(N){const B=N.indexOf(_);if(B!==-1)return N.splice(B,1),_()}});if(S){if(t[0]===1)t[1]=!0;else if(Yc(t,f,[S]),(v.length===1||t!==m)&&f.c){em(f,f.c,!1);return}throw Dp}}throw h}finally{i&&t[5].pop()}},y1=t=>{if(!(t==null||typeof t=="boolean")){if(typeof t=="string"||typeof t=="number")return{t:t.toString(),d:!0};if("vR"in t&&(t={tag:t.tag,props:t.props,key:t.key,f:t.f,type:t.tag,ref:t.props.ref,o:t.o||t}),typeof t.tag=="function")t[Se]=[0,[]];else{const e=f1[t.tag];e&&(cr||(cr=Fg("")),t.props.children=[{tag:cr,props:{value:t.n=`http://www.w3.org/${e}`,children:t.props.children}}])}return t}},Hp=(t,e)=>{var n,r;(n=e[Se][2])==null||n.forEach(([i,s])=>{i.values.push(s)});try{Yc(t,e,void 0)}catch{return}if(e.a){delete e.a;return}(r=e[Se][2])==null||r.forEach(([i])=>{i.values.pop()}),(t[0]!==1||!t[1])&&em(e,e.c,!1)},zr=new WeakMap,Fp=[],Zi=async(t,e)=>{t[5]||(t[5]=[]);const n=zr.get(e);n&&n[0](void 0);let r;const i=new Promise(s=>r=s);if(zr.set(e,[r,()=>{t[2]?t[2](t,e,s=>{Hp(s,e)}).then(()=>r(e)):(Hp(t,e),r(e))}]),Fp.length)Fp.at(-1).add(e);else{await Promise.resolve();const s=zr.get(e);s&&(zr.delete(e),s[1]())}return i},v1=(t,e,n)=>({tag:ri,props:{children:t},key:n,e,p:1}),_a=0,nm=1,ya=2,va=3,wa=new WeakMap,rm=(t,e)=>!t||!e||t.length!==e.length||e.some((n,r)=>n!==t[r]),w1=void 0,Kp=[],b1=t=>{var o;const e=()=>typeof t=="function"?t():t,n=ii.at(-1);if(!n)return[e(),()=>{}];const[,r]=n,i=(o=r[Se][1])[_a]||(o[_a]=[]),s=r[Se][0]++;return i[s]||(i[s]=[e(),c=>{const l=w1,u=i[s];if(typeof c=="function"&&(c=c(u[0])),!Object.is(c,u[0]))if(u[0]=c,Kp.length){const[p,h]=Kp.at(-1);Promise.all([p===3?r:Zi([p,!1,l],r),h]).then(([m])=>{if(!m||!(p===2||p===3))return;const v=m.vC;requestAnimationFrame(()=>{setTimeout(()=>{v===m.vC&&Zi([p===3?1:0,!1,l],m)})})})}else Zi([0,!1,l],r)}])},uu=(t,e)=>{var c;const n=ii.at(-1);if(!n)return t;const[,r]=n,i=(c=r[Se][1])[ya]||(c[ya]=[]),s=r[Se][0]++,o=i[s];return rm(o==null?void 0:o[1],e)?i[s]=[t,e]:t=i[s][0],t},k1=t=>{const e=wa.get(t);if(e){if(e.length===2)throw e[1];return e[0]}throw t.then(n=>wa.set(t,[n]),n=>wa.set(t,[void 0,n])),t},x1=(t,e)=>{var c;const n=ii.at(-1);if(!n)return t();const[,r]=n,i=(c=r[Se][1])[va]||(c[va]=[]),s=r[Se][0]++,o=i[s];return rm(o==null?void 0:o[1],e)&&(i[s]=[t(),e]),i[s][0]},S1=Fg({pending:!1,data:null,method:null,action:null}),Wp=new Set,A1=t=>{Wp.add(t),t.finally(()=>Wp.delete(t))},du=(t,e)=>x1(()=>n=>{let r;t&&(typeof t=="function"?r=t(n)||(()=>{t(null)}):t&&"current"in t&&(t.current=n,r=()=>{t.current=null}));const i=e(n);return()=>{i==null||i(),r==null||r()}},[t]),Mn=Object.create(null),Ri=Object.create(null),Ci=(t,e,n,r,i)=>{if(e!=null&&e.itemProp)return{tag:t,props:e,type:t,ref:e.ref};const s=document.head;let{onLoad:o,onError:c,precedence:l,blocking:u,...p}=e,h=null,m=!1;const v=Ki[t];let f;if(v.length>0){const N=s.querySelectorAll(t);e:for(const B of N)for(const R of Ki[t])if(B.getAttribute(R)===e[R]){h=B;break e}if(!h){const B=v.reduce((R,te)=>e[te]===void 0?R:`${R}-${te}-${e[te]}`,t);m=!Ri[B],h=Ri[B]||(Ri[B]=(()=>{const R=document.createElement(t);for(const te of v)e[te]!==void 0&&R.setAttribute(te,e[te]),e.rel&&R.setAttribute("rel",e.rel);return R})())}}else f=s.querySelectorAll(t);l=r?l??"":void 0,r&&(p[Wi]=l);const _=uu(N=>{if(v.length>0){let B=!1;for(const R of s.querySelectorAll(t)){if(B&&R.getAttribute(Wi)!==l){s.insertBefore(N,R);return}R.getAttribute(Wi)===l&&(B=!0)}s.appendChild(N)}else if(f){let B=!1;for(const R of f)if(R===N){B=!0;break}B||s.insertBefore(N,s.contains(f[0])?f[0]:s.querySelector(t)),f=void 0}},[l]),w=du(e.ref,N=>{var te;const B=v[0];if(n===2&&(N.innerHTML=""),(m||f)&&_(N),!c&&!o)return;let R=Mn[te=N.getAttribute(B)]||(Mn[te]=new Promise((fe,le)=>{N.addEventListener("load",fe),N.addEventListener("error",le)}));o&&(R=R.then(o)),c&&(R=R.catch(c)),R.catch(()=>{})});if(i&&u==="render"){const N=Ki[t][0];if(e[N]){const B=e[N],R=Mn[B]||(Mn[B]=new Promise((te,fe)=>{_(h),h.addEventListener("load",te),h.addEventListener("error",fe)}));k1(R)}}const S={tag:t,type:t,props:{...p,ref:w},ref:w};return S.p=n,h&&(S.e=h),v1(S,s)},E1=t=>{const e=h1(),n=e&&wr(e);return n!=null&&n.endsWith("svg")?{tag:"title",props:t,type:"title",ref:t.ref}:Ci("title",t,void 0,!1,!1)},I1=t=>!t||["src","async"].some(e=>!t[e])?{tag:"script",props:t,type:"script",ref:t.ref}:Ci("script",t,1,!1,!0),C1=t=>!t||!["href","precedence"].every(e=>e in t)?{tag:"style",props:t,type:"style",ref:t.ref}:(t["data-href"]=t.href,delete t.href,Ci("style",t,2,!0,!0)),N1=t=>!t||["onLoad","onError"].some(e=>e in t)||t.rel==="stylesheet"&&(!("precedence"in t)||"disabled"in t)?{tag:"link",props:t,type:"link",ref:t.ref}:Ci("link",t,1,"precedence"in t,!0),z1=t=>Ci("meta",t,void 0,!1,!1),im=Symbol(),$1=t=>{const{action:e,...n}=t;typeof e!="function"&&(n.action=e);const[r,i]=b1([null,!1]),s=uu(async u=>{const p=u.isTrusted?e:u.detail[im];if(typeof p!="function")return;u.preventDefault();const h=new FormData(u.target);i([h,!0]);const m=p(h);m instanceof Promise&&(A1(m),await m),i([null,!0])},[]),o=du(t.ref,u=>(u.addEventListener("submit",s),()=>{u.removeEventListener("submit",s)})),[c,l]=r;return r[1]=!1,{tag:S1,props:{value:{pending:c!==null,data:c,method:c?"post":null,action:c?e:null},children:{tag:"form",props:{...n,ref:o},type:"form",ref:o}},f:l}},sm=(t,{formAction:e,...n})=>{if(typeof e=="function"){const r=uu(i=>{i.preventDefault(),i.currentTarget.form.dispatchEvent(new CustomEvent("submit",{detail:{[im]:e}}))},[]);n.ref=du(n.ref,i=>(i.addEventListener("click",r),()=>{i.removeEventListener("click",r)}))}return{tag:t,props:n,type:t,ref:n.ref}},j1=t=>sm("input",t),O1=t=>sm("button",t);Object.assign(Jc,{title:E1,script:I1,style:C1,link:N1,meta:z1,form:$1,input:j1,button:O1});new TextEncoder;const om=t=>{const{i18nKey:e,values:n,components:r}=t,i=U.t(e,n),s=/<(\d+)>(.*?)<\/\d+>/g,o=[];let c=0,l;for(;(l=s.exec(i))!==null;){const[,u,p]=l,h=i.substring(c,l.index);h&&o.push(h);const m=parseInt(u,10);o.push(Jb(r[m],{},p)),c=s.lastIndex}return c<i.length&&o.push(i.substring(c)),y(lu,{children:o})},Gp=6,Jp=({error:t,vendorSettings:e,email:n,state:r,client:i,hasPasswordLogin:s})=>{const o=new URLSearchParams({state:r}),l=i.connections.map(({name:u})=>u).includes("auth2");return y(zt,{title:U.t("verify_your_email"),vendorSettings:e,children:[y("div",{className:"mb-4 text-2xl font-medium",children:U.t("verify_your_email")}),y("div",{className:"mb-8 text-gray-300",children:y(om,{i18nKey:"we_sent_a_code_to",components:[y("span",{className:"text-black dark:text-white"},"span")],values:{email:n}})}),y("div",{className:"flex flex-1 flex-col justify-center",children:[y(Rn,{className:"pt-2",children:[y("input",{autoFocus:!0,type:"text",pattern:"[0-9]*",maxLength:Gp,inputMode:"numeric",name:"code",placeholder:"******",className:Et("mb-2 w-full rounded-lg border bg-gray-100 px-4 pb-2 pt-2.5 text-center indent-[5px] font-mono text-3xl placeholder:text-gray-300 dark:bg-gray-600 md:text-3xl",{"border-red":t,"border-gray-100 dark:border-gray-500":!t}),minLength:Gp,required:!0,id:"code-input"}),t&&y(br,{children:t}),y("div",{className:"text-center sm:mt-2",children:y(Pn,{className:"text-base sm:mt-4 md:text-base",children:y("div",{className:"flex items-center space-x-2",children:[y("span",{children:U.t("login")}),y(gt,{className:"text-xs",name:"arrow-right"})]})})}),y("div",{className:"my-4 flex space-x-2 text-sm text-[#B2B2B2]",children:[y(gt,{className:"text-base",name:"info-bubble"}),y("div",{className:"text-sm text-gray-300 md:text-sm",children:U.t("sent_code_spam")})]}),l&&y("div",{className:"text-center mb-12",children:[y("div",{className:"relative mb-5 block text-center text-gray-300 dark:text-gray-300",children:[y("div",{className:"absolute left-0 right-0 top-1/2 border-b border-gray-200 dark:border-gray-600"}),y("div",{className:"relative inline-block bg-white px-2 dark:bg-gray-800",children:U.t("or")})]}),y(ni,{Component:"a",href:`/u/${s?"enter-password":"pre-signup"}?${o.toString()}`,variant:"secondary",className:"block",children:U.t("enter_your_password_btn")})]})]}),y(en,{state:r})]})]})},B1=new a.OpenAPIHono().openapi(a.createRoute({tags:["login"],method:"get",path:"/",request:{query:a.z.object({state:a.z.string().openapi({description:"The state"})})},responses:{200:{description:"Response"}}}),async t=>{const{state:e}=t.req.valid("query"),{vendorSettings:n,session:r,client:i}=await Fe(t,e);if(!r.authParams.username)throw new z(400,{message:"Username not found in state"});const s=await yn({userAdapter:t.env.data.users,tenant_id:i.tenant.id,email:r.authParams.username,provider:"auth2"});return t.html(y(Jp,{vendorSettings:n,email:r.authParams.username,state:e,client:i,hasPasswordLogin:!!s}))}).openapi(a.createRoute({tags:["login"],method:"post",path:"/",request:{query:a.z.object({state:a.z.string().openapi({description:"The state"})}),body:{content:{"application/x-www-form-urlencoded":{schema:a.z.object({code:a.z.string()})}}}},responses:{200:{description:"Response"}}}),async t=>{const{state:e}=t.req.valid("query"),{code:n}=t.req.valid("form"),{session:r,client:i,vendorSettings:s}=await Fe(t,e);if(t.set("client_id",i.id),!r.authParams.username)throw new z(400,{message:"Username not found in state"});try{return await iu(t,i,r.authParams,r.authParams.username,n)}catch(o){const c=o,l=await yn({userAdapter:t.env.data.users,tenant_id:i.tenant.id,email:r.authParams.username,provider:"auth2"});return t.html(y(Jp,{vendorSettings:s,email:r.authParams.username,state:e,client:i,error:c.message,hasPasswordLogin:!!l}),400)}}),T1=t=>{const{vendorSettings:e,state:n}=t;return y(zt,{title:U.t("unverified_email"),vendorSettings:e,children:[y("div",{className:"flex flex-1 flex-col justify-center",children:[y("p",{className:"mb-8 text-gray-300 text-lg",children:U.t("unverified_email")}),y("div",{className:"my-4 flex space-x-2 text-sm text-[#B2B2B2]",children:[y(gt,{className:"text-base",name:"info-bubble"}),y("div",{className:"text-sm text-gray-300 md:text-sm",children:U.t("sent_code_spam")})]}),y(en,{state:n})]}),y(en,{state:n})]})},ba=t=>{const{error:e,vendorSettings:n,email:r,state:i}=t,s=new URLSearchParams({state:i});return y(zt,{title:U.t("enter_password"),vendorSettings:n,children:[y("div",{className:"mb-4 text-lg font-medium sm:text-2xl",children:U.t("enter_password")}),y("div",{className:"mb-6 text-gray-300",children:U.t("enter_password_description")}),y("div",{className:"flex flex-1 flex-col justify-center",children:[y(Rn,{className:"mb-7",children:[y("input",{type:"text",name:"username",placeholder:U.t("email_placeholder"),className:"mb-2 w-full rounded-lg bg-gray-100 px-4 py-5 text-base placeholder:text-gray-300 dark:bg-gray-600 md:text-base",value:r}),y("input",{type:"password",name:"password",placeholder:U.t("password")||"",className:"mb-2 w-full rounded-lg bg-gray-100 px-4 py-5 text-base placeholder:text-gray-300 dark:bg-gray-600 md:text-base",required:!0}),e&&y(br,{children:e}),y(Pn,{className:"text-base sm:mt-4 md:text-base",children:y("div",{className:"flex items-center space-x-2",children:[y("span",{children:U.t("login")}),y(gt,{className:"text-xs",name:"arrow-right"})]})})]}),y("a",{href:`/u/forgot-password?${s.toString()}`,className:"text-primary hover:underline mb-4",children:U.t("forgot_password_link")}),y("div",{className:"text-center mb-12",children:[y("div",{className:"relative mb-5 block text-center text-gray-300 dark:text-gray-300",children:[y("div",{className:"absolute left-0 right-0 top-1/2 border-b border-gray-200 dark:border-gray-600"}),y("div",{className:"relative inline-block bg-white px-2 dark:bg-gray-800",children:U.t("or")})]}),y("form",{method:"post",action:`/u/enter-email?${s.toString()}`,children:[y("input",{type:"hidden",name:"login_selection",value:"code"}),y("input",{type:"hidden",name:"username",value:r}),y(ni,{variant:"secondary",className:"block",children:U.t("enter_a_code_btn")})]})]}),y(en,{state:i})]})]})},P1=new a.OpenAPIHono().openapi(a.createRoute({tags:["login"],method:"get",path:"/",request:{query:a.z.object({state:a.z.string().openapi({description:"The state parameter from the authorization request"})})},responses:{200:{description:"Response"}}}),async t=>{const{state:e}=t.req.valid("query"),{vendorSettings:n,client:r,session:i}=await Fe(t,e);if(!i.authParams.username)throw new z(400,{message:"Username required"});return t.html(y(ba,{vendorSettings:n,email:i.authParams.username,state:e,client:r}))}).openapi(a.createRoute({tags:["login"],method:"post",path:"/",request:{query:a.z.object({state:a.z.string().openapi({description:"The state parameter from the authorization request"})}),body:{content:{"application/x-www-form-urlencoded":{schema:a.z.object({password:a.z.string()})}}}},responses:{200:{description:"Response"}}}),async t=>{const{state:e}=t.req.valid("query"),n=t.req.valid("form"),{password:r}=n,{vendorSettings:i,client:s,session:o}=await Fe(t,e),{username:c}=o.authParams;if(!c)throw new z(400,{message:"Username required"});try{return await su(t,s,{...o.authParams,password:r},o)}catch(l){const u=l;return u.code==="INVALID_PASSWORD"||u.code==="USER_NOT_FOUND"?t.html(y(ba,{vendorSettings:i,email:c,error:U.t("invalid_password"),state:e,client:s}),400):u.code==="EMAIL_NOT_VERIFIED"?t.html(y(T1,{vendorSettings:i,state:e}),400):t.html(y(ba,{vendorSettings:i,email:c,error:u.message,state:e,client:s}),400)}}),Cr=t=>{const{state:e,error:n,vendorSettings:r,email:i,code:s}=t;return y(zt,{title:U.t("create_account_title"),vendorSettings:r,children:[y("div",{className:"mb-4 text-lg font-medium sm:text-2xl",children:U.t("create_account_title")}),y("div",{className:"mb-6 text-gray-300",children:U.t("create_account_description")}),y("div",{className:"flex flex-1 flex-col justify-center",children:[y(Rn,{children:[y("input",{type:"hidden",name:"code",value:s}),y("input",{type:"email",name:"username",placeholder:U.t("email_placeholder"),className:"mb-2 w-full rounded-lg bg-gray-100 px-4 py-5 text-base placeholder:text-gray-300 dark:bg-gray-600 md:text-base",required:!0,value:i,disabled:!!i}),y("input",{type:"password",name:"password",placeholder:U.t("enter_new_password_placeholder"),className:"mb-2 w-full rounded-lg bg-gray-100 px-4 py-5 text-base placeholder:text-gray-300 dark:bg-gray-600 md:text-base"}),y("input",{type:"password",name:"re-enter-password",placeholder:U.t("reenter_new_password_placeholder"),className:"mb-2 w-full rounded-lg bg-gray-100 px-4 py-5 text-base placeholder:text-gray-300 dark:bg-gray-600 md:text-base"}),n&&y(br,{children:n}),y(Pn,{className:"text-base sm:mt-2 md:text-base",children:U.t("continue")})]}),y(en,{state:e})]})]})},am=t=>{const{message:e,vendorSettings:n,pageTitle:r,state:i}=t;return y(zt,{title:"Login",vendorSettings:n,children:[r?y("div",{className:"mb-6 text-gray-300",children:r}):"",y("div",{className:"flex flex-1 flex-col justify-center",children:e}),i?y(en,{state:i}):""]})},R1=new a.OpenAPIHono().openapi(a.createRoute({tags:["login"],method:"get",path:"/",request:{query:a.z.object({state:a.z.string().openapi({description:"The state parameter from the authorization request"}),code:a.z.string().optional().openapi({description:"The code parameter from an email verification link"})})},responses:{200:{description:"Response"}}}),async t=>{const{state:e,code:n}=t.req.valid("query"),{vendorSettings:r,session:i}=await Fe(t,e),{username:s}=i.authParams;if(!s)throw new z(400,{message:"Username required"});return n?t.html(y(Cr,{state:e,vendorSettings:r,email:s,code:n})):t.html(y(Cr,{state:e,vendorSettings:r,email:s}))}).openapi(a.createRoute({tags:["login"],method:"post",path:"/",request:{query:a.z.object({state:a.z.string().openapi({description:"The state parameter from the authorization request"})}),body:{content:{"application/x-www-form-urlencoded":{schema:a.z.object({password:a.z.string(),"re-enter-password":a.z.string(),code:a.z.string().optional()})}}}},responses:{200:{description:"Response"}}}),async t=>{const{state:e}=t.req.valid("query"),n=t.req.valid("form"),{env:r}=t,{vendorSettings:i,client:s,session:o}=await Fe(t,e),c="Username-Password-Authentication";t.set("client_id",s.id),t.set("connection",c);const l=o.authParams.username;if(!l)throw new z(400,{message:"Username required"});if(n.password!==n["re-enter-password"])return t.html(y(Cr,{state:e,code:n.code,vendorSettings:i,error:U.t("create_account_passwords_didnt_match"),email:o.authParams.username}),400);if(!tu(n.password))return t.html(y(Cr,{state:e,code:n.code,vendorSettings:i,error:U.t("create_account_weak_password"),email:o.authParams.username}),400);const u=n.code?await r.data.codes.get(s.tenant.id,n.code,"email_verification"):void 0,p=u?await r.data.logins.get(s.tenant.id,u.login_id):void 0;try{if(await Gn({userAdapter:t.env.data.users,tenant_id:s.tenant.id,email:l,provider:"auth2"}))throw new z(400,{message:"Invalid sign up"});const m=(p==null?void 0:p.authParams.username)===l,v=await t.env.data.users.create(s.tenant.id,{user_id:`auth2|${oi()}`,email:l,email_verified:m,provider:"auth2",connection:c,is_social:!1}),f=await Gn({userAdapter:t.env.data.users,tenant_id:s.tenant.id,email:l,provider:"auth2"});if(!f)throw new z(400,{message:"Invalid sign up"});return await r.data.passwords.create(s.tenant.id,{user_id:f.user_id,password:await si.hash(n.password,10),algorithm:"bcrypt"}),m?await su(t,s,{...o.authParams,password:n.password},o):(await ru(t,v),t.html(y(am,{message:U.t("validate_email_body"),pageTitle:U.t("validate_email_title"),vendorSettings:i,state:e})))}catch(h){const m=await Zg(r,s.id,o.authParams.vendor_id),v=h;return t.html(y(Cr,{state:e,vendorSettings:m,error:v.message,email:l}),400)}}),Nr=t=>{const{error:e,vendorSettings:n,email:r}=t;return y(zt,{title:U.t("reset_password_title"),vendorSettings:n,children:[y("div",{className:"mb-4 text-lg font-medium sm:text-2xl",children:U.t("reset_password_title")}),y("div",{className:"mb-6 text-gray-300",children:`${U.t("reset_password_description")} ${r}`}),y("div",{className:"flex flex-1 flex-col justify-center",children:y(Rn,{children:[y("input",{type:"password",name:"password",placeholder:U.t("enter_new_password_placeholder"),className:"mb-2 w-full rounded-lg bg-gray-100 px-4 py-5 text-base placeholder:text-gray-300 dark:bg-gray-600 md:text-base"}),y("input",{type:"password",name:"re-enter-password",placeholder:U.t("reenter_new_password_placeholder"),className:"mb-2 w-full rounded-lg bg-gray-100 px-4 py-5 text-base placeholder:text-gray-300 dark:bg-gray-600 md:text-base"}),e&&y(br,{children:e}),y(Pn,{className:"text-base sm:mt-2 md:text-base",children:U.t("reset_password_cta")})]})})]})},L1=new a.OpenAPIHono().openapi(a.createRoute({tags:["login"],method:"get",path:"/",request:{query:a.z.object({state:a.z.string().openapi({description:"The state parameter from the authorization request"}),code:a.z.string().openapi({description:"The code parameter from the authorization request"})})},responses:{200:{description:"Response"}}}),async t=>{const{state:e}=t.req.valid("query"),{vendorSettings:n,session:r}=await Fe(t,e);if(!r.authParams.username)throw new z(400,{message:"Username required"});return t.html(y(Nr,{vendorSettings:n,email:r.authParams.username}))}).openapi(a.createRoute({tags:["login"],method:"post",path:"/",request:{query:a.z.object({state:a.z.string().openapi({description:"The state parameter from the authorization request"}),code:a.z.string().openapi({description:"The code parameter from the authorization request"})}),body:{content:{"application/x-www-form-urlencoded":{schema:a.z.object({password:a.z.string(),"re-enter-password":a.z.string()})}}}},responses:{200:{description:"Response"}}}),async t=>{const{state:e,code:n}=t.req.valid("query"),{password:r,"re-enter-password":i}=t.req.valid("form"),{env:s}=t,{vendorSettings:o,client:c,session:l}=await Fe(t,e);if(!l.authParams.username)throw new z(400,{message:"Username required"});if(r!==i)return t.html(y(Nr,{error:U.t("create_account_passwords_didnt_match"),vendorSettings:o,email:l.authParams.username}),400);if(!tu(r))return t.html(y(Nr,{error:U.t("create_account_weak_password"),vendorSettings:o,email:l.authParams.username}),400);const u=await Gn({userAdapter:s.data.users,tenant_id:c.tenant.id,email:l.authParams.username,provider:"auth2"});if(!u)throw new z(400,{message:"User not found"});try{if(!await s.data.codes.get(c.tenant.id,n,"password_reset"))return t.html(y(Nr,{error:"Code not found or expired",vendorSettings:o,email:l.authParams.username}),400);console.log("got here");const h={user_id:u.user_id,password:await si.hash(r,10),algorithm:"bcrypt"};await s.data.passwords.get(c.tenant.id,u.user_id)?await s.data.passwords.update(c.tenant.id,h):await s.data.passwords.create(c.tenant.id,h),u.email_verified||await s.data.users.update(c.tenant.id,u.user_id,{email_verified:!0})}catch{return t.html(y(Nr,{error:"The password could not be reset",vendorSettings:o,email:l.authParams.username}),400)}return t.html(y(am,{message:U.t("password_has_been_reset"),vendorSettings:o,state:e}))}),U1=t=>{const{error:e,vendorSettings:n,email:r,state:i}=t;return y(zt,{title:U.t("forgot_password_title"),vendorSettings:n,children:[y("div",{className:"mb-4 text-lg font-medium sm:text-2xl",children:U.t("forgot_password_title")}),y("div",{className:"mb-6 text-gray-300",children:U.t("forgot_password_description")}),y("div",{className:"flex flex-1 flex-col justify-center",children:[y(Rn,{className:"pt-2",children:[y("input",{type:"email",name:"username",placeholder:U.t("email_placeholder"),className:"mb-2 w-full rounded-lg bg-gray-100 px-4 py-5 text-base placeholder:text-gray-300 dark:bg-gray-600 md:text-base",value:r,disabled:!!r}),e&&y(br,{children:e}),y(Pn,{className:"sm:mt-4",children:U.t("forgot_password_cta")})]}),y(en,{state:i})]})]})},V1=t=>{const{vendorSettings:e,state:n}=t;return y(zt,{title:"Login",vendorSettings:e,children:[y("div",{className:"flex flex-1 flex-col justify-center",children:[y("div",{children:U.t("forgot_password_email_sent")}),y("div",{className:"my-4 flex space-x-2 text-sm text-[#B2B2B2]",children:[y(gt,{className:"text-base",name:"info-bubble"}),y("div",{className:"text-sm text-gray-300 md:text-sm",children:U.t("sent_code_spam")})]})]}),y(en,{state:n})]})},M1=new a.OpenAPIHono().openapi(a.createRoute({tags:["login"],method:"get",path:"/",request:{query:a.z.object({state:a.z.string().openapi({description:"The state parameter from the authorization request"})})},responses:{200:{description:"Response"}}}),async t=>{const{state:e}=t.req.valid("query"),{vendorSettings:n,session:r}=await Fe(t,e);return t.html(y(U1,{vendorSettings:n,state:e,email:r.authParams.username}))}).openapi(a.createRoute({tags:["login"],method:"post",path:"/",request:{query:a.z.object({state:a.z.string().openapi({description:"The state parameter from the authorization request"})})},responses:{200:{description:"Response"}}}),async t=>{const{state:e}=t.req.valid("query"),{vendorSettings:n,client:r,session:i}=await Fe(t,e);return await kb(t,r,i.authParams.username,i.login_id),t.html(y(V1,{vendorSettings:n,state:e}))}),q1=({vendorSettings:t,state:e,user:n})=>y(zt,{title:de("check_email_title"),vendorSettings:t,children:y("div",{className:"flex flex-1 flex-col justify-center",children:[y("div",{className:"mb-8 text-gray-700 dark:text-gray-300",children:[y(om,{i18nKey:"currently_logged_in_as",components:[y("span",{className:"font-semibold text-gray-900 dark:text-white"},"span")],values:{email:n.email}}),y("br",{}),de("continue_with_sso_provider_headline")]}),y("div",{className:"space-y-6",children:[y(Rn,{children:y(Pn,{className:"w-full text-base sm:mt-4 md:text-base",children:y("div",{className:"flex items-center justify-center space-x-2",children:y("span",{children:U.t("yes_continue_with_existing_account")})})})}),y("a",{className:"block text-center text-primary hover:text-primaryHover focus:outline-none focus:ring-2 focus:ring-primary focus:ring-offset-2 dark:focus:ring-offset-gray-900",href:`/u/enter-email?state=${encodeURIComponent(e)}`,children:U.t("no_use_another")})]})]})}),D1=new a.OpenAPIHono().openapi(a.createRoute({tags:["login"],method:"get",path:"/",request:{query:a.z.object({state:a.z.string().openapi({description:"The state parameter from the authorization request"})})},responses:{200:{description:"Response"}}}),async t=>{const{env:e}=t,{state:n}=t.req.valid("query"),{vendorSettings:r,client:i}=await Fe(t,n),s=Hs(i.tenant.id,t.req.header("cookie")),o=s?await e.data.sessions.get(i.tenant.id,s):null;if(!o)return t.redirect(`/u/enter-email?state=${n}`);const c=await e.data.users.get(i.tenant.id,o.user_id);return c?t.html(y(q1,{vendorSettings:r,state:n,user:c})):t.redirect(`/u/enter-email?state=${n}`)}).openapi(a.createRoute({tags:["login"],method:"post",path:"/",request:{query:a.z.object({state:a.z.string().openapi({description:"The state parameter from the authorization request"})})},responses:{302:{description:"Redirect"}}}),async t=>{const{env:e}=t,{state:n}=t.req.valid("query"),{session:r,client:i}=await Fe(t,n),s=Hs(i.tenant.id,t.req.header("cookie")),o=s?await e.data.sessions.get(i.tenant.id,s):null;if(!o)return t.redirect(`/u/enter-email?state=${n}`);const c=await e.data.users.get(i.tenant.id,o.user_id);return c?an(t,{user:c,authParams:r.authParams,client:i,loginSession:r}):t.redirect(`/u/enter-email?state=${n}`)});function H1(){const e=new a.OpenAPIHono().route("/check-account",D1).route("/enter-email",d1).route("/enter-code",B1).route("/enter-password",P1).route("/reset-password",L1).route("/forgot-password",M1).route("/signup",R1);return e.doc("/u/spec",{openapi:"3.0.0",info:{version:"1.0.0",title:"Universal login"}}),e}const F1="Account detected",K1="We have detected that you have already created an account through",W1="By signing in, you agree to our",G1="and",J1="Callback URL mismatch",Z1="The provided redirect_uri is not in the list of allowed callback URLs.",Y1="continue with user",X1="Please click the button to create a new password account.",Q1="Enter the code at {{vendorName}} to complete the login",ek="Welcome to {{vendorName}}! {{code}} is the login code",tk="Welcome to {{vendorName}}! {{code}} is the login code",nk="The code is valid for 30 minutes",rk="Confirm password",ik="Need Help?",sk="Contact us",ok="or continue with social account",ak="Continue with {{provider}}",ck="Would you like to continue with your existing account?",lk="Copyright © 2023 SESAMY. All rights reserved.",uk="©2023 Sesamy",dk="Choose a password with a mix of uppercase and lowercase letters, numbers, and symbols.",pk="Please enter a valid email address.",fk="The passwords didn't match. Try again.",hk="Choose password",gk="Password must be at least 8 characters long and contain at least one lowercase letter, one uppercase letter, one number and one symbol.",mk="Create new account",_k="Sign up with password",yk="You are currently logged in as <0>{{email}}</0>",vk="Email",wk="Email address",bk="Your email address has been validated",kk="Now enter your password to login again",xk="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.",Sk="Email verification sent",Ak="Enter a code",Ek="We'll send you a verification link to ensure you own this email address.",Ik="Enter new password",Ck="Enter password",Nk="Enter your email address and password to login.",zk="Enter your password",$k="The magic link has expired. Please click on the button below to receive a new link in your inbox.",jk="Hey! We updated our login experience. <0>Click here to learn more about it.</0>",Ok="Send password reset email",Bk="Click the button below and we’ll send instructions on how to reset your password.",Tk="Password reset email sent",Pk="Forgot password?",Rk="Forgot password?",Lk="Go back",Uk="Invalid password",Vk=`The link is no longer valid.
|
|
223
223
|
|
|
224
224
|
Please make sure to open the login link in the same browser you started the login with.
|
|
225
225
|
|
|
@@ -247,4 +247,4 @@ Kliknutím na odkaz níže můžete zahájit nové přihlášení.`,jN="Neplatn
|
|
|
247
247
|
|
|
248
248
|
Varmista, että avaat kirjautumislinkin samalla selaimella, jolla aloitit kirjautumisen.
|
|
249
249
|
|
|
250
|
-
Voit aloittaa uuden kirjautumisen klikkaamalla alla olevaa linkkiä.`,M$="Virheellinen linkki",q$="Kirjaudu sisään napsauttamalla painiketta",D$="Kirjaudu sisään",H$="Tai kirjoita koodi osoitteessa {{vendorName}} kirjautumisen loppuun saattamiseksi.",F$="Kirjoita sähköpostiosoitteesi avataksesi tämän ohjelman osoitteessa {{service}}",K$="Yhdistä tilisi {{service}}",W$="Olet kirjautunut sisään nimellä",G$="Kirjaudu sisään",J$="Kirjoita sähköpostiosoitteesi kirjautuaksesi sisään.",Z$="Anna sähköpostiosoitteesi, niin lähetämme sinulle kirjautumiskoodin.",Y$="Anna sähköpostiosoitteesi, niin lähetämme sinulle kirjautumislinkin.",X$="Kirjaudu ulos",Q$="Ei, haluan käyttää toista tiliä",ej="tai",tj="Salasana",nj="Salasana on nollattu",rj="Menestys",ij="Vaihda salasana tilillesi {{vendorName}} ",sj="Vaihda salasana tilillesi {{vendorName}} ",oj="Tietosuojakäytäntö",aj="Uudelleenohjaus",cj="Vahvista salasana",lj="Rekisteröi uusi salasana",uj="Lähetä koodi uudelleen",dj="Vaihda salasana",pj="Kirjoita alla oleva uusi salasanasi sähköpostitiliä varten: ",fj="Napsauta painiketta salasanasi palauttamiseksi",hj="Napsauta painiketta salasanasi palauttamiseksi",gj="Nollaa salasanasi",mj="Vaihda salasana tilillesi {{vendorName}} ",_j="Nollaa salasana",yj="Lähetä",vj="Lähetä minulle uusi maaginen linkki",wj="Muista tarkistaa roskapostikansiosi, jos sähköposti ei ole saapunut.",bj="Aseta salasana",kj="Kirjaudu sisään",xj="Rekisteröityminen",Sj="Rekisteröidy onnistuneesti",Aj="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.",Ej="Siirry Spotifyn Content Access -sivulle",Ij='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ä.',Cj="Vaihe 1: Poista Spotify-tilisi linkitys",Nj="Kun olet onnistuneesti irrottanut Spotify-tilisi, voit yhdistää sen uudelleen Sesamyn kanssa. Toista vain aiemmin tekemäsi vaiheet, jotka johtivat sinut tälle sivulle.",zj="Vaihe 2: Yhdistä Spotify-tilisi uudelleen Sesamyn kanssa",$j="Hups! Spotify-tilisi on jo linkitetty",jj="Jos sinulla on kysyttävää tai tarvitset apua, voit ottaa yhteyttä tukitiimiimme.",Oj="Ehdot ja edellytykset",Bj="Sähköpostiosoitteesi on vahvistettava. Olemme lähettäneet uuden sähköpostiviestin sähköpostiisi.",Tj="Käyttäjätiliä ei ole olemassa",Pj="Käyttäjätiliä ei ole olemassa",Rj="Emme löytäneet käyttäjää, jolla on annettu sähköpostiosoite. Yritä uudelleen.",Lj="Yritä uudelleen.",Uj="Validoi koodi",Vj="Tarkista sähköpostin vahvistusohjeet postilaatikostasi.",Mj="Rekisteröitynyt",qj="Vahvista sähköpostiosoitteesi napsauttamalla painiketta",Dj="Vahvista sähköpostiosoitteesi",Hj="Vahvista sähköpostiosoitteesi",Fj="Vahvista tili",Kj="Vahvista sähköpostiosoitteesi",Wj="Tarkista sähköpostisi osoitteesta <0>{{email}}</0> ja syötä lähettämämme kuusinumeroinen koodi.",Gj="Tervetuloa",Jj="Tervetuloa tilillesi {{vendorName}}!",Zj="Jatka tällä tilillä",Yj="Kyllä, jatka {{text}}",Xj="Kyllä, jatka olemassa olevalla tilillä",Qj={"Server error: Invalid code":"Virheellinen koodi","Wrong email or verification code":{"":"Väärä sähköpostiosoite tai vahvistuskoodi."},account_detected:Fz,account_with_sso_provider:Kz,agree_to:Wz,and:Gz,callback_url_mismatch:Jz,callback_url_not_allowed:Zz,check_email_title:Yz,click_to_sign_up_description:Xz,code_email_enter_code:Qz,code_email_subject:e$,code_email_title:t$,code_valid_30_minutes:n$,confirm_password:r$,contact_support:i$,contact_us:s$,continue:"Jatka",continue_social_login:o$,continue_with:a$,continue_with_sso_provider_headline:c$,copyright:l$,copyright_sesamy:u$,create_account_description:d$,create_account_email_invalid:p$,create_account_passwords_didnt_match:f$,create_account_title:h$,create_account_weak_password:g$,create_new_account_link:m$,create_password_account_title:_$,currently_logged_in_as:y$,email:v$,email_placeholder:w$,email_validated:b$,email_validated_cta:k$,email_verification_for_signup_sent_description:x$,email_verification_for_signup_sent_title:S$,enter_a_code_btn:A$,enter_email_for_verification_description:E$,enter_new_password_placeholder:I$,enter_password:C$,enter_password_description:N$,enter_your_password_btn:z$,expired_code:$$,fokus_info_message:j$,forgot_password_cta:O$,forgot_password_description:B$,forgot_password_email_sent:T$,forgot_password_link:P$,forgot_password_title:R$,go_back:L$,"invalid-email":"Virheellinen sähköpostiosoite",invalid_password:U$,invalid_session_body:V$,invalid_session_title:M$,link_email_click_to_login:q$,link_email_login:D$,link_email_or_enter_code:H$,link_page_body:F$,link_page_headline:K$,logged_in_as:W$,login:G$,login_description:J$,login_description_code:Z$,login_description_link:Y$,logout:X$,no_use_another:Q$,or:ej,password:tj,password_has_been_reset:nj,password_has_been_reset_title:rj,password_reset_subject:ij,password_reset_title:sj,privacy_policy:oj,redirecting:aj,reenter_new_password_placeholder:cj,register_password_account:lj,resend_code:uj,reset_password_cta:dj,reset_password_description:pj,reset_password_email_click_to_reset:fj,reset_password_email_cta:hj,reset_password_email_reset:gj,reset_password_subject:mj,reset_password_title:_j,send:yj,send_me_a_new_magic_link:vj,sent_code_spam:wj,set_password:bj,sign_in:kj,signup:xj,signup_success:Sj,spotify_already_linked_body:Aj,spotify_already_linked_cta:Ej,spotify_already_linked_step1_body:Ij,spotify_already_linked_step1_title:Cj,spotify_already_linked_step2_body:Nj,spotify_already_linked_step2_title:zj,spotify_already_linked_title:$j,support_info:jj,terms:Oj,unverified_email:Bj,user_account_does_not_exist:Tj,user_not_found:Pj,user_not_found_body:Rj,user_not_found_cta:Lj,validate_code:Uj,validate_email_body:Vj,validate_email_title:Mj,verify_email_click_to_verify:qj,verify_email_subject:Dj,verify_email_title:Hj,verify_email_verify:Fj,verify_your_email:Kj,we_sent_a_code_to:Wj,welcome:Gj,welcome_to_your_account:Jj,yes_continue:Zj,yes_continue_with:Yj,yes_continue_with_existing_account:Xj};U.init({supportedLngs:["en","it","nb","sv","pl","cs","fi"],fallbackLng:"en",resources:{en:{translation:Qx},it:{translation:cA},nb:{translation:_E},sv:{translation:E3},pl:{translation:TC},cs:{translation:Hz},fi:{translation:Qj}}});function e8(t){const e=new a.OpenAPIHono;e.use(async(s,o)=>(s.env.data=sb(s,t.dataAdapter),o())),e.get("/",s=>s.json({name:"authhero"}));const n=jy();e.route("/api/v2",n);const r=zb();e.route("/",r);const i=H1();return e.route("/u",i),{app:e,managementApp:n,oauthApp:r,universalApp:i,createX509Certificate:
|
|
250
|
+
Voit aloittaa uuden kirjautumisen klikkaamalla alla olevaa linkkiä.`,M$="Virheellinen linkki",q$="Kirjaudu sisään napsauttamalla painiketta",D$="Kirjaudu sisään",H$="Tai kirjoita koodi osoitteessa {{vendorName}} kirjautumisen loppuun saattamiseksi.",F$="Kirjoita sähköpostiosoitteesi avataksesi tämän ohjelman osoitteessa {{service}}",K$="Yhdistä tilisi {{service}}",W$="Olet kirjautunut sisään nimellä",G$="Kirjaudu sisään",J$="Kirjoita sähköpostiosoitteesi kirjautuaksesi sisään.",Z$="Anna sähköpostiosoitteesi, niin lähetämme sinulle kirjautumiskoodin.",Y$="Anna sähköpostiosoitteesi, niin lähetämme sinulle kirjautumislinkin.",X$="Kirjaudu ulos",Q$="Ei, haluan käyttää toista tiliä",ej="tai",tj="Salasana",nj="Salasana on nollattu",rj="Menestys",ij="Vaihda salasana tilillesi {{vendorName}} ",sj="Vaihda salasana tilillesi {{vendorName}} ",oj="Tietosuojakäytäntö",aj="Uudelleenohjaus",cj="Vahvista salasana",lj="Rekisteröi uusi salasana",uj="Lähetä koodi uudelleen",dj="Vaihda salasana",pj="Kirjoita alla oleva uusi salasanasi sähköpostitiliä varten: ",fj="Napsauta painiketta salasanasi palauttamiseksi",hj="Napsauta painiketta salasanasi palauttamiseksi",gj="Nollaa salasanasi",mj="Vaihda salasana tilillesi {{vendorName}} ",_j="Nollaa salasana",yj="Lähetä",vj="Lähetä minulle uusi maaginen linkki",wj="Muista tarkistaa roskapostikansiosi, jos sähköposti ei ole saapunut.",bj="Aseta salasana",kj="Kirjaudu sisään",xj="Rekisteröityminen",Sj="Rekisteröidy onnistuneesti",Aj="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.",Ej="Siirry Spotifyn Content Access -sivulle",Ij='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ä.',Cj="Vaihe 1: Poista Spotify-tilisi linkitys",Nj="Kun olet onnistuneesti irrottanut Spotify-tilisi, voit yhdistää sen uudelleen Sesamyn kanssa. Toista vain aiemmin tekemäsi vaiheet, jotka johtivat sinut tälle sivulle.",zj="Vaihe 2: Yhdistä Spotify-tilisi uudelleen Sesamyn kanssa",$j="Hups! Spotify-tilisi on jo linkitetty",jj="Jos sinulla on kysyttävää tai tarvitset apua, voit ottaa yhteyttä tukitiimiimme.",Oj="Ehdot ja edellytykset",Bj="Sähköpostiosoitteesi on vahvistettava. Olemme lähettäneet uuden sähköpostiviestin sähköpostiisi.",Tj="Käyttäjätiliä ei ole olemassa",Pj="Käyttäjätiliä ei ole olemassa",Rj="Emme löytäneet käyttäjää, jolla on annettu sähköpostiosoite. Yritä uudelleen.",Lj="Yritä uudelleen.",Uj="Validoi koodi",Vj="Tarkista sähköpostin vahvistusohjeet postilaatikostasi.",Mj="Rekisteröitynyt",qj="Vahvista sähköpostiosoitteesi napsauttamalla painiketta",Dj="Vahvista sähköpostiosoitteesi",Hj="Vahvista sähköpostiosoitteesi",Fj="Vahvista tili",Kj="Vahvista sähköpostiosoitteesi",Wj="Tarkista sähköpostisi osoitteesta <0>{{email}}</0> ja syötä lähettämämme kuusinumeroinen koodi.",Gj="Tervetuloa",Jj="Tervetuloa tilillesi {{vendorName}}!",Zj="Jatka tällä tilillä",Yj="Kyllä, jatka {{text}}",Xj="Kyllä, jatka olemassa olevalla tilillä",Qj={"Server error: Invalid code":"Virheellinen koodi","Wrong email or verification code":{"":"Väärä sähköpostiosoite tai vahvistuskoodi."},account_detected:Fz,account_with_sso_provider:Kz,agree_to:Wz,and:Gz,callback_url_mismatch:Jz,callback_url_not_allowed:Zz,check_email_title:Yz,click_to_sign_up_description:Xz,code_email_enter_code:Qz,code_email_subject:e$,code_email_title:t$,code_valid_30_minutes:n$,confirm_password:r$,contact_support:i$,contact_us:s$,continue:"Jatka",continue_social_login:o$,continue_with:a$,continue_with_sso_provider_headline:c$,copyright:l$,copyright_sesamy:u$,create_account_description:d$,create_account_email_invalid:p$,create_account_passwords_didnt_match:f$,create_account_title:h$,create_account_weak_password:g$,create_new_account_link:m$,create_password_account_title:_$,currently_logged_in_as:y$,email:v$,email_placeholder:w$,email_validated:b$,email_validated_cta:k$,email_verification_for_signup_sent_description:x$,email_verification_for_signup_sent_title:S$,enter_a_code_btn:A$,enter_email_for_verification_description:E$,enter_new_password_placeholder:I$,enter_password:C$,enter_password_description:N$,enter_your_password_btn:z$,expired_code:$$,fokus_info_message:j$,forgot_password_cta:O$,forgot_password_description:B$,forgot_password_email_sent:T$,forgot_password_link:P$,forgot_password_title:R$,go_back:L$,"invalid-email":"Virheellinen sähköpostiosoite",invalid_password:U$,invalid_session_body:V$,invalid_session_title:M$,link_email_click_to_login:q$,link_email_login:D$,link_email_or_enter_code:H$,link_page_body:F$,link_page_headline:K$,logged_in_as:W$,login:G$,login_description:J$,login_description_code:Z$,login_description_link:Y$,logout:X$,no_use_another:Q$,or:ej,password:tj,password_has_been_reset:nj,password_has_been_reset_title:rj,password_reset_subject:ij,password_reset_title:sj,privacy_policy:oj,redirecting:aj,reenter_new_password_placeholder:cj,register_password_account:lj,resend_code:uj,reset_password_cta:dj,reset_password_description:pj,reset_password_email_click_to_reset:fj,reset_password_email_cta:hj,reset_password_email_reset:gj,reset_password_subject:mj,reset_password_title:_j,send:yj,send_me_a_new_magic_link:vj,sent_code_spam:wj,set_password:bj,sign_in:kj,signup:xj,signup_success:Sj,spotify_already_linked_body:Aj,spotify_already_linked_cta:Ej,spotify_already_linked_step1_body:Ij,spotify_already_linked_step1_title:Cj,spotify_already_linked_step2_body:Nj,spotify_already_linked_step2_title:zj,spotify_already_linked_title:$j,support_info:jj,terms:Oj,unverified_email:Bj,user_account_does_not_exist:Tj,user_not_found:Pj,user_not_found_body:Rj,user_not_found_cta:Lj,validate_code:Uj,validate_email_body:Vj,validate_email_title:Mj,verify_email_click_to_verify:qj,verify_email_subject:Dj,verify_email_title:Hj,verify_email_verify:Fj,verify_your_email:Kj,we_sent_a_code_to:Wj,welcome:Gj,welcome_to_your_account:Jj,yes_continue:Zj,yes_continue_with:Yj,yes_continue_with_existing_account:Xj};U.init({supportedLngs:["en","it","nb","sv","pl","cs","fi"],fallbackLng:"en",resources:{en:{translation:Qx},it:{translation:cA},nb:{translation:_E},sv:{translation:E3},pl:{translation:TC},cs:{translation:Hz},fi:{translation:Qj}}});function e8(t){const e=new a.OpenAPIHono;e.use(async(s,o)=>(s.env.data=sb(s,t.dataAdapter),o())),e.get("/",s=>s.json({name:"authhero"}));const n=jy();e.route("/api/v2",n);const r=zb();e.route("/",r);const i=H1();return e.route("/u",i),{app:e,managementApp:n,oauthApp:r,universalApp:i,createX509Certificate:Hc}}exports.Auth0Client=lf;exports.AuthorizationResponseMode=Zt;exports.AuthorizationResponseType=Jt;exports.CodeChallengeMethod=Js;exports.GrantType=jr;exports.LogTypes=me;exports.applicationInsertSchema=ns;exports.applicationSchema=dn;exports.auth0UserResponseSchema=bt;exports.authParamsSchema=Qc;exports.baseUserSchema=Gs;exports.bordersSchema=hf;exports.brandingSchema=xa;exports.codeInsertSchema=sf;exports.codeSchema=Dm;exports.codeTypeSchema=rf;exports.colorsSchema=gf;exports.connectionInsertSchema=rs;exports.connectionSchema=Dt;exports.customDomainInsertSchema=of;exports.customDomainSchema=Hm;exports.emailProviderSchema=Ui;exports.fontDetailsSchema=ln;exports.fontsSchema=mf;exports.hookInsertSchema=ss;exports.hookSchema=qn;exports.identitySchema=ef;exports.init=e8;exports.jwksKeySchema=af;exports.jwksSchema=el;exports.logSchema=os;exports.loginInsertSchema=cf;exports.loginSchema=Fm;exports.openIDConfigurationSchema=Sa;exports.pageBackgroundSchema=_f;exports.parseUserId=Zm;exports.passwordInsertSchema=uf;exports.passwordSchema=Wm;exports.profileDataSchema=Qp;exports.promptSettingSchema=Li;exports.refreshTokenInsertSchema=tl;exports.refreshTokenSchema=Jm;exports.samlpAddon=tf;exports.sessionInsertSchema=pf;exports.sessionSchema=Zs;exports.signingKeySchema=Aa;exports.tenantInsertSchema=is;exports.tenantSchema=Hn;exports.themeInsertSchema=vf;exports.themeSchema=Gm;exports.tokenResponseSchema=ff;exports.totalsSchema=tn;exports.userInsertSchema=ts;exports.userResponseSchema=Vm;exports.userSchema=Xc;exports.vendorSettingsSchema=nf;exports.widgetSchema=yf;
|