authhero 8.17.1 → 8.17.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 +3 -3
- package/dist/authhero.d.ts +233 -233
- package/dist/authhero.mjs +18 -14
- package/dist/tsconfig.types.tsbuildinfo +1 -1
- package/dist/types/authentication-flows/passwordless.d.ts +5 -5
- package/dist/types/index.d.ts +233 -233
- package/dist/types/routes/auth-api/authorize.d.ts +14 -14
- package/dist/types/routes/auth-api/index.d.ts +50 -50
- package/dist/types/routes/auth-api/passwordless.d.ts +4 -4
- package/dist/types/routes/management-api/action-executions.d.ts +1 -1
- package/dist/types/routes/management-api/authentication-methods.d.ts +1 -1
- package/dist/types/routes/management-api/branding.d.ts +5 -5
- package/dist/types/routes/management-api/clients.d.ts +6 -6
- package/dist/types/routes/management-api/connections.d.ts +15 -15
- package/dist/types/routes/management-api/failed-events.d.ts +1 -1
- package/dist/types/routes/management-api/index.d.ts +53 -53
- package/dist/types/routes/management-api/log-streams.d.ts +6 -6
- package/dist/types/routes/management-api/logs.d.ts +3 -3
- package/dist/types/routes/management-api/migration-sources.d.ts +6 -6
- package/dist/types/routes/management-api/organizations.d.ts +3 -3
- package/dist/types/routes/management-api/prompts.d.ts +4 -4
- package/dist/types/routes/management-api/tenants.d.ts +6 -6
- package/dist/types/routes/management-api/themes.d.ts +3 -3
- package/dist/types/routes/management-api/users.d.ts +2 -2
- package/dist/types/routes/universal-login/common.d.ts +2 -2
- package/dist/types/routes/universal-login/flow-api.d.ts +12 -12
- package/dist/types/routes/universal-login/identifier.d.ts +2 -2
- package/dist/types/routes/universal-login/index.d.ts +2 -2
- package/dist/types/routes/universal-login/u2-index.d.ts +5 -5
- package/dist/types/routes/universal-login/u2-routes.d.ts +5 -5
- package/package.json +5 -5
package/dist/authhero.cjs
CHANGED
|
@@ -11,7 +11,7 @@ From `+this.originalError.stack)}static is(e){return e?.[Ds]===`LiquidError`}},e
|
|
|
11
11
|
`)}function Dl(e){let t=I(e);this.context.memoryLimit.use(t.length);let n=new Map([[`<script`,`<\/script>`],[`<style`,`</style>`],[`<!--`,`-->`],[`<`,`>`]]),r=``,i=0;for(;i<t.length;){let e=t.indexOf(`<`,i);if(e<0)return r+t.slice(i);r+=t.slice(i,e);for(let[r,a]of n){if(!t.startsWith(r,e))continue;let o=t.indexOf(a,e+r.length);if(o>=0){i=o+a.length;break}n.delete(r)}if(i<=e)return r+t.slice(e)}return r}var Ol=Object.freeze({__proto__:null,escape:Sl,xml_escape:Cl,escape_once:Tl,newline_to_br:El,strip_html:Dl}),kl=class{constructor(e){this.mapping=e,this.sep=`/`}exists(e){return Xs(this,void 0,void 0,function*(){return this.existsSync(e)})}existsSync(e){return!ms(this.mapping[e])}readFile(e){return Xs(this,void 0,void 0,function*(){return this.readFileSync(e)})}readFileSync(e){let t=this.mapping[e];if(ms(t))throw Error(`ENOENT: ${e}`);return t}dirname(e){let t=e.split(this.sep);return t.pop(),t.join(this.sep)}resolve(e,t,n){if(t+=n,e===`.`)return t;let r=e.split(/\/+/);for(let e of t.split(this.sep))if(e===`.`||e===``)continue;else e===`..`?(r.length>1||r[0]!==``)&&r.pop():r.push(e);return r.join(this.sep)}},Al={root:[`.`],layouts:[`.`],partials:[`.`],relativeReference:!0,jekyllInclude:!1,keyValueSeparator:`:`,cache:void 0,extname:``,fs:ml,dynamicPartials:!0,jsTruthy:!1,dateFormat:`%A, %B %-e, %Y at %-l:%M %P %z`,locale:``,trimTagRight:!1,trimTagLeft:!1,trimOutputRight:!1,trimOutputLeft:!1,greedy:!0,tagDelimiterLeft:`{%`,tagDelimiterRight:`%}`,outputDelimiterLeft:`{{`,outputDelimiterRight:`}}`,preserveTimezones:!1,strictFilters:!1,strictVariables:!1,ownPropertyOnly:!0,lenientIf:!1,globals:{},keepOutputType:!1,operators:tl,memoryLimit:1/0,parseLimit:1/0,renderLimit:1/0};function jl(e){if(e.hasOwnProperty(`root`)&&(e.hasOwnProperty(`partials`)||(e.partials=e.root),e.hasOwnProperty(`layouts`)||(e.layouts=e.root)),e.hasOwnProperty(`cache`)){let t;t=typeof e.cache==`number`?e.cache>0?new ol(e.cache):void 0:typeof e.cache==`object`?e.cache:e.cache?new ol(1024):void 0,e.cache=t}return e=Object.assign(Object.assign(Object.assign({},Al),e.jekyllInclude?{dynamicPartials:!1}:{}),e),(!e.fs.dirname||!e.fs.sep)&&e.relativeReference&&(console.warn("[LiquidJS] `fs.dirname` and `fs.sep` are required for relativeReference, set relativeReference to `false` to suppress this warning"),e.relativeReference=!1),e.root=Nl(e.root),e.partials=Nl(e.partials),e.layouts=Nl(e.layouts),e.outputEscape=e.outputEscape&&Ml(e.outputEscape),e.locale||=pc()?.().resolvedOptions().locale??`en-US`,e.templates&&(e.fs=new kl(e.templates),e.relativeReference=!0,e.root=e.partials=e.layouts=`.`),e}function Ml(e){return e===`escape`?Sl:e===`json`?yl.json:(Fs(os(e),"`outputEscape` need to be of type string or function"),e)}function Nl(e){let t=[];return hs(e)&&(t=e),as(e)&&(t=[e]),t}function Pl(e,t){let n=!1;for(let r=0;r<e.length;r++){let i=e[r];du(i)&&(!n&&i.trimLeft&&Fl(e[r-1],t.greedy),hu(i)&&(i.name===`raw`?n=!0:i.name===`endraw`&&(n=!1)),!n&&i.trimRight&&Il(e[r+1],t.greedy))}}function Fl(e,t){if(!e||!pu(e))return;let n=t?js:Ns;for(;As[e.input.charCodeAt(e.end-1-e.trimRight)]&n;)e.trimRight++}function Il(e,t){if(!e||!pu(e))return;let n=t?js:Ns;for(;As[e.input.charCodeAt(e.begin+e.trimLeft)]&n;)e.trimLeft++;e.input.charAt(e.begin+e.trimLeft)===`
|
|
12
12
|
`&&e.trimLeft++}var Ll=class{constructor(e,t=Al.operators,n,r){this.input=e,this.file=n,this.rawBeginAt=-1,this.p=r?r[0]:0,this.N=r?r[1]:e.length,this.opTrie=Js(t),this.literalTrie=Js(Ks)}readExpression(){return new qc(this.readExpressionTokens())}*readExpressionTokens(){for(;this.p<this.N;){let e=this.readOperator();if(e){yield e;continue}let t=this.readValue();if(t){yield t;continue}return}}readOperator(){this.skipBlank();let e=this.matchTrie(this.opTrie);if(e!==-1)return new jc(this.input,this.p,this.p=e,this.file)}matchTrie(e){let t=e,n=this.p,r;for(;t[this.input[n]]&&n<this.N;)t=t[this.input[n++]],t.end&&(r=t);return!r||r.needBoundary&&Ps(this.peek(n-this.p))?-1:n}readFilteredValue(){let e=this.p,t=this.readExpression();return this.assert(t.valid(),`invalid value expression: ${this.snapshot()}`),new Uc(t,this.readFilters(),this.input,e,this.p,this.file)}readFilters(){let e=[];for(;;){let t=this.readFilter();if(!t)return e;e.push(t)}}readFilter(){if(this.skipBlank(),this.end())return null;this.assert(this.read()===`|`,`expected "|" before filter`);let e=this.readIdentifier();if(!e.size())return this.assert(this.end(),`expected filter name`),null;let t=[];if(this.skipBlank(),this.peek()===`:`)do{++this.p;let e=this.readFilterArg();e&&t.push(e),this.skipBlank(),this.assert(this.end()||this.peek()===`,`||this.peek()===`|`,()=>`unexpected character ${this.snapshot()}`)}while(this.peek()===`,`);else if(!(this.peek()===`|`||this.end()))throw this.error(`expected ":" after filter name`);return new Nc(e.getText(),t,this.input,e.begin,this.p,this.file)}readFilterArg(){let e=this.readValue();if(!e)return;if(this.skipBlank(),this.peek()!==`:`)return e;++this.p;let t=this.readValue();return[e.getText(),t]}readTopLevelTokens(e=Al){let t=[];for(;this.p<this.N;){let n=this.readTopLevelToken(e);t.push(n)}return Pl(t,e),t}readTopLevelToken(e){let{tagDelimiterLeft:t,outputDelimiterLeft:n}=e;return this.rawBeginAt>-1?this.readEndrawOrRawContent(e):this.match(t)?this.readTagToken(e):this.match(n)?this.readOutputToken(e):this.readHTMLToken([t,n])}readHTMLToken(e){let t=this.p;for(;this.p<this.N&&!e.some(e=>this.match(e));)++this.p;return new Tc(this.input,t,this.p,this.file)}readTagToken(e){let{file:t,input:n}=this,r=this.p;if(this.readToDelimiter(e.tagDelimiterRight)===-1)throw this.error(`tag ${this.snapshot(r)} not closed`,r);let i=new Cc(n,r,this.p,e,t);return i.name===`raw`&&(this.rawBeginAt=r),i}readToDelimiter(e,t=!1){for(this.skipBlank();this.p<this.N;){if(t&&this.peekType()&Ms){this.readQuoted();continue}if(++this.p,this.rmatch(e))return this.p}return-1}readOutputToken(e=Al){let{file:t,input:n}=this,{outputDelimiterRight:r}=e,i=this.p;if(this.readToDelimiter(r,!0)===-1)throw this.error(`output ${this.snapshot(i)} not closed`,i);return new wc(n,i,this.p,e,t)}readEndrawOrRawContent(e){let{tagDelimiterLeft:t,tagDelimiterRight:n}=e,r=this.p,i=this.readTo(t)-t.length;for(;this.p<this.N;){if(this.readIdentifier().getText()!==`endraw`){i=this.readTo(t)-t.length;continue}for(;this.p<=this.N;){if(this.rmatch(n)){let t=this.p;return r===i?(this.rawBeginAt=-1,new Cc(this.input,r,t,e,this.file)):(this.p=i,new Tc(this.input,r,i,this.file))}if(this.rmatch(t))break;this.p++}}throw this.error(`raw ${this.snapshot(this.rawBeginAt)} not closed`,r)}readLiquidTagTokens(e=Al){let t=[];for(;this.p<this.N;){let n=this.readLiquidTagToken(e);n&&t.push(n)}return t}readLiquidTagToken(e){if(this.skipBlank(),this.end())return;let t=this.p;this.readToDelimiter(`
|
|
13
13
|
`);let n=this.p;return new Hc(this.input,t,n,e,this.file)}error(e,t=this.p){return new ete(e,new Dc(this.input,t,this.N,this.file))}assert(e,t,n){if(!e)throw this.error(typeof t==`function`?t():t,n)}snapshot(e=this.p){return JSON.stringify(Zee(this.input.slice(e,this.N),32))}readWord(){return this.readIdentifier()}readIdentifier(){this.skipBlank();let e=this.p;for(;!this.end()&&Ps(this.peek());)++this.p;return new Dc(this.input,e,this.p,this.file)}readNonEmptyIdentifier(){let e=this.readIdentifier();return e.size()?e:void 0}readTagName(){return this.skipBlank(),this.input[this.p]===`#`?this.input.slice(this.p,++this.p):this.readIdentifier().getText()}readHashes(e){let t=[];for(;;){let n=this.readHash(e);if(!n)return t;t.push(n)}}readHash(e){this.skipBlank(),this.peek()===`,`&&++this.p;let t=this.p,n=this.readNonEmptyIdentifier();if(!n)return;let r;this.skipBlank();let i=as(e)?e:e?`=`:`:`;return this.peek()===i&&(++this.p,r=this.readValue()),new Pc(this.input,t,this.p,n,r,this.file)}remaining(){return this.input.slice(this.p,this.N)}advance(e=1){this.p+=e}end(){return this.p>=this.N}read(){return this.input[this.p++]}readTo(e){for(;this.p<this.N;)if(++this.p,this.rmatch(e))return this.p;return-1}readValue(){this.skipBlank();let e=this.p,t=this.readLiteral()||this.readQuoted()||this.readRange()||this.readNumber(),n=this.readProperties(!t);return n.length?new Mc(t,n,this.input,e,this.p):t}readScopeValue(){this.skipBlank();let e=this.p,t=this.readProperties();if(t.length)return new Mc(void 0,t,this.input,e,this.p)}readProperties(e=!0){let t=[];for(;;){if(this.peek()===`[`){this.p++;let e=this.readValue()||new Dc(this.input,this.p,this.p,this.file);this.assert(this.readTo(`]`)!==-1,`[ not closed`),t.push(e);continue}if(e&&!t.length){let e=this.readNonEmptyIdentifier();if(e){t.push(e);continue}}if(this.peek()===`.`&&this.peek(1)!==`.`){this.p++;let e=this.readNonEmptyIdentifier();if(!e)break;t.push(e);continue}break}return t}readNumber(){this.skipBlank();let e=!1,t=!1,n=0;for(this.peekType()&ute&&n++;this.p+n<=this.N;)if(this.peekType(n)<e)t=!0,n++;else if(this.peek(n)===`.`&&this.peek(n+1)!==`.`){if(e||!t)return;e=!0,n++}else break;if(t&&!Ps(this.peek(n))){let e=new Ec(this.input,this.p,this.p+n,this.file);return this.advance(n),e}}readLiteral(){this.skipBlank();let e=this.matchTrie(this.literalTrie);if(e===-1)return;let t=new Oc(this.input,this.p,e,this.file);return this.p=e,t}readRange(){this.skipBlank();let e=this.p;if(this.peek()!==`(`)return;++this.p;let t=this.readValueOrThrow();this.skipBlank(),this.assert(this.read()===`.`&&this.read()===`.`,`invalid range syntax`);let n=this.readValueOrThrow();return this.skipBlank(),this.assert(this.read()===`)`,`invalid range syntax`),new Vc(this.input,e,this.p,t,n,this.file)}readValueOrThrow(){let e=this.readValue();return this.assert(e,()=>`unexpected token ${this.snapshot()}, value expected`),e}readQuoted(){this.skipBlank();let e=this.p;if(!(this.peekType()&Ms))return;++this.p;let t=!1;for(;this.p<this.N&&(++this.p,!(this.input[this.p-1]===this.input[e]&&!t));)t?t=!1:this.input[this.p-1]===`\\`&&(t=!0);return new Bc(this.input,e,this.p,this.file)}*readFileNameTemplate(e){let{outputDelimiterLeft:t}=e,n=[`,`,` `,`\r`,`
|
|
14
|
-
`,` `,t],r=new Set(n);for(;this.p<this.N&&!r.has(this.peek());)yield this.match(t)?this.readOutputToken(e):this.readHTMLToken(n)}match(e){for(let t=0;t<e.length;t++)if(e[t]!==this.input[this.p+t])return!1;return!0}rmatch(e){for(let t=0;t<e.length;t++)if(e[e.length-1-t]!==this.input[this.p-1-t])return!1;return!0}peekType(e=0){return this.p+e>=this.N?0:As[this.input.charCodeAt(this.p+e)]}peek(e=0){return this.p+e>=this.N?``:this.input[this.p+e]}skipBlank(){for(;this.peekType()&js;)++this.p}},Rl=class{constructor(e,t){this.handlers={},this.stopRequested=!1,this.tokens=e,this.parseToken=t}on(e,t){return this.handlers[e]=t,this}trigger(e,t){let n=this.handlers[e];return n?(n.call(this,t),!0):!1}start(){this.trigger(`start`);let e;for(;!this.stopRequested&&(e=this.tokens.shift());){if(this.trigger(`token`,e)||hu(e)&&this.trigger(`tag:${e.name}`,e))continue;let t=this.parseToken(e,this.tokens);this.trigger(`template`,t)}return this.stopRequested||this.trigger(`end`),this}stop(){return this.stopRequested=!0,this}},zl=class{constructor(e){this.token=e}},Bl=class extends zl{constructor(e,t,n){super(e),this.name=e.name,this.liquid=n,this.tokenizer=e.tokenizer}},Vl=class{constructor(e,t){this.hash={};let n=e instanceof Ll?e:new Ll(e,{});for(let e of n.readHashes(t))this.hash[e.name.content]=e.value}*render(e){let t={};for(let n of Object.keys(this.hash))t[n]=this.hash[n]===void 0?!0:yield Jc(this.hash[n],e);return t}};function Hl(e){return class extends Bl{constructor(t,n,r){super(t,n,r),os(e.parse)&&e.parse.call(this,t,n)}*render(t,n){let r=yield new Vl(this.token.args,t.opts.keyValueSeparator).render(t);return yield e.render.call(this,t,n,r)}}}function Ul(e){return hs(e)}var Wl=class{constructor(e,t,n){this.token=e,this.name=e.name,this.handler=os(t)?t:os(t?.handler)?t.handler:Cs,this.raw=!os(t)&&!!t?.raw,this.args=e.args,this.liquid=n}*render(e,t){let n=[];for(let e of this.args)Ul(e)?n.push([e[0],yield Jc(e[1],t)]):n.push(yield Jc(e,t));return yield this.handler.apply({context:t,token:this.token,liquid:this.liquid},[e,...n])}},Gl=class{constructor(e,t){this.filters=[];let n=typeof e==`string`?new Ll(e,t.options.operators).readFilteredValue():e;this.initial=n.initial,this.filters=n.filters.map(e=>new Wl(e,this.getFilter(t,e.name),t))}*value(e,t){t||=e.opts.lenientIf&&this.filters.length>0&&this.filters[0].name==="default";let n=yield this.initial.evaluate(e,t);for(let t of this.filters)n=yield t.render(n,e);return n}getFilter(e,t){let n=e.filters[t];return Fs(n||!e.options.strictFilters,()=>`undefined filter: ${t}`),n}},Kl=class extends zl{constructor(e,t){super(e);let n=new Ll(e.input,t.options.operators,e.file,e.contentRange);this.value=new Gl(n.readFilteredValue(),t);let r=this.value.filters,i=t.options.outputEscape;if(!r[r.length-1]?.raw&&i){let e=new Nc(toString.call(i),[],``,0,0);r.push(new Wl(e,i,t))}}*render(e,t){let n=yield this.value.value(e,!1);t.write(n)}*arguments(){yield this.value}},ql=class extends zl{constructor(e){super(e),this.str=e.getContent()}*render(e,t){t.write(this.str)}},Jl=class e{constructor(e,t){this.segments=e,this.location=t}toString(){return ou(this.segments,!0)}toArray(){function*t(...n){for(let r of n)r instanceof e?yield Array.from(t(...r.segments)):yield r}return Array.from(t(...this.segments))}},Yl=class{constructor(){this.map=new Map}get(e){let t=ou([e.segments[0]]);return this.map.has(t)||this.map.set(t,[]),this.map.get(t)}has(e){return this.map.has(ou([e.segments[0]]))}push(e){this.get(e).push(e)}asObject(){return Object.fromEntries(this.map)}},Xl={partials:!0};function*Zl(e,t,n){let r=new Yl,i=new Yl,a=new Yl,o=new eu(new Set),s=new Set;function c(e,t){r.push(e);let n=t.alias(e);if(n!==void 0){let e=n.segments[0];as(e)&&!o.has(e)&&i.push(n)}else{let n=e.segments[0];as(n)&&!t.has(n)&&i.push(e)}for(let n of e.segments)n instanceof Jl&&c(n,t)}function*l(e,r){if(e.arguments)for(let t of e.arguments())for(let e of tu(t))c(e,r);if(e.localScope)for(let t of e.localScope()){r.add(t.content),r.deleteAlias(t.content);let[e,n]=t.getPosition();a.push(new Jl([t.content],{row:e,col:n,file:t.file}))}if(e.children)if(e.partialScope){let i=e.partialScope();if(i===void 0){for(let i of yield e.children(t,n))yield l(i,r);return}if(s.has(i.name))return;let a=new Set,o=i.isolated?new eu(a):r.push(a);for(let e of i.scope)if(as(e))a.add(e);else{let[t,n]=e;a.add(t);let r=Array.from(tu(n));r.length&&o.setAlias(t,r[0].segments)}for(let r of yield e.children(t,n))yield l(r,o),s.add(i.name);o.pop()}else{e.blockScope&&r.push(new Set(e.blockScope()));for(let i of yield e.children(t,n))yield l(i,r);e.blockScope&&r.pop()}}for(let t of e)yield l(t,o);return{variables:r.asObject(),globals:i.asObject(),locals:a.asObject()}}function Ql(e,t={}){return Qs(Zl(e,Object.assign(Object.assign({},Xl),t).partials,!1))}function $l(e,t={}){return $s(Zl(e,Object.assign(Object.assign({},Xl),t).partials,!0))}var eu=class{constructor(e){this.stack=[{names:e,aliases:new Map}]}has(e){for(let t of this.stack)if(t.names.has(e))return!0;return!1}push(e){return this.stack.push({names:e,aliases:new Map}),this}pop(){return this.stack.pop()?.names}add(e){this.stack[0].names.add(e)}alias(e){let t=e.segments[0];if(!as(t))return;let n=this.getAlias(t);if(n!==void 0)return new Jl([...n,...e.segments.slice(1)],e.location)}setAlias(e,t){this.stack[this.stack.length-1].aliases.set(e,t)}deleteAlias(e){this.stack[this.stack.length-1].aliases.delete(e)}getAlias(e){for(let t of this.stack){if(t.aliases.has(e))return t.aliases.get(e);if(t.names.has(e))return}}};function*tu(e){xu(e)?yield*ru(e):e instanceof Gl&&(yield*nu(e))}function*nu(e){for(let t of e.initial.postfix)xu(t)&&(yield*ru(t));for(let t of e.filters)for(let e of t.args)Ul(e)&&e[1]?yield*ru(e[1]):xu(e)&&(yield*ru(e))}function*ru(e){bu(e)?(yield*ru(e.lhs),yield*ru(e.rhs)):vu(e)&&(yield iu(e))}function iu(e){let t=[],n=e.file,r=e.props[0];n||=r.file,gu(r)||_u(r)||yu(r)?t.push(r.content):vu(r)&&t.push(...iu(r).segments);for(let r of e.props.slice(1))n||=r.file,gu(r)||_u(r)||yu(r)?t.push(r.content):vu(r)&&t.push(iu(r));let[i,a]=e.getPosition();return new Jl(t,{row:i,col:a,file:n})}var au=/^[\u0080-\uFFFFa-zA-Z_][\u0080-\uFFFFa-zA-Z0-9_-]*$/;function ou(e,t=!1){let n=[],r=e[0];as(r)&&(!t||r.match(au)?n.push(`${r}`):n.push(`['${r}']`));for(let t of e.slice(1))t instanceof Jl?n.push(`[${ou(t.segments)}]`):as(t)?t.match(au)?n.push(`.${t}`):n.push(`['${t}']`):n.push(`[${t}]`);return n.join(``)}var su;(function(e){e.Partials=`partials`,e.Layouts=`layouts`,e.Root=`root`})(su||={});var cu=class{constructor(e){if(this.options=e,e.relativeReference){let t=e.fs.sep;Fs(t,"`fs.sep` is required for relative reference");let n=[`.`+t,`..`+t,`./`,`../`];this.shouldLoadRelative=e=>n.some(t=>e.startsWith(t))}else this.shouldLoadRelative=e=>!1;let t=e.fs;this.contains=Zs(t.contains?.bind(t)||(()=>Xs(this,void 0,void 0,function*(){return!0})),t.containsSync?.bind(t)||(()=>!0)),this.exists=Zs(t.exists?.bind(t)||(()=>Xs(this,void 0,void 0,function*(){return!1})),t.existsSync?.bind(t))}*lookup(e,t,n,r){let i=this.options[t];for(let t of this.candidates(e,i,r)){let e=!1;for(let r of i)if(yield this.contains(!!n,r,t)){e=!0;break}if(e&&(yield this.exists(!!n,t)))return t}throw this.lookupError(e,i)}*candidates(e,t,n){let{fs:r,extname:i}=this.options;this.shouldLoadRelative(e)&&n&&(yield r.resolve(this.dirname(n),e,i));for(let n of t)yield r.resolve(n,e,i);if(r.fallback!==void 0){let t=r.fallback(e);t!==void 0&&(yield t)}}dirname(e){let t=this.options.fs;return Fs(t.dirname,"`fs.dirname` is required for relative reference"),t.dirname(e)}lookupError(e,t){let n=Error(`ENOENT`);return n.message=`ENOENT: Failed to lookup "${e}" in "${t}"`,n.code=`ENOENT`,n}},lu=class{constructor(e){this.liquid=e,this.cache=this.liquid.options.cache,this.fs=this.liquid.options.fs,this.parseFile=this.cache?this._parseFileCached:this._parseFile,this.loader=new cu(this.liquid.options),this.parseLimit=new xc(`parse length`,e.options.parseLimit),this.readFile=Zs(this.fs.readFile?.bind(this.fs)||(()=>Xs(this,void 0,void 0,function*(){throw Error(`readFile not implemented`)})),this.fs.readFileSync?.bind(this.fs))}parse(e,t){e=String(e),this.parseLimit.use(e.length);let n=new Ll(e,this.liquid.options.operators,t).readTopLevelTokens(this.liquid.options);return this.parseTokens(n)}parseTokens(e){let t,n=[],r=[];for(;t=e.shift();)try{n.push(this.parseToken(t,e))}catch(e){if(this.liquid.options.catchAllErrors)r.push(e);else throw e}if(r.length)throw new ks(r);return n}parseToken(e,t){try{if(hu(e)){let n=this.liquid.tags[e.name];return Fs(n,`tag "${e.name}" not found`),new n(e,t,this.liquid,this)}return mu(e)?new Kl(e,this.liquid):new ql(e)}catch(t){throw Os.is(t)?t:new tte(t,e)}}parseStream(e){return new Rl(e,(e,t)=>this.parseToken(e,t))}*_parseFileCached(e,t,n=su.Root,r){let i=this.cache,a=this.loader.shouldLoadRelative(e)?r+`,`+e:n+`:`+e,o=yield i.read(a);if(o)return o;let s=this._parseFile(e,t,n,r),c=t?yield s:Qs(s);i.write(a,c);try{return yield c}catch(e){throw i.remove(a),e}}*_parseFile(e,t,n=su.Root,r){let i=yield this.loader.lookup(e,n,t,r);return this.parse(yield this.readFile(!!t,i),i)}},uu;(function(e){e[e.Number=1]=`Number`,e[e.Literal=2]=`Literal`,e[e.Tag=4]=`Tag`,e[e.Output=8]=`Output`,e[e.HTML=16]=`HTML`,e[e.Filter=32]=`Filter`,e[e.Hash=64]=`Hash`,e[e.PropertyAccess=128]=`PropertyAccess`,e[e.Word=256]=`Word`,e[e.Range=512]=`Range`,e[e.Quoted=1024]=`Quoted`,e[e.Operator=2048]=`Operator`,e[e.FilteredValue=4096]=`FilteredValue`,e[e.Delimited=12]=`Delimited`})(uu||={});function du(e){return!!(Su(e)&uu.Delimited)}function fu(e){return Su(e)===uu.Operator}function pu(e){return Su(e)===uu.HTML}function mu(e){return Su(e)===uu.Output}function hu(e){return Su(e)===uu.Tag}function gu(e){return Su(e)===uu.Quoted}function _u(e){return Su(e)===uu.Number}function vu(e){return Su(e)===uu.PropertyAccess}function yu(e){return Su(e)===uu.Word}function bu(e){return Su(e)===uu.Range}function xu(e){return(Su(e)&1667)>0}function Su(e){return e?e.kind:-1}function Cu(e){let t=Object.create(null);return e&&Object.assign(t,e),t}var wu=class e{constructor(e={},t=Al,n={},{memoryLimit:r,renderLimit:i}={}){this.scopes=[Cu()],this.registers={},this.breakCalled=!1,this.continueCalled=!1,this.sync=!!n.sync,this.opts=t,this.globals=n.globals??t.globals,this.environments=ys(e)?e:Object(e),this.strictVariables=n.strictVariables??this.opts.strictVariables,this.ownPropertyOnly=n.ownPropertyOnly??t.ownPropertyOnly,this.memoryLimit=r??new xc(`memory alloc`,n.memoryLimit??t.memoryLimit),this.renderLimit=i??new xc(`template render`,Gc().now()+(n.renderLimit??t.renderLimit))}getRegister(e,t=void 0){return this.registers[e]=this.registers[e]||t}setRegister(e,t){return this.registers[e]=t}saveRegister(...e){return e.map(e=>[e,this.getRegister(e)])}restoreRegister(e){return e.forEach(([e,t])=>this.setRegister(e,t))}getAll(){return[this.globals,this.environments,...this.scopes].reduce((e,t)=>Ys(e,t),{})}get(e){return this.getSync(e)}getSync(e){return $s(this._get(e))}*_get(e){let t=this.findScope(e[0]);return yield this._getFromScope(t,e)}getFromScope(e,t){return $s(this._getFromScope(e,t))}*_getFromScope(e,t,n=this.strictVariables){as(t)&&(t=t.split(`.`));for(let r=0;r<t.length;r++)if(e=yield this.readProperty(e,t[r]),n&&qee(e))throw new ite(t.slice(0,r+1).join(`.`));return e}push(e){return this.scopes.push(e)}pop(){return this.scopes.pop()}bottom(){return this.scopes[0]}spawn(t={}){return new e(t,this.opts,{sync:this.sync,globals:this.globals,strictVariables:this.strictVariables,ownPropertyOnly:this.ownPropertyOnly},{renderLimit:this.renderLimit,memoryLimit:this.memoryLimit})}findScope(e){for(let t=this.scopes.length-1;t>=0;t--){let n=this.scopes[t];if(e in n)return n}return e in this.environments?this.environments:this.globals}readProperty(e,t){if(e=ps(e),t=us(t),ms(e))return e;if(hs(e)&&t<0)return e[e.length+ +t];let n=Tu(e,t,this.ownPropertyOnly);return n===void 0&&e instanceof ns?e.liquidMethodMissing(t,this):os(n)?n.call(e):t===`size`?Ou(e):t===`first`?Eu(e):t===`last`?Du(e):n}};function Tu(e,t,n){if(!(n&&!is.call(e,t)&&!(e instanceof ns)))return e[t]}function Eu(e){return hs(e)?e[0]:e.first}function Du(e){return hs(e)?e[e.length-1]:e.last}function Ou(e){if(is.call(e,`size`)||e.size!==void 0)return e.size;if(hs(e)||as(e))return e.length;if(typeof e==`object`)return Object.keys(e).length}var ku;(function(e){e[e.OUTPUT=0]=`OUTPUT`,e[e.STORE=1]=`STORE`})(ku||={});var Au=Ts(Math.abs),ju=Ts(Math.max),Mu=Ts(Math.min),Nu=Ts(Math.ceil),Pu=Ts((e,t,n=!1)=>n?Math.floor(e/t):e/t),Fu=Ts(Math.floor),Iu=Ts((e,t)=>e-t),Lu=Ts((e,t)=>e+t),Ru=Ts((e,t)=>e%t),zu=Ts((e,t)=>e*t);function Bu(e,t=0){e=ds(e),t=ds(t);let n=10**t,r=e*n*(1+2**-52);return Math.round(r)/n}var Vu=Object.freeze({__proto__:null,abs:Au,at_least:ju,at_most:Mu,ceil:Nu,divided_by:Pu,floor:Fu,minus:Iu,plus:Lu,modulo:Ru,times:zu,round:Bu}),Hu=e=>decodeURIComponent(I(e)).replace(/\+/g,` `),Uu=e=>encodeURIComponent(I(e)).replace(/%20/g,`+`),Wu=e=>encodeURIComponent(I(e)).replace(/%20/g,`+`).replace(/[!'()*]/g,e=>`%`+e.charCodeAt(0).toString(16).toUpperCase()),Gu=e=>encodeURI(I(e)).replace(/%5B/g,`[`).replace(/%5D/g,`]`),Ku=/[^\p{M}\p{L}\p{Nd}]+/gu,qu={raw:/\s+/g,default:Ku,pretty:/[^\p{M}\p{L}\p{Nd}._~!$&'()+,;=@]+/gu,ascii:/[^A-Za-z0-9]+/g,latin:Ku,none:null};function Ju(e,t=`default`,n=!1){e=I(e);let r=qu[t];return r&&(t===`latin`&&(e=Yu(e)),e=e.replace(r,`-`).replace(/^-|-$/g,``)),n?e:e.toLowerCase()}function Yu(e){return e.replace(/[àáâãäå]/g,`a`).replace(/[æ]/g,`ae`).replace(/[ç]/g,`c`).replace(/[èéêë]/g,`e`).replace(/[ìíîï]/g,`i`).replace(/[ð]/g,`d`).replace(/[ñ]/g,`n`).replace(/[òóôõöø]/g,`o`).replace(/[ùúûü]/g,`u`).replace(/[ýÿ]/g,`y`).replace(/[ß]/g,`ss`).replace(/[œ]/g,`oe`).replace(/[þ]/g,`th`).replace(/[ẞ]/g,`SS`).replace(/[Œ]/g,`OE`).replace(/[Þ]/g,`TH`)}var Xu=Object.freeze({__proto__:null,url_decode:Hu,url_encode:Uu,cgi_escape:Wu,uri_escape:Gu,slugify:Ju}),Zu=ws(function(e,t){let n=ls(e),r=ms(t)?` `:I(t),i=n.length*(1+r.length);return this.context.memoryLimit.use(i),n.join(r)}),Qu=ws(e=>gs(e)?vs(e):``),$u=ws(e=>gs(e)?e[0]:``),ed=ws(function(e){let t=ls(e);return this.context.memoryLimit.use(t.length),[...t].reverse()});function*td(e,t,n){let r=[],i=ls(e);this.context.memoryLimit.use(i.length);for(let e of i)r.push([e,t?yield this.context._getFromScope(e,I(t).split(`.`),!1):e]);return r.sort((e,t)=>n(e[1],t[1])).map(e=>e[0])}function*nd(e,t){return yield*td.call(this,e,t,Qee)}function*rd(e,t){return yield*td.call(this,e,t,$ee)}var id=e=>e&&e.length||0;function*ad(e,t){let n=[],r=ls(e);this.context.memoryLimit.use(r.length);for(let e of r)n.push(yield this.context._getFromScope(e,I(t),!1));return n}function*od(e,t){let n=0,r=ls(e);for(let e of r){let r=Number(t?yield this.context._getFromScope(e,I(t),!1):e);n+=Number.isNaN(r)?0:r}return n}function sd(e){let t=ls(e);return this.context.memoryLimit.use(t.length),t.filter(e=>!ms(us(e)))}function cd(e,t=[]){let n=ls(e),r=ls(t);return this.context.memoryLimit.use(n.length+r.length),n.concat(r)}function ld(e,t){return cd.call(this,e,[t])}function ud(e,t){let n=ls(e);this.context.memoryLimit.use(n.length);let r=[...n];return r.unshift(t),r}function dd(e){let t=ls(e);this.context.memoryLimit.use(t.length);let n=[...t];return n.pop(),n}function fd(e){let t=ls(e);this.context.memoryLimit.use(t.length);let n=[...t];return n.shift(),n}function pd(e,t,n=1){return e=us(e),ms(e)?[]:(hs(e)||(e=I(e)),t=t<0?e.length+t:t,this.context.memoryLimit.use(n),e.slice(t,t+n))}function md(e){return this.context.opts.jekyllWhere?t=>Ls.is(e)?nl(t,e):hs(t)?il(t,e):nl(t,e):e===void 0?e=>$c(e,this.context):t=>nl(t,e)}function*hd(e,t,n,r){let i=[];t=ls(t),this.context.memoryLimit.use(t.length);let a=new Ll(I(n)).readScopeValue();for(let e of t)i.push(yield Jc(a,this.context.spawn(e)));let o=md.call(this,r);return t.filter((t,n)=>o(i[n])===e)}function*gd(e,t,n,r){let i=[],a=new Gl(I(r),this.liquid),o=ls(t);this.context.memoryLimit.use(o.length);for(let t of o){this.context.push({[n]:t});let r=yield a.value(this.context);this.context.pop(),r===e&&i.push(t)}return i}function*_d(e,t,n){return yield*hd.call(this,!0,e,t,n)}function*vd(e,t,n){return yield*hd.call(this,!1,e,t,n)}function*yd(e,t,n){return yield*gd.call(this,!0,e,t,n)}function*bd(e,t,n){return yield*gd.call(this,!1,e,t,n)}function*xd(e,t){let n=new Map;e=cs(e);let r=new Ll(I(t)).readScopeValue();this.context.memoryLimit.use(e.length);for(let t of e){let e=yield Jc(r,this.context.spawn(t));n.has(e)||n.set(e,[]),n.get(e).push(t)}return[...n.entries()].map(([e,t])=>({name:e,items:t}))}function*Sd(e,t,n){let r=new Map,i=new Gl(I(n),this.liquid);e=cs(e),this.context.memoryLimit.use(e.length);for(let n of e){this.context.push({[t]:n});let e=yield i.value(this.context);this.context.pop(),r.has(e)||r.set(e,[]),r.get(e).push(n)}return[...r.entries()].map(([e,t])=>({name:e,items:t}))}function*Cd(e,t,n){let r=new Ll(I(t)).readScopeValue(),i=ls(e),a=md.call(this,n);for(let e=0;e<i.length;e++)if(a(yield Jc(r,this.context.spawn(i[e]))))return[e,i[e]]}function*wd(e,t,n){let r=new Gl(I(n),this.liquid),i=ls(e);for(let e=0;e<i.length;e++){this.context.push({[t]:i[e]});let n=yield r.value(this.context);if(this.context.pop(),n)return[e,i[e]]}}function*Td(e,t,n){return!!(yield*Cd.call(this,e,t,n))}function*Ed(e,t,n){return!!(yield*wd.call(this,e,t,n))}function*Dd(e,t,n){let r=yield*Cd.call(this,e,t,n);return r?r[0]:void 0}function*Od(e,t,n){let r=yield*wd.call(this,e,t,n);return r?r[0]:void 0}function*kd(e,t,n){let r=yield*Cd.call(this,e,t,n);return r?r[1]:void 0}function*Ad(e,t,n){let r=yield*wd.call(this,e,t,n);return r?r[1]:void 0}function jd(e){return e=ls(e),this.context.memoryLimit.use(e.length),[...new Set(e)]}function Md(e,t=1){if(e=us(e),ms(e))return[];hs(e)||(e=I(e)),this.context.memoryLimit.use(e.length);let n=[...e].sort(()=>Math.random()-.5);return t===1?n[0]:n.slice(0,t)}var Nd=Object.freeze({__proto__:null,join:Zu,last:Qu,first:$u,reverse:ed,sort:nd,sort_natural:rd,size:id,map:ad,sum:od,compact:sd,concat:cd,push:ld,unshift:ud,pop:dd,shift:fd,slice:pd,where:_d,reject:vd,where_exp:yd,reject_exp:bd,group_by:xd,group_by_exp:Sd,has:Td,has_exp:Ed,find_index:Dd,find_index_exp:Od,find:kd,find_exp:Ad,uniq:jd,sample:Md});function Pd(e,t,n){let r=(e?.length??0)+(n?.length??0);this.context.memoryLimit.use(r);let i=Bd(e,this.context.opts,n);return i?(t=us(t),t=ms(t)?this.context.opts.dateFormat:I(t),this.context.memoryLimit.use(t.length),dc(i,t,this.context.memoryLimit)):e}function Fd(e){return Pd.call(this,e,`%Y-%m-%dT%H:%M:%S%:z`)}function Id(e){return Pd.call(this,e,`%a, %d %b %Y %H:%M:%S %z`)}function Ld(e,t,n){return zd.call(this,e,`%b`,t,n)}function Rd(e,t,n){return zd.call(this,e,`%B`,t,n)}function zd(e,t,n,r){let i=Bd(e,this.context.opts);if(!i)return e;let a=this.context.memoryLimit;if(n===`ordinal`){let e=i.getDate();return r===`US`?dc(i,`${t} ${e}%q, %Y`,a):dc(i,`${e}%q ${t} %Y`,a)}return dc(i,`%d ${t} %Y`,a)}function Bd(e,t,n){let r,i=n??t.timezoneOffset,a=t.locale;if(e=us(e),!ms(e))return r=e===`now`||e===`today`?new bc(Date.now(),a,i):fs(e)?new bc(e*1e3,a,i):as(e)?/^\d+$/.test(e)?new bc(e*1e3,a,i):t.preserveTimezones&&n===void 0?bc.createDateFixedToTimezone(e,a):new bc(e,a,i):new bc(e,a,i),r.valid()?r:void 0}var Vd=Object.freeze({__proto__:null,date:Pd,date_to_xmlschema:Fd,date_to_rfc822:Id,date_to_string:Ld,date_to_long_string:Rd}),Hd=/[\u4E00-\u9FFF\uF900-\uFAFF\u3400-\u4DBF\u3040-\u309F\u30A0-\u30FF\uAC00-\uD7AF]/gu,Ud=/[^\u4E00-\u9FFF\uF900-\uFAFF\u3400-\u4DBF\u3040-\u309F\u30A0-\u30FF\uAC00-\uD7AF\s]+/gu;function pte(e,t){Fs(arguments.length===2,`append expect 2 arguments`);let n=I(e),r=I(t);return this.context.memoryLimit.use(n.length+r.length),n+r}function mte(e,t){Fs(arguments.length===2,`prepend expect 2 arguments`);let n=I(e),r=I(t);return this.context.memoryLimit.use(n.length+r.length),r+n}function hte(e,t){let n=I(e);if(this.context.memoryLimit.use(n.length),t){t=I(t),this.context.memoryLimit.use(t.length);for(let e=0,r=new Set(t);e<n.length;e++)if(!r.has(n[e]))return n.slice(e);return``}return n.trimStart()}function gte(e){let t=I(e);return this.context.memoryLimit.use(t.length),t.toLowerCase()}function _te(e){let t=I(e);return this.context.memoryLimit.use(t.length),I(t).toUpperCase()}function vte(e,t){let n=I(e);return t=I(t),this.context.memoryLimit.use(n.length+t.length),n.split(t).join(``)}function yte(e,t){let n=I(e);return t=I(t),this.context.memoryLimit.use(n.length+t.length),n.replace(t,``)}function bte(e,t){let n=I(e),r=I(t);this.context.memoryLimit.use(n.length+r.length);let i=n.lastIndexOf(r);return i===-1?n:n.substring(0,i)+n.substring(i+r.length)}function xte(e,t){if(e=I(e),this.context.memoryLimit.use(e.length),t){t=I(t),this.context.memoryLimit.use(t.length);for(let n=e.length-1,r=new Set(t);n>=0;n--)if(!r.has(e[n]))return e.slice(0,n+1);return``}return e.trimEnd()}function Ste(e,t){let n=I(e);this.context.memoryLimit.use(n.length);let r=n.split(I(t));for(;r.length&&r[r.length-1]===``;)r.pop();return r}function Cte(e,t){let n=I(e);if(this.context.memoryLimit.use(n.length),t){let e=new Set(I(t));this.context.memoryLimit.use(e.size);let r=0,i=n.length-1;for(;e.has(n[r]);)r++;for(;i>=r&&e.has(n[i]);)i--;return n.slice(r,i+1)}return n.trim()}function wte(e){let t=I(e);return this.context.memoryLimit.use(t.length),t.replace(/\r?\n/gm,``)}function Tte(e){return e=I(e),this.context.memoryLimit.use(e.length),e.charAt(0).toUpperCase()+e.slice(1).toLowerCase()}function Ete(e,t,n){let r=I(e);t=I(t),n=I(n);let i=r.split(t),a=r.length+(i.length-1)*(n.length-t.length);return this.context.memoryLimit.use(a),i.join(n)}function Dte(e,t,n){let r=I(e);return t=I(t),n=I(n),this.context.memoryLimit.use(r.length+t.length+n.length),r.replace(t,()=>n)}function Ote(e,t,n){let r=I(e),i=I(t),a=I(n);this.context.memoryLimit.use(r.length+i.length+a.length);let o=r.lastIndexOf(i);return o===-1?r:r.substring(0,o)+a+r.substring(o+i.length)}function kte(e,t=50,n=`...`){let r=I(e);return n=I(n),this.context.memoryLimit.use(r.length+n.length),r.length<=t?e:r.substring(0,t-n.length)+n}function Ate(e,t=15,n=`...`){let r=I(e);n=I(n),this.context.memoryLimit.use(r.length+n.length);let i=r.split(/\s+/);t<=0&&(t=1);let a=i.slice(0,t).join(` `);return i.length>=t&&(a+=n),a}function jte(e){let t=I(e);return this.context.memoryLimit.use(t.length),t.replace(/\s+/g,` `)}function Mte(e,t){let n=I(e);if(this.context.memoryLimit.use(n.length),e=n.trim(),!e)return 0;switch(t){case`cjk`:return(e.match(Hd)||[]).length+(e.match(Ud)||[]).length;case`auto`:return Hd.test(e)?e.match(Hd).length+(e.match(Ud)||[]).length:e.split(/\s+/).length;default:return e.split(/\s+/).length}}function Nte(e,t=`and`){switch(t=I(t),this.context.memoryLimit.use(e.length+t.length),e.length){case 0:return``;case 1:return e[0];case 2:return`${e[0]} ${t} ${e[1]}`;default:return`${e.slice(0,-1).join(`, `)}, ${t} ${e[e.length-1]}`}}var Pte=Object.freeze({__proto__:null,append:pte,prepend:mte,lstrip:hte,downcase:gte,upcase:_te,remove:vte,remove_first:yte,remove_last:bte,rstrip:xte,split:Ste,strip:Cte,strip_newlines:wte,capitalize:Tte,replace:Ete,replace_first:Dte,replace_last:Ote,truncate:kte,truncatewords:Ate,normalize_whitespace:jte,number_of_words:Mte,array_to_sentence_string:Nte});function Fte(e){return btoa(String.fromCharCode(...new TextEncoder().encode(e)))}function Ite(e){return new TextDecoder().decode(Uint8Array.from(atob(e),e=>e.charCodeAt(0)))}function Lte(e){if(typeof Buffer<`u`&&Buffer.isBuffer(e))return this.context.memoryLimit.use(e.byteLength),e.toString(`base64`);let t=I(e);return this.context.memoryLimit.use(t.length),Fte(t)}function Rte(e){let t=I(e);return this.context.memoryLimit.use(t.length),Ite(t)}var zte=Object.freeze({__proto__:null,base64_encode:Lte,base64_decode:Rte});function Wd(e){let t=new Uint8Array(e),n=``;for(let e=0;e<t.length;e++)n+=t[e].toString(16).padStart(2,`0`);return n}function Bte(e){return Xs(this,void 0,void 0,function*(){let t=new TextEncoder().encode(e);return Wd(yield crypto.subtle.digest(`SHA-256`,t))})}function Vte(e,t){return Xs(this,void 0,void 0,function*(){let n=new TextEncoder,r=yield crypto.subtle.importKey(`raw`,n.encode(t),{name:`HMAC`,hash:`SHA-256`},!1,[`sign`]);return Wd(yield crypto.subtle.sign(`HMAC`,r,n.encode(e)))})}function Hte(e){let t=I(e);return this.context.memoryLimit.use(t.length),Bte(t)}function Ute(e,t){let n=I(e),r=I(t);return this.context.memoryLimit.use(n.length+r.length),Vte(n,r)}var Wte=Object.freeze({__proto__:null,sha256:Hte,hmac_sha256:Ute}),Gte=Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({},Ol),Vu),Xu),Nd),Vd),Pte),zte),Wte),yl),Kte=class extends Bl{constructor(e,t,n){super(e,t,n),this.identifier=this.tokenizer.readIdentifier(),this.key=this.identifier.content,this.tokenizer.assert(this.key,`expected variable name`),this.tokenizer.skipBlank(),this.tokenizer.assert(this.tokenizer.peek()===`=`,`expected "="`),this.tokenizer.advance(),this.value=new Gl(this.tokenizer.readFilteredValue(),this.liquid)}*render(e){e.bottom()[this.key]=yield this.value.value(e,this.liquid.options.lenientIf)}*arguments(){yield this.value}*localScope(){yield this.identifier}},Gd=[`offset`,`limit`,`reversed`],qte=class extends Bl{constructor(e,t,n,r){super(e,t,n);let i=this.tokenizer.readIdentifier(),a=this.tokenizer.readIdentifier(),o=this.tokenizer.readValue();if(!i.size()||a.content!==`in`||!o)throw Error(`illegal tag: ${e.getText()}`);this.variable=i.content,this.collection=o,this.hash=new Vl(this.tokenizer,n.options.keyValueSeparator),this.templates=[],this.elseTemplates=[];let s,c=r.parseStream(t).on(`start`,()=>s=this.templates).on(`tag:else`,e=>{Is(e.args),s=this.elseTemplates}).on(`tag:endfor`,e=>{Is(e.args),c.stop()}).on(`template`,e=>s.push(e)).on(`end`,()=>{throw Error(`tag ${e.getText()} not closed`)});c.start()}*render(e,t){let n=this.liquid.renderer,r=cs(yield Jc(this.collection,e));if(!r.length){yield n.renderTemplates(this.elseTemplates,e,t);return}let i=`continue-`+this.variable+`-`+this.collection.getText();e.push(Cu({continue:e.getRegister(i,{})}));let a=yield this.hash.render(e);e.pop(),r=(this.liquid.options.orderedFilterParameters?Object.keys(a).filter(e=>Gd.includes(e)):Gd.filter(e=>a[e]!==void 0)).reduce((e,t)=>t===`offset`?Yte(e,a.offset):t===`limit`?Xte(e,a.limit):Jte(e),r),e.setRegister(i,(a.offset||0)+r.length);let o=Cu({forloop:new zs(r.length,this.collection.getText(),this.variable)});e.push(o);for(let i of r){if(o[this.variable]=i,e.continueCalled=e.breakCalled=!1,yield n.renderTemplates(this.templates,e,t),e.breakCalled)break;o.forloop.next()}e.continueCalled=e.breakCalled=!1,e.pop()}*children(){let e=this.templates.slice();return this.elseTemplates&&e.push(...this.elseTemplates),e}*arguments(){yield this.collection;for(let e of Object.values(this.hash.hash))xu(e)&&(yield e)}blockScope(){return[this.variable,`forloop`]}};function Jte(e){return[...e].reverse()}function Yte(e,t){return e.slice(t)}function Xte(e,t){return e.slice(0,t)}var Zte=class extends Bl{constructor(e,t,n,r){for(super(e,t,n),this.templates=[],this.identifier=this.readVariable(),this.variable=this.identifier.content;t.length;){let e=t.shift();if(hu(e)&&e.name===`endcapture`)return;this.templates.push(r.parseToken(e,t))}throw Error(`tag ${e.getText()} not closed`)}readVariable(){let e=this.tokenizer.readIdentifier();if(e.content||(e=this.tokenizer.readQuoted(),e))return e;throw this.tokenizer.error(`invalid capture name`)}*render(e){let t=yield this.liquid.renderer.renderTemplates(this.templates,e);e.bottom()[this.variable]=t}*children(){return this.templates}*localScope(){yield this.identifier}},Qte=class extends Bl{constructor(e,t,n,r){super(e,t,n),this.branches=[],this.elseTemplates=[],this.value=new Gl(this.tokenizer.readFilteredValue(),this.liquid),this.elseTemplates=[];let i=[],a=0,o=r.parseStream(t).on(`tag:when`,e=>{if(a>0)return;i=[];let t=[];for(;!e.tokenizer.end();)t.push(e.tokenizer.readValueOrThrow()),e.tokenizer.skipBlank(),e.tokenizer.peek()===`,`?e.tokenizer.readTo(`,`):e.tokenizer.readTo(`or`);this.branches.push({values:t,templates:i})}).on(`tag:else`,()=>{a++,i=this.elseTemplates}).on(`tag:endcase`,()=>o.stop()).on(`template`,e=>{(i!==this.elseTemplates||a===1)&&i.push(e)}).on(`end`,()=>{throw Error(`tag ${e.getText()} not closed`)});o.start()}*render(e,t){let n=this.liquid.renderer,r=us(yield this.value.value(e,e.opts.lenientIf)),i=!1;for(let a of this.branches)for(let o of a.values)if(nl(r,yield Jc(o,e,e.opts.lenientIf))){yield n.renderTemplates(a.templates,e,t),i=!0;break}i||(yield n.renderTemplates(this.elseTemplates,e,t))}*arguments(){yield this.value,yield*this.branches.flatMap(e=>e.values)}*children(){let e=this.branches.flatMap(e=>e.templates);return this.elseTemplates&&e.push(...this.elseTemplates),e}},$te=class extends Bl{constructor(e,t,n){for(super(e,t,n);t.length;){let e=t.shift();if(hu(e)&&e.name===`endcomment`)return}throw Error(`tag ${e.getText()} not closed`)}render(){}},ene=class extends Bl{constructor(e,t,n,r){super(e,t,n);let i=this.tokenizer;for(this.file=Kd(i,this.liquid,r),this.currentFile=e.file;!i.end();){i.skipBlank();let e=i.p,t=i.readIdentifier();if((t.content===`with`||t.content===`for`)&&(i.skipBlank(),i.peek()!==`:`)){let e=i.readValue();if(e){let n=i.p,r=i.readIdentifier(),a;r.content===`as`?a=i.readIdentifier():i.p=n;let o={value:e,alias:a&&a.content};t.content===`with`?this.with=o:this.forBinding=o,i.skipBlank(),i.peek()===`,`&&i.advance();continue}}i.p=e;break}this.hash=new Vl(i,n.options.keyValueSeparator)}*render(e,t){let{liquid:n,hash:r}=this,i=yield Jd(this.file,e,n);Fs(i,()=>`illegal file path "${i}"`);let a=e.spawn(),o=a.bottom();if(Ys(o,yield r.render(e)),this.with){let{value:t,alias:n}=this.with;o[n||i]=yield Jc(t,e)}if(this.forBinding){let{value:r,alias:s}=this.forBinding,c=cs(yield Jc(r,e));o.forloop=new zs(c.length,r.getText(),s);for(let e of c){o[s]=e;let r=yield n._parsePartialFile(i,a.sync,this.currentFile);yield n.renderer.renderTemplates(r,a,t),o.forloop.next()}}else{let e=yield n._parsePartialFile(i,a.sync,this.currentFile);yield n.renderer.renderTemplates(e,a,t)}}*children(e,t){return e&&as(this.file)?yield this.liquid._parsePartialFile(this.file,t,this.currentFile):[]}partialScope(){if(as(this.file)){let e=Object.keys(this.hash.hash);if(this.with){let{value:t,alias:n}=this.with;as(n)?e.push([n,t]):as(this.file)&&e.push([this.file,t])}if(this.forBinding){let{value:t,alias:n}=this.forBinding;as(n)?e.push([n,t]):as(this.file)&&e.push([this.file,t])}return{name:this.file,isolated:!0,scope:e}}}*arguments(){for(let e of Object.values(this.hash.hash))xu(e)&&(yield e);if(this.with){let{value:e}=this.with;xu(e)&&(yield e)}if(this.forBinding){let{value:e}=this.forBinding;xu(e)&&(yield e)}}};function Kd(e,t,n){if(t.options.dynamicPartials){let t=e.readValue();return e.assert(t,`illegal file path`),t.getText()===`none`?void 0:gu(t)?qd(n.parse(Xc(t))):t}let r=[...e.readFileNameTemplate(t.options)],i=qd(n.parseTokens(r));return i===`none`?void 0:i}function qd(e){return e.length===1&&pu(e[0].token)?e[0].token.getContent():e}function*Jd(e,t,n){return typeof e==`string`?e:Array.isArray(e)?n.renderer.renderTemplates(e,t):yield Jc(e,t)}var tne=class extends Bl{constructor(e,t,n,r){super(e,t,n);let{tokenizer:i}=e;this.file=Kd(i,this.liquid,r),this.currentFile=e.file;let a=i.p;i.readIdentifier().content===`with`?(i.skipBlank(),i.peek()===`:`?i.p=a:this.withVar=i.readValue()):i.p=a,this.hash=new Vl(i,n.options.jekyllInclude||n.options.keyValueSeparator)}*render(e,t){let{liquid:n,hash:r,withVar:i}=this,{renderer:a}=n,o=yield Jd(this.file,e,n);Fs(o,()=>`illegal file path "${o}"`);let s=e.saveRegister(`blocks`,`blockMode`);e.setRegister(`blocks`,{}),e.setRegister(`blockMode`,ku.OUTPUT);let c=Cu(yield r.render(e));i&&(c[o]=yield Jc(i,e));let l=yield n._parsePartialFile(o,e.sync,this.currentFile);e.push(e.opts.jekyllInclude?Cu({include:c}):c),yield a.renderTemplates(l,e,t),e.pop(),e.restoreRegister(s)}*children(e,t){return e&&as(this.file)?yield this.liquid._parsePartialFile(this.file,t,this.currentFile):[]}partialScope(){if(as(this.file)){let e;return this.liquid.options.jekyllInclude?e=[`include`]:(e=Object.keys(this.hash.hash),this.withVar&&e.push([this.file,this.withVar])),{name:this.file,isolated:!1,scope:e}}}*arguments(){yield*Object.values(this.hash.hash).filter(xu),xu(this.file)&&(yield this.file),xu(this.withVar)&&(yield this.withVar)}},nne=class extends Bl{constructor(e,t,n){super(e,t,n),this.identifier=this.tokenizer.readIdentifier(),this.variable=this.identifier.content}render(e,t){let n=e.environments;fs(n[this.variable])||(n[this.variable]=0),t.write(I(--n[this.variable]))}*localScope(){yield this.identifier}},rne=class extends Bl{constructor(e,t,n){super(e,t,n),this.candidates=[];let r=this.tokenizer.readValue();for(this.tokenizer.skipBlank(),r&&(this.tokenizer.peek()===`:`?(this.group=r,this.tokenizer.advance()):this.candidates.push(r));!this.tokenizer.end();){let e=this.tokenizer.readValue();e&&this.candidates.push(e),this.tokenizer.readTo(`,`)}this.tokenizer.assert(this.candidates.length,()=>`empty candidates: "${e.getText()}"`)}*render(e,t){let n=`cycle:${yield Jc(this.group,e)}:`+this.candidates.join(`,`),r=e.getRegister(`cycle`,{}),i=r[n];i===void 0&&(i=r[n]=0);let a=this.candidates[i];return i=(i+1)%this.candidates.length,r[n]=i,yield Jc(a,e)}*arguments(){yield*this.candidates,this.group&&(yield this.group)}},ine=class extends Bl{constructor(e,t,n,r){super(e,t,n),this.branches=[];let i=[];r.parseStream(t).on(`start`,()=>this.branches.push({value:new Gl(e.tokenizer.readFilteredValue(),this.liquid),templates:i=[]})).on(`tag:elsif`,e=>{Fs(!this.elseTemplates,`unexpected elsif after else`),this.branches.push({value:new Gl(e.tokenizer.readFilteredValue(),this.liquid),templates:i=[]})}).on(`tag:else`,e=>{Is(e.args),Fs(!this.elseTemplates,`duplicated else`),i=this.elseTemplates=[]}).on(`tag:endif`,function(e){Is(e.args),this.stop()}).on(`template`,e=>i.push(e)).on(`end`,()=>{throw Error(`tag ${e.getText()} not closed`)}).start()}*render(e,t){let n=this.liquid.renderer;for(let{value:r,templates:i}of this.branches)if($c(yield r.value(e,e.opts.lenientIf),e)){yield n.renderTemplates(i,e,t);return}yield n.renderTemplates(this.elseTemplates||[],e,t)}*children(){let e=this.branches.flatMap(e=>e.templates);return this.elseTemplates&&e.push(...this.elseTemplates),e}arguments(){return this.branches.map(e=>e.value)}},ane=class extends Bl{constructor(e,t,n){super(e,t,n),this.identifier=this.tokenizer.readIdentifier(),this.variable=this.identifier.content}render(e,t){let n=e.environments;fs(n[this.variable])||(n[this.variable]=0);let r=n[this.variable];n[this.variable]++,t.write(I(r))}*localScope(){yield this.identifier}},one=class extends Bl{constructor(e,t,n,r){super(e,t,n),this.file=Kd(this.tokenizer,this.liquid,r),this.currentFile=e.file,this.args=new Vl(this.tokenizer,n.options.keyValueSeparator),this.templates=r.parseTokens(t)}*render(e,t){let{liquid:n,args:r,file:i}=this,{renderer:a}=n;if(i===void 0){e.setRegister(`blockMode`,ku.OUTPUT),yield a.renderTemplates(this.templates,e,t);return}let o=yield Jd(this.file,e,n);Fs(o,()=>`illegal file path "${o}"`);let s=yield n._parseLayoutFile(o,e.sync,this.currentFile);e.setRegister(`blockMode`,ku.STORE);let c=yield a.renderTemplates(this.templates,e),l=e.getRegister(`blocks`,{});l[``]===void 0&&(l[``]=(e,t)=>t.write(c)),e.setRegister(`blockMode`,ku.OUTPUT),e.push(Cu(yield r.render(e))),yield a.renderTemplates(s,e,t),e.pop()}*children(e){let t=this.templates.slice();return e&&as(this.file)&&t.push(...yield this.liquid._parsePartialFile(this.file,!0,this.currentFile)),t}*arguments(){for(let e of Object.values(this.args.hash))xu(e)&&(yield e);xu(this.file)&&(yield this.file)}partialScope(){if(as(this.file))return{name:this.file,isolated:!1,scope:Object.keys(this.args.hash)}}},sne=class extends Bl{constructor(e,t,n,r){super(e,t,n),this.templates=[];let i=/\w+/.exec(e.args);for(this.block=i?i[0]:``;t.length;){let e=t.shift();if(hu(e)&&e.name===`endblock`)return;let n=r.parseToken(e,t);this.templates.push(n)}throw Error(`tag ${e.getText()} not closed`)}*render(e,t){let n=this.getBlockRender(e);e.getRegister(`blockMode`)===ku.STORE?e.getRegister(`blocks`,{})[this.block]=n:yield n(new Us,t)}getBlockRender(e){let t=this,{liquid:n,templates:r}=this,i=e.getRegister(`blocks`,{})[this.block],a=function*(i,a){let o=e.getRegister(`blockStack`,[]);if(o.includes(t))throw Error(`block tag cannot be nested`);o.push(t),e.push(Cu({block:i})),yield n.renderer.renderTemplates(r,e,a),e.pop(),o.pop()};return i?(e,t)=>i(new Us(t=>a(e,t)),t):a}*children(){return this.templates}blockScope(){return[`block`]}},cne=class extends Bl{constructor(e,t,n){for(super(e,t,n),this.tokens=[];t.length;){let e=t.shift();if(hu(e)&&e.name===`endraw`)return;this.tokens.push(e)}throw Error(`tag ${e.getText()} not closed`)}render(){return this.tokens.map(e=>e.getText()).join(``)}},lne=class extends zs{constructor(e,t,n,r){super(e,n,r),this.length=e,this.cols=t}row(){return Math.floor(this.i/this.cols)+1}col0(){return this.i%this.cols}col(){return this.col0()+1}col_first(){return this.col0()===0}col_last(){return this.col()===this.cols}},une={assign:Kte,for:qte,capture:Zte,case:Qte,comment:$te,include:tne,render:ene,decrement:nne,increment:ane,cycle:rne,if:ine,layout:one,block:sne,raw:cne,tablerow:class extends Bl{constructor(e,t,n,r){super(e,t,n);let i=this.tokenizer.readIdentifier();this.tokenizer.skipBlank();let a=this.tokenizer.readIdentifier(),o=this.tokenizer.readValue();if(a.content!==`in`||!o)throw Error(`illegal tag: ${e.getText()}`);this.variable=i.content,this.collection=o,this.args=new Vl(this.tokenizer,n.options.keyValueSeparator),this.templates=[];let s,c=r.parseStream(t).on(`start`,()=>s=this.templates).on(`tag:endtablerow`,()=>c.stop()).on(`template`,e=>s.push(e)).on(`end`,()=>{throw Error(`tag ${e.getText()} not closed`)});c.start()}*render(e,t){let n=cs(yield Jc(this.collection,e)),r=yield this.args.render(e),i=r.offset||0,a=r.limit===void 0?n.length:r.limit;n=n.slice(i,i+a);let o=r.cols||n.length,s=this.liquid.renderer,c=new lne(n.length,o,this.collection.getText(),this.variable),l=Cu({tablerowloop:c});e.push(l);for(let r=0;r<n.length;r++,c.next())l[this.variable]=n[r],c.col0()===0&&(c.row()!==1&&t.write(`</tr>`),t.write(`<tr class="row${c.row()}">`)),t.write(`<td class="col${c.col()}">`),yield s.renderTemplates(this.templates,e,t),t.write(`</td>`);n.length&&t.write(`</tr>`),e.pop()}*children(){return this.templates}*arguments(){yield this.collection;for(let e of Object.values(this.args.hash))xu(e)&&(yield e)}blockScope(){return[this.variable,`tablerowloop`]}},unless:class extends Bl{constructor(e,t,n,r){super(e,t,n),this.branches=[],this.elseTemplates=[];let i=[],a=0;r.parseStream(t).on(`start`,()=>this.branches.push({value:new Gl(e.tokenizer.readFilteredValue(),this.liquid),test:el,templates:i=[]})).on(`tag:elsif`,e=>{if(a>0){i=[];return}this.branches.push({value:new Gl(e.tokenizer.readFilteredValue(),this.liquid),test:$c,templates:i=[]})}).on(`tag:else`,()=>{a++,i=this.elseTemplates}).on(`tag:endunless`,function(){this.stop()}).on(`template`,e=>{(i!==this.elseTemplates||a===1)&&i.push(e)}).on(`end`,()=>{throw Error(`tag ${e.getText()} not closed`)}).start()}*render(e,t){let n=this.liquid.renderer;for(let{value:r,test:i,templates:a}of this.branches)if(i(yield r.value(e,e.opts.lenientIf),e)){yield n.renderTemplates(a,e,t);return}yield n.renderTemplates(this.elseTemplates,e,t)}*children(){let e=this.branches.flatMap(e=>e.templates);return this.elseTemplates&&e.push(...this.elseTemplates),e}arguments(){return this.branches.map(e=>e.value)}},break:class extends Bl{render(e,t){e.breakCalled=!0}},continue:class extends Bl{render(e,t){e.continueCalled=!0}},echo:class extends Bl{constructor(e,t,n){super(e,t,n),this.tokenizer.skipBlank(),this.tokenizer.end()||(this.value=new Gl(this.tokenizer.readFilteredValue(),this.liquid))}*render(e,t){if(!this.value)return;let n=yield this.value.value(e,!1);t.write(n)}*arguments(){this.value&&(yield this.value)}},liquid:class extends Bl{constructor(e,t,n,r){super(e,t,n);let i=this.tokenizer.readLiquidTagTokens(this.liquid.options);this.templates=r.parseTokens(i)}*render(e,t){yield this.liquid.renderer.renderTemplates(this.templates,e,t)}*children(){return this.templates}},"#":class extends Bl{constructor(e,t,n){if(super(e,t,n),e.args.search(/\n\s*[^#\s]/g)!==-1)throw Error(`every line of an inline comment must start with a '#' character`)}render(){}}},Yd=class e{constructor(e={}){this.renderer=new Kc,this.filters=Object.create(null),this.tags=Object.create(null),this.options=jl(e),this.parser=new lu(this),_s(une,(e,t)=>this.registerTag(t,e)),_s(Gte,(e,t)=>this.registerFilter(t,e))}parse(e,t){return new lu(this).parse(e,t)}_render(e,t,n){let r=t instanceof wu?t:new wu(t,this.options,n);return this.renderer.renderTemplates(e,r)}render(e,t,n){return Xs(this,void 0,void 0,function*(){return Qs(this._render(e,t,Object.assign(Object.assign({},n),{sync:!1})))})}renderSync(e,t,n){return $s(this._render(e,t,Object.assign(Object.assign({},n),{sync:!0})))}renderToNodeStream(e,t,n={}){let r=new wu(t,this.options,n);return this.renderer.renderTemplatesToNodeStream(e,r)}_parseAndRender(e,t,n){let r=this.parse(e);return this._render(r,t,n)}parseAndRender(e,t,n){return Xs(this,void 0,void 0,function*(){return Qs(this._parseAndRender(e,t,Object.assign(Object.assign({},n),{sync:!1})))})}parseAndRenderSync(e,t,n){return $s(this._parseAndRender(e,t,Object.assign(Object.assign({},n),{sync:!0})))}_parsePartialFile(e,t,n){return new lu(this).parseFile(e,t,su.Partials,n)}_parseLayoutFile(e,t,n){return new lu(this).parseFile(e,t,su.Layouts,n)}_parseFile(e,t,n,r){return new lu(this).parseFile(e,t,n,r)}parseFile(e,t){return Xs(this,void 0,void 0,function*(){return Qs(new lu(this).parseFile(e,!1,t))})}parseFileSync(e,t){return $s(new lu(this).parseFile(e,!0,t))}*_renderFile(e,t,n){let r=yield this._parseFile(e,n.sync,n.lookupType);return yield this._render(r,t,n)}renderFile(e,t,n){return Xs(this,void 0,void 0,function*(){return Qs(this._renderFile(e,t,Object.assign(Object.assign({},n),{sync:!1})))})}renderFileSync(e,t,n){return $s(this._renderFile(e,t,Object.assign(Object.assign({},n),{sync:!0})))}renderFileToNodeStream(e,t,n){return Xs(this,void 0,void 0,function*(){let r=yield this.parseFile(e);return this.renderToNodeStream(r,t,n)})}_evalValue(e,t){let n=new Gl(e,this),r=t instanceof wu?t:new wu(t,this.options);return n.value(r)}evalValue(e,t){return Xs(this,void 0,void 0,function*(){return Qs(this._evalValue(e,t))})}evalValueSync(e,t){return $s(this._evalValue(e,t))}registerFilter(e,t){this.filters[e]=t}registerTag(e,t){this.tags[e]=os(t)?t:Hl(t)}plugin(t){return t.call(this,e)}express(){let e=this,t=!0;return function(n,r,i){if(t){t=!1;let n=Nl(this.root);e.options.root.unshift(...n),e.options.layouts.unshift(...n),e.options.partials.unshift(...n)}e.renderFile(n,r).then(e=>i(null,e),i)}}analyze(e,t={}){return Xs(this,void 0,void 0,function*(){return Ql(e,t)})}analyzeSync(e,t={}){return $l(e,t)}parseAndAnalyze(e,t,n={}){return Xs(this,void 0,void 0,function*(){return Ql(this.parse(e,t),n)})}parseAndAnalyzeSync(e,t,n={}){return $l(this.parse(e,t),n)}variables(e,t={}){return Xs(this,void 0,void 0,function*(){let n=yield Ql(as(e)?this.parse(e):e,t);return Object.keys(n.variables)})}variablesSync(e,t={}){let n=$l(as(e)?this.parse(e):e,t);return Object.keys(n.variables)}fullVariables(e,t={}){return Xs(this,void 0,void 0,function*(){let n=yield Ql(as(e)?this.parse(e):e,t);return Array.from(new Set(Object.values(n.variables).flatMap(e=>e.map(e=>String(e)))))})}fullVariablesSync(e,t={}){let n=$l(as(e)?this.parse(e):e,t);return Array.from(new Set(Object.values(n.variables).flatMap(e=>e.map(e=>String(e)))))}variableSegments(e,t={}){return Xs(this,void 0,void 0,function*(){let n=yield Ql(as(e)?this.parse(e):e,t);return Array.from(Es(Object.values(n.variables).flatMap(e=>e.map(e=>e.toArray()))))})}variableSegmentsSync(e,t={}){let n=$l(as(e)?this.parse(e):e,t);return Array.from(Es(Object.values(n.variables).flatMap(e=>e.map(e=>e.toArray()))))}globalVariables(e,t={}){return Xs(this,void 0,void 0,function*(){let n=yield Ql(as(e)?this.parse(e):e,t);return Object.keys(n.globals)})}globalVariablesSync(e,t={}){let n=$l(as(e)?this.parse(e):e,t);return Object.keys(n.globals)}globalFullVariables(e,t={}){return Xs(this,void 0,void 0,function*(){let n=yield Ql(as(e)?this.parse(e):e,t);return Array.from(new Set(Object.values(n.globals).flatMap(e=>e.map(e=>String(e)))))})}globalFullVariablesSync(e,t={}){let n=$l(as(e)?this.parse(e):e,t);return Array.from(new Set(Object.values(n.globals).flatMap(e=>e.map(e=>String(e)))))}globalVariableSegments(e,t={}){return Xs(this,void 0,void 0,function*(){let n=yield Ql(as(e)?this.parse(e):e,t);return Array.from(Es(Object.values(n.globals).flatMap(e=>e.map(e=>e.toArray()))))})}globalVariableSegmentsSync(e,t={}){let n=$l(as(e)?this.parse(e):e,t);return Array.from(Es(Object.values(n.globals).flatMap(e=>e.map(e=>e.toArray()))))}};function L(e){return e.replace(/&/g,`&`).replace(/</g,`<`).replace(/>/g,`>`).replace(/"/g,`"`).replace(/'/g,`'`)}function dne(e){return e.replace(/\\/g,`\\\\`).replace(/"/g,`\\"`).replace(/'/g,`\\'`).replace(/\(/g,`\\(`).replace(/\)/g,`\\)`).replace(/\n/g,``).replace(/\r/g,``).replace(/\t/g,``)}function Xd(e){if(!e)return``;try{let t=new URL(e);return[`http:`,`https:`,`data:`].includes(t.protocol)?L(e):``}catch{return e.startsWith(`/`)?L(e):``}}function Zd(e){return e&&/^(#[0-9a-fA-F]{3,8}|rgba?\([^)]+\)|hsla?\([^)]+\)|[a-zA-Z]+)$/.test(e.trim())?e.trim():``}function fne(e){if(!e)return`#f5f5f5`;if(typeof e==`string`)return Zd(e)||`#f5f5f5`;let{type:t,start:n,end:r,angle_deg:i}=e;if(t===`linear-gradient`&&n&&r){let e=Zd(n),t=Zd(r);if(e&&t)return`linear-gradient(${typeof i==`number`?i:180}deg, ${e}, ${t})`}if(n){let e=Zd(n);if(e)return e}return`#f5f5f5`}function Qd(e,t){if(e?.background_image_url){let t=Xd(e.background_image_url);if(t)return`${Zd(e.background_color)||`#f5f5f5`} url("${dne(t)}") center / cover no-repeat`}if(e?.background_color){let t=Zd(e.background_color);if(t)return t}return fne(t)}var pne=(e,t)=>{try{return t(e)}catch{return e.replace(/(?:%[0-9A-Fa-f]{2})+/g,e=>{try{return t(e)}catch{return e}})}},mne=decodeURIComponent,$d=/^[\w!#$%&'*.^`|~+-]+$/,hne=/^[ !#-:<-[\]-~]*$/,ef=e=>{let t=0,n=e.length;for(;t<n;){let n=e.charCodeAt(t);if(n!==32&&n!==9)break;t++}for(;n>t;){let t=e.charCodeAt(n-1);if(t!==32&&t!==9)break;n--}return t===0&&n===e.length?e:e.slice(t,n)},tf=(e,t)=>{if(t&&e.indexOf(t)===-1)return{};let n=e.split(`;`),r=Object.create(null);for(let e of n){let n=e.indexOf(`=`);if(n===-1)continue;let i=ef(e.substring(0,n));if(t&&t!==i||!$d.test(i)||i in r)continue;let a=ef(e.substring(n+1));if(a.startsWith(`"`)&&a.endsWith(`"`)&&(a=a.slice(1,-1)),hne.test(a)&&(r[i]=a.indexOf(`%`)===-1?a:pne(a,mne),t))break}return r},gne=(e,t,n={})=>{if(!$d.test(e))throw Error(`Invalid cookie name`);let r=`${e}=${t}`;if(e.startsWith(`__Secure-`)&&!n.secure)throw Error(`__Secure- Cookie must have Secure attributes`);if(e.startsWith(`__Host-`)){if(!n.secure)throw Error(`__Host- Cookie must have Secure attributes`);if(n.path!==`/`)throw Error(`__Host- Cookie must have Path attributes with "/"`);if(n.domain)throw Error(`__Host- Cookie must not have Domain attributes`)}for(let e of[`domain`,`path`,`sameSite`,`priority`])if(n[e]&&/[;\r\n]/.test(n[e]))throw Error(`${e} must not contain ";", "\\r", or "\\n"`);if(n&&typeof n.maxAge==`number`&&n.maxAge>=0){if(n.maxAge>3456e4)throw Error(`Cookies Max-Age SHOULD NOT be greater than 400 days (34560000 seconds) in duration.`);r+=`; Max-Age=${n.maxAge|0}`}if(n.domain&&n.prefix!==`host`&&(r+=`; Domain=${n.domain}`),n.path&&(r+=`; Path=${n.path}`),n.expires){if(n.expires.getTime()-Date.now()>3456e7)throw Error(`Cookies Expires SHOULD NOT be greater than 400 days (34560000 seconds) in the future.`);r+=`; Expires=${n.expires.toUTCString()}`}if(n.httpOnly&&(r+=`; HttpOnly`),n.secure&&(r+=`; Secure`),n.sameSite&&(r+=`; SameSite=${n.sameSite.charAt(0).toUpperCase()+n.sameSite.slice(1)}`),n.priority&&(r+=`; Priority=${n.priority.charAt(0).toUpperCase()+n.priority.slice(1)}`),n.partitioned){if(!n.secure)throw Error(`Partitioned Cookie must have Secure attributes`);r+=`; Partitioned`}return r},nf=(e,t,n)=>(t=encodeURIComponent(t),gne(e,t,n)),_ne=(e,t,n)=>{let r=e.req.raw.headers.get(`Cookie`);if(typeof t==`string`){if(!r)return;let e=t;return n===`secure`?e=`__Secure-`+t:n===`host`&&(e=`__Host-`+t),tf(r,e)[e]}return r?tf(r):{}},vne=(e,t,n)=>{let r;return r=n?.prefix===`secure`?nf(`__Secure-`+e,t,{path:`/`,...n,secure:!0}):n?.prefix===`host`?nf(`__Host-`+e,t,{...n,path:`/`,secure:!0,domain:void 0}):nf(e,t,{path:`/`,...n}),r},rf=(e,t,n,r)=>{let i=vne(t,n,r);e.header(`Set-Cookie`,i,{append:!0})},af=`mrb21yjo`,yne=c({common:()=>of,consent:()=>sf,default:()=>bne,invitation:()=>cf,login:()=>lf,mfa:()=>uf,organizations:()=>ff,passkeys:()=>df,signup:()=>pf,status:()=>mf}),of={common:{alertListTitle:`Upozornění`,backText:`Vrátit se zpět`,cancelText:`Zrušit`,closeText:`Zavřít`,contactSupportText:`Potřebujete pomoc?`,continueText:`Pokračovat`,copyrightText:"© ${currentYear} ${companyName}",errorText:`Něco se pokazilo. Zkuste to prosím znovu.`,hidePasswordText:`Skrýt heslo`,loadingText:`Načítání...`,orText:`nebo`,privacyPolicyText:`Zásady ochrany osobních údajů`,showPasswordText:`Zobrazit heslo`,termsOfServiceText:`Podmínky služby`,termsShortText:`Podmínky`,tryAgainText:`Zkusit znovu`}},sf={consent:{buttonText:`Přijmout`,cancelButtonText:`Zamítnout`,description:"${clientName} žádá o přístup k vašemu účtu",pageTitle:"Autorizace | ${clientName}",scopesTitle:"Tímto povolíte ${clientName}:",title:"Autorizovat ${clientName}"}},cf={invitation:{acceptButtonText:`Přijmout pozvánku`,description:"${inviterName} vás pozval(a), abyste se připojili k ${organizationName} na ${clientName}",pageTitle:"Pozvánka | ${clientName}",title:`Byli jste pozváni`}},lf={login:{alertListTitle:`Upozornění`,buttonText:`Pokračovat`,description:"Přihlaste se k ${clientName}.",editEmailText:`Upravit`,emailPlaceholder:`E-mailová adresa`,enterACodeBtn:`Přihlásit se kódem`,federatedConnectionButtonText:"Pokračovat s ${connectionName}",footerLinkText:`Zaregistrujte se`,footerText:`Nemáte účet?`,forgotPasswordText:`Zapomněli jste heslo?`,hidePasswordText:`Skrýt heslo`,invalidEmail:`Neplatný e-mail`,invalidIdentifier:`Neplatný e-mail nebo uživatelské jméno`,invitationDescription:"Přihlaste se pro přijetí pozvánky od ${inviterName} k připojení k ${companyName} na ${clientName}.",invitationTitle:`Byli jste pozváni!`,logoAltText:"${companyName}","no-email":`Zadejte prosím e-mailovou adresu`,"no-password":`Heslo je povinné`,pageTitle:"Přihlášení | ${clientName}",passwordLoginNotAvailable:`Přihlášení heslem není k dispozici`,passwordPlaceholder:`Heslo`,phonePlaceholder:`Telefonní číslo`,separatorText:`nebo`,sessionExpired:`Platnost vaší relace vypršela. Zkuste to prosím znovu.`,showPasswordText:`Zobrazit heslo`,signupActionLinkText:"${footerLinkText}",signupActionText:"${footerText}",title:`Vítejte`,tooManyFailedLogins:`Příliš mnoho neúspěšných pokusů o přihlášení. Zkuste to prosím později.`,unverifiedEmail:`Před přihlášením prosím ověřte svou e-mailovou adresu`,userAccountDoesNotExist:`Uživatelský účet neexistuje`,usernamePlaceholder:`Uživatelské jméno nebo e-mailová adresa`,usernameTooLong:"Uživatelské jméno musí mít nejvýše ${max} znaků",usernameTooShort:"Uživatelské jméno musí mít alespoň ${min} znaků",wrongCredentials:`Nesprávné uživatelské jméno nebo heslo`,passkeyButtonText:`Přihlásit se pomocí passkey`}},uf={mfa:{backupCodeText:`Použít záložní kód`,description:`Zvolte metodu ověření`,pageTitle:"Vícefaktorové ověření | ${clientName}",title:`Ověřte svou identitu`}},df={"passkey-enrollment-nudge":{title:`Zabezpečte svůj účet pomocí passkey`,description:`Passkey používají biometrii nebo PIN vašeho zařízení k rychlejšímu a bezpečnějšímu přihlášení.`,enrollButtonText:`Nastavit passkey`,snoozeButtonText:`Možná později`,optOutLinkText:`Nezobrazovat znovu`,pageTitle:"Nastavení Passkey | ${clientName}"},"passkey-enrollment":{title:`Vytvořte svůj passkey`,description:`Postupujte podle pokynů prohlížeče a vytvořte passkey pro tento účet.`,errorMessage:`Vytvoření passkey se nezdařilo. Zkuste to prosím znovu.`,cancelLinkText:`Prozatím přeskočit`,retryButtonText:`Zkusit znovu`,enrollmentComplete:`Váš passkey byl úspěšně nastaven. Tuto stránku můžete zavřít.`,pageTitle:"Vytvoření Passkey | ${clientName}"},"passkey-challenge":{title:`Přihlásit se pomocí passkey`,description:`Postupujte podle pokynů prohlížeče k ověření vaší identity.`,errorMessage:`Ověření pomocí passkey selhalo. Zkuste to prosím znovu.`,cancelLinkText:`Zpět na přihlášení`,retryButtonText:`Zkusit znovu`,pageTitle:"Přihlášení pomocí passkey | ${clientName}"}},ff={organizations:{description:`Vyberte, ke které organizaci se chcete přihlásit`,pageTitle:"Výběr organizace | ${clientName}",searchPlaceholder:`Hledat organizace`,title:`Vyberte svou organizaci`}},pf={signup:{buttonText:`Pokračovat`,confirmPasswordPlaceholder:`Potvrzení hesla`,description:`Zaregistrujte se a pokračujte`,"email-already-exists":`Tento e-mail je již zaregistrován`,emailPlaceholder:`E-mailová adresa`,federatedConnectionButtonText:"Pokračovat s ${connectionName}",hidePasswordText:`Skrýt heslo`,"invalid-email-format":`Neplatný e-mail`,loginActionLinkText:`Přihlásit se`,loginActionText:`Už máte účet?`,"no-email":`Zadejte prosím e-mailovou adresu`,"no-password":`Heslo je povinné`,"no-username":`Uživatelské jméno je povinné`,pageTitle:"Registrace | ${clientName}",passwordPlaceholder:`Heslo`,passwordsDidntMatch:`Hesla se neshodují`,phonePlaceholder:`Telefonní číslo`,privacyPolicyLinkText:`Zásady ochrany osobních údajů`,separatorText:`nebo`,sessionExpired:`Platnost vaší relace vypršela. Zkuste to prosím znovu.`,showPasswordText:`Zobrazit heslo`,termsOfServiceLinkText:`Podmínky služby`,termsText:`Registrací souhlasíte s našimi`,title:`Vytvořte svůj účet`,"username-already-exists":`Toto uživatelské jméno je již obsazeno`,usernamePlaceholder:`Uživatelské jméno`,verifyEmailText:`Zkontrolujte prosím svůj e-mail pro ověření účtu`}},mf={status:{continueButtonText:`Pokračovat`,errorTitle:`Chyba`,pageTitle:"Stav | ${clientName}",successTitle:`Hotovo`,title:`Stav`}},bne={common:of,consent:sf,"device-flow":{"device-flow":{buttonText:`Pokračovat`,codePlaceholder:`Zadejte kód`,description:`Zadejte kód zobrazený na vašem zařízení`,"expired-code":`Platnost kódu vypršela`,"invalid-code":`Zadaný kód je neplatný`,pageTitle:"Aktivace zařízení | ${clientName}",title:`Aktivujte své zařízení`}},"email-otp-challenge":{"email-otp-challenge":{buttonText:`Přihlásit se`,codeLabel:`Ověřovací kód`,codePlaceholder:`Zadejte kód`,defaultDescription:`Zadejte ověřovací kód zaslaný na váš e-mail`,description:"Odeslali jsme kód na ${email}","invalid-code":`Neplatný kód`,noCode:`Zadejte prosím ověřovací kód`,pageTitle:"Zadejte kód | ${clientName}",resendText:`Opětovné odeslání kódu`,sessionExpired:`Platnost vaší relace vypršela. Zkuste to prosím znovu.`,title:`Zkontrolujte svůj e-mail`,unexpectedError:`Došlo k neočekávané chybě`}},"email-verification":{"email-verification":{description:"Odeslali jsme e-mail na ${email}",pageTitle:"Ověření e-mailu | ${clientName}",resendText:`Opětovné odeslání kódu`,successDescription:`Váš e-mail byl úspěšně ověřen.`,successTitle:`E-mail ověřen`,title:`Ověření e-mailu`}},invitation:cf,login:lf,"login-id":{"login-id":{alertListTitle:`Upozornění`,"auth0-users-validation":`Něco se pokazilo, zkuste to prosím později`,"authentication-failure":`Omlouváme se, při pokusu o přihlášení se něco pokazilo`,buttonText:`Pokračovat`,"captcha-client-failure":`Nepodařilo se načíst bezpečnostní výzvu. Zkuste to prosím znovu. (Kód chyby: #{errorCode})`,"captcha-validation-failure":`Omlouváme se, při ověřování captcha došlo k chybě. Zkuste to prosím znovu.`,captchaCodePlaceholder:`Zadejte kód zobrazený výše`,"custom-script-error-code":`Něco se pokazilo, zkuste to prosím později.`,description:"Přihlaste se k ${clientName}.",editEmailText:`Upravit`,emailPlaceholder:`E-mailová adresa`,federatedConnectionButtonText:"Pokračovat s ${connectionName}",footerLinkText:`Zaregistrujte se`,footerText:`Nemáte účet?`,forgotPasswordText:`Zapomněli jste heslo?`,hidePasswordText:`Skrýt heslo`,"invalid-captcha":`Vyřešte úlohu, abyste ověřili, že nejste robot.`,"invalid-code":`Neplatný kód`,"invalid-connection":`Neplatné připojení`,"invalid-email-format":`Neplatný e-mail`,"invalid-email-phone":`Zadejte platnou e-mailovou adresu nebo telefonní číslo. Telefonní čísla musí obsahovat předvolbu země.`,"invalid-email-phone-username":`Zadejte platnou e-mailovou adresu, telefonní číslo nebo uživatelské jméno. Telefonní čísla musí obsahovat předvolbu země.`,"invalid-email-username":`Zadejte platnou e-mailovou adresu nebo uživatelské jméno`,"invalid-expired-code":`Neplatný nebo vypršelý uživatelský kód`,"invalid-login-id":`Zadáno neplatné přihlašovací ID`,"invalid-phone-username":`Zadejte platné telefonní číslo nebo uživatelské jméno. Telefonní čísla musí obsahovat předvolbu země.`,"invalid-recaptcha":`Zaškrtněte políčko, abyste ověřili, že nejste robot.`,"invalid-username":"Uživatelské jméno může obsahovat pouze alfanumerické znaky nebo: '${characters}'. Uživatelské jméno musí mít ${min} až ${max} znaků.",invitationDescription:"Přihlaste se pro přijetí pozvánky od ${inviterName} k připojení k ${companyName} na ${clientName}.",invitationTitle:`Byli jste pozváni!`,"ip-blocked":`Zjistili jsme podezřelé přihlašovací chování a další pokusy budou blokovány. Kontaktujte prosím administrátora.`,logoAltText:"${companyName}","no-db-connection":`Neplatné připojení`,"no-email":`Zadejte prosím e-mailovou adresu`,"no-email-phone":`Je vyžadována e-mailová adresa nebo telefonní číslo`,"no-email-phone-username":`Je vyžadováno telefonní číslo, uživatelské jméno nebo e-mailová adresa`,"no-email-username":`Je vyžadována e-mailová adresa nebo uživatelské jméno`,"no-password":`Heslo je povinné`,"no-phone":`Zadejte prosím telefonní číslo`,"no-phone-username":`Je vyžadováno telefonní číslo nebo uživatelské jméno`,"no-username":`Uživatelské jméno je povinné`,pageTitle:"Přihlášení | ${clientName}","password-breached":`Zjistili jsme potenciální bezpečnostní problém s tímto účtem. Pro ochranu vašeho účtu jsme toto přihlášení zablokovali. Pro pokračování prosím resetujte své heslo.`,passwordPlaceholder:`Heslo`,phoneOrEmailPlaceholder:`E-mail nebo telefonní číslo`,phoneOrUsernameOrEmailPlaceholder:`Telefon, uživatelské jméno nebo e-mail`,phoneOrUsernamePlaceholder:`Telefonní číslo nebo uživatelské jméno`,phonePlaceholder:`Telefonní číslo`,"same-user-login":`Příliš mnoho pokusů o přihlášení pro tohoto uživatele. Počkejte prosím a zkuste to znovu později.`,selectCountryCode:"Vyberte předvolbu země, aktuálně nastaveno na ${countryName}, ${countryCode}, +${countryPrefix}",separatorText:`nebo`,sessionExpired:`Platnost vaší relace vypršela. Zkuste to prosím znovu.`,showPasswordText:`Zobrazit heslo`,signupActionLinkText:"${footerLinkText}",signupActionText:"${footerText}",termsAndConditionsTemplate:'Pokračováním souhlasíte s našimi <a href="${termsAndConditionsUrl}" target="_blank" rel="noopener noreferrer">Podmínkami a pravidly</a>.',title:`Vítejte`,"user-blocked":`Váš účet byl zablokován po několika po sobě jdoucích neúspěšných pokusech o přihlášení.`,userAccountDoesNotExist:`Uživatelský účet neexistuje`,usernameOnlyPlaceholder:`Uživatelské jméno`,usernameOrEmailPlaceholder:`Uživatelské jméno nebo e-mailová adresa`,usernamePlaceholder:`Uživatelské jméno nebo e-mailová adresa`,usernameTooLong:"Uživatelské jméno musí mít nejvýše ${max} znaků",usernameTooShort:"Uživatelské jméno musí mít alespoň ${min} znaků","wrong-credentials":`Nesprávné uživatelské jméno nebo heslo`,"wrong-email-credentials":`Nesprávný e-mail nebo heslo`,"wrong-email-phone-credentials":`Nesprávná e-mailová adresa, telefonní číslo nebo heslo. Telefonní čísla musí obsahovat předvolbu země.`,"wrong-email-phone-username-credentials":`Nesprávná e-mailová adresa, telefonní číslo, uživatelské jméno nebo heslo. Telefonní čísla musí obsahovat předvolbu země.`,"wrong-email-username-credentials":`Nesprávná e-mailová adresa, uživatelské jméno nebo heslo`,"wrong-phone-credentials":`Nesprávné telefonní číslo nebo heslo`,"wrong-phone-username-credentials":`Nesprávné telefonní číslo, uživatelské jméno nebo heslo. Telefonní čísla musí obsahovat předvolbu země.`,"wrong-username-credentials":`Nesprávné uživatelské jméno nebo heslo`,passkeyButtonText:`Přihlásit se pomocí passkey`}},"login-password":{"login-password":{buttonText:`Přihlásit se`,description:"Přihlaste se k ${clientName}",forgotPasswordText:`Zapomněli jste heslo?`,hidePasswordText:`Skrýt heslo`,"no-password":`Heslo je povinné`,pageTitle:"Přihlášení | ${clientName}","password-breached":`Zjistili jsme potenciální bezpečnostní problém s tímto účtem. Pro ochranu vašeho účtu jsme toto přihlášení zablokovali. Pro pokračování prosím resetujte své heslo.`,passwordPlaceholder:`Heslo`,showPasswordText:`Zobrazit heslo`,signingInAs:"Přihlášení jako ${email}",title:`Zadejte heslo`,unverifiedEmail:`Před přihlášením prosím ověřte svou e-mailovou adresu`,"user-blocked":`Váš účet byl zablokován po několika po sobě jdoucích neúspěšných pokusech o přihlášení.`,"wrong-credentials":`Nesprávné heslo`}},"login-passwordless":{"login-passwordless":{authMethodEmail:`e-mailová adresa`,authMethodEmailOrPhone:`e-mail nebo telefonní číslo`,authMethodPhone:`telefonní číslo`,description:"Přihlaste se pomocí ${authMethod}",emailOrPhonePlaceholder:`E-mailová adresa nebo telefonní číslo`,emailPlaceholder:`E-mailová adresa`,invalidEmail:`Zadejte prosím platnou e-mailovou adresu`,invalidIdentifier:`Zadejte prosím platnou e-mailovou adresu nebo telefonní číslo`,invalidPhone:`Zadejte prosím platné telefonní číslo s předvolbou země`,noEmail:`Zadejte prosím svou e-mailovou adresu`,noPhone:`Zadejte prosím své telefonní číslo`,phonePlaceholder:`Telefonní číslo`,sessionExpired:`Platnost vaší relace vypršela. Zkuste to prosím znovu.`,title:`Přihlásit se kódem`,userAccountDoesNotExist:`Uživatelský účet neexistuje`}},"magic-link-sent":{"magic-link-sent":{defaultDescription:`Klikněte na odkaz ve svém e-mailu pro přihlášení`,description:"Odeslali jsme odkaz na ${username}. Kliknutím na něj se přihlásíte.",resendText:`Odeslat odkaz znovu`,spamText:`Nedostali jste e-mail? Zkontrolujte složku nevyžádané pošty.`,title:`Zkontrolujte svůj e-mail`}},mfa:uf,"mfa-email":{"mfa-email":{buttonText:`Pokračovat`,codePlaceholder:`Zadejte kód`,description:"Odeslali jsme kód na ${email}","invalid-code":`Zadaný kód je neplatný`,pageTitle:"Ověření e-mailem | ${clientName}",resendText:`Opětovné odeslání kódu`,title:`Zkontrolujte svůj e-mail`}},"mfa-otp":{"mfa-otp":{buttonText:`Pokračovat`,codePlaceholder:`Zadejte kód`,description:`Zadejte šestimístný kód z vaší ověřovací aplikace`,"invalid-code":`Zadaný kód je neplatný`,pageTitle:"Zadejte kód | ${clientName}",title:`Zadejte svůj kód`},"mfa-totp-enrollment":{title:`Nastavit ověřovací aplikaci`,description:`Naskenujte QR kód níže pomocí ověřovací aplikace a poté zadejte šestimístný kód pro ověření`,secretLabel:`Nebo zadejte tento kód ručně:`,codePlaceholder:`Zadejte kód`,continueButtonText:`Ověřit a aktivovat`,"invalid-code":`Zadaný kód je neplatný. Zkuste to prosím znovu.`,"transaction-not-found":`Platnost vaší registrace vypršela, budete muset začít znovu.`,pageTitle:"Nastavení ověřovací aplikace | ${clientName}",unexpectedError:`Něco se pokazilo. Zkuste to prosím znovu.`,enrollmentComplete:`Registrace MFA je dokončena. Tuto stránku můžete zavřít.`},"mfa-totp-challenge":{title:`Ověřte svou identitu`,description:`Zadejte šestimístný kód z vaší ověřovací aplikace`,codePlaceholder:`Zadejte kód`,continueButtonText:`Pokračovat`,"invalid-code":`Zadaný kód je neplatný`,"transaction-not-found":`Platnost vaší registrace vypršela, budete muset začít znovu.`,unexpectedError:`Něco se pokazilo. Zkuste to prosím znovu.`,pageTitle:"Ověření identity | ${clientName}"}},"mfa-phone":{"mfa-phone-challenge":{pageTitle:"Použijte své telefonní číslo pro přihlášení | ${clientName}",title:`Ověřte svou identitu`,description:"Odeslali jsme kód na ${phoneNumber}",continueButtonText:`Pokračovat`,changePhoneText:`Zvolte jiné telefonní číslo.`,smsButtonText:`Textová zpráva`,voiceButtonText:`Hlasový hovor`,chooseMessageTypeText:`Jak chcete kód přijmout?`,pickAuthenticatorText:`Zkusit jinou metodu`,logoAltText:"${companyName}",codePlaceholder:`Zadejte kód`,"send-sms-failed":`Při odesílání SMS došlo k problému`,"send-voice-failed":`Při uskutečnění hlasového hovoru došlo k problému`,"invalid-phone-format":`Telefonní číslo může obsahovat pouze číslice.`,"invalid-phone":`Zdá se, že vaše telefonní číslo není platné. Zkontrolujte a zkuste to znovu.`,"too-many-sms":`Překročili jste maximální počet telefonních zpráv za hodinu. Počkejte pár minut a zkuste to znovu.`,"too-many-voice":`Překročili jste maximální počet hlasových hovorů za hodinu. Počkejte pár minut a zkuste to znovu.`,"transaction-not-found":`Vaše registrační transakce vypršela, budete muset začít znovu.`,"no-phone":`Zadejte telefonní číslo`,noCode:`Zadejte ověřovací kód`,invalidCode:`Zadaný kód je neplatný. Zkuste to znovu.`,unexpectedError:`Něco se pokazilo. Zkuste to znovu.`,resendSuccess:`Odeslali jsme nový kód na váš telefon`,enrollmentComplete:`Registrace MFA je dokončena. Tuto stránku můžete zavřít.`},"mfa-phone-enrollment":{pageTitle:"Zadejte své telefonní číslo pro přihlášení pomocí telefonního kódu | ${clientName}",title:`Zabezpečte svůj účet`,description:`Zadejte kód země a telefonní číslo, na které můžeme odeslat 6místný kód:`,continueButtonText:`Pokračovat`,smsButtonText:`Textová zpráva`,voiceButtonText:`Hlasový hovor`,chooseMessageTypeText:`Jak chcete kód přijmout?`,pickAuthenticatorText:`Zkusit jinou metodu`,placeholder:`Zadejte své telefonní číslo`,logoAltText:"${companyName}",selectCountryCode:"Vyberte kód země, aktuálně nastaveno na ${countryName}, ${countryCode}, +${countryPrefix}","send-sms-failed":`Při odesílání SMS došlo k problému`,"send-voice-failed":`Při uskutečnění hlasového hovoru došlo k problému`,"sms-authenticator-error":`Nepodařilo se odeslat SMS. Zkuste to prosím později.`,"invalid-phone-format":`Telefonní číslo může obsahovat pouze číslice.`,"invalid-phone":`Zdá se, že vaše telefonní číslo není platné. Zkontrolujte a zkuste to znovu.`,"too-many-sms":`Překročili jste maximální počet telefonních zpráv za hodinu. Počkejte pár minut a zkuste to znovu.`,"too-many-voice":`Překročili jste maximální počet hlasových hovorů za hodinu. Počkejte pár minut a zkuste to znovu.`,"transaction-not-found":`Vaše registrační transakce vypršela, budete muset začít znovu.`,"no-phone":`Zadejte telefonní číslo`,"phone-is-too-short":`Telefonní číslo je příliš krátké`,"phone-is-too-long":`Telefonní číslo je příliš dlouhé`}},"mfa-login-options":{"mfa-login-options":{pageTitle:"Vyberte metodu ověření | ${clientName}",title:`Vyberte způsob ověření`,description:`Zvolte, jak chcete ověřit svou identitu`,authenticatorAppLabel:`Autentizační aplikace`,authenticatorAppDescription:`Použijte autentizační aplikaci k získání ověřovacího kódu`,smsLabel:`Textová zpráva`,smsDescription:`Nechte si zaslat ověřovací kód na telefon`,passkeyLabel:`Passkey`,passkeyDescription:`Použijte biometrii zařízení nebo bezpečnostní klíč`}},"mfa-push":{"mfa-push":{description:`Odeslali jsme oznámení na vaše zařízení`,pageTitle:"Push oznámení | ${clientName}",resendText:`Odeslat oznámení znovu`,title:`Schvalte požadavek`,useCodeText:`Zadat kód ručně`}},"mfa-recovery-code":{"mfa-recovery-code":{buttonText:`Pokračovat`,codePlaceholder:`Záložní kód`,description:`Zadejte jeden z vašich záložních kódů`,"invalid-code":`Zadaný záložní kód je neplatný`,pageTitle:"Záložní kód | ${clientName}",title:`Zadejte záložní kód`}},"mfa-voice":{"mfa-voice":{buttonText:`Zavolat mi`,codePlaceholder:`Zadejte kód`,description:"Zavoláme na ${phoneNumber} s vaším kódem","invalid-code":`Zadaný kód je neplatný`,pageTitle:"Hlasový hovor | ${clientName}",title:`Přijmout telefonní hovor`}},"mfa-webauthn":{"mfa-webauthn":{buttonText:`Zkusit znovu`,description:`Vložte svůj bezpečnostní klíč a postupujte podle pokynů`,pageTitle:"Bezpečnostní klíč | ${clientName}",title:`Použijte svůj bezpečnostní klíč`}},passkeys:df,organizations:ff,"reset-password":{"reset-password":{backToLoginText:`Zpět na přihlášení`,buttonText:`Pokračovat`,codeExpired:`Platnost kódu pro obnovení hesla vypršela. Požádejte prosím o nový.`,confirmPasswordLabel:`Potvrzení hesla`,confirmPasswordPlaceholder:`Potvrzení hesla`,description:`Zadejte svůj e-mail pro obnovení hesla`,emailPlaceholder:`E-mailová adresa`,failed:`Obnovení hesla se nezdařilo. Zkuste to prosím znovu.`,"invalid-email-format":`Neplatný e-mail`,"no-email":`Zadejte prosím e-mailovou adresu`,pageTitle:"Obnovení hesla | ${clientName}",passwordLabel:`Nové heslo`,passwordPlaceholder:`Nové heslo`,passwordTooWeak:`Heslo je příliš slabé`,passwordsDidntMatch:`Hesla se neshodují`,successDescription:`Odkaz na obnovení hesla jsme odeslali na vaši e-mailovou adresu.`,successTitle:`Zkontrolujte svůj e-mail`,title:`Zapomněli jste heslo?`,"user-not-found":`Uživatel nenalezen`},"reset-password-code":{backToLoginText:`Zpět na přihlášení`,buttonText:`Obnovit heslo`,codeLabel:`Kód pro obnovení`,codePlaceholder:`Zadejte 6místný kód`,confirmPasswordLabel:`Potvrzení hesla`,confirmPasswordPlaceholder:`Potvrzení hesla`,defaultDescription:`Zadejte kód zaslaný na váš e-mail a zvolte nové heslo`,description:"Odeslali jsme kód na ${email}",failed:`Obnovení hesla se nezdařilo. Zkuste to prosím znovu.`,invalidCode:`Zadaný kód je neplatný nebo vypršel`,noCode:`Zadejte prosím kód pro obnovení`,pageTitle:"Zadejte kód pro obnovení | ${clientName}",passwordLabel:`Nové heslo`,passwordPlaceholder:`Nové heslo`,passwordTooWeak:`Heslo je příliš slabé`,passwordsDidntMatch:`Hesla se neshodují`,resendFailed:`Nepodařilo se znovu odeslat kód. Zkuste to prosím znovu.`,resendSuccess:`Nový kód byl odeslán na váš e-mail`,resendText:`Odeslat kód znovu`,sessionExpired:`Platnost vaší relace vypršela. Zkuste to prosím znovu.`,title:`Zadejte kód pro obnovení`}},signup:pf,"signup-id":{"signup-id":{buttonText:`Pokračovat`,description:`Zaregistrujte se a pokračujte`,"email-already-exists":`Tento e-mail je již zaregistrován`,emailPlaceholder:`E-mailová adresa`,federatedConnectionButtonText:"Pokračovat s ${connectionName}","invalid-email-format":`Neplatný e-mail`,loginActionLinkText:`Přihlásit se`,loginActionText:`Už máte účet?`,"no-email":`Zadejte prosím e-mailovou adresu`,pageTitle:"Registrace | ${clientName}",phonePlaceholder:`Telefonní číslo`,separatorText:`nebo`,title:`Vytvořte svůj účet`,usernamePlaceholder:`Uživatelské jméno`}},"signup-password":{"signup-password":{buttonText:`Pokračovat`,description:`Zaregistrujte se a pokračujte`,hidePasswordText:`Skrýt heslo`,"no-password":`Heslo je povinné`,pageTitle:"Registrace | ${clientName}","password-policy-not-met":`Heslo nesplňuje požadavky`,"password-too-weak":`Heslo je příliš slabé`,passwordPlaceholder:`Heslo`,showPasswordText:`Zobrazit heslo`,title:`Vytvořte své heslo`}},"sms-otp-challenge":{"sms-otp-challenge":{buttonText:`Pokračovat`,codeLabel:`Ověřovací kód`,codePlaceholder:`Zadejte kód`,defaultDescription:`Zadejte ověřovací kód zaslaný na váš telefon`,description:"Odeslali jsme kód na ${username}","invalid-code":`Neplatný kód`,noCode:`Zadejte prosím ověřovací kód`,pageTitle:"Zadejte kód | ${clientName}",resendText:`Opětovné odeslání kódu`,sessionExpired:`Platnost vaší relace vypršela. Zkuste to prosím znovu.`,title:`Zkontrolujte svůj telefon`,unexpectedError:`Došlo k neočekávané chybě`}},status:mf},xne=c({common:()=>hf,consent:()=>gf,default:()=>Sne,invitation:()=>_f,login:()=>vf,mfa:()=>yf,organizations:()=>xf,passkeys:()=>bf,signup:()=>Sf,status:()=>Cf}),hf={common:{alertListTitle:`Advarsler`,backText:`Gå tilbage`,cancelText:`Gå tilbage`,closeText:`Luk`,contactSupportText:`Har du brug for hjælp?`,continueText:`Fortsæt`,copyrightText:"© ${currentYear} ${companyName}",errorText:`Noget gik galt. Prøv venligst igen.`,hidePasswordText:`Skjul adgangskode`,loadingText:`Indlæser...`,orText:`eller`,privacyPolicyText:`Privatlivspolitik`,showPasswordText:`Vis adgangskode`,termsOfServiceText:`Servicevilkår`,termsShortText:`Vilkår`,tryAgainText:`Prøv igen`}},gf={consent:{buttonText:`Acceptér`,cancelButtonText:`Afvis`,description:"${clientName} anmoder om adgang til din konto",pageTitle:"Godkend | ${clientName}",scopesTitle:"Dette vil give ${clientName} tilladelse til at:",title:"Godkend ${clientName}"}},_f={invitation:{acceptButtonText:`Acceptér invitation`,description:"${inviterName} har inviteret dig til at deltage i ${organizationName} på ${clientName}",pageTitle:"Invitation | ${clientName}",title:`Du er blevet inviteret`}},vf={login:{alertListTitle:`Advarsler`,buttonText:`Fortsæt`,description:"Log ind på ${clientName}.",editEmailText:`Rediger`,emailPlaceholder:`E-mail-adresse`,enterACodeBtn:`Log ind med en kode`,federatedConnectionButtonText:"Fortsæt med ${connectionName}",footerLinkText:`Tilmeld dig`,footerText:`Har du ikke en konto?`,forgotPasswordText:`Har du glemt din adgangskode?`,hidePasswordText:`Skjul adgangskode`,invalidEmail:`Ugyldig e-mail`,invalidIdentifier:`Ugyldig e-mail eller brugernavn`,invitationDescription:"Log ind for at acceptere ${inviterName}s invitation til at deltage i ${companyName} på ${clientName}.",invitationTitle:`Du er blevet inviteret!`,logoAltText:"${companyName}","no-email":`Indtast venligst en e-mailadresse`,"no-password":`Adgangskode er påkrævet`,pageTitle:"Log ind | ${clientName}",passwordLoginNotAvailable:`Adgangskodegodkendelse er ikke tilgængelig`,passwordPlaceholder:`Adgangskode`,phonePlaceholder:`Telefonnummer`,separatorText:`eller`,sessionExpired:`Din session er udløbet. Prøv venligst igen.`,showPasswordText:`Vis adgangskode`,signupActionLinkText:`Tilmeld dig`,signupActionText:`Har du ikke en konto?`,title:`Velkommen`,tooManyFailedLogins:`For mange mislykkede loginforsøg. Prøv venligst igen senere.`,unverifiedEmail:`Bekræft venligst din e-mailadresse, før du logger ind`,userAccountDoesNotExist:`Brugerkontoen findes ikke`,usernamePlaceholder:`Brugernavn eller e-mailadresse`,usernameTooLong:"Brugernavnet må højst være ${max} tegn",usernameTooShort:"Brugernavnet skal være mindst ${min} tegn",wrongCredentials:`Forkert brugernavn eller adgangskode`,passkeyButtonText:`Log ind med passkey`}},yf={mfa:{backupCodeText:`Brug backupkode`,description:`Vælg en bekræftelsesmetode`,pageTitle:"Multifaktorgodkendelse | ${clientName}",title:`Bekræft din identitet`}},bf={"passkey-enrollment-nudge":{title:`Sikr din konto med en adgangsnøgle`,description:`Adgangsnøgler bruger din enheds biometri eller PIN til at logge dig ind hurtigere og mere sikkert.`,enrollButtonText:`Konfigurer adgangsnøgle`,snoozeButtonText:`Måske senere`,optOutLinkText:`Vis ikke dette igen`,pageTitle:"Konfigurer Adgangsnøgle | ${clientName}"},"passkey-enrollment":{title:`Opret din adgangsnøgle`,description:`Følg anvisningerne fra din browser for at oprette en adgangsnøgle til denne konto.`,errorMessage:`Oprettelse af adgangsnøgle mislykkedes. Prøv venligst igen.`,cancelLinkText:`Spring over for nu`,retryButtonText:`Prøv igen`,enrollmentComplete:`Din adgangsnøgle er konfigureret. Du kan lukke denne side.`,pageTitle:"Opret Adgangsnøgle | ${clientName}"},"passkey-challenge":{title:`Log ind med passkey`,description:`Følg anvisningerne fra din browser for at bekræfte din identitet.`,errorMessage:`Godkendelse med passkey mislykkedes. Prøv venligst igen.`,cancelLinkText:`Tilbage til login`,retryButtonText:`Prøv igen`,pageTitle:"Log ind med passkey | ${clientName}"}},xf={organizations:{description:`Vælg hvilken organisation du vil logge ind på`,pageTitle:"Vælg organisation | ${clientName}",searchPlaceholder:`Søg organisationer`,title:`Vælg din organisation`}},Sf={signup:{buttonText:`Tilmelding`,confirmPasswordPlaceholder:`Bekræft adgangskode`,description:`Vælg en adgangskode med en blanding af store og små bogstaver, tal og symboler.`,"email-already-exists":`E-mailen er allerede optaget`,emailPlaceholder:`E-mail-adresse`,federatedConnectionButtonText:"Fortsæt med ${connectionName}",hidePasswordText:`Skjul adgangskode`,"invalid-email-format":`Ugyldig e-mail`,loginActionLinkText:`Log ind`,loginActionText:`Har du allerede en konto?`,"no-email":`Indtast venligst en e-mailadresse`,"no-password":`Adgangskode er påkrævet`,"no-username":`Brugernavn er påkrævet`,pageTitle:"Tilmeld dig | ${clientName}",passwordPlaceholder:`Adgangskode`,passwordsDidntMatch:`Adgangskoderne matcher ikke`,phonePlaceholder:`Telefonnummer`,privacyPolicyLinkText:`Privatlivspolitik`,separatorText:`eller`,sessionExpired:`Din session er udløbet. Prøv venligst igen.`,showPasswordText:`Vis adgangskode`,termsOfServiceLinkText:`Servicevilkår`,termsText:`Ved at tilmelde dig accepterer du vores`,title:`Vælg adgangskode`,"username-already-exists":`Dette brugernavn er allerede taget`,usernamePlaceholder:`Brugernavn`,verifyEmailText:`Tjek venligst din e-mail for at bekræfte din konto`}},Cf={status:{continueButtonText:`Fortsæt`,errorTitle:`Fejl`,pageTitle:"Status | ${clientName}",successTitle:`Succes`,title:`Status`}},Sne={common:hf,consent:gf,"device-flow":{"device-flow":{buttonText:`Fortsæt`,codePlaceholder:`Indtast kode`,description:`Indtast koden, der vises på din enhed`,"expired-code":`Koden er udløbet`,"invalid-code":`Den indtastede kode er ugyldig`,pageTitle:"Enhedsaktivering | ${clientName}",title:`Aktivér din enhed`}},"email-otp-challenge":{"email-otp-challenge":{buttonText:`Log ind`,codeLabel:`Bekræftelseskode`,codePlaceholder:`Indtast kode`,defaultDescription:`Indtast bekræftelseskoden, der blev sendt til din e-mail`,description:"Vi sendte en kode til ${email}","invalid-code":`Ugyldig kode`,noCode:`Indtast venligst bekræftelseskoden`,pageTitle:"Indtast kode | ${clientName}",resendText:`Send koden igen`,sessionExpired:`Din session er udløbet. Prøv venligst igen.`,title:`Tjek din e-mail`,unexpectedError:`Der opstod en uventet fejl`}},"email-verification":{"email-verification":{description:"Vi sendte en e-mail til ${email}",pageTitle:"Bekræft e-mail | ${clientName}",resendText:`Send koden igen`,successDescription:`Din e-mail er blevet bekræftet.`,successTitle:`E-mail bekræftet`,title:`Bekræft din e-mail`}},invitation:_f,login:vf,"login-id":{"login-id":{alertListTitle:`Advarsler`,"auth0-users-validation":`Noget gik galt, prøv venligst igen senere`,"authentication-failure":`Vi beklager, noget gik galt under loginforsøget`,buttonText:`Fortsæt`,"captcha-client-failure":`Vi kunne ikke indlæse sikkerhedsudfordringen. Prøv venligst igen. (Fejlkode: #{errorCode})`,"captcha-validation-failure":`Vi beklager, noget gik galt under validering af captcha-svaret. Prøv venligst igen.`,captchaCodePlaceholder:`Indtast koden vist ovenfor`,"custom-script-error-code":`Noget gik galt, prøv venligst igen senere.`,description:"Log ind på ${clientName}.",editEmailText:`Rediger`,emailPlaceholder:`E-mail-adresse`,federatedConnectionButtonText:"Fortsæt med ${connectionName}",footerLinkText:`Tilmeld dig`,footerText:`Har du ikke en konto?`,forgotPasswordText:`Har du glemt din adgangskode?`,hidePasswordText:`Skjul adgangskode`,"invalid-captcha":`Løs sikkerhedsspørgsmålet for at bekræfte, at du ikke er en robot.`,"invalid-code":`Ugyldig kode`,"invalid-connection":`Ugyldig forbindelse`,"invalid-email-format":`Ugyldig e-mail`,"invalid-email-phone":`Indtast en gyldig e-mailadresse eller telefonnummer. Telefonnumre skal inkludere landekoden.`,"invalid-email-phone-username":`Indtast en gyldig e-mailadresse, telefonnummer eller brugernavn. Telefonnumre skal inkludere landekoden.`,"invalid-email-username":`Indtast en gyldig e-mailadresse eller brugernavn`,"invalid-expired-code":`Ugyldig eller udløbet brugerkode`,"invalid-login-id":`Ugyldigt login-ID indtastet`,"invalid-phone-username":`Indtast et gyldigt telefonnummer eller brugernavn. Telefonnumre skal inkludere landekoden.`,"invalid-recaptcha":`Markér afkrydsningsfeltet for at bekræfte, at du ikke er en robot.`,"invalid-username":"Brugernavnet kan kun indeholde alfanumeriske tegn eller: '${characters}'. Brugernavnet skal være mellem ${min} og ${max} tegn.",invitationDescription:"Log ind for at acceptere ${inviterName}s invitation til at deltage i ${companyName} på ${clientName}.",invitationTitle:`Du er blevet inviteret!`,"ip-blocked":`Vi har registreret mistænkelig loginadfærd, og yderligere forsøg vil blive blokeret. Kontakt venligst administratoren.`,logoAltText:"${companyName}","no-db-connection":`Ugyldig forbindelse`,"no-email":`Indtast venligst en e-mailadresse`,"no-email-phone":`E-mailadresse eller telefonnummer er påkrævet`,"no-email-phone-username":`Telefonnummer, brugernavn eller e-mailadresse er påkrævet`,"no-email-username":`E-mailadresse eller brugernavn er påkrævet`,"no-password":`Adgangskode er påkrævet`,"no-phone":`Indtast venligst et telefonnummer`,"no-phone-username":`Telefonnummer eller brugernavn er påkrævet`,"no-username":`Brugernavn er påkrævet`,pageTitle:"Log ind | ${clientName}","password-breached":`Vi har registreret et potentielt sikkerhedsproblem med denne konto. For at beskytte din konto har vi forhindret dette login. Nulstil venligst din adgangskode for at fortsætte.`,passwordPlaceholder:`Adgangskode`,phoneOrEmailPlaceholder:`E-mail eller telefonnummer`,phoneOrUsernameOrEmailPlaceholder:`Telefon, brugernavn eller e-mail`,phoneOrUsernamePlaceholder:`Telefonnummer eller brugernavn`,phonePlaceholder:`Telefonnummer`,"same-user-login":`For mange loginforsøg for denne bruger. Vent venligst, og prøv igen senere.`,selectCountryCode:"Vælg landekode, i øjeblikket sat til ${countryName}, ${countryCode}, +${countryPrefix}",separatorText:`eller`,sessionExpired:`Din session er udløbet. Prøv venligst igen.`,showPasswordText:`Vis adgangskode`,signupActionLinkText:`Tilmeld dig`,signupActionText:`Har du ikke en konto?`,termsAndConditionsTemplate:'Ved at fortsætte accepterer du vores <a href="${termsAndConditionsUrl}" target="_blank" rel="noopener noreferrer">Vilkår og betingelser</a>.',title:`Velkommen`,"user-blocked":`Din konto er blevet blokeret efter flere på hinanden følgende loginforsøg.`,userAccountDoesNotExist:`Brugerkontoen findes ikke`,usernameOnlyPlaceholder:`Brugernavn`,usernameOrEmailPlaceholder:`Brugernavn eller e-mailadresse`,usernamePlaceholder:`Brugernavn`,usernameTooLong:"Brugernavnet må højst være ${max} tegn",usernameTooShort:"Brugernavnet skal være mindst ${min} tegn","wrong-credentials":`Forkert brugernavn eller adgangskode`,"wrong-email-credentials":`Forkert e-mail eller adgangskode`,"wrong-email-phone-credentials":`Forkert e-mailadresse, telefonnummer eller adgangskode. Telefonnumre skal inkludere landekoden.`,"wrong-email-phone-username-credentials":`Forkert e-mailadresse, telefonnummer, brugernavn eller adgangskode. Telefonnumre skal inkludere landekoden.`,"wrong-email-username-credentials":`Forkert e-mailadresse, brugernavn eller adgangskode`,"wrong-phone-credentials":`Forkert telefonnummer eller adgangskode`,"wrong-phone-username-credentials":`Forkert telefonnummer, brugernavn eller adgangskode. Telefonnumre skal inkludere landekoden.`,"wrong-username-credentials":`Forkert brugernavn eller adgangskode`,passkeyButtonText:`Log ind med passkey`}},"login-password":{"login-password":{buttonText:`Log ind`,description:`Indtast din e-mailadresse og adgangskode for at logge ind.`,forgotPasswordText:`Har du glemt din adgangskode?`,hidePasswordText:`Skjul adgangskode`,"no-password":`Adgangskode er påkrævet`,pageTitle:"Log ind | ${clientName}","password-breached":`Vi har registreret et potentielt sikkerhedsproblem med denne konto. For at beskytte din konto har vi forhindret dette login. Nulstil venligst din adgangskode for at fortsætte.`,passwordPlaceholder:`Adgangskode`,showPasswordText:`Vis adgangskode`,signingInAs:"Logger ind som ${email}",title:`Indtast adgangskode`,unverifiedEmail:`Bekræft venligst din e-mailadresse, før du logger ind`,"user-blocked":`Din konto er blevet blokeret efter flere på hinanden følgende loginforsøg.`,"wrong-credentials":`Forkert adgangskode`}},"login-passwordless":{"login-passwordless":{authMethodEmail:`e-mail`,authMethodEmailOrPhone:`e-mail eller telefonnummer`,authMethodPhone:`telefonnummer`,description:"Log ind med din ${authMethod}",emailOrPhonePlaceholder:`E-mailadresse eller telefonnummer`,emailPlaceholder:`E-mail-adresse`,invalidEmail:`Indtast venligst en gyldig e-mailadresse`,invalidIdentifier:`Indtast venligst en gyldig e-mailadresse eller telefonnummer`,invalidPhone:`Indtast venligst et gyldigt telefonnummer med landekode`,noEmail:`Indtast venligst din e-mailadresse`,noPhone:`Indtast venligst dit telefonnummer`,phonePlaceholder:`Telefonnummer`,sessionExpired:`Din session er udløbet. Prøv venligst igen.`,title:`Log ind med en kode`,userAccountDoesNotExist:`Brugerkontoen findes ikke`}},"magic-link-sent":{"magic-link-sent":{defaultDescription:`Klik på linket i din e-mail for at logge ind`,description:"Vi sendte et link til ${username}. Klik på det for at logge ind.",resendText:`Send link igen`,spamText:`Har du ikke modtaget e-mailen? Tjek din spam-mappe.`,title:`Tjek din e-mail`}},mfa:yf,"mfa-email":{"mfa-email":{buttonText:`Fortsæt`,codePlaceholder:`Indtast kode`,description:"Vi sendte en kode til ${email}","invalid-code":`Den indtastede kode er ugyldig`,pageTitle:"E-mailbekræftelse | ${clientName}",resendText:`Send kode igen`,title:`Tjek din e-mail`}},"mfa-otp":{"mfa-otp":{buttonText:`Fortsæt`,codePlaceholder:`Indtast kode`,description:`Indtast den 6-cifrede kode fra din autentificeringsapp`,"invalid-code":`Den indtastede kode er ugyldig`,pageTitle:"Indtast kode | ${clientName}",title:`Indtast din kode`},"mfa-totp-enrollment":{title:`Opsæt autentificeringsapp`,description:`Scan QR-koden nedenfor med din autentificeringsapp, og indtast derefter den 6-cifrede kode for at bekræfte`,secretLabel:`Eller indtast denne kode manuelt:`,codePlaceholder:`Indtast kode`,continueButtonText:`Bekræft og aktiver`,"invalid-code":`Den indtastede kode er ugyldig. Prøv venligst igen.`,"transaction-not-found":`Din tilmeldingssession er udløbet. Du skal starte forfra.`,pageTitle:"Opsæt autentificeringsapp | ${clientName}",unexpectedError:`Noget gik galt. Prøv venligst igen.`,enrollmentComplete:`MFA-tilmeldingen er fuldført. Du kan lukke denne side.`},"mfa-totp-challenge":{title:`Bekræft din identitet`,description:`Indtast den 6-cifrede kode fra din autentificeringsapp`,codePlaceholder:`Indtast kode`,continueButtonText:`Fortsæt`,"invalid-code":`Den indtastede kode er ugyldig`,"transaction-not-found":`Din session er udløbet. Du skal starte forfra.`,unexpectedError:`Noget gik galt. Prøv venligst igen.`,pageTitle:"Bekræft identitet | ${clientName}"}},"mfa-phone":{"mfa-phone-challenge":{pageTitle:"Brug dit telefonnummer til at logge ind | ${clientName}",title:`Bekræft din identitet`,description:"Vi sendte en kode til ${phoneNumber}",continueButtonText:`Fortsæt`,changePhoneText:`Vælg et andet telefonnummer.`,smsButtonText:`SMS`,voiceButtonText:`Taleopkald`,chooseMessageTypeText:`Hvordan vil du modtage koden?`,pickAuthenticatorText:`Prøv en anden metode`,logoAltText:"${companyName}",codePlaceholder:`Indtast kode`,"send-sms-failed":`Der opstod et problem med at sende SMS'en`,"send-voice-failed":`Der opstod et problem med at foretage taleopkaldet`,"invalid-phone-format":`Telefonnummeret kan kun indeholde cifre.`,"invalid-phone":`Det ser ud til, at dit telefonnummer ikke er gyldigt. Kontrollér og prøv igen.`,"too-many-sms":`Du har overskredet det maksimale antal telefonbeskeder pr. time. Vent et par minutter og prøv igen.`,"too-many-voice":`Du har overskredet det maksimale antal telefonopkald pr. time. Vent et par minutter og prøv igen.`,"transaction-not-found":`Din registreringstransaktion er udløbet, du skal starte forfra.`,"no-phone":`Indtast et telefonnummer`,noCode:`Indtast bekræftelseskoden`,invalidCode:`Den indtastede kode er ugyldig. Prøv igen.`,unexpectedError:`Noget gik galt. Prøv igen.`,resendSuccess:`Vi sendte en ny kode til din telefon`,enrollmentComplete:`MFA-tilmeldingen er fuldført. Du kan lukke denne side.`},"mfa-phone-enrollment":{pageTitle:"Indtast dit telefonnummer for at logge ind med en telefonkode | ${clientName}",title:`Sikre din konto`,description:`Indtast din landekode og telefonnummer, som vi kan sende en 6-cifret kode til:`,continueButtonText:`Fortsæt`,smsButtonText:`SMS`,voiceButtonText:`Taleopkald`,chooseMessageTypeText:`Hvordan vil du modtage koden?`,pickAuthenticatorText:`Prøv en anden metode`,placeholder:`Indtast dit telefonnummer`,logoAltText:"${companyName}",selectCountryCode:"Vælg landekode, i øjeblikket sat til ${countryName}, ${countryCode}, +${countryPrefix}","send-sms-failed":`Der opstod et problem med at sende SMS'en`,"send-voice-failed":`Der opstod et problem med at foretage taleopkaldet`,"sms-authenticator-error":`Vi kunne ikke sende SMS'en. Prøv igen senere.`,"invalid-phone-format":`Telefonnummeret kan kun indeholde cifre.`,"invalid-phone":`Det ser ud til, at dit telefonnummer ikke er gyldigt. Kontrollér og prøv igen.`,"too-many-sms":`Du har overskredet det maksimale antal telefonbeskeder pr. time. Vent et par minutter og prøv igen.`,"too-many-voice":`Du har overskredet det maksimale antal telefonopkald pr. time. Vent et par minutter og prøv igen.`,"transaction-not-found":`Din registreringstransaktion er udløbet, du skal starte forfra.`,"no-phone":`Indtast et telefonnummer`,"phone-is-too-short":`Telefonnummeret er for kort`,"phone-is-too-long":`Telefonnummeret er for langt`}},"mfa-login-options":{"mfa-login-options":{pageTitle:"Vælg bekræftelsesmetode | ${clientName}",title:`Vælg din bekræftelsesmetode`,description:`Vælg hvordan du vil bekræfte din identitet`,authenticatorAppLabel:`Godkendelsesapp`,authenticatorAppDescription:`Brug din godkendelsesapp til at få en bekræftelseskode`,smsLabel:`Sms-besked`,smsDescription:`Få en bekræftelseskode sendt til din telefon`,passkeyLabel:`Adgangsnøgle`,passkeyDescription:`Brug din enheds biometri eller sikkerhedsnøgle`}},"mfa-push":{"mfa-push":{description:`Vi sendte en notifikation til din enhed`,pageTitle:"Push-notifikation | ${clientName}",resendText:`Send notifikation igen`,title:`Godkend anmodningen`,useCodeText:`Indtast kode manuelt`}},"mfa-recovery-code":{"mfa-recovery-code":{buttonText:`Fortsæt`,codePlaceholder:`Gendannelseskode`,description:`Indtast en af dine gendannelseskoder`,"invalid-code":`Den indtastede gendannelseskode er ugyldig`,pageTitle:"Gendannelseskode | ${clientName}",title:`Indtast gendannelseskode`}},"mfa-voice":{"mfa-voice":{buttonText:`Ring til mig`,codePlaceholder:`Indtast kode`,description:"Vi ringer til ${phoneNumber} med din kode","invalid-code":`Den indtastede kode er ugyldig`,pageTitle:"Taleopkald | ${clientName}",title:`Modtag et telefonopkald`}},"mfa-webauthn":{"mfa-webauthn":{buttonText:`Prøv igen`,description:`Indsæt din sikkerhedsnøgle og følg instruktionerne`,pageTitle:"Sikkerhedsnøgle | ${clientName}",title:`Brug din sikkerhedsnøgle`}},passkeys:bf,organizations:xf,"reset-password":{"reset-password":{backToLoginText:`Gå tilbage`,buttonText:`Send e-mail til nulstilling af adgangskode`,codeExpired:`Din kode til nulstilling af adgangskode er udløbet. Anmod venligst om en ny.`,confirmPasswordLabel:`Bekræft adgangskode`,confirmPasswordPlaceholder:`Bekræft adgangskode`,description:`Klik på knappen nedenfor, så sender vi instruktioner om, hvordan du nulstiller din adgangskode.`,emailPlaceholder:`E-mail-adresse`,failed:`Nulstilling af adgangskode mislykkedes. Prøv venligst igen.`,"invalid-email-format":`Ugyldig e-mail`,"no-email":`Indtast venligst en e-mailadresse`,pageTitle:"Nulstil adgangskode | ${clientName}",passwordLabel:`Ny adgangskode`,passwordPlaceholder:`Ny adgangskode`,passwordTooWeak:`Adgangskoden er for svag`,passwordsDidntMatch:`Adgangskoderne matcher ikke`,successDescription:`Vi har sendt et link til nulstilling af adgangskode til din e-mailadresse.`,successTitle:`E-mail til nulstilling af adgangskode sendt`,title:`Har du glemt din adgangskode?`,"user-not-found":`Bruger ikke fundet`},"reset-password-code":{backToLoginText:`Tilbage til login`,buttonText:`Nulstil adgangskode`,codeLabel:`Nulstillingskode`,codePlaceholder:`Indtast 6-cifret kode`,confirmPasswordLabel:`Bekræft adgangskode`,confirmPasswordPlaceholder:`Bekræft adgangskode`,defaultDescription:`Indtast koden sendt til din e-mail og vælg en ny adgangskode`,description:"Vi sendte en kode til ${email}",failed:`Nulstilling af adgangskode mislykkedes. Prøv venligst igen.`,invalidCode:`Den indtastede kode er ugyldig eller udløbet`,noCode:`Indtast venligst nulstillingskoden`,pageTitle:"Indtast nulstillingskode | ${clientName}",passwordLabel:`Ny adgangskode`,passwordPlaceholder:`Ny adgangskode`,passwordTooWeak:`Adgangskoden er for svag`,passwordsDidntMatch:`Adgangskoderne matcher ikke`,resendFailed:`Kunne ikke sende koden igen. Prøv igen.`,resendSuccess:`En ny kode er blevet sendt til din e-mail`,resendText:`Send kode igen`,sessionExpired:`Din session er udløbet. Prøv venligst igen.`,title:`Indtast nulstillingskode`}},signup:Sf,"signup-id":{"signup-id":{buttonText:`Fortsæt`,description:`Vælg en adgangskode med en blanding af store og små bogstaver, tal og symboler.`,"email-already-exists":`E-mailen er allerede optaget`,emailPlaceholder:`E-mail-adresse`,federatedConnectionButtonText:"Fortsæt med ${connectionName}","invalid-email-format":`Ugyldig e-mail`,loginActionLinkText:`Log ind`,loginActionText:`Har du allerede en konto?`,"no-email":`Indtast venligst en e-mailadresse`,pageTitle:"Tilmeld dig | ${clientName}",phonePlaceholder:`Telefonnummer`,separatorText:`eller`,title:`Vælg adgangskode`,usernamePlaceholder:`Brugernavn`}},"signup-password":{"signup-password":{buttonText:`Fortsæt`,description:`Vælg en adgangskode med en blanding af store og små bogstaver, tal og symboler.`,hidePasswordText:`Skjul adgangskode`,"no-password":`Adgangskode er påkrævet`,pageTitle:"Tilmeld dig | ${clientName}","password-policy-not-met":`Adgangskoden opfylder ikke kravene`,"password-too-weak":`Adgangskoden er for svag`,passwordPlaceholder:`Adgangskode`,showPasswordText:`Vis adgangskode`,title:`Vælg adgangskode`}},"sms-otp-challenge":{"sms-otp-challenge":{buttonText:`Log ind`,codeLabel:`Bekræftelseskode`,codePlaceholder:`Indtast kode`,defaultDescription:`Indtast bekræftelseskoden, der blev sendt til din telefon`,description:"Vi sendte en kode til ${username}","invalid-code":`Ugyldig kode`,noCode:`Indtast venligst bekræftelseskoden`,pageTitle:"Indtast kode | ${clientName}",resendText:`Send koden igen`,sessionExpired:`Din session er udløbet. Prøv venligst igen.`,title:`Tjek din telefon`,unexpectedError:`Der opstod en uventet fejl`}},status:Cf},Cne=c({common:()=>wf,consent:()=>Tf,default:()=>wne,invitation:()=>Ef,login:()=>Df,mfa:()=>Of,organizations:()=>Af,passkeys:()=>kf,signup:()=>jf,status:()=>Mf}),wf={common:{alertListTitle:`Alerts`,backText:`Back`,cancelText:`Cancel`,closeText:`Close`,contactSupportText:`Contact Support`,continueText:`Continue`,copyrightText:"© ${currentYear} ${companyName}",errorText:`An error occurred`,hidePasswordText:`Hide password`,loadingText:`Loading...`,orText:`or`,privacyPolicyText:`Privacy Policy`,showPasswordText:`Show password`,termsOfServiceText:`Terms of Service`,termsShortText:`Terms`,tryAgainText:`Try again`}},Tf={consent:{buttonText:`Accept`,cancelButtonText:`Deny`,description:"${clientName} is requesting access to your account",pageTitle:"Authorize | ${clientName}",scopesTitle:"This will allow ${clientName} to:",title:"Authorize ${clientName}"}},Ef={invitation:{acceptButtonText:`Accept invitation`,description:"${inviterName} has invited you to join ${organizationName} on ${clientName}",pageTitle:"Invitation | ${clientName}",title:`You've been invited`}},Df={login:{alertListTitle:`Alerts`,buttonText:`Continue`,description:"Log in to ${clientName}.",editEmailText:`Edit`,emailPlaceholder:`Email address`,enterACodeBtn:`Sign in with a code`,federatedConnectionButtonText:"Continue with ${connectionName}",footerLinkText:`Sign up`,footerText:`Don't have an account?`,forgotPasswordText:`Forgot password?`,hidePasswordText:`Hide password`,invalidEmail:`Invalid email`,invalidIdentifier:`Invalid email or username`,invitationDescription:"Log in to accept ${inviterName}'s invitation to join ${companyName} on ${clientName}.",invitationTitle:`You've Been Invited!`,logoAltText:"${companyName}","no-email":`Please enter an email address`,"no-password":`Password is required`,pageTitle:"Log in | ${clientName}",passwordLoginNotAvailable:`Password authentication is not available`,passwordPlaceholder:`Password`,phonePlaceholder:`Phone number`,separatorText:`Or`,sessionExpired:`Your session has expired. Please try again.`,showPasswordText:`Show password`,signupActionLinkText:`Sign up`,signupActionText:`Don't have an account?`,title:`Welcome`,tooManyFailedLogins:`Too many failed login attempts. Please try again later.`,unverifiedEmail:`Please verify your email address before logging in`,userAccountDoesNotExist:`User account does not exist`,usernamePlaceholder:`Username or email address`,usernameTooLong:"Username must be ${max} characters or less",usernameTooShort:"Username must be at least ${min} characters",passkeyButtonText:`Sign in with a passkey`,wrongCredentials:`Wrong username or password`}},Of={mfa:{backupCodeText:`Use backup code`,description:`Choose a verification method`,pageTitle:"Multi-Factor Authentication | ${clientName}",title:`Verify your identity`}},kf={"passkey-enrollment-nudge":{title:`Secure your account with a passkey`,description:`Passkeys use your device's biometrics or PIN to sign you in faster and more securely.`,enrollButtonText:`Set up passkey`,snoozeButtonText:`Maybe later`,optOutLinkText:`Don't show this again`,pageTitle:"Set Up Passkey | ${clientName}"},"passkey-enrollment":{title:`Create your passkey`,description:`Follow the prompts from your browser to create a passkey for this account.`,errorMessage:`Failed to create passkey. Please try again.`,cancelLinkText:`Skip for now`,retryButtonText:`Try again`,enrollmentComplete:`Your passkey has been set up successfully. You can close this page.`,pageTitle:"Create Passkey | ${clientName}"},"passkey-challenge":{title:`Sign in with a passkey`,description:`Follow the prompts from your browser to verify your identity.`,errorMessage:`Passkey authentication failed. Please try again.`,cancelLinkText:`Back to login`,retryButtonText:`Try again`,pageTitle:"Sign In with Passkey | ${clientName}"}},Af={organizations:{description:`Choose which organization to log in to`,pageTitle:"Select Organization | ${clientName}",searchPlaceholder:`Search organizations`,title:`Select your organization`}},jf={signup:{buttonText:`Continue`,confirmPasswordPlaceholder:`Confirm password`,description:`Sign up to continue`,"email-already-exists":`This email is already registered`,emailPlaceholder:`Email address`,federatedConnectionButtonText:"Continue with ${connectionName}",hidePasswordText:`Hide password`,"invalid-email-format":`Email is not valid.`,loginActionLinkText:`Log in`,loginActionText:`Already have an account?`,"no-email":`Please enter an email address`,"no-password":`Password is required`,"no-username":`Username is required`,pageTitle:"Sign up | ${clientName}",passwordPlaceholder:`Password`,passwordsDidntMatch:`Passwords don't match`,phonePlaceholder:`Phone number`,privacyPolicyLinkText:`Privacy Policy`,separatorText:`Or`,sessionExpired:`Your session has expired. Please try again.`,showPasswordText:`Show password`,termsOfServiceLinkText:`Terms of Service`,termsText:`By signing up, you agree to our`,title:`Create your account`,"username-already-exists":`This username is already taken`,usernamePlaceholder:`Username`,verifyEmailText:`Please check your email to verify your account`}},Mf={status:{continueButtonText:`Continue`,errorTitle:`Error`,pageTitle:"Status | ${clientName}",successTitle:`Success`,title:`Status`}},wne={common:wf,consent:Tf,"device-flow":{"device-flow":{buttonText:`Continue`,codePlaceholder:`Enter code`,description:`Enter the code shown on your device`,"expired-code":`The code has expired`,"invalid-code":`The code you entered is invalid`,pageTitle:"Device Activation | ${clientName}",title:`Activate your device`}},"email-otp-challenge":{"email-otp-challenge":{buttonText:`Continue`,codeLabel:`Verification Code`,codePlaceholder:`Enter code`,defaultDescription:`Enter the verification code sent to your email`,description:"We sent a code to ${email}","invalid-code":`The code you entered is invalid`,noCode:`Please enter the verification code`,pageTitle:"Enter Code | ${clientName}",resendText:`Resend code`,sessionExpired:`Your session has expired. Please try again.`,title:`Check your email`,unexpectedError:`An unexpected error occurred`}},"email-verification":{"email-verification":{description:"We sent an email to ${email}",pageTitle:"Verify Email | ${clientName}",resendText:`Resend email`,successDescription:`Your email has been verified successfully.`,successTitle:`Email verified`,title:`Verify your email`}},invitation:Ef,login:Df,"login-id":{"login-id":{alertListTitle:`Alerts`,"auth0-users-validation":`Something went wrong, please try again later`,"authentication-failure":`We are sorry, something went wrong when attempting to log in`,buttonText:`Continue`,"captcha-client-failure":`We couldn't load the security challenge. Please try again. (Error code: #{errorCode})`,"captcha-validation-failure":`We are sorry, something went wrong while validating the captcha response. Please try again.`,captchaCodePlaceholder:`Enter the code shown above`,"custom-script-error-code":`Something went wrong, please try again later.`,description:"Log in to ${clientName}.",editEmailText:`Edit`,emailPlaceholder:`Email address`,federatedConnectionButtonText:"Continue with ${connectionName}",footerLinkText:`Sign up`,footerText:`Don't have an account?`,forgotPasswordText:`Forgot password?`,hidePasswordText:`Hide password`,"invalid-captcha":`Solve the challenge question to verify you are not a robot.`,"invalid-code":`The code you entered is invalid`,"invalid-connection":`Invalid connection`,"invalid-email-format":`Email is not valid.`,"invalid-email-phone":`Enter a valid email address or phone number. Phone numbers must include the country code.`,"invalid-email-phone-username":`Enter a valid email address, phone number or username. Phone numbers must include the country code.`,"invalid-email-username":`Enter a valid email address or username`,"invalid-expired-code":`Invalid or expired user code`,"invalid-login-id":`Invalid Login ID entered`,"invalid-phone-username":`Enter a valid phone number or username. Phone numbers must include the country code.`,"invalid-recaptcha":`Select the checkbox to verify you are not a robot.`,"invalid-username":"Username can only contain alphanumeric characters or: '${characters}'. Username should have between ${min} and ${max} characters.",invitationDescription:"Log in to accept ${inviterName}'s invitation to join ${companyName} on ${clientName}.",invitationTitle:`You've Been Invited!`,"ip-blocked":`We have detected suspicious login behavior and further attempts will be blocked. Please contact the administrator.`,logoAltText:"${companyName}","no-db-connection":`Invalid connection`,"no-email":`Please enter an email address`,"no-email-phone":`Email address or phone number is required`,"no-email-phone-username":`Phone number, username, or email address is required`,"no-email-username":`Email address or username is required`,"no-password":`Password is required`,"no-phone":`Please enter a phone number`,"no-phone-username":`Phone number or username is required`,"no-username":`Username is required`,pageTitle:"Log in | ${clientName}","password-breached":`We have detected a potential security issue with this account. To protect your account, we have prevented this login. Please reset your password to proceed.`,passwordPlaceholder:`Password`,phoneOrEmailPlaceholder:`Phone number or Email address`,phoneOrUsernameOrEmailPlaceholder:`Phone or Username or Email`,phoneOrUsernamePlaceholder:`Phone Number or Username`,phonePlaceholder:`Phone number`,"same-user-login":`Too many login attempts for this user. Please wait, and try again later.`,selectCountryCode:"Select country code, currently set to ${countryName}, ${countryCode}, +${countryPrefix}",separatorText:`Or`,sessionExpired:`Your session has expired. Please try again.`,showPasswordText:`Show password`,signupActionLinkText:`Sign up`,signupActionText:`Don't have an account?`,termsAndConditionsTemplate:'By continuing, you agree to our <a href="${termsAndConditionsUrl}" target="_blank" rel="noopener noreferrer">Terms and Conditions</a>.',title:`Welcome`,"user-blocked":`Your account has been blocked after multiple consecutive login attempts.`,userAccountDoesNotExist:`User account does not exist`,usernameOnlyPlaceholder:`Username`,usernameOrEmailPlaceholder:`Username or Email address`,usernamePlaceholder:`Username or email address`,usernameTooLong:"Username must be ${max} characters or less",usernameTooShort:"Username must be at least ${min} characters","wrong-credentials":`Wrong username or password`,"wrong-email-credentials":`Wrong email or password`,"wrong-email-phone-credentials":`Incorrect email address, phone number, or password. Phone numbers must include the country code.`,"wrong-email-phone-username-credentials":`Incorrect email address, phone number, username, or password. Phone numbers must include the country code.`,"wrong-email-username-credentials":`Incorrect email address, username, or password`,"wrong-phone-credentials":`Incorrect phone number or password`,"wrong-phone-username-credentials":`Incorrect phone number, username or password. Phone numbers must include the country code.`,passkeyButtonText:`Sign in with a passkey`,"wrong-username-credentials":`Incorrect username or password`}},"login-password":{"login-password":{buttonText:`Continue`,description:"Log in to ${clientName}",forgotPasswordText:`Forgot password?`,hidePasswordText:`Hide password`,"no-password":`Password is required`,pageTitle:"Log in | ${clientName}","password-breached":`We have detected a potential security issue with this account. To protect your account, we have prevented this login. Please reset your password to proceed.`,passwordPlaceholder:`Password`,showPasswordText:`Show password`,signingInAs:"Signing in as ${email}",title:`Enter your password`,unverifiedEmail:`Please verify your email address before logging in`,"user-blocked":`Your account has been blocked after multiple consecutive login attempts.`,"wrong-credentials":`Wrong password`}},"login-passwordless":{"login-passwordless":{authMethodEmail:`email`,authMethodEmailOrPhone:`email or phone number`,authMethodPhone:`phone number`,description:"Sign in using your ${authMethod}",emailOrPhonePlaceholder:`Email address or phone number`,emailPlaceholder:`Email address`,invalidEmail:`Please enter a valid email address`,invalidIdentifier:`Please enter a valid email address or phone number`,invalidPhone:`Please enter a valid phone number with country code`,noEmail:`Please enter your email address`,noPhone:`Please enter your phone number`,phonePlaceholder:`Phone number`,sessionExpired:`Your session has expired. Please try again.`,title:`Sign in with a code`,userAccountDoesNotExist:`User account does not exist`}},"magic-link-sent":{"magic-link-sent":{defaultDescription:`Click the link in your email to sign in`,description:"We sent a link to ${username}. Click it to sign in.",resendText:`Resend link`,spamText:`Didn't receive the email? Check your spam folder.`,title:`Check your email`}},mfa:Of,"mfa-email":{"mfa-email":{buttonText:`Continue`,codePlaceholder:`Enter code`,description:"We sent a code to ${email}","invalid-code":`The code you entered is invalid`,pageTitle:"Email Verification | ${clientName}",resendText:`Resend code`,title:`Check your email`}},"mfa-otp":{"mfa-otp":{buttonText:`Continue`,codePlaceholder:`Enter code`,description:`Enter the 6-digit code from your authenticator app`,"invalid-code":`The code you entered is invalid`,pageTitle:"Enter Code | ${clientName}",title:`Enter your code`},"mfa-totp-enrollment":{title:`Set up authenticator`,description:`Scan the QR code below with your authenticator app, then enter the 6-digit code to verify`,secretLabel:`Or enter this code manually:`,codePlaceholder:`Enter code`,continueButtonText:`Verify & Activate`,"invalid-code":`The code you entered is invalid. Please try again.`,"transaction-not-found":`Your enrollment transaction expired, you will need to start again.`,unexpectedError:`Something went wrong. Please try again.`,pageTitle:"Set up Authenticator | ${clientName}",enrollmentComplete:`MFA enrollment is complete. You can close this page.`},"mfa-totp-challenge":{title:`Verify your identity`,description:`Enter the 6-digit code from your authenticator app`,codePlaceholder:`Enter code`,continueButtonText:`Continue`,"invalid-code":`The code you entered is invalid`,"transaction-not-found":`Your enrollment transaction expired, you will need to start again.`,unexpectedError:`Something went wrong. Please try again.`,pageTitle:"Verify Identity | ${clientName}"}},"mfa-phone":{"mfa-phone-challenge":{pageTitle:"Use your phone number to log in | ${clientName}",title:`Verify Your Identity`,description:"We sent a code to ${phoneNumber}",continueButtonText:`Continue`,changePhoneText:`Choose another phone number.`,smsButtonText:`Text message`,voiceButtonText:`Voice call`,chooseMessageTypeText:`How do you want to receive the code?`,pickAuthenticatorText:`Try another method`,logoAltText:"${companyName}",codePlaceholder:`Enter code`,"send-sms-failed":`There was a problem sending the SMS`,"send-voice-failed":`There was a problem making the voice call`,"invalid-phone-format":`Phone number can only include digits.`,"invalid-phone":`It seems that your phone number is not valid. Please check and retry.`,"too-many-sms":`You have exceeded the maximum number of phone messages per hour. Wait a few minutes and try again.`,"too-many-voice":`You have exceeded the maximum number of phone messages per hour. Wait a few minutes and try again.`,"transaction-not-found":`Your enrollment transaction expired, you will need to start again.`,"no-phone":`Please enter a phone number`,noCode:`Please enter the verification code`,invalidCode:`The code you entered is invalid. Please try again.`,unexpectedError:`Something went wrong. Please try again.`,resendSuccess:`We sent a new code to your phone`,enrollmentComplete:`MFA enrollment is complete. You can close this page.`},"mfa-phone-enrollment":{pageTitle:"Enter your phone number to log in using a phone code | ${clientName}",title:`Secure Your Account`,description:`Enter your country code and phone number to which we can send a 6-digit code:`,continueButtonText:`Continue`,smsButtonText:`Text message`,voiceButtonText:`Voice call`,chooseMessageTypeText:`How do you want to receive the code?`,pickAuthenticatorText:`Try another method`,placeholder:`Enter your phone number`,logoAltText:"${companyName}",selectCountryCode:"Select country code, currently set to ${countryName}, ${countryCode}, +${countryPrefix}","send-sms-failed":`There was a problem sending the SMS`,"send-voice-failed":`There was a problem making the voice call`,"sms-authenticator-error":`We couldn't send the SMS. Please try again later.`,"invalid-phone-format":`Phone number can only include digits.`,"invalid-phone":`It seems that your phone number is not valid. Please check and retry.`,"too-many-sms":`You have exceeded the maximum number of phone messages per hour. Wait a few minutes and try again.`,"too-many-voice":`You have exceeded the maximum number of phone messages per hour. Wait a few minutes and try again.`,"transaction-not-found":`Your enrollment transaction expired, you will need to start again.`,"no-phone":`Please enter a phone number`,"phone-is-too-short":`Phone number is too short`,"phone-is-too-long":`Phone number is too long`}},"mfa-login-options":{"mfa-login-options":{pageTitle:"Choose Verification Method | ${clientName}",title:`Choose your verification method`,description:`Select how you'd like to verify your identity`,authenticatorAppLabel:`Authenticator App`,authenticatorAppDescription:`Use your authenticator app to get a verification code`,smsLabel:`Text Message`,smsDescription:`Get a verification code sent to your phone`,passkeyLabel:`Passkey`,passkeyDescription:`Use your device's biometrics or security key`}},"mfa-push":{"mfa-push":{description:`We sent a notification to your device`,pageTitle:"Push Notification | ${clientName}",resendText:`Resend notification`,title:`Approve the request`,useCodeText:`Enter code manually`}},"mfa-recovery-code":{"mfa-recovery-code":{buttonText:`Continue`,codePlaceholder:`Recovery code`,description:`Enter one of your recovery codes`,"invalid-code":`The recovery code you entered is invalid`,pageTitle:"Recovery Code | ${clientName}",title:`Enter recovery code`}},"mfa-voice":{"mfa-voice":{buttonText:`Call me`,codePlaceholder:`Enter code`,description:"We will call ${phoneNumber} with your code","invalid-code":`The code you entered is invalid`,pageTitle:"Voice Call | ${clientName}",title:`Receive a phone call`}},"mfa-webauthn":{"mfa-webauthn":{buttonText:`Try again`,description:`Insert your security key and follow the instructions`,pageTitle:"Security Key | ${clientName}",title:`Use your security key`}},passkeys:kf,organizations:Af,"reset-password":{"reset-password":{backToLoginText:`Back to login`,buttonText:`Continue`,codeExpired:`Your password reset code has expired. Please request a new one.`,confirmPasswordLabel:`Confirm Password`,confirmPasswordPlaceholder:`Confirm password`,description:`Enter your email to reset your password`,emailPlaceholder:`Email address`,failed:`Password reset failed. Please try again.`,"invalid-email-format":`Email is not valid.`,"no-email":`Please enter an email address`,pageTitle:"Reset Password | ${clientName}",passwordLabel:`New Password`,passwordPlaceholder:`New password`,passwordTooWeak:`Password is too weak`,passwordsDidntMatch:`Passwords don't match`,successDescription:`We have sent a password reset link to your email address.`,successTitle:`Check your email`,title:`Forgot your password?`,"user-not-found":`User not found`},"reset-password-code":{backToLoginText:`Back to login`,buttonText:`Reset Password`,codeLabel:`Reset Code`,codePlaceholder:`Enter 6-digit code`,confirmPasswordLabel:`Confirm Password`,confirmPasswordPlaceholder:`Confirm password`,defaultDescription:`Enter the code sent to your email and choose a new password`,description:"We sent a code to ${email}",failed:`Password reset failed. Please try again.`,invalidCode:`The code you entered is invalid or has expired`,noCode:`Please enter the reset code`,pageTitle:"Enter Reset Code | ${clientName}",passwordLabel:`New Password`,passwordPlaceholder:`New password`,passwordTooWeak:`Password is too weak`,passwordsDidntMatch:`Passwords don't match`,resendFailed:`Failed to resend the code. Please try again.`,resendSuccess:`A new code has been sent to your email`,resendText:`Resend code`,sessionExpired:`Your session has expired. Please try again.`,title:`Enter reset code`}},signup:jf,"signup-id":{"signup-id":{buttonText:`Continue`,description:`Sign up to continue`,"email-already-exists":`This email is already registered`,emailPlaceholder:`Email address`,federatedConnectionButtonText:"Continue with ${connectionName}","invalid-email-format":`Email is not valid.`,loginActionLinkText:`Log in`,loginActionText:`Already have an account?`,"no-email":`Please enter an email address`,pageTitle:"Sign up | ${clientName}",phonePlaceholder:`Phone number`,separatorText:`Or`,title:`Create your account`,usernamePlaceholder:`Username`}},"signup-password":{"signup-password":{buttonText:`Continue`,description:`Sign up to continue`,hidePasswordText:`Hide password`,"no-password":`Password is required`,pageTitle:"Sign up | ${clientName}","password-policy-not-met":`Password does not meet the requirements`,"password-too-weak":`Password is too weak`,passwordPlaceholder:`Password`,showPasswordText:`Show password`,title:`Create your password`}},"sms-otp-challenge":{"sms-otp-challenge":{buttonText:`Continue`,codeLabel:`Verification Code`,codePlaceholder:`Enter code`,defaultDescription:`Enter the verification code sent to your phone`,description:"We sent a code to ${username}","invalid-code":`The code you entered is invalid`,noCode:`Please enter the verification code`,pageTitle:"Enter Code | ${clientName}",resendText:`Resend code`,sessionExpired:`Your session has expired. Please try again.`,title:`Check your phone`,unexpectedError:`An unexpected error occurred`}},status:Mf},Tne=c({common:()=>Nf,consent:()=>Pf,default:()=>Ene,invitation:()=>Ff,login:()=>If,mfa:()=>Lf,organizations:()=>zf,passkeys:()=>Rf,signup:()=>Bf,status:()=>Vf}),Nf={common:{alertListTitle:`Ilmoitukset`,backText:`Palaa takaisin`,cancelText:`Palaa takaisin`,closeText:`Sulje`,contactSupportText:`Tarvitsetko apua?`,continueText:`Jatka`,copyrightText:"© ${currentYear} ${companyName}",errorText:`Jokin meni pieleen. Yritä uudelleen.`,hidePasswordText:`Piilota salasana`,loadingText:`Ladataan...`,orText:`tai`,privacyPolicyText:`Tietosuojakäytäntö`,showPasswordText:`Näytä salasana`,termsOfServiceText:`Käyttöehdot`,termsShortText:`Ehdot`,tryAgainText:`Yritä uudelleen`}},Pf={consent:{buttonText:`Hyväksy`,cancelButtonText:`Hylkää`,description:"${clientName} pyytää pääsyä tilillesi",pageTitle:"Valtuuta | ${clientName}",scopesTitle:"Tämä sallii sovelluksen ${clientName}:",title:"Valtuuta ${clientName}"}},Ff={invitation:{acceptButtonText:`Hyväksy kutsu`,description:"${inviterName} on kutsunut sinut liittymään organisaatioon ${organizationName} palvelussa ${clientName}",pageTitle:"Kutsu | ${clientName}",title:`Sinut on kutsuttu`}},If={login:{alertListTitle:`Ilmoitukset`,buttonText:`Jatka`,description:"Kirjaudu sisään ${clientName}.",editEmailText:`Muokkaa`,emailPlaceholder:`Sähköpostiosoite`,enterACodeBtn:`Kirjaudu koodilla`,federatedConnectionButtonText:"Jatka palvelulla ${connectionName}",footerLinkText:`Rekisteröidy`,footerText:`Eikö sinulla ole tiliä?`,forgotPasswordText:`Unohditko salasanan?`,hidePasswordText:`Piilota salasana`,invalidEmail:`Virheellinen sähköpostiosoite`,invalidIdentifier:`Virheellinen sähköpostiosoite tai käyttäjänimi`,invitationDescription:"Kirjaudu sisään hyväksyäksesi käyttäjän ${inviterName} kutsun liittyä palveluun ${companyName} sovelluksessa ${clientName}.",invitationTitle:`Sinut on kutsuttu!`,logoAltText:"${companyName}","no-email":`Sähköpostiosoite vaaditaan`,"no-password":`Salasana vaaditaan`,pageTitle:"Kirjaudu sisään | ${clientName}",passwordLoginNotAvailable:`Salasanakirjautuminen ei ole käytettävissä`,passwordPlaceholder:`Salasana`,phonePlaceholder:`Puhelinnumero`,separatorText:`tai`,sessionExpired:`Istuntosi on vanhentunut. Yritä uudelleen.`,showPasswordText:`Näytä salasana`,signupActionLinkText:`Rekisteröidy`,signupActionText:`Eikö sinulla ole tiliä?`,title:`Tervetuloa`,tooManyFailedLogins:`Liian monta epäonnistunutta kirjautumisyritystä. Yritä myöhemmin uudelleen.`,unverifiedEmail:`Vahvista sähköpostiosoitteesi ennen kirjautumista`,userAccountDoesNotExist:`Käyttäjätiliä ei ole olemassa`,usernamePlaceholder:`Käyttäjänimi tai sähköpostiosoite`,usernameTooLong:"Käyttäjänimen on oltava enintään ${max} merkkiä",usernameTooShort:"Käyttäjänimen on oltava vähintään ${min} merkkiä",wrongCredentials:`Väärä käyttäjänimi tai salasana`,passkeyButtonText:`Kirjaudu sisään passkey:llä`}},Lf={mfa:{backupCodeText:`Käytä varakoodia`,description:`Valitse vahvistusmenetelmä`,pageTitle:"Monivaiheinen tunnistautuminen | ${clientName}",title:`Vahvista henkilöllisyytesi`}},Rf={"passkey-enrollment-nudge":{title:`Suojaa tilisi tunnistautumisavaimella`,description:`Tunnistautumisavaimet käyttävät laitteesi biometriikkaa tai PIN-koodia kirjautuaksesi nopeammin ja turvallisemmin.`,enrollButtonText:`Määritä tunnistautumisavain`,snoozeButtonText:`Ehkä myöhemmin`,optOutLinkText:`Älä näytä tätä uudelleen`,pageTitle:"Määritä Tunnistautumisavain | ${clientName}"},"passkey-enrollment":{title:`Luo tunnistautumisavain`,description:`Seuraa selaimesi ohjeita luodaksesi tunnistautumisavaimen tälle tilille.`,errorMessage:`Tunnistautumisavaimen luominen epäonnistui. Yritä uudelleen.`,cancelLinkText:`Ohita toistaiseksi`,retryButtonText:`Yritä uudelleen`,enrollmentComplete:`Tunnistautumisavaimesi on määritetty onnistuneesti. Voit sulkea tämän sivun.`,pageTitle:"Luo Tunnistautumisavain | ${clientName}"},"passkey-challenge":{title:`Kirjaudu sisään passkey:llä`,description:`Noudata selaimesi ohjeita henkilöllisyytesi vahvistamiseksi.`,errorMessage:`Passkey-todennus epäonnistui. Yritä uudelleen.`,cancelLinkText:`Takaisin kirjautumiseen`,retryButtonText:`Yritä uudelleen`,pageTitle:"Kirjaudu sisään passkey:llä | ${clientName}"}},zf={organizations:{description:`Valitse organisaatio, johon haluat kirjautua`,pageTitle:"Valitse organisaatio | ${clientName}",searchPlaceholder:`Hae organisaatioita`,title:`Valitse organisaatiosi`}},Bf={signup:{buttonText:`Rekisteröityminen`,confirmPasswordPlaceholder:`Vahvista salasana`,description:`Valitse salasana, jossa on isoja ja pieniä kirjaimia, numeroita ja symboleja.`,"email-already-exists":`Sähköposti on jo varattu`,emailPlaceholder:`Sähköpostiosoite`,federatedConnectionButtonText:"Jatka palvelulla ${connectionName}",hidePasswordText:`Piilota salasana`,"invalid-email-format":`Virheellinen sähköpostiosoite`,loginActionLinkText:`Kirjaudu sisään`,loginActionText:`Onko sinulla jo tili?`,"no-email":`Sähköpostiosoite vaaditaan`,"no-password":`Salasana vaaditaan`,"no-username":`Käyttäjänimi vaaditaan`,pageTitle:"Rekisteröidy | ${clientName}",passwordPlaceholder:`Salasana`,passwordsDidntMatch:`Salasanat eivät täsmää`,phonePlaceholder:`Puhelinnumero`,privacyPolicyLinkText:`Tietosuojakäytäntö`,separatorText:`tai`,sessionExpired:`Istuntosi on vanhentunut. Yritä uudelleen.`,showPasswordText:`Näytä salasana`,termsOfServiceLinkText:`Käyttöehdot`,termsText:`Rekisteröitymällä hyväksyt`,title:`Valitse salasana`,"username-already-exists":`Tämä käyttäjänimi on jo varattu`,usernamePlaceholder:`Käyttäjänimi`,verifyEmailText:`Tarkista sähköpostisi vahvistaaksesi tilisi`}},Vf={status:{continueButtonText:`Jatka`,errorTitle:`Virhe`,pageTitle:"Tila | ${clientName}",successTitle:`Onnistui`,title:`Tila`}},Ene={common:Nf,consent:Pf,"device-flow":{"device-flow":{buttonText:`Jatka`,codePlaceholder:`Syötä koodi`,description:`Syötä laitteessasi näkyvä koodi`,"expired-code":`Koodi on vanhentunut`,"invalid-code":`Syöttämäsi koodi on virheellinen`,pageTitle:"Laitteen aktivointi | ${clientName}",title:`Aktivoi laitteesi`}},"email-otp-challenge":{"email-otp-challenge":{buttonText:`Kirjaudu sisään`,codeLabel:`Vahvistuskoodi`,codePlaceholder:`Syötä koodi`,defaultDescription:`Syötä sähköpostiisi lähetetty vahvistuskoodi`,description:"Lähetimme koodin osoitteeseen ${email}","invalid-code":`Virheellinen koodi`,noCode:`Syötä vahvistuskoodi`,pageTitle:"Syötä koodi | ${clientName}",resendText:`Lähetä koodi uudelleen`,sessionExpired:`Istuntosi on vanhentunut. Yritä uudelleen.`,title:`Tarkista sähköpostisi`,unexpectedError:`Odottamaton virhe tapahtui`}},"email-verification":{"email-verification":{description:"Lähetimme sähköpostin osoitteeseen ${email}",pageTitle:"Vahvista sähköposti | ${clientName}",resendText:`Lähetä koodi uudelleen`,successDescription:`Sähköpostiosoitteesi on vahvistettu onnistuneesti.`,successTitle:`Sähköposti vahvistettu`,title:`Vahvista sähköpostiosoitteesi`}},invitation:Ff,login:If,"login-id":{"login-id":{alertListTitle:`Ilmoitukset`,"auth0-users-validation":`Jokin meni pieleen, yritä myöhemmin uudelleen`,"authentication-failure":`Valitettavasti jokin meni pieleen kirjautumisyrityksen aikana`,buttonText:`Jatka`,"captcha-client-failure":`Turvatarkistuksen lataaminen epäonnistui. Yritä uudelleen. (Virhekoodi: #{errorCode})`,"captcha-validation-failure":`Valitettavasti jokin meni pieleen captcha-vastauksen tarkistuksessa. Yritä uudelleen.`,captchaCodePlaceholder:`Syötä yllä näkyvä koodi`,"custom-script-error-code":`Jokin meni pieleen, yritä myöhemmin uudelleen.`,description:"Kirjaudu sisään ${clientName}.",editEmailText:`Muokkaa`,emailPlaceholder:`Sähköpostiosoite`,federatedConnectionButtonText:"Jatka palvelulla ${connectionName}",footerLinkText:`Rekisteröidy`,footerText:`Eikö sinulla ole tiliä?`,forgotPasswordText:`Unohditko salasanan?`,hidePasswordText:`Piilota salasana`,"invalid-captcha":`Ratkaise haaste varmistaaksesi, ettet ole robotti.`,"invalid-code":`Virheellinen koodi`,"invalid-connection":`Virheellinen yhteys`,"invalid-email-format":`Virheellinen sähköpostiosoite`,"invalid-email-phone":`Syötä kelvollinen sähköpostiosoite tai puhelinnumero. Puhelinnumeron tulee sisältää maatunnus.`,"invalid-email-phone-username":`Syötä kelvollinen sähköpostiosoite, puhelinnumero tai käyttäjänimi. Puhelinnumeron tulee sisältää maatunnus.`,"invalid-email-username":`Syötä kelvollinen sähköpostiosoite tai käyttäjänimi`,"invalid-expired-code":`Virheellinen tai vanhentunut käyttäjäkoodi`,"invalid-login-id":`Virheellinen kirjautumistunnus`,"invalid-phone-username":`Syötä kelvollinen puhelinnumero tai käyttäjänimi. Puhelinnumeron tulee sisältää maatunnus.`,"invalid-recaptcha":`Valitse valintaruutu varmistaaksesi, ettet ole robotti.`,"invalid-username":"Käyttäjänimi voi sisältää vain aakkosnumeerisia merkkejä tai: '${characters}'. Käyttäjänimen tulee olla ${min}–${max} merkkiä.",invitationDescription:"Kirjaudu sisään hyväksyäksesi käyttäjän ${inviterName} kutsun liittyä palveluun ${companyName} sovelluksessa ${clientName}.",invitationTitle:`Sinut on kutsuttu!`,"ip-blocked":`Olemme havainneet epäilyttävää kirjautumiskäyttäytymistä ja lisäyritykset estetään. Ota yhteyttä ylläpitäjään.`,logoAltText:"${companyName}","no-db-connection":`Virheellinen yhteys`,"no-email":`Sähköpostiosoite vaaditaan`,"no-email-phone":`Sähköpostiosoite tai puhelinnumero vaaditaan`,"no-email-phone-username":`Puhelinnumero, käyttäjänimi tai sähköpostiosoite vaaditaan`,"no-email-username":`Sähköpostiosoite tai käyttäjänimi vaaditaan`,"no-password":`Salasana vaaditaan`,"no-phone":`Syötä puhelinnumero`,"no-phone-username":`Puhelinnumero tai käyttäjänimi vaaditaan`,"no-username":`Käyttäjänimi vaaditaan`,pageTitle:"Kirjaudu sisään | ${clientName}","password-breached":`Olemme havainneet mahdollisen tietoturvaongelman tässä tilissä. Tilisi suojaamiseksi olemme estäneet tämän kirjautumisen. Vaihda salasanasi jatkaaksesi.`,passwordPlaceholder:`Salasana`,phoneOrEmailPlaceholder:`Sähköposti tai puhelinnumero`,phoneOrUsernameOrEmailPlaceholder:`Puhelin, käyttäjänimi tai sähköposti`,phoneOrUsernamePlaceholder:`Puhelinnumero tai käyttäjänimi`,phonePlaceholder:`Puhelinnumero`,"same-user-login":`Liian monta kirjautumisyritystä tälle käyttäjälle. Odota hetki ja yritä myöhemmin uudelleen.`,selectCountryCode:"Valitse maakoodi, tällä hetkellä ${countryName}, ${countryCode}, +${countryPrefix}",separatorText:`tai`,sessionExpired:`Istuntosi on vanhentunut. Yritä uudelleen.`,showPasswordText:`Näytä salasana`,signupActionLinkText:`Rekisteröidy`,signupActionText:`Eikö sinulla ole tiliä?`,termsAndConditionsTemplate:'Jatkamalla hyväksyt <a href="${termsAndConditionsUrl}" target="_blank" rel="noopener noreferrer">Käyttöehdot</a>.',title:`Tervetuloa`,"user-blocked":`Tilisi on estetty useiden peräkkäisten kirjautumisyritysten jälkeen.`,userAccountDoesNotExist:`Käyttäjätiliä ei ole olemassa`,usernameOnlyPlaceholder:`Käyttäjänimi`,usernameOrEmailPlaceholder:`Käyttäjänimi tai sähköpostiosoite`,usernamePlaceholder:`Käyttäjänimi`,usernameTooLong:"Käyttäjänimen on oltava enintään ${max} merkkiä",usernameTooShort:"Käyttäjänimen on oltava vähintään ${min} merkkiä","wrong-credentials":`Väärä käyttäjänimi tai salasana`,"wrong-email-credentials":`Väärä sähköpostiosoite tai salasana`,"wrong-email-phone-credentials":`Virheellinen sähköpostiosoite, puhelinnumero tai salasana. Puhelinnumeron tulee sisältää maatunnus.`,"wrong-email-phone-username-credentials":`Virheellinen sähköpostiosoite, puhelinnumero, käyttäjänimi tai salasana. Puhelinnumeron tulee sisältää maatunnus.`,"wrong-email-username-credentials":`Virheellinen sähköpostiosoite, käyttäjänimi tai salasana`,"wrong-phone-credentials":`Virheellinen puhelinnumero tai salasana`,"wrong-phone-username-credentials":`Virheellinen puhelinnumero, käyttäjänimi tai salasana. Puhelinnumeron tulee sisältää maatunnus.`,"wrong-username-credentials":`Virheellinen käyttäjänimi tai salasana`,passkeyButtonText:`Kirjaudu sisään passkey:llä`}},"login-password":{"login-password":{buttonText:`Kirjaudu sisään`,description:`Anna sähköpostiosoitteesi ja salasanasi kirjautuaksesi sisään.`,forgotPasswordText:`Unohditko salasanan?`,hidePasswordText:`Piilota salasana`,"no-password":`Salasana vaaditaan`,pageTitle:"Kirjaudu sisään | ${clientName}","password-breached":`Olemme havainneet mahdollisen tietoturvaongelman tässä tilissä. Tilisi suojaamiseksi olemme estäneet tämän kirjautumisen. Vaihda salasanasi jatkaaksesi.`,passwordPlaceholder:`Salasana`,showPasswordText:`Näytä salasana`,signingInAs:"Kirjaudutaan käyttäjänä ${email}",title:`Anna salasana`,unverifiedEmail:`Vahvista sähköpostiosoitteesi ennen kirjautumista`,"user-blocked":`Tilisi on estetty useiden peräkkäisten kirjautumisyritysten jälkeen.`,"wrong-credentials":`Väärä salasana`}},"login-passwordless":{"login-passwordless":{authMethodEmail:`sähköposti`,authMethodEmailOrPhone:`sähköposti tai puhelinnumero`,authMethodPhone:`puhelinnumero`,description:"Kirjaudu sisään käyttämällä ${authMethod}",emailOrPhonePlaceholder:`Sähköpostiosoite tai puhelinnumero`,emailPlaceholder:`Sähköpostiosoite`,invalidEmail:`Syötä kelvollinen sähköpostiosoite`,invalidIdentifier:`Syötä kelvollinen sähköpostiosoite tai puhelinnumero`,invalidPhone:`Syötä kelvollinen puhelinnumero maatunnuksella`,noEmail:`Syötä sähköpostiosoitteesi`,noPhone:`Syötä puhelinnumerosi`,phonePlaceholder:`Puhelinnumero`,sessionExpired:`Istuntosi on vanhentunut. Yritä uudelleen.`,title:`Kirjaudu koodilla`,userAccountDoesNotExist:`Käyttäjätiliä ei ole olemassa`}},"magic-link-sent":{"magic-link-sent":{defaultDescription:`Napsauta sähköpostissasi olevaa linkkiä kirjautuaksesi sisään`,description:"Lähetimme linkin osoitteeseen ${username}. Napsauta sitä kirjautuaksesi.",resendText:`Lähetä linkki uudelleen`,spamText:`Etkö saanut sähköpostia? Tarkista roskapostikansiosi.`,title:`Tarkista sähköpostisi`}},mfa:Lf,"mfa-email":{"mfa-email":{buttonText:`Jatka`,codePlaceholder:`Syötä koodi`,description:"Lähetimme koodin osoitteeseen ${email}","invalid-code":`Syöttämäsi koodi on virheellinen`,pageTitle:"Sähköpostivahvistus | ${clientName}",resendText:`Lähetä koodi uudelleen`,title:`Tarkista sähköpostisi`}},"mfa-otp":{"mfa-otp":{buttonText:`Jatka`,codePlaceholder:`Syötä koodi`,description:`Syötä 6-numeroinen koodi todentajasovelluksestasi`,"invalid-code":`Syöttämäsi koodi on virheellinen`,pageTitle:"Syötä koodi | ${clientName}",title:`Syötä koodisi`},"mfa-totp-enrollment":{title:`Ota todentajasovellus käyttöön`,description:`Skannaa alla oleva QR-koodi todentajasovelluksellasi ja syötä sitten 6-numeroinen koodi vahvistaaksesi`,secretLabel:`Tai syötä tämä koodi manuaalisesti:`,codePlaceholder:`Syötä koodi`,continueButtonText:`Vahvista ja aktivoi`,"invalid-code":`Syöttämäsi koodi on virheellinen. Yritä uudelleen.`,"transaction-not-found":`Rekisteröintitapahtumasi on vanhentunut, sinun täytyy aloittaa alusta.`,pageTitle:"Ota todentaja käyttöön | ${clientName}",unexpectedError:`Jokin meni pieleen. Yritä uudelleen.`,enrollmentComplete:`MFA-rekisteröinti on valmis. Voit sulkea tämän sivun.`},"mfa-totp-challenge":{title:`Vahvista henkilöllisyytesi`,description:`Syötä 6-numeroinen koodi todentajasovelluksestasi`,codePlaceholder:`Syötä koodi`,continueButtonText:`Jatka`,"invalid-code":`Syöttämäsi koodi on virheellinen`,"transaction-not-found":`Rekisteröintitapahtumasi on vanhentunut, sinun täytyy aloittaa alusta.`,unexpectedError:`Jokin meni pieleen. Yritä uudelleen.`,pageTitle:"Vahvista henkilöllisyys | ${clientName}"}},"mfa-phone":{"mfa-phone-challenge":{pageTitle:"Käytä puhelinnumeroasi kirjautumiseen | ${clientName}",title:`Vahvista henkilöllisyytesi`,description:"Lähetimme koodin numeroon ${phoneNumber}",continueButtonText:`Jatka`,changePhoneText:`Valitse toinen puhelinnumero.`,smsButtonText:`Tekstiviesti`,voiceButtonText:`Äänipuhelu`,chooseMessageTypeText:`Miten haluat vastaanottaa koodin?`,pickAuthenticatorText:`Kokeile toista menetelmää`,logoAltText:"${companyName}",codePlaceholder:`Syötä koodi`,"send-sms-failed":`Tekstiviestin lähettämisessä oli ongelma`,"send-voice-failed":`Äänipuhelun soittamisessa oli ongelma`,"invalid-phone-format":`Puhelinnumero voi sisältää vain numeroita.`,"invalid-phone":`Puhelinnumerosi ei vaikuta olevan kelvollinen. Tarkista ja yritä uudelleen.`,"too-many-sms":`Olet ylittänyt tunnin enimmäismäärän puhelinviestejä. Odota muutama minuutti ja yritä uudelleen.`,"too-many-voice":`Olet ylittänyt tunnin enimmäismäärän puhelinviestejä. Odota muutama minuutti ja yritä uudelleen.`,"transaction-not-found":`Rekisteröintitapahtumasi on vanhentunut, sinun täytyy aloittaa alusta.`,"no-phone":`Syötä puhelinnumero`,noCode:`Syötä vahvistuskoodi`,invalidCode:`Antamasi koodi on virheellinen. Yritä uudelleen.`,unexpectedError:`Jokin meni pieleen. Yritä uudelleen.`,resendSuccess:`Lähetimme uuden koodin puhelimeesi`,enrollmentComplete:`MFA-rekisteröinti on valmis. Voit sulkea tämän sivun.`},"mfa-phone-enrollment":{pageTitle:"Syötä puhelinnumerosi kirjautuaksesi puhelinkoodilla | ${clientName}",title:`Suojaa tilisi`,description:`Syötä maakoodisi ja puhelinnumero, johon voimme lähettää 6-numeroisen koodin:`,continueButtonText:`Jatka`,smsButtonText:`Tekstiviesti`,voiceButtonText:`Äänipuhelu`,chooseMessageTypeText:`Miten haluat vastaanottaa koodin?`,pickAuthenticatorText:`Kokeile toista menetelmää`,placeholder:`Syötä puhelinnumerosi`,logoAltText:"${companyName}",selectCountryCode:"Valitse maakoodi, tällä hetkellä asetettu ${countryName}, ${countryCode}, +${countryPrefix}","send-sms-failed":`Tekstiviestin lähettämisessä oli ongelma`,"send-voice-failed":`Äänipuhelun soittamisessa oli ongelma`,"sms-authenticator-error":`Emme pystyneet lähettämään tekstiviestiä. Yritä myöhemmin uudelleen.`,"invalid-phone-format":`Puhelinnumero voi sisältää vain numeroita.`,"invalid-phone":`Puhelinnumerosi ei vaikuta olevan kelvollinen. Tarkista ja yritä uudelleen.`,"too-many-sms":`Olet ylittänyt tunnin enimmäismäärän puhelinviestejä. Odota muutama minuutti ja yritä uudelleen.`,"too-many-voice":`Olet ylittänyt tunnin enimmäismäärän puhelinviestejä. Odota muutama minuutti ja yritä uudelleen.`,"transaction-not-found":`Rekisteröintitapahtumasi on vanhentunut, sinun täytyy aloittaa alusta.`,"no-phone":`Syötä puhelinnumero`,"phone-is-too-short":`Puhelinnumero on liian lyhyt`,"phone-is-too-long":`Puhelinnumero on liian pitkä`}},"mfa-login-options":{"mfa-login-options":{pageTitle:"Valitse vahvistusmenetelmä | ${clientName}",title:`Valitse vahvistusmenetelmä`,description:`Valitse, miten haluat vahvistaa henkilöllisyytesi`,authenticatorAppLabel:`Todennussovellus`,authenticatorAppDescription:`Käytä todennussovellusta vahvistuskoodin saamiseksi`,smsLabel:`Tekstiviesti`,smsDescription:`Saat vahvistuskoodin puhelimeesi tekstiviestillä`,passkeyLabel:`Tunnistautumisavain`,passkeyDescription:`Käytä laitteesi biometriikkaa tai suojausavainta`}},"mfa-push":{"mfa-push":{description:`Lähetimme ilmoituksen laitteellesi`,pageTitle:"Push-ilmoitus | ${clientName}",resendText:`Lähetä ilmoitus uudelleen`,title:`Hyväksy pyyntö`,useCodeText:`Syötä koodi manuaalisesti`}},"mfa-recovery-code":{"mfa-recovery-code":{buttonText:`Jatka`,codePlaceholder:`Palautuskoodi`,description:`Syötä yksi palautuskoodeistasi`,"invalid-code":`Syöttämäsi palautuskoodi on virheellinen`,pageTitle:"Palautuskoodi | ${clientName}",title:`Syötä palautuskoodi`}},"mfa-voice":{"mfa-voice":{buttonText:`Soita minulle`,codePlaceholder:`Syötä koodi`,description:"Soitamme numeroon ${phoneNumber} ja kerromme koodisi","invalid-code":`Syöttämäsi koodi on virheellinen`,pageTitle:"Äänipuhelu | ${clientName}",title:`Vastaanota puhelu`}},"mfa-webauthn":{"mfa-webauthn":{buttonText:`Yritä uudelleen`,description:`Aseta turva-avaimesi ja seuraa ohjeita`,pageTitle:"Turva-avain | ${clientName}",title:`Käytä turva-avaintasi`}},passkeys:Rf,organizations:zf,"reset-password":{"reset-password":{backToLoginText:`Palaa takaisin`,buttonText:`Lähetä salasanan palautussähköposti`,codeExpired:`Salasanan palautuskoodisi on vanhentunut. Pyydä uusi koodi.`,confirmPasswordLabel:`Vahvista salasana`,confirmPasswordPlaceholder:`Vahvista salasana`,description:`Napsauta alla olevaa painiketta, niin lähetämme ohjeet salasanasi palauttamiseen.`,emailPlaceholder:`Sähköpostiosoite`,failed:`Salasanan vaihto epäonnistui. Yritä uudelleen.`,"invalid-email-format":`Virheellinen sähköpostiosoite`,"no-email":`Sähköpostiosoite vaaditaan`,pageTitle:"Vaihda salasana | ${clientName}",passwordLabel:`Uusi salasana`,passwordPlaceholder:`Uusi salasana`,passwordTooWeak:`Salasana on liian heikko`,passwordsDidntMatch:`Salasanat eivät täsmää`,successDescription:`Olemme lähettäneet salasanan palautuslinkin sähköpostiosoitteeseesi.`,successTitle:`Salasanan palautussähköposti lähetetty`,title:`Unohditko salasanan?`,"user-not-found":`Käyttäjää ei löytynyt`},"reset-password-code":{backToLoginText:`Takaisin kirjautumiseen`,buttonText:`Vaihda salasana`,codeLabel:`Palautuskoodi`,codePlaceholder:`Syötä 6-numeroinen koodi`,confirmPasswordLabel:`Vahvista salasana`,confirmPasswordPlaceholder:`Vahvista salasana`,defaultDescription:`Syötä sähköpostiisi lähetetty koodi ja valitse uusi salasana`,description:"Lähetimme koodin osoitteeseen ${email}",failed:`Salasanan vaihto epäonnistui. Yritä uudelleen.`,invalidCode:`Syöttämäsi koodi on virheellinen tai vanhentunut`,noCode:`Syötä palautuskoodi`,pageTitle:"Syötä palautuskoodi | ${clientName}",passwordLabel:`Uusi salasana`,passwordPlaceholder:`Uusi salasana`,passwordTooWeak:`Salasana on liian heikko`,passwordsDidntMatch:`Salasanat eivät täsmää`,resendFailed:`Koodin uudelleenlähetys epäonnistui. Yritä uudelleen.`,resendSuccess:`Uusi koodi on lähetetty sähköpostiisi`,resendText:`Lähetä koodi uudelleen`,sessionExpired:`Istuntosi on vanhentunut. Yritä uudelleen.`,title:`Syötä palautuskoodi`}},signup:Bf,"signup-id":{"signup-id":{buttonText:`Jatka`,description:`Valitse salasana, jossa on isoja ja pieniä kirjaimia, numeroita ja symboleja.`,"email-already-exists":`Sähköposti on jo varattu`,emailPlaceholder:`Sähköpostiosoite`,federatedConnectionButtonText:"Jatka palvelulla ${connectionName}","invalid-email-format":`Virheellinen sähköpostiosoite`,loginActionLinkText:`Kirjaudu sisään`,loginActionText:`Onko sinulla jo tili?`,"no-email":`Sähköpostiosoite vaaditaan`,pageTitle:"Rekisteröidy | ${clientName}",phonePlaceholder:`Puhelinnumero`,separatorText:`tai`,title:`Valitse salasana`,usernamePlaceholder:`Käyttäjänimi`}},"signup-password":{"signup-password":{buttonText:`Jatka`,description:`Valitse salasana, jossa on isoja ja pieniä kirjaimia, numeroita ja symboleja.`,hidePasswordText:`Piilota salasana`,"no-password":`Salasana vaaditaan`,pageTitle:"Rekisteröidy | ${clientName}","password-policy-not-met":`Salasana ei täytä vaatimuksia`,"password-too-weak":`Salasana on liian heikko`,passwordPlaceholder:`Salasana`,showPasswordText:`Näytä salasana`,title:`Valitse salasana`}},"sms-otp-challenge":{"sms-otp-challenge":{buttonText:`Jatka`,codeLabel:`Vahvistuskoodi`,codePlaceholder:`Syötä koodi`,defaultDescription:`Syötä puhelimeesi lähetetty vahvistuskoodi`,description:"Lähetimme koodin käyttäjälle ${username}","invalid-code":`Virheellinen koodi`,noCode:`Syötä vahvistuskoodi`,pageTitle:"Syötä koodi | ${clientName}",resendText:`Lähetä koodi uudelleen`,sessionExpired:`Istuntosi on vanhentunut. Yritä uudelleen.`,title:`Tarkista puhelimesi`,unexpectedError:`Odottamaton virhe tapahtui`}},status:Vf},Dne=c({common:()=>Hf,consent:()=>Uf,default:()=>One,invitation:()=>Wf,login:()=>Gf,mfa:()=>Kf,organizations:()=>Jf,passkeys:()=>qf,signup:()=>Yf,status:()=>Xf}),Hf={common:{alertListTitle:`Avvisi`,backText:`Torna indietro`,cancelText:`Annulla`,closeText:`Chiudi`,contactSupportText:`Contatta l'assistenza`,continueText:`Continua`,copyrightText:"© ${currentYear} ${companyName}",errorText:`Si è verificato un errore`,hidePasswordText:`Nascondi password`,loadingText:`Caricamento...`,orText:`o`,privacyPolicyText:`Informativa sulla privacy`,showPasswordText:`Mostra password`,termsOfServiceText:`Termini di servizio`,termsShortText:`Termini`,tryAgainText:`Riprova`}},Uf={consent:{buttonText:`Accetta`,cancelButtonText:`Rifiuta`,description:"${clientName} richiede l'accesso al tuo account",pageTitle:"Autorizza | ${clientName}",scopesTitle:"Questo permetterà a ${clientName} di:",title:"Autorizza ${clientName}"}},Wf={invitation:{acceptButtonText:`Accetta invito`,description:"${inviterName} ti ha invitato a unirti a ${organizationName} su ${clientName}",pageTitle:"Invito | ${clientName}",title:`Sei stato invitato`}},Gf={login:{alertListTitle:`Avvisi`,buttonText:`Continua`,description:"Accedi a ${clientName}.",editEmailText:`Modifica`,emailPlaceholder:`Indirizzo e-mail`,enterACodeBtn:`Accedi con un codice`,federatedConnectionButtonText:"Continua con ${connectionName}",footerLinkText:`Iscriviti`,footerText:`Non hai un account?`,forgotPasswordText:`Hai dimenticato la password?`,hidePasswordText:`Nascondi password`,invalidEmail:`Email non valida`,invalidIdentifier:`Email o nome utente non valido`,invitationDescription:"Accedi per accettare l'invito di ${inviterName} a unirti a ${companyName} su ${clientName}.",invitationTitle:`Sei stato invitato!`,logoAltText:"${companyName}","no-email":`Inserisci un indirizzo email`,"no-password":`La password è obbligatoria`,pageTitle:"Accedi | ${clientName}",passwordLoginNotAvailable:`L'autenticazione con password non è disponibile`,passwordPlaceholder:`Password`,phonePlaceholder:`Numero di telefono`,separatorText:`o`,sessionExpired:`La sessione è scaduta. Riprova.`,showPasswordText:`Mostra password`,signupActionLinkText:`Iscriviti`,signupActionText:`Non hai un account?`,title:`Benvenuto`,tooManyFailedLogins:`Troppi tentativi di accesso falliti. Riprova più tardi.`,unverifiedEmail:`Verifica il tuo indirizzo email prima di accedere`,userAccountDoesNotExist:`L'account utente non esiste`,usernamePlaceholder:`Nome utente o indirizzo email`,usernameTooLong:"Il nome utente deve avere al massimo ${max} caratteri",usernameTooShort:"Il nome utente deve avere almeno ${min} caratteri",wrongCredentials:`Nome utente o password errati`,passkeyButtonText:`Accedi con una passkey`}},Kf={mfa:{backupCodeText:`Usa codice di backup`,description:`Scegli un metodo di verifica`,pageTitle:"Autenticazione a più fattori | ${clientName}",title:`Verifica la tua identità`}},qf={"passkey-enrollment-nudge":{title:`Proteggi il tuo account con una passkey`,description:`Le passkey utilizzano la biometria o il PIN del tuo dispositivo per accedere più velocemente e in modo più sicuro.`,enrollButtonText:`Configura passkey`,snoozeButtonText:`Forse più tardi`,optOutLinkText:`Non mostrare più`,pageTitle:"Configura Passkey | ${clientName}"},"passkey-enrollment":{title:`Crea la tua passkey`,description:`Segui le istruzioni del browser per creare una passkey per questo account.`,errorMessage:`Creazione della passkey non riuscita. Riprova.`,cancelLinkText:`Salta per ora`,retryButtonText:`Riprova`,enrollmentComplete:`La tua passkey è stata configurata con successo. Puoi chiudere questa pagina.`,pageTitle:"Crea Passkey | ${clientName}"},"passkey-challenge":{title:`Accedi con passkey`,description:`Segui le istruzioni del browser per verificare la tua identità.`,errorMessage:`Autenticazione con passkey non riuscita. Riprova.`,cancelLinkText:`Torna al login`,retryButtonText:`Riprova`,pageTitle:"Accedi con passkey | ${clientName}"}},Jf={organizations:{description:`Scegli a quale organizzazione accedere`,pageTitle:"Seleziona organizzazione | ${clientName}",searchPlaceholder:`Cerca organizzazioni`,title:`Seleziona la tua organizzazione`}},Yf={signup:{buttonText:`Iscriviti`,confirmPasswordPlaceholder:`Conferma password`,description:`Registrati per continuare`,"email-already-exists":`Questa email è già registrata`,emailPlaceholder:`Indirizzo e-mail`,federatedConnectionButtonText:"Continua con ${connectionName}",hidePasswordText:`Nascondi password`,"invalid-email-format":`Email non valida`,loginActionLinkText:`Accedi`,loginActionText:`Hai già un account?`,"no-email":`Inserisci un indirizzo email`,"no-password":`La password è obbligatoria`,"no-username":`Il nome utente è obbligatorio`,pageTitle:"Registrati | ${clientName}",passwordPlaceholder:`Password`,passwordsDidntMatch:`Le password non corrispondono`,phonePlaceholder:`Numero di telefono`,privacyPolicyLinkText:`Informativa sulla privacy`,separatorText:`o`,sessionExpired:`La sessione è scaduta. Riprova.`,showPasswordText:`Mostra password`,termsOfServiceLinkText:`Termini di servizio`,termsText:`Registrandoti, accetti i nostri`,title:`Crea il tuo account`,"username-already-exists":`Questo nome utente è già in uso`,usernamePlaceholder:`Nome utente`,verifyEmailText:`Controlla la tua email per verificare il tuo account`}},Xf={status:{continueButtonText:`Continua`,errorTitle:`Errore`,pageTitle:"Stato | ${clientName}",successTitle:`Operazione riuscita`,title:`Stato`}},One={common:Hf,consent:Uf,"device-flow":{"device-flow":{buttonText:`Continua`,codePlaceholder:`Inserisci il codice`,description:`Inserisci il codice mostrato sul tuo dispositivo`,"expired-code":`Il codice è scaduto`,"invalid-code":`Il codice inserito non è valido`,pageTitle:"Attivazione dispositivo | ${clientName}",title:`Attiva il tuo dispositivo`}},"email-otp-challenge":{"email-otp-challenge":{buttonText:`Continua`,codeLabel:`Codice di verifica`,codePlaceholder:`Inserisci il codice`,defaultDescription:`Inserisci il codice di verifica inviato alla tua email`,description:"Abbiamo inviato un codice a ${email}","invalid-code":`Codice non valido`,noCode:`Inserisci il codice di verifica`,pageTitle:"Inserisci il codice | ${clientName}",resendText:`Reinvio del codice`,sessionExpired:`La sessione è scaduta. Riprova.`,title:`Controlla la tua email`,unexpectedError:`Si è verificato un errore imprevisto`}},"email-verification":{"email-verification":{description:"Abbiamo inviato un'email a ${email}",pageTitle:"Verifica email | ${clientName}",resendText:`Reinvia email`,successDescription:`La tua email è stata verificata con successo.`,successTitle:`Email verificata`,title:`Verificare l'e-mail`}},invitation:Wf,login:Gf,"login-id":{"login-id":{alertListTitle:`Avvisi`,"auth0-users-validation":`Qualcosa è andato storto, riprova più tardi`,"authentication-failure":`Siamo spiacenti, si è verificato un errore durante il tentativo di accesso`,buttonText:`Continua`,"captcha-client-failure":`Non è stato possibile caricare la verifica di sicurezza. Riprova. (Codice errore: #{errorCode})`,"captcha-validation-failure":`Siamo spiacenti, si è verificato un errore durante la convalida della risposta captcha. Riprova.`,captchaCodePlaceholder:`Inserisci il codice mostrato sopra`,"custom-script-error-code":`Qualcosa è andato storto, riprova più tardi.`,description:"Accedi a ${clientName}.",editEmailText:`Modifica`,emailPlaceholder:`Indirizzo e-mail`,federatedConnectionButtonText:"Continua con ${connectionName}",footerLinkText:`Iscriviti`,footerText:`Non hai un account?`,forgotPasswordText:`Hai dimenticato la password?`,hidePasswordText:`Nascondi password`,"invalid-captcha":`Risolvi la domanda di verifica per confermare che non sei un robot.`,"invalid-code":`Codice non valido`,"invalid-connection":`Connessione non valida`,"invalid-email-format":`Email non valida`,"invalid-email-phone":`Inserisci un indirizzo email o un numero di telefono valido. I numeri di telefono devono includere il prefisso internazionale.`,"invalid-email-phone-username":`Inserisci un indirizzo email, un numero di telefono o un nome utente valido. I numeri di telefono devono includere il prefisso internazionale.`,"invalid-email-username":`Inserisci un indirizzo email o un nome utente valido`,"invalid-expired-code":`Codice utente non valido o scaduto`,"invalid-login-id":`ID di accesso non valido`,"invalid-phone-username":`Inserisci un numero di telefono o un nome utente valido. I numeri di telefono devono includere il prefisso internazionale.`,"invalid-recaptcha":`Seleziona la casella per confermare che non sei un robot.`,"invalid-username":"Il nome utente può contenere solo caratteri alfanumerici o: '${characters}'. Il nome utente deve avere tra ${min} e ${max} caratteri.",invitationDescription:"Accedi per accettare l'invito di ${inviterName} a unirti a ${companyName} su ${clientName}.",invitationTitle:`Sei stato invitato!`,"ip-blocked":`Abbiamo rilevato un comportamento di accesso sospetto e ulteriori tentativi saranno bloccati. Contatta l'amministratore.`,logoAltText:"${companyName}","no-db-connection":`Connessione non valida`,"no-email":`Inserisci un indirizzo email`,"no-email-phone":`È richiesto un indirizzo email o un numero di telefono`,"no-email-phone-username":`È richiesto un numero di telefono, un nome utente o un indirizzo email`,"no-email-username":`È richiesto un indirizzo email o un nome utente`,"no-password":`La password è obbligatoria`,"no-phone":`Inserisci un numero di telefono`,"no-phone-username":`È richiesto un numero di telefono o un nome utente`,"no-username":`Il nome utente è obbligatorio`,pageTitle:"Accedi | ${clientName}","password-breached":`Abbiamo rilevato un potenziale problema di sicurezza con questo account. Per proteggere il tuo account, abbiamo impedito questo accesso. Reimposta la password per procedere.`,passwordPlaceholder:`Password`,phoneOrEmailPlaceholder:`Indirizzo e-mail o numero di telefono`,phoneOrUsernameOrEmailPlaceholder:`Telefono, nome utente o email`,phoneOrUsernamePlaceholder:`Numero di telefono o nome utente`,phonePlaceholder:`Numero di telefono`,"same-user-login":`Troppi tentativi di accesso per questo utente. Attendi e riprova più tardi.`,selectCountryCode:"Seleziona prefisso paese, attualmente impostato su ${countryName}, ${countryCode}, +${countryPrefix}",separatorText:`o`,sessionExpired:`La sessione è scaduta. Riprova.`,showPasswordText:`Mostra password`,signupActionLinkText:`Iscriviti`,signupActionText:`Non hai un account?`,termsAndConditionsTemplate:'Continuando, accetti i nostri <a href="${termsAndConditionsUrl}" target="_blank" rel="noopener noreferrer">Termini e condizioni</a>.',title:`Benvenuto`,"user-blocked":`Il tuo account è stato bloccato dopo diversi tentativi di accesso consecutivi.`,userAccountDoesNotExist:`L'account utente non esiste`,usernameOnlyPlaceholder:`Nome utente`,usernameOrEmailPlaceholder:`Nome utente o indirizzo email`,usernamePlaceholder:`Nome utente`,usernameTooLong:"Il nome utente deve avere al massimo ${max} caratteri",usernameTooShort:"Il nome utente deve avere almeno ${min} caratteri","wrong-credentials":`Nome utente o password errati`,"wrong-email-credentials":`Email o password errati`,"wrong-email-phone-credentials":`Indirizzo email, numero di telefono o password errati. I numeri di telefono devono includere il prefisso internazionale.`,"wrong-email-phone-username-credentials":`Indirizzo email, numero di telefono, nome utente o password errati. I numeri di telefono devono includere il prefisso internazionale.`,"wrong-email-username-credentials":`Indirizzo email, nome utente o password errati`,"wrong-phone-credentials":`Numero di telefono o password errati`,"wrong-phone-username-credentials":`Numero di telefono, nome utente o password errati. I numeri di telefono devono includere il prefisso internazionale.`,"wrong-username-credentials":`Nome utente o password errati`,passkeyButtonText:`Accedi con una passkey`}},"login-password":{"login-password":{buttonText:`Accedi`,description:"Accedi a ${clientName}",forgotPasswordText:`Hai dimenticato la password?`,hidePasswordText:`Nascondi password`,"no-password":`La password è obbligatoria`,pageTitle:"Accedi | ${clientName}","password-breached":`Abbiamo rilevato un potenziale problema di sicurezza con questo account. Per proteggere il tuo account, abbiamo impedito questo accesso. Reimposta la password per procedere.`,passwordPlaceholder:`Password`,showPasswordText:`Mostra password`,signingInAs:"Accesso come ${email}",title:`Inserire la password`,unverifiedEmail:`Verifica il tuo indirizzo email prima di accedere`,"user-blocked":`Il tuo account è stato bloccato dopo diversi tentativi di accesso consecutivi.`,"wrong-credentials":`Password errata`}},"login-passwordless":{"login-passwordless":{authMethodEmail:`email`,authMethodEmailOrPhone:`email o numero di telefono`,authMethodPhone:`numero di telefono`,description:"Accedi usando il tuo ${authMethod}",emailOrPhonePlaceholder:`Indirizzo email o numero di telefono`,emailPlaceholder:`Indirizzo e-mail`,invalidEmail:`Inserisci un indirizzo email valido`,invalidIdentifier:`Inserisci un indirizzo email o un numero di telefono valido`,invalidPhone:`Inserisci un numero di telefono valido con il prefisso internazionale`,noEmail:`Inserisci il tuo indirizzo email`,noPhone:`Inserisci il tuo numero di telefono`,phonePlaceholder:`Numero di telefono`,sessionExpired:`La sessione è scaduta. Riprova.`,title:`Accedi con un codice`,userAccountDoesNotExist:`L'account utente non esiste`}},"magic-link-sent":{"magic-link-sent":{defaultDescription:`Clicca il link nella tua email per accedere`,description:"Abbiamo inviato un link a ${username}. Cliccalo per accedere.",resendText:`Reinvia link`,spamText:`Non hai ricevuto l'email? Controlla la cartella spam.`,title:`Controlla la tua email`}},mfa:Kf,"mfa-email":{"mfa-email":{buttonText:`Continua`,codePlaceholder:`Inserisci il codice`,description:"Abbiamo inviato un codice a ${email}","invalid-code":`Il codice inserito non è valido`,pageTitle:"Verifica email | ${clientName}",resendText:`Reinvia codice`,title:`Controlla la tua email`}},"mfa-otp":{"mfa-otp":{buttonText:`Continua`,codePlaceholder:`Inserisci il codice`,description:`Inserisci il codice a 6 cifre dalla tua app di autenticazione`,"invalid-code":`Il codice inserito non è valido`,pageTitle:"Inserisci il codice | ${clientName}",title:`Inserisci il tuo codice`},"mfa-totp-enrollment":{title:`Configura l'autenticatore`,description:`Scansiona il codice QR qui sotto con la tua app di autenticazione, poi inserisci il codice a 6 cifre per verificare`,secretLabel:`Oppure inserisci questo codice manualmente:`,codePlaceholder:`Inserisci il codice`,continueButtonText:`Verifica e attiva`,"invalid-code":`Il codice inserito non è valido. Riprova.`,"transaction-not-found":`La tua transazione di registrazione è scaduta, dovrai ricominciare.`,pageTitle:"Configura autenticatore | ${clientName}",unexpectedError:`Qualcosa è andato storto. Riprova.`,enrollmentComplete:`La registrazione MFA è completata. Puoi chiudere questa pagina.`},"mfa-totp-challenge":{title:`Verifica la tua identità`,description:`Inserisci il codice a 6 cifre dalla tua app di autenticazione`,codePlaceholder:`Inserisci il codice`,continueButtonText:`Continua`,"invalid-code":`Il codice inserito non è valido`,"transaction-not-found":`La tua transazione di registrazione è scaduta, dovrai ricominciare.`,unexpectedError:`Qualcosa è andato storto. Riprova.`,pageTitle:"Verifica identità | ${clientName}"}},"mfa-phone":{"mfa-phone-challenge":{pageTitle:"Usa il tuo numero di telefono per accedere | ${clientName}",title:`Verifica la tua identità`,description:"Abbiamo inviato un codice a ${phoneNumber}",continueButtonText:`Continua`,changePhoneText:`Scegli un altro numero di telefono.`,smsButtonText:`Messaggio di testo`,voiceButtonText:`Chiamata vocale`,chooseMessageTypeText:`Come vuoi ricevere il codice?`,pickAuthenticatorText:`Prova un altro metodo`,logoAltText:"${companyName}",codePlaceholder:`Inserisci il codice`,"send-sms-failed":`Si è verificato un problema nell'invio dell'SMS`,"send-voice-failed":`Si è verificato un problema nell'effettuare la chiamata vocale`,"invalid-phone-format":`Il numero di telefono può contenere solo cifre.`,"invalid-phone":`Sembra che il tuo numero di telefono non sia valido. Controlla e riprova.`,"too-many-sms":`Hai superato il numero massimo di messaggi telefonici all'ora. Attendi qualche minuto e riprova.`,"too-many-voice":`Hai superato il numero massimo di messaggi telefonici all'ora. Attendi qualche minuto e riprova.`,"transaction-not-found":`La tua transazione di registrazione è scaduta, dovrai ricominciare.`,"no-phone":`Inserisci un numero di telefono`,noCode:`Inserisci il codice di verifica`,invalidCode:`Il codice inserito non è valido. Riprova.`,unexpectedError:`Qualcosa è andato storto. Riprova.`,resendSuccess:`Abbiamo inviato un nuovo codice al tuo telefono`,enrollmentComplete:`La registrazione MFA è completata. Puoi chiudere questa pagina.`},"mfa-phone-enrollment":{pageTitle:"Inserisci il tuo numero di telefono per accedere con un codice telefonico | ${clientName}",title:`Proteggi il tuo account`,description:`Inserisci il prefisso del paese e il numero di telefono a cui possiamo inviare un codice a 6 cifre:`,continueButtonText:`Continua`,smsButtonText:`Messaggio di testo`,voiceButtonText:`Chiamata vocale`,chooseMessageTypeText:`Come vuoi ricevere il codice?`,pickAuthenticatorText:`Prova un altro metodo`,placeholder:`Inserisci il tuo numero di telefono`,logoAltText:"${companyName}",selectCountryCode:"Seleziona prefisso paese, attualmente impostato su ${countryName}, ${countryCode}, +${countryPrefix}","send-sms-failed":`Si è verificato un problema nell'invio dell'SMS`,"send-voice-failed":`Si è verificato un problema nell'effettuare la chiamata vocale`,"sms-authenticator-error":`Non siamo riusciti a inviare l'SMS. Riprova più tardi.`,"invalid-phone-format":`Il numero di telefono può contenere solo cifre.`,"invalid-phone":`Sembra che il tuo numero di telefono non sia valido. Controlla e riprova.`,"too-many-sms":`Hai superato il numero massimo di messaggi telefonici all'ora. Attendi qualche minuto e riprova.`,"too-many-voice":`Hai superato il numero massimo di messaggi telefonici all'ora. Attendi qualche minuto e riprova.`,"transaction-not-found":`La tua transazione di registrazione è scaduta, dovrai ricominciare.`,"no-phone":`Inserisci un numero di telefono`,"phone-is-too-short":`Il numero di telefono è troppo corto`,"phone-is-too-long":`Il numero di telefono è troppo lungo`}},"mfa-login-options":{"mfa-login-options":{pageTitle:"Scegli il metodo di verifica | ${clientName}",title:`Scegli il metodo di verifica`,description:`Seleziona come vuoi verificare la tua identità`,authenticatorAppLabel:`App di autenticazione`,authenticatorAppDescription:`Usa la tua app di autenticazione per ottenere un codice di verifica`,smsLabel:`Messaggio di testo`,smsDescription:`Ricevi un codice di verifica inviato al tuo telefono`,passkeyLabel:`Passkey`,passkeyDescription:`Usa la biometria del tuo dispositivo o una chiave di sicurezza`}},"mfa-push":{"mfa-push":{description:`Abbiamo inviato una notifica al tuo dispositivo`,pageTitle:"Notifica push | ${clientName}",resendText:`Reinvia notifica`,title:`Approva la richiesta`,useCodeText:`Inserisci il codice manualmente`}},"mfa-recovery-code":{"mfa-recovery-code":{buttonText:`Continua`,codePlaceholder:`Codice di recupero`,description:`Inserisci uno dei tuoi codici di recupero`,"invalid-code":`Il codice di recupero inserito non è valido`,pageTitle:"Codice di recupero | ${clientName}",title:`Inserisci il codice di recupero`}},"mfa-voice":{"mfa-voice":{buttonText:`Chiamami`,codePlaceholder:`Inserisci il codice`,description:"Chiameremo ${phoneNumber} con il tuo codice","invalid-code":`Il codice inserito non è valido`,pageTitle:"Chiamata vocale | ${clientName}",title:`Ricevi una telefonata`}},"mfa-webauthn":{"mfa-webauthn":{buttonText:`Riprova`,description:`Inserisci la tua chiave di sicurezza e segui le istruzioni`,pageTitle:"Chiave di sicurezza | ${clientName}",title:`Usa la tua chiave di sicurezza`}},passkeys:qf,organizations:Jf,"reset-password":{"reset-password":{backToLoginText:`Torna al login`,buttonText:`Continua`,codeExpired:`Il codice di reimpostazione della password è scaduto. Richiedine uno nuovo.`,confirmPasswordLabel:`Conferma password`,confirmPasswordPlaceholder:`Conferma password`,description:`Inserisci la tua email per reimpostare la password`,emailPlaceholder:`Indirizzo e-mail`,failed:`Reimpostazione della password non riuscita. Riprova.`,"invalid-email-format":`Email non valida`,"no-email":`Inserisci un indirizzo email`,pageTitle:"Reimposta password | ${clientName}",passwordLabel:`Nuova password`,passwordPlaceholder:`Nuova password`,passwordTooWeak:`La password è troppo debole`,passwordsDidntMatch:`Le password non corrispondono`,successDescription:`Abbiamo inviato un link per reimpostare la password al tuo indirizzo email.`,successTitle:`Controlla la tua email`,title:`Hai dimenticato la password?`,"user-not-found":`Utente non trovato`},"reset-password-code":{backToLoginText:`Torna al login`,buttonText:`Reimposta password`,codeLabel:`Codice di reimpostazione`,codePlaceholder:`Inserisci il codice a 6 cifre`,confirmPasswordLabel:`Conferma password`,confirmPasswordPlaceholder:`Conferma password`,defaultDescription:`Inserisci il codice inviato alla tua email e scegli una nuova password`,description:"Abbiamo inviato un codice a ${email}",failed:`Reimpostazione della password non riuscita. Riprova.`,invalidCode:`Il codice inserito non è valido o è scaduto`,noCode:`Inserisci il codice di reimpostazione`,pageTitle:"Inserisci il codice di reimpostazione | ${clientName}",passwordLabel:`Nuova password`,passwordPlaceholder:`Nuova password`,passwordTooWeak:`La password è troppo debole`,passwordsDidntMatch:`Le password non corrispondono`,resendFailed:`Impossibile reinviare il codice. Riprova.`,resendSuccess:`Un nuovo codice è stato inviato alla tua email`,resendText:`Reinvia codice`,sessionExpired:`La sessione è scaduta. Riprova.`,title:`Inserisci il codice di reimpostazione`}},signup:Yf,"signup-id":{"signup-id":{buttonText:`Continua`,description:`Registrati per continuare`,"email-already-exists":`Questa email è già registrata`,emailPlaceholder:`Indirizzo e-mail`,federatedConnectionButtonText:"Continua con ${connectionName}","invalid-email-format":`Email non valida`,loginActionLinkText:`Accedi`,loginActionText:`Hai già un account?`,"no-email":`Inserisci un indirizzo email`,pageTitle:"Registrati | ${clientName}",phonePlaceholder:`Numero di telefono`,separatorText:`o`,title:`Crea il tuo account`,usernamePlaceholder:`Nome utente`}},"signup-password":{"signup-password":{buttonText:`Continua`,description:`Registrati per continuare`,hidePasswordText:`Nascondi password`,"no-password":`La password è obbligatoria`,pageTitle:"Registrati | ${clientName}","password-policy-not-met":`La password non soddisfa i requisiti`,"password-too-weak":`La password è troppo debole`,passwordPlaceholder:`Password`,showPasswordText:`Mostra password`,title:`Crea la tua password`}},"sms-otp-challenge":{"sms-otp-challenge":{buttonText:`Continua`,codeLabel:`Codice di verifica`,codePlaceholder:`Inserisci il codice`,defaultDescription:`Inserisci il codice di verifica inviato al tuo telefono`,description:"Abbiamo inviato un codice a ${username}","invalid-code":`Codice non valido`,noCode:`Inserisci il codice di verifica`,pageTitle:"Inserisci il codice | ${clientName}",resendText:`Reinvia codice`,sessionExpired:`La sessione è scaduta. Riprova.`,title:`Controlla il tuo telefono`,unexpectedError:`Si è verificato un errore imprevisto`}},status:Xf},kne=c({common:()=>Zf,consent:()=>Qf,default:()=>op,invitation:()=>$f,login:()=>ep,mfa:()=>tp,organizations:()=>rp,passkeys:()=>np,signup:()=>ip,status:()=>ap}),Zf={common:{alertListTitle:`Varsler`,backText:`Gå tilbake`,cancelText:`Avbryt`,closeText:`Lukk`,contactSupportText:`Kontakt kundestøtte`,continueText:`Fortsett`,copyrightText:"© ${currentYear} ${companyName}",errorText:`Det oppstod en feil`,hidePasswordText:`Skjul passord`,loadingText:`Laster...`,orText:`eller`,privacyPolicyText:`Personvernerklæring`,showPasswordText:`Vis passord`,termsOfServiceText:`Vilkår for bruk`,termsShortText:`Vilkår`,tryAgainText:`Prøv igjen`}},Qf={consent:{buttonText:`Godta`,cancelButtonText:`Avslå`,description:"${clientName} ber om tilgang til kontoen din",pageTitle:"Godkjenn | ${clientName}",scopesTitle:"Dette vil gi ${clientName} tillatelse til å:",title:"Godkjenn ${clientName}"}},$f={invitation:{acceptButtonText:`Godta invitasjon`,description:"${inviterName} har invitert deg til å bli med i ${organizationName} på ${clientName}",pageTitle:"Invitasjon | ${clientName}",title:`Du har blitt invitert`}},ep={login:{alertListTitle:`Varsler`,buttonText:`Fortsett`,description:"Logg inn på ${clientName}.",editEmailText:`Rediger`,emailPlaceholder:`E-postadresse`,enterACodeBtn:`Logg inn med en kode`,federatedConnectionButtonText:"Fortsett med ${connectionName}",footerLinkText:`Registrer deg`,footerText:`Har du ikke en konto?`,forgotPasswordText:`Har du glemt passordet?`,hidePasswordText:`Skjul passord`,invalidEmail:`Ugyldig e-postadresse`,invalidIdentifier:`Ugyldig e-postadresse eller brukernavn`,invitationDescription:"Logg inn for å godta ${inviterName} sin invitasjon til å bli med i ${companyName} på ${clientName}.",invitationTitle:`Du har blitt invitert!`,logoAltText:"${companyName}","no-email":`Vennligst oppgi en e-postadresse`,"no-password":`Passord er påkrevd`,pageTitle:"Logg inn | ${clientName}",passwordLoginNotAvailable:`Passordautentisering er ikke tilgjengelig`,passwordPlaceholder:`Passord`,phonePlaceholder:`Telefonnummer`,separatorText:`eller`,sessionExpired:`Økten din har utløpt. Vennligst prøv igjen.`,showPasswordText:`Vis passord`,signupActionLinkText:`Registrer deg`,signupActionText:`Har du ikke en konto?`,title:`Velkommen`,tooManyFailedLogins:`For mange mislykkede innloggingsforsøk. Vennligst prøv igjen senere.`,unverifiedEmail:`Vennligst bekreft e-postadressen din før du logger inn`,userAccountDoesNotExist:`Brukerkontoen finnes ikke`,usernamePlaceholder:`Brukernavn eller e-postadresse`,usernameTooLong:"Brukernavnet må være ${max} tegn eller færre",usernameTooShort:"Brukernavnet må være minst ${min} tegn",wrongCredentials:`Feil brukernavn eller passord`,passkeyButtonText:`Logg inn med passkey`}},tp={mfa:{backupCodeText:`Bruk reservekode`,description:`Velg en bekreftelsesmetode`,pageTitle:"Flerfaktorautentisering | ${clientName}",title:`Bekreft identiteten din`}},np={"passkey-enrollment-nudge":{title:`Sikre kontoen din med en passnøkkel`,description:`Passnøkler bruker enhetens biometri eller PIN-kode for å logge deg inn raskere og sikrere.`,enrollButtonText:`Sett opp passnøkkel`,snoozeButtonText:`Kanskje senere`,optOutLinkText:`Ikke vis dette igjen`,pageTitle:"Sett Opp Passnøkkel | ${clientName}"},"passkey-enrollment":{title:`Opprett passnøkkelen din`,description:`Følg instruksjonene fra nettleseren for å opprette en passnøkkel for denne kontoen.`,errorMessage:`Kunne ikke opprette passnøkkel. Vennligst prøv igjen.`,cancelLinkText:`Hopp over for nå`,retryButtonText:`Prøv igjen`,enrollmentComplete:`Passnøkkelen din er konfigurert. Du kan lukke denne siden.`,pageTitle:"Opprett Passnøkkel | ${clientName}"},"passkey-challenge":{title:`Logg inn med passkey`,description:`Følg instruksjonene fra nettleseren for å bekrefte identiteten din.`,errorMessage:`Autentisering med passkey mislyktes. Vennligst prøv igjen.`,cancelLinkText:`Tilbake til innlogging`,retryButtonText:`Prøv igjen`,pageTitle:"Logg inn med passkey | ${clientName}"}},rp={organizations:{description:`Velg hvilken organisasjon du vil logge inn på`,pageTitle:"Velg organisasjon | ${clientName}",searchPlaceholder:`Søk etter organisasjoner`,title:`Velg din organisasjon`}},ip={signup:{buttonText:`Registrer deg`,confirmPasswordPlaceholder:`Bekreft passord`,description:`Registrer deg for å fortsette`,"email-already-exists":`E-postadressen er allerede registrert`,emailPlaceholder:`E-postadresse`,federatedConnectionButtonText:"Fortsett med ${connectionName}",hidePasswordText:`Skjul passord`,"invalid-email-format":`Ugyldig e-postadresse`,loginActionLinkText:`Logg inn`,loginActionText:`Har du allerede en konto?`,"no-email":`Vennligst oppgi en e-postadresse`,"no-password":`Passord er påkrevd`,"no-username":`Brukernavn er påkrevd`,pageTitle:"Registrer deg | ${clientName}",passwordPlaceholder:`Passord`,passwordsDidntMatch:`Passordene samsvarer ikke`,phonePlaceholder:`Telefonnummer`,privacyPolicyLinkText:`Personvernerklæring`,separatorText:`eller`,sessionExpired:`Økten din har utløpt. Vennligst prøv igjen.`,showPasswordText:`Vis passord`,termsOfServiceLinkText:`Vilkår for bruk`,termsText:`Ved å registrere deg godtar du våre`,title:`Opprett kontoen din`,"username-already-exists":`Dette brukernavnet er allerede tatt`,usernamePlaceholder:`Brukernavn`,verifyEmailText:`Sjekk e-posten din for å bekrefte kontoen`}},ap={status:{continueButtonText:`Fortsett`,errorTitle:`Feil`,pageTitle:"Status | ${clientName}",successTitle:`Vellykket`,title:`Status`}},op={common:Zf,consent:Qf,"device-flow":{"device-flow":{buttonText:`Fortsett`,codePlaceholder:`Skriv inn kode`,description:`Skriv inn koden som vises på enheten din`,"expired-code":`Koden har utløpt`,"invalid-code":`Koden du skrev inn er ugyldig`,pageTitle:"Enhetsaktivering | ${clientName}",title:`Aktiver enheten din`}},"email-otp-challenge":{"email-otp-challenge":{buttonText:`Fortsett`,codeLabel:`Bekreftelseskode`,codePlaceholder:`Skriv inn kode`,defaultDescription:`Skriv inn bekreftelseskoden som ble sendt til e-posten din`,description:"Vi sendte en kode til ${email}","invalid-code":`Ugyldig kode`,noCode:`Vennligst skriv inn bekreftelseskoden`,pageTitle:"Skriv inn kode | ${clientName}",resendText:`Send kode på nytt`,sessionExpired:`Økten din har utløpt. Vennligst prøv igjen.`,title:`Sjekk e-posten din`,unexpectedError:`En uventet feil oppstod`}},"email-verification":{"email-verification":{description:"Vi sendte en e-post til ${email}",pageTitle:"Bekreft e-post | ${clientName}",resendText:`Send e-post på nytt`,successDescription:`E-postadressen din er bekreftet.`,successTitle:`E-post bekreftet`,title:`Bekreft e-posten din`}},invitation:$f,login:ep,"login-id":{"login-id":{alertListTitle:`Varsler`,"auth0-users-validation":`Noe gikk galt, vennligst prøv igjen senere`,"authentication-failure":`Beklager, noe gikk galt under innloggingsforsøket`,buttonText:`Fortsett`,"captcha-client-failure":`Vi kunne ikke laste sikkerhetsutfordringen. Vennligst prøv igjen. (Feilkode: #{errorCode})`,"captcha-validation-failure":`Beklager, noe gikk galt under validering av captcha-svaret. Vennligst prøv igjen.`,captchaCodePlaceholder:`Skriv inn koden som vises ovenfor`,"custom-script-error-code":`Noe gikk galt, vennligst prøv igjen senere.`,description:"Logg inn på ${clientName}.",editEmailText:`Rediger`,emailPlaceholder:`E-postadresse`,federatedConnectionButtonText:"Fortsett med ${connectionName}",footerLinkText:`Registrer deg`,footerText:`Har du ikke en konto?`,forgotPasswordText:`Har du glemt passordet?`,hidePasswordText:`Skjul passord`,"invalid-captcha":`Løs utfordringen for å bekrefte at du ikke er en robot.`,"invalid-code":`Ugyldig kode`,"invalid-connection":`Ugyldig tilkobling`,"invalid-email-format":`Ugyldig e-postadresse`,"invalid-email-phone":`Skriv inn en gyldig e-postadresse eller telefonnummer. Telefonnumre må inkludere landskode.`,"invalid-email-phone-username":`Skriv inn en gyldig e-postadresse, telefonnummer eller brukernavn. Telefonnumre må inkludere landskode.`,"invalid-email-username":`Skriv inn en gyldig e-postadresse eller brukernavn`,"invalid-expired-code":`Ugyldig eller utløpt brukerkode`,"invalid-login-id":`Ugyldig innloggings-ID`,"invalid-phone-username":`Skriv inn et gyldig telefonnummer eller brukernavn. Telefonnumre må inkludere landskode.`,"invalid-recaptcha":`Kryss av i boksen for å bekrefte at du ikke er en robot.`,"invalid-username":"Brukernavnet kan bare inneholde alfanumeriske tegn eller: '${characters}'. Brukernavnet må ha mellom ${min} og ${max} tegn.",invitationDescription:"Logg inn for å godta ${inviterName} sin invitasjon til å bli med i ${companyName} på ${clientName}.",invitationTitle:`Du har blitt invitert!`,"ip-blocked":`Vi har oppdaget mistenkelig innloggingsaktivitet, og videre forsøk vil bli blokkert. Vennligst kontakt administratoren.`,logoAltText:"${companyName}","no-db-connection":`Ugyldig tilkobling`,"no-email":`Vennligst oppgi en e-postadresse`,"no-email-phone":`E-postadresse eller telefonnummer er påkrevd`,"no-email-phone-username":`Telefonnummer, brukernavn eller e-postadresse er påkrevd`,"no-email-username":`E-postadresse eller brukernavn er påkrevd`,"no-password":`Passord er påkrevd`,"no-phone":`Vennligst oppgi et telefonnummer`,"no-phone-username":`Telefonnummer eller brukernavn er påkrevd`,"no-username":`Brukernavn er påkrevd`,pageTitle:"Logg inn | ${clientName}","password-breached":`Vi har oppdaget et potensielt sikkerhetsproblem med denne kontoen. For å beskytte kontoen din har vi forhindret denne innloggingen. Vennligst tilbakestill passordet ditt for å fortsette.`,passwordPlaceholder:`Passord`,phoneOrEmailPlaceholder:`E-post eller telefonnummer`,phoneOrUsernameOrEmailPlaceholder:`Telefon, brukernavn eller e-post`,phoneOrUsernamePlaceholder:`Telefonnummer eller brukernavn`,phonePlaceholder:`Telefonnummer`,"same-user-login":`For mange innloggingsforsøk for denne brukeren. Vennligst vent og prøv igjen senere.`,selectCountryCode:"Velg landskode, for øyeblikket satt til ${countryName}, ${countryCode}, +${countryPrefix}",separatorText:`eller`,sessionExpired:`Økten din har utløpt. Vennligst prøv igjen.`,showPasswordText:`Vis passord`,signupActionLinkText:`Registrer deg`,signupActionText:`Har du ikke en konto?`,termsAndConditionsTemplate:'Ved å fortsette godtar du våre <a href="${termsAndConditionsUrl}" target="_blank" rel="noopener noreferrer">vilkår</a>.',title:`Velkommen`,"user-blocked":`Kontoen din har blitt blokkert etter flere påfølgende innloggingsforsøk.`,userAccountDoesNotExist:`Brukerkontoen finnes ikke`,usernameOnlyPlaceholder:`Brukernavn`,usernameOrEmailPlaceholder:`Brukernavn eller e-postadresse`,usernamePlaceholder:`Brukernavn eller e-postadresse`,usernameTooLong:"Brukernavnet må være ${max} tegn eller færre",usernameTooShort:"Brukernavnet må være minst ${min} tegn","wrong-credentials":`Feil brukernavn eller passord`,"wrong-email-credentials":`Feil e-postadresse eller passord`,"wrong-email-phone-credentials":`Feil e-postadresse, telefonnummer eller passord. Telefonnumre må inkludere landskode.`,"wrong-email-phone-username-credentials":`Feil e-postadresse, telefonnummer, brukernavn eller passord. Telefonnumre må inkludere landskode.`,"wrong-email-username-credentials":`Feil e-postadresse, brukernavn eller passord`,"wrong-phone-credentials":`Feil telefonnummer eller passord`,"wrong-phone-username-credentials":`Feil telefonnummer, brukernavn eller passord. Telefonnumre må inkludere landskode.`,"wrong-username-credentials":`Feil brukernavn eller passord`,passkeyButtonText:`Logg inn med passkey`}},"login-password":{"login-password":{buttonText:`Logg inn`,description:"Logg inn på ${clientName}",forgotPasswordText:`Har du glemt passordet?`,hidePasswordText:`Skjul passord`,"no-password":`Passord er påkrevd`,pageTitle:"Logg inn | ${clientName}","password-breached":`Vi har oppdaget et potensielt sikkerhetsproblem med denne kontoen. For å beskytte kontoen din har vi forhindret denne innloggingen. Vennligst tilbakestill passordet ditt for å fortsette.`,passwordPlaceholder:`Passord`,showPasswordText:`Vis passord`,signingInAs:"Logger inn som ${email}",title:`Oppgi passord`,unverifiedEmail:`Vennligst bekreft e-postadressen din før du logger inn`,"user-blocked":`Kontoen din har blitt blokkert etter flere påfølgende innloggingsforsøk.`,"wrong-credentials":`Feil passord`}},"login-passwordless":{"login-passwordless":{authMethodEmail:`e-post`,authMethodEmailOrPhone:`e-post eller telefonnummer`,authMethodPhone:`telefonnummer`,description:"Logg inn med din ${authMethod}",emailOrPhonePlaceholder:`E-postadresse eller telefonnummer`,emailPlaceholder:`E-postadresse`,invalidEmail:`Vennligst oppgi en gyldig e-postadresse`,invalidIdentifier:`Vennligst oppgi en gyldig e-postadresse eller telefonnummer`,invalidPhone:`Vennligst oppgi et gyldig telefonnummer med landskode`,noEmail:`Vennligst oppgi e-postadressen din`,noPhone:`Vennligst oppgi telefonnummeret ditt`,phonePlaceholder:`Telefonnummer`,sessionExpired:`Økten din har utløpt. Vennligst prøv igjen.`,title:`Logg inn med en kode`,userAccountDoesNotExist:`Brukerkontoen finnes ikke`}},"magic-link-sent":{"magic-link-sent":{defaultDescription:`Klikk på lenken i e-posten for å logge inn`,description:"Vi sendte en lenke til ${username}. Klikk på den for å logge inn.",resendText:`Send lenke på nytt`,spamText:`Fikk du ikke e-posten? Sjekk søppelpostmappen.`,title:`Sjekk e-posten din`}},mfa:tp,"mfa-email":{"mfa-email":{buttonText:`Fortsett`,codePlaceholder:`Skriv inn kode`,description:"Vi sendte en kode til ${email}","invalid-code":`Koden du skrev inn er ugyldig`,pageTitle:"E-postbekreftelse | ${clientName}",resendText:`Send kode på nytt`,title:`Sjekk e-posten din`}},"mfa-otp":{"mfa-otp":{buttonText:`Fortsett`,codePlaceholder:`Skriv inn kode`,description:`Skriv inn den 6-sifrede koden fra autentiseringsappen din`,"invalid-code":`Koden du skrev inn er ugyldig`,pageTitle:"Skriv inn kode | ${clientName}",title:`Skriv inn koden din`},"mfa-totp-enrollment":{title:`Sett opp autentisering`,description:`Skann QR-koden nedenfor med autentiseringsappen din, og skriv deretter inn den 6-sifrede koden for å verifisere`,secretLabel:`Eller skriv inn denne koden manuelt:`,codePlaceholder:`Skriv inn kode`,continueButtonText:`Bekreft og aktiver`,"invalid-code":`Koden du skrev inn er ugyldig. Vennligst prøv igjen.`,"transaction-not-found":`Registreringsøkten din har utløpt, du må starte på nytt.`,pageTitle:"Sett opp autentisering | ${clientName}",unexpectedError:`Noe gikk galt. Vennligst prøv igjen.`,enrollmentComplete:`MFA-registreringen er fullført. Du kan lukke denne siden.`},"mfa-totp-challenge":{title:`Bekreft identiteten din`,description:`Skriv inn den 6-sifrede koden fra autentiseringsappen din`,codePlaceholder:`Skriv inn kode`,continueButtonText:`Fortsett`,"invalid-code":`Koden du skrev inn er ugyldig`,"transaction-not-found":`Registreringsøkten din har utløpt, du må starte på nytt.`,unexpectedError:`Noe gikk galt. Vennligst prøv igjen.`,pageTitle:"Bekreft identitet | ${clientName}"}},"mfa-phone":{"mfa-phone-challenge":{pageTitle:"Bruk telefonnummeret ditt for å logge inn | ${clientName}",title:`Bekreft identiteten din`,description:"Vi sendte en kode til ${phoneNumber}",continueButtonText:`Fortsett`,changePhoneText:`Velg et annet telefonnummer.`,smsButtonText:`Tekstmelding`,voiceButtonText:`Taleanrop`,chooseMessageTypeText:`Hvordan vil du motta koden?`,pickAuthenticatorText:`Prøv en annen metode`,logoAltText:"${companyName}",codePlaceholder:`Skriv inn kode`,"send-sms-failed":`Det oppstod et problem med å sende SMS-en`,"send-voice-failed":`Det oppstod et problem med å ringe taleanropet`,"invalid-phone-format":`Telefonnummeret kan bare inneholde sifre.`,"invalid-phone":`Det ser ut som telefonnummeret ditt ikke er gyldig. Sjekk og prøv igjen.`,"too-many-sms":`Du har overskredet maksimalt antall telefonmeldinger per time. Vent noen minutter og prøv igjen.`,"too-many-voice":`Du har overskredet maksimalt antall telefonmeldinger per time. Vent noen minutter og prøv igjen.`,"transaction-not-found":`Registreringstransaksjonen din har utløpt, du må starte på nytt.`,"no-phone":`Skriv inn et telefonnummer`,noCode:`Vennligst skriv inn bekreftelseskoden`,invalidCode:`Koden du skrev inn er ugyldig. Prøv igjen.`,unexpectedError:`Noe gikk galt. Prøv igjen.`,resendSuccess:`Vi sendte en ny kode til telefonen din`,enrollmentComplete:`MFA-registreringen er fullført. Du kan lukke denne siden.`},"mfa-phone-enrollment":{pageTitle:"Skriv inn telefonnummeret ditt for å logge inn med en telefonkode | ${clientName}",title:`Sikre kontoen din`,description:`Skriv inn landskoden og telefonnummeret vi kan sende en 6-sifret kode til:`,continueButtonText:`Fortsett`,smsButtonText:`Tekstmelding`,voiceButtonText:`Taleanrop`,chooseMessageTypeText:`Hvordan vil du motta koden?`,pickAuthenticatorText:`Prøv en annen metode`,placeholder:`Skriv inn telefonnummeret ditt`,logoAltText:"${companyName}",selectCountryCode:"Velg landskode, for øyeblikket satt til ${countryName}, ${countryCode}, +${countryPrefix}","send-sms-failed":`Det oppstod et problem med å sende SMS-en`,"send-voice-failed":`Det oppstod et problem med å ringe taleanropet`,"sms-authenticator-error":`Vi kunne ikke sende SMS-en. Prøv igjen senere.`,"invalid-phone-format":`Telefonnummeret kan bare inneholde sifre.`,"invalid-phone":`Det ser ut som telefonnummeret ditt ikke er gyldig. Sjekk og prøv igjen.`,"too-many-sms":`Du har overskredet maksimalt antall telefonmeldinger per time. Vent noen minutter og prøv igjen.`,"too-many-voice":`Du har overskredet maksimalt antall telefonmeldinger per time. Vent noen minutter og prøv igjen.`,"transaction-not-found":`Registreringstransaksjonen din har utløpt, du må starte på nytt.`,"no-phone":`Skriv inn et telefonnummer`,"phone-is-too-short":`Telefonnummeret er for kort`,"phone-is-too-long":`Telefonnummeret er for langt`}},"mfa-login-options":{"mfa-login-options":{pageTitle:"Velg bekreftelsesmetode | ${clientName}",title:`Velg bekreftelsesmetode`,description:`Velg hvordan du vil bekrefte identiteten din`,authenticatorAppLabel:`Autentiseringsapp`,authenticatorAppDescription:`Bruk autentiseringsappen din for å få en bekreftelseskode`,smsLabel:`Tekstmelding`,smsDescription:`Få en bekreftelseskode sendt til telefonen din`,passkeyLabel:`Passnøkkel`,passkeyDescription:`Bruk enhetens biometri eller sikkerhetsnøkkel`}},"mfa-push":{"mfa-push":{description:`Vi sendte en varsling til enheten din`,pageTitle:"Push-varsling | ${clientName}",resendText:`Send varsling på nytt`,title:`Godkjenn forespørselen`,useCodeText:`Skriv inn kode manuelt`}},"mfa-recovery-code":{"mfa-recovery-code":{buttonText:`Fortsett`,codePlaceholder:`Gjenopprettingskode`,description:`Skriv inn en av gjenopprettingskodene dine`,"invalid-code":`Gjenopprettingskoden du skrev inn er ugyldig`,pageTitle:"Gjenopprettingskode | ${clientName}",title:`Skriv inn gjenopprettingskode`}},"mfa-voice":{"mfa-voice":{buttonText:`Ring meg`,codePlaceholder:`Skriv inn kode`,description:"Vi ringer ${phoneNumber} med koden din","invalid-code":`Koden du skrev inn er ugyldig`,pageTitle:"Taleanrop | ${clientName}",title:`Motta en telefonsamtale`}},"mfa-webauthn":{"mfa-webauthn":{buttonText:`Prøv igjen`,description:`Sett inn sikkerhetsnøkkelen din og følg instruksjonene`,pageTitle:"Sikkerhetsnøkkel | ${clientName}",title:`Bruk sikkerhetsnøkkelen din`}},passkeys:np,organizations:rp,"reset-password":{"reset-password":{backToLoginText:`Tilbake til innlogging`,buttonText:`Fortsett`,codeExpired:`Koden for tilbakestilling av passord har utløpt. Vennligst be om en ny.`,confirmPasswordLabel:`Bekreft passord`,confirmPasswordPlaceholder:`Bekreft passord`,description:`Oppgi e-postadressen din for å tilbakestille passordet`,emailPlaceholder:`E-postadresse`,failed:`Tilbakestilling av passord mislyktes. Vennligst prøv igjen.`,"invalid-email-format":`Ugyldig e-postadresse`,"no-email":`Vennligst oppgi en e-postadresse`,pageTitle:"Tilbakestill passord | ${clientName}",passwordLabel:`Nytt passord`,passwordPlaceholder:`Nytt passord`,passwordTooWeak:`Passordet er for svakt`,passwordsDidntMatch:`Passordene samsvarer ikke`,successDescription:`Vi har sendt en lenke for tilbakestilling av passord til e-postadressen din.`,successTitle:`Sjekk e-posten din`,title:`Har du glemt passordet?`,"user-not-found":`Brukeren ble ikke funnet`},"reset-password-code":{backToLoginText:`Tilbake til innlogging`,buttonText:`Tilbakestill passord`,codeLabel:`Tilbakestillingskode`,codePlaceholder:`Skriv inn 6-sifret kode`,confirmPasswordLabel:`Bekreft passord`,confirmPasswordPlaceholder:`Bekreft passord`,defaultDescription:`Skriv inn koden som ble sendt til e-posten din og velg et nytt passord`,description:"Vi sendte en kode til ${email}",failed:`Tilbakestilling av passord mislyktes. Vennligst prøv igjen.`,invalidCode:`Koden du skrev inn er ugyldig eller har utløpt`,noCode:`Vennligst skriv inn tilbakestillingskoden`,pageTitle:"Skriv inn tilbakestillingskode | ${clientName}",passwordLabel:`Nytt passord`,passwordPlaceholder:`Nytt passord`,passwordTooWeak:`Passordet er for svakt`,passwordsDidntMatch:`Passordene samsvarer ikke`,resendFailed:`Kunne ikke sende koden på nytt. Vennligst prøv igjen.`,resendSuccess:`En ny kode har blitt sendt til e-posten din`,resendText:`Send kode på nytt`,sessionExpired:`Økten din har utløpt. Vennligst prøv igjen.`,title:`Skriv inn tilbakestillingskode`}},signup:ip,"signup-id":{"signup-id":{buttonText:`Fortsett`,description:`Registrer deg for å fortsette`,"email-already-exists":`E-postadressen er allerede registrert`,emailPlaceholder:`E-postadresse`,federatedConnectionButtonText:"Fortsett med ${connectionName}","invalid-email-format":`Ugyldig e-postadresse`,loginActionLinkText:`Logg inn`,loginActionText:`Har du allerede en konto?`,"no-email":`Vennligst oppgi en e-postadresse`,pageTitle:"Registrer deg | ${clientName}",phonePlaceholder:`Telefonnummer`,separatorText:`eller`,title:`Opprett kontoen din`,usernamePlaceholder:`Brukernavn`}},"signup-password":{"signup-password":{buttonText:`Fortsett`,description:`Opprett et passord for å fortsette`,hidePasswordText:`Skjul passord`,"no-password":`Passord er påkrevd`,pageTitle:"Registrer deg | ${clientName}","password-policy-not-met":`Passordet oppfyller ikke kravene`,"password-too-weak":`Passordet er for svakt`,passwordPlaceholder:`Passord`,showPasswordText:`Vis passord`,title:`Opprett passordet ditt`}},"sms-otp-challenge":{"sms-otp-challenge":{buttonText:`Fortsett`,codeLabel:`Bekreftelseskode`,codePlaceholder:`Skriv inn kode`,defaultDescription:`Skriv inn bekreftelseskoden som ble sendt til telefonen din`,description:"Vi sendte en kode til ${username}","invalid-code":`Ugyldig kode`,noCode:`Vennligst skriv inn bekreftelseskoden`,pageTitle:"Skriv inn kode | ${clientName}",resendText:`Send kode på nytt`,sessionExpired:`Økten din har utløpt. Vennligst prøv igjen.`,title:`Sjekk telefonen din`,unexpectedError:`En uventet feil oppstod`}},status:ap},sp=c({common:()=>cp,consent:()=>lp,default:()=>_p,invitation:()=>up,login:()=>dp,mfa:()=>fp,organizations:()=>mp,passkeys:()=>pp,signup:()=>hp,status:()=>gp}),cp={common:{alertListTitle:`Powiadomienia`,backText:`Wróć`,cancelText:`Anuluj`,closeText:`Zamknij`,contactSupportText:`Potrzebujesz pomocy?`,continueText:`Kontynuuj`,copyrightText:"© ${currentYear} ${companyName}",errorText:`Coś poszło nie tak. Spróbuj ponownie.`,hidePasswordText:`Ukryj hasło`,loadingText:`Ładowanie...`,orText:`lub`,privacyPolicyText:`Polityka prywatności`,showPasswordText:`Pokaż hasło`,termsOfServiceText:`Regulamin`,termsShortText:`Zasady`,tryAgainText:`Spróbuj ponownie`}},lp={consent:{buttonText:`Zaakceptuj`,cancelButtonText:`Odmów`,description:"${clientName} prosi o dostęp do Twojego konta",pageTitle:"Autoryzacja | ${clientName}",scopesTitle:"Umożliwi to ${clientName}:",title:"Autoryzuj ${clientName}"}},up={invitation:{acceptButtonText:`Przyjmij zaproszenie`,description:"${inviterName} zaprosił Cię do dołączenia do ${organizationName} w ${clientName}",pageTitle:"Zaproszenie | ${clientName}",title:`Otrzymałeś zaproszenie`}},dp={login:{alertListTitle:`Powiadomienia`,buttonText:`Kontynuuj`,description:"Zaloguj się do ${clientName}.",editEmailText:`Edytuj`,emailPlaceholder:`Adres e-mail`,enterACodeBtn:`Zaloguj się kodem`,federatedConnectionButtonText:"Kontynuuj z ${connectionName}",footerLinkText:`Zarejestruj się`,footerText:`Nie masz konta?`,forgotPasswordText:`Zapomniałeś hasła?`,hidePasswordText:`Ukryj hasło`,invalidEmail:`Nieprawidłowy adres e-mail`,invalidIdentifier:`Nieprawidłowy adres e-mail lub nazwa użytkownika`,invitationDescription:"Zaloguj się, aby przyjąć zaproszenie od ${inviterName} do dołączenia do ${companyName} w ${clientName}.",invitationTitle:`Otrzymałeś zaproszenie!`,logoAltText:"${companyName}","no-email":`Wprowadź adres e-mail`,"no-password":`Hasło jest wymagane`,pageTitle:"Logowanie | ${clientName}",passwordLoginNotAvailable:`Logowanie hasłem jest niedostępne`,passwordPlaceholder:`Hasło`,phonePlaceholder:`Numer telefonu`,separatorText:`lub`,sessionExpired:`Twoja sesja wygasła. Spróbuj ponownie.`,showPasswordText:`Pokaż hasło`,signupActionLinkText:`Zarejestruj się`,signupActionText:`Nie masz konta?`,title:`Witamy`,tooManyFailedLogins:`Zbyt wiele nieudanych prób logowania. Spróbuj ponownie później.`,unverifiedEmail:`Zweryfikuj swój adres e-mail przed zalogowaniem`,userAccountDoesNotExist:`Konto użytkownika nie istnieje`,usernamePlaceholder:`Nazwa użytkownika lub adres e-mail`,usernameTooLong:"Nazwa użytkownika musi mieć maksymalnie ${max} znaków",usernameTooShort:"Nazwa użytkownika musi mieć co najmniej ${min} znaków",wrongCredentials:`Nieprawidłowa nazwa użytkownika lub hasło`,passkeyButtonText:`Zaloguj się za pomocą passkey`}},fp={mfa:{backupCodeText:`Użyj kodu zapasowego`,description:`Wybierz metodę weryfikacji`,pageTitle:"Uwierzytelnianie wieloskładnikowe | ${clientName}",title:`Zweryfikuj swoją tożsamość`}},pp={"passkey-enrollment-nudge":{title:`Zabezpiecz swoje konto kluczem dostępu`,description:`Klucze dostępu wykorzystują biometrię lub PIN urządzenia, aby logować się szybciej i bezpieczniej.`,enrollButtonText:`Skonfiguruj klucz dostępu`,snoozeButtonText:`Może później`,optOutLinkText:`Nie pokazuj ponownie`,pageTitle:"Konfiguracja Klucza Dostępu | ${clientName}"},"passkey-enrollment":{title:`Utwórz klucz dostępu`,description:`Postępuj zgodnie z instrukcjami przeglądarki, aby utworzyć klucz dostępu dla tego konta.`,errorMessage:`Nie udało się utworzyć klucza dostępu. Spróbuj ponownie.`,cancelLinkText:`Pomiń na razie`,retryButtonText:`Spróbuj ponownie`,enrollmentComplete:`Twój klucz dostępu został pomyślnie skonfigurowany. Możesz zamknąć tę stronę.`,pageTitle:"Tworzenie Klucza Dostępu | ${clientName}"},"passkey-challenge":{title:`Zaloguj się za pomocą passkey`,description:`Postępuj zgodnie z instrukcjami przeglądarki, aby zweryfikować swoją tożsamość.`,errorMessage:`Uwierzytelnianie za pomocą passkey nie powiodło się. Spróbuj ponownie.`,cancelLinkText:`Powrót do logowania`,retryButtonText:`Spróbuj ponownie`,pageTitle:"Logowanie za pomocą passkey | ${clientName}"}},mp={organizations:{description:`Wybierz organizację, do której chcesz się zalogować`,pageTitle:"Wybierz organizację | ${clientName}",searchPlaceholder:`Szukaj organizacji`,title:`Wybierz swoją organizację`}},hp={signup:{buttonText:`Zarejestruj się`,confirmPasswordPlaceholder:`Potwierdź hasło`,description:`Zarejestruj się, aby kontynuować`,"email-already-exists":`Ten adres e-mail jest już zarejestrowany`,emailPlaceholder:`Adres e-mail`,federatedConnectionButtonText:"Kontynuuj z ${connectionName}",hidePasswordText:`Ukryj hasło`,"invalid-email-format":`Nieprawidłowy adres e-mail`,loginActionLinkText:`Zaloguj się`,loginActionText:`Masz już konto?`,"no-email":`Wprowadź adres e-mail`,"no-password":`Hasło jest wymagane`,"no-username":`Nazwa użytkownika jest wymagana`,pageTitle:"Rejestracja | ${clientName}",passwordPlaceholder:`Hasło`,passwordsDidntMatch:`Hasła nie są zgodne`,phonePlaceholder:`Numer telefonu`,privacyPolicyLinkText:`Polityka prywatności`,separatorText:`lub`,sessionExpired:`Twoja sesja wygasła. Spróbuj ponownie.`,showPasswordText:`Pokaż hasło`,termsOfServiceLinkText:`Regulamin`,termsText:`Rejestrując się, akceptujesz nasz`,title:`Utwórz konto`,"username-already-exists":`Ta nazwa użytkownika jest już zajęta`,usernamePlaceholder:`Nazwa użytkownika`,verifyEmailText:`Sprawdź swoją pocztę, aby zweryfikować konto`}},gp={status:{continueButtonText:`Kontynuuj`,errorTitle:`Błąd`,pageTitle:"Status | ${clientName}",successTitle:`Sukces`,title:`Status`}},_p={common:cp,consent:lp,"device-flow":{"device-flow":{buttonText:`Kontynuuj`,codePlaceholder:`Wprowadź kod`,description:`Wprowadź kod wyświetlony na Twoim urządzeniu`,"expired-code":`Kod wygasł`,"invalid-code":`Wprowadzony kod jest nieprawidłowy`,pageTitle:"Aktywacja urządzenia | ${clientName}",title:`Aktywuj swoje urządzenie`}},"email-otp-challenge":{"email-otp-challenge":{buttonText:`Kontynuuj`,codeLabel:`Kod weryfikacyjny`,codePlaceholder:`Wprowadź kod`,defaultDescription:`Wprowadź kod weryfikacyjny wysłany na Twój adres e-mail`,description:"Wysłaliśmy kod na ${email}","invalid-code":`Nieprawidłowy kod`,noCode:`Wprowadź kod weryfikacyjny`,pageTitle:"Wprowadź kod | ${clientName}",resendText:`Wyślij ponownie kod`,sessionExpired:`Twoja sesja wygasła. Spróbuj ponownie.`,title:`Sprawdź swoją pocztę`,unexpectedError:`Wystąpił nieoczekiwany błąd`}},"email-verification":{"email-verification":{description:"Wysłaliśmy wiadomość na ${email}",pageTitle:"Weryfikacja e-mail | ${clientName}",resendText:`Wyślij ponownie e-mail`,successDescription:`Twój adres e-mail został pomyślnie zweryfikowany.`,successTitle:`E-mail zweryfikowany`,title:`Zweryfikuj swój adres e-mail`}},invitation:up,login:dp,"login-id":{"login-id":{alertListTitle:`Powiadomienia`,"auth0-users-validation":`Coś poszło nie tak, spróbuj ponownie później`,"authentication-failure":`Przepraszamy, wystąpił błąd podczas logowania`,buttonText:`Kontynuuj`,"captcha-client-failure":`Nie udało się załadować weryfikacji bezpieczeństwa. Spróbuj ponownie. (Kod błędu: #{errorCode})`,"captcha-validation-failure":`Przepraszamy, wystąpił błąd podczas weryfikacji captcha. Spróbuj ponownie.`,captchaCodePlaceholder:`Wprowadź kod widoczny powyżej`,"custom-script-error-code":`Coś poszło nie tak, spróbuj ponownie później.`,description:"Zaloguj się do ${clientName}.",editEmailText:`Edytuj`,emailPlaceholder:`Adres e-mail`,federatedConnectionButtonText:"Kontynuuj z ${connectionName}",footerLinkText:`Zarejestruj się`,footerText:`Nie masz konta?`,forgotPasswordText:`Zapomniałeś hasła?`,hidePasswordText:`Ukryj hasło`,"invalid-captcha":`Rozwiąż zadanie, aby potwierdzić, że nie jesteś robotem.`,"invalid-code":`Nieprawidłowy kod`,"invalid-connection":`Nieprawidłowe połączenie`,"invalid-email-format":`Nieprawidłowy adres e-mail`,"invalid-email-phone":`Wprowadź prawidłowy adres e-mail lub numer telefonu. Numery telefonów muszą zawierać kod kraju.`,"invalid-email-phone-username":`Wprowadź prawidłowy adres e-mail, numer telefonu lub nazwę użytkownika. Numery telefonów muszą zawierać kod kraju.`,"invalid-email-username":`Wprowadź prawidłowy adres e-mail lub nazwę użytkownika`,"invalid-expired-code":`Nieprawidłowy lub wygasły kod użytkownika`,"invalid-login-id":`Wprowadzono nieprawidłowy identyfikator logowania`,"invalid-phone-username":`Wprowadź prawidłowy numer telefonu lub nazwę użytkownika. Numery telefonów muszą zawierać kod kraju.`,"invalid-recaptcha":`Zaznacz pole wyboru, aby potwierdzić, że nie jesteś robotem.`,"invalid-username":"Nazwa użytkownika może zawierać tylko znaki alfanumeryczne lub: '${characters}'. Nazwa użytkownika powinna mieć od ${min} do ${max} znaków.",invitationDescription:"Zaloguj się, aby przyjąć zaproszenie od ${inviterName} do dołączenia do ${companyName} w ${clientName}.",invitationTitle:`Otrzymałeś zaproszenie!`,"ip-blocked":`Wykryliśmy podejrzaną aktywność logowania i dalsze próby zostaną zablokowane. Skontaktuj się z administratorem.`,logoAltText:"${companyName}","no-db-connection":`Nieprawidłowe połączenie`,"no-email":`Wprowadź adres e-mail`,"no-email-phone":`Adres e-mail lub numer telefonu jest wymagany`,"no-email-phone-username":`Numer telefonu, nazwa użytkownika lub adres e-mail jest wymagany`,"no-email-username":`Adres e-mail lub nazwa użytkownika jest wymagany`,"no-password":`Hasło jest wymagane`,"no-phone":`Wprowadź numer telefonu`,"no-phone-username":`Numer telefonu lub nazwa użytkownika jest wymagany`,"no-username":`Nazwa użytkownika jest wymagana`,pageTitle:"Logowanie | ${clientName}","password-breached":`Wykryliśmy potencjalny problem z bezpieczeństwem tego konta. Aby chronić Twoje konto, zablokowano to logowanie. Zresetuj hasło, aby kontynuować.`,passwordPlaceholder:`Hasło`,phoneOrEmailPlaceholder:`E-mail lub numer telefonu`,phoneOrUsernameOrEmailPlaceholder:`Telefon, nazwa użytkownika lub e-mail`,phoneOrUsernamePlaceholder:`Numer telefonu lub nazwa użytkownika`,phonePlaceholder:`Numer telefonu`,"same-user-login":`Zbyt wiele prób logowania dla tego użytkownika. Poczekaj chwilę i spróbuj ponownie.`,selectCountryCode:"Wybierz kod kraju, aktualnie ustawiony na ${countryName}, ${countryCode}, +${countryPrefix}",separatorText:`lub`,sessionExpired:`Twoja sesja wygasła. Spróbuj ponownie.`,showPasswordText:`Pokaż hasło`,signupActionLinkText:`Zarejestruj się`,signupActionText:`Nie masz konta?`,termsAndConditionsTemplate:'Kontynuując, akceptujesz nasze <a href="${termsAndConditionsUrl}" target="_blank" rel="noopener noreferrer">Zasady i warunki</a>.',title:`Witamy`,"user-blocked":`Twoje konto zostało zablokowane po wielu kolejnych nieudanych próbach logowania.`,userAccountDoesNotExist:`Konto użytkownika nie istnieje`,usernameOnlyPlaceholder:`Nazwa użytkownika`,usernameOrEmailPlaceholder:`Nazwa użytkownika lub adres e-mail`,usernamePlaceholder:`Nazwa użytkownika`,usernameTooLong:"Nazwa użytkownika musi mieć maksymalnie ${max} znaków",usernameTooShort:"Nazwa użytkownika musi mieć co najmniej ${min} znaków","wrong-credentials":`Nieprawidłowa nazwa użytkownika lub hasło`,"wrong-email-credentials":`Nieprawidłowy adres e-mail lub hasło`,"wrong-email-phone-credentials":`Nieprawidłowy adres e-mail, numer telefonu lub hasło. Numery telefonów muszą zawierać kod kraju.`,"wrong-email-phone-username-credentials":`Nieprawidłowy adres e-mail, numer telefonu, nazwa użytkownika lub hasło. Numery telefonów muszą zawierać kod kraju.`,"wrong-email-username-credentials":`Nieprawidłowy adres e-mail, nazwa użytkownika lub hasło`,"wrong-phone-credentials":`Nieprawidłowy numer telefonu lub hasło`,"wrong-phone-username-credentials":`Nieprawidłowy numer telefonu, nazwa użytkownika lub hasło. Numery telefonów muszą zawierać kod kraju.`,"wrong-username-credentials":`Nieprawidłowa nazwa użytkownika lub hasło`,passkeyButtonText:`Zaloguj się za pomocą passkey`}},"login-password":{"login-password":{buttonText:`Zaloguj się`,description:"Zaloguj się do ${clientName}",forgotPasswordText:`Zapomniałeś hasła?`,hidePasswordText:`Ukryj hasło`,"no-password":`Hasło jest wymagane`,pageTitle:"Logowanie | ${clientName}","password-breached":`Wykryliśmy potencjalny problem z bezpieczeństwem tego konta. Aby chronić Twoje konto, zablokowano to logowanie. Zresetuj hasło, aby kontynuować.`,passwordPlaceholder:`Hasło`,showPasswordText:`Pokaż hasło`,signingInAs:"Logujesz się jako ${email}",title:`Wprowadź hasło`,unverifiedEmail:`Zweryfikuj swój adres e-mail przed zalogowaniem`,"user-blocked":`Twoje konto zostało zablokowane po wielu kolejnych nieudanych próbach logowania.`,"wrong-credentials":`Nieprawidłowe hasło`}},"login-passwordless":{"login-passwordless":{authMethodEmail:`e-mail`,authMethodEmailOrPhone:`e-mail lub numer telefonu`,authMethodPhone:`numer telefonu`,description:"Zaloguj się za pomocą swojego ${authMethod}",emailOrPhonePlaceholder:`Adres e-mail lub numer telefonu`,emailPlaceholder:`Adres e-mail`,invalidEmail:`Wprowadź prawidłowy adres e-mail`,invalidIdentifier:`Wprowadź prawidłowy adres e-mail lub numer telefonu`,invalidPhone:`Wprowadź prawidłowy numer telefonu z kodem kraju`,noEmail:`Wprowadź swój adres e-mail`,noPhone:`Wprowadź swój numer telefonu`,phonePlaceholder:`Numer telefonu`,sessionExpired:`Twoja sesja wygasła. Spróbuj ponownie.`,title:`Zaloguj się kodem`,userAccountDoesNotExist:`Konto użytkownika nie istnieje`}},"magic-link-sent":{"magic-link-sent":{defaultDescription:`Kliknij link w wiadomości e-mail, aby się zalogować`,description:"Wysłaliśmy link na ${username}. Kliknij go, aby się zalogować.",resendText:`Wyślij ponownie link`,spamText:`Nie otrzymałeś wiadomości? Sprawdź folder spam.`,title:`Sprawdź swoją pocztę`}},mfa:fp,"mfa-email":{"mfa-email":{buttonText:`Kontynuuj`,codePlaceholder:`Wprowadź kod`,description:"Wysłaliśmy kod na ${email}","invalid-code":`Wprowadzony kod jest nieprawidłowy`,pageTitle:"Weryfikacja e-mail | ${clientName}",resendText:`Wyślij ponownie kod`,title:`Sprawdź swoją pocztę`}},"mfa-otp":{"mfa-otp":{buttonText:`Kontynuuj`,codePlaceholder:`Wprowadź kod`,description:`Wprowadź 6-cyfrowy kod z aplikacji uwierzytelniającej`,"invalid-code":`Wprowadzony kod jest nieprawidłowy`,pageTitle:"Wprowadź kod | ${clientName}",title:`Wprowadź swój kod`},"mfa-totp-enrollment":{title:`Skonfiguruj aplikację uwierzytelniającą`,description:`Zeskanuj poniższy kod QR za pomocą aplikacji uwierzytelniającej, a następnie wprowadź 6-cyfrowy kod w celu weryfikacji`,secretLabel:`Lub wprowadź ten kod ręcznie:`,codePlaceholder:`Wprowadź kod`,continueButtonText:`Zweryfikuj i aktywuj`,"invalid-code":`Wprowadzony kod jest nieprawidłowy. Spróbuj ponownie.`,"transaction-not-found":`Twoja transakcja rejestracji wygasła, musisz zacząć od nowa.`,pageTitle:"Konfiguracja uwierzytelniania | ${clientName}",unexpectedError:`Coś poszło nie tak. Spróbuj ponownie.`,enrollmentComplete:`Rejestracja MFA została zakończona. Możesz zamknąć tę stronę.`},"mfa-totp-challenge":{title:`Zweryfikuj swoją tożsamość`,description:`Wprowadź 6-cyfrowy kod z aplikacji uwierzytelniającej`,codePlaceholder:`Wprowadź kod`,continueButtonText:`Kontynuuj`,"invalid-code":`Wprowadzony kod jest nieprawidłowy`,"transaction-not-found":`Twoja transakcja rejestracji wygasła, musisz zacząć od nowa.`,unexpectedError:`Coś poszło nie tak. Spróbuj ponownie.`,pageTitle:"Weryfikacja tożsamości | ${clientName}"}},"mfa-phone":{"mfa-phone-challenge":{pageTitle:"Użyj swojego numeru telefonu, aby się zalogować | ${clientName}",title:`Zweryfikuj swoją tożsamość`,description:"Wysłaliśmy kod na ${phoneNumber}",continueButtonText:`Kontynuuj`,changePhoneText:`Wybierz inny numer telefonu.`,smsButtonText:`Wiadomość tekstowa`,voiceButtonText:`Połączenie głosowe`,chooseMessageTypeText:`Jak chcesz otrzymać kod?`,pickAuthenticatorText:`Wypróbuj inną metodę`,logoAltText:"${companyName}",codePlaceholder:`Wpisz kod`,"send-sms-failed":`Wystąpił problem z wysłaniem SMS-a`,"send-voice-failed":`Wystąpił problem z wykonaniem połączenia głosowego`,"invalid-phone-format":`Numer telefonu może zawierać tylko cyfry.`,"invalid-phone":`Wygląda na to, że Twój numer telefonu jest nieprawidłowy. Sprawdź i spróbuj ponownie.`,"too-many-sms":`Przekroczono maksymalną liczbę wiadomości telefonicznych na godzinę. Poczekaj kilka minut i spróbuj ponownie.`,"too-many-voice":`Przekroczono maksymalną liczbę połączeń telefonicznych na godzinę. Poczekaj kilka minut i spróbuj ponownie.`,"transaction-not-found":`Twoja transakcja rejestracji wygasła, musisz zacząć od nowa.`,"no-phone":`Wpisz numer telefonu`,noCode:`Wprowadź kod weryfikacyjny`,invalidCode:`Wprowadzony kod jest nieprawidłowy. Spróbuj ponownie.`,unexpectedError:`Coś poszło nie tak. Spróbuj ponownie.`,resendSuccess:`Wysłaliśmy nowy kod na Twój telefon`,enrollmentComplete:`Rejestracja MFA została zakończona. Możesz zamknąć tę stronę.`},"mfa-phone-enrollment":{pageTitle:"Wpisz swój numer telefonu, aby zalogować się kodem telefonicznym | ${clientName}",title:`Zabezpiecz swoje konto`,description:`Wpisz kod kraju i numer telefonu, na który możemy wysłać 6-cyfrowy kod:`,continueButtonText:`Kontynuuj`,smsButtonText:`Wiadomość tekstowa`,voiceButtonText:`Połączenie głosowe`,chooseMessageTypeText:`Jak chcesz otrzymać kod?`,pickAuthenticatorText:`Wypróbuj inną metodę`,placeholder:`Wpisz swój numer telefonu`,logoAltText:"${companyName}",selectCountryCode:"Wybierz kod kraju, aktualnie ustawiony na ${countryName}, ${countryCode}, +${countryPrefix}","send-sms-failed":`Wystąpił problem z wysłaniem SMS-a`,"send-voice-failed":`Wystąpił problem z wykonaniem połączenia głosowego`,"sms-authenticator-error":`Nie udało się wysłać SMS-a. Spróbuj ponownie później.`,"invalid-phone-format":`Numer telefonu może zawierać tylko cyfry.`,"invalid-phone":`Wygląda na to, że Twój numer telefonu jest nieprawidłowy. Sprawdź i spróbuj ponownie.`,"too-many-sms":`Przekroczono maksymalną liczbę wiadomości telefonicznych na godzinę. Poczekaj kilka minut i spróbuj ponownie.`,"too-many-voice":`Przekroczono maksymalną liczbę połączeń telefonicznych na godzinę. Poczekaj kilka minut i spróbuj ponownie.`,"transaction-not-found":`Twoja transakcja rejestracji wygasła, musisz zacząć od nowa.`,"no-phone":`Wpisz numer telefonu`,"phone-is-too-short":`Numer telefonu jest za krótki`,"phone-is-too-long":`Numer telefonu jest za długi`}},"mfa-login-options":{"mfa-login-options":{pageTitle:"Wybierz metodę weryfikacji | ${clientName}",title:`Wybierz metodę weryfikacji`,description:`Wybierz, w jaki sposób chcesz zweryfikować swoją tożsamość`,authenticatorAppLabel:`Aplikacja uwierzytelniająca`,authenticatorAppDescription:`Użyj aplikacji uwierzytelniającej, aby uzyskać kod weryfikacyjny`,smsLabel:`Wiadomość tekstowa`,smsDescription:`Otrzymaj kod weryfikacyjny wysłany na swój telefon`,passkeyLabel:`Klucz dostępu`,passkeyDescription:`Użyj biometrii urządzenia lub klucza bezpieczeństwa`}},"mfa-push":{"mfa-push":{description:`Wysłaliśmy powiadomienie na Twoje urządzenie`,pageTitle:"Powiadomienie push | ${clientName}",resendText:`Wyślij ponownie powiadomienie`,title:`Zatwierdź żądanie`,useCodeText:`Wprowadź kod ręcznie`}},"mfa-recovery-code":{"mfa-recovery-code":{buttonText:`Kontynuuj`,codePlaceholder:`Kod odzyskiwania`,description:`Wprowadź jeden z kodów odzyskiwania`,"invalid-code":`Wprowadzony kod odzyskiwania jest nieprawidłowy`,pageTitle:"Kod odzyskiwania | ${clientName}",title:`Wprowadź kod odzyskiwania`}},"mfa-voice":{"mfa-voice":{buttonText:`Zadzwoń do mnie`,codePlaceholder:`Wprowadź kod`,description:"Zadzwonimy na ${phoneNumber} z Twoim kodem","invalid-code":`Wprowadzony kod jest nieprawidłowy`,pageTitle:"Połączenie głosowe | ${clientName}",title:`Odbierz połączenie telefoniczne`}},"mfa-webauthn":{"mfa-webauthn":{buttonText:`Spróbuj ponownie`,description:`Włóż klucz bezpieczeństwa i postępuj zgodnie z instrukcjami`,pageTitle:"Klucz bezpieczeństwa | ${clientName}",title:`Użyj klucza bezpieczeństwa`}},passkeys:pp,organizations:mp,"reset-password":{"reset-password":{backToLoginText:`Wróć do logowania`,buttonText:`Kontynuuj`,codeExpired:`Kod resetu hasła wygasł. Poproś o nowy.`,confirmPasswordLabel:`Potwierdź hasło`,confirmPasswordPlaceholder:`Potwierdź hasło`,description:`Wprowadź swój adres e-mail, aby zresetować hasło`,emailPlaceholder:`Adres e-mail`,failed:`Reset hasła nie powiódł się. Spróbuj ponownie.`,"invalid-email-format":`Nieprawidłowy adres e-mail`,"no-email":`Wprowadź adres e-mail`,pageTitle:"Resetowanie hasła | ${clientName}",passwordLabel:`Nowe hasło`,passwordPlaceholder:`Nowe hasło`,passwordTooWeak:`Hasło jest zbyt słabe`,passwordsDidntMatch:`Hasła nie są zgodne`,successDescription:`Wysłaliśmy link do resetowania hasła na Twój adres e-mail.`,successTitle:`Sprawdź swoją pocztę`,title:`Zapomniałeś hasła?`,"user-not-found":`Nie znaleziono użytkownika`},"reset-password-code":{backToLoginText:`Wróć do logowania`,buttonText:`Zresetuj hasło`,codeLabel:`Kod resetowania`,codePlaceholder:`Wprowadź 6-cyfrowy kod`,confirmPasswordLabel:`Potwierdź hasło`,confirmPasswordPlaceholder:`Potwierdź hasło`,defaultDescription:`Wprowadź kod wysłany na Twój e-mail i wybierz nowe hasło`,description:"Wysłaliśmy kod na ${email}",failed:`Reset hasła nie powiódł się. Spróbuj ponownie.`,invalidCode:`Wprowadzony kod jest nieprawidłowy lub wygasł`,noCode:`Wprowadź kod resetowania`,pageTitle:"Wprowadź kod resetowania | ${clientName}",passwordLabel:`Nowe hasło`,passwordPlaceholder:`Nowe hasło`,passwordTooWeak:`Hasło jest zbyt słabe`,passwordsDidntMatch:`Hasła nie są zgodne`,resendFailed:`Nie udało się ponownie wysłać kodu. Spróbuj ponownie.`,resendSuccess:`Nowy kod został wysłany na Twój e-mail`,resendText:`Wyślij kod ponownie`,sessionExpired:`Twoja sesja wygasła. Spróbuj ponownie.`,title:`Wprowadź kod resetowania`}},signup:hp,"signup-id":{"signup-id":{buttonText:`Kontynuuj`,description:`Zarejestruj się, aby kontynuować`,"email-already-exists":`Ten adres e-mail jest już zarejestrowany`,emailPlaceholder:`Adres e-mail`,federatedConnectionButtonText:"Kontynuuj z ${connectionName}","invalid-email-format":`Nieprawidłowy adres e-mail`,loginActionLinkText:`Zaloguj się`,loginActionText:`Masz już konto?`,"no-email":`Wprowadź adres e-mail`,pageTitle:"Rejestracja | ${clientName}",phonePlaceholder:`Numer telefonu`,separatorText:`lub`,title:`Utwórz konto`,usernamePlaceholder:`Nazwa użytkownika`}},"signup-password":{"signup-password":{buttonText:`Kontynuuj`,description:`Utwórz swoje hasło`,hidePasswordText:`Ukryj hasło`,"no-password":`Hasło jest wymagane`,pageTitle:"Rejestracja | ${clientName}","password-policy-not-met":`Hasło nie spełnia wymagań`,"password-too-weak":`Hasło jest zbyt słabe`,passwordPlaceholder:`Hasło`,showPasswordText:`Pokaż hasło`,title:`Utwórz hasło`}},"sms-otp-challenge":{"sms-otp-challenge":{buttonText:`Kontynuuj`,codeLabel:`Kod weryfikacyjny`,codePlaceholder:`Wprowadź kod`,defaultDescription:`Wprowadź kod weryfikacyjny wysłany na Twój telefon`,description:"Wysłaliśmy kod na ${username}","invalid-code":`Nieprawidłowy kod`,noCode:`Wprowadź kod weryfikacyjny`,pageTitle:"Wprowadź kod | ${clientName}",resendText:`Wyślij ponownie kod`,sessionExpired:`Twoja sesja wygasła. Spróbuj ponownie.`,title:`Sprawdź swój telefon`,unexpectedError:`Wystąpił nieoczekiwany błąd`}},status:gp},vp=c({common:()=>yp,consent:()=>bp,default:()=>Op,invitation:()=>xp,login:()=>Sp,mfa:()=>Cp,organizations:()=>Tp,passkeys:()=>wp,signup:()=>Ep,status:()=>Dp}),yp={common:{alertListTitle:`Meddelanden`,backText:`Gå tillbaka`,cancelText:`Gå tillbaka`,closeText:`Stäng`,contactSupportText:`Behöver du hjälp?`,continueText:`Fortsätt`,copyrightText:"© ${currentYear} ${companyName}",errorText:`Något gick fel. Vänligen försök igen.`,hidePasswordText:`Dölj lösenord`,loadingText:`Laddar...`,orText:`eller`,privacyPolicyText:`Integritetspolicy`,showPasswordText:`Visa lösenord`,termsOfServiceText:`Användarvillkor`,termsShortText:`Villkor`,tryAgainText:`Försök igen`}},bp={consent:{buttonText:`Godkänn`,cancelButtonText:`Neka`,description:"${clientName} begär åtkomst till ditt konto",pageTitle:"Auktorisera | ${clientName}",scopesTitle:"Detta ger ${clientName} tillåtelse att:",title:"Auktorisera ${clientName}"}},xp={invitation:{acceptButtonText:`Acceptera inbjudan`,description:"${inviterName} har bjudit in dig att gå med i ${organizationName} på ${clientName}",pageTitle:"Inbjudan | ${clientName}",title:`Du har blivit inbjuden`}},Sp={login:{alertListTitle:`Meddelanden`,buttonText:`Fortsätt`,description:"Logga in på ${clientName}.",editEmailText:`Redigera`,emailPlaceholder:`E-postadress`,enterACodeBtn:`Logga in med en kod`,federatedConnectionButtonText:"Fortsätt med ${connectionName}",footerLinkText:`Registrera dig`,footerText:`Har du inget konto?`,forgotPasswordText:`Har du glömt lösenordet?`,hidePasswordText:`Dölj lösenord`,invalidEmail:`Ogiltig e-postadress`,invalidIdentifier:`Ogiltig e-postadress eller användarnamn`,invitationDescription:"Logga in för att acceptera ${inviterName}s inbjudan att gå med i ${companyName} på ${clientName}.",invitationTitle:`Du har blivit inbjuden!`,logoAltText:"${companyName}","no-email":`Vänligen ange en e-postadress`,"no-password":`Lösenord krävs`,pageTitle:"Logga in | ${clientName}",passwordLoginNotAvailable:`Lösenordsinloggning är inte tillgänglig`,passwordPlaceholder:`Lösenord`,phonePlaceholder:`Telefonnummer`,separatorText:`eller`,sessionExpired:`Din session har gått ut. Försök igen.`,showPasswordText:`Visa lösenord`,signupActionLinkText:`Registrera dig`,signupActionText:`Har du inget konto?`,title:`Välkommen`,tooManyFailedLogins:`För många misslyckade inloggningsförsök. Försök igen senare.`,unverifiedEmail:`Verifiera din e-postadress innan du loggar in`,userAccountDoesNotExist:`Användarkontot finns inte`,usernamePlaceholder:`Användarnamn eller e-postadress`,usernameTooLong:"Användarnamnet får vara högst ${max} tecken",usernameTooShort:"Användarnamnet måste vara minst ${min} tecken",wrongCredentials:`Fel användarnamn eller lösenord`,passkeyButtonText:`Logga in med passkey`}},Cp={mfa:{backupCodeText:`Använd reservkod`,description:`Välj en verifieringsmetod`,pageTitle:"Multifaktorautentisering | ${clientName}",title:`Verifiera din identitet`}},wp={"passkey-enrollment-nudge":{title:`Skydda ditt konto med en nyckel`,description:`Nycklar använder enhetens biometri eller PIN-kod för att logga in snabbare och säkrare.`,enrollButtonText:`Konfigurera nyckel`,snoozeButtonText:`Kanske senare`,optOutLinkText:`Visa inte detta igen`,pageTitle:"Konfigurera Nyckel | ${clientName}"},"passkey-enrollment":{title:`Skapa din nyckel`,description:`Följ anvisningarna från din webbläsare för att skapa en nyckel för detta konto.`,errorMessage:`Det gick inte att skapa nyckeln. Försök igen.`,cancelLinkText:`Hoppa över för nu`,retryButtonText:`Försök igen`,enrollmentComplete:`Din nyckel har konfigurerats. Du kan stänga denna sida.`,pageTitle:"Skapa Nyckel | ${clientName}"},"passkey-challenge":{title:`Logga in med passkey`,description:`Följ instruktionerna från din webbläsare för att verifiera din identitet.`,errorMessage:`Autentisering med passkey misslyckades. Försök igen.`,cancelLinkText:`Tillbaka till inloggning`,retryButtonText:`Försök igen`,pageTitle:"Logga in med passkey | ${clientName}"}},Tp={organizations:{description:`Välj vilken organisation du vill logga in på`,pageTitle:"Välj organisation | ${clientName}",searchPlaceholder:`Sök organisationer`,title:`Välj din organisation`}},Ep={signup:{buttonText:`Registrera dig`,confirmPasswordPlaceholder:`Bekräfta lösenord`,description:`Välj ett lösenord med en blandning av stora och små bokstäver, siffror och symboler.`,"email-already-exists":`E-postadressen är redan upptagen`,emailPlaceholder:`E-postadress`,federatedConnectionButtonText:"Fortsätt med ${connectionName}",hidePasswordText:`Dölj lösenord`,"invalid-email-format":`Ogiltig e-postadress`,loginActionLinkText:`Logga in`,loginActionText:`Har du redan ett konto?`,"no-email":`Vänligen ange en e-postadress`,"no-password":`Lösenord krävs`,"no-username":`Användarnamn krävs`,pageTitle:"Registrera dig | ${clientName}",passwordPlaceholder:`Lösenord`,passwordsDidntMatch:`Lösenorden matchar inte`,phonePlaceholder:`Telefonnummer`,privacyPolicyLinkText:`Integritetspolicy`,separatorText:`eller`,sessionExpired:`Din session har gått ut. Försök igen.`,showPasswordText:`Visa lösenord`,termsOfServiceLinkText:`Användarvillkor`,termsText:`Genom att registrera dig godkänner du våra`,title:`Välj lösenord`,"username-already-exists":`Användarnamnet är redan taget`,usernamePlaceholder:`Användarnamn`,verifyEmailText:`Kontrollera din e-post för att verifiera ditt konto`}},Dp={status:{continueButtonText:`Fortsätt`,errorTitle:`Fel`,pageTitle:"Status | ${clientName}",successTitle:`Klart`,title:`Status`}},Op={common:yp,consent:bp,"device-flow":{"device-flow":{buttonText:`Fortsätt`,codePlaceholder:`Ange kod`,description:`Ange koden som visas på din enhet`,"expired-code":`Koden har gått ut`,"invalid-code":`Koden du angav är ogiltig`,pageTitle:"Enhetsaktivering | ${clientName}",title:`Aktivera din enhet`}},"email-otp-challenge":{"email-otp-challenge":{buttonText:`Logga in`,codeLabel:`Verifieringskod`,codePlaceholder:`Ange kod`,defaultDescription:`Ange verifieringskoden som skickades till din e-post`,description:"Vi skickade en kod till ${email}","invalid-code":`Ogiltig kod`,noCode:`Ange verifieringskoden`,pageTitle:"Ange kod | ${clientName}",resendText:`Skicka koden igen`,sessionExpired:`Din session har gått ut. Försök igen.`,title:`Kolla din e-post`,unexpectedError:`Ett oväntat fel uppstod`}},"email-verification":{"email-verification":{description:"Vi skickade ett e-postmeddelande till ${email}",pageTitle:"Verifiera e-post | ${clientName}",resendText:`Skicka koden igen`,successDescription:`Din e-postadress har verifierats.`,successTitle:`E-post verifierad`,title:`Ange engångskod`}},invitation:xp,login:Sp,"login-id":{"login-id":{alertListTitle:`Meddelanden`,"auth0-users-validation":`Något gick fel, försök igen senare`,"authentication-failure":`Vi beklagar, något gick fel vid inloggningsförsöket`,buttonText:`Fortsätt`,"captcha-client-failure":`Vi kunde inte ladda säkerhetsutmaningen. Försök igen. (Felkod: #{errorCode})`,"captcha-validation-failure":`Vi beklagar, något gick fel vid validering av captcha-svaret. Försök igen.`,captchaCodePlaceholder:`Ange koden som visas ovan`,"custom-script-error-code":`Något gick fel, försök igen senare.`,description:"Logga in på ${clientName}.",editEmailText:`Redigera`,emailPlaceholder:`E-postadress`,federatedConnectionButtonText:"Fortsätt med ${connectionName}",footerLinkText:`Registrera dig`,footerText:`Har du inget konto?`,forgotPasswordText:`Har du glömt lösenordet?`,hidePasswordText:`Dölj lösenord`,"invalid-captcha":`Lös utmaningen för att verifiera att du inte är en robot.`,"invalid-code":`Ogiltig kod`,"invalid-connection":`Ogiltig anslutning`,"invalid-email-format":`Ogiltig e-postadress`,"invalid-email-phone":`Ange en giltig e-postadress eller telefonnummer. Telefonnummer måste innehålla landskod.`,"invalid-email-phone-username":`Ange en giltig e-postadress, telefonnummer eller användarnamn. Telefonnummer måste innehålla landskod.`,"invalid-email-username":`Ange en giltig e-postadress eller användarnamn`,"invalid-expired-code":`Ogiltig eller utgången användarkod`,"invalid-login-id":`Ogiltigt inloggnings-ID angivet`,"invalid-phone-username":`Ange ett giltigt telefonnummer eller användarnamn. Telefonnummer måste innehålla landskod.`,"invalid-recaptcha":`Markera kryssrutan för att verifiera att du inte är en robot.`,"invalid-username":"Användarnamn kan bara innehålla alfanumeriska tecken eller: '${characters}'. Användarnamn ska vara mellan ${min} och ${max} tecken.",invitationDescription:"Logga in för att acceptera ${inviterName}s inbjudan att gå med i ${companyName} på ${clientName}.",invitationTitle:`Du har blivit inbjuden!`,"ip-blocked":`Vi har upptäckt misstänkt inloggningsaktivitet och ytterligare försök kommer att blockeras. Kontakta administratören.`,logoAltText:"${companyName}","no-db-connection":`Ogiltig anslutning`,"no-email":`Vänligen ange en e-postadress`,"no-email-phone":`E-postadress eller telefonnummer krävs`,"no-email-phone-username":`Telefonnummer, användarnamn eller e-postadress krävs`,"no-email-username":`E-postadress eller användarnamn krävs`,"no-password":`Lösenord krävs`,"no-phone":`Ange ett telefonnummer`,"no-phone-username":`Telefonnummer eller användarnamn krävs`,"no-username":`Användarnamn krävs`,pageTitle:"Logga in | ${clientName}","password-breached":`Vi har upptäckt ett potentiellt säkerhetsproblem med detta konto. För att skydda ditt konto har vi förhindrat denna inloggning. Återställ ditt lösenord för att fortsätta.`,passwordPlaceholder:`Lösenord`,phoneOrEmailPlaceholder:`E-post eller telefonnummer`,phoneOrUsernameOrEmailPlaceholder:`Telefon, användarnamn eller e-post`,phoneOrUsernamePlaceholder:`Telefonnummer eller användarnamn`,phonePlaceholder:`Telefonnummer`,"same-user-login":`För många inloggningsförsök för denna användare. Vänta en stund och försök igen.`,selectCountryCode:"Välj landskod, för närvarande inställd på ${countryName}, ${countryCode}, +${countryPrefix}",separatorText:`eller`,sessionExpired:`Din session har gått ut. Försök igen.`,showPasswordText:`Visa lösenord`,signupActionLinkText:`Registrera dig`,signupActionText:`Har du inget konto?`,termsAndConditionsTemplate:'Genom att fortsätta godkänner du våra <a href="${termsAndConditionsUrl}" target="_blank" rel="noopener noreferrer">Villkor</a>.',title:`Välkommen`,"user-blocked":`Ditt konto har blockerats efter flera misslyckade inloggningsförsök i rad.`,userAccountDoesNotExist:`Användarkontot finns inte`,usernameOnlyPlaceholder:`Användarnamn`,usernameOrEmailPlaceholder:`Användarnamn eller e-postadress`,usernamePlaceholder:`Användarnamn`,usernameTooLong:"Användarnamnet får vara högst ${max} tecken",usernameTooShort:"Användarnamnet måste vara minst ${min} tecken","wrong-credentials":`Fel användarnamn eller lösenord`,"wrong-email-credentials":`Fel e-postadress eller lösenord`,"wrong-email-phone-credentials":`Fel e-postadress, telefonnummer eller lösenord. Telefonnummer måste innehålla landskod.`,"wrong-email-phone-username-credentials":`Fel e-postadress, telefonnummer, användarnamn eller lösenord. Telefonnummer måste innehålla landskod.`,"wrong-email-username-credentials":`Fel e-postadress, användarnamn eller lösenord`,"wrong-phone-credentials":`Fel telefonnummer eller lösenord`,"wrong-phone-username-credentials":`Fel telefonnummer, användarnamn eller lösenord. Telefonnummer måste innehålla landskod.`,"wrong-username-credentials":`Fel användarnamn eller lösenord`,passkeyButtonText:`Logga in med passkey`}},"login-password":{"login-password":{buttonText:`Logga in`,description:`Ange din e-postadress och ditt lösenord för att logga in.`,forgotPasswordText:`Har du glömt lösenordet?`,hidePasswordText:`Dölj lösenord`,"no-password":`Lösenord krävs`,pageTitle:"Logga in | ${clientName}","password-breached":`Vi har upptäckt ett potentiellt säkerhetsproblem med detta konto. För att skydda ditt konto har vi förhindrat denna inloggning. Återställ ditt lösenord för att fortsätta.`,passwordPlaceholder:`Lösenord`,showPasswordText:`Visa lösenord`,signingInAs:"Loggar in som ${email}",title:`Ange lösenord`,unverifiedEmail:`Verifiera din e-postadress innan du loggar in`,"user-blocked":`Ditt konto har blockerats efter flera misslyckade inloggningsförsök i rad.`,"wrong-credentials":`Fel lösenord`}},"login-passwordless":{"login-passwordless":{authMethodEmail:`e-post`,authMethodEmailOrPhone:`e-post eller telefonnummer`,authMethodPhone:`telefonnummer`,description:"Logga in med din ${authMethod}",emailOrPhonePlaceholder:`E-postadress eller telefonnummer`,emailPlaceholder:`E-postadress`,invalidEmail:`Ange en giltig e-postadress`,invalidIdentifier:`Ange en giltig e-postadress eller telefonnummer`,invalidPhone:`Ange ett giltigt telefonnummer med landskod`,noEmail:`Ange din e-postadress`,noPhone:`Ange ditt telefonnummer`,phonePlaceholder:`Telefonnummer`,sessionExpired:`Din session har gått ut. Försök igen.`,title:`Logga in med en kod`,userAccountDoesNotExist:`Användarkontot finns inte`}},"magic-link-sent":{"magic-link-sent":{defaultDescription:`Klicka på länken i ditt e-postmeddelande för att logga in`,description:"Vi skickade en länk till ${username}. Klicka på den för att logga in.",resendText:`Skicka länken igen`,spamText:`Fick du inte e-postmeddelandet? Kolla din skräppost.`,title:`Kolla din e-post`}},mfa:Cp,"mfa-email":{"mfa-email":{buttonText:`Fortsätt`,codePlaceholder:`Ange kod`,description:"Vi skickade en kod till ${email}","invalid-code":`Koden du angav är ogiltig`,pageTitle:"E-postverifiering | ${clientName}",resendText:`Skicka koden igen`,title:`Kolla din e-post`}},"mfa-otp":{"mfa-otp":{buttonText:`Fortsätt`,codePlaceholder:`Ange kod`,description:`Ange den 6-siffriga koden från din autentiseringsapp`,"invalid-code":`Koden du angav är ogiltig`,pageTitle:"Ange kod | ${clientName}",title:`Ange din kod`},"mfa-totp-enrollment":{title:`Konfigurera autentiseringsapp`,description:`Skanna QR-koden nedan med din autentiseringsapp och ange sedan den 6-siffriga koden för att verifiera`,secretLabel:`Eller ange denna kod manuellt:`,codePlaceholder:`Ange kod`,continueButtonText:`Verifiera och aktivera`,"invalid-code":`Koden du angav är ogiltig. Försök igen.`,"transaction-not-found":`Din registreringstransaktion har gått ut, du behöver börja om.`,pageTitle:"Konfigurera autentiseringsapp | ${clientName}",unexpectedError:`Något gick fel. Försök igen.`,enrollmentComplete:`MFA-registreringen är klar. Du kan stänga denna sida.`},"mfa-totp-challenge":{title:`Verifiera din identitet`,description:`Ange den 6-siffriga koden från din autentiseringsapp`,codePlaceholder:`Ange kod`,continueButtonText:`Fortsätt`,"invalid-code":`Koden du angav är ogiltig`,"transaction-not-found":`Din registreringstransaktion har gått ut, du behöver börja om.`,unexpectedError:`Något gick fel. Försök igen.`,pageTitle:"Verifiera identitet | ${clientName}"}},"mfa-phone":{"mfa-phone-challenge":{pageTitle:"Använd ditt telefonnummer för att logga in | ${clientName}",title:`Verifiera din identitet`,description:"Vi skickade en kod till ${phoneNumber}",continueButtonText:`Fortsätt`,changePhoneText:`Välj ett annat telefonnummer.`,smsButtonText:`SMS`,voiceButtonText:`Röstsamtal`,chooseMessageTypeText:`Hur vill du ta emot koden?`,pickAuthenticatorText:`Prova en annan metod`,logoAltText:"${companyName}",codePlaceholder:`Ange kod`,"send-sms-failed":`Det gick inte att skicka SMS:et`,"send-voice-failed":`Det gick inte att ringa röstsamtalet`,"invalid-phone-format":`Telefonnumret kan bara innehålla siffror.`,"invalid-phone":`Det verkar som att ditt telefonnummer inte är giltigt. Kontrollera och försök igen.`,"too-many-sms":`Du har överskridit det maximala antalet telefonmeddelanden per timme. Vänta några minuter och försök igen.`,"too-many-voice":`Du har överskridit det maximala antalet telefonmeddelanden per timme. Vänta några minuter och försök igen.`,"transaction-not-found":`Din registreringstransaktion har gått ut, du behöver börja om.`,"no-phone":`Ange ett telefonnummer`,noCode:`Ange verifieringskoden`,invalidCode:`Koden du angav är ogiltig. Försök igen.`,unexpectedError:`Något gick fel. Försök igen.`,resendSuccess:`Vi skickade en ny kod till din telefon`,enrollmentComplete:`MFA-registreringen är klar. Du kan stänga denna sida.`},"mfa-phone-enrollment":{pageTitle:"Ange ditt telefonnummer för att logga in med en telefonkod | ${clientName}",title:`Säkra ditt konto`,description:`Ange din landskod och telefonnummer som vi kan skicka en 6-siffrig kod till:`,continueButtonText:`Fortsätt`,smsButtonText:`SMS`,voiceButtonText:`Röstsamtal`,chooseMessageTypeText:`Hur vill du ta emot koden?`,pickAuthenticatorText:`Prova en annan metod`,placeholder:`Ange ditt telefonnummer`,logoAltText:"${companyName}",selectCountryCode:"Välj landskod, för närvarande inställd på ${countryName}, ${countryCode}, +${countryPrefix}","send-sms-failed":`Det gick inte att skicka SMS:et`,"send-voice-failed":`Det gick inte att ringa röstsamtalet`,"sms-authenticator-error":`Vi kunde inte skicka SMS:et. Försök igen senare.`,"invalid-phone-format":`Telefonnumret kan bara innehålla siffror.`,"invalid-phone":`Det verkar som att ditt telefonnummer inte är giltigt. Kontrollera och försök igen.`,"too-many-sms":`Du har överskridit det maximala antalet telefonmeddelanden per timme. Vänta några minuter och försök igen.`,"too-many-voice":`Du har överskridit det maximala antalet telefonmeddelanden per timme. Vänta några minuter och försök igen.`,"transaction-not-found":`Din registreringstransaktion har gått ut, du behöver börja om.`,"no-phone":`Ange ett telefonnummer`,"phone-is-too-short":`Telefonnumret är för kort`,"phone-is-too-long":`Telefonnumret är för långt`}},"mfa-login-options":{"mfa-login-options":{pageTitle:"Välj verifieringsmetod | ${clientName}",title:`Välj din verifieringsmetod`,description:`Välj hur du vill verifiera din identitet`,authenticatorAppLabel:`Autentiseringsapp`,authenticatorAppDescription:`Använd din autentiseringsapp för att få en verifieringskod`,smsLabel:`Sms`,smsDescription:`Få en verifieringskod skickad till din telefon`,passkeyLabel:`Lösenordsnyckel`,passkeyDescription:`Använd din enhets biometri eller säkerhetsnyckel`}},"mfa-push":{"mfa-push":{description:`Vi skickade en notis till din enhet`,pageTitle:"Push-notis | ${clientName}",resendText:`Skicka notisen igen`,title:`Godkänn förfrågan`,useCodeText:`Ange kod manuellt`}},"mfa-recovery-code":{"mfa-recovery-code":{buttonText:`Fortsätt`,codePlaceholder:`Återställningskod`,description:`Ange en av dina återställningskoder`,"invalid-code":`Återställningskoden du angav är ogiltig`,pageTitle:"Återställningskod | ${clientName}",title:`Ange återställningskod`}},"mfa-voice":{"mfa-voice":{buttonText:`Ring mig`,codePlaceholder:`Ange kod`,description:"Vi ringer ${phoneNumber} med din kod","invalid-code":`Koden du angav är ogiltig`,pageTitle:"Röstsamtal | ${clientName}",title:`Ta emot ett telefonsamtal`}},"mfa-webauthn":{"mfa-webauthn":{buttonText:`Försök igen`,description:`Sätt in din säkerhetsnyckel och följ instruktionerna`,pageTitle:"Säkerhetsnyckel | ${clientName}",title:`Använd din säkerhetsnyckel`}},passkeys:wp,organizations:Tp,"reset-password":{"reset-password":{backToLoginText:`Gå tillbaka`,buttonText:`Skicka`,codeExpired:`Din kod för lösenordsåterställning har gått ut. Begär en ny.`,confirmPasswordLabel:`Bekräfta lösenord`,confirmPasswordPlaceholder:`Bekräfta lösenord`,description:`Klicka på knappen nedan så skickar vi instruktioner om hur du återställer ditt lösenord.`,emailPlaceholder:`E-postadress`,failed:`Lösenordsåterställningen misslyckades. Försök igen.`,"invalid-email-format":`Ogiltig e-postadress`,"no-email":`Vänligen ange en e-postadress`,pageTitle:"Återställ lösenord | ${clientName}",passwordLabel:`Nytt lösenord`,passwordPlaceholder:`Nytt lösenord`,passwordTooWeak:`Lösenordet är för svagt`,passwordsDidntMatch:`Lösenorden matchar inte`,successDescription:`Vi har skickat en länk för lösenordsåterställning till din e-postadress.`,successTitle:`Vi har skickat ett e-postmeddelande med instruktioner om hur du återställer ditt lösenord till den e-postadress du angav.`,title:`Har du glömt lösenordet?`,"user-not-found":`Användaren hittades inte`},"reset-password-code":{backToLoginText:`Tillbaka till inloggning`,buttonText:`Återställ lösenord`,codeLabel:`Återställningskod`,codePlaceholder:`Ange 6-siffrig kod`,confirmPasswordLabel:`Bekräfta lösenord`,confirmPasswordPlaceholder:`Bekräfta lösenord`,defaultDescription:`Ange koden som skickades till din e-post och välj ett nytt lösenord`,description:"Vi skickade en kod till ${email}",failed:`Lösenordsåterställningen misslyckades. Försök igen.`,invalidCode:`Koden du angav är ogiltig eller har gått ut`,noCode:`Vänligen ange återställningskoden`,pageTitle:"Ange återställningskod | ${clientName}",passwordLabel:`Nytt lösenord`,passwordPlaceholder:`Nytt lösenord`,passwordTooWeak:`Lösenordet är för svagt`,passwordsDidntMatch:`Lösenorden matchar inte`,resendFailed:`Kunde inte skicka koden igen. Försök igen.`,resendSuccess:`En ny kod har skickats till din e-post`,resendText:`Skicka koden igen`,sessionExpired:`Din session har gått ut. Försök igen.`,title:`Ange återställningskod`}},signup:Ep,"signup-id":{"signup-id":{buttonText:`Fortsätt`,description:`Välj ett lösenord med en blandning av stora och små bokstäver, siffror och symboler.`,"email-already-exists":`E-postadressen är redan upptagen`,emailPlaceholder:`E-postadress`,federatedConnectionButtonText:"Fortsätt med ${connectionName}","invalid-email-format":`Ogiltig e-postadress`,loginActionLinkText:`Logga in`,loginActionText:`Har du redan ett konto?`,"no-email":`Vänligen ange en e-postadress`,pageTitle:"Registrera dig | ${clientName}",phonePlaceholder:`Telefonnummer`,separatorText:`eller`,title:`Välj lösenord`,usernamePlaceholder:`Användarnamn`}},"signup-password":{"signup-password":{buttonText:`Fortsätt`,description:`Välj ett lösenord med en blandning av stora och små bokstäver, siffror och symboler.`,hidePasswordText:`Dölj lösenord`,"no-password":`Lösenord krävs`,pageTitle:"Registrera dig | ${clientName}","password-policy-not-met":`Lösenordet uppfyller inte kraven`,"password-too-weak":`Lösenordet är för svagt`,passwordPlaceholder:`Lösenord`,showPasswordText:`Visa lösenord`,title:`Välj lösenord`}},"sms-otp-challenge":{"sms-otp-challenge":{buttonText:`Fortsätt`,codeLabel:`Verifieringskod`,codePlaceholder:`Ange kod`,defaultDescription:`Ange verifieringskoden som skickades till din telefon`,description:"Vi skickade en kod till ${username}","invalid-code":`Ogiltig kod`,noCode:`Ange verifieringskoden`,pageTitle:"Ange kod | ${clientName}",resendText:`Skicka koden igen`,sessionExpired:`Din session har gått ut. Försök igen.`,title:`Kolla din telefon`,unexpectedError:`Ett oväntat fel uppstod`}},status:Dp},kp=[`cs`,`da`,`en`,`fi`,`it`,`nb`,`pl`,`sv`],Ap={cs:`Čeština`,da:`Dansk`,en:`English`,fi:`Suomi`,it:`Italiano`,nb:`Norsk`,pl:`Polski`,sv:`Svenska`};function jp(e){return Ap[e]??e}var Mp=Object.assign({"../../locales/cs.json":yne,"../../locales/da.json":xne,"../../locales/en.json":Cne,"../../locales/fi.json":Tne,"../../locales/it.json":Dne,"../../locales/nb.json":kne,"../../locales/pl.json":sp,"../../locales/sv.json":vp}),Np={};for(let[e,t]of Object.entries(Mp)){let n=e.match(/\/(\w+)\.json$/)?.[1];n&&(Np[n]=t.default||t)}var Pp={},Fp=Np.en;if(Fp)for(let[e,t]of Object.entries(Fp))for(let[n,r]of Object.entries(t)){let t={};for(let e of Object.keys(r))t[e]=f.z.string();Pp[`${e}.${n}`]=f.z.object(t)}function Ip(e,t){if(!t)return e;let n=e;for(let[e,r]of Object.entries(t))if(r!==void 0){let t=e.replace(/[.*+?^${}()|[\]\\]/g,`\\$&`);n=n.replace(RegExp(`\\$\\{${t}\\}`,`g`),String(r)).replace(RegExp(`#\\{${t}\\}`,`g`),String(r)).replace(RegExp(`\\{${t}\\}`,`g`),String(r))}return n}function Lp(e){let t=e.split(`-`)[0]?.toLowerCase()||`en`;return kp.includes(t)?t:`en`}function R(e,t,n,r){let i=Lp(n),a=Np.en?.[e]?.[t]??{},o=Np[i]?.[e]?.[t]??{},s={...a,...o},c=r?.[t]??{},l={...s,...c},u=Pp[`${e}.${t}`];if(u){let n=u.safeParse(l);n.success||console.warn(`[i18n] Missing translations for ${e}.${t} (${i}):`,n.error.issues.map(e=>e.path.join(`.`)).join(`, `))}let d={};for(let[e,t]of Object.entries(l))d[e]=e=>Ip(t,e);return{m:new Proxy(d,{get:(e,t)=>e[t]??(()=>t)}),locale:i}}function Rp(e){let t=e?.language?.split(`-`)[0]?.toLowerCase(),n=[];for(let[r,i]of Object.entries(Np))if(!(t&&r!==t))for(let[t,a]of Object.entries(i))e?.prompt&&t!==e.prompt||n.push({prompt:t,language:r,custom_text:a});return n}var zp={Stringify:1,BeforeStream:2,Stream:3},Bp=(e,t)=>{let n=new String(e);return n.isEscaped=!0,n.callbacks=t,n},Vp=/[&<>'"]/,Hp=async(e,t)=>{let n=``;t||=[];let r=await Promise.all(e);for(let e=r.length-1;n+=r[e],e--,!(e<0);e--){let i=r[e];typeof i==`object`&&t.push(...i.callbacks||[]);let a=i.isEscaped;if(i=await(typeof i==`object`?i.toString():i),typeof i==`object`&&t.push(...i.callbacks||[]),i.isEscaped??a)n+=i;else{let e=[n];Up(i,e),n=e[0]}}return Bp(n,t)},Up=(e,t)=>{let n=e.search(Vp);if(n===-1){t[0]+=e;return}let r,i,a=0;for(i=n;i<e.length;i++){switch(e.charCodeAt(i)){case 34:r=`"`;break;case 39:r=`'`;break;case 38:r=`&`;break;case 60:r=`<`;break;case 62:r=`>`;break;default:continue}t[0]+=e.substring(a,i)+r,a=i+1}t[0]+=e.substring(a,i)},Wp=e=>{let t=e.callbacks;if(!t?.length)return e;let n=[e],r={};return t.forEach(e=>e({phase:zp.Stringify,buffer:n,context:r})),n[0]},Gp=async(e,t,n,r,i)=>{typeof e==`object`&&!(e instanceof String)&&(e instanceof Promise||(e=e.toString()),e instanceof Promise&&(e=await e));let a=e.callbacks;if(!a?.length)return Promise.resolve(e);i?i[0]+=e:i=[e];let o=Promise.all(a.map(e=>e({phase:t,buffer:i,context:r}))).then(e=>Promise.all(e.filter(Boolean).map(e=>Gp(e,t,!1,r,i))).then(()=>i[0]));return n?Bp(await o,a):o},Kp=Symbol(`RENDERER`),qp=Symbol(`ERROR_HANDLER`),Jp=Symbol(`STASH`),Yp=Symbol(`INTERNAL`),Xp=Symbol(`MEMO`),Zp=Symbol(`PERMALINK`),Qp=e=>(e[Yp]=!0,e),$p=e=>({value:t,children:n})=>{if(!n)return;let r={children:[{tag:Qp(()=>{e.push(t)}),props:{}}]};Array.isArray(n)?r.children.push(...n.flat()):r.children.push(n),r.children.push({tag:Qp(()=>{e.pop()}),props:{}});let i={tag:``,props:r,type:``};return i[qp]=t=>{throw e.pop(),t},i},em=e=>{let t=[e],n=$p(t);return n.values=t,n.Provider=n,tm.push(n),n},tm=[],nm=!1,rm,im,am=0,om=!1,sm=()=>{if(nm)return rm;nm=!0;let e=globalThis,t;for(let n of[()=>e.process?.getBuiltinModule?.(`node:async_hooks`)?.AsyncLocalStorage,()=>e.process?.mainModule?.require?.(`node:async_hooks`)?.AsyncLocalStorage]){try{t=n()}catch{}if(t)break}return t&&(rm=new t),rm},cm=()=>sm()?.getStore()||im,lm=()=>{am>0&&!om&&(om=!0,console.warn(`hono/jsx: AsyncLocalStorage is unavailable in this runtime, so useContext() after an await in an async component falls back to the context default value during server-side rendering. To get provided values across await boundaries, use a runtime with AsyncLocalStorage (Node.js >= 20.16, Deno, Bun, or Cloudflare Workers with the nodejs_compat flag).`))},um=(e,t)=>{if(!e)return lm(),t.values;let n=e.get(t);return n||(n=[t.values[0]],e.set(t,n)),n},dm=(e,t)=>{if(!e)return lm(),t.values.at(-1);let n=e.get(t);return n?.length?n.at(-1):t.values[0]},fm=e=>(e?tm.filter(t=>e.has(t)):tm).map(t=>[t,dm(e,t)]),pm=(e,t,n)=>mm(()=>{let t=cm(),r=n.map(([e,n])=>{let r=um(t,e);return r.push(n),r}),i=()=>{r.forEach(e=>{e.pop()})};try{let t=e();return t instanceof Promise?t.finally(i):(i(),t)}catch(e){throw i(),e}},t),mm=(e,t)=>{if(cm())return e();let n=t??new WeakMap,r=sm();if(r)return r.run(n,e);im=n;let i;try{i=e()}finally{im=void 0}return!om&&i instanceof Promise&&(am++,i=i.finally(()=>{am--})),i},hm=()=>{let e=cm(),t=fm(e);return n=>pm(n,e,t)},gm=e=>{let t=[e],n=(e=>{let t=um(cm(),n);t.push(e.value);let r;try{r=e.children?(Array.isArray(e.children)?new dh(``,{},e.children):e.children).toString():``}catch(e){throw t.pop(),e}return r instanceof Promise?r.finally(()=>t.pop()).then(e=>Bp(e,e.callbacks)):(t.pop(),Bp(r))});return n.values=t,n.Provider=n,n[Kp]=$p(t),tm.push(n),n},_m=e=>dm(cm(),e),vm={title:[],script:[`src`],style:[`data-href`],link:[`href`],meta:[`name`,`httpEquiv`,`charset`,`itemProp`]},ym={},bm=`data-precedence`,xm=e=>e.rel===`stylesheet`&&`precedence`in e,Sm=(e,t)=>e===`link`?t:vm[e].length>0,Cm=e=>Array.isArray(e)?e:[e],wm=c({button:()=>Rm,form:()=>Fm,input:()=>Lm,link:()=>Mm,meta:()=>Nm,script:()=>Am,style:()=>jm,title:()=>km}),Tm=new WeakMap,Em=(e,t,n,r)=>({buffer:i,context:a})=>{if(!i)return;let o=Tm.get(a)||{};Tm.set(a,o);let s=o[e]||=[],c=!1,l=vm[e],u=Sm(e,r!==void 0);if(u){LOOP:for(let[,t]of s)if(!(e===`link`&&!(t.rel===`stylesheet`&&t[`data-precedence`]!==void 0))){for(let e of l)if((t?.[e]??null)===n?.[e]){c=!0;break LOOP}}}if(c?i[0]=i[0].replaceAll(t,``):u||e===`link`?s.push([t,n,r]):s.unshift([t,n,r]),i[0].indexOf(`</head>`)!==-1){let t;if(e===`link`||r!==void 0){let e=[];t=s.map(([t,,n],r)=>{if(n===void 0)return[t,2**53-1,r];let i=e.indexOf(n);return i===-1&&(e.push(n),i=e.length-1),[t,i,r]}).sort((e,t)=>e[1]-t[1]||e[2]-t[2]).map(([e])=>e)}else t=s.map(([e])=>e);t.forEach(e=>{i[0]=i[0].replaceAll(e,``)}),i[0]=i[0].replace(/(?=<\/head>)/,t.join(``))}},Dm=(e,t,n)=>Bp(new lh(e,n,Cm(t??[])).toString()),Om=(e,t,n,r)=>{if(`itemProp`in n)return Dm(e,t,n);let{precedence:i,blocking:a,...o}=n;i=r?i??``:void 0,r&&(o[bm]=i);let s=new lh(e,o,Cm(t||[])).toString();return s instanceof Promise?s.then(t=>Bp(s,[...t.callbacks||[],Em(e,t,o,i)])):Bp(s,[Em(e,s,o,i)])},km=({children:e,...t})=>{let n=ih();if(n){let r=_m(n);if(r===`svg`||r===`head`)return new lh(`title`,t,Cm(e??[]))}return Om(`title`,e,t,!1)},Am=({children:e,...t})=>{let n=ih();return[`src`,`async`].some(e=>!t[e])||n&&_m(n)===`head`?Dm(`script`,e,t):Om(`script`,e,t,!1)},jm=({children:e,...t})=>[`href`,`precedence`].every(e=>e in t)?(t[`data-href`]=t.href,delete t.href,Om(`style`,e,t,!0)):Dm(`style`,e,t),Mm=({children:e,...t})=>[`onLoad`,`onError`].some(e=>e in t)||t.rel===`stylesheet`&&(!(`precedence`in t)||`disabled`in t)?Dm(`link`,e,t):Om(`link`,e,t,xm(t)),Nm=({children:e,...t})=>{let n=ih();return n&&_m(n)===`head`?Dm(`meta`,e,t):Om(`meta`,e,t,!1)},Pm=(e,{children:t,...n})=>new lh(e,n,Cm(t??[])),Fm=e=>(typeof e.action==`function`&&(e.action=Zp in e.action?e.action[Zp]:void 0),Pm(`form`,e)),Im=(e,t)=>(typeof t.formAction==`function`&&(t.formAction=Zp in t.formAction?t.formAction[Zp]:void 0),Pm(e,t)),Lm=e=>Im(`input`,e),Rm=e=>Im(`button`,e),zm=new Map([[`className`,`class`],[`htmlFor`,`for`],[`crossOrigin`,`crossorigin`],[`httpEquiv`,`http-equiv`],[`itemProp`,`itemprop`],[`fetchPriority`,`fetchpriority`],[`noModule`,`nomodule`],[`formAction`,`formaction`]]),Bm=e=>zm.get(e)||e,Vm=/[\s"'<>/=`\\\x00-\x1f\x7f-\x9f]/,Hm=new Set,Um=1024,Wm=/^[!?]|[\s"'<>/=`\\\x00-\x1f\x7f-\x9f]/,Gm=new Set,Km=256,qm=(e,t,n)=>{e.size>=t&&e.clear(),e.add(n)},Jm=e=>Gm.has(e)?!0:typeof e==`string`?e.length===0?!0:Wm.test(e)?!1:(qm(Gm,Km,e),!0):!1,Ym=e=>{if(Hm.has(e))return!0;let t=e.length;if(t===0)return!1;for(let n=0;n<t;n++){let t=e.charCodeAt(n);if(!(t>=97&&t<=122||t>=65&&t<=90||t>=48&&t<=57||t===45||t===95||t===46||t===58))return Vm.test(e)?!1:(qm(Hm,Um,e),!0)}return qm(Hm,Um,e),!0},Xm=/[\s"'():;\\/\[\]{}\x00-\x1f\x7f-\x9f]/,Zm=new Set,Qm=1024,$m=e=>{if(Zm.has(e))return!0;let t=e.length;if(t===0)return!1;for(let n=0;n<t;n++){let t=e.charCodeAt(n);if(!(t>=97&&t<=122||t>=65&&t<=90||t>=48&&t<=57||t===45||t===95))return Xm.test(e)?!1:(qm(Zm,Qm,e),!0)}return qm(Zm,Qm,e),!0},eh=/[;"'\\/\[\](){}]/,th=e=>{if(!eh.test(e))return!1;let t=0,n=[];for(let r=0,i=e.length;r<i;r++){let a=e.charCodeAt(r);if(a===92){if(r===i-1)return!0;r++}else if(t!==0){if(a===10||a===12||a===13)return!0;a===t&&(t=0)}else if(a===47&&e.charCodeAt(r+1)===42){let t=e.indexOf(`*/`,r+2);if(t===-1)return!0;r=t+1}else if(a===34||a===39)t=a;else if(a===40)n.push(41);else if(a===91)n.push(93);else if(a===123||a===125)return!0;else if(a===41||a===93){if(n[n.length-1]!==a)return!0;n.pop()}else if(a===59&&n.length===0)return!0}return t!==0||n.length!==0},nh=(e,t)=>{for(let[n,r]of Object.entries(e)){let e=n[0]===`-`||!/[A-Z]/.test(n)?n:n.replace(/[A-Z]/g,e=>`-${e.toLowerCase()}`);if(!$m(e))continue;if(r==null){t(e,null);continue}let i;if(typeof r==`number`)i=e.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`;else if(typeof r==`string`){if(th(r))continue;i=r}else continue;t(e,i)}},rh=void 0,ih=()=>rh,ah=e=>/[A-Z]/.test(e)&&e.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)/)?e.replace(/([A-Z])/g,`-$1`).toLowerCase():e,oh=[`area`,`base`,`br`,`col`,`embed`,`hr`,`img`,`input`,`keygen`,`link`,`meta`,`param`,`source`,`track`,`wbr`],sh=`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`.split(`.`),ch=(e,t)=>{for(let n=0,r=e.length;n<r;n++){let r=e[n];if(typeof r==`string`)Up(r,t);else if(typeof r==`boolean`||r==null)continue;else r instanceof lh?r.toStringToBuffer(t):typeof r==`number`||r.isEscaped?t[0]+=r:r instanceof Promise?t.unshift(``,r):ch(r,t)}},lh=class{tag;props;key;children;isEscaped=!0;suspendedContext;constructor(e,t,n){if(typeof e!=`function`&&!Jm(e))throw Error(`Invalid JSX tag name: ${e}`);this.tag=e,this.props=t,this.children=n}get type(){return this.tag}get ref(){return this.props.ref||null}toString(){let e=()=>{let e=[``];return this.toStringToBuffer(e),e.length===1?`callbacks`in e?Wp(Bp(e[0],e.callbacks)).toString():e[0]:Hp(e,e.callbacks)};return this.suspendedContext?this.suspendedContext(e):mm(e)}toStringToBuffer(e){let t=this.tag,n=this.props,{children:r}=this;e[0]+=`<${t}`;let i=t===`svg`||rh&&_m(rh)===`svg`?e=>ah(Bm(e)):e=>Bm(e);for(let[a,o]of Object.entries(n))if(a=i(a),Ym(a)&&a!==`children`){if(a===`style`&&typeof o==`object`){let t=``;nh(o,(e,n)=>{n!=null&&(t+=`${t?`;`:``}${e}:${n}`)}),e[0]+=` style="`,Up(t,e),e[0]+=`"`}else if(typeof o==`string`)e[0]+=` ${a}="`,Up(o,e),e[0]+=`"`;else if(o!=null)if(typeof o==`number`||o.isEscaped)e[0]+=` ${a}="${o}"`;else if(typeof o==`boolean`&&sh.includes(a))o&&(e[0]+=` ${a}=""`);else if(a===`dangerouslySetInnerHTML`){if(r.length>0)throw Error("Can only set one of `children` or `props.dangerouslySetInnerHTML`.");r=[Bp(o.__html)]}else if(o instanceof Promise)e[0]+=` ${a}="`,e.unshift(`"`,o);else if(typeof o==`function`){if(!a.startsWith(`on`)&&a!==`ref`)throw Error(`Invalid prop '${a}' of type 'function' supplied to '${t}'.`)}else e[0]+=` ${a}="`,Up(o.toString(),e),e[0]+=`"`}if(oh.includes(t)&&r.length===0){e[0]+=`/>`;return}e[0]+=`>`,ch(r,e),e[0]+=`</${t}>`}},uh=class extends lh{toStringToBuffer(e){let{children:t}=this,n={...this.props};t.length&&(n.children=t.length===1?t[0]:t);let r=this.tag.call(null,n);if(!(typeof r==`boolean`||r==null))if(r instanceof Promise)if(tm.length===0)e.unshift(``,r);else{let t=hm();e.unshift(``,r.then(e=>(e instanceof lh&&(e.suspendedContext=t),e)))}else r instanceof lh?r.toStringToBuffer(e):typeof r==`number`||r.isEscaped?(e[0]+=r,r.callbacks&&(e.callbacks||=[],e.callbacks.push(...r.callbacks))):Up(r,e)}},dh=class extends lh{toStringToBuffer(e){ch(this.children,e)}},fh=(e,t,...n)=>{t??={},n.length&&(t.children=n.length===1?n[0]:n);let r=t.key;delete t.key;let i=mh(e,t,n);return i.key=r,i},ph=!1,mh=(e,t,n)=>{if(!ph){for(let e in ym)wm[e][Kp]=ym[e];ph=!0}return typeof e==`function`?new uh(e,t,n):wm[e]?new uh(wm[e],t,n):e===`svg`||e===`head`?(rh||=gm(``),new lh(e,t,[new uh(rh,{value:e},n)])):new lh(e,t,n)},hh=({children:e})=>new dh(``,{children:e},Array.isArray(e)?e:e?[e]:[]),gh=(e,t,...n)=>{let r;if(n.length>0)r=n;else{let t=e.props.children;r=Array.isArray(t)?t:[t]}return fh(e.tag,{...e.props,...t},...r)};function z(e,t,n){let r;if(!t||!(`children`in t))r=mh(e,t,[]);else{let n=t.children;r=Array.isArray(n)?mh(e,t,n):mh(e,t,[n])}return r.key=n,r}function _h(e,t){let n=_ne(e,`ah-dark-mode`);if(n===`dark`||n===`light`||n===`auto`)return n;let r=t?.dark_mode;return r===`dark`||r===`light`||r===`auto`?r:`auto`}var vh={"--ah-color-text":`#f9fafb`,"--ah-color-text-muted":`#9ca3af`,"--ah-color-text-label":`#d1d5db`,"--ah-color-text-header":`#f9fafb`,"--ah-color-header":`#f9fafb`,"--ah-color-bg":`#1f2937`,"--ah-color-bg-hover":`#374151`,"--ah-color-bg-muted":`#374151`,"--ah-color-bg-disabled":`#4b5563`,"--ah-color-input-bg":`#374151`,"--ah-color-input-text":`#f9fafb`,"--ah-btn-secondary-text":`#f9fafb`,"--ah-color-border":`#4b5563`,"--ah-color-border-hover":`#6b7280`,"--ah-color-border-muted":`#374151`,"--ah-color-error-bg":`rgba(220,38,38,0.2)`,"--ah-color-success-bg":`rgba(22,163,74,0.2)`,"--ah-color-link":`#60a5fa`};function yh(e){let t=e.replace(`#`,``),n=parseInt(t,16);return[n>>16&255,n>>8&255,n&255]}function bh(e){let[t,n,r]=yh(e).map(e=>{let t=e/255;return t<=.04045?t/12.92:((t+.055)/1.055)**2.4});return .2126*t+.7152*n+.0722*r}function xh(e,t){let n=bh(e),r=bh(t);return(Math.max(n,r)+.05)/(Math.min(n,r)+.05)}function Sh(e,t){let[n,r,i]=yh(e),a=e=>Math.min(255,Math.round(e+(255-e)*t)).toString(16).padStart(2,`0`);return`#${a(n)}${a(r)}${a(i)}`}function Ch(e,t){let n={...vh};if(t){let e=vh[`--ah-color-bg`]||`#1f2937`;if(xh(t,e)<3){let r=t;for(let n=1;n<=10&&(r=Sh(t,n*.1),!(xh(r,e)>=3));n++);n[`--ah-color-primary`]=r,n[`--ah-color-primary-hover`]=r}let r=n[`--ah-color-primary`]||t,i=xh(r,`#ffffff`);n[`--ah-color-text-on-primary`]=xh(r,`#000000`)>i*1.35?`#000000`:`#ffffff`}return`${e} { ${Object.entries(n).map(([e,t])=>`${e}: ${t} !important`).join(`; `)}; }`}var wh=`(function(btn){var h=document.documentElement;var cur=h.classList.contains('ah-dark-mode')?'dark':h.classList.contains('ah-light-mode')?'light':'auto';var next=cur==='auto'?'dark':cur==='dark'?'light':'auto';h.classList.remove('ah-dark-mode','ah-light-mode');if(next==='dark'){h.classList.add('ah-dark-mode');h.setAttribute('data-mode','dark')}else if(next==='light'){h.classList.add('ah-light-mode');h.setAttribute('data-mode','light')}else{h.removeAttribute('data-mode')}btn.querySelector('.icon-sun').style.display=next==='light'?'block':'none';btn.querySelector('.icon-moon').style.display=next==='dark'?'block':'none';btn.querySelector('.icon-auto').style.display=next==='auto'?'block':'none';document.cookie='ah-dark-mode='+next+';path=/;max-age=31536000;SameSite=Lax';if(window.__ahDarkMode){window.__ahDarkMode(next)}})(this)`,Th=`var p=new URLSearchParams(window.location.search);p.set('ui_locales',this.value);window.location.search=p.toString()`;function Eh(e){return e===`plain`?` ah-chip--plain`:e===`pill`?` ah-chip--pill`:``}function Dh({logoUrl:e,clientName:t,variant:n}){let r=e?Xd(e):null;return z(`div`,{class:`ah-chip ah-chip-logo${Eh(n)}`,"data-ah-slot":`top-left`,children:r?z(`img`,{src:r,alt:t}):z(`span`,{class:`ah-logo-text`,children:t})})}function Oh({darkMode:e}){return z(`button`,{type:`button`,"aria-label":`Toggle dark mode`,onclick:wh,children:[z(`svg`,{class:`icon-auto`,width:`13`,height:`13`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,"stroke-width":`2.2`,"stroke-linecap":`round`,"stroke-linejoin":`round`,style:e===`auto`?void 0:`display:none`,children:[z(`circle`,{cx:`12`,cy:`12`,r:`9`}),z(`path`,{d:`M12 3a9 9 0 0 1 0 18`,fill:`currentColor`})]}),z(`svg`,{class:`icon-sun`,width:`13`,height:`13`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,"stroke-width":`2.2`,"stroke-linecap":`round`,"stroke-linejoin":`round`,style:e===`light`?void 0:`display:none`,children:[z(`circle`,{cx:`12`,cy:`12`,r:`5`}),z(`line`,{x1:`12`,y1:`1`,x2:`12`,y2:`3`}),z(`line`,{x1:`12`,y1:`21`,x2:`12`,y2:`23`}),z(`line`,{x1:`4.22`,y1:`4.22`,x2:`5.64`,y2:`5.64`}),z(`line`,{x1:`18.36`,y1:`18.36`,x2:`19.78`,y2:`19.78`}),z(`line`,{x1:`1`,y1:`12`,x2:`3`,y2:`12`}),z(`line`,{x1:`21`,y1:`12`,x2:`23`,y2:`12`})]}),z(`svg`,{class:`icon-moon`,width:`13`,height:`13`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,"stroke-width":`2.2`,"stroke-linecap":`round`,"stroke-linejoin":`round`,style:e===`dark`?void 0:`display:none`,children:z(`path`,{d:`M21 12.79A9 9 0 1 1 11.21 3 7 7 0 0 0 21 12.79z`})})]})}function kh({language:e,availableLanguages:t}){return!t||t.length<2?null:z(`div`,{class:`ah-lang`,children:[z(`svg`,{width:`13`,height:`13`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,"stroke-width":`2.2`,"stroke-linecap":`round`,"stroke-linejoin":`round`,children:[z(`circle`,{cx:`12`,cy:`12`,r:`10`}),z(`path`,{d:`M2 12h20`}),z(`path`,{d:`M12 2a15.3 15.3 0 0 1 4 10 15.3 15.3 0 0 1-4 10 15.3 15.3 0 0 1-4-10 15.3 15.3 0 0 1 4-10z`})]}),z(`select`,{"aria-label":`Language`,onchange:Th,children:t.map(t=>z(`option`,{value:t,selected:t===e,children:jp(t)}))})]})}function Ah({darkMode:e,language:t,availableLanguages:n,variant:r}){return z(`div`,{class:`ah-chip ah-chip-settings${Eh(r)}`,"data-ah-slot":`top-right`,children:[z(Oh,{darkMode:e}),n&&z(kh,{language:t,availableLanguages:n})]})}function jh({url:e,href:t,alt:n,height:r,variant:i}){let a=Xd(e),o=t?Xd(t):null;if(!a)return null;let s=z(`img`,{src:a,alt:n||``,height:r||18});return z(`div`,{class:`ah-chip ah-chip-trust${Eh(i)}`,"data-ah-slot":`bottom-left`,children:o?z(`a`,{href:o,target:`_blank`,rel:`noopener noreferrer`,children:s}):s})}function Mh({termsAndConditionsUrl:e,language:t,variant:n}){if(!e)return null;let{m:r}=R(`common`,`common`,t||`en`);return z(`div`,{class:`ah-chip-legal${Eh(n)}`,"data-ah-slot":`bottom-right`,children:z(`a`,{href:e,target:`_blank`,rel:`noopener noreferrer`,children:r.termsShortText()})})}function Nh(e,t){let n=[],r=Zd(e?.colors?.primary);r&&n.push(`--ah-color-primary: ${r}`);let i=Zd(t?.colors?.primary_button)||r;if(i){let e=xh(i,`#ffffff`),t=xh(i,`#000000`)>e*1.35?`#000000`:`#ffffff`;n.push(`--ah-color-text-on-primary: ${t}`)}return n.length>0?n.join(`; `)+`; width: clamp(320px, 100%, 400px);`:`width: clamp(320px, 100%, 400px);`}function Ph(e){let t=e.themePageBackground?.page_layout||`center`,n=t===`left`?`flex-start`:t===`right`?`flex-end`:`center`,r=t===`left`?`20px 20px 20px 80px`:t===`right`?`20px 80px 20px 20px`:`20px`;return{background:Qd(e.themePageBackground,e.brandingPageBackground),fontFamily:e.fontUrl?`'Inter', system-ui, sans-serif`:`system-ui, -apple-system, sans-serif`,justifyContent:n,padding:r}}function Fh(e){let{primaryColor:t,themePrimary:n,widgetBackground:r,bodyLayout:i}=e;return`
|
|
14
|
+
`,` `,t],r=new Set(n);for(;this.p<this.N&&!r.has(this.peek());)yield this.match(t)?this.readOutputToken(e):this.readHTMLToken(n)}match(e){for(let t=0;t<e.length;t++)if(e[t]!==this.input[this.p+t])return!1;return!0}rmatch(e){for(let t=0;t<e.length;t++)if(e[e.length-1-t]!==this.input[this.p-1-t])return!1;return!0}peekType(e=0){return this.p+e>=this.N?0:As[this.input.charCodeAt(this.p+e)]}peek(e=0){return this.p+e>=this.N?``:this.input[this.p+e]}skipBlank(){for(;this.peekType()&js;)++this.p}},Rl=class{constructor(e,t){this.handlers={},this.stopRequested=!1,this.tokens=e,this.parseToken=t}on(e,t){return this.handlers[e]=t,this}trigger(e,t){let n=this.handlers[e];return n?(n.call(this,t),!0):!1}start(){this.trigger(`start`);let e;for(;!this.stopRequested&&(e=this.tokens.shift());){if(this.trigger(`token`,e)||hu(e)&&this.trigger(`tag:${e.name}`,e))continue;let t=this.parseToken(e,this.tokens);this.trigger(`template`,t)}return this.stopRequested||this.trigger(`end`),this}stop(){return this.stopRequested=!0,this}},zl=class{constructor(e){this.token=e}},Bl=class extends zl{constructor(e,t,n){super(e),this.name=e.name,this.liquid=n,this.tokenizer=e.tokenizer}},Vl=class{constructor(e,t){this.hash={};let n=e instanceof Ll?e:new Ll(e,{});for(let e of n.readHashes(t))this.hash[e.name.content]=e.value}*render(e){let t={};for(let n of Object.keys(this.hash))t[n]=this.hash[n]===void 0?!0:yield Jc(this.hash[n],e);return t}};function Hl(e){return class extends Bl{constructor(t,n,r){super(t,n,r),os(e.parse)&&e.parse.call(this,t,n)}*render(t,n){let r=yield new Vl(this.token.args,t.opts.keyValueSeparator).render(t);return yield e.render.call(this,t,n,r)}}}function Ul(e){return hs(e)}var Wl=class{constructor(e,t,n){this.token=e,this.name=e.name,this.handler=os(t)?t:os(t?.handler)?t.handler:Cs,this.raw=!os(t)&&!!t?.raw,this.args=e.args,this.liquid=n}*render(e,t){let n=[];for(let e of this.args)Ul(e)?n.push([e[0],yield Jc(e[1],t)]):n.push(yield Jc(e,t));return yield this.handler.apply({context:t,token:this.token,liquid:this.liquid},[e,...n])}},Gl=class{constructor(e,t){this.filters=[];let n=typeof e==`string`?new Ll(e,t.options.operators).readFilteredValue():e;this.initial=n.initial,this.filters=n.filters.map(e=>new Wl(e,this.getFilter(t,e.name),t))}*value(e,t){t||=e.opts.lenientIf&&this.filters.length>0&&this.filters[0].name==="default";let n=yield this.initial.evaluate(e,t);for(let t of this.filters)n=yield t.render(n,e);return n}getFilter(e,t){let n=e.filters[t];return Fs(n||!e.options.strictFilters,()=>`undefined filter: ${t}`),n}},Kl=class extends zl{constructor(e,t){super(e);let n=new Ll(e.input,t.options.operators,e.file,e.contentRange);this.value=new Gl(n.readFilteredValue(),t);let r=this.value.filters,i=t.options.outputEscape;if(!r[r.length-1]?.raw&&i){let e=new Nc(toString.call(i),[],``,0,0);r.push(new Wl(e,i,t))}}*render(e,t){let n=yield this.value.value(e,!1);t.write(n)}*arguments(){yield this.value}},ql=class extends zl{constructor(e){super(e),this.str=e.getContent()}*render(e,t){t.write(this.str)}},Jl=class e{constructor(e,t){this.segments=e,this.location=t}toString(){return ou(this.segments,!0)}toArray(){function*t(...n){for(let r of n)r instanceof e?yield Array.from(t(...r.segments)):yield r}return Array.from(t(...this.segments))}},Yl=class{constructor(){this.map=new Map}get(e){let t=ou([e.segments[0]]);return this.map.has(t)||this.map.set(t,[]),this.map.get(t)}has(e){return this.map.has(ou([e.segments[0]]))}push(e){this.get(e).push(e)}asObject(){return Object.fromEntries(this.map)}},Xl={partials:!0};function*Zl(e,t,n){let r=new Yl,i=new Yl,a=new Yl,o=new eu(new Set),s=new Set;function c(e,t){r.push(e);let n=t.alias(e);if(n!==void 0){let e=n.segments[0];as(e)&&!o.has(e)&&i.push(n)}else{let n=e.segments[0];as(n)&&!t.has(n)&&i.push(e)}for(let n of e.segments)n instanceof Jl&&c(n,t)}function*l(e,r){if(e.arguments)for(let t of e.arguments())for(let e of tu(t))c(e,r);if(e.localScope)for(let t of e.localScope()){r.add(t.content),r.deleteAlias(t.content);let[e,n]=t.getPosition();a.push(new Jl([t.content],{row:e,col:n,file:t.file}))}if(e.children)if(e.partialScope){let i=e.partialScope();if(i===void 0){for(let i of yield e.children(t,n))yield l(i,r);return}if(s.has(i.name))return;let a=new Set,o=i.isolated?new eu(a):r.push(a);for(let e of i.scope)if(as(e))a.add(e);else{let[t,n]=e;a.add(t);let r=Array.from(tu(n));r.length&&o.setAlias(t,r[0].segments)}for(let r of yield e.children(t,n))yield l(r,o),s.add(i.name);o.pop()}else{e.blockScope&&r.push(new Set(e.blockScope()));for(let i of yield e.children(t,n))yield l(i,r);e.blockScope&&r.pop()}}for(let t of e)yield l(t,o);return{variables:r.asObject(),globals:i.asObject(),locals:a.asObject()}}function Ql(e,t={}){return Qs(Zl(e,Object.assign(Object.assign({},Xl),t).partials,!1))}function $l(e,t={}){return $s(Zl(e,Object.assign(Object.assign({},Xl),t).partials,!0))}var eu=class{constructor(e){this.stack=[{names:e,aliases:new Map}]}has(e){for(let t of this.stack)if(t.names.has(e))return!0;return!1}push(e){return this.stack.push({names:e,aliases:new Map}),this}pop(){return this.stack.pop()?.names}add(e){this.stack[0].names.add(e)}alias(e){let t=e.segments[0];if(!as(t))return;let n=this.getAlias(t);if(n!==void 0)return new Jl([...n,...e.segments.slice(1)],e.location)}setAlias(e,t){this.stack[this.stack.length-1].aliases.set(e,t)}deleteAlias(e){this.stack[this.stack.length-1].aliases.delete(e)}getAlias(e){for(let t of this.stack){if(t.aliases.has(e))return t.aliases.get(e);if(t.names.has(e))return}}};function*tu(e){xu(e)?yield*ru(e):e instanceof Gl&&(yield*nu(e))}function*nu(e){for(let t of e.initial.postfix)xu(t)&&(yield*ru(t));for(let t of e.filters)for(let e of t.args)Ul(e)&&e[1]?yield*ru(e[1]):xu(e)&&(yield*ru(e))}function*ru(e){bu(e)?(yield*ru(e.lhs),yield*ru(e.rhs)):vu(e)&&(yield iu(e))}function iu(e){let t=[],n=e.file,r=e.props[0];n||=r.file,gu(r)||_u(r)||yu(r)?t.push(r.content):vu(r)&&t.push(...iu(r).segments);for(let r of e.props.slice(1))n||=r.file,gu(r)||_u(r)||yu(r)?t.push(r.content):vu(r)&&t.push(iu(r));let[i,a]=e.getPosition();return new Jl(t,{row:i,col:a,file:n})}var au=/^[\u0080-\uFFFFa-zA-Z_][\u0080-\uFFFFa-zA-Z0-9_-]*$/;function ou(e,t=!1){let n=[],r=e[0];as(r)&&(!t||r.match(au)?n.push(`${r}`):n.push(`['${r}']`));for(let t of e.slice(1))t instanceof Jl?n.push(`[${ou(t.segments)}]`):as(t)?t.match(au)?n.push(`.${t}`):n.push(`['${t}']`):n.push(`[${t}]`);return n.join(``)}var su;(function(e){e.Partials=`partials`,e.Layouts=`layouts`,e.Root=`root`})(su||={});var cu=class{constructor(e){if(this.options=e,e.relativeReference){let t=e.fs.sep;Fs(t,"`fs.sep` is required for relative reference");let n=[`.`+t,`..`+t,`./`,`../`];this.shouldLoadRelative=e=>n.some(t=>e.startsWith(t))}else this.shouldLoadRelative=e=>!1;let t=e.fs;this.contains=Zs(t.contains?.bind(t)||(()=>Xs(this,void 0,void 0,function*(){return!0})),t.containsSync?.bind(t)||(()=>!0)),this.exists=Zs(t.exists?.bind(t)||(()=>Xs(this,void 0,void 0,function*(){return!1})),t.existsSync?.bind(t))}*lookup(e,t,n,r){let i=this.options[t];for(let t of this.candidates(e,i,r)){let e=!1;for(let r of i)if(yield this.contains(!!n,r,t)){e=!0;break}if(e&&(yield this.exists(!!n,t)))return t}throw this.lookupError(e,i)}*candidates(e,t,n){let{fs:r,extname:i}=this.options;this.shouldLoadRelative(e)&&n&&(yield r.resolve(this.dirname(n),e,i));for(let n of t)yield r.resolve(n,e,i);if(r.fallback!==void 0){let t=r.fallback(e);t!==void 0&&(yield t)}}dirname(e){let t=this.options.fs;return Fs(t.dirname,"`fs.dirname` is required for relative reference"),t.dirname(e)}lookupError(e,t){let n=Error(`ENOENT`);return n.message=`ENOENT: Failed to lookup "${e}" in "${t}"`,n.code=`ENOENT`,n}},lu=class{constructor(e){this.liquid=e,this.cache=this.liquid.options.cache,this.fs=this.liquid.options.fs,this.parseFile=this.cache?this._parseFileCached:this._parseFile,this.loader=new cu(this.liquid.options),this.parseLimit=new xc(`parse length`,e.options.parseLimit),this.readFile=Zs(this.fs.readFile?.bind(this.fs)||(()=>Xs(this,void 0,void 0,function*(){throw Error(`readFile not implemented`)})),this.fs.readFileSync?.bind(this.fs))}parse(e,t){e=String(e),this.parseLimit.use(e.length);let n=new Ll(e,this.liquid.options.operators,t).readTopLevelTokens(this.liquid.options);return this.parseTokens(n)}parseTokens(e){let t,n=[],r=[];for(;t=e.shift();)try{n.push(this.parseToken(t,e))}catch(e){if(this.liquid.options.catchAllErrors)r.push(e);else throw e}if(r.length)throw new ks(r);return n}parseToken(e,t){try{if(hu(e)){let n=this.liquid.tags[e.name];return Fs(n,`tag "${e.name}" not found`),new n(e,t,this.liquid,this)}return mu(e)?new Kl(e,this.liquid):new ql(e)}catch(t){throw Os.is(t)?t:new tte(t,e)}}parseStream(e){return new Rl(e,(e,t)=>this.parseToken(e,t))}*_parseFileCached(e,t,n=su.Root,r){let i=this.cache,a=this.loader.shouldLoadRelative(e)?r+`,`+e:n+`:`+e,o=yield i.read(a);if(o)return o;let s=this._parseFile(e,t,n,r),c=t?yield s:Qs(s);i.write(a,c);try{return yield c}catch(e){throw i.remove(a),e}}*_parseFile(e,t,n=su.Root,r){let i=yield this.loader.lookup(e,n,t,r);return this.parse(yield this.readFile(!!t,i),i)}},uu;(function(e){e[e.Number=1]=`Number`,e[e.Literal=2]=`Literal`,e[e.Tag=4]=`Tag`,e[e.Output=8]=`Output`,e[e.HTML=16]=`HTML`,e[e.Filter=32]=`Filter`,e[e.Hash=64]=`Hash`,e[e.PropertyAccess=128]=`PropertyAccess`,e[e.Word=256]=`Word`,e[e.Range=512]=`Range`,e[e.Quoted=1024]=`Quoted`,e[e.Operator=2048]=`Operator`,e[e.FilteredValue=4096]=`FilteredValue`,e[e.Delimited=12]=`Delimited`})(uu||={});function du(e){return!!(Su(e)&uu.Delimited)}function fu(e){return Su(e)===uu.Operator}function pu(e){return Su(e)===uu.HTML}function mu(e){return Su(e)===uu.Output}function hu(e){return Su(e)===uu.Tag}function gu(e){return Su(e)===uu.Quoted}function _u(e){return Su(e)===uu.Number}function vu(e){return Su(e)===uu.PropertyAccess}function yu(e){return Su(e)===uu.Word}function bu(e){return Su(e)===uu.Range}function xu(e){return(Su(e)&1667)>0}function Su(e){return e?e.kind:-1}function Cu(e){let t=Object.create(null);return e&&Object.assign(t,e),t}var wu=class e{constructor(e={},t=Al,n={},{memoryLimit:r,renderLimit:i}={}){this.scopes=[Cu()],this.registers={},this.breakCalled=!1,this.continueCalled=!1,this.sync=!!n.sync,this.opts=t,this.globals=n.globals??t.globals,this.environments=ys(e)?e:Object(e),this.strictVariables=n.strictVariables??this.opts.strictVariables,this.ownPropertyOnly=n.ownPropertyOnly??t.ownPropertyOnly,this.memoryLimit=r??new xc(`memory alloc`,n.memoryLimit??t.memoryLimit),this.renderLimit=i??new xc(`template render`,Gc().now()+(n.renderLimit??t.renderLimit))}getRegister(e,t=void 0){return this.registers[e]=this.registers[e]||t}setRegister(e,t){return this.registers[e]=t}saveRegister(...e){return e.map(e=>[e,this.getRegister(e)])}restoreRegister(e){return e.forEach(([e,t])=>this.setRegister(e,t))}getAll(){return[this.globals,this.environments,...this.scopes].reduce((e,t)=>Ys(e,t),{})}get(e){return this.getSync(e)}getSync(e){return $s(this._get(e))}*_get(e){let t=this.findScope(e[0]);return yield this._getFromScope(t,e)}getFromScope(e,t){return $s(this._getFromScope(e,t))}*_getFromScope(e,t,n=this.strictVariables){as(t)&&(t=t.split(`.`));for(let r=0;r<t.length;r++)if(e=yield this.readProperty(e,t[r]),n&&qee(e))throw new ite(t.slice(0,r+1).join(`.`));return e}push(e){return this.scopes.push(e)}pop(){return this.scopes.pop()}bottom(){return this.scopes[0]}spawn(t={}){return new e(t,this.opts,{sync:this.sync,globals:this.globals,strictVariables:this.strictVariables,ownPropertyOnly:this.ownPropertyOnly},{renderLimit:this.renderLimit,memoryLimit:this.memoryLimit})}findScope(e){for(let t=this.scopes.length-1;t>=0;t--){let n=this.scopes[t];if(e in n)return n}return e in this.environments?this.environments:this.globals}readProperty(e,t){if(e=ps(e),t=us(t),ms(e))return e;if(hs(e)&&t<0)return e[e.length+ +t];let n=Tu(e,t,this.ownPropertyOnly);return n===void 0&&e instanceof ns?e.liquidMethodMissing(t,this):os(n)?n.call(e):t===`size`?Ou(e):t===`first`?Eu(e):t===`last`?Du(e):n}};function Tu(e,t,n){if(!(n&&!is.call(e,t)&&!(e instanceof ns)))return e[t]}function Eu(e){return hs(e)?e[0]:e.first}function Du(e){return hs(e)?e[e.length-1]:e.last}function Ou(e){if(is.call(e,`size`)||e.size!==void 0)return e.size;if(hs(e)||as(e))return e.length;if(typeof e==`object`)return Object.keys(e).length}var ku;(function(e){e[e.OUTPUT=0]=`OUTPUT`,e[e.STORE=1]=`STORE`})(ku||={});var Au=Ts(Math.abs),ju=Ts(Math.max),Mu=Ts(Math.min),Nu=Ts(Math.ceil),Pu=Ts((e,t,n=!1)=>n?Math.floor(e/t):e/t),Fu=Ts(Math.floor),Iu=Ts((e,t)=>e-t),Lu=Ts((e,t)=>e+t),Ru=Ts((e,t)=>e%t),zu=Ts((e,t)=>e*t);function Bu(e,t=0){e=ds(e),t=ds(t);let n=10**t,r=e*n*(1+2**-52);return Math.round(r)/n}var Vu=Object.freeze({__proto__:null,abs:Au,at_least:ju,at_most:Mu,ceil:Nu,divided_by:Pu,floor:Fu,minus:Iu,plus:Lu,modulo:Ru,times:zu,round:Bu}),Hu=e=>decodeURIComponent(I(e)).replace(/\+/g,` `),Uu=e=>encodeURIComponent(I(e)).replace(/%20/g,`+`),Wu=e=>encodeURIComponent(I(e)).replace(/%20/g,`+`).replace(/[!'()*]/g,e=>`%`+e.charCodeAt(0).toString(16).toUpperCase()),Gu=e=>encodeURI(I(e)).replace(/%5B/g,`[`).replace(/%5D/g,`]`),Ku=/[^\p{M}\p{L}\p{Nd}]+/gu,qu={raw:/\s+/g,default:Ku,pretty:/[^\p{M}\p{L}\p{Nd}._~!$&'()+,;=@]+/gu,ascii:/[^A-Za-z0-9]+/g,latin:Ku,none:null};function Ju(e,t=`default`,n=!1){e=I(e);let r=qu[t];return r&&(t===`latin`&&(e=Yu(e)),e=e.replace(r,`-`).replace(/^-|-$/g,``)),n?e:e.toLowerCase()}function Yu(e){return e.replace(/[àáâãäå]/g,`a`).replace(/[æ]/g,`ae`).replace(/[ç]/g,`c`).replace(/[èéêë]/g,`e`).replace(/[ìíîï]/g,`i`).replace(/[ð]/g,`d`).replace(/[ñ]/g,`n`).replace(/[òóôõöø]/g,`o`).replace(/[ùúûü]/g,`u`).replace(/[ýÿ]/g,`y`).replace(/[ß]/g,`ss`).replace(/[œ]/g,`oe`).replace(/[þ]/g,`th`).replace(/[ẞ]/g,`SS`).replace(/[Œ]/g,`OE`).replace(/[Þ]/g,`TH`)}var Xu=Object.freeze({__proto__:null,url_decode:Hu,url_encode:Uu,cgi_escape:Wu,uri_escape:Gu,slugify:Ju}),Zu=ws(function(e,t){let n=ls(e),r=ms(t)?` `:I(t),i=n.length*(1+r.length);return this.context.memoryLimit.use(i),n.join(r)}),Qu=ws(e=>gs(e)?vs(e):``),$u=ws(e=>gs(e)?e[0]:``),ed=ws(function(e){let t=ls(e);return this.context.memoryLimit.use(t.length),[...t].reverse()});function*td(e,t,n){let r=[],i=ls(e);this.context.memoryLimit.use(i.length);for(let e of i)r.push([e,t?yield this.context._getFromScope(e,I(t).split(`.`),!1):e]);return r.sort((e,t)=>n(e[1],t[1])).map(e=>e[0])}function*nd(e,t){return yield*td.call(this,e,t,Qee)}function*rd(e,t){return yield*td.call(this,e,t,$ee)}var id=e=>e&&e.length||0;function*ad(e,t){let n=[],r=ls(e);this.context.memoryLimit.use(r.length);for(let e of r)n.push(yield this.context._getFromScope(e,I(t),!1));return n}function*od(e,t){let n=0,r=ls(e);for(let e of r){let r=Number(t?yield this.context._getFromScope(e,I(t),!1):e);n+=Number.isNaN(r)?0:r}return n}function sd(e){let t=ls(e);return this.context.memoryLimit.use(t.length),t.filter(e=>!ms(us(e)))}function cd(e,t=[]){let n=ls(e),r=ls(t);return this.context.memoryLimit.use(n.length+r.length),n.concat(r)}function ld(e,t){return cd.call(this,e,[t])}function ud(e,t){let n=ls(e);this.context.memoryLimit.use(n.length);let r=[...n];return r.unshift(t),r}function dd(e){let t=ls(e);this.context.memoryLimit.use(t.length);let n=[...t];return n.pop(),n}function fd(e){let t=ls(e);this.context.memoryLimit.use(t.length);let n=[...t];return n.shift(),n}function pd(e,t,n=1){return e=us(e),ms(e)?[]:(hs(e)||(e=I(e)),t=t<0?e.length+t:t,this.context.memoryLimit.use(n),e.slice(t,t+n))}function md(e){return this.context.opts.jekyllWhere?t=>Ls.is(e)?nl(t,e):hs(t)?il(t,e):nl(t,e):e===void 0?e=>$c(e,this.context):t=>nl(t,e)}function*hd(e,t,n,r){let i=[];t=ls(t),this.context.memoryLimit.use(t.length);let a=new Ll(I(n)).readScopeValue();for(let e of t)i.push(yield Jc(a,this.context.spawn(e)));let o=md.call(this,r);return t.filter((t,n)=>o(i[n])===e)}function*gd(e,t,n,r){let i=[],a=new Gl(I(r),this.liquid),o=ls(t);this.context.memoryLimit.use(o.length);for(let t of o){this.context.push({[n]:t});let r=yield a.value(this.context);this.context.pop(),r===e&&i.push(t)}return i}function*_d(e,t,n){return yield*hd.call(this,!0,e,t,n)}function*vd(e,t,n){return yield*hd.call(this,!1,e,t,n)}function*yd(e,t,n){return yield*gd.call(this,!0,e,t,n)}function*bd(e,t,n){return yield*gd.call(this,!1,e,t,n)}function*xd(e,t){let n=new Map;e=cs(e);let r=new Ll(I(t)).readScopeValue();this.context.memoryLimit.use(e.length);for(let t of e){let e=yield Jc(r,this.context.spawn(t));n.has(e)||n.set(e,[]),n.get(e).push(t)}return[...n.entries()].map(([e,t])=>({name:e,items:t}))}function*Sd(e,t,n){let r=new Map,i=new Gl(I(n),this.liquid);e=cs(e),this.context.memoryLimit.use(e.length);for(let n of e){this.context.push({[t]:n});let e=yield i.value(this.context);this.context.pop(),r.has(e)||r.set(e,[]),r.get(e).push(n)}return[...r.entries()].map(([e,t])=>({name:e,items:t}))}function*Cd(e,t,n){let r=new Ll(I(t)).readScopeValue(),i=ls(e),a=md.call(this,n);for(let e=0;e<i.length;e++)if(a(yield Jc(r,this.context.spawn(i[e]))))return[e,i[e]]}function*wd(e,t,n){let r=new Gl(I(n),this.liquid),i=ls(e);for(let e=0;e<i.length;e++){this.context.push({[t]:i[e]});let n=yield r.value(this.context);if(this.context.pop(),n)return[e,i[e]]}}function*Td(e,t,n){return!!(yield*Cd.call(this,e,t,n))}function*Ed(e,t,n){return!!(yield*wd.call(this,e,t,n))}function*Dd(e,t,n){let r=yield*Cd.call(this,e,t,n);return r?r[0]:void 0}function*Od(e,t,n){let r=yield*wd.call(this,e,t,n);return r?r[0]:void 0}function*kd(e,t,n){let r=yield*Cd.call(this,e,t,n);return r?r[1]:void 0}function*Ad(e,t,n){let r=yield*wd.call(this,e,t,n);return r?r[1]:void 0}function jd(e){return e=ls(e),this.context.memoryLimit.use(e.length),[...new Set(e)]}function Md(e,t=1){if(e=us(e),ms(e))return[];hs(e)||(e=I(e)),this.context.memoryLimit.use(e.length);let n=[...e].sort(()=>Math.random()-.5);return t===1?n[0]:n.slice(0,t)}var Nd=Object.freeze({__proto__:null,join:Zu,last:Qu,first:$u,reverse:ed,sort:nd,sort_natural:rd,size:id,map:ad,sum:od,compact:sd,concat:cd,push:ld,unshift:ud,pop:dd,shift:fd,slice:pd,where:_d,reject:vd,where_exp:yd,reject_exp:bd,group_by:xd,group_by_exp:Sd,has:Td,has_exp:Ed,find_index:Dd,find_index_exp:Od,find:kd,find_exp:Ad,uniq:jd,sample:Md});function Pd(e,t,n){let r=(e?.length??0)+(n?.length??0);this.context.memoryLimit.use(r);let i=Bd(e,this.context.opts,n);return i?(t=us(t),t=ms(t)?this.context.opts.dateFormat:I(t),this.context.memoryLimit.use(t.length),dc(i,t,this.context.memoryLimit)):e}function Fd(e){return Pd.call(this,e,`%Y-%m-%dT%H:%M:%S%:z`)}function Id(e){return Pd.call(this,e,`%a, %d %b %Y %H:%M:%S %z`)}function Ld(e,t,n){return zd.call(this,e,`%b`,t,n)}function Rd(e,t,n){return zd.call(this,e,`%B`,t,n)}function zd(e,t,n,r){let i=Bd(e,this.context.opts);if(!i)return e;let a=this.context.memoryLimit;if(n===`ordinal`){let e=i.getDate();return r===`US`?dc(i,`${t} ${e}%q, %Y`,a):dc(i,`${e}%q ${t} %Y`,a)}return dc(i,`%d ${t} %Y`,a)}function Bd(e,t,n){let r,i=n??t.timezoneOffset,a=t.locale;if(e=us(e),!ms(e))return r=e===`now`||e===`today`?new bc(Date.now(),a,i):fs(e)?new bc(e*1e3,a,i):as(e)?/^\d+$/.test(e)?new bc(e*1e3,a,i):t.preserveTimezones&&n===void 0?bc.createDateFixedToTimezone(e,a):new bc(e,a,i):new bc(e,a,i),r.valid()?r:void 0}var Vd=Object.freeze({__proto__:null,date:Pd,date_to_xmlschema:Fd,date_to_rfc822:Id,date_to_string:Ld,date_to_long_string:Rd}),Hd=/[\u4E00-\u9FFF\uF900-\uFAFF\u3400-\u4DBF\u3040-\u309F\u30A0-\u30FF\uAC00-\uD7AF]/gu,Ud=/[^\u4E00-\u9FFF\uF900-\uFAFF\u3400-\u4DBF\u3040-\u309F\u30A0-\u30FF\uAC00-\uD7AF\s]+/gu;function pte(e,t){Fs(arguments.length===2,`append expect 2 arguments`);let n=I(e),r=I(t);return this.context.memoryLimit.use(n.length+r.length),n+r}function mte(e,t){Fs(arguments.length===2,`prepend expect 2 arguments`);let n=I(e),r=I(t);return this.context.memoryLimit.use(n.length+r.length),r+n}function hte(e,t){let n=I(e);if(this.context.memoryLimit.use(n.length),t){t=I(t),this.context.memoryLimit.use(t.length);for(let e=0,r=new Set(t);e<n.length;e++)if(!r.has(n[e]))return n.slice(e);return``}return n.trimStart()}function gte(e){let t=I(e);return this.context.memoryLimit.use(t.length),t.toLowerCase()}function _te(e){let t=I(e);return this.context.memoryLimit.use(t.length),I(t).toUpperCase()}function vte(e,t){let n=I(e);return t=I(t),this.context.memoryLimit.use(n.length+t.length),n.split(t).join(``)}function yte(e,t){let n=I(e);return t=I(t),this.context.memoryLimit.use(n.length+t.length),n.replace(t,``)}function bte(e,t){let n=I(e),r=I(t);this.context.memoryLimit.use(n.length+r.length);let i=n.lastIndexOf(r);return i===-1?n:n.substring(0,i)+n.substring(i+r.length)}function xte(e,t){if(e=I(e),this.context.memoryLimit.use(e.length),t){t=I(t),this.context.memoryLimit.use(t.length);for(let n=e.length-1,r=new Set(t);n>=0;n--)if(!r.has(e[n]))return e.slice(0,n+1);return``}return e.trimEnd()}function Ste(e,t){let n=I(e);this.context.memoryLimit.use(n.length);let r=n.split(I(t));for(;r.length&&r[r.length-1]===``;)r.pop();return r}function Cte(e,t){let n=I(e);if(this.context.memoryLimit.use(n.length),t){let e=new Set(I(t));this.context.memoryLimit.use(e.size);let r=0,i=n.length-1;for(;e.has(n[r]);)r++;for(;i>=r&&e.has(n[i]);)i--;return n.slice(r,i+1)}return n.trim()}function wte(e){let t=I(e);return this.context.memoryLimit.use(t.length),t.replace(/\r?\n/gm,``)}function Tte(e){return e=I(e),this.context.memoryLimit.use(e.length),e.charAt(0).toUpperCase()+e.slice(1).toLowerCase()}function Ete(e,t,n){let r=I(e);t=I(t),n=I(n);let i=r.split(t),a=r.length+(i.length-1)*(n.length-t.length);return this.context.memoryLimit.use(a),i.join(n)}function Dte(e,t,n){let r=I(e);return t=I(t),n=I(n),this.context.memoryLimit.use(r.length+t.length+n.length),r.replace(t,()=>n)}function Ote(e,t,n){let r=I(e),i=I(t),a=I(n);this.context.memoryLimit.use(r.length+i.length+a.length);let o=r.lastIndexOf(i);return o===-1?r:r.substring(0,o)+a+r.substring(o+i.length)}function kte(e,t=50,n=`...`){let r=I(e);return n=I(n),this.context.memoryLimit.use(r.length+n.length),r.length<=t?e:r.substring(0,t-n.length)+n}function Ate(e,t=15,n=`...`){let r=I(e);n=I(n),this.context.memoryLimit.use(r.length+n.length);let i=r.split(/\s+/);t<=0&&(t=1);let a=i.slice(0,t).join(` `);return i.length>=t&&(a+=n),a}function jte(e){let t=I(e);return this.context.memoryLimit.use(t.length),t.replace(/\s+/g,` `)}function Mte(e,t){let n=I(e);if(this.context.memoryLimit.use(n.length),e=n.trim(),!e)return 0;switch(t){case`cjk`:return(e.match(Hd)||[]).length+(e.match(Ud)||[]).length;case`auto`:return Hd.test(e)?e.match(Hd).length+(e.match(Ud)||[]).length:e.split(/\s+/).length;default:return e.split(/\s+/).length}}function Nte(e,t=`and`){switch(t=I(t),this.context.memoryLimit.use(e.length+t.length),e.length){case 0:return``;case 1:return e[0];case 2:return`${e[0]} ${t} ${e[1]}`;default:return`${e.slice(0,-1).join(`, `)}, ${t} ${e[e.length-1]}`}}var Pte=Object.freeze({__proto__:null,append:pte,prepend:mte,lstrip:hte,downcase:gte,upcase:_te,remove:vte,remove_first:yte,remove_last:bte,rstrip:xte,split:Ste,strip:Cte,strip_newlines:wte,capitalize:Tte,replace:Ete,replace_first:Dte,replace_last:Ote,truncate:kte,truncatewords:Ate,normalize_whitespace:jte,number_of_words:Mte,array_to_sentence_string:Nte});function Fte(e){return btoa(String.fromCharCode(...new TextEncoder().encode(e)))}function Ite(e){return new TextDecoder().decode(Uint8Array.from(atob(e),e=>e.charCodeAt(0)))}function Lte(e){if(typeof Buffer<`u`&&Buffer.isBuffer(e))return this.context.memoryLimit.use(e.byteLength),e.toString(`base64`);let t=I(e);return this.context.memoryLimit.use(t.length),Fte(t)}function Rte(e){let t=I(e);return this.context.memoryLimit.use(t.length),Ite(t)}var zte=Object.freeze({__proto__:null,base64_encode:Lte,base64_decode:Rte});function Wd(e){let t=new Uint8Array(e),n=``;for(let e=0;e<t.length;e++)n+=t[e].toString(16).padStart(2,`0`);return n}function Bte(e){return Xs(this,void 0,void 0,function*(){let t=new TextEncoder().encode(e);return Wd(yield crypto.subtle.digest(`SHA-256`,t))})}function Vte(e,t){return Xs(this,void 0,void 0,function*(){let n=new TextEncoder,r=yield crypto.subtle.importKey(`raw`,n.encode(t),{name:`HMAC`,hash:`SHA-256`},!1,[`sign`]);return Wd(yield crypto.subtle.sign(`HMAC`,r,n.encode(e)))})}function Hte(e){let t=I(e);return this.context.memoryLimit.use(t.length),Bte(t)}function Ute(e,t){let n=I(e),r=I(t);return this.context.memoryLimit.use(n.length+r.length),Vte(n,r)}var Wte=Object.freeze({__proto__:null,sha256:Hte,hmac_sha256:Ute}),Gte=Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({},Ol),Vu),Xu),Nd),Vd),Pte),zte),Wte),yl),Kte=class extends Bl{constructor(e,t,n){super(e,t,n),this.identifier=this.tokenizer.readIdentifier(),this.key=this.identifier.content,this.tokenizer.assert(this.key,`expected variable name`),this.tokenizer.skipBlank(),this.tokenizer.assert(this.tokenizer.peek()===`=`,`expected "="`),this.tokenizer.advance(),this.value=new Gl(this.tokenizer.readFilteredValue(),this.liquid)}*render(e){e.bottom()[this.key]=yield this.value.value(e,this.liquid.options.lenientIf)}*arguments(){yield this.value}*localScope(){yield this.identifier}},Gd=[`offset`,`limit`,`reversed`],qte=class extends Bl{constructor(e,t,n,r){super(e,t,n);let i=this.tokenizer.readIdentifier(),a=this.tokenizer.readIdentifier(),o=this.tokenizer.readValue();if(!i.size()||a.content!==`in`||!o)throw Error(`illegal tag: ${e.getText()}`);this.variable=i.content,this.collection=o,this.hash=new Vl(this.tokenizer,n.options.keyValueSeparator),this.templates=[],this.elseTemplates=[];let s,c=r.parseStream(t).on(`start`,()=>s=this.templates).on(`tag:else`,e=>{Is(e.args),s=this.elseTemplates}).on(`tag:endfor`,e=>{Is(e.args),c.stop()}).on(`template`,e=>s.push(e)).on(`end`,()=>{throw Error(`tag ${e.getText()} not closed`)});c.start()}*render(e,t){let n=this.liquid.renderer,r=cs(yield Jc(this.collection,e));if(!r.length){yield n.renderTemplates(this.elseTemplates,e,t);return}let i=`continue-`+this.variable+`-`+this.collection.getText();e.push(Cu({continue:e.getRegister(i,{})}));let a=yield this.hash.render(e);e.pop(),r=(this.liquid.options.orderedFilterParameters?Object.keys(a).filter(e=>Gd.includes(e)):Gd.filter(e=>a[e]!==void 0)).reduce((e,t)=>t===`offset`?Yte(e,a.offset):t===`limit`?Xte(e,a.limit):Jte(e),r),e.setRegister(i,(a.offset||0)+r.length);let o=Cu({forloop:new zs(r.length,this.collection.getText(),this.variable)});e.push(o);for(let i of r){if(o[this.variable]=i,e.continueCalled=e.breakCalled=!1,yield n.renderTemplates(this.templates,e,t),e.breakCalled)break;o.forloop.next()}e.continueCalled=e.breakCalled=!1,e.pop()}*children(){let e=this.templates.slice();return this.elseTemplates&&e.push(...this.elseTemplates),e}*arguments(){yield this.collection;for(let e of Object.values(this.hash.hash))xu(e)&&(yield e)}blockScope(){return[this.variable,`forloop`]}};function Jte(e){return[...e].reverse()}function Yte(e,t){return e.slice(t)}function Xte(e,t){return e.slice(0,t)}var Zte=class extends Bl{constructor(e,t,n,r){for(super(e,t,n),this.templates=[],this.identifier=this.readVariable(),this.variable=this.identifier.content;t.length;){let e=t.shift();if(hu(e)&&e.name===`endcapture`)return;this.templates.push(r.parseToken(e,t))}throw Error(`tag ${e.getText()} not closed`)}readVariable(){let e=this.tokenizer.readIdentifier();if(e.content||(e=this.tokenizer.readQuoted(),e))return e;throw this.tokenizer.error(`invalid capture name`)}*render(e){let t=yield this.liquid.renderer.renderTemplates(this.templates,e);e.bottom()[this.variable]=t}*children(){return this.templates}*localScope(){yield this.identifier}},Qte=class extends Bl{constructor(e,t,n,r){super(e,t,n),this.branches=[],this.elseTemplates=[],this.value=new Gl(this.tokenizer.readFilteredValue(),this.liquid),this.elseTemplates=[];let i=[],a=0,o=r.parseStream(t).on(`tag:when`,e=>{if(a>0)return;i=[];let t=[];for(;!e.tokenizer.end();)t.push(e.tokenizer.readValueOrThrow()),e.tokenizer.skipBlank(),e.tokenizer.peek()===`,`?e.tokenizer.readTo(`,`):e.tokenizer.readTo(`or`);this.branches.push({values:t,templates:i})}).on(`tag:else`,()=>{a++,i=this.elseTemplates}).on(`tag:endcase`,()=>o.stop()).on(`template`,e=>{(i!==this.elseTemplates||a===1)&&i.push(e)}).on(`end`,()=>{throw Error(`tag ${e.getText()} not closed`)});o.start()}*render(e,t){let n=this.liquid.renderer,r=us(yield this.value.value(e,e.opts.lenientIf)),i=!1;for(let a of this.branches)for(let o of a.values)if(nl(r,yield Jc(o,e,e.opts.lenientIf))){yield n.renderTemplates(a.templates,e,t),i=!0;break}i||(yield n.renderTemplates(this.elseTemplates,e,t))}*arguments(){yield this.value,yield*this.branches.flatMap(e=>e.values)}*children(){let e=this.branches.flatMap(e=>e.templates);return this.elseTemplates&&e.push(...this.elseTemplates),e}},$te=class extends Bl{constructor(e,t,n){for(super(e,t,n);t.length;){let e=t.shift();if(hu(e)&&e.name===`endcomment`)return}throw Error(`tag ${e.getText()} not closed`)}render(){}},ene=class extends Bl{constructor(e,t,n,r){super(e,t,n);let i=this.tokenizer;for(this.file=Kd(i,this.liquid,r),this.currentFile=e.file;!i.end();){i.skipBlank();let e=i.p,t=i.readIdentifier();if((t.content===`with`||t.content===`for`)&&(i.skipBlank(),i.peek()!==`:`)){let e=i.readValue();if(e){let n=i.p,r=i.readIdentifier(),a;r.content===`as`?a=i.readIdentifier():i.p=n;let o={value:e,alias:a&&a.content};t.content===`with`?this.with=o:this.forBinding=o,i.skipBlank(),i.peek()===`,`&&i.advance();continue}}i.p=e;break}this.hash=new Vl(i,n.options.keyValueSeparator)}*render(e,t){let{liquid:n,hash:r}=this,i=yield Jd(this.file,e,n);Fs(i,()=>`illegal file path "${i}"`);let a=e.spawn(),o=a.bottom();if(Ys(o,yield r.render(e)),this.with){let{value:t,alias:n}=this.with;o[n||i]=yield Jc(t,e)}if(this.forBinding){let{value:r,alias:s}=this.forBinding,c=cs(yield Jc(r,e));o.forloop=new zs(c.length,r.getText(),s);for(let e of c){o[s]=e;let r=yield n._parsePartialFile(i,a.sync,this.currentFile);yield n.renderer.renderTemplates(r,a,t),o.forloop.next()}}else{let e=yield n._parsePartialFile(i,a.sync,this.currentFile);yield n.renderer.renderTemplates(e,a,t)}}*children(e,t){return e&&as(this.file)?yield this.liquid._parsePartialFile(this.file,t,this.currentFile):[]}partialScope(){if(as(this.file)){let e=Object.keys(this.hash.hash);if(this.with){let{value:t,alias:n}=this.with;as(n)?e.push([n,t]):as(this.file)&&e.push([this.file,t])}if(this.forBinding){let{value:t,alias:n}=this.forBinding;as(n)?e.push([n,t]):as(this.file)&&e.push([this.file,t])}return{name:this.file,isolated:!0,scope:e}}}*arguments(){for(let e of Object.values(this.hash.hash))xu(e)&&(yield e);if(this.with){let{value:e}=this.with;xu(e)&&(yield e)}if(this.forBinding){let{value:e}=this.forBinding;xu(e)&&(yield e)}}};function Kd(e,t,n){if(t.options.dynamicPartials){let t=e.readValue();return e.assert(t,`illegal file path`),t.getText()===`none`?void 0:gu(t)?qd(n.parse(Xc(t))):t}let r=[...e.readFileNameTemplate(t.options)],i=qd(n.parseTokens(r));return i===`none`?void 0:i}function qd(e){return e.length===1&&pu(e[0].token)?e[0].token.getContent():e}function*Jd(e,t,n){return typeof e==`string`?e:Array.isArray(e)?n.renderer.renderTemplates(e,t):yield Jc(e,t)}var tne=class extends Bl{constructor(e,t,n,r){super(e,t,n);let{tokenizer:i}=e;this.file=Kd(i,this.liquid,r),this.currentFile=e.file;let a=i.p;i.readIdentifier().content===`with`?(i.skipBlank(),i.peek()===`:`?i.p=a:this.withVar=i.readValue()):i.p=a,this.hash=new Vl(i,n.options.jekyllInclude||n.options.keyValueSeparator)}*render(e,t){let{liquid:n,hash:r,withVar:i}=this,{renderer:a}=n,o=yield Jd(this.file,e,n);Fs(o,()=>`illegal file path "${o}"`);let s=e.saveRegister(`blocks`,`blockMode`);e.setRegister(`blocks`,{}),e.setRegister(`blockMode`,ku.OUTPUT);let c=Cu(yield r.render(e));i&&(c[o]=yield Jc(i,e));let l=yield n._parsePartialFile(o,e.sync,this.currentFile);e.push(e.opts.jekyllInclude?Cu({include:c}):c),yield a.renderTemplates(l,e,t),e.pop(),e.restoreRegister(s)}*children(e,t){return e&&as(this.file)?yield this.liquid._parsePartialFile(this.file,t,this.currentFile):[]}partialScope(){if(as(this.file)){let e;return this.liquid.options.jekyllInclude?e=[`include`]:(e=Object.keys(this.hash.hash),this.withVar&&e.push([this.file,this.withVar])),{name:this.file,isolated:!1,scope:e}}}*arguments(){yield*Object.values(this.hash.hash).filter(xu),xu(this.file)&&(yield this.file),xu(this.withVar)&&(yield this.withVar)}},nne=class extends Bl{constructor(e,t,n){super(e,t,n),this.identifier=this.tokenizer.readIdentifier(),this.variable=this.identifier.content}render(e,t){let n=e.environments;fs(n[this.variable])||(n[this.variable]=0),t.write(I(--n[this.variable]))}*localScope(){yield this.identifier}},rne=class extends Bl{constructor(e,t,n){super(e,t,n),this.candidates=[];let r=this.tokenizer.readValue();for(this.tokenizer.skipBlank(),r&&(this.tokenizer.peek()===`:`?(this.group=r,this.tokenizer.advance()):this.candidates.push(r));!this.tokenizer.end();){let e=this.tokenizer.readValue();e&&this.candidates.push(e),this.tokenizer.readTo(`,`)}this.tokenizer.assert(this.candidates.length,()=>`empty candidates: "${e.getText()}"`)}*render(e,t){let n=`cycle:${yield Jc(this.group,e)}:`+this.candidates.join(`,`),r=e.getRegister(`cycle`,{}),i=r[n];i===void 0&&(i=r[n]=0);let a=this.candidates[i];return i=(i+1)%this.candidates.length,r[n]=i,yield Jc(a,e)}*arguments(){yield*this.candidates,this.group&&(yield this.group)}},ine=class extends Bl{constructor(e,t,n,r){super(e,t,n),this.branches=[];let i=[];r.parseStream(t).on(`start`,()=>this.branches.push({value:new Gl(e.tokenizer.readFilteredValue(),this.liquid),templates:i=[]})).on(`tag:elsif`,e=>{Fs(!this.elseTemplates,`unexpected elsif after else`),this.branches.push({value:new Gl(e.tokenizer.readFilteredValue(),this.liquid),templates:i=[]})}).on(`tag:else`,e=>{Is(e.args),Fs(!this.elseTemplates,`duplicated else`),i=this.elseTemplates=[]}).on(`tag:endif`,function(e){Is(e.args),this.stop()}).on(`template`,e=>i.push(e)).on(`end`,()=>{throw Error(`tag ${e.getText()} not closed`)}).start()}*render(e,t){let n=this.liquid.renderer;for(let{value:r,templates:i}of this.branches)if($c(yield r.value(e,e.opts.lenientIf),e)){yield n.renderTemplates(i,e,t);return}yield n.renderTemplates(this.elseTemplates||[],e,t)}*children(){let e=this.branches.flatMap(e=>e.templates);return this.elseTemplates&&e.push(...this.elseTemplates),e}arguments(){return this.branches.map(e=>e.value)}},ane=class extends Bl{constructor(e,t,n){super(e,t,n),this.identifier=this.tokenizer.readIdentifier(),this.variable=this.identifier.content}render(e,t){let n=e.environments;fs(n[this.variable])||(n[this.variable]=0);let r=n[this.variable];n[this.variable]++,t.write(I(r))}*localScope(){yield this.identifier}},one=class extends Bl{constructor(e,t,n,r){super(e,t,n),this.file=Kd(this.tokenizer,this.liquid,r),this.currentFile=e.file,this.args=new Vl(this.tokenizer,n.options.keyValueSeparator),this.templates=r.parseTokens(t)}*render(e,t){let{liquid:n,args:r,file:i}=this,{renderer:a}=n;if(i===void 0){e.setRegister(`blockMode`,ku.OUTPUT),yield a.renderTemplates(this.templates,e,t);return}let o=yield Jd(this.file,e,n);Fs(o,()=>`illegal file path "${o}"`);let s=yield n._parseLayoutFile(o,e.sync,this.currentFile);e.setRegister(`blockMode`,ku.STORE);let c=yield a.renderTemplates(this.templates,e),l=e.getRegister(`blocks`,{});l[``]===void 0&&(l[``]=(e,t)=>t.write(c)),e.setRegister(`blockMode`,ku.OUTPUT),e.push(Cu(yield r.render(e))),yield a.renderTemplates(s,e,t),e.pop()}*children(e){let t=this.templates.slice();return e&&as(this.file)&&t.push(...yield this.liquid._parsePartialFile(this.file,!0,this.currentFile)),t}*arguments(){for(let e of Object.values(this.args.hash))xu(e)&&(yield e);xu(this.file)&&(yield this.file)}partialScope(){if(as(this.file))return{name:this.file,isolated:!1,scope:Object.keys(this.args.hash)}}},sne=class extends Bl{constructor(e,t,n,r){super(e,t,n),this.templates=[];let i=/\w+/.exec(e.args);for(this.block=i?i[0]:``;t.length;){let e=t.shift();if(hu(e)&&e.name===`endblock`)return;let n=r.parseToken(e,t);this.templates.push(n)}throw Error(`tag ${e.getText()} not closed`)}*render(e,t){let n=this.getBlockRender(e);e.getRegister(`blockMode`)===ku.STORE?e.getRegister(`blocks`,{})[this.block]=n:yield n(new Us,t)}getBlockRender(e){let t=this,{liquid:n,templates:r}=this,i=e.getRegister(`blocks`,{})[this.block],a=function*(i,a){let o=e.getRegister(`blockStack`,[]);if(o.includes(t))throw Error(`block tag cannot be nested`);o.push(t),e.push(Cu({block:i})),yield n.renderer.renderTemplates(r,e,a),e.pop(),o.pop()};return i?(e,t)=>i(new Us(t=>a(e,t)),t):a}*children(){return this.templates}blockScope(){return[`block`]}},cne=class extends Bl{constructor(e,t,n){for(super(e,t,n),this.tokens=[];t.length;){let e=t.shift();if(hu(e)&&e.name===`endraw`)return;this.tokens.push(e)}throw Error(`tag ${e.getText()} not closed`)}render(){return this.tokens.map(e=>e.getText()).join(``)}},lne=class extends zs{constructor(e,t,n,r){super(e,n,r),this.length=e,this.cols=t}row(){return Math.floor(this.i/this.cols)+1}col0(){return this.i%this.cols}col(){return this.col0()+1}col_first(){return this.col0()===0}col_last(){return this.col()===this.cols}},une={assign:Kte,for:qte,capture:Zte,case:Qte,comment:$te,include:tne,render:ene,decrement:nne,increment:ane,cycle:rne,if:ine,layout:one,block:sne,raw:cne,tablerow:class extends Bl{constructor(e,t,n,r){super(e,t,n);let i=this.tokenizer.readIdentifier();this.tokenizer.skipBlank();let a=this.tokenizer.readIdentifier(),o=this.tokenizer.readValue();if(a.content!==`in`||!o)throw Error(`illegal tag: ${e.getText()}`);this.variable=i.content,this.collection=o,this.args=new Vl(this.tokenizer,n.options.keyValueSeparator),this.templates=[];let s,c=r.parseStream(t).on(`start`,()=>s=this.templates).on(`tag:endtablerow`,()=>c.stop()).on(`template`,e=>s.push(e)).on(`end`,()=>{throw Error(`tag ${e.getText()} not closed`)});c.start()}*render(e,t){let n=cs(yield Jc(this.collection,e)),r=yield this.args.render(e),i=r.offset||0,a=r.limit===void 0?n.length:r.limit;n=n.slice(i,i+a);let o=r.cols||n.length,s=this.liquid.renderer,c=new lne(n.length,o,this.collection.getText(),this.variable),l=Cu({tablerowloop:c});e.push(l);for(let r=0;r<n.length;r++,c.next())l[this.variable]=n[r],c.col0()===0&&(c.row()!==1&&t.write(`</tr>`),t.write(`<tr class="row${c.row()}">`)),t.write(`<td class="col${c.col()}">`),yield s.renderTemplates(this.templates,e,t),t.write(`</td>`);n.length&&t.write(`</tr>`),e.pop()}*children(){return this.templates}*arguments(){yield this.collection;for(let e of Object.values(this.args.hash))xu(e)&&(yield e)}blockScope(){return[this.variable,`tablerowloop`]}},unless:class extends Bl{constructor(e,t,n,r){super(e,t,n),this.branches=[],this.elseTemplates=[];let i=[],a=0;r.parseStream(t).on(`start`,()=>this.branches.push({value:new Gl(e.tokenizer.readFilteredValue(),this.liquid),test:el,templates:i=[]})).on(`tag:elsif`,e=>{if(a>0){i=[];return}this.branches.push({value:new Gl(e.tokenizer.readFilteredValue(),this.liquid),test:$c,templates:i=[]})}).on(`tag:else`,()=>{a++,i=this.elseTemplates}).on(`tag:endunless`,function(){this.stop()}).on(`template`,e=>{(i!==this.elseTemplates||a===1)&&i.push(e)}).on(`end`,()=>{throw Error(`tag ${e.getText()} not closed`)}).start()}*render(e,t){let n=this.liquid.renderer;for(let{value:r,test:i,templates:a}of this.branches)if(i(yield r.value(e,e.opts.lenientIf),e)){yield n.renderTemplates(a,e,t);return}yield n.renderTemplates(this.elseTemplates,e,t)}*children(){let e=this.branches.flatMap(e=>e.templates);return this.elseTemplates&&e.push(...this.elseTemplates),e}arguments(){return this.branches.map(e=>e.value)}},break:class extends Bl{render(e,t){e.breakCalled=!0}},continue:class extends Bl{render(e,t){e.continueCalled=!0}},echo:class extends Bl{constructor(e,t,n){super(e,t,n),this.tokenizer.skipBlank(),this.tokenizer.end()||(this.value=new Gl(this.tokenizer.readFilteredValue(),this.liquid))}*render(e,t){if(!this.value)return;let n=yield this.value.value(e,!1);t.write(n)}*arguments(){this.value&&(yield this.value)}},liquid:class extends Bl{constructor(e,t,n,r){super(e,t,n);let i=this.tokenizer.readLiquidTagTokens(this.liquid.options);this.templates=r.parseTokens(i)}*render(e,t){yield this.liquid.renderer.renderTemplates(this.templates,e,t)}*children(){return this.templates}},"#":class extends Bl{constructor(e,t,n){if(super(e,t,n),e.args.search(/\n\s*[^#\s]/g)!==-1)throw Error(`every line of an inline comment must start with a '#' character`)}render(){}}},Yd=class e{constructor(e={}){this.renderer=new Kc,this.filters=Object.create(null),this.tags=Object.create(null),this.options=jl(e),this.parser=new lu(this),_s(une,(e,t)=>this.registerTag(t,e)),_s(Gte,(e,t)=>this.registerFilter(t,e))}parse(e,t){return new lu(this).parse(e,t)}_render(e,t,n){let r=t instanceof wu?t:new wu(t,this.options,n);return this.renderer.renderTemplates(e,r)}render(e,t,n){return Xs(this,void 0,void 0,function*(){return Qs(this._render(e,t,Object.assign(Object.assign({},n),{sync:!1})))})}renderSync(e,t,n){return $s(this._render(e,t,Object.assign(Object.assign({},n),{sync:!0})))}renderToNodeStream(e,t,n={}){let r=new wu(t,this.options,n);return this.renderer.renderTemplatesToNodeStream(e,r)}_parseAndRender(e,t,n){let r=this.parse(e);return this._render(r,t,n)}parseAndRender(e,t,n){return Xs(this,void 0,void 0,function*(){return Qs(this._parseAndRender(e,t,Object.assign(Object.assign({},n),{sync:!1})))})}parseAndRenderSync(e,t,n){return $s(this._parseAndRender(e,t,Object.assign(Object.assign({},n),{sync:!0})))}_parsePartialFile(e,t,n){return new lu(this).parseFile(e,t,su.Partials,n)}_parseLayoutFile(e,t,n){return new lu(this).parseFile(e,t,su.Layouts,n)}_parseFile(e,t,n,r){return new lu(this).parseFile(e,t,n,r)}parseFile(e,t){return Xs(this,void 0,void 0,function*(){return Qs(new lu(this).parseFile(e,!1,t))})}parseFileSync(e,t){return $s(new lu(this).parseFile(e,!0,t))}*_renderFile(e,t,n){let r=yield this._parseFile(e,n.sync,n.lookupType);return yield this._render(r,t,n)}renderFile(e,t,n){return Xs(this,void 0,void 0,function*(){return Qs(this._renderFile(e,t,Object.assign(Object.assign({},n),{sync:!1})))})}renderFileSync(e,t,n){return $s(this._renderFile(e,t,Object.assign(Object.assign({},n),{sync:!0})))}renderFileToNodeStream(e,t,n){return Xs(this,void 0,void 0,function*(){let r=yield this.parseFile(e);return this.renderToNodeStream(r,t,n)})}_evalValue(e,t){let n=new Gl(e,this),r=t instanceof wu?t:new wu(t,this.options);return n.value(r)}evalValue(e,t){return Xs(this,void 0,void 0,function*(){return Qs(this._evalValue(e,t))})}evalValueSync(e,t){return $s(this._evalValue(e,t))}registerFilter(e,t){this.filters[e]=t}registerTag(e,t){this.tags[e]=os(t)?t:Hl(t)}plugin(t){return t.call(this,e)}express(){let e=this,t=!0;return function(n,r,i){if(t){t=!1;let n=Nl(this.root);e.options.root.unshift(...n),e.options.layouts.unshift(...n),e.options.partials.unshift(...n)}e.renderFile(n,r).then(e=>i(null,e),i)}}analyze(e,t={}){return Xs(this,void 0,void 0,function*(){return Ql(e,t)})}analyzeSync(e,t={}){return $l(e,t)}parseAndAnalyze(e,t,n={}){return Xs(this,void 0,void 0,function*(){return Ql(this.parse(e,t),n)})}parseAndAnalyzeSync(e,t,n={}){return $l(this.parse(e,t),n)}variables(e,t={}){return Xs(this,void 0,void 0,function*(){let n=yield Ql(as(e)?this.parse(e):e,t);return Object.keys(n.variables)})}variablesSync(e,t={}){let n=$l(as(e)?this.parse(e):e,t);return Object.keys(n.variables)}fullVariables(e,t={}){return Xs(this,void 0,void 0,function*(){let n=yield Ql(as(e)?this.parse(e):e,t);return Array.from(new Set(Object.values(n.variables).flatMap(e=>e.map(e=>String(e)))))})}fullVariablesSync(e,t={}){let n=$l(as(e)?this.parse(e):e,t);return Array.from(new Set(Object.values(n.variables).flatMap(e=>e.map(e=>String(e)))))}variableSegments(e,t={}){return Xs(this,void 0,void 0,function*(){let n=yield Ql(as(e)?this.parse(e):e,t);return Array.from(Es(Object.values(n.variables).flatMap(e=>e.map(e=>e.toArray()))))})}variableSegmentsSync(e,t={}){let n=$l(as(e)?this.parse(e):e,t);return Array.from(Es(Object.values(n.variables).flatMap(e=>e.map(e=>e.toArray()))))}globalVariables(e,t={}){return Xs(this,void 0,void 0,function*(){let n=yield Ql(as(e)?this.parse(e):e,t);return Object.keys(n.globals)})}globalVariablesSync(e,t={}){let n=$l(as(e)?this.parse(e):e,t);return Object.keys(n.globals)}globalFullVariables(e,t={}){return Xs(this,void 0,void 0,function*(){let n=yield Ql(as(e)?this.parse(e):e,t);return Array.from(new Set(Object.values(n.globals).flatMap(e=>e.map(e=>String(e)))))})}globalFullVariablesSync(e,t={}){let n=$l(as(e)?this.parse(e):e,t);return Array.from(new Set(Object.values(n.globals).flatMap(e=>e.map(e=>String(e)))))}globalVariableSegments(e,t={}){return Xs(this,void 0,void 0,function*(){let n=yield Ql(as(e)?this.parse(e):e,t);return Array.from(Es(Object.values(n.globals).flatMap(e=>e.map(e=>e.toArray()))))})}globalVariableSegmentsSync(e,t={}){let n=$l(as(e)?this.parse(e):e,t);return Array.from(Es(Object.values(n.globals).flatMap(e=>e.map(e=>e.toArray()))))}};function L(e){return e.replace(/&/g,`&`).replace(/</g,`<`).replace(/>/g,`>`).replace(/"/g,`"`).replace(/'/g,`'`)}function dne(e){return e.replace(/\\/g,`\\\\`).replace(/"/g,`\\"`).replace(/'/g,`\\'`).replace(/\(/g,`\\(`).replace(/\)/g,`\\)`).replace(/\n/g,``).replace(/\r/g,``).replace(/\t/g,``)}function Xd(e){if(!e)return``;try{let t=new URL(e);return[`http:`,`https:`,`data:`].includes(t.protocol)?L(e):``}catch{return e.startsWith(`/`)?L(e):``}}function Zd(e){return e&&/^(#[0-9a-fA-F]{3,8}|rgba?\([^)]+\)|hsla?\([^)]+\)|[a-zA-Z]+)$/.test(e.trim())?e.trim():``}function fne(e){if(!e)return`#f5f5f5`;if(typeof e==`string`)return Zd(e)||`#f5f5f5`;let{type:t,start:n,end:r,angle_deg:i}=e;if(t===`linear-gradient`&&n&&r){let e=Zd(n),t=Zd(r);if(e&&t)return`linear-gradient(${typeof i==`number`?i:180}deg, ${e}, ${t})`}if(n){let e=Zd(n);if(e)return e}return`#f5f5f5`}function Qd(e,t){if(e?.background_image_url){let t=Xd(e.background_image_url);if(t)return`${Zd(e.background_color)||`#f5f5f5`} url("${dne(t)}") center / cover no-repeat`}if(e?.background_color){let t=Zd(e.background_color);if(t)return t}return fne(t)}var pne=(e,t)=>{try{return t(e)}catch{return e.replace(/(?:%[0-9A-Fa-f]{2})+/g,e=>{try{return t(e)}catch{return e}})}},mne=decodeURIComponent,$d=/^[\w!#$%&'*.^`|~+-]+$/,hne=/^[ !#-:<-[\]-~]*$/,ef=e=>{let t=0,n=e.length;for(;t<n;){let n=e.charCodeAt(t);if(n!==32&&n!==9)break;t++}for(;n>t;){let t=e.charCodeAt(n-1);if(t!==32&&t!==9)break;n--}return t===0&&n===e.length?e:e.slice(t,n)},tf=(e,t)=>{if(t&&e.indexOf(t)===-1)return{};let n=e.split(`;`),r=Object.create(null);for(let e of n){let n=e.indexOf(`=`);if(n===-1)continue;let i=ef(e.substring(0,n));if(t&&t!==i||!$d.test(i)||i in r)continue;let a=ef(e.substring(n+1));if(a.startsWith(`"`)&&a.endsWith(`"`)&&(a=a.slice(1,-1)),hne.test(a)&&(r[i]=a.indexOf(`%`)===-1?a:pne(a,mne),t))break}return r},gne=(e,t,n={})=>{if(!$d.test(e))throw Error(`Invalid cookie name`);let r=`${e}=${t}`;if(e.startsWith(`__Secure-`)&&!n.secure)throw Error(`__Secure- Cookie must have Secure attributes`);if(e.startsWith(`__Host-`)){if(!n.secure)throw Error(`__Host- Cookie must have Secure attributes`);if(n.path!==`/`)throw Error(`__Host- Cookie must have Path attributes with "/"`);if(n.domain)throw Error(`__Host- Cookie must not have Domain attributes`)}for(let e of[`domain`,`path`,`sameSite`,`priority`])if(n[e]&&/[;\r\n]/.test(n[e]))throw Error(`${e} must not contain ";", "\\r", or "\\n"`);if(n&&typeof n.maxAge==`number`&&n.maxAge>=0){if(n.maxAge>3456e4)throw Error(`Cookies Max-Age SHOULD NOT be greater than 400 days (34560000 seconds) in duration.`);r+=`; Max-Age=${n.maxAge|0}`}if(n.domain&&n.prefix!==`host`&&(r+=`; Domain=${n.domain}`),n.path&&(r+=`; Path=${n.path}`),n.expires){if(n.expires.getTime()-Date.now()>3456e7)throw Error(`Cookies Expires SHOULD NOT be greater than 400 days (34560000 seconds) in the future.`);r+=`; Expires=${n.expires.toUTCString()}`}if(n.httpOnly&&(r+=`; HttpOnly`),n.secure&&(r+=`; Secure`),n.sameSite&&(r+=`; SameSite=${n.sameSite.charAt(0).toUpperCase()+n.sameSite.slice(1)}`),n.priority&&(r+=`; Priority=${n.priority.charAt(0).toUpperCase()+n.priority.slice(1)}`),n.partitioned){if(!n.secure)throw Error(`Partitioned Cookie must have Secure attributes`);r+=`; Partitioned`}return r},nf=(e,t,n)=>(t=encodeURIComponent(t),gne(e,t,n)),_ne=(e,t,n)=>{let r=e.req.raw.headers.get(`Cookie`);if(typeof t==`string`){if(!r)return;let e=t;return n===`secure`?e=`__Secure-`+t:n===`host`&&(e=`__Host-`+t),tf(r,e)[e]}return r?tf(r):{}},vne=(e,t,n)=>{let r;return r=n?.prefix===`secure`?nf(`__Secure-`+e,t,{path:`/`,...n,secure:!0}):n?.prefix===`host`?nf(`__Host-`+e,t,{...n,path:`/`,secure:!0,domain:void 0}):nf(e,t,{path:`/`,...n}),r},rf=(e,t,n,r)=>{let i=vne(t,n,r);e.header(`Set-Cookie`,i,{append:!0})},af=`mrby3tmz`,yne=c({common:()=>of,consent:()=>sf,default:()=>bne,invitation:()=>cf,login:()=>lf,mfa:()=>uf,organizations:()=>ff,passkeys:()=>df,signup:()=>pf,status:()=>mf}),of={common:{alertListTitle:`Upozornění`,backText:`Vrátit se zpět`,cancelText:`Zrušit`,closeText:`Zavřít`,contactSupportText:`Potřebujete pomoc?`,continueText:`Pokračovat`,copyrightText:"© ${currentYear} ${companyName}",errorText:`Něco se pokazilo. Zkuste to prosím znovu.`,hidePasswordText:`Skrýt heslo`,loadingText:`Načítání...`,orText:`nebo`,privacyPolicyText:`Zásady ochrany osobních údajů`,showPasswordText:`Zobrazit heslo`,termsOfServiceText:`Podmínky služby`,termsShortText:`Podmínky`,tryAgainText:`Zkusit znovu`}},sf={consent:{buttonText:`Přijmout`,cancelButtonText:`Zamítnout`,description:"${clientName} žádá o přístup k vašemu účtu",pageTitle:"Autorizace | ${clientName}",scopesTitle:"Tímto povolíte ${clientName}:",title:"Autorizovat ${clientName}"}},cf={invitation:{acceptButtonText:`Přijmout pozvánku`,description:"${inviterName} vás pozval(a), abyste se připojili k ${organizationName} na ${clientName}",pageTitle:"Pozvánka | ${clientName}",title:`Byli jste pozváni`}},lf={login:{alertListTitle:`Upozornění`,buttonText:`Pokračovat`,description:"Přihlaste se k ${clientName}.",editEmailText:`Upravit`,emailPlaceholder:`E-mailová adresa`,enterACodeBtn:`Přihlásit se kódem`,federatedConnectionButtonText:"Pokračovat s ${connectionName}",footerLinkText:`Zaregistrujte se`,footerText:`Nemáte účet?`,forgotPasswordText:`Zapomněli jste heslo?`,hidePasswordText:`Skrýt heslo`,invalidEmail:`Neplatný e-mail`,invalidIdentifier:`Neplatný e-mail nebo uživatelské jméno`,invitationDescription:"Přihlaste se pro přijetí pozvánky od ${inviterName} k připojení k ${companyName} na ${clientName}.",invitationTitle:`Byli jste pozváni!`,logoAltText:"${companyName}","no-email":`Zadejte prosím e-mailovou adresu`,"no-password":`Heslo je povinné`,pageTitle:"Přihlášení | ${clientName}",passwordLoginNotAvailable:`Přihlášení heslem není k dispozici`,passwordPlaceholder:`Heslo`,phonePlaceholder:`Telefonní číslo`,separatorText:`nebo`,sessionExpired:`Platnost vaší relace vypršela. Zkuste to prosím znovu.`,showPasswordText:`Zobrazit heslo`,signupActionLinkText:"${footerLinkText}",signupActionText:"${footerText}",title:`Vítejte`,tooManyFailedLogins:`Příliš mnoho neúspěšných pokusů o přihlášení. Zkuste to prosím později.`,unverifiedEmail:`Před přihlášením prosím ověřte svou e-mailovou adresu`,userAccountDoesNotExist:`Uživatelský účet neexistuje`,usernamePlaceholder:`Uživatelské jméno nebo e-mailová adresa`,usernameTooLong:"Uživatelské jméno musí mít nejvýše ${max} znaků",usernameTooShort:"Uživatelské jméno musí mít alespoň ${min} znaků",wrongCredentials:`Nesprávné uživatelské jméno nebo heslo`,passkeyButtonText:`Přihlásit se pomocí passkey`}},uf={mfa:{backupCodeText:`Použít záložní kód`,description:`Zvolte metodu ověření`,pageTitle:"Vícefaktorové ověření | ${clientName}",title:`Ověřte svou identitu`}},df={"passkey-enrollment-nudge":{title:`Zabezpečte svůj účet pomocí passkey`,description:`Passkey používají biometrii nebo PIN vašeho zařízení k rychlejšímu a bezpečnějšímu přihlášení.`,enrollButtonText:`Nastavit passkey`,snoozeButtonText:`Možná později`,optOutLinkText:`Nezobrazovat znovu`,pageTitle:"Nastavení Passkey | ${clientName}"},"passkey-enrollment":{title:`Vytvořte svůj passkey`,description:`Postupujte podle pokynů prohlížeče a vytvořte passkey pro tento účet.`,errorMessage:`Vytvoření passkey se nezdařilo. Zkuste to prosím znovu.`,cancelLinkText:`Prozatím přeskočit`,retryButtonText:`Zkusit znovu`,enrollmentComplete:`Váš passkey byl úspěšně nastaven. Tuto stránku můžete zavřít.`,pageTitle:"Vytvoření Passkey | ${clientName}"},"passkey-challenge":{title:`Přihlásit se pomocí passkey`,description:`Postupujte podle pokynů prohlížeče k ověření vaší identity.`,errorMessage:`Ověření pomocí passkey selhalo. Zkuste to prosím znovu.`,cancelLinkText:`Zpět na přihlášení`,retryButtonText:`Zkusit znovu`,pageTitle:"Přihlášení pomocí passkey | ${clientName}"}},ff={organizations:{description:`Vyberte, ke které organizaci se chcete přihlásit`,pageTitle:"Výběr organizace | ${clientName}",searchPlaceholder:`Hledat organizace`,title:`Vyberte svou organizaci`}},pf={signup:{buttonText:`Pokračovat`,confirmPasswordPlaceholder:`Potvrzení hesla`,description:`Zaregistrujte se a pokračujte`,"email-already-exists":`Tento e-mail je již zaregistrován`,emailPlaceholder:`E-mailová adresa`,federatedConnectionButtonText:"Pokračovat s ${connectionName}",hidePasswordText:`Skrýt heslo`,"invalid-email-format":`Neplatný e-mail`,loginActionLinkText:`Přihlásit se`,loginActionText:`Už máte účet?`,"no-email":`Zadejte prosím e-mailovou adresu`,"no-password":`Heslo je povinné`,"no-username":`Uživatelské jméno je povinné`,pageTitle:"Registrace | ${clientName}",passwordPlaceholder:`Heslo`,passwordsDidntMatch:`Hesla se neshodují`,phonePlaceholder:`Telefonní číslo`,privacyPolicyLinkText:`Zásady ochrany osobních údajů`,separatorText:`nebo`,sessionExpired:`Platnost vaší relace vypršela. Zkuste to prosím znovu.`,showPasswordText:`Zobrazit heslo`,termsOfServiceLinkText:`Podmínky služby`,termsText:`Registrací souhlasíte s našimi`,title:`Vytvořte svůj účet`,"username-already-exists":`Toto uživatelské jméno je již obsazeno`,usernamePlaceholder:`Uživatelské jméno`,verifyEmailText:`Zkontrolujte prosím svůj e-mail pro ověření účtu`}},mf={status:{continueButtonText:`Pokračovat`,errorTitle:`Chyba`,pageTitle:"Stav | ${clientName}",successTitle:`Hotovo`,title:`Stav`}},bne={common:of,consent:sf,"device-flow":{"device-flow":{buttonText:`Pokračovat`,codePlaceholder:`Zadejte kód`,description:`Zadejte kód zobrazený na vašem zařízení`,"expired-code":`Platnost kódu vypršela`,"invalid-code":`Zadaný kód je neplatný`,pageTitle:"Aktivace zařízení | ${clientName}",title:`Aktivujte své zařízení`}},"email-otp-challenge":{"email-otp-challenge":{buttonText:`Přihlásit se`,codeLabel:`Ověřovací kód`,codePlaceholder:`Zadejte kód`,defaultDescription:`Zadejte ověřovací kód zaslaný na váš e-mail`,description:"Odeslali jsme kód na ${email}","invalid-code":`Neplatný kód`,noCode:`Zadejte prosím ověřovací kód`,pageTitle:"Zadejte kód | ${clientName}",resendText:`Opětovné odeslání kódu`,sessionExpired:`Platnost vaší relace vypršela. Zkuste to prosím znovu.`,title:`Zkontrolujte svůj e-mail`,unexpectedError:`Došlo k neočekávané chybě`}},"email-verification":{"email-verification":{description:"Odeslali jsme e-mail na ${email}",pageTitle:"Ověření e-mailu | ${clientName}",resendText:`Opětovné odeslání kódu`,successDescription:`Váš e-mail byl úspěšně ověřen.`,successTitle:`E-mail ověřen`,title:`Ověření e-mailu`}},invitation:cf,login:lf,"login-id":{"login-id":{alertListTitle:`Upozornění`,"auth0-users-validation":`Něco se pokazilo, zkuste to prosím později`,"authentication-failure":`Omlouváme se, při pokusu o přihlášení se něco pokazilo`,buttonText:`Pokračovat`,"captcha-client-failure":`Nepodařilo se načíst bezpečnostní výzvu. Zkuste to prosím znovu. (Kód chyby: #{errorCode})`,"captcha-validation-failure":`Omlouváme se, při ověřování captcha došlo k chybě. Zkuste to prosím znovu.`,captchaCodePlaceholder:`Zadejte kód zobrazený výše`,"custom-script-error-code":`Něco se pokazilo, zkuste to prosím později.`,description:"Přihlaste se k ${clientName}.",editEmailText:`Upravit`,emailPlaceholder:`E-mailová adresa`,federatedConnectionButtonText:"Pokračovat s ${connectionName}",footerLinkText:`Zaregistrujte se`,footerText:`Nemáte účet?`,forgotPasswordText:`Zapomněli jste heslo?`,hidePasswordText:`Skrýt heslo`,"invalid-captcha":`Vyřešte úlohu, abyste ověřili, že nejste robot.`,"invalid-code":`Neplatný kód`,"invalid-connection":`Neplatné připojení`,"invalid-email-format":`Neplatný e-mail`,"invalid-email-phone":`Zadejte platnou e-mailovou adresu nebo telefonní číslo. Telefonní čísla musí obsahovat předvolbu země.`,"invalid-email-phone-username":`Zadejte platnou e-mailovou adresu, telefonní číslo nebo uživatelské jméno. Telefonní čísla musí obsahovat předvolbu země.`,"invalid-email-username":`Zadejte platnou e-mailovou adresu nebo uživatelské jméno`,"invalid-expired-code":`Neplatný nebo vypršelý uživatelský kód`,"invalid-login-id":`Zadáno neplatné přihlašovací ID`,"invalid-phone-username":`Zadejte platné telefonní číslo nebo uživatelské jméno. Telefonní čísla musí obsahovat předvolbu země.`,"invalid-recaptcha":`Zaškrtněte políčko, abyste ověřili, že nejste robot.`,"invalid-username":"Uživatelské jméno může obsahovat pouze alfanumerické znaky nebo: '${characters}'. Uživatelské jméno musí mít ${min} až ${max} znaků.",invitationDescription:"Přihlaste se pro přijetí pozvánky od ${inviterName} k připojení k ${companyName} na ${clientName}.",invitationTitle:`Byli jste pozváni!`,"ip-blocked":`Zjistili jsme podezřelé přihlašovací chování a další pokusy budou blokovány. Kontaktujte prosím administrátora.`,logoAltText:"${companyName}","no-db-connection":`Neplatné připojení`,"no-email":`Zadejte prosím e-mailovou adresu`,"no-email-phone":`Je vyžadována e-mailová adresa nebo telefonní číslo`,"no-email-phone-username":`Je vyžadováno telefonní číslo, uživatelské jméno nebo e-mailová adresa`,"no-email-username":`Je vyžadována e-mailová adresa nebo uživatelské jméno`,"no-password":`Heslo je povinné`,"no-phone":`Zadejte prosím telefonní číslo`,"no-phone-username":`Je vyžadováno telefonní číslo nebo uživatelské jméno`,"no-username":`Uživatelské jméno je povinné`,pageTitle:"Přihlášení | ${clientName}","password-breached":`Zjistili jsme potenciální bezpečnostní problém s tímto účtem. Pro ochranu vašeho účtu jsme toto přihlášení zablokovali. Pro pokračování prosím resetujte své heslo.`,passwordPlaceholder:`Heslo`,phoneOrEmailPlaceholder:`E-mail nebo telefonní číslo`,phoneOrUsernameOrEmailPlaceholder:`Telefon, uživatelské jméno nebo e-mail`,phoneOrUsernamePlaceholder:`Telefonní číslo nebo uživatelské jméno`,phonePlaceholder:`Telefonní číslo`,"same-user-login":`Příliš mnoho pokusů o přihlášení pro tohoto uživatele. Počkejte prosím a zkuste to znovu později.`,selectCountryCode:"Vyberte předvolbu země, aktuálně nastaveno na ${countryName}, ${countryCode}, +${countryPrefix}",separatorText:`nebo`,sessionExpired:`Platnost vaší relace vypršela. Zkuste to prosím znovu.`,showPasswordText:`Zobrazit heslo`,signupActionLinkText:"${footerLinkText}",signupActionText:"${footerText}",termsAndConditionsTemplate:'Pokračováním souhlasíte s našimi <a href="${termsAndConditionsUrl}" target="_blank" rel="noopener noreferrer">Podmínkami a pravidly</a>.',title:`Vítejte`,"user-blocked":`Váš účet byl zablokován po několika po sobě jdoucích neúspěšných pokusech o přihlášení.`,userAccountDoesNotExist:`Uživatelský účet neexistuje`,usernameOnlyPlaceholder:`Uživatelské jméno`,usernameOrEmailPlaceholder:`Uživatelské jméno nebo e-mailová adresa`,usernamePlaceholder:`Uživatelské jméno nebo e-mailová adresa`,usernameTooLong:"Uživatelské jméno musí mít nejvýše ${max} znaků",usernameTooShort:"Uživatelské jméno musí mít alespoň ${min} znaků","wrong-credentials":`Nesprávné uživatelské jméno nebo heslo`,"wrong-email-credentials":`Nesprávný e-mail nebo heslo`,"wrong-email-phone-credentials":`Nesprávná e-mailová adresa, telefonní číslo nebo heslo. Telefonní čísla musí obsahovat předvolbu země.`,"wrong-email-phone-username-credentials":`Nesprávná e-mailová adresa, telefonní číslo, uživatelské jméno nebo heslo. Telefonní čísla musí obsahovat předvolbu země.`,"wrong-email-username-credentials":`Nesprávná e-mailová adresa, uživatelské jméno nebo heslo`,"wrong-phone-credentials":`Nesprávné telefonní číslo nebo heslo`,"wrong-phone-username-credentials":`Nesprávné telefonní číslo, uživatelské jméno nebo heslo. Telefonní čísla musí obsahovat předvolbu země.`,"wrong-username-credentials":`Nesprávné uživatelské jméno nebo heslo`,passkeyButtonText:`Přihlásit se pomocí passkey`}},"login-password":{"login-password":{buttonText:`Přihlásit se`,description:"Přihlaste se k ${clientName}",forgotPasswordText:`Zapomněli jste heslo?`,hidePasswordText:`Skrýt heslo`,"no-password":`Heslo je povinné`,pageTitle:"Přihlášení | ${clientName}","password-breached":`Zjistili jsme potenciální bezpečnostní problém s tímto účtem. Pro ochranu vašeho účtu jsme toto přihlášení zablokovali. Pro pokračování prosím resetujte své heslo.`,passwordPlaceholder:`Heslo`,showPasswordText:`Zobrazit heslo`,signingInAs:"Přihlášení jako ${email}",title:`Zadejte heslo`,unverifiedEmail:`Před přihlášením prosím ověřte svou e-mailovou adresu`,"user-blocked":`Váš účet byl zablokován po několika po sobě jdoucích neúspěšných pokusech o přihlášení.`,"wrong-credentials":`Nesprávné heslo`}},"login-passwordless":{"login-passwordless":{authMethodEmail:`e-mailová adresa`,authMethodEmailOrPhone:`e-mail nebo telefonní číslo`,authMethodPhone:`telefonní číslo`,description:"Přihlaste se pomocí ${authMethod}",emailOrPhonePlaceholder:`E-mailová adresa nebo telefonní číslo`,emailPlaceholder:`E-mailová adresa`,invalidEmail:`Zadejte prosím platnou e-mailovou adresu`,invalidIdentifier:`Zadejte prosím platnou e-mailovou adresu nebo telefonní číslo`,invalidPhone:`Zadejte prosím platné telefonní číslo s předvolbou země`,noEmail:`Zadejte prosím svou e-mailovou adresu`,noPhone:`Zadejte prosím své telefonní číslo`,phonePlaceholder:`Telefonní číslo`,sessionExpired:`Platnost vaší relace vypršela. Zkuste to prosím znovu.`,title:`Přihlásit se kódem`,userAccountDoesNotExist:`Uživatelský účet neexistuje`}},"magic-link-sent":{"magic-link-sent":{defaultDescription:`Klikněte na odkaz ve svém e-mailu pro přihlášení`,description:"Odeslali jsme odkaz na ${username}. Kliknutím na něj se přihlásíte.",resendText:`Odeslat odkaz znovu`,spamText:`Nedostali jste e-mail? Zkontrolujte složku nevyžádané pošty.`,title:`Zkontrolujte svůj e-mail`}},mfa:uf,"mfa-email":{"mfa-email":{buttonText:`Pokračovat`,codePlaceholder:`Zadejte kód`,description:"Odeslali jsme kód na ${email}","invalid-code":`Zadaný kód je neplatný`,pageTitle:"Ověření e-mailem | ${clientName}",resendText:`Opětovné odeslání kódu`,title:`Zkontrolujte svůj e-mail`}},"mfa-otp":{"mfa-otp":{buttonText:`Pokračovat`,codePlaceholder:`Zadejte kód`,description:`Zadejte šestimístný kód z vaší ověřovací aplikace`,"invalid-code":`Zadaný kód je neplatný`,pageTitle:"Zadejte kód | ${clientName}",title:`Zadejte svůj kód`},"mfa-totp-enrollment":{title:`Nastavit ověřovací aplikaci`,description:`Naskenujte QR kód níže pomocí ověřovací aplikace a poté zadejte šestimístný kód pro ověření`,secretLabel:`Nebo zadejte tento kód ručně:`,codePlaceholder:`Zadejte kód`,continueButtonText:`Ověřit a aktivovat`,"invalid-code":`Zadaný kód je neplatný. Zkuste to prosím znovu.`,"transaction-not-found":`Platnost vaší registrace vypršela, budete muset začít znovu.`,pageTitle:"Nastavení ověřovací aplikace | ${clientName}",unexpectedError:`Něco se pokazilo. Zkuste to prosím znovu.`,enrollmentComplete:`Registrace MFA je dokončena. Tuto stránku můžete zavřít.`},"mfa-totp-challenge":{title:`Ověřte svou identitu`,description:`Zadejte šestimístný kód z vaší ověřovací aplikace`,codePlaceholder:`Zadejte kód`,continueButtonText:`Pokračovat`,"invalid-code":`Zadaný kód je neplatný`,"transaction-not-found":`Platnost vaší registrace vypršela, budete muset začít znovu.`,unexpectedError:`Něco se pokazilo. Zkuste to prosím znovu.`,pageTitle:"Ověření identity | ${clientName}"}},"mfa-phone":{"mfa-phone-challenge":{pageTitle:"Použijte své telefonní číslo pro přihlášení | ${clientName}",title:`Ověřte svou identitu`,description:"Odeslali jsme kód na ${phoneNumber}",continueButtonText:`Pokračovat`,changePhoneText:`Zvolte jiné telefonní číslo.`,smsButtonText:`Textová zpráva`,voiceButtonText:`Hlasový hovor`,chooseMessageTypeText:`Jak chcete kód přijmout?`,pickAuthenticatorText:`Zkusit jinou metodu`,logoAltText:"${companyName}",codePlaceholder:`Zadejte kód`,"send-sms-failed":`Při odesílání SMS došlo k problému`,"send-voice-failed":`Při uskutečnění hlasového hovoru došlo k problému`,"invalid-phone-format":`Telefonní číslo může obsahovat pouze číslice.`,"invalid-phone":`Zdá se, že vaše telefonní číslo není platné. Zkontrolujte a zkuste to znovu.`,"too-many-sms":`Překročili jste maximální počet telefonních zpráv za hodinu. Počkejte pár minut a zkuste to znovu.`,"too-many-voice":`Překročili jste maximální počet hlasových hovorů za hodinu. Počkejte pár minut a zkuste to znovu.`,"transaction-not-found":`Vaše registrační transakce vypršela, budete muset začít znovu.`,"no-phone":`Zadejte telefonní číslo`,noCode:`Zadejte ověřovací kód`,invalidCode:`Zadaný kód je neplatný. Zkuste to znovu.`,unexpectedError:`Něco se pokazilo. Zkuste to znovu.`,resendSuccess:`Odeslali jsme nový kód na váš telefon`,enrollmentComplete:`Registrace MFA je dokončena. Tuto stránku můžete zavřít.`},"mfa-phone-enrollment":{pageTitle:"Zadejte své telefonní číslo pro přihlášení pomocí telefonního kódu | ${clientName}",title:`Zabezpečte svůj účet`,description:`Zadejte kód země a telefonní číslo, na které můžeme odeslat 6místný kód:`,continueButtonText:`Pokračovat`,smsButtonText:`Textová zpráva`,voiceButtonText:`Hlasový hovor`,chooseMessageTypeText:`Jak chcete kód přijmout?`,pickAuthenticatorText:`Zkusit jinou metodu`,placeholder:`Zadejte své telefonní číslo`,logoAltText:"${companyName}",selectCountryCode:"Vyberte kód země, aktuálně nastaveno na ${countryName}, ${countryCode}, +${countryPrefix}","send-sms-failed":`Při odesílání SMS došlo k problému`,"send-voice-failed":`Při uskutečnění hlasového hovoru došlo k problému`,"sms-authenticator-error":`Nepodařilo se odeslat SMS. Zkuste to prosím později.`,"invalid-phone-format":`Telefonní číslo může obsahovat pouze číslice.`,"invalid-phone":`Zdá se, že vaše telefonní číslo není platné. Zkontrolujte a zkuste to znovu.`,"too-many-sms":`Překročili jste maximální počet telefonních zpráv za hodinu. Počkejte pár minut a zkuste to znovu.`,"too-many-voice":`Překročili jste maximální počet hlasových hovorů za hodinu. Počkejte pár minut a zkuste to znovu.`,"transaction-not-found":`Vaše registrační transakce vypršela, budete muset začít znovu.`,"no-phone":`Zadejte telefonní číslo`,"phone-is-too-short":`Telefonní číslo je příliš krátké`,"phone-is-too-long":`Telefonní číslo je příliš dlouhé`}},"mfa-login-options":{"mfa-login-options":{pageTitle:"Vyberte metodu ověření | ${clientName}",title:`Vyberte způsob ověření`,description:`Zvolte, jak chcete ověřit svou identitu`,authenticatorAppLabel:`Autentizační aplikace`,authenticatorAppDescription:`Použijte autentizační aplikaci k získání ověřovacího kódu`,smsLabel:`Textová zpráva`,smsDescription:`Nechte si zaslat ověřovací kód na telefon`,passkeyLabel:`Passkey`,passkeyDescription:`Použijte biometrii zařízení nebo bezpečnostní klíč`}},"mfa-push":{"mfa-push":{description:`Odeslali jsme oznámení na vaše zařízení`,pageTitle:"Push oznámení | ${clientName}",resendText:`Odeslat oznámení znovu`,title:`Schvalte požadavek`,useCodeText:`Zadat kód ručně`}},"mfa-recovery-code":{"mfa-recovery-code":{buttonText:`Pokračovat`,codePlaceholder:`Záložní kód`,description:`Zadejte jeden z vašich záložních kódů`,"invalid-code":`Zadaný záložní kód je neplatný`,pageTitle:"Záložní kód | ${clientName}",title:`Zadejte záložní kód`}},"mfa-voice":{"mfa-voice":{buttonText:`Zavolat mi`,codePlaceholder:`Zadejte kód`,description:"Zavoláme na ${phoneNumber} s vaším kódem","invalid-code":`Zadaný kód je neplatný`,pageTitle:"Hlasový hovor | ${clientName}",title:`Přijmout telefonní hovor`}},"mfa-webauthn":{"mfa-webauthn":{buttonText:`Zkusit znovu`,description:`Vložte svůj bezpečnostní klíč a postupujte podle pokynů`,pageTitle:"Bezpečnostní klíč | ${clientName}",title:`Použijte svůj bezpečnostní klíč`}},passkeys:df,organizations:ff,"reset-password":{"reset-password":{backToLoginText:`Zpět na přihlášení`,buttonText:`Pokračovat`,codeExpired:`Platnost kódu pro obnovení hesla vypršela. Požádejte prosím o nový.`,confirmPasswordLabel:`Potvrzení hesla`,confirmPasswordPlaceholder:`Potvrzení hesla`,description:`Zadejte svůj e-mail pro obnovení hesla`,emailPlaceholder:`E-mailová adresa`,failed:`Obnovení hesla se nezdařilo. Zkuste to prosím znovu.`,"invalid-email-format":`Neplatný e-mail`,"no-email":`Zadejte prosím e-mailovou adresu`,pageTitle:"Obnovení hesla | ${clientName}",passwordLabel:`Nové heslo`,passwordPlaceholder:`Nové heslo`,passwordTooWeak:`Heslo je příliš slabé`,passwordsDidntMatch:`Hesla se neshodují`,successDescription:`Odkaz na obnovení hesla jsme odeslali na vaši e-mailovou adresu.`,successTitle:`Zkontrolujte svůj e-mail`,title:`Zapomněli jste heslo?`,"user-not-found":`Uživatel nenalezen`},"reset-password-code":{backToLoginText:`Zpět na přihlášení`,buttonText:`Obnovit heslo`,codeLabel:`Kód pro obnovení`,codePlaceholder:`Zadejte 6místný kód`,confirmPasswordLabel:`Potvrzení hesla`,confirmPasswordPlaceholder:`Potvrzení hesla`,defaultDescription:`Zadejte kód zaslaný na váš e-mail a zvolte nové heslo`,description:"Odeslali jsme kód na ${email}",failed:`Obnovení hesla se nezdařilo. Zkuste to prosím znovu.`,invalidCode:`Zadaný kód je neplatný nebo vypršel`,noCode:`Zadejte prosím kód pro obnovení`,pageTitle:"Zadejte kód pro obnovení | ${clientName}",passwordLabel:`Nové heslo`,passwordPlaceholder:`Nové heslo`,passwordTooWeak:`Heslo je příliš slabé`,passwordsDidntMatch:`Hesla se neshodují`,resendFailed:`Nepodařilo se znovu odeslat kód. Zkuste to prosím znovu.`,resendSuccess:`Nový kód byl odeslán na váš e-mail`,resendText:`Odeslat kód znovu`,sessionExpired:`Platnost vaší relace vypršela. Zkuste to prosím znovu.`,title:`Zadejte kód pro obnovení`}},signup:pf,"signup-id":{"signup-id":{buttonText:`Pokračovat`,description:`Zaregistrujte se a pokračujte`,"email-already-exists":`Tento e-mail je již zaregistrován`,emailPlaceholder:`E-mailová adresa`,federatedConnectionButtonText:"Pokračovat s ${connectionName}","invalid-email-format":`Neplatný e-mail`,loginActionLinkText:`Přihlásit se`,loginActionText:`Už máte účet?`,"no-email":`Zadejte prosím e-mailovou adresu`,pageTitle:"Registrace | ${clientName}",phonePlaceholder:`Telefonní číslo`,separatorText:`nebo`,title:`Vytvořte svůj účet`,usernamePlaceholder:`Uživatelské jméno`}},"signup-password":{"signup-password":{buttonText:`Pokračovat`,description:`Zaregistrujte se a pokračujte`,hidePasswordText:`Skrýt heslo`,"no-password":`Heslo je povinné`,pageTitle:"Registrace | ${clientName}","password-policy-not-met":`Heslo nesplňuje požadavky`,"password-too-weak":`Heslo je příliš slabé`,passwordPlaceholder:`Heslo`,showPasswordText:`Zobrazit heslo`,title:`Vytvořte své heslo`}},"sms-otp-challenge":{"sms-otp-challenge":{buttonText:`Pokračovat`,codeLabel:`Ověřovací kód`,codePlaceholder:`Zadejte kód`,defaultDescription:`Zadejte ověřovací kód zaslaný na váš telefon`,description:"Odeslali jsme kód na ${username}","invalid-code":`Neplatný kód`,noCode:`Zadejte prosím ověřovací kód`,pageTitle:"Zadejte kód | ${clientName}",resendText:`Opětovné odeslání kódu`,sessionExpired:`Platnost vaší relace vypršela. Zkuste to prosím znovu.`,title:`Zkontrolujte svůj telefon`,unexpectedError:`Došlo k neočekávané chybě`}},status:mf},xne=c({common:()=>hf,consent:()=>gf,default:()=>Sne,invitation:()=>_f,login:()=>vf,mfa:()=>yf,organizations:()=>xf,passkeys:()=>bf,signup:()=>Sf,status:()=>Cf}),hf={common:{alertListTitle:`Advarsler`,backText:`Gå tilbage`,cancelText:`Gå tilbage`,closeText:`Luk`,contactSupportText:`Har du brug for hjælp?`,continueText:`Fortsæt`,copyrightText:"© ${currentYear} ${companyName}",errorText:`Noget gik galt. Prøv venligst igen.`,hidePasswordText:`Skjul adgangskode`,loadingText:`Indlæser...`,orText:`eller`,privacyPolicyText:`Privatlivspolitik`,showPasswordText:`Vis adgangskode`,termsOfServiceText:`Servicevilkår`,termsShortText:`Vilkår`,tryAgainText:`Prøv igen`}},gf={consent:{buttonText:`Acceptér`,cancelButtonText:`Afvis`,description:"${clientName} anmoder om adgang til din konto",pageTitle:"Godkend | ${clientName}",scopesTitle:"Dette vil give ${clientName} tilladelse til at:",title:"Godkend ${clientName}"}},_f={invitation:{acceptButtonText:`Acceptér invitation`,description:"${inviterName} har inviteret dig til at deltage i ${organizationName} på ${clientName}",pageTitle:"Invitation | ${clientName}",title:`Du er blevet inviteret`}},vf={login:{alertListTitle:`Advarsler`,buttonText:`Fortsæt`,description:"Log ind på ${clientName}.",editEmailText:`Rediger`,emailPlaceholder:`E-mail-adresse`,enterACodeBtn:`Log ind med en kode`,federatedConnectionButtonText:"Fortsæt med ${connectionName}",footerLinkText:`Tilmeld dig`,footerText:`Har du ikke en konto?`,forgotPasswordText:`Har du glemt din adgangskode?`,hidePasswordText:`Skjul adgangskode`,invalidEmail:`Ugyldig e-mail`,invalidIdentifier:`Ugyldig e-mail eller brugernavn`,invitationDescription:"Log ind for at acceptere ${inviterName}s invitation til at deltage i ${companyName} på ${clientName}.",invitationTitle:`Du er blevet inviteret!`,logoAltText:"${companyName}","no-email":`Indtast venligst en e-mailadresse`,"no-password":`Adgangskode er påkrævet`,pageTitle:"Log ind | ${clientName}",passwordLoginNotAvailable:`Adgangskodegodkendelse er ikke tilgængelig`,passwordPlaceholder:`Adgangskode`,phonePlaceholder:`Telefonnummer`,separatorText:`eller`,sessionExpired:`Din session er udløbet. Prøv venligst igen.`,showPasswordText:`Vis adgangskode`,signupActionLinkText:`Tilmeld dig`,signupActionText:`Har du ikke en konto?`,title:`Velkommen`,tooManyFailedLogins:`For mange mislykkede loginforsøg. Prøv venligst igen senere.`,unverifiedEmail:`Bekræft venligst din e-mailadresse, før du logger ind`,userAccountDoesNotExist:`Brugerkontoen findes ikke`,usernamePlaceholder:`Brugernavn eller e-mailadresse`,usernameTooLong:"Brugernavnet må højst være ${max} tegn",usernameTooShort:"Brugernavnet skal være mindst ${min} tegn",wrongCredentials:`Forkert brugernavn eller adgangskode`,passkeyButtonText:`Log ind med passkey`}},yf={mfa:{backupCodeText:`Brug backupkode`,description:`Vælg en bekræftelsesmetode`,pageTitle:"Multifaktorgodkendelse | ${clientName}",title:`Bekræft din identitet`}},bf={"passkey-enrollment-nudge":{title:`Sikr din konto med en adgangsnøgle`,description:`Adgangsnøgler bruger din enheds biometri eller PIN til at logge dig ind hurtigere og mere sikkert.`,enrollButtonText:`Konfigurer adgangsnøgle`,snoozeButtonText:`Måske senere`,optOutLinkText:`Vis ikke dette igen`,pageTitle:"Konfigurer Adgangsnøgle | ${clientName}"},"passkey-enrollment":{title:`Opret din adgangsnøgle`,description:`Følg anvisningerne fra din browser for at oprette en adgangsnøgle til denne konto.`,errorMessage:`Oprettelse af adgangsnøgle mislykkedes. Prøv venligst igen.`,cancelLinkText:`Spring over for nu`,retryButtonText:`Prøv igen`,enrollmentComplete:`Din adgangsnøgle er konfigureret. Du kan lukke denne side.`,pageTitle:"Opret Adgangsnøgle | ${clientName}"},"passkey-challenge":{title:`Log ind med passkey`,description:`Følg anvisningerne fra din browser for at bekræfte din identitet.`,errorMessage:`Godkendelse med passkey mislykkedes. Prøv venligst igen.`,cancelLinkText:`Tilbage til login`,retryButtonText:`Prøv igen`,pageTitle:"Log ind med passkey | ${clientName}"}},xf={organizations:{description:`Vælg hvilken organisation du vil logge ind på`,pageTitle:"Vælg organisation | ${clientName}",searchPlaceholder:`Søg organisationer`,title:`Vælg din organisation`}},Sf={signup:{buttonText:`Tilmelding`,confirmPasswordPlaceholder:`Bekræft adgangskode`,description:`Vælg en adgangskode med en blanding af store og små bogstaver, tal og symboler.`,"email-already-exists":`E-mailen er allerede optaget`,emailPlaceholder:`E-mail-adresse`,federatedConnectionButtonText:"Fortsæt med ${connectionName}",hidePasswordText:`Skjul adgangskode`,"invalid-email-format":`Ugyldig e-mail`,loginActionLinkText:`Log ind`,loginActionText:`Har du allerede en konto?`,"no-email":`Indtast venligst en e-mailadresse`,"no-password":`Adgangskode er påkrævet`,"no-username":`Brugernavn er påkrævet`,pageTitle:"Tilmeld dig | ${clientName}",passwordPlaceholder:`Adgangskode`,passwordsDidntMatch:`Adgangskoderne matcher ikke`,phonePlaceholder:`Telefonnummer`,privacyPolicyLinkText:`Privatlivspolitik`,separatorText:`eller`,sessionExpired:`Din session er udløbet. Prøv venligst igen.`,showPasswordText:`Vis adgangskode`,termsOfServiceLinkText:`Servicevilkår`,termsText:`Ved at tilmelde dig accepterer du vores`,title:`Vælg adgangskode`,"username-already-exists":`Dette brugernavn er allerede taget`,usernamePlaceholder:`Brugernavn`,verifyEmailText:`Tjek venligst din e-mail for at bekræfte din konto`}},Cf={status:{continueButtonText:`Fortsæt`,errorTitle:`Fejl`,pageTitle:"Status | ${clientName}",successTitle:`Succes`,title:`Status`}},Sne={common:hf,consent:gf,"device-flow":{"device-flow":{buttonText:`Fortsæt`,codePlaceholder:`Indtast kode`,description:`Indtast koden, der vises på din enhed`,"expired-code":`Koden er udløbet`,"invalid-code":`Den indtastede kode er ugyldig`,pageTitle:"Enhedsaktivering | ${clientName}",title:`Aktivér din enhed`}},"email-otp-challenge":{"email-otp-challenge":{buttonText:`Log ind`,codeLabel:`Bekræftelseskode`,codePlaceholder:`Indtast kode`,defaultDescription:`Indtast bekræftelseskoden, der blev sendt til din e-mail`,description:"Vi sendte en kode til ${email}","invalid-code":`Ugyldig kode`,noCode:`Indtast venligst bekræftelseskoden`,pageTitle:"Indtast kode | ${clientName}",resendText:`Send koden igen`,sessionExpired:`Din session er udløbet. Prøv venligst igen.`,title:`Tjek din e-mail`,unexpectedError:`Der opstod en uventet fejl`}},"email-verification":{"email-verification":{description:"Vi sendte en e-mail til ${email}",pageTitle:"Bekræft e-mail | ${clientName}",resendText:`Send koden igen`,successDescription:`Din e-mail er blevet bekræftet.`,successTitle:`E-mail bekræftet`,title:`Bekræft din e-mail`}},invitation:_f,login:vf,"login-id":{"login-id":{alertListTitle:`Advarsler`,"auth0-users-validation":`Noget gik galt, prøv venligst igen senere`,"authentication-failure":`Vi beklager, noget gik galt under loginforsøget`,buttonText:`Fortsæt`,"captcha-client-failure":`Vi kunne ikke indlæse sikkerhedsudfordringen. Prøv venligst igen. (Fejlkode: #{errorCode})`,"captcha-validation-failure":`Vi beklager, noget gik galt under validering af captcha-svaret. Prøv venligst igen.`,captchaCodePlaceholder:`Indtast koden vist ovenfor`,"custom-script-error-code":`Noget gik galt, prøv venligst igen senere.`,description:"Log ind på ${clientName}.",editEmailText:`Rediger`,emailPlaceholder:`E-mail-adresse`,federatedConnectionButtonText:"Fortsæt med ${connectionName}",footerLinkText:`Tilmeld dig`,footerText:`Har du ikke en konto?`,forgotPasswordText:`Har du glemt din adgangskode?`,hidePasswordText:`Skjul adgangskode`,"invalid-captcha":`Løs sikkerhedsspørgsmålet for at bekræfte, at du ikke er en robot.`,"invalid-code":`Ugyldig kode`,"invalid-connection":`Ugyldig forbindelse`,"invalid-email-format":`Ugyldig e-mail`,"invalid-email-phone":`Indtast en gyldig e-mailadresse eller telefonnummer. Telefonnumre skal inkludere landekoden.`,"invalid-email-phone-username":`Indtast en gyldig e-mailadresse, telefonnummer eller brugernavn. Telefonnumre skal inkludere landekoden.`,"invalid-email-username":`Indtast en gyldig e-mailadresse eller brugernavn`,"invalid-expired-code":`Ugyldig eller udløbet brugerkode`,"invalid-login-id":`Ugyldigt login-ID indtastet`,"invalid-phone-username":`Indtast et gyldigt telefonnummer eller brugernavn. Telefonnumre skal inkludere landekoden.`,"invalid-recaptcha":`Markér afkrydsningsfeltet for at bekræfte, at du ikke er en robot.`,"invalid-username":"Brugernavnet kan kun indeholde alfanumeriske tegn eller: '${characters}'. Brugernavnet skal være mellem ${min} og ${max} tegn.",invitationDescription:"Log ind for at acceptere ${inviterName}s invitation til at deltage i ${companyName} på ${clientName}.",invitationTitle:`Du er blevet inviteret!`,"ip-blocked":`Vi har registreret mistænkelig loginadfærd, og yderligere forsøg vil blive blokeret. Kontakt venligst administratoren.`,logoAltText:"${companyName}","no-db-connection":`Ugyldig forbindelse`,"no-email":`Indtast venligst en e-mailadresse`,"no-email-phone":`E-mailadresse eller telefonnummer er påkrævet`,"no-email-phone-username":`Telefonnummer, brugernavn eller e-mailadresse er påkrævet`,"no-email-username":`E-mailadresse eller brugernavn er påkrævet`,"no-password":`Adgangskode er påkrævet`,"no-phone":`Indtast venligst et telefonnummer`,"no-phone-username":`Telefonnummer eller brugernavn er påkrævet`,"no-username":`Brugernavn er påkrævet`,pageTitle:"Log ind | ${clientName}","password-breached":`Vi har registreret et potentielt sikkerhedsproblem med denne konto. For at beskytte din konto har vi forhindret dette login. Nulstil venligst din adgangskode for at fortsætte.`,passwordPlaceholder:`Adgangskode`,phoneOrEmailPlaceholder:`E-mail eller telefonnummer`,phoneOrUsernameOrEmailPlaceholder:`Telefon, brugernavn eller e-mail`,phoneOrUsernamePlaceholder:`Telefonnummer eller brugernavn`,phonePlaceholder:`Telefonnummer`,"same-user-login":`For mange loginforsøg for denne bruger. Vent venligst, og prøv igen senere.`,selectCountryCode:"Vælg landekode, i øjeblikket sat til ${countryName}, ${countryCode}, +${countryPrefix}",separatorText:`eller`,sessionExpired:`Din session er udløbet. Prøv venligst igen.`,showPasswordText:`Vis adgangskode`,signupActionLinkText:`Tilmeld dig`,signupActionText:`Har du ikke en konto?`,termsAndConditionsTemplate:'Ved at fortsætte accepterer du vores <a href="${termsAndConditionsUrl}" target="_blank" rel="noopener noreferrer">Vilkår og betingelser</a>.',title:`Velkommen`,"user-blocked":`Din konto er blevet blokeret efter flere på hinanden følgende loginforsøg.`,userAccountDoesNotExist:`Brugerkontoen findes ikke`,usernameOnlyPlaceholder:`Brugernavn`,usernameOrEmailPlaceholder:`Brugernavn eller e-mailadresse`,usernamePlaceholder:`Brugernavn`,usernameTooLong:"Brugernavnet må højst være ${max} tegn",usernameTooShort:"Brugernavnet skal være mindst ${min} tegn","wrong-credentials":`Forkert brugernavn eller adgangskode`,"wrong-email-credentials":`Forkert e-mail eller adgangskode`,"wrong-email-phone-credentials":`Forkert e-mailadresse, telefonnummer eller adgangskode. Telefonnumre skal inkludere landekoden.`,"wrong-email-phone-username-credentials":`Forkert e-mailadresse, telefonnummer, brugernavn eller adgangskode. Telefonnumre skal inkludere landekoden.`,"wrong-email-username-credentials":`Forkert e-mailadresse, brugernavn eller adgangskode`,"wrong-phone-credentials":`Forkert telefonnummer eller adgangskode`,"wrong-phone-username-credentials":`Forkert telefonnummer, brugernavn eller adgangskode. Telefonnumre skal inkludere landekoden.`,"wrong-username-credentials":`Forkert brugernavn eller adgangskode`,passkeyButtonText:`Log ind med passkey`}},"login-password":{"login-password":{buttonText:`Log ind`,description:`Indtast din e-mailadresse og adgangskode for at logge ind.`,forgotPasswordText:`Har du glemt din adgangskode?`,hidePasswordText:`Skjul adgangskode`,"no-password":`Adgangskode er påkrævet`,pageTitle:"Log ind | ${clientName}","password-breached":`Vi har registreret et potentielt sikkerhedsproblem med denne konto. For at beskytte din konto har vi forhindret dette login. Nulstil venligst din adgangskode for at fortsætte.`,passwordPlaceholder:`Adgangskode`,showPasswordText:`Vis adgangskode`,signingInAs:"Logger ind som ${email}",title:`Indtast adgangskode`,unverifiedEmail:`Bekræft venligst din e-mailadresse, før du logger ind`,"user-blocked":`Din konto er blevet blokeret efter flere på hinanden følgende loginforsøg.`,"wrong-credentials":`Forkert adgangskode`}},"login-passwordless":{"login-passwordless":{authMethodEmail:`e-mail`,authMethodEmailOrPhone:`e-mail eller telefonnummer`,authMethodPhone:`telefonnummer`,description:"Log ind med din ${authMethod}",emailOrPhonePlaceholder:`E-mailadresse eller telefonnummer`,emailPlaceholder:`E-mail-adresse`,invalidEmail:`Indtast venligst en gyldig e-mailadresse`,invalidIdentifier:`Indtast venligst en gyldig e-mailadresse eller telefonnummer`,invalidPhone:`Indtast venligst et gyldigt telefonnummer med landekode`,noEmail:`Indtast venligst din e-mailadresse`,noPhone:`Indtast venligst dit telefonnummer`,phonePlaceholder:`Telefonnummer`,sessionExpired:`Din session er udløbet. Prøv venligst igen.`,title:`Log ind med en kode`,userAccountDoesNotExist:`Brugerkontoen findes ikke`}},"magic-link-sent":{"magic-link-sent":{defaultDescription:`Klik på linket i din e-mail for at logge ind`,description:"Vi sendte et link til ${username}. Klik på det for at logge ind.",resendText:`Send link igen`,spamText:`Har du ikke modtaget e-mailen? Tjek din spam-mappe.`,title:`Tjek din e-mail`}},mfa:yf,"mfa-email":{"mfa-email":{buttonText:`Fortsæt`,codePlaceholder:`Indtast kode`,description:"Vi sendte en kode til ${email}","invalid-code":`Den indtastede kode er ugyldig`,pageTitle:"E-mailbekræftelse | ${clientName}",resendText:`Send kode igen`,title:`Tjek din e-mail`}},"mfa-otp":{"mfa-otp":{buttonText:`Fortsæt`,codePlaceholder:`Indtast kode`,description:`Indtast den 6-cifrede kode fra din autentificeringsapp`,"invalid-code":`Den indtastede kode er ugyldig`,pageTitle:"Indtast kode | ${clientName}",title:`Indtast din kode`},"mfa-totp-enrollment":{title:`Opsæt autentificeringsapp`,description:`Scan QR-koden nedenfor med din autentificeringsapp, og indtast derefter den 6-cifrede kode for at bekræfte`,secretLabel:`Eller indtast denne kode manuelt:`,codePlaceholder:`Indtast kode`,continueButtonText:`Bekræft og aktiver`,"invalid-code":`Den indtastede kode er ugyldig. Prøv venligst igen.`,"transaction-not-found":`Din tilmeldingssession er udløbet. Du skal starte forfra.`,pageTitle:"Opsæt autentificeringsapp | ${clientName}",unexpectedError:`Noget gik galt. Prøv venligst igen.`,enrollmentComplete:`MFA-tilmeldingen er fuldført. Du kan lukke denne side.`},"mfa-totp-challenge":{title:`Bekræft din identitet`,description:`Indtast den 6-cifrede kode fra din autentificeringsapp`,codePlaceholder:`Indtast kode`,continueButtonText:`Fortsæt`,"invalid-code":`Den indtastede kode er ugyldig`,"transaction-not-found":`Din session er udløbet. Du skal starte forfra.`,unexpectedError:`Noget gik galt. Prøv venligst igen.`,pageTitle:"Bekræft identitet | ${clientName}"}},"mfa-phone":{"mfa-phone-challenge":{pageTitle:"Brug dit telefonnummer til at logge ind | ${clientName}",title:`Bekræft din identitet`,description:"Vi sendte en kode til ${phoneNumber}",continueButtonText:`Fortsæt`,changePhoneText:`Vælg et andet telefonnummer.`,smsButtonText:`SMS`,voiceButtonText:`Taleopkald`,chooseMessageTypeText:`Hvordan vil du modtage koden?`,pickAuthenticatorText:`Prøv en anden metode`,logoAltText:"${companyName}",codePlaceholder:`Indtast kode`,"send-sms-failed":`Der opstod et problem med at sende SMS'en`,"send-voice-failed":`Der opstod et problem med at foretage taleopkaldet`,"invalid-phone-format":`Telefonnummeret kan kun indeholde cifre.`,"invalid-phone":`Det ser ud til, at dit telefonnummer ikke er gyldigt. Kontrollér og prøv igen.`,"too-many-sms":`Du har overskredet det maksimale antal telefonbeskeder pr. time. Vent et par minutter og prøv igen.`,"too-many-voice":`Du har overskredet det maksimale antal telefonopkald pr. time. Vent et par minutter og prøv igen.`,"transaction-not-found":`Din registreringstransaktion er udløbet, du skal starte forfra.`,"no-phone":`Indtast et telefonnummer`,noCode:`Indtast bekræftelseskoden`,invalidCode:`Den indtastede kode er ugyldig. Prøv igen.`,unexpectedError:`Noget gik galt. Prøv igen.`,resendSuccess:`Vi sendte en ny kode til din telefon`,enrollmentComplete:`MFA-tilmeldingen er fuldført. Du kan lukke denne side.`},"mfa-phone-enrollment":{pageTitle:"Indtast dit telefonnummer for at logge ind med en telefonkode | ${clientName}",title:`Sikre din konto`,description:`Indtast din landekode og telefonnummer, som vi kan sende en 6-cifret kode til:`,continueButtonText:`Fortsæt`,smsButtonText:`SMS`,voiceButtonText:`Taleopkald`,chooseMessageTypeText:`Hvordan vil du modtage koden?`,pickAuthenticatorText:`Prøv en anden metode`,placeholder:`Indtast dit telefonnummer`,logoAltText:"${companyName}",selectCountryCode:"Vælg landekode, i øjeblikket sat til ${countryName}, ${countryCode}, +${countryPrefix}","send-sms-failed":`Der opstod et problem med at sende SMS'en`,"send-voice-failed":`Der opstod et problem med at foretage taleopkaldet`,"sms-authenticator-error":`Vi kunne ikke sende SMS'en. Prøv igen senere.`,"invalid-phone-format":`Telefonnummeret kan kun indeholde cifre.`,"invalid-phone":`Det ser ud til, at dit telefonnummer ikke er gyldigt. Kontrollér og prøv igen.`,"too-many-sms":`Du har overskredet det maksimale antal telefonbeskeder pr. time. Vent et par minutter og prøv igen.`,"too-many-voice":`Du har overskredet det maksimale antal telefonopkald pr. time. Vent et par minutter og prøv igen.`,"transaction-not-found":`Din registreringstransaktion er udløbet, du skal starte forfra.`,"no-phone":`Indtast et telefonnummer`,"phone-is-too-short":`Telefonnummeret er for kort`,"phone-is-too-long":`Telefonnummeret er for langt`}},"mfa-login-options":{"mfa-login-options":{pageTitle:"Vælg bekræftelsesmetode | ${clientName}",title:`Vælg din bekræftelsesmetode`,description:`Vælg hvordan du vil bekræfte din identitet`,authenticatorAppLabel:`Godkendelsesapp`,authenticatorAppDescription:`Brug din godkendelsesapp til at få en bekræftelseskode`,smsLabel:`Sms-besked`,smsDescription:`Få en bekræftelseskode sendt til din telefon`,passkeyLabel:`Adgangsnøgle`,passkeyDescription:`Brug din enheds biometri eller sikkerhedsnøgle`}},"mfa-push":{"mfa-push":{description:`Vi sendte en notifikation til din enhed`,pageTitle:"Push-notifikation | ${clientName}",resendText:`Send notifikation igen`,title:`Godkend anmodningen`,useCodeText:`Indtast kode manuelt`}},"mfa-recovery-code":{"mfa-recovery-code":{buttonText:`Fortsæt`,codePlaceholder:`Gendannelseskode`,description:`Indtast en af dine gendannelseskoder`,"invalid-code":`Den indtastede gendannelseskode er ugyldig`,pageTitle:"Gendannelseskode | ${clientName}",title:`Indtast gendannelseskode`}},"mfa-voice":{"mfa-voice":{buttonText:`Ring til mig`,codePlaceholder:`Indtast kode`,description:"Vi ringer til ${phoneNumber} med din kode","invalid-code":`Den indtastede kode er ugyldig`,pageTitle:"Taleopkald | ${clientName}",title:`Modtag et telefonopkald`}},"mfa-webauthn":{"mfa-webauthn":{buttonText:`Prøv igen`,description:`Indsæt din sikkerhedsnøgle og følg instruktionerne`,pageTitle:"Sikkerhedsnøgle | ${clientName}",title:`Brug din sikkerhedsnøgle`}},passkeys:bf,organizations:xf,"reset-password":{"reset-password":{backToLoginText:`Gå tilbage`,buttonText:`Send e-mail til nulstilling af adgangskode`,codeExpired:`Din kode til nulstilling af adgangskode er udløbet. Anmod venligst om en ny.`,confirmPasswordLabel:`Bekræft adgangskode`,confirmPasswordPlaceholder:`Bekræft adgangskode`,description:`Klik på knappen nedenfor, så sender vi instruktioner om, hvordan du nulstiller din adgangskode.`,emailPlaceholder:`E-mail-adresse`,failed:`Nulstilling af adgangskode mislykkedes. Prøv venligst igen.`,"invalid-email-format":`Ugyldig e-mail`,"no-email":`Indtast venligst en e-mailadresse`,pageTitle:"Nulstil adgangskode | ${clientName}",passwordLabel:`Ny adgangskode`,passwordPlaceholder:`Ny adgangskode`,passwordTooWeak:`Adgangskoden er for svag`,passwordsDidntMatch:`Adgangskoderne matcher ikke`,successDescription:`Vi har sendt et link til nulstilling af adgangskode til din e-mailadresse.`,successTitle:`E-mail til nulstilling af adgangskode sendt`,title:`Har du glemt din adgangskode?`,"user-not-found":`Bruger ikke fundet`},"reset-password-code":{backToLoginText:`Tilbage til login`,buttonText:`Nulstil adgangskode`,codeLabel:`Nulstillingskode`,codePlaceholder:`Indtast 6-cifret kode`,confirmPasswordLabel:`Bekræft adgangskode`,confirmPasswordPlaceholder:`Bekræft adgangskode`,defaultDescription:`Indtast koden sendt til din e-mail og vælg en ny adgangskode`,description:"Vi sendte en kode til ${email}",failed:`Nulstilling af adgangskode mislykkedes. Prøv venligst igen.`,invalidCode:`Den indtastede kode er ugyldig eller udløbet`,noCode:`Indtast venligst nulstillingskoden`,pageTitle:"Indtast nulstillingskode | ${clientName}",passwordLabel:`Ny adgangskode`,passwordPlaceholder:`Ny adgangskode`,passwordTooWeak:`Adgangskoden er for svag`,passwordsDidntMatch:`Adgangskoderne matcher ikke`,resendFailed:`Kunne ikke sende koden igen. Prøv igen.`,resendSuccess:`En ny kode er blevet sendt til din e-mail`,resendText:`Send kode igen`,sessionExpired:`Din session er udløbet. Prøv venligst igen.`,title:`Indtast nulstillingskode`}},signup:Sf,"signup-id":{"signup-id":{buttonText:`Fortsæt`,description:`Vælg en adgangskode med en blanding af store og små bogstaver, tal og symboler.`,"email-already-exists":`E-mailen er allerede optaget`,emailPlaceholder:`E-mail-adresse`,federatedConnectionButtonText:"Fortsæt med ${connectionName}","invalid-email-format":`Ugyldig e-mail`,loginActionLinkText:`Log ind`,loginActionText:`Har du allerede en konto?`,"no-email":`Indtast venligst en e-mailadresse`,pageTitle:"Tilmeld dig | ${clientName}",phonePlaceholder:`Telefonnummer`,separatorText:`eller`,title:`Vælg adgangskode`,usernamePlaceholder:`Brugernavn`}},"signup-password":{"signup-password":{buttonText:`Fortsæt`,description:`Vælg en adgangskode med en blanding af store og små bogstaver, tal og symboler.`,hidePasswordText:`Skjul adgangskode`,"no-password":`Adgangskode er påkrævet`,pageTitle:"Tilmeld dig | ${clientName}","password-policy-not-met":`Adgangskoden opfylder ikke kravene`,"password-too-weak":`Adgangskoden er for svag`,passwordPlaceholder:`Adgangskode`,showPasswordText:`Vis adgangskode`,title:`Vælg adgangskode`}},"sms-otp-challenge":{"sms-otp-challenge":{buttonText:`Log ind`,codeLabel:`Bekræftelseskode`,codePlaceholder:`Indtast kode`,defaultDescription:`Indtast bekræftelseskoden, der blev sendt til din telefon`,description:"Vi sendte en kode til ${username}","invalid-code":`Ugyldig kode`,noCode:`Indtast venligst bekræftelseskoden`,pageTitle:"Indtast kode | ${clientName}",resendText:`Send koden igen`,sessionExpired:`Din session er udløbet. Prøv venligst igen.`,title:`Tjek din telefon`,unexpectedError:`Der opstod en uventet fejl`}},status:Cf},Cne=c({common:()=>wf,consent:()=>Tf,default:()=>wne,invitation:()=>Ef,login:()=>Df,mfa:()=>Of,organizations:()=>Af,passkeys:()=>kf,signup:()=>jf,status:()=>Mf}),wf={common:{alertListTitle:`Alerts`,backText:`Back`,cancelText:`Cancel`,closeText:`Close`,contactSupportText:`Contact Support`,continueText:`Continue`,copyrightText:"© ${currentYear} ${companyName}",errorText:`An error occurred`,hidePasswordText:`Hide password`,loadingText:`Loading...`,orText:`or`,privacyPolicyText:`Privacy Policy`,showPasswordText:`Show password`,termsOfServiceText:`Terms of Service`,termsShortText:`Terms`,tryAgainText:`Try again`}},Tf={consent:{buttonText:`Accept`,cancelButtonText:`Deny`,description:"${clientName} is requesting access to your account",pageTitle:"Authorize | ${clientName}",scopesTitle:"This will allow ${clientName} to:",title:"Authorize ${clientName}"}},Ef={invitation:{acceptButtonText:`Accept invitation`,description:"${inviterName} has invited you to join ${organizationName} on ${clientName}",pageTitle:"Invitation | ${clientName}",title:`You've been invited`}},Df={login:{alertListTitle:`Alerts`,buttonText:`Continue`,description:"Log in to ${clientName}.",editEmailText:`Edit`,emailPlaceholder:`Email address`,enterACodeBtn:`Sign in with a code`,federatedConnectionButtonText:"Continue with ${connectionName}",footerLinkText:`Sign up`,footerText:`Don't have an account?`,forgotPasswordText:`Forgot password?`,hidePasswordText:`Hide password`,invalidEmail:`Invalid email`,invalidIdentifier:`Invalid email or username`,invitationDescription:"Log in to accept ${inviterName}'s invitation to join ${companyName} on ${clientName}.",invitationTitle:`You've Been Invited!`,logoAltText:"${companyName}","no-email":`Please enter an email address`,"no-password":`Password is required`,pageTitle:"Log in | ${clientName}",passwordLoginNotAvailable:`Password authentication is not available`,passwordPlaceholder:`Password`,phonePlaceholder:`Phone number`,separatorText:`Or`,sessionExpired:`Your session has expired. Please try again.`,showPasswordText:`Show password`,signupActionLinkText:`Sign up`,signupActionText:`Don't have an account?`,title:`Welcome`,tooManyFailedLogins:`Too many failed login attempts. Please try again later.`,unverifiedEmail:`Please verify your email address before logging in`,userAccountDoesNotExist:`User account does not exist`,usernamePlaceholder:`Username or email address`,usernameTooLong:"Username must be ${max} characters or less",usernameTooShort:"Username must be at least ${min} characters",passkeyButtonText:`Sign in with a passkey`,wrongCredentials:`Wrong username or password`}},Of={mfa:{backupCodeText:`Use backup code`,description:`Choose a verification method`,pageTitle:"Multi-Factor Authentication | ${clientName}",title:`Verify your identity`}},kf={"passkey-enrollment-nudge":{title:`Secure your account with a passkey`,description:`Passkeys use your device's biometrics or PIN to sign you in faster and more securely.`,enrollButtonText:`Set up passkey`,snoozeButtonText:`Maybe later`,optOutLinkText:`Don't show this again`,pageTitle:"Set Up Passkey | ${clientName}"},"passkey-enrollment":{title:`Create your passkey`,description:`Follow the prompts from your browser to create a passkey for this account.`,errorMessage:`Failed to create passkey. Please try again.`,cancelLinkText:`Skip for now`,retryButtonText:`Try again`,enrollmentComplete:`Your passkey has been set up successfully. You can close this page.`,pageTitle:"Create Passkey | ${clientName}"},"passkey-challenge":{title:`Sign in with a passkey`,description:`Follow the prompts from your browser to verify your identity.`,errorMessage:`Passkey authentication failed. Please try again.`,cancelLinkText:`Back to login`,retryButtonText:`Try again`,pageTitle:"Sign In with Passkey | ${clientName}"}},Af={organizations:{description:`Choose which organization to log in to`,pageTitle:"Select Organization | ${clientName}",searchPlaceholder:`Search organizations`,title:`Select your organization`}},jf={signup:{buttonText:`Continue`,confirmPasswordPlaceholder:`Confirm password`,description:`Sign up to continue`,"email-already-exists":`This email is already registered`,emailPlaceholder:`Email address`,federatedConnectionButtonText:"Continue with ${connectionName}",hidePasswordText:`Hide password`,"invalid-email-format":`Email is not valid.`,loginActionLinkText:`Log in`,loginActionText:`Already have an account?`,"no-email":`Please enter an email address`,"no-password":`Password is required`,"no-username":`Username is required`,pageTitle:"Sign up | ${clientName}",passwordPlaceholder:`Password`,passwordsDidntMatch:`Passwords don't match`,phonePlaceholder:`Phone number`,privacyPolicyLinkText:`Privacy Policy`,separatorText:`Or`,sessionExpired:`Your session has expired. Please try again.`,showPasswordText:`Show password`,termsOfServiceLinkText:`Terms of Service`,termsText:`By signing up, you agree to our`,title:`Create your account`,"username-already-exists":`This username is already taken`,usernamePlaceholder:`Username`,verifyEmailText:`Please check your email to verify your account`}},Mf={status:{continueButtonText:`Continue`,errorTitle:`Error`,pageTitle:"Status | ${clientName}",successTitle:`Success`,title:`Status`}},wne={common:wf,consent:Tf,"device-flow":{"device-flow":{buttonText:`Continue`,codePlaceholder:`Enter code`,description:`Enter the code shown on your device`,"expired-code":`The code has expired`,"invalid-code":`The code you entered is invalid`,pageTitle:"Device Activation | ${clientName}",title:`Activate your device`}},"email-otp-challenge":{"email-otp-challenge":{buttonText:`Continue`,codeLabel:`Verification Code`,codePlaceholder:`Enter code`,defaultDescription:`Enter the verification code sent to your email`,description:"We sent a code to ${email}","invalid-code":`The code you entered is invalid`,noCode:`Please enter the verification code`,pageTitle:"Enter Code | ${clientName}",resendText:`Resend code`,sessionExpired:`Your session has expired. Please try again.`,title:`Check your email`,unexpectedError:`An unexpected error occurred`}},"email-verification":{"email-verification":{description:"We sent an email to ${email}",pageTitle:"Verify Email | ${clientName}",resendText:`Resend email`,successDescription:`Your email has been verified successfully.`,successTitle:`Email verified`,title:`Verify your email`}},invitation:Ef,login:Df,"login-id":{"login-id":{alertListTitle:`Alerts`,"auth0-users-validation":`Something went wrong, please try again later`,"authentication-failure":`We are sorry, something went wrong when attempting to log in`,buttonText:`Continue`,"captcha-client-failure":`We couldn't load the security challenge. Please try again. (Error code: #{errorCode})`,"captcha-validation-failure":`We are sorry, something went wrong while validating the captcha response. Please try again.`,captchaCodePlaceholder:`Enter the code shown above`,"custom-script-error-code":`Something went wrong, please try again later.`,description:"Log in to ${clientName}.",editEmailText:`Edit`,emailPlaceholder:`Email address`,federatedConnectionButtonText:"Continue with ${connectionName}",footerLinkText:`Sign up`,footerText:`Don't have an account?`,forgotPasswordText:`Forgot password?`,hidePasswordText:`Hide password`,"invalid-captcha":`Solve the challenge question to verify you are not a robot.`,"invalid-code":`The code you entered is invalid`,"invalid-connection":`Invalid connection`,"invalid-email-format":`Email is not valid.`,"invalid-email-phone":`Enter a valid email address or phone number. Phone numbers must include the country code.`,"invalid-email-phone-username":`Enter a valid email address, phone number or username. Phone numbers must include the country code.`,"invalid-email-username":`Enter a valid email address or username`,"invalid-expired-code":`Invalid or expired user code`,"invalid-login-id":`Invalid Login ID entered`,"invalid-phone-username":`Enter a valid phone number or username. Phone numbers must include the country code.`,"invalid-recaptcha":`Select the checkbox to verify you are not a robot.`,"invalid-username":"Username can only contain alphanumeric characters or: '${characters}'. Username should have between ${min} and ${max} characters.",invitationDescription:"Log in to accept ${inviterName}'s invitation to join ${companyName} on ${clientName}.",invitationTitle:`You've Been Invited!`,"ip-blocked":`We have detected suspicious login behavior and further attempts will be blocked. Please contact the administrator.`,logoAltText:"${companyName}","no-db-connection":`Invalid connection`,"no-email":`Please enter an email address`,"no-email-phone":`Email address or phone number is required`,"no-email-phone-username":`Phone number, username, or email address is required`,"no-email-username":`Email address or username is required`,"no-password":`Password is required`,"no-phone":`Please enter a phone number`,"no-phone-username":`Phone number or username is required`,"no-username":`Username is required`,pageTitle:"Log in | ${clientName}","password-breached":`We have detected a potential security issue with this account. To protect your account, we have prevented this login. Please reset your password to proceed.`,passwordPlaceholder:`Password`,phoneOrEmailPlaceholder:`Phone number or Email address`,phoneOrUsernameOrEmailPlaceholder:`Phone or Username or Email`,phoneOrUsernamePlaceholder:`Phone Number or Username`,phonePlaceholder:`Phone number`,"same-user-login":`Too many login attempts for this user. Please wait, and try again later.`,selectCountryCode:"Select country code, currently set to ${countryName}, ${countryCode}, +${countryPrefix}",separatorText:`Or`,sessionExpired:`Your session has expired. Please try again.`,showPasswordText:`Show password`,signupActionLinkText:`Sign up`,signupActionText:`Don't have an account?`,termsAndConditionsTemplate:'By continuing, you agree to our <a href="${termsAndConditionsUrl}" target="_blank" rel="noopener noreferrer">Terms and Conditions</a>.',title:`Welcome`,"user-blocked":`Your account has been blocked after multiple consecutive login attempts.`,userAccountDoesNotExist:`User account does not exist`,usernameOnlyPlaceholder:`Username`,usernameOrEmailPlaceholder:`Username or Email address`,usernamePlaceholder:`Username or email address`,usernameTooLong:"Username must be ${max} characters or less",usernameTooShort:"Username must be at least ${min} characters","wrong-credentials":`Wrong username or password`,"wrong-email-credentials":`Wrong email or password`,"wrong-email-phone-credentials":`Incorrect email address, phone number, or password. Phone numbers must include the country code.`,"wrong-email-phone-username-credentials":`Incorrect email address, phone number, username, or password. Phone numbers must include the country code.`,"wrong-email-username-credentials":`Incorrect email address, username, or password`,"wrong-phone-credentials":`Incorrect phone number or password`,"wrong-phone-username-credentials":`Incorrect phone number, username or password. Phone numbers must include the country code.`,passkeyButtonText:`Sign in with a passkey`,"wrong-username-credentials":`Incorrect username or password`}},"login-password":{"login-password":{buttonText:`Continue`,description:"Log in to ${clientName}",forgotPasswordText:`Forgot password?`,hidePasswordText:`Hide password`,"no-password":`Password is required`,pageTitle:"Log in | ${clientName}","password-breached":`We have detected a potential security issue with this account. To protect your account, we have prevented this login. Please reset your password to proceed.`,passwordPlaceholder:`Password`,showPasswordText:`Show password`,signingInAs:"Signing in as ${email}",title:`Enter your password`,unverifiedEmail:`Please verify your email address before logging in`,"user-blocked":`Your account has been blocked after multiple consecutive login attempts.`,"wrong-credentials":`Wrong password`}},"login-passwordless":{"login-passwordless":{authMethodEmail:`email`,authMethodEmailOrPhone:`email or phone number`,authMethodPhone:`phone number`,description:"Sign in using your ${authMethod}",emailOrPhonePlaceholder:`Email address or phone number`,emailPlaceholder:`Email address`,invalidEmail:`Please enter a valid email address`,invalidIdentifier:`Please enter a valid email address or phone number`,invalidPhone:`Please enter a valid phone number with country code`,noEmail:`Please enter your email address`,noPhone:`Please enter your phone number`,phonePlaceholder:`Phone number`,sessionExpired:`Your session has expired. Please try again.`,title:`Sign in with a code`,userAccountDoesNotExist:`User account does not exist`}},"magic-link-sent":{"magic-link-sent":{defaultDescription:`Click the link in your email to sign in`,description:"We sent a link to ${username}. Click it to sign in.",resendText:`Resend link`,spamText:`Didn't receive the email? Check your spam folder.`,title:`Check your email`}},mfa:Of,"mfa-email":{"mfa-email":{buttonText:`Continue`,codePlaceholder:`Enter code`,description:"We sent a code to ${email}","invalid-code":`The code you entered is invalid`,pageTitle:"Email Verification | ${clientName}",resendText:`Resend code`,title:`Check your email`}},"mfa-otp":{"mfa-otp":{buttonText:`Continue`,codePlaceholder:`Enter code`,description:`Enter the 6-digit code from your authenticator app`,"invalid-code":`The code you entered is invalid`,pageTitle:"Enter Code | ${clientName}",title:`Enter your code`},"mfa-totp-enrollment":{title:`Set up authenticator`,description:`Scan the QR code below with your authenticator app, then enter the 6-digit code to verify`,secretLabel:`Or enter this code manually:`,codePlaceholder:`Enter code`,continueButtonText:`Verify & Activate`,"invalid-code":`The code you entered is invalid. Please try again.`,"transaction-not-found":`Your enrollment transaction expired, you will need to start again.`,unexpectedError:`Something went wrong. Please try again.`,pageTitle:"Set up Authenticator | ${clientName}",enrollmentComplete:`MFA enrollment is complete. You can close this page.`},"mfa-totp-challenge":{title:`Verify your identity`,description:`Enter the 6-digit code from your authenticator app`,codePlaceholder:`Enter code`,continueButtonText:`Continue`,"invalid-code":`The code you entered is invalid`,"transaction-not-found":`Your enrollment transaction expired, you will need to start again.`,unexpectedError:`Something went wrong. Please try again.`,pageTitle:"Verify Identity | ${clientName}"}},"mfa-phone":{"mfa-phone-challenge":{pageTitle:"Use your phone number to log in | ${clientName}",title:`Verify Your Identity`,description:"We sent a code to ${phoneNumber}",continueButtonText:`Continue`,changePhoneText:`Choose another phone number.`,smsButtonText:`Text message`,voiceButtonText:`Voice call`,chooseMessageTypeText:`How do you want to receive the code?`,pickAuthenticatorText:`Try another method`,logoAltText:"${companyName}",codePlaceholder:`Enter code`,"send-sms-failed":`There was a problem sending the SMS`,"send-voice-failed":`There was a problem making the voice call`,"invalid-phone-format":`Phone number can only include digits.`,"invalid-phone":`It seems that your phone number is not valid. Please check and retry.`,"too-many-sms":`You have exceeded the maximum number of phone messages per hour. Wait a few minutes and try again.`,"too-many-voice":`You have exceeded the maximum number of phone messages per hour. Wait a few minutes and try again.`,"transaction-not-found":`Your enrollment transaction expired, you will need to start again.`,"no-phone":`Please enter a phone number`,noCode:`Please enter the verification code`,invalidCode:`The code you entered is invalid. Please try again.`,unexpectedError:`Something went wrong. Please try again.`,resendSuccess:`We sent a new code to your phone`,enrollmentComplete:`MFA enrollment is complete. You can close this page.`},"mfa-phone-enrollment":{pageTitle:"Enter your phone number to log in using a phone code | ${clientName}",title:`Secure Your Account`,description:`Enter your country code and phone number to which we can send a 6-digit code:`,continueButtonText:`Continue`,smsButtonText:`Text message`,voiceButtonText:`Voice call`,chooseMessageTypeText:`How do you want to receive the code?`,pickAuthenticatorText:`Try another method`,placeholder:`Enter your phone number`,logoAltText:"${companyName}",selectCountryCode:"Select country code, currently set to ${countryName}, ${countryCode}, +${countryPrefix}","send-sms-failed":`There was a problem sending the SMS`,"send-voice-failed":`There was a problem making the voice call`,"sms-authenticator-error":`We couldn't send the SMS. Please try again later.`,"invalid-phone-format":`Phone number can only include digits.`,"invalid-phone":`It seems that your phone number is not valid. Please check and retry.`,"too-many-sms":`You have exceeded the maximum number of phone messages per hour. Wait a few minutes and try again.`,"too-many-voice":`You have exceeded the maximum number of phone messages per hour. Wait a few minutes and try again.`,"transaction-not-found":`Your enrollment transaction expired, you will need to start again.`,"no-phone":`Please enter a phone number`,"phone-is-too-short":`Phone number is too short`,"phone-is-too-long":`Phone number is too long`}},"mfa-login-options":{"mfa-login-options":{pageTitle:"Choose Verification Method | ${clientName}",title:`Choose your verification method`,description:`Select how you'd like to verify your identity`,authenticatorAppLabel:`Authenticator App`,authenticatorAppDescription:`Use your authenticator app to get a verification code`,smsLabel:`Text Message`,smsDescription:`Get a verification code sent to your phone`,passkeyLabel:`Passkey`,passkeyDescription:`Use your device's biometrics or security key`}},"mfa-push":{"mfa-push":{description:`We sent a notification to your device`,pageTitle:"Push Notification | ${clientName}",resendText:`Resend notification`,title:`Approve the request`,useCodeText:`Enter code manually`}},"mfa-recovery-code":{"mfa-recovery-code":{buttonText:`Continue`,codePlaceholder:`Recovery code`,description:`Enter one of your recovery codes`,"invalid-code":`The recovery code you entered is invalid`,pageTitle:"Recovery Code | ${clientName}",title:`Enter recovery code`}},"mfa-voice":{"mfa-voice":{buttonText:`Call me`,codePlaceholder:`Enter code`,description:"We will call ${phoneNumber} with your code","invalid-code":`The code you entered is invalid`,pageTitle:"Voice Call | ${clientName}",title:`Receive a phone call`}},"mfa-webauthn":{"mfa-webauthn":{buttonText:`Try again`,description:`Insert your security key and follow the instructions`,pageTitle:"Security Key | ${clientName}",title:`Use your security key`}},passkeys:kf,organizations:Af,"reset-password":{"reset-password":{backToLoginText:`Back to login`,buttonText:`Continue`,codeExpired:`Your password reset code has expired. Please request a new one.`,confirmPasswordLabel:`Confirm Password`,confirmPasswordPlaceholder:`Confirm password`,description:`Enter your email to reset your password`,emailPlaceholder:`Email address`,failed:`Password reset failed. Please try again.`,"invalid-email-format":`Email is not valid.`,"no-email":`Please enter an email address`,pageTitle:"Reset Password | ${clientName}",passwordLabel:`New Password`,passwordPlaceholder:`New password`,passwordTooWeak:`Password is too weak`,passwordsDidntMatch:`Passwords don't match`,successDescription:`We have sent a password reset link to your email address.`,successTitle:`Check your email`,title:`Forgot your password?`,"user-not-found":`User not found`},"reset-password-code":{backToLoginText:`Back to login`,buttonText:`Reset Password`,codeLabel:`Reset Code`,codePlaceholder:`Enter 6-digit code`,confirmPasswordLabel:`Confirm Password`,confirmPasswordPlaceholder:`Confirm password`,defaultDescription:`Enter the code sent to your email and choose a new password`,description:"We sent a code to ${email}",failed:`Password reset failed. Please try again.`,invalidCode:`The code you entered is invalid or has expired`,noCode:`Please enter the reset code`,pageTitle:"Enter Reset Code | ${clientName}",passwordLabel:`New Password`,passwordPlaceholder:`New password`,passwordTooWeak:`Password is too weak`,passwordsDidntMatch:`Passwords don't match`,resendFailed:`Failed to resend the code. Please try again.`,resendSuccess:`A new code has been sent to your email`,resendText:`Resend code`,sessionExpired:`Your session has expired. Please try again.`,title:`Enter reset code`}},signup:jf,"signup-id":{"signup-id":{buttonText:`Continue`,description:`Sign up to continue`,"email-already-exists":`This email is already registered`,emailPlaceholder:`Email address`,federatedConnectionButtonText:"Continue with ${connectionName}","invalid-email-format":`Email is not valid.`,loginActionLinkText:`Log in`,loginActionText:`Already have an account?`,"no-email":`Please enter an email address`,pageTitle:"Sign up | ${clientName}",phonePlaceholder:`Phone number`,separatorText:`Or`,title:`Create your account`,usernamePlaceholder:`Username`}},"signup-password":{"signup-password":{buttonText:`Continue`,description:`Sign up to continue`,hidePasswordText:`Hide password`,"no-password":`Password is required`,pageTitle:"Sign up | ${clientName}","password-policy-not-met":`Password does not meet the requirements`,"password-too-weak":`Password is too weak`,passwordPlaceholder:`Password`,showPasswordText:`Show password`,title:`Create your password`}},"sms-otp-challenge":{"sms-otp-challenge":{buttonText:`Continue`,codeLabel:`Verification Code`,codePlaceholder:`Enter code`,defaultDescription:`Enter the verification code sent to your phone`,description:"We sent a code to ${username}","invalid-code":`The code you entered is invalid`,noCode:`Please enter the verification code`,pageTitle:"Enter Code | ${clientName}",resendText:`Resend code`,sessionExpired:`Your session has expired. Please try again.`,title:`Check your phone`,unexpectedError:`An unexpected error occurred`}},status:Mf},Tne=c({common:()=>Nf,consent:()=>Pf,default:()=>Ene,invitation:()=>Ff,login:()=>If,mfa:()=>Lf,organizations:()=>zf,passkeys:()=>Rf,signup:()=>Bf,status:()=>Vf}),Nf={common:{alertListTitle:`Ilmoitukset`,backText:`Palaa takaisin`,cancelText:`Palaa takaisin`,closeText:`Sulje`,contactSupportText:`Tarvitsetko apua?`,continueText:`Jatka`,copyrightText:"© ${currentYear} ${companyName}",errorText:`Jokin meni pieleen. Yritä uudelleen.`,hidePasswordText:`Piilota salasana`,loadingText:`Ladataan...`,orText:`tai`,privacyPolicyText:`Tietosuojakäytäntö`,showPasswordText:`Näytä salasana`,termsOfServiceText:`Käyttöehdot`,termsShortText:`Ehdot`,tryAgainText:`Yritä uudelleen`}},Pf={consent:{buttonText:`Hyväksy`,cancelButtonText:`Hylkää`,description:"${clientName} pyytää pääsyä tilillesi",pageTitle:"Valtuuta | ${clientName}",scopesTitle:"Tämä sallii sovelluksen ${clientName}:",title:"Valtuuta ${clientName}"}},Ff={invitation:{acceptButtonText:`Hyväksy kutsu`,description:"${inviterName} on kutsunut sinut liittymään organisaatioon ${organizationName} palvelussa ${clientName}",pageTitle:"Kutsu | ${clientName}",title:`Sinut on kutsuttu`}},If={login:{alertListTitle:`Ilmoitukset`,buttonText:`Jatka`,description:"Kirjaudu sisään ${clientName}.",editEmailText:`Muokkaa`,emailPlaceholder:`Sähköpostiosoite`,enterACodeBtn:`Kirjaudu koodilla`,federatedConnectionButtonText:"Jatka palvelulla ${connectionName}",footerLinkText:`Rekisteröidy`,footerText:`Eikö sinulla ole tiliä?`,forgotPasswordText:`Unohditko salasanan?`,hidePasswordText:`Piilota salasana`,invalidEmail:`Virheellinen sähköpostiosoite`,invalidIdentifier:`Virheellinen sähköpostiosoite tai käyttäjänimi`,invitationDescription:"Kirjaudu sisään hyväksyäksesi käyttäjän ${inviterName} kutsun liittyä palveluun ${companyName} sovelluksessa ${clientName}.",invitationTitle:`Sinut on kutsuttu!`,logoAltText:"${companyName}","no-email":`Sähköpostiosoite vaaditaan`,"no-password":`Salasana vaaditaan`,pageTitle:"Kirjaudu sisään | ${clientName}",passwordLoginNotAvailable:`Salasanakirjautuminen ei ole käytettävissä`,passwordPlaceholder:`Salasana`,phonePlaceholder:`Puhelinnumero`,separatorText:`tai`,sessionExpired:`Istuntosi on vanhentunut. Yritä uudelleen.`,showPasswordText:`Näytä salasana`,signupActionLinkText:`Rekisteröidy`,signupActionText:`Eikö sinulla ole tiliä?`,title:`Tervetuloa`,tooManyFailedLogins:`Liian monta epäonnistunutta kirjautumisyritystä. Yritä myöhemmin uudelleen.`,unverifiedEmail:`Vahvista sähköpostiosoitteesi ennen kirjautumista`,userAccountDoesNotExist:`Käyttäjätiliä ei ole olemassa`,usernamePlaceholder:`Käyttäjänimi tai sähköpostiosoite`,usernameTooLong:"Käyttäjänimen on oltava enintään ${max} merkkiä",usernameTooShort:"Käyttäjänimen on oltava vähintään ${min} merkkiä",wrongCredentials:`Väärä käyttäjänimi tai salasana`,passkeyButtonText:`Kirjaudu sisään passkey:llä`}},Lf={mfa:{backupCodeText:`Käytä varakoodia`,description:`Valitse vahvistusmenetelmä`,pageTitle:"Monivaiheinen tunnistautuminen | ${clientName}",title:`Vahvista henkilöllisyytesi`}},Rf={"passkey-enrollment-nudge":{title:`Suojaa tilisi tunnistautumisavaimella`,description:`Tunnistautumisavaimet käyttävät laitteesi biometriikkaa tai PIN-koodia kirjautuaksesi nopeammin ja turvallisemmin.`,enrollButtonText:`Määritä tunnistautumisavain`,snoozeButtonText:`Ehkä myöhemmin`,optOutLinkText:`Älä näytä tätä uudelleen`,pageTitle:"Määritä Tunnistautumisavain | ${clientName}"},"passkey-enrollment":{title:`Luo tunnistautumisavain`,description:`Seuraa selaimesi ohjeita luodaksesi tunnistautumisavaimen tälle tilille.`,errorMessage:`Tunnistautumisavaimen luominen epäonnistui. Yritä uudelleen.`,cancelLinkText:`Ohita toistaiseksi`,retryButtonText:`Yritä uudelleen`,enrollmentComplete:`Tunnistautumisavaimesi on määritetty onnistuneesti. Voit sulkea tämän sivun.`,pageTitle:"Luo Tunnistautumisavain | ${clientName}"},"passkey-challenge":{title:`Kirjaudu sisään passkey:llä`,description:`Noudata selaimesi ohjeita henkilöllisyytesi vahvistamiseksi.`,errorMessage:`Passkey-todennus epäonnistui. Yritä uudelleen.`,cancelLinkText:`Takaisin kirjautumiseen`,retryButtonText:`Yritä uudelleen`,pageTitle:"Kirjaudu sisään passkey:llä | ${clientName}"}},zf={organizations:{description:`Valitse organisaatio, johon haluat kirjautua`,pageTitle:"Valitse organisaatio | ${clientName}",searchPlaceholder:`Hae organisaatioita`,title:`Valitse organisaatiosi`}},Bf={signup:{buttonText:`Rekisteröityminen`,confirmPasswordPlaceholder:`Vahvista salasana`,description:`Valitse salasana, jossa on isoja ja pieniä kirjaimia, numeroita ja symboleja.`,"email-already-exists":`Sähköposti on jo varattu`,emailPlaceholder:`Sähköpostiosoite`,federatedConnectionButtonText:"Jatka palvelulla ${connectionName}",hidePasswordText:`Piilota salasana`,"invalid-email-format":`Virheellinen sähköpostiosoite`,loginActionLinkText:`Kirjaudu sisään`,loginActionText:`Onko sinulla jo tili?`,"no-email":`Sähköpostiosoite vaaditaan`,"no-password":`Salasana vaaditaan`,"no-username":`Käyttäjänimi vaaditaan`,pageTitle:"Rekisteröidy | ${clientName}",passwordPlaceholder:`Salasana`,passwordsDidntMatch:`Salasanat eivät täsmää`,phonePlaceholder:`Puhelinnumero`,privacyPolicyLinkText:`Tietosuojakäytäntö`,separatorText:`tai`,sessionExpired:`Istuntosi on vanhentunut. Yritä uudelleen.`,showPasswordText:`Näytä salasana`,termsOfServiceLinkText:`Käyttöehdot`,termsText:`Rekisteröitymällä hyväksyt`,title:`Valitse salasana`,"username-already-exists":`Tämä käyttäjänimi on jo varattu`,usernamePlaceholder:`Käyttäjänimi`,verifyEmailText:`Tarkista sähköpostisi vahvistaaksesi tilisi`}},Vf={status:{continueButtonText:`Jatka`,errorTitle:`Virhe`,pageTitle:"Tila | ${clientName}",successTitle:`Onnistui`,title:`Tila`}},Ene={common:Nf,consent:Pf,"device-flow":{"device-flow":{buttonText:`Jatka`,codePlaceholder:`Syötä koodi`,description:`Syötä laitteessasi näkyvä koodi`,"expired-code":`Koodi on vanhentunut`,"invalid-code":`Syöttämäsi koodi on virheellinen`,pageTitle:"Laitteen aktivointi | ${clientName}",title:`Aktivoi laitteesi`}},"email-otp-challenge":{"email-otp-challenge":{buttonText:`Kirjaudu sisään`,codeLabel:`Vahvistuskoodi`,codePlaceholder:`Syötä koodi`,defaultDescription:`Syötä sähköpostiisi lähetetty vahvistuskoodi`,description:"Lähetimme koodin osoitteeseen ${email}","invalid-code":`Virheellinen koodi`,noCode:`Syötä vahvistuskoodi`,pageTitle:"Syötä koodi | ${clientName}",resendText:`Lähetä koodi uudelleen`,sessionExpired:`Istuntosi on vanhentunut. Yritä uudelleen.`,title:`Tarkista sähköpostisi`,unexpectedError:`Odottamaton virhe tapahtui`}},"email-verification":{"email-verification":{description:"Lähetimme sähköpostin osoitteeseen ${email}",pageTitle:"Vahvista sähköposti | ${clientName}",resendText:`Lähetä koodi uudelleen`,successDescription:`Sähköpostiosoitteesi on vahvistettu onnistuneesti.`,successTitle:`Sähköposti vahvistettu`,title:`Vahvista sähköpostiosoitteesi`}},invitation:Ff,login:If,"login-id":{"login-id":{alertListTitle:`Ilmoitukset`,"auth0-users-validation":`Jokin meni pieleen, yritä myöhemmin uudelleen`,"authentication-failure":`Valitettavasti jokin meni pieleen kirjautumisyrityksen aikana`,buttonText:`Jatka`,"captcha-client-failure":`Turvatarkistuksen lataaminen epäonnistui. Yritä uudelleen. (Virhekoodi: #{errorCode})`,"captcha-validation-failure":`Valitettavasti jokin meni pieleen captcha-vastauksen tarkistuksessa. Yritä uudelleen.`,captchaCodePlaceholder:`Syötä yllä näkyvä koodi`,"custom-script-error-code":`Jokin meni pieleen, yritä myöhemmin uudelleen.`,description:"Kirjaudu sisään ${clientName}.",editEmailText:`Muokkaa`,emailPlaceholder:`Sähköpostiosoite`,federatedConnectionButtonText:"Jatka palvelulla ${connectionName}",footerLinkText:`Rekisteröidy`,footerText:`Eikö sinulla ole tiliä?`,forgotPasswordText:`Unohditko salasanan?`,hidePasswordText:`Piilota salasana`,"invalid-captcha":`Ratkaise haaste varmistaaksesi, ettet ole robotti.`,"invalid-code":`Virheellinen koodi`,"invalid-connection":`Virheellinen yhteys`,"invalid-email-format":`Virheellinen sähköpostiosoite`,"invalid-email-phone":`Syötä kelvollinen sähköpostiosoite tai puhelinnumero. Puhelinnumeron tulee sisältää maatunnus.`,"invalid-email-phone-username":`Syötä kelvollinen sähköpostiosoite, puhelinnumero tai käyttäjänimi. Puhelinnumeron tulee sisältää maatunnus.`,"invalid-email-username":`Syötä kelvollinen sähköpostiosoite tai käyttäjänimi`,"invalid-expired-code":`Virheellinen tai vanhentunut käyttäjäkoodi`,"invalid-login-id":`Virheellinen kirjautumistunnus`,"invalid-phone-username":`Syötä kelvollinen puhelinnumero tai käyttäjänimi. Puhelinnumeron tulee sisältää maatunnus.`,"invalid-recaptcha":`Valitse valintaruutu varmistaaksesi, ettet ole robotti.`,"invalid-username":"Käyttäjänimi voi sisältää vain aakkosnumeerisia merkkejä tai: '${characters}'. Käyttäjänimen tulee olla ${min}–${max} merkkiä.",invitationDescription:"Kirjaudu sisään hyväksyäksesi käyttäjän ${inviterName} kutsun liittyä palveluun ${companyName} sovelluksessa ${clientName}.",invitationTitle:`Sinut on kutsuttu!`,"ip-blocked":`Olemme havainneet epäilyttävää kirjautumiskäyttäytymistä ja lisäyritykset estetään. Ota yhteyttä ylläpitäjään.`,logoAltText:"${companyName}","no-db-connection":`Virheellinen yhteys`,"no-email":`Sähköpostiosoite vaaditaan`,"no-email-phone":`Sähköpostiosoite tai puhelinnumero vaaditaan`,"no-email-phone-username":`Puhelinnumero, käyttäjänimi tai sähköpostiosoite vaaditaan`,"no-email-username":`Sähköpostiosoite tai käyttäjänimi vaaditaan`,"no-password":`Salasana vaaditaan`,"no-phone":`Syötä puhelinnumero`,"no-phone-username":`Puhelinnumero tai käyttäjänimi vaaditaan`,"no-username":`Käyttäjänimi vaaditaan`,pageTitle:"Kirjaudu sisään | ${clientName}","password-breached":`Olemme havainneet mahdollisen tietoturvaongelman tässä tilissä. Tilisi suojaamiseksi olemme estäneet tämän kirjautumisen. Vaihda salasanasi jatkaaksesi.`,passwordPlaceholder:`Salasana`,phoneOrEmailPlaceholder:`Sähköposti tai puhelinnumero`,phoneOrUsernameOrEmailPlaceholder:`Puhelin, käyttäjänimi tai sähköposti`,phoneOrUsernamePlaceholder:`Puhelinnumero tai käyttäjänimi`,phonePlaceholder:`Puhelinnumero`,"same-user-login":`Liian monta kirjautumisyritystä tälle käyttäjälle. Odota hetki ja yritä myöhemmin uudelleen.`,selectCountryCode:"Valitse maakoodi, tällä hetkellä ${countryName}, ${countryCode}, +${countryPrefix}",separatorText:`tai`,sessionExpired:`Istuntosi on vanhentunut. Yritä uudelleen.`,showPasswordText:`Näytä salasana`,signupActionLinkText:`Rekisteröidy`,signupActionText:`Eikö sinulla ole tiliä?`,termsAndConditionsTemplate:'Jatkamalla hyväksyt <a href="${termsAndConditionsUrl}" target="_blank" rel="noopener noreferrer">Käyttöehdot</a>.',title:`Tervetuloa`,"user-blocked":`Tilisi on estetty useiden peräkkäisten kirjautumisyritysten jälkeen.`,userAccountDoesNotExist:`Käyttäjätiliä ei ole olemassa`,usernameOnlyPlaceholder:`Käyttäjänimi`,usernameOrEmailPlaceholder:`Käyttäjänimi tai sähköpostiosoite`,usernamePlaceholder:`Käyttäjänimi`,usernameTooLong:"Käyttäjänimen on oltava enintään ${max} merkkiä",usernameTooShort:"Käyttäjänimen on oltava vähintään ${min} merkkiä","wrong-credentials":`Väärä käyttäjänimi tai salasana`,"wrong-email-credentials":`Väärä sähköpostiosoite tai salasana`,"wrong-email-phone-credentials":`Virheellinen sähköpostiosoite, puhelinnumero tai salasana. Puhelinnumeron tulee sisältää maatunnus.`,"wrong-email-phone-username-credentials":`Virheellinen sähköpostiosoite, puhelinnumero, käyttäjänimi tai salasana. Puhelinnumeron tulee sisältää maatunnus.`,"wrong-email-username-credentials":`Virheellinen sähköpostiosoite, käyttäjänimi tai salasana`,"wrong-phone-credentials":`Virheellinen puhelinnumero tai salasana`,"wrong-phone-username-credentials":`Virheellinen puhelinnumero, käyttäjänimi tai salasana. Puhelinnumeron tulee sisältää maatunnus.`,"wrong-username-credentials":`Virheellinen käyttäjänimi tai salasana`,passkeyButtonText:`Kirjaudu sisään passkey:llä`}},"login-password":{"login-password":{buttonText:`Kirjaudu sisään`,description:`Anna sähköpostiosoitteesi ja salasanasi kirjautuaksesi sisään.`,forgotPasswordText:`Unohditko salasanan?`,hidePasswordText:`Piilota salasana`,"no-password":`Salasana vaaditaan`,pageTitle:"Kirjaudu sisään | ${clientName}","password-breached":`Olemme havainneet mahdollisen tietoturvaongelman tässä tilissä. Tilisi suojaamiseksi olemme estäneet tämän kirjautumisen. Vaihda salasanasi jatkaaksesi.`,passwordPlaceholder:`Salasana`,showPasswordText:`Näytä salasana`,signingInAs:"Kirjaudutaan käyttäjänä ${email}",title:`Anna salasana`,unverifiedEmail:`Vahvista sähköpostiosoitteesi ennen kirjautumista`,"user-blocked":`Tilisi on estetty useiden peräkkäisten kirjautumisyritysten jälkeen.`,"wrong-credentials":`Väärä salasana`}},"login-passwordless":{"login-passwordless":{authMethodEmail:`sähköposti`,authMethodEmailOrPhone:`sähköposti tai puhelinnumero`,authMethodPhone:`puhelinnumero`,description:"Kirjaudu sisään käyttämällä ${authMethod}",emailOrPhonePlaceholder:`Sähköpostiosoite tai puhelinnumero`,emailPlaceholder:`Sähköpostiosoite`,invalidEmail:`Syötä kelvollinen sähköpostiosoite`,invalidIdentifier:`Syötä kelvollinen sähköpostiosoite tai puhelinnumero`,invalidPhone:`Syötä kelvollinen puhelinnumero maatunnuksella`,noEmail:`Syötä sähköpostiosoitteesi`,noPhone:`Syötä puhelinnumerosi`,phonePlaceholder:`Puhelinnumero`,sessionExpired:`Istuntosi on vanhentunut. Yritä uudelleen.`,title:`Kirjaudu koodilla`,userAccountDoesNotExist:`Käyttäjätiliä ei ole olemassa`}},"magic-link-sent":{"magic-link-sent":{defaultDescription:`Napsauta sähköpostissasi olevaa linkkiä kirjautuaksesi sisään`,description:"Lähetimme linkin osoitteeseen ${username}. Napsauta sitä kirjautuaksesi.",resendText:`Lähetä linkki uudelleen`,spamText:`Etkö saanut sähköpostia? Tarkista roskapostikansiosi.`,title:`Tarkista sähköpostisi`}},mfa:Lf,"mfa-email":{"mfa-email":{buttonText:`Jatka`,codePlaceholder:`Syötä koodi`,description:"Lähetimme koodin osoitteeseen ${email}","invalid-code":`Syöttämäsi koodi on virheellinen`,pageTitle:"Sähköpostivahvistus | ${clientName}",resendText:`Lähetä koodi uudelleen`,title:`Tarkista sähköpostisi`}},"mfa-otp":{"mfa-otp":{buttonText:`Jatka`,codePlaceholder:`Syötä koodi`,description:`Syötä 6-numeroinen koodi todentajasovelluksestasi`,"invalid-code":`Syöttämäsi koodi on virheellinen`,pageTitle:"Syötä koodi | ${clientName}",title:`Syötä koodisi`},"mfa-totp-enrollment":{title:`Ota todentajasovellus käyttöön`,description:`Skannaa alla oleva QR-koodi todentajasovelluksellasi ja syötä sitten 6-numeroinen koodi vahvistaaksesi`,secretLabel:`Tai syötä tämä koodi manuaalisesti:`,codePlaceholder:`Syötä koodi`,continueButtonText:`Vahvista ja aktivoi`,"invalid-code":`Syöttämäsi koodi on virheellinen. Yritä uudelleen.`,"transaction-not-found":`Rekisteröintitapahtumasi on vanhentunut, sinun täytyy aloittaa alusta.`,pageTitle:"Ota todentaja käyttöön | ${clientName}",unexpectedError:`Jokin meni pieleen. Yritä uudelleen.`,enrollmentComplete:`MFA-rekisteröinti on valmis. Voit sulkea tämän sivun.`},"mfa-totp-challenge":{title:`Vahvista henkilöllisyytesi`,description:`Syötä 6-numeroinen koodi todentajasovelluksestasi`,codePlaceholder:`Syötä koodi`,continueButtonText:`Jatka`,"invalid-code":`Syöttämäsi koodi on virheellinen`,"transaction-not-found":`Rekisteröintitapahtumasi on vanhentunut, sinun täytyy aloittaa alusta.`,unexpectedError:`Jokin meni pieleen. Yritä uudelleen.`,pageTitle:"Vahvista henkilöllisyys | ${clientName}"}},"mfa-phone":{"mfa-phone-challenge":{pageTitle:"Käytä puhelinnumeroasi kirjautumiseen | ${clientName}",title:`Vahvista henkilöllisyytesi`,description:"Lähetimme koodin numeroon ${phoneNumber}",continueButtonText:`Jatka`,changePhoneText:`Valitse toinen puhelinnumero.`,smsButtonText:`Tekstiviesti`,voiceButtonText:`Äänipuhelu`,chooseMessageTypeText:`Miten haluat vastaanottaa koodin?`,pickAuthenticatorText:`Kokeile toista menetelmää`,logoAltText:"${companyName}",codePlaceholder:`Syötä koodi`,"send-sms-failed":`Tekstiviestin lähettämisessä oli ongelma`,"send-voice-failed":`Äänipuhelun soittamisessa oli ongelma`,"invalid-phone-format":`Puhelinnumero voi sisältää vain numeroita.`,"invalid-phone":`Puhelinnumerosi ei vaikuta olevan kelvollinen. Tarkista ja yritä uudelleen.`,"too-many-sms":`Olet ylittänyt tunnin enimmäismäärän puhelinviestejä. Odota muutama minuutti ja yritä uudelleen.`,"too-many-voice":`Olet ylittänyt tunnin enimmäismäärän puhelinviestejä. Odota muutama minuutti ja yritä uudelleen.`,"transaction-not-found":`Rekisteröintitapahtumasi on vanhentunut, sinun täytyy aloittaa alusta.`,"no-phone":`Syötä puhelinnumero`,noCode:`Syötä vahvistuskoodi`,invalidCode:`Antamasi koodi on virheellinen. Yritä uudelleen.`,unexpectedError:`Jokin meni pieleen. Yritä uudelleen.`,resendSuccess:`Lähetimme uuden koodin puhelimeesi`,enrollmentComplete:`MFA-rekisteröinti on valmis. Voit sulkea tämän sivun.`},"mfa-phone-enrollment":{pageTitle:"Syötä puhelinnumerosi kirjautuaksesi puhelinkoodilla | ${clientName}",title:`Suojaa tilisi`,description:`Syötä maakoodisi ja puhelinnumero, johon voimme lähettää 6-numeroisen koodin:`,continueButtonText:`Jatka`,smsButtonText:`Tekstiviesti`,voiceButtonText:`Äänipuhelu`,chooseMessageTypeText:`Miten haluat vastaanottaa koodin?`,pickAuthenticatorText:`Kokeile toista menetelmää`,placeholder:`Syötä puhelinnumerosi`,logoAltText:"${companyName}",selectCountryCode:"Valitse maakoodi, tällä hetkellä asetettu ${countryName}, ${countryCode}, +${countryPrefix}","send-sms-failed":`Tekstiviestin lähettämisessä oli ongelma`,"send-voice-failed":`Äänipuhelun soittamisessa oli ongelma`,"sms-authenticator-error":`Emme pystyneet lähettämään tekstiviestiä. Yritä myöhemmin uudelleen.`,"invalid-phone-format":`Puhelinnumero voi sisältää vain numeroita.`,"invalid-phone":`Puhelinnumerosi ei vaikuta olevan kelvollinen. Tarkista ja yritä uudelleen.`,"too-many-sms":`Olet ylittänyt tunnin enimmäismäärän puhelinviestejä. Odota muutama minuutti ja yritä uudelleen.`,"too-many-voice":`Olet ylittänyt tunnin enimmäismäärän puhelinviestejä. Odota muutama minuutti ja yritä uudelleen.`,"transaction-not-found":`Rekisteröintitapahtumasi on vanhentunut, sinun täytyy aloittaa alusta.`,"no-phone":`Syötä puhelinnumero`,"phone-is-too-short":`Puhelinnumero on liian lyhyt`,"phone-is-too-long":`Puhelinnumero on liian pitkä`}},"mfa-login-options":{"mfa-login-options":{pageTitle:"Valitse vahvistusmenetelmä | ${clientName}",title:`Valitse vahvistusmenetelmä`,description:`Valitse, miten haluat vahvistaa henkilöllisyytesi`,authenticatorAppLabel:`Todennussovellus`,authenticatorAppDescription:`Käytä todennussovellusta vahvistuskoodin saamiseksi`,smsLabel:`Tekstiviesti`,smsDescription:`Saat vahvistuskoodin puhelimeesi tekstiviestillä`,passkeyLabel:`Tunnistautumisavain`,passkeyDescription:`Käytä laitteesi biometriikkaa tai suojausavainta`}},"mfa-push":{"mfa-push":{description:`Lähetimme ilmoituksen laitteellesi`,pageTitle:"Push-ilmoitus | ${clientName}",resendText:`Lähetä ilmoitus uudelleen`,title:`Hyväksy pyyntö`,useCodeText:`Syötä koodi manuaalisesti`}},"mfa-recovery-code":{"mfa-recovery-code":{buttonText:`Jatka`,codePlaceholder:`Palautuskoodi`,description:`Syötä yksi palautuskoodeistasi`,"invalid-code":`Syöttämäsi palautuskoodi on virheellinen`,pageTitle:"Palautuskoodi | ${clientName}",title:`Syötä palautuskoodi`}},"mfa-voice":{"mfa-voice":{buttonText:`Soita minulle`,codePlaceholder:`Syötä koodi`,description:"Soitamme numeroon ${phoneNumber} ja kerromme koodisi","invalid-code":`Syöttämäsi koodi on virheellinen`,pageTitle:"Äänipuhelu | ${clientName}",title:`Vastaanota puhelu`}},"mfa-webauthn":{"mfa-webauthn":{buttonText:`Yritä uudelleen`,description:`Aseta turva-avaimesi ja seuraa ohjeita`,pageTitle:"Turva-avain | ${clientName}",title:`Käytä turva-avaintasi`}},passkeys:Rf,organizations:zf,"reset-password":{"reset-password":{backToLoginText:`Palaa takaisin`,buttonText:`Lähetä salasanan palautussähköposti`,codeExpired:`Salasanan palautuskoodisi on vanhentunut. Pyydä uusi koodi.`,confirmPasswordLabel:`Vahvista salasana`,confirmPasswordPlaceholder:`Vahvista salasana`,description:`Napsauta alla olevaa painiketta, niin lähetämme ohjeet salasanasi palauttamiseen.`,emailPlaceholder:`Sähköpostiosoite`,failed:`Salasanan vaihto epäonnistui. Yritä uudelleen.`,"invalid-email-format":`Virheellinen sähköpostiosoite`,"no-email":`Sähköpostiosoite vaaditaan`,pageTitle:"Vaihda salasana | ${clientName}",passwordLabel:`Uusi salasana`,passwordPlaceholder:`Uusi salasana`,passwordTooWeak:`Salasana on liian heikko`,passwordsDidntMatch:`Salasanat eivät täsmää`,successDescription:`Olemme lähettäneet salasanan palautuslinkin sähköpostiosoitteeseesi.`,successTitle:`Salasanan palautussähköposti lähetetty`,title:`Unohditko salasanan?`,"user-not-found":`Käyttäjää ei löytynyt`},"reset-password-code":{backToLoginText:`Takaisin kirjautumiseen`,buttonText:`Vaihda salasana`,codeLabel:`Palautuskoodi`,codePlaceholder:`Syötä 6-numeroinen koodi`,confirmPasswordLabel:`Vahvista salasana`,confirmPasswordPlaceholder:`Vahvista salasana`,defaultDescription:`Syötä sähköpostiisi lähetetty koodi ja valitse uusi salasana`,description:"Lähetimme koodin osoitteeseen ${email}",failed:`Salasanan vaihto epäonnistui. Yritä uudelleen.`,invalidCode:`Syöttämäsi koodi on virheellinen tai vanhentunut`,noCode:`Syötä palautuskoodi`,pageTitle:"Syötä palautuskoodi | ${clientName}",passwordLabel:`Uusi salasana`,passwordPlaceholder:`Uusi salasana`,passwordTooWeak:`Salasana on liian heikko`,passwordsDidntMatch:`Salasanat eivät täsmää`,resendFailed:`Koodin uudelleenlähetys epäonnistui. Yritä uudelleen.`,resendSuccess:`Uusi koodi on lähetetty sähköpostiisi`,resendText:`Lähetä koodi uudelleen`,sessionExpired:`Istuntosi on vanhentunut. Yritä uudelleen.`,title:`Syötä palautuskoodi`}},signup:Bf,"signup-id":{"signup-id":{buttonText:`Jatka`,description:`Valitse salasana, jossa on isoja ja pieniä kirjaimia, numeroita ja symboleja.`,"email-already-exists":`Sähköposti on jo varattu`,emailPlaceholder:`Sähköpostiosoite`,federatedConnectionButtonText:"Jatka palvelulla ${connectionName}","invalid-email-format":`Virheellinen sähköpostiosoite`,loginActionLinkText:`Kirjaudu sisään`,loginActionText:`Onko sinulla jo tili?`,"no-email":`Sähköpostiosoite vaaditaan`,pageTitle:"Rekisteröidy | ${clientName}",phonePlaceholder:`Puhelinnumero`,separatorText:`tai`,title:`Valitse salasana`,usernamePlaceholder:`Käyttäjänimi`}},"signup-password":{"signup-password":{buttonText:`Jatka`,description:`Valitse salasana, jossa on isoja ja pieniä kirjaimia, numeroita ja symboleja.`,hidePasswordText:`Piilota salasana`,"no-password":`Salasana vaaditaan`,pageTitle:"Rekisteröidy | ${clientName}","password-policy-not-met":`Salasana ei täytä vaatimuksia`,"password-too-weak":`Salasana on liian heikko`,passwordPlaceholder:`Salasana`,showPasswordText:`Näytä salasana`,title:`Valitse salasana`}},"sms-otp-challenge":{"sms-otp-challenge":{buttonText:`Jatka`,codeLabel:`Vahvistuskoodi`,codePlaceholder:`Syötä koodi`,defaultDescription:`Syötä puhelimeesi lähetetty vahvistuskoodi`,description:"Lähetimme koodin käyttäjälle ${username}","invalid-code":`Virheellinen koodi`,noCode:`Syötä vahvistuskoodi`,pageTitle:"Syötä koodi | ${clientName}",resendText:`Lähetä koodi uudelleen`,sessionExpired:`Istuntosi on vanhentunut. Yritä uudelleen.`,title:`Tarkista puhelimesi`,unexpectedError:`Odottamaton virhe tapahtui`}},status:Vf},Dne=c({common:()=>Hf,consent:()=>Uf,default:()=>One,invitation:()=>Wf,login:()=>Gf,mfa:()=>Kf,organizations:()=>Jf,passkeys:()=>qf,signup:()=>Yf,status:()=>Xf}),Hf={common:{alertListTitle:`Avvisi`,backText:`Torna indietro`,cancelText:`Annulla`,closeText:`Chiudi`,contactSupportText:`Contatta l'assistenza`,continueText:`Continua`,copyrightText:"© ${currentYear} ${companyName}",errorText:`Si è verificato un errore`,hidePasswordText:`Nascondi password`,loadingText:`Caricamento...`,orText:`o`,privacyPolicyText:`Informativa sulla privacy`,showPasswordText:`Mostra password`,termsOfServiceText:`Termini di servizio`,termsShortText:`Termini`,tryAgainText:`Riprova`}},Uf={consent:{buttonText:`Accetta`,cancelButtonText:`Rifiuta`,description:"${clientName} richiede l'accesso al tuo account",pageTitle:"Autorizza | ${clientName}",scopesTitle:"Questo permetterà a ${clientName} di:",title:"Autorizza ${clientName}"}},Wf={invitation:{acceptButtonText:`Accetta invito`,description:"${inviterName} ti ha invitato a unirti a ${organizationName} su ${clientName}",pageTitle:"Invito | ${clientName}",title:`Sei stato invitato`}},Gf={login:{alertListTitle:`Avvisi`,buttonText:`Continua`,description:"Accedi a ${clientName}.",editEmailText:`Modifica`,emailPlaceholder:`Indirizzo e-mail`,enterACodeBtn:`Accedi con un codice`,federatedConnectionButtonText:"Continua con ${connectionName}",footerLinkText:`Iscriviti`,footerText:`Non hai un account?`,forgotPasswordText:`Hai dimenticato la password?`,hidePasswordText:`Nascondi password`,invalidEmail:`Email non valida`,invalidIdentifier:`Email o nome utente non valido`,invitationDescription:"Accedi per accettare l'invito di ${inviterName} a unirti a ${companyName} su ${clientName}.",invitationTitle:`Sei stato invitato!`,logoAltText:"${companyName}","no-email":`Inserisci un indirizzo email`,"no-password":`La password è obbligatoria`,pageTitle:"Accedi | ${clientName}",passwordLoginNotAvailable:`L'autenticazione con password non è disponibile`,passwordPlaceholder:`Password`,phonePlaceholder:`Numero di telefono`,separatorText:`o`,sessionExpired:`La sessione è scaduta. Riprova.`,showPasswordText:`Mostra password`,signupActionLinkText:`Iscriviti`,signupActionText:`Non hai un account?`,title:`Benvenuto`,tooManyFailedLogins:`Troppi tentativi di accesso falliti. Riprova più tardi.`,unverifiedEmail:`Verifica il tuo indirizzo email prima di accedere`,userAccountDoesNotExist:`L'account utente non esiste`,usernamePlaceholder:`Nome utente o indirizzo email`,usernameTooLong:"Il nome utente deve avere al massimo ${max} caratteri",usernameTooShort:"Il nome utente deve avere almeno ${min} caratteri",wrongCredentials:`Nome utente o password errati`,passkeyButtonText:`Accedi con una passkey`}},Kf={mfa:{backupCodeText:`Usa codice di backup`,description:`Scegli un metodo di verifica`,pageTitle:"Autenticazione a più fattori | ${clientName}",title:`Verifica la tua identità`}},qf={"passkey-enrollment-nudge":{title:`Proteggi il tuo account con una passkey`,description:`Le passkey utilizzano la biometria o il PIN del tuo dispositivo per accedere più velocemente e in modo più sicuro.`,enrollButtonText:`Configura passkey`,snoozeButtonText:`Forse più tardi`,optOutLinkText:`Non mostrare più`,pageTitle:"Configura Passkey | ${clientName}"},"passkey-enrollment":{title:`Crea la tua passkey`,description:`Segui le istruzioni del browser per creare una passkey per questo account.`,errorMessage:`Creazione della passkey non riuscita. Riprova.`,cancelLinkText:`Salta per ora`,retryButtonText:`Riprova`,enrollmentComplete:`La tua passkey è stata configurata con successo. Puoi chiudere questa pagina.`,pageTitle:"Crea Passkey | ${clientName}"},"passkey-challenge":{title:`Accedi con passkey`,description:`Segui le istruzioni del browser per verificare la tua identità.`,errorMessage:`Autenticazione con passkey non riuscita. Riprova.`,cancelLinkText:`Torna al login`,retryButtonText:`Riprova`,pageTitle:"Accedi con passkey | ${clientName}"}},Jf={organizations:{description:`Scegli a quale organizzazione accedere`,pageTitle:"Seleziona organizzazione | ${clientName}",searchPlaceholder:`Cerca organizzazioni`,title:`Seleziona la tua organizzazione`}},Yf={signup:{buttonText:`Iscriviti`,confirmPasswordPlaceholder:`Conferma password`,description:`Registrati per continuare`,"email-already-exists":`Questa email è già registrata`,emailPlaceholder:`Indirizzo e-mail`,federatedConnectionButtonText:"Continua con ${connectionName}",hidePasswordText:`Nascondi password`,"invalid-email-format":`Email non valida`,loginActionLinkText:`Accedi`,loginActionText:`Hai già un account?`,"no-email":`Inserisci un indirizzo email`,"no-password":`La password è obbligatoria`,"no-username":`Il nome utente è obbligatorio`,pageTitle:"Registrati | ${clientName}",passwordPlaceholder:`Password`,passwordsDidntMatch:`Le password non corrispondono`,phonePlaceholder:`Numero di telefono`,privacyPolicyLinkText:`Informativa sulla privacy`,separatorText:`o`,sessionExpired:`La sessione è scaduta. Riprova.`,showPasswordText:`Mostra password`,termsOfServiceLinkText:`Termini di servizio`,termsText:`Registrandoti, accetti i nostri`,title:`Crea il tuo account`,"username-already-exists":`Questo nome utente è già in uso`,usernamePlaceholder:`Nome utente`,verifyEmailText:`Controlla la tua email per verificare il tuo account`}},Xf={status:{continueButtonText:`Continua`,errorTitle:`Errore`,pageTitle:"Stato | ${clientName}",successTitle:`Operazione riuscita`,title:`Stato`}},One={common:Hf,consent:Uf,"device-flow":{"device-flow":{buttonText:`Continua`,codePlaceholder:`Inserisci il codice`,description:`Inserisci il codice mostrato sul tuo dispositivo`,"expired-code":`Il codice è scaduto`,"invalid-code":`Il codice inserito non è valido`,pageTitle:"Attivazione dispositivo | ${clientName}",title:`Attiva il tuo dispositivo`}},"email-otp-challenge":{"email-otp-challenge":{buttonText:`Continua`,codeLabel:`Codice di verifica`,codePlaceholder:`Inserisci il codice`,defaultDescription:`Inserisci il codice di verifica inviato alla tua email`,description:"Abbiamo inviato un codice a ${email}","invalid-code":`Codice non valido`,noCode:`Inserisci il codice di verifica`,pageTitle:"Inserisci il codice | ${clientName}",resendText:`Reinvio del codice`,sessionExpired:`La sessione è scaduta. Riprova.`,title:`Controlla la tua email`,unexpectedError:`Si è verificato un errore imprevisto`}},"email-verification":{"email-verification":{description:"Abbiamo inviato un'email a ${email}",pageTitle:"Verifica email | ${clientName}",resendText:`Reinvia email`,successDescription:`La tua email è stata verificata con successo.`,successTitle:`Email verificata`,title:`Verificare l'e-mail`}},invitation:Wf,login:Gf,"login-id":{"login-id":{alertListTitle:`Avvisi`,"auth0-users-validation":`Qualcosa è andato storto, riprova più tardi`,"authentication-failure":`Siamo spiacenti, si è verificato un errore durante il tentativo di accesso`,buttonText:`Continua`,"captcha-client-failure":`Non è stato possibile caricare la verifica di sicurezza. Riprova. (Codice errore: #{errorCode})`,"captcha-validation-failure":`Siamo spiacenti, si è verificato un errore durante la convalida della risposta captcha. Riprova.`,captchaCodePlaceholder:`Inserisci il codice mostrato sopra`,"custom-script-error-code":`Qualcosa è andato storto, riprova più tardi.`,description:"Accedi a ${clientName}.",editEmailText:`Modifica`,emailPlaceholder:`Indirizzo e-mail`,federatedConnectionButtonText:"Continua con ${connectionName}",footerLinkText:`Iscriviti`,footerText:`Non hai un account?`,forgotPasswordText:`Hai dimenticato la password?`,hidePasswordText:`Nascondi password`,"invalid-captcha":`Risolvi la domanda di verifica per confermare che non sei un robot.`,"invalid-code":`Codice non valido`,"invalid-connection":`Connessione non valida`,"invalid-email-format":`Email non valida`,"invalid-email-phone":`Inserisci un indirizzo email o un numero di telefono valido. I numeri di telefono devono includere il prefisso internazionale.`,"invalid-email-phone-username":`Inserisci un indirizzo email, un numero di telefono o un nome utente valido. I numeri di telefono devono includere il prefisso internazionale.`,"invalid-email-username":`Inserisci un indirizzo email o un nome utente valido`,"invalid-expired-code":`Codice utente non valido o scaduto`,"invalid-login-id":`ID di accesso non valido`,"invalid-phone-username":`Inserisci un numero di telefono o un nome utente valido. I numeri di telefono devono includere il prefisso internazionale.`,"invalid-recaptcha":`Seleziona la casella per confermare che non sei un robot.`,"invalid-username":"Il nome utente può contenere solo caratteri alfanumerici o: '${characters}'. Il nome utente deve avere tra ${min} e ${max} caratteri.",invitationDescription:"Accedi per accettare l'invito di ${inviterName} a unirti a ${companyName} su ${clientName}.",invitationTitle:`Sei stato invitato!`,"ip-blocked":`Abbiamo rilevato un comportamento di accesso sospetto e ulteriori tentativi saranno bloccati. Contatta l'amministratore.`,logoAltText:"${companyName}","no-db-connection":`Connessione non valida`,"no-email":`Inserisci un indirizzo email`,"no-email-phone":`È richiesto un indirizzo email o un numero di telefono`,"no-email-phone-username":`È richiesto un numero di telefono, un nome utente o un indirizzo email`,"no-email-username":`È richiesto un indirizzo email o un nome utente`,"no-password":`La password è obbligatoria`,"no-phone":`Inserisci un numero di telefono`,"no-phone-username":`È richiesto un numero di telefono o un nome utente`,"no-username":`Il nome utente è obbligatorio`,pageTitle:"Accedi | ${clientName}","password-breached":`Abbiamo rilevato un potenziale problema di sicurezza con questo account. Per proteggere il tuo account, abbiamo impedito questo accesso. Reimposta la password per procedere.`,passwordPlaceholder:`Password`,phoneOrEmailPlaceholder:`Indirizzo e-mail o numero di telefono`,phoneOrUsernameOrEmailPlaceholder:`Telefono, nome utente o email`,phoneOrUsernamePlaceholder:`Numero di telefono o nome utente`,phonePlaceholder:`Numero di telefono`,"same-user-login":`Troppi tentativi di accesso per questo utente. Attendi e riprova più tardi.`,selectCountryCode:"Seleziona prefisso paese, attualmente impostato su ${countryName}, ${countryCode}, +${countryPrefix}",separatorText:`o`,sessionExpired:`La sessione è scaduta. Riprova.`,showPasswordText:`Mostra password`,signupActionLinkText:`Iscriviti`,signupActionText:`Non hai un account?`,termsAndConditionsTemplate:'Continuando, accetti i nostri <a href="${termsAndConditionsUrl}" target="_blank" rel="noopener noreferrer">Termini e condizioni</a>.',title:`Benvenuto`,"user-blocked":`Il tuo account è stato bloccato dopo diversi tentativi di accesso consecutivi.`,userAccountDoesNotExist:`L'account utente non esiste`,usernameOnlyPlaceholder:`Nome utente`,usernameOrEmailPlaceholder:`Nome utente o indirizzo email`,usernamePlaceholder:`Nome utente`,usernameTooLong:"Il nome utente deve avere al massimo ${max} caratteri",usernameTooShort:"Il nome utente deve avere almeno ${min} caratteri","wrong-credentials":`Nome utente o password errati`,"wrong-email-credentials":`Email o password errati`,"wrong-email-phone-credentials":`Indirizzo email, numero di telefono o password errati. I numeri di telefono devono includere il prefisso internazionale.`,"wrong-email-phone-username-credentials":`Indirizzo email, numero di telefono, nome utente o password errati. I numeri di telefono devono includere il prefisso internazionale.`,"wrong-email-username-credentials":`Indirizzo email, nome utente o password errati`,"wrong-phone-credentials":`Numero di telefono o password errati`,"wrong-phone-username-credentials":`Numero di telefono, nome utente o password errati. I numeri di telefono devono includere il prefisso internazionale.`,"wrong-username-credentials":`Nome utente o password errati`,passkeyButtonText:`Accedi con una passkey`}},"login-password":{"login-password":{buttonText:`Accedi`,description:"Accedi a ${clientName}",forgotPasswordText:`Hai dimenticato la password?`,hidePasswordText:`Nascondi password`,"no-password":`La password è obbligatoria`,pageTitle:"Accedi | ${clientName}","password-breached":`Abbiamo rilevato un potenziale problema di sicurezza con questo account. Per proteggere il tuo account, abbiamo impedito questo accesso. Reimposta la password per procedere.`,passwordPlaceholder:`Password`,showPasswordText:`Mostra password`,signingInAs:"Accesso come ${email}",title:`Inserire la password`,unverifiedEmail:`Verifica il tuo indirizzo email prima di accedere`,"user-blocked":`Il tuo account è stato bloccato dopo diversi tentativi di accesso consecutivi.`,"wrong-credentials":`Password errata`}},"login-passwordless":{"login-passwordless":{authMethodEmail:`email`,authMethodEmailOrPhone:`email o numero di telefono`,authMethodPhone:`numero di telefono`,description:"Accedi usando il tuo ${authMethod}",emailOrPhonePlaceholder:`Indirizzo email o numero di telefono`,emailPlaceholder:`Indirizzo e-mail`,invalidEmail:`Inserisci un indirizzo email valido`,invalidIdentifier:`Inserisci un indirizzo email o un numero di telefono valido`,invalidPhone:`Inserisci un numero di telefono valido con il prefisso internazionale`,noEmail:`Inserisci il tuo indirizzo email`,noPhone:`Inserisci il tuo numero di telefono`,phonePlaceholder:`Numero di telefono`,sessionExpired:`La sessione è scaduta. Riprova.`,title:`Accedi con un codice`,userAccountDoesNotExist:`L'account utente non esiste`}},"magic-link-sent":{"magic-link-sent":{defaultDescription:`Clicca il link nella tua email per accedere`,description:"Abbiamo inviato un link a ${username}. Cliccalo per accedere.",resendText:`Reinvia link`,spamText:`Non hai ricevuto l'email? Controlla la cartella spam.`,title:`Controlla la tua email`}},mfa:Kf,"mfa-email":{"mfa-email":{buttonText:`Continua`,codePlaceholder:`Inserisci il codice`,description:"Abbiamo inviato un codice a ${email}","invalid-code":`Il codice inserito non è valido`,pageTitle:"Verifica email | ${clientName}",resendText:`Reinvia codice`,title:`Controlla la tua email`}},"mfa-otp":{"mfa-otp":{buttonText:`Continua`,codePlaceholder:`Inserisci il codice`,description:`Inserisci il codice a 6 cifre dalla tua app di autenticazione`,"invalid-code":`Il codice inserito non è valido`,pageTitle:"Inserisci il codice | ${clientName}",title:`Inserisci il tuo codice`},"mfa-totp-enrollment":{title:`Configura l'autenticatore`,description:`Scansiona il codice QR qui sotto con la tua app di autenticazione, poi inserisci il codice a 6 cifre per verificare`,secretLabel:`Oppure inserisci questo codice manualmente:`,codePlaceholder:`Inserisci il codice`,continueButtonText:`Verifica e attiva`,"invalid-code":`Il codice inserito non è valido. Riprova.`,"transaction-not-found":`La tua transazione di registrazione è scaduta, dovrai ricominciare.`,pageTitle:"Configura autenticatore | ${clientName}",unexpectedError:`Qualcosa è andato storto. Riprova.`,enrollmentComplete:`La registrazione MFA è completata. Puoi chiudere questa pagina.`},"mfa-totp-challenge":{title:`Verifica la tua identità`,description:`Inserisci il codice a 6 cifre dalla tua app di autenticazione`,codePlaceholder:`Inserisci il codice`,continueButtonText:`Continua`,"invalid-code":`Il codice inserito non è valido`,"transaction-not-found":`La tua transazione di registrazione è scaduta, dovrai ricominciare.`,unexpectedError:`Qualcosa è andato storto. Riprova.`,pageTitle:"Verifica identità | ${clientName}"}},"mfa-phone":{"mfa-phone-challenge":{pageTitle:"Usa il tuo numero di telefono per accedere | ${clientName}",title:`Verifica la tua identità`,description:"Abbiamo inviato un codice a ${phoneNumber}",continueButtonText:`Continua`,changePhoneText:`Scegli un altro numero di telefono.`,smsButtonText:`Messaggio di testo`,voiceButtonText:`Chiamata vocale`,chooseMessageTypeText:`Come vuoi ricevere il codice?`,pickAuthenticatorText:`Prova un altro metodo`,logoAltText:"${companyName}",codePlaceholder:`Inserisci il codice`,"send-sms-failed":`Si è verificato un problema nell'invio dell'SMS`,"send-voice-failed":`Si è verificato un problema nell'effettuare la chiamata vocale`,"invalid-phone-format":`Il numero di telefono può contenere solo cifre.`,"invalid-phone":`Sembra che il tuo numero di telefono non sia valido. Controlla e riprova.`,"too-many-sms":`Hai superato il numero massimo di messaggi telefonici all'ora. Attendi qualche minuto e riprova.`,"too-many-voice":`Hai superato il numero massimo di messaggi telefonici all'ora. Attendi qualche minuto e riprova.`,"transaction-not-found":`La tua transazione di registrazione è scaduta, dovrai ricominciare.`,"no-phone":`Inserisci un numero di telefono`,noCode:`Inserisci il codice di verifica`,invalidCode:`Il codice inserito non è valido. Riprova.`,unexpectedError:`Qualcosa è andato storto. Riprova.`,resendSuccess:`Abbiamo inviato un nuovo codice al tuo telefono`,enrollmentComplete:`La registrazione MFA è completata. Puoi chiudere questa pagina.`},"mfa-phone-enrollment":{pageTitle:"Inserisci il tuo numero di telefono per accedere con un codice telefonico | ${clientName}",title:`Proteggi il tuo account`,description:`Inserisci il prefisso del paese e il numero di telefono a cui possiamo inviare un codice a 6 cifre:`,continueButtonText:`Continua`,smsButtonText:`Messaggio di testo`,voiceButtonText:`Chiamata vocale`,chooseMessageTypeText:`Come vuoi ricevere il codice?`,pickAuthenticatorText:`Prova un altro metodo`,placeholder:`Inserisci il tuo numero di telefono`,logoAltText:"${companyName}",selectCountryCode:"Seleziona prefisso paese, attualmente impostato su ${countryName}, ${countryCode}, +${countryPrefix}","send-sms-failed":`Si è verificato un problema nell'invio dell'SMS`,"send-voice-failed":`Si è verificato un problema nell'effettuare la chiamata vocale`,"sms-authenticator-error":`Non siamo riusciti a inviare l'SMS. Riprova più tardi.`,"invalid-phone-format":`Il numero di telefono può contenere solo cifre.`,"invalid-phone":`Sembra che il tuo numero di telefono non sia valido. Controlla e riprova.`,"too-many-sms":`Hai superato il numero massimo di messaggi telefonici all'ora. Attendi qualche minuto e riprova.`,"too-many-voice":`Hai superato il numero massimo di messaggi telefonici all'ora. Attendi qualche minuto e riprova.`,"transaction-not-found":`La tua transazione di registrazione è scaduta, dovrai ricominciare.`,"no-phone":`Inserisci un numero di telefono`,"phone-is-too-short":`Il numero di telefono è troppo corto`,"phone-is-too-long":`Il numero di telefono è troppo lungo`}},"mfa-login-options":{"mfa-login-options":{pageTitle:"Scegli il metodo di verifica | ${clientName}",title:`Scegli il metodo di verifica`,description:`Seleziona come vuoi verificare la tua identità`,authenticatorAppLabel:`App di autenticazione`,authenticatorAppDescription:`Usa la tua app di autenticazione per ottenere un codice di verifica`,smsLabel:`Messaggio di testo`,smsDescription:`Ricevi un codice di verifica inviato al tuo telefono`,passkeyLabel:`Passkey`,passkeyDescription:`Usa la biometria del tuo dispositivo o una chiave di sicurezza`}},"mfa-push":{"mfa-push":{description:`Abbiamo inviato una notifica al tuo dispositivo`,pageTitle:"Notifica push | ${clientName}",resendText:`Reinvia notifica`,title:`Approva la richiesta`,useCodeText:`Inserisci il codice manualmente`}},"mfa-recovery-code":{"mfa-recovery-code":{buttonText:`Continua`,codePlaceholder:`Codice di recupero`,description:`Inserisci uno dei tuoi codici di recupero`,"invalid-code":`Il codice di recupero inserito non è valido`,pageTitle:"Codice di recupero | ${clientName}",title:`Inserisci il codice di recupero`}},"mfa-voice":{"mfa-voice":{buttonText:`Chiamami`,codePlaceholder:`Inserisci il codice`,description:"Chiameremo ${phoneNumber} con il tuo codice","invalid-code":`Il codice inserito non è valido`,pageTitle:"Chiamata vocale | ${clientName}",title:`Ricevi una telefonata`}},"mfa-webauthn":{"mfa-webauthn":{buttonText:`Riprova`,description:`Inserisci la tua chiave di sicurezza e segui le istruzioni`,pageTitle:"Chiave di sicurezza | ${clientName}",title:`Usa la tua chiave di sicurezza`}},passkeys:qf,organizations:Jf,"reset-password":{"reset-password":{backToLoginText:`Torna al login`,buttonText:`Continua`,codeExpired:`Il codice di reimpostazione della password è scaduto. Richiedine uno nuovo.`,confirmPasswordLabel:`Conferma password`,confirmPasswordPlaceholder:`Conferma password`,description:`Inserisci la tua email per reimpostare la password`,emailPlaceholder:`Indirizzo e-mail`,failed:`Reimpostazione della password non riuscita. Riprova.`,"invalid-email-format":`Email non valida`,"no-email":`Inserisci un indirizzo email`,pageTitle:"Reimposta password | ${clientName}",passwordLabel:`Nuova password`,passwordPlaceholder:`Nuova password`,passwordTooWeak:`La password è troppo debole`,passwordsDidntMatch:`Le password non corrispondono`,successDescription:`Abbiamo inviato un link per reimpostare la password al tuo indirizzo email.`,successTitle:`Controlla la tua email`,title:`Hai dimenticato la password?`,"user-not-found":`Utente non trovato`},"reset-password-code":{backToLoginText:`Torna al login`,buttonText:`Reimposta password`,codeLabel:`Codice di reimpostazione`,codePlaceholder:`Inserisci il codice a 6 cifre`,confirmPasswordLabel:`Conferma password`,confirmPasswordPlaceholder:`Conferma password`,defaultDescription:`Inserisci il codice inviato alla tua email e scegli una nuova password`,description:"Abbiamo inviato un codice a ${email}",failed:`Reimpostazione della password non riuscita. Riprova.`,invalidCode:`Il codice inserito non è valido o è scaduto`,noCode:`Inserisci il codice di reimpostazione`,pageTitle:"Inserisci il codice di reimpostazione | ${clientName}",passwordLabel:`Nuova password`,passwordPlaceholder:`Nuova password`,passwordTooWeak:`La password è troppo debole`,passwordsDidntMatch:`Le password non corrispondono`,resendFailed:`Impossibile reinviare il codice. Riprova.`,resendSuccess:`Un nuovo codice è stato inviato alla tua email`,resendText:`Reinvia codice`,sessionExpired:`La sessione è scaduta. Riprova.`,title:`Inserisci il codice di reimpostazione`}},signup:Yf,"signup-id":{"signup-id":{buttonText:`Continua`,description:`Registrati per continuare`,"email-already-exists":`Questa email è già registrata`,emailPlaceholder:`Indirizzo e-mail`,federatedConnectionButtonText:"Continua con ${connectionName}","invalid-email-format":`Email non valida`,loginActionLinkText:`Accedi`,loginActionText:`Hai già un account?`,"no-email":`Inserisci un indirizzo email`,pageTitle:"Registrati | ${clientName}",phonePlaceholder:`Numero di telefono`,separatorText:`o`,title:`Crea il tuo account`,usernamePlaceholder:`Nome utente`}},"signup-password":{"signup-password":{buttonText:`Continua`,description:`Registrati per continuare`,hidePasswordText:`Nascondi password`,"no-password":`La password è obbligatoria`,pageTitle:"Registrati | ${clientName}","password-policy-not-met":`La password non soddisfa i requisiti`,"password-too-weak":`La password è troppo debole`,passwordPlaceholder:`Password`,showPasswordText:`Mostra password`,title:`Crea la tua password`}},"sms-otp-challenge":{"sms-otp-challenge":{buttonText:`Continua`,codeLabel:`Codice di verifica`,codePlaceholder:`Inserisci il codice`,defaultDescription:`Inserisci il codice di verifica inviato al tuo telefono`,description:"Abbiamo inviato un codice a ${username}","invalid-code":`Codice non valido`,noCode:`Inserisci il codice di verifica`,pageTitle:"Inserisci il codice | ${clientName}",resendText:`Reinvia codice`,sessionExpired:`La sessione è scaduta. Riprova.`,title:`Controlla il tuo telefono`,unexpectedError:`Si è verificato un errore imprevisto`}},status:Xf},kne=c({common:()=>Zf,consent:()=>Qf,default:()=>op,invitation:()=>$f,login:()=>ep,mfa:()=>tp,organizations:()=>rp,passkeys:()=>np,signup:()=>ip,status:()=>ap}),Zf={common:{alertListTitle:`Varsler`,backText:`Gå tilbake`,cancelText:`Avbryt`,closeText:`Lukk`,contactSupportText:`Kontakt kundestøtte`,continueText:`Fortsett`,copyrightText:"© ${currentYear} ${companyName}",errorText:`Det oppstod en feil`,hidePasswordText:`Skjul passord`,loadingText:`Laster...`,orText:`eller`,privacyPolicyText:`Personvernerklæring`,showPasswordText:`Vis passord`,termsOfServiceText:`Vilkår for bruk`,termsShortText:`Vilkår`,tryAgainText:`Prøv igjen`}},Qf={consent:{buttonText:`Godta`,cancelButtonText:`Avslå`,description:"${clientName} ber om tilgang til kontoen din",pageTitle:"Godkjenn | ${clientName}",scopesTitle:"Dette vil gi ${clientName} tillatelse til å:",title:"Godkjenn ${clientName}"}},$f={invitation:{acceptButtonText:`Godta invitasjon`,description:"${inviterName} har invitert deg til å bli med i ${organizationName} på ${clientName}",pageTitle:"Invitasjon | ${clientName}",title:`Du har blitt invitert`}},ep={login:{alertListTitle:`Varsler`,buttonText:`Fortsett`,description:"Logg inn på ${clientName}.",editEmailText:`Rediger`,emailPlaceholder:`E-postadresse`,enterACodeBtn:`Logg inn med en kode`,federatedConnectionButtonText:"Fortsett med ${connectionName}",footerLinkText:`Registrer deg`,footerText:`Har du ikke en konto?`,forgotPasswordText:`Har du glemt passordet?`,hidePasswordText:`Skjul passord`,invalidEmail:`Ugyldig e-postadresse`,invalidIdentifier:`Ugyldig e-postadresse eller brukernavn`,invitationDescription:"Logg inn for å godta ${inviterName} sin invitasjon til å bli med i ${companyName} på ${clientName}.",invitationTitle:`Du har blitt invitert!`,logoAltText:"${companyName}","no-email":`Vennligst oppgi en e-postadresse`,"no-password":`Passord er påkrevd`,pageTitle:"Logg inn | ${clientName}",passwordLoginNotAvailable:`Passordautentisering er ikke tilgjengelig`,passwordPlaceholder:`Passord`,phonePlaceholder:`Telefonnummer`,separatorText:`eller`,sessionExpired:`Økten din har utløpt. Vennligst prøv igjen.`,showPasswordText:`Vis passord`,signupActionLinkText:`Registrer deg`,signupActionText:`Har du ikke en konto?`,title:`Velkommen`,tooManyFailedLogins:`For mange mislykkede innloggingsforsøk. Vennligst prøv igjen senere.`,unverifiedEmail:`Vennligst bekreft e-postadressen din før du logger inn`,userAccountDoesNotExist:`Brukerkontoen finnes ikke`,usernamePlaceholder:`Brukernavn eller e-postadresse`,usernameTooLong:"Brukernavnet må være ${max} tegn eller færre",usernameTooShort:"Brukernavnet må være minst ${min} tegn",wrongCredentials:`Feil brukernavn eller passord`,passkeyButtonText:`Logg inn med passkey`}},tp={mfa:{backupCodeText:`Bruk reservekode`,description:`Velg en bekreftelsesmetode`,pageTitle:"Flerfaktorautentisering | ${clientName}",title:`Bekreft identiteten din`}},np={"passkey-enrollment-nudge":{title:`Sikre kontoen din med en passnøkkel`,description:`Passnøkler bruker enhetens biometri eller PIN-kode for å logge deg inn raskere og sikrere.`,enrollButtonText:`Sett opp passnøkkel`,snoozeButtonText:`Kanskje senere`,optOutLinkText:`Ikke vis dette igjen`,pageTitle:"Sett Opp Passnøkkel | ${clientName}"},"passkey-enrollment":{title:`Opprett passnøkkelen din`,description:`Følg instruksjonene fra nettleseren for å opprette en passnøkkel for denne kontoen.`,errorMessage:`Kunne ikke opprette passnøkkel. Vennligst prøv igjen.`,cancelLinkText:`Hopp over for nå`,retryButtonText:`Prøv igjen`,enrollmentComplete:`Passnøkkelen din er konfigurert. Du kan lukke denne siden.`,pageTitle:"Opprett Passnøkkel | ${clientName}"},"passkey-challenge":{title:`Logg inn med passkey`,description:`Følg instruksjonene fra nettleseren for å bekrefte identiteten din.`,errorMessage:`Autentisering med passkey mislyktes. Vennligst prøv igjen.`,cancelLinkText:`Tilbake til innlogging`,retryButtonText:`Prøv igjen`,pageTitle:"Logg inn med passkey | ${clientName}"}},rp={organizations:{description:`Velg hvilken organisasjon du vil logge inn på`,pageTitle:"Velg organisasjon | ${clientName}",searchPlaceholder:`Søk etter organisasjoner`,title:`Velg din organisasjon`}},ip={signup:{buttonText:`Registrer deg`,confirmPasswordPlaceholder:`Bekreft passord`,description:`Registrer deg for å fortsette`,"email-already-exists":`E-postadressen er allerede registrert`,emailPlaceholder:`E-postadresse`,federatedConnectionButtonText:"Fortsett med ${connectionName}",hidePasswordText:`Skjul passord`,"invalid-email-format":`Ugyldig e-postadresse`,loginActionLinkText:`Logg inn`,loginActionText:`Har du allerede en konto?`,"no-email":`Vennligst oppgi en e-postadresse`,"no-password":`Passord er påkrevd`,"no-username":`Brukernavn er påkrevd`,pageTitle:"Registrer deg | ${clientName}",passwordPlaceholder:`Passord`,passwordsDidntMatch:`Passordene samsvarer ikke`,phonePlaceholder:`Telefonnummer`,privacyPolicyLinkText:`Personvernerklæring`,separatorText:`eller`,sessionExpired:`Økten din har utløpt. Vennligst prøv igjen.`,showPasswordText:`Vis passord`,termsOfServiceLinkText:`Vilkår for bruk`,termsText:`Ved å registrere deg godtar du våre`,title:`Opprett kontoen din`,"username-already-exists":`Dette brukernavnet er allerede tatt`,usernamePlaceholder:`Brukernavn`,verifyEmailText:`Sjekk e-posten din for å bekrefte kontoen`}},ap={status:{continueButtonText:`Fortsett`,errorTitle:`Feil`,pageTitle:"Status | ${clientName}",successTitle:`Vellykket`,title:`Status`}},op={common:Zf,consent:Qf,"device-flow":{"device-flow":{buttonText:`Fortsett`,codePlaceholder:`Skriv inn kode`,description:`Skriv inn koden som vises på enheten din`,"expired-code":`Koden har utløpt`,"invalid-code":`Koden du skrev inn er ugyldig`,pageTitle:"Enhetsaktivering | ${clientName}",title:`Aktiver enheten din`}},"email-otp-challenge":{"email-otp-challenge":{buttonText:`Fortsett`,codeLabel:`Bekreftelseskode`,codePlaceholder:`Skriv inn kode`,defaultDescription:`Skriv inn bekreftelseskoden som ble sendt til e-posten din`,description:"Vi sendte en kode til ${email}","invalid-code":`Ugyldig kode`,noCode:`Vennligst skriv inn bekreftelseskoden`,pageTitle:"Skriv inn kode | ${clientName}",resendText:`Send kode på nytt`,sessionExpired:`Økten din har utløpt. Vennligst prøv igjen.`,title:`Sjekk e-posten din`,unexpectedError:`En uventet feil oppstod`}},"email-verification":{"email-verification":{description:"Vi sendte en e-post til ${email}",pageTitle:"Bekreft e-post | ${clientName}",resendText:`Send e-post på nytt`,successDescription:`E-postadressen din er bekreftet.`,successTitle:`E-post bekreftet`,title:`Bekreft e-posten din`}},invitation:$f,login:ep,"login-id":{"login-id":{alertListTitle:`Varsler`,"auth0-users-validation":`Noe gikk galt, vennligst prøv igjen senere`,"authentication-failure":`Beklager, noe gikk galt under innloggingsforsøket`,buttonText:`Fortsett`,"captcha-client-failure":`Vi kunne ikke laste sikkerhetsutfordringen. Vennligst prøv igjen. (Feilkode: #{errorCode})`,"captcha-validation-failure":`Beklager, noe gikk galt under validering av captcha-svaret. Vennligst prøv igjen.`,captchaCodePlaceholder:`Skriv inn koden som vises ovenfor`,"custom-script-error-code":`Noe gikk galt, vennligst prøv igjen senere.`,description:"Logg inn på ${clientName}.",editEmailText:`Rediger`,emailPlaceholder:`E-postadresse`,federatedConnectionButtonText:"Fortsett med ${connectionName}",footerLinkText:`Registrer deg`,footerText:`Har du ikke en konto?`,forgotPasswordText:`Har du glemt passordet?`,hidePasswordText:`Skjul passord`,"invalid-captcha":`Løs utfordringen for å bekrefte at du ikke er en robot.`,"invalid-code":`Ugyldig kode`,"invalid-connection":`Ugyldig tilkobling`,"invalid-email-format":`Ugyldig e-postadresse`,"invalid-email-phone":`Skriv inn en gyldig e-postadresse eller telefonnummer. Telefonnumre må inkludere landskode.`,"invalid-email-phone-username":`Skriv inn en gyldig e-postadresse, telefonnummer eller brukernavn. Telefonnumre må inkludere landskode.`,"invalid-email-username":`Skriv inn en gyldig e-postadresse eller brukernavn`,"invalid-expired-code":`Ugyldig eller utløpt brukerkode`,"invalid-login-id":`Ugyldig innloggings-ID`,"invalid-phone-username":`Skriv inn et gyldig telefonnummer eller brukernavn. Telefonnumre må inkludere landskode.`,"invalid-recaptcha":`Kryss av i boksen for å bekrefte at du ikke er en robot.`,"invalid-username":"Brukernavnet kan bare inneholde alfanumeriske tegn eller: '${characters}'. Brukernavnet må ha mellom ${min} og ${max} tegn.",invitationDescription:"Logg inn for å godta ${inviterName} sin invitasjon til å bli med i ${companyName} på ${clientName}.",invitationTitle:`Du har blitt invitert!`,"ip-blocked":`Vi har oppdaget mistenkelig innloggingsaktivitet, og videre forsøk vil bli blokkert. Vennligst kontakt administratoren.`,logoAltText:"${companyName}","no-db-connection":`Ugyldig tilkobling`,"no-email":`Vennligst oppgi en e-postadresse`,"no-email-phone":`E-postadresse eller telefonnummer er påkrevd`,"no-email-phone-username":`Telefonnummer, brukernavn eller e-postadresse er påkrevd`,"no-email-username":`E-postadresse eller brukernavn er påkrevd`,"no-password":`Passord er påkrevd`,"no-phone":`Vennligst oppgi et telefonnummer`,"no-phone-username":`Telefonnummer eller brukernavn er påkrevd`,"no-username":`Brukernavn er påkrevd`,pageTitle:"Logg inn | ${clientName}","password-breached":`Vi har oppdaget et potensielt sikkerhetsproblem med denne kontoen. For å beskytte kontoen din har vi forhindret denne innloggingen. Vennligst tilbakestill passordet ditt for å fortsette.`,passwordPlaceholder:`Passord`,phoneOrEmailPlaceholder:`E-post eller telefonnummer`,phoneOrUsernameOrEmailPlaceholder:`Telefon, brukernavn eller e-post`,phoneOrUsernamePlaceholder:`Telefonnummer eller brukernavn`,phonePlaceholder:`Telefonnummer`,"same-user-login":`For mange innloggingsforsøk for denne brukeren. Vennligst vent og prøv igjen senere.`,selectCountryCode:"Velg landskode, for øyeblikket satt til ${countryName}, ${countryCode}, +${countryPrefix}",separatorText:`eller`,sessionExpired:`Økten din har utløpt. Vennligst prøv igjen.`,showPasswordText:`Vis passord`,signupActionLinkText:`Registrer deg`,signupActionText:`Har du ikke en konto?`,termsAndConditionsTemplate:'Ved å fortsette godtar du våre <a href="${termsAndConditionsUrl}" target="_blank" rel="noopener noreferrer">vilkår</a>.',title:`Velkommen`,"user-blocked":`Kontoen din har blitt blokkert etter flere påfølgende innloggingsforsøk.`,userAccountDoesNotExist:`Brukerkontoen finnes ikke`,usernameOnlyPlaceholder:`Brukernavn`,usernameOrEmailPlaceholder:`Brukernavn eller e-postadresse`,usernamePlaceholder:`Brukernavn eller e-postadresse`,usernameTooLong:"Brukernavnet må være ${max} tegn eller færre",usernameTooShort:"Brukernavnet må være minst ${min} tegn","wrong-credentials":`Feil brukernavn eller passord`,"wrong-email-credentials":`Feil e-postadresse eller passord`,"wrong-email-phone-credentials":`Feil e-postadresse, telefonnummer eller passord. Telefonnumre må inkludere landskode.`,"wrong-email-phone-username-credentials":`Feil e-postadresse, telefonnummer, brukernavn eller passord. Telefonnumre må inkludere landskode.`,"wrong-email-username-credentials":`Feil e-postadresse, brukernavn eller passord`,"wrong-phone-credentials":`Feil telefonnummer eller passord`,"wrong-phone-username-credentials":`Feil telefonnummer, brukernavn eller passord. Telefonnumre må inkludere landskode.`,"wrong-username-credentials":`Feil brukernavn eller passord`,passkeyButtonText:`Logg inn med passkey`}},"login-password":{"login-password":{buttonText:`Logg inn`,description:"Logg inn på ${clientName}",forgotPasswordText:`Har du glemt passordet?`,hidePasswordText:`Skjul passord`,"no-password":`Passord er påkrevd`,pageTitle:"Logg inn | ${clientName}","password-breached":`Vi har oppdaget et potensielt sikkerhetsproblem med denne kontoen. For å beskytte kontoen din har vi forhindret denne innloggingen. Vennligst tilbakestill passordet ditt for å fortsette.`,passwordPlaceholder:`Passord`,showPasswordText:`Vis passord`,signingInAs:"Logger inn som ${email}",title:`Oppgi passord`,unverifiedEmail:`Vennligst bekreft e-postadressen din før du logger inn`,"user-blocked":`Kontoen din har blitt blokkert etter flere påfølgende innloggingsforsøk.`,"wrong-credentials":`Feil passord`}},"login-passwordless":{"login-passwordless":{authMethodEmail:`e-post`,authMethodEmailOrPhone:`e-post eller telefonnummer`,authMethodPhone:`telefonnummer`,description:"Logg inn med din ${authMethod}",emailOrPhonePlaceholder:`E-postadresse eller telefonnummer`,emailPlaceholder:`E-postadresse`,invalidEmail:`Vennligst oppgi en gyldig e-postadresse`,invalidIdentifier:`Vennligst oppgi en gyldig e-postadresse eller telefonnummer`,invalidPhone:`Vennligst oppgi et gyldig telefonnummer med landskode`,noEmail:`Vennligst oppgi e-postadressen din`,noPhone:`Vennligst oppgi telefonnummeret ditt`,phonePlaceholder:`Telefonnummer`,sessionExpired:`Økten din har utløpt. Vennligst prøv igjen.`,title:`Logg inn med en kode`,userAccountDoesNotExist:`Brukerkontoen finnes ikke`}},"magic-link-sent":{"magic-link-sent":{defaultDescription:`Klikk på lenken i e-posten for å logge inn`,description:"Vi sendte en lenke til ${username}. Klikk på den for å logge inn.",resendText:`Send lenke på nytt`,spamText:`Fikk du ikke e-posten? Sjekk søppelpostmappen.`,title:`Sjekk e-posten din`}},mfa:tp,"mfa-email":{"mfa-email":{buttonText:`Fortsett`,codePlaceholder:`Skriv inn kode`,description:"Vi sendte en kode til ${email}","invalid-code":`Koden du skrev inn er ugyldig`,pageTitle:"E-postbekreftelse | ${clientName}",resendText:`Send kode på nytt`,title:`Sjekk e-posten din`}},"mfa-otp":{"mfa-otp":{buttonText:`Fortsett`,codePlaceholder:`Skriv inn kode`,description:`Skriv inn den 6-sifrede koden fra autentiseringsappen din`,"invalid-code":`Koden du skrev inn er ugyldig`,pageTitle:"Skriv inn kode | ${clientName}",title:`Skriv inn koden din`},"mfa-totp-enrollment":{title:`Sett opp autentisering`,description:`Skann QR-koden nedenfor med autentiseringsappen din, og skriv deretter inn den 6-sifrede koden for å verifisere`,secretLabel:`Eller skriv inn denne koden manuelt:`,codePlaceholder:`Skriv inn kode`,continueButtonText:`Bekreft og aktiver`,"invalid-code":`Koden du skrev inn er ugyldig. Vennligst prøv igjen.`,"transaction-not-found":`Registreringsøkten din har utløpt, du må starte på nytt.`,pageTitle:"Sett opp autentisering | ${clientName}",unexpectedError:`Noe gikk galt. Vennligst prøv igjen.`,enrollmentComplete:`MFA-registreringen er fullført. Du kan lukke denne siden.`},"mfa-totp-challenge":{title:`Bekreft identiteten din`,description:`Skriv inn den 6-sifrede koden fra autentiseringsappen din`,codePlaceholder:`Skriv inn kode`,continueButtonText:`Fortsett`,"invalid-code":`Koden du skrev inn er ugyldig`,"transaction-not-found":`Registreringsøkten din har utløpt, du må starte på nytt.`,unexpectedError:`Noe gikk galt. Vennligst prøv igjen.`,pageTitle:"Bekreft identitet | ${clientName}"}},"mfa-phone":{"mfa-phone-challenge":{pageTitle:"Bruk telefonnummeret ditt for å logge inn | ${clientName}",title:`Bekreft identiteten din`,description:"Vi sendte en kode til ${phoneNumber}",continueButtonText:`Fortsett`,changePhoneText:`Velg et annet telefonnummer.`,smsButtonText:`Tekstmelding`,voiceButtonText:`Taleanrop`,chooseMessageTypeText:`Hvordan vil du motta koden?`,pickAuthenticatorText:`Prøv en annen metode`,logoAltText:"${companyName}",codePlaceholder:`Skriv inn kode`,"send-sms-failed":`Det oppstod et problem med å sende SMS-en`,"send-voice-failed":`Det oppstod et problem med å ringe taleanropet`,"invalid-phone-format":`Telefonnummeret kan bare inneholde sifre.`,"invalid-phone":`Det ser ut som telefonnummeret ditt ikke er gyldig. Sjekk og prøv igjen.`,"too-many-sms":`Du har overskredet maksimalt antall telefonmeldinger per time. Vent noen minutter og prøv igjen.`,"too-many-voice":`Du har overskredet maksimalt antall telefonmeldinger per time. Vent noen minutter og prøv igjen.`,"transaction-not-found":`Registreringstransaksjonen din har utløpt, du må starte på nytt.`,"no-phone":`Skriv inn et telefonnummer`,noCode:`Vennligst skriv inn bekreftelseskoden`,invalidCode:`Koden du skrev inn er ugyldig. Prøv igjen.`,unexpectedError:`Noe gikk galt. Prøv igjen.`,resendSuccess:`Vi sendte en ny kode til telefonen din`,enrollmentComplete:`MFA-registreringen er fullført. Du kan lukke denne siden.`},"mfa-phone-enrollment":{pageTitle:"Skriv inn telefonnummeret ditt for å logge inn med en telefonkode | ${clientName}",title:`Sikre kontoen din`,description:`Skriv inn landskoden og telefonnummeret vi kan sende en 6-sifret kode til:`,continueButtonText:`Fortsett`,smsButtonText:`Tekstmelding`,voiceButtonText:`Taleanrop`,chooseMessageTypeText:`Hvordan vil du motta koden?`,pickAuthenticatorText:`Prøv en annen metode`,placeholder:`Skriv inn telefonnummeret ditt`,logoAltText:"${companyName}",selectCountryCode:"Velg landskode, for øyeblikket satt til ${countryName}, ${countryCode}, +${countryPrefix}","send-sms-failed":`Det oppstod et problem med å sende SMS-en`,"send-voice-failed":`Det oppstod et problem med å ringe taleanropet`,"sms-authenticator-error":`Vi kunne ikke sende SMS-en. Prøv igjen senere.`,"invalid-phone-format":`Telefonnummeret kan bare inneholde sifre.`,"invalid-phone":`Det ser ut som telefonnummeret ditt ikke er gyldig. Sjekk og prøv igjen.`,"too-many-sms":`Du har overskredet maksimalt antall telefonmeldinger per time. Vent noen minutter og prøv igjen.`,"too-many-voice":`Du har overskredet maksimalt antall telefonmeldinger per time. Vent noen minutter og prøv igjen.`,"transaction-not-found":`Registreringstransaksjonen din har utløpt, du må starte på nytt.`,"no-phone":`Skriv inn et telefonnummer`,"phone-is-too-short":`Telefonnummeret er for kort`,"phone-is-too-long":`Telefonnummeret er for langt`}},"mfa-login-options":{"mfa-login-options":{pageTitle:"Velg bekreftelsesmetode | ${clientName}",title:`Velg bekreftelsesmetode`,description:`Velg hvordan du vil bekrefte identiteten din`,authenticatorAppLabel:`Autentiseringsapp`,authenticatorAppDescription:`Bruk autentiseringsappen din for å få en bekreftelseskode`,smsLabel:`Tekstmelding`,smsDescription:`Få en bekreftelseskode sendt til telefonen din`,passkeyLabel:`Passnøkkel`,passkeyDescription:`Bruk enhetens biometri eller sikkerhetsnøkkel`}},"mfa-push":{"mfa-push":{description:`Vi sendte en varsling til enheten din`,pageTitle:"Push-varsling | ${clientName}",resendText:`Send varsling på nytt`,title:`Godkjenn forespørselen`,useCodeText:`Skriv inn kode manuelt`}},"mfa-recovery-code":{"mfa-recovery-code":{buttonText:`Fortsett`,codePlaceholder:`Gjenopprettingskode`,description:`Skriv inn en av gjenopprettingskodene dine`,"invalid-code":`Gjenopprettingskoden du skrev inn er ugyldig`,pageTitle:"Gjenopprettingskode | ${clientName}",title:`Skriv inn gjenopprettingskode`}},"mfa-voice":{"mfa-voice":{buttonText:`Ring meg`,codePlaceholder:`Skriv inn kode`,description:"Vi ringer ${phoneNumber} med koden din","invalid-code":`Koden du skrev inn er ugyldig`,pageTitle:"Taleanrop | ${clientName}",title:`Motta en telefonsamtale`}},"mfa-webauthn":{"mfa-webauthn":{buttonText:`Prøv igjen`,description:`Sett inn sikkerhetsnøkkelen din og følg instruksjonene`,pageTitle:"Sikkerhetsnøkkel | ${clientName}",title:`Bruk sikkerhetsnøkkelen din`}},passkeys:np,organizations:rp,"reset-password":{"reset-password":{backToLoginText:`Tilbake til innlogging`,buttonText:`Fortsett`,codeExpired:`Koden for tilbakestilling av passord har utløpt. Vennligst be om en ny.`,confirmPasswordLabel:`Bekreft passord`,confirmPasswordPlaceholder:`Bekreft passord`,description:`Oppgi e-postadressen din for å tilbakestille passordet`,emailPlaceholder:`E-postadresse`,failed:`Tilbakestilling av passord mislyktes. Vennligst prøv igjen.`,"invalid-email-format":`Ugyldig e-postadresse`,"no-email":`Vennligst oppgi en e-postadresse`,pageTitle:"Tilbakestill passord | ${clientName}",passwordLabel:`Nytt passord`,passwordPlaceholder:`Nytt passord`,passwordTooWeak:`Passordet er for svakt`,passwordsDidntMatch:`Passordene samsvarer ikke`,successDescription:`Vi har sendt en lenke for tilbakestilling av passord til e-postadressen din.`,successTitle:`Sjekk e-posten din`,title:`Har du glemt passordet?`,"user-not-found":`Brukeren ble ikke funnet`},"reset-password-code":{backToLoginText:`Tilbake til innlogging`,buttonText:`Tilbakestill passord`,codeLabel:`Tilbakestillingskode`,codePlaceholder:`Skriv inn 6-sifret kode`,confirmPasswordLabel:`Bekreft passord`,confirmPasswordPlaceholder:`Bekreft passord`,defaultDescription:`Skriv inn koden som ble sendt til e-posten din og velg et nytt passord`,description:"Vi sendte en kode til ${email}",failed:`Tilbakestilling av passord mislyktes. Vennligst prøv igjen.`,invalidCode:`Koden du skrev inn er ugyldig eller har utløpt`,noCode:`Vennligst skriv inn tilbakestillingskoden`,pageTitle:"Skriv inn tilbakestillingskode | ${clientName}",passwordLabel:`Nytt passord`,passwordPlaceholder:`Nytt passord`,passwordTooWeak:`Passordet er for svakt`,passwordsDidntMatch:`Passordene samsvarer ikke`,resendFailed:`Kunne ikke sende koden på nytt. Vennligst prøv igjen.`,resendSuccess:`En ny kode har blitt sendt til e-posten din`,resendText:`Send kode på nytt`,sessionExpired:`Økten din har utløpt. Vennligst prøv igjen.`,title:`Skriv inn tilbakestillingskode`}},signup:ip,"signup-id":{"signup-id":{buttonText:`Fortsett`,description:`Registrer deg for å fortsette`,"email-already-exists":`E-postadressen er allerede registrert`,emailPlaceholder:`E-postadresse`,federatedConnectionButtonText:"Fortsett med ${connectionName}","invalid-email-format":`Ugyldig e-postadresse`,loginActionLinkText:`Logg inn`,loginActionText:`Har du allerede en konto?`,"no-email":`Vennligst oppgi en e-postadresse`,pageTitle:"Registrer deg | ${clientName}",phonePlaceholder:`Telefonnummer`,separatorText:`eller`,title:`Opprett kontoen din`,usernamePlaceholder:`Brukernavn`}},"signup-password":{"signup-password":{buttonText:`Fortsett`,description:`Opprett et passord for å fortsette`,hidePasswordText:`Skjul passord`,"no-password":`Passord er påkrevd`,pageTitle:"Registrer deg | ${clientName}","password-policy-not-met":`Passordet oppfyller ikke kravene`,"password-too-weak":`Passordet er for svakt`,passwordPlaceholder:`Passord`,showPasswordText:`Vis passord`,title:`Opprett passordet ditt`}},"sms-otp-challenge":{"sms-otp-challenge":{buttonText:`Fortsett`,codeLabel:`Bekreftelseskode`,codePlaceholder:`Skriv inn kode`,defaultDescription:`Skriv inn bekreftelseskoden som ble sendt til telefonen din`,description:"Vi sendte en kode til ${username}","invalid-code":`Ugyldig kode`,noCode:`Vennligst skriv inn bekreftelseskoden`,pageTitle:"Skriv inn kode | ${clientName}",resendText:`Send kode på nytt`,sessionExpired:`Økten din har utløpt. Vennligst prøv igjen.`,title:`Sjekk telefonen din`,unexpectedError:`En uventet feil oppstod`}},status:ap},sp=c({common:()=>cp,consent:()=>lp,default:()=>_p,invitation:()=>up,login:()=>dp,mfa:()=>fp,organizations:()=>mp,passkeys:()=>pp,signup:()=>hp,status:()=>gp}),cp={common:{alertListTitle:`Powiadomienia`,backText:`Wróć`,cancelText:`Anuluj`,closeText:`Zamknij`,contactSupportText:`Potrzebujesz pomocy?`,continueText:`Kontynuuj`,copyrightText:"© ${currentYear} ${companyName}",errorText:`Coś poszło nie tak. Spróbuj ponownie.`,hidePasswordText:`Ukryj hasło`,loadingText:`Ładowanie...`,orText:`lub`,privacyPolicyText:`Polityka prywatności`,showPasswordText:`Pokaż hasło`,termsOfServiceText:`Regulamin`,termsShortText:`Zasady`,tryAgainText:`Spróbuj ponownie`}},lp={consent:{buttonText:`Zaakceptuj`,cancelButtonText:`Odmów`,description:"${clientName} prosi o dostęp do Twojego konta",pageTitle:"Autoryzacja | ${clientName}",scopesTitle:"Umożliwi to ${clientName}:",title:"Autoryzuj ${clientName}"}},up={invitation:{acceptButtonText:`Przyjmij zaproszenie`,description:"${inviterName} zaprosił Cię do dołączenia do ${organizationName} w ${clientName}",pageTitle:"Zaproszenie | ${clientName}",title:`Otrzymałeś zaproszenie`}},dp={login:{alertListTitle:`Powiadomienia`,buttonText:`Kontynuuj`,description:"Zaloguj się do ${clientName}.",editEmailText:`Edytuj`,emailPlaceholder:`Adres e-mail`,enterACodeBtn:`Zaloguj się kodem`,federatedConnectionButtonText:"Kontynuuj z ${connectionName}",footerLinkText:`Zarejestruj się`,footerText:`Nie masz konta?`,forgotPasswordText:`Zapomniałeś hasła?`,hidePasswordText:`Ukryj hasło`,invalidEmail:`Nieprawidłowy adres e-mail`,invalidIdentifier:`Nieprawidłowy adres e-mail lub nazwa użytkownika`,invitationDescription:"Zaloguj się, aby przyjąć zaproszenie od ${inviterName} do dołączenia do ${companyName} w ${clientName}.",invitationTitle:`Otrzymałeś zaproszenie!`,logoAltText:"${companyName}","no-email":`Wprowadź adres e-mail`,"no-password":`Hasło jest wymagane`,pageTitle:"Logowanie | ${clientName}",passwordLoginNotAvailable:`Logowanie hasłem jest niedostępne`,passwordPlaceholder:`Hasło`,phonePlaceholder:`Numer telefonu`,separatorText:`lub`,sessionExpired:`Twoja sesja wygasła. Spróbuj ponownie.`,showPasswordText:`Pokaż hasło`,signupActionLinkText:`Zarejestruj się`,signupActionText:`Nie masz konta?`,title:`Witamy`,tooManyFailedLogins:`Zbyt wiele nieudanych prób logowania. Spróbuj ponownie później.`,unverifiedEmail:`Zweryfikuj swój adres e-mail przed zalogowaniem`,userAccountDoesNotExist:`Konto użytkownika nie istnieje`,usernamePlaceholder:`Nazwa użytkownika lub adres e-mail`,usernameTooLong:"Nazwa użytkownika musi mieć maksymalnie ${max} znaków",usernameTooShort:"Nazwa użytkownika musi mieć co najmniej ${min} znaków",wrongCredentials:`Nieprawidłowa nazwa użytkownika lub hasło`,passkeyButtonText:`Zaloguj się za pomocą passkey`}},fp={mfa:{backupCodeText:`Użyj kodu zapasowego`,description:`Wybierz metodę weryfikacji`,pageTitle:"Uwierzytelnianie wieloskładnikowe | ${clientName}",title:`Zweryfikuj swoją tożsamość`}},pp={"passkey-enrollment-nudge":{title:`Zabezpiecz swoje konto kluczem dostępu`,description:`Klucze dostępu wykorzystują biometrię lub PIN urządzenia, aby logować się szybciej i bezpieczniej.`,enrollButtonText:`Skonfiguruj klucz dostępu`,snoozeButtonText:`Może później`,optOutLinkText:`Nie pokazuj ponownie`,pageTitle:"Konfiguracja Klucza Dostępu | ${clientName}"},"passkey-enrollment":{title:`Utwórz klucz dostępu`,description:`Postępuj zgodnie z instrukcjami przeglądarki, aby utworzyć klucz dostępu dla tego konta.`,errorMessage:`Nie udało się utworzyć klucza dostępu. Spróbuj ponownie.`,cancelLinkText:`Pomiń na razie`,retryButtonText:`Spróbuj ponownie`,enrollmentComplete:`Twój klucz dostępu został pomyślnie skonfigurowany. Możesz zamknąć tę stronę.`,pageTitle:"Tworzenie Klucza Dostępu | ${clientName}"},"passkey-challenge":{title:`Zaloguj się za pomocą passkey`,description:`Postępuj zgodnie z instrukcjami przeglądarki, aby zweryfikować swoją tożsamość.`,errorMessage:`Uwierzytelnianie za pomocą passkey nie powiodło się. Spróbuj ponownie.`,cancelLinkText:`Powrót do logowania`,retryButtonText:`Spróbuj ponownie`,pageTitle:"Logowanie za pomocą passkey | ${clientName}"}},mp={organizations:{description:`Wybierz organizację, do której chcesz się zalogować`,pageTitle:"Wybierz organizację | ${clientName}",searchPlaceholder:`Szukaj organizacji`,title:`Wybierz swoją organizację`}},hp={signup:{buttonText:`Zarejestruj się`,confirmPasswordPlaceholder:`Potwierdź hasło`,description:`Zarejestruj się, aby kontynuować`,"email-already-exists":`Ten adres e-mail jest już zarejestrowany`,emailPlaceholder:`Adres e-mail`,federatedConnectionButtonText:"Kontynuuj z ${connectionName}",hidePasswordText:`Ukryj hasło`,"invalid-email-format":`Nieprawidłowy adres e-mail`,loginActionLinkText:`Zaloguj się`,loginActionText:`Masz już konto?`,"no-email":`Wprowadź adres e-mail`,"no-password":`Hasło jest wymagane`,"no-username":`Nazwa użytkownika jest wymagana`,pageTitle:"Rejestracja | ${clientName}",passwordPlaceholder:`Hasło`,passwordsDidntMatch:`Hasła nie są zgodne`,phonePlaceholder:`Numer telefonu`,privacyPolicyLinkText:`Polityka prywatności`,separatorText:`lub`,sessionExpired:`Twoja sesja wygasła. Spróbuj ponownie.`,showPasswordText:`Pokaż hasło`,termsOfServiceLinkText:`Regulamin`,termsText:`Rejestrując się, akceptujesz nasz`,title:`Utwórz konto`,"username-already-exists":`Ta nazwa użytkownika jest już zajęta`,usernamePlaceholder:`Nazwa użytkownika`,verifyEmailText:`Sprawdź swoją pocztę, aby zweryfikować konto`}},gp={status:{continueButtonText:`Kontynuuj`,errorTitle:`Błąd`,pageTitle:"Status | ${clientName}",successTitle:`Sukces`,title:`Status`}},_p={common:cp,consent:lp,"device-flow":{"device-flow":{buttonText:`Kontynuuj`,codePlaceholder:`Wprowadź kod`,description:`Wprowadź kod wyświetlony na Twoim urządzeniu`,"expired-code":`Kod wygasł`,"invalid-code":`Wprowadzony kod jest nieprawidłowy`,pageTitle:"Aktywacja urządzenia | ${clientName}",title:`Aktywuj swoje urządzenie`}},"email-otp-challenge":{"email-otp-challenge":{buttonText:`Kontynuuj`,codeLabel:`Kod weryfikacyjny`,codePlaceholder:`Wprowadź kod`,defaultDescription:`Wprowadź kod weryfikacyjny wysłany na Twój adres e-mail`,description:"Wysłaliśmy kod na ${email}","invalid-code":`Nieprawidłowy kod`,noCode:`Wprowadź kod weryfikacyjny`,pageTitle:"Wprowadź kod | ${clientName}",resendText:`Wyślij ponownie kod`,sessionExpired:`Twoja sesja wygasła. Spróbuj ponownie.`,title:`Sprawdź swoją pocztę`,unexpectedError:`Wystąpił nieoczekiwany błąd`}},"email-verification":{"email-verification":{description:"Wysłaliśmy wiadomość na ${email}",pageTitle:"Weryfikacja e-mail | ${clientName}",resendText:`Wyślij ponownie e-mail`,successDescription:`Twój adres e-mail został pomyślnie zweryfikowany.`,successTitle:`E-mail zweryfikowany`,title:`Zweryfikuj swój adres e-mail`}},invitation:up,login:dp,"login-id":{"login-id":{alertListTitle:`Powiadomienia`,"auth0-users-validation":`Coś poszło nie tak, spróbuj ponownie później`,"authentication-failure":`Przepraszamy, wystąpił błąd podczas logowania`,buttonText:`Kontynuuj`,"captcha-client-failure":`Nie udało się załadować weryfikacji bezpieczeństwa. Spróbuj ponownie. (Kod błędu: #{errorCode})`,"captcha-validation-failure":`Przepraszamy, wystąpił błąd podczas weryfikacji captcha. Spróbuj ponownie.`,captchaCodePlaceholder:`Wprowadź kod widoczny powyżej`,"custom-script-error-code":`Coś poszło nie tak, spróbuj ponownie później.`,description:"Zaloguj się do ${clientName}.",editEmailText:`Edytuj`,emailPlaceholder:`Adres e-mail`,federatedConnectionButtonText:"Kontynuuj z ${connectionName}",footerLinkText:`Zarejestruj się`,footerText:`Nie masz konta?`,forgotPasswordText:`Zapomniałeś hasła?`,hidePasswordText:`Ukryj hasło`,"invalid-captcha":`Rozwiąż zadanie, aby potwierdzić, że nie jesteś robotem.`,"invalid-code":`Nieprawidłowy kod`,"invalid-connection":`Nieprawidłowe połączenie`,"invalid-email-format":`Nieprawidłowy adres e-mail`,"invalid-email-phone":`Wprowadź prawidłowy adres e-mail lub numer telefonu. Numery telefonów muszą zawierać kod kraju.`,"invalid-email-phone-username":`Wprowadź prawidłowy adres e-mail, numer telefonu lub nazwę użytkownika. Numery telefonów muszą zawierać kod kraju.`,"invalid-email-username":`Wprowadź prawidłowy adres e-mail lub nazwę użytkownika`,"invalid-expired-code":`Nieprawidłowy lub wygasły kod użytkownika`,"invalid-login-id":`Wprowadzono nieprawidłowy identyfikator logowania`,"invalid-phone-username":`Wprowadź prawidłowy numer telefonu lub nazwę użytkownika. Numery telefonów muszą zawierać kod kraju.`,"invalid-recaptcha":`Zaznacz pole wyboru, aby potwierdzić, że nie jesteś robotem.`,"invalid-username":"Nazwa użytkownika może zawierać tylko znaki alfanumeryczne lub: '${characters}'. Nazwa użytkownika powinna mieć od ${min} do ${max} znaków.",invitationDescription:"Zaloguj się, aby przyjąć zaproszenie od ${inviterName} do dołączenia do ${companyName} w ${clientName}.",invitationTitle:`Otrzymałeś zaproszenie!`,"ip-blocked":`Wykryliśmy podejrzaną aktywność logowania i dalsze próby zostaną zablokowane. Skontaktuj się z administratorem.`,logoAltText:"${companyName}","no-db-connection":`Nieprawidłowe połączenie`,"no-email":`Wprowadź adres e-mail`,"no-email-phone":`Adres e-mail lub numer telefonu jest wymagany`,"no-email-phone-username":`Numer telefonu, nazwa użytkownika lub adres e-mail jest wymagany`,"no-email-username":`Adres e-mail lub nazwa użytkownika jest wymagany`,"no-password":`Hasło jest wymagane`,"no-phone":`Wprowadź numer telefonu`,"no-phone-username":`Numer telefonu lub nazwa użytkownika jest wymagany`,"no-username":`Nazwa użytkownika jest wymagana`,pageTitle:"Logowanie | ${clientName}","password-breached":`Wykryliśmy potencjalny problem z bezpieczeństwem tego konta. Aby chronić Twoje konto, zablokowano to logowanie. Zresetuj hasło, aby kontynuować.`,passwordPlaceholder:`Hasło`,phoneOrEmailPlaceholder:`E-mail lub numer telefonu`,phoneOrUsernameOrEmailPlaceholder:`Telefon, nazwa użytkownika lub e-mail`,phoneOrUsernamePlaceholder:`Numer telefonu lub nazwa użytkownika`,phonePlaceholder:`Numer telefonu`,"same-user-login":`Zbyt wiele prób logowania dla tego użytkownika. Poczekaj chwilę i spróbuj ponownie.`,selectCountryCode:"Wybierz kod kraju, aktualnie ustawiony na ${countryName}, ${countryCode}, +${countryPrefix}",separatorText:`lub`,sessionExpired:`Twoja sesja wygasła. Spróbuj ponownie.`,showPasswordText:`Pokaż hasło`,signupActionLinkText:`Zarejestruj się`,signupActionText:`Nie masz konta?`,termsAndConditionsTemplate:'Kontynuując, akceptujesz nasze <a href="${termsAndConditionsUrl}" target="_blank" rel="noopener noreferrer">Zasady i warunki</a>.',title:`Witamy`,"user-blocked":`Twoje konto zostało zablokowane po wielu kolejnych nieudanych próbach logowania.`,userAccountDoesNotExist:`Konto użytkownika nie istnieje`,usernameOnlyPlaceholder:`Nazwa użytkownika`,usernameOrEmailPlaceholder:`Nazwa użytkownika lub adres e-mail`,usernamePlaceholder:`Nazwa użytkownika`,usernameTooLong:"Nazwa użytkownika musi mieć maksymalnie ${max} znaków",usernameTooShort:"Nazwa użytkownika musi mieć co najmniej ${min} znaków","wrong-credentials":`Nieprawidłowa nazwa użytkownika lub hasło`,"wrong-email-credentials":`Nieprawidłowy adres e-mail lub hasło`,"wrong-email-phone-credentials":`Nieprawidłowy adres e-mail, numer telefonu lub hasło. Numery telefonów muszą zawierać kod kraju.`,"wrong-email-phone-username-credentials":`Nieprawidłowy adres e-mail, numer telefonu, nazwa użytkownika lub hasło. Numery telefonów muszą zawierać kod kraju.`,"wrong-email-username-credentials":`Nieprawidłowy adres e-mail, nazwa użytkownika lub hasło`,"wrong-phone-credentials":`Nieprawidłowy numer telefonu lub hasło`,"wrong-phone-username-credentials":`Nieprawidłowy numer telefonu, nazwa użytkownika lub hasło. Numery telefonów muszą zawierać kod kraju.`,"wrong-username-credentials":`Nieprawidłowa nazwa użytkownika lub hasło`,passkeyButtonText:`Zaloguj się za pomocą passkey`}},"login-password":{"login-password":{buttonText:`Zaloguj się`,description:"Zaloguj się do ${clientName}",forgotPasswordText:`Zapomniałeś hasła?`,hidePasswordText:`Ukryj hasło`,"no-password":`Hasło jest wymagane`,pageTitle:"Logowanie | ${clientName}","password-breached":`Wykryliśmy potencjalny problem z bezpieczeństwem tego konta. Aby chronić Twoje konto, zablokowano to logowanie. Zresetuj hasło, aby kontynuować.`,passwordPlaceholder:`Hasło`,showPasswordText:`Pokaż hasło`,signingInAs:"Logujesz się jako ${email}",title:`Wprowadź hasło`,unverifiedEmail:`Zweryfikuj swój adres e-mail przed zalogowaniem`,"user-blocked":`Twoje konto zostało zablokowane po wielu kolejnych nieudanych próbach logowania.`,"wrong-credentials":`Nieprawidłowe hasło`}},"login-passwordless":{"login-passwordless":{authMethodEmail:`e-mail`,authMethodEmailOrPhone:`e-mail lub numer telefonu`,authMethodPhone:`numer telefonu`,description:"Zaloguj się za pomocą swojego ${authMethod}",emailOrPhonePlaceholder:`Adres e-mail lub numer telefonu`,emailPlaceholder:`Adres e-mail`,invalidEmail:`Wprowadź prawidłowy adres e-mail`,invalidIdentifier:`Wprowadź prawidłowy adres e-mail lub numer telefonu`,invalidPhone:`Wprowadź prawidłowy numer telefonu z kodem kraju`,noEmail:`Wprowadź swój adres e-mail`,noPhone:`Wprowadź swój numer telefonu`,phonePlaceholder:`Numer telefonu`,sessionExpired:`Twoja sesja wygasła. Spróbuj ponownie.`,title:`Zaloguj się kodem`,userAccountDoesNotExist:`Konto użytkownika nie istnieje`}},"magic-link-sent":{"magic-link-sent":{defaultDescription:`Kliknij link w wiadomości e-mail, aby się zalogować`,description:"Wysłaliśmy link na ${username}. Kliknij go, aby się zalogować.",resendText:`Wyślij ponownie link`,spamText:`Nie otrzymałeś wiadomości? Sprawdź folder spam.`,title:`Sprawdź swoją pocztę`}},mfa:fp,"mfa-email":{"mfa-email":{buttonText:`Kontynuuj`,codePlaceholder:`Wprowadź kod`,description:"Wysłaliśmy kod na ${email}","invalid-code":`Wprowadzony kod jest nieprawidłowy`,pageTitle:"Weryfikacja e-mail | ${clientName}",resendText:`Wyślij ponownie kod`,title:`Sprawdź swoją pocztę`}},"mfa-otp":{"mfa-otp":{buttonText:`Kontynuuj`,codePlaceholder:`Wprowadź kod`,description:`Wprowadź 6-cyfrowy kod z aplikacji uwierzytelniającej`,"invalid-code":`Wprowadzony kod jest nieprawidłowy`,pageTitle:"Wprowadź kod | ${clientName}",title:`Wprowadź swój kod`},"mfa-totp-enrollment":{title:`Skonfiguruj aplikację uwierzytelniającą`,description:`Zeskanuj poniższy kod QR za pomocą aplikacji uwierzytelniającej, a następnie wprowadź 6-cyfrowy kod w celu weryfikacji`,secretLabel:`Lub wprowadź ten kod ręcznie:`,codePlaceholder:`Wprowadź kod`,continueButtonText:`Zweryfikuj i aktywuj`,"invalid-code":`Wprowadzony kod jest nieprawidłowy. Spróbuj ponownie.`,"transaction-not-found":`Twoja transakcja rejestracji wygasła, musisz zacząć od nowa.`,pageTitle:"Konfiguracja uwierzytelniania | ${clientName}",unexpectedError:`Coś poszło nie tak. Spróbuj ponownie.`,enrollmentComplete:`Rejestracja MFA została zakończona. Możesz zamknąć tę stronę.`},"mfa-totp-challenge":{title:`Zweryfikuj swoją tożsamość`,description:`Wprowadź 6-cyfrowy kod z aplikacji uwierzytelniającej`,codePlaceholder:`Wprowadź kod`,continueButtonText:`Kontynuuj`,"invalid-code":`Wprowadzony kod jest nieprawidłowy`,"transaction-not-found":`Twoja transakcja rejestracji wygasła, musisz zacząć od nowa.`,unexpectedError:`Coś poszło nie tak. Spróbuj ponownie.`,pageTitle:"Weryfikacja tożsamości | ${clientName}"}},"mfa-phone":{"mfa-phone-challenge":{pageTitle:"Użyj swojego numeru telefonu, aby się zalogować | ${clientName}",title:`Zweryfikuj swoją tożsamość`,description:"Wysłaliśmy kod na ${phoneNumber}",continueButtonText:`Kontynuuj`,changePhoneText:`Wybierz inny numer telefonu.`,smsButtonText:`Wiadomość tekstowa`,voiceButtonText:`Połączenie głosowe`,chooseMessageTypeText:`Jak chcesz otrzymać kod?`,pickAuthenticatorText:`Wypróbuj inną metodę`,logoAltText:"${companyName}",codePlaceholder:`Wpisz kod`,"send-sms-failed":`Wystąpił problem z wysłaniem SMS-a`,"send-voice-failed":`Wystąpił problem z wykonaniem połączenia głosowego`,"invalid-phone-format":`Numer telefonu może zawierać tylko cyfry.`,"invalid-phone":`Wygląda na to, że Twój numer telefonu jest nieprawidłowy. Sprawdź i spróbuj ponownie.`,"too-many-sms":`Przekroczono maksymalną liczbę wiadomości telefonicznych na godzinę. Poczekaj kilka minut i spróbuj ponownie.`,"too-many-voice":`Przekroczono maksymalną liczbę połączeń telefonicznych na godzinę. Poczekaj kilka minut i spróbuj ponownie.`,"transaction-not-found":`Twoja transakcja rejestracji wygasła, musisz zacząć od nowa.`,"no-phone":`Wpisz numer telefonu`,noCode:`Wprowadź kod weryfikacyjny`,invalidCode:`Wprowadzony kod jest nieprawidłowy. Spróbuj ponownie.`,unexpectedError:`Coś poszło nie tak. Spróbuj ponownie.`,resendSuccess:`Wysłaliśmy nowy kod na Twój telefon`,enrollmentComplete:`Rejestracja MFA została zakończona. Możesz zamknąć tę stronę.`},"mfa-phone-enrollment":{pageTitle:"Wpisz swój numer telefonu, aby zalogować się kodem telefonicznym | ${clientName}",title:`Zabezpiecz swoje konto`,description:`Wpisz kod kraju i numer telefonu, na który możemy wysłać 6-cyfrowy kod:`,continueButtonText:`Kontynuuj`,smsButtonText:`Wiadomość tekstowa`,voiceButtonText:`Połączenie głosowe`,chooseMessageTypeText:`Jak chcesz otrzymać kod?`,pickAuthenticatorText:`Wypróbuj inną metodę`,placeholder:`Wpisz swój numer telefonu`,logoAltText:"${companyName}",selectCountryCode:"Wybierz kod kraju, aktualnie ustawiony na ${countryName}, ${countryCode}, +${countryPrefix}","send-sms-failed":`Wystąpił problem z wysłaniem SMS-a`,"send-voice-failed":`Wystąpił problem z wykonaniem połączenia głosowego`,"sms-authenticator-error":`Nie udało się wysłać SMS-a. Spróbuj ponownie później.`,"invalid-phone-format":`Numer telefonu może zawierać tylko cyfry.`,"invalid-phone":`Wygląda na to, że Twój numer telefonu jest nieprawidłowy. Sprawdź i spróbuj ponownie.`,"too-many-sms":`Przekroczono maksymalną liczbę wiadomości telefonicznych na godzinę. Poczekaj kilka minut i spróbuj ponownie.`,"too-many-voice":`Przekroczono maksymalną liczbę połączeń telefonicznych na godzinę. Poczekaj kilka minut i spróbuj ponownie.`,"transaction-not-found":`Twoja transakcja rejestracji wygasła, musisz zacząć od nowa.`,"no-phone":`Wpisz numer telefonu`,"phone-is-too-short":`Numer telefonu jest za krótki`,"phone-is-too-long":`Numer telefonu jest za długi`}},"mfa-login-options":{"mfa-login-options":{pageTitle:"Wybierz metodę weryfikacji | ${clientName}",title:`Wybierz metodę weryfikacji`,description:`Wybierz, w jaki sposób chcesz zweryfikować swoją tożsamość`,authenticatorAppLabel:`Aplikacja uwierzytelniająca`,authenticatorAppDescription:`Użyj aplikacji uwierzytelniającej, aby uzyskać kod weryfikacyjny`,smsLabel:`Wiadomość tekstowa`,smsDescription:`Otrzymaj kod weryfikacyjny wysłany na swój telefon`,passkeyLabel:`Klucz dostępu`,passkeyDescription:`Użyj biometrii urządzenia lub klucza bezpieczeństwa`}},"mfa-push":{"mfa-push":{description:`Wysłaliśmy powiadomienie na Twoje urządzenie`,pageTitle:"Powiadomienie push | ${clientName}",resendText:`Wyślij ponownie powiadomienie`,title:`Zatwierdź żądanie`,useCodeText:`Wprowadź kod ręcznie`}},"mfa-recovery-code":{"mfa-recovery-code":{buttonText:`Kontynuuj`,codePlaceholder:`Kod odzyskiwania`,description:`Wprowadź jeden z kodów odzyskiwania`,"invalid-code":`Wprowadzony kod odzyskiwania jest nieprawidłowy`,pageTitle:"Kod odzyskiwania | ${clientName}",title:`Wprowadź kod odzyskiwania`}},"mfa-voice":{"mfa-voice":{buttonText:`Zadzwoń do mnie`,codePlaceholder:`Wprowadź kod`,description:"Zadzwonimy na ${phoneNumber} z Twoim kodem","invalid-code":`Wprowadzony kod jest nieprawidłowy`,pageTitle:"Połączenie głosowe | ${clientName}",title:`Odbierz połączenie telefoniczne`}},"mfa-webauthn":{"mfa-webauthn":{buttonText:`Spróbuj ponownie`,description:`Włóż klucz bezpieczeństwa i postępuj zgodnie z instrukcjami`,pageTitle:"Klucz bezpieczeństwa | ${clientName}",title:`Użyj klucza bezpieczeństwa`}},passkeys:pp,organizations:mp,"reset-password":{"reset-password":{backToLoginText:`Wróć do logowania`,buttonText:`Kontynuuj`,codeExpired:`Kod resetu hasła wygasł. Poproś o nowy.`,confirmPasswordLabel:`Potwierdź hasło`,confirmPasswordPlaceholder:`Potwierdź hasło`,description:`Wprowadź swój adres e-mail, aby zresetować hasło`,emailPlaceholder:`Adres e-mail`,failed:`Reset hasła nie powiódł się. Spróbuj ponownie.`,"invalid-email-format":`Nieprawidłowy adres e-mail`,"no-email":`Wprowadź adres e-mail`,pageTitle:"Resetowanie hasła | ${clientName}",passwordLabel:`Nowe hasło`,passwordPlaceholder:`Nowe hasło`,passwordTooWeak:`Hasło jest zbyt słabe`,passwordsDidntMatch:`Hasła nie są zgodne`,successDescription:`Wysłaliśmy link do resetowania hasła na Twój adres e-mail.`,successTitle:`Sprawdź swoją pocztę`,title:`Zapomniałeś hasła?`,"user-not-found":`Nie znaleziono użytkownika`},"reset-password-code":{backToLoginText:`Wróć do logowania`,buttonText:`Zresetuj hasło`,codeLabel:`Kod resetowania`,codePlaceholder:`Wprowadź 6-cyfrowy kod`,confirmPasswordLabel:`Potwierdź hasło`,confirmPasswordPlaceholder:`Potwierdź hasło`,defaultDescription:`Wprowadź kod wysłany na Twój e-mail i wybierz nowe hasło`,description:"Wysłaliśmy kod na ${email}",failed:`Reset hasła nie powiódł się. Spróbuj ponownie.`,invalidCode:`Wprowadzony kod jest nieprawidłowy lub wygasł`,noCode:`Wprowadź kod resetowania`,pageTitle:"Wprowadź kod resetowania | ${clientName}",passwordLabel:`Nowe hasło`,passwordPlaceholder:`Nowe hasło`,passwordTooWeak:`Hasło jest zbyt słabe`,passwordsDidntMatch:`Hasła nie są zgodne`,resendFailed:`Nie udało się ponownie wysłać kodu. Spróbuj ponownie.`,resendSuccess:`Nowy kod został wysłany na Twój e-mail`,resendText:`Wyślij kod ponownie`,sessionExpired:`Twoja sesja wygasła. Spróbuj ponownie.`,title:`Wprowadź kod resetowania`}},signup:hp,"signup-id":{"signup-id":{buttonText:`Kontynuuj`,description:`Zarejestruj się, aby kontynuować`,"email-already-exists":`Ten adres e-mail jest już zarejestrowany`,emailPlaceholder:`Adres e-mail`,federatedConnectionButtonText:"Kontynuuj z ${connectionName}","invalid-email-format":`Nieprawidłowy adres e-mail`,loginActionLinkText:`Zaloguj się`,loginActionText:`Masz już konto?`,"no-email":`Wprowadź adres e-mail`,pageTitle:"Rejestracja | ${clientName}",phonePlaceholder:`Numer telefonu`,separatorText:`lub`,title:`Utwórz konto`,usernamePlaceholder:`Nazwa użytkownika`}},"signup-password":{"signup-password":{buttonText:`Kontynuuj`,description:`Utwórz swoje hasło`,hidePasswordText:`Ukryj hasło`,"no-password":`Hasło jest wymagane`,pageTitle:"Rejestracja | ${clientName}","password-policy-not-met":`Hasło nie spełnia wymagań`,"password-too-weak":`Hasło jest zbyt słabe`,passwordPlaceholder:`Hasło`,showPasswordText:`Pokaż hasło`,title:`Utwórz hasło`}},"sms-otp-challenge":{"sms-otp-challenge":{buttonText:`Kontynuuj`,codeLabel:`Kod weryfikacyjny`,codePlaceholder:`Wprowadź kod`,defaultDescription:`Wprowadź kod weryfikacyjny wysłany na Twój telefon`,description:"Wysłaliśmy kod na ${username}","invalid-code":`Nieprawidłowy kod`,noCode:`Wprowadź kod weryfikacyjny`,pageTitle:"Wprowadź kod | ${clientName}",resendText:`Wyślij ponownie kod`,sessionExpired:`Twoja sesja wygasła. Spróbuj ponownie.`,title:`Sprawdź swój telefon`,unexpectedError:`Wystąpił nieoczekiwany błąd`}},status:gp},vp=c({common:()=>yp,consent:()=>bp,default:()=>Op,invitation:()=>xp,login:()=>Sp,mfa:()=>Cp,organizations:()=>Tp,passkeys:()=>wp,signup:()=>Ep,status:()=>Dp}),yp={common:{alertListTitle:`Meddelanden`,backText:`Gå tillbaka`,cancelText:`Gå tillbaka`,closeText:`Stäng`,contactSupportText:`Behöver du hjälp?`,continueText:`Fortsätt`,copyrightText:"© ${currentYear} ${companyName}",errorText:`Något gick fel. Vänligen försök igen.`,hidePasswordText:`Dölj lösenord`,loadingText:`Laddar...`,orText:`eller`,privacyPolicyText:`Integritetspolicy`,showPasswordText:`Visa lösenord`,termsOfServiceText:`Användarvillkor`,termsShortText:`Villkor`,tryAgainText:`Försök igen`}},bp={consent:{buttonText:`Godkänn`,cancelButtonText:`Neka`,description:"${clientName} begär åtkomst till ditt konto",pageTitle:"Auktorisera | ${clientName}",scopesTitle:"Detta ger ${clientName} tillåtelse att:",title:"Auktorisera ${clientName}"}},xp={invitation:{acceptButtonText:`Acceptera inbjudan`,description:"${inviterName} har bjudit in dig att gå med i ${organizationName} på ${clientName}",pageTitle:"Inbjudan | ${clientName}",title:`Du har blivit inbjuden`}},Sp={login:{alertListTitle:`Meddelanden`,buttonText:`Fortsätt`,description:"Logga in på ${clientName}.",editEmailText:`Redigera`,emailPlaceholder:`E-postadress`,enterACodeBtn:`Logga in med en kod`,federatedConnectionButtonText:"Fortsätt med ${connectionName}",footerLinkText:`Registrera dig`,footerText:`Har du inget konto?`,forgotPasswordText:`Har du glömt lösenordet?`,hidePasswordText:`Dölj lösenord`,invalidEmail:`Ogiltig e-postadress`,invalidIdentifier:`Ogiltig e-postadress eller användarnamn`,invitationDescription:"Logga in för att acceptera ${inviterName}s inbjudan att gå med i ${companyName} på ${clientName}.",invitationTitle:`Du har blivit inbjuden!`,logoAltText:"${companyName}","no-email":`Vänligen ange en e-postadress`,"no-password":`Lösenord krävs`,pageTitle:"Logga in | ${clientName}",passwordLoginNotAvailable:`Lösenordsinloggning är inte tillgänglig`,passwordPlaceholder:`Lösenord`,phonePlaceholder:`Telefonnummer`,separatorText:`eller`,sessionExpired:`Din session har gått ut. Försök igen.`,showPasswordText:`Visa lösenord`,signupActionLinkText:`Registrera dig`,signupActionText:`Har du inget konto?`,title:`Välkommen`,tooManyFailedLogins:`För många misslyckade inloggningsförsök. Försök igen senare.`,unverifiedEmail:`Verifiera din e-postadress innan du loggar in`,userAccountDoesNotExist:`Användarkontot finns inte`,usernamePlaceholder:`Användarnamn eller e-postadress`,usernameTooLong:"Användarnamnet får vara högst ${max} tecken",usernameTooShort:"Användarnamnet måste vara minst ${min} tecken",wrongCredentials:`Fel användarnamn eller lösenord`,passkeyButtonText:`Logga in med passkey`}},Cp={mfa:{backupCodeText:`Använd reservkod`,description:`Välj en verifieringsmetod`,pageTitle:"Multifaktorautentisering | ${clientName}",title:`Verifiera din identitet`}},wp={"passkey-enrollment-nudge":{title:`Skydda ditt konto med en nyckel`,description:`Nycklar använder enhetens biometri eller PIN-kod för att logga in snabbare och säkrare.`,enrollButtonText:`Konfigurera nyckel`,snoozeButtonText:`Kanske senare`,optOutLinkText:`Visa inte detta igen`,pageTitle:"Konfigurera Nyckel | ${clientName}"},"passkey-enrollment":{title:`Skapa din nyckel`,description:`Följ anvisningarna från din webbläsare för att skapa en nyckel för detta konto.`,errorMessage:`Det gick inte att skapa nyckeln. Försök igen.`,cancelLinkText:`Hoppa över för nu`,retryButtonText:`Försök igen`,enrollmentComplete:`Din nyckel har konfigurerats. Du kan stänga denna sida.`,pageTitle:"Skapa Nyckel | ${clientName}"},"passkey-challenge":{title:`Logga in med passkey`,description:`Följ instruktionerna från din webbläsare för att verifiera din identitet.`,errorMessage:`Autentisering med passkey misslyckades. Försök igen.`,cancelLinkText:`Tillbaka till inloggning`,retryButtonText:`Försök igen`,pageTitle:"Logga in med passkey | ${clientName}"}},Tp={organizations:{description:`Välj vilken organisation du vill logga in på`,pageTitle:"Välj organisation | ${clientName}",searchPlaceholder:`Sök organisationer`,title:`Välj din organisation`}},Ep={signup:{buttonText:`Registrera dig`,confirmPasswordPlaceholder:`Bekräfta lösenord`,description:`Välj ett lösenord med en blandning av stora och små bokstäver, siffror och symboler.`,"email-already-exists":`E-postadressen är redan upptagen`,emailPlaceholder:`E-postadress`,federatedConnectionButtonText:"Fortsätt med ${connectionName}",hidePasswordText:`Dölj lösenord`,"invalid-email-format":`Ogiltig e-postadress`,loginActionLinkText:`Logga in`,loginActionText:`Har du redan ett konto?`,"no-email":`Vänligen ange en e-postadress`,"no-password":`Lösenord krävs`,"no-username":`Användarnamn krävs`,pageTitle:"Registrera dig | ${clientName}",passwordPlaceholder:`Lösenord`,passwordsDidntMatch:`Lösenorden matchar inte`,phonePlaceholder:`Telefonnummer`,privacyPolicyLinkText:`Integritetspolicy`,separatorText:`eller`,sessionExpired:`Din session har gått ut. Försök igen.`,showPasswordText:`Visa lösenord`,termsOfServiceLinkText:`Användarvillkor`,termsText:`Genom att registrera dig godkänner du våra`,title:`Välj lösenord`,"username-already-exists":`Användarnamnet är redan taget`,usernamePlaceholder:`Användarnamn`,verifyEmailText:`Kontrollera din e-post för att verifiera ditt konto`}},Dp={status:{continueButtonText:`Fortsätt`,errorTitle:`Fel`,pageTitle:"Status | ${clientName}",successTitle:`Klart`,title:`Status`}},Op={common:yp,consent:bp,"device-flow":{"device-flow":{buttonText:`Fortsätt`,codePlaceholder:`Ange kod`,description:`Ange koden som visas på din enhet`,"expired-code":`Koden har gått ut`,"invalid-code":`Koden du angav är ogiltig`,pageTitle:"Enhetsaktivering | ${clientName}",title:`Aktivera din enhet`}},"email-otp-challenge":{"email-otp-challenge":{buttonText:`Logga in`,codeLabel:`Verifieringskod`,codePlaceholder:`Ange kod`,defaultDescription:`Ange verifieringskoden som skickades till din e-post`,description:"Vi skickade en kod till ${email}","invalid-code":`Ogiltig kod`,noCode:`Ange verifieringskoden`,pageTitle:"Ange kod | ${clientName}",resendText:`Skicka koden igen`,sessionExpired:`Din session har gått ut. Försök igen.`,title:`Kolla din e-post`,unexpectedError:`Ett oväntat fel uppstod`}},"email-verification":{"email-verification":{description:"Vi skickade ett e-postmeddelande till ${email}",pageTitle:"Verifiera e-post | ${clientName}",resendText:`Skicka koden igen`,successDescription:`Din e-postadress har verifierats.`,successTitle:`E-post verifierad`,title:`Ange engångskod`}},invitation:xp,login:Sp,"login-id":{"login-id":{alertListTitle:`Meddelanden`,"auth0-users-validation":`Något gick fel, försök igen senare`,"authentication-failure":`Vi beklagar, något gick fel vid inloggningsförsöket`,buttonText:`Fortsätt`,"captcha-client-failure":`Vi kunde inte ladda säkerhetsutmaningen. Försök igen. (Felkod: #{errorCode})`,"captcha-validation-failure":`Vi beklagar, något gick fel vid validering av captcha-svaret. Försök igen.`,captchaCodePlaceholder:`Ange koden som visas ovan`,"custom-script-error-code":`Något gick fel, försök igen senare.`,description:"Logga in på ${clientName}.",editEmailText:`Redigera`,emailPlaceholder:`E-postadress`,federatedConnectionButtonText:"Fortsätt med ${connectionName}",footerLinkText:`Registrera dig`,footerText:`Har du inget konto?`,forgotPasswordText:`Har du glömt lösenordet?`,hidePasswordText:`Dölj lösenord`,"invalid-captcha":`Lös utmaningen för att verifiera att du inte är en robot.`,"invalid-code":`Ogiltig kod`,"invalid-connection":`Ogiltig anslutning`,"invalid-email-format":`Ogiltig e-postadress`,"invalid-email-phone":`Ange en giltig e-postadress eller telefonnummer. Telefonnummer måste innehålla landskod.`,"invalid-email-phone-username":`Ange en giltig e-postadress, telefonnummer eller användarnamn. Telefonnummer måste innehålla landskod.`,"invalid-email-username":`Ange en giltig e-postadress eller användarnamn`,"invalid-expired-code":`Ogiltig eller utgången användarkod`,"invalid-login-id":`Ogiltigt inloggnings-ID angivet`,"invalid-phone-username":`Ange ett giltigt telefonnummer eller användarnamn. Telefonnummer måste innehålla landskod.`,"invalid-recaptcha":`Markera kryssrutan för att verifiera att du inte är en robot.`,"invalid-username":"Användarnamn kan bara innehålla alfanumeriska tecken eller: '${characters}'. Användarnamn ska vara mellan ${min} och ${max} tecken.",invitationDescription:"Logga in för att acceptera ${inviterName}s inbjudan att gå med i ${companyName} på ${clientName}.",invitationTitle:`Du har blivit inbjuden!`,"ip-blocked":`Vi har upptäckt misstänkt inloggningsaktivitet och ytterligare försök kommer att blockeras. Kontakta administratören.`,logoAltText:"${companyName}","no-db-connection":`Ogiltig anslutning`,"no-email":`Vänligen ange en e-postadress`,"no-email-phone":`E-postadress eller telefonnummer krävs`,"no-email-phone-username":`Telefonnummer, användarnamn eller e-postadress krävs`,"no-email-username":`E-postadress eller användarnamn krävs`,"no-password":`Lösenord krävs`,"no-phone":`Ange ett telefonnummer`,"no-phone-username":`Telefonnummer eller användarnamn krävs`,"no-username":`Användarnamn krävs`,pageTitle:"Logga in | ${clientName}","password-breached":`Vi har upptäckt ett potentiellt säkerhetsproblem med detta konto. För att skydda ditt konto har vi förhindrat denna inloggning. Återställ ditt lösenord för att fortsätta.`,passwordPlaceholder:`Lösenord`,phoneOrEmailPlaceholder:`E-post eller telefonnummer`,phoneOrUsernameOrEmailPlaceholder:`Telefon, användarnamn eller e-post`,phoneOrUsernamePlaceholder:`Telefonnummer eller användarnamn`,phonePlaceholder:`Telefonnummer`,"same-user-login":`För många inloggningsförsök för denna användare. Vänta en stund och försök igen.`,selectCountryCode:"Välj landskod, för närvarande inställd på ${countryName}, ${countryCode}, +${countryPrefix}",separatorText:`eller`,sessionExpired:`Din session har gått ut. Försök igen.`,showPasswordText:`Visa lösenord`,signupActionLinkText:`Registrera dig`,signupActionText:`Har du inget konto?`,termsAndConditionsTemplate:'Genom att fortsätta godkänner du våra <a href="${termsAndConditionsUrl}" target="_blank" rel="noopener noreferrer">Villkor</a>.',title:`Välkommen`,"user-blocked":`Ditt konto har blockerats efter flera misslyckade inloggningsförsök i rad.`,userAccountDoesNotExist:`Användarkontot finns inte`,usernameOnlyPlaceholder:`Användarnamn`,usernameOrEmailPlaceholder:`Användarnamn eller e-postadress`,usernamePlaceholder:`Användarnamn`,usernameTooLong:"Användarnamnet får vara högst ${max} tecken",usernameTooShort:"Användarnamnet måste vara minst ${min} tecken","wrong-credentials":`Fel användarnamn eller lösenord`,"wrong-email-credentials":`Fel e-postadress eller lösenord`,"wrong-email-phone-credentials":`Fel e-postadress, telefonnummer eller lösenord. Telefonnummer måste innehålla landskod.`,"wrong-email-phone-username-credentials":`Fel e-postadress, telefonnummer, användarnamn eller lösenord. Telefonnummer måste innehålla landskod.`,"wrong-email-username-credentials":`Fel e-postadress, användarnamn eller lösenord`,"wrong-phone-credentials":`Fel telefonnummer eller lösenord`,"wrong-phone-username-credentials":`Fel telefonnummer, användarnamn eller lösenord. Telefonnummer måste innehålla landskod.`,"wrong-username-credentials":`Fel användarnamn eller lösenord`,passkeyButtonText:`Logga in med passkey`}},"login-password":{"login-password":{buttonText:`Logga in`,description:`Ange din e-postadress och ditt lösenord för att logga in.`,forgotPasswordText:`Har du glömt lösenordet?`,hidePasswordText:`Dölj lösenord`,"no-password":`Lösenord krävs`,pageTitle:"Logga in | ${clientName}","password-breached":`Vi har upptäckt ett potentiellt säkerhetsproblem med detta konto. För att skydda ditt konto har vi förhindrat denna inloggning. Återställ ditt lösenord för att fortsätta.`,passwordPlaceholder:`Lösenord`,showPasswordText:`Visa lösenord`,signingInAs:"Loggar in som ${email}",title:`Ange lösenord`,unverifiedEmail:`Verifiera din e-postadress innan du loggar in`,"user-blocked":`Ditt konto har blockerats efter flera misslyckade inloggningsförsök i rad.`,"wrong-credentials":`Fel lösenord`}},"login-passwordless":{"login-passwordless":{authMethodEmail:`e-post`,authMethodEmailOrPhone:`e-post eller telefonnummer`,authMethodPhone:`telefonnummer`,description:"Logga in med din ${authMethod}",emailOrPhonePlaceholder:`E-postadress eller telefonnummer`,emailPlaceholder:`E-postadress`,invalidEmail:`Ange en giltig e-postadress`,invalidIdentifier:`Ange en giltig e-postadress eller telefonnummer`,invalidPhone:`Ange ett giltigt telefonnummer med landskod`,noEmail:`Ange din e-postadress`,noPhone:`Ange ditt telefonnummer`,phonePlaceholder:`Telefonnummer`,sessionExpired:`Din session har gått ut. Försök igen.`,title:`Logga in med en kod`,userAccountDoesNotExist:`Användarkontot finns inte`}},"magic-link-sent":{"magic-link-sent":{defaultDescription:`Klicka på länken i ditt e-postmeddelande för att logga in`,description:"Vi skickade en länk till ${username}. Klicka på den för att logga in.",resendText:`Skicka länken igen`,spamText:`Fick du inte e-postmeddelandet? Kolla din skräppost.`,title:`Kolla din e-post`}},mfa:Cp,"mfa-email":{"mfa-email":{buttonText:`Fortsätt`,codePlaceholder:`Ange kod`,description:"Vi skickade en kod till ${email}","invalid-code":`Koden du angav är ogiltig`,pageTitle:"E-postverifiering | ${clientName}",resendText:`Skicka koden igen`,title:`Kolla din e-post`}},"mfa-otp":{"mfa-otp":{buttonText:`Fortsätt`,codePlaceholder:`Ange kod`,description:`Ange den 6-siffriga koden från din autentiseringsapp`,"invalid-code":`Koden du angav är ogiltig`,pageTitle:"Ange kod | ${clientName}",title:`Ange din kod`},"mfa-totp-enrollment":{title:`Konfigurera autentiseringsapp`,description:`Skanna QR-koden nedan med din autentiseringsapp och ange sedan den 6-siffriga koden för att verifiera`,secretLabel:`Eller ange denna kod manuellt:`,codePlaceholder:`Ange kod`,continueButtonText:`Verifiera och aktivera`,"invalid-code":`Koden du angav är ogiltig. Försök igen.`,"transaction-not-found":`Din registreringstransaktion har gått ut, du behöver börja om.`,pageTitle:"Konfigurera autentiseringsapp | ${clientName}",unexpectedError:`Något gick fel. Försök igen.`,enrollmentComplete:`MFA-registreringen är klar. Du kan stänga denna sida.`},"mfa-totp-challenge":{title:`Verifiera din identitet`,description:`Ange den 6-siffriga koden från din autentiseringsapp`,codePlaceholder:`Ange kod`,continueButtonText:`Fortsätt`,"invalid-code":`Koden du angav är ogiltig`,"transaction-not-found":`Din registreringstransaktion har gått ut, du behöver börja om.`,unexpectedError:`Något gick fel. Försök igen.`,pageTitle:"Verifiera identitet | ${clientName}"}},"mfa-phone":{"mfa-phone-challenge":{pageTitle:"Använd ditt telefonnummer för att logga in | ${clientName}",title:`Verifiera din identitet`,description:"Vi skickade en kod till ${phoneNumber}",continueButtonText:`Fortsätt`,changePhoneText:`Välj ett annat telefonnummer.`,smsButtonText:`SMS`,voiceButtonText:`Röstsamtal`,chooseMessageTypeText:`Hur vill du ta emot koden?`,pickAuthenticatorText:`Prova en annan metod`,logoAltText:"${companyName}",codePlaceholder:`Ange kod`,"send-sms-failed":`Det gick inte att skicka SMS:et`,"send-voice-failed":`Det gick inte att ringa röstsamtalet`,"invalid-phone-format":`Telefonnumret kan bara innehålla siffror.`,"invalid-phone":`Det verkar som att ditt telefonnummer inte är giltigt. Kontrollera och försök igen.`,"too-many-sms":`Du har överskridit det maximala antalet telefonmeddelanden per timme. Vänta några minuter och försök igen.`,"too-many-voice":`Du har överskridit det maximala antalet telefonmeddelanden per timme. Vänta några minuter och försök igen.`,"transaction-not-found":`Din registreringstransaktion har gått ut, du behöver börja om.`,"no-phone":`Ange ett telefonnummer`,noCode:`Ange verifieringskoden`,invalidCode:`Koden du angav är ogiltig. Försök igen.`,unexpectedError:`Något gick fel. Försök igen.`,resendSuccess:`Vi skickade en ny kod till din telefon`,enrollmentComplete:`MFA-registreringen är klar. Du kan stänga denna sida.`},"mfa-phone-enrollment":{pageTitle:"Ange ditt telefonnummer för att logga in med en telefonkod | ${clientName}",title:`Säkra ditt konto`,description:`Ange din landskod och telefonnummer som vi kan skicka en 6-siffrig kod till:`,continueButtonText:`Fortsätt`,smsButtonText:`SMS`,voiceButtonText:`Röstsamtal`,chooseMessageTypeText:`Hur vill du ta emot koden?`,pickAuthenticatorText:`Prova en annan metod`,placeholder:`Ange ditt telefonnummer`,logoAltText:"${companyName}",selectCountryCode:"Välj landskod, för närvarande inställd på ${countryName}, ${countryCode}, +${countryPrefix}","send-sms-failed":`Det gick inte att skicka SMS:et`,"send-voice-failed":`Det gick inte att ringa röstsamtalet`,"sms-authenticator-error":`Vi kunde inte skicka SMS:et. Försök igen senare.`,"invalid-phone-format":`Telefonnumret kan bara innehålla siffror.`,"invalid-phone":`Det verkar som att ditt telefonnummer inte är giltigt. Kontrollera och försök igen.`,"too-many-sms":`Du har överskridit det maximala antalet telefonmeddelanden per timme. Vänta några minuter och försök igen.`,"too-many-voice":`Du har överskridit det maximala antalet telefonmeddelanden per timme. Vänta några minuter och försök igen.`,"transaction-not-found":`Din registreringstransaktion har gått ut, du behöver börja om.`,"no-phone":`Ange ett telefonnummer`,"phone-is-too-short":`Telefonnumret är för kort`,"phone-is-too-long":`Telefonnumret är för långt`}},"mfa-login-options":{"mfa-login-options":{pageTitle:"Välj verifieringsmetod | ${clientName}",title:`Välj din verifieringsmetod`,description:`Välj hur du vill verifiera din identitet`,authenticatorAppLabel:`Autentiseringsapp`,authenticatorAppDescription:`Använd din autentiseringsapp för att få en verifieringskod`,smsLabel:`Sms`,smsDescription:`Få en verifieringskod skickad till din telefon`,passkeyLabel:`Lösenordsnyckel`,passkeyDescription:`Använd din enhets biometri eller säkerhetsnyckel`}},"mfa-push":{"mfa-push":{description:`Vi skickade en notis till din enhet`,pageTitle:"Push-notis | ${clientName}",resendText:`Skicka notisen igen`,title:`Godkänn förfrågan`,useCodeText:`Ange kod manuellt`}},"mfa-recovery-code":{"mfa-recovery-code":{buttonText:`Fortsätt`,codePlaceholder:`Återställningskod`,description:`Ange en av dina återställningskoder`,"invalid-code":`Återställningskoden du angav är ogiltig`,pageTitle:"Återställningskod | ${clientName}",title:`Ange återställningskod`}},"mfa-voice":{"mfa-voice":{buttonText:`Ring mig`,codePlaceholder:`Ange kod`,description:"Vi ringer ${phoneNumber} med din kod","invalid-code":`Koden du angav är ogiltig`,pageTitle:"Röstsamtal | ${clientName}",title:`Ta emot ett telefonsamtal`}},"mfa-webauthn":{"mfa-webauthn":{buttonText:`Försök igen`,description:`Sätt in din säkerhetsnyckel och följ instruktionerna`,pageTitle:"Säkerhetsnyckel | ${clientName}",title:`Använd din säkerhetsnyckel`}},passkeys:wp,organizations:Tp,"reset-password":{"reset-password":{backToLoginText:`Gå tillbaka`,buttonText:`Skicka`,codeExpired:`Din kod för lösenordsåterställning har gått ut. Begär en ny.`,confirmPasswordLabel:`Bekräfta lösenord`,confirmPasswordPlaceholder:`Bekräfta lösenord`,description:`Klicka på knappen nedan så skickar vi instruktioner om hur du återställer ditt lösenord.`,emailPlaceholder:`E-postadress`,failed:`Lösenordsåterställningen misslyckades. Försök igen.`,"invalid-email-format":`Ogiltig e-postadress`,"no-email":`Vänligen ange en e-postadress`,pageTitle:"Återställ lösenord | ${clientName}",passwordLabel:`Nytt lösenord`,passwordPlaceholder:`Nytt lösenord`,passwordTooWeak:`Lösenordet är för svagt`,passwordsDidntMatch:`Lösenorden matchar inte`,successDescription:`Vi har skickat en länk för lösenordsåterställning till din e-postadress.`,successTitle:`Vi har skickat ett e-postmeddelande med instruktioner om hur du återställer ditt lösenord till den e-postadress du angav.`,title:`Har du glömt lösenordet?`,"user-not-found":`Användaren hittades inte`},"reset-password-code":{backToLoginText:`Tillbaka till inloggning`,buttonText:`Återställ lösenord`,codeLabel:`Återställningskod`,codePlaceholder:`Ange 6-siffrig kod`,confirmPasswordLabel:`Bekräfta lösenord`,confirmPasswordPlaceholder:`Bekräfta lösenord`,defaultDescription:`Ange koden som skickades till din e-post och välj ett nytt lösenord`,description:"Vi skickade en kod till ${email}",failed:`Lösenordsåterställningen misslyckades. Försök igen.`,invalidCode:`Koden du angav är ogiltig eller har gått ut`,noCode:`Vänligen ange återställningskoden`,pageTitle:"Ange återställningskod | ${clientName}",passwordLabel:`Nytt lösenord`,passwordPlaceholder:`Nytt lösenord`,passwordTooWeak:`Lösenordet är för svagt`,passwordsDidntMatch:`Lösenorden matchar inte`,resendFailed:`Kunde inte skicka koden igen. Försök igen.`,resendSuccess:`En ny kod har skickats till din e-post`,resendText:`Skicka koden igen`,sessionExpired:`Din session har gått ut. Försök igen.`,title:`Ange återställningskod`}},signup:Ep,"signup-id":{"signup-id":{buttonText:`Fortsätt`,description:`Välj ett lösenord med en blandning av stora och små bokstäver, siffror och symboler.`,"email-already-exists":`E-postadressen är redan upptagen`,emailPlaceholder:`E-postadress`,federatedConnectionButtonText:"Fortsätt med ${connectionName}","invalid-email-format":`Ogiltig e-postadress`,loginActionLinkText:`Logga in`,loginActionText:`Har du redan ett konto?`,"no-email":`Vänligen ange en e-postadress`,pageTitle:"Registrera dig | ${clientName}",phonePlaceholder:`Telefonnummer`,separatorText:`eller`,title:`Välj lösenord`,usernamePlaceholder:`Användarnamn`}},"signup-password":{"signup-password":{buttonText:`Fortsätt`,description:`Välj ett lösenord med en blandning av stora och små bokstäver, siffror och symboler.`,hidePasswordText:`Dölj lösenord`,"no-password":`Lösenord krävs`,pageTitle:"Registrera dig | ${clientName}","password-policy-not-met":`Lösenordet uppfyller inte kraven`,"password-too-weak":`Lösenordet är för svagt`,passwordPlaceholder:`Lösenord`,showPasswordText:`Visa lösenord`,title:`Välj lösenord`}},"sms-otp-challenge":{"sms-otp-challenge":{buttonText:`Fortsätt`,codeLabel:`Verifieringskod`,codePlaceholder:`Ange kod`,defaultDescription:`Ange verifieringskoden som skickades till din telefon`,description:"Vi skickade en kod till ${username}","invalid-code":`Ogiltig kod`,noCode:`Ange verifieringskoden`,pageTitle:"Ange kod | ${clientName}",resendText:`Skicka koden igen`,sessionExpired:`Din session har gått ut. Försök igen.`,title:`Kolla din telefon`,unexpectedError:`Ett oväntat fel uppstod`}},status:Dp},kp=[`cs`,`da`,`en`,`fi`,`it`,`nb`,`pl`,`sv`],Ap={cs:`Čeština`,da:`Dansk`,en:`English`,fi:`Suomi`,it:`Italiano`,nb:`Norsk`,pl:`Polski`,sv:`Svenska`};function jp(e){return Ap[e]??e}var Mp=Object.assign({"../../locales/cs.json":yne,"../../locales/da.json":xne,"../../locales/en.json":Cne,"../../locales/fi.json":Tne,"../../locales/it.json":Dne,"../../locales/nb.json":kne,"../../locales/pl.json":sp,"../../locales/sv.json":vp}),Np={};for(let[e,t]of Object.entries(Mp)){let n=e.match(/\/(\w+)\.json$/)?.[1];n&&(Np[n]=t.default||t)}var Pp={},Fp=Np.en;if(Fp)for(let[e,t]of Object.entries(Fp))for(let[n,r]of Object.entries(t)){let t={};for(let e of Object.keys(r))t[e]=f.z.string();Pp[`${e}.${n}`]=f.z.object(t)}function Ip(e,t){if(!t)return e;let n=e;for(let[e,r]of Object.entries(t))if(r!==void 0){let t=e.replace(/[.*+?^${}()|[\]\\]/g,`\\$&`);n=n.replace(RegExp(`\\$\\{${t}\\}`,`g`),String(r)).replace(RegExp(`#\\{${t}\\}`,`g`),String(r)).replace(RegExp(`\\{${t}\\}`,`g`),String(r))}return n}function Lp(e){let t=e.split(`-`)[0]?.toLowerCase()||`en`;return kp.includes(t)?t:`en`}function R(e,t,n,r){let i=Lp(n),a=Np.en?.[e]?.[t]??{},o=Np[i]?.[e]?.[t]??{},s={...a,...o},c=r?.[t]??{},l={...s,...c},u=Pp[`${e}.${t}`];if(u){let n=u.safeParse(l);n.success||console.warn(`[i18n] Missing translations for ${e}.${t} (${i}):`,n.error.issues.map(e=>e.path.join(`.`)).join(`, `))}let d={};for(let[e,t]of Object.entries(l))d[e]=e=>Ip(t,e);return{m:new Proxy(d,{get:(e,t)=>e[t]??(()=>t)}),locale:i}}function Rp(e){let t=e?.language?.split(`-`)[0]?.toLowerCase(),n=[];for(let[r,i]of Object.entries(Np))if(!(t&&r!==t))for(let[t,a]of Object.entries(i))e?.prompt&&t!==e.prompt||n.push({prompt:t,language:r,custom_text:a});return n}var zp={Stringify:1,BeforeStream:2,Stream:3},Bp=(e,t)=>{let n=new String(e);return n.isEscaped=!0,n.callbacks=t,n},Vp=/[&<>'"]/,Hp=async(e,t)=>{let n=``;t||=[];let r=await Promise.all(e);for(let e=r.length-1;n+=r[e],e--,!(e<0);e--){let i=r[e];typeof i==`object`&&t.push(...i.callbacks||[]);let a=i.isEscaped;if(i=await(typeof i==`object`?i.toString():i),typeof i==`object`&&t.push(...i.callbacks||[]),i.isEscaped??a)n+=i;else{let e=[n];Up(i,e),n=e[0]}}return Bp(n,t)},Up=(e,t)=>{let n=e.search(Vp);if(n===-1){t[0]+=e;return}let r,i,a=0;for(i=n;i<e.length;i++){switch(e.charCodeAt(i)){case 34:r=`"`;break;case 39:r=`'`;break;case 38:r=`&`;break;case 60:r=`<`;break;case 62:r=`>`;break;default:continue}t[0]+=e.substring(a,i)+r,a=i+1}t[0]+=e.substring(a,i)},Wp=e=>{let t=e.callbacks;if(!t?.length)return e;let n=[e],r={};return t.forEach(e=>e({phase:zp.Stringify,buffer:n,context:r})),n[0]},Gp=async(e,t,n,r,i)=>{typeof e==`object`&&!(e instanceof String)&&(e instanceof Promise||(e=e.toString()),e instanceof Promise&&(e=await e));let a=e.callbacks;if(!a?.length)return Promise.resolve(e);i?i[0]+=e:i=[e];let o=Promise.all(a.map(e=>e({phase:t,buffer:i,context:r}))).then(e=>Promise.all(e.filter(Boolean).map(e=>Gp(e,t,!1,r,i))).then(()=>i[0]));return n?Bp(await o,a):o},Kp=Symbol(`RENDERER`),qp=Symbol(`ERROR_HANDLER`),Jp=Symbol(`STASH`),Yp=Symbol(`INTERNAL`),Xp=Symbol(`MEMO`),Zp=Symbol(`PERMALINK`),Qp=e=>(e[Yp]=!0,e),$p=e=>({value:t,children:n})=>{if(!n)return;let r={children:[{tag:Qp(()=>{e.push(t)}),props:{}}]};Array.isArray(n)?r.children.push(...n.flat()):r.children.push(n),r.children.push({tag:Qp(()=>{e.pop()}),props:{}});let i={tag:``,props:r,type:``};return i[qp]=t=>{throw e.pop(),t},i},em=e=>{let t=[e],n=$p(t);return n.values=t,n.Provider=n,tm.push(n),n},tm=[],nm=!1,rm,im,am=0,om=!1,sm=()=>{if(nm)return rm;nm=!0;let e=globalThis,t;for(let n of[()=>e.process?.getBuiltinModule?.(`node:async_hooks`)?.AsyncLocalStorage,()=>e.process?.mainModule?.require?.(`node:async_hooks`)?.AsyncLocalStorage]){try{t=n()}catch{}if(t)break}return t&&(rm=new t),rm},cm=()=>sm()?.getStore()||im,lm=()=>{am>0&&!om&&(om=!0,console.warn(`hono/jsx: AsyncLocalStorage is unavailable in this runtime, so useContext() after an await in an async component falls back to the context default value during server-side rendering. To get provided values across await boundaries, use a runtime with AsyncLocalStorage (Node.js >= 20.16, Deno, Bun, or Cloudflare Workers with the nodejs_compat flag).`))},um=(e,t)=>{if(!e)return lm(),t.values;let n=e.get(t);return n||(n=[t.values[0]],e.set(t,n)),n},dm=(e,t)=>{if(!e)return lm(),t.values.at(-1);let n=e.get(t);return n?.length?n.at(-1):t.values[0]},fm=e=>(e?tm.filter(t=>e.has(t)):tm).map(t=>[t,dm(e,t)]),pm=(e,t,n)=>mm(()=>{let t=cm(),r=n.map(([e,n])=>{let r=um(t,e);return r.push(n),r}),i=()=>{r.forEach(e=>{e.pop()})};try{let t=e();return t instanceof Promise?t.finally(i):(i(),t)}catch(e){throw i(),e}},t),mm=(e,t)=>{if(cm())return e();let n=t??new WeakMap,r=sm();if(r)return r.run(n,e);im=n;let i;try{i=e()}finally{im=void 0}return!om&&i instanceof Promise&&(am++,i=i.finally(()=>{am--})),i},hm=()=>{let e=cm(),t=fm(e);return n=>pm(n,e,t)},gm=e=>{let t=[e],n=(e=>{let t=um(cm(),n);t.push(e.value);let r;try{r=e.children?(Array.isArray(e.children)?new dh(``,{},e.children):e.children).toString():``}catch(e){throw t.pop(),e}return r instanceof Promise?r.finally(()=>t.pop()).then(e=>Bp(e,e.callbacks)):(t.pop(),Bp(r))});return n.values=t,n.Provider=n,n[Kp]=$p(t),tm.push(n),n},_m=e=>dm(cm(),e),vm={title:[],script:[`src`],style:[`data-href`],link:[`href`],meta:[`name`,`httpEquiv`,`charset`,`itemProp`]},ym={},bm=`data-precedence`,xm=e=>e.rel===`stylesheet`&&`precedence`in e,Sm=(e,t)=>e===`link`?t:vm[e].length>0,Cm=e=>Array.isArray(e)?e:[e],wm=c({button:()=>Rm,form:()=>Fm,input:()=>Lm,link:()=>Mm,meta:()=>Nm,script:()=>Am,style:()=>jm,title:()=>km}),Tm=new WeakMap,Em=(e,t,n,r)=>({buffer:i,context:a})=>{if(!i)return;let o=Tm.get(a)||{};Tm.set(a,o);let s=o[e]||=[],c=!1,l=vm[e],u=Sm(e,r!==void 0);if(u){LOOP:for(let[,t]of s)if(!(e===`link`&&!(t.rel===`stylesheet`&&t[`data-precedence`]!==void 0))){for(let e of l)if((t?.[e]??null)===n?.[e]){c=!0;break LOOP}}}if(c?i[0]=i[0].replaceAll(t,``):u||e===`link`?s.push([t,n,r]):s.unshift([t,n,r]),i[0].indexOf(`</head>`)!==-1){let t;if(e===`link`||r!==void 0){let e=[];t=s.map(([t,,n],r)=>{if(n===void 0)return[t,2**53-1,r];let i=e.indexOf(n);return i===-1&&(e.push(n),i=e.length-1),[t,i,r]}).sort((e,t)=>e[1]-t[1]||e[2]-t[2]).map(([e])=>e)}else t=s.map(([e])=>e);t.forEach(e=>{i[0]=i[0].replaceAll(e,``)}),i[0]=i[0].replace(/(?=<\/head>)/,t.join(``))}},Dm=(e,t,n)=>Bp(new lh(e,n,Cm(t??[])).toString()),Om=(e,t,n,r)=>{if(`itemProp`in n)return Dm(e,t,n);let{precedence:i,blocking:a,...o}=n;i=r?i??``:void 0,r&&(o[bm]=i);let s=new lh(e,o,Cm(t||[])).toString();return s instanceof Promise?s.then(t=>Bp(s,[...t.callbacks||[],Em(e,t,o,i)])):Bp(s,[Em(e,s,o,i)])},km=({children:e,...t})=>{let n=ih();if(n){let r=_m(n);if(r===`svg`||r===`head`)return new lh(`title`,t,Cm(e??[]))}return Om(`title`,e,t,!1)},Am=({children:e,...t})=>{let n=ih();return[`src`,`async`].some(e=>!t[e])||n&&_m(n)===`head`?Dm(`script`,e,t):Om(`script`,e,t,!1)},jm=({children:e,...t})=>[`href`,`precedence`].every(e=>e in t)?(t[`data-href`]=t.href,delete t.href,Om(`style`,e,t,!0)):Dm(`style`,e,t),Mm=({children:e,...t})=>[`onLoad`,`onError`].some(e=>e in t)||t.rel===`stylesheet`&&(!(`precedence`in t)||`disabled`in t)?Dm(`link`,e,t):Om(`link`,e,t,xm(t)),Nm=({children:e,...t})=>{let n=ih();return n&&_m(n)===`head`?Dm(`meta`,e,t):Om(`meta`,e,t,!1)},Pm=(e,{children:t,...n})=>new lh(e,n,Cm(t??[])),Fm=e=>(typeof e.action==`function`&&(e.action=Zp in e.action?e.action[Zp]:void 0),Pm(`form`,e)),Im=(e,t)=>(typeof t.formAction==`function`&&(t.formAction=Zp in t.formAction?t.formAction[Zp]:void 0),Pm(e,t)),Lm=e=>Im(`input`,e),Rm=e=>Im(`button`,e),zm=new Map([[`className`,`class`],[`htmlFor`,`for`],[`crossOrigin`,`crossorigin`],[`httpEquiv`,`http-equiv`],[`itemProp`,`itemprop`],[`fetchPriority`,`fetchpriority`],[`noModule`,`nomodule`],[`formAction`,`formaction`]]),Bm=e=>zm.get(e)||e,Vm=/[\s"'<>/=`\\\x00-\x1f\x7f-\x9f]/,Hm=new Set,Um=1024,Wm=/^[!?]|[\s"'<>/=`\\\x00-\x1f\x7f-\x9f]/,Gm=new Set,Km=256,qm=(e,t,n)=>{e.size>=t&&e.clear(),e.add(n)},Jm=e=>Gm.has(e)?!0:typeof e==`string`?e.length===0?!0:Wm.test(e)?!1:(qm(Gm,Km,e),!0):!1,Ym=e=>{if(Hm.has(e))return!0;let t=e.length;if(t===0)return!1;for(let n=0;n<t;n++){let t=e.charCodeAt(n);if(!(t>=97&&t<=122||t>=65&&t<=90||t>=48&&t<=57||t===45||t===95||t===46||t===58))return Vm.test(e)?!1:(qm(Hm,Um,e),!0)}return qm(Hm,Um,e),!0},Xm=/[\s"'():;\\/\[\]{}\x00-\x1f\x7f-\x9f]/,Zm=new Set,Qm=1024,$m=e=>{if(Zm.has(e))return!0;let t=e.length;if(t===0)return!1;for(let n=0;n<t;n++){let t=e.charCodeAt(n);if(!(t>=97&&t<=122||t>=65&&t<=90||t>=48&&t<=57||t===45||t===95))return Xm.test(e)?!1:(qm(Zm,Qm,e),!0)}return qm(Zm,Qm,e),!0},eh=/[;"'\\/\[\](){}]/,th=e=>{if(!eh.test(e))return!1;let t=0,n=[];for(let r=0,i=e.length;r<i;r++){let a=e.charCodeAt(r);if(a===92){if(r===i-1)return!0;r++}else if(t!==0){if(a===10||a===12||a===13)return!0;a===t&&(t=0)}else if(a===47&&e.charCodeAt(r+1)===42){let t=e.indexOf(`*/`,r+2);if(t===-1)return!0;r=t+1}else if(a===34||a===39)t=a;else if(a===40)n.push(41);else if(a===91)n.push(93);else if(a===123||a===125)return!0;else if(a===41||a===93){if(n[n.length-1]!==a)return!0;n.pop()}else if(a===59&&n.length===0)return!0}return t!==0||n.length!==0},nh=(e,t)=>{for(let[n,r]of Object.entries(e)){let e=n[0]===`-`||!/[A-Z]/.test(n)?n:n.replace(/[A-Z]/g,e=>`-${e.toLowerCase()}`);if(!$m(e))continue;if(r==null){t(e,null);continue}let i;if(typeof r==`number`)i=e.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`;else if(typeof r==`string`){if(th(r))continue;i=r}else continue;t(e,i)}},rh=void 0,ih=()=>rh,ah=e=>/[A-Z]/.test(e)&&e.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)/)?e.replace(/([A-Z])/g,`-$1`).toLowerCase():e,oh=[`area`,`base`,`br`,`col`,`embed`,`hr`,`img`,`input`,`keygen`,`link`,`meta`,`param`,`source`,`track`,`wbr`],sh=`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`.split(`.`),ch=(e,t)=>{for(let n=0,r=e.length;n<r;n++){let r=e[n];if(typeof r==`string`)Up(r,t);else if(typeof r==`boolean`||r==null)continue;else r instanceof lh?r.toStringToBuffer(t):typeof r==`number`||r.isEscaped?t[0]+=r:r instanceof Promise?t.unshift(``,r):ch(r,t)}},lh=class{tag;props;key;children;isEscaped=!0;suspendedContext;constructor(e,t,n){if(typeof e!=`function`&&!Jm(e))throw Error(`Invalid JSX tag name: ${e}`);this.tag=e,this.props=t,this.children=n}get type(){return this.tag}get ref(){return this.props.ref||null}toString(){let e=()=>{let e=[``];return this.toStringToBuffer(e),e.length===1?`callbacks`in e?Wp(Bp(e[0],e.callbacks)).toString():e[0]:Hp(e,e.callbacks)};return this.suspendedContext?this.suspendedContext(e):mm(e)}toStringToBuffer(e){let t=this.tag,n=this.props,{children:r}=this;e[0]+=`<${t}`;let i=t===`svg`||rh&&_m(rh)===`svg`?e=>ah(Bm(e)):e=>Bm(e);for(let[a,o]of Object.entries(n))if(a=i(a),Ym(a)&&a!==`children`){if(a===`style`&&typeof o==`object`){let t=``;nh(o,(e,n)=>{n!=null&&(t+=`${t?`;`:``}${e}:${n}`)}),e[0]+=` style="`,Up(t,e),e[0]+=`"`}else if(typeof o==`string`)e[0]+=` ${a}="`,Up(o,e),e[0]+=`"`;else if(o!=null)if(typeof o==`number`||o.isEscaped)e[0]+=` ${a}="${o}"`;else if(typeof o==`boolean`&&sh.includes(a))o&&(e[0]+=` ${a}=""`);else if(a===`dangerouslySetInnerHTML`){if(r.length>0)throw Error("Can only set one of `children` or `props.dangerouslySetInnerHTML`.");r=[Bp(o.__html)]}else if(o instanceof Promise)e[0]+=` ${a}="`,e.unshift(`"`,o);else if(typeof o==`function`){if(!a.startsWith(`on`)&&a!==`ref`)throw Error(`Invalid prop '${a}' of type 'function' supplied to '${t}'.`)}else e[0]+=` ${a}="`,Up(o.toString(),e),e[0]+=`"`}if(oh.includes(t)&&r.length===0){e[0]+=`/>`;return}e[0]+=`>`,ch(r,e),e[0]+=`</${t}>`}},uh=class extends lh{toStringToBuffer(e){let{children:t}=this,n={...this.props};t.length&&(n.children=t.length===1?t[0]:t);let r=this.tag.call(null,n);if(!(typeof r==`boolean`||r==null))if(r instanceof Promise)if(tm.length===0)e.unshift(``,r);else{let t=hm();e.unshift(``,r.then(e=>(e instanceof lh&&(e.suspendedContext=t),e)))}else r instanceof lh?r.toStringToBuffer(e):typeof r==`number`||r.isEscaped?(e[0]+=r,r.callbacks&&(e.callbacks||=[],e.callbacks.push(...r.callbacks))):Up(r,e)}},dh=class extends lh{toStringToBuffer(e){ch(this.children,e)}},fh=(e,t,...n)=>{t??={},n.length&&(t.children=n.length===1?n[0]:n);let r=t.key;delete t.key;let i=mh(e,t,n);return i.key=r,i},ph=!1,mh=(e,t,n)=>{if(!ph){for(let e in ym)wm[e][Kp]=ym[e];ph=!0}return typeof e==`function`?new uh(e,t,n):wm[e]?new uh(wm[e],t,n):e===`svg`||e===`head`?(rh||=gm(``),new lh(e,t,[new uh(rh,{value:e},n)])):new lh(e,t,n)},hh=({children:e})=>new dh(``,{children:e},Array.isArray(e)?e:e?[e]:[]),gh=(e,t,...n)=>{let r;if(n.length>0)r=n;else{let t=e.props.children;r=Array.isArray(t)?t:[t]}return fh(e.tag,{...e.props,...t},...r)};function z(e,t,n){let r;if(!t||!(`children`in t))r=mh(e,t,[]);else{let n=t.children;r=Array.isArray(n)?mh(e,t,n):mh(e,t,[n])}return r.key=n,r}function _h(e,t){let n=_ne(e,`ah-dark-mode`);if(n===`dark`||n===`light`||n===`auto`)return n;let r=t?.dark_mode;return r===`dark`||r===`light`||r===`auto`?r:`auto`}var vh={"--ah-color-text":`#f9fafb`,"--ah-color-text-muted":`#9ca3af`,"--ah-color-text-label":`#d1d5db`,"--ah-color-text-header":`#f9fafb`,"--ah-color-header":`#f9fafb`,"--ah-color-bg":`#1f2937`,"--ah-color-bg-hover":`#374151`,"--ah-color-bg-muted":`#374151`,"--ah-color-bg-disabled":`#4b5563`,"--ah-color-input-bg":`#374151`,"--ah-color-input-text":`#f9fafb`,"--ah-btn-secondary-text":`#f9fafb`,"--ah-color-border":`#4b5563`,"--ah-color-border-hover":`#6b7280`,"--ah-color-border-muted":`#374151`,"--ah-color-error-bg":`rgba(220,38,38,0.2)`,"--ah-color-success-bg":`rgba(22,163,74,0.2)`,"--ah-color-link":`#60a5fa`};function yh(e){let t=e.replace(`#`,``),n=parseInt(t,16);return[n>>16&255,n>>8&255,n&255]}function bh(e){let[t,n,r]=yh(e).map(e=>{let t=e/255;return t<=.04045?t/12.92:((t+.055)/1.055)**2.4});return .2126*t+.7152*n+.0722*r}function xh(e,t){let n=bh(e),r=bh(t);return(Math.max(n,r)+.05)/(Math.min(n,r)+.05)}function Sh(e,t){let[n,r,i]=yh(e),a=e=>Math.min(255,Math.round(e+(255-e)*t)).toString(16).padStart(2,`0`);return`#${a(n)}${a(r)}${a(i)}`}function Ch(e,t){let n={...vh};if(t){let e=vh[`--ah-color-bg`]||`#1f2937`;if(xh(t,e)<3){let r=t;for(let n=1;n<=10&&(r=Sh(t,n*.1),!(xh(r,e)>=3));n++);n[`--ah-color-primary`]=r,n[`--ah-color-primary-hover`]=r}let r=n[`--ah-color-primary`]||t,i=xh(r,`#ffffff`);n[`--ah-color-text-on-primary`]=xh(r,`#000000`)>i*1.35?`#000000`:`#ffffff`}return`${e} { ${Object.entries(n).map(([e,t])=>`${e}: ${t} !important`).join(`; `)}; }`}var wh=`(function(btn){var h=document.documentElement;var cur=h.classList.contains('ah-dark-mode')?'dark':h.classList.contains('ah-light-mode')?'light':'auto';var next=cur==='auto'?'dark':cur==='dark'?'light':'auto';h.classList.remove('ah-dark-mode','ah-light-mode');if(next==='dark'){h.classList.add('ah-dark-mode');h.setAttribute('data-mode','dark')}else if(next==='light'){h.classList.add('ah-light-mode');h.setAttribute('data-mode','light')}else{h.removeAttribute('data-mode')}btn.querySelector('.icon-sun').style.display=next==='light'?'block':'none';btn.querySelector('.icon-moon').style.display=next==='dark'?'block':'none';btn.querySelector('.icon-auto').style.display=next==='auto'?'block':'none';document.cookie='ah-dark-mode='+next+';path=/;max-age=31536000;SameSite=Lax';if(window.__ahDarkMode){window.__ahDarkMode(next)}})(this)`,Th=`var p=new URLSearchParams(window.location.search);p.set('ui_locales',this.value);window.location.search=p.toString()`;function Eh(e){return e===`plain`?` ah-chip--plain`:e===`pill`?` ah-chip--pill`:``}function Dh({logoUrl:e,clientName:t,variant:n}){let r=e?Xd(e):null;return z(`div`,{class:`ah-chip ah-chip-logo${Eh(n)}`,"data-ah-slot":`top-left`,children:r?z(`img`,{src:r,alt:t}):z(`span`,{class:`ah-logo-text`,children:t})})}function Oh({darkMode:e}){return z(`button`,{type:`button`,"aria-label":`Toggle dark mode`,onclick:wh,children:[z(`svg`,{class:`icon-auto`,width:`13`,height:`13`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,"stroke-width":`2.2`,"stroke-linecap":`round`,"stroke-linejoin":`round`,style:e===`auto`?void 0:`display:none`,children:[z(`circle`,{cx:`12`,cy:`12`,r:`9`}),z(`path`,{d:`M12 3a9 9 0 0 1 0 18`,fill:`currentColor`})]}),z(`svg`,{class:`icon-sun`,width:`13`,height:`13`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,"stroke-width":`2.2`,"stroke-linecap":`round`,"stroke-linejoin":`round`,style:e===`light`?void 0:`display:none`,children:[z(`circle`,{cx:`12`,cy:`12`,r:`5`}),z(`line`,{x1:`12`,y1:`1`,x2:`12`,y2:`3`}),z(`line`,{x1:`12`,y1:`21`,x2:`12`,y2:`23`}),z(`line`,{x1:`4.22`,y1:`4.22`,x2:`5.64`,y2:`5.64`}),z(`line`,{x1:`18.36`,y1:`18.36`,x2:`19.78`,y2:`19.78`}),z(`line`,{x1:`1`,y1:`12`,x2:`3`,y2:`12`}),z(`line`,{x1:`21`,y1:`12`,x2:`23`,y2:`12`})]}),z(`svg`,{class:`icon-moon`,width:`13`,height:`13`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,"stroke-width":`2.2`,"stroke-linecap":`round`,"stroke-linejoin":`round`,style:e===`dark`?void 0:`display:none`,children:z(`path`,{d:`M21 12.79A9 9 0 1 1 11.21 3 7 7 0 0 0 21 12.79z`})})]})}function kh({language:e,availableLanguages:t}){return!t||t.length<2?null:z(`div`,{class:`ah-lang`,children:[z(`svg`,{width:`13`,height:`13`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,"stroke-width":`2.2`,"stroke-linecap":`round`,"stroke-linejoin":`round`,children:[z(`circle`,{cx:`12`,cy:`12`,r:`10`}),z(`path`,{d:`M2 12h20`}),z(`path`,{d:`M12 2a15.3 15.3 0 0 1 4 10 15.3 15.3 0 0 1-4 10 15.3 15.3 0 0 1-4-10 15.3 15.3 0 0 1 4-10z`})]}),z(`select`,{"aria-label":`Language`,onchange:Th,children:t.map(t=>z(`option`,{value:t,selected:t===e,children:jp(t)}))})]})}function Ah({darkMode:e,language:t,availableLanguages:n,variant:r}){return z(`div`,{class:`ah-chip ah-chip-settings${Eh(r)}`,"data-ah-slot":`top-right`,children:[z(Oh,{darkMode:e}),n&&z(kh,{language:t,availableLanguages:n})]})}function jh({url:e,href:t,alt:n,height:r,variant:i}){let a=Xd(e),o=t?Xd(t):null;if(!a)return null;let s=z(`img`,{src:a,alt:n||``,height:r||18});return z(`div`,{class:`ah-chip ah-chip-trust${Eh(i)}`,"data-ah-slot":`bottom-left`,children:o?z(`a`,{href:o,target:`_blank`,rel:`noopener noreferrer`,children:s}):s})}function Mh({termsAndConditionsUrl:e,language:t,variant:n}){if(!e)return null;let{m:r}=R(`common`,`common`,t||`en`);return z(`div`,{class:`ah-chip-legal${Eh(n)}`,"data-ah-slot":`bottom-right`,children:z(`a`,{href:e,target:`_blank`,rel:`noopener noreferrer`,children:r.termsShortText()})})}function Nh(e,t){let n=[],r=Zd(e?.colors?.primary);r&&n.push(`--ah-color-primary: ${r}`);let i=Zd(t?.colors?.primary_button)||r;if(i){let e=xh(i,`#ffffff`),t=xh(i,`#000000`)>e*1.35?`#000000`:`#ffffff`;n.push(`--ah-color-text-on-primary: ${t}`)}return n.length>0?n.join(`; `)+`; width: clamp(320px, 100%, 400px);`:`width: clamp(320px, 100%, 400px);`}function Ph(e){let t=e.themePageBackground?.page_layout||`center`,n=t===`left`?`flex-start`:t===`right`?`flex-end`:`center`,r=t===`left`?`20px 20px 20px 80px`:t===`right`?`20px 80px 20px 20px`:`20px`;return{background:Qd(e.themePageBackground,e.brandingPageBackground),fontFamily:e.fontUrl?`'Inter', system-ui, sans-serif`:`system-ui, -apple-system, sans-serif`,justifyContent:n,padding:r}}function Fh(e){let{primaryColor:t,themePrimary:n,widgetBackground:r,bodyLayout:i}=e;return`
|
|
15
15
|
* { box-sizing: border-box; margin: 0; padding: 0; }
|
|
16
16
|
${i?`
|
|
17
17
|
body {
|
|
@@ -458,7 +458,7 @@ var h2=document.documentElement;if(!h2.classList.contains('ah-dark-mode')&&!h2.c
|
|
|
458
458
|
${r}
|
|
459
459
|
</form>
|
|
460
460
|
</body>
|
|
461
|
-
</html>`;return n.set(`content-type`,`text/html; charset=utf-8`),n.set(`cache-control`,`no-store`),n.set(`pragma`,`no-cache`),new Response(i,{status:200,headers:n})}var yP=[`openid`,`profile`,`email`,`address`,`phone`,`offline_access`];async function noe(e,t,n,r){let i=[];if(!(await e.env.data.tenants.get(t))?.flags?.inherit_global_permissions_in_organizations)return[];let a=await e.env.data.userRoles.list(t,n,void 0,``),o=await Promise.all(a.map(n=>e.env.data.rolePermissions.list(t,n.id,{per_page:1e3})));for(let e of o)e.forEach(e=>{e.resource_server_identifier===r&&i.push(e.permission_name)});return[...new Set(i)]}async function roe(e,t){let{tenantId:n,clientId:r,audience:i,requestedScopes:a}=t,o=a.filter(e=>yP.includes(e)),s=a.filter(e=>!yP.includes(e)),c=(await e.env.data.resourceServers.list(n)).resource_servers.filter(e=>e.identifier===i);if(c.length===0)return{scopes:o,permissions:[],token_lifetime:86400,token_lifetime_for_web:7200};let l=c[0];if(!l)return{scopes:o,permissions:[],token_lifetime:86400,token_lifetime_for_web:7200};let u=l.options?.enforce_policies===!0,d=l.options?.token_dialect||`access_token`,f=(await e.env.data.clientGrants.list(n,{q:`client_id:"${r}"`})).client_grants.find(e=>e.audience===i);if(!f)return{scopes:o,permissions:[],token_lifetime:l.token_lifetime,token_lifetime_for_web:l.token_lifetime_for_web};let p=f.scope||[],m=(l.scopes||[]).map(e=>e.value);if(s.length>0){let e=s.filter(e=>!p.includes(e));if(e.length>0)throw new B(403,{error:`access_denied`,error_description:`Client is not authorized for scope(s): ${e.join(`, `)}`})}let h=p.filter(e=>m.includes(e)),g=a.length===0?h:s.filter(e=>h.includes(e)),_={token_lifetime:l.token_lifetime,token_lifetime_for_web:l.token_lifetime_for_web};if(!u)return{scopes:[...new Set([...o,...g])],permissions:[],..._};let v=g;return d===`access_token_authz`?{scopes:[...new Set([...o,...g])],permissions:v,..._}:{scopes:[...new Set([...o,...g])],permissions:[],..._}}async function bP(e,t){if(t.grantType===yi.ClientCredential)return await roe(e,{tenantId:t.tenantId,clientId:t.clientId,audience:t.audience,requestedScopes:t.requestedScopes});let{tenantId:n,userId:r,audience:i,requestedScopes:a,organizationId:o}=t,s=await e.env.data.tenants.get(n),c=s?.flags?.restrict_undefined_scopes===!0,l=!1;if(o){if(s?.flags?.inherit_global_permissions_in_organizations){let t=await e.env.data.userRoles.list(n,r,void 0,``);for(let r of t)if((await e.env.data.rolePermissions.list(n,r.id,{per_page:1e3})).some(e=>e.permission_name===`admin:organizations`&&e.resource_server_identifier===i)){l=!0;break}}if(!l&&!(await e.env.data.userOrganizations.list(n,{q:`user_id:${r}`,per_page:1e3})).userOrganizations.some(e=>e.organization_id===o))throw new B(403,{error:`access_denied`,error_description:`User is not a member of the specified organization`})}let u=a.filter(e=>yP.includes(e)),d=(await e.env.data.resourceServers.list(n)).resource_servers.filter(e=>e.identifier===i)[0];if(!d){if(a.filter(e=>e&&!yP.includes(e)).length>0)throw new B(403,{error:`access_denied`,error_description:`Service not found: ${i}`});return{scopes:u,permissions:[],token_lifetime:86400,token_lifetime_for_web:7200}}let f=(d.scopes||[]).map(e=>e.value),p=d.options?.enforce_policies===!0,m=d.options?.token_dialect||`access_token`,h={token_lifetime:d.token_lifetime,token_lifetime_for_web:d.token_lifetime_for_web};if(!p){let e=c?a.filter(e=>f.includes(e)||yP.includes(e)):a;return{scopes:[...new Set(e)],permissions:[],...h}}let[g,_,v]=await Promise.all([e.env.data.userPermissions.list(n,r,void 0,o),e.env.data.userRoles.list(n,r,void 0,``),o?e.env.data.userRoles.list(n,r,void 0,o):Promise.resolve([])]),y=[..._,...v],b=o?await noe(e,n,r,i):[],x=await Promise.all(y.map(t=>e.env.data.rolePermissions.list(n,t.id,{per_page:1e3}))),S=[];for(let e of x)e.forEach(e=>{e.resource_server_identifier===i&&S.push(e.permission_name)});let C=new Set;g.forEach(e=>{e.resource_server_identifier===i&&C.add(e.permission_name)}),S.forEach(e=>{C.add(e)}),b.forEach(e=>{C.add(e)});let w=Array.from(C),T=w.filter(e=>f.includes(e)),E=c?[]:a.filter(e=>!f.includes(e)&&!yP.includes(e));if(m===`access_token_authz`)return{scopes:[...new Set([...u,...E])],permissions:T,...h};let ee=a.filter(e=>f.includes(e)&&w.includes(e));return{scopes:[...new Set([...u,...ee,...E])],permissions:[],...h}}var ioe=new Set([`openid`,`profile`,`email`]);function xP(e,t){let n=new Set(t),r=[];for(let t of e)t&&(ioe.has(t)||n.has(t)||r.push(t));return Array.from(new Set(r))}async function SP(e,t){if(!e.env.data.grants)return xP(t.requestedScopes,[]);let n=await e.env.data.grants.get(t.tenantId,t.userId,t.clientId);return xP(t.requestedScopes,n?.scope??[])}function CP(e){if(!e)return!1;try{return!!JSON.parse(e)?.connect}catch{return!1}}function wP(e,t){switch(t){case`email`:return e.email||void 0;case`email_verified`:return e.email_verified===void 0?void 0:e.email_verified;case`name`:return e.name||void 0;case`family_name`:return e.family_name||void 0;case`given_name`:return e.given_name||void 0;case`middle_name`:return e.middle_name||void 0;case`nickname`:return e.nickname||void 0;case`preferred_username`:return e.preferred_username||e.username||void 0;case`profile`:return e.profile||void 0;case`picture`:return e.picture||void 0;case`website`:return e.website||void 0;case`gender`:return e.gender||void 0;case`birthdate`:return e.birthdate||void 0;case`zoneinfo`:return e.zoneinfo||void 0;case`locale`:return e.locale||void 0;case`updated_at`:{if(!e.updated_at)return;let t=new Date(e.updated_at).getTime();return Number.isFinite(t)?Math.floor(t/1e3):void 0}case`address`:return e.address||void 0;case`phone_number`:return e.phone_number||void 0;case`phone_number_verified`:return e.phone_verified===void 0?void 0:e.phone_verified;default:return}}var aoe={email:[`email`,`email_verified`],profile:[`name`,`family_name`,`given_name`,`middle_name`,`nickname`,`preferred_username`,`profile`,`picture`,`website`,`gender`,`birthdate`,`zoneinfo`,`locale`,`updated_at`],address:[`address`],phone:[`phone_number`,`phone_number_verified`]};function TP(e,t){let n={};for(let r of t){let t=aoe[r];if(t)for(let r of t){let t=wP(e,r);t!==void 0&&(n[r]=t)}}return n}function EP(e,t){let n={};for(let r of t){let t=wP(e,r);t!==void 0&&(n[r]=t)}return n}function ooe(){if(typeof globalThis<`u`)return globalThis;if(typeof self<`u`)return self;if(typeof window<`u`)return window;if(typeof global<`u`)return global}function soe(){let e=ooe();if(e.__xstate__)return e.__xstate__}var coe=e=>{if(typeof window>`u`)return;let t=soe();t&&t.register(e)},DP=class{constructor(e){this._process=e,this._active=!1,this._current=null,this._last=null}start(){this._active=!0,this.flush()}clear(){this._current&&(this._current.next=null,this._last=this._current)}enqueue(e){let t={value:e,next:null};if(this._current){this._last.next=t,this._last=t;return}this._current=t,this._last=t,this._active&&this.flush()}flush(){for(;this._current;){let e=this._current;this._process(e.value),this._current=e.next}this._last=null}},loe=``,uoe=`#`,doe=`*`,OP=`xstate.init`,foe=`xstate.stop`;function poe(e,t){return{type:`xstate.after.${e}.${t}`}}function kP(e,t){return{type:`xstate.done.state.${e}`,output:t}}function moe(e,t){return{type:`xstate.done.actor.${e}`,output:t,actorId:e}}function AP(e,t){return{type:`xstate.error.actor.${e}`,error:t,actorId:e}}function jP(e){return{type:OP,input:e}}function MP(e){setTimeout(()=>{throw e})}var NP=typeof Symbol==`function`&&Symbol.observable||`@@observable`;function PP(e,t){let n=IP(e),r=IP(t);return typeof r==`string`?typeof n==`string`?r===n:!1:typeof n==`string`?n in r:Object.keys(n).every(e=>e in r?PP(n[e],r[e]):!1)}function FP(e){if(HP(e))return e;let t=[],n=``;for(let r=0;r<e.length;r++){switch(e.charCodeAt(r)){case 92:n+=e[r+1],r++;continue;case 46:t.push(n),n=``;continue}n+=e[r]}return t.push(n),t}function IP(e){return gI(e)?e.value:typeof e==`string`?LP(FP(e)):e}function LP(e){if(e.length===1)return e[0];let t={},n=t;for(let t=0;t<e.length-1;t++)if(t===e.length-2)n[e[t]]=e[t+1];else{let r=n;n={},r[e[t]]=n}return t}function RP(e,t){let n={},r=Object.keys(e);for(let i=0;i<r.length;i++){let a=r[i];n[a]=t(e[a],a,e,i)}return n}function zP(e){return HP(e)?e:[e]}function BP(e){return e===void 0?[]:zP(e)}function VP(e,t,n,r){return typeof e==`function`?e({context:t,event:n,self:r}):e}function HP(e){return Array.isArray(e)}function UP(e){return e.type.startsWith(`xstate.error.actor`)}function WP(e){return zP(e).map(e=>e===void 0||typeof e==`string`?{target:e}:e)}function GP(e){if(!(e===void 0||e===loe))return BP(e)}function KP(e,t,n){let r=typeof e==`object`,i=r?e:void 0;return{next:(r?e.next:e)?.bind(i),error:(r?e.error:t)?.bind(i),complete:(r?e.complete:n)?.bind(i)}}function qP(e,t){return`${t}.${e}`}function JP(e,t){let n=t.match(/^xstate\.invoke\.(\d+)\.(.*)/);if(!n)return e.implementations.actors[t];let[,r,i]=n,a=e.getStateNodeById(i).config.invoke;return(Array.isArray(a)?a[r]:a).src}function YP(e,t){if(t===e||t===doe)return!0;if(!t.endsWith(`.*`))return!1;let n=t.split(`.`),r=e.split(`.`);for(let e=0;e<n.length;e++){let t=n[e],i=r[e];if(t===`*`)return e===n.length-1;if(t!==i)return!1}return!0}function XP(e,t){return`${e.sessionId}.${t}`}var ZP=0;function QP(e,t){let n=new Map,r=new Map,i=new WeakMap,a=new Set,o={},{clock:s,logger:c}=t,l={schedule:(e,t,n,r,i=Math.random().toString(36).slice(2))=>{let a={source:e,target:t,event:n,delay:r,id:i,startedAt:Date.now()},c=XP(e,i);u._snapshot._scheduledEvents[c]=a;let l=s.setTimeout(()=>{delete o[c],delete u._snapshot._scheduledEvents[c],u._relay(e,t,n)},r);o[c]=l},cancel:(e,t)=>{let n=XP(e,t),r=o[n];delete o[n],delete u._snapshot._scheduledEvents[n],r!==void 0&&s.clearTimeout(r)},cancelAll:e=>{for(let t in u._snapshot._scheduledEvents){let n=u._snapshot._scheduledEvents[t];n.source===e&&l.cancel(e,n.id)}}},u={_snapshot:{_scheduledEvents:(t?.snapshot&&t.snapshot.scheduler)??{}},_bookId:()=>`x:${ZP++}`,_register:(e,t)=>(n.set(e,t),e),_unregister:e=>{n.delete(e.sessionId);let t=i.get(e);t!==void 0&&(r.delete(t),i.delete(e))},get:e=>r.get(e),getAll:()=>Object.fromEntries(r.entries()),_set:(e,t)=>{let n=r.get(e);if(n&&n!==t)throw Error(`Actor with system ID '${e}' already exists.`);r.set(e,t),i.set(t,e)},inspect:e=>{let t=KP(e);return a.add(t),{unsubscribe(){a.delete(t)}}},_sendInspectionEvent:t=>{if(!a.size)return;let n={...t,rootId:e.sessionId};a.forEach(e=>e.next?.(n))},_relay:(e,t,n)=>{u._sendInspectionEvent({type:`@xstate.event`,sourceRef:e,actorRef:t,event:n}),t._send(n)},scheduler:l,getSnapshot:()=>({_scheduledEvents:{...u._snapshot._scheduledEvents}}),start:()=>{let e=u._snapshot._scheduledEvents;u._snapshot._scheduledEvents={};for(let t in e){let{source:n,target:r,event:i,delay:a,id:o}=e[t];l.schedule(n,r,i,a,o)}},_clock:s,_logger:c};return u}var $P=!1,eF=function(e){return e[e.NotStarted=0]=`NotStarted`,e[e.Running=1]=`Running`,e[e.Stopped=2]=`Stopped`,e}({}),tF={clock:{setTimeout:(e,t)=>setTimeout(e,t),clearTimeout:e=>clearTimeout(e)},logger:console.log.bind(console),devTools:!1},nF=class{constructor(e,t){this.logic=e,this._snapshot=void 0,this.clock=void 0,this.options=void 0,this.id=void 0,this.mailbox=new DP(this._process.bind(this)),this.observers=new Set,this.eventListeners=new Map,this.logger=void 0,this._processingStatus=eF.NotStarted,this._parent=void 0,this._syncSnapshot=void 0,this.ref=void 0,this._actorScope=void 0,this.systemId=void 0,this.sessionId=void 0,this.system=void 0,this._doneEvent=void 0,this.src=void 0,this._deferred=[];let n={...tF,...t},{clock:r,logger:i,parent:a,syncSnapshot:o,id:s,systemId:c,inspect:l}=n;this.system=a?a.system:QP(this,{clock:r,logger:i}),l&&!a&&this.system.inspect(KP(l)),this.sessionId=this.system._bookId(),this.id=s??this.sessionId,this.logger=t?.logger??this.system._logger,this.clock=t?.clock??this.system._clock,this._parent=a,this._syncSnapshot=o,this.options=n,this.src=n.src??e,this.ref=this,this._actorScope={self:this,id:this.id,sessionId:this.sessionId,logger:this.logger,defer:e=>{this._deferred.push(e)},system:this.system,stopChild:e=>{if(e._parent!==this)throw Error(`Cannot stop child actor ${e.id} of ${this.id} because it is not a child`);e._stop()},emit:e=>{let t=this.eventListeners.get(e.type),n=this.eventListeners.get(`*`);if(!t&&!n)return;let r=[...t?t.values():[],...n?n.values():[]];for(let t of r)try{t(e)}catch(e){MP(e)}},actionExecutor:e=>{let t=()=>{if(this._actorScope.system._sendInspectionEvent({type:`@xstate.action`,actorRef:this,action:{type:e.type,params:e.params}}),!e.exec)return;let t=$P;try{$P=!0,e.exec(e.info,e.params)}finally{$P=t}};this._processingStatus===eF.Running?t():this._deferred.push(t)}},this.send=this.send.bind(this),this.system._sendInspectionEvent({type:`@xstate.actor`,actorRef:this}),c&&(this.systemId=c,this.system._set(c,this)),this._initState(t?.snapshot??t?.state),c&&this._snapshot.status!==`active`&&this.system._unregister(this)}_initState(e){try{this._snapshot=e?this.logic.restoreSnapshot?this.logic.restoreSnapshot(e,this._actorScope):e:this.logic.getInitialSnapshot(this._actorScope,this.options?.input)}catch(e){this._snapshot={status:`error`,output:void 0,error:e}}}update(e,t){this._snapshot=e;let n;for(;n=this._deferred.shift();)try{n()}catch(t){this._deferred.length=0,this._snapshot={...e,status:`error`,error:t}}switch(this._snapshot.status){case`active`:for(let t of this.observers)try{t.next?.(e)}catch(e){MP(e)}break;case`done`:for(let t of this.observers)try{t.next?.(e)}catch(e){MP(e)}this._stopProcedure(),this._complete(),this._doneEvent=moe(this.id,this._snapshot.output),this._parent&&this.system._relay(this,this._parent,this._doneEvent);break;case`error`:this._error(this._snapshot.error);break}this.system._sendInspectionEvent({type:`@xstate.snapshot`,actorRef:this,event:t,snapshot:e})}subscribe(e,t,n){let r=KP(e,t,n);if(this._processingStatus!==eF.Stopped)this.observers.add(r);else switch(this._snapshot.status){case`done`:try{r.complete?.()}catch(e){MP(e)}break;case`error`:{let e=this._snapshot.error;if(!r.error)MP(e);else try{r.error(e)}catch(e){MP(e)}break}}return{unsubscribe:()=>{this.observers.delete(r)}}}on(e,t){let n=this.eventListeners.get(e);n||(n=new Set,this.eventListeners.set(e,n));let r=t.bind(void 0);return n.add(r),{unsubscribe:()=>{n.delete(r)}}}select(e,t=Object.is){return{subscribe:n=>{let r=KP(n),i=e(this.getSnapshot());return this.subscribe(n=>{let a=e(n);t(i,a)||(i=a,r.next?.(a))})},get:()=>e(this.getSnapshot())}}start(){if(this._processingStatus===eF.Running)return this;this._syncSnapshot&&this.subscribe({next:e=>{e.status===`active`&&this.system._relay(this,this._parent,{type:`xstate.snapshot.${this.id}`,snapshot:e})},error:()=>{}}),this.system._register(this.sessionId,this),this.systemId&&this.system._set(this.systemId,this),this._processingStatus=eF.Running;let e=jP(this.options.input);switch(this.system._sendInspectionEvent({type:`@xstate.event`,sourceRef:this._parent,actorRef:this,event:e}),this._snapshot.status){case`done`:return this.update(this._snapshot,e),this;case`error`:return this._error(this._snapshot.error),this}if(this._parent||this.system.start(),this.logic.start)try{this.logic.start(this._snapshot,this._actorScope)}catch(e){return this._snapshot={...this._snapshot,status:`error`,error:e},this._error(e),this}return this.update(this._snapshot,e),this.options.devTools&&this.attachDevTools(),this.mailbox.start(),this}_process(e){let t,n;try{t=this.logic.transition(this._snapshot,e,this._actorScope)}catch(e){n={err:e}}if(n){let{err:e}=n;this._snapshot={...this._snapshot,status:`error`,error:e},this._error(e);return}this.update(t,e),e.type===`xstate.stop`&&(this._stopProcedure(),this._complete())}_stop(){return this._processingStatus===eF.Stopped?this:(this.mailbox.clear(),this._processingStatus===eF.NotStarted?(this._processingStatus=eF.Stopped,this):(this.mailbox.enqueue({type:foe}),this))}stop(){if(this._parent)throw Error(`A non-root actor cannot be stopped directly.`);return this._stop()}_complete(){for(let e of this.observers)try{e.complete?.()}catch(e){MP(e)}this.observers.clear(),this.eventListeners.clear()}_reportError(e){if(!this.observers.size){this._parent||MP(e),this.eventListeners.clear();return}let t=!1;for(let n of this.observers){let r=n.error;t||=!r;try{r?.(e)}catch(e){MP(e)}}this.observers.clear(),this.eventListeners.clear(),t&&MP(e)}_error(e){this._stopProcedure(),this._reportError(e),this._parent&&this.system._relay(this,this._parent,AP(this.id,e))}_stopProcedure(){return this._processingStatus===eF.Running?(this.system.scheduler.cancelAll(this),this.mailbox.clear(),this.mailbox=new DP(this._process.bind(this)),this._processingStatus=eF.Stopped,this.system._unregister(this),this):this}_send(e){this._processingStatus!==eF.Stopped&&this.mailbox.enqueue(e)}send(e){this.system._relay(void 0,this,e)}attachDevTools(){let{devTools:e}=this.options;e&&(typeof e==`function`?e:coe)(this)}toJSON(){return{xstate$$type:1,id:this.id}}getPersistedSnapshot(e){return this.logic.getPersistedSnapshot(this._snapshot,e)}[NP](){return this}getSnapshot(){return this._snapshot}};function rF(e,...[t]){return new nF(e,t)}function iF(e,t,n,r,{sendId:i}){return[t,{sendId:typeof i==`function`?i(n,r):i},void 0]}function aF(e,t){e.defer(()=>{e.system.scheduler.cancel(e.self,t.sendId)})}function oF(e){function t(e,t){}return t.type=`xstate.cancel`,t.sendId=e,t.resolve=iF,t.execute=aF,t}function sF(e,t,n,r,{id:i,systemId:a,src:o,input:s,syncSnapshot:c}){let l=typeof o==`string`?JP(t.machine,o):o,u=typeof i==`function`?i(n):i,d,f;return l&&(f=typeof s==`function`?s({context:t.context,event:n.event,self:e.self}):s,d=rF(l,{id:u,src:o,parent:e.self,syncSnapshot:c,systemId:a,input:f})),[CI(t,{children:{...t.children,[u]:d}}),{id:i,systemId:a,actorRef:d,src:o,input:f},void 0]}function cF(e,{actorRef:t}){t&&e.defer(()=>{t._processingStatus!==eF.Stopped&&t.start()})}function lF(...[e,{id:t,systemId:n,input:r,syncSnapshot:i=!1}={}]){function a(e,t){}return a.type=`xstate.spawnChild`,a.id=t,a.systemId=n,a.src=e,a.input=r,a.syncSnapshot=i,a.resolve=sF,a.execute=cF,a}function uF(e,t,n,r,{actorRef:i}){let a=typeof i==`function`?i(n,r):i,o=typeof a==`string`?t.children[a]:a,s=t.children;return o&&(s={...s},delete s[o.id]),[CI(t,{children:s}),o,void 0]}function dF(e,t){let n=t.getSnapshot();if(n&&`children`in n)for(let t of Object.values(n.children))dF(e,t);e.system._unregister(t)}function fF(e,t){if(t){if(dF(e,t),t._processingStatus!==eF.Running){e.stopChild(t);return}e.defer(()=>{e.stopChild(t)})}}function pF(e){function t(e,t){}return t.type=`xstate.stopChild`,t.actorRef=e,t.resolve=uF,t.execute=fF,t}function mF(e,{context:t,event:n},{guards:r}){return r.every(r=>gF(r,t,n,e))}function hF(e){function t(e,t){return!1}return t.check=mF,t.guards=e,t}function gF(e,t,n,r){let{machine:i}=r,a=typeof e==`function`,o=a?e:i.implementations.guards[typeof e==`string`?e:e.type];if(!a&&!o)throw Error(`Guard '${typeof e==`string`?e:e.type}' is not implemented.'.`);if(typeof o!=`function`)return gF(o,t,n,r);let s={context:t,event:n},c=a||typeof e==`string`?void 0:`params`in e?typeof e.params==`function`?e.params({context:t,event:n}):e.params:void 0;return`check`in o?o.check(r,s,o):o(s,c)}function _F(e){return e.type===`atomic`||e.type===`final`}function vF(e){return Object.values(e.states).filter(e=>e.type!==`history`)}function yF(e,t){let n=[];if(t===e)return n;let r=e.parent;for(;r&&r!==t;)n.push(r),r=r.parent;return n}function bF(e){let t=new Set(e),n=SF(t);for(let e of t)if(e.type===`compound`&&(!n.get(e)||!n.get(e).length))FF(e).forEach(e=>t.add(e));else if(e.type===`parallel`){for(let n of vF(e))if(n.type!==`history`&&!t.has(n)){let e=FF(n);for(let n of e)t.add(n)}}for(let e of t){let n=e.parent;for(;n;)t.add(n),n=n.parent}return t}function xF(e,t){let n=t.get(e);if(!n)return{};if(e.type===`compound`){let e=n[0];if(e){if(_F(e))return e.key}else return{}}let r={};for(let e of n)r[e.key]=xF(e,t);return r}function SF(e){let t=new Map;for(let n of e)t.has(n)||t.set(n,[]),n.parent&&(t.has(n.parent)||t.set(n.parent,[]),t.get(n.parent).push(n));return t}function CF(e,t){return xF(e,SF(bF(t)))}function wF(e,t){return t.type===`compound`?vF(t).some(t=>t.type===`final`&&e.has(t)):t.type===`parallel`?vF(t).every(t=>wF(e,t)):t.type===`final`}var TF=e=>e[0]===uoe;function EF(e,t){let n=e.transitions.get(t),r=[...e.transitions.keys()].filter(e=>e!==t&&YP(t,e)).sort((e,t)=>t.length-e.length).flatMap(t=>e.transitions.get(t));return n?[...n,...r]:r}function DF(e){let t=e.config.after;if(!t)return[];let n=t=>{let n=poe(t,e.id),r=n.type;return e.entry.push(kI(n,{id:r,delay:t})),e.exit.push(oF(r)),r};return Object.keys(t).flatMap(e=>{let r=t[e],i=typeof r==`string`?{target:r}:r,a=Number.isNaN(+e)?e:+e,o=n(a);return BP(i).map(e=>({...e,event:o,delay:a}))}).map(t=>{let{delay:n}=t;return{...OF(e,t.event,t),delay:n}})}function OF(e,t,n){let r=GP(n.target),i=n.reenter??!1,a=MF(e,r),o={...n,actions:BP(n.actions),guard:n.guard,target:a,source:e,reenter:i,eventType:t,toJSON:()=>({...o,source:`#${e.id}`,target:a?a.map(e=>`#${e.id}`):void 0})};return o}function kF(e){let t=new Map;if(e.config.on)for(let n of Object.keys(e.config.on)){if(n===``)throw Error('Null events ("") cannot be specified as a transition key. Use `always: { ... }` instead.');let r=e.config.on[n];t.set(n,WP(r).map(t=>OF(e,n,t)))}if(e.config.onDone){let n=`xstate.done.state.${e.id}`;t.set(n,WP(e.config.onDone).map(t=>OF(e,n,t)))}for(let n of e.invoke){if(n.onDone){let r=`xstate.done.actor.${n.id}`;t.set(r,WP(n.onDone).map(t=>OF(e,r,t)))}if(n.onError){let r=`xstate.error.actor.${n.id}`;t.set(r,WP(n.onError).map(t=>OF(e,r,t)))}if(n.onSnapshot){let r=`xstate.snapshot.${n.id}`;t.set(r,WP(n.onSnapshot).map(t=>OF(e,r,t)))}}for(let n of e.after){let e=t.get(n.eventType);e||(e=[],t.set(n.eventType,e)),e.push(n)}return t}function AF(e){let t=[],n=r=>{Object.values(r).forEach(r=>{if(r.config.route&&r.config.id){let n=r.config.id,i=r.config.route.guard,a=({event:e})=>e.to===`#${n}`,o={...r.config.route,guard:i?hF([a,i]):a,target:`#${n}`};t.push(OF(e,`xstate.route`,o))}r.states&&n(r.states)})};n(e.states),t.length>0&&e.transitions.set(`xstate.route`,t)}function jF(e,t){let n=typeof t==`string`?e.states[t]:t?e.states[t.target]:void 0;if(!n&&t)throw Error(`Initial state node "${t}" not found on parent state node #${e.id}`);let r={source:e,actions:!t||typeof t==`string`?[]:BP(t.actions),eventType:null,reenter:!1,target:n?[n]:[],toJSON:()=>({...r,source:`#${e.id}`,target:n?[`#${n.id}`]:[]})};return r}function MF(e,t){if(t!==void 0)return t.map(t=>{if(typeof t!=`string`)return t;if(TF(t))return e.machine.getStateNodeById(t);let n=t[0]===`.`;if(n&&!e.parent)return RF(e,t.slice(1));let r=n?e.key+t:t;if(e.parent)try{return RF(e.parent,r)}catch(t){throw Error(`Invalid transition definition for state node '${e.id}':\n${t.message}`)}else throw Error(`Invalid target: "${t}" is not a valid target from the root node. Did you mean ".${t}"?`)})}function NF(e){let t=GP(e.config.target);return t?{target:t.map(t=>typeof t==`string`?RF(e.parent,t):t)}:e.parent.type===`parallel`?{target:[e.parent]}:e.parent.initial}function PF(e){return e.type===`history`}function FF(e){let t=IF(e);for(let n of t)for(let r of yF(n,e))t.add(r);return t}function IF(e){let t=new Set;function n(e){if(!t.has(e)){if(t.add(e),e.type===`compound`)n(e.initial.target[0]);else if(e.type===`parallel`)for(let t of vF(e))n(t)}}return n(e),t}function LF(e,t){if(TF(t))return e.machine.getStateNodeById(t);if(!e.states)throw Error(`Unable to retrieve child state '${t}' from '${e.id}'; no child states exist.`);let n=e.states[t];if(!n)throw Error(`Child state '${t}' does not exist on '${e.id}'`);return n}function RF(e,t){if(typeof t==`string`&&TF(t))try{return e.machine.getStateNodeById(t)}catch{}let n=FP(t).slice(),r=e;for(;n.length;){let e=n.shift();if(!e.length)break;r=LF(r,e)}return r}function zF(e,t){if(typeof t==`string`){let n=e.states[t];if(!n)throw Error(`State '${t}' does not exist on '${e.id}'`);return[e,n]}let n=Object.keys(t),r=n.map(t=>LF(e,t)).filter(Boolean);return[e.machine.root,e].concat(r,n.reduce((n,r)=>{let i=LF(e,r);if(!i)return n;let a=zF(i,t[r]);return n.concat(a)},[]))}function BF(e,t,n,r){let i=LF(e,t).next(n,r);return!i||!i.length?e.next(n,r):i}function VF(e,t,n,r){let i=Object.keys(t),a=UF(LF(e,i[0]),t[i[0]],n,r);return!a||!a.length?e.next(n,r):a}function HF(e,t,n,r){let i=[];for(let a of Object.keys(t)){let o=t[a];if(!o)continue;let s=UF(LF(e,a),o,n,r);s&&i.push(...s)}return i.length?i:e.next(n,r)}function UF(e,t,n,r){return typeof t==`string`?BF(e,t,n,r):Object.keys(t).length===1?VF(e,t,n,r):HF(e,t,n,r)}function WF(e){return Object.keys(e.states).map(t=>e.states[t]).filter(e=>e.type===`history`)}function GF(e,t){let n=e;for(;n.parent&&n.parent!==t;)n=n.parent;return n.parent===t}function KF(e,t){let n=new Set(e),r=new Set(t);for(let e of n)if(r.has(e))return!0;for(let e of r)if(n.has(e))return!0;return!1}function qF(e,t,n){let r=new Set;for(let i of e){let e=!1,a=new Set;for(let o of r)if(KF(ZF([i],t,n),ZF([o],t,n)))if(GF(i.source,o.source))a.add(o);else{e=!0;break}if(!e){for(let e of a)r.delete(e);r.add(i)}}return Array.from(r)}function JF(e){let[t,...n]=e;for(let e of yF(t,void 0))if(n.every(t=>GF(t,e)))return e}function YF(e,t){if(!e.target)return[];let n=new Set;for(let r of e.target)if(PF(r))if(t[r.id])for(let e of t[r.id])n.add(e);else for(let e of YF(NF(r),t))n.add(e);else n.add(r);return[...n]}function XF(e,t){let n=YF(e,t);if(!n)return;if(!e.reenter&&n.every(t=>t===e.source||GF(t,e.source)))return e.source;let r=JF(n.concat(e.source));if(r)return r;if(!e.reenter)return e.source.machine.root}function ZF(e,t,n){let r=new Set;for(let i of e)if(i.target?.length){let e=XF(i,n);i.reenter&&i.source===e&&r.add(e);for(let n of t)GF(n,e)&&r.add(n)}return[...r]}function QF(e,t){if(e.length!==t.size)return!1;for(let n of e)if(!t.has(n))return!1;return!0}function $F(e,t,n,r,i){return eI([{target:[...IF(e)],source:e,reenter:!0,actions:[],eventType:null,toJSON:null}],t,n,r,!0,i)}function eI(e,t,n,r,i,a){let o=[];if(!e.length)return[t,o];let s=n.actionExecutor;n.actionExecutor=e=>{o.push(e),s(e)};try{let s=new Set(t._nodes),c=t.historyValue,l=qF(e,s,c),u=t;i||([u,c]=sI(u,r,n,l,s,c,a,n.actionExecutor)),u=uI(u,r,n,l.flatMap(e=>e.actions),a,void 0),u=nI(u,r,n,l,s,a,c,i);let d=[...s];u.status===`done`&&(u=uI(u,r,n,d.sort((e,t)=>t.order-e.order).flatMap(e=>e.exit),a,void 0));try{return c===t.historyValue&&QF(t._nodes,s)?[u,o]:[CI(u,{_nodes:d,historyValue:c}),o]}catch(e){throw e}}finally{n.actionExecutor=s}}function tI(e,t,n,r,i){if(r.output===void 0)return;let a=kP(i.id,i.output!==void 0&&i.parent?VP(i.output,e.context,t,n.self):void 0);return VP(r.output,e.context,a,n.self)}function nI(e,t,n,r,i,a,o,s){let c=e,l=new Set,u=new Set;rI(r,o,u,l),s&&u.add(e.machine.root);let d=new Set;for(let e of[...l].sort((e,t)=>e.order-t.order)){i.add(e);let r=[];r.push(...e.entry);for(let t of e.invoke)r.push(lF(t.src,{...t,syncSnapshot:!!t.onSnapshot}));if(u.has(e)){let t=e.initial.actions;r.push(...t)}if(c=uI(c,t,n,r,a,e.invoke.map(e=>e.id)),e.type===`final`){let r=e.parent,o=r?.type===`parallel`?r:r?.parent,s=o||e;for(r?.type===`compound`&&a.push(kP(r.id,e.output===void 0?void 0:VP(e.output,c.context,t,n.self)));o?.type===`parallel`&&!d.has(o)&&wF(i,o);)d.add(o),a.push(kP(o.id)),s=o,o=o.parent;if(o)continue;c=CI(c,{status:`done`,output:tI(c,t,n,c.machine.root,s)})}}return c}function rI(e,t,n,r){for(let i of e){let e=XF(i,t);for(let a of i.target||[])!PF(a)&&(i.source!==a||i.source!==e||i.reenter)&&(r.add(a),n.add(a)),iI(a,t,n,r);let a=YF(i,t);for(let o of a){let a=yF(o,e);e?.type===`parallel`&&a.push(e),aI(r,t,n,a,!i.source.parent&&i.reenter?void 0:e)}}}function iI(e,t,n,r){if(PF(e))if(t[e.id]){let i=t[e.id];for(let e of i)r.add(e),iI(e,t,n,r);for(let a of i)oI(a,e.parent,r,t,n)}else{let i=NF(e);for(let a of i.target)r.add(a),i===e.parent?.initial&&n.add(e.parent),iI(a,t,n,r);for(let a of i.target)oI(a,e.parent,r,t,n)}else if(e.type===`compound`){let[i]=e.initial.target;PF(i)||(r.add(i),n.add(i)),iI(i,t,n,r),oI(i,e,r,t,n)}else if(e.type===`parallel`)for(let i of vF(e).filter(e=>!PF(e)))[...r].some(e=>GF(e,i))||(PF(i)||(r.add(i),n.add(i)),iI(i,t,n,r))}function aI(e,t,n,r,i){for(let a of r)if((!i||GF(a,i))&&e.add(a),a.type===`parallel`)for(let r of vF(a).filter(e=>!PF(e)))[...e].some(e=>GF(e,r))||(e.add(r),iI(r,t,n,e))}function oI(e,t,n,r,i){aI(n,r,i,yF(e,t))}function sI(e,t,n,r,i,a,o,s){let c=e,l=ZF(r,i,a);l.sort((e,t)=>t.order-e.order);let u;for(let e of l)for(let t of WF(e)){let n;n=t.history===`deep`?t=>_F(t)&&GF(t,e):t=>t.parent===e,u??={...a},u[t.id]=Array.from(i).filter(n)}for(let e of l)c=uI(c,t,n,[...e.exit,...e.invoke.map(e=>pF(e.id))],o,void 0),i.delete(e);return[c,u||a]}function cI(e,t){return e.implementations.actions[t]}function lI(e,t,n,r,i,a){let{machine:o}=e,s=e;for(let e of r){let r=typeof e==`function`,c=r?e:cI(o,typeof e==`string`?e:e.type),l={context:s.context,event:t,self:n.self,system:n.system},u=r||typeof e==`string`?void 0:`params`in e?typeof e.params==`function`?e.params({context:s.context,event:t}):e.params:void 0;if(!c||!(`resolve`in c)){n.actionExecutor({type:typeof e==`string`?e:typeof e==`object`?e.type:e.name||`(anonymous)`,info:l,params:u,exec:c});continue}let d=c,[f,p,m]=d.resolve(n,s,l,u,c,i);s=f,`retryResolve`in d&&a?.push([d,p]),`execute`in d&&n.actionExecutor({type:d.type,info:l,params:p,exec:d.execute.bind(null,n,p)}),m&&(s=lI(s,t,n,m,i,a))}return s}function uI(e,t,n,r,i,a){let o=a?[]:void 0,s=lI(e,t,n,r,{internalQueue:i,deferredActorIds:a},o);return o?.forEach(([e,t])=>{e.retryResolve(n,s,t)}),s}function dI(e,t,n,r){let i=e,a=[];function o(e,t,r){n.system._sendInspectionEvent({type:`@xstate.microstep`,actorRef:n.self,event:t,snapshot:e[0],_transitions:r}),a.push(e)}if(t.type===`xstate.stop`)return i=CI(fI(i,t,n),{status:`stopped`}),o([i,[]],t,[]),{snapshot:i,microsteps:a};let s=t;if(s.type!==OP){let t=s,c=UP(t),l=pI(t,i);if(c&&!l.length)return i=CI(e,{status:`error`,error:t.error}),o([i,[]],t,[]),{snapshot:i,microsteps:a};let u=eI(l,e,n,s,!1,r);i=u[0],o(u,t,l)}let c=!0,l=e.machine.options?.maxIterations??1/0,u=0;for(;i.status===`active`;){if(u++,u>l)throw Error(`Infinite loop detected: the machine has processed more than ${l} microsteps without reaching a stable state. This usually happens when there's a cycle of transitions (e.g., eventless transitions or raised events causing state A -> B -> C -> A).`);let e=c?mI(i,s):[],t=e.length?i:void 0;if(!e.length){if(!r.length)break;s=r.shift(),e=pI(s,i)}let a=eI(e,i,n,s,!1,r);i=a[0],c=i!==t,o(a,s,e)}return i.status!==`active`&&fI(i,s,n),{snapshot:i,microsteps:a}}function fI(e,t,n){return uI(e,t,n,Object.values(e.children).map(e=>pF(e)),[],void 0)}function pI(e,t){return t.machine.getTransitionData(t,e)}function mI(e,t){let n=new Set,r=e._nodes.filter(_F);for(let i of r)loop:for(let r of[i].concat(yF(i,void 0)))if(r.always){for(let i of r.always)if(i.guard===void 0||gF(i.guard,e.context,t,e)){n.add(i);break loop}}return qF(Array.from(n),new Set(e._nodes),e.historyValue)}function hI(e,t){return CF(e,[...bF(zF(e,t))])}function gI(e){return!!e&&typeof e==`object`&&`machine`in e&&`value`in e}var _I=function(e){return PP(e,this.value)},vI=function(e){return this.tags.has(e)},yI=function(e){let t=this.machine.getTransitionData(this,e);return!!t?.length&&t.some(e=>e.target!==void 0||e.actions.length)},bI=function(){let{_nodes:e,tags:t,machine:n,getMeta:r,toJSON:i,can:a,hasTag:o,matches:s,...c}=this;return{...c,tags:Array.from(t)}},xI=function(){return this._nodes.reduce((e,t)=>(t.meta!==void 0&&(e[t.id]=t.meta),e),{})};function SI(e,t){return{status:e.status,output:e.output,error:e.error,machine:t,context:e.context,_nodes:e._nodes,value:CF(t.root,e._nodes),tags:new Set(e._nodes.flatMap(e=>e.tags)),children:e.children,historyValue:e.historyValue||{},matches:_I,hasTag:vI,can:yI,getMeta:xI,toJSON:bI}}function CI(e,t={}){return SI({...e,...t},e.machine)}function wI(e){if(typeof e!=`object`||!e)return{};let t={};for(let n in e){let r=e[n];Array.isArray(r)&&(t[n]=r.map(e=>({id:e.id})))}return t}function TI(e,t){let{_nodes:n,tags:r,machine:i,children:a,context:o,can:s,hasTag:c,matches:l,getMeta:u,toJSON:d,...f}=e,p={};for(let e in a){let n=a[e];p[e]={snapshot:n.getPersistedSnapshot(t),src:n.src,systemId:n.systemId,syncSnapshot:n._syncSnapshot}}return{...f,context:EI(o),children:p,historyValue:wI(f.historyValue)}}function EI(e){let t;for(let n in e){let r=e[n];if(r&&typeof r==`object`)if(`sessionId`in r&&`send`in r&&`ref`in r)t??=Array.isArray(e)?e.slice():{...e},t[n]={xstate$$type:1,id:r.id};else{let i=EI(r);i!==r&&(t??=Array.isArray(e)?e.slice():{...e},t[n]=i)}}return t??e}function DI(e,t,n,r,{event:i,id:a,delay:o},{internalQueue:s}){let c=t.machine.implementations.delays;if(typeof i==`string`)throw Error(`Only event objects may be used with raise; use raise({ type: "${i}" }) instead`);let l=typeof i==`function`?i(n,r):i,u;if(typeof o==`string`){let e=c&&c[o];u=typeof e==`function`?e(n,r):e}else u=typeof o==`function`?o(n,r):o;return typeof u!=`number`&&s.push(l),[t,{event:l,id:a,delay:u},void 0]}function OI(e,t){let{event:n,delay:r,id:i}=t;if(typeof r==`number`){e.defer(()=>{let t=e.self;e.system.scheduler.schedule(t,t,n,r,i)});return}}function kI(e,t){function n(e,t){}return n.type=`xstate.raise`,n.event=e,n.id=t?.id,n.delay=t?.delay,n.resolve=DI,n.execute=OI,n}function AI(e,{machine:t,context:n},r,i){let a=(a,o)=>{if(typeof a==`string`){let s=JP(t,a);if(!s)throw Error(`Actor logic '${a}' not implemented in machine '${t.id}'`);let c=rF(s,{id:o?.id,parent:e.self,syncSnapshot:o?.syncSnapshot,input:typeof o?.input==`function`?o.input({context:n,event:r,self:e.self}):o?.input,src:a,systemId:o?.systemId});return i[c.id]=c,c}else return rF(a,{id:o?.id,parent:e.self,syncSnapshot:o?.syncSnapshot,input:o?.input,src:a,systemId:o?.systemId})};return(t,n)=>{let r=a(t,n);return i[r.id]=r,e.defer(()=>{r._processingStatus!==eF.Stopped&&r.start()}),r}}function jI(e,t,n,r,{assignment:i}){if(!t.context)throw Error("Cannot assign to undefined `context`. Ensure that `context` is defined in the machine config.");let a={},o={context:t.context,event:n.event,spawn:AI(e,t,n.event,a),self:e.self,system:e.system},s={};if(typeof i==`function`)s=i(o,r);else for(let e of Object.keys(i)){let t=i[e];s[e]=typeof t==`function`?t(o,r):t}return[CI(t,{context:Object.assign({},t.context,s),children:Object.keys(a).length?{...t.children,...a}:t.children}),void 0,void 0]}function MI(e){function t(e,t){}return t.type=`xstate.assign`,t.assignment=e,t.resolve=jI,t}var NI=new WeakMap;function PI(e,t,n){let r=NI.get(e);return r?t in r||(r[t]=n()):(r={[t]:n()},NI.set(e,r)),r[t]}var FI={},II=e=>typeof e==`string`?{type:e}:typeof e==`function`?`resolve`in e?{type:e.type}:{type:e.name}:e,LI=class e{constructor(t,n){if(this.config=t,this.key=void 0,this.id=void 0,this.type=void 0,this.path=void 0,this.states=void 0,this.history=void 0,this.entry=void 0,this.exit=void 0,this.parent=void 0,this.machine=void 0,this.meta=void 0,this.output=void 0,this.order=-1,this.description=void 0,this.tags=[],this.transitions=void 0,this.always=void 0,this.parent=n._parent,this.key=n._key,this.machine=n._machine,this.path=this.parent?this.parent.path.concat(this.key):[],this.id=this.config.id||[this.machine.id,...this.path].join(`.`),this.type=this.config.type||(this.config.states&&Object.keys(this.config.states).length?`compound`:this.config.history?`history`:`atomic`),this.description=this.config.description,this.order=this.machine.idMap.size,this.machine.idMap.set(this.id,this),this.states=this.config.states?RP(this.config.states,(t,n)=>new e(t,{_parent:this,_key:n,_machine:this.machine})):FI,this.type===`compound`&&!this.config.initial)throw Error(`No initial state specified for compound state node "#${this.id}". Try adding { initial: "${Object.keys(this.states)[0]}" } to the state config.`);this.history=this.config.history===!0?`shallow`:this.config.history||!1,this.entry=BP(this.config.entry).slice(),this.exit=BP(this.config.exit).slice(),this.meta=this.config.meta,this.output=this.type===`final`||!this.parent?this.config.output:void 0,this.tags=BP(t.tags).slice()}_initialize(){this.transitions=kF(this),this.config.always&&(this.always=WP(this.config.always).map(e=>OF(this,``,e))),Object.keys(this.states).forEach(e=>{this.states[e]._initialize()})}get definition(){return{id:this.id,key:this.key,version:this.machine.version,type:this.type,initial:this.initial?{target:this.initial.target,source:this,actions:this.initial.actions.map(II),eventType:null,reenter:!1,toJSON:()=>({target:this.initial.target.map(e=>`#${e.id}`),source:`#${this.id}`,actions:this.initial.actions.map(II),eventType:null})}:void 0,history:this.history,states:RP(this.states,e=>e.definition),on:this.on,transitions:[...this.transitions.values()].flat().map(e=>({...e,actions:e.actions.map(II)})),entry:this.entry.map(II),exit:this.exit.map(II),meta:this.meta,order:this.order||-1,output:this.output,invoke:this.invoke,description:this.description,tags:this.tags}}toJSON(){return this.definition}get invoke(){return PI(this,`invoke`,()=>BP(this.config.invoke).map((e,t)=>{let{src:n,systemId:r}=e,i=e.id??qP(this.id,t),a=typeof n==`string`?n:`xstate.invoke.${qP(this.id,t)}`;return{...e,src:a,id:i,systemId:r,toJSON(){let{onDone:t,onError:n,...r}=e;return{...r,type:`xstate.invoke`,src:a,id:i}}}}))}get on(){return PI(this,`on`,()=>[...this.transitions].flatMap(([e,t])=>t.map(t=>[e,t])).reduce((e,[t,n])=>(e[t]=e[t]||[],e[t].push(n),e),{}))}get after(){return PI(this,`delayedTransitions`,()=>DF(this))}get initial(){return PI(this,`initial`,()=>jF(this,this.config.initial))}next(e,t){let n=t.type,r=[],i,a=PI(this,`candidates-${n}`,()=>EF(this,n));for(let o of a){let{guard:a}=o,s=e.context,c=!1;try{c=!a||gF(a,s,t,e)}catch(e){let t=typeof a==`string`?a:typeof a==`object`?a.type:void 0;throw Error(`Unable to evaluate guard ${t?`'${t}' `:``}in transition for event '${n}' in state node '${this.id}':\n${e.message}`)}if(c){r.push(...o.actions),i=o;break}}return i?[i]:void 0}get events(){return PI(this,`events`,()=>{let{states:e}=this,t=new Set(this.ownEvents);if(e)for(let n of Object.keys(e)){let r=e[n];if(r.states)for(let e of r.events)t.add(`${e}`)}return Array.from(t)})}get ownEvents(){let e=Object.keys(Object.fromEntries(this.transitions)),t=new Set(e.filter(e=>this.transitions.get(e).some(e=>!(!e.target&&!e.actions.length&&!e.reenter))));return Array.from(t)}},RI=class e{constructor(e,t){this.config=e,this.version=void 0,this.schemas=void 0,this.implementations=void 0,this.options=void 0,this.__xstatenode=!0,this.idMap=new Map,this.root=void 0,this.id=void 0,this.states=void 0,this.events=void 0,this.id=e.id||`(machine)`,this.implementations={actors:t?.actors??{},actions:t?.actions??{},delays:t?.delays??{},guards:t?.guards??{}},this.version=this.config.version,this.schemas=this.config.schemas,this.options={maxIterations:1/0,...this.config.options},this.transition=this.transition.bind(this),this.getInitialSnapshot=this.getInitialSnapshot.bind(this),this.getPersistedSnapshot=this.getPersistedSnapshot.bind(this),this.restoreSnapshot=this.restoreSnapshot.bind(this),this.start=this.start.bind(this),this.root=new LI(e,{_key:this.id,_machine:this}),this.root._initialize(),AF(this.root),this.states=this.root.states,this.events=this.root.events}provide(t){let{actions:n,guards:r,actors:i,delays:a}=this.implementations;return new e(this.config,{actions:{...n,...t.actions},guards:{...r,...t.guards},actors:{...i,...t.actors},delays:{...a,...t.delays}})}resolveState(e){let t=hI(this.root,e.value),n=bF(zF(this.root,t));return SI({_nodes:[...n],context:e.context||{},children:{},status:wF(n,this.root)?`done`:e.status||`active`,output:e.output,error:e.error,historyValue:e.historyValue},this)}transition(e,t,n){return dI(e,t,n,[]).snapshot}microstep(e,t,n){return dI(e,t,n,[]).microsteps.map(([e])=>e)}getTransitionData(e,t){return UF(this.root,e.value,e,t)||[]}_getPreInitialState(e,t,n){let{context:r}=this.config,i=SI({context:typeof r!=`function`&&r?r:{},_nodes:[this.root],children:{},status:`active`},this);return typeof r==`function`?uI(i,t,e,[MI(({spawn:e,event:t,self:n})=>r({spawn:e,input:t.input,self:n}))],n,void 0):i}getInitialSnapshot(e,t){let n=jP(t),r=[],i=this._getPreInitialState(e,n,r),[a]=$F(this.root,i,e,n,r),{snapshot:o}=dI(a,n,e,r);return o}start(e){Object.values(e.children).forEach(e=>{e.getSnapshot().status===`active`&&e.start()})}getStateNodeById(e){let t=FP(e),n=t.slice(1),r=TF(t[0])?t[0].slice(1):t[0],i=this.idMap.get(r);if(!i)throw Error(`Child state node '#${r}' does not exist on machine '${this.id}'`);return RF(i,n)}get definition(){return this.root.definition}toJSON(){return this.definition}getPersistedSnapshot(e,t){return TI(e,t)}restoreSnapshot(e,t){let n={},r=e.children;Object.keys(r).forEach(e=>{let i=r[e],a=i.snapshot,o=i.src,s=typeof o==`string`?JP(this,o):o;if(!s)return;let c=rF(s,{id:e,parent:t.self,syncSnapshot:i.syncSnapshot,snapshot:a,src:o,systemId:i.systemId});n[e]=c});function i(e,t){if(t instanceof LI)return t;try{return e.machine.getStateNodeById(t.id)}catch{}}function a(e,t){if(!t||typeof t!=`object`)return{};let n={};for(let r in t){let a=t[r];for(let t of a){let a=i(e,t);a&&(n[r]??=[],n[r].push(a))}}return n}let o=a(this.root,e.historyValue),s=SI({...e,children:n,_nodes:Array.from(bF(zF(this.root,e.value))),historyValue:o},this),c=new Set;function l(e,t){if(!c.has(e)){c.add(e);for(let n in e){let r=e[n];if(r&&typeof r==`object`){if(`xstate$$type`in r&&r.xstate$$type===1){e[n]=t[r.id];continue}l(r,t)}}}}return l(s.context,n),s}};function zI(e,t,n,r,{event:i}){return[t,{event:typeof i==`function`?i(n,r):i},void 0]}function BI(e,{event:t}){e.defer(()=>e.emit(t))}function VI(e){function t(e,t){}return t.type=`xstate.emit`,t.event=e,t.resolve=zI,t.execute=BI,t}var HI=function(e){return e.Parent=`#_parent`,e.Internal=`#_internal`,e}({});function UI(e,t,n,r,{to:i,event:a,id:o,delay:s},c){let l=t.machine.implementations.delays;if(typeof a==`string`)throw Error(`Only event objects may be used with sendTo; use sendTo({ type: "${a}" }) instead`);let u=typeof a==`function`?a(n,r):a,d;if(typeof s==`string`){let e=l&&l[s];d=typeof e==`function`?e(n,r):e}else d=typeof s==`function`?s(n,r):s;let f=typeof i==`function`?i(n,r):i,p;if(typeof f==`string`){if(p=f===HI.Parent?e.self._parent:f===HI.Internal?e.self:f.startsWith(`#_`)?t.children[f.slice(2)]:c.deferredActorIds?.includes(f)?f:t.children[f],!p)throw Error(`Unable to send event to actor '${f}' from machine '${t.machine.id}'.`)}else p=f||e.self;return[t,{to:p,targetId:typeof f==`string`?f:void 0,event:u,id:o,delay:d},void 0]}function WI(e,t,n){typeof n.to==`string`&&(n.to=t.children[n.to])}function GI(e,t){e.defer(()=>{let{to:n,event:r,delay:i,id:a}=t;if(typeof i==`number`){e.system.scheduler.schedule(e.self,n,r,i,a);return}e.system._relay(e.self,n,r.type===`xstate.error`?AP(e.self.id,r.data):r)})}function KI(e,t,n){function r(e,t){}return r.type=`xstate.sendTo`,r.to=e,r.event=t,r.id=n?.id,r.delay=n?.delay,r.resolve=UI,r.retryResolve=WI,r.execute=GI,r}function qI(e,t){return KI(HI.Parent,e,t)}function JI(e,t,n,r,{collect:i}){let a=[],o=function(e){a.push(e)};return o.assign=(...e)=>{a.push(MI(...e))},o.cancel=(...e)=>{a.push(oF(...e))},o.raise=(...e)=>{a.push(kI(...e))},o.sendTo=(...e)=>{a.push(KI(...e))},o.sendParent=(...e)=>{a.push(qI(...e))},o.spawnChild=(...e)=>{a.push(lF(...e))},o.stopChild=(...e)=>{a.push(pF(...e))},o.emit=(...e)=>{a.push(VI(...e))},i({context:n.context,event:n.event,enqueue:o,check:e=>gF(e,t.context,n.event,t),self:e.self,system:e.system},r),[t,void 0,a]}function YI(e){function t(e,t){}return t.type=`xstate.enqueueActions`,t.collect=e,t.resolve=JI,t}function XI(e,t,n,r,{value:i,label:a}){return[t,{value:typeof i==`function`?i(n,r):i,label:a},void 0]}function ZI({logger:e},{value:t,label:n}){n?e(n,t):e(t)}function QI(e=({context:e,event:t})=>({context:e,event:t}),t){function n(e,t){}return n.type=`xstate.log`,n.value=e,n.label=t,n.resolve=XI,n.execute=ZI,n}function $I(e,t){return new RI(e,t)}function eL(e){let t=rF(e),n=QP(t,{clock:t.system._clock,logger:t.system._logger});return t.system=n,{self:t,defer:()=>{},id:``,logger:()=>{},sessionId:``,stopChild:()=>{},system:n,emit:()=>{},actionExecutor:()=>{}}}function tL({schemas:e,actors:t,actions:n,guards:r,delays:i}){return{assign:MI,sendTo:KI,raise:kI,log:QI,cancel:oF,stopChild:pF,enqueueActions:YI,emit:VI,spawnChild:lF,createStateConfig:e=>e,createAction:e=>e,createMachine:a=>$I({...a,schemas:e},{actors:t,actions:n,guards:r,delays:i}),extend:a=>tL({schemas:e,actors:t,actions:{...n,...a.actions},guards:{...r,...a.guards},delays:{...i,...a.delays}})}}function nL(e,t,n){let r=[],i=eL(e);return i.actionExecutor=e=>{r.push(e)},[e.transition(t,n,i),r]}var rL=function(e){return e.AUTHENTICATE=`AUTHENTICATE`,e.REQUIRE_EMAIL_VERIFICATION=`REQUIRE_EMAIL_VERIFICATION`,e.REQUIRE_MFA=`REQUIRE_MFA`,e.COMPLETE_MFA=`COMPLETE_MFA`,e.REQUIRE_CONSENT=`REQUIRE_CONSENT`,e.COMPLETE_CONSENT=`COMPLETE_CONSENT`,e.START_HOOK=`START_HOOK`,e.COMPLETE_HOOK=`COMPLETE_HOOK`,e.START_CONTINUATION=`START_CONTINUATION`,e.COMPLETE_CONTINUATION=`COMPLETE_CONTINUATION`,e.COMPLETE=`COMPLETE`,e.FAIL=`FAIL`,e.EXPIRE=`EXPIRE`,e}({}),iL=tL({types:{context:{},events:{}},actions:{setUserId:MI(({event:e})=>e.type===`AUTHENTICATE`?{userId:e.userId}:{}),setHookId:MI(({event:e})=>e.type===`START_HOOK`?{hookId:e.hookId}:{}),clearHookId:MI({hookId:void 0}),setContinuationScope:MI(({event:e})=>e.type===`START_CONTINUATION`?{continuationScope:e.scope}:{}),clearContinuationScope:MI({continuationScope:void 0}),setFailureReason:MI(({event:e})=>e.type===`FAIL`?{failureReason:e.reason}:{})}}).createMachine({id:`loginSession`,initial:`pending`,context:{},states:{pending:{on:{AUTHENTICATE:{target:`authenticated`,actions:`setUserId`},FAIL:{target:`failed`,actions:`setFailureReason`},EXPIRE:{target:`expired`}}},authenticated:{on:{REQUIRE_EMAIL_VERIFICATION:{target:`awaiting_email_verification`},REQUIRE_MFA:{target:`awaiting_mfa`},REQUIRE_CONSENT:{target:`awaiting_consent`},START_HOOK:{target:`awaiting_hook`,actions:`setHookId`},START_CONTINUATION:{target:`awaiting_continuation`,actions:`setContinuationScope`},COMPLETE:{target:`completed`},FAIL:{target:`failed`,actions:`setFailureReason`},EXPIRE:{target:`expired`}}},awaiting_email_verification:{on:{COMPLETE:{target:`authenticated`},FAIL:{target:`failed`,actions:`setFailureReason`},EXPIRE:{target:`expired`}}},awaiting_mfa:{on:{COMPLETE_MFA:{target:`authenticated`},FAIL:{target:`failed`,actions:`setFailureReason`},EXPIRE:{target:`expired`}}},awaiting_consent:{on:{COMPLETE_CONSENT:{target:`authenticated`},FAIL:{target:`failed`,actions:`setFailureReason`},EXPIRE:{target:`expired`}}},awaiting_hook:{on:{COMPLETE_HOOK:{target:`authenticated`,actions:`clearHookId`},START_CONTINUATION:{target:`awaiting_continuation`,actions:`setContinuationScope`},FAIL:{target:`failed`,actions:`setFailureReason`},EXPIRE:{target:`expired`}}},awaiting_continuation:{on:{COMPLETE_CONTINUATION:{target:`authenticated`,actions:`clearContinuationScope`},FAIL:{target:`failed`,actions:`setFailureReason`},EXPIRE:{target:`expired`}}},completed:{type:`final`},failed:{type:`final`},expired:{type:`final`}}});function aL(e,t={}){return iL.resolveState({value:e,context:t})}function oL(e,t,n={}){let[r]=nL(iL,aL(e,n),t),i={},a=r.context,o=n;return a.userId!==o.userId&&(i.userId=a.userId),a.hookId!==o.hookId&&(i.hookId=a.hookId),a.continuationScope!==o.continuationScope&&(i.continuationScope=a.continuationScope),a.failureReason!==o.failureReason&&(i.failureReason=a.failureReason),{state:r.value,context:i}}function sL(e,t){Object.keys(t).forEach(n=>{let r=t[n];r!=null&&r.length&&e.searchParams.set(n,r)})}function cL(e){try{let t=typeof e==`string`?new URL(e):e,n=`${t.protocol}//${t.host}${t.pathname}`;if(t.search){let e=Array.from(t.searchParams.keys()).map(e=>`${e}=[REDACTED]`).join(`&`);n+=`?${e}`}return t.hash&&(n+=`#[REDACTED]`),n}catch{let t=(typeof e==`string`?e:e.toString()).match(/^([^?#]*)(\?[^#]*)?(#.*)?$/);if(!t)return`[invalid-url]`;let[,n=``,r,i]=t,a=n;if(r){let e=r.substring(1).split(`&`).map(e=>{let[t]=e.split(`=`);return`${t}=[REDACTED]`}).join(`&`);a+=`?${e}`}return i&&(a+=`#[REDACTED]`),a}}var lL=[`sub`,`iss`,`aud`,`exp`,`nbf`,`iat`,`jti`];function uL(e){switch(e){case yi.AuthorizationCode:return M.FAILED_EXCHANGE_AUTHORIZATION_CODE_FOR_ACCESS_TOKEN;case yi.ClientCredential:return M.FAILED_EXCHANGE_ACCESS_TOKEN_FOR_CLIENT_CREDENTIALS;case yi.RefreshToken:return M.FAILED_EXCHANGE_REFRESH_TOKEN_FOR_ACCESS_TOKEN;case yi.OTP:return M.FAILED_EXCHANGE_PASSWORD_OTP_FOR_ACCESS_TOKEN;case yi.Password:return M.FAILED_EXCHANGE_PASSWORD_FOR_ACCESS_TOKEN;case yi.Passwordless:return M.FAILED_EXCHANGE_PASSWORDLESS_OTP_FOR_ACCESS_TOKEN;case yi.TokenExchange:return M.FAILED_EXCHANGE_SUBJECT_TOKEN_FOR_ACCESS_TOKEN;default:return M.FAILED_EXCHANGE_CUSTOM_TOKEN}}function dL(e,t,n,r){return{accessToken:{setCustomClaim:(e,n)=>{if(lL.includes(e))throw Error(`Cannot overwrite reserved claim '${e}'`);t[e]=n}},idToken:{setCustomClaim:(e,t)=>{if(lL.includes(e))throw Error(`Cannot overwrite reserved claim '${e}'`);n&&(n[e]=t)}},access:{deny:(t,n)=>{let i=n?`${t} - ${n}`:t;throw P(e,e.var.tenant_id||``,{type:uL(r),description:`Access denied by credentials-exchange hook: ${i}`}),new B(400,{message:`Access denied: ${i}`})}},token:{createServiceToken:async t=>(await NL(e,e.var.tenant_id,t.scope,t.expiresInSeconds,t.customClaims)).access_token}}}async function fL(e,t){let{authParams:n,user:r,client:i,session_id:a,organization:o,permissions:s,impersonatingUser:c,actClient:l,grantType:u}=t,d=(()=>{if(c&&l)return{sub:c.user_id,client_id:l.client_id};if(c)return{sub:c.user_id};if(l)return{sub:l.client_id,client_id:l.client_id}})(),f=t.auth_time,p=n.prompt?.split(` `)??[],h=n.max_age!==void 0||p.includes(`login`)||n.claims?.id_token?.auth_time?.essential===!0;if(f===void 0&&h){if(t.loginSession?.authenticated_at)f=Math.floor(new Date(t.loginSession.authenticated_at).getTime()/1e3);else if(a&&e.var.tenant_id){let t=await e.env.data.sessions.get(e.var.tenant_id,a);t?.authenticated_at&&(f=Math.floor(new Date(t.authenticated_at).getTime()/1e3))}}let g=e.var.tenant_id,_=(await FM(e.env.data.keys,g??``,g?e.env.signingKeyMode:`control-plane`,{purpose:`sign`}))[0];if(!_?.pkcs7||!_.cert)throw new B(500,{message:`No signing key available`});let v=mN(_.pkcs7),y=await vN(_.cert),b=Fa(e.env,e.var.custom_domain),x=n.audience??i.tenant.default_audience??`${b}userinfo`,S=n.claims?.userinfo?Object.keys(n.claims.userinfo):void 0,C=t.customClaims?Object.fromEntries(Object.entries(t.customClaims).filter(([e])=>e!==`act`)):void 0,w={aud:x,scope:n.scope||``,sub:r?.user_id||n.client_id,iss:b,tenant_id:e.var.tenant_id,sid:a,act:d,org_id:o?o.id:void 0,requested_userinfo_claims:S,org_name:o&&i.tenant.allow_organization_name_in_authentication_api?o.name.toLowerCase():void 0,permissions:s,...C};if(t.customClaims){for(let e of lL)if(e in t.customClaims)throw Error(`Cannot overwrite reserved claim '${e}'`)}let T=n.scope?.split(` `)||[],E=T.includes(`openid`),ee=(n.response_type??``).trim()===on.ID_TOKEN,te=i.auth0_conformant!==!1||ee,ne=r&&E?{aud:n.client_id,sub:r.user_id,iss:b,sid:a,nonce:n.nonce,...f===void 0?{}:{auth_time:f},...n.acr_values?{acr:n.acr_values.split(` `)[0]}:{},...te?TP(yb(r,b),T):{},...n.claims?.id_token?EP(yb(r,b),Object.keys(n.claims.id_token)):{},...ee&&n.claims?.userinfo?EP(yb(r,b),Object.keys(n.claims.userinfo)):{},act:d,org_id:o?.id,org_name:o?.name.toLowerCase()}:void 0,re=Wa({loginSession:t.loginSession,authConnection:t.authConnection,ctxConnection:e.var.connection,user:r}),ie=await Ga(e,e.var.tenant_id,re,r);e.env.hooks?.onExecuteCredentialsExchange&&await e.env.hooks.onExecuteCredentialsExchange({ctx:e,client:i,user:r,request:{ip:e.var.ip||``,user_agent:e.var.useragent||``,method:e.req.method,url:e.req.url},scope:n.scope||``,grant_type:u??``,organization:o,connection:ie||(re?{id:re,name:re,strategy:r?.provider||`auth0`}:void 0)},dL(e,w,ne,u));{let{hooks:t}=await e.env.data.hooks.list(e.var.tenant_id),a=t.filter(e=>e.trigger_id===`credentials-exchange`&&e.enabled&&eP(e)),s=dL(e,w,ne,u);if(r){for(let t of a)if(eP(t))try{await Uae(e,t.template_id,r,s)}catch(e){if(e instanceof m)throw e;console.warn(`[credentials-exchange] Failed to execute template hook: ${t.template_id}`,e)}}let c=dL(e,w,ne,u),l=await Lae(e,t,{ctx:e,client:i,user:r,request:{ip:e.var.ip||``,user_agent:e.var.useragent||``,method:e.req?.method||``,url:e.req?.url||``},scope:n.scope||``,grant_type:u??``,organization:o,connection:ie||(re?{id:re,name:re,strategy:r?.provider||`auth0`}:void 0)},c);l&&e.set(`action_execution_id`,l)}let ae=c?3600:t.token_lifetime??86400,D={includeIssuedTimestamp:!0,expiresIn:new zv(ae,`s`),headers:{kid:_.kid}},oe=await Bv(y,v,w,D);if(ne){let e=(n.response_type??``).split(` `);t.code&&e.includes(`code`)&&(ne.c_hash=await yN(t.code,y)),e.includes(`id_token`)&&e.includes(`token`)&&(ne.at_hash=await yN(oe,y))}let se=ne?await Bv(y,v,ne,D):void 0;return{access_token:oe,refresh_token:t.refresh_token,id_token:se,token_type:`Bearer`,expires_in:ae}}async function pL(e,t){return{code:(await e.env.data.codes.create(t.client.tenant.id,{code_id:Mo(32),user_id:t.user.user_id,code_type:`authorization_code`,login_id:t.login_id,expires_at:new Date(Date.now()+300*1e3).toISOString(),code_challenge:t.authParams.code_challenge,code_challenge_method:t.authParams.code_challenge_method,redirect_uri:t.authParams.redirect_uri,state:t.authParams.state,nonce:t.authParams.nonce})).code_id,state:t.authParams.state}}function mL(e){if(e)return new Date(Date.now()+e*60*60*1e3).toISOString()}async function hL(e,t){let{client:n,scope:r,login_id:i}=t,a=Fa(e.env,e.var.custom_domain),o=t.audience??n.tenant.default_audience??`${a}userinfo`,s=mL(n.tenant.idle_session_lifetime),c=mL(n.tenant.session_lifetime),l=pN(),{lookup:u,secret:d}=aN(),f=await oN(d),p=n.refresh_token?.rotation_type===`rotating`;return{row:await e.env.data.refreshTokens.create(n.tenant.id,{id:l,login_id:i,client_id:n.client_id,idle_expires_at:s,expires_at:c,user_id:t.user.user_id,device:{last_ip:e.var.ip,initial_ip:e.var.ip,last_user_agent:e.var.useragent||``,initial_user_agent:e.var.useragent||``,initial_asn:``,last_asn:``},resource_servers:[{audience:o,scopes:r}],rotating:p,token_lookup:u,token_hash:f,family_id:l}),wireToken:sN(u,d)}}async function gL(e,{user:t,client:n,loginSession:r}){let i=mL(n.tenant.idle_session_lifetime),a=mL(n.tenant.session_lifetime);return await e.env.data.sessions.create(n.tenant.id,{id:pN(),user_id:t.user_id,login_session_id:r.id,idle_expires_at:i,expires_at:a,device:{last_ip:e.var.ip||``,initial_ip:e.var.ip||``,last_user_agent:e.var.useragent||``,initial_user_agent:e.var.useragent||``,initial_asn:``,last_asn:``},clients:[n.client_id]})}async function _L(e,{user:t,client:n,loginSession:r,existingSessionId:i,authConnection:a,authStrategy:o}){let s=await e.env.data.loginSessions.get(n.tenant.id,r.id);if(!s)throw new m(400,{message:`Login session ${r.id} not found`});let c=s.state||j.PENDING;if(c===j.FAILED)throw new B(400,{error:`access_denied`,error_description:s.failure_reason||`Cannot authenticate login session in failed state`});if(c===j.COMPLETED)throw new B(400,{error:`access_denied`,error_description:`Login session has already been completed`});if(c===j.AUTHENTICATED){if(s.session_id)return s.session_id;throw new m(500,{message:`Login session is authenticated but has no session_id`})}let l,u;if(i){let a=await e.env.data.sessions.get(n.tenant.id,i);if(!a||a.revoked_at){let i=await gL(e,{user:t,client:n,loginSession:r});l=i.id,u=i.authenticated_at}else l=i,u=a.authenticated_at,a.clients.includes(n.client_id)||await e.env.data.sessions.update(n.tenant.id,i,{clients:[...a.clients,n.client_id]})}else{let i=await gL(e,{user:t,client:n,loginSession:r});l=i.id,u=i.authenticated_at}let{state:d}=oL(c===j.EXPIRED?j.PENDING:c,{type:rL.AUTHENTICATE,userId:t.user_id}),f=Wa({authConnection:a,ctxConnection:e.var.connection});return await e.env.data.loginSessions.update(n.tenant.id,r.id,{session_id:l,state:d,user_id:t.user_id,authenticated_at:u,...f?{auth_connection:f}:{},...o?{auth_strategy:o}:{},...c===j.EXPIRED?{expires_at:new Date(Date.now()+JM*1e3).toISOString()}:{}}),l}async function vL(e,t){let{user:n,client:r,loginSession:i,authStrategy:a,authConnection:o}=t;await _L(e,{user:n,client:r,loginSession:i,existingSessionId:t.existingSessionId,authConnection:o,authStrategy:a});let s=`/authorize/resume?state=${encodeURIComponent(i.id)}`,c=s;if(i.authorization_url)try{let t=new URL(i.authorization_url),n=e.var.host||``;t.host&&t.host!==n&&(c=`${t.origin}${s}`)}catch{}return new Response(null,{status:302,headers:{location:c}})}async function yL(e,t,n,r){let i=await e.env.data.loginSessions.get(t,n.id);if(!i){console.warn(`Login session ${n.id} not found when trying to mark as failed`);return}let a=i.state||j.PENDING,{state:o,context:s}=oL(a,{type:rL.FAIL,reason:r});o!==a&&await e.env.data.loginSessions.update(t,n.id,{state:o,failure_reason:s.failureReason})}async function bL(e,t,n,r){let i=await e.env.data.loginSessions.get(t,n.id);if(!i){console.warn(`Login session ${n.id} not found when trying to start hook`);return}let a=i.state||j.PENDING,{state:o,context:s}=oL(a,{type:rL.START_HOOK,hookId:r});o!==a&&await e.env.data.loginSessions.update(t,n.id,{state:o,state_data:s.hookId?JSON.stringify({hookId:s.hookId}):void 0})}async function xL(e,t,n){let r=await e.env.data.loginSessions.get(t,n.id);if(!r){console.warn(`Login session ${n.id} not found when trying to complete hook`);return}let i=r.state||j.PENDING,{state:a}=oL(i,{type:rL.COMPLETE_HOOK});a!==i&&await e.env.data.loginSessions.update(t,n.id,{state:a,state_data:void 0})}async function SL(e,t,n,r,i){let a=i??await e.env.data.loginSessions.get(t,n.id);if(!a){console.warn(`Login session ${n.id} not found when trying to mark as completed`);return}let o=a.state||j.PENDING,{state:s}=oL(o,{type:rL.COMPLETE});s!==o&&await e.env.data.loginSessions.update(t,n.id,{state:s,...r?{auth_connection:r}:{}})}async function CL(e,t,n,r,i){let a=await e.env.data.loginSessions.get(t,n.id);if(!a){console.warn(`Login session ${n.id} not found when trying to start continuation`);return}let o=a.state||j.PENDING,{state:s}=oL(o,{type:rL.START_CONTINUATION,scope:r});if(s!==o){let o={};if(a.state_data)try{o=JSON.parse(a.state_data)}catch{}await e.env.data.loginSessions.update(t,n.id,{state:s,state_data:JSON.stringify({...o,continuationScope:r,continuationReturnUrl:i})})}else console.warn(`Failed to start continuation for login session ${n.id}: cannot transition from ${o} to AWAITING_CONTINUATION. Scope: ${JSON.stringify(r)}, Return URL: ${cL(i)}`)}async function wL(e,t,n){let r=await e.env.data.loginSessions.get(t,n.id);if(!r){console.warn(`Login session ${n.id} not found when trying to complete continuation`);return}let i,a={};if(r.state_data)try{let e=JSON.parse(r.state_data);i=e.continuationReturnUrl;let{continuationScope:t,continuationReturnUrl:n,...o}=e;a=o}catch{}let o=r.state||j.PENDING,{state:s}=oL(o,{type:rL.COMPLETE_CONTINUATION});return s===o?console.warn(`completeLoginSessionContinuation: State transition from ${o} with COMPLETE_CONTINUATION was invalid or no-op`):await e.env.data.loginSessions.update(t,n.id,{state:s,state_data:Object.keys(a).length>0?JSON.stringify(a):void 0}),i}function TL(e){if(!e.state_data)return null;try{return JSON.parse(e.state_data).continuationScope||null}catch{return null}}function EL(e,t){if(e.state!==j.AWAITING_CONTINUATION)return!1;let n=TL(e);return n?n.includes(t):!1}async function DL(e,t){let{authParams:n,client:r,ticketAuth:i}=t,{user:a}=t,o=n.response_type||on.CODE,s=n.response_mode||sn.QUERY;if(i){if(!t.loginSession)throw new B(500,{message:`Login session not found for ticket auth.`});a&&!t.skipHooks&&(t.authStrategy&&a.app_metadata?.strategy!==t.authStrategy.strategy&&(a.app_metadata={...a.app_metadata,strategy:t.authStrategy.strategy},await e.env.data.users.update(r.tenant.id,a.user_id,{app_metadata:{...a.app_metadata||{},strategy:t.authStrategy.strategy}})),await hP(e,e.env.data,r.tenant.id,a,t.loginSession,{client:r,authParams:n,authStrategy:t.authStrategy,authConnection:t.authConnection}));let i=rae(),o=Mo(12),s=await e.env.data.codes.create(r.tenant.id,{code_id:Mo(32),code_type:`ticket`,login_id:t.loginSession.id,expires_at:new Date(Date.now()+wie).toISOString(),code_verifier:[o,i].join(`|`),redirect_uri:n.redirect_uri,state:n.state,nonce:n.nonce});return e.json({login_ticket:s.code_id,co_verifier:i,co_id:o})}let c=t.refreshToken,l;if(!t.loginSession)throw new B(500,{message:`loginSession must be provided for front-channel auth responses.`});let u=await e.env.data.loginSessions.get(r.tenant.id,t.loginSession.id);if(!u)throw new B(500,{message:`Login session not found.`});let d=u.state||j.PENDING;if(d===j.COMPLETED)throw new B(400,{error:`invalid_request`,error_description:`Login session has already been completed`});if(d===j.FAILED)throw new B(400,{error:`access_denied`,error_description:`Login session failed: ${u.failure_reason||`unknown reason`}`});if(d===j.PENDING||d===j.EXPIRED){l=await _L(e,{user:a,client:r,loginSession:t.loginSession,existingSessionId:t.existingSessionIdToLink,authConnection:t.authConnection});let n=await e.env.data.loginSessions.get(r.tenant.id,t.loginSession.id);n&&(u=n)}else if(l=u.session_id,!l)throw new B(500,{message:`Login session in ${d} state but has no session_id`});if(t.loginSession&&a){let n=u.state||j.PENDING,i={};if(u.state_data)try{i=JSON.parse(u.state_data)}catch{console.error(`Failed to parse state_data for login session`,u.id)}if(n===j.AWAITING_MFA){let n=`/u2/mfa/login-options`;if(i.authenticationMethodId){let t=(await e.env.data.authenticationMethods.list(r.tenant.id,a.user_id)).find(e=>e.id===i.authenticationMethodId);t?.confirmed&&t.type===`phone`?n=`/u2/mfa/phone-challenge`:t?.confirmed&&t.type===`totp`?n=`/u2/mfa/totp-challenge`:t?.confirmed&&(t.type===`passkey`||t.type===`webauthn-roaming`||t.type===`webauthn-platform`)?n=`/u2/passkey/challenge`:t?.type===`totp`?n=`/u2/mfa/totp-enrollment`:t?.type===`phone`&&(n=`/u2/mfa/phone-enrollment`)}return new Response(null,{status:302,headers:{location:`${n}?state=${encodeURIComponent(t.loginSession.id)}`}})}if(n===j.AUTHENTICATED&&!i.mfa_verified){let{checkMfaRequired:n,sendMfaOtp:o}=await Promise.resolve().then(()=>W5),s=await n(e,r.tenant.id,a.user_id);if(s.required){let{state:n}=oL(j.AUTHENTICATED,{type:rL.REQUIRE_MFA});if(s.enrolled){if(s.allEnrollments.length>1)return await e.env.data.loginSessions.update(r.tenant.id,t.loginSession.id,{state:n}),new Response(null,{status:302,headers:{location:`/u2/mfa/login-options?state=${encodeURIComponent(t.loginSession.id)}`}});if(await e.env.data.loginSessions.update(r.tenant.id,t.loginSession.id,{state:n,state_data:JSON.stringify({...i,authenticationMethodId:s.enrollment.id})}),s.enrollment.type===`totp`)return new Response(null,{status:302,headers:{location:`/u2/mfa/totp-challenge?state=${encodeURIComponent(t.loginSession.id)}`}});if(s.enrollment.type===`passkey`||s.enrollment.type===`webauthn-roaming`||s.enrollment.type===`webauthn-platform`)return new Response(null,{status:302,headers:{location:`/u2/passkey/challenge?state=${encodeURIComponent(t.loginSession.id)}`}});if(!s.enrollment.phone_number)throw Error(`MFA enrollment is missing phone_number`);return await o(e,r,t.loginSession,s.enrollment.phone_number),new Response(null,{status:302,headers:{location:`/u2/mfa/phone-challenge?state=${encodeURIComponent(t.loginSession.id)}`}})}else{let i=r.tenant,a=i.mfa?.factors?.otp===!0,o=i.mfa?.factors?.sms===!0,s=i.mfa?.factors?.webauthn_roaming===!0||i.mfa?.factors?.webauthn_platform===!0;return await e.env.data.loginSessions.update(r.tenant.id,t.loginSession.id,{state:n}),+!!a+ +!!o+ +!!s>1?new Response(null,{status:302,headers:{location:`/u2/mfa/login-options?state=${encodeURIComponent(t.loginSession.id)}`}}):a?new Response(null,{status:302,headers:{location:`/u2/mfa/totp-enrollment?state=${encodeURIComponent(t.loginSession.id)}`}}):s?new Response(null,{status:302,headers:{location:`/u2/passkey/enrollment?state=${encodeURIComponent(t.loginSession.id)}`}}):new Response(null,{status:302,headers:{location:`/u2/mfa/phone-enrollment?state=${encodeURIComponent(t.loginSession.id)}`}})}}}if(l&&CP(u.state_data)){let n=new Headers;return EN(r.tenant.id,l,e.var.host||``).forEach(e=>n.append(`set-cookie`,e)),n.set(`location`,`/u2/connect/start?state=${encodeURIComponent(t.loginSession.id)}`),new Response(null,{status:302,headers:n})}}if(t.loginSession&&a&&!r.is_first_party&&s!==sn.WEB_MESSAGE){let n=u.state||j.PENDING;if(n===j.AWAITING_CONSENT)return new Response(null,{status:302,headers:{location:`/u2/consent?state=${encodeURIComponent(t.loginSession.id)}`}});if(n===j.AUTHENTICATED){let n=u.authParams.scope?.split(` `).filter(Boolean)??[];if((await SP(e,{tenantId:r.tenant.id,userId:a.user_id,clientId:r.client_id,requestedScopes:n})).length>0){let{state:n}=oL(j.AUTHENTICATED,{type:rL.REQUIRE_CONSENT});return await e.env.data.loginSessions.update(r.tenant.id,t.loginSession.id,{state:n}),new Response(null,{status:302,headers:{location:`/u2/consent?state=${encodeURIComponent(t.loginSession.id)}`}})}}}if(t.loginSession&&a&&s!==sn.WEB_MESSAGE){let n=u.state||j.PENDING,i={};if(u.state_data)try{i=JSON.parse(u.state_data)}catch{}if(n===j.AUTHENTICATED&&!i.passkey_nudge_completed){let{checkPasskeyNudgeRequired:n}=await Promise.resolve().then(()=>require("./passkey-enrollment-CB7HjMH_.js"));if((await n(e,r.tenant.id,a.user_id,u.auth_connection)).show)return await CL(e,r.tenant.id,u,[`passkey-enrollment`],`/u/continue?state=${encodeURIComponent(t.loginSession.id)}`),new Response(null,{status:302,headers:{location:`/u2/passkey/enrollment-nudge?state=${encodeURIComponent(t.loginSession.id)}`}})}}let f=o.split(` `).includes(`code`);if(!c&&n.scope?.split(` `).includes(`offline_access`)&&o!==on.TOKEN&&!f&&!t.impersonatingUser&&(c=(await hL(e,{user:a,client:r,login_id:t.loginSession?.id||``,scope:n.scope,audience:n.audience})).wireToken),s===sn.SAML_POST){if(!l)throw new m(500,{message:`Session ID not available for SAML response`});return Dae(e,t.client,t.authParams,a,l)}let p=await OL(e,{authParams:n,user:a,client:r,session_id:l,refresh_token:c,authStrategy:t.authStrategy,authConnection:t.authConnection,loginSession:u,loginSessionIsCurrent:!0,responseType:o,skipHooks:t.skipHooks,organization:t.organization,impersonatingUser:t.impersonatingUser});if(p instanceof Response)return p;if(!n.redirect_uri)throw new B(400,{message:s===sn.WEB_MESSAGE?`Redirect URI not allowed for WEB_MESSAGE response mode.`:`Redirect uri not found for this response mode.`});let h=new Headers;l?EN(r.tenant.id,l,e.var.host||``).forEach(e=>{h.append(`set-cookie`,e)}):s===sn.WEB_MESSAGE&&console.warn(`Session ID not available for WEB_MESSAGE, cookie will not be set.`);let g=o.split(` `),_=g.includes(`code`),v=g.includes(`id_token`),y=g.includes(`token`),b={},x=`code`in p&&typeof p.code==`string`,S=`access_token`in p&&typeof p.access_token==`string`;if(x&&_&&(b.code=p.code),S&&(y&&(b.access_token=p.access_token,b.token_type=p.token_type,b.expires_in=p.expires_in.toString()),v&&p.id_token&&(b.id_token=p.id_token)),!x&&!S)throw new B(500,{message:`Invalid token response for front-channel flow.`});let C=(`state`in p&&typeof p.state==`string`?p.state:void 0)??n.state;if(C&&(b.state=C),(y||v)&&n.scope&&(b.scope=n.scope),s===sn.WEB_MESSAGE){let t=new URL(n.redirect_uri);return gP(e,`${t.protocol}//${t.host}`,JSON.stringify(b),h)}if(s===sn.FORM_POST)return vP(n.redirect_uri,b,h);let w=v||y,T=new URL(n.redirect_uri);if(w)T.hash=new URLSearchParams(b).toString();else for(let[e,t]of Object.entries(b))T.searchParams.set(e,t);return h.set(`location`,T.toString()),new Response(`Redirecting`,{status:302,headers:h})}async function OL(e,t){let{user:n}=t,r=t.responseType||on.TOKEN;if(n&&t.organization&&!(await e.env.data.userOrganizations.list(t.client.tenant.id,{q:`user_id:${n.user_id}`,per_page:1e3})).userOrganizations.some(e=>e.organization_id===t.organization.id))throw new B(403,{error:`access_denied`,error_description:`User is not a member of the specified organization`});let i=t.authParams.scope||``,a=[],o,s=Fa(e.env,e.var.custom_domain),c=t.authParams.audience??t.client.tenant.default_audience??`${s}userinfo`;if(c)try{let r;if(t.grantType===yi.ClientCredential||!n&&!t.user)r=await bP(e,{grantType:yi.ClientCredential,tenantId:t.client.tenant.id,clientId:t.client.client_id,audience:c,requestedScopes:t.authParams.scope?.split(` `)||[],organizationId:t.organization?.id});else{let i=n?.user_id||t.user?.user_id;if(!i)throw new B(400,{error:`invalid_request`,error_description:`User ID is required for user-based grants`});r=await bP(e,{grantType:t.grantType,tenantId:t.client.tenant.id,userId:i,clientId:t.client.client_id,audience:c,requestedScopes:t.authParams.scope?.split(` `)||[],organizationId:t.organization?.id})}i=r.scopes.join(` `),a=r.permissions,o=t.client.app_type===`spa`&&r.token_lifetime_for_web?r.token_lifetime_for_web:r.token_lifetime}catch(e){if(e instanceof m)throw e}let l={...t.authParams,scope:i};if(t.loginSession&&n&&!t.skipHooks){t.authStrategy&&n.app_metadata?.strategy!==t.authStrategy.strategy&&(n.app_metadata={...n.app_metadata,strategy:t.authStrategy.strategy},await e.env.data.users.update(t.client.tenant.id,n.user_id,{app_metadata:{...n.app_metadata||{},strategy:t.authStrategy.strategy}}));let r=await hP(e,e.env.data,t.client.tenant.id,n,t.loginSession,{client:t.client,authParams:l,authStrategy:t.authStrategy,authConnection:t.authConnection});if(r instanceof Response)return r;n=r}let u=Wa({loginSession:t.loginSession,authConnection:t.authConnection,ctxConnection:e.var.connection}),d=r.split(` `),f=d.includes(`code`),p=d.includes(`id_token`)||d.includes(`token`),h=f&&p;if(r===on.CODE){if(!n||!t.loginSession)throw new B(500,{message:`User and loginSession is required for code flow`});let r=await pL(e,{user:n,client:t.client,authParams:l,login_id:t.loginSession.id});return await SL(e,t.client.tenant.id,t.loginSession,u,t.loginSessionIsCurrent?t.loginSession:void 0),r}else if(h){if(!n||!t.loginSession)throw new B(500,{message:`User and loginSession is required for hybrid flow`});let r=await pL(e,{user:n,client:t.client,authParams:l,login_id:t.loginSession.id}),i=await fL(e,{...t,user:n,authParams:l,permissions:a,token_lifetime:o,code:r.code});return await SL(e,t.client.tenant.id,t.loginSession,u,t.loginSessionIsCurrent?t.loginSession:void 0),{...i,code:r.code,state:r.state}}else{let r=await fL(e,{...t,user:n,authParams:l,permissions:a,token_lifetime:o});return t.loginSession&&await SL(e,t.client.tenant.id,t.loginSession,u,t.loginSessionIsCurrent?t.loginSession:void 0),r}}var kL=`auth-service`,AL=3600,jL=[`sub`,`iss`,`aud`,`exp`,`nbf`,`iat`,`jti`,`scope`,`azp`,`tenant_id`];async function ML(e){let{tenants:t,keys:n,tenantId:r,scope:i,issuer:a}=e,o=await t.get(r);if(!o)throw Error(`Tenant not found: ${r}`);let s=o.audience;if(!s)throw Error(`Cannot mint service token: tenant "${r}" has no default audience`);if(e.customClaims){for(let t of jL)if(t in e.customClaims)throw Error(`Cannot overwrite reserved claim '${t}'`)}let c=(await FM(n,r,e.signingKeyMode,{purpose:`sign`}))[0];if(!c?.pkcs7||!c.cert)throw Error(`No signing key available`);let l=mN(c.pkcs7),u=await vN(c.cert),d=e.expiresInSeconds??AL;return{access_token:await Bv(u,l,{aud:s,scope:i,sub:kL,azp:kL,iss:a,tenant_id:r,...e.customClaims},{includeIssuedTimestamp:!0,expiresIn:new zv(d,`s`),headers:{kid:c.kid}}),token_type:`Bearer`,expires_in:d}}async function NL(e,t,n,r,i){let a=await e.env.data.tenants.get(t);if(!a)throw Error(`Tenant not found: ${t}`);let o=await fL(e,{client:{client_id:kL,tenant:a,auth0_conformant:!0},authParams:{client_id:kL,response_type:on.TOKEN,scope:n,audience:a.audience},customClaims:i});return{access_token:o.access_token,token_type:o.token_type,expires_in:r||AL}}function PL(e){return async(t,n=`webhook`)=>(await ML({tenants:e.tenants,keys:e.keys,tenantId:t,scope:n,issuer:e.issuer,signingKeyMode:e.signingKeyMode})).access_token}async function FL(e,t){let n=e.env.data.multiTenancyConfig;return n?.resolveControlPlane?(await n.resolveControlPlane({tenant_id:t}))?.tenantId:n?.controlPlaneTenantId}async function IL(e,t,n,r){let{clientId:i,scope:a}=n;if(!await e.env.data.tenants.get(t))throw Error(`Tenant not found: ${t}`);let o=t,s=await e.env.data.clients.get(t,i);if(!s&&r?.allowControlPlaneFallback){let n=await FL(e,t);if(n&&n!==t){let t=await e.env.data.clients.get(n,i);t&&(s=t,o=n)}}if(!s)throw Error(`Client not found: ${i}`);let c=(await e.env.data.clientGrants.list(o,{q:`client_id:"${i}"`})).client_grants;if(c.length===0)throw Error(`Client has no client_grant: ${i}`);let l,u;if(n.audience){if(u=c.find(e=>e.audience===n.audience),!u)throw Error(`Client ${i} has no client_grant for audience: ${n.audience}`);l=n.audience}else if(c.length===1)u=c[0],l=u.audience;else throw Error(`audience is required: client ${i} has multiple client_grants`);let d=u.scope||[],f=a.split(/\s+/).filter(Boolean),p=f.filter(e=>!d.includes(e));if(p.length>0)throw Error(`access_denied: Client is not authorized for scope(s): ${p.join(`, `)}`);if(n.customClaims){for(let e of jL)if(e in n.customClaims)throw Error(`Cannot overwrite reserved claim '${e}'`)}let m=(await FM(e.env.data.keys,o,e.env.signingKeyMode,{purpose:`sign`}))[0];if(!m?.pkcs7||!m.cert)throw Error(`No signing key available`);let h=mN(m.pkcs7),g=await vN(m.cert),_=n.expiresInSeconds??AL;return{access_token:await Bv(g,h,{...n.customClaims,aud:l,scope:f.join(` `),sub:i,azp:i,iss:Fa(e.env),tenant_id:o,gty:`client_credentials`},{includeIssuedTimestamp:!0,expiresIn:new zv(_,`s`),headers:{kid:m.kid}}),token_type:`Bearer`,expires_in:_}}function LL(e){let t=new Set,n=e;for(;n&&n!==Object.prototype;){for(let e of Object.getOwnPropertyNames(n))e!==`constructor`&&t.add(e);n=Object.getPrototypeOf(n)}return Array.from(t)}function RL(e){let t=Reflect.get(e,`webSocket`);return e.status===101||t!=null}function zL(e){return RL(e)?e:new Response(e.body,e)}function BL(e){e.res=zL(e.res)}function VL(e,t,n){let r=e.get(`serverTiming`);r?r.push({name:t,dur:n}):e.set(`serverTiming`,[{name:t,dur:n}])}function HL(e,t){return e?t.split(`,`).map(e=>e.trim()).filter(Boolean).includes(e):!1}var UL=async(e,t)=>{await t();let n=e.env.SERVER_TIMING??`off`;if(n===`off`)return;let r=e.get(`serverTiming`);if(!r||r.length===0)return;let i=r.map(e=>`${e.name};dur=${e.dur.toFixed(2)}`).join(`, `);if((n===`log`||n===`both`)&&console.log(JSON.stringify({msg:`server-timing`,method:e.req.method,path:e.req.path,ip:e.get(`ip`),tenant_id:e.get(`tenant_id`),timing:i})),n===`client`||n===`both`){if(e.res.status===101||`webSocket`in e.res)return;let t=e.env.SERVER_TIMING_IPS;if(!t||HL(e.get(`ip`),t)){BL(e);let t=e.res.headers.get(`Server-Timing`);e.res.headers.set(`Server-Timing`,t?`${t}, ${i}`:i)}}};function WL(e){if(!e)return`unknown`;let t=e.indexOf(`:`);return t===-1?e:e.slice(0,t)}function GL(e,t){let n=async(t,n)=>{let r=performance.now();try{return await n()}finally{VL(e,t,performance.now()-r)}};return{get(e){return n(`cache-get:${WL(e)}`,()=>t.get(e))},set(e,r,i){return n(`cache-set:${WL(e)}`,()=>t.set(e,r,i))},delete(e){return n(`cache-delete:${WL(e)}`,()=>t.delete(e))},deleteByPrefix(e){return n(`cache-deleteByPrefix:${WL(e)}`,()=>t.deleteByPrefix(e))},clear(){return n(`cache-clear`,()=>t.clear())}}}function KL(e,t){let n={};for(let[r,i]of Object.entries(t)){if(i==null)continue;if(typeof i==`function`){n[r]=i;continue}let t={};for(let n of LL(i)){let a=i[n];if(typeof a==`function`){let o=a.bind(i);t[n]=async(...t)=>{let i=performance.now();try{let a=await o(...t);return VL(e,`${r}-${n}`,performance.now()-i),a}catch(t){throw VL(e,`${r}-${n}-error`,performance.now()-i),t}}}else t[n]=a}n[r]=t}return n}async function qL(e,t,n){n?.user&&(n={...n,user:VN(n.user)});let r=e.env.webhookInvoker,i=async(t=`webhook`)=>(await NL(e,n.tenant_id,t)).access_token,a,o;try{let s=performance.now(),c=r?await r({hook:t,data:n,tenant_id:n.tenant_id,createServiceToken:i}):await fetch(t.url,{method:`POST`,headers:{Authorization:`Bearer ${await i()}`,"Content-Type":`application/json`},body:JSON.stringify(n)}),l=performance.now()-s;if(VL(e,`webhook-${t.hook_id}`,l),o=c.status,c.ok)await P(e,n.tenant_id,{type:M.SUCCESS_HOOK,description:`Invoked hook ${t.hook_id} - ${c.status}`,userId:n.user?.user_id,details:{trigger_id:n.trigger_id,hook_id:t.hook_id,hook_url:t.url,user_id:n.user?.user_id,user_name:n.user?.name||n.user?.email,connection:n.user?.connection,duration_ms:Math.round(l),response:{statusCode:o}},connection:n.user?.connection});else{try{a=await c.text()}catch{}let r=`Failed to invoke hook ${t.hook_id} - ${c.status} ${c.statusText}`;console.error(r,{hook_url:t.url,body:a?.substring(0,512)}),await P(e,n.tenant_id,{type:M.FAILED_HOOK,description:r,userId:n.user?.user_id,details:{trigger_id:n.trigger_id,hook_id:t.hook_id,hook_url:t.url,user_id:n.user?.user_id,user_name:n.user?.name||n.user?.email,connection:n.user?.connection,response:{statusCode:o,body:a?.substring(0,512)}},connection:n.user?.connection,waitForCompletion:!0})}return{ok:c.ok,status:o,body:a}}catch(r){let i=`Failed to invoke hook ${t.hook_id} - ${r instanceof Error?r.message:`Unknown error`}`;return console.error(i,r),await P(e,n.tenant_id,{type:M.FAILED_HOOK,description:i,userId:n.user?.user_id,details:{trigger_id:n.trigger_id,hook_id:t.hook_id,hook_url:t.url,user_id:n.user?.user_id,user_name:n.user?.name||n.user?.email,connection:n.user?.connection,error:r instanceof Error?r.message:String(r)},connection:n.user?.connection,waitForCompletion:!0}),{ok:!1,error:r instanceof Error?r.message:String(r)}}}async function JL(e,t,n){for(let r of t.filter(e=>`url`in e))await qL(e,r,n)}function YL(e){return async(t,n)=>{let{hooks:r}=await e.env.data.hooks.list(t);await JL(e,r.filter(e=>e.trigger_id===`pre-user-registration`),{tenant_id:t,email:n,trigger_id:`pre-user-registration`})}}async function XL(e,t){let{hooks:n}=await e.env.data.hooks.list(t);return n.find(e=>e.trigger_id===`validate-registration-username`&&`url`in e&&e.enabled)||null}function ZL(e){return async(t,n)=>{let{hooks:r}=await e.env.data.hooks.list(t);return await JL(e,r.filter(e=>e.trigger_id===`pre-user-deletion`),{tenant_id:t,user:n,trigger_id:`pre-user-deletion`}),n}}var QL=St.extend({hooks:f.z.array(yr)}),$L=F({route:(0,f.createRoute)({tags:[`hooks`],method:`get`,path:`/`,request:{query:ro,headers:f.z.object({"tenant-id":f.z.string().optional()})},security:[{Bearer:[`read:hooks`]}],responses:{200:{content:{"application/json":{schema:f.z.union([f.z.array(yr),QL])}},description:`List of hooks`}}}),handler:async e=>{let{page:t,per_page:n,include_totals:r,sort:i,q:a}=e.req.valid(`query`),o=await e.env.data.hooks.list(e.var.tenant_id,{page:t,per_page:n,include_totals:r,sort:io(i),q:a});return r?e.json(o):e.json(o.hooks)}}),eR=F({route:(0,f.createRoute)({tags:[`hooks`],method:`post`,path:`/`,request:{headers:f.z.object({"tenant-id":f.z.string().optional()}),body:{content:{"application/json":{schema:mr}}}},security:[{Bearer:[`create:hooks`]}],responses:{201:{content:{"application/json":{schema:yr}},description:`The created hook`}}}),handler:async e=>{let t=e.req.valid(`json`),n={...t,hook_id:t.hook_id||Ro()},r=await e.env.data.hooks.create(e.var.tenant_id,n);return await P(e,e.var.tenant_id,{type:M.SUCCESS_API_OPERATION,description:`Create a Hook`,targetType:`hook`,targetId:r.hook_id,afterState:r}),e.json(r,{status:201})}}),tR=F({route:(0,f.createRoute)({tags:[`hooks`],method:`patch`,path:`/{hook_id}`,request:{headers:f.z.object({"tenant-id":f.z.string().optional()}),params:f.z.object({hook_id:f.z.string()}),body:{content:{"application/json":{schema:f.z.union(mr.options.map(e=>e.omit({hook_id:!0}).partial()))}}}},security:[{Bearer:[`update:hooks`]}],responses:{200:{content:{"application/json":{schema:yr}},description:`The updated hook`},404:{description:`Hook not found`}}}),handler:async e=>{let{hook_id:t}=e.req.valid(`param`),n=e.req.valid(`json`);await e.env.data.hooks.update(e.var.tenant_id,t,n);let r=await e.env.data.hooks.get(e.var.tenant_id,t);if(!r)throw new m(404,{message:`Hook not found`});return await P(e,e.var.tenant_id,{type:M.SUCCESS_API_OPERATION,description:`Update a Hook`,targetType:`hook`,targetId:t,afterState:r}),e.json(r)}}),nR=F({route:(0,f.createRoute)({tags:[`hooks`],method:`get`,path:`/{hook_id}`,request:{headers:f.z.object({"tenant-id":f.z.string().optional()}),params:f.z.object({hook_id:f.z.string()})},security:[{Bearer:[`read:hooks`]}],responses:{200:{content:{"application/json":{schema:yr}},description:`A hook`},404:{description:`Hook not found`}}}),handler:async e=>{let{hook_id:t}=e.req.valid(`param`),n=await e.env.data.hooks.get(e.var.tenant_id,t);if(!n)throw new m(404,{message:`Hook not found`});return e.json(n)}}),rR=F({route:(0,f.createRoute)({tags:[`hooks`],method:`delete`,path:`/{hook_id}`,request:{headers:f.z.object({"tenant-id":f.z.string().optional()}),params:f.z.object({hook_id:f.z.string()})},security:[{Bearer:[`delete:hooks`]}],responses:{200:{description:`A hook`}}}),handler:async e=>{let{hook_id:t}=e.req.valid(`param`);if(!await e.env.data.hooks.remove(e.var.tenant_id,t))throw new m(404,{message:`Hook not found`});return await P(e,e.var.tenant_id,{type:M.SUCCESS_API_OPERATION,description:`Delete a Hook`,targetType:`hook`,targetId:t}),e.text(`OK`)}}),iR=F({route:(0,f.createRoute)({tags:[`hooks`],method:`post`,path:`/{hook_id}/try`,request:{headers:f.z.object({"tenant-id":f.z.string().optional()}),params:f.z.object({hook_id:f.z.string()}),body:{content:{"application/json":{schema:f.z.object({user_id:f.z.string()})}}}},security:[{Bearer:[`update:hooks`]}],responses:{200:{content:{"application/json":{schema:f.z.object({ok:f.z.boolean(),status:f.z.number().optional(),body:f.z.string().optional(),error:f.z.string().optional()})}},description:`Invokes the webhook with the given user and returns the upstream response. authhero extension; not available in Auth0.`},400:{description:`Hook is not a web hook`},404:{description:`Hook or user not found`}}}),handler:async e=>{let{hook_id:t}=e.req.valid(`param`),{user_id:n}=e.req.valid(`json`),r=await e.env.data.hooks.get(e.var.tenant_id,t);if(!r)throw new m(404,{message:`Hook not found`});if(!(`url`in r))throw new m(400,{message:`Only web hooks can be tried`});let i=await e.env.data.users.get(e.var.tenant_id,n);if(!i)throw new m(404,{message:`User not found`});let a=await qL(e,r,{tenant_id:e.var.tenant_id,user:i,trigger_id:r.trigger_id});return await P(e,e.var.tenant_id,{type:M.SUCCESS_API_OPERATION,description:`Try a Hook (${t})`,targetType:`hook`,targetId:t}),e.json(a)}}),aR=new f.OpenAPIHono().openapiRoutes([$L,eR,tR,nR,rR,iR]),oR=xr.extend({deploymentStatus:f.z.enum([`deployed`,`failed`,`not_required`]),deploymentError:f.z.string().optional()}),sR=F({route:(0,f.createRoute)({tags:[`hook-code`],method:`post`,path:`/`,request:{headers:f.z.object({"tenant-id":f.z.string().optional()}),body:{content:{"application/json":{schema:br}}}},security:[{Bearer:[`create:hooks`]}],responses:{201:{content:{"application/json":{schema:oR}},description:`The created hook code`}}}),handler:async e=>{let t=e.req.valid(`json`),n=await e.env.data.hookCode.create(e.var.tenant_id,t),r=`not_required`,i;if(e.env.codeExecutor?.deploy)try{await e.env.codeExecutor.deploy(n.id,t.code),r=`deployed`}catch(t){r=`failed`,i=t instanceof Error?t.message:String(t),await P(e,e.var.tenant_id,{type:M.FAILED_HOOK,description:`Failed to deploy hook code ${n.id}: ${i}`})}return await P(e,e.var.tenant_id,{type:M.SUCCESS_API_OPERATION,description:`Create hook code`,targetType:`hook_code`,targetId:n.id}),e.json({...n,deploymentStatus:r,deploymentError:i},{status:201})}}),cR=F({route:(0,f.createRoute)({tags:[`hook-code`],method:`get`,path:`/{id}`,request:{headers:f.z.object({"tenant-id":f.z.string().optional()}),params:f.z.object({id:f.z.string()})},security:[{Bearer:[`read:hooks`]}],responses:{200:{content:{"application/json":{schema:xr}},description:`The hook code`},404:{description:`Hook code not found`}}}),handler:async e=>{let{id:t}=e.req.valid(`param`),n=await e.env.data.hookCode.get(e.var.tenant_id,t);if(!n)throw new m(404,{message:`Hook code not found`});return e.json(n)}}),lR=F({route:(0,f.createRoute)({tags:[`hook-code`],method:`put`,path:`/{id}`,request:{headers:f.z.object({"tenant-id":f.z.string().optional()}),params:f.z.object({id:f.z.string()}),body:{content:{"application/json":{schema:br}}}},security:[{Bearer:[`update:hooks`]}],responses:{200:{content:{"application/json":{schema:oR}},description:`The updated hook code`},404:{description:`Hook code not found`}}}),handler:async e=>{let{id:t}=e.req.valid(`param`),n=e.req.valid(`json`);if(!await e.env.data.hookCode.update(e.var.tenant_id,t,n))throw new m(404,{message:`Hook code not found`});let r=await e.env.data.hookCode.get(e.var.tenant_id,t);if(!r)throw new m(404,{message:`Hook code not found`});let i=`not_required`,a;if(n.code!==void 0&&e.env.codeExecutor?.deploy)try{await e.env.codeExecutor.deploy(t,n.code),i=`deployed`}catch(n){i=`failed`,a=n instanceof Error?n.message:String(n),await P(e,e.var.tenant_id,{type:M.FAILED_HOOK,description:`Failed to deploy hook code ${t}: ${a}`})}return await P(e,e.var.tenant_id,{type:M.SUCCESS_API_OPERATION,description:`Update hook code`,targetType:`hook_code`,targetId:t}),e.json({...r,deploymentStatus:i,deploymentError:a})}}),uR=F({route:(0,f.createRoute)({tags:[`hook-code`],method:`delete`,path:`/{id}`,request:{headers:f.z.object({"tenant-id":f.z.string().optional()}),params:f.z.object({id:f.z.string()})},security:[{Bearer:[`delete:hooks`]}],responses:{200:{description:`Hook code deleted`}}}),handler:async e=>{let{id:t}=e.req.valid(`param`);if(!await e.env.data.hookCode.remove(e.var.tenant_id,t))throw new m(404,{message:`Hook code not found`});if(e.env.codeExecutor?.remove)try{await e.env.codeExecutor.remove(t)}catch(n){await P(e,e.var.tenant_id,{type:M.FAILED_HOOK,description:`Failed to remove hook worker ${t}: ${n instanceof Error?n.message:String(n)}`})}return await P(e,e.var.tenant_id,{type:M.SUCCESS_API_OPERATION,description:`Delete hook code`,targetType:`hook_code`,targetId:t}),e.text(`OK`)}}),dR=new f.OpenAPIHono().openapiRoutes([sR,cR,lR,uR]);f.z.object({start:f.z.number(),limit:f.z.number(),length:f.z.number()}),Et.extend({email:f.z.string(),login_count:f.z.number(),multifactor:f.z.array(f.z.string()).optional(),last_ip:f.z.string().optional(),last_login:f.z.string().optional(),user_id:f.z.string()}).catchall(f.z.any());function fR(){return`u2/try-connection-result`}function pR(e,t){return`${Fa(e,t)}${fR()}`}async function mR(e,t){let n=Eie(t);if(await e.data.clients.get(t,n))return n;let r=pR(e);try{await e.data.clients.create(t,{client_id:n,name:`AuthHero Try Connection`,callbacks:[r],allowed_logout_urls:[],web_origins:[],connections:[],client_metadata:{system_purpose:`try_connection`}})}catch(r){if(!await e.data.clients.get(t,n))throw r}return n}async function hR(e,t){let n=(await e.data.customDomains.list(t)).filter(e=>e.status===`ready`);return(n.find(e=>e.primary)??n[0])?.domain}var gR=class extends m{_code;constructor(e,t){super(e,t),this._code=t?.code}get code(){return this._code}},_R={version:4,country_calling_codes:{1:[`US`,`AG`,`AI`,`AS`,`BB`,`BM`,`BS`,`CA`,`DM`,`DO`,`GD`,`GU`,`JM`,`KN`,`KY`,`LC`,`MP`,`MS`,`PR`,`SX`,`TC`,`TT`,`VC`,`VG`,`VI`],7:[`RU`,`KZ`],20:[`EG`],27:[`ZA`],30:[`GR`],31:[`NL`],32:[`BE`],33:[`FR`],34:[`ES`],36:[`HU`],39:[`IT`,`VA`],40:[`RO`],41:[`CH`],43:[`AT`],44:[`GB`,`GG`,`IM`,`JE`],45:[`DK`],46:[`SE`],47:[`NO`,`SJ`],48:[`PL`],49:[`DE`],51:[`PE`],52:[`MX`],53:[`CU`],54:[`AR`],55:[`BR`],56:[`CL`],57:[`CO`],58:[`VE`],60:[`MY`],61:[`AU`,`CC`,`CX`],62:[`ID`],63:[`PH`],64:[`NZ`],65:[`SG`],66:[`TH`],81:[`JP`],82:[`KR`],84:[`VN`],86:[`CN`],90:[`TR`],91:[`IN`],92:[`PK`],93:[`AF`],94:[`LK`],95:[`MM`],98:[`IR`],211:[`SS`],212:[`MA`,`EH`],213:[`DZ`],216:[`TN`],218:[`LY`],220:[`GM`],221:[`SN`],222:[`MR`],223:[`ML`],224:[`GN`],225:[`CI`],226:[`BF`],227:[`NE`],228:[`TG`],229:[`BJ`],230:[`MU`],231:[`LR`],232:[`SL`],233:[`GH`],234:[`NG`],235:[`TD`],236:[`CF`],237:[`CM`],238:[`CV`],239:[`ST`],240:[`GQ`],241:[`GA`],242:[`CG`],243:[`CD`],244:[`AO`],245:[`GW`],246:[`IO`],247:[`AC`],248:[`SC`],249:[`SD`],250:[`RW`],251:[`ET`],252:[`SO`],253:[`DJ`],254:[`KE`],255:[`TZ`],256:[`UG`],257:[`BI`],258:[`MZ`],260:[`ZM`],261:[`MG`],262:[`RE`,`YT`],263:[`ZW`],264:[`NA`],265:[`MW`],266:[`LS`],267:[`BW`],268:[`SZ`],269:[`KM`],290:[`SH`,`TA`],291:[`ER`],297:[`AW`],298:[`FO`],299:[`GL`],350:[`GI`],351:[`PT`],352:[`LU`],353:[`IE`],354:[`IS`],355:[`AL`],356:[`MT`],357:[`CY`],358:[`FI`,`AX`],359:[`BG`],370:[`LT`],371:[`LV`],372:[`EE`],373:[`MD`],374:[`AM`],375:[`BY`],376:[`AD`],377:[`MC`],378:[`SM`],380:[`UA`],381:[`RS`],382:[`ME`],383:[`XK`],385:[`HR`],386:[`SI`],387:[`BA`],389:[`MK`],420:[`CZ`],421:[`SK`],423:[`LI`],500:[`FK`],501:[`BZ`],502:[`GT`],503:[`SV`],504:[`HN`],505:[`NI`],506:[`CR`],507:[`PA`],508:[`PM`],509:[`HT`],590:[`GP`,`BL`,`MF`],591:[`BO`],592:[`GY`],593:[`EC`],594:[`GF`],595:[`PY`],596:[`MQ`],597:[`SR`],598:[`UY`],599:[`CW`,`BQ`],670:[`TL`],672:[`NF`],673:[`BN`],674:[`NR`],675:[`PG`],676:[`TO`],677:[`SB`],678:[`VU`],679:[`FJ`],680:[`PW`],681:[`WF`],682:[`CK`],683:[`NU`],685:[`WS`],686:[`KI`],687:[`NC`],688:[`TV`],689:[`PF`],690:[`TK`],691:[`FM`],692:[`MH`],850:[`KP`],852:[`HK`],853:[`MO`],855:[`KH`],856:[`LA`],880:[`BD`],886:[`TW`],960:[`MV`],961:[`LB`],962:[`JO`],963:[`SY`],964:[`IQ`],965:[`KW`],966:[`SA`],967:[`YE`],968:[`OM`],970:[`PS`],971:[`AE`],972:[`IL`],973:[`BH`],974:[`QA`],975:[`BT`],976:[`MN`],977:[`NP`],992:[`TJ`],993:[`TM`],994:[`AZ`],995:[`GE`],996:[`KG`],998:[`UZ`]},countries:{AC:[`247`,`00`,`(?:[01589]\\d|[46])\\d{4}`,[5,6]],AD:[`376`,`00`,`(?:1|6\\d)\\d{7}|[135-9]\\d{5}`,[6,8,9],[[`(\\d{3})(\\d{3})`,`$1 $2`,[`[135-9]`]],[`(\\d{4})(\\d{4})`,`$1 $2`,[`1`]],[`(\\d{3})(\\d{3})(\\d{3})`,`$1 $2 $3`,[`6`]]]],AE:[`971`,`00`,`(?:[4-7]\\d|9[0-689])\\d{7}|800\\d{2,9}|[2-4679]\\d{7}`,[5,6,7,8,9,10,11,12],[[`(\\d{3})(\\d{2,9})`,`$1 $2`,[`60|8`]],[`(\\d)(\\d{3})(\\d{4})`,`$1 $2 $3`,[`[236]|[479][2-8]`],`0$1`],[`(\\d{3})(\\d)(\\d{5})`,`$1 $2 $3`,[`[479]`]],[`(\\d{2})(\\d{3})(\\d{4})`,`$1 $2 $3`,[`5`],`0$1`]],`0`],AF:[`93`,`00`,`[2-7]\\d{8}`,[9],[[`(\\d{2})(\\d{3})(\\d{4})`,`$1 $2 $3`,[`[2-7]`],`0$1`]],`0`],AG:[`1`,`011`,`(?:268|[58]\\d\\d|900)\\d{7}`,[10],0,`1`,0,`([457]\\d{6})$|1`,`268$1`,0,`268`],AI:[`1`,`011`,`(?:264|[58]\\d\\d|900)\\d{7}`,[10],0,`1`,0,`([2457]\\d{6})$|1`,`264$1`,0,`264`],AL:[`355`,`00`,`(?:700\\d\\d|900)\\d{3}|8\\d{5,7}|(?:[2-5]|6\\d)\\d{7}`,[6,7,8,9],[[`(\\d{3})(\\d{3,4})`,`$1 $2`,[`80|9`],`0$1`],[`(\\d)(\\d{3})(\\d{4})`,`$1 $2 $3`,[`4[2-6]`],`0$1`],[`(\\d{2})(\\d{3})(\\d{3})`,`$1 $2 $3`,[`[2358][2-5]|4`],`0$1`],[`(\\d{3})(\\d{5})`,`$1 $2`,[`[23578]`],`0$1`],[`(\\d{2})(\\d{3})(\\d{4})`,`$1 $2 $3`,[`6`],`0$1`]],`0`],AM:[`374`,`00`,`(?:[1-489]\\d|55|60|77)\\d{6}`,[8],[[`(\\d{3})(\\d{2})(\\d{3})`,`$1 $2 $3`,[`[89]0`],`0 $1`],[`(\\d{3})(\\d{5})`,`$1 $2`,[`2|3[12]`],`(0$1)`],[`(\\d{2})(\\d{6})`,`$1 $2`,[`1|47`],`(0$1)`],[`(\\d{2})(\\d{6})`,`$1 $2`,[`[3-9]`],`0$1`]],`0`],AO:[`244`,`00`,`[29]\\d{8}`,[9],[[`(\\d{3})(\\d{3})(\\d{3})`,`$1 $2 $3`,[`[29]`]]]],AR:[`54`,`00`,`(?:11|[89]\\d\\d)\\d{8}|[2368]\\d{9}`,[10,11],[[`(\\d{4})(\\d{2})(\\d{4})`,`$1 $2-$3`,[`2(?:2[024-9]|3[0-59]|47|6[245]|9[02-8])|3(?:3[28]|4[03-9]|5[2-46-8]|7[1-578]|8[2-9])`,`2(?:[23]02|6(?:[25]|4[6-8])|9(?:[02356]|4[02568]|72|8[23]))|3(?:3[28]|4(?:[04679]|3[5-8]|5[4-68]|8[2379])|5(?:[2467]|3[237]|8[2-5])|7[1-578]|8(?:[2469]|3[2578]|5[4-8]|7[36-8]|8[5-8]))|2(?:2[24-9]|3[1-59]|47)`,`2(?:[23]02|6(?:[25]|4(?:64|[78]))|9(?:[02356]|4(?:[0268]|5[2-6])|72|8[23]))|3(?:3[28]|4(?:[04679]|3[78]|5(?:4[46]|8)|8[2379])|5(?:[2467]|3[237]|8[23])|7[1-578]|8(?:[2469]|3[278]|5[56][46]|86[3-6]))|2(?:2[24-9]|3[1-59]|47)|38(?:[58][78]|7[378])|3(?:4[35][56]|58[45]|8(?:[38]5|54|76))[4-6]`,`2(?:[23]02|6(?:[25]|4(?:64|[78]))|9(?:[02356]|4(?:[0268]|5[2-6])|72|8[23]))|3(?:3[28]|4(?:[04679]|3(?:5(?:4[0-25689]|[56])|[78])|58|8[2379])|5(?:[2467]|3[237]|8(?:[23]|4(?:[45]|60)|5(?:4[0-39]|5|64)))|7[1-578]|8(?:[2469]|3[278]|54(?:4|5[13-7]|6[89])|86[3-6]))|2(?:2[24-9]|3[1-59]|47)|38(?:[58][78]|7[378])|3(?:454|85[56])[46]|3(?:4(?:36|5[56])|8(?:[38]5|76))[4-6]`],`0$1`,1],[`(\\d{2})(\\d{4})(\\d{4})`,`$1 $2-$3`,[`1`],`0$1`,1],[`(\\d{3})(\\d{3})(\\d{4})`,`$1-$2-$3`,[`[68]`],`0$1`],[`(\\d{3})(\\d{3})(\\d{4})`,`$1 $2-$3`,[`[23]`],`0$1`,1],[`(\\d)(\\d{4})(\\d{2})(\\d{4})`,`$2 15-$3-$4`,[`9(?:2[2-469]|3[3-578])`,`9(?:2(?:2[024-9]|3[0-59]|47|6[245]|9[02-8])|3(?:3[28]|4[03-9]|5[2-46-8]|7[1-578]|8[2-9]))`,`9(?:2(?:[23]02|6(?:[25]|4[6-8])|9(?:[02356]|4[02568]|72|8[23]))|3(?:3[28]|4(?:[04679]|3[5-8]|5[4-68]|8[2379])|5(?:[2467]|3[237]|8[2-5])|7[1-578]|8(?:[2469]|3[2578]|5[4-8]|7[36-8]|8[5-8])))|92(?:2[24-9]|3[1-59]|47)`,`9(?:2(?:[23]02|6(?:[25]|4(?:64|[78]))|9(?:[02356]|4(?:[0268]|5[2-6])|72|8[23]))|3(?:3[28]|4(?:[04679]|3[78]|5(?:4[46]|8)|8[2379])|5(?:[2467]|3[237]|8[23])|7[1-578]|8(?:[2469]|3[278]|5(?:[56][46]|[78])|7[378]|8(?:6[3-6]|[78]))))|92(?:2[24-9]|3[1-59]|47)|93(?:4[35][56]|58[45]|8(?:[38]5|54|76))[4-6]`,`9(?:2(?:[23]02|6(?:[25]|4(?:64|[78]))|9(?:[02356]|4(?:[0268]|5[2-6])|72|8[23]))|3(?:3[28]|4(?:[04679]|3(?:5(?:4[0-25689]|[56])|[78])|5(?:4[46]|8)|8[2379])|5(?:[2467]|3[237]|8(?:[23]|4(?:[45]|60)|5(?:4[0-39]|5|64)))|7[1-578]|8(?:[2469]|3[278]|5(?:4(?:4|5[13-7]|6[89])|[56][46]|[78])|7[378]|8(?:6[3-6]|[78]))))|92(?:2[24-9]|3[1-59]|47)|93(?:4(?:36|5[56])|8(?:[38]5|76))[4-6]`],`0$1`,0,`$1 $2 $3-$4`],[`(\\d)(\\d{2})(\\d{4})(\\d{4})`,`$2 15-$3-$4`,[`91`],`0$1`,0,`$1 $2 $3-$4`],[`(\\d{3})(\\d{3})(\\d{5})`,`$1-$2-$3`,[`8`],`0$1`],[`(\\d)(\\d{3})(\\d{3})(\\d{4})`,`$2 15-$3-$4`,[`9`],`0$1`,0,`$1 $2 $3-$4`]],`0`,0,`0?(?:(11|2(?:2(?:02?|[13]|2[13-79]|4[1-6]|5[2457]|6[124-8]|7[1-4]|8[13-6]|9[1267])|3(?:02?|1[467]|2[03-6]|3[13-8]|[49][2-6]|5[2-8]|[67])|4(?:7[3-578]|9)|6(?:[0136]|2[24-6]|4[6-8]?|5[15-8])|80|9(?:0[1-3]|[19]|2\\d|3[1-6]|4[02568]?|5[2-4]|6[2-46]|72?|8[23]?))|3(?:3(?:2[79]|6|8[2578])|4(?:0[0-24-9]|[12]|3[5-8]?|4[24-7]|5[4-68]?|6[02-9]|7[126]|8[2379]?|9[1-36-8])|5(?:1|2[1245]|3[237]?|4[1-46-9]|6[2-4]|7[1-6]|8[2-5]?)|6[24]|7(?:[069]|1[1568]|2[15]|3[145]|4[13]|5[14-8]|7[2-57]|8[126])|8(?:[01]|2[15-7]|3[2578]?|4[13-6]|5[4-8]?|6[1-357-9]|7[36-8]?|8[5-8]?|9[124])))15)?`,`9$1`],AS:[`1`,`011`,`(?:[58]\\d\\d|684|900)\\d{7}`,[10],0,`1`,0,`([267]\\d{6})$|1`,`684$1`,0,`684`],AT:[`43`,`00`,`1\\d{3,12}|2\\d{6,12}|43(?:(?:0\\d|5[02-9])\\d{3,9}|2\\d{4,5}|[3467]\\d{4}|8\\d{4,6}|9\\d{4,7})|5\\d{4,12}|8\\d{7,12}|9\\d{8,12}|(?:[367]\\d|4[0-24-9])\\d{4,11}`,[4,5,6,7,8,9,10,11,12,13],[[`(\\d)(\\d{3,12})`,`$1 $2`,[`1(?:11|[2-9])`],`0$1`],[`(\\d{3})(\\d{2})`,`$1 $2`,[`517`],`0$1`],[`(\\d{2})(\\d{3,5})`,`$1 $2`,[`5[079]`],`0$1`],[`(\\d{3})(\\d{3,10})`,`$1 $2`,[`(?:31|4)6|51|6(?:48|5[0-3579]|[6-9])|7(?:20|32|8)|[89]`,`(?:31|4)6|51|6(?:485|5[0-3579]|[6-9])|7(?:20|32|8)|[89]`],`0$1`],[`(\\d{4})(\\d{3,9})`,`$1 $2`,[`[2-467]|5[2-6]`],`0$1`],[`(\\d{2})(\\d{3})(\\d{3,4})`,`$1 $2 $3`,[`5`],`0$1`],[`(\\d{2})(\\d{4})(\\d{4,7})`,`$1 $2 $3`,[`5`],`0$1`]],`0`],AU:[`61`,`001[14-689]|14(?:1[14]|34|4[17]|[56]6|7[47]|88)0011`,`1(?:[0-79]\\d{7}(?:\\d(?:\\d{2})?)?|8[0-24-9]\\d{7})|[2-478]\\d{8}|1\\d{4,7}`,[5,6,7,8,9,10,12],[[`(\\d{2})(\\d{3,4})`,`$1 $2`,[`16`],`0$1`],[`(\\d{2})(\\d{3})(\\d{2,4})`,`$1 $2 $3`,[`16`],`0$1`],[`(\\d{3})(\\d{3})(\\d{3})`,`$1 $2 $3`,[`14|4`],`0$1`],[`(\\d)(\\d{4})(\\d{4})`,`$1 $2 $3`,[`[2378]`],`(0$1)`],[`(\\d{4})(\\d{3})(\\d{3})`,`$1 $2 $3`,[`1(?:30|[89])`]]],`0`,0,`(183[12])|0`,0,0,0,[[`(?:(?:241|349)0\\d\\d|8(?:51(?:0(?:0[03-9]|[12479]\\d|3[2-9]|5[0-8]|6[1-9]|8[0-7])|1(?:[0235689]\\d|1[0-69]|4[0-589]|7[0-47-9])|2(?:0[0-79]|[18][13579]|2[14-9]|3[0-46-9]|[4-6]\\d|7[89]|9[0-4])|[34]\\d\\d)|91(?:(?:[0-58]\\d|6[0135-9])\\d|7(?:0[0-24-9]|[1-9]\\d)|9(?:[0-46-9]\\d|5[0-79]))))\\d{3}|(?:2(?:[0-26-9]\\d|3[0-8]|4[02-9]|5[0135-9])|3(?:[0-3589]\\d|4[0-578]|6[1-9]|7[0-35-9])|7(?:[013-57-9]\\d|2[0-8])|8(?:55|6[0-8]|[78]\\d|9[02-9]))\\d{6}`,[9]],[`4(?:79[01]|83[0-36-9]|95[0-3])\\d{5}|4(?:[0-36]\\d|4[047-9]|[58][0-24-9]|7[02-8]|9[0-47-9])\\d{6}`,[9]],[`180(?:0\\d{3}|2)\\d{3}`,[7,10]],[`190[0-26]\\d{6}`,[10]],0,0,0,[`163\\d{2,6}`,[5,6,7,8,9]],[`14(?:5(?:1[0458]|[23][458])|71\\d)\\d{4}`,[9]],[`13(?:00\\d{6}(?:\\d{2})?|45[0-4]\\d{3})|13\\d{4}`,[6,8,10,12]]],`0011`],AW:[`297`,`00`,`(?:[25-79]\\d\\d|800)\\d{4}`,[7],[[`(\\d{3})(\\d{4})`,`$1 $2`,[`[25-9]`]]]],AX:[`358`,`00|99(?:[01469]|5(?:[14]1|3[23]|5[59]|77|88|9[09]))`,`2\\d{4,9}|35\\d{4,5}|(?:60\\d\\d|800)\\d{4,6}|7\\d{5,11}|(?:[14]\\d|3[0-46-9]|50)\\d{4,8}`,[5,6,7,8,9,10,11,12],0,`0`,0,0,0,0,`18`,0,`00`],AZ:[`994`,`00`,`365\\d{6}|(?:[124579]\\d|60|88)\\d{7}`,[9],[[`(\\d{3})(\\d{2})(\\d{2})(\\d{2})`,`$1 $2 $3 $4`,[`90`],`0$1`],[`(\\d{2})(\\d{3})(\\d{2})(\\d{2})`,`$1 $2 $3 $4`,[`1[28]|2|365|46`,`1[28]|2|365[45]|46`,`1[28]|2|365(?:4|5[02])|46`],`(0$1)`],[`(\\d{2})(\\d{3})(\\d{2})(\\d{2})`,`$1 $2 $3 $4`,[`[13-9]`],`0$1`]],`0`],BA:[`387`,`00`,`6\\d{8}|(?:[35689]\\d|49|70)\\d{6}`,[8,9],[[`(\\d{2})(\\d{3})(\\d{3})`,`$1 $2 $3`,[`6[1-3]|[7-9]`],`0$1`],[`(\\d{2})(\\d{3})(\\d{3})`,`$1 $2-$3`,[`[3-5]|6[56]`],`0$1`],[`(\\d{2})(\\d{2})(\\d{2})(\\d{3})`,`$1 $2 $3 $4`,[`6`],`0$1`]],`0`],BB:[`1`,`011`,`(?:246|[58]\\d\\d|900)\\d{7}`,[10],0,`1`,0,`([2-9]\\d{6})$|1`,`246$1`,0,`246`],BD:[`880`,`00`,`[1-469]\\d{9}|8[0-79]\\d{7,8}|[2-79]\\d{8}|[2-9]\\d{7}|[3-9]\\d{6}|[57-9]\\d{5}`,[6,7,8,9,10],[[`(\\d{2})(\\d{4,6})`,`$1-$2`,[`31[5-8]|[459]1`],`0$1`],[`(\\d{3})(\\d{3,7})`,`$1-$2`,[`3(?:[67]|8[013-9])|4(?:6[168]|7|[89][18])|5(?:6[128]|9)|6(?:[15]|28|4[14])|7[2-589]|8(?:0[014-9]|[12])|9[358]|(?:3[2-5]|4[235]|5[2-578]|6[0389]|76|8[3-7]|9[24])1|(?:44|66)[01346-9]`],`0$1`],[`(\\d{4})(\\d{3,6})`,`$1-$2`,[`[13-9]|2[23]`],`0$1`],[`(\\d)(\\d{7,8})`,`$1-$2`,[`2`],`0$1`]],`0`],BE:[`32`,`00`,`4\\d{8}|[1-9]\\d{7}`,[8,9],[[`(\\d{3})(\\d{2})(\\d{3})`,`$1 $2 $3`,[`(?:80|9)0`],`0$1`],[`(\\d)(\\d{3})(\\d{2})(\\d{2})`,`$1 $2 $3 $4`,[`[239]|4[23]`],`0$1`],[`(\\d{2})(\\d{2})(\\d{2})(\\d{2})`,`$1 $2 $3 $4`,[`[15-8]`],`0$1`],[`(\\d{3})(\\d{2})(\\d{2})(\\d{2})`,`$1 $2 $3 $4`,[`4`],`0$1`]],`0`],BF:[`226`,`00`,`[024-7]\\d{7}`,[8],[[`(\\d{2})(\\d{2})(\\d{2})(\\d{2})`,`$1 $2 $3 $4`,[`[024-7]`]]]],BG:[`359`,`00`,`00800\\d{7}|[2-7]\\d{6,7}|[89]\\d{6,8}|2\\d{5}`,[6,7,8,9,12],[[`(\\d)(\\d)(\\d{2})(\\d{2})`,`$1 $2 $3 $4`,[`2`],`0$1`],[`(\\d{3})(\\d{4})`,`$1 $2`,[`43[1-6]|70[1-9]`],`0$1`],[`(\\d)(\\d{3})(\\d{3,4})`,`$1 $2 $3`,[`2`],`0$1`],[`(\\d{2})(\\d{3})(\\d{2,3})`,`$1 $2 $3`,[`[356]|4[124-7]|7[1-9]|8[1-6]|9[1-7]`],`0$1`],[`(\\d{3})(\\d{2})(\\d{3})`,`$1 $2 $3`,[`(?:70|8)0`],`0$1`],[`(\\d{3})(\\d{3})(\\d{2})`,`$1 $2 $3`,[`43[1-7]|7`],`0$1`],[`(\\d{2})(\\d{3})(\\d{3,4})`,`$1 $2 $3`,[`[48]|9[08]`],`0$1`],[`(\\d{3})(\\d{3})(\\d{3})`,`$1 $2 $3`,[`9`],`0$1`]],`0`],BH:[`973`,`00`,`[136-9]\\d{7}`,[8],[[`(\\d{4})(\\d{4})`,`$1 $2`,[`[13679]|8[02-4679]`]]]],BI:[`257`,`00`,`(?:[267]\\d|31)\\d{6}`,[8],[[`(\\d{2})(\\d{2})(\\d{2})(\\d{2})`,`$1 $2 $3 $4`,[`[2367]`]]]],BJ:[`229`,`00`,`(?:01\\d|8)\\d{7}`,[8,10],[[`(\\d{2})(\\d{2})(\\d{2})(\\d{2})`,`$1 $2 $3 $4`,[`8`]],[`(\\d{2})(\\d{2})(\\d{2})(\\d{2})(\\d{2})`,`$1 $2 $3 $4 $5`,[`0`]]]],BL:[`590`,`00`,`7090\\d{5}|(?:[56]9|[89]\\d)\\d{7}`,[9],0,`0`,0,0,0,0,0,[[`(?:59(?:0(?:2[7-9]|3[3-7]|5[12]|87)|87\\d)|80[6-9]\\d\\d)\\d{4}`],[`(?:69(?:0\\d\\d|1(?:2[2-9]|3[0-5]))|7090[0-4])\\d{4}`],[`80[0-5]\\d{6}`],[`8[129]\\d{7}`],0,0,0,0,[`9(?:(?:39[5-7]|76[018])\\d|475[0-6])\\d{4}`]]],BM:[`1`,`011`,`(?:441|[58]\\d\\d|900)\\d{7}`,[10],0,`1`,0,`([2-9]\\d{6})$|1`,`441$1`,0,`441`],BN:[`673`,`00`,`[2-578]\\d{6}`,[7],[[`(\\d{3})(\\d{4})`,`$1 $2`,[`[2-578]`]]]],BO:[`591`,`00(?:1\\d)?`,`(?:[2-7]\\d\\d|8001)\\d{5}`,[8,9],[[`(\\d)(\\d{7})`,`$1 $2`,[`[23]|4[46]|50`]],[`(\\d{8})`,`$1`,[`[5-7]`]],[`(\\d{3})(\\d{2})(\\d{4})`,`$1 $2 $3`,[`8`]]],`0`,0,`0(1\\d)?`],BQ:[`599`,`00`,`(?:[34]1|7\\d)\\d{5}`,[7],0,0,0,0,0,0,`[347]`],BR:[`55`,`00(?:1[245]|2[1-35]|31|4[13]|[56]5|99)`,`[1-467]\\d{9,10}|55[0-46-9]\\d{8}|[34]\\d{7}|55\\d{7,8}|(?:5[0-46-9]|[89]\\d)\\d{7,9}`,[8,9,10,11],[[`(\\d{4})(\\d{4})`,`$1-$2`,[`300|4(?:0[02]|37|86)`,`300|4(?:0(?:0|20)|370|864)`]],[`(\\d{3})(\\d{2,3})(\\d{4})`,`$1 $2 $3`,[`(?:[358]|90)0`],`0$1`],[`(\\d{2})(\\d{4})(\\d{4})`,`$1 $2-$3`,[`(?:[14689][1-9]|2[12478]|3[1-578]|5[13-5]|7[13-579])[2-57]`],`($1)`],[`(\\d{2})(\\d{5})(\\d{4})`,`$1 $2-$3`,[`[16][1-9]|[2-57-9]`],`($1)`]],`0`,0,`(?:0|90)(?:(1[245]|2[1-35]|31|4[13]|[56]5|99)(\\d{10,11}))?`,`$2`],BS:[`1`,`011`,`(?:242|[58]\\d\\d|900)\\d{7}`,[10],0,`1`,0,`([3-8]\\d{6})$|1`,`242$1`,0,`242`],BT:[`975`,`00`,`[178]\\d{7}|[2-8]\\d{6}`,[7,8],[[`(\\d)(\\d{3})(\\d{3})`,`$1 $2 $3`,[`[2-6]|7[246]|8[2-4]`]],[`(\\d{2})(\\d{2})(\\d{2})(\\d{2})`,`$1 $2 $3 $4`,[`1[67]|[78]`]]]],BW:[`267`,`00`,`(?:0800|(?:[37]|800)\\d)\\d{6}|(?:[2-6]\\d|90)\\d{5}`,[7,8,10],[[`(\\d{2})(\\d{5})`,`$1 $2`,[`90`]],[`(\\d{3})(\\d{4})`,`$1 $2`,[`[24-6]|3[15-9]`]],[`(\\d{2})(\\d{3})(\\d{3})`,`$1 $2 $3`,[`[37]`]],[`(\\d{4})(\\d{3})(\\d{3})`,`$1 $2 $3`,[`0`]],[`(\\d{3})(\\d{4})(\\d{3})`,`$1 $2 $3`,[`8`]]]],BY:[`375`,`810`,`(?:[12]\\d|33|44|902)\\d{7}|8(?:0[0-79]\\d{5,7}|[1-7]\\d{9})|8(?:1[0-489]|[5-79]\\d)\\d{7}|8[1-79]\\d{6,7}|8[0-79]\\d{5}|8\\d{5}`,[6,7,8,9,10,11],[[`(\\d{3})(\\d{3})`,`$1 $2`,[`800`],`8 $1`],[`(\\d{3})(\\d{2})(\\d{2,4})`,`$1 $2 $3`,[`800`],`8 $1`],[`(\\d{4})(\\d{2})(\\d{3})`,`$1 $2-$3`,[`1(?:5[169]|6[3-5]|7[179])|2(?:1[35]|2[34]|3[3-5])`,`1(?:5[169]|6(?:3[1-3]|4|5[125])|7(?:1[3-9]|7[0-24-6]|9[2-7]))|2(?:1[35]|2[34]|3[3-5])`],`8 0$1`],[`(\\d{3})(\\d{2})(\\d{2})(\\d{2})`,`$1 $2-$3-$4`,[`1(?:[56]|7[467])|2[1-3]`],`8 0$1`],[`(\\d{2})(\\d{3})(\\d{2})(\\d{2})`,`$1 $2-$3-$4`,[`[1-4]`],`8 0$1`],[`(\\d{3})(\\d{3,4})(\\d{4})`,`$1 $2 $3`,[`[89]`],`8 $1`]],`8`,0,`0|80?`,0,0,0,0,`8~10`],BZ:[`501`,`00`,`(?:0800\\d|[2-8])\\d{6}`,[7,11],[[`(\\d{3})(\\d{4})`,`$1-$2`,[`[2-8]`]],[`(\\d)(\\d{3})(\\d{4})(\\d{3})`,`$1-$2-$3-$4`,[`0`]]]],CA:[`1`,`011`,`[2-9]\\d{9}|3\\d{6}`,[7,10],0,`1`,0,0,0,0,0,[[`(?:2(?:04|[23]6|[48]9|5[07]|63)|3(?:06|43|54|6[578]|82)|4(?:03|1[68]|[26]8|3[178]|50|74)|5(?:06|1[49]|48|79|8[147])|6(?:04|[18]3|39|47|72)|7(?:0[59]|42|53|78|8[02])|8(?:[06]7|19|25|7[39])|9(?:0[25]|42))[2-9]\\d{6}`,[10]],[``,[10]],[`8(?:00|33|44|55|66|77|88)[2-9]\\d{6}`,[10]],[`900[2-9]\\d{6}`,[10]],[`52(?:3(?:[2-46-9][02-9]\\d|5(?:[02-46-9]\\d|5[0-46-9]))|4(?:[2-478][02-9]\\d|5(?:[034]\\d|2[024-9]|5[0-46-9])|6(?:0[1-9]|[2-9]\\d)|9(?:[05-9]\\d|2[0-5]|49)))\\d{4}|52[34][2-9]1[02-9]\\d{4}|(?:5(?:2[125-9]|3[23]|44|66|77|88)|6(?:22|33))[2-9]\\d{6}`,[10]],0,[`310\\d{4}`,[7]],0,[`600[2-9]\\d{6}`,[10]]]],CC:[`61`,`001[14-689]|14(?:1[14]|34|4[17]|[56]6|7[47]|88)0011`,`1(?:[0-79]\\d{8}(?:\\d{2})?|8[0-24-9]\\d{7})|[148]\\d{8}|1\\d{5,7}`,[6,7,8,9,10,12],0,`0`,0,`([59]\\d{7})$|0`,`8$1`,0,0,[[`8(?:51(?:0(?:02|31|60|89)|1(?:18|76)|223)|91(?:0(?:1[0-2]|29)|1(?:[28]2|50|79)|2(?:10|64)|3(?:[06]8|22)|4[29]8|62\\d|70[23]|959))\\d{3}`,[9]],[`4(?:79[01]|83[0-36-9]|95[0-3])\\d{5}|4(?:[0-36]\\d|4[047-9]|[58][0-24-9]|7[02-8]|9[0-47-9])\\d{6}`,[9]],[`180(?:0\\d{3}|2)\\d{3}`,[7,10]],[`190[0-26]\\d{6}`,[10]],0,0,0,0,[`14(?:5(?:1[0458]|[23][458])|71\\d)\\d{4}`,[9]],[`13(?:00\\d{6}(?:\\d{2})?|45[0-4]\\d{3})|13\\d{4}`,[6,8,10,12]]],`0011`],CD:[`243`,`00`,`(?:(?:[189]|5\\d)\\d|2)\\d{7}|[1-68]\\d{6}`,[7,8,9,10],[[`(\\d{2})(\\d{2})(\\d{3})`,`$1 $2 $3`,[`88`],`0$1`],[`(\\d{2})(\\d{5})`,`$1 $2`,[`[1-6]`],`0$1`],[`(\\d{2})(\\d{2})(\\d{4})`,`$1 $2 $3`,[`2`],`0$1`],[`(\\d{2})(\\d{3})(\\d{4})`,`$1 $2 $3`,[`1`],`0$1`],[`(\\d{3})(\\d{3})(\\d{3})`,`$1 $2 $3`,[`[89]`],`0$1`],[`(\\d{2})(\\d{2})(\\d{3})(\\d{3})`,`$1 $2 $3 $4`,[`5`],`0$1`]],`0`],CF:[`236`,`00`,`8776\\d{4}|(?:[27]\\d|61)\\d{6}`,[8],[[`(\\d{2})(\\d{2})(\\d{2})(\\d{2})`,`$1 $2 $3 $4`,[`[26-8]`]]]],CG:[`242`,`00`,`222\\d{6}|(?:0\\d|80)\\d{7}`,[9],[[`(\\d)(\\d{4})(\\d{4})`,`$1 $2 $3`,[`8`]],[`(\\d{2})(\\d{3})(\\d{4})`,`$1 $2 $3`,[`[02]`]]]],CH:[`41`,`00`,`8\\d{11}|[2-9]\\d{8}`,[9,12],[[`(\\d{3})(\\d{3})(\\d{3})`,`$1 $2 $3`,[`8[047]|90`],`0$1`],[`(\\d{2})(\\d{3})(\\d{2})(\\d{2})`,`$1 $2 $3 $4`,[`[2-79]|81`],`0$1`],[`(\\d{3})(\\d{2})(\\d{3})(\\d{2})(\\d{2})`,`$1 $2 $3 $4 $5`,[`8`],`0$1`]],`0`],CI:[`225`,`00`,`[02]\\d{9}`,[10],[[`(\\d{2})(\\d{2})(\\d)(\\d{5})`,`$1 $2 $3 $4`,[`2`]],[`(\\d{2})(\\d{2})(\\d{2})(\\d{4})`,`$1 $2 $3 $4`,[`0`]]]],CK:[`682`,`00`,`[2-578]\\d{4}`,[5],[[`(\\d{2})(\\d{3})`,`$1 $2`,[`[2-578]`]]]],CL:[`56`,`(?:0|1(?:1[0-69]|2[02-5]|5[13-58]|69|7[0167]|8[018]))0`,`12300\\d{6}|6\\d{9,10}|[2-9]\\d{8}`,[9,10,11],[[`(\\d{5})(\\d{4})`,`$1 $2`,[`219`,`2196`],`($1)`],[`(\\d{3})(\\d{3})(\\d{3})`,`$1 $2 $3`,[`60|809`]],[`(\\d{2})(\\d{3})(\\d{4})`,`$1 $2 $3`,[`44`]],[`(\\d)(\\d{4})(\\d{4})`,`$1 $2 $3`,[`2[1-36]`],`($1)`],[`(\\d)(\\d{4})(\\d{4})`,`$1 $2 $3`,[`9(?:10|[2-9])`]],[`(\\d{2})(\\d{3})(\\d{4})`,`$1 $2 $3`,[`3[2-5]|[47]|5[1-3578]|6[13-57]|8(?:0[1-8]|[1-9])`],`($1)`],[`(\\d{3})(\\d{3})(\\d{3,4})`,`$1 $2 $3`,[`60|8`]],[`(\\d{4})(\\d{3})(\\d{4})`,`$1 $2 $3`,[`1`]],[`(\\d{3})(\\d{3})(\\d{2})(\\d{3})`,`$1 $2 $3 $4`,[`60`]]]],CM:[`237`,`00`,`[26]\\d{8}|88\\d{6,7}`,[8,9],[[`(\\d{2})(\\d{2})(\\d{2})(\\d{2})`,`$1 $2 $3 $4`,[`88`]],[`(\\d)(\\d{2})(\\d{2})(\\d{2})(\\d{2})`,`$1 $2 $3 $4 $5`,[`[26]|88`]]]],CN:[`86`,`00|1(?:[12]\\d|79)\\d\\d00`,`(?:(?:1[03-689]|2\\d)\\d\\d|6)\\d{8}|1\\d{10}|[126]\\d{6}(?:\\d(?:\\d{2})?)?|86\\d{5,6}|(?:[3-579]\\d|8[0-57-9])\\d{5,9}`,[7,8,9,10,11,12],[[`(\\d{2})(\\d{5,6})`,`$1 $2`,[`(?:10|2[0-57-9])[19]|3(?:[157]|35|49|9[1-68])|4(?:1[124-9]|2[179]|6[47-9]|7|8[23])|5(?:[1357]|2[37]|4[36]|6[1-46]|80)|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[1579]|2[248]|3[014-9]|4[3-6]|6[023689])|8(?:07|1[236-8]|2[5-7]|[37]|8[36-8]|9[1-8])|9(?:0[1-3689]|1[1-79]|3|4[13]|5[1-5]|7[0-79]|9[0-35-9])|(?:4[35]|59|85)[1-9]`,`(?:10|2[0-57-9])(?:1[02]|9[56])|8078|(?:3(?:[157]\\d|35|49|9[1-68])|4(?:1[124-9]|2[179]|[35][1-9]|6[47-9]|7\\d|8[23])|5(?:[1357]\\d|2[37]|4[36]|6[1-46]|80|9[1-9])|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[1579]\\d|2[248]|3[014-9]|4[3-6]|6[023689])|8(?:1[236-8]|2[5-7]|[37]\\d|5[1-9]|8[36-8]|9[1-8])|9(?:0[1-3689]|1[1-79]|3\\d|4[13]|5[1-5]|7[0-79]|9[0-35-9]))1`,`10(?:1(?:0|23)|9[56])|2[0-57-9](?:1(?:00|23)|9[56])|80781|(?:3(?:[157]\\d|35|49|9[1-68])|4(?:1[124-9]|2[179]|[35][1-9]|6[47-9]|7\\d|8[23])|5(?:[1357]\\d|2[37]|4[36]|6[1-46]|80|9[1-9])|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[1579]\\d|2[248]|3[014-9]|4[3-6]|6[023689])|8(?:1[236-8]|2[5-7]|[37]\\d|5[1-9]|8[36-8]|9[1-8])|9(?:0[1-3689]|1[1-79]|3\\d|4[13]|5[1-5]|7[0-79]|9[0-35-9]))12`,`10(?:1(?:0|23)|9[56])|2[0-57-9](?:1(?:00|23)|9[56])|807812|(?:3(?:[157]\\d|35|49|9[1-68])|4(?:1[124-9]|2[179]|[35][1-9]|6[47-9]|7\\d|8[23])|5(?:[1357]\\d|2[37]|4[36]|6[1-46]|80|9[1-9])|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[1579]\\d|2[248]|3[014-9]|4[3-6]|6[023689])|8(?:1[236-8]|2[5-7]|[37]\\d|5[1-9]|8[36-8]|9[1-8])|9(?:0[1-3689]|1[1-79]|3\\d|4[13]|5[1-5]|7[0-79]|9[0-35-9]))123`,`10(?:1(?:0|23)|9[56])|2[0-57-9](?:1(?:00|23)|9[56])|(?:3(?:[157]\\d|35|49|9[1-68])|4(?:1[124-9]|2[179]|[35][1-9]|6[47-9]|7\\d|8[23])|5(?:[1357]\\d|2[37]|4[36]|6[1-46]|80|9[1-9])|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[1579]\\d|2[248]|3[014-9]|4[3-6]|6[023689])|8(?:078|1[236-8]|2[5-7]|[37]\\d|5[1-9]|8[36-8]|9[1-8])|9(?:0[1-3689]|1[1-79]|3\\d|4[13]|5[1-5]|7[0-79]|9[0-35-9]))123`],`0$1`],[`(\\d{3})(\\d{5,6})`,`$1 $2`,[`3(?:[157]|35|49|9[1-68])|4(?:[17]|2[179]|6[47-9]|8[23])|5(?:[1357]|2[37]|4[36]|6[1-46]|80)|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[1579]|2[248]|3[014-9]|4[3-6]|6[023689])|8(?:1[236-8]|2[5-7]|[37]|8[36-8]|9[1-8])|9(?:0[1-3689]|1[1-79]|[379]|4[13]|5[1-5])|(?:4[35]|59|85)[1-9]`,`(?:3(?:[157]\\d|35|49|9[1-68])|4(?:[17]\\d|2[179]|[35][1-9]|6[47-9]|8[23])|5(?:[1357]\\d|2[37]|4[36]|6[1-46]|80|9[1-9])|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[1579]\\d|2[248]|3[014-9]|4[3-6]|6[023689])|8(?:1[236-8]|2[5-7]|[37]\\d|5[1-9]|8[36-8]|9[1-8])|9(?:0[1-3689]|1[1-79]|[379]\\d|4[13]|5[1-5]))[19]`,`85[23](?:10|95)|(?:3(?:[157]\\d|35|49|9[1-68])|4(?:[17]\\d|2[179]|[35][1-9]|6[47-9]|8[23])|5(?:[1357]\\d|2[37]|4[36]|6[1-46]|80|9[1-9])|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[1579]\\d|2[248]|3[014-9]|4[3-6]|6[023689])|8(?:1[236-8]|2[5-7]|[37]\\d|5[14-9]|8[36-8]|9[1-8])|9(?:0[1-3689]|1[1-79]|[379]\\d|4[13]|5[1-5]))(?:10|9[56])`,`85[23](?:100|95)|(?:3(?:[157]\\d|35|49|9[1-68])|4(?:[17]\\d|2[179]|[35][1-9]|6[47-9]|8[23])|5(?:[1357]\\d|2[37]|4[36]|6[1-46]|80|9[1-9])|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[1579]\\d|2[248]|3[014-9]|4[3-6]|6[023689])|8(?:1[236-8]|2[5-7]|[37]\\d|5[14-9]|8[36-8]|9[1-8])|9(?:0[1-3689]|1[1-79]|[379]\\d|4[13]|5[1-5]))(?:100|9[56])`],`0$1`],[`(\\d{3})(\\d{3})(\\d{4})`,`$1 $2 $3`,[`(?:4|80)0`]],[`(\\d{2})(\\d{4})(\\d{4})`,`$1 $2 $3`,[`10|2(?:[02-57-9]|1[1-9])`,`10|2(?:[02-57-9]|1[1-9])`,`10[0-79]|2(?:[02-57-9]|1[1-79])|(?:10|21)8(?:0[1-9]|[1-9])`],`0$1`,1],[`(\\d{3})(\\d{3})(\\d{4})`,`$1 $2 $3`,[`3(?:[3-59]|7[02-68])|4(?:[26-8]|3[3-9]|5[2-9])|5(?:3[03-9]|[468]|7[028]|9[2-46-9])|6|7(?:[0-247]|3[04-9]|5[0-4689]|6[2368])|8(?:[1-358]|9[1-7])|9(?:[013479]|5[1-5])|(?:[34]1|55|79|87)[02-9]`],`0$1`,1],[`(\\d{3})(\\d{7,8})`,`$1 $2`,[`9`]],[`(\\d{4})(\\d{3})(\\d{4})`,`$1 $2 $3`,[`80`],`0$1`,1],[`(\\d{3})(\\d{4})(\\d{4})`,`$1 $2 $3`,[`[3-578]`],`0$1`,1],[`(\\d{3})(\\d{4})(\\d{4})`,`$1 $2 $3`,[`1[3-9]`]],[`(\\d{2})(\\d{3})(\\d{3})(\\d{4})`,`$1 $2 $3 $4`,[`[12]`],`0$1`,1]],`0`,0,`(1(?:[12]\\d|79)\\d\\d)|0`,0,0,0,0,`00`],CO:[`57`,`00(?:4(?:[14]4|56)|[579])`,`(?:46|60\\d\\d)\\d{6}|(?:1\\d|[39])\\d{9}`,[8,10,11],[[`(\\d{4})(\\d{4})`,`$1 $2`,[`46`]],[`(\\d{3})(\\d{7})`,`$1 $2`,[`6|90`],`($1)`],[`(\\d{3})(\\d{7})`,`$1 $2`,[`3[0-357]|9[14]`]],[`(\\d)(\\d{3})(\\d{7})`,`$1-$2-$3`,[`1`],`0$1`,0,`$1 $2 $3`]],`0`,0,`0([3579]|4(?:[14]4|56))?`],CR:[`506`,`00`,`(?:8\\d|90)\\d{8}|(?:[24-8]\\d{3}|3005)\\d{4}`,[8,10],[[`(\\d{4})(\\d{4})`,`$1 $2`,[`[2-7]|8[3-9]`]],[`(\\d{3})(\\d{3})(\\d{4})`,`$1-$2-$3`,[`[89]`]]],0,0,`(19(?:0[0-2468]|1[09]|20|66|77|99))`],CU:[`53`,`119`,`(?:[2-7]|8\\d\\d)\\d{7}|[2-47]\\d{6}|[34]\\d{5}`,[6,7,8,10],[[`(\\d{2})(\\d{4,6})`,`$1 $2`,[`2[1-4]|[34]`],`(0$1)`],[`(\\d)(\\d{6,7})`,`$1 $2`,[`7`],`(0$1)`],[`(\\d)(\\d{7})`,`$1 $2`,[`[56]`],`0$1`],[`(\\d{3})(\\d{7})`,`$1 $2`,[`8`],`0$1`]],`0`],CV:[`238`,`0`,`(?:[2-59]\\d\\d|800)\\d{4}`,[7],[[`(\\d{3})(\\d{2})(\\d{2})`,`$1 $2 $3`,[`[2-589]`]]]],CW:[`599`,`00`,`(?:[34]1|60|(?:7|9\\d)\\d)\\d{5}`,[7,8],[[`(\\d{3})(\\d{4})`,`$1 $2`,[`[3467]`]],[`(\\d)(\\d{3})(\\d{4})`,`$1 $2 $3`,[`9[4-8]`]]],0,0,0,0,0,`[69]`],CX:[`61`,`001[14-689]|14(?:1[14]|34|4[17]|[56]6|7[47]|88)0011`,`1(?:[0-79]\\d{8}(?:\\d{2})?|8[0-24-9]\\d{7})|[148]\\d{8}|1\\d{5,7}`,[6,7,8,9,10,12],0,`0`,0,`([59]\\d{7})$|0`,`8$1`,0,0,[[`8(?:51(?:0(?:01|30|59|88)|1(?:17|46|75)|2(?:22|35))|91(?:00[6-9]|1(?:[28]1|49|78)|2(?:09|63)|3(?:12|26|75)|4(?:56|97)|64\\d|7(?:0[01]|1[0-2])|958))\\d{3}`,[9]],[`4(?:79[01]|83[0-36-9]|95[0-3])\\d{5}|4(?:[0-36]\\d|4[047-9]|[58][0-24-9]|7[02-8]|9[0-47-9])\\d{6}`,[9]],[`180(?:0\\d{3}|2)\\d{3}`,[7,10]],[`190[0-26]\\d{6}`,[10]],0,0,0,0,[`14(?:5(?:1[0458]|[23][458])|71\\d)\\d{4}`,[9]],[`13(?:00\\d{6}(?:\\d{2})?|45[0-4]\\d{3})|13\\d{4}`,[6,8,10,12]]],`0011`],CY:[`357`,`00`,`(?:[279]\\d|[58]0)\\d{6}`,[8],[[`(\\d{2})(\\d{6})`,`$1 $2`,[`[257-9]`]]]],CZ:[`420`,`00`,`(?:[2-578]\\d|60)\\d{7}|9\\d{8,11}`,[9,10,11,12],[[`(\\d{3})(\\d{3})(\\d{3})`,`$1 $2 $3`,[`[2-8]|9[015-7]`]],[`(\\d{2})(\\d{3})(\\d{3})(\\d{2})`,`$1 $2 $3 $4`,[`96`]],[`(\\d{2})(\\d{3})(\\d{3})(\\d{3})`,`$1 $2 $3 $4`,[`9`]],[`(\\d{3})(\\d{3})(\\d{3})(\\d{3})`,`$1 $2 $3 $4`,[`9`]]]],DE:[`49`,`00`,`[2579]\\d{5,14}|49(?:[34]0|69|8\\d)\\d\\d?|49(?:37|49|60|7[089]|9\\d)\\d{1,3}|49(?:2[024-9]|3[2-689]|7[1-7])\\d{1,8}|(?:1|[368]\\d|4[0-8])\\d{3,13}|49(?:[015]\\d|2[13]|31|[46][1-8])\\d{1,9}`,[4,5,6,7,8,9,10,11,12,13,14,15],[[`(\\d{2})(\\d{3,13})`,`$1 $2`,[`3[02]|40|[68]9`],`0$1`],[`(\\d{3})(\\d{3,12})`,`$1 $2`,[`2(?:0[1-389]|1[124]|2[18]|3[14])|3(?:[35-9][15]|4[015])|906|(?:2[4-9]|4[2-9]|[579][1-9]|[68][1-8])1`,`2(?:0[1-389]|12[0-8])|3(?:[35-9][15]|4[015])|906|2(?:[13][14]|2[18])|(?:2[4-9]|4[2-9]|[579][1-9]|[68][1-8])1`],`0$1`],[`(\\d{4})(\\d{2,11})`,`$1 $2`,[`[24-6]|3(?:[3569][02-46-9]|4[2-4679]|7[2-467]|8[2-46-8])|70[2-8]|8(?:0[2-9]|[1-8])|90[7-9]|[79][1-9]`,`[24-6]|3(?:3(?:0[1-467]|2[127-9]|3[124578]|7[1257-9]|8[1256]|9[145])|4(?:2[135]|4[13578]|9[1346])|5(?:0[14]|2[1-3589]|6[1-4]|7[13468]|8[13568])|6(?:2[1-489]|3[124-6]|6[13]|7[12579]|8[1-356]|9[135])|7(?:2[1-7]|4[145]|6[1-5]|7[1-4])|8(?:21|3[1468]|6|7[1467]|8[136])|9(?:0[12479]|2[1358]|4[134679]|6[1-9]|7[136]|8[147]|9[1468]))|70[2-8]|8(?:0[2-9]|[1-8])|90[7-9]|[79][1-9]|3[68]4[1347]|3(?:47|60)[1356]|3(?:3[46]|46|5[49])[1246]|3[4579]3[1357]`],`0$1`],[`(\\d{3})(\\d{4})`,`$1 $2`,[`138`],`0$1`],[`(\\d{5})(\\d{2,10})`,`$1 $2`,[`3`],`0$1`],[`(\\d{3})(\\d{5,11})`,`$1 $2`,[`181`],`0$1`],[`(\\d{3})(\\d)(\\d{4,10})`,`$1 $2 $3`,[`1(?:3|80)|9`],`0$1`],[`(\\d{3})(\\d{7,8})`,`$1 $2`,[`1[67]`],`0$1`],[`(\\d{3})(\\d{7,12})`,`$1 $2`,[`8`],`0$1`],[`(\\d{5})(\\d{6})`,`$1 $2`,[`185`,`1850`,`18500`],`0$1`],[`(\\d{3})(\\d{4})(\\d{4})`,`$1 $2 $3`,[`7`],`0$1`],[`(\\d{4})(\\d{7})`,`$1 $2`,[`18[68]`],`0$1`],[`(\\d{4})(\\d{7})`,`$1 $2`,[`15[1279]`],`0$1`],[`(\\d{5})(\\d{6})`,`$1 $2`,[`15[03568]`,`15(?:[0568]|3[13])`],`0$1`],[`(\\d{3})(\\d{8})`,`$1 $2`,[`18`],`0$1`],[`(\\d{3})(\\d{2})(\\d{7,8})`,`$1 $2 $3`,[`1(?:6[023]|7)`],`0$1`],[`(\\d{4})(\\d{2})(\\d{7})`,`$1 $2 $3`,[`15[279]`],`0$1`],[`(\\d{3})(\\d{2})(\\d{8})`,`$1 $2 $3`,[`15`],`0$1`]],`0`],DJ:[`253`,`00`,`(?:2\\d|77)\\d{6}`,[8],[[`(\\d{2})(\\d{2})(\\d{2})(\\d{2})`,`$1 $2 $3 $4`,[`[27]`]]]],DK:[`45`,`00`,`[2-9]\\d{7}`,[8],[[`(\\d{2})(\\d{2})(\\d{2})(\\d{2})`,`$1 $2 $3 $4`,[`[2-9]`]]]],DM:[`1`,`011`,`(?:[58]\\d\\d|767|900)\\d{7}`,[10],0,`1`,0,`([2-7]\\d{6})$|1`,`767$1`,0,`767`],DO:[`1`,`011`,`(?:[58]\\d\\d|900)\\d{7}`,[10],0,`1`,0,0,0,0,`8001|8[024]9`],DZ:[`213`,`00`,`(?:[1-4]|[5-79]\\d|80)\\d{7}`,[8,9],[[`(\\d{2})(\\d{2})(\\d{2})(\\d{2})`,`$1 $2 $3 $4`,[`[1-4]`],`0$1`],[`(\\d{2})(\\d{3})(\\d{2})(\\d{2})`,`$1 $2 $3 $4`,[`9`],`0$1`],[`(\\d{3})(\\d{2})(\\d{2})(\\d{2})`,`$1 $2 $3 $4`,[`[5-8]`],`0$1`]],`0`],EC:[`593`,`00`,`1\\d{9,10}|(?:[2-7]|9\\d)\\d{7}`,[8,9,10,11],[[`(\\d)(\\d{3})(\\d{4})`,`$1 $2-$3`,[`[2-7]`],`(0$1)`,0,`$1-$2-$3`],[`(\\d{2})(\\d{3})(\\d{4})`,`$1 $2 $3`,[`9`],`0$1`],[`(\\d{4})(\\d{3})(\\d{3,4})`,`$1 $2 $3`,[`1`]]],`0`],EE:[`372`,`00`,`8\\d{9}|[4578]\\d{7}|(?:[3-8]\\d|90)\\d{5}`,[7,8,10],[[`(\\d{3})(\\d{4})`,`$1 $2`,[`[369]|4[3-8]|5(?:[0-2]|5[0-478]|6[45])|7[1-9]|88`,`[369]|4[3-8]|5(?:[02]|1(?:[0-8]|95)|5[0-478]|6(?:4[0-4]|5[1-589]))|7[1-9]|88`]],[`(\\d{4})(\\d{3,4})`,`$1 $2`,[`[45]|8(?:00|[1-49])`,`[45]|8(?:00[1-9]|[1-49])`]],[`(\\d{2})(\\d{2})(\\d{4})`,`$1 $2 $3`,[`7`]],[`(\\d{4})(\\d{3})(\\d{3})`,`$1 $2 $3`,[`8`]]]],EG:[`20`,`00`,`[189]\\d{8,9}|[24-6]\\d{8}|[135]\\d{7}`,[8,9,10],[[`(\\d)(\\d{7,8})`,`$1 $2`,[`[23]`],`0$1`],[`(\\d{2})(\\d{6,7})`,`$1 $2`,[`1[35]|[4-6]|8[2468]|9[235-7]`],`0$1`],[`(\\d{3})(\\d{3})(\\d{4})`,`$1 $2 $3`,[`[89]`],`0$1`],[`(\\d{2})(\\d{8})`,`$1 $2`,[`1`],`0$1`]],`0`],EH:[`212`,`00`,`[5-8]\\d{8}`,[9],0,`0`,0,0,0,0,0,[[`528[89]\\d{5}`],[`(?:6(?:[0-79]\\d|8[0-247-9])|7(?:[016-8]\\d|2[0-8]|5[0-5]))\\d{6}`],[`80[0-7]\\d{6}`],[`89\\d{7}`],0,0,0,0,[`(?:592(?:4[0-2]|93)|80[89]\\d\\d)\\d{4}`]]],ER:[`291`,`00`,`[178]\\d{6}`,[7],[[`(\\d)(\\d{3})(\\d{3})`,`$1 $2 $3`,[`[178]`],`0$1`]],`0`],ES:[`34`,`00`,`(?:400|[5-9]\\d\\d)\\d{6}`,[9],[[`(\\d{3})(\\d{3})(\\d{3})`,`$1 $2 $3`,[`[89]00`]],[`(\\d{3})(\\d{2})(\\d{2})(\\d{2})`,`$1 $2 $3 $4`,[`[4-9]`]]]],ET:[`251`,`00`,`(?:11|[2-57-9]\\d)\\d{7}`,[9],[[`(\\d{2})(\\d{3})(\\d{4})`,`$1 $2 $3`,[`[1-57-9]`],`0$1`]],`0`],FI:[`358`,`00|99(?:[01469]|5(?:[14]1|3[23]|5[59]|77|88|9[09]))`,`[1-35689]\\d{4}|7\\d{10,11}|(?:[124-7]\\d|3[0-46-9])\\d{8}|[1-9]\\d{5,8}`,[5,6,7,8,9,10,11,12],[[`(\\d{5})`,`$1`,[`20[2-59]`],`0$1`],[`(\\d{3})(\\d{3,7})`,`$1 $2`,[`(?:[1-3]0|[68])0|70[07-9]`],`0$1`],[`(\\d{2})(\\d{4,8})`,`$1 $2`,[`[14]|2[09]|50|7[135]`],`0$1`],[`(\\d{2})(\\d{6,10})`,`$1 $2`,[`7`],`0$1`],[`(\\d)(\\d{4,9})`,`$1 $2`,[`(?:19|[2568])[1-8]|3(?:0[1-9]|[1-9])|9`],`0$1`]],`0`,0,0,0,0,`1[03-79]|[2-9]`,0,`00`],FJ:[`679`,`0(?:0|52)`,`45\\d{5}|(?:0800\\d|[235-9])\\d{6}`,[7,11],[[`(\\d{3})(\\d{4})`,`$1 $2`,[`[235-9]|45`]],[`(\\d{4})(\\d{3})(\\d{4})`,`$1 $2 $3`,[`0`]]],0,0,0,0,0,0,0,`00`],FK:[`500`,`00`,`[2-7]\\d{4}`,[5]],FM:[`691`,`00`,`(?:[39]\\d\\d|820)\\d{4}`,[7],[[`(\\d{3})(\\d{4})`,`$1 $2`,[`[389]`]]]],FO:[`298`,`00`,`[2-9]\\d{5}`,[6],[[`(\\d{6})`,`$1`,[`[2-9]`]]],0,0,`(10(?:01|[12]0|88))`],FR:[`33`,`00`,`[1-9]\\d{8}`,[9],[[`(\\d{3})(\\d{2})(\\d{2})(\\d{2})`,`$1 $2 $3 $4`,[`8`],`0 $1`],[`(\\d)(\\d{2})(\\d{2})(\\d{2})(\\d{2})`,`$1 $2 $3 $4 $5`,[`[1-79]`],`0$1`]],`0`],GA:[`241`,`00`,`(?:[067]\\d|11)\\d{6}|[2-7]\\d{6}`,[7,8],[[`(\\d)(\\d{2})(\\d{2})(\\d{2})`,`$1 $2 $3 $4`,[`[2-7]`],`0$1`],[`(\\d{2})(\\d{2})(\\d{2})(\\d{2})`,`$1 $2 $3 $4`,[`0`]],[`(\\d{2})(\\d{2})(\\d{2})(\\d{2})`,`$1 $2 $3 $4`,[`11|[67]`],`0$1`]],0,0,`0(11\\d{6}|60\\d{6}|61\\d{6}|6[256]\\d{6}|7[467]\\d{6})`,`$1`],GB:[`44`,`00`,`[1-357-9]\\d{9}|[18]\\d{8}|8\\d{6}`,[7,9,10],[[`(\\d{3})(\\d{4})`,`$1 $2`,[`800`,`8001`,`80011`,`800111`,`8001111`],`0$1`],[`(\\d{3})(\\d{2})(\\d{2})`,`$1 $2 $3`,[`845`,`8454`,`84546`,`845464`],`0$1`],[`(\\d{3})(\\d{6})`,`$1 $2`,[`800`],`0$1`],[`(\\d{5})(\\d{4,5})`,`$1 $2`,[`1(?:38|5[23]|69|76|94)`,`1(?:(?:38|69)7|5(?:24|39)|768|946)`,`1(?:3873|5(?:242|39[4-6])|(?:697|768)[347]|9467)`],`0$1`],[`(\\d{4})(\\d{5,6})`,`$1 $2`,[`1(?:[2-69][02-9]|[78])`],`0$1`],[`(\\d{2})(\\d{4})(\\d{4})`,`$1 $2 $3`,[`[25]|7(?:0|6[02-9])`,`[25]|7(?:0|6(?:[03-9]|2[356]))`],`0$1`],[`(\\d{4})(\\d{6})`,`$1 $2`,[`7`],`0$1`],[`(\\d{3})(\\d{3})(\\d{4})`,`$1 $2 $3`,[`[1389]`],`0$1`]],`0`,0,`0|180020`,0,0,0,[[`(?:1(?:1(?:3(?:[0-58]\\d\\d|73[0-5])|4(?:(?:[0-5]\\d|70)\\d|69[7-9])|(?:(?:5[0-26-9]|[78][0-49])\\d|6(?:[0-4]\\d|5[01]))\\d)|(?:2(?:(?:0[024-9]|2[3-9]|3[3-79]|4[1-689]|[58][02-9]|6[0-47-9]|7[013-9]|9\\d)\\d|1(?:[0-7]\\d|8[0-3]))|(?:3(?:0\\d|1[0-8]|[25][02-9]|3[02-579]|[468][0-46-9]|7[1-35-79]|9[2-578])|4(?:0[03-9]|[137]\\d|[28][02-57-9]|4[02-69]|5[0-8]|[69][0-79])|5(?:0[1-35-9]|[16]\\d|2[024-9]|3[015689]|4[02-9]|5[03-9]|7[0-35-9]|8[0-468]|9[0-57-9])|6(?:0[034689]|1\\d|2[0-35689]|[38][013-9]|4[1-467]|5[0-69]|6[13-9]|7[0-8]|9[0-24578])|7(?:0[0246-9]|2\\d|3[0236-8]|4[03-9]|5[0-46-9]|6[013-9]|7[0-35-9]|8[024-9]|9[02-9])|8(?:0[35-9]|2[1-57-9]|3[02-578]|4[0-578]|5[124-9]|6[2-69]|7\\d|8[02-9]|9[02569])|9(?:0[02-589]|[18]\\d|2[02-689]|3[1-57-9]|4[2-9]|5[0-579]|6[2-47-9]|7[0-24578]|9[2-57]))\\d)\\d)|2(?:0[013478]|3[0189]|4[017]|8[0-46-9]|9[0-2])\\d{3})\\d{4}|1(?:2(?:0(?:46[1-4]|87[2-9])|545[1-79]|76(?:2\\d|3[1-8]|6[1-6])|9(?:7(?:2[0-4]|3[2-5])|8(?:2[2-8]|7[0-47-9]|8[3-5])))|3(?:6(?:38[2-5]|47[23])|8(?:47[04-9]|64[0157-9]))|4(?:044[1-7]|20(?:2[23]|8\\d)|6(?:0(?:30|5[2-57]|6[1-8]|7[2-8])|140)|8(?:052|87[1-3]))|5(?:2(?:4(?:3[2-79]|6\\d)|76\\d)|6(?:26[06-9]|686))|6(?:06(?:4\\d|7[4-79])|295[5-7]|35[34]\\d|47(?:24|61)|59(?:5[08]|6[67]|74)|9(?:55[0-4]|77[23]))|7(?:26(?:6[13-9]|7[0-7])|(?:442|688)\\d|50(?:2[0-3]|[3-68]2|76))|8(?:27[56]\\d|37(?:5[2-5]|8[239])|843[2-58])|9(?:0(?:0(?:6[1-8]|85)|52\\d)|3583|4(?:66[1-8]|9(?:2[01]|81))|63(?:23|3[1-4])|9561))\\d{3}`,[9,10]],[`7(?:457[0-57-9]|700[01]|911[028])\\d{5}|7(?:[1-3]\\d\\d|4(?:[0-46-9]\\d|5[0-689])|5(?:0[0-8]|[13-9]\\d|2[0-35-9])|7(?:0[1-9]|[1-7]\\d|8[02-9]|9[0-689])|8(?:[014-9]\\d|[23][0-8])|9(?:[024-9]\\d|1[02-9]|3[0-689]))\\d{6}`,[10]],[`80[08]\\d{7}|800\\d{6}|8001111`],[`(?:8(?:4[2-5]|7[0-3])|9(?:[01]\\d|8[2-49]))\\d{7}|845464\\d`,[7,10]],[`70\\d{8}`,[10]],0,[`(?:3[0347]|55)\\d{8}`,[10]],[`76(?:464|652)\\d{5}|76(?:0[0-28]|2[356]|34|4[01347]|5[49]|6[0-369]|77|8[14]|9[139])\\d{6}`,[10]],[`56\\d{8}`,[10]]],0,` x`],GD:[`1`,`011`,`(?:473|[58]\\d\\d|900)\\d{7}`,[10],0,`1`,0,`([2-9]\\d{6})$|1`,`473$1`,0,`473`],GE:[`995`,`00`,`(?:[3-57]\\d\\d|800)\\d{6}`,[9],[[`(\\d{3})(\\d{3})(\\d{3})`,`$1 $2 $3`,[`70`],`0$1`],[`(\\d{2})(\\d{3})(\\d{2})(\\d{2})`,`$1 $2 $3 $4`,[`32`],`0$1`],[`(\\d{3})(\\d{2})(\\d{2})(\\d{2})`,`$1 $2 $3 $4`,[`[57]`]],[`(\\d{3})(\\d{2})(\\d{2})(\\d{2})`,`$1 $2 $3 $4`,[`[348]`],`0$1`]],`0`],GF:[`594`,`00`,`(?:694\\d|7093)\\d{5}|(?:59|[89]\\d)\\d{7}`,[9],[[`(\\d{3})(\\d{2})(\\d{2})(\\d{2})`,`$1 $2 $3 $4`,[`[5-7]|80[6-9]|9[47]`],`0$1`],[`(\\d{3})(\\d{2})(\\d{2})(\\d{2})`,`$1 $2 $3 $4`,[`[89]`],`0$1`]],`0`],GG:[`44`,`00`,`(?:1481|[357-9]\\d{3})\\d{6}|8\\d{6}(?:\\d{2})?`,[7,9,10],0,`0`,0,`([25-9]\\d{5})$|0|180020`,`1481$1`,0,0,[[`1481[25-9]\\d{5}`,[10]],[`7(?:(?:781|839)\\d|911[17])\\d{5}`,[10]],[`80[08]\\d{7}|800\\d{6}|8001111`],[`(?:8(?:4[2-5]|7[0-3])|9(?:[01]\\d|8[0-3]))\\d{7}|845464\\d`,[7,10]],[`70\\d{8}`,[10]],0,[`(?:3[0347]|55)\\d{8}`,[10]],[`76(?:464|652)\\d{5}|76(?:0[0-28]|2[356]|34|4[01347]|5[49]|6[0-369]|77|8[14]|9[139])\\d{6}`,[10]],[`56\\d{8}`,[10]]]],GH:[`233`,`00`,`[235]\\d{8}|800\\d{5,6}`,[8,9],[[`(\\d{3})(\\d{5})`,`$1 $2`,[`8`],`0$1`],[`(\\d{2})(\\d{3})(\\d{4})`,`$1 $2 $3`,[`[2358]`],`0$1`]],`0`],GI:[`350`,`00`,`(?:[25]\\d|60)\\d{6}`,[8],[[`(\\d{3})(\\d{5})`,`$1 $2`,[`2`]]]],GL:[`299`,`00`,`(?:19|[2-689]\\d|70)\\d{4}`,[6],[[`(\\d{2})(\\d{2})(\\d{2})`,`$1 $2 $3`,[`19|[2-9]`]]]],GM:[`220`,`00`,`[2-9]\\d{6}`,[7],[[`(\\d{3})(\\d{4})`,`$1 $2`,[`[2-9]`]]]],GN:[`224`,`00`,`722\\d{6}|(?:3|6\\d)\\d{7}`,[8,9],[[`(\\d{2})(\\d{2})(\\d{2})(\\d{2})`,`$1 $2 $3 $4`,[`3`]],[`(\\d{3})(\\d{2})(\\d{2})(\\d{2})`,`$1 $2 $3 $4`,[`[67]`]]]],GP:[`590`,`00`,`7090\\d{5}|(?:[56]9|[89]\\d)\\d{7}`,[9],[[`(\\d{3})(\\d{2})(\\d{2})(\\d{2})`,`$1 $2 $3 $4`,[`[5-79]|80[6-9]`],`0$1`],[`(\\d{3})(\\d{2})(\\d{2})(\\d{2})`,`$1 $2 $3 $4`,[`8`],`0$1`]],`0`,0,0,0,0,0,[[`(?:59(?:0(?:0[1-68]|[14][0-24-9]|2[0-68]|3[1-9]|5[3-579]|[68][0-689]|7[08]|9\\d)|87\\d)|80[6-9]\\d\\d)\\d{4}`],[`(?:69(?:0\\d\\d|1(?:2[2-9]|3[0-5]))|7090[0-4])\\d{4}`],[`80[0-5]\\d{6}`],[`8[129]\\d{7}`],0,0,0,0,[`9(?:(?:39[5-7]|76[018])\\d|475[0-6])\\d{4}`]]],GQ:[`240`,`00`,`222\\d{6}|(?:3\\d|55|[89]0)\\d{7}`,[9],[[`(\\d{3})(\\d{3})(\\d{3})`,`$1 $2 $3`,[`[235]`]],[`(\\d{3})(\\d{6})`,`$1 $2`,[`[89]`]]]],GR:[`30`,`00`,`5005000\\d{3}|8\\d{9,11}|(?:[269]\\d|70)\\d{8}`,[10,11,12],[[`(\\d{2})(\\d{4})(\\d{4})`,`$1 $2 $3`,[`21|7`]],[`(\\d{4})(\\d{6})`,`$1 $2`,[`2(?:2|3[2-57-9]|4[2-469]|5[2-59]|6[2-9]|7[2-69]|8[2-49])|5`]],[`(\\d{3})(\\d{3})(\\d{4})`,`$1 $2 $3`,[`[2689]`]],[`(\\d{3})(\\d{3,4})(\\d{5})`,`$1 $2 $3`,[`8`]]]],GT:[`502`,`00`,`80\\d{6}|(?:1\\d{3}|[2-7])\\d{7}`,[8,11],[[`(\\d{4})(\\d{4})`,`$1 $2`,[`[2-8]`]],[`(\\d{4})(\\d{3})(\\d{4})`,`$1 $2 $3`,[`1`]]]],GU:[`1`,`011`,`(?:[58]\\d\\d|671|900)\\d{7}`,[10],0,`1`,0,`([2-9]\\d{6})$|1`,`671$1`,0,`671`],GW:[`245`,`00`,`[49]\\d{8}|4\\d{6}`,[7,9],[[`(\\d{3})(\\d{4})`,`$1 $2`,[`40`]],[`(\\d{3})(\\d{3})(\\d{3})`,`$1 $2 $3`,[`[49]`]]]],GY:[`592`,`001`,`(?:[2-8]\\d{3}|9008)\\d{3}`,[7],[[`(\\d{3})(\\d{4})`,`$1 $2`,[`[2-9]`]]]],HK:[`852`,`00(?:30|5[09]|[126-9]?)`,`8[0-46-9]\\d{6,7}|9\\d{4,7}|(?:[2-7]|9\\d{3})\\d{7}`,[5,6,7,8,9,11],[[`(\\d{3})(\\d{2,5})`,`$1 $2`,[`900`,`9003`]],[`(\\d{4})(\\d{4})`,`$1 $2`,[`[2-7]|8[1-4]|9(?:0[1-9]|[1-8])`]],[`(\\d{3})(\\d{3})(\\d{3})`,`$1 $2 $3`,[`8`]],[`(\\d{3})(\\d{2})(\\d{3})(\\d{3})`,`$1 $2 $3 $4`,[`9`]]],0,0,0,0,0,0,0,`00`],HN:[`504`,`00`,`8\\d{10}|[237-9]\\d{7}`,[8,11],[[`(\\d{4})(\\d{4})`,`$1-$2`,[`[237-9]`]]]],HR:[`385`,`00`,`[2-69]\\d{8}|80\\d{5,7}|[1-79]\\d{7}|6\\d{6}`,[7,8,9],[[`(\\d{2})(\\d{2})(\\d{3})`,`$1 $2 $3`,[`6[01]`],`0$1`],[`(\\d{3})(\\d{2})(\\d{2,3})`,`$1 $2 $3`,[`8`],`0$1`],[`(\\d)(\\d{4})(\\d{3})`,`$1 $2 $3`,[`1`],`0$1`],[`(\\d{2})(\\d{3})(\\d{3,4})`,`$1 $2 $3`,[`6|7[245]`],`0$1`],[`(\\d{2})(\\d{3})(\\d{3,4})`,`$1 $2 $3`,[`9`],`0$1`],[`(\\d{2})(\\d{3})(\\d{3,4})`,`$1 $2 $3`,[`[2-57]`],`0$1`],[`(\\d{3})(\\d{3})(\\d{3})`,`$1 $2 $3`,[`8`],`0$1`]],`0`],HT:[`509`,`00`,`[2-589]\\d{7}`,[8],[[`(\\d{2})(\\d{2})(\\d{4})`,`$1 $2 $3`,[`[2-589]`]]]],HU:[`36`,`00`,`[235-7]\\d{8}|[1-9]\\d{7}`,[8,9],[[`(\\d)(\\d{3})(\\d{4})`,`$1 $2 $3`,[`1`],`(06 $1)`],[`(\\d{2})(\\d{3})(\\d{3})`,`$1 $2 $3`,[`[27][2-9]|3[2-7]|4[24-9]|5[2-79]|6|8[2-57-9]|9[2-69]`],`(06 $1)`],[`(\\d{2})(\\d{3})(\\d{3,4})`,`$1 $2 $3`,[`[2-9]`],`06 $1`]],`06`],ID:[`62`,`00[89]`,`00[1-9]\\d{9,14}|(?:[1-36]|8\\d{5})\\d{6}|00\\d{9}|[1-9]\\d{8,10}|[2-9]\\d{7}`,[7,8,9,10,11,12,13,14,15,16,17],[[`(\\d)(\\d{3})(\\d{3})`,`$1 $2 $3`,[`15`]],[`(\\d{2})(\\d{5,9})`,`$1 $2`,[`2[124]|[36]1`],`(0$1)`],[`(\\d{3})(\\d{5,7})`,`$1 $2`,[`800`],`0$1`],[`(\\d{3})(\\d{5,8})`,`$1 $2`,[`[2-79]`],`(0$1)`],[`(\\d{3})(\\d{3,4})(\\d{3})`,`$1-$2-$3`,[`8[1-35-9]`],`0$1`],[`(\\d{3})(\\d{6,8})`,`$1 $2`,[`1`],`0$1`],[`(\\d{3})(\\d{3})(\\d{4})`,`$1 $2 $3`,[`804`],`0$1`],[`(\\d{3})(\\d)(\\d{3})(\\d{3})`,`$1 $2 $3 $4`,[`80`],`0$1`],[`(\\d{3})(\\d{4})(\\d{4,5})`,`$1-$2-$3`,[`8`],`0$1`]],`0`],IE:[`353`,`00`,`(?:1\\d|[2569])\\d{6,8}|4\\d{6,9}|7\\d{8}|8\\d{8,9}`,[7,8,9,10],[[`(\\d{2})(\\d{5})`,`$1 $2`,[`2[24-9]|47|58|6[237-9]|9[35-9]`],`(0$1)`],[`(\\d{3})(\\d{5})`,`$1 $2`,[`[45]0`],`(0$1)`],[`(\\d)(\\d{3,4})(\\d{4})`,`$1 $2 $3`,[`1`],`(0$1)`],[`(\\d{2})(\\d{3})(\\d{3,4})`,`$1 $2 $3`,[`[2569]|4[1-69]|7[14]`],`(0$1)`],[`(\\d{3})(\\d{3})(\\d{3})`,`$1 $2 $3`,[`70`],`0$1`],[`(\\d{3})(\\d{3})(\\d{3})`,`$1 $2 $3`,[`81`],`(0$1)`],[`(\\d{2})(\\d{3})(\\d{4})`,`$1 $2 $3`,[`[78]`],`0$1`],[`(\\d{4})(\\d{3})(\\d{3})`,`$1 $2 $3`,[`1`]],[`(\\d{2})(\\d{4})(\\d{4})`,`$1 $2 $3`,[`4`],`(0$1)`],[`(\\d{2})(\\d)(\\d{3})(\\d{4})`,`$1 $2 $3 $4`,[`8`],`0$1`]],`0`],IL:[`972`,`0(?:0|1[2-9])`,`1\\d{6}(?:\\d{3,5})?|[57]\\d{8}|[1-489]\\d{7}`,[7,8,9,10,11,12],[[`(\\d{4})(\\d{3})`,`$1-$2`,[`125`]],[`(\\d{4})(\\d{2})(\\d{2})`,`$1-$2-$3`,[`121`]],[`(\\d)(\\d{3})(\\d{4})`,`$1-$2-$3`,[`[2-489]`],`0$1`],[`(\\d{2})(\\d{3})(\\d{4})`,`$1-$2-$3`,[`[57]`],`0$1`],[`(\\d{4})(\\d{3})(\\d{3})`,`$1-$2-$3`,[`12`]],[`(\\d{4})(\\d{6})`,`$1-$2`,[`159`]],[`(\\d)(\\d{3})(\\d{3})(\\d{3})`,`$1-$2-$3-$4`,[`1[7-9]`]],[`(\\d{3})(\\d{1,2})(\\d{3})(\\d{4})`,`$1-$2 $3-$4`,[`15`]]],`0`],IM:[`44`,`00`,`1624\\d{6}|(?:[3578]\\d|90)\\d{8}`,[10],0,`0`,0,`([25-8]\\d{5})$|0|180020`,`1624$1`,0,`74576|(?:16|7[56])24`],IN:[`91`,`00`,`(?:000800|[2-9]\\d\\d)\\d{7}|1\\d{7,12}`,[8,9,10,11,12,13],[[`(\\d{8})`,`$1`,[`5(?:0|2[23]|3[03]|[67]1|88)`,`5(?:0|2(?:21|3)|3(?:0|3[23])|616|717|888)`,`5(?:0|2(?:21|3)|3(?:0|3[23])|616|717|8888)`],0,1],[`(\\d{4})(\\d{4,5})`,`$1 $2`,[`180`,`1800`],0,1],[`(\\d{3})(\\d{3})(\\d{4})`,`$1 $2 $3`,[`140`],0,1],[`(\\d{2})(\\d{4})(\\d{4})`,`$1 $2 $3`,[`11|2[02]|33|4[04]|79[1-7]|80[2-46]`,`11|2[02]|33|4[04]|79(?:[1-6]|7[19])|80(?:[2-4]|6[0-589])`,`11|2[02]|33|4[04]|79(?:[124-6]|3(?:[02-9]|1[0-24-9])|7(?:1|9[1-6]))|80(?:[2-4]|6[0-589])`],`0$1`,1],[`(\\d{3})(\\d{3})(\\d{4})`,`$1 $2 $3`,[`1(?:2[0-249]|3[0-25]|4[145]|[68]|7[1257])|2(?:1[257]|3[013]|4[01]|5[0137]|6[0158]|78|8[1568])|3(?:26|4[1-3]|5[34]|6[01489]|7[02-46]|8[159])|4(?:1[36]|2[1-47]|5[12]|6[0-26-9]|7[0-24-9]|8[013-57]|9[014-7])|5(?:1[025]|22|[36][25]|4[28]|5[12]|[78]1)|6(?:12|[2-4]1|5[17]|6[13]|80)|7(?:12|3[134]|61|88)|8(?:16|2[014]|3[126]|6[136]|7[078]|8[34]|91)|(?:43|59|75)[15]|(?:1[59]|29|67)[14]`,`1(?:2[0-24]|3[0-25]|4[145]|[59][14]|6[1-9]|7[1257]|8[1-57-9])|2(?:1[257]|3[013]|4[01]|5[0137]|6[058]|78|8[1568]|9[14])|3(?:26|4[1-3]|5[34]|6[01489]|7[02-46]|8[159])|4(?:1[36]|2[1-47]|3[15]|5[12]|6[0-26-9]|7[0-24-9]|8[013-57]|9[014-7])|5(?:1[025]|22|[36][25]|4[28]|[578]1|9[15])|674|7(?:(?:3[34]|5[15])[2-6]|61[346]|88[0-8])|8(?:70[2-6]|84[235-7]|91[3-7])|(?:1(?:29|60|8[06])|261|552|6(?:12|[2-47]1|5[17]|6[13]|80)|7(?:12|31)|8(?:16|2[014]|3[126]|6[136]|7[78]|83))[2-7]`,`1(?:2[0-24]|3[0-25]|4[145]|[59][14]|6[1-9]|7[1257]|8[1-57-9])|2(?:1[257]|3[013]|4[01]|5[0137]|6[058]|78|8[1568]|9[14])|3(?:26|4[1-3]|5[34]|6[01489]|7[02-46]|8[159])|4(?:1[36]|2[1-47]|3[15]|5[12]|6[0-26-9]|7[0-24-9]|8[013-57]|9[014-7])|5(?:1[025]|22|[36][25]|4[28]|[578]1|9[15])|6(?:12(?:[2-6]|7[0-8])|74[2-7])|7(?:3171|5[15][2-6]|61[346]|88(?:[2-7]|82))|8(?:70[2-6]|84(?:[2356]|7[19])|91(?:[3-6]|7[19]))|73[134][2-6]|8(?:16|2[014]|3[126]|6[136]|7[78]|83)(?:[2-6]|7[19])|(?:1(?:29|60|8[06])|261|552|6(?:[2-4]1|5[17]|6[13]|7(?:1|4[0189])|80)|7(?:12|88[01]))[2-7]`],`0$1`,1],[`(\\d{4})(\\d{3})(\\d{3})`,`$1 $2 $3`,[`1(?:[2-479]|5[0235-9])|[2-5]|6(?:1[1358]|2[2457-9]|3[2-5]|4[235-7]|5[2-689]|6[24578]|7[235689]|8[1-6])|7(?:1[013-9]|3[129]|5[29]|6[02-5]|70)|807`,`1(?:[2-479]|5[0235-9])|[2-5]|6(?:1[1358]|2(?:[2457]|84|95)|3(?:[2-4]|55)|4[235-7]|5[2-689]|6[24578]|7(?:[23569]|8[0-57-9])|8[1-6])|7(?:1(?:[013-8]|9[6-9])|3(?:17|2[0-49]|9[2-57])|5(?:2[1-3]|9[0-6])|6(?:0[5689]|2[5-9]|3[02-8]|4|5[0-367])|70[13-7])|807[19]`,`1(?:[2-479]|5(?:[0236-9]|5[013-9]))|[2-5]|6(?:2(?:84|95)|355|8(?:28[235-7]|3))|73179|807(?:1|9[1-3])|(?:1552|6(?:(?:1[1358]|2[2457]|3[2-4]|4[235-7]|5[2-689]|6[24578])\\d|7(?:[23569]\\d|8[0-57-9])|8(?:[14-6]\\d|2[0-79]))|7(?:1(?:[013-8]\\d|9[6-9])|3(?:2[0-49]|9[2-57])|5(?:2[1-3]|9[0-6])|6(?:0[5689]|2[5-9]|3[02-8]|4\\d|5[0-367])|70[13-7]))[2-7]`],`0$1`,1],[`(\\d{5})(\\d{5})`,`$1 $2`,[`16|[6-9]`],`0$1`,1],[`(\\d{4})(\\d{2,4})(\\d{4})`,`$1 $2 $3`,[`18[06]`,`18[06]0`],0,1],[`(\\d{4})(\\d{3})(\\d{3})(\\d{3})`,`$1 $2 $3 $4`,[`18`],0,1]],`0`],IO:[`246`,`00`,`3\\d{6}`,[7],[[`(\\d{3})(\\d{4})`,`$1 $2`,[`3`]]]],IQ:[`964`,`00`,`(?:1|7\\d\\d)\\d{7}|[2-6]\\d{7,8}`,[8,9,10],[[`(\\d)(\\d{3})(\\d{4})`,`$1 $2 $3`,[`1`],`0$1`],[`(\\d{2})(\\d{3})(\\d{3,4})`,`$1 $2 $3`,[`[2-6]`],`0$1`],[`(\\d{3})(\\d{3})(\\d{4})`,`$1 $2 $3`,[`7`],`0$1`]],`0`],IR:[`98`,`00`,`[1-9]\\d{9}|(?:[1-8]\\d\\d|9)\\d{3,4}`,[4,5,6,7,10],[[`(\\d{4,5})`,`$1`,[`96`],`0$1`],[`(\\d{2})(\\d{4,5})`,`$1 $2`,[`(?:1[137]|2[13-68]|3[1458]|4[145]|5[1468]|6[16]|7[1467]|8[13467])[12689]`],`0$1`],[`(\\d{3})(\\d{3})(\\d{3,4})`,`$1 $2 $3`,[`9`],`0$1`],[`(\\d{2})(\\d{4})(\\d{4})`,`$1 $2 $3`,[`[1-8]`],`0$1`]],`0`],IS:[`354`,`00|1(?:0(?:01|[12]0)|100)`,`(?:38\\d|[4-9])\\d{6}`,[7,9],[[`(\\d{3})(\\d{4})`,`$1 $2`,[`[4-9]`]],[`(\\d{3})(\\d{3})(\\d{3})`,`$1 $2 $3`,[`3`]]],0,0,0,0,0,0,0,`00`],IT:[`39`,`00`,`0\\d{5,11}|1\\d{8,10}|3(?:[0-8]\\d{7,10}|9\\d{7,8})|(?:43|55|70)\\d{8}|8\\d{5}(?:\\d{2,4})?`,[6,7,8,9,10,11,12],[[`(\\d{2})(\\d{4,6})`,`$1 $2`,[`0[26]`]],[`(\\d{3})(\\d{3,6})`,`$1 $2`,[`0[13-57-9][0159]|8(?:03|4[17]|9[2-5])`,`0[13-57-9][0159]|8(?:03|4[17]|9(?:2|3[04]|[45][0-4]))`]],[`(\\d{4})(\\d{2,6})`,`$1 $2`,[`0(?:[13-579][2-46-8]|8[236-8])`]],[`(\\d{4})(\\d{4})`,`$1 $2`,[`894`]],[`(\\d{2})(\\d{3,4})(\\d{4})`,`$1 $2 $3`,[`0[26]|5`]],[`(\\d{3})(\\d{3})(\\d{3,4})`,`$1 $2 $3`,[`1(?:44|[679])|[378]|43`]],[`(\\d{3})(\\d{3,4})(\\d{4})`,`$1 $2 $3`,[`0[13-57-9][0159]|14`]],[`(\\d{2})(\\d{4})(\\d{5})`,`$1 $2 $3`,[`0[26]`]],[`(\\d{4})(\\d{3})(\\d{4})`,`$1 $2 $3`,[`0`]],[`(\\d{3})(\\d{4})(\\d{4,5})`,`$1 $2 $3`,[`[03]`]]],0,0,0,0,0,0,[[`0(?:669[0-79]\\d{1,6}|831\\d{2,8})|0(?:1(?:[0159]\\d|[27][1-5]|31|4[1-4]|6[1356]|8[2-57])|2\\d\\d|3(?:[0159]\\d|2[1-4]|3[12]|[48][1-6]|6[2-59]|7[1-7])|4(?:[0159]\\d|[23][1-9]|4[245]|6[1-5]|7[1-4]|81)|5(?:[0159]\\d|2[1-5]|3[2-6]|4[1-79]|6[4-6]|7[1-578]|8[3-8])|6(?:[0-57-9]\\d|6[0-8])|7(?:[0159]\\d|2[12]|3[1-7]|4[2-46]|6[13569]|7[13-6]|8[1-59])|8(?:[0159]\\d|2[3-578]|3[2356]|[6-8][1-5])|9(?:[0159]\\d|[238][1-5]|4[12]|6[1-8]|7[1-6]))\\d{2,7}`],[`3[2-9]\\d{7,8}|(?:31|43)\\d{8}`,[9,10]],[`80(?:0\\d{3}|3)\\d{3}`,[6,9]],[`(?:0878\\d{3}|89(?:2\\d|3[04]|4(?:[0-4]|[5-9]\\d\\d)|5[0-4]))\\d\\d|(?:1(?:44|6[346])|89(?:38|5[5-9]|9))\\d{6}`,[6,8,9,10]],[`1(?:78\\d|99)\\d{6}`,[9,10]],[`3[2-8]\\d{9,10}`,[11,12]],0,0,[`55\\d{8}`,[10]],[`84(?:[08]\\d{3}|[17])\\d{3}`,[6,9]]]],JE:[`44`,`00`,`1534\\d{6}|(?:[3578]\\d|90)\\d{8}`,[10],0,`0`,0,`([0-24-8]\\d{5})$|0|180020`,`1534$1`,0,0,[[`1534[0-24-8]\\d{5}`],[`7(?:(?:(?:50|82)9|937)\\d|7(?:00[378]|97\\d))\\d{5}`],[`80(?:07(?:35|81)|8901)\\d{4}`],[`(?:8(?:4(?:4(?:4(?:05|42|69)|703)|5(?:041|800))|7(?:0002|1206))|90(?:066[59]|1810|71(?:07|55)))\\d{4}`],[`701511\\d{4}`],0,[`(?:3(?:0(?:07(?:35|81)|8901)|3\\d{4}|4(?:4(?:4(?:05|42|69)|703)|5(?:041|800))|7(?:0002|1206))|55\\d{4})\\d{4}`],[`76(?:464|652)\\d{5}|76(?:0[0-28]|2[356]|34|4[01347]|5[49]|6[0-369]|77|8[14]|9[139])\\d{6}`],[`56\\d{8}`]]],JM:[`1`,`011`,`(?:[58]\\d\\d|658|900)\\d{7}`,[10],0,`1`,0,0,0,0,`658|876`],JO:[`962`,`00`,`(?:(?:[2689]|7\\d)\\d|32|427|53)\\d{6}`,[8,9],[[`(\\d)(\\d{3})(\\d{4})`,`$1 $2 $3`,[`[2356]|87`],`(0$1)`],[`(\\d{3})(\\d{5,6})`,`$1 $2`,[`[89]`],`0$1`],[`(\\d{2})(\\d{7})`,`$1 $2`,[`70`],`0$1`],[`(\\d)(\\d{4})(\\d{4})`,`$1 $2 $3`,[`[47]`],`0$1`]],`0`],JP:[`81`,`010`,`00[1-9]\\d{6,14}|[25-9]\\d{9}|(?:00|[1-9]\\d\\d)\\d{6}`,[8,9,10,11,12,13,14,15,16,17],[[`(\\d{3})(\\d{3})(\\d{3})`,`$1-$2-$3`,[`(?:12|57|99)0`],`0$1`],[`(\\d{4})(\\d)(\\d{4})`,`$1-$2-$3`,[`1(?:26|3[79]|4[56]|5[4-68]|6[3-5])|499|5(?:76|97)|746|8(?:3[89]|47|51)|9(?:80|9[16])`,`1(?:267|3(?:7[247]|9[278])|466|5(?:47|58|64)|6(?:3[245]|48|5[4-68]))|499[2468]|5(?:76|97)9|7468|8(?:3(?:8[7-9]|96)|477|51[2-9])|9(?:802|9(?:1[23]|69))|1(?:45|58)[67]`,`1(?:267|3(?:7[247]|9[278])|466|5(?:47|58|64)|6(?:3[245]|48|5[4-68]))|499[2468]|5(?:769|979[2-69])|7468|8(?:3(?:8[7-9]|96[2457-9])|477|51[2-9])|9(?:802|9(?:1[23]|69))|1(?:45|58)[67]`],`0$1`],[`(\\d{2})(\\d{3})(\\d{4})`,`$1-$2-$3`,[`60`],`0$1`],[`(\\d)(\\d{4})(\\d{4})`,`$1-$2-$3`,[`3|4(?:2[09]|7[01])|6[1-9]`,`3|4(?:2(?:0|9[02-69])|7(?:0[019]|1))|6[1-9]`],`0$1`],[`(\\d{2})(\\d{3})(\\d{4})`,`$1-$2-$3`,[`1(?:1|5[45]|77|88|9[69])|2(?:2[1-37]|3[0-269]|4[59]|5|6[24]|7[1-358]|8[1369]|9[0-38])|4(?:[28][1-9]|3[0-57]|[45]|6[248]|7[2-579]|9[29])|5(?:2|3[0459]|4[0-369]|5[29]|8[02389]|9[0-389])|7(?:2[02-46-9]|34|[58]|6[0249]|7[57]|9[2-6])|8(?:2[124589]|3[26-9]|49|51|6|7[0-468]|8[68]|9[019])|9(?:[23][1-9]|4[15]|5[138]|6[1-3]|7[156]|8[189]|9[1-489])`,`1(?:1|5(?:4[018]|5[017])|77|88|9[69])|2(?:2(?:[127]|3[014-9])|3[0-269]|4[59]|5(?:[1-3]|5[0-69]|9[19])|62|7(?:[1-35]|8[0189])|8(?:[16]|3[0134]|9[0-5])|9(?:[028]|17))|4(?:2(?:[13-79]|8[014-6])|3[0-57]|[45]|6[248]|7[2-47]|8[1-9]|9[29])|5(?:2|3(?:[045]|9[0-8])|4[0-369]|5[29]|8[02389]|9[0-3])|7(?:2[02-46-9]|34|[58]|6[0249]|7[57]|9(?:[23]|4[0-59]|5[01569]|6[0167]))|8(?:2(?:[1258]|4[0-39]|9[0-2469])|3(?:[29]|60)|49|51|6(?:[0-24]|36|5[0-3589]|7[23]|9[01459])|7[0-468]|8[68])|9(?:[23][1-9]|4[15]|5[138]|6[1-3]|7[156]|8[189]|9(?:[1289]|3[34]|4[0178]))|(?:264|837)[016-9]|2(?:57|93)[015-9]|(?:25[0468]|422|838)[01]|(?:47[59]|59[89]|8(?:6[68]|9))[019]`,`1(?:1|5(?:4[018]|5[017])|77|88|9[69])|2(?:2[127]|3[0-269]|4[59]|5(?:[1-3]|5[0-69]|9(?:17|99))|6(?:2|4[016-9])|7(?:[1-35]|8[0189])|8(?:[16]|3[0134]|9[0-5])|9(?:[028]|17))|4(?:2(?:[13-79]|8[014-6])|3[0-57]|[45]|6[248]|7[2-47]|9[29])|5(?:2|3(?:[045]|9(?:[0-58]|6[4-9]|7[0-35689]))|4[0-369]|5[29]|8[02389]|9[0-3])|7(?:2[02-46-9]|34|[58]|6[0249]|7[57]|9(?:[23]|4[0-59]|5[01569]|6[0167]))|8(?:2(?:[1258]|4[0-39]|9[0169])|3(?:[29]|60|7(?:[017-9]|6[6-8]))|49|51|6(?:[0-24]|36[2-57-9]|5(?:[0-389]|5[23])|6(?:[01]|9[178])|7(?:2[2-468]|3[78])|9[0145])|7[0-468]|8[68])|9(?:4[15]|5[138]|7[156]|8[189]|9(?:[1289]|3(?:31|4[357])|4[0178]))|(?:8294|96)[1-3]|2(?:57|93)[015-9]|(?:223|8699)[014-9]|(?:25[0468]|422|838)[01]|(?:48|8292|9[23])[1-9]|(?:47[59]|59[89]|8(?:68|9))[019]`],`0$1`],[`(\\d{3})(\\d{2})(\\d{4})`,`$1-$2-$3`,[`[14]|[289][2-9]|5[3-9]|7[2-4679]`],`0$1`],[`(\\d{3})(\\d{3})(\\d{4})`,`$1-$2-$3`,[`800`],`0$1`],[`(\\d{2})(\\d{4})(\\d{4})`,`$1-$2-$3`,[`[25-9]`],`0$1`]],`0`,0,`(000[2569]\\d{4,6})$|(?:(?:003768)0?)|0`,`$1`],KE:[`254`,`000`,`(?:[17]\\d\\d|900)\\d{6}|(?:2|80)0\\d{6,7}|[4-6]\\d{6,8}`,[7,8,9,10],[[`(\\d{2})(\\d{5,7})`,`$1 $2`,[`[24-6]`],`0$1`],[`(\\d{3})(\\d{6})`,`$1 $2`,[`[17]`],`0$1`],[`(\\d{3})(\\d{3})(\\d{3,4})`,`$1 $2 $3`,[`[89]`],`0$1`]],`0`],KG:[`996`,`00`,`8\\d{9}|[235-9]\\d{8}`,[9,10],[[`(\\d{4})(\\d{5})`,`$1 $2`,[`3(?:1[346]|[24-79])`],`0$1`],[`(\\d{3})(\\d{3})(\\d{3})`,`$1 $2 $3`,[`[235-79]|88`],`0$1`],[`(\\d{3})(\\d{3})(\\d)(\\d{2,3})`,`$1 $2 $3 $4`,[`8`],`0$1`]],`0`],KH:[`855`,`00[14-9]`,`1\\d{9}|[1-9]\\d{7,8}`,[8,9,10],[[`(\\d{2})(\\d{3})(\\d{3,4})`,`$1 $2 $3`,[`[1-9]`],`0$1`],[`(\\d{4})(\\d{3})(\\d{3})`,`$1 $2 $3`,[`1`]]],`0`],KI:[`686`,`00`,`(?:[37]\\d|6[0-79])\\d{6}|(?:[2-48]\\d|50)\\d{3}`,[5,8],0,`0`],KM:[`269`,`00`,`[3478]\\d{6}`,[7],[[`(\\d{3})(\\d{2})(\\d{2})`,`$1 $2 $3`,[`[3478]`]]]],KN:[`1`,`011`,`(?:[58]\\d\\d|900)\\d{7}`,[10],0,`1`,0,`([2-7]\\d{6})$|1`,`869$1`,0,`869`],KP:[`850`,`00|99`,`85\\d{6}|(?:19\\d|[2-7])\\d{7}`,[8,10],[[`(\\d{2})(\\d{3})(\\d{3})`,`$1 $2 $3`,[`8`],`0$1`],[`(\\d)(\\d{3})(\\d{4})`,`$1 $2 $3`,[`[2-7]`],`0$1`],[`(\\d{3})(\\d{3})(\\d{4})`,`$1 $2 $3`,[`1`],`0$1`]],`0`],KR:[`82`,`00(?:[125689]|3(?:[46]5|91)|7(?:00|27|3|55|6[126]))`,`00[1-9]\\d{8,11}|(?:[12]|5\\d{3})\\d{7}|[13-6]\\d{9}|(?:[1-6]\\d|80)\\d{7}|[3-6]\\d{4,5}|(?:00|7)0\\d{8}`,[5,6,8,9,10,11,12,13,14],[[`(\\d{2})(\\d{3,4})`,`$1-$2`,[`(?:3[1-3]|[46][1-4]|5[1-5])1`],`0$1`],[`(\\d{4})(\\d{4})`,`$1-$2`,[`1`]],[`(\\d)(\\d{3,4})(\\d{4})`,`$1-$2-$3`,[`2`],`0$1`],[`(\\d{2})(\\d{3})(\\d{4})`,`$1-$2-$3`,[`[36]0|8`],`0$1`],[`(\\d{2})(\\d{3,4})(\\d{4})`,`$1-$2-$3`,[`[1346]|5[1-5]`],`0$1`],[`(\\d{2})(\\d{4})(\\d{4})`,`$1-$2-$3`,[`[57]`],`0$1`],[`(\\d{2})(\\d{5})(\\d{4})`,`$1-$2-$3`,[`5`],`0$1`]],`0`,0,`0(8(?:[1-46-8]|5\\d\\d))?`],KW:[`965`,`00`,`18\\d{5}|(?:[2569]\\d|41)\\d{6}`,[7,8],[[`(\\d{4})(\\d{3,4})`,`$1 $2`,[`[169]|2(?:[235]|4[1-35-9])|52`]],[`(\\d{3})(\\d{5})`,`$1 $2`,[`[245]`]]]],KY:[`1`,`011`,`(?:345|[58]\\d\\d|900)\\d{7}`,[10],0,`1`,0,`([2-9]\\d{6})$|1`,`345$1`,0,`345`],KZ:[`7`,`810`,`8\\d{13}|[78]\\d{9}`,[10,14],0,`8`,0,0,0,0,`7`,0,`8~10`],LA:[`856`,`00`,`[23]\\d{9}|3\\d{8}|(?:[235-8]\\d|41)\\d{6}`,[8,9,10],[[`(\\d{2})(\\d{3})(\\d{3})`,`$1 $2 $3`,[`2[13]|3[14]|[4-8]`],`0$1`],[`(\\d{2})(\\d{2})(\\d{2})(\\d{3})`,`$1 $2 $3 $4`,[`3`],`0$1`],[`(\\d{2})(\\d{2})(\\d{3})(\\d{3})`,`$1 $2 $3 $4`,[`[23]`],`0$1`]],`0`],LB:[`961`,`00`,`[27-9]\\d{7}|[13-9]\\d{6}`,[7,8],[[`(\\d)(\\d{3})(\\d{3})`,`$1 $2 $3`,[`[13-69]|7(?:[2-57]|62|8[0-6]|9[04-9])|8[02-9]`],`0$1`],[`(\\d{2})(\\d{3})(\\d{3})`,`$1 $2 $3`,[`[27-9]`]]],`0`],LC:[`1`,`011`,`(?:[58]\\d\\d|758|900)\\d{7}`,[10],0,`1`,0,`([2-8]\\d{6})$|1`,`758$1`,0,`758`],LI:[`423`,`00`,`[68]\\d{8}|(?:[2378]\\d|90)\\d{5}`,[7,9],[[`(\\d{3})(\\d{2})(\\d{2})`,`$1 $2 $3`,[`[2379]|8(?:0[09]|7)`,`[2379]|8(?:0(?:02|9)|7)`]],[`(\\d{3})(\\d{3})(\\d{3})`,`$1 $2 $3`,[`8`]],[`(\\d{2})(\\d{3})(\\d{4})`,`$1 $2 $3`,[`69`]],[`(\\d{3})(\\d{3})(\\d{3})`,`$1 $2 $3`,[`6`]]],`0`,0,`(1001)|0`],LK:[`94`,`00`,`[1-9]\\d{8}`,[9],[[`(\\d{2})(\\d{3})(\\d{4})`,`$1 $2 $3`,[`7`],`0$1`],[`(\\d{3})(\\d{3})(\\d{3})`,`$1 $2 $3`,[`[1-689]`],`0$1`]],`0`],LR:[`231`,`00`,`(?:[2457]\\d|33|88)\\d{7}|(?:2\\d|[4-6])\\d{6}`,[7,8,9],[[`(\\d)(\\d{3})(\\d{3})`,`$1 $2 $3`,[`4[67]|[56]`],`0$1`],[`(\\d{2})(\\d{3})(\\d{3})`,`$1 $2 $3`,[`2`],`0$1`],[`(\\d{2})(\\d{3})(\\d{4})`,`$1 $2 $3`,[`[2-578]`],`0$1`]],`0`],LS:[`266`,`00`,`(?:[256]\\d\\d|800)\\d{5}`,[8],[[`(\\d{4})(\\d{4})`,`$1 $2`,[`[2568]`]]]],LT:[`370`,`00`,`(?:[3469]\\d|52|[78]0)\\d{6}`,[8],[[`(\\d)(\\d{3})(\\d{4})`,`$1 $2 $3`,[`52[0-7]`],`(0-$1)`,1],[`(\\d{3})(\\d{2})(\\d{3})`,`$1 $2 $3`,[`[7-9]`],`0 $1`,1],[`(\\d{2})(\\d{6})`,`$1 $2`,[`37|4(?:[15]|6[1-8])`],`(0-$1)`,1],[`(\\d{3})(\\d{5})`,`$1 $2`,[`[3-6]`],`(0-$1)`,1]],`0`,0,`[08]`],LU:[`352`,`00`,`35[013-9]\\d{4,8}|6\\d{8}|35\\d{2,4}|(?:[2457-9]\\d|3[0-46-9])\\d{2,9}`,[4,5,6,7,8,9,10,11],[[`(\\d{2})(\\d{3})`,`$1 $2`,[`2(?:0[2-689]|[2-9])|[3-57]|8(?:0[2-9]|[13-9])|9(?:0[89]|[2-579])`]],[`(\\d{2})(\\d{2})(\\d{2})`,`$1 $2 $3`,[`2(?:0[2-689]|[2-9])|[3-57]|8(?:0[2-9]|[13-9])|9(?:0[89]|[2-579])`]],[`(\\d{2})(\\d{2})(\\d{3})`,`$1 $2 $3`,[`20[2-689]`]],[`(\\d{2})(\\d{2})(\\d{2})(\\d{1,2})`,`$1 $2 $3 $4`,[`20`]],[`(\\d{2})(\\d{2})(\\d{2})(\\d{1,5})`,`$1 $2 $3 $4`,[`[3-57]|8[13-9]|9(?:0[89]|[2-579])|(?:2|80)[2-9]`]],[`(\\d{3})(\\d{2})(\\d{3})`,`$1 $2 $3`,[`80[01]|90[015]`]],[`(\\d{2})(\\d{2})(\\d{2})(\\d{3})`,`$1 $2 $3 $4`,[`20`]],[`(\\d{3})(\\d{3})(\\d{3})`,`$1 $2 $3`,[`6`]],[`(\\d{2})(\\d{2})(\\d{2})(\\d{2})(\\d{1,2})`,`$1 $2 $3 $4 $5`,[`20`]]],0,0,`(15(?:0[06]|1[12]|[35]5|4[04]|6[26]|77|88|99)\\d)`],LV:[`371`,`00`,`(?:[268]\\d|78|90)\\d{6}`,[8],[[`(\\d{2})(\\d{3})(\\d{3})`,`$1 $2 $3`,[`[2679]|8[01]`]]]],LY:[`218`,`00`,`[2-9]\\d{8}`,[9],[[`(\\d{2})(\\d{7})`,`$1-$2`,[`[2-9]`],`0$1`]],`0`],MA:[`212`,`00`,`[5-8]\\d{8}`,[9],[[`(\\d{4})(\\d{5})`,`$1-$2`,[`892`],`0$1`],[`(\\d{2})(\\d{7})`,`$1-$2`,[`8(?:0[0-7]|9)`],`0$1`],[`(\\d)(\\d{2})(\\d{2})(\\d{2})(\\d{2})`,`$1 $2 $3 $4 $5`,[`[5-8]`],`0$1`]],`0`,0,0,0,0,`[5-8]`],MC:[`377`,`00`,`(?:[3489]|[67]\\d)\\d{7}`,[8,9],[[`(\\d{2})(\\d{3})(\\d{3})`,`$1 $2 $3`,[`4`],`0$1`],[`(\\d{2})(\\d{2})(\\d{2})(\\d{2})`,`$1 $2 $3 $4`,[`[389]`]],[`(\\d)(\\d{2})(\\d{2})(\\d{2})(\\d{2})`,`$1 $2 $3 $4 $5`,[`[67]`],`0$1`]],`0`],MD:[`373`,`00`,`(?:[235-7]\\d|[89]0)\\d{6}`,[8],[[`(\\d{3})(\\d{5})`,`$1 $2`,[`[89]`],`0$1`],[`(\\d{2})(\\d{3})(\\d{3})`,`$1 $2 $3`,[`22|3`],`0$1`],[`(\\d{3})(\\d{2})(\\d{3})`,`$1 $2 $3`,[`[25-7]`],`0$1`]],`0`],ME:[`382`,`00`,`(?:20|[3-79]\\d)\\d{6}|80\\d{6,7}`,[8,9],[[`(\\d{2})(\\d{3})(\\d{3,4})`,`$1 $2 $3`,[`[2-9]`],`0$1`]],`0`],MF:[`590`,`00`,`7090\\d{5}|(?:[56]9|[89]\\d)\\d{7}`,[9],0,`0`,0,0,0,0,0,[[`(?:59(?:0(?:0[079]|[14]3|[27][79]|3[03-7]|5[0-268]|87)|87\\d)|80[6-9]\\d\\d)\\d{4}`],[`(?:69(?:0\\d\\d|1(?:2[2-9]|3[0-5]))|7090[0-4])\\d{4}`],[`80[0-5]\\d{6}`],[`8[129]\\d{7}`],0,0,0,0,[`9(?:(?:39[5-7]|76[018])\\d|475[0-6])\\d{4}`]]],MG:[`261`,`00`,`[23]\\d{8}`,[9],[[`(\\d{2})(\\d{2})(\\d{3})(\\d{2})`,`$1 $2 $3 $4`,[`[23]`],`0$1`]],`0`,0,`([24-9]\\d{6})$|0`,`20$1`],MH:[`692`,`011`,`329\\d{4}|(?:[256]\\d|45)\\d{5}`,[7],[[`(\\d{3})(\\d{4})`,`$1-$2`,[`[2-6]`]]],`1`],MK:[`389`,`00`,`[2-578]\\d{7}`,[8],[[`(\\d)(\\d{3})(\\d{4})`,`$1 $2 $3`,[`2|34[47]|4(?:[37]7|5[47]|64)`],`0$1`],[`(\\d{2})(\\d{3})(\\d{3})`,`$1 $2 $3`,[`[347]`],`0$1`],[`(\\d{3})(\\d)(\\d{2})(\\d{2})`,`$1 $2 $3 $4`,[`[58]`],`0$1`]],`0`],ML:[`223`,`00`,`[24-9]\\d{7}`,[8],[[`(\\d{2})(\\d{2})(\\d{2})(\\d{2})`,`$1 $2 $3 $4`,[`[24-9]`]]]],MM:[`95`,`00`,`1\\d{5,7}|95\\d{6}|(?:[4-7]|9[0-46-9])\\d{6,8}|(?:2|8\\d)\\d{5,8}`,[6,7,8,9,10],[[`(\\d)(\\d{2})(\\d{3})`,`$1 $2 $3`,[`16|2`],`0$1`],[`(\\d{2})(\\d{2})(\\d{3})`,`$1 $2 $3`,[`4(?:[2-46]|5[3-5])|5|6(?:[1-689]|7[235-7])|7(?:[0-4]|5[2-7])|8[1-5]|(?:60|86)[23]`],`0$1`],[`(\\d)(\\d{3})(\\d{3,4})`,`$1 $2 $3`,[`[12]|452|678|86`,`[12]|452|6788|86`],`0$1`],[`(\\d{2})(\\d{3})(\\d{3,4})`,`$1 $2 $3`,[`[4-7]|8[1-35]`],`0$1`],[`(\\d)(\\d{3})(\\d{4,6})`,`$1 $2 $3`,[`9(?:2[0-4]|[35-9]|4[137-9])`],`0$1`],[`(\\d)(\\d{4})(\\d{4})`,`$1 $2 $3`,[`2`],`0$1`],[`(\\d{3})(\\d{3})(\\d{4})`,`$1 $2 $3`,[`8`],`0$1`],[`(\\d)(\\d{3})(\\d{3})(\\d{3})`,`$1 $2 $3 $4`,[`92`],`0$1`],[`(\\d)(\\d{5})(\\d{4})`,`$1 $2 $3`,[`9`],`0$1`]],`0`],MN:[`976`,`001`,`[12]\\d{7,9}|[5-9]\\d{7}`,[8,9,10],[[`(\\d{2})(\\d{2})(\\d{4})`,`$1 $2 $3`,[`11|2[16]`],`0$1`],[`(\\d{4})(\\d{4})`,`$1 $2`,[`[5-9]`]],[`(\\d{3})(\\d{5,6})`,`$1 $2`,[`[12]2[1-3]`],`0$1`],[`(\\d{4})(\\d{5,6})`,`$1 $2`,[`[12](?:27|3[2-8]|4[2-68]|5[1-4689])`,`[12](?:27|3[2-8]|4[2-68]|5[1-4689])[0-3]`],`0$1`],[`(\\d{5})(\\d{4,5})`,`$1 $2`,[`[12]`],`0$1`]],`0`],MO:[`853`,`00`,`0800\\d{3}|(?:28|[68]\\d)\\d{6}`,[7,8],[[`(\\d{4})(\\d{3})`,`$1 $2`,[`0`]],[`(\\d{4})(\\d{4})`,`$1 $2`,[`[268]`]]]],MP:[`1`,`011`,`[58]\\d{9}|(?:67|90)0\\d{7}`,[10],0,`1`,0,`([2-9]\\d{6})$|1`,`670$1`,0,`670`],MQ:[`596`,`00`,`7091\\d{5}|(?:[56]9|[89]\\d)\\d{7}`,[9],[[`(\\d{3})(\\d{2})(\\d{2})(\\d{2})`,`$1 $2 $3 $4`,[`[5-79]|8(?:0[6-9]|[36])`],`0$1`],[`(\\d{3})(\\d{2})(\\d{2})(\\d{2})`,`$1 $2 $3 $4`,[`8`],`0$1`]],`0`],MR:[`222`,`00`,`(?:[2-4]\\d\\d|800)\\d{5}`,[8],[[`(\\d{2})(\\d{2})(\\d{2})(\\d{2})`,`$1 $2 $3 $4`,[`[2-48]`]]]],MS:[`1`,`011`,`(?:[58]\\d\\d|664|900)\\d{7}`,[10],0,`1`,0,`([34]\\d{6})$|1`,`664$1`,0,`664`],MT:[`356`,`00`,`3550\\d{4}|(?:[2579]\\d\\d|800)\\d{5}`,[8],[[`(\\d{4})(\\d{4})`,`$1 $2`,[`[2357-9]`]]]],MU:[`230`,`0(?:0|[24-7]0|3[03])`,`(?:[57]|8\\d\\d)\\d{7}|[2-468]\\d{6}`,[7,8,10],[[`(\\d{3})(\\d{4})`,`$1 $2`,[`[2-46]|8[013]`]],[`(\\d{4})(\\d{4})`,`$1 $2`,[`[57]`]],[`(\\d{5})(\\d{5})`,`$1 $2`,[`8`]]],0,0,0,0,0,0,0,`020`],MV:[`960`,`0(?:0|19)`,`(?:800|9[0-57-9]\\d)\\d{7}|[34679]\\d{6}`,[7,10],[[`(\\d{3})(\\d{4})`,`$1-$2`,[`[34679]`]],[`(\\d{3})(\\d{3})(\\d{4})`,`$1 $2 $3`,[`[89]`]]],0,0,0,0,0,0,0,`00`],MW:[`265`,`00`,`(?:[1289]\\d|31|77)\\d{7}|1\\d{6}`,[7,9],[[`(\\d)(\\d{3})(\\d{3})`,`$1 $2 $3`,[`1[2-9]`],`0$1`],[`(\\d{3})(\\d{2})(\\d{2})(\\d{2})`,`$1 $2 $3 $4`,[`[1-37-9]`],`0$1`]],`0`],MX:[`52`,`0[09]`,`[2-9]\\d{9}`,[10],[[`(\\d{2})(\\d{4})(\\d{4})`,`$1 $2 $3`,[`33|5[56]|81`]],[`(\\d{3})(\\d{3})(\\d{4})`,`$1 $2 $3`,[`[2-9]`]]],0,0,0,0,0,0,0,`00`],MY:[`60`,`00`,`1\\d{8,9}|(?:3\\d|[4-9])\\d{7}`,[8,9,10],[[`(\\d)(\\d{3})(\\d{4})`,`$1-$2 $3`,[`[4-79]`],`0$1`],[`(\\d{2})(\\d{3})(\\d{3,4})`,`$1-$2 $3`,[`1(?:[02469]|[378][1-9]|53)|8`,`1(?:[02469]|[37][1-9]|53|8(?:[1-46-9]|5[7-9]))|8`],`0$1`],[`(\\d)(\\d{4})(\\d{4})`,`$1-$2 $3`,[`3`],`0$1`],[`(\\d)(\\d{3})(\\d{2})(\\d{4})`,`$1-$2-$3-$4`,[`1(?:[367]|80)`]],[`(\\d{3})(\\d{3})(\\d{4})`,`$1-$2 $3`,[`15`],`0$1`],[`(\\d{2})(\\d{4})(\\d{4})`,`$1-$2 $3`,[`1`],`0$1`]],`0`],MZ:[`258`,`00`,`(?:2|8\\d)\\d{7}`,[8,9],[[`(\\d{2})(\\d{3})(\\d{3,4})`,`$1 $2 $3`,[`2|8[2-9]`]],[`(\\d{3})(\\d{3})(\\d{3})`,`$1 $2 $3`,[`8`]]]],NA:[`264`,`00`,`[68]\\d{7,8}`,[8,9],[[`(\\d{2})(\\d{3})(\\d{3})`,`$1 $2 $3`,[`88`],`0$1`],[`(\\d{2})(\\d{3})(\\d{3,4})`,`$1 $2 $3`,[`6`],`0$1`],[`(\\d{3})(\\d{3})(\\d{3})`,`$1 $2 $3`,[`87`],`0$1`],[`(\\d{2})(\\d{3})(\\d{4})`,`$1 $2 $3`,[`8`],`0$1`]],`0`],NC:[`687`,`00`,`(?:050|[2-57-9]\\d\\d)\\d{3}`,[6],[[`(\\d{2})(\\d{2})(\\d{2})`,`$1.$2.$3`,[`[02-57-9]`]]]],NE:[`227`,`00`,`[027-9]\\d{7}`,[8],[[`(\\d{2})(\\d{3})(\\d{3})`,`$1 $2 $3`,[`08`]],[`(\\d{2})(\\d{2})(\\d{2})(\\d{2})`,`$1 $2 $3 $4`,[`[089]|2[013]|7[0467]`]]]],NF:[`672`,`00`,`[13]\\d{5}`,[6],[[`(\\d{2})(\\d{4})`,`$1 $2`,[`1[0-3]`]],[`(\\d)(\\d{5})`,`$1 $2`,[`[13]`]]],0,0,`([0-258]\\d{4})$`,`3$1`],NG:[`234`,`009`,`(?:20|9\\d)\\d{8}|[78]\\d{9,13}`,[10,11,12,13,14],[[`(\\d{3})(\\d{3})(\\d{3,4})`,`$1 $2 $3`,[`[7-9]`],`0$1`],[`(\\d{3})(\\d{3})(\\d{4})`,`$1 $2 $3`,[`20[129]`],`0$1`],[`(\\d{4})(\\d{2})(\\d{4})`,`$1 $2 $3`,[`2`],`0$1`],[`(\\d{3})(\\d{4})(\\d{4,5})`,`$1 $2 $3`,[`[78]`],`0$1`],[`(\\d{3})(\\d{5})(\\d{5,6})`,`$1 $2 $3`,[`[78]`],`0$1`]],`0`],NI:[`505`,`00`,`(?:1800|[25-8]\\d{3})\\d{4}`,[8],[[`(\\d{4})(\\d{4})`,`$1 $2`,[`[125-8]`]]]],NL:[`31`,`00`,`(?:[124-7]\\d\\d|3(?:[02-9]\\d|1[0-8]))\\d{6}|8\\d{6,9}|9\\d{6,10}|1\\d{4,5}`,[5,6,7,8,9,10,11],[[`(\\d{3})(\\d{4,7})`,`$1 $2`,[`[89]0`],`0$1`],[`(\\d{2})(\\d{7})`,`$1 $2`,[`66`],`0$1`],[`(\\d)(\\d{8})`,`$1 $2`,[`6`],`0$1`],[`(\\d{3})(\\d{3})(\\d{3})`,`$1 $2 $3`,[`1[16-8]|2[259]|3[124]|4[17-9]|5[124679]`],`0$1`],[`(\\d{2})(\\d{3})(\\d{4})`,`$1 $2 $3`,[`[1-578]|91`],`0$1`],[`(\\d{3})(\\d{3})(\\d{5})`,`$1 $2 $3`,[`9`],`0$1`]],`0`],NO:[`47`,`00`,`(?:0|[2-9]\\d{3})\\d{4}`,[5,8],[[`(\\d{3})(\\d{2})(\\d{3})`,`$1 $2 $3`,[`8`]],[`(\\d{2})(\\d{2})(\\d{2})(\\d{2})`,`$1 $2 $3 $4`,[`[2-79]`]]],0,0,0,0,0,`[02-689]|7[0-8]`],NP:[`977`,`00`,`(?:1\\d|9)\\d{9}|[1-9]\\d{7}`,[8,10,11],[[`(\\d)(\\d{7})`,`$1-$2`,[`1[2-6]`],`0$1`],[`(\\d{2})(\\d{6})`,`$1-$2`,[`1[01]|[2-8]|9(?:[1-59]|[67][2-6])`],`0$1`],[`(\\d{3})(\\d{7})`,`$1-$2`,[`9`]]],`0`],NR:[`674`,`00`,`(?:222|444|(?:55|8\\d)\\d|666|777|999)\\d{4}`,[7],[[`(\\d{3})(\\d{4})`,`$1 $2`,[`[24-9]`]]]],NU:[`683`,`00`,`(?:[4-7]|888\\d)\\d{3}`,[4,7],[[`(\\d{3})(\\d{4})`,`$1 $2`,[`8`]]]],NZ:[`64`,`0(?:0|161)`,`[1289]\\d{9}|50\\d{5}(?:\\d{2,3})?|[27-9]\\d{7,8}|(?:[34]\\d|6[0-35-9])\\d{6}|8\\d{4,6}`,[5,6,7,8,9,10],[[`(\\d{2})(\\d{3,8})`,`$1 $2`,[`8[1-79]`],`0$1`],[`(\\d{3})(\\d{2})(\\d{2,3})`,`$1 $2 $3`,[`50[036-8]|8|90`,`50(?:[0367]|88)|8|90`],`0$1`],[`(\\d)(\\d{3})(\\d{4})`,`$1 $2 $3`,[`24|[346]|7[2-57-9]|9[2-9]`],`0$1`],[`(\\d{3})(\\d{3})(\\d{3,4})`,`$1 $2 $3`,[`2(?:10|74)|[589]`],`0$1`],[`(\\d{2})(\\d{3,4})(\\d{4})`,`$1 $2 $3`,[`1|2[028]`],`0$1`],[`(\\d{2})(\\d{3})(\\d{3,5})`,`$1 $2 $3`,[`2(?:[169]|7[0-35-9])|7`],`0$1`]],`0`,0,0,0,0,0,0,`00`],OM:[`968`,`00`,`(?:1505|[279]\\d{3}|500)\\d{4}|800\\d{5,6}`,[7,8,9],[[`(\\d{3})(\\d{4,6})`,`$1 $2`,[`[58]`]],[`(\\d{2})(\\d{6})`,`$1 $2`,[`2`]],[`(\\d{4})(\\d{4})`,`$1 $2`,[`[179]`]]]],PA:[`507`,`00`,`(?:00800|8\\d{3})\\d{6}|[68]\\d{7}|[1-57-9]\\d{6}`,[7,8,10,11],[[`(\\d{3})(\\d{4})`,`$1-$2`,[`[1-57-9]`]],[`(\\d{4})(\\d{4})`,`$1-$2`,[`[68]`]],[`(\\d{3})(\\d{3})(\\d{4})`,`$1 $2 $3`,[`8`]]]],PE:[`51`,`00|19(?:1[124]|77|90)00`,`(?:[14-8]|9\\d)\\d{7}`,[8,9],[[`(\\d{3})(\\d{5})`,`$1 $2`,[`80`],`(0$1)`],[`(\\d)(\\d{7})`,`$1 $2`,[`1`],`(0$1)`],[`(\\d{2})(\\d{6})`,`$1 $2`,[`[4-8]`],`(0$1)`],[`(\\d{3})(\\d{3})(\\d{3})`,`$1 $2 $3`,[`9`]]],`0`,0,0,0,0,0,0,`00`,` Anexo `],PF:[`689`,`00`,`4\\d{5}(?:\\d{2})?|8\\d{7,8}`,[6,8,9],[[`(\\d{2})(\\d{2})(\\d{2})`,`$1 $2 $3`,[`44`]],[`(\\d{2})(\\d{2})(\\d{2})(\\d{2})`,`$1 $2 $3 $4`,[`4|8[7-9]`]],[`(\\d{3})(\\d{2})(\\d{2})(\\d{2})`,`$1 $2 $3 $4`,[`8`]]]],PG:[`675`,`00|140[1-3]`,`(?:180|[78]\\d{3})\\d{4}|(?:[2-589]\\d|64)\\d{5}`,[7,8],[[`(\\d{3})(\\d{4})`,`$1 $2`,[`18|[2-69]|85`]],[`(\\d{4})(\\d{4})`,`$1 $2`,[`[78]`]]],0,0,0,0,0,0,0,`00`],PH:[`63`,`00`,`(?:[2-7]|9\\d)\\d{8}|2\\d{5}|(?:1800|8)\\d{7,9}`,[6,8,9,10,11,12,13],[[`(\\d)(\\d{5})`,`$1 $2`,[`2`],`(0$1)`],[`(\\d{4})(\\d{4,6})`,`$1 $2`,[`3(?:23|39|46)|4(?:2[3-6]|[35]9|4[26]|76)|544|88[245]|(?:52|64|86)2`,`3(?:230|397|461)|4(?:2(?:35|[46]4|51)|396|4(?:22|63)|59[347]|76[15])|5(?:221|446)|642[23]|8(?:622|8(?:[24]2|5[13]))`],`(0$1)`],[`(\\d{5})(\\d{4})`,`$1 $2`,[`346|4(?:27|9[35])|883`,`3469|4(?:279|9(?:30|56))|8834`],`(0$1)`],[`(\\d)(\\d{4})(\\d{4})`,`$1 $2 $3`,[`2`],`(0$1)`],[`(\\d{2})(\\d{3})(\\d{4})`,`$1 $2 $3`,[`[3-7]|8[2-8]`],`(0$1)`],[`(\\d{3})(\\d{3})(\\d{4})`,`$1 $2 $3`,[`[89]`],`0$1`],[`(\\d{4})(\\d{3})(\\d{4})`,`$1 $2 $3`,[`1`]],[`(\\d{4})(\\d{1,2})(\\d{3})(\\d{4})`,`$1 $2 $3 $4`,[`1`]]],`0`],PK:[`92`,`00`,`122\\d{6}|[24-8]\\d{10,11}|9(?:[013-9]\\d{8,10}|2(?:[01]\\d\\d|2(?:[06-8]\\d|1[01]))\\d{7})|(?:[2-8]\\d{3}|92(?:[0-7]\\d|8[1-9]))\\d{6}|[24-9]\\d{8}|[89]\\d{7}`,[8,9,10,11,12],[[`(\\d{3})(\\d{3})(\\d{2,7})`,`$1 $2 $3`,[`[89]0`],`0$1`],[`(\\d{4})(\\d{5})`,`$1 $2`,[`1`]],[`(\\d{3})(\\d{6,7})`,`$1 $2`,[`2(?:3[2358]|4[2-4]|9[2-8])|45[3479]|54[2-467]|60[468]|72[236]|8(?:2[2-689]|3[23578]|4[3478]|5[2356])|9(?:2[2-8]|3[27-9]|4[2-6]|6[3569]|9[25-8])`,`9(?:2[3-8]|98)|(?:2(?:3[2358]|4[2-4]|9[2-8])|45[3479]|54[2-467]|60[468]|72[236]|8(?:2[2-689]|3[23578]|4[3478]|5[2356])|9(?:22|3[27-9]|4[2-6]|6[3569]|9[25-7]))[2-9]`],`(0$1)`],[`(\\d{2})(\\d{7,8})`,`$1 $2`,[`(?:2[125]|4[0-246-9]|5[1-35-7]|6[1-8]|7[14]|8[16]|91)[2-9]`],`(0$1)`],[`(\\d{5})(\\d{5})`,`$1 $2`,[`58`],`(0$1)`],[`(\\d{3})(\\d{7})`,`$1 $2`,[`3`],`0$1`],[`(\\d{2})(\\d{3})(\\d{3})(\\d{3})`,`$1 $2 $3 $4`,[`2[125]|4[0-246-9]|5[1-35-7]|6[1-8]|7[14]|8[16]|91`],`(0$1)`],[`(\\d{3})(\\d{3})(\\d{3})(\\d{3})`,`$1 $2 $3 $4`,[`[24-9]`],`(0$1)`]],`0`],PL:[`48`,`00`,`(?:6|8\\d\\d)\\d{7}|[1-9]\\d{6}(?:\\d{2})?|[26]\\d{5}`,[6,7,8,9,10],[[`(\\d{5})`,`$1`,[`19`]],[`(\\d{3})(\\d{3})`,`$1 $2`,[`11|20|64`]],[`(\\d{2})(\\d{2})(\\d{3})`,`$1 $2 $3`,[`30|(?:1[2-8]|2[2-69]|3[2-4]|4[1-468]|5[24-689]|6[1-3578]|7[14-7]|8[1-79]|9[145])1`,`30|(?:1[2-8]|2[2-69]|3[2-4]|4[1-468]|5[24-689]|6[1-3578]|7[14-7]|8[1-79]|9[145])19`]],[`(\\d{3})(\\d{2})(\\d{2,3})`,`$1 $2 $3`,[`64`]],[`(\\d{3})(\\d{3})(\\d{3})`,`$1 $2 $3`,[`21|39|45|5[0137]|6[0469]|7[02389]|8(?:0[14]|8)`]],[`(\\d{2})(\\d{3})(\\d{2})(\\d{2})`,`$1 $2 $3 $4`,[`1[2-8]|[2-7]|8[1-79]|9[145]`]],[`(\\d{3})(\\d{3})(\\d{3,4})`,`$1 $2 $3`,[`8`]]]],PM:[`508`,`00`,`[78]\\d{8}|[2-9]\\d{5}`,[6,9],[[`(\\d{2})(\\d{2})(\\d{2})`,`$1 $2 $3`,[`[2-9]`],`0$1`],[`(\\d{3})(\\d{3})(\\d{3})`,`$1 $2 $3`,[`7`]],[`(\\d{3})(\\d{2})(\\d{2})(\\d{2})`,`$1 $2 $3 $4`,[`8`],`0$1`]],`0`],PR:[`1`,`011`,`(?:[589]\\d\\d|787)\\d{7}`,[10],0,`1`,0,0,0,0,`787|939`],PS:[`970`,`00`,`[2489]2\\d{6}|(?:1\\d|5)\\d{8}`,[8,9,10],[[`(\\d)(\\d{3})(\\d{4})`,`$1 $2 $3`,[`[2489]`],`0$1`],[`(\\d{3})(\\d{3})(\\d{3})`,`$1 $2 $3`,[`5`],`0$1`],[`(\\d{4})(\\d{3})(\\d{3})`,`$1 $2 $3`,[`1`]]],`0`],PT:[`351`,`00`,`1693\\d{5}|(?:[26-9]\\d|30)\\d{7}`,[9],[[`(\\d{2})(\\d{3})(\\d{4})`,`$1 $2 $3`,[`2[12]`]],[`(\\d{3})(\\d{3})(\\d{3})`,`$1 $2 $3`,[`16|[236-9]`]]]],PW:[`680`,`01[12]`,`(?:[24-8]\\d\\d|345|900)\\d{4}`,[7],[[`(\\d{3})(\\d{4})`,`$1 $2`,[`[2-9]`]]]],PY:[`595`,`00`,`[36-8]\\d{5,8}|4\\d{6,8}|59\\d{6}|9\\d{5,10}|(?:2\\d|5[0-8])\\d{6,7}`,[6,7,8,9,10,11],[[`(\\d{3})(\\d{3,6})`,`$1 $2`,[`[2-9]0`],`0$1`],[`(\\d{2})(\\d{5})`,`$1 $2`,[`3[289]|4[246-8]|61|7[1-3]|8[1-36]`],`(0$1)`],[`(\\d{3})(\\d{4,5})`,`$1 $2`,[`2[279]|3[13-5]|4[359]|5|6(?:[34]|7[1-46-8])|7[46-8]|85`],`(0$1)`],[`(\\d{2})(\\d{3})(\\d{3,4})`,`$1 $2 $3`,[`2[14-68]|3[26-9]|4[1246-8]|6(?:1|75)|7[1-35]|8[1-36]`],`(0$1)`],[`(\\d{2})(\\d{3})(\\d{4})`,`$1 $2 $3`,[`87`]],[`(\\d{3})(\\d{6})`,`$1 $2`,[`9(?:[5-79]|8[1-7])`],`0$1`],[`(\\d{3})(\\d{3})(\\d{3})`,`$1 $2 $3`,[`[2-8]`],`0$1`],[`(\\d{4})(\\d{3})(\\d{4})`,`$1 $2 $3`,[`9`]]],`0`],QA:[`974`,`00`,`800\\d{4}|(?:2|800)\\d{6}|(?:0080|[3-7])\\d{7}`,[7,8,9,11],[[`(\\d{3})(\\d{4})`,`$1 $2`,[`2[136]|8`]],[`(\\d{4})(\\d{4})`,`$1 $2`,[`[3-7]`]]]],RE:[`262`,`00`,`709\\d{6}|(?:26|[689]\\d)\\d{7}`,[9],[[`(\\d{3})(\\d{2})(\\d{2})(\\d{2})`,`$1 $2 $3 $4`,[`[26-9]`],`0$1`]],`0`,0,0,0,0,0,[[`2631[0-6]\\d{4}|26(?:2\\d|30|88)\\d{5}`],[`(?:69(?:2\\d\\d|3(?:[06][0-6]|1[0-3]|2[0-2]|3[0-39]|4\\d|5[0-5]|7[0-37]|8[0-8]|9[0-479]))|7092[0-3])\\d{4}`],[`80\\d{7}`],[`89[1-37-9]\\d{6}`],0,0,0,0,[`9(?:399[0-3]|479[0-6]|76(?:2[278]|3[0-37]))\\d{4}`],[`8(?:1[019]|2[0156]|84|90)\\d{6}`]]],RO:[`40`,`00`,`(?:[236-8]\\d|90)\\d{7}|[23]\\d{5}`,[6,9],[[`(\\d{3})(\\d{3})`,`$1 $2`,[`2[3-6]`,`2[3-6]\\d9`],`0$1`],[`(\\d{2})(\\d{4})`,`$1 $2`,[`219|31`],`0$1`],[`(\\d{2})(\\d{3})(\\d{4})`,`$1 $2 $3`,[`[23]1`],`0$1`],[`(\\d{3})(\\d{3})(\\d{3})`,`$1 $2 $3`,[`[236-9]`],`0$1`]],`0`,0,0,0,0,0,0,0,` int `],RS:[`381`,`00`,`38[02-9]\\d{6,9}|6\\d{7,9}|90\\d{4,8}|38\\d{5,6}|(?:7\\d\\d|800)\\d{3,9}|(?:[12]\\d|3[0-79])\\d{5,10}`,[6,7,8,9,10,11,12],[[`(\\d{3})(\\d{3,9})`,`$1 $2`,[`(?:2[389]|39)0|[7-9]`],`0$1`],[`(\\d{2})(\\d{5,10})`,`$1 $2`,[`[1-36]`],`0$1`]],`0`],RU:[`7`,`810`,`8\\d{13}|[347-9]\\d{9}`,[10,14],[[`(\\d{4})(\\d{2})(\\d{2})(\\d{2})`,`$1 $2 $3 $4`,[`7(?:1[0-8]|2[1-9])`,`7(?:1(?:[0-356]2|4[29]|7|8[27])|2(?:1[23]|[2-9]2))`,`7(?:1(?:[0-356]2|4[29]|7|8[27])|2(?:13[03-69]|62[013-9]))|72[1-57-9]2`],`8 ($1)`,1],[`(\\d{5})(\\d)(\\d{2})(\\d{2})`,`$1 $2 $3 $4`,[`7(?:1[0-68]|2[1-9])`,`7(?:1(?:[06][3-6]|[18]|2[35]|[3-5][3-5])|2(?:[13][3-5]|[24-689]|7[457]))`,`7(?:1(?:0(?:[356]|4[023])|[18]|2(?:3[013-9]|5)|3[45]|43[013-79]|5(?:3[1-8]|4[1-7]|5)|6(?:3[0-35-9]|[4-6]))|2(?:1(?:3[178]|[45])|[24-689]|3[35]|7[457]))|7(?:14|23)4[0-8]|71(?:33|45)[1-79]`],`8 ($1)`,1],[`(\\d{3})(\\d{3})(\\d{4})`,`$1 $2 $3`,[`7`],`8 ($1)`,1],[`(\\d{3})(\\d{3})(\\d{2})(\\d{2})`,`$1 $2-$3-$4`,[`[349]|8(?:[02-7]|1[1-8])`],`8 ($1)`,1],[`(\\d{4})(\\d{4})(\\d{3})(\\d{3})`,`$1 $2 $3 $4`,[`8`],`8 ($1)`]],`8`,0,0,0,0,`[3489]`,0,`8~10`],RW:[`250`,`00`,`(?:06|[27]\\d\\d|[89]00)\\d{6}`,[8,9],[[`(\\d{2})(\\d{2})(\\d{2})(\\d{2})`,`$1 $2 $3 $4`,[`0`]],[`(\\d{3})(\\d{3})(\\d{3})`,`$1 $2 $3`,[`2`]],[`(\\d{3})(\\d{3})(\\d{3})`,`$1 $2 $3`,[`[7-9]`],`0$1`]],`0`],SA:[`966`,`00`,`(?:[15]\\d|800|92)\\d{7}`,[9,10],[[`(\\d{4})(\\d{5})`,`$1 $2`,[`9`]],[`(\\d{2})(\\d{3})(\\d{4})`,`$1 $2 $3`,[`1`],`0$1`],[`(\\d{2})(\\d{3})(\\d{4})`,`$1 $2 $3`,[`5`],`0$1`],[`(\\d{3})(\\d{3})(\\d{4})`,`$1 $2 $3`,[`8`]]],`0`],SB:[`677`,`0[01]`,`[6-9]\\d{6}|[1-6]\\d{4}`,[5,7],[[`(\\d{2})(\\d{5})`,`$1 $2`,[`6[89]|7|8[4-9]|9(?:[1-8]|9[0-8])`]]]],SC:[`248`,`010|0[0-2]`,`(?:[2489]\\d|64)\\d{5}`,[7],[[`(\\d)(\\d{3})(\\d{3})`,`$1 $2 $3`,[`[246]|9[57]`]]],0,0,0,0,0,0,0,`00`],SD:[`249`,`00`,`[19]\\d{8}`,[9],[[`(\\d{2})(\\d{3})(\\d{4})`,`$1 $2 $3`,[`[19]`],`0$1`]],`0`],SE:[`46`,`00`,`(?:[26]\\d\\d|9)\\d{9}|[1-9]\\d{8}|[1-689]\\d{7}|[1-4689]\\d{6}|2\\d{5}`,[6,7,8,9,10,12],[[`(\\d{2})(\\d{2,3})(\\d{2})`,`$1-$2 $3`,[`20`],`0$1`,0,`$1 $2 $3`],[`(\\d{3})(\\d{4})`,`$1-$2`,[`9(?:00|39|44|9)`],`0$1`,0,`$1 $2`],[`(\\d{2})(\\d{3})(\\d{2})`,`$1-$2 $3`,[`[12][136]|3[356]|4[0246]|6[03]|90[1-9]`],`0$1`,0,`$1 $2 $3`],[`(\\d)(\\d{2,3})(\\d{2})(\\d{2})`,`$1-$2 $3 $4`,[`8`],`0$1`,0,`$1 $2 $3 $4`],[`(\\d{3})(\\d{2,3})(\\d{2})`,`$1-$2 $3`,[`1[2457]|2(?:[247-9]|5[0138])|3[0247-9]|4[1357-9]|5[0-35-9]|6(?:[125689]|4[02-57]|7[0-2])|9(?:[125-8]|3[02-5]|4[0-3])`],`0$1`,0,`$1 $2 $3`],[`(\\d{3})(\\d{2,3})(\\d{3})`,`$1-$2 $3`,[`9(?:00|39|44)`],`0$1`,0,`$1 $2 $3`],[`(\\d{2})(\\d{2,3})(\\d{2})(\\d{2})`,`$1-$2 $3 $4`,[`1[13689]|2[0136]|3[1356]|4[0246]|54|6[03]|90[1-9]`],`0$1`,0,`$1 $2 $3 $4`],[`(\\d{2})(\\d{3})(\\d{2})(\\d{2})`,`$1-$2 $3 $4`,[`10|7`],`0$1`,0,`$1 $2 $3 $4`],[`(\\d)(\\d{3})(\\d{3})(\\d{2})`,`$1-$2 $3 $4`,[`8`],`0$1`,0,`$1 $2 $3 $4`],[`(\\d{3})(\\d{2})(\\d{2})(\\d{2})`,`$1-$2 $3 $4`,[`[13-5]|2(?:[247-9]|5[0138])|6(?:[124-689]|7[0-2])|9(?:[125-8]|3[02-5]|4[0-3])`],`0$1`,0,`$1 $2 $3 $4`],[`(\\d{3})(\\d{2})(\\d{2})(\\d{3})`,`$1-$2 $3 $4`,[`9`],`0$1`,0,`$1 $2 $3 $4`],[`(\\d{3})(\\d{2})(\\d{3})(\\d{2})(\\d{2})`,`$1-$2 $3 $4 $5`,[`[26]`],`0$1`,0,`$1 $2 $3 $4 $5`]],`0`],SG:[`65`,`0[0-3]\\d`,`(?:(?:1\\d|8)\\d\\d|7000)\\d{7}|[3689]\\d{7}`,[8,10,11],[[`(\\d{4})(\\d{4})`,`$1 $2`,[`[369]|8(?:0[1-9]|[1-9])`]],[`(\\d{3})(\\d{3})(\\d{4})`,`$1 $2 $3`,[`8`]],[`(\\d{4})(\\d{4})(\\d{3})`,`$1 $2 $3`,[`7`]],[`(\\d{4})(\\d{3})(\\d{4})`,`$1 $2 $3`,[`1`]]]],SH:[`290`,`00`,`(?:[256]\\d|8)\\d{3}`,[4,5],0,0,0,0,0,0,`[256]`],SI:[`386`,`00|10(?:22|66|88|99)`,`[1-7]\\d{7}|8\\d{4,7}|90\\d{4,6}`,[5,6,7,8],[[`(\\d{2})(\\d{3,6})`,`$1 $2`,[`8[09]|9`],`0$1`],[`(\\d{3})(\\d{5})`,`$1 $2`,[`59|8`],`0$1`],[`(\\d{2})(\\d{3})(\\d{3})`,`$1 $2 $3`,[`[37][01]|4[013]|51|6`],`0$1`],[`(\\d)(\\d{3})(\\d{2})(\\d{2})`,`$1 $2 $3 $4`,[`[1-57]`],`(0$1)`]],`0`,0,0,0,0,0,0,`00`],SJ:[`47`,`00`,`0\\d{4}|(?:[489]\\d|79)\\d{6}`,[5,8],0,0,0,0,0,0,`79`],SK:[`421`,`00`,`[2-689]\\d{8}|[2-59]\\d{6}|[2-5]\\d{5}`,[6,7,9],[[`(\\d)(\\d{2})(\\d{3,4})`,`$1 $2 $3`,[`21`],`0$1`],[`(\\d{2})(\\d{2})(\\d{2,3})`,`$1 $2 $3`,[`[3-5][1-8]1`,`[3-5][1-8]1[67]`],`0$1`],[`(\\d)(\\d{3})(\\d{3})(\\d{2})`,`$1 $2 $3 $4`,[`2`],`0$1`],[`(\\d{3})(\\d{3})(\\d{3})`,`$1 $2 $3`,[`[689]`],`0$1`],[`(\\d{2})(\\d{3})(\\d{2})(\\d{2})`,`$1 $2 $3 $4`,[`[3-5]`],`0$1`]],`0`],SL:[`232`,`00`,`(?:[237-9]\\d|66)\\d{6}`,[8],[[`(\\d{2})(\\d{6})`,`$1 $2`,[`[236-9]`],`(0$1)`]],`0`],SM:[`378`,`00`,`(?:0549|[5-7]\\d)\\d{6}`,[8,10],[[`(\\d{2})(\\d{2})(\\d{2})(\\d{2})`,`$1 $2 $3 $4`,[`[5-7]`]],[`(\\d{4})(\\d{6})`,`$1 $2`,[`0`]]],0,0,`([89]\\d{5})$`,`0549$1`],SN:[`221`,`00`,`(?:[378]\\d|93)\\d{7}`,[9],[[`(\\d{3})(\\d{2})(\\d{2})(\\d{2})`,`$1 $2 $3 $4`,[`8`]],[`(\\d{2})(\\d{3})(\\d{2})(\\d{2})`,`$1 $2 $3 $4`,[`[379]`]]]],SO:[`252`,`00`,`[346-9]\\d{8}|[12679]\\d{7}|[1-5]\\d{6}|[1348]\\d{5}`,[6,7,8,9],[[`(\\d{2})(\\d{4})`,`$1 $2`,[`8[125]`]],[`(\\d{6})`,`$1`,[`[134]`]],[`(\\d)(\\d{6})`,`$1 $2`,[`[15]|2[0-79]|3[0-46-8]|4[0-7]`]],[`(\\d{2})(\\d{5,7})`,`$1 $2`,[`1|28|9[2-9]`]],[`(\\d)(\\d{7})`,`$1 $2`,[`[267]|904`]],[`(\\d{2})(\\d{3})(\\d{4})`,`$1 $2 $3`,[`[346-9]`]]],`0`],SR:[`597`,`00`,`(?:[2-5]|[6-9]\\d)\\d{5}`,[6,7],[[`(\\d{2})(\\d{2})(\\d{2})`,`$1-$2-$3`,[`56`]],[`(\\d{3})(\\d{3})`,`$1-$2`,[`[2-5]`]],[`(\\d{3})(\\d{4})`,`$1-$2`,[`[6-9]`]]]],SS:[`211`,`00`,`[19]\\d{8}`,[9],[[`(\\d{3})(\\d{3})(\\d{3})`,`$1 $2 $3`,[`[19]`],`0$1`]],`0`],ST:[`239`,`00`,`(?:22|9\\d)\\d{5}`,[7],[[`(\\d{3})(\\d{4})`,`$1 $2`,[`[29]`]]]],SV:[`503`,`00`,`[25-7]\\d{7}|(?:80\\d|900)\\d{4}(?:\\d{4})?`,[7,8,11],[[`(\\d{3})(\\d{4})`,`$1 $2`,[`[89]`]],[`(\\d{4})(\\d{4})`,`$1 $2`,[`[25-7]`]],[`(\\d{3})(\\d{4})(\\d{4})`,`$1 $2 $3`,[`[89]`]]]],SX:[`1`,`011`,`7215\\d{6}|(?:[58]\\d\\d|900)\\d{7}`,[10],0,`1`,0,`(5\\d{6})$|1`,`721$1`,0,`721`],SY:[`963`,`00`,`[1-359]\\d{8}|[1-5]\\d{7}`,[8,9],[[`(\\d{2})(\\d{3})(\\d{3,4})`,`$1 $2 $3`,[`[1-4]|5[1-3]`],`0$1`,1],[`(\\d{3})(\\d{3})(\\d{3})`,`$1 $2 $3`,[`[59]`],`0$1`,1]],`0`],SZ:[`268`,`00`,`0800\\d{4}|(?:[237]\\d|900)\\d{6}`,[8,9],[[`(\\d{4})(\\d{4})`,`$1 $2`,[`[0237]`]],[`(\\d{5})(\\d{4})`,`$1 $2`,[`9`]]]],TA:[`290`,`00`,`8\\d{3}`,[4],0,0,0,0,0,0,`8`],TC:[`1`,`011`,`(?:[58]\\d\\d|649|900)\\d{7}`,[10],0,`1`,0,`([2-479]\\d{6})$|1`,`649$1`,0,`649`],TD:[`235`,`00|16`,`(?:22|[3689]\\d|77)\\d{6}`,[8],[[`(\\d{2})(\\d{2})(\\d{2})(\\d{2})`,`$1 $2 $3 $4`,[`[236-9]`]]],0,0,0,0,0,0,0,`00`],TG:[`228`,`00`,`[279]\\d{7}`,[8],[[`(\\d{2})(\\d{2})(\\d{2})(\\d{2})`,`$1 $2 $3 $4`,[`[279]`]]]],TH:[`66`,`00[1-9]`,`(?:001800|[2-57]|[689]\\d)\\d{7}|1\\d{7,9}`,[8,9,10,13],[[`(\\d)(\\d{3})(\\d{4})`,`$1 $2 $3`,[`2`],`0$1`],[`(\\d{2})(\\d{3})(\\d{3,4})`,`$1 $2 $3`,[`[13-9]`],`0$1`],[`(\\d{4})(\\d{3})(\\d{3})`,`$1 $2 $3`,[`1`]]],`0`],TJ:[`992`,`810`,`(?:[0-57-9]\\d|66)\\d{7}`,[9],[[`(\\d{6})(\\d)(\\d{2})`,`$1 $2 $3`,[`331`,`3317`]],[`(\\d{3})(\\d{2})(\\d{4})`,`$1 $2 $3`,[`44[02-479]|[34]7`]],[`(\\d{4})(\\d)(\\d{4})`,`$1 $2 $3`,[`3(?:[1245]|3[12])`]],[`(\\d{2})(\\d{3})(\\d{4})`,`$1 $2 $3`,[`\\d`]]],0,0,0,0,0,0,0,`8~10`],TK:[`690`,`00`,`[2-47]\\d{3,6}`,[4,5,6,7]],TL:[`670`,`00`,`7\\d{7}|(?:[2-47]\\d|[89]0)\\d{5}`,[7,8],[[`(\\d{3})(\\d{4})`,`$1 $2`,[`[2-489]|70`]],[`(\\d{4})(\\d{4})`,`$1 $2`,[`7`]]]],TM:[`993`,`810`,`[1-7]\\d{7}`,[8],[[`(\\d{2})(\\d{2})(\\d{2})(\\d{2})`,`$1 $2-$3-$4`,[`12`],`(8 $1)`],[`(\\d{3})(\\d)(\\d{2})(\\d{2})`,`$1 $2-$3-$4`,[`[1-5]`],`(8 $1)`],[`(\\d{2})(\\d{6})`,`$1 $2`,[`[67]`],`8 $1`]],`8`,0,0,0,0,0,0,`8~10`],TN:[`216`,`00`,`[2-57-9]\\d{7}`,[8],[[`(\\d{2})(\\d{3})(\\d{3})`,`$1 $2 $3`,[`[2-57-9]`]]]],TO:[`676`,`00`,`(?:0800|(?:[5-8]\\d\\d|999)\\d)\\d{3}|[2-8]\\d{4}`,[5,7],[[`(\\d{2})(\\d{3})`,`$1-$2`,[`[2-4]|50|6[09]|7[0-24-69]|8[05]`]],[`(\\d{4})(\\d{3})`,`$1 $2`,[`0`]],[`(\\d{3})(\\d{4})`,`$1 $2`,[`[5-9]`]]]],TR:[`90`,`00`,`4\\d{6}|8\\d{11,12}|(?:[2-58]\\d\\d|900)\\d{7}`,[7,10,12,13],[[`(\\d{3})(\\d{3})(\\d{4})`,`$1 $2 $3`,[`512|8[01589]|90`],`0$1`,1],[`(\\d{3})(\\d{3})(\\d{2})(\\d{2})`,`$1 $2 $3 $4`,[`5[0-79]`],`0$1`,1],[`(\\d{3})(\\d{3})(\\d{2})(\\d{2})`,`$1 $2 $3 $4`,[`[24][1-8]|3[1-9]`],`(0$1)`,1],[`(\\d{3})(\\d{3})(\\d{6,7})`,`$1 $2 $3`,[`80`],`0$1`,1]],`0`],TT:[`1`,`011`,`(?:[58]\\d\\d|900)\\d{7}`,[10],0,`1`,0,`([2-46-8]\\d{6})$|1`,`868$1`,0,`868`],TV:[`688`,`00`,`(?:2|7\\d\\d|90)\\d{4}`,[5,6,7],[[`(\\d{2})(\\d{3})`,`$1 $2`,[`2`]],[`(\\d{2})(\\d{4})`,`$1 $2`,[`90`]],[`(\\d{2})(\\d{5})`,`$1 $2`,[`7`]]]],TW:[`886`,`0(?:0[25-79]|19)`,`[2-689]\\d{8}|7\\d{9,10}|[2-8]\\d{7}|2\\d{6}`,[7,8,9,10,11],[[`(\\d{2})(\\d)(\\d{4})`,`$1 $2 $3`,[`202`],`0$1`],[`(\\d{3})(\\d{5})`,`$1 $2`,[`826`],`0$1`],[`(\\d{3})(\\d{2})(\\d{3})`,`$1 $2 $3`,[`83`],`0$1`],[`(\\d{2})(\\d{2})(\\d{4})`,`$1 $2 $3`,[`82`],`0$1`],[`(\\d{2})(\\d{3})(\\d{3,4})`,`$1 $2 $3`,[`[25]0|37|49|8[09]`],`0$1`],[`(\\d)(\\d{3,4})(\\d{4})`,`$1 $2 $3`,[`[23568]|4(?:0[02-48]|[1-478])|7[1-9]`,`[23568]|4(?:0[2-48]|[1-478])|(?:400|7)[1-9]`],`0$1`],[`(\\d{3})(\\d{3})(\\d{3})`,`$1 $2 $3`,[`[49]`],`0$1`],[`(\\d{2})(\\d{4})(\\d{4,5})`,`$1 $2 $3`,[`7`],`0$1`]],`0`,0,0,0,0,0,0,0,`#`],TZ:[`255`,`00[056]`,`(?:[25-8]\\d|41|90)\\d{7}`,[9],[[`(\\d{3})(\\d{2})(\\d{4})`,`$1 $2 $3`,[`[89]`],`0$1`],[`(\\d{2})(\\d{3})(\\d{4})`,`$1 $2 $3`,[`[24]`],`0$1`],[`(\\d{2})(\\d{7})`,`$1 $2`,[`5`]],[`(\\d{3})(\\d{3})(\\d{3})`,`$1 $2 $3`,[`[67]`],`0$1`]],`0`],UA:[`380`,`00`,`[89]\\d{9}|[3-9]\\d{8}`,[9,10],[[`(\\d{3})(\\d{3})(\\d{3})`,`$1 $2 $3`,[`6[12][29]|(?:3[1-8]|4[136-8]|5[12457]|6[49])2|(?:56|65)[24]`,`6[12][29]|(?:35|4[1378]|5[12457]|6[49])2|(?:56|65)[24]|(?:3[1-46-8]|46)2[013-9]`],`0$1`],[`(\\d{4})(\\d{5})`,`$1 $2`,[`3[1-8]|4(?:[1367]|[45][6-9]|8[4-6])|5(?:[1-5]|6[0135689]|7[4-6])|6(?:[12][3-7]|[459])`,`3[1-8]|4(?:[1367]|[45][6-9]|8[4-6])|5(?:[1-5]|6(?:[015689]|3[02389])|7[4-6])|6(?:[12][3-7]|[459])`],`0$1`],[`(\\d{2})(\\d{3})(\\d{4})`,`$1 $2 $3`,[`[3-7]|89|9[1-9]`],`0$1`],[`(\\d{3})(\\d{3})(\\d{3,4})`,`$1 $2 $3`,[`[89]`],`0$1`]],`0`,0,0,0,0,0,0,`0~0`],UG:[`256`,`00[057]`,`800\\d{6}|(?:[29]0|[347]\\d)\\d{7}`,[9],[[`(\\d{4})(\\d{5})`,`$1 $2`,[`202`,`2024`],`0$1`],[`(\\d{3})(\\d{6})`,`$1 $2`,[`[27-9]|4(?:6[45]|[7-9])`],`0$1`],[`(\\d{2})(\\d{7})`,`$1 $2`,[`[34]`],`0$1`]],`0`],US:[`1`,`011`,`[2-9]\\d{9}|3\\d{6}`,[10],[[`(\\d{3})(\\d{4})`,`$1-$2`,[`310`],0,1],[`(\\d{3})(\\d{3})(\\d{4})`,`($1) $2-$3`,[`[2-9]`],0,1,`$1-$2-$3`]],`1`,0,0,0,0,0,[[`(?:472[2-47-9]|983[2-57-9])\\d{6}|(?:2(?:0[1-35-9]|1[02-9]|2[03-57-9]|3[1459]|4[08]|5[1-46]|6[0279]|7[02469]|8[13])|3(?:0[1-57-9]|1[02-9]|2[013-79]|3[0-24679]|4[167]|5[0-3]|6[01349]|8[056])|4(?:0[124-9]|1[02-579]|2[3-5]|3[0245]|4[023578]|58|6[349]|7[0589]|8[04])|5(?:0[1-57-9]|1[0235-8]|20|3[0149]|4[01]|5[179]|6[1-47]|7[0-5]|8[0256])|6(?:0[1-35-9]|1[024-9]|2[03689]|3[016]|4[0156]|5[01679]|6[0-279]|78|8[0-269])|7(?:0[1-46-8]|1[2-9]|2[04-8]|3[0-2478]|4[0378]|5[47]|6[02359]|7[0-59]|8[156])|8(?:0[1-68]|1[02-8]|2[0168]|3[0-2589]|4[03578]|5[046-9]|6[02-5]|7[028])|9(?:0[1346-9]|1[02-9]|2[0589]|3[0146-8]|4[01357-9]|5[12469]|7[0-3589]|8[04-69]))[2-9]\\d{6}`],[``],[`8(?:00|33|44|55|66|77|88)[2-9]\\d{6}`],[`900[2-9]\\d{6}`],[`52(?:3(?:[2-46-9][02-9]\\d|5(?:[02-46-9]\\d|5[0-46-9]))|4(?:[2-478][02-9]\\d|5(?:[034]\\d|2[024-9]|5[0-46-9])|6(?:0[1-9]|[2-9]\\d)|9(?:[05-9]\\d|2[0-5]|49)))\\d{4}|52[34][2-9]1[02-9]\\d{4}|5(?:00|2[125-9]|3[23]|44|66|77|88)[2-9]\\d{6}`]]],UY:[`598`,`0(?:0|1[3-9]\\d)`,`0004\\d{2,9}|[1249]\\d{7}|2\\d{3,4}|(?:[49]\\d|80)\\d{5}`,[4,5,6,7,8,9,10,11,12,13],[[`(\\d{4,5})`,`$1`,[`21`]],[`(\\d{3})(\\d{3,4})`,`$1 $2`,[`0`]],[`(\\d{3})(\\d{4})`,`$1 $2`,[`[49]0|8`],`0$1`],[`(\\d{2})(\\d{3})(\\d{3})`,`$1 $2 $3`,[`9`],`0$1`],[`(\\d{4})(\\d{4})`,`$1 $2`,[`[124]`]],[`(\\d{3})(\\d{3})(\\d{2,4})`,`$1 $2 $3`,[`0`]],[`(\\d{3})(\\d{3})(\\d{3})(\\d{2,4})`,`$1 $2 $3 $4`,[`0`]]],`0`,0,0,0,0,0,0,`00`,` int. `],UZ:[`998`,`00`,`(?:20|33|[5-9]\\d)\\d{7}`,[9],[[`(\\d{2})(\\d{3})(\\d{2})(\\d{2})`,`$1 $2 $3 $4`,[`[235-9]`]]]],VA:[`39`,`00`,`0\\d{5,10}|3[0-8]\\d{7,10}|55\\d{8}|8\\d{5}(?:\\d{2,4})?|(?:1\\d|39)\\d{7,8}`,[6,7,8,9,10,11,12],0,0,0,0,0,0,`06698`],VC:[`1`,`011`,`(?:[58]\\d\\d|784|900)\\d{7}`,[10],0,`1`,0,`([2-7]\\d{6})$|1`,`784$1`,0,`784`],VE:[`58`,`00`,`[68]00\\d{7}|(?:[24]\\d|[59]0)\\d{8}`,[10],[[`(\\d{3})(\\d{7})`,`$1-$2`,[`[24-689]`],`0$1`]],`0`],VG:[`1`,`011`,`(?:284|[58]\\d\\d|900)\\d{7}`,[10],0,`1`,0,`([2-578]\\d{6})$|1`,`284$1`,0,`284`],VI:[`1`,`011`,`[58]\\d{9}|(?:34|90)0\\d{7}`,[10],0,`1`,0,`([2-9]\\d{6})$|1`,`340$1`,0,`340`],VN:[`84`,`00`,`[12]\\d{9}|[135-9]\\d{8}|[16]\\d{6,7}|7\\d{6}`,[7,8,9,10],[[`(\\d{4})(\\d{4,6})`,`$1 $2`,[`1(?:2[02]|[89])`],0,1],[`(\\d{2})(\\d{3})(\\d{2})(\\d{2})`,`$1 $2 $3 $4`,[`1[26]|6`],`0$1`,1],[`(\\d{3})(\\d{3})(\\d{3})`,`$1 $2 $3`,[`[357-9]`],`0$1`,1],[`(\\d{2})(\\d{4})(\\d{4})`,`$1 $2 $3`,[`2[48]`],`0$1`,1],[`(\\d{3})(\\d{4})(\\d{3})`,`$1 $2 $3`,[`2`],`0$1`,1]],`0`],VU:[`678`,`00`,`[57-9]\\d{6}|(?:[238]\\d|48)\\d{3}`,[5,7],[[`(\\d{3})(\\d{4})`,`$1 $2`,[`[57-9]`]]]],WF:[`681`,`00`,`(?:40|72|8\\d{4})\\d{4}|[89]\\d{5}`,[6,9],[[`(\\d{2})(\\d{2})(\\d{2})`,`$1 $2 $3`,[`[47-9]`]],[`(\\d{3})(\\d{2})(\\d{2})(\\d{2})`,`$1 $2 $3 $4`,[`8`]]]],WS:[`685`,`0`,`(?:[2-6]|8\\d{5})\\d{4}|[78]\\d{6}|[68]\\d{5}`,[5,6,7,10],[[`(\\d{5})`,`$1`,[`[2-5]|6[1-9]`]],[`(\\d{3})(\\d{3,7})`,`$1 $2`,[`[68]`]],[`(\\d{2})(\\d{5})`,`$1 $2`,[`7`]]]],XK:[`383`,`00`,`2\\d{7,8}|3\\d{7,11}|(?:4\\d\\d|[89]00)\\d{5}`,[8,9,10,11,12],[[`(\\d{3})(\\d{5})`,`$1 $2`,[`[89]`],`0$1`],[`(\\d{2})(\\d{3})(\\d{3})`,`$1 $2 $3`,[`[2-4]`],`0$1`],[`(\\d{3})(\\d{3})(\\d{3})`,`$1 $2 $3`,[`2|39`],`0$1`],[`(\\d{2})(\\d{7,10})`,`$1 $2`,[`3`],`0$1`]],`0`],YE:[`967`,`00`,`(?:1|7\\d)\\d{7}|[1-7]\\d{6}`,[7,8,9],[[`(\\d)(\\d{3})(\\d{3,4})`,`$1 $2 $3`,[`[1-6]|7(?:[24-6]|8[0-7])`],`0$1`],[`(\\d{3})(\\d{3})(\\d{3})`,`$1 $2 $3`,[`7`],`0$1`]],`0`],YT:[`262`,`00`,`(?:639\\d|7093)\\d{5}|(?:26|80|9\\d)\\d{7}`,[9],0,`0`,0,0,0,0,0,[[`26(?:89\\d|9(?:0[0-467]|15|5[0-4]|6\\d|[78]0))\\d{4}`],[`(?:639(?:0[0-79]|1[019]|[267]\\d|3[09]|40|5[05-9]|9[04-79])|7093[5-7])\\d{4}`],[`80\\d{7}`],0,0,0,0,0,[`9(?:(?:39|47)8[01]|769\\d)\\d{4}`]]],ZA:[`27`,`00`,`[1-79]\\d{8}|8\\d{4,9}`,[5,6,7,8,9,10],[[`(\\d{2})(\\d{3,4})`,`$1 $2`,[`8[1-4]`],`0$1`],[`(\\d{2})(\\d{3})(\\d{2,3})`,`$1 $2 $3`,[`8[1-4]`],`0$1`],[`(\\d{3})(\\d{3})(\\d{3})`,`$1 $2 $3`,[`860`],`0$1`],[`(\\d{2})(\\d{3})(\\d{4})`,`$1 $2 $3`,[`[1-9]`],`0$1`],[`(\\d{3})(\\d{3})(\\d{4})`,`$1 $2 $3`,[`8`],`0$1`]],`0`],ZM:[`260`,`00`,`800\\d{6}|(?:21|[579]\\d|63)\\d{7}`,[9],[[`(\\d{3})(\\d{3})(\\d{3})`,`$1 $2 $3`,[`[28]`],`0$1`],[`(\\d{2})(\\d{7})`,`$1 $2`,[`[579]`],`0$1`]],`0`],ZW:[`263`,`00`,`2(?:[0-57-9]\\d{6,8}|6[0-24-9]\\d{6,7})|[38]\\d{9}|[35-8]\\d{8}|[3-6]\\d{7}|[1-689]\\d{6}|[1-3569]\\d{5}|[1356]\\d{4}`,[5,6,7,8,9,10],[[`(\\d{3})(\\d{3,5})`,`$1 $2`,[`2(?:0[45]|2[278]|[49]8)|3(?:[09]8|17)|6(?:[29]8|37|75)|[23][78]|(?:33|5[15]|6[68])[78]`],`0$1`],[`(\\d)(\\d{3})(\\d{2,4})`,`$1 $2 $3`,[`[49]`],`0$1`],[`(\\d{3})(\\d{4})`,`$1 $2`,[`80`],`0$1`],[`(\\d{2})(\\d{7})`,`$1 $2`,[`24|8[13-59]|(?:2[05-79]|39|5[45]|6[15-8])2`,`2(?:02[014]|4|[56]20|[79]2)|392|5(?:42|525)|6(?:[16-8]21|52[013])|8[13-59]`],`(0$1)`],[`(\\d{2})(\\d{3})(\\d{4})`,`$1 $2 $3`,[`7`],`0$1`],[`(\\d{3})(\\d{3})(\\d{3,4})`,`$1 $2 $3`,[`2(?:1[39]|2[0157]|[378]|[56][14])|3(?:12|29)`,`2(?:1[39]|2[0157]|[378]|[56][14])|3(?:123|29)`],`0$1`],[`(\\d{4})(\\d{6})`,`$1 $2`,[`8`],`0$1`],[`(\\d{2})(\\d{3,5})`,`$1 $2`,[`1|2(?:0[0-36-9]|12|29|[56])|3(?:1[0-689]|[24-6])|5(?:[0236-9]|1[2-4])|6(?:[013-59]|7[0-46-9])|(?:33|55|6[68])[0-69]|(?:29|3[09]|62)[0-79]`],`0$1`],[`(\\d{2})(\\d{3})(\\d{3,4})`,`$1 $2 $3`,[`29[013-9]|39|54`],`0$1`],[`(\\d{4})(\\d{3,5})`,`$1 $2`,[`(?:25|54)8`,`258|5483`],`0$1`]],`0`]},nonGeographic:{800:[`800`,0,`(?:00|[1-9]\\d)\\d{6}`,[8],[[`(\\d{4})(\\d{4})`,`$1 $2`,[`\\d`]]],0,0,0,0,0,0,[0,0,[`(?:00|[1-9]\\d)\\d{6}`]]],808:[`808`,0,`[1-9]\\d{7}`,[8],[[`(\\d{4})(\\d{4})`,`$1 $2`,[`[1-9]`]]],0,0,0,0,0,0,[0,0,0,0,0,0,0,0,0,[`[1-9]\\d{7}`]]],870:[`870`,0,`7\\d{11}|[235-7]\\d{8}`,[9,12],[[`(\\d{3})(\\d{3})(\\d{3})`,`$1 $2 $3`,[`[235-7]`]]],0,0,0,0,0,0,[0,[`(?:[356]|774[45])\\d{8}|7[6-8]\\d{7}`],0,0,0,0,0,0,[`2\\d{8}`,[9]]]],878:[`878`,0,`10\\d{10}`,[12],[[`(\\d{2})(\\d{5})(\\d{5})`,`$1 $2 $3`,[`1`]]],0,0,0,0,0,0,[0,0,0,0,0,0,0,0,[`10\\d{10}`]]],881:[`881`,0,`6\\d{9}|[0-36-9]\\d{8}`,[9,10],[[`(\\d)(\\d{3})(\\d{5})`,`$1 $2 $3`,[`[0-37-9]`]],[`(\\d)(\\d{3})(\\d{5,6})`,`$1 $2 $3`,[`6`]]],0,0,0,0,0,0,[0,[`6\\d{9}|[0-36-9]\\d{8}`]]],882:[`882`,0,`[13]\\d{6}(?:\\d{2,5})?|[19]\\d{7}|(?:[25]\\d\\d|4)\\d{7}(?:\\d{2})?`,[7,8,9,10,11,12],[[`(\\d{2})(\\d{5})`,`$1 $2`,[`16|342`]],[`(\\d{2})(\\d{6})`,`$1 $2`,[`49`]],[`(\\d{2})(\\d{2})(\\d{4})`,`$1 $2 $3`,[`1[36]|9`]],[`(\\d{2})(\\d{4})(\\d{3})`,`$1 $2 $3`,[`3[23]`]],[`(\\d{2})(\\d{3,4})(\\d{4})`,`$1 $2 $3`,[`16`]],[`(\\d{2})(\\d{4})(\\d{4})`,`$1 $2 $3`,[`10|23|3(?:[15]|4[57])|4|5[12]`]],[`(\\d{3})(\\d{4})(\\d{4})`,`$1 $2 $3`,[`34`]],[`(\\d{2})(\\d{4,5})(\\d{5})`,`$1 $2 $3`,[`[1-35]`]]],0,0,0,0,0,0,[0,[`342\\d{4}|(?:337|49)\\d{6}|(?:3(?:2|47|7\\d{3})|5(?:0\\d{3}|2[0-2]))\\d{7}`,[7,8,9,10,12]],0,0,0,[`348[57]\\d{7}`,[11]],0,0,[`1(?:3(?:0[0347]|[13][0139]|2[035]|4[013568]|6[0459]|7[06]|8[15-8]|9[0689])\\d{4}|6\\d{5,10})|(?:345\\d|9[89])\\d{6}|(?:10|2(?:3|85\\d)|3(?:[15]|[69]\\d\\d)|4[15-8]|51)\\d{8}`]]],883:[`883`,0,`(?:[1-4]\\d|51)\\d{6,10}`,[8,9,10,11,12],[[`(\\d{3})(\\d{3})(\\d{2,8})`,`$1 $2 $3`,[`[14]|2[24-689]|3[02-689]|51[24-9]`]],[`(\\d{3})(\\d{3})(\\d{3})`,`$1 $2 $3`,[`510`]],[`(\\d{3})(\\d{3})(\\d{4})`,`$1 $2 $3`,[`21`]],[`(\\d{4})(\\d{4})(\\d{4})`,`$1 $2 $3`,[`51[13]`]],[`(\\d{3})(\\d{3})(\\d{3})(\\d{3})`,`$1 $2 $3 $4`,[`[235]`]]],0,0,0,0,0,0,[0,0,0,0,0,0,0,0,[`(?:2(?:00\\d\\d|10)|(?:370[1-9]|51\\d0)\\d)\\d{7}|51(?:00\\d{5}|[24-9]0\\d{4,7})|(?:1[0-79]|2[24-689]|3[02-689]|4[0-4])0\\d{5,9}`]]],888:[`888`,0,`\\d{11}`,[11],[[`(\\d{3})(\\d{3})(\\d{5})`,`$1 $2 $3`]],0,0,0,0,0,0,[0,0,0,0,0,0,[`\\d{11}`]]],979:[`979`,0,`[1359]\\d{8}`,[9],[[`(\\d)(\\d{4})(\\d{4})`,`$1 $2 $3`,[`[1359]`]]],0,0,0,0,0,0,[0,0,0,[`[1359]\\d{8}`]]]}};function vR(e,t){var n=Array.prototype.slice.call(t);return n.push(_R),e.apply(this,n)}function yR(e,t){e=e.split(`-`),t=t.split(`-`);for(var n=e[0].split(`.`),r=t[0].split(`.`),i=0;i<3;i++){var a=Number(n[i]),o=Number(r[i]);if(a>o)return 1;if(o>a)return-1;if(!isNaN(a)&&isNaN(o))return 1;if(isNaN(a)&&!isNaN(o))return-1}return e[1]&&t[1]?e[1]>t[1]?1:e[1]<t[1]?-1:0:!e[1]&&t[1]?1:e[1]&&!t[1]?-1:0}var bR={}.constructor;function xR(e){return e!=null&&e.constructor===bR}var SR=/^\d+$/;function CR(e){return SR.test(e)}function wR(e){"@babel/helpers - typeof";return wR=typeof Symbol==`function`&&typeof Symbol.iterator==`symbol`?function(e){return typeof e}:function(e){return e&&typeof Symbol==`function`&&e.constructor===Symbol&&e!==Symbol.prototype?`symbol`:typeof e},wR(e)}function TR(e,t){if(!(e instanceof t))throw TypeError(`Cannot call a class as a function`)}function ER(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,`value`in r&&(r.writable=!0),Object.defineProperty(e,OR(r.key),r)}}function DR(e,t,n){return t&&ER(e.prototype,t),n&&ER(e,n),Object.defineProperty(e,"prototype",{writable:!1}),e}function OR(e){var t=kR(e,`string`);return wR(t)==`symbol`?t:t+``}function kR(e,t){if(wR(e)!=`object`||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t||`default`);if(wR(r)!=`object`)return r;throw TypeError(`@@toPrimitive must return a primitive value.`)}return(t===`string`?String:Number)(e)}var AR=`1.2.0`,jR=`1.7.35`,MR=` ext. `,NR=function(){function e(t){TR(this,e),zR(t),this.metadata=t,UR.call(this,t)}return DR(e,[{key:`getCountries`,value:function(){return Object.keys(this.metadata.countries).filter(function(e){return e!==`001`})}},{key:`getCountryMetadata`,value:function(e){return this.metadata.countries[e]}},{key:`nonGeographic`,value:function(){if(!(this.v1||this.v2||this.v3))return this.metadata.nonGeographic||this.metadata.nonGeographical}},{key:`hasCountry`,value:function(e){return this.getCountryMetadata(e)!==void 0}},{key:`hasCallingCode`,value:function(e){if(this.getCountryCodesForCallingCode(e))return!0;if(this.nonGeographic()){if(this.nonGeographic()[e])return!0}else{var t=this.countryCallingCodes()[e];if(t&&t.length===1&&t[0]===`001`)return!0}}},{key:`isNonGeographicCallingCode`,value:function(e){return this.nonGeographic()?!!this.nonGeographic()[e]:!this.getCountryCodesForCallingCode(e)}},{key:`country`,value:function(e){return this.selectNumberingPlan(e)}},{key:`selectNumberingPlan`,value:function(e,t){var n,r;if(e&&(CR(e)?r=e:n=e),t&&(r=t),n&&n!==`001`){var i=this.getCountryMetadata(n);if(!i)throw Error(`Unknown country: ${n}`);this.numberingPlan=new PR(i,this)}else if(r){if(!this.hasCallingCode(r))throw Error(`Unknown calling code: ${r}`);this.numberingPlan=new PR(this.getNumberingPlanMetadata(r),this)}else this.numberingPlan=void 0;return this}},{key:`getCountryCodesForCallingCode`,value:function(e){var t=this.countryCallingCodes()[e];if(t)return t.length===1&&t[0].length===3?void 0:t}},{key:`getCountryCodeForCallingCode`,value:function(e){var t=this.getCountryCodesForCallingCode(e);if(t)return t[0]}},{key:`getNumberingPlanMetadata`,value:function(e){var t=this.getCountryCodeForCallingCode(e);if(t)return this.getCountryMetadata(t);if(this.nonGeographic()){var n=this.nonGeographic()[e];if(n)return n}else{var r=this.countryCallingCodes()[e];if(r&&r.length===1&&r[0]===`001`)return this.metadata.countries[`001`]}}},{key:`countryCallingCode`,value:function(){return this.numberingPlan.callingCode()}},{key:`IDDPrefix`,value:function(){return this.numberingPlan.IDDPrefix()}},{key:`defaultIDDPrefix`,value:function(){return this.numberingPlan.defaultIDDPrefix()}},{key:`nationalNumberPattern`,value:function(){return this.numberingPlan.nationalNumberPattern()}},{key:`possibleLengths`,value:function(){return this.numberingPlan.possibleLengths()}},{key:`formats`,value:function(){return this.numberingPlan.formats()}},{key:`nationalPrefixForParsing`,value:function(){return this.numberingPlan.nationalPrefixForParsing()}},{key:`nationalPrefixTransformRule`,value:function(){return this.numberingPlan.nationalPrefixTransformRule()}},{key:`leadingDigits`,value:function(){return this.numberingPlan.leadingDigits()}},{key:`hasTypes`,value:function(){return this.numberingPlan.hasTypes()}},{key:`type`,value:function(e){return this.numberingPlan.type(e)}},{key:`ext`,value:function(){return this.numberingPlan.ext()}},{key:`countryCallingCodes`,value:function(){return this.v1?this.metadata.country_phone_code_to_countries:this.metadata.country_calling_codes}},{key:`chooseCountryByCountryCallingCode`,value:function(e){return this.selectNumberingPlan(e)}},{key:`hasSelectedNumberingPlan`,value:function(){return this.numberingPlan!==void 0}}])}(),PR=function(){function e(t,n){TR(this,e),this.globalMetadataObject=n,this.metadata=t,UR.call(this,n.metadata)}return DR(e,[{key:`callingCode`,value:function(){return this.metadata[0]}},{key:`_getDefaultCountryMetadataForThisCallingCode`,value:function(){return this.globalMetadataObject.getNumberingPlanMetadata(this.callingCode())}},{key:`getDefaultCountryMetadataForRegion`,value:function(){return this._getDefaultCountryMetadataForThisCallingCode()}},{key:`IDDPrefix`,value:function(){if(!(this.v1||this.v2))return this.metadata[1]}},{key:`defaultIDDPrefix`,value:function(){if(!(this.v1||this.v2))return this.metadata[12]}},{key:`nationalNumberPattern`,value:function(){return this.v1||this.v2?this.metadata[1]:this.metadata[2]}},{key:`possibleLengths`,value:function(){if(!this.v1)return this.metadata[this.v2?2:3]}},{key:`_getFormats`,value:function(e){return e[this.v1?2:this.v2?3:4]}},{key:`formats`,value:function(){var e=this;return(this._getFormats(this.metadata)||this._getFormats(this._getDefaultCountryMetadataForThisCallingCode())||[]).map(function(t){return new FR(t,e)})}},{key:`nationalPrefix`,value:function(){return this.metadata[this.v1?3:this.v2?4:5]}},{key:`_getNationalPrefixFormattingRule`,value:function(e){return e[this.v1?4:this.v2?5:6]}},{key:`nationalPrefixFormattingRule`,value:function(){return this._getNationalPrefixFormattingRule(this.metadata)||this._getNationalPrefixFormattingRule(this._getDefaultCountryMetadataForThisCallingCode())}},{key:`_nationalPrefixForParsing`,value:function(){return this.metadata[this.v1?5:this.v2?6:7]}},{key:`nationalPrefixForParsing`,value:function(){return this._nationalPrefixForParsing()||this.nationalPrefix()}},{key:`nationalPrefixTransformRule`,value:function(){return this.metadata[this.v1?6:this.v2?7:8]}},{key:`_getNationalPrefixIsOptionalWhenFormatting`,value:function(){return!!this.metadata[this.v1?7:this.v2?8:9]}},{key:`nationalPrefixIsOptionalWhenFormattingInNationalFormat`,value:function(){return this._getNationalPrefixIsOptionalWhenFormatting(this.metadata)||this._getNationalPrefixIsOptionalWhenFormatting(this._getDefaultCountryMetadataForThisCallingCode())}},{key:`leadingDigits`,value:function(){return this.metadata[this.v1?8:this.v2?9:10]}},{key:`types`,value:function(){return this.metadata[this.v1?9:this.v2?10:11]}},{key:`hasTypes`,value:function(){return this.types()&&this.types().length===0?!1:!!this.types()}},{key:`type`,value:function(e){if(this.hasTypes()&&RR(this.types(),e))return new LR(RR(this.types(),e),this)}},{key:`ext`,value:function(){return this.v1||this.v2?MR:this.metadata[13]||MR}}])}(),FR=function(){function e(t,n){TR(this,e),this._format=t,this.metadata=n}return DR(e,[{key:`pattern`,value:function(){return this._format[0]}},{key:`format`,value:function(){return this._format[1]}},{key:`leadingDigitsPatterns`,value:function(){return this._format[2]||[]}},{key:`nationalPrefixFormattingRule`,value:function(){return this._format[3]||this.metadata.nationalPrefixFormattingRule()}},{key:`nationalPrefixIsOptionalWhenFormattingInNationalFormat`,value:function(){return!!this._format[4]||this.metadata.nationalPrefixIsOptionalWhenFormattingInNationalFormat()}},{key:`nationalPrefixIsMandatoryWhenFormattingInNationalFormat`,value:function(){return this.usesNationalPrefix()&&!this.nationalPrefixIsOptionalWhenFormattingInNationalFormat()}},{key:`usesNationalPrefix`,value:function(){return!!(this.nationalPrefixFormattingRule()&&!IR.test(this.nationalPrefixFormattingRule()))}},{key:`internationalFormat`,value:function(){return this._format[5]||this.format()}}])}(),IR=/^\(?\$1\)?$/,LR=function(){function e(t,n){TR(this,e),this.type=t,this.metadata=n}return DR(e,[{key:`pattern`,value:function(){return this.metadata.v1?this.type:this.type[0]}},{key:`possibleLengths`,value:function(){if(!this.metadata.v1)return this.type[1]||this.metadata.possibleLengths()}}])}();function RR(e,t){switch(t){case`FIXED_LINE`:return e[0];case`MOBILE`:return e[1];case`TOLL_FREE`:return e[2];case`PREMIUM_RATE`:return e[3];case`PERSONAL_NUMBER`:return e[4];case`VOICEMAIL`:return e[5];case`UAN`:return e[6];case`PAGER`:return e[7];case`VOIP`:return e[8];case`SHARED_COST`:return e[9]}}function zR(e){if(!e)throw Error("[libphonenumber-js] `metadata` argument not passed. Check your arguments.");if(!xR(e)||!xR(e.countries))throw Error(`[libphonenumber-js] \`metadata\` argument was passed but it's not a valid metadata. Must be an object having \`.countries\` child object property. Got ${xR(e)?`an object of shape: { `+Object.keys(e).join(`, `)+` }`:`a `+BR(e)+`: `+e}.`)}var BR=function(e){return wR(e)};function VR(e,t){var n=new NR(t);if(n.hasCountry(e))return n.selectNumberingPlan(e).countryCallingCode();throw Error(`Unknown country: ${e}`)}function HR(e,t){return t.countries.hasOwnProperty(e)}function UR(e){var t=e.version;typeof t==`number`?(this.v1=t===1,this.v2=t===2,this.v3=t===3,this.v4=t===4):t?yR(t,AR)===-1?this.v2=!0:yR(t,jR)===-1?this.v3=!0:this.v4=!0:this.v1=!0}function WR(e,t){var n=typeof Symbol<`u`&&e[Symbol.iterator]||e[`@@iterator`];if(n)return(n=n.call(e)).next.bind(n);if(Array.isArray(e)||(n=GR(e))||t&&e&&typeof e.length==`number`){n&&(e=n);var r=0;return function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}}}throw TypeError(`Invalid attempt to iterate non-iterable instance.
|
|
461
|
+
</html>`;return n.set(`content-type`,`text/html; charset=utf-8`),n.set(`cache-control`,`no-store`),n.set(`pragma`,`no-cache`),new Response(i,{status:200,headers:n})}var yP=[`openid`,`profile`,`email`,`address`,`phone`,`offline_access`];async function noe(e,t,n,r){let i=[];if(!(await e.env.data.tenants.get(t))?.flags?.inherit_global_permissions_in_organizations)return[];let a=await e.env.data.userRoles.list(t,n,void 0,``),o=await Promise.all(a.map(n=>e.env.data.rolePermissions.list(t,n.id,{per_page:1e3})));for(let e of o)e.forEach(e=>{e.resource_server_identifier===r&&i.push(e.permission_name)});return[...new Set(i)]}async function roe(e,t){let{tenantId:n,clientId:r,audience:i,requestedScopes:a}=t,o=a.filter(e=>yP.includes(e)),s=a.filter(e=>!yP.includes(e)),c=(await e.env.data.resourceServers.list(n)).resource_servers.filter(e=>e.identifier===i);if(c.length===0)return{scopes:o,permissions:[],token_lifetime:86400,token_lifetime_for_web:7200};let l=c[0];if(!l)return{scopes:o,permissions:[],token_lifetime:86400,token_lifetime_for_web:7200};let u=l.options?.enforce_policies===!0,d=l.options?.token_dialect||`access_token`,f=(await e.env.data.clientGrants.list(n,{q:`client_id:"${r}"`})).client_grants.find(e=>e.audience===i);if(!f)return{scopes:o,permissions:[],token_lifetime:l.token_lifetime,token_lifetime_for_web:l.token_lifetime_for_web};let p=f.scope||[],m=(l.scopes||[]).map(e=>e.value);if(s.length>0){let e=s.filter(e=>!p.includes(e));if(e.length>0)throw new B(403,{error:`access_denied`,error_description:`Client is not authorized for scope(s): ${e.join(`, `)}`})}let h=p.filter(e=>m.includes(e)),g=a.length===0?h:s.filter(e=>h.includes(e)),_={token_lifetime:l.token_lifetime,token_lifetime_for_web:l.token_lifetime_for_web};if(!u)return{scopes:[...new Set([...o,...g])],permissions:[],..._};let v=g;return d===`access_token_authz`?{scopes:[...new Set([...o,...g])],permissions:v,..._}:{scopes:[...new Set([...o,...g])],permissions:[],..._}}async function bP(e,t){if(t.grantType===yi.ClientCredential)return await roe(e,{tenantId:t.tenantId,clientId:t.clientId,audience:t.audience,requestedScopes:t.requestedScopes});let{tenantId:n,userId:r,audience:i,requestedScopes:a,organizationId:o}=t,s=await e.env.data.tenants.get(n),c=s?.flags?.restrict_undefined_scopes===!0,l=!1;if(o){if(s?.flags?.inherit_global_permissions_in_organizations){let t=await e.env.data.userRoles.list(n,r,void 0,``);for(let r of t)if((await e.env.data.rolePermissions.list(n,r.id,{per_page:1e3})).some(e=>e.permission_name===`admin:organizations`&&e.resource_server_identifier===i)){l=!0;break}}if(!l&&!(await e.env.data.userOrganizations.list(n,{q:`user_id:${r}`,per_page:1e3})).userOrganizations.some(e=>e.organization_id===o))throw new B(403,{error:`access_denied`,error_description:`User is not a member of the specified organization`})}let u=a.filter(e=>yP.includes(e)),d=(await e.env.data.resourceServers.list(n)).resource_servers.filter(e=>e.identifier===i)[0];if(!d){if(a.filter(e=>e&&!yP.includes(e)).length>0)throw new B(403,{error:`access_denied`,error_description:`Service not found: ${i}`});return{scopes:u,permissions:[],token_lifetime:86400,token_lifetime_for_web:7200}}let f=(d.scopes||[]).map(e=>e.value),p=d.options?.enforce_policies===!0,m=d.options?.token_dialect||`access_token`,h={token_lifetime:d.token_lifetime,token_lifetime_for_web:d.token_lifetime_for_web};if(!p){let e=c?a.filter(e=>f.includes(e)||yP.includes(e)):a;return{scopes:[...new Set(e)],permissions:[],...h}}let[g,_,v]=await Promise.all([e.env.data.userPermissions.list(n,r,void 0,o),e.env.data.userRoles.list(n,r,void 0,``),o?e.env.data.userRoles.list(n,r,void 0,o):Promise.resolve([])]),y=[..._,...v],b=o?await noe(e,n,r,i):[],x=await Promise.all(y.map(t=>e.env.data.rolePermissions.list(n,t.id,{per_page:1e3}))),S=[];for(let e of x)e.forEach(e=>{e.resource_server_identifier===i&&S.push(e.permission_name)});let C=new Set;g.forEach(e=>{e.resource_server_identifier===i&&C.add(e.permission_name)}),S.forEach(e=>{C.add(e)}),b.forEach(e=>{C.add(e)});let w=Array.from(C),T=w.filter(e=>f.includes(e)),E=c?[]:a.filter(e=>!f.includes(e)&&!yP.includes(e));if(m===`access_token_authz`)return{scopes:[...new Set([...u,...E])],permissions:T,...h};let ee=a.filter(e=>f.includes(e)&&w.includes(e));return{scopes:[...new Set([...u,...ee,...E])],permissions:[],...h}}var ioe=new Set([`openid`,`profile`,`email`]);function xP(e,t){let n=new Set(t),r=[];for(let t of e)t&&(ioe.has(t)||n.has(t)||r.push(t));return Array.from(new Set(r))}async function SP(e,t){if(!e.env.data.grants)return xP(t.requestedScopes,[]);let n=await e.env.data.grants.get(t.tenantId,t.userId,t.clientId);return xP(t.requestedScopes,n?.scope??[])}function CP(e){if(!e)return!1;try{return!!JSON.parse(e)?.connect}catch{return!1}}function wP(e,t){switch(t){case`email`:return e.email||void 0;case`email_verified`:return e.email_verified===void 0?void 0:e.email_verified;case`name`:return e.name||void 0;case`family_name`:return e.family_name||void 0;case`given_name`:return e.given_name||void 0;case`middle_name`:return e.middle_name||void 0;case`nickname`:return e.nickname||void 0;case`preferred_username`:return e.preferred_username||e.username||void 0;case`profile`:return e.profile||void 0;case`picture`:return e.picture||void 0;case`website`:return e.website||void 0;case`gender`:return e.gender||void 0;case`birthdate`:return e.birthdate||void 0;case`zoneinfo`:return e.zoneinfo||void 0;case`locale`:return e.locale||void 0;case`updated_at`:{if(!e.updated_at)return;let t=new Date(e.updated_at).getTime();return Number.isFinite(t)?Math.floor(t/1e3):void 0}case`address`:return e.address||void 0;case`phone_number`:return e.phone_number||void 0;case`phone_number_verified`:return e.phone_verified===void 0?void 0:e.phone_verified;default:return}}var aoe={email:[`email`,`email_verified`],profile:[`name`,`family_name`,`given_name`,`middle_name`,`nickname`,`preferred_username`,`profile`,`picture`,`website`,`gender`,`birthdate`,`zoneinfo`,`locale`,`updated_at`],address:[`address`],phone:[`phone_number`,`phone_number_verified`]};function TP(e,t){let n={};for(let r of t){let t=aoe[r];if(t)for(let r of t){let t=wP(e,r);t!==void 0&&(n[r]=t)}}return n}function EP(e,t){let n={};for(let r of t){let t=wP(e,r);t!==void 0&&(n[r]=t)}return n}function ooe(){if(typeof globalThis<`u`)return globalThis;if(typeof self<`u`)return self;if(typeof window<`u`)return window;if(typeof global<`u`)return global}function soe(){let e=ooe();if(e.__xstate__)return e.__xstate__}var coe=e=>{if(typeof window>`u`)return;let t=soe();t&&t.register(e)},DP=class{constructor(e){this._process=e,this._active=!1,this._current=null,this._last=null}start(){this._active=!0,this.flush()}clear(){this._current&&(this._current.next=null,this._last=this._current)}enqueue(e){let t={value:e,next:null};if(this._current){this._last.next=t,this._last=t;return}this._current=t,this._last=t,this._active&&this.flush()}flush(){for(;this._current;){let e=this._current;this._process(e.value),this._current=e.next}this._last=null}},loe=``,uoe=`#`,doe=`*`,OP=`xstate.init`,foe=`xstate.stop`;function poe(e,t){return{type:`xstate.after.${e}.${t}`}}function kP(e,t){return{type:`xstate.done.state.${e}`,output:t}}function moe(e,t){return{type:`xstate.done.actor.${e}`,output:t,actorId:e}}function AP(e,t){return{type:`xstate.error.actor.${e}`,error:t,actorId:e}}function jP(e){return{type:OP,input:e}}function MP(e){setTimeout(()=>{throw e})}var NP=typeof Symbol==`function`&&Symbol.observable||`@@observable`;function PP(e,t){let n=IP(e),r=IP(t);return typeof r==`string`?typeof n==`string`?r===n:!1:typeof n==`string`?n in r:Object.keys(n).every(e=>e in r?PP(n[e],r[e]):!1)}function FP(e){if(HP(e))return e;let t=[],n=``;for(let r=0;r<e.length;r++){switch(e.charCodeAt(r)){case 92:n+=e[r+1],r++;continue;case 46:t.push(n),n=``;continue}n+=e[r]}return t.push(n),t}function IP(e){return gI(e)?e.value:typeof e==`string`?LP(FP(e)):e}function LP(e){if(e.length===1)return e[0];let t={},n=t;for(let t=0;t<e.length-1;t++)if(t===e.length-2)n[e[t]]=e[t+1];else{let r=n;n={},r[e[t]]=n}return t}function RP(e,t){let n={},r=Object.keys(e);for(let i=0;i<r.length;i++){let a=r[i];n[a]=t(e[a],a,e,i)}return n}function zP(e){return HP(e)?e:[e]}function BP(e){return e===void 0?[]:zP(e)}function VP(e,t,n,r){return typeof e==`function`?e({context:t,event:n,self:r}):e}function HP(e){return Array.isArray(e)}function UP(e){return e.type.startsWith(`xstate.error.actor`)}function WP(e){return zP(e).map(e=>e===void 0||typeof e==`string`?{target:e}:e)}function GP(e){if(!(e===void 0||e===loe))return BP(e)}function KP(e,t,n){let r=typeof e==`object`,i=r?e:void 0;return{next:(r?e.next:e)?.bind(i),error:(r?e.error:t)?.bind(i),complete:(r?e.complete:n)?.bind(i)}}function qP(e,t){return`${t}.${e}`}function JP(e,t){let n=t.match(/^xstate\.invoke\.(\d+)\.(.*)/);if(!n)return e.implementations.actors[t];let[,r,i]=n,a=e.getStateNodeById(i).config.invoke;return(Array.isArray(a)?a[r]:a).src}function YP(e,t){if(t===e||t===doe)return!0;if(!t.endsWith(`.*`))return!1;let n=t.split(`.`),r=e.split(`.`);for(let e=0;e<n.length;e++){let t=n[e],i=r[e];if(t===`*`)return e===n.length-1;if(t!==i)return!1}return!0}function XP(e,t){return`${e.sessionId}.${t}`}var ZP=0;function QP(e,t){let n=new Map,r=new Map,i=new WeakMap,a=new Set,o={},{clock:s,logger:c}=t,l={schedule:(e,t,n,r,i=Math.random().toString(36).slice(2))=>{let a={source:e,target:t,event:n,delay:r,id:i,startedAt:Date.now()},c=XP(e,i);u._snapshot._scheduledEvents[c]=a;let l=s.setTimeout(()=>{delete o[c],delete u._snapshot._scheduledEvents[c],u._relay(e,t,n)},r);o[c]=l},cancel:(e,t)=>{let n=XP(e,t),r=o[n];delete o[n],delete u._snapshot._scheduledEvents[n],r!==void 0&&s.clearTimeout(r)},cancelAll:e=>{for(let t in u._snapshot._scheduledEvents){let n=u._snapshot._scheduledEvents[t];n.source===e&&l.cancel(e,n.id)}}},u={_snapshot:{_scheduledEvents:(t?.snapshot&&t.snapshot.scheduler)??{}},_bookId:()=>`x:${ZP++}`,_register:(e,t)=>(n.set(e,t),e),_unregister:e=>{n.delete(e.sessionId);let t=i.get(e);t!==void 0&&(r.delete(t),i.delete(e))},get:e=>r.get(e),getAll:()=>Object.fromEntries(r.entries()),_set:(e,t)=>{let n=r.get(e);if(n&&n!==t)throw Error(`Actor with system ID '${e}' already exists.`);r.set(e,t),i.set(t,e)},inspect:e=>{let t=KP(e);return a.add(t),{unsubscribe(){a.delete(t)}}},_sendInspectionEvent:t=>{if(!a.size)return;let n={...t,rootId:e.sessionId};a.forEach(e=>e.next?.(n))},_relay:(e,t,n)=>{u._sendInspectionEvent({type:`@xstate.event`,sourceRef:e,actorRef:t,event:n}),t._send(n)},scheduler:l,getSnapshot:()=>({_scheduledEvents:{...u._snapshot._scheduledEvents}}),start:()=>{let e=u._snapshot._scheduledEvents;u._snapshot._scheduledEvents={};for(let t in e){let{source:n,target:r,event:i,delay:a,id:o}=e[t];l.schedule(n,r,i,a,o)}},_clock:s,_logger:c};return u}var $P=!1,eF=function(e){return e[e.NotStarted=0]=`NotStarted`,e[e.Running=1]=`Running`,e[e.Stopped=2]=`Stopped`,e}({}),tF={clock:{setTimeout:(e,t)=>setTimeout(e,t),clearTimeout:e=>clearTimeout(e)},logger:console.log.bind(console),devTools:!1},nF=class{constructor(e,t){this.logic=e,this._snapshot=void 0,this.clock=void 0,this.options=void 0,this.id=void 0,this.mailbox=new DP(this._process.bind(this)),this.observers=new Set,this.eventListeners=new Map,this.logger=void 0,this._processingStatus=eF.NotStarted,this._parent=void 0,this._syncSnapshot=void 0,this.ref=void 0,this._actorScope=void 0,this.systemId=void 0,this.sessionId=void 0,this.system=void 0,this._doneEvent=void 0,this.src=void 0,this._deferred=[];let n={...tF,...t},{clock:r,logger:i,parent:a,syncSnapshot:o,id:s,systemId:c,inspect:l}=n;this.system=a?a.system:QP(this,{clock:r,logger:i}),l&&!a&&this.system.inspect(KP(l)),this.sessionId=this.system._bookId(),this.id=s??this.sessionId,this.logger=t?.logger??this.system._logger,this.clock=t?.clock??this.system._clock,this._parent=a,this._syncSnapshot=o,this.options=n,this.src=n.src??e,this.ref=this,this._actorScope={self:this,id:this.id,sessionId:this.sessionId,logger:this.logger,defer:e=>{this._deferred.push(e)},system:this.system,stopChild:e=>{if(e._parent!==this)throw Error(`Cannot stop child actor ${e.id} of ${this.id} because it is not a child`);e._stop()},emit:e=>{let t=this.eventListeners.get(e.type),n=this.eventListeners.get(`*`);if(!t&&!n)return;let r=[...t?t.values():[],...n?n.values():[]];for(let t of r)try{t(e)}catch(e){MP(e)}},actionExecutor:e=>{let t=()=>{if(this._actorScope.system._sendInspectionEvent({type:`@xstate.action`,actorRef:this,action:{type:e.type,params:e.params}}),!e.exec)return;let t=$P;try{$P=!0,e.exec(e.info,e.params)}finally{$P=t}};this._processingStatus===eF.Running?t():this._deferred.push(t)}},this.send=this.send.bind(this),this.system._sendInspectionEvent({type:`@xstate.actor`,actorRef:this}),c&&(this.systemId=c,this.system._set(c,this)),this._initState(t?.snapshot??t?.state),c&&this._snapshot.status!==`active`&&this.system._unregister(this)}_initState(e){try{this._snapshot=e?this.logic.restoreSnapshot?this.logic.restoreSnapshot(e,this._actorScope):e:this.logic.getInitialSnapshot(this._actorScope,this.options?.input)}catch(e){this._snapshot={status:`error`,output:void 0,error:e}}}update(e,t){this._snapshot=e;let n;for(;n=this._deferred.shift();)try{n()}catch(t){this._deferred.length=0,this._snapshot={...e,status:`error`,error:t}}switch(this._snapshot.status){case`active`:for(let t of this.observers)try{t.next?.(e)}catch(e){MP(e)}break;case`done`:for(let t of this.observers)try{t.next?.(e)}catch(e){MP(e)}this._stopProcedure(),this._complete(),this._doneEvent=moe(this.id,this._snapshot.output),this._parent&&this.system._relay(this,this._parent,this._doneEvent);break;case`error`:this._error(this._snapshot.error);break}this.system._sendInspectionEvent({type:`@xstate.snapshot`,actorRef:this,event:t,snapshot:e})}subscribe(e,t,n){let r=KP(e,t,n);if(this._processingStatus!==eF.Stopped)this.observers.add(r);else switch(this._snapshot.status){case`done`:try{r.complete?.()}catch(e){MP(e)}break;case`error`:{let e=this._snapshot.error;if(!r.error)MP(e);else try{r.error(e)}catch(e){MP(e)}break}}return{unsubscribe:()=>{this.observers.delete(r)}}}on(e,t){let n=this.eventListeners.get(e);n||(n=new Set,this.eventListeners.set(e,n));let r=t.bind(void 0);return n.add(r),{unsubscribe:()=>{n.delete(r)}}}select(e,t=Object.is){return{subscribe:n=>{let r=KP(n),i=e(this.getSnapshot());return this.subscribe(n=>{let a=e(n);t(i,a)||(i=a,r.next?.(a))})},get:()=>e(this.getSnapshot())}}start(){if(this._processingStatus===eF.Running)return this;this._syncSnapshot&&this.subscribe({next:e=>{e.status===`active`&&this.system._relay(this,this._parent,{type:`xstate.snapshot.${this.id}`,snapshot:e})},error:()=>{}}),this.system._register(this.sessionId,this),this.systemId&&this.system._set(this.systemId,this),this._processingStatus=eF.Running;let e=jP(this.options.input);switch(this.system._sendInspectionEvent({type:`@xstate.event`,sourceRef:this._parent,actorRef:this,event:e}),this._snapshot.status){case`done`:return this.update(this._snapshot,e),this;case`error`:return this._error(this._snapshot.error),this}if(this._parent||this.system.start(),this.logic.start)try{this.logic.start(this._snapshot,this._actorScope)}catch(e){return this._snapshot={...this._snapshot,status:`error`,error:e},this._error(e),this}return this.update(this._snapshot,e),this.options.devTools&&this.attachDevTools(),this.mailbox.start(),this}_process(e){let t,n;try{t=this.logic.transition(this._snapshot,e,this._actorScope)}catch(e){n={err:e}}if(n){let{err:e}=n;this._snapshot={...this._snapshot,status:`error`,error:e},this._error(e);return}this.update(t,e),e.type===`xstate.stop`&&(this._stopProcedure(),this._complete())}_stop(){return this._processingStatus===eF.Stopped?this:(this.mailbox.clear(),this._processingStatus===eF.NotStarted?(this._processingStatus=eF.Stopped,this):(this.mailbox.enqueue({type:foe}),this))}stop(){if(this._parent)throw Error(`A non-root actor cannot be stopped directly.`);return this._stop()}_complete(){for(let e of this.observers)try{e.complete?.()}catch(e){MP(e)}this.observers.clear(),this.eventListeners.clear()}_reportError(e){if(!this.observers.size){this._parent||MP(e),this.eventListeners.clear();return}let t=!1;for(let n of this.observers){let r=n.error;t||=!r;try{r?.(e)}catch(e){MP(e)}}this.observers.clear(),this.eventListeners.clear(),t&&MP(e)}_error(e){this._stopProcedure(),this._reportError(e),this._parent&&this.system._relay(this,this._parent,AP(this.id,e))}_stopProcedure(){return this._processingStatus===eF.Running?(this.system.scheduler.cancelAll(this),this.mailbox.clear(),this.mailbox=new DP(this._process.bind(this)),this._processingStatus=eF.Stopped,this.system._unregister(this),this):this}_send(e){this._processingStatus!==eF.Stopped&&this.mailbox.enqueue(e)}send(e){this.system._relay(void 0,this,e)}attachDevTools(){let{devTools:e}=this.options;e&&(typeof e==`function`?e:coe)(this)}toJSON(){return{xstate$$type:1,id:this.id}}getPersistedSnapshot(e){return this.logic.getPersistedSnapshot(this._snapshot,e)}[NP](){return this}getSnapshot(){return this._snapshot}};function rF(e,...[t]){return new nF(e,t)}function iF(e,t,n,r,{sendId:i}){return[t,{sendId:typeof i==`function`?i(n,r):i},void 0]}function aF(e,t){e.defer(()=>{e.system.scheduler.cancel(e.self,t.sendId)})}function oF(e){function t(e,t){}return t.type=`xstate.cancel`,t.sendId=e,t.resolve=iF,t.execute=aF,t}function sF(e,t,n,r,{id:i,systemId:a,src:o,input:s,syncSnapshot:c}){let l=typeof o==`string`?JP(t.machine,o):o,u=typeof i==`function`?i(n):i,d,f;return l&&(f=typeof s==`function`?s({context:t.context,event:n.event,self:e.self}):s,d=rF(l,{id:u,src:o,parent:e.self,syncSnapshot:c,systemId:a,input:f})),[CI(t,{children:{...t.children,[u]:d}}),{id:i,systemId:a,actorRef:d,src:o,input:f},void 0]}function cF(e,{actorRef:t}){t&&e.defer(()=>{t._processingStatus!==eF.Stopped&&t.start()})}function lF(...[e,{id:t,systemId:n,input:r,syncSnapshot:i=!1}={}]){function a(e,t){}return a.type=`xstate.spawnChild`,a.id=t,a.systemId=n,a.src=e,a.input=r,a.syncSnapshot=i,a.resolve=sF,a.execute=cF,a}function uF(e,t,n,r,{actorRef:i}){let a=typeof i==`function`?i(n,r):i,o=typeof a==`string`?t.children[a]:a,s=t.children;return o&&(s={...s},delete s[o.id]),[CI(t,{children:s}),o,void 0]}function dF(e,t){let n=t.getSnapshot();if(n&&`children`in n)for(let t of Object.values(n.children))dF(e,t);e.system._unregister(t)}function fF(e,t){if(t){if(dF(e,t),t._processingStatus!==eF.Running){e.stopChild(t);return}e.defer(()=>{e.stopChild(t)})}}function pF(e){function t(e,t){}return t.type=`xstate.stopChild`,t.actorRef=e,t.resolve=uF,t.execute=fF,t}function mF(e,{context:t,event:n},{guards:r}){return r.every(r=>gF(r,t,n,e))}function hF(e){function t(e,t){return!1}return t.check=mF,t.guards=e,t}function gF(e,t,n,r){let{machine:i}=r,a=typeof e==`function`,o=a?e:i.implementations.guards[typeof e==`string`?e:e.type];if(!a&&!o)throw Error(`Guard '${typeof e==`string`?e:e.type}' is not implemented.'.`);if(typeof o!=`function`)return gF(o,t,n,r);let s={context:t,event:n},c=a||typeof e==`string`?void 0:`params`in e?typeof e.params==`function`?e.params({context:t,event:n}):e.params:void 0;return`check`in o?o.check(r,s,o):o(s,c)}function _F(e){return e.type===`atomic`||e.type===`final`}function vF(e){return Object.values(e.states).filter(e=>e.type!==`history`)}function yF(e,t){let n=[];if(t===e)return n;let r=e.parent;for(;r&&r!==t;)n.push(r),r=r.parent;return n}function bF(e){let t=new Set(e),n=SF(t);for(let e of t)if(e.type===`compound`&&(!n.get(e)||!n.get(e).length))FF(e).forEach(e=>t.add(e));else if(e.type===`parallel`){for(let n of vF(e))if(n.type!==`history`&&!t.has(n)){let e=FF(n);for(let n of e)t.add(n)}}for(let e of t){let n=e.parent;for(;n;)t.add(n),n=n.parent}return t}function xF(e,t){let n=t.get(e);if(!n)return{};if(e.type===`compound`){let e=n[0];if(e){if(_F(e))return e.key}else return{}}let r={};for(let e of n)r[e.key]=xF(e,t);return r}function SF(e){let t=new Map;for(let n of e)t.has(n)||t.set(n,[]),n.parent&&(t.has(n.parent)||t.set(n.parent,[]),t.get(n.parent).push(n));return t}function CF(e,t){return xF(e,SF(bF(t)))}function wF(e,t){return t.type===`compound`?vF(t).some(t=>t.type===`final`&&e.has(t)):t.type===`parallel`?vF(t).every(t=>wF(e,t)):t.type===`final`}var TF=e=>e[0]===uoe;function EF(e,t){let n=e.transitions.get(t),r=[...e.transitions.keys()].filter(e=>e!==t&&YP(t,e)).sort((e,t)=>t.length-e.length).flatMap(t=>e.transitions.get(t));return n?[...n,...r]:r}function DF(e){let t=e.config.after;if(!t)return[];let n=t=>{let n=poe(t,e.id),r=n.type;return e.entry.push(kI(n,{id:r,delay:t})),e.exit.push(oF(r)),r};return Object.keys(t).flatMap(e=>{let r=t[e],i=typeof r==`string`?{target:r}:r,a=Number.isNaN(+e)?e:+e,o=n(a);return BP(i).map(e=>({...e,event:o,delay:a}))}).map(t=>{let{delay:n}=t;return{...OF(e,t.event,t),delay:n}})}function OF(e,t,n){let r=GP(n.target),i=n.reenter??!1,a=MF(e,r),o={...n,actions:BP(n.actions),guard:n.guard,target:a,source:e,reenter:i,eventType:t,toJSON:()=>({...o,source:`#${e.id}`,target:a?a.map(e=>`#${e.id}`):void 0})};return o}function kF(e){let t=new Map;if(e.config.on)for(let n of Object.keys(e.config.on)){if(n===``)throw Error('Null events ("") cannot be specified as a transition key. Use `always: { ... }` instead.');let r=e.config.on[n];t.set(n,WP(r).map(t=>OF(e,n,t)))}if(e.config.onDone){let n=`xstate.done.state.${e.id}`;t.set(n,WP(e.config.onDone).map(t=>OF(e,n,t)))}for(let n of e.invoke){if(n.onDone){let r=`xstate.done.actor.${n.id}`;t.set(r,WP(n.onDone).map(t=>OF(e,r,t)))}if(n.onError){let r=`xstate.error.actor.${n.id}`;t.set(r,WP(n.onError).map(t=>OF(e,r,t)))}if(n.onSnapshot){let r=`xstate.snapshot.${n.id}`;t.set(r,WP(n.onSnapshot).map(t=>OF(e,r,t)))}}for(let n of e.after){let e=t.get(n.eventType);e||(e=[],t.set(n.eventType,e)),e.push(n)}return t}function AF(e){let t=[],n=r=>{Object.values(r).forEach(r=>{if(r.config.route&&r.config.id){let n=r.config.id,i=r.config.route.guard,a=({event:e})=>e.to===`#${n}`,o={...r.config.route,guard:i?hF([a,i]):a,target:`#${n}`};t.push(OF(e,`xstate.route`,o))}r.states&&n(r.states)})};n(e.states),t.length>0&&e.transitions.set(`xstate.route`,t)}function jF(e,t){let n=typeof t==`string`?e.states[t]:t?e.states[t.target]:void 0;if(!n&&t)throw Error(`Initial state node "${t}" not found on parent state node #${e.id}`);let r={source:e,actions:!t||typeof t==`string`?[]:BP(t.actions),eventType:null,reenter:!1,target:n?[n]:[],toJSON:()=>({...r,source:`#${e.id}`,target:n?[`#${n.id}`]:[]})};return r}function MF(e,t){if(t!==void 0)return t.map(t=>{if(typeof t!=`string`)return t;if(TF(t))return e.machine.getStateNodeById(t);let n=t[0]===`.`;if(n&&!e.parent)return RF(e,t.slice(1));let r=n?e.key+t:t;if(e.parent)try{return RF(e.parent,r)}catch(t){throw Error(`Invalid transition definition for state node '${e.id}':\n${t.message}`)}else throw Error(`Invalid target: "${t}" is not a valid target from the root node. Did you mean ".${t}"?`)})}function NF(e){let t=GP(e.config.target);return t?{target:t.map(t=>typeof t==`string`?RF(e.parent,t):t)}:e.parent.type===`parallel`?{target:[e.parent]}:e.parent.initial}function PF(e){return e.type===`history`}function FF(e){let t=IF(e);for(let n of t)for(let r of yF(n,e))t.add(r);return t}function IF(e){let t=new Set;function n(e){if(!t.has(e)){if(t.add(e),e.type===`compound`)n(e.initial.target[0]);else if(e.type===`parallel`)for(let t of vF(e))n(t)}}return n(e),t}function LF(e,t){if(TF(t))return e.machine.getStateNodeById(t);if(!e.states)throw Error(`Unable to retrieve child state '${t}' from '${e.id}'; no child states exist.`);let n=e.states[t];if(!n)throw Error(`Child state '${t}' does not exist on '${e.id}'`);return n}function RF(e,t){if(typeof t==`string`&&TF(t))try{return e.machine.getStateNodeById(t)}catch{}let n=FP(t).slice(),r=e;for(;n.length;){let e=n.shift();if(!e.length)break;r=LF(r,e)}return r}function zF(e,t){if(typeof t==`string`){let n=e.states[t];if(!n)throw Error(`State '${t}' does not exist on '${e.id}'`);return[e,n]}let n=Object.keys(t),r=n.map(t=>LF(e,t)).filter(Boolean);return[e.machine.root,e].concat(r,n.reduce((n,r)=>{let i=LF(e,r);if(!i)return n;let a=zF(i,t[r]);return n.concat(a)},[]))}function BF(e,t,n,r){let i=LF(e,t).next(n,r);return!i||!i.length?e.next(n,r):i}function VF(e,t,n,r){let i=Object.keys(t),a=UF(LF(e,i[0]),t[i[0]],n,r);return!a||!a.length?e.next(n,r):a}function HF(e,t,n,r){let i=[];for(let a of Object.keys(t)){let o=t[a];if(!o)continue;let s=UF(LF(e,a),o,n,r);s&&i.push(...s)}return i.length?i:e.next(n,r)}function UF(e,t,n,r){return typeof t==`string`?BF(e,t,n,r):Object.keys(t).length===1?VF(e,t,n,r):HF(e,t,n,r)}function WF(e){return Object.keys(e.states).map(t=>e.states[t]).filter(e=>e.type===`history`)}function GF(e,t){let n=e;for(;n.parent&&n.parent!==t;)n=n.parent;return n.parent===t}function KF(e,t){let n=new Set(e),r=new Set(t);for(let e of n)if(r.has(e))return!0;for(let e of r)if(n.has(e))return!0;return!1}function qF(e,t,n){let r=new Set;for(let i of e){let e=!1,a=new Set;for(let o of r)if(KF(ZF([i],t,n),ZF([o],t,n)))if(GF(i.source,o.source))a.add(o);else{e=!0;break}if(!e){for(let e of a)r.delete(e);r.add(i)}}return Array.from(r)}function JF(e){let[t,...n]=e;for(let e of yF(t,void 0))if(n.every(t=>GF(t,e)))return e}function YF(e,t){if(!e.target)return[];let n=new Set;for(let r of e.target)if(PF(r))if(t[r.id])for(let e of t[r.id])n.add(e);else for(let e of YF(NF(r),t))n.add(e);else n.add(r);return[...n]}function XF(e,t){let n=YF(e,t);if(!n)return;if(!e.reenter&&n.every(t=>t===e.source||GF(t,e.source)))return e.source;let r=JF(n.concat(e.source));if(r)return r;if(!e.reenter)return e.source.machine.root}function ZF(e,t,n){let r=new Set;for(let i of e)if(i.target?.length){let e=XF(i,n);i.reenter&&i.source===e&&r.add(e);for(let n of t)GF(n,e)&&r.add(n)}return[...r]}function QF(e,t){if(e.length!==t.size)return!1;for(let n of e)if(!t.has(n))return!1;return!0}function $F(e,t,n,r,i){return eI([{target:[...IF(e)],source:e,reenter:!0,actions:[],eventType:null,toJSON:null}],t,n,r,!0,i)}function eI(e,t,n,r,i,a){let o=[];if(!e.length)return[t,o];let s=n.actionExecutor;n.actionExecutor=e=>{o.push(e),s(e)};try{let s=new Set(t._nodes),c=t.historyValue,l=qF(e,s,c),u=t;i||([u,c]=sI(u,r,n,l,s,c,a,n.actionExecutor)),u=uI(u,r,n,l.flatMap(e=>e.actions),a,void 0),u=nI(u,r,n,l,s,a,c,i);let d=[...s];u.status===`done`&&(u=uI(u,r,n,d.sort((e,t)=>t.order-e.order).flatMap(e=>e.exit),a,void 0));try{return c===t.historyValue&&QF(t._nodes,s)?[u,o]:[CI(u,{_nodes:d,historyValue:c}),o]}catch(e){throw e}}finally{n.actionExecutor=s}}function tI(e,t,n,r,i){if(r.output===void 0)return;let a=kP(i.id,i.output!==void 0&&i.parent?VP(i.output,e.context,t,n.self):void 0);return VP(r.output,e.context,a,n.self)}function nI(e,t,n,r,i,a,o,s){let c=e,l=new Set,u=new Set;rI(r,o,u,l),s&&u.add(e.machine.root);let d=new Set;for(let e of[...l].sort((e,t)=>e.order-t.order)){i.add(e);let r=[];r.push(...e.entry);for(let t of e.invoke)r.push(lF(t.src,{...t,syncSnapshot:!!t.onSnapshot}));if(u.has(e)){let t=e.initial.actions;r.push(...t)}if(c=uI(c,t,n,r,a,e.invoke.map(e=>e.id)),e.type===`final`){let r=e.parent,o=r?.type===`parallel`?r:r?.parent,s=o||e;for(r?.type===`compound`&&a.push(kP(r.id,e.output===void 0?void 0:VP(e.output,c.context,t,n.self)));o?.type===`parallel`&&!d.has(o)&&wF(i,o);)d.add(o),a.push(kP(o.id)),s=o,o=o.parent;if(o)continue;c=CI(c,{status:`done`,output:tI(c,t,n,c.machine.root,s)})}}return c}function rI(e,t,n,r){for(let i of e){let e=XF(i,t);for(let a of i.target||[])!PF(a)&&(i.source!==a||i.source!==e||i.reenter)&&(r.add(a),n.add(a)),iI(a,t,n,r);let a=YF(i,t);for(let o of a){let a=yF(o,e);e?.type===`parallel`&&a.push(e),aI(r,t,n,a,!i.source.parent&&i.reenter?void 0:e)}}}function iI(e,t,n,r){if(PF(e))if(t[e.id]){let i=t[e.id];for(let e of i)r.add(e),iI(e,t,n,r);for(let a of i)oI(a,e.parent,r,t,n)}else{let i=NF(e);for(let a of i.target)r.add(a),i===e.parent?.initial&&n.add(e.parent),iI(a,t,n,r);for(let a of i.target)oI(a,e.parent,r,t,n)}else if(e.type===`compound`){let[i]=e.initial.target;PF(i)||(r.add(i),n.add(i)),iI(i,t,n,r),oI(i,e,r,t,n)}else if(e.type===`parallel`)for(let i of vF(e).filter(e=>!PF(e)))[...r].some(e=>GF(e,i))||(PF(i)||(r.add(i),n.add(i)),iI(i,t,n,r))}function aI(e,t,n,r,i){for(let a of r)if((!i||GF(a,i))&&e.add(a),a.type===`parallel`)for(let r of vF(a).filter(e=>!PF(e)))[...e].some(e=>GF(e,r))||(e.add(r),iI(r,t,n,e))}function oI(e,t,n,r,i){aI(n,r,i,yF(e,t))}function sI(e,t,n,r,i,a,o,s){let c=e,l=ZF(r,i,a);l.sort((e,t)=>t.order-e.order);let u;for(let e of l)for(let t of WF(e)){let n;n=t.history===`deep`?t=>_F(t)&&GF(t,e):t=>t.parent===e,u??={...a},u[t.id]=Array.from(i).filter(n)}for(let e of l)c=uI(c,t,n,[...e.exit,...e.invoke.map(e=>pF(e.id))],o,void 0),i.delete(e);return[c,u||a]}function cI(e,t){return e.implementations.actions[t]}function lI(e,t,n,r,i,a){let{machine:o}=e,s=e;for(let e of r){let r=typeof e==`function`,c=r?e:cI(o,typeof e==`string`?e:e.type),l={context:s.context,event:t,self:n.self,system:n.system},u=r||typeof e==`string`?void 0:`params`in e?typeof e.params==`function`?e.params({context:s.context,event:t}):e.params:void 0;if(!c||!(`resolve`in c)){n.actionExecutor({type:typeof e==`string`?e:typeof e==`object`?e.type:e.name||`(anonymous)`,info:l,params:u,exec:c});continue}let d=c,[f,p,m]=d.resolve(n,s,l,u,c,i);s=f,`retryResolve`in d&&a?.push([d,p]),`execute`in d&&n.actionExecutor({type:d.type,info:l,params:p,exec:d.execute.bind(null,n,p)}),m&&(s=lI(s,t,n,m,i,a))}return s}function uI(e,t,n,r,i,a){let o=a?[]:void 0,s=lI(e,t,n,r,{internalQueue:i,deferredActorIds:a},o);return o?.forEach(([e,t])=>{e.retryResolve(n,s,t)}),s}function dI(e,t,n,r){let i=e,a=[];function o(e,t,r){n.system._sendInspectionEvent({type:`@xstate.microstep`,actorRef:n.self,event:t,snapshot:e[0],_transitions:r}),a.push(e)}if(t.type===`xstate.stop`)return i=CI(fI(i,t,n),{status:`stopped`}),o([i,[]],t,[]),{snapshot:i,microsteps:a};let s=t;if(s.type!==OP){let t=s,c=UP(t),l=pI(t,i);if(c&&!l.length)return i=CI(e,{status:`error`,error:t.error}),o([i,[]],t,[]),{snapshot:i,microsteps:a};let u=eI(l,e,n,s,!1,r);i=u[0],o(u,t,l)}let c=!0,l=e.machine.options?.maxIterations??1/0,u=0;for(;i.status===`active`;){if(u++,u>l)throw Error(`Infinite loop detected: the machine has processed more than ${l} microsteps without reaching a stable state. This usually happens when there's a cycle of transitions (e.g., eventless transitions or raised events causing state A -> B -> C -> A).`);let e=c?mI(i,s):[],t=e.length?i:void 0;if(!e.length){if(!r.length)break;s=r.shift(),e=pI(s,i)}let a=eI(e,i,n,s,!1,r);i=a[0],c=i!==t,o(a,s,e)}return i.status!==`active`&&fI(i,s,n),{snapshot:i,microsteps:a}}function fI(e,t,n){return uI(e,t,n,Object.values(e.children).map(e=>pF(e)),[],void 0)}function pI(e,t){return t.machine.getTransitionData(t,e)}function mI(e,t){let n=new Set,r=e._nodes.filter(_F);for(let i of r)loop:for(let r of[i].concat(yF(i,void 0)))if(r.always){for(let i of r.always)if(i.guard===void 0||gF(i.guard,e.context,t,e)){n.add(i);break loop}}return qF(Array.from(n),new Set(e._nodes),e.historyValue)}function hI(e,t){return CF(e,[...bF(zF(e,t))])}function gI(e){return!!e&&typeof e==`object`&&`machine`in e&&`value`in e}var _I=function(e){return PP(e,this.value)},vI=function(e){return this.tags.has(e)},yI=function(e){let t=this.machine.getTransitionData(this,e);return!!t?.length&&t.some(e=>e.target!==void 0||e.actions.length)},bI=function(){let{_nodes:e,tags:t,machine:n,getMeta:r,toJSON:i,can:a,hasTag:o,matches:s,...c}=this;return{...c,tags:Array.from(t)}},xI=function(){return this._nodes.reduce((e,t)=>(t.meta!==void 0&&(e[t.id]=t.meta),e),{})};function SI(e,t){return{status:e.status,output:e.output,error:e.error,machine:t,context:e.context,_nodes:e._nodes,value:CF(t.root,e._nodes),tags:new Set(e._nodes.flatMap(e=>e.tags)),children:e.children,historyValue:e.historyValue||{},matches:_I,hasTag:vI,can:yI,getMeta:xI,toJSON:bI}}function CI(e,t={}){return SI({...e,...t},e.machine)}function wI(e){if(typeof e!=`object`||!e)return{};let t={};for(let n in e){let r=e[n];Array.isArray(r)&&(t[n]=r.map(e=>({id:e.id})))}return t}function TI(e,t){let{_nodes:n,tags:r,machine:i,children:a,context:o,can:s,hasTag:c,matches:l,getMeta:u,toJSON:d,...f}=e,p={};for(let e in a){let n=a[e];p[e]={snapshot:n.getPersistedSnapshot(t),src:n.src,systemId:n.systemId,syncSnapshot:n._syncSnapshot}}return{...f,context:EI(o),children:p,historyValue:wI(f.historyValue)}}function EI(e){let t;for(let n in e){let r=e[n];if(r&&typeof r==`object`)if(`sessionId`in r&&`send`in r&&`ref`in r)t??=Array.isArray(e)?e.slice():{...e},t[n]={xstate$$type:1,id:r.id};else{let i=EI(r);i!==r&&(t??=Array.isArray(e)?e.slice():{...e},t[n]=i)}}return t??e}function DI(e,t,n,r,{event:i,id:a,delay:o},{internalQueue:s}){let c=t.machine.implementations.delays;if(typeof i==`string`)throw Error(`Only event objects may be used with raise; use raise({ type: "${i}" }) instead`);let l=typeof i==`function`?i(n,r):i,u;if(typeof o==`string`){let e=c&&c[o];u=typeof e==`function`?e(n,r):e}else u=typeof o==`function`?o(n,r):o;return typeof u!=`number`&&s.push(l),[t,{event:l,id:a,delay:u},void 0]}function OI(e,t){let{event:n,delay:r,id:i}=t;if(typeof r==`number`){e.defer(()=>{let t=e.self;e.system.scheduler.schedule(t,t,n,r,i)});return}}function kI(e,t){function n(e,t){}return n.type=`xstate.raise`,n.event=e,n.id=t?.id,n.delay=t?.delay,n.resolve=DI,n.execute=OI,n}function AI(e,{machine:t,context:n},r,i){let a=(a,o)=>{if(typeof a==`string`){let s=JP(t,a);if(!s)throw Error(`Actor logic '${a}' not implemented in machine '${t.id}'`);let c=rF(s,{id:o?.id,parent:e.self,syncSnapshot:o?.syncSnapshot,input:typeof o?.input==`function`?o.input({context:n,event:r,self:e.self}):o?.input,src:a,systemId:o?.systemId});return i[c.id]=c,c}else return rF(a,{id:o?.id,parent:e.self,syncSnapshot:o?.syncSnapshot,input:o?.input,src:a,systemId:o?.systemId})};return(t,n)=>{let r=a(t,n);return i[r.id]=r,e.defer(()=>{r._processingStatus!==eF.Stopped&&r.start()}),r}}function jI(e,t,n,r,{assignment:i}){if(!t.context)throw Error("Cannot assign to undefined `context`. Ensure that `context` is defined in the machine config.");let a={},o={context:t.context,event:n.event,spawn:AI(e,t,n.event,a),self:e.self,system:e.system},s={};if(typeof i==`function`)s=i(o,r);else for(let e of Object.keys(i)){let t=i[e];s[e]=typeof t==`function`?t(o,r):t}return[CI(t,{context:Object.assign({},t.context,s),children:Object.keys(a).length?{...t.children,...a}:t.children}),void 0,void 0]}function MI(e){function t(e,t){}return t.type=`xstate.assign`,t.assignment=e,t.resolve=jI,t}var NI=new WeakMap;function PI(e,t,n){let r=NI.get(e);return r?t in r||(r[t]=n()):(r={[t]:n()},NI.set(e,r)),r[t]}var FI={},II=e=>typeof e==`string`?{type:e}:typeof e==`function`?`resolve`in e?{type:e.type}:{type:e.name}:e,LI=class e{constructor(t,n){if(this.config=t,this.key=void 0,this.id=void 0,this.type=void 0,this.path=void 0,this.states=void 0,this.history=void 0,this.entry=void 0,this.exit=void 0,this.parent=void 0,this.machine=void 0,this.meta=void 0,this.output=void 0,this.order=-1,this.description=void 0,this.tags=[],this.transitions=void 0,this.always=void 0,this.parent=n._parent,this.key=n._key,this.machine=n._machine,this.path=this.parent?this.parent.path.concat(this.key):[],this.id=this.config.id||[this.machine.id,...this.path].join(`.`),this.type=this.config.type||(this.config.states&&Object.keys(this.config.states).length?`compound`:this.config.history?`history`:`atomic`),this.description=this.config.description,this.order=this.machine.idMap.size,this.machine.idMap.set(this.id,this),this.states=this.config.states?RP(this.config.states,(t,n)=>new e(t,{_parent:this,_key:n,_machine:this.machine})):FI,this.type===`compound`&&!this.config.initial)throw Error(`No initial state specified for compound state node "#${this.id}". Try adding { initial: "${Object.keys(this.states)[0]}" } to the state config.`);this.history=this.config.history===!0?`shallow`:this.config.history||!1,this.entry=BP(this.config.entry).slice(),this.exit=BP(this.config.exit).slice(),this.meta=this.config.meta,this.output=this.type===`final`||!this.parent?this.config.output:void 0,this.tags=BP(t.tags).slice()}_initialize(){this.transitions=kF(this),this.config.always&&(this.always=WP(this.config.always).map(e=>OF(this,``,e))),Object.keys(this.states).forEach(e=>{this.states[e]._initialize()})}get definition(){return{id:this.id,key:this.key,version:this.machine.version,type:this.type,initial:this.initial?{target:this.initial.target,source:this,actions:this.initial.actions.map(II),eventType:null,reenter:!1,toJSON:()=>({target:this.initial.target.map(e=>`#${e.id}`),source:`#${this.id}`,actions:this.initial.actions.map(II),eventType:null})}:void 0,history:this.history,states:RP(this.states,e=>e.definition),on:this.on,transitions:[...this.transitions.values()].flat().map(e=>({...e,actions:e.actions.map(II)})),entry:this.entry.map(II),exit:this.exit.map(II),meta:this.meta,order:this.order||-1,output:this.output,invoke:this.invoke,description:this.description,tags:this.tags}}toJSON(){return this.definition}get invoke(){return PI(this,`invoke`,()=>BP(this.config.invoke).map((e,t)=>{let{src:n,systemId:r}=e,i=e.id??qP(this.id,t),a=typeof n==`string`?n:`xstate.invoke.${qP(this.id,t)}`;return{...e,src:a,id:i,systemId:r,toJSON(){let{onDone:t,onError:n,...r}=e;return{...r,type:`xstate.invoke`,src:a,id:i}}}}))}get on(){return PI(this,`on`,()=>[...this.transitions].flatMap(([e,t])=>t.map(t=>[e,t])).reduce((e,[t,n])=>(e[t]=e[t]||[],e[t].push(n),e),{}))}get after(){return PI(this,`delayedTransitions`,()=>DF(this))}get initial(){return PI(this,`initial`,()=>jF(this,this.config.initial))}next(e,t){let n=t.type,r=[],i,a=PI(this,`candidates-${n}`,()=>EF(this,n));for(let o of a){let{guard:a}=o,s=e.context,c=!1;try{c=!a||gF(a,s,t,e)}catch(e){let t=typeof a==`string`?a:typeof a==`object`?a.type:void 0;throw Error(`Unable to evaluate guard ${t?`'${t}' `:``}in transition for event '${n}' in state node '${this.id}':\n${e.message}`)}if(c){r.push(...o.actions),i=o;break}}return i?[i]:void 0}get events(){return PI(this,`events`,()=>{let{states:e}=this,t=new Set(this.ownEvents);if(e)for(let n of Object.keys(e)){let r=e[n];if(r.states)for(let e of r.events)t.add(`${e}`)}return Array.from(t)})}get ownEvents(){let e=Object.keys(Object.fromEntries(this.transitions)),t=new Set(e.filter(e=>this.transitions.get(e).some(e=>!(!e.target&&!e.actions.length&&!e.reenter))));return Array.from(t)}},RI=class e{constructor(e,t){this.config=e,this.version=void 0,this.schemas=void 0,this.implementations=void 0,this.options=void 0,this.__xstatenode=!0,this.idMap=new Map,this.root=void 0,this.id=void 0,this.states=void 0,this.events=void 0,this.id=e.id||`(machine)`,this.implementations={actors:t?.actors??{},actions:t?.actions??{},delays:t?.delays??{},guards:t?.guards??{}},this.version=this.config.version,this.schemas=this.config.schemas,this.options={maxIterations:1/0,...this.config.options},this.transition=this.transition.bind(this),this.getInitialSnapshot=this.getInitialSnapshot.bind(this),this.getPersistedSnapshot=this.getPersistedSnapshot.bind(this),this.restoreSnapshot=this.restoreSnapshot.bind(this),this.start=this.start.bind(this),this.root=new LI(e,{_key:this.id,_machine:this}),this.root._initialize(),AF(this.root),this.states=this.root.states,this.events=this.root.events}provide(t){let{actions:n,guards:r,actors:i,delays:a}=this.implementations;return new e(this.config,{actions:{...n,...t.actions},guards:{...r,...t.guards},actors:{...i,...t.actors},delays:{...a,...t.delays}})}resolveState(e){let t=hI(this.root,e.value),n=bF(zF(this.root,t));return SI({_nodes:[...n],context:e.context||{},children:{},status:wF(n,this.root)?`done`:e.status||`active`,output:e.output,error:e.error,historyValue:e.historyValue},this)}transition(e,t,n){return dI(e,t,n,[]).snapshot}microstep(e,t,n){return dI(e,t,n,[]).microsteps.map(([e])=>e)}getTransitionData(e,t){return UF(this.root,e.value,e,t)||[]}_getPreInitialState(e,t,n){let{context:r}=this.config,i=SI({context:typeof r!=`function`&&r?r:{},_nodes:[this.root],children:{},status:`active`},this);return typeof r==`function`?uI(i,t,e,[MI(({spawn:e,event:t,self:n})=>r({spawn:e,input:t.input,self:n}))],n,void 0):i}getInitialSnapshot(e,t){let n=jP(t),r=[],i=this._getPreInitialState(e,n,r),[a]=$F(this.root,i,e,n,r),{snapshot:o}=dI(a,n,e,r);return o}start(e){Object.values(e.children).forEach(e=>{e.getSnapshot().status===`active`&&e.start()})}getStateNodeById(e){let t=FP(e),n=t.slice(1),r=TF(t[0])?t[0].slice(1):t[0],i=this.idMap.get(r);if(!i)throw Error(`Child state node '#${r}' does not exist on machine '${this.id}'`);return RF(i,n)}get definition(){return this.root.definition}toJSON(){return this.definition}getPersistedSnapshot(e,t){return TI(e,t)}restoreSnapshot(e,t){let n={},r=e.children;Object.keys(r).forEach(e=>{let i=r[e],a=i.snapshot,o=i.src,s=typeof o==`string`?JP(this,o):o;if(!s)return;let c=rF(s,{id:e,parent:t.self,syncSnapshot:i.syncSnapshot,snapshot:a,src:o,systemId:i.systemId});n[e]=c});function i(e,t){if(t instanceof LI)return t;try{return e.machine.getStateNodeById(t.id)}catch{}}function a(e,t){if(!t||typeof t!=`object`)return{};let n={};for(let r in t){let a=t[r];for(let t of a){let a=i(e,t);a&&(n[r]??=[],n[r].push(a))}}return n}let o=a(this.root,e.historyValue),s=SI({...e,children:n,_nodes:Array.from(bF(zF(this.root,e.value))),historyValue:o},this),c=new Set;function l(e,t){if(!c.has(e)){c.add(e);for(let n in e){let r=e[n];if(r&&typeof r==`object`){if(`xstate$$type`in r&&r.xstate$$type===1){e[n]=t[r.id];continue}l(r,t)}}}}return l(s.context,n),s}};function zI(e,t,n,r,{event:i}){return[t,{event:typeof i==`function`?i(n,r):i},void 0]}function BI(e,{event:t}){e.defer(()=>e.emit(t))}function VI(e){function t(e,t){}return t.type=`xstate.emit`,t.event=e,t.resolve=zI,t.execute=BI,t}var HI=function(e){return e.Parent=`#_parent`,e.Internal=`#_internal`,e}({});function UI(e,t,n,r,{to:i,event:a,id:o,delay:s},c){let l=t.machine.implementations.delays;if(typeof a==`string`)throw Error(`Only event objects may be used with sendTo; use sendTo({ type: "${a}" }) instead`);let u=typeof a==`function`?a(n,r):a,d;if(typeof s==`string`){let e=l&&l[s];d=typeof e==`function`?e(n,r):e}else d=typeof s==`function`?s(n,r):s;let f=typeof i==`function`?i(n,r):i,p;if(typeof f==`string`){if(p=f===HI.Parent?e.self._parent:f===HI.Internal?e.self:f.startsWith(`#_`)?t.children[f.slice(2)]:c.deferredActorIds?.includes(f)?f:t.children[f],!p)throw Error(`Unable to send event to actor '${f}' from machine '${t.machine.id}'.`)}else p=f||e.self;return[t,{to:p,targetId:typeof f==`string`?f:void 0,event:u,id:o,delay:d},void 0]}function WI(e,t,n){typeof n.to==`string`&&(n.to=t.children[n.to])}function GI(e,t){e.defer(()=>{let{to:n,event:r,delay:i,id:a}=t;if(typeof i==`number`){e.system.scheduler.schedule(e.self,n,r,i,a);return}e.system._relay(e.self,n,r.type===`xstate.error`?AP(e.self.id,r.data):r)})}function KI(e,t,n){function r(e,t){}return r.type=`xstate.sendTo`,r.to=e,r.event=t,r.id=n?.id,r.delay=n?.delay,r.resolve=UI,r.retryResolve=WI,r.execute=GI,r}function qI(e,t){return KI(HI.Parent,e,t)}function JI(e,t,n,r,{collect:i}){let a=[],o=function(e){a.push(e)};return o.assign=(...e)=>{a.push(MI(...e))},o.cancel=(...e)=>{a.push(oF(...e))},o.raise=(...e)=>{a.push(kI(...e))},o.sendTo=(...e)=>{a.push(KI(...e))},o.sendParent=(...e)=>{a.push(qI(...e))},o.spawnChild=(...e)=>{a.push(lF(...e))},o.stopChild=(...e)=>{a.push(pF(...e))},o.emit=(...e)=>{a.push(VI(...e))},i({context:n.context,event:n.event,enqueue:o,check:e=>gF(e,t.context,n.event,t),self:e.self,system:e.system},r),[t,void 0,a]}function YI(e){function t(e,t){}return t.type=`xstate.enqueueActions`,t.collect=e,t.resolve=JI,t}function XI(e,t,n,r,{value:i,label:a}){return[t,{value:typeof i==`function`?i(n,r):i,label:a},void 0]}function ZI({logger:e},{value:t,label:n}){n?e(n,t):e(t)}function QI(e=({context:e,event:t})=>({context:e,event:t}),t){function n(e,t){}return n.type=`xstate.log`,n.value=e,n.label=t,n.resolve=XI,n.execute=ZI,n}function $I(e,t){return new RI(e,t)}function eL(e){let t=rF(e),n=QP(t,{clock:t.system._clock,logger:t.system._logger});return t.system=n,{self:t,defer:()=>{},id:``,logger:()=>{},sessionId:``,stopChild:()=>{},system:n,emit:()=>{},actionExecutor:()=>{}}}function tL({schemas:e,actors:t,actions:n,guards:r,delays:i}){return{assign:MI,sendTo:KI,raise:kI,log:QI,cancel:oF,stopChild:pF,enqueueActions:YI,emit:VI,spawnChild:lF,createStateConfig:e=>e,createAction:e=>e,createMachine:a=>$I({...a,schemas:e},{actors:t,actions:n,guards:r,delays:i}),extend:a=>tL({schemas:e,actors:t,actions:{...n,...a.actions},guards:{...r,...a.guards},delays:{...i,...a.delays}})}}function nL(e,t,n){let r=[],i=eL(e);return i.actionExecutor=e=>{r.push(e)},[e.transition(t,n,i),r]}var rL=function(e){return e.AUTHENTICATE=`AUTHENTICATE`,e.REQUIRE_EMAIL_VERIFICATION=`REQUIRE_EMAIL_VERIFICATION`,e.REQUIRE_MFA=`REQUIRE_MFA`,e.COMPLETE_MFA=`COMPLETE_MFA`,e.REQUIRE_CONSENT=`REQUIRE_CONSENT`,e.COMPLETE_CONSENT=`COMPLETE_CONSENT`,e.START_HOOK=`START_HOOK`,e.COMPLETE_HOOK=`COMPLETE_HOOK`,e.START_CONTINUATION=`START_CONTINUATION`,e.COMPLETE_CONTINUATION=`COMPLETE_CONTINUATION`,e.COMPLETE=`COMPLETE`,e.FAIL=`FAIL`,e.EXPIRE=`EXPIRE`,e}({}),iL=tL({types:{context:{},events:{}},actions:{setUserId:MI(({event:e})=>e.type===`AUTHENTICATE`?{userId:e.userId}:{}),setHookId:MI(({event:e})=>e.type===`START_HOOK`?{hookId:e.hookId}:{}),clearHookId:MI({hookId:void 0}),setContinuationScope:MI(({event:e})=>e.type===`START_CONTINUATION`?{continuationScope:e.scope}:{}),clearContinuationScope:MI({continuationScope:void 0}),setFailureReason:MI(({event:e})=>e.type===`FAIL`?{failureReason:e.reason}:{})}}).createMachine({id:`loginSession`,initial:`pending`,context:{},states:{pending:{on:{AUTHENTICATE:{target:`authenticated`,actions:`setUserId`},FAIL:{target:`failed`,actions:`setFailureReason`},EXPIRE:{target:`expired`}}},authenticated:{on:{REQUIRE_EMAIL_VERIFICATION:{target:`awaiting_email_verification`},REQUIRE_MFA:{target:`awaiting_mfa`},REQUIRE_CONSENT:{target:`awaiting_consent`},START_HOOK:{target:`awaiting_hook`,actions:`setHookId`},START_CONTINUATION:{target:`awaiting_continuation`,actions:`setContinuationScope`},COMPLETE:{target:`completed`},FAIL:{target:`failed`,actions:`setFailureReason`},EXPIRE:{target:`expired`}}},awaiting_email_verification:{on:{COMPLETE:{target:`authenticated`},FAIL:{target:`failed`,actions:`setFailureReason`},EXPIRE:{target:`expired`}}},awaiting_mfa:{on:{COMPLETE_MFA:{target:`authenticated`},FAIL:{target:`failed`,actions:`setFailureReason`},EXPIRE:{target:`expired`}}},awaiting_consent:{on:{COMPLETE_CONSENT:{target:`authenticated`},FAIL:{target:`failed`,actions:`setFailureReason`},EXPIRE:{target:`expired`}}},awaiting_hook:{on:{COMPLETE_HOOK:{target:`authenticated`,actions:`clearHookId`},START_CONTINUATION:{target:`awaiting_continuation`,actions:`setContinuationScope`},FAIL:{target:`failed`,actions:`setFailureReason`},EXPIRE:{target:`expired`}}},awaiting_continuation:{on:{COMPLETE_CONTINUATION:{target:`authenticated`,actions:`clearContinuationScope`},FAIL:{target:`failed`,actions:`setFailureReason`},EXPIRE:{target:`expired`}}},completed:{type:`final`},failed:{type:`final`},expired:{type:`final`}}});function aL(e,t={}){return iL.resolveState({value:e,context:t})}function oL(e,t,n={}){let[r]=nL(iL,aL(e,n),t),i={},a=r.context,o=n;return a.userId!==o.userId&&(i.userId=a.userId),a.hookId!==o.hookId&&(i.hookId=a.hookId),a.continuationScope!==o.continuationScope&&(i.continuationScope=a.continuationScope),a.failureReason!==o.failureReason&&(i.failureReason=a.failureReason),{state:r.value,context:i}}function sL(e,t){Object.keys(t).forEach(n=>{let r=t[n];r!=null&&r.length&&e.searchParams.set(n,r)})}function cL(e){try{let t=typeof e==`string`?new URL(e):e,n=`${t.protocol}//${t.host}${t.pathname}`;if(t.search){let e=Array.from(t.searchParams.keys()).map(e=>`${e}=[REDACTED]`).join(`&`);n+=`?${e}`}return t.hash&&(n+=`#[REDACTED]`),n}catch{let t=(typeof e==`string`?e:e.toString()).match(/^([^?#]*)(\?[^#]*)?(#.*)?$/);if(!t)return`[invalid-url]`;let[,n=``,r,i]=t,a=n;if(r){let e=r.substring(1).split(`&`).map(e=>{let[t]=e.split(`=`);return`${t}=[REDACTED]`}).join(`&`);a+=`?${e}`}return i&&(a+=`#[REDACTED]`),a}}var lL=[`sub`,`iss`,`aud`,`exp`,`nbf`,`iat`,`jti`];function uL(e){switch(e){case yi.AuthorizationCode:return M.FAILED_EXCHANGE_AUTHORIZATION_CODE_FOR_ACCESS_TOKEN;case yi.ClientCredential:return M.FAILED_EXCHANGE_ACCESS_TOKEN_FOR_CLIENT_CREDENTIALS;case yi.RefreshToken:return M.FAILED_EXCHANGE_REFRESH_TOKEN_FOR_ACCESS_TOKEN;case yi.OTP:return M.FAILED_EXCHANGE_PASSWORD_OTP_FOR_ACCESS_TOKEN;case yi.Password:return M.FAILED_EXCHANGE_PASSWORD_FOR_ACCESS_TOKEN;case yi.Passwordless:return M.FAILED_EXCHANGE_PASSWORDLESS_OTP_FOR_ACCESS_TOKEN;case yi.TokenExchange:return M.FAILED_EXCHANGE_SUBJECT_TOKEN_FOR_ACCESS_TOKEN;default:return M.FAILED_EXCHANGE_CUSTOM_TOKEN}}function dL(e,t,n,r){return{accessToken:{setCustomClaim:(e,n)=>{if(lL.includes(e))throw Error(`Cannot overwrite reserved claim '${e}'`);t[e]=n}},idToken:{setCustomClaim:(e,t)=>{if(lL.includes(e))throw Error(`Cannot overwrite reserved claim '${e}'`);n&&(n[e]=t)}},access:{deny:(t,n)=>{let i=n?`${t} - ${n}`:t;throw P(e,e.var.tenant_id||``,{type:uL(r),description:`Access denied by credentials-exchange hook: ${i}`}),new B(400,{message:`Access denied: ${i}`})}},token:{createServiceToken:async t=>(await NL(e,e.var.tenant_id,t.scope,t.expiresInSeconds,t.customClaims)).access_token}}}async function fL(e,t){let{authParams:n,user:r,client:i,session_id:a,organization:o,permissions:s,impersonatingUser:c,actClient:l,grantType:u}=t,d=(()=>{if(c&&l)return{sub:c.user_id,client_id:l.client_id};if(c)return{sub:c.user_id};if(l)return{sub:l.client_id,client_id:l.client_id}})(),f=t.auth_time,p=n.prompt?.split(` `)??[],h=n.max_age!==void 0||p.includes(`login`)||n.claims?.id_token?.auth_time?.essential===!0;if(f===void 0&&h){if(t.loginSession?.authenticated_at)f=Math.floor(new Date(t.loginSession.authenticated_at).getTime()/1e3);else if(a&&e.var.tenant_id){let t=await e.env.data.sessions.get(e.var.tenant_id,a);t?.authenticated_at&&(f=Math.floor(new Date(t.authenticated_at).getTime()/1e3))}}let g=e.var.tenant_id,_=(await FM(e.env.data.keys,g??``,g?e.env.signingKeyMode:`control-plane`,{purpose:`sign`}))[0];if(!_?.pkcs7||!_.cert)throw new B(500,{message:`No signing key available`});let v=mN(_.pkcs7),y=await vN(_.cert),b=Fa(e.env,e.var.custom_domain),x=n.audience??i.tenant.default_audience??`${b}userinfo`,S=n.claims?.userinfo?Object.keys(n.claims.userinfo):void 0,C=t.customClaims?Object.fromEntries(Object.entries(t.customClaims).filter(([e])=>e!==`act`)):void 0,w={aud:x,scope:n.scope||``,sub:r?.user_id||n.client_id,iss:b,tenant_id:e.var.tenant_id,sid:a,act:d,org_id:o?o.id:void 0,requested_userinfo_claims:S,org_name:o&&i.tenant.allow_organization_name_in_authentication_api?o.name.toLowerCase():void 0,permissions:s,...C};if(t.customClaims){for(let e of lL)if(e in t.customClaims)throw Error(`Cannot overwrite reserved claim '${e}'`)}let T=n.scope?.split(` `)||[],E=T.includes(`openid`),ee=(n.response_type??``).trim()===on.ID_TOKEN,te=i.auth0_conformant!==!1||ee,ne=r&&E?{aud:n.client_id,sub:r.user_id,iss:b,sid:a,nonce:n.nonce,...f===void 0?{}:{auth_time:f},...n.acr_values?{acr:n.acr_values.split(` `)[0]}:{},...te?TP(yb(r,b),T):{},...n.claims?.id_token?EP(yb(r,b),Object.keys(n.claims.id_token)):{},...ee&&n.claims?.userinfo?EP(yb(r,b),Object.keys(n.claims.userinfo)):{},act:d,org_id:o?.id,org_name:o?.name.toLowerCase()}:void 0,re=Wa({loginSession:t.loginSession,authConnection:t.authConnection,ctxConnection:e.var.connection,user:r}),ie=await Ga(e,e.var.tenant_id,re,r);e.env.hooks?.onExecuteCredentialsExchange&&await e.env.hooks.onExecuteCredentialsExchange({ctx:e,client:i,user:r,request:{ip:e.var.ip||``,user_agent:e.var.useragent||``,method:e.req.method,url:e.req.url},scope:n.scope||``,grant_type:u??``,organization:o,connection:ie||(re?{id:re,name:re,strategy:r?.provider||`auth0`}:void 0)},dL(e,w,ne,u));{let{hooks:t}=await e.env.data.hooks.list(e.var.tenant_id),a=t.filter(e=>e.trigger_id===`credentials-exchange`&&e.enabled&&eP(e)),s=dL(e,w,ne,u);if(r){for(let t of a)if(eP(t))try{await Uae(e,t.template_id,r,s)}catch(e){if(e instanceof m)throw e;console.warn(`[credentials-exchange] Failed to execute template hook: ${t.template_id}`,e)}}let c=dL(e,w,ne,u),l=await Lae(e,t,{ctx:e,client:i,user:r,request:{ip:e.var.ip||``,user_agent:e.var.useragent||``,method:e.req?.method||``,url:e.req?.url||``},scope:n.scope||``,grant_type:u??``,organization:o,connection:ie||(re?{id:re,name:re,strategy:r?.provider||`auth0`}:void 0)},c);l&&e.set(`action_execution_id`,l)}let ae=c?3600:t.token_lifetime??86400,D={includeIssuedTimestamp:!0,expiresIn:new zv(ae,`s`),headers:{kid:_.kid}},oe=await Bv(y,v,w,D);if(ne){let e=(n.response_type??``).split(` `);t.code&&e.includes(`code`)&&(ne.c_hash=await yN(t.code,y)),e.includes(`id_token`)&&e.includes(`token`)&&(ne.at_hash=await yN(oe,y))}let se=ne?await Bv(y,v,ne,D):void 0;return{access_token:oe,refresh_token:t.refresh_token,id_token:se,token_type:`Bearer`,expires_in:ae}}async function pL(e,t){return{code:(await e.env.data.codes.create(t.client.tenant.id,{code_id:Mo(32),user_id:t.user.user_id,code_type:`authorization_code`,login_id:t.login_id,expires_at:new Date(Date.now()+300*1e3).toISOString(),code_challenge:t.authParams.code_challenge,code_challenge_method:t.authParams.code_challenge_method,redirect_uri:t.authParams.redirect_uri,state:t.authParams.state,nonce:t.authParams.nonce})).code_id,state:t.authParams.state}}function mL(e){if(e)return new Date(Date.now()+e*60*60*1e3).toISOString()}async function hL(e,t){let{client:n,scope:r,login_id:i}=t,a=Fa(e.env,e.var.custom_domain),o=t.audience??n.tenant.default_audience??`${a}userinfo`,s=mL(n.tenant.idle_session_lifetime),c=mL(n.tenant.session_lifetime),l=pN(),{lookup:u,secret:d}=aN(),f=await oN(d),p=n.refresh_token?.rotation_type===`rotating`;return{row:await e.env.data.refreshTokens.create(n.tenant.id,{id:l,login_id:i,client_id:n.client_id,idle_expires_at:s,expires_at:c,user_id:t.user.user_id,device:{last_ip:e.var.ip,initial_ip:e.var.ip,last_user_agent:e.var.useragent||``,initial_user_agent:e.var.useragent||``,initial_asn:``,last_asn:``},resource_servers:[{audience:o,scopes:r}],rotating:p,token_lookup:u,token_hash:f,family_id:l}),wireToken:sN(u,d)}}async function gL(e,{user:t,client:n,loginSession:r}){let i=mL(n.tenant.idle_session_lifetime),a=mL(n.tenant.session_lifetime);return await e.env.data.sessions.create(n.tenant.id,{id:pN(),user_id:t.user_id,login_session_id:r.id,idle_expires_at:i,expires_at:a,device:{last_ip:e.var.ip||``,initial_ip:e.var.ip||``,last_user_agent:e.var.useragent||``,initial_user_agent:e.var.useragent||``,initial_asn:``,last_asn:``},clients:[n.client_id]})}async function _L(e,{user:t,client:n,loginSession:r,existingSessionId:i,authConnection:a,authStrategy:o}){let s=await e.env.data.loginSessions.get(n.tenant.id,r.id);if(!s)throw new m(400,{message:`Login session ${r.id} not found`});let c=s.state||j.PENDING;if(c===j.FAILED)throw new B(400,{error:`access_denied`,error_description:s.failure_reason||`Cannot authenticate login session in failed state`});if(c===j.COMPLETED)throw new B(400,{error:`access_denied`,error_description:`Login session has already been completed`});if(c===j.AUTHENTICATED){if(s.session_id)return s.session_id;throw new m(500,{message:`Login session is authenticated but has no session_id`})}let l,u;if(i){let a=await e.env.data.sessions.get(n.tenant.id,i);if(!a||a.revoked_at){let i=await gL(e,{user:t,client:n,loginSession:r});l=i.id,u=i.authenticated_at}else l=i,u=a.authenticated_at,a.clients.includes(n.client_id)||await e.env.data.sessions.update(n.tenant.id,i,{clients:[...a.clients,n.client_id]})}else{let i=await gL(e,{user:t,client:n,loginSession:r});l=i.id,u=i.authenticated_at}let{state:d}=oL(c===j.EXPIRED?j.PENDING:c,{type:rL.AUTHENTICATE,userId:t.user_id}),f=Wa({authConnection:a,ctxConnection:e.var.connection});return await e.env.data.loginSessions.update(n.tenant.id,r.id,{session_id:l,state:d,user_id:t.user_id,authenticated_at:u,...f?{auth_connection:f}:{},...o?{auth_strategy:o}:{},...c===j.EXPIRED?{expires_at:new Date(Date.now()+JM*1e3).toISOString()}:{}}),l}async function vL(e,t){let{user:n,client:r,loginSession:i,authStrategy:a,authConnection:o}=t;await _L(e,{user:n,client:r,loginSession:i,existingSessionId:t.existingSessionId,authConnection:o,authStrategy:a});let s=`/authorize/resume?state=${encodeURIComponent(i.id)}`,c=s;if(i.authorization_url)try{let t=new URL(i.authorization_url),n=e.var.host||``;t.host&&t.host!==n&&(c=`${t.origin}${s}`)}catch{}return new Response(null,{status:302,headers:{location:c}})}async function yL(e,t,n,r){let i=await e.env.data.loginSessions.get(t,n.id);if(!i){console.warn(`Login session ${n.id} not found when trying to mark as failed`);return}let a=i.state||j.PENDING,{state:o,context:s}=oL(a,{type:rL.FAIL,reason:r});o!==a&&await e.env.data.loginSessions.update(t,n.id,{state:o,failure_reason:s.failureReason})}async function bL(e,t,n,r){let i=await e.env.data.loginSessions.get(t,n.id);if(!i){console.warn(`Login session ${n.id} not found when trying to start hook`);return}let a=i.state||j.PENDING,{state:o,context:s}=oL(a,{type:rL.START_HOOK,hookId:r});o!==a&&await e.env.data.loginSessions.update(t,n.id,{state:o,state_data:s.hookId?JSON.stringify({hookId:s.hookId}):void 0})}async function xL(e,t,n){let r=await e.env.data.loginSessions.get(t,n.id);if(!r){console.warn(`Login session ${n.id} not found when trying to complete hook`);return}let i=r.state||j.PENDING,{state:a}=oL(i,{type:rL.COMPLETE_HOOK});a!==i&&await e.env.data.loginSessions.update(t,n.id,{state:a,state_data:void 0})}async function SL(e,t,n,r,i){let a=i??await e.env.data.loginSessions.get(t,n.id);if(!a){console.warn(`Login session ${n.id} not found when trying to mark as completed`);return}let o=a.state||j.PENDING,{state:s}=oL(o,{type:rL.COMPLETE});s!==o&&await e.env.data.loginSessions.update(t,n.id,{state:s,...r?{auth_connection:r}:{}})}async function CL(e,t,n,r,i){let a=await e.env.data.loginSessions.get(t,n.id);if(!a){console.warn(`Login session ${n.id} not found when trying to start continuation`);return}let o=a.state||j.PENDING,{state:s}=oL(o,{type:rL.START_CONTINUATION,scope:r});if(s!==o){let o={};if(a.state_data)try{o=JSON.parse(a.state_data)}catch{}await e.env.data.loginSessions.update(t,n.id,{state:s,state_data:JSON.stringify({...o,continuationScope:r,continuationReturnUrl:i})})}else console.warn(`Failed to start continuation for login session ${n.id}: cannot transition from ${o} to AWAITING_CONTINUATION. Scope: ${JSON.stringify(r)}, Return URL: ${cL(i)}`)}async function wL(e,t,n){let r=await e.env.data.loginSessions.get(t,n.id);if(!r){console.warn(`Login session ${n.id} not found when trying to complete continuation`);return}let i,a={};if(r.state_data)try{let e=JSON.parse(r.state_data);i=e.continuationReturnUrl;let{continuationScope:t,continuationReturnUrl:n,...o}=e;a=o}catch{}let o=r.state||j.PENDING,{state:s}=oL(o,{type:rL.COMPLETE_CONTINUATION});return s===o?console.warn(`completeLoginSessionContinuation: State transition from ${o} with COMPLETE_CONTINUATION was invalid or no-op`):await e.env.data.loginSessions.update(t,n.id,{state:s,state_data:Object.keys(a).length>0?JSON.stringify(a):void 0}),i}function TL(e){if(!e.state_data)return null;try{return JSON.parse(e.state_data).continuationScope||null}catch{return null}}function EL(e,t){if(e.state!==j.AWAITING_CONTINUATION)return!1;let n=TL(e);return n?n.includes(t):!1}async function DL(e,t){let{authParams:n,client:r,ticketAuth:i}=t,{user:a}=t,o=n.response_type||on.CODE,s=n.response_mode||sn.QUERY;if(i){if(!t.loginSession)throw new B(500,{message:`Login session not found for ticket auth.`});a&&!t.skipHooks&&(t.authStrategy&&a.app_metadata?.strategy!==t.authStrategy.strategy&&(a.app_metadata={...a.app_metadata,strategy:t.authStrategy.strategy},await e.env.data.users.update(r.tenant.id,a.user_id,{app_metadata:{...a.app_metadata||{},strategy:t.authStrategy.strategy}})),await hP(e,e.env.data,r.tenant.id,a,t.loginSession,{client:r,authParams:n,authStrategy:t.authStrategy,authConnection:t.authConnection}));let i=rae(),o=Mo(12),s=await e.env.data.codes.create(r.tenant.id,{code_id:Mo(32),code_type:`ticket`,login_id:t.loginSession.id,expires_at:new Date(Date.now()+wie).toISOString(),code_verifier:[o,i].join(`|`),redirect_uri:n.redirect_uri,state:n.state,nonce:n.nonce});return e.json({login_ticket:s.code_id,co_verifier:i,co_id:o})}let c=t.refreshToken,l;if(!t.loginSession)throw new B(500,{message:`loginSession must be provided for front-channel auth responses.`});let u=await e.env.data.loginSessions.get(r.tenant.id,t.loginSession.id);if(!u)throw new B(500,{message:`Login session not found.`});let d=u.state||j.PENDING;if(d===j.COMPLETED)throw new B(400,{error:`invalid_request`,error_description:`Login session has already been completed`});if(d===j.FAILED)throw new B(400,{error:`access_denied`,error_description:`Login session failed: ${u.failure_reason||`unknown reason`}`});if(d===j.PENDING||d===j.EXPIRED){l=await _L(e,{user:a,client:r,loginSession:t.loginSession,existingSessionId:t.existingSessionIdToLink,authConnection:t.authConnection,authStrategy:t.authStrategy});let n=await e.env.data.loginSessions.get(r.tenant.id,t.loginSession.id);n&&(u=n)}else if(l=u.session_id,!l)throw new B(500,{message:`Login session in ${d} state but has no session_id`});if(t.loginSession&&a){let n=u.state||j.PENDING,i={};if(u.state_data)try{i=JSON.parse(u.state_data)}catch{console.error(`Failed to parse state_data for login session`,u.id)}if(n===j.AWAITING_MFA){let n=`/u2/mfa/login-options`;if(i.authenticationMethodId){let t=(await e.env.data.authenticationMethods.list(r.tenant.id,a.user_id)).find(e=>e.id===i.authenticationMethodId);t?.confirmed&&t.type===`phone`?n=`/u2/mfa/phone-challenge`:t?.confirmed&&t.type===`totp`?n=`/u2/mfa/totp-challenge`:t?.confirmed&&(t.type===`passkey`||t.type===`webauthn-roaming`||t.type===`webauthn-platform`)?n=`/u2/passkey/challenge`:t?.type===`totp`?n=`/u2/mfa/totp-enrollment`:t?.type===`phone`&&(n=`/u2/mfa/phone-enrollment`)}return new Response(null,{status:302,headers:{location:`${n}?state=${encodeURIComponent(t.loginSession.id)}`}})}if(n===j.AUTHENTICATED&&!i.mfa_verified){let{checkMfaRequired:n,sendMfaOtp:o}=await Promise.resolve().then(()=>W5),s=await n(e,r.tenant.id,a.user_id);if(s.required){let{state:n}=oL(j.AUTHENTICATED,{type:rL.REQUIRE_MFA});if(s.enrolled){if(s.allEnrollments.length>1)return await e.env.data.loginSessions.update(r.tenant.id,t.loginSession.id,{state:n}),new Response(null,{status:302,headers:{location:`/u2/mfa/login-options?state=${encodeURIComponent(t.loginSession.id)}`}});if(await e.env.data.loginSessions.update(r.tenant.id,t.loginSession.id,{state:n,state_data:JSON.stringify({...i,authenticationMethodId:s.enrollment.id})}),s.enrollment.type===`totp`)return new Response(null,{status:302,headers:{location:`/u2/mfa/totp-challenge?state=${encodeURIComponent(t.loginSession.id)}`}});if(s.enrollment.type===`passkey`||s.enrollment.type===`webauthn-roaming`||s.enrollment.type===`webauthn-platform`)return new Response(null,{status:302,headers:{location:`/u2/passkey/challenge?state=${encodeURIComponent(t.loginSession.id)}`}});if(!s.enrollment.phone_number)throw Error(`MFA enrollment is missing phone_number`);return await o(e,r,t.loginSession,s.enrollment.phone_number),new Response(null,{status:302,headers:{location:`/u2/mfa/phone-challenge?state=${encodeURIComponent(t.loginSession.id)}`}})}else{let i=r.tenant,a=i.mfa?.factors?.otp===!0,o=i.mfa?.factors?.sms===!0,s=i.mfa?.factors?.webauthn_roaming===!0||i.mfa?.factors?.webauthn_platform===!0;return await e.env.data.loginSessions.update(r.tenant.id,t.loginSession.id,{state:n}),+!!a+ +!!o+ +!!s>1?new Response(null,{status:302,headers:{location:`/u2/mfa/login-options?state=${encodeURIComponent(t.loginSession.id)}`}}):a?new Response(null,{status:302,headers:{location:`/u2/mfa/totp-enrollment?state=${encodeURIComponent(t.loginSession.id)}`}}):s?new Response(null,{status:302,headers:{location:`/u2/passkey/enrollment?state=${encodeURIComponent(t.loginSession.id)}`}}):new Response(null,{status:302,headers:{location:`/u2/mfa/phone-enrollment?state=${encodeURIComponent(t.loginSession.id)}`}})}}}if(l&&CP(u.state_data)){let n=new Headers;return EN(r.tenant.id,l,e.var.host||``).forEach(e=>n.append(`set-cookie`,e)),n.set(`location`,`/u2/connect/start?state=${encodeURIComponent(t.loginSession.id)}`),new Response(null,{status:302,headers:n})}}if(t.loginSession&&a&&!r.is_first_party&&s!==sn.WEB_MESSAGE){let n=u.state||j.PENDING;if(n===j.AWAITING_CONSENT)return new Response(null,{status:302,headers:{location:`/u2/consent?state=${encodeURIComponent(t.loginSession.id)}`}});if(n===j.AUTHENTICATED){let n=u.authParams.scope?.split(` `).filter(Boolean)??[];if((await SP(e,{tenantId:r.tenant.id,userId:a.user_id,clientId:r.client_id,requestedScopes:n})).length>0){let{state:n}=oL(j.AUTHENTICATED,{type:rL.REQUIRE_CONSENT});return await e.env.data.loginSessions.update(r.tenant.id,t.loginSession.id,{state:n}),new Response(null,{status:302,headers:{location:`/u2/consent?state=${encodeURIComponent(t.loginSession.id)}`}})}}}if(t.loginSession&&a&&s!==sn.WEB_MESSAGE){let n=u.state||j.PENDING,i={};if(u.state_data)try{i=JSON.parse(u.state_data)}catch{}if(n===j.AUTHENTICATED&&!i.passkey_nudge_completed){let{checkPasskeyNudgeRequired:n}=await Promise.resolve().then(()=>require("./passkey-enrollment-CB7HjMH_.js"));if((await n(e,r.tenant.id,a.user_id,u.auth_connection)).show)return await CL(e,r.tenant.id,u,[`passkey-enrollment`],`/u/continue?state=${encodeURIComponent(t.loginSession.id)}`),new Response(null,{status:302,headers:{location:`/u2/passkey/enrollment-nudge?state=${encodeURIComponent(t.loginSession.id)}`}})}}let f=o.split(` `).includes(`code`);if(!c&&n.scope?.split(` `).includes(`offline_access`)&&o!==on.TOKEN&&!f&&!t.impersonatingUser&&(c=(await hL(e,{user:a,client:r,login_id:t.loginSession?.id||``,scope:n.scope,audience:n.audience})).wireToken),s===sn.SAML_POST){if(!l)throw new m(500,{message:`Session ID not available for SAML response`});return Dae(e,t.client,t.authParams,a,l)}let p=await OL(e,{authParams:n,user:a,client:r,session_id:l,refresh_token:c,authStrategy:t.authStrategy,authConnection:t.authConnection,loginSession:u,loginSessionIsCurrent:!0,responseType:o,skipHooks:t.skipHooks,organization:t.organization,impersonatingUser:t.impersonatingUser});if(p instanceof Response)return p;if(!n.redirect_uri)throw new B(400,{message:s===sn.WEB_MESSAGE?`Redirect URI not allowed for WEB_MESSAGE response mode.`:`Redirect uri not found for this response mode.`});let h=new Headers;l?EN(r.tenant.id,l,e.var.host||``).forEach(e=>{h.append(`set-cookie`,e)}):s===sn.WEB_MESSAGE&&console.warn(`Session ID not available for WEB_MESSAGE, cookie will not be set.`);let g=o.split(` `),_=g.includes(`code`),v=g.includes(`id_token`),y=g.includes(`token`),b={},x=`code`in p&&typeof p.code==`string`,S=`access_token`in p&&typeof p.access_token==`string`;if(x&&_&&(b.code=p.code),S&&(y&&(b.access_token=p.access_token,b.token_type=p.token_type,b.expires_in=p.expires_in.toString()),v&&p.id_token&&(b.id_token=p.id_token)),!x&&!S)throw new B(500,{message:`Invalid token response for front-channel flow.`});let C=(`state`in p&&typeof p.state==`string`?p.state:void 0)??n.state;if(C&&(b.state=C),(y||v)&&n.scope&&(b.scope=n.scope),s===sn.WEB_MESSAGE){let t=new URL(n.redirect_uri);return gP(e,`${t.protocol}//${t.host}`,JSON.stringify(b),h)}if(s===sn.FORM_POST)return vP(n.redirect_uri,b,h);let w=v||y,T=new URL(n.redirect_uri);if(w)T.hash=new URLSearchParams(b).toString();else for(let[e,t]of Object.entries(b))T.searchParams.set(e,t);return h.set(`location`,T.toString()),new Response(`Redirecting`,{status:302,headers:h})}async function OL(e,t){let{user:n}=t,r=t.responseType||on.TOKEN;if(n&&t.organization&&!(await e.env.data.userOrganizations.list(t.client.tenant.id,{q:`user_id:${n.user_id}`,per_page:1e3})).userOrganizations.some(e=>e.organization_id===t.organization.id))throw new B(403,{error:`access_denied`,error_description:`User is not a member of the specified organization`});let i=t.authParams.scope||``,a=[],o,s=Fa(e.env,e.var.custom_domain),c=t.authParams.audience??t.client.tenant.default_audience??`${s}userinfo`;if(c)try{let r;if(t.grantType===yi.ClientCredential||!n&&!t.user)r=await bP(e,{grantType:yi.ClientCredential,tenantId:t.client.tenant.id,clientId:t.client.client_id,audience:c,requestedScopes:t.authParams.scope?.split(` `)||[],organizationId:t.organization?.id});else{let i=n?.user_id||t.user?.user_id;if(!i)throw new B(400,{error:`invalid_request`,error_description:`User ID is required for user-based grants`});r=await bP(e,{grantType:t.grantType,tenantId:t.client.tenant.id,userId:i,clientId:t.client.client_id,audience:c,requestedScopes:t.authParams.scope?.split(` `)||[],organizationId:t.organization?.id})}i=r.scopes.join(` `),a=r.permissions,o=t.client.app_type===`spa`&&r.token_lifetime_for_web?r.token_lifetime_for_web:r.token_lifetime}catch(e){if(e instanceof m)throw e}let l={...t.authParams,scope:i};if(t.loginSession&&n&&!t.skipHooks){t.authStrategy&&n.app_metadata?.strategy!==t.authStrategy.strategy&&(n.app_metadata={...n.app_metadata,strategy:t.authStrategy.strategy},await e.env.data.users.update(t.client.tenant.id,n.user_id,{app_metadata:{...n.app_metadata||{},strategy:t.authStrategy.strategy}}));let r=await hP(e,e.env.data,t.client.tenant.id,n,t.loginSession,{client:t.client,authParams:l,authStrategy:t.authStrategy,authConnection:t.authConnection});if(r instanceof Response)return r;n=r}let u=Wa({loginSession:t.loginSession,authConnection:t.authConnection,ctxConnection:e.var.connection}),d=r.split(` `),f=d.includes(`code`),p=d.includes(`id_token`)||d.includes(`token`),h=f&&p;if(r===on.CODE){if(!n||!t.loginSession)throw new B(500,{message:`User and loginSession is required for code flow`});let r=await pL(e,{user:n,client:t.client,authParams:l,login_id:t.loginSession.id});return await SL(e,t.client.tenant.id,t.loginSession,u,t.loginSessionIsCurrent?t.loginSession:void 0),r}else if(h){if(!n||!t.loginSession)throw new B(500,{message:`User and loginSession is required for hybrid flow`});let r=await pL(e,{user:n,client:t.client,authParams:l,login_id:t.loginSession.id}),i=await fL(e,{...t,user:n,authParams:l,permissions:a,token_lifetime:o,code:r.code});return await SL(e,t.client.tenant.id,t.loginSession,u,t.loginSessionIsCurrent?t.loginSession:void 0),{...i,code:r.code,state:r.state}}else{let r=await fL(e,{...t,user:n,authParams:l,permissions:a,token_lifetime:o});return t.loginSession&&await SL(e,t.client.tenant.id,t.loginSession,u,t.loginSessionIsCurrent?t.loginSession:void 0),r}}var kL=`auth-service`,AL=3600,jL=[`sub`,`iss`,`aud`,`exp`,`nbf`,`iat`,`jti`,`scope`,`azp`,`tenant_id`];async function ML(e){let{tenants:t,keys:n,tenantId:r,scope:i,issuer:a}=e,o=await t.get(r);if(!o)throw Error(`Tenant not found: ${r}`);let s=o.audience;if(!s)throw Error(`Cannot mint service token: tenant "${r}" has no default audience`);if(e.customClaims){for(let t of jL)if(t in e.customClaims)throw Error(`Cannot overwrite reserved claim '${t}'`)}let c=(await FM(n,r,e.signingKeyMode,{purpose:`sign`}))[0];if(!c?.pkcs7||!c.cert)throw Error(`No signing key available`);let l=mN(c.pkcs7),u=await vN(c.cert),d=e.expiresInSeconds??AL;return{access_token:await Bv(u,l,{aud:s,scope:i,sub:kL,azp:kL,iss:a,tenant_id:r,...e.customClaims},{includeIssuedTimestamp:!0,expiresIn:new zv(d,`s`),headers:{kid:c.kid}}),token_type:`Bearer`,expires_in:d}}async function NL(e,t,n,r,i){let a=await e.env.data.tenants.get(t);if(!a)throw Error(`Tenant not found: ${t}`);let o=await fL(e,{client:{client_id:kL,tenant:a,auth0_conformant:!0},authParams:{client_id:kL,response_type:on.TOKEN,scope:n,audience:a.audience},customClaims:i});return{access_token:o.access_token,token_type:o.token_type,expires_in:r||AL}}function PL(e){return async(t,n=`webhook`)=>(await ML({tenants:e.tenants,keys:e.keys,tenantId:t,scope:n,issuer:e.issuer,signingKeyMode:e.signingKeyMode})).access_token}async function FL(e,t){let n=e.env.data.multiTenancyConfig;return n?.resolveControlPlane?(await n.resolveControlPlane({tenant_id:t}))?.tenantId:n?.controlPlaneTenantId}async function IL(e,t,n,r){let{clientId:i,scope:a}=n;if(!await e.env.data.tenants.get(t))throw Error(`Tenant not found: ${t}`);let o=t,s=await e.env.data.clients.get(t,i);if(!s&&r?.allowControlPlaneFallback){let n=await FL(e,t);if(n&&n!==t){let t=await e.env.data.clients.get(n,i);t&&(s=t,o=n)}}if(!s)throw Error(`Client not found: ${i}`);let c=(await e.env.data.clientGrants.list(o,{q:`client_id:"${i}"`})).client_grants;if(c.length===0)throw Error(`Client has no client_grant: ${i}`);let l,u;if(n.audience){if(u=c.find(e=>e.audience===n.audience),!u)throw Error(`Client ${i} has no client_grant for audience: ${n.audience}`);l=n.audience}else if(c.length===1)u=c[0],l=u.audience;else throw Error(`audience is required: client ${i} has multiple client_grants`);let d=u.scope||[],f=a.split(/\s+/).filter(Boolean),p=f.filter(e=>!d.includes(e));if(p.length>0)throw Error(`access_denied: Client is not authorized for scope(s): ${p.join(`, `)}`);if(n.customClaims){for(let e of jL)if(e in n.customClaims)throw Error(`Cannot overwrite reserved claim '${e}'`)}let m=(await FM(e.env.data.keys,o,e.env.signingKeyMode,{purpose:`sign`}))[0];if(!m?.pkcs7||!m.cert)throw Error(`No signing key available`);let h=mN(m.pkcs7),g=await vN(m.cert),_=n.expiresInSeconds??AL;return{access_token:await Bv(g,h,{...n.customClaims,aud:l,scope:f.join(` `),sub:i,azp:i,iss:Fa(e.env),tenant_id:o,gty:`client_credentials`},{includeIssuedTimestamp:!0,expiresIn:new zv(_,`s`),headers:{kid:m.kid}}),token_type:`Bearer`,expires_in:_}}function LL(e){let t=new Set,n=e;for(;n&&n!==Object.prototype;){for(let e of Object.getOwnPropertyNames(n))e!==`constructor`&&t.add(e);n=Object.getPrototypeOf(n)}return Array.from(t)}function RL(e){let t=Reflect.get(e,`webSocket`);return e.status===101||t!=null}function zL(e){return RL(e)?e:new Response(e.body,e)}function BL(e){e.res=zL(e.res)}function VL(e,t,n){let r=e.get(`serverTiming`);r?r.push({name:t,dur:n}):e.set(`serverTiming`,[{name:t,dur:n}])}function HL(e,t){return e?t.split(`,`).map(e=>e.trim()).filter(Boolean).includes(e):!1}var UL=async(e,t)=>{await t();let n=e.env.SERVER_TIMING??`off`;if(n===`off`)return;let r=e.get(`serverTiming`);if(!r||r.length===0)return;let i=r.map(e=>`${e.name};dur=${e.dur.toFixed(2)}`).join(`, `);if((n===`log`||n===`both`)&&console.log(JSON.stringify({msg:`server-timing`,method:e.req.method,path:e.req.path,ip:e.get(`ip`),tenant_id:e.get(`tenant_id`),timing:i})),n===`client`||n===`both`){if(e.res.status===101||`webSocket`in e.res)return;let t=e.env.SERVER_TIMING_IPS;if(!t||HL(e.get(`ip`),t)){BL(e);let t=e.res.headers.get(`Server-Timing`);e.res.headers.set(`Server-Timing`,t?`${t}, ${i}`:i)}}};function WL(e){if(!e)return`unknown`;let t=e.indexOf(`:`);return t===-1?e:e.slice(0,t)}function GL(e,t){let n=async(t,n)=>{let r=performance.now();try{return await n()}finally{VL(e,t,performance.now()-r)}};return{get(e){return n(`cache-get:${WL(e)}`,()=>t.get(e))},set(e,r,i){return n(`cache-set:${WL(e)}`,()=>t.set(e,r,i))},delete(e){return n(`cache-delete:${WL(e)}`,()=>t.delete(e))},deleteByPrefix(e){return n(`cache-deleteByPrefix:${WL(e)}`,()=>t.deleteByPrefix(e))},clear(){return n(`cache-clear`,()=>t.clear())}}}function KL(e,t){let n={};for(let[r,i]of Object.entries(t)){if(i==null)continue;if(typeof i==`function`){n[r]=i;continue}let t={};for(let n of LL(i)){let a=i[n];if(typeof a==`function`){let o=a.bind(i);t[n]=async(...t)=>{let i=performance.now();try{let a=await o(...t);return VL(e,`${r}-${n}`,performance.now()-i),a}catch(t){throw VL(e,`${r}-${n}-error`,performance.now()-i),t}}}else t[n]=a}n[r]=t}return n}async function qL(e,t,n){n?.user&&(n={...n,user:VN(n.user)});let r=e.env.webhookInvoker,i=async(t=`webhook`)=>(await NL(e,n.tenant_id,t)).access_token,a,o;try{let s=performance.now(),c=r?await r({hook:t,data:n,tenant_id:n.tenant_id,createServiceToken:i}):await fetch(t.url,{method:`POST`,headers:{Authorization:`Bearer ${await i()}`,"Content-Type":`application/json`},body:JSON.stringify(n)}),l=performance.now()-s;if(VL(e,`webhook-${t.hook_id}`,l),o=c.status,c.ok)await P(e,n.tenant_id,{type:M.SUCCESS_HOOK,description:`Invoked hook ${t.hook_id} - ${c.status}`,userId:n.user?.user_id,details:{trigger_id:n.trigger_id,hook_id:t.hook_id,hook_url:t.url,user_id:n.user?.user_id,user_name:n.user?.name||n.user?.email,connection:n.user?.connection,duration_ms:Math.round(l),response:{statusCode:o}},connection:n.user?.connection});else{try{a=await c.text()}catch{}let r=`Failed to invoke hook ${t.hook_id} - ${c.status} ${c.statusText}`;console.error(r,{hook_url:t.url,body:a?.substring(0,512)}),await P(e,n.tenant_id,{type:M.FAILED_HOOK,description:r,userId:n.user?.user_id,details:{trigger_id:n.trigger_id,hook_id:t.hook_id,hook_url:t.url,user_id:n.user?.user_id,user_name:n.user?.name||n.user?.email,connection:n.user?.connection,response:{statusCode:o,body:a?.substring(0,512)}},connection:n.user?.connection,waitForCompletion:!0})}return{ok:c.ok,status:o,body:a}}catch(r){let i=`Failed to invoke hook ${t.hook_id} - ${r instanceof Error?r.message:`Unknown error`}`;return console.error(i,r),await P(e,n.tenant_id,{type:M.FAILED_HOOK,description:i,userId:n.user?.user_id,details:{trigger_id:n.trigger_id,hook_id:t.hook_id,hook_url:t.url,user_id:n.user?.user_id,user_name:n.user?.name||n.user?.email,connection:n.user?.connection,error:r instanceof Error?r.message:String(r)},connection:n.user?.connection,waitForCompletion:!0}),{ok:!1,error:r instanceof Error?r.message:String(r)}}}async function JL(e,t,n){for(let r of t.filter(e=>`url`in e))await qL(e,r,n)}function YL(e){return async(t,n)=>{let{hooks:r}=await e.env.data.hooks.list(t);await JL(e,r.filter(e=>e.trigger_id===`pre-user-registration`),{tenant_id:t,email:n,trigger_id:`pre-user-registration`})}}async function XL(e,t){let{hooks:n}=await e.env.data.hooks.list(t);return n.find(e=>e.trigger_id===`validate-registration-username`&&`url`in e&&e.enabled)||null}function ZL(e){return async(t,n)=>{let{hooks:r}=await e.env.data.hooks.list(t);return await JL(e,r.filter(e=>e.trigger_id===`pre-user-deletion`),{tenant_id:t,user:n,trigger_id:`pre-user-deletion`}),n}}var QL=St.extend({hooks:f.z.array(yr)}),$L=F({route:(0,f.createRoute)({tags:[`hooks`],method:`get`,path:`/`,request:{query:ro,headers:f.z.object({"tenant-id":f.z.string().optional()})},security:[{Bearer:[`read:hooks`]}],responses:{200:{content:{"application/json":{schema:f.z.union([f.z.array(yr),QL])}},description:`List of hooks`}}}),handler:async e=>{let{page:t,per_page:n,include_totals:r,sort:i,q:a}=e.req.valid(`query`),o=await e.env.data.hooks.list(e.var.tenant_id,{page:t,per_page:n,include_totals:r,sort:io(i),q:a});return r?e.json(o):e.json(o.hooks)}}),eR=F({route:(0,f.createRoute)({tags:[`hooks`],method:`post`,path:`/`,request:{headers:f.z.object({"tenant-id":f.z.string().optional()}),body:{content:{"application/json":{schema:mr}}}},security:[{Bearer:[`create:hooks`]}],responses:{201:{content:{"application/json":{schema:yr}},description:`The created hook`}}}),handler:async e=>{let t=e.req.valid(`json`),n={...t,hook_id:t.hook_id||Ro()},r=await e.env.data.hooks.create(e.var.tenant_id,n);return await P(e,e.var.tenant_id,{type:M.SUCCESS_API_OPERATION,description:`Create a Hook`,targetType:`hook`,targetId:r.hook_id,afterState:r}),e.json(r,{status:201})}}),tR=F({route:(0,f.createRoute)({tags:[`hooks`],method:`patch`,path:`/{hook_id}`,request:{headers:f.z.object({"tenant-id":f.z.string().optional()}),params:f.z.object({hook_id:f.z.string()}),body:{content:{"application/json":{schema:f.z.union(mr.options.map(e=>e.omit({hook_id:!0}).partial()))}}}},security:[{Bearer:[`update:hooks`]}],responses:{200:{content:{"application/json":{schema:yr}},description:`The updated hook`},404:{description:`Hook not found`}}}),handler:async e=>{let{hook_id:t}=e.req.valid(`param`),n=e.req.valid(`json`);await e.env.data.hooks.update(e.var.tenant_id,t,n);let r=await e.env.data.hooks.get(e.var.tenant_id,t);if(!r)throw new m(404,{message:`Hook not found`});return await P(e,e.var.tenant_id,{type:M.SUCCESS_API_OPERATION,description:`Update a Hook`,targetType:`hook`,targetId:t,afterState:r}),e.json(r)}}),nR=F({route:(0,f.createRoute)({tags:[`hooks`],method:`get`,path:`/{hook_id}`,request:{headers:f.z.object({"tenant-id":f.z.string().optional()}),params:f.z.object({hook_id:f.z.string()})},security:[{Bearer:[`read:hooks`]}],responses:{200:{content:{"application/json":{schema:yr}},description:`A hook`},404:{description:`Hook not found`}}}),handler:async e=>{let{hook_id:t}=e.req.valid(`param`),n=await e.env.data.hooks.get(e.var.tenant_id,t);if(!n)throw new m(404,{message:`Hook not found`});return e.json(n)}}),rR=F({route:(0,f.createRoute)({tags:[`hooks`],method:`delete`,path:`/{hook_id}`,request:{headers:f.z.object({"tenant-id":f.z.string().optional()}),params:f.z.object({hook_id:f.z.string()})},security:[{Bearer:[`delete:hooks`]}],responses:{200:{description:`A hook`}}}),handler:async e=>{let{hook_id:t}=e.req.valid(`param`);if(!await e.env.data.hooks.remove(e.var.tenant_id,t))throw new m(404,{message:`Hook not found`});return await P(e,e.var.tenant_id,{type:M.SUCCESS_API_OPERATION,description:`Delete a Hook`,targetType:`hook`,targetId:t}),e.text(`OK`)}}),iR=F({route:(0,f.createRoute)({tags:[`hooks`],method:`post`,path:`/{hook_id}/try`,request:{headers:f.z.object({"tenant-id":f.z.string().optional()}),params:f.z.object({hook_id:f.z.string()}),body:{content:{"application/json":{schema:f.z.object({user_id:f.z.string()})}}}},security:[{Bearer:[`update:hooks`]}],responses:{200:{content:{"application/json":{schema:f.z.object({ok:f.z.boolean(),status:f.z.number().optional(),body:f.z.string().optional(),error:f.z.string().optional()})}},description:`Invokes the webhook with the given user and returns the upstream response. authhero extension; not available in Auth0.`},400:{description:`Hook is not a web hook`},404:{description:`Hook or user not found`}}}),handler:async e=>{let{hook_id:t}=e.req.valid(`param`),{user_id:n}=e.req.valid(`json`),r=await e.env.data.hooks.get(e.var.tenant_id,t);if(!r)throw new m(404,{message:`Hook not found`});if(!(`url`in r))throw new m(400,{message:`Only web hooks can be tried`});let i=await e.env.data.users.get(e.var.tenant_id,n);if(!i)throw new m(404,{message:`User not found`});let a=await qL(e,r,{tenant_id:e.var.tenant_id,user:i,trigger_id:r.trigger_id});return await P(e,e.var.tenant_id,{type:M.SUCCESS_API_OPERATION,description:`Try a Hook (${t})`,targetType:`hook`,targetId:t}),e.json(a)}}),aR=new f.OpenAPIHono().openapiRoutes([$L,eR,tR,nR,rR,iR]),oR=xr.extend({deploymentStatus:f.z.enum([`deployed`,`failed`,`not_required`]),deploymentError:f.z.string().optional()}),sR=F({route:(0,f.createRoute)({tags:[`hook-code`],method:`post`,path:`/`,request:{headers:f.z.object({"tenant-id":f.z.string().optional()}),body:{content:{"application/json":{schema:br}}}},security:[{Bearer:[`create:hooks`]}],responses:{201:{content:{"application/json":{schema:oR}},description:`The created hook code`}}}),handler:async e=>{let t=e.req.valid(`json`),n=await e.env.data.hookCode.create(e.var.tenant_id,t),r=`not_required`,i;if(e.env.codeExecutor?.deploy)try{await e.env.codeExecutor.deploy(n.id,t.code),r=`deployed`}catch(t){r=`failed`,i=t instanceof Error?t.message:String(t),await P(e,e.var.tenant_id,{type:M.FAILED_HOOK,description:`Failed to deploy hook code ${n.id}: ${i}`})}return await P(e,e.var.tenant_id,{type:M.SUCCESS_API_OPERATION,description:`Create hook code`,targetType:`hook_code`,targetId:n.id}),e.json({...n,deploymentStatus:r,deploymentError:i},{status:201})}}),cR=F({route:(0,f.createRoute)({tags:[`hook-code`],method:`get`,path:`/{id}`,request:{headers:f.z.object({"tenant-id":f.z.string().optional()}),params:f.z.object({id:f.z.string()})},security:[{Bearer:[`read:hooks`]}],responses:{200:{content:{"application/json":{schema:xr}},description:`The hook code`},404:{description:`Hook code not found`}}}),handler:async e=>{let{id:t}=e.req.valid(`param`),n=await e.env.data.hookCode.get(e.var.tenant_id,t);if(!n)throw new m(404,{message:`Hook code not found`});return e.json(n)}}),lR=F({route:(0,f.createRoute)({tags:[`hook-code`],method:`put`,path:`/{id}`,request:{headers:f.z.object({"tenant-id":f.z.string().optional()}),params:f.z.object({id:f.z.string()}),body:{content:{"application/json":{schema:br}}}},security:[{Bearer:[`update:hooks`]}],responses:{200:{content:{"application/json":{schema:oR}},description:`The updated hook code`},404:{description:`Hook code not found`}}}),handler:async e=>{let{id:t}=e.req.valid(`param`),n=e.req.valid(`json`);if(!await e.env.data.hookCode.update(e.var.tenant_id,t,n))throw new m(404,{message:`Hook code not found`});let r=await e.env.data.hookCode.get(e.var.tenant_id,t);if(!r)throw new m(404,{message:`Hook code not found`});let i=`not_required`,a;if(n.code!==void 0&&e.env.codeExecutor?.deploy)try{await e.env.codeExecutor.deploy(t,n.code),i=`deployed`}catch(n){i=`failed`,a=n instanceof Error?n.message:String(n),await P(e,e.var.tenant_id,{type:M.FAILED_HOOK,description:`Failed to deploy hook code ${t}: ${a}`})}return await P(e,e.var.tenant_id,{type:M.SUCCESS_API_OPERATION,description:`Update hook code`,targetType:`hook_code`,targetId:t}),e.json({...r,deploymentStatus:i,deploymentError:a})}}),uR=F({route:(0,f.createRoute)({tags:[`hook-code`],method:`delete`,path:`/{id}`,request:{headers:f.z.object({"tenant-id":f.z.string().optional()}),params:f.z.object({id:f.z.string()})},security:[{Bearer:[`delete:hooks`]}],responses:{200:{description:`Hook code deleted`}}}),handler:async e=>{let{id:t}=e.req.valid(`param`);if(!await e.env.data.hookCode.remove(e.var.tenant_id,t))throw new m(404,{message:`Hook code not found`});if(e.env.codeExecutor?.remove)try{await e.env.codeExecutor.remove(t)}catch(n){await P(e,e.var.tenant_id,{type:M.FAILED_HOOK,description:`Failed to remove hook worker ${t}: ${n instanceof Error?n.message:String(n)}`})}return await P(e,e.var.tenant_id,{type:M.SUCCESS_API_OPERATION,description:`Delete hook code`,targetType:`hook_code`,targetId:t}),e.text(`OK`)}}),dR=new f.OpenAPIHono().openapiRoutes([sR,cR,lR,uR]);f.z.object({start:f.z.number(),limit:f.z.number(),length:f.z.number()}),Et.extend({email:f.z.string(),login_count:f.z.number(),multifactor:f.z.array(f.z.string()).optional(),last_ip:f.z.string().optional(),last_login:f.z.string().optional(),user_id:f.z.string()}).catchall(f.z.any());function fR(){return`u2/try-connection-result`}function pR(e,t){return`${Fa(e,t)}${fR()}`}async function mR(e,t){let n=Eie(t);if(await e.data.clients.get(t,n))return n;let r=pR(e);try{await e.data.clients.create(t,{client_id:n,name:`AuthHero Try Connection`,callbacks:[r],allowed_logout_urls:[],web_origins:[],connections:[],client_metadata:{system_purpose:`try_connection`}})}catch(r){if(!await e.data.clients.get(t,n))throw r}return n}async function hR(e,t){let n=(await e.data.customDomains.list(t)).filter(e=>e.status===`ready`);return(n.find(e=>e.primary)??n[0])?.domain}var gR=class extends m{_code;constructor(e,t){super(e,t),this._code=t?.code}get code(){return this._code}},_R={version:4,country_calling_codes:{1:[`US`,`AG`,`AI`,`AS`,`BB`,`BM`,`BS`,`CA`,`DM`,`DO`,`GD`,`GU`,`JM`,`KN`,`KY`,`LC`,`MP`,`MS`,`PR`,`SX`,`TC`,`TT`,`VC`,`VG`,`VI`],7:[`RU`,`KZ`],20:[`EG`],27:[`ZA`],30:[`GR`],31:[`NL`],32:[`BE`],33:[`FR`],34:[`ES`],36:[`HU`],39:[`IT`,`VA`],40:[`RO`],41:[`CH`],43:[`AT`],44:[`GB`,`GG`,`IM`,`JE`],45:[`DK`],46:[`SE`],47:[`NO`,`SJ`],48:[`PL`],49:[`DE`],51:[`PE`],52:[`MX`],53:[`CU`],54:[`AR`],55:[`BR`],56:[`CL`],57:[`CO`],58:[`VE`],60:[`MY`],61:[`AU`,`CC`,`CX`],62:[`ID`],63:[`PH`],64:[`NZ`],65:[`SG`],66:[`TH`],81:[`JP`],82:[`KR`],84:[`VN`],86:[`CN`],90:[`TR`],91:[`IN`],92:[`PK`],93:[`AF`],94:[`LK`],95:[`MM`],98:[`IR`],211:[`SS`],212:[`MA`,`EH`],213:[`DZ`],216:[`TN`],218:[`LY`],220:[`GM`],221:[`SN`],222:[`MR`],223:[`ML`],224:[`GN`],225:[`CI`],226:[`BF`],227:[`NE`],228:[`TG`],229:[`BJ`],230:[`MU`],231:[`LR`],232:[`SL`],233:[`GH`],234:[`NG`],235:[`TD`],236:[`CF`],237:[`CM`],238:[`CV`],239:[`ST`],240:[`GQ`],241:[`GA`],242:[`CG`],243:[`CD`],244:[`AO`],245:[`GW`],246:[`IO`],247:[`AC`],248:[`SC`],249:[`SD`],250:[`RW`],251:[`ET`],252:[`SO`],253:[`DJ`],254:[`KE`],255:[`TZ`],256:[`UG`],257:[`BI`],258:[`MZ`],260:[`ZM`],261:[`MG`],262:[`RE`,`YT`],263:[`ZW`],264:[`NA`],265:[`MW`],266:[`LS`],267:[`BW`],268:[`SZ`],269:[`KM`],290:[`SH`,`TA`],291:[`ER`],297:[`AW`],298:[`FO`],299:[`GL`],350:[`GI`],351:[`PT`],352:[`LU`],353:[`IE`],354:[`IS`],355:[`AL`],356:[`MT`],357:[`CY`],358:[`FI`,`AX`],359:[`BG`],370:[`LT`],371:[`LV`],372:[`EE`],373:[`MD`],374:[`AM`],375:[`BY`],376:[`AD`],377:[`MC`],378:[`SM`],380:[`UA`],381:[`RS`],382:[`ME`],383:[`XK`],385:[`HR`],386:[`SI`],387:[`BA`],389:[`MK`],420:[`CZ`],421:[`SK`],423:[`LI`],500:[`FK`],501:[`BZ`],502:[`GT`],503:[`SV`],504:[`HN`],505:[`NI`],506:[`CR`],507:[`PA`],508:[`PM`],509:[`HT`],590:[`GP`,`BL`,`MF`],591:[`BO`],592:[`GY`],593:[`EC`],594:[`GF`],595:[`PY`],596:[`MQ`],597:[`SR`],598:[`UY`],599:[`CW`,`BQ`],670:[`TL`],672:[`NF`],673:[`BN`],674:[`NR`],675:[`PG`],676:[`TO`],677:[`SB`],678:[`VU`],679:[`FJ`],680:[`PW`],681:[`WF`],682:[`CK`],683:[`NU`],685:[`WS`],686:[`KI`],687:[`NC`],688:[`TV`],689:[`PF`],690:[`TK`],691:[`FM`],692:[`MH`],850:[`KP`],852:[`HK`],853:[`MO`],855:[`KH`],856:[`LA`],880:[`BD`],886:[`TW`],960:[`MV`],961:[`LB`],962:[`JO`],963:[`SY`],964:[`IQ`],965:[`KW`],966:[`SA`],967:[`YE`],968:[`OM`],970:[`PS`],971:[`AE`],972:[`IL`],973:[`BH`],974:[`QA`],975:[`BT`],976:[`MN`],977:[`NP`],992:[`TJ`],993:[`TM`],994:[`AZ`],995:[`GE`],996:[`KG`],998:[`UZ`]},countries:{AC:[`247`,`00`,`(?:[01589]\\d|[46])\\d{4}`,[5,6]],AD:[`376`,`00`,`(?:1|6\\d)\\d{7}|[135-9]\\d{5}`,[6,8,9],[[`(\\d{3})(\\d{3})`,`$1 $2`,[`[135-9]`]],[`(\\d{4})(\\d{4})`,`$1 $2`,[`1`]],[`(\\d{3})(\\d{3})(\\d{3})`,`$1 $2 $3`,[`6`]]]],AE:[`971`,`00`,`(?:[4-7]\\d|9[0-689])\\d{7}|800\\d{2,9}|[2-4679]\\d{7}`,[5,6,7,8,9,10,11,12],[[`(\\d{3})(\\d{2,9})`,`$1 $2`,[`60|8`]],[`(\\d)(\\d{3})(\\d{4})`,`$1 $2 $3`,[`[236]|[479][2-8]`],`0$1`],[`(\\d{3})(\\d)(\\d{5})`,`$1 $2 $3`,[`[479]`]],[`(\\d{2})(\\d{3})(\\d{4})`,`$1 $2 $3`,[`5`],`0$1`]],`0`],AF:[`93`,`00`,`[2-7]\\d{8}`,[9],[[`(\\d{2})(\\d{3})(\\d{4})`,`$1 $2 $3`,[`[2-7]`],`0$1`]],`0`],AG:[`1`,`011`,`(?:268|[58]\\d\\d|900)\\d{7}`,[10],0,`1`,0,`([457]\\d{6})$|1`,`268$1`,0,`268`],AI:[`1`,`011`,`(?:264|[58]\\d\\d|900)\\d{7}`,[10],0,`1`,0,`([2457]\\d{6})$|1`,`264$1`,0,`264`],AL:[`355`,`00`,`(?:700\\d\\d|900)\\d{3}|8\\d{5,7}|(?:[2-5]|6\\d)\\d{7}`,[6,7,8,9],[[`(\\d{3})(\\d{3,4})`,`$1 $2`,[`80|9`],`0$1`],[`(\\d)(\\d{3})(\\d{4})`,`$1 $2 $3`,[`4[2-6]`],`0$1`],[`(\\d{2})(\\d{3})(\\d{3})`,`$1 $2 $3`,[`[2358][2-5]|4`],`0$1`],[`(\\d{3})(\\d{5})`,`$1 $2`,[`[23578]`],`0$1`],[`(\\d{2})(\\d{3})(\\d{4})`,`$1 $2 $3`,[`6`],`0$1`]],`0`],AM:[`374`,`00`,`(?:[1-489]\\d|55|60|77)\\d{6}`,[8],[[`(\\d{3})(\\d{2})(\\d{3})`,`$1 $2 $3`,[`[89]0`],`0 $1`],[`(\\d{3})(\\d{5})`,`$1 $2`,[`2|3[12]`],`(0$1)`],[`(\\d{2})(\\d{6})`,`$1 $2`,[`1|47`],`(0$1)`],[`(\\d{2})(\\d{6})`,`$1 $2`,[`[3-9]`],`0$1`]],`0`],AO:[`244`,`00`,`[29]\\d{8}`,[9],[[`(\\d{3})(\\d{3})(\\d{3})`,`$1 $2 $3`,[`[29]`]]]],AR:[`54`,`00`,`(?:11|[89]\\d\\d)\\d{8}|[2368]\\d{9}`,[10,11],[[`(\\d{4})(\\d{2})(\\d{4})`,`$1 $2-$3`,[`2(?:2[024-9]|3[0-59]|47|6[245]|9[02-8])|3(?:3[28]|4[03-9]|5[2-46-8]|7[1-578]|8[2-9])`,`2(?:[23]02|6(?:[25]|4[6-8])|9(?:[02356]|4[02568]|72|8[23]))|3(?:3[28]|4(?:[04679]|3[5-8]|5[4-68]|8[2379])|5(?:[2467]|3[237]|8[2-5])|7[1-578]|8(?:[2469]|3[2578]|5[4-8]|7[36-8]|8[5-8]))|2(?:2[24-9]|3[1-59]|47)`,`2(?:[23]02|6(?:[25]|4(?:64|[78]))|9(?:[02356]|4(?:[0268]|5[2-6])|72|8[23]))|3(?:3[28]|4(?:[04679]|3[78]|5(?:4[46]|8)|8[2379])|5(?:[2467]|3[237]|8[23])|7[1-578]|8(?:[2469]|3[278]|5[56][46]|86[3-6]))|2(?:2[24-9]|3[1-59]|47)|38(?:[58][78]|7[378])|3(?:4[35][56]|58[45]|8(?:[38]5|54|76))[4-6]`,`2(?:[23]02|6(?:[25]|4(?:64|[78]))|9(?:[02356]|4(?:[0268]|5[2-6])|72|8[23]))|3(?:3[28]|4(?:[04679]|3(?:5(?:4[0-25689]|[56])|[78])|58|8[2379])|5(?:[2467]|3[237]|8(?:[23]|4(?:[45]|60)|5(?:4[0-39]|5|64)))|7[1-578]|8(?:[2469]|3[278]|54(?:4|5[13-7]|6[89])|86[3-6]))|2(?:2[24-9]|3[1-59]|47)|38(?:[58][78]|7[378])|3(?:454|85[56])[46]|3(?:4(?:36|5[56])|8(?:[38]5|76))[4-6]`],`0$1`,1],[`(\\d{2})(\\d{4})(\\d{4})`,`$1 $2-$3`,[`1`],`0$1`,1],[`(\\d{3})(\\d{3})(\\d{4})`,`$1-$2-$3`,[`[68]`],`0$1`],[`(\\d{3})(\\d{3})(\\d{4})`,`$1 $2-$3`,[`[23]`],`0$1`,1],[`(\\d)(\\d{4})(\\d{2})(\\d{4})`,`$2 15-$3-$4`,[`9(?:2[2-469]|3[3-578])`,`9(?:2(?:2[024-9]|3[0-59]|47|6[245]|9[02-8])|3(?:3[28]|4[03-9]|5[2-46-8]|7[1-578]|8[2-9]))`,`9(?:2(?:[23]02|6(?:[25]|4[6-8])|9(?:[02356]|4[02568]|72|8[23]))|3(?:3[28]|4(?:[04679]|3[5-8]|5[4-68]|8[2379])|5(?:[2467]|3[237]|8[2-5])|7[1-578]|8(?:[2469]|3[2578]|5[4-8]|7[36-8]|8[5-8])))|92(?:2[24-9]|3[1-59]|47)`,`9(?:2(?:[23]02|6(?:[25]|4(?:64|[78]))|9(?:[02356]|4(?:[0268]|5[2-6])|72|8[23]))|3(?:3[28]|4(?:[04679]|3[78]|5(?:4[46]|8)|8[2379])|5(?:[2467]|3[237]|8[23])|7[1-578]|8(?:[2469]|3[278]|5(?:[56][46]|[78])|7[378]|8(?:6[3-6]|[78]))))|92(?:2[24-9]|3[1-59]|47)|93(?:4[35][56]|58[45]|8(?:[38]5|54|76))[4-6]`,`9(?:2(?:[23]02|6(?:[25]|4(?:64|[78]))|9(?:[02356]|4(?:[0268]|5[2-6])|72|8[23]))|3(?:3[28]|4(?:[04679]|3(?:5(?:4[0-25689]|[56])|[78])|5(?:4[46]|8)|8[2379])|5(?:[2467]|3[237]|8(?:[23]|4(?:[45]|60)|5(?:4[0-39]|5|64)))|7[1-578]|8(?:[2469]|3[278]|5(?:4(?:4|5[13-7]|6[89])|[56][46]|[78])|7[378]|8(?:6[3-6]|[78]))))|92(?:2[24-9]|3[1-59]|47)|93(?:4(?:36|5[56])|8(?:[38]5|76))[4-6]`],`0$1`,0,`$1 $2 $3-$4`],[`(\\d)(\\d{2})(\\d{4})(\\d{4})`,`$2 15-$3-$4`,[`91`],`0$1`,0,`$1 $2 $3-$4`],[`(\\d{3})(\\d{3})(\\d{5})`,`$1-$2-$3`,[`8`],`0$1`],[`(\\d)(\\d{3})(\\d{3})(\\d{4})`,`$2 15-$3-$4`,[`9`],`0$1`,0,`$1 $2 $3-$4`]],`0`,0,`0?(?:(11|2(?:2(?:02?|[13]|2[13-79]|4[1-6]|5[2457]|6[124-8]|7[1-4]|8[13-6]|9[1267])|3(?:02?|1[467]|2[03-6]|3[13-8]|[49][2-6]|5[2-8]|[67])|4(?:7[3-578]|9)|6(?:[0136]|2[24-6]|4[6-8]?|5[15-8])|80|9(?:0[1-3]|[19]|2\\d|3[1-6]|4[02568]?|5[2-4]|6[2-46]|72?|8[23]?))|3(?:3(?:2[79]|6|8[2578])|4(?:0[0-24-9]|[12]|3[5-8]?|4[24-7]|5[4-68]?|6[02-9]|7[126]|8[2379]?|9[1-36-8])|5(?:1|2[1245]|3[237]?|4[1-46-9]|6[2-4]|7[1-6]|8[2-5]?)|6[24]|7(?:[069]|1[1568]|2[15]|3[145]|4[13]|5[14-8]|7[2-57]|8[126])|8(?:[01]|2[15-7]|3[2578]?|4[13-6]|5[4-8]?|6[1-357-9]|7[36-8]?|8[5-8]?|9[124])))15)?`,`9$1`],AS:[`1`,`011`,`(?:[58]\\d\\d|684|900)\\d{7}`,[10],0,`1`,0,`([267]\\d{6})$|1`,`684$1`,0,`684`],AT:[`43`,`00`,`1\\d{3,12}|2\\d{6,12}|43(?:(?:0\\d|5[02-9])\\d{3,9}|2\\d{4,5}|[3467]\\d{4}|8\\d{4,6}|9\\d{4,7})|5\\d{4,12}|8\\d{7,12}|9\\d{8,12}|(?:[367]\\d|4[0-24-9])\\d{4,11}`,[4,5,6,7,8,9,10,11,12,13],[[`(\\d)(\\d{3,12})`,`$1 $2`,[`1(?:11|[2-9])`],`0$1`],[`(\\d{3})(\\d{2})`,`$1 $2`,[`517`],`0$1`],[`(\\d{2})(\\d{3,5})`,`$1 $2`,[`5[079]`],`0$1`],[`(\\d{3})(\\d{3,10})`,`$1 $2`,[`(?:31|4)6|51|6(?:48|5[0-3579]|[6-9])|7(?:20|32|8)|[89]`,`(?:31|4)6|51|6(?:485|5[0-3579]|[6-9])|7(?:20|32|8)|[89]`],`0$1`],[`(\\d{4})(\\d{3,9})`,`$1 $2`,[`[2-467]|5[2-6]`],`0$1`],[`(\\d{2})(\\d{3})(\\d{3,4})`,`$1 $2 $3`,[`5`],`0$1`],[`(\\d{2})(\\d{4})(\\d{4,7})`,`$1 $2 $3`,[`5`],`0$1`]],`0`],AU:[`61`,`001[14-689]|14(?:1[14]|34|4[17]|[56]6|7[47]|88)0011`,`1(?:[0-79]\\d{7}(?:\\d(?:\\d{2})?)?|8[0-24-9]\\d{7})|[2-478]\\d{8}|1\\d{4,7}`,[5,6,7,8,9,10,12],[[`(\\d{2})(\\d{3,4})`,`$1 $2`,[`16`],`0$1`],[`(\\d{2})(\\d{3})(\\d{2,4})`,`$1 $2 $3`,[`16`],`0$1`],[`(\\d{3})(\\d{3})(\\d{3})`,`$1 $2 $3`,[`14|4`],`0$1`],[`(\\d)(\\d{4})(\\d{4})`,`$1 $2 $3`,[`[2378]`],`(0$1)`],[`(\\d{4})(\\d{3})(\\d{3})`,`$1 $2 $3`,[`1(?:30|[89])`]]],`0`,0,`(183[12])|0`,0,0,0,[[`(?:(?:241|349)0\\d\\d|8(?:51(?:0(?:0[03-9]|[12479]\\d|3[2-9]|5[0-8]|6[1-9]|8[0-7])|1(?:[0235689]\\d|1[0-69]|4[0-589]|7[0-47-9])|2(?:0[0-79]|[18][13579]|2[14-9]|3[0-46-9]|[4-6]\\d|7[89]|9[0-4])|[34]\\d\\d)|91(?:(?:[0-58]\\d|6[0135-9])\\d|7(?:0[0-24-9]|[1-9]\\d)|9(?:[0-46-9]\\d|5[0-79]))))\\d{3}|(?:2(?:[0-26-9]\\d|3[0-8]|4[02-9]|5[0135-9])|3(?:[0-3589]\\d|4[0-578]|6[1-9]|7[0-35-9])|7(?:[013-57-9]\\d|2[0-8])|8(?:55|6[0-8]|[78]\\d|9[02-9]))\\d{6}`,[9]],[`4(?:79[01]|83[0-36-9]|95[0-3])\\d{5}|4(?:[0-36]\\d|4[047-9]|[58][0-24-9]|7[02-8]|9[0-47-9])\\d{6}`,[9]],[`180(?:0\\d{3}|2)\\d{3}`,[7,10]],[`190[0-26]\\d{6}`,[10]],0,0,0,[`163\\d{2,6}`,[5,6,7,8,9]],[`14(?:5(?:1[0458]|[23][458])|71\\d)\\d{4}`,[9]],[`13(?:00\\d{6}(?:\\d{2})?|45[0-4]\\d{3})|13\\d{4}`,[6,8,10,12]]],`0011`],AW:[`297`,`00`,`(?:[25-79]\\d\\d|800)\\d{4}`,[7],[[`(\\d{3})(\\d{4})`,`$1 $2`,[`[25-9]`]]]],AX:[`358`,`00|99(?:[01469]|5(?:[14]1|3[23]|5[59]|77|88|9[09]))`,`2\\d{4,9}|35\\d{4,5}|(?:60\\d\\d|800)\\d{4,6}|7\\d{5,11}|(?:[14]\\d|3[0-46-9]|50)\\d{4,8}`,[5,6,7,8,9,10,11,12],0,`0`,0,0,0,0,`18`,0,`00`],AZ:[`994`,`00`,`365\\d{6}|(?:[124579]\\d|60|88)\\d{7}`,[9],[[`(\\d{3})(\\d{2})(\\d{2})(\\d{2})`,`$1 $2 $3 $4`,[`90`],`0$1`],[`(\\d{2})(\\d{3})(\\d{2})(\\d{2})`,`$1 $2 $3 $4`,[`1[28]|2|365|46`,`1[28]|2|365[45]|46`,`1[28]|2|365(?:4|5[02])|46`],`(0$1)`],[`(\\d{2})(\\d{3})(\\d{2})(\\d{2})`,`$1 $2 $3 $4`,[`[13-9]`],`0$1`]],`0`],BA:[`387`,`00`,`6\\d{8}|(?:[35689]\\d|49|70)\\d{6}`,[8,9],[[`(\\d{2})(\\d{3})(\\d{3})`,`$1 $2 $3`,[`6[1-3]|[7-9]`],`0$1`],[`(\\d{2})(\\d{3})(\\d{3})`,`$1 $2-$3`,[`[3-5]|6[56]`],`0$1`],[`(\\d{2})(\\d{2})(\\d{2})(\\d{3})`,`$1 $2 $3 $4`,[`6`],`0$1`]],`0`],BB:[`1`,`011`,`(?:246|[58]\\d\\d|900)\\d{7}`,[10],0,`1`,0,`([2-9]\\d{6})$|1`,`246$1`,0,`246`],BD:[`880`,`00`,`[1-469]\\d{9}|8[0-79]\\d{7,8}|[2-79]\\d{8}|[2-9]\\d{7}|[3-9]\\d{6}|[57-9]\\d{5}`,[6,7,8,9,10],[[`(\\d{2})(\\d{4,6})`,`$1-$2`,[`31[5-8]|[459]1`],`0$1`],[`(\\d{3})(\\d{3,7})`,`$1-$2`,[`3(?:[67]|8[013-9])|4(?:6[168]|7|[89][18])|5(?:6[128]|9)|6(?:[15]|28|4[14])|7[2-589]|8(?:0[014-9]|[12])|9[358]|(?:3[2-5]|4[235]|5[2-578]|6[0389]|76|8[3-7]|9[24])1|(?:44|66)[01346-9]`],`0$1`],[`(\\d{4})(\\d{3,6})`,`$1-$2`,[`[13-9]|2[23]`],`0$1`],[`(\\d)(\\d{7,8})`,`$1-$2`,[`2`],`0$1`]],`0`],BE:[`32`,`00`,`4\\d{8}|[1-9]\\d{7}`,[8,9],[[`(\\d{3})(\\d{2})(\\d{3})`,`$1 $2 $3`,[`(?:80|9)0`],`0$1`],[`(\\d)(\\d{3})(\\d{2})(\\d{2})`,`$1 $2 $3 $4`,[`[239]|4[23]`],`0$1`],[`(\\d{2})(\\d{2})(\\d{2})(\\d{2})`,`$1 $2 $3 $4`,[`[15-8]`],`0$1`],[`(\\d{3})(\\d{2})(\\d{2})(\\d{2})`,`$1 $2 $3 $4`,[`4`],`0$1`]],`0`],BF:[`226`,`00`,`[024-7]\\d{7}`,[8],[[`(\\d{2})(\\d{2})(\\d{2})(\\d{2})`,`$1 $2 $3 $4`,[`[024-7]`]]]],BG:[`359`,`00`,`00800\\d{7}|[2-7]\\d{6,7}|[89]\\d{6,8}|2\\d{5}`,[6,7,8,9,12],[[`(\\d)(\\d)(\\d{2})(\\d{2})`,`$1 $2 $3 $4`,[`2`],`0$1`],[`(\\d{3})(\\d{4})`,`$1 $2`,[`43[1-6]|70[1-9]`],`0$1`],[`(\\d)(\\d{3})(\\d{3,4})`,`$1 $2 $3`,[`2`],`0$1`],[`(\\d{2})(\\d{3})(\\d{2,3})`,`$1 $2 $3`,[`[356]|4[124-7]|7[1-9]|8[1-6]|9[1-7]`],`0$1`],[`(\\d{3})(\\d{2})(\\d{3})`,`$1 $2 $3`,[`(?:70|8)0`],`0$1`],[`(\\d{3})(\\d{3})(\\d{2})`,`$1 $2 $3`,[`43[1-7]|7`],`0$1`],[`(\\d{2})(\\d{3})(\\d{3,4})`,`$1 $2 $3`,[`[48]|9[08]`],`0$1`],[`(\\d{3})(\\d{3})(\\d{3})`,`$1 $2 $3`,[`9`],`0$1`]],`0`],BH:[`973`,`00`,`[136-9]\\d{7}`,[8],[[`(\\d{4})(\\d{4})`,`$1 $2`,[`[13679]|8[02-4679]`]]]],BI:[`257`,`00`,`(?:[267]\\d|31)\\d{6}`,[8],[[`(\\d{2})(\\d{2})(\\d{2})(\\d{2})`,`$1 $2 $3 $4`,[`[2367]`]]]],BJ:[`229`,`00`,`(?:01\\d|8)\\d{7}`,[8,10],[[`(\\d{2})(\\d{2})(\\d{2})(\\d{2})`,`$1 $2 $3 $4`,[`8`]],[`(\\d{2})(\\d{2})(\\d{2})(\\d{2})(\\d{2})`,`$1 $2 $3 $4 $5`,[`0`]]]],BL:[`590`,`00`,`7090\\d{5}|(?:[56]9|[89]\\d)\\d{7}`,[9],0,`0`,0,0,0,0,0,[[`(?:59(?:0(?:2[7-9]|3[3-7]|5[12]|87)|87\\d)|80[6-9]\\d\\d)\\d{4}`],[`(?:69(?:0\\d\\d|1(?:2[2-9]|3[0-5]))|7090[0-4])\\d{4}`],[`80[0-5]\\d{6}`],[`8[129]\\d{7}`],0,0,0,0,[`9(?:(?:39[5-7]|76[018])\\d|475[0-6])\\d{4}`]]],BM:[`1`,`011`,`(?:441|[58]\\d\\d|900)\\d{7}`,[10],0,`1`,0,`([2-9]\\d{6})$|1`,`441$1`,0,`441`],BN:[`673`,`00`,`[2-578]\\d{6}`,[7],[[`(\\d{3})(\\d{4})`,`$1 $2`,[`[2-578]`]]]],BO:[`591`,`00(?:1\\d)?`,`(?:[2-7]\\d\\d|8001)\\d{5}`,[8,9],[[`(\\d)(\\d{7})`,`$1 $2`,[`[23]|4[46]|50`]],[`(\\d{8})`,`$1`,[`[5-7]`]],[`(\\d{3})(\\d{2})(\\d{4})`,`$1 $2 $3`,[`8`]]],`0`,0,`0(1\\d)?`],BQ:[`599`,`00`,`(?:[34]1|7\\d)\\d{5}`,[7],0,0,0,0,0,0,`[347]`],BR:[`55`,`00(?:1[245]|2[1-35]|31|4[13]|[56]5|99)`,`[1-467]\\d{9,10}|55[0-46-9]\\d{8}|[34]\\d{7}|55\\d{7,8}|(?:5[0-46-9]|[89]\\d)\\d{7,9}`,[8,9,10,11],[[`(\\d{4})(\\d{4})`,`$1-$2`,[`300|4(?:0[02]|37|86)`,`300|4(?:0(?:0|20)|370|864)`]],[`(\\d{3})(\\d{2,3})(\\d{4})`,`$1 $2 $3`,[`(?:[358]|90)0`],`0$1`],[`(\\d{2})(\\d{4})(\\d{4})`,`$1 $2-$3`,[`(?:[14689][1-9]|2[12478]|3[1-578]|5[13-5]|7[13-579])[2-57]`],`($1)`],[`(\\d{2})(\\d{5})(\\d{4})`,`$1 $2-$3`,[`[16][1-9]|[2-57-9]`],`($1)`]],`0`,0,`(?:0|90)(?:(1[245]|2[1-35]|31|4[13]|[56]5|99)(\\d{10,11}))?`,`$2`],BS:[`1`,`011`,`(?:242|[58]\\d\\d|900)\\d{7}`,[10],0,`1`,0,`([3-8]\\d{6})$|1`,`242$1`,0,`242`],BT:[`975`,`00`,`[178]\\d{7}|[2-8]\\d{6}`,[7,8],[[`(\\d)(\\d{3})(\\d{3})`,`$1 $2 $3`,[`[2-6]|7[246]|8[2-4]`]],[`(\\d{2})(\\d{2})(\\d{2})(\\d{2})`,`$1 $2 $3 $4`,[`1[67]|[78]`]]]],BW:[`267`,`00`,`(?:0800|(?:[37]|800)\\d)\\d{6}|(?:[2-6]\\d|90)\\d{5}`,[7,8,10],[[`(\\d{2})(\\d{5})`,`$1 $2`,[`90`]],[`(\\d{3})(\\d{4})`,`$1 $2`,[`[24-6]|3[15-9]`]],[`(\\d{2})(\\d{3})(\\d{3})`,`$1 $2 $3`,[`[37]`]],[`(\\d{4})(\\d{3})(\\d{3})`,`$1 $2 $3`,[`0`]],[`(\\d{3})(\\d{4})(\\d{3})`,`$1 $2 $3`,[`8`]]]],BY:[`375`,`810`,`(?:[12]\\d|33|44|902)\\d{7}|8(?:0[0-79]\\d{5,7}|[1-7]\\d{9})|8(?:1[0-489]|[5-79]\\d)\\d{7}|8[1-79]\\d{6,7}|8[0-79]\\d{5}|8\\d{5}`,[6,7,8,9,10,11],[[`(\\d{3})(\\d{3})`,`$1 $2`,[`800`],`8 $1`],[`(\\d{3})(\\d{2})(\\d{2,4})`,`$1 $2 $3`,[`800`],`8 $1`],[`(\\d{4})(\\d{2})(\\d{3})`,`$1 $2-$3`,[`1(?:5[169]|6[3-5]|7[179])|2(?:1[35]|2[34]|3[3-5])`,`1(?:5[169]|6(?:3[1-3]|4|5[125])|7(?:1[3-9]|7[0-24-6]|9[2-7]))|2(?:1[35]|2[34]|3[3-5])`],`8 0$1`],[`(\\d{3})(\\d{2})(\\d{2})(\\d{2})`,`$1 $2-$3-$4`,[`1(?:[56]|7[467])|2[1-3]`],`8 0$1`],[`(\\d{2})(\\d{3})(\\d{2})(\\d{2})`,`$1 $2-$3-$4`,[`[1-4]`],`8 0$1`],[`(\\d{3})(\\d{3,4})(\\d{4})`,`$1 $2 $3`,[`[89]`],`8 $1`]],`8`,0,`0|80?`,0,0,0,0,`8~10`],BZ:[`501`,`00`,`(?:0800\\d|[2-8])\\d{6}`,[7,11],[[`(\\d{3})(\\d{4})`,`$1-$2`,[`[2-8]`]],[`(\\d)(\\d{3})(\\d{4})(\\d{3})`,`$1-$2-$3-$4`,[`0`]]]],CA:[`1`,`011`,`[2-9]\\d{9}|3\\d{6}`,[7,10],0,`1`,0,0,0,0,0,[[`(?:2(?:04|[23]6|[48]9|5[07]|63)|3(?:06|43|54|6[578]|82)|4(?:03|1[68]|[26]8|3[178]|50|74)|5(?:06|1[49]|48|79|8[147])|6(?:04|[18]3|39|47|72)|7(?:0[59]|42|53|78|8[02])|8(?:[06]7|19|25|7[39])|9(?:0[25]|42))[2-9]\\d{6}`,[10]],[``,[10]],[`8(?:00|33|44|55|66|77|88)[2-9]\\d{6}`,[10]],[`900[2-9]\\d{6}`,[10]],[`52(?:3(?:[2-46-9][02-9]\\d|5(?:[02-46-9]\\d|5[0-46-9]))|4(?:[2-478][02-9]\\d|5(?:[034]\\d|2[024-9]|5[0-46-9])|6(?:0[1-9]|[2-9]\\d)|9(?:[05-9]\\d|2[0-5]|49)))\\d{4}|52[34][2-9]1[02-9]\\d{4}|(?:5(?:2[125-9]|3[23]|44|66|77|88)|6(?:22|33))[2-9]\\d{6}`,[10]],0,[`310\\d{4}`,[7]],0,[`600[2-9]\\d{6}`,[10]]]],CC:[`61`,`001[14-689]|14(?:1[14]|34|4[17]|[56]6|7[47]|88)0011`,`1(?:[0-79]\\d{8}(?:\\d{2})?|8[0-24-9]\\d{7})|[148]\\d{8}|1\\d{5,7}`,[6,7,8,9,10,12],0,`0`,0,`([59]\\d{7})$|0`,`8$1`,0,0,[[`8(?:51(?:0(?:02|31|60|89)|1(?:18|76)|223)|91(?:0(?:1[0-2]|29)|1(?:[28]2|50|79)|2(?:10|64)|3(?:[06]8|22)|4[29]8|62\\d|70[23]|959))\\d{3}`,[9]],[`4(?:79[01]|83[0-36-9]|95[0-3])\\d{5}|4(?:[0-36]\\d|4[047-9]|[58][0-24-9]|7[02-8]|9[0-47-9])\\d{6}`,[9]],[`180(?:0\\d{3}|2)\\d{3}`,[7,10]],[`190[0-26]\\d{6}`,[10]],0,0,0,0,[`14(?:5(?:1[0458]|[23][458])|71\\d)\\d{4}`,[9]],[`13(?:00\\d{6}(?:\\d{2})?|45[0-4]\\d{3})|13\\d{4}`,[6,8,10,12]]],`0011`],CD:[`243`,`00`,`(?:(?:[189]|5\\d)\\d|2)\\d{7}|[1-68]\\d{6}`,[7,8,9,10],[[`(\\d{2})(\\d{2})(\\d{3})`,`$1 $2 $3`,[`88`],`0$1`],[`(\\d{2})(\\d{5})`,`$1 $2`,[`[1-6]`],`0$1`],[`(\\d{2})(\\d{2})(\\d{4})`,`$1 $2 $3`,[`2`],`0$1`],[`(\\d{2})(\\d{3})(\\d{4})`,`$1 $2 $3`,[`1`],`0$1`],[`(\\d{3})(\\d{3})(\\d{3})`,`$1 $2 $3`,[`[89]`],`0$1`],[`(\\d{2})(\\d{2})(\\d{3})(\\d{3})`,`$1 $2 $3 $4`,[`5`],`0$1`]],`0`],CF:[`236`,`00`,`8776\\d{4}|(?:[27]\\d|61)\\d{6}`,[8],[[`(\\d{2})(\\d{2})(\\d{2})(\\d{2})`,`$1 $2 $3 $4`,[`[26-8]`]]]],CG:[`242`,`00`,`222\\d{6}|(?:0\\d|80)\\d{7}`,[9],[[`(\\d)(\\d{4})(\\d{4})`,`$1 $2 $3`,[`8`]],[`(\\d{2})(\\d{3})(\\d{4})`,`$1 $2 $3`,[`[02]`]]]],CH:[`41`,`00`,`8\\d{11}|[2-9]\\d{8}`,[9,12],[[`(\\d{3})(\\d{3})(\\d{3})`,`$1 $2 $3`,[`8[047]|90`],`0$1`],[`(\\d{2})(\\d{3})(\\d{2})(\\d{2})`,`$1 $2 $3 $4`,[`[2-79]|81`],`0$1`],[`(\\d{3})(\\d{2})(\\d{3})(\\d{2})(\\d{2})`,`$1 $2 $3 $4 $5`,[`8`],`0$1`]],`0`],CI:[`225`,`00`,`[02]\\d{9}`,[10],[[`(\\d{2})(\\d{2})(\\d)(\\d{5})`,`$1 $2 $3 $4`,[`2`]],[`(\\d{2})(\\d{2})(\\d{2})(\\d{4})`,`$1 $2 $3 $4`,[`0`]]]],CK:[`682`,`00`,`[2-578]\\d{4}`,[5],[[`(\\d{2})(\\d{3})`,`$1 $2`,[`[2-578]`]]]],CL:[`56`,`(?:0|1(?:1[0-69]|2[02-5]|5[13-58]|69|7[0167]|8[018]))0`,`12300\\d{6}|6\\d{9,10}|[2-9]\\d{8}`,[9,10,11],[[`(\\d{5})(\\d{4})`,`$1 $2`,[`219`,`2196`],`($1)`],[`(\\d{3})(\\d{3})(\\d{3})`,`$1 $2 $3`,[`60|809`]],[`(\\d{2})(\\d{3})(\\d{4})`,`$1 $2 $3`,[`44`]],[`(\\d)(\\d{4})(\\d{4})`,`$1 $2 $3`,[`2[1-36]`],`($1)`],[`(\\d)(\\d{4})(\\d{4})`,`$1 $2 $3`,[`9(?:10|[2-9])`]],[`(\\d{2})(\\d{3})(\\d{4})`,`$1 $2 $3`,[`3[2-5]|[47]|5[1-3578]|6[13-57]|8(?:0[1-8]|[1-9])`],`($1)`],[`(\\d{3})(\\d{3})(\\d{3,4})`,`$1 $2 $3`,[`60|8`]],[`(\\d{4})(\\d{3})(\\d{4})`,`$1 $2 $3`,[`1`]],[`(\\d{3})(\\d{3})(\\d{2})(\\d{3})`,`$1 $2 $3 $4`,[`60`]]]],CM:[`237`,`00`,`[26]\\d{8}|88\\d{6,7}`,[8,9],[[`(\\d{2})(\\d{2})(\\d{2})(\\d{2})`,`$1 $2 $3 $4`,[`88`]],[`(\\d)(\\d{2})(\\d{2})(\\d{2})(\\d{2})`,`$1 $2 $3 $4 $5`,[`[26]|88`]]]],CN:[`86`,`00|1(?:[12]\\d|79)\\d\\d00`,`(?:(?:1[03-689]|2\\d)\\d\\d|6)\\d{8}|1\\d{10}|[126]\\d{6}(?:\\d(?:\\d{2})?)?|86\\d{5,6}|(?:[3-579]\\d|8[0-57-9])\\d{5,9}`,[7,8,9,10,11,12],[[`(\\d{2})(\\d{5,6})`,`$1 $2`,[`(?:10|2[0-57-9])[19]|3(?:[157]|35|49|9[1-68])|4(?:1[124-9]|2[179]|6[47-9]|7|8[23])|5(?:[1357]|2[37]|4[36]|6[1-46]|80)|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[1579]|2[248]|3[014-9]|4[3-6]|6[023689])|8(?:07|1[236-8]|2[5-7]|[37]|8[36-8]|9[1-8])|9(?:0[1-3689]|1[1-79]|3|4[13]|5[1-5]|7[0-79]|9[0-35-9])|(?:4[35]|59|85)[1-9]`,`(?:10|2[0-57-9])(?:1[02]|9[56])|8078|(?:3(?:[157]\\d|35|49|9[1-68])|4(?:1[124-9]|2[179]|[35][1-9]|6[47-9]|7\\d|8[23])|5(?:[1357]\\d|2[37]|4[36]|6[1-46]|80|9[1-9])|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[1579]\\d|2[248]|3[014-9]|4[3-6]|6[023689])|8(?:1[236-8]|2[5-7]|[37]\\d|5[1-9]|8[36-8]|9[1-8])|9(?:0[1-3689]|1[1-79]|3\\d|4[13]|5[1-5]|7[0-79]|9[0-35-9]))1`,`10(?:1(?:0|23)|9[56])|2[0-57-9](?:1(?:00|23)|9[56])|80781|(?:3(?:[157]\\d|35|49|9[1-68])|4(?:1[124-9]|2[179]|[35][1-9]|6[47-9]|7\\d|8[23])|5(?:[1357]\\d|2[37]|4[36]|6[1-46]|80|9[1-9])|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[1579]\\d|2[248]|3[014-9]|4[3-6]|6[023689])|8(?:1[236-8]|2[5-7]|[37]\\d|5[1-9]|8[36-8]|9[1-8])|9(?:0[1-3689]|1[1-79]|3\\d|4[13]|5[1-5]|7[0-79]|9[0-35-9]))12`,`10(?:1(?:0|23)|9[56])|2[0-57-9](?:1(?:00|23)|9[56])|807812|(?:3(?:[157]\\d|35|49|9[1-68])|4(?:1[124-9]|2[179]|[35][1-9]|6[47-9]|7\\d|8[23])|5(?:[1357]\\d|2[37]|4[36]|6[1-46]|80|9[1-9])|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[1579]\\d|2[248]|3[014-9]|4[3-6]|6[023689])|8(?:1[236-8]|2[5-7]|[37]\\d|5[1-9]|8[36-8]|9[1-8])|9(?:0[1-3689]|1[1-79]|3\\d|4[13]|5[1-5]|7[0-79]|9[0-35-9]))123`,`10(?:1(?:0|23)|9[56])|2[0-57-9](?:1(?:00|23)|9[56])|(?:3(?:[157]\\d|35|49|9[1-68])|4(?:1[124-9]|2[179]|[35][1-9]|6[47-9]|7\\d|8[23])|5(?:[1357]\\d|2[37]|4[36]|6[1-46]|80|9[1-9])|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[1579]\\d|2[248]|3[014-9]|4[3-6]|6[023689])|8(?:078|1[236-8]|2[5-7]|[37]\\d|5[1-9]|8[36-8]|9[1-8])|9(?:0[1-3689]|1[1-79]|3\\d|4[13]|5[1-5]|7[0-79]|9[0-35-9]))123`],`0$1`],[`(\\d{3})(\\d{5,6})`,`$1 $2`,[`3(?:[157]|35|49|9[1-68])|4(?:[17]|2[179]|6[47-9]|8[23])|5(?:[1357]|2[37]|4[36]|6[1-46]|80)|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[1579]|2[248]|3[014-9]|4[3-6]|6[023689])|8(?:1[236-8]|2[5-7]|[37]|8[36-8]|9[1-8])|9(?:0[1-3689]|1[1-79]|[379]|4[13]|5[1-5])|(?:4[35]|59|85)[1-9]`,`(?:3(?:[157]\\d|35|49|9[1-68])|4(?:[17]\\d|2[179]|[35][1-9]|6[47-9]|8[23])|5(?:[1357]\\d|2[37]|4[36]|6[1-46]|80|9[1-9])|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[1579]\\d|2[248]|3[014-9]|4[3-6]|6[023689])|8(?:1[236-8]|2[5-7]|[37]\\d|5[1-9]|8[36-8]|9[1-8])|9(?:0[1-3689]|1[1-79]|[379]\\d|4[13]|5[1-5]))[19]`,`85[23](?:10|95)|(?:3(?:[157]\\d|35|49|9[1-68])|4(?:[17]\\d|2[179]|[35][1-9]|6[47-9]|8[23])|5(?:[1357]\\d|2[37]|4[36]|6[1-46]|80|9[1-9])|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[1579]\\d|2[248]|3[014-9]|4[3-6]|6[023689])|8(?:1[236-8]|2[5-7]|[37]\\d|5[14-9]|8[36-8]|9[1-8])|9(?:0[1-3689]|1[1-79]|[379]\\d|4[13]|5[1-5]))(?:10|9[56])`,`85[23](?:100|95)|(?:3(?:[157]\\d|35|49|9[1-68])|4(?:[17]\\d|2[179]|[35][1-9]|6[47-9]|8[23])|5(?:[1357]\\d|2[37]|4[36]|6[1-46]|80|9[1-9])|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[1579]\\d|2[248]|3[014-9]|4[3-6]|6[023689])|8(?:1[236-8]|2[5-7]|[37]\\d|5[14-9]|8[36-8]|9[1-8])|9(?:0[1-3689]|1[1-79]|[379]\\d|4[13]|5[1-5]))(?:100|9[56])`],`0$1`],[`(\\d{3})(\\d{3})(\\d{4})`,`$1 $2 $3`,[`(?:4|80)0`]],[`(\\d{2})(\\d{4})(\\d{4})`,`$1 $2 $3`,[`10|2(?:[02-57-9]|1[1-9])`,`10|2(?:[02-57-9]|1[1-9])`,`10[0-79]|2(?:[02-57-9]|1[1-79])|(?:10|21)8(?:0[1-9]|[1-9])`],`0$1`,1],[`(\\d{3})(\\d{3})(\\d{4})`,`$1 $2 $3`,[`3(?:[3-59]|7[02-68])|4(?:[26-8]|3[3-9]|5[2-9])|5(?:3[03-9]|[468]|7[028]|9[2-46-9])|6|7(?:[0-247]|3[04-9]|5[0-4689]|6[2368])|8(?:[1-358]|9[1-7])|9(?:[013479]|5[1-5])|(?:[34]1|55|79|87)[02-9]`],`0$1`,1],[`(\\d{3})(\\d{7,8})`,`$1 $2`,[`9`]],[`(\\d{4})(\\d{3})(\\d{4})`,`$1 $2 $3`,[`80`],`0$1`,1],[`(\\d{3})(\\d{4})(\\d{4})`,`$1 $2 $3`,[`[3-578]`],`0$1`,1],[`(\\d{3})(\\d{4})(\\d{4})`,`$1 $2 $3`,[`1[3-9]`]],[`(\\d{2})(\\d{3})(\\d{3})(\\d{4})`,`$1 $2 $3 $4`,[`[12]`],`0$1`,1]],`0`,0,`(1(?:[12]\\d|79)\\d\\d)|0`,0,0,0,0,`00`],CO:[`57`,`00(?:4(?:[14]4|56)|[579])`,`(?:46|60\\d\\d)\\d{6}|(?:1\\d|[39])\\d{9}`,[8,10,11],[[`(\\d{4})(\\d{4})`,`$1 $2`,[`46`]],[`(\\d{3})(\\d{7})`,`$1 $2`,[`6|90`],`($1)`],[`(\\d{3})(\\d{7})`,`$1 $2`,[`3[0-357]|9[14]`]],[`(\\d)(\\d{3})(\\d{7})`,`$1-$2-$3`,[`1`],`0$1`,0,`$1 $2 $3`]],`0`,0,`0([3579]|4(?:[14]4|56))?`],CR:[`506`,`00`,`(?:8\\d|90)\\d{8}|(?:[24-8]\\d{3}|3005)\\d{4}`,[8,10],[[`(\\d{4})(\\d{4})`,`$1 $2`,[`[2-7]|8[3-9]`]],[`(\\d{3})(\\d{3})(\\d{4})`,`$1-$2-$3`,[`[89]`]]],0,0,`(19(?:0[0-2468]|1[09]|20|66|77|99))`],CU:[`53`,`119`,`(?:[2-7]|8\\d\\d)\\d{7}|[2-47]\\d{6}|[34]\\d{5}`,[6,7,8,10],[[`(\\d{2})(\\d{4,6})`,`$1 $2`,[`2[1-4]|[34]`],`(0$1)`],[`(\\d)(\\d{6,7})`,`$1 $2`,[`7`],`(0$1)`],[`(\\d)(\\d{7})`,`$1 $2`,[`[56]`],`0$1`],[`(\\d{3})(\\d{7})`,`$1 $2`,[`8`],`0$1`]],`0`],CV:[`238`,`0`,`(?:[2-59]\\d\\d|800)\\d{4}`,[7],[[`(\\d{3})(\\d{2})(\\d{2})`,`$1 $2 $3`,[`[2-589]`]]]],CW:[`599`,`00`,`(?:[34]1|60|(?:7|9\\d)\\d)\\d{5}`,[7,8],[[`(\\d{3})(\\d{4})`,`$1 $2`,[`[3467]`]],[`(\\d)(\\d{3})(\\d{4})`,`$1 $2 $3`,[`9[4-8]`]]],0,0,0,0,0,`[69]`],CX:[`61`,`001[14-689]|14(?:1[14]|34|4[17]|[56]6|7[47]|88)0011`,`1(?:[0-79]\\d{8}(?:\\d{2})?|8[0-24-9]\\d{7})|[148]\\d{8}|1\\d{5,7}`,[6,7,8,9,10,12],0,`0`,0,`([59]\\d{7})$|0`,`8$1`,0,0,[[`8(?:51(?:0(?:01|30|59|88)|1(?:17|46|75)|2(?:22|35))|91(?:00[6-9]|1(?:[28]1|49|78)|2(?:09|63)|3(?:12|26|75)|4(?:56|97)|64\\d|7(?:0[01]|1[0-2])|958))\\d{3}`,[9]],[`4(?:79[01]|83[0-36-9]|95[0-3])\\d{5}|4(?:[0-36]\\d|4[047-9]|[58][0-24-9]|7[02-8]|9[0-47-9])\\d{6}`,[9]],[`180(?:0\\d{3}|2)\\d{3}`,[7,10]],[`190[0-26]\\d{6}`,[10]],0,0,0,0,[`14(?:5(?:1[0458]|[23][458])|71\\d)\\d{4}`,[9]],[`13(?:00\\d{6}(?:\\d{2})?|45[0-4]\\d{3})|13\\d{4}`,[6,8,10,12]]],`0011`],CY:[`357`,`00`,`(?:[279]\\d|[58]0)\\d{6}`,[8],[[`(\\d{2})(\\d{6})`,`$1 $2`,[`[257-9]`]]]],CZ:[`420`,`00`,`(?:[2-578]\\d|60)\\d{7}|9\\d{8,11}`,[9,10,11,12],[[`(\\d{3})(\\d{3})(\\d{3})`,`$1 $2 $3`,[`[2-8]|9[015-7]`]],[`(\\d{2})(\\d{3})(\\d{3})(\\d{2})`,`$1 $2 $3 $4`,[`96`]],[`(\\d{2})(\\d{3})(\\d{3})(\\d{3})`,`$1 $2 $3 $4`,[`9`]],[`(\\d{3})(\\d{3})(\\d{3})(\\d{3})`,`$1 $2 $3 $4`,[`9`]]]],DE:[`49`,`00`,`[2579]\\d{5,14}|49(?:[34]0|69|8\\d)\\d\\d?|49(?:37|49|60|7[089]|9\\d)\\d{1,3}|49(?:2[024-9]|3[2-689]|7[1-7])\\d{1,8}|(?:1|[368]\\d|4[0-8])\\d{3,13}|49(?:[015]\\d|2[13]|31|[46][1-8])\\d{1,9}`,[4,5,6,7,8,9,10,11,12,13,14,15],[[`(\\d{2})(\\d{3,13})`,`$1 $2`,[`3[02]|40|[68]9`],`0$1`],[`(\\d{3})(\\d{3,12})`,`$1 $2`,[`2(?:0[1-389]|1[124]|2[18]|3[14])|3(?:[35-9][15]|4[015])|906|(?:2[4-9]|4[2-9]|[579][1-9]|[68][1-8])1`,`2(?:0[1-389]|12[0-8])|3(?:[35-9][15]|4[015])|906|2(?:[13][14]|2[18])|(?:2[4-9]|4[2-9]|[579][1-9]|[68][1-8])1`],`0$1`],[`(\\d{4})(\\d{2,11})`,`$1 $2`,[`[24-6]|3(?:[3569][02-46-9]|4[2-4679]|7[2-467]|8[2-46-8])|70[2-8]|8(?:0[2-9]|[1-8])|90[7-9]|[79][1-9]`,`[24-6]|3(?:3(?:0[1-467]|2[127-9]|3[124578]|7[1257-9]|8[1256]|9[145])|4(?:2[135]|4[13578]|9[1346])|5(?:0[14]|2[1-3589]|6[1-4]|7[13468]|8[13568])|6(?:2[1-489]|3[124-6]|6[13]|7[12579]|8[1-356]|9[135])|7(?:2[1-7]|4[145]|6[1-5]|7[1-4])|8(?:21|3[1468]|6|7[1467]|8[136])|9(?:0[12479]|2[1358]|4[134679]|6[1-9]|7[136]|8[147]|9[1468]))|70[2-8]|8(?:0[2-9]|[1-8])|90[7-9]|[79][1-9]|3[68]4[1347]|3(?:47|60)[1356]|3(?:3[46]|46|5[49])[1246]|3[4579]3[1357]`],`0$1`],[`(\\d{3})(\\d{4})`,`$1 $2`,[`138`],`0$1`],[`(\\d{5})(\\d{2,10})`,`$1 $2`,[`3`],`0$1`],[`(\\d{3})(\\d{5,11})`,`$1 $2`,[`181`],`0$1`],[`(\\d{3})(\\d)(\\d{4,10})`,`$1 $2 $3`,[`1(?:3|80)|9`],`0$1`],[`(\\d{3})(\\d{7,8})`,`$1 $2`,[`1[67]`],`0$1`],[`(\\d{3})(\\d{7,12})`,`$1 $2`,[`8`],`0$1`],[`(\\d{5})(\\d{6})`,`$1 $2`,[`185`,`1850`,`18500`],`0$1`],[`(\\d{3})(\\d{4})(\\d{4})`,`$1 $2 $3`,[`7`],`0$1`],[`(\\d{4})(\\d{7})`,`$1 $2`,[`18[68]`],`0$1`],[`(\\d{4})(\\d{7})`,`$1 $2`,[`15[1279]`],`0$1`],[`(\\d{5})(\\d{6})`,`$1 $2`,[`15[03568]`,`15(?:[0568]|3[13])`],`0$1`],[`(\\d{3})(\\d{8})`,`$1 $2`,[`18`],`0$1`],[`(\\d{3})(\\d{2})(\\d{7,8})`,`$1 $2 $3`,[`1(?:6[023]|7)`],`0$1`],[`(\\d{4})(\\d{2})(\\d{7})`,`$1 $2 $3`,[`15[279]`],`0$1`],[`(\\d{3})(\\d{2})(\\d{8})`,`$1 $2 $3`,[`15`],`0$1`]],`0`],DJ:[`253`,`00`,`(?:2\\d|77)\\d{6}`,[8],[[`(\\d{2})(\\d{2})(\\d{2})(\\d{2})`,`$1 $2 $3 $4`,[`[27]`]]]],DK:[`45`,`00`,`[2-9]\\d{7}`,[8],[[`(\\d{2})(\\d{2})(\\d{2})(\\d{2})`,`$1 $2 $3 $4`,[`[2-9]`]]]],DM:[`1`,`011`,`(?:[58]\\d\\d|767|900)\\d{7}`,[10],0,`1`,0,`([2-7]\\d{6})$|1`,`767$1`,0,`767`],DO:[`1`,`011`,`(?:[58]\\d\\d|900)\\d{7}`,[10],0,`1`,0,0,0,0,`8001|8[024]9`],DZ:[`213`,`00`,`(?:[1-4]|[5-79]\\d|80)\\d{7}`,[8,9],[[`(\\d{2})(\\d{2})(\\d{2})(\\d{2})`,`$1 $2 $3 $4`,[`[1-4]`],`0$1`],[`(\\d{2})(\\d{3})(\\d{2})(\\d{2})`,`$1 $2 $3 $4`,[`9`],`0$1`],[`(\\d{3})(\\d{2})(\\d{2})(\\d{2})`,`$1 $2 $3 $4`,[`[5-8]`],`0$1`]],`0`],EC:[`593`,`00`,`1\\d{9,10}|(?:[2-7]|9\\d)\\d{7}`,[8,9,10,11],[[`(\\d)(\\d{3})(\\d{4})`,`$1 $2-$3`,[`[2-7]`],`(0$1)`,0,`$1-$2-$3`],[`(\\d{2})(\\d{3})(\\d{4})`,`$1 $2 $3`,[`9`],`0$1`],[`(\\d{4})(\\d{3})(\\d{3,4})`,`$1 $2 $3`,[`1`]]],`0`],EE:[`372`,`00`,`8\\d{9}|[4578]\\d{7}|(?:[3-8]\\d|90)\\d{5}`,[7,8,10],[[`(\\d{3})(\\d{4})`,`$1 $2`,[`[369]|4[3-8]|5(?:[0-2]|5[0-478]|6[45])|7[1-9]|88`,`[369]|4[3-8]|5(?:[02]|1(?:[0-8]|95)|5[0-478]|6(?:4[0-4]|5[1-589]))|7[1-9]|88`]],[`(\\d{4})(\\d{3,4})`,`$1 $2`,[`[45]|8(?:00|[1-49])`,`[45]|8(?:00[1-9]|[1-49])`]],[`(\\d{2})(\\d{2})(\\d{4})`,`$1 $2 $3`,[`7`]],[`(\\d{4})(\\d{3})(\\d{3})`,`$1 $2 $3`,[`8`]]]],EG:[`20`,`00`,`[189]\\d{8,9}|[24-6]\\d{8}|[135]\\d{7}`,[8,9,10],[[`(\\d)(\\d{7,8})`,`$1 $2`,[`[23]`],`0$1`],[`(\\d{2})(\\d{6,7})`,`$1 $2`,[`1[35]|[4-6]|8[2468]|9[235-7]`],`0$1`],[`(\\d{3})(\\d{3})(\\d{4})`,`$1 $2 $3`,[`[89]`],`0$1`],[`(\\d{2})(\\d{8})`,`$1 $2`,[`1`],`0$1`]],`0`],EH:[`212`,`00`,`[5-8]\\d{8}`,[9],0,`0`,0,0,0,0,0,[[`528[89]\\d{5}`],[`(?:6(?:[0-79]\\d|8[0-247-9])|7(?:[016-8]\\d|2[0-8]|5[0-5]))\\d{6}`],[`80[0-7]\\d{6}`],[`89\\d{7}`],0,0,0,0,[`(?:592(?:4[0-2]|93)|80[89]\\d\\d)\\d{4}`]]],ER:[`291`,`00`,`[178]\\d{6}`,[7],[[`(\\d)(\\d{3})(\\d{3})`,`$1 $2 $3`,[`[178]`],`0$1`]],`0`],ES:[`34`,`00`,`(?:400|[5-9]\\d\\d)\\d{6}`,[9],[[`(\\d{3})(\\d{3})(\\d{3})`,`$1 $2 $3`,[`[89]00`]],[`(\\d{3})(\\d{2})(\\d{2})(\\d{2})`,`$1 $2 $3 $4`,[`[4-9]`]]]],ET:[`251`,`00`,`(?:11|[2-57-9]\\d)\\d{7}`,[9],[[`(\\d{2})(\\d{3})(\\d{4})`,`$1 $2 $3`,[`[1-57-9]`],`0$1`]],`0`],FI:[`358`,`00|99(?:[01469]|5(?:[14]1|3[23]|5[59]|77|88|9[09]))`,`[1-35689]\\d{4}|7\\d{10,11}|(?:[124-7]\\d|3[0-46-9])\\d{8}|[1-9]\\d{5,8}`,[5,6,7,8,9,10,11,12],[[`(\\d{5})`,`$1`,[`20[2-59]`],`0$1`],[`(\\d{3})(\\d{3,7})`,`$1 $2`,[`(?:[1-3]0|[68])0|70[07-9]`],`0$1`],[`(\\d{2})(\\d{4,8})`,`$1 $2`,[`[14]|2[09]|50|7[135]`],`0$1`],[`(\\d{2})(\\d{6,10})`,`$1 $2`,[`7`],`0$1`],[`(\\d)(\\d{4,9})`,`$1 $2`,[`(?:19|[2568])[1-8]|3(?:0[1-9]|[1-9])|9`],`0$1`]],`0`,0,0,0,0,`1[03-79]|[2-9]`,0,`00`],FJ:[`679`,`0(?:0|52)`,`45\\d{5}|(?:0800\\d|[235-9])\\d{6}`,[7,11],[[`(\\d{3})(\\d{4})`,`$1 $2`,[`[235-9]|45`]],[`(\\d{4})(\\d{3})(\\d{4})`,`$1 $2 $3`,[`0`]]],0,0,0,0,0,0,0,`00`],FK:[`500`,`00`,`[2-7]\\d{4}`,[5]],FM:[`691`,`00`,`(?:[39]\\d\\d|820)\\d{4}`,[7],[[`(\\d{3})(\\d{4})`,`$1 $2`,[`[389]`]]]],FO:[`298`,`00`,`[2-9]\\d{5}`,[6],[[`(\\d{6})`,`$1`,[`[2-9]`]]],0,0,`(10(?:01|[12]0|88))`],FR:[`33`,`00`,`[1-9]\\d{8}`,[9],[[`(\\d{3})(\\d{2})(\\d{2})(\\d{2})`,`$1 $2 $3 $4`,[`8`],`0 $1`],[`(\\d)(\\d{2})(\\d{2})(\\d{2})(\\d{2})`,`$1 $2 $3 $4 $5`,[`[1-79]`],`0$1`]],`0`],GA:[`241`,`00`,`(?:[067]\\d|11)\\d{6}|[2-7]\\d{6}`,[7,8],[[`(\\d)(\\d{2})(\\d{2})(\\d{2})`,`$1 $2 $3 $4`,[`[2-7]`],`0$1`],[`(\\d{2})(\\d{2})(\\d{2})(\\d{2})`,`$1 $2 $3 $4`,[`0`]],[`(\\d{2})(\\d{2})(\\d{2})(\\d{2})`,`$1 $2 $3 $4`,[`11|[67]`],`0$1`]],0,0,`0(11\\d{6}|60\\d{6}|61\\d{6}|6[256]\\d{6}|7[467]\\d{6})`,`$1`],GB:[`44`,`00`,`[1-357-9]\\d{9}|[18]\\d{8}|8\\d{6}`,[7,9,10],[[`(\\d{3})(\\d{4})`,`$1 $2`,[`800`,`8001`,`80011`,`800111`,`8001111`],`0$1`],[`(\\d{3})(\\d{2})(\\d{2})`,`$1 $2 $3`,[`845`,`8454`,`84546`,`845464`],`0$1`],[`(\\d{3})(\\d{6})`,`$1 $2`,[`800`],`0$1`],[`(\\d{5})(\\d{4,5})`,`$1 $2`,[`1(?:38|5[23]|69|76|94)`,`1(?:(?:38|69)7|5(?:24|39)|768|946)`,`1(?:3873|5(?:242|39[4-6])|(?:697|768)[347]|9467)`],`0$1`],[`(\\d{4})(\\d{5,6})`,`$1 $2`,[`1(?:[2-69][02-9]|[78])`],`0$1`],[`(\\d{2})(\\d{4})(\\d{4})`,`$1 $2 $3`,[`[25]|7(?:0|6[02-9])`,`[25]|7(?:0|6(?:[03-9]|2[356]))`],`0$1`],[`(\\d{4})(\\d{6})`,`$1 $2`,[`7`],`0$1`],[`(\\d{3})(\\d{3})(\\d{4})`,`$1 $2 $3`,[`[1389]`],`0$1`]],`0`,0,`0|180020`,0,0,0,[[`(?:1(?:1(?:3(?:[0-58]\\d\\d|73[0-5])|4(?:(?:[0-5]\\d|70)\\d|69[7-9])|(?:(?:5[0-26-9]|[78][0-49])\\d|6(?:[0-4]\\d|5[01]))\\d)|(?:2(?:(?:0[024-9]|2[3-9]|3[3-79]|4[1-689]|[58][02-9]|6[0-47-9]|7[013-9]|9\\d)\\d|1(?:[0-7]\\d|8[0-3]))|(?:3(?:0\\d|1[0-8]|[25][02-9]|3[02-579]|[468][0-46-9]|7[1-35-79]|9[2-578])|4(?:0[03-9]|[137]\\d|[28][02-57-9]|4[02-69]|5[0-8]|[69][0-79])|5(?:0[1-35-9]|[16]\\d|2[024-9]|3[015689]|4[02-9]|5[03-9]|7[0-35-9]|8[0-468]|9[0-57-9])|6(?:0[034689]|1\\d|2[0-35689]|[38][013-9]|4[1-467]|5[0-69]|6[13-9]|7[0-8]|9[0-24578])|7(?:0[0246-9]|2\\d|3[0236-8]|4[03-9]|5[0-46-9]|6[013-9]|7[0-35-9]|8[024-9]|9[02-9])|8(?:0[35-9]|2[1-57-9]|3[02-578]|4[0-578]|5[124-9]|6[2-69]|7\\d|8[02-9]|9[02569])|9(?:0[02-589]|[18]\\d|2[02-689]|3[1-57-9]|4[2-9]|5[0-579]|6[2-47-9]|7[0-24578]|9[2-57]))\\d)\\d)|2(?:0[013478]|3[0189]|4[017]|8[0-46-9]|9[0-2])\\d{3})\\d{4}|1(?:2(?:0(?:46[1-4]|87[2-9])|545[1-79]|76(?:2\\d|3[1-8]|6[1-6])|9(?:7(?:2[0-4]|3[2-5])|8(?:2[2-8]|7[0-47-9]|8[3-5])))|3(?:6(?:38[2-5]|47[23])|8(?:47[04-9]|64[0157-9]))|4(?:044[1-7]|20(?:2[23]|8\\d)|6(?:0(?:30|5[2-57]|6[1-8]|7[2-8])|140)|8(?:052|87[1-3]))|5(?:2(?:4(?:3[2-79]|6\\d)|76\\d)|6(?:26[06-9]|686))|6(?:06(?:4\\d|7[4-79])|295[5-7]|35[34]\\d|47(?:24|61)|59(?:5[08]|6[67]|74)|9(?:55[0-4]|77[23]))|7(?:26(?:6[13-9]|7[0-7])|(?:442|688)\\d|50(?:2[0-3]|[3-68]2|76))|8(?:27[56]\\d|37(?:5[2-5]|8[239])|843[2-58])|9(?:0(?:0(?:6[1-8]|85)|52\\d)|3583|4(?:66[1-8]|9(?:2[01]|81))|63(?:23|3[1-4])|9561))\\d{3}`,[9,10]],[`7(?:457[0-57-9]|700[01]|911[028])\\d{5}|7(?:[1-3]\\d\\d|4(?:[0-46-9]\\d|5[0-689])|5(?:0[0-8]|[13-9]\\d|2[0-35-9])|7(?:0[1-9]|[1-7]\\d|8[02-9]|9[0-689])|8(?:[014-9]\\d|[23][0-8])|9(?:[024-9]\\d|1[02-9]|3[0-689]))\\d{6}`,[10]],[`80[08]\\d{7}|800\\d{6}|8001111`],[`(?:8(?:4[2-5]|7[0-3])|9(?:[01]\\d|8[2-49]))\\d{7}|845464\\d`,[7,10]],[`70\\d{8}`,[10]],0,[`(?:3[0347]|55)\\d{8}`,[10]],[`76(?:464|652)\\d{5}|76(?:0[0-28]|2[356]|34|4[01347]|5[49]|6[0-369]|77|8[14]|9[139])\\d{6}`,[10]],[`56\\d{8}`,[10]]],0,` x`],GD:[`1`,`011`,`(?:473|[58]\\d\\d|900)\\d{7}`,[10],0,`1`,0,`([2-9]\\d{6})$|1`,`473$1`,0,`473`],GE:[`995`,`00`,`(?:[3-57]\\d\\d|800)\\d{6}`,[9],[[`(\\d{3})(\\d{3})(\\d{3})`,`$1 $2 $3`,[`70`],`0$1`],[`(\\d{2})(\\d{3})(\\d{2})(\\d{2})`,`$1 $2 $3 $4`,[`32`],`0$1`],[`(\\d{3})(\\d{2})(\\d{2})(\\d{2})`,`$1 $2 $3 $4`,[`[57]`]],[`(\\d{3})(\\d{2})(\\d{2})(\\d{2})`,`$1 $2 $3 $4`,[`[348]`],`0$1`]],`0`],GF:[`594`,`00`,`(?:694\\d|7093)\\d{5}|(?:59|[89]\\d)\\d{7}`,[9],[[`(\\d{3})(\\d{2})(\\d{2})(\\d{2})`,`$1 $2 $3 $4`,[`[5-7]|80[6-9]|9[47]`],`0$1`],[`(\\d{3})(\\d{2})(\\d{2})(\\d{2})`,`$1 $2 $3 $4`,[`[89]`],`0$1`]],`0`],GG:[`44`,`00`,`(?:1481|[357-9]\\d{3})\\d{6}|8\\d{6}(?:\\d{2})?`,[7,9,10],0,`0`,0,`([25-9]\\d{5})$|0|180020`,`1481$1`,0,0,[[`1481[25-9]\\d{5}`,[10]],[`7(?:(?:781|839)\\d|911[17])\\d{5}`,[10]],[`80[08]\\d{7}|800\\d{6}|8001111`],[`(?:8(?:4[2-5]|7[0-3])|9(?:[01]\\d|8[0-3]))\\d{7}|845464\\d`,[7,10]],[`70\\d{8}`,[10]],0,[`(?:3[0347]|55)\\d{8}`,[10]],[`76(?:464|652)\\d{5}|76(?:0[0-28]|2[356]|34|4[01347]|5[49]|6[0-369]|77|8[14]|9[139])\\d{6}`,[10]],[`56\\d{8}`,[10]]]],GH:[`233`,`00`,`[235]\\d{8}|800\\d{5,6}`,[8,9],[[`(\\d{3})(\\d{5})`,`$1 $2`,[`8`],`0$1`],[`(\\d{2})(\\d{3})(\\d{4})`,`$1 $2 $3`,[`[2358]`],`0$1`]],`0`],GI:[`350`,`00`,`(?:[25]\\d|60)\\d{6}`,[8],[[`(\\d{3})(\\d{5})`,`$1 $2`,[`2`]]]],GL:[`299`,`00`,`(?:19|[2-689]\\d|70)\\d{4}`,[6],[[`(\\d{2})(\\d{2})(\\d{2})`,`$1 $2 $3`,[`19|[2-9]`]]]],GM:[`220`,`00`,`[2-9]\\d{6}`,[7],[[`(\\d{3})(\\d{4})`,`$1 $2`,[`[2-9]`]]]],GN:[`224`,`00`,`722\\d{6}|(?:3|6\\d)\\d{7}`,[8,9],[[`(\\d{2})(\\d{2})(\\d{2})(\\d{2})`,`$1 $2 $3 $4`,[`3`]],[`(\\d{3})(\\d{2})(\\d{2})(\\d{2})`,`$1 $2 $3 $4`,[`[67]`]]]],GP:[`590`,`00`,`7090\\d{5}|(?:[56]9|[89]\\d)\\d{7}`,[9],[[`(\\d{3})(\\d{2})(\\d{2})(\\d{2})`,`$1 $2 $3 $4`,[`[5-79]|80[6-9]`],`0$1`],[`(\\d{3})(\\d{2})(\\d{2})(\\d{2})`,`$1 $2 $3 $4`,[`8`],`0$1`]],`0`,0,0,0,0,0,[[`(?:59(?:0(?:0[1-68]|[14][0-24-9]|2[0-68]|3[1-9]|5[3-579]|[68][0-689]|7[08]|9\\d)|87\\d)|80[6-9]\\d\\d)\\d{4}`],[`(?:69(?:0\\d\\d|1(?:2[2-9]|3[0-5]))|7090[0-4])\\d{4}`],[`80[0-5]\\d{6}`],[`8[129]\\d{7}`],0,0,0,0,[`9(?:(?:39[5-7]|76[018])\\d|475[0-6])\\d{4}`]]],GQ:[`240`,`00`,`222\\d{6}|(?:3\\d|55|[89]0)\\d{7}`,[9],[[`(\\d{3})(\\d{3})(\\d{3})`,`$1 $2 $3`,[`[235]`]],[`(\\d{3})(\\d{6})`,`$1 $2`,[`[89]`]]]],GR:[`30`,`00`,`5005000\\d{3}|8\\d{9,11}|(?:[269]\\d|70)\\d{8}`,[10,11,12],[[`(\\d{2})(\\d{4})(\\d{4})`,`$1 $2 $3`,[`21|7`]],[`(\\d{4})(\\d{6})`,`$1 $2`,[`2(?:2|3[2-57-9]|4[2-469]|5[2-59]|6[2-9]|7[2-69]|8[2-49])|5`]],[`(\\d{3})(\\d{3})(\\d{4})`,`$1 $2 $3`,[`[2689]`]],[`(\\d{3})(\\d{3,4})(\\d{5})`,`$1 $2 $3`,[`8`]]]],GT:[`502`,`00`,`80\\d{6}|(?:1\\d{3}|[2-7])\\d{7}`,[8,11],[[`(\\d{4})(\\d{4})`,`$1 $2`,[`[2-8]`]],[`(\\d{4})(\\d{3})(\\d{4})`,`$1 $2 $3`,[`1`]]]],GU:[`1`,`011`,`(?:[58]\\d\\d|671|900)\\d{7}`,[10],0,`1`,0,`([2-9]\\d{6})$|1`,`671$1`,0,`671`],GW:[`245`,`00`,`[49]\\d{8}|4\\d{6}`,[7,9],[[`(\\d{3})(\\d{4})`,`$1 $2`,[`40`]],[`(\\d{3})(\\d{3})(\\d{3})`,`$1 $2 $3`,[`[49]`]]]],GY:[`592`,`001`,`(?:[2-8]\\d{3}|9008)\\d{3}`,[7],[[`(\\d{3})(\\d{4})`,`$1 $2`,[`[2-9]`]]]],HK:[`852`,`00(?:30|5[09]|[126-9]?)`,`8[0-46-9]\\d{6,7}|9\\d{4,7}|(?:[2-7]|9\\d{3})\\d{7}`,[5,6,7,8,9,11],[[`(\\d{3})(\\d{2,5})`,`$1 $2`,[`900`,`9003`]],[`(\\d{4})(\\d{4})`,`$1 $2`,[`[2-7]|8[1-4]|9(?:0[1-9]|[1-8])`]],[`(\\d{3})(\\d{3})(\\d{3})`,`$1 $2 $3`,[`8`]],[`(\\d{3})(\\d{2})(\\d{3})(\\d{3})`,`$1 $2 $3 $4`,[`9`]]],0,0,0,0,0,0,0,`00`],HN:[`504`,`00`,`8\\d{10}|[237-9]\\d{7}`,[8,11],[[`(\\d{4})(\\d{4})`,`$1-$2`,[`[237-9]`]]]],HR:[`385`,`00`,`[2-69]\\d{8}|80\\d{5,7}|[1-79]\\d{7}|6\\d{6}`,[7,8,9],[[`(\\d{2})(\\d{2})(\\d{3})`,`$1 $2 $3`,[`6[01]`],`0$1`],[`(\\d{3})(\\d{2})(\\d{2,3})`,`$1 $2 $3`,[`8`],`0$1`],[`(\\d)(\\d{4})(\\d{3})`,`$1 $2 $3`,[`1`],`0$1`],[`(\\d{2})(\\d{3})(\\d{3,4})`,`$1 $2 $3`,[`6|7[245]`],`0$1`],[`(\\d{2})(\\d{3})(\\d{3,4})`,`$1 $2 $3`,[`9`],`0$1`],[`(\\d{2})(\\d{3})(\\d{3,4})`,`$1 $2 $3`,[`[2-57]`],`0$1`],[`(\\d{3})(\\d{3})(\\d{3})`,`$1 $2 $3`,[`8`],`0$1`]],`0`],HT:[`509`,`00`,`[2-589]\\d{7}`,[8],[[`(\\d{2})(\\d{2})(\\d{4})`,`$1 $2 $3`,[`[2-589]`]]]],HU:[`36`,`00`,`[235-7]\\d{8}|[1-9]\\d{7}`,[8,9],[[`(\\d)(\\d{3})(\\d{4})`,`$1 $2 $3`,[`1`],`(06 $1)`],[`(\\d{2})(\\d{3})(\\d{3})`,`$1 $2 $3`,[`[27][2-9]|3[2-7]|4[24-9]|5[2-79]|6|8[2-57-9]|9[2-69]`],`(06 $1)`],[`(\\d{2})(\\d{3})(\\d{3,4})`,`$1 $2 $3`,[`[2-9]`],`06 $1`]],`06`],ID:[`62`,`00[89]`,`00[1-9]\\d{9,14}|(?:[1-36]|8\\d{5})\\d{6}|00\\d{9}|[1-9]\\d{8,10}|[2-9]\\d{7}`,[7,8,9,10,11,12,13,14,15,16,17],[[`(\\d)(\\d{3})(\\d{3})`,`$1 $2 $3`,[`15`]],[`(\\d{2})(\\d{5,9})`,`$1 $2`,[`2[124]|[36]1`],`(0$1)`],[`(\\d{3})(\\d{5,7})`,`$1 $2`,[`800`],`0$1`],[`(\\d{3})(\\d{5,8})`,`$1 $2`,[`[2-79]`],`(0$1)`],[`(\\d{3})(\\d{3,4})(\\d{3})`,`$1-$2-$3`,[`8[1-35-9]`],`0$1`],[`(\\d{3})(\\d{6,8})`,`$1 $2`,[`1`],`0$1`],[`(\\d{3})(\\d{3})(\\d{4})`,`$1 $2 $3`,[`804`],`0$1`],[`(\\d{3})(\\d)(\\d{3})(\\d{3})`,`$1 $2 $3 $4`,[`80`],`0$1`],[`(\\d{3})(\\d{4})(\\d{4,5})`,`$1-$2-$3`,[`8`],`0$1`]],`0`],IE:[`353`,`00`,`(?:1\\d|[2569])\\d{6,8}|4\\d{6,9}|7\\d{8}|8\\d{8,9}`,[7,8,9,10],[[`(\\d{2})(\\d{5})`,`$1 $2`,[`2[24-9]|47|58|6[237-9]|9[35-9]`],`(0$1)`],[`(\\d{3})(\\d{5})`,`$1 $2`,[`[45]0`],`(0$1)`],[`(\\d)(\\d{3,4})(\\d{4})`,`$1 $2 $3`,[`1`],`(0$1)`],[`(\\d{2})(\\d{3})(\\d{3,4})`,`$1 $2 $3`,[`[2569]|4[1-69]|7[14]`],`(0$1)`],[`(\\d{3})(\\d{3})(\\d{3})`,`$1 $2 $3`,[`70`],`0$1`],[`(\\d{3})(\\d{3})(\\d{3})`,`$1 $2 $3`,[`81`],`(0$1)`],[`(\\d{2})(\\d{3})(\\d{4})`,`$1 $2 $3`,[`[78]`],`0$1`],[`(\\d{4})(\\d{3})(\\d{3})`,`$1 $2 $3`,[`1`]],[`(\\d{2})(\\d{4})(\\d{4})`,`$1 $2 $3`,[`4`],`(0$1)`],[`(\\d{2})(\\d)(\\d{3})(\\d{4})`,`$1 $2 $3 $4`,[`8`],`0$1`]],`0`],IL:[`972`,`0(?:0|1[2-9])`,`1\\d{6}(?:\\d{3,5})?|[57]\\d{8}|[1-489]\\d{7}`,[7,8,9,10,11,12],[[`(\\d{4})(\\d{3})`,`$1-$2`,[`125`]],[`(\\d{4})(\\d{2})(\\d{2})`,`$1-$2-$3`,[`121`]],[`(\\d)(\\d{3})(\\d{4})`,`$1-$2-$3`,[`[2-489]`],`0$1`],[`(\\d{2})(\\d{3})(\\d{4})`,`$1-$2-$3`,[`[57]`],`0$1`],[`(\\d{4})(\\d{3})(\\d{3})`,`$1-$2-$3`,[`12`]],[`(\\d{4})(\\d{6})`,`$1-$2`,[`159`]],[`(\\d)(\\d{3})(\\d{3})(\\d{3})`,`$1-$2-$3-$4`,[`1[7-9]`]],[`(\\d{3})(\\d{1,2})(\\d{3})(\\d{4})`,`$1-$2 $3-$4`,[`15`]]],`0`],IM:[`44`,`00`,`1624\\d{6}|(?:[3578]\\d|90)\\d{8}`,[10],0,`0`,0,`([25-8]\\d{5})$|0|180020`,`1624$1`,0,`74576|(?:16|7[56])24`],IN:[`91`,`00`,`(?:000800|[2-9]\\d\\d)\\d{7}|1\\d{7,12}`,[8,9,10,11,12,13],[[`(\\d{8})`,`$1`,[`5(?:0|2[23]|3[03]|[67]1|88)`,`5(?:0|2(?:21|3)|3(?:0|3[23])|616|717|888)`,`5(?:0|2(?:21|3)|3(?:0|3[23])|616|717|8888)`],0,1],[`(\\d{4})(\\d{4,5})`,`$1 $2`,[`180`,`1800`],0,1],[`(\\d{3})(\\d{3})(\\d{4})`,`$1 $2 $3`,[`140`],0,1],[`(\\d{2})(\\d{4})(\\d{4})`,`$1 $2 $3`,[`11|2[02]|33|4[04]|79[1-7]|80[2-46]`,`11|2[02]|33|4[04]|79(?:[1-6]|7[19])|80(?:[2-4]|6[0-589])`,`11|2[02]|33|4[04]|79(?:[124-6]|3(?:[02-9]|1[0-24-9])|7(?:1|9[1-6]))|80(?:[2-4]|6[0-589])`],`0$1`,1],[`(\\d{3})(\\d{3})(\\d{4})`,`$1 $2 $3`,[`1(?:2[0-249]|3[0-25]|4[145]|[68]|7[1257])|2(?:1[257]|3[013]|4[01]|5[0137]|6[0158]|78|8[1568])|3(?:26|4[1-3]|5[34]|6[01489]|7[02-46]|8[159])|4(?:1[36]|2[1-47]|5[12]|6[0-26-9]|7[0-24-9]|8[013-57]|9[014-7])|5(?:1[025]|22|[36][25]|4[28]|5[12]|[78]1)|6(?:12|[2-4]1|5[17]|6[13]|80)|7(?:12|3[134]|61|88)|8(?:16|2[014]|3[126]|6[136]|7[078]|8[34]|91)|(?:43|59|75)[15]|(?:1[59]|29|67)[14]`,`1(?:2[0-24]|3[0-25]|4[145]|[59][14]|6[1-9]|7[1257]|8[1-57-9])|2(?:1[257]|3[013]|4[01]|5[0137]|6[058]|78|8[1568]|9[14])|3(?:26|4[1-3]|5[34]|6[01489]|7[02-46]|8[159])|4(?:1[36]|2[1-47]|3[15]|5[12]|6[0-26-9]|7[0-24-9]|8[013-57]|9[014-7])|5(?:1[025]|22|[36][25]|4[28]|[578]1|9[15])|674|7(?:(?:3[34]|5[15])[2-6]|61[346]|88[0-8])|8(?:70[2-6]|84[235-7]|91[3-7])|(?:1(?:29|60|8[06])|261|552|6(?:12|[2-47]1|5[17]|6[13]|80)|7(?:12|31)|8(?:16|2[014]|3[126]|6[136]|7[78]|83))[2-7]`,`1(?:2[0-24]|3[0-25]|4[145]|[59][14]|6[1-9]|7[1257]|8[1-57-9])|2(?:1[257]|3[013]|4[01]|5[0137]|6[058]|78|8[1568]|9[14])|3(?:26|4[1-3]|5[34]|6[01489]|7[02-46]|8[159])|4(?:1[36]|2[1-47]|3[15]|5[12]|6[0-26-9]|7[0-24-9]|8[013-57]|9[014-7])|5(?:1[025]|22|[36][25]|4[28]|[578]1|9[15])|6(?:12(?:[2-6]|7[0-8])|74[2-7])|7(?:3171|5[15][2-6]|61[346]|88(?:[2-7]|82))|8(?:70[2-6]|84(?:[2356]|7[19])|91(?:[3-6]|7[19]))|73[134][2-6]|8(?:16|2[014]|3[126]|6[136]|7[78]|83)(?:[2-6]|7[19])|(?:1(?:29|60|8[06])|261|552|6(?:[2-4]1|5[17]|6[13]|7(?:1|4[0189])|80)|7(?:12|88[01]))[2-7]`],`0$1`,1],[`(\\d{4})(\\d{3})(\\d{3})`,`$1 $2 $3`,[`1(?:[2-479]|5[0235-9])|[2-5]|6(?:1[1358]|2[2457-9]|3[2-5]|4[235-7]|5[2-689]|6[24578]|7[235689]|8[1-6])|7(?:1[013-9]|3[129]|5[29]|6[02-5]|70)|807`,`1(?:[2-479]|5[0235-9])|[2-5]|6(?:1[1358]|2(?:[2457]|84|95)|3(?:[2-4]|55)|4[235-7]|5[2-689]|6[24578]|7(?:[23569]|8[0-57-9])|8[1-6])|7(?:1(?:[013-8]|9[6-9])|3(?:17|2[0-49]|9[2-57])|5(?:2[1-3]|9[0-6])|6(?:0[5689]|2[5-9]|3[02-8]|4|5[0-367])|70[13-7])|807[19]`,`1(?:[2-479]|5(?:[0236-9]|5[013-9]))|[2-5]|6(?:2(?:84|95)|355|8(?:28[235-7]|3))|73179|807(?:1|9[1-3])|(?:1552|6(?:(?:1[1358]|2[2457]|3[2-4]|4[235-7]|5[2-689]|6[24578])\\d|7(?:[23569]\\d|8[0-57-9])|8(?:[14-6]\\d|2[0-79]))|7(?:1(?:[013-8]\\d|9[6-9])|3(?:2[0-49]|9[2-57])|5(?:2[1-3]|9[0-6])|6(?:0[5689]|2[5-9]|3[02-8]|4\\d|5[0-367])|70[13-7]))[2-7]`],`0$1`,1],[`(\\d{5})(\\d{5})`,`$1 $2`,[`16|[6-9]`],`0$1`,1],[`(\\d{4})(\\d{2,4})(\\d{4})`,`$1 $2 $3`,[`18[06]`,`18[06]0`],0,1],[`(\\d{4})(\\d{3})(\\d{3})(\\d{3})`,`$1 $2 $3 $4`,[`18`],0,1]],`0`],IO:[`246`,`00`,`3\\d{6}`,[7],[[`(\\d{3})(\\d{4})`,`$1 $2`,[`3`]]]],IQ:[`964`,`00`,`(?:1|7\\d\\d)\\d{7}|[2-6]\\d{7,8}`,[8,9,10],[[`(\\d)(\\d{3})(\\d{4})`,`$1 $2 $3`,[`1`],`0$1`],[`(\\d{2})(\\d{3})(\\d{3,4})`,`$1 $2 $3`,[`[2-6]`],`0$1`],[`(\\d{3})(\\d{3})(\\d{4})`,`$1 $2 $3`,[`7`],`0$1`]],`0`],IR:[`98`,`00`,`[1-9]\\d{9}|(?:[1-8]\\d\\d|9)\\d{3,4}`,[4,5,6,7,10],[[`(\\d{4,5})`,`$1`,[`96`],`0$1`],[`(\\d{2})(\\d{4,5})`,`$1 $2`,[`(?:1[137]|2[13-68]|3[1458]|4[145]|5[1468]|6[16]|7[1467]|8[13467])[12689]`],`0$1`],[`(\\d{3})(\\d{3})(\\d{3,4})`,`$1 $2 $3`,[`9`],`0$1`],[`(\\d{2})(\\d{4})(\\d{4})`,`$1 $2 $3`,[`[1-8]`],`0$1`]],`0`],IS:[`354`,`00|1(?:0(?:01|[12]0)|100)`,`(?:38\\d|[4-9])\\d{6}`,[7,9],[[`(\\d{3})(\\d{4})`,`$1 $2`,[`[4-9]`]],[`(\\d{3})(\\d{3})(\\d{3})`,`$1 $2 $3`,[`3`]]],0,0,0,0,0,0,0,`00`],IT:[`39`,`00`,`0\\d{5,11}|1\\d{8,10}|3(?:[0-8]\\d{7,10}|9\\d{7,8})|(?:43|55|70)\\d{8}|8\\d{5}(?:\\d{2,4})?`,[6,7,8,9,10,11,12],[[`(\\d{2})(\\d{4,6})`,`$1 $2`,[`0[26]`]],[`(\\d{3})(\\d{3,6})`,`$1 $2`,[`0[13-57-9][0159]|8(?:03|4[17]|9[2-5])`,`0[13-57-9][0159]|8(?:03|4[17]|9(?:2|3[04]|[45][0-4]))`]],[`(\\d{4})(\\d{2,6})`,`$1 $2`,[`0(?:[13-579][2-46-8]|8[236-8])`]],[`(\\d{4})(\\d{4})`,`$1 $2`,[`894`]],[`(\\d{2})(\\d{3,4})(\\d{4})`,`$1 $2 $3`,[`0[26]|5`]],[`(\\d{3})(\\d{3})(\\d{3,4})`,`$1 $2 $3`,[`1(?:44|[679])|[378]|43`]],[`(\\d{3})(\\d{3,4})(\\d{4})`,`$1 $2 $3`,[`0[13-57-9][0159]|14`]],[`(\\d{2})(\\d{4})(\\d{5})`,`$1 $2 $3`,[`0[26]`]],[`(\\d{4})(\\d{3})(\\d{4})`,`$1 $2 $3`,[`0`]],[`(\\d{3})(\\d{4})(\\d{4,5})`,`$1 $2 $3`,[`[03]`]]],0,0,0,0,0,0,[[`0(?:669[0-79]\\d{1,6}|831\\d{2,8})|0(?:1(?:[0159]\\d|[27][1-5]|31|4[1-4]|6[1356]|8[2-57])|2\\d\\d|3(?:[0159]\\d|2[1-4]|3[12]|[48][1-6]|6[2-59]|7[1-7])|4(?:[0159]\\d|[23][1-9]|4[245]|6[1-5]|7[1-4]|81)|5(?:[0159]\\d|2[1-5]|3[2-6]|4[1-79]|6[4-6]|7[1-578]|8[3-8])|6(?:[0-57-9]\\d|6[0-8])|7(?:[0159]\\d|2[12]|3[1-7]|4[2-46]|6[13569]|7[13-6]|8[1-59])|8(?:[0159]\\d|2[3-578]|3[2356]|[6-8][1-5])|9(?:[0159]\\d|[238][1-5]|4[12]|6[1-8]|7[1-6]))\\d{2,7}`],[`3[2-9]\\d{7,8}|(?:31|43)\\d{8}`,[9,10]],[`80(?:0\\d{3}|3)\\d{3}`,[6,9]],[`(?:0878\\d{3}|89(?:2\\d|3[04]|4(?:[0-4]|[5-9]\\d\\d)|5[0-4]))\\d\\d|(?:1(?:44|6[346])|89(?:38|5[5-9]|9))\\d{6}`,[6,8,9,10]],[`1(?:78\\d|99)\\d{6}`,[9,10]],[`3[2-8]\\d{9,10}`,[11,12]],0,0,[`55\\d{8}`,[10]],[`84(?:[08]\\d{3}|[17])\\d{3}`,[6,9]]]],JE:[`44`,`00`,`1534\\d{6}|(?:[3578]\\d|90)\\d{8}`,[10],0,`0`,0,`([0-24-8]\\d{5})$|0|180020`,`1534$1`,0,0,[[`1534[0-24-8]\\d{5}`],[`7(?:(?:(?:50|82)9|937)\\d|7(?:00[378]|97\\d))\\d{5}`],[`80(?:07(?:35|81)|8901)\\d{4}`],[`(?:8(?:4(?:4(?:4(?:05|42|69)|703)|5(?:041|800))|7(?:0002|1206))|90(?:066[59]|1810|71(?:07|55)))\\d{4}`],[`701511\\d{4}`],0,[`(?:3(?:0(?:07(?:35|81)|8901)|3\\d{4}|4(?:4(?:4(?:05|42|69)|703)|5(?:041|800))|7(?:0002|1206))|55\\d{4})\\d{4}`],[`76(?:464|652)\\d{5}|76(?:0[0-28]|2[356]|34|4[01347]|5[49]|6[0-369]|77|8[14]|9[139])\\d{6}`],[`56\\d{8}`]]],JM:[`1`,`011`,`(?:[58]\\d\\d|658|900)\\d{7}`,[10],0,`1`,0,0,0,0,`658|876`],JO:[`962`,`00`,`(?:(?:[2689]|7\\d)\\d|32|427|53)\\d{6}`,[8,9],[[`(\\d)(\\d{3})(\\d{4})`,`$1 $2 $3`,[`[2356]|87`],`(0$1)`],[`(\\d{3})(\\d{5,6})`,`$1 $2`,[`[89]`],`0$1`],[`(\\d{2})(\\d{7})`,`$1 $2`,[`70`],`0$1`],[`(\\d)(\\d{4})(\\d{4})`,`$1 $2 $3`,[`[47]`],`0$1`]],`0`],JP:[`81`,`010`,`00[1-9]\\d{6,14}|[25-9]\\d{9}|(?:00|[1-9]\\d\\d)\\d{6}`,[8,9,10,11,12,13,14,15,16,17],[[`(\\d{3})(\\d{3})(\\d{3})`,`$1-$2-$3`,[`(?:12|57|99)0`],`0$1`],[`(\\d{4})(\\d)(\\d{4})`,`$1-$2-$3`,[`1(?:26|3[79]|4[56]|5[4-68]|6[3-5])|499|5(?:76|97)|746|8(?:3[89]|47|51)|9(?:80|9[16])`,`1(?:267|3(?:7[247]|9[278])|466|5(?:47|58|64)|6(?:3[245]|48|5[4-68]))|499[2468]|5(?:76|97)9|7468|8(?:3(?:8[7-9]|96)|477|51[2-9])|9(?:802|9(?:1[23]|69))|1(?:45|58)[67]`,`1(?:267|3(?:7[247]|9[278])|466|5(?:47|58|64)|6(?:3[245]|48|5[4-68]))|499[2468]|5(?:769|979[2-69])|7468|8(?:3(?:8[7-9]|96[2457-9])|477|51[2-9])|9(?:802|9(?:1[23]|69))|1(?:45|58)[67]`],`0$1`],[`(\\d{2})(\\d{3})(\\d{4})`,`$1-$2-$3`,[`60`],`0$1`],[`(\\d)(\\d{4})(\\d{4})`,`$1-$2-$3`,[`3|4(?:2[09]|7[01])|6[1-9]`,`3|4(?:2(?:0|9[02-69])|7(?:0[019]|1))|6[1-9]`],`0$1`],[`(\\d{2})(\\d{3})(\\d{4})`,`$1-$2-$3`,[`1(?:1|5[45]|77|88|9[69])|2(?:2[1-37]|3[0-269]|4[59]|5|6[24]|7[1-358]|8[1369]|9[0-38])|4(?:[28][1-9]|3[0-57]|[45]|6[248]|7[2-579]|9[29])|5(?:2|3[0459]|4[0-369]|5[29]|8[02389]|9[0-389])|7(?:2[02-46-9]|34|[58]|6[0249]|7[57]|9[2-6])|8(?:2[124589]|3[26-9]|49|51|6|7[0-468]|8[68]|9[019])|9(?:[23][1-9]|4[15]|5[138]|6[1-3]|7[156]|8[189]|9[1-489])`,`1(?:1|5(?:4[018]|5[017])|77|88|9[69])|2(?:2(?:[127]|3[014-9])|3[0-269]|4[59]|5(?:[1-3]|5[0-69]|9[19])|62|7(?:[1-35]|8[0189])|8(?:[16]|3[0134]|9[0-5])|9(?:[028]|17))|4(?:2(?:[13-79]|8[014-6])|3[0-57]|[45]|6[248]|7[2-47]|8[1-9]|9[29])|5(?:2|3(?:[045]|9[0-8])|4[0-369]|5[29]|8[02389]|9[0-3])|7(?:2[02-46-9]|34|[58]|6[0249]|7[57]|9(?:[23]|4[0-59]|5[01569]|6[0167]))|8(?:2(?:[1258]|4[0-39]|9[0-2469])|3(?:[29]|60)|49|51|6(?:[0-24]|36|5[0-3589]|7[23]|9[01459])|7[0-468]|8[68])|9(?:[23][1-9]|4[15]|5[138]|6[1-3]|7[156]|8[189]|9(?:[1289]|3[34]|4[0178]))|(?:264|837)[016-9]|2(?:57|93)[015-9]|(?:25[0468]|422|838)[01]|(?:47[59]|59[89]|8(?:6[68]|9))[019]`,`1(?:1|5(?:4[018]|5[017])|77|88|9[69])|2(?:2[127]|3[0-269]|4[59]|5(?:[1-3]|5[0-69]|9(?:17|99))|6(?:2|4[016-9])|7(?:[1-35]|8[0189])|8(?:[16]|3[0134]|9[0-5])|9(?:[028]|17))|4(?:2(?:[13-79]|8[014-6])|3[0-57]|[45]|6[248]|7[2-47]|9[29])|5(?:2|3(?:[045]|9(?:[0-58]|6[4-9]|7[0-35689]))|4[0-369]|5[29]|8[02389]|9[0-3])|7(?:2[02-46-9]|34|[58]|6[0249]|7[57]|9(?:[23]|4[0-59]|5[01569]|6[0167]))|8(?:2(?:[1258]|4[0-39]|9[0169])|3(?:[29]|60|7(?:[017-9]|6[6-8]))|49|51|6(?:[0-24]|36[2-57-9]|5(?:[0-389]|5[23])|6(?:[01]|9[178])|7(?:2[2-468]|3[78])|9[0145])|7[0-468]|8[68])|9(?:4[15]|5[138]|7[156]|8[189]|9(?:[1289]|3(?:31|4[357])|4[0178]))|(?:8294|96)[1-3]|2(?:57|93)[015-9]|(?:223|8699)[014-9]|(?:25[0468]|422|838)[01]|(?:48|8292|9[23])[1-9]|(?:47[59]|59[89]|8(?:68|9))[019]`],`0$1`],[`(\\d{3})(\\d{2})(\\d{4})`,`$1-$2-$3`,[`[14]|[289][2-9]|5[3-9]|7[2-4679]`],`0$1`],[`(\\d{3})(\\d{3})(\\d{4})`,`$1-$2-$3`,[`800`],`0$1`],[`(\\d{2})(\\d{4})(\\d{4})`,`$1-$2-$3`,[`[25-9]`],`0$1`]],`0`,0,`(000[2569]\\d{4,6})$|(?:(?:003768)0?)|0`,`$1`],KE:[`254`,`000`,`(?:[17]\\d\\d|900)\\d{6}|(?:2|80)0\\d{6,7}|[4-6]\\d{6,8}`,[7,8,9,10],[[`(\\d{2})(\\d{5,7})`,`$1 $2`,[`[24-6]`],`0$1`],[`(\\d{3})(\\d{6})`,`$1 $2`,[`[17]`],`0$1`],[`(\\d{3})(\\d{3})(\\d{3,4})`,`$1 $2 $3`,[`[89]`],`0$1`]],`0`],KG:[`996`,`00`,`8\\d{9}|[235-9]\\d{8}`,[9,10],[[`(\\d{4})(\\d{5})`,`$1 $2`,[`3(?:1[346]|[24-79])`],`0$1`],[`(\\d{3})(\\d{3})(\\d{3})`,`$1 $2 $3`,[`[235-79]|88`],`0$1`],[`(\\d{3})(\\d{3})(\\d)(\\d{2,3})`,`$1 $2 $3 $4`,[`8`],`0$1`]],`0`],KH:[`855`,`00[14-9]`,`1\\d{9}|[1-9]\\d{7,8}`,[8,9,10],[[`(\\d{2})(\\d{3})(\\d{3,4})`,`$1 $2 $3`,[`[1-9]`],`0$1`],[`(\\d{4})(\\d{3})(\\d{3})`,`$1 $2 $3`,[`1`]]],`0`],KI:[`686`,`00`,`(?:[37]\\d|6[0-79])\\d{6}|(?:[2-48]\\d|50)\\d{3}`,[5,8],0,`0`],KM:[`269`,`00`,`[3478]\\d{6}`,[7],[[`(\\d{3})(\\d{2})(\\d{2})`,`$1 $2 $3`,[`[3478]`]]]],KN:[`1`,`011`,`(?:[58]\\d\\d|900)\\d{7}`,[10],0,`1`,0,`([2-7]\\d{6})$|1`,`869$1`,0,`869`],KP:[`850`,`00|99`,`85\\d{6}|(?:19\\d|[2-7])\\d{7}`,[8,10],[[`(\\d{2})(\\d{3})(\\d{3})`,`$1 $2 $3`,[`8`],`0$1`],[`(\\d)(\\d{3})(\\d{4})`,`$1 $2 $3`,[`[2-7]`],`0$1`],[`(\\d{3})(\\d{3})(\\d{4})`,`$1 $2 $3`,[`1`],`0$1`]],`0`],KR:[`82`,`00(?:[125689]|3(?:[46]5|91)|7(?:00|27|3|55|6[126]))`,`00[1-9]\\d{8,11}|(?:[12]|5\\d{3})\\d{7}|[13-6]\\d{9}|(?:[1-6]\\d|80)\\d{7}|[3-6]\\d{4,5}|(?:00|7)0\\d{8}`,[5,6,8,9,10,11,12,13,14],[[`(\\d{2})(\\d{3,4})`,`$1-$2`,[`(?:3[1-3]|[46][1-4]|5[1-5])1`],`0$1`],[`(\\d{4})(\\d{4})`,`$1-$2`,[`1`]],[`(\\d)(\\d{3,4})(\\d{4})`,`$1-$2-$3`,[`2`],`0$1`],[`(\\d{2})(\\d{3})(\\d{4})`,`$1-$2-$3`,[`[36]0|8`],`0$1`],[`(\\d{2})(\\d{3,4})(\\d{4})`,`$1-$2-$3`,[`[1346]|5[1-5]`],`0$1`],[`(\\d{2})(\\d{4})(\\d{4})`,`$1-$2-$3`,[`[57]`],`0$1`],[`(\\d{2})(\\d{5})(\\d{4})`,`$1-$2-$3`,[`5`],`0$1`]],`0`,0,`0(8(?:[1-46-8]|5\\d\\d))?`],KW:[`965`,`00`,`18\\d{5}|(?:[2569]\\d|41)\\d{6}`,[7,8],[[`(\\d{4})(\\d{3,4})`,`$1 $2`,[`[169]|2(?:[235]|4[1-35-9])|52`]],[`(\\d{3})(\\d{5})`,`$1 $2`,[`[245]`]]]],KY:[`1`,`011`,`(?:345|[58]\\d\\d|900)\\d{7}`,[10],0,`1`,0,`([2-9]\\d{6})$|1`,`345$1`,0,`345`],KZ:[`7`,`810`,`8\\d{13}|[78]\\d{9}`,[10,14],0,`8`,0,0,0,0,`7`,0,`8~10`],LA:[`856`,`00`,`[23]\\d{9}|3\\d{8}|(?:[235-8]\\d|41)\\d{6}`,[8,9,10],[[`(\\d{2})(\\d{3})(\\d{3})`,`$1 $2 $3`,[`2[13]|3[14]|[4-8]`],`0$1`],[`(\\d{2})(\\d{2})(\\d{2})(\\d{3})`,`$1 $2 $3 $4`,[`3`],`0$1`],[`(\\d{2})(\\d{2})(\\d{3})(\\d{3})`,`$1 $2 $3 $4`,[`[23]`],`0$1`]],`0`],LB:[`961`,`00`,`[27-9]\\d{7}|[13-9]\\d{6}`,[7,8],[[`(\\d)(\\d{3})(\\d{3})`,`$1 $2 $3`,[`[13-69]|7(?:[2-57]|62|8[0-6]|9[04-9])|8[02-9]`],`0$1`],[`(\\d{2})(\\d{3})(\\d{3})`,`$1 $2 $3`,[`[27-9]`]]],`0`],LC:[`1`,`011`,`(?:[58]\\d\\d|758|900)\\d{7}`,[10],0,`1`,0,`([2-8]\\d{6})$|1`,`758$1`,0,`758`],LI:[`423`,`00`,`[68]\\d{8}|(?:[2378]\\d|90)\\d{5}`,[7,9],[[`(\\d{3})(\\d{2})(\\d{2})`,`$1 $2 $3`,[`[2379]|8(?:0[09]|7)`,`[2379]|8(?:0(?:02|9)|7)`]],[`(\\d{3})(\\d{3})(\\d{3})`,`$1 $2 $3`,[`8`]],[`(\\d{2})(\\d{3})(\\d{4})`,`$1 $2 $3`,[`69`]],[`(\\d{3})(\\d{3})(\\d{3})`,`$1 $2 $3`,[`6`]]],`0`,0,`(1001)|0`],LK:[`94`,`00`,`[1-9]\\d{8}`,[9],[[`(\\d{2})(\\d{3})(\\d{4})`,`$1 $2 $3`,[`7`],`0$1`],[`(\\d{3})(\\d{3})(\\d{3})`,`$1 $2 $3`,[`[1-689]`],`0$1`]],`0`],LR:[`231`,`00`,`(?:[2457]\\d|33|88)\\d{7}|(?:2\\d|[4-6])\\d{6}`,[7,8,9],[[`(\\d)(\\d{3})(\\d{3})`,`$1 $2 $3`,[`4[67]|[56]`],`0$1`],[`(\\d{2})(\\d{3})(\\d{3})`,`$1 $2 $3`,[`2`],`0$1`],[`(\\d{2})(\\d{3})(\\d{4})`,`$1 $2 $3`,[`[2-578]`],`0$1`]],`0`],LS:[`266`,`00`,`(?:[256]\\d\\d|800)\\d{5}`,[8],[[`(\\d{4})(\\d{4})`,`$1 $2`,[`[2568]`]]]],LT:[`370`,`00`,`(?:[3469]\\d|52|[78]0)\\d{6}`,[8],[[`(\\d)(\\d{3})(\\d{4})`,`$1 $2 $3`,[`52[0-7]`],`(0-$1)`,1],[`(\\d{3})(\\d{2})(\\d{3})`,`$1 $2 $3`,[`[7-9]`],`0 $1`,1],[`(\\d{2})(\\d{6})`,`$1 $2`,[`37|4(?:[15]|6[1-8])`],`(0-$1)`,1],[`(\\d{3})(\\d{5})`,`$1 $2`,[`[3-6]`],`(0-$1)`,1]],`0`,0,`[08]`],LU:[`352`,`00`,`35[013-9]\\d{4,8}|6\\d{8}|35\\d{2,4}|(?:[2457-9]\\d|3[0-46-9])\\d{2,9}`,[4,5,6,7,8,9,10,11],[[`(\\d{2})(\\d{3})`,`$1 $2`,[`2(?:0[2-689]|[2-9])|[3-57]|8(?:0[2-9]|[13-9])|9(?:0[89]|[2-579])`]],[`(\\d{2})(\\d{2})(\\d{2})`,`$1 $2 $3`,[`2(?:0[2-689]|[2-9])|[3-57]|8(?:0[2-9]|[13-9])|9(?:0[89]|[2-579])`]],[`(\\d{2})(\\d{2})(\\d{3})`,`$1 $2 $3`,[`20[2-689]`]],[`(\\d{2})(\\d{2})(\\d{2})(\\d{1,2})`,`$1 $2 $3 $4`,[`20`]],[`(\\d{2})(\\d{2})(\\d{2})(\\d{1,5})`,`$1 $2 $3 $4`,[`[3-57]|8[13-9]|9(?:0[89]|[2-579])|(?:2|80)[2-9]`]],[`(\\d{3})(\\d{2})(\\d{3})`,`$1 $2 $3`,[`80[01]|90[015]`]],[`(\\d{2})(\\d{2})(\\d{2})(\\d{3})`,`$1 $2 $3 $4`,[`20`]],[`(\\d{3})(\\d{3})(\\d{3})`,`$1 $2 $3`,[`6`]],[`(\\d{2})(\\d{2})(\\d{2})(\\d{2})(\\d{1,2})`,`$1 $2 $3 $4 $5`,[`20`]]],0,0,`(15(?:0[06]|1[12]|[35]5|4[04]|6[26]|77|88|99)\\d)`],LV:[`371`,`00`,`(?:[268]\\d|78|90)\\d{6}`,[8],[[`(\\d{2})(\\d{3})(\\d{3})`,`$1 $2 $3`,[`[2679]|8[01]`]]]],LY:[`218`,`00`,`[2-9]\\d{8}`,[9],[[`(\\d{2})(\\d{7})`,`$1-$2`,[`[2-9]`],`0$1`]],`0`],MA:[`212`,`00`,`[5-8]\\d{8}`,[9],[[`(\\d{4})(\\d{5})`,`$1-$2`,[`892`],`0$1`],[`(\\d{2})(\\d{7})`,`$1-$2`,[`8(?:0[0-7]|9)`],`0$1`],[`(\\d)(\\d{2})(\\d{2})(\\d{2})(\\d{2})`,`$1 $2 $3 $4 $5`,[`[5-8]`],`0$1`]],`0`,0,0,0,0,`[5-8]`],MC:[`377`,`00`,`(?:[3489]|[67]\\d)\\d{7}`,[8,9],[[`(\\d{2})(\\d{3})(\\d{3})`,`$1 $2 $3`,[`4`],`0$1`],[`(\\d{2})(\\d{2})(\\d{2})(\\d{2})`,`$1 $2 $3 $4`,[`[389]`]],[`(\\d)(\\d{2})(\\d{2})(\\d{2})(\\d{2})`,`$1 $2 $3 $4 $5`,[`[67]`],`0$1`]],`0`],MD:[`373`,`00`,`(?:[235-7]\\d|[89]0)\\d{6}`,[8],[[`(\\d{3})(\\d{5})`,`$1 $2`,[`[89]`],`0$1`],[`(\\d{2})(\\d{3})(\\d{3})`,`$1 $2 $3`,[`22|3`],`0$1`],[`(\\d{3})(\\d{2})(\\d{3})`,`$1 $2 $3`,[`[25-7]`],`0$1`]],`0`],ME:[`382`,`00`,`(?:20|[3-79]\\d)\\d{6}|80\\d{6,7}`,[8,9],[[`(\\d{2})(\\d{3})(\\d{3,4})`,`$1 $2 $3`,[`[2-9]`],`0$1`]],`0`],MF:[`590`,`00`,`7090\\d{5}|(?:[56]9|[89]\\d)\\d{7}`,[9],0,`0`,0,0,0,0,0,[[`(?:59(?:0(?:0[079]|[14]3|[27][79]|3[03-7]|5[0-268]|87)|87\\d)|80[6-9]\\d\\d)\\d{4}`],[`(?:69(?:0\\d\\d|1(?:2[2-9]|3[0-5]))|7090[0-4])\\d{4}`],[`80[0-5]\\d{6}`],[`8[129]\\d{7}`],0,0,0,0,[`9(?:(?:39[5-7]|76[018])\\d|475[0-6])\\d{4}`]]],MG:[`261`,`00`,`[23]\\d{8}`,[9],[[`(\\d{2})(\\d{2})(\\d{3})(\\d{2})`,`$1 $2 $3 $4`,[`[23]`],`0$1`]],`0`,0,`([24-9]\\d{6})$|0`,`20$1`],MH:[`692`,`011`,`329\\d{4}|(?:[256]\\d|45)\\d{5}`,[7],[[`(\\d{3})(\\d{4})`,`$1-$2`,[`[2-6]`]]],`1`],MK:[`389`,`00`,`[2-578]\\d{7}`,[8],[[`(\\d)(\\d{3})(\\d{4})`,`$1 $2 $3`,[`2|34[47]|4(?:[37]7|5[47]|64)`],`0$1`],[`(\\d{2})(\\d{3})(\\d{3})`,`$1 $2 $3`,[`[347]`],`0$1`],[`(\\d{3})(\\d)(\\d{2})(\\d{2})`,`$1 $2 $3 $4`,[`[58]`],`0$1`]],`0`],ML:[`223`,`00`,`[24-9]\\d{7}`,[8],[[`(\\d{2})(\\d{2})(\\d{2})(\\d{2})`,`$1 $2 $3 $4`,[`[24-9]`]]]],MM:[`95`,`00`,`1\\d{5,7}|95\\d{6}|(?:[4-7]|9[0-46-9])\\d{6,8}|(?:2|8\\d)\\d{5,8}`,[6,7,8,9,10],[[`(\\d)(\\d{2})(\\d{3})`,`$1 $2 $3`,[`16|2`],`0$1`],[`(\\d{2})(\\d{2})(\\d{3})`,`$1 $2 $3`,[`4(?:[2-46]|5[3-5])|5|6(?:[1-689]|7[235-7])|7(?:[0-4]|5[2-7])|8[1-5]|(?:60|86)[23]`],`0$1`],[`(\\d)(\\d{3})(\\d{3,4})`,`$1 $2 $3`,[`[12]|452|678|86`,`[12]|452|6788|86`],`0$1`],[`(\\d{2})(\\d{3})(\\d{3,4})`,`$1 $2 $3`,[`[4-7]|8[1-35]`],`0$1`],[`(\\d)(\\d{3})(\\d{4,6})`,`$1 $2 $3`,[`9(?:2[0-4]|[35-9]|4[137-9])`],`0$1`],[`(\\d)(\\d{4})(\\d{4})`,`$1 $2 $3`,[`2`],`0$1`],[`(\\d{3})(\\d{3})(\\d{4})`,`$1 $2 $3`,[`8`],`0$1`],[`(\\d)(\\d{3})(\\d{3})(\\d{3})`,`$1 $2 $3 $4`,[`92`],`0$1`],[`(\\d)(\\d{5})(\\d{4})`,`$1 $2 $3`,[`9`],`0$1`]],`0`],MN:[`976`,`001`,`[12]\\d{7,9}|[5-9]\\d{7}`,[8,9,10],[[`(\\d{2})(\\d{2})(\\d{4})`,`$1 $2 $3`,[`11|2[16]`],`0$1`],[`(\\d{4})(\\d{4})`,`$1 $2`,[`[5-9]`]],[`(\\d{3})(\\d{5,6})`,`$1 $2`,[`[12]2[1-3]`],`0$1`],[`(\\d{4})(\\d{5,6})`,`$1 $2`,[`[12](?:27|3[2-8]|4[2-68]|5[1-4689])`,`[12](?:27|3[2-8]|4[2-68]|5[1-4689])[0-3]`],`0$1`],[`(\\d{5})(\\d{4,5})`,`$1 $2`,[`[12]`],`0$1`]],`0`],MO:[`853`,`00`,`0800\\d{3}|(?:28|[68]\\d)\\d{6}`,[7,8],[[`(\\d{4})(\\d{3})`,`$1 $2`,[`0`]],[`(\\d{4})(\\d{4})`,`$1 $2`,[`[268]`]]]],MP:[`1`,`011`,`[58]\\d{9}|(?:67|90)0\\d{7}`,[10],0,`1`,0,`([2-9]\\d{6})$|1`,`670$1`,0,`670`],MQ:[`596`,`00`,`7091\\d{5}|(?:[56]9|[89]\\d)\\d{7}`,[9],[[`(\\d{3})(\\d{2})(\\d{2})(\\d{2})`,`$1 $2 $3 $4`,[`[5-79]|8(?:0[6-9]|[36])`],`0$1`],[`(\\d{3})(\\d{2})(\\d{2})(\\d{2})`,`$1 $2 $3 $4`,[`8`],`0$1`]],`0`],MR:[`222`,`00`,`(?:[2-4]\\d\\d|800)\\d{5}`,[8],[[`(\\d{2})(\\d{2})(\\d{2})(\\d{2})`,`$1 $2 $3 $4`,[`[2-48]`]]]],MS:[`1`,`011`,`(?:[58]\\d\\d|664|900)\\d{7}`,[10],0,`1`,0,`([34]\\d{6})$|1`,`664$1`,0,`664`],MT:[`356`,`00`,`3550\\d{4}|(?:[2579]\\d\\d|800)\\d{5}`,[8],[[`(\\d{4})(\\d{4})`,`$1 $2`,[`[2357-9]`]]]],MU:[`230`,`0(?:0|[24-7]0|3[03])`,`(?:[57]|8\\d\\d)\\d{7}|[2-468]\\d{6}`,[7,8,10],[[`(\\d{3})(\\d{4})`,`$1 $2`,[`[2-46]|8[013]`]],[`(\\d{4})(\\d{4})`,`$1 $2`,[`[57]`]],[`(\\d{5})(\\d{5})`,`$1 $2`,[`8`]]],0,0,0,0,0,0,0,`020`],MV:[`960`,`0(?:0|19)`,`(?:800|9[0-57-9]\\d)\\d{7}|[34679]\\d{6}`,[7,10],[[`(\\d{3})(\\d{4})`,`$1-$2`,[`[34679]`]],[`(\\d{3})(\\d{3})(\\d{4})`,`$1 $2 $3`,[`[89]`]]],0,0,0,0,0,0,0,`00`],MW:[`265`,`00`,`(?:[1289]\\d|31|77)\\d{7}|1\\d{6}`,[7,9],[[`(\\d)(\\d{3})(\\d{3})`,`$1 $2 $3`,[`1[2-9]`],`0$1`],[`(\\d{3})(\\d{2})(\\d{2})(\\d{2})`,`$1 $2 $3 $4`,[`[1-37-9]`],`0$1`]],`0`],MX:[`52`,`0[09]`,`[2-9]\\d{9}`,[10],[[`(\\d{2})(\\d{4})(\\d{4})`,`$1 $2 $3`,[`33|5[56]|81`]],[`(\\d{3})(\\d{3})(\\d{4})`,`$1 $2 $3`,[`[2-9]`]]],0,0,0,0,0,0,0,`00`],MY:[`60`,`00`,`1\\d{8,9}|(?:3\\d|[4-9])\\d{7}`,[8,9,10],[[`(\\d)(\\d{3})(\\d{4})`,`$1-$2 $3`,[`[4-79]`],`0$1`],[`(\\d{2})(\\d{3})(\\d{3,4})`,`$1-$2 $3`,[`1(?:[02469]|[378][1-9]|53)|8`,`1(?:[02469]|[37][1-9]|53|8(?:[1-46-9]|5[7-9]))|8`],`0$1`],[`(\\d)(\\d{4})(\\d{4})`,`$1-$2 $3`,[`3`],`0$1`],[`(\\d)(\\d{3})(\\d{2})(\\d{4})`,`$1-$2-$3-$4`,[`1(?:[367]|80)`]],[`(\\d{3})(\\d{3})(\\d{4})`,`$1-$2 $3`,[`15`],`0$1`],[`(\\d{2})(\\d{4})(\\d{4})`,`$1-$2 $3`,[`1`],`0$1`]],`0`],MZ:[`258`,`00`,`(?:2|8\\d)\\d{7}`,[8,9],[[`(\\d{2})(\\d{3})(\\d{3,4})`,`$1 $2 $3`,[`2|8[2-9]`]],[`(\\d{3})(\\d{3})(\\d{3})`,`$1 $2 $3`,[`8`]]]],NA:[`264`,`00`,`[68]\\d{7,8}`,[8,9],[[`(\\d{2})(\\d{3})(\\d{3})`,`$1 $2 $3`,[`88`],`0$1`],[`(\\d{2})(\\d{3})(\\d{3,4})`,`$1 $2 $3`,[`6`],`0$1`],[`(\\d{3})(\\d{3})(\\d{3})`,`$1 $2 $3`,[`87`],`0$1`],[`(\\d{2})(\\d{3})(\\d{4})`,`$1 $2 $3`,[`8`],`0$1`]],`0`],NC:[`687`,`00`,`(?:050|[2-57-9]\\d\\d)\\d{3}`,[6],[[`(\\d{2})(\\d{2})(\\d{2})`,`$1.$2.$3`,[`[02-57-9]`]]]],NE:[`227`,`00`,`[027-9]\\d{7}`,[8],[[`(\\d{2})(\\d{3})(\\d{3})`,`$1 $2 $3`,[`08`]],[`(\\d{2})(\\d{2})(\\d{2})(\\d{2})`,`$1 $2 $3 $4`,[`[089]|2[013]|7[0467]`]]]],NF:[`672`,`00`,`[13]\\d{5}`,[6],[[`(\\d{2})(\\d{4})`,`$1 $2`,[`1[0-3]`]],[`(\\d)(\\d{5})`,`$1 $2`,[`[13]`]]],0,0,`([0-258]\\d{4})$`,`3$1`],NG:[`234`,`009`,`(?:20|9\\d)\\d{8}|[78]\\d{9,13}`,[10,11,12,13,14],[[`(\\d{3})(\\d{3})(\\d{3,4})`,`$1 $2 $3`,[`[7-9]`],`0$1`],[`(\\d{3})(\\d{3})(\\d{4})`,`$1 $2 $3`,[`20[129]`],`0$1`],[`(\\d{4})(\\d{2})(\\d{4})`,`$1 $2 $3`,[`2`],`0$1`],[`(\\d{3})(\\d{4})(\\d{4,5})`,`$1 $2 $3`,[`[78]`],`0$1`],[`(\\d{3})(\\d{5})(\\d{5,6})`,`$1 $2 $3`,[`[78]`],`0$1`]],`0`],NI:[`505`,`00`,`(?:1800|[25-8]\\d{3})\\d{4}`,[8],[[`(\\d{4})(\\d{4})`,`$1 $2`,[`[125-8]`]]]],NL:[`31`,`00`,`(?:[124-7]\\d\\d|3(?:[02-9]\\d|1[0-8]))\\d{6}|8\\d{6,9}|9\\d{6,10}|1\\d{4,5}`,[5,6,7,8,9,10,11],[[`(\\d{3})(\\d{4,7})`,`$1 $2`,[`[89]0`],`0$1`],[`(\\d{2})(\\d{7})`,`$1 $2`,[`66`],`0$1`],[`(\\d)(\\d{8})`,`$1 $2`,[`6`],`0$1`],[`(\\d{3})(\\d{3})(\\d{3})`,`$1 $2 $3`,[`1[16-8]|2[259]|3[124]|4[17-9]|5[124679]`],`0$1`],[`(\\d{2})(\\d{3})(\\d{4})`,`$1 $2 $3`,[`[1-578]|91`],`0$1`],[`(\\d{3})(\\d{3})(\\d{5})`,`$1 $2 $3`,[`9`],`0$1`]],`0`],NO:[`47`,`00`,`(?:0|[2-9]\\d{3})\\d{4}`,[5,8],[[`(\\d{3})(\\d{2})(\\d{3})`,`$1 $2 $3`,[`8`]],[`(\\d{2})(\\d{2})(\\d{2})(\\d{2})`,`$1 $2 $3 $4`,[`[2-79]`]]],0,0,0,0,0,`[02-689]|7[0-8]`],NP:[`977`,`00`,`(?:1\\d|9)\\d{9}|[1-9]\\d{7}`,[8,10,11],[[`(\\d)(\\d{7})`,`$1-$2`,[`1[2-6]`],`0$1`],[`(\\d{2})(\\d{6})`,`$1-$2`,[`1[01]|[2-8]|9(?:[1-59]|[67][2-6])`],`0$1`],[`(\\d{3})(\\d{7})`,`$1-$2`,[`9`]]],`0`],NR:[`674`,`00`,`(?:222|444|(?:55|8\\d)\\d|666|777|999)\\d{4}`,[7],[[`(\\d{3})(\\d{4})`,`$1 $2`,[`[24-9]`]]]],NU:[`683`,`00`,`(?:[4-7]|888\\d)\\d{3}`,[4,7],[[`(\\d{3})(\\d{4})`,`$1 $2`,[`8`]]]],NZ:[`64`,`0(?:0|161)`,`[1289]\\d{9}|50\\d{5}(?:\\d{2,3})?|[27-9]\\d{7,8}|(?:[34]\\d|6[0-35-9])\\d{6}|8\\d{4,6}`,[5,6,7,8,9,10],[[`(\\d{2})(\\d{3,8})`,`$1 $2`,[`8[1-79]`],`0$1`],[`(\\d{3})(\\d{2})(\\d{2,3})`,`$1 $2 $3`,[`50[036-8]|8|90`,`50(?:[0367]|88)|8|90`],`0$1`],[`(\\d)(\\d{3})(\\d{4})`,`$1 $2 $3`,[`24|[346]|7[2-57-9]|9[2-9]`],`0$1`],[`(\\d{3})(\\d{3})(\\d{3,4})`,`$1 $2 $3`,[`2(?:10|74)|[589]`],`0$1`],[`(\\d{2})(\\d{3,4})(\\d{4})`,`$1 $2 $3`,[`1|2[028]`],`0$1`],[`(\\d{2})(\\d{3})(\\d{3,5})`,`$1 $2 $3`,[`2(?:[169]|7[0-35-9])|7`],`0$1`]],`0`,0,0,0,0,0,0,`00`],OM:[`968`,`00`,`(?:1505|[279]\\d{3}|500)\\d{4}|800\\d{5,6}`,[7,8,9],[[`(\\d{3})(\\d{4,6})`,`$1 $2`,[`[58]`]],[`(\\d{2})(\\d{6})`,`$1 $2`,[`2`]],[`(\\d{4})(\\d{4})`,`$1 $2`,[`[179]`]]]],PA:[`507`,`00`,`(?:00800|8\\d{3})\\d{6}|[68]\\d{7}|[1-57-9]\\d{6}`,[7,8,10,11],[[`(\\d{3})(\\d{4})`,`$1-$2`,[`[1-57-9]`]],[`(\\d{4})(\\d{4})`,`$1-$2`,[`[68]`]],[`(\\d{3})(\\d{3})(\\d{4})`,`$1 $2 $3`,[`8`]]]],PE:[`51`,`00|19(?:1[124]|77|90)00`,`(?:[14-8]|9\\d)\\d{7}`,[8,9],[[`(\\d{3})(\\d{5})`,`$1 $2`,[`80`],`(0$1)`],[`(\\d)(\\d{7})`,`$1 $2`,[`1`],`(0$1)`],[`(\\d{2})(\\d{6})`,`$1 $2`,[`[4-8]`],`(0$1)`],[`(\\d{3})(\\d{3})(\\d{3})`,`$1 $2 $3`,[`9`]]],`0`,0,0,0,0,0,0,`00`,` Anexo `],PF:[`689`,`00`,`4\\d{5}(?:\\d{2})?|8\\d{7,8}`,[6,8,9],[[`(\\d{2})(\\d{2})(\\d{2})`,`$1 $2 $3`,[`44`]],[`(\\d{2})(\\d{2})(\\d{2})(\\d{2})`,`$1 $2 $3 $4`,[`4|8[7-9]`]],[`(\\d{3})(\\d{2})(\\d{2})(\\d{2})`,`$1 $2 $3 $4`,[`8`]]]],PG:[`675`,`00|140[1-3]`,`(?:180|[78]\\d{3})\\d{4}|(?:[2-589]\\d|64)\\d{5}`,[7,8],[[`(\\d{3})(\\d{4})`,`$1 $2`,[`18|[2-69]|85`]],[`(\\d{4})(\\d{4})`,`$1 $2`,[`[78]`]]],0,0,0,0,0,0,0,`00`],PH:[`63`,`00`,`(?:[2-7]|9\\d)\\d{8}|2\\d{5}|(?:1800|8)\\d{7,9}`,[6,8,9,10,11,12,13],[[`(\\d)(\\d{5})`,`$1 $2`,[`2`],`(0$1)`],[`(\\d{4})(\\d{4,6})`,`$1 $2`,[`3(?:23|39|46)|4(?:2[3-6]|[35]9|4[26]|76)|544|88[245]|(?:52|64|86)2`,`3(?:230|397|461)|4(?:2(?:35|[46]4|51)|396|4(?:22|63)|59[347]|76[15])|5(?:221|446)|642[23]|8(?:622|8(?:[24]2|5[13]))`],`(0$1)`],[`(\\d{5})(\\d{4})`,`$1 $2`,[`346|4(?:27|9[35])|883`,`3469|4(?:279|9(?:30|56))|8834`],`(0$1)`],[`(\\d)(\\d{4})(\\d{4})`,`$1 $2 $3`,[`2`],`(0$1)`],[`(\\d{2})(\\d{3})(\\d{4})`,`$1 $2 $3`,[`[3-7]|8[2-8]`],`(0$1)`],[`(\\d{3})(\\d{3})(\\d{4})`,`$1 $2 $3`,[`[89]`],`0$1`],[`(\\d{4})(\\d{3})(\\d{4})`,`$1 $2 $3`,[`1`]],[`(\\d{4})(\\d{1,2})(\\d{3})(\\d{4})`,`$1 $2 $3 $4`,[`1`]]],`0`],PK:[`92`,`00`,`122\\d{6}|[24-8]\\d{10,11}|9(?:[013-9]\\d{8,10}|2(?:[01]\\d\\d|2(?:[06-8]\\d|1[01]))\\d{7})|(?:[2-8]\\d{3}|92(?:[0-7]\\d|8[1-9]))\\d{6}|[24-9]\\d{8}|[89]\\d{7}`,[8,9,10,11,12],[[`(\\d{3})(\\d{3})(\\d{2,7})`,`$1 $2 $3`,[`[89]0`],`0$1`],[`(\\d{4})(\\d{5})`,`$1 $2`,[`1`]],[`(\\d{3})(\\d{6,7})`,`$1 $2`,[`2(?:3[2358]|4[2-4]|9[2-8])|45[3479]|54[2-467]|60[468]|72[236]|8(?:2[2-689]|3[23578]|4[3478]|5[2356])|9(?:2[2-8]|3[27-9]|4[2-6]|6[3569]|9[25-8])`,`9(?:2[3-8]|98)|(?:2(?:3[2358]|4[2-4]|9[2-8])|45[3479]|54[2-467]|60[468]|72[236]|8(?:2[2-689]|3[23578]|4[3478]|5[2356])|9(?:22|3[27-9]|4[2-6]|6[3569]|9[25-7]))[2-9]`],`(0$1)`],[`(\\d{2})(\\d{7,8})`,`$1 $2`,[`(?:2[125]|4[0-246-9]|5[1-35-7]|6[1-8]|7[14]|8[16]|91)[2-9]`],`(0$1)`],[`(\\d{5})(\\d{5})`,`$1 $2`,[`58`],`(0$1)`],[`(\\d{3})(\\d{7})`,`$1 $2`,[`3`],`0$1`],[`(\\d{2})(\\d{3})(\\d{3})(\\d{3})`,`$1 $2 $3 $4`,[`2[125]|4[0-246-9]|5[1-35-7]|6[1-8]|7[14]|8[16]|91`],`(0$1)`],[`(\\d{3})(\\d{3})(\\d{3})(\\d{3})`,`$1 $2 $3 $4`,[`[24-9]`],`(0$1)`]],`0`],PL:[`48`,`00`,`(?:6|8\\d\\d)\\d{7}|[1-9]\\d{6}(?:\\d{2})?|[26]\\d{5}`,[6,7,8,9,10],[[`(\\d{5})`,`$1`,[`19`]],[`(\\d{3})(\\d{3})`,`$1 $2`,[`11|20|64`]],[`(\\d{2})(\\d{2})(\\d{3})`,`$1 $2 $3`,[`30|(?:1[2-8]|2[2-69]|3[2-4]|4[1-468]|5[24-689]|6[1-3578]|7[14-7]|8[1-79]|9[145])1`,`30|(?:1[2-8]|2[2-69]|3[2-4]|4[1-468]|5[24-689]|6[1-3578]|7[14-7]|8[1-79]|9[145])19`]],[`(\\d{3})(\\d{2})(\\d{2,3})`,`$1 $2 $3`,[`64`]],[`(\\d{3})(\\d{3})(\\d{3})`,`$1 $2 $3`,[`21|39|45|5[0137]|6[0469]|7[02389]|8(?:0[14]|8)`]],[`(\\d{2})(\\d{3})(\\d{2})(\\d{2})`,`$1 $2 $3 $4`,[`1[2-8]|[2-7]|8[1-79]|9[145]`]],[`(\\d{3})(\\d{3})(\\d{3,4})`,`$1 $2 $3`,[`8`]]]],PM:[`508`,`00`,`[78]\\d{8}|[2-9]\\d{5}`,[6,9],[[`(\\d{2})(\\d{2})(\\d{2})`,`$1 $2 $3`,[`[2-9]`],`0$1`],[`(\\d{3})(\\d{3})(\\d{3})`,`$1 $2 $3`,[`7`]],[`(\\d{3})(\\d{2})(\\d{2})(\\d{2})`,`$1 $2 $3 $4`,[`8`],`0$1`]],`0`],PR:[`1`,`011`,`(?:[589]\\d\\d|787)\\d{7}`,[10],0,`1`,0,0,0,0,`787|939`],PS:[`970`,`00`,`[2489]2\\d{6}|(?:1\\d|5)\\d{8}`,[8,9,10],[[`(\\d)(\\d{3})(\\d{4})`,`$1 $2 $3`,[`[2489]`],`0$1`],[`(\\d{3})(\\d{3})(\\d{3})`,`$1 $2 $3`,[`5`],`0$1`],[`(\\d{4})(\\d{3})(\\d{3})`,`$1 $2 $3`,[`1`]]],`0`],PT:[`351`,`00`,`1693\\d{5}|(?:[26-9]\\d|30)\\d{7}`,[9],[[`(\\d{2})(\\d{3})(\\d{4})`,`$1 $2 $3`,[`2[12]`]],[`(\\d{3})(\\d{3})(\\d{3})`,`$1 $2 $3`,[`16|[236-9]`]]]],PW:[`680`,`01[12]`,`(?:[24-8]\\d\\d|345|900)\\d{4}`,[7],[[`(\\d{3})(\\d{4})`,`$1 $2`,[`[2-9]`]]]],PY:[`595`,`00`,`[36-8]\\d{5,8}|4\\d{6,8}|59\\d{6}|9\\d{5,10}|(?:2\\d|5[0-8])\\d{6,7}`,[6,7,8,9,10,11],[[`(\\d{3})(\\d{3,6})`,`$1 $2`,[`[2-9]0`],`0$1`],[`(\\d{2})(\\d{5})`,`$1 $2`,[`3[289]|4[246-8]|61|7[1-3]|8[1-36]`],`(0$1)`],[`(\\d{3})(\\d{4,5})`,`$1 $2`,[`2[279]|3[13-5]|4[359]|5|6(?:[34]|7[1-46-8])|7[46-8]|85`],`(0$1)`],[`(\\d{2})(\\d{3})(\\d{3,4})`,`$1 $2 $3`,[`2[14-68]|3[26-9]|4[1246-8]|6(?:1|75)|7[1-35]|8[1-36]`],`(0$1)`],[`(\\d{2})(\\d{3})(\\d{4})`,`$1 $2 $3`,[`87`]],[`(\\d{3})(\\d{6})`,`$1 $2`,[`9(?:[5-79]|8[1-7])`],`0$1`],[`(\\d{3})(\\d{3})(\\d{3})`,`$1 $2 $3`,[`[2-8]`],`0$1`],[`(\\d{4})(\\d{3})(\\d{4})`,`$1 $2 $3`,[`9`]]],`0`],QA:[`974`,`00`,`800\\d{4}|(?:2|800)\\d{6}|(?:0080|[3-7])\\d{7}`,[7,8,9,11],[[`(\\d{3})(\\d{4})`,`$1 $2`,[`2[136]|8`]],[`(\\d{4})(\\d{4})`,`$1 $2`,[`[3-7]`]]]],RE:[`262`,`00`,`709\\d{6}|(?:26|[689]\\d)\\d{7}`,[9],[[`(\\d{3})(\\d{2})(\\d{2})(\\d{2})`,`$1 $2 $3 $4`,[`[26-9]`],`0$1`]],`0`,0,0,0,0,0,[[`2631[0-6]\\d{4}|26(?:2\\d|30|88)\\d{5}`],[`(?:69(?:2\\d\\d|3(?:[06][0-6]|1[0-3]|2[0-2]|3[0-39]|4\\d|5[0-5]|7[0-37]|8[0-8]|9[0-479]))|7092[0-3])\\d{4}`],[`80\\d{7}`],[`89[1-37-9]\\d{6}`],0,0,0,0,[`9(?:399[0-3]|479[0-6]|76(?:2[278]|3[0-37]))\\d{4}`],[`8(?:1[019]|2[0156]|84|90)\\d{6}`]]],RO:[`40`,`00`,`(?:[236-8]\\d|90)\\d{7}|[23]\\d{5}`,[6,9],[[`(\\d{3})(\\d{3})`,`$1 $2`,[`2[3-6]`,`2[3-6]\\d9`],`0$1`],[`(\\d{2})(\\d{4})`,`$1 $2`,[`219|31`],`0$1`],[`(\\d{2})(\\d{3})(\\d{4})`,`$1 $2 $3`,[`[23]1`],`0$1`],[`(\\d{3})(\\d{3})(\\d{3})`,`$1 $2 $3`,[`[236-9]`],`0$1`]],`0`,0,0,0,0,0,0,0,` int `],RS:[`381`,`00`,`38[02-9]\\d{6,9}|6\\d{7,9}|90\\d{4,8}|38\\d{5,6}|(?:7\\d\\d|800)\\d{3,9}|(?:[12]\\d|3[0-79])\\d{5,10}`,[6,7,8,9,10,11,12],[[`(\\d{3})(\\d{3,9})`,`$1 $2`,[`(?:2[389]|39)0|[7-9]`],`0$1`],[`(\\d{2})(\\d{5,10})`,`$1 $2`,[`[1-36]`],`0$1`]],`0`],RU:[`7`,`810`,`8\\d{13}|[347-9]\\d{9}`,[10,14],[[`(\\d{4})(\\d{2})(\\d{2})(\\d{2})`,`$1 $2 $3 $4`,[`7(?:1[0-8]|2[1-9])`,`7(?:1(?:[0-356]2|4[29]|7|8[27])|2(?:1[23]|[2-9]2))`,`7(?:1(?:[0-356]2|4[29]|7|8[27])|2(?:13[03-69]|62[013-9]))|72[1-57-9]2`],`8 ($1)`,1],[`(\\d{5})(\\d)(\\d{2})(\\d{2})`,`$1 $2 $3 $4`,[`7(?:1[0-68]|2[1-9])`,`7(?:1(?:[06][3-6]|[18]|2[35]|[3-5][3-5])|2(?:[13][3-5]|[24-689]|7[457]))`,`7(?:1(?:0(?:[356]|4[023])|[18]|2(?:3[013-9]|5)|3[45]|43[013-79]|5(?:3[1-8]|4[1-7]|5)|6(?:3[0-35-9]|[4-6]))|2(?:1(?:3[178]|[45])|[24-689]|3[35]|7[457]))|7(?:14|23)4[0-8]|71(?:33|45)[1-79]`],`8 ($1)`,1],[`(\\d{3})(\\d{3})(\\d{4})`,`$1 $2 $3`,[`7`],`8 ($1)`,1],[`(\\d{3})(\\d{3})(\\d{2})(\\d{2})`,`$1 $2-$3-$4`,[`[349]|8(?:[02-7]|1[1-8])`],`8 ($1)`,1],[`(\\d{4})(\\d{4})(\\d{3})(\\d{3})`,`$1 $2 $3 $4`,[`8`],`8 ($1)`]],`8`,0,0,0,0,`[3489]`,0,`8~10`],RW:[`250`,`00`,`(?:06|[27]\\d\\d|[89]00)\\d{6}`,[8,9],[[`(\\d{2})(\\d{2})(\\d{2})(\\d{2})`,`$1 $2 $3 $4`,[`0`]],[`(\\d{3})(\\d{3})(\\d{3})`,`$1 $2 $3`,[`2`]],[`(\\d{3})(\\d{3})(\\d{3})`,`$1 $2 $3`,[`[7-9]`],`0$1`]],`0`],SA:[`966`,`00`,`(?:[15]\\d|800|92)\\d{7}`,[9,10],[[`(\\d{4})(\\d{5})`,`$1 $2`,[`9`]],[`(\\d{2})(\\d{3})(\\d{4})`,`$1 $2 $3`,[`1`],`0$1`],[`(\\d{2})(\\d{3})(\\d{4})`,`$1 $2 $3`,[`5`],`0$1`],[`(\\d{3})(\\d{3})(\\d{4})`,`$1 $2 $3`,[`8`]]],`0`],SB:[`677`,`0[01]`,`[6-9]\\d{6}|[1-6]\\d{4}`,[5,7],[[`(\\d{2})(\\d{5})`,`$1 $2`,[`6[89]|7|8[4-9]|9(?:[1-8]|9[0-8])`]]]],SC:[`248`,`010|0[0-2]`,`(?:[2489]\\d|64)\\d{5}`,[7],[[`(\\d)(\\d{3})(\\d{3})`,`$1 $2 $3`,[`[246]|9[57]`]]],0,0,0,0,0,0,0,`00`],SD:[`249`,`00`,`[19]\\d{8}`,[9],[[`(\\d{2})(\\d{3})(\\d{4})`,`$1 $2 $3`,[`[19]`],`0$1`]],`0`],SE:[`46`,`00`,`(?:[26]\\d\\d|9)\\d{9}|[1-9]\\d{8}|[1-689]\\d{7}|[1-4689]\\d{6}|2\\d{5}`,[6,7,8,9,10,12],[[`(\\d{2})(\\d{2,3})(\\d{2})`,`$1-$2 $3`,[`20`],`0$1`,0,`$1 $2 $3`],[`(\\d{3})(\\d{4})`,`$1-$2`,[`9(?:00|39|44|9)`],`0$1`,0,`$1 $2`],[`(\\d{2})(\\d{3})(\\d{2})`,`$1-$2 $3`,[`[12][136]|3[356]|4[0246]|6[03]|90[1-9]`],`0$1`,0,`$1 $2 $3`],[`(\\d)(\\d{2,3})(\\d{2})(\\d{2})`,`$1-$2 $3 $4`,[`8`],`0$1`,0,`$1 $2 $3 $4`],[`(\\d{3})(\\d{2,3})(\\d{2})`,`$1-$2 $3`,[`1[2457]|2(?:[247-9]|5[0138])|3[0247-9]|4[1357-9]|5[0-35-9]|6(?:[125689]|4[02-57]|7[0-2])|9(?:[125-8]|3[02-5]|4[0-3])`],`0$1`,0,`$1 $2 $3`],[`(\\d{3})(\\d{2,3})(\\d{3})`,`$1-$2 $3`,[`9(?:00|39|44)`],`0$1`,0,`$1 $2 $3`],[`(\\d{2})(\\d{2,3})(\\d{2})(\\d{2})`,`$1-$2 $3 $4`,[`1[13689]|2[0136]|3[1356]|4[0246]|54|6[03]|90[1-9]`],`0$1`,0,`$1 $2 $3 $4`],[`(\\d{2})(\\d{3})(\\d{2})(\\d{2})`,`$1-$2 $3 $4`,[`10|7`],`0$1`,0,`$1 $2 $3 $4`],[`(\\d)(\\d{3})(\\d{3})(\\d{2})`,`$1-$2 $3 $4`,[`8`],`0$1`,0,`$1 $2 $3 $4`],[`(\\d{3})(\\d{2})(\\d{2})(\\d{2})`,`$1-$2 $3 $4`,[`[13-5]|2(?:[247-9]|5[0138])|6(?:[124-689]|7[0-2])|9(?:[125-8]|3[02-5]|4[0-3])`],`0$1`,0,`$1 $2 $3 $4`],[`(\\d{3})(\\d{2})(\\d{2})(\\d{3})`,`$1-$2 $3 $4`,[`9`],`0$1`,0,`$1 $2 $3 $4`],[`(\\d{3})(\\d{2})(\\d{3})(\\d{2})(\\d{2})`,`$1-$2 $3 $4 $5`,[`[26]`],`0$1`,0,`$1 $2 $3 $4 $5`]],`0`],SG:[`65`,`0[0-3]\\d`,`(?:(?:1\\d|8)\\d\\d|7000)\\d{7}|[3689]\\d{7}`,[8,10,11],[[`(\\d{4})(\\d{4})`,`$1 $2`,[`[369]|8(?:0[1-9]|[1-9])`]],[`(\\d{3})(\\d{3})(\\d{4})`,`$1 $2 $3`,[`8`]],[`(\\d{4})(\\d{4})(\\d{3})`,`$1 $2 $3`,[`7`]],[`(\\d{4})(\\d{3})(\\d{4})`,`$1 $2 $3`,[`1`]]]],SH:[`290`,`00`,`(?:[256]\\d|8)\\d{3}`,[4,5],0,0,0,0,0,0,`[256]`],SI:[`386`,`00|10(?:22|66|88|99)`,`[1-7]\\d{7}|8\\d{4,7}|90\\d{4,6}`,[5,6,7,8],[[`(\\d{2})(\\d{3,6})`,`$1 $2`,[`8[09]|9`],`0$1`],[`(\\d{3})(\\d{5})`,`$1 $2`,[`59|8`],`0$1`],[`(\\d{2})(\\d{3})(\\d{3})`,`$1 $2 $3`,[`[37][01]|4[013]|51|6`],`0$1`],[`(\\d)(\\d{3})(\\d{2})(\\d{2})`,`$1 $2 $3 $4`,[`[1-57]`],`(0$1)`]],`0`,0,0,0,0,0,0,`00`],SJ:[`47`,`00`,`0\\d{4}|(?:[489]\\d|79)\\d{6}`,[5,8],0,0,0,0,0,0,`79`],SK:[`421`,`00`,`[2-689]\\d{8}|[2-59]\\d{6}|[2-5]\\d{5}`,[6,7,9],[[`(\\d)(\\d{2})(\\d{3,4})`,`$1 $2 $3`,[`21`],`0$1`],[`(\\d{2})(\\d{2})(\\d{2,3})`,`$1 $2 $3`,[`[3-5][1-8]1`,`[3-5][1-8]1[67]`],`0$1`],[`(\\d)(\\d{3})(\\d{3})(\\d{2})`,`$1 $2 $3 $4`,[`2`],`0$1`],[`(\\d{3})(\\d{3})(\\d{3})`,`$1 $2 $3`,[`[689]`],`0$1`],[`(\\d{2})(\\d{3})(\\d{2})(\\d{2})`,`$1 $2 $3 $4`,[`[3-5]`],`0$1`]],`0`],SL:[`232`,`00`,`(?:[237-9]\\d|66)\\d{6}`,[8],[[`(\\d{2})(\\d{6})`,`$1 $2`,[`[236-9]`],`(0$1)`]],`0`],SM:[`378`,`00`,`(?:0549|[5-7]\\d)\\d{6}`,[8,10],[[`(\\d{2})(\\d{2})(\\d{2})(\\d{2})`,`$1 $2 $3 $4`,[`[5-7]`]],[`(\\d{4})(\\d{6})`,`$1 $2`,[`0`]]],0,0,`([89]\\d{5})$`,`0549$1`],SN:[`221`,`00`,`(?:[378]\\d|93)\\d{7}`,[9],[[`(\\d{3})(\\d{2})(\\d{2})(\\d{2})`,`$1 $2 $3 $4`,[`8`]],[`(\\d{2})(\\d{3})(\\d{2})(\\d{2})`,`$1 $2 $3 $4`,[`[379]`]]]],SO:[`252`,`00`,`[346-9]\\d{8}|[12679]\\d{7}|[1-5]\\d{6}|[1348]\\d{5}`,[6,7,8,9],[[`(\\d{2})(\\d{4})`,`$1 $2`,[`8[125]`]],[`(\\d{6})`,`$1`,[`[134]`]],[`(\\d)(\\d{6})`,`$1 $2`,[`[15]|2[0-79]|3[0-46-8]|4[0-7]`]],[`(\\d{2})(\\d{5,7})`,`$1 $2`,[`1|28|9[2-9]`]],[`(\\d)(\\d{7})`,`$1 $2`,[`[267]|904`]],[`(\\d{2})(\\d{3})(\\d{4})`,`$1 $2 $3`,[`[346-9]`]]],`0`],SR:[`597`,`00`,`(?:[2-5]|[6-9]\\d)\\d{5}`,[6,7],[[`(\\d{2})(\\d{2})(\\d{2})`,`$1-$2-$3`,[`56`]],[`(\\d{3})(\\d{3})`,`$1-$2`,[`[2-5]`]],[`(\\d{3})(\\d{4})`,`$1-$2`,[`[6-9]`]]]],SS:[`211`,`00`,`[19]\\d{8}`,[9],[[`(\\d{3})(\\d{3})(\\d{3})`,`$1 $2 $3`,[`[19]`],`0$1`]],`0`],ST:[`239`,`00`,`(?:22|9\\d)\\d{5}`,[7],[[`(\\d{3})(\\d{4})`,`$1 $2`,[`[29]`]]]],SV:[`503`,`00`,`[25-7]\\d{7}|(?:80\\d|900)\\d{4}(?:\\d{4})?`,[7,8,11],[[`(\\d{3})(\\d{4})`,`$1 $2`,[`[89]`]],[`(\\d{4})(\\d{4})`,`$1 $2`,[`[25-7]`]],[`(\\d{3})(\\d{4})(\\d{4})`,`$1 $2 $3`,[`[89]`]]]],SX:[`1`,`011`,`7215\\d{6}|(?:[58]\\d\\d|900)\\d{7}`,[10],0,`1`,0,`(5\\d{6})$|1`,`721$1`,0,`721`],SY:[`963`,`00`,`[1-359]\\d{8}|[1-5]\\d{7}`,[8,9],[[`(\\d{2})(\\d{3})(\\d{3,4})`,`$1 $2 $3`,[`[1-4]|5[1-3]`],`0$1`,1],[`(\\d{3})(\\d{3})(\\d{3})`,`$1 $2 $3`,[`[59]`],`0$1`,1]],`0`],SZ:[`268`,`00`,`0800\\d{4}|(?:[237]\\d|900)\\d{6}`,[8,9],[[`(\\d{4})(\\d{4})`,`$1 $2`,[`[0237]`]],[`(\\d{5})(\\d{4})`,`$1 $2`,[`9`]]]],TA:[`290`,`00`,`8\\d{3}`,[4],0,0,0,0,0,0,`8`],TC:[`1`,`011`,`(?:[58]\\d\\d|649|900)\\d{7}`,[10],0,`1`,0,`([2-479]\\d{6})$|1`,`649$1`,0,`649`],TD:[`235`,`00|16`,`(?:22|[3689]\\d|77)\\d{6}`,[8],[[`(\\d{2})(\\d{2})(\\d{2})(\\d{2})`,`$1 $2 $3 $4`,[`[236-9]`]]],0,0,0,0,0,0,0,`00`],TG:[`228`,`00`,`[279]\\d{7}`,[8],[[`(\\d{2})(\\d{2})(\\d{2})(\\d{2})`,`$1 $2 $3 $4`,[`[279]`]]]],TH:[`66`,`00[1-9]`,`(?:001800|[2-57]|[689]\\d)\\d{7}|1\\d{7,9}`,[8,9,10,13],[[`(\\d)(\\d{3})(\\d{4})`,`$1 $2 $3`,[`2`],`0$1`],[`(\\d{2})(\\d{3})(\\d{3,4})`,`$1 $2 $3`,[`[13-9]`],`0$1`],[`(\\d{4})(\\d{3})(\\d{3})`,`$1 $2 $3`,[`1`]]],`0`],TJ:[`992`,`810`,`(?:[0-57-9]\\d|66)\\d{7}`,[9],[[`(\\d{6})(\\d)(\\d{2})`,`$1 $2 $3`,[`331`,`3317`]],[`(\\d{3})(\\d{2})(\\d{4})`,`$1 $2 $3`,[`44[02-479]|[34]7`]],[`(\\d{4})(\\d)(\\d{4})`,`$1 $2 $3`,[`3(?:[1245]|3[12])`]],[`(\\d{2})(\\d{3})(\\d{4})`,`$1 $2 $3`,[`\\d`]]],0,0,0,0,0,0,0,`8~10`],TK:[`690`,`00`,`[2-47]\\d{3,6}`,[4,5,6,7]],TL:[`670`,`00`,`7\\d{7}|(?:[2-47]\\d|[89]0)\\d{5}`,[7,8],[[`(\\d{3})(\\d{4})`,`$1 $2`,[`[2-489]|70`]],[`(\\d{4})(\\d{4})`,`$1 $2`,[`7`]]]],TM:[`993`,`810`,`[1-7]\\d{7}`,[8],[[`(\\d{2})(\\d{2})(\\d{2})(\\d{2})`,`$1 $2-$3-$4`,[`12`],`(8 $1)`],[`(\\d{3})(\\d)(\\d{2})(\\d{2})`,`$1 $2-$3-$4`,[`[1-5]`],`(8 $1)`],[`(\\d{2})(\\d{6})`,`$1 $2`,[`[67]`],`8 $1`]],`8`,0,0,0,0,0,0,`8~10`],TN:[`216`,`00`,`[2-57-9]\\d{7}`,[8],[[`(\\d{2})(\\d{3})(\\d{3})`,`$1 $2 $3`,[`[2-57-9]`]]]],TO:[`676`,`00`,`(?:0800|(?:[5-8]\\d\\d|999)\\d)\\d{3}|[2-8]\\d{4}`,[5,7],[[`(\\d{2})(\\d{3})`,`$1-$2`,[`[2-4]|50|6[09]|7[0-24-69]|8[05]`]],[`(\\d{4})(\\d{3})`,`$1 $2`,[`0`]],[`(\\d{3})(\\d{4})`,`$1 $2`,[`[5-9]`]]]],TR:[`90`,`00`,`4\\d{6}|8\\d{11,12}|(?:[2-58]\\d\\d|900)\\d{7}`,[7,10,12,13],[[`(\\d{3})(\\d{3})(\\d{4})`,`$1 $2 $3`,[`512|8[01589]|90`],`0$1`,1],[`(\\d{3})(\\d{3})(\\d{2})(\\d{2})`,`$1 $2 $3 $4`,[`5[0-79]`],`0$1`,1],[`(\\d{3})(\\d{3})(\\d{2})(\\d{2})`,`$1 $2 $3 $4`,[`[24][1-8]|3[1-9]`],`(0$1)`,1],[`(\\d{3})(\\d{3})(\\d{6,7})`,`$1 $2 $3`,[`80`],`0$1`,1]],`0`],TT:[`1`,`011`,`(?:[58]\\d\\d|900)\\d{7}`,[10],0,`1`,0,`([2-46-8]\\d{6})$|1`,`868$1`,0,`868`],TV:[`688`,`00`,`(?:2|7\\d\\d|90)\\d{4}`,[5,6,7],[[`(\\d{2})(\\d{3})`,`$1 $2`,[`2`]],[`(\\d{2})(\\d{4})`,`$1 $2`,[`90`]],[`(\\d{2})(\\d{5})`,`$1 $2`,[`7`]]]],TW:[`886`,`0(?:0[25-79]|19)`,`[2-689]\\d{8}|7\\d{9,10}|[2-8]\\d{7}|2\\d{6}`,[7,8,9,10,11],[[`(\\d{2})(\\d)(\\d{4})`,`$1 $2 $3`,[`202`],`0$1`],[`(\\d{3})(\\d{5})`,`$1 $2`,[`826`],`0$1`],[`(\\d{3})(\\d{2})(\\d{3})`,`$1 $2 $3`,[`83`],`0$1`],[`(\\d{2})(\\d{2})(\\d{4})`,`$1 $2 $3`,[`82`],`0$1`],[`(\\d{2})(\\d{3})(\\d{3,4})`,`$1 $2 $3`,[`[25]0|37|49|8[09]`],`0$1`],[`(\\d)(\\d{3,4})(\\d{4})`,`$1 $2 $3`,[`[23568]|4(?:0[02-48]|[1-478])|7[1-9]`,`[23568]|4(?:0[2-48]|[1-478])|(?:400|7)[1-9]`],`0$1`],[`(\\d{3})(\\d{3})(\\d{3})`,`$1 $2 $3`,[`[49]`],`0$1`],[`(\\d{2})(\\d{4})(\\d{4,5})`,`$1 $2 $3`,[`7`],`0$1`]],`0`,0,0,0,0,0,0,0,`#`],TZ:[`255`,`00[056]`,`(?:[25-8]\\d|41|90)\\d{7}`,[9],[[`(\\d{3})(\\d{2})(\\d{4})`,`$1 $2 $3`,[`[89]`],`0$1`],[`(\\d{2})(\\d{3})(\\d{4})`,`$1 $2 $3`,[`[24]`],`0$1`],[`(\\d{2})(\\d{7})`,`$1 $2`,[`5`]],[`(\\d{3})(\\d{3})(\\d{3})`,`$1 $2 $3`,[`[67]`],`0$1`]],`0`],UA:[`380`,`00`,`[89]\\d{9}|[3-9]\\d{8}`,[9,10],[[`(\\d{3})(\\d{3})(\\d{3})`,`$1 $2 $3`,[`6[12][29]|(?:3[1-8]|4[136-8]|5[12457]|6[49])2|(?:56|65)[24]`,`6[12][29]|(?:35|4[1378]|5[12457]|6[49])2|(?:56|65)[24]|(?:3[1-46-8]|46)2[013-9]`],`0$1`],[`(\\d{4})(\\d{5})`,`$1 $2`,[`3[1-8]|4(?:[1367]|[45][6-9]|8[4-6])|5(?:[1-5]|6[0135689]|7[4-6])|6(?:[12][3-7]|[459])`,`3[1-8]|4(?:[1367]|[45][6-9]|8[4-6])|5(?:[1-5]|6(?:[015689]|3[02389])|7[4-6])|6(?:[12][3-7]|[459])`],`0$1`],[`(\\d{2})(\\d{3})(\\d{4})`,`$1 $2 $3`,[`[3-7]|89|9[1-9]`],`0$1`],[`(\\d{3})(\\d{3})(\\d{3,4})`,`$1 $2 $3`,[`[89]`],`0$1`]],`0`,0,0,0,0,0,0,`0~0`],UG:[`256`,`00[057]`,`800\\d{6}|(?:[29]0|[347]\\d)\\d{7}`,[9],[[`(\\d{4})(\\d{5})`,`$1 $2`,[`202`,`2024`],`0$1`],[`(\\d{3})(\\d{6})`,`$1 $2`,[`[27-9]|4(?:6[45]|[7-9])`],`0$1`],[`(\\d{2})(\\d{7})`,`$1 $2`,[`[34]`],`0$1`]],`0`],US:[`1`,`011`,`[2-9]\\d{9}|3\\d{6}`,[10],[[`(\\d{3})(\\d{4})`,`$1-$2`,[`310`],0,1],[`(\\d{3})(\\d{3})(\\d{4})`,`($1) $2-$3`,[`[2-9]`],0,1,`$1-$2-$3`]],`1`,0,0,0,0,0,[[`(?:472[2-47-9]|983[2-57-9])\\d{6}|(?:2(?:0[1-35-9]|1[02-9]|2[03-57-9]|3[1459]|4[08]|5[1-46]|6[0279]|7[02469]|8[13])|3(?:0[1-57-9]|1[02-9]|2[013-79]|3[0-24679]|4[167]|5[0-3]|6[01349]|8[056])|4(?:0[124-9]|1[02-579]|2[3-5]|3[0245]|4[023578]|58|6[349]|7[0589]|8[04])|5(?:0[1-57-9]|1[0235-8]|20|3[0149]|4[01]|5[179]|6[1-47]|7[0-5]|8[0256])|6(?:0[1-35-9]|1[024-9]|2[03689]|3[016]|4[0156]|5[01679]|6[0-279]|78|8[0-269])|7(?:0[1-46-8]|1[2-9]|2[04-8]|3[0-2478]|4[0378]|5[47]|6[02359]|7[0-59]|8[156])|8(?:0[1-68]|1[02-8]|2[0168]|3[0-2589]|4[03578]|5[046-9]|6[02-5]|7[028])|9(?:0[1346-9]|1[02-9]|2[0589]|3[0146-8]|4[01357-9]|5[12469]|7[0-3589]|8[04-69]))[2-9]\\d{6}`],[``],[`8(?:00|33|44|55|66|77|88)[2-9]\\d{6}`],[`900[2-9]\\d{6}`],[`52(?:3(?:[2-46-9][02-9]\\d|5(?:[02-46-9]\\d|5[0-46-9]))|4(?:[2-478][02-9]\\d|5(?:[034]\\d|2[024-9]|5[0-46-9])|6(?:0[1-9]|[2-9]\\d)|9(?:[05-9]\\d|2[0-5]|49)))\\d{4}|52[34][2-9]1[02-9]\\d{4}|5(?:00|2[125-9]|3[23]|44|66|77|88)[2-9]\\d{6}`]]],UY:[`598`,`0(?:0|1[3-9]\\d)`,`0004\\d{2,9}|[1249]\\d{7}|2\\d{3,4}|(?:[49]\\d|80)\\d{5}`,[4,5,6,7,8,9,10,11,12,13],[[`(\\d{4,5})`,`$1`,[`21`]],[`(\\d{3})(\\d{3,4})`,`$1 $2`,[`0`]],[`(\\d{3})(\\d{4})`,`$1 $2`,[`[49]0|8`],`0$1`],[`(\\d{2})(\\d{3})(\\d{3})`,`$1 $2 $3`,[`9`],`0$1`],[`(\\d{4})(\\d{4})`,`$1 $2`,[`[124]`]],[`(\\d{3})(\\d{3})(\\d{2,4})`,`$1 $2 $3`,[`0`]],[`(\\d{3})(\\d{3})(\\d{3})(\\d{2,4})`,`$1 $2 $3 $4`,[`0`]]],`0`,0,0,0,0,0,0,`00`,` int. `],UZ:[`998`,`00`,`(?:20|33|[5-9]\\d)\\d{7}`,[9],[[`(\\d{2})(\\d{3})(\\d{2})(\\d{2})`,`$1 $2 $3 $4`,[`[235-9]`]]]],VA:[`39`,`00`,`0\\d{5,10}|3[0-8]\\d{7,10}|55\\d{8}|8\\d{5}(?:\\d{2,4})?|(?:1\\d|39)\\d{7,8}`,[6,7,8,9,10,11,12],0,0,0,0,0,0,`06698`],VC:[`1`,`011`,`(?:[58]\\d\\d|784|900)\\d{7}`,[10],0,`1`,0,`([2-7]\\d{6})$|1`,`784$1`,0,`784`],VE:[`58`,`00`,`[68]00\\d{7}|(?:[24]\\d|[59]0)\\d{8}`,[10],[[`(\\d{3})(\\d{7})`,`$1-$2`,[`[24-689]`],`0$1`]],`0`],VG:[`1`,`011`,`(?:284|[58]\\d\\d|900)\\d{7}`,[10],0,`1`,0,`([2-578]\\d{6})$|1`,`284$1`,0,`284`],VI:[`1`,`011`,`[58]\\d{9}|(?:34|90)0\\d{7}`,[10],0,`1`,0,`([2-9]\\d{6})$|1`,`340$1`,0,`340`],VN:[`84`,`00`,`[12]\\d{9}|[135-9]\\d{8}|[16]\\d{6,7}|7\\d{6}`,[7,8,9,10],[[`(\\d{4})(\\d{4,6})`,`$1 $2`,[`1(?:2[02]|[89])`],0,1],[`(\\d{2})(\\d{3})(\\d{2})(\\d{2})`,`$1 $2 $3 $4`,[`1[26]|6`],`0$1`,1],[`(\\d{3})(\\d{3})(\\d{3})`,`$1 $2 $3`,[`[357-9]`],`0$1`,1],[`(\\d{2})(\\d{4})(\\d{4})`,`$1 $2 $3`,[`2[48]`],`0$1`,1],[`(\\d{3})(\\d{4})(\\d{3})`,`$1 $2 $3`,[`2`],`0$1`,1]],`0`],VU:[`678`,`00`,`[57-9]\\d{6}|(?:[238]\\d|48)\\d{3}`,[5,7],[[`(\\d{3})(\\d{4})`,`$1 $2`,[`[57-9]`]]]],WF:[`681`,`00`,`(?:40|72|8\\d{4})\\d{4}|[89]\\d{5}`,[6,9],[[`(\\d{2})(\\d{2})(\\d{2})`,`$1 $2 $3`,[`[47-9]`]],[`(\\d{3})(\\d{2})(\\d{2})(\\d{2})`,`$1 $2 $3 $4`,[`8`]]]],WS:[`685`,`0`,`(?:[2-6]|8\\d{5})\\d{4}|[78]\\d{6}|[68]\\d{5}`,[5,6,7,10],[[`(\\d{5})`,`$1`,[`[2-5]|6[1-9]`]],[`(\\d{3})(\\d{3,7})`,`$1 $2`,[`[68]`]],[`(\\d{2})(\\d{5})`,`$1 $2`,[`7`]]]],XK:[`383`,`00`,`2\\d{7,8}|3\\d{7,11}|(?:4\\d\\d|[89]00)\\d{5}`,[8,9,10,11,12],[[`(\\d{3})(\\d{5})`,`$1 $2`,[`[89]`],`0$1`],[`(\\d{2})(\\d{3})(\\d{3})`,`$1 $2 $3`,[`[2-4]`],`0$1`],[`(\\d{3})(\\d{3})(\\d{3})`,`$1 $2 $3`,[`2|39`],`0$1`],[`(\\d{2})(\\d{7,10})`,`$1 $2`,[`3`],`0$1`]],`0`],YE:[`967`,`00`,`(?:1|7\\d)\\d{7}|[1-7]\\d{6}`,[7,8,9],[[`(\\d)(\\d{3})(\\d{3,4})`,`$1 $2 $3`,[`[1-6]|7(?:[24-6]|8[0-7])`],`0$1`],[`(\\d{3})(\\d{3})(\\d{3})`,`$1 $2 $3`,[`7`],`0$1`]],`0`],YT:[`262`,`00`,`(?:639\\d|7093)\\d{5}|(?:26|80|9\\d)\\d{7}`,[9],0,`0`,0,0,0,0,0,[[`26(?:89\\d|9(?:0[0-467]|15|5[0-4]|6\\d|[78]0))\\d{4}`],[`(?:639(?:0[0-79]|1[019]|[267]\\d|3[09]|40|5[05-9]|9[04-79])|7093[5-7])\\d{4}`],[`80\\d{7}`],0,0,0,0,0,[`9(?:(?:39|47)8[01]|769\\d)\\d{4}`]]],ZA:[`27`,`00`,`[1-79]\\d{8}|8\\d{4,9}`,[5,6,7,8,9,10],[[`(\\d{2})(\\d{3,4})`,`$1 $2`,[`8[1-4]`],`0$1`],[`(\\d{2})(\\d{3})(\\d{2,3})`,`$1 $2 $3`,[`8[1-4]`],`0$1`],[`(\\d{3})(\\d{3})(\\d{3})`,`$1 $2 $3`,[`860`],`0$1`],[`(\\d{2})(\\d{3})(\\d{4})`,`$1 $2 $3`,[`[1-9]`],`0$1`],[`(\\d{3})(\\d{3})(\\d{4})`,`$1 $2 $3`,[`8`],`0$1`]],`0`],ZM:[`260`,`00`,`800\\d{6}|(?:21|[579]\\d|63)\\d{7}`,[9],[[`(\\d{3})(\\d{3})(\\d{3})`,`$1 $2 $3`,[`[28]`],`0$1`],[`(\\d{2})(\\d{7})`,`$1 $2`,[`[579]`],`0$1`]],`0`],ZW:[`263`,`00`,`2(?:[0-57-9]\\d{6,8}|6[0-24-9]\\d{6,7})|[38]\\d{9}|[35-8]\\d{8}|[3-6]\\d{7}|[1-689]\\d{6}|[1-3569]\\d{5}|[1356]\\d{4}`,[5,6,7,8,9,10],[[`(\\d{3})(\\d{3,5})`,`$1 $2`,[`2(?:0[45]|2[278]|[49]8)|3(?:[09]8|17)|6(?:[29]8|37|75)|[23][78]|(?:33|5[15]|6[68])[78]`],`0$1`],[`(\\d)(\\d{3})(\\d{2,4})`,`$1 $2 $3`,[`[49]`],`0$1`],[`(\\d{3})(\\d{4})`,`$1 $2`,[`80`],`0$1`],[`(\\d{2})(\\d{7})`,`$1 $2`,[`24|8[13-59]|(?:2[05-79]|39|5[45]|6[15-8])2`,`2(?:02[014]|4|[56]20|[79]2)|392|5(?:42|525)|6(?:[16-8]21|52[013])|8[13-59]`],`(0$1)`],[`(\\d{2})(\\d{3})(\\d{4})`,`$1 $2 $3`,[`7`],`0$1`],[`(\\d{3})(\\d{3})(\\d{3,4})`,`$1 $2 $3`,[`2(?:1[39]|2[0157]|[378]|[56][14])|3(?:12|29)`,`2(?:1[39]|2[0157]|[378]|[56][14])|3(?:123|29)`],`0$1`],[`(\\d{4})(\\d{6})`,`$1 $2`,[`8`],`0$1`],[`(\\d{2})(\\d{3,5})`,`$1 $2`,[`1|2(?:0[0-36-9]|12|29|[56])|3(?:1[0-689]|[24-6])|5(?:[0236-9]|1[2-4])|6(?:[013-59]|7[0-46-9])|(?:33|55|6[68])[0-69]|(?:29|3[09]|62)[0-79]`],`0$1`],[`(\\d{2})(\\d{3})(\\d{3,4})`,`$1 $2 $3`,[`29[013-9]|39|54`],`0$1`],[`(\\d{4})(\\d{3,5})`,`$1 $2`,[`(?:25|54)8`,`258|5483`],`0$1`]],`0`]},nonGeographic:{800:[`800`,0,`(?:00|[1-9]\\d)\\d{6}`,[8],[[`(\\d{4})(\\d{4})`,`$1 $2`,[`\\d`]]],0,0,0,0,0,0,[0,0,[`(?:00|[1-9]\\d)\\d{6}`]]],808:[`808`,0,`[1-9]\\d{7}`,[8],[[`(\\d{4})(\\d{4})`,`$1 $2`,[`[1-9]`]]],0,0,0,0,0,0,[0,0,0,0,0,0,0,0,0,[`[1-9]\\d{7}`]]],870:[`870`,0,`7\\d{11}|[235-7]\\d{8}`,[9,12],[[`(\\d{3})(\\d{3})(\\d{3})`,`$1 $2 $3`,[`[235-7]`]]],0,0,0,0,0,0,[0,[`(?:[356]|774[45])\\d{8}|7[6-8]\\d{7}`],0,0,0,0,0,0,[`2\\d{8}`,[9]]]],878:[`878`,0,`10\\d{10}`,[12],[[`(\\d{2})(\\d{5})(\\d{5})`,`$1 $2 $3`,[`1`]]],0,0,0,0,0,0,[0,0,0,0,0,0,0,0,[`10\\d{10}`]]],881:[`881`,0,`6\\d{9}|[0-36-9]\\d{8}`,[9,10],[[`(\\d)(\\d{3})(\\d{5})`,`$1 $2 $3`,[`[0-37-9]`]],[`(\\d)(\\d{3})(\\d{5,6})`,`$1 $2 $3`,[`6`]]],0,0,0,0,0,0,[0,[`6\\d{9}|[0-36-9]\\d{8}`]]],882:[`882`,0,`[13]\\d{6}(?:\\d{2,5})?|[19]\\d{7}|(?:[25]\\d\\d|4)\\d{7}(?:\\d{2})?`,[7,8,9,10,11,12],[[`(\\d{2})(\\d{5})`,`$1 $2`,[`16|342`]],[`(\\d{2})(\\d{6})`,`$1 $2`,[`49`]],[`(\\d{2})(\\d{2})(\\d{4})`,`$1 $2 $3`,[`1[36]|9`]],[`(\\d{2})(\\d{4})(\\d{3})`,`$1 $2 $3`,[`3[23]`]],[`(\\d{2})(\\d{3,4})(\\d{4})`,`$1 $2 $3`,[`16`]],[`(\\d{2})(\\d{4})(\\d{4})`,`$1 $2 $3`,[`10|23|3(?:[15]|4[57])|4|5[12]`]],[`(\\d{3})(\\d{4})(\\d{4})`,`$1 $2 $3`,[`34`]],[`(\\d{2})(\\d{4,5})(\\d{5})`,`$1 $2 $3`,[`[1-35]`]]],0,0,0,0,0,0,[0,[`342\\d{4}|(?:337|49)\\d{6}|(?:3(?:2|47|7\\d{3})|5(?:0\\d{3}|2[0-2]))\\d{7}`,[7,8,9,10,12]],0,0,0,[`348[57]\\d{7}`,[11]],0,0,[`1(?:3(?:0[0347]|[13][0139]|2[035]|4[013568]|6[0459]|7[06]|8[15-8]|9[0689])\\d{4}|6\\d{5,10})|(?:345\\d|9[89])\\d{6}|(?:10|2(?:3|85\\d)|3(?:[15]|[69]\\d\\d)|4[15-8]|51)\\d{8}`]]],883:[`883`,0,`(?:[1-4]\\d|51)\\d{6,10}`,[8,9,10,11,12],[[`(\\d{3})(\\d{3})(\\d{2,8})`,`$1 $2 $3`,[`[14]|2[24-689]|3[02-689]|51[24-9]`]],[`(\\d{3})(\\d{3})(\\d{3})`,`$1 $2 $3`,[`510`]],[`(\\d{3})(\\d{3})(\\d{4})`,`$1 $2 $3`,[`21`]],[`(\\d{4})(\\d{4})(\\d{4})`,`$1 $2 $3`,[`51[13]`]],[`(\\d{3})(\\d{3})(\\d{3})(\\d{3})`,`$1 $2 $3 $4`,[`[235]`]]],0,0,0,0,0,0,[0,0,0,0,0,0,0,0,[`(?:2(?:00\\d\\d|10)|(?:370[1-9]|51\\d0)\\d)\\d{7}|51(?:00\\d{5}|[24-9]0\\d{4,7})|(?:1[0-79]|2[24-689]|3[02-689]|4[0-4])0\\d{5,9}`]]],888:[`888`,0,`\\d{11}`,[11],[[`(\\d{3})(\\d{3})(\\d{5})`,`$1 $2 $3`]],0,0,0,0,0,0,[0,0,0,0,0,0,[`\\d{11}`]]],979:[`979`,0,`[1359]\\d{8}`,[9],[[`(\\d)(\\d{4})(\\d{4})`,`$1 $2 $3`,[`[1359]`]]],0,0,0,0,0,0,[0,0,0,[`[1359]\\d{8}`]]]}};function vR(e,t){var n=Array.prototype.slice.call(t);return n.push(_R),e.apply(this,n)}function yR(e,t){e=e.split(`-`),t=t.split(`-`);for(var n=e[0].split(`.`),r=t[0].split(`.`),i=0;i<3;i++){var a=Number(n[i]),o=Number(r[i]);if(a>o)return 1;if(o>a)return-1;if(!isNaN(a)&&isNaN(o))return 1;if(isNaN(a)&&!isNaN(o))return-1}return e[1]&&t[1]?e[1]>t[1]?1:e[1]<t[1]?-1:0:!e[1]&&t[1]?1:e[1]&&!t[1]?-1:0}var bR={}.constructor;function xR(e){return e!=null&&e.constructor===bR}var SR=/^\d+$/;function CR(e){return SR.test(e)}function wR(e){"@babel/helpers - typeof";return wR=typeof Symbol==`function`&&typeof Symbol.iterator==`symbol`?function(e){return typeof e}:function(e){return e&&typeof Symbol==`function`&&e.constructor===Symbol&&e!==Symbol.prototype?`symbol`:typeof e},wR(e)}function TR(e,t){if(!(e instanceof t))throw TypeError(`Cannot call a class as a function`)}function ER(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,`value`in r&&(r.writable=!0),Object.defineProperty(e,OR(r.key),r)}}function DR(e,t,n){return t&&ER(e.prototype,t),n&&ER(e,n),Object.defineProperty(e,"prototype",{writable:!1}),e}function OR(e){var t=kR(e,`string`);return wR(t)==`symbol`?t:t+``}function kR(e,t){if(wR(e)!=`object`||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t||`default`);if(wR(r)!=`object`)return r;throw TypeError(`@@toPrimitive must return a primitive value.`)}return(t===`string`?String:Number)(e)}var AR=`1.2.0`,jR=`1.7.35`,MR=` ext. `,NR=function(){function e(t){TR(this,e),zR(t),this.metadata=t,UR.call(this,t)}return DR(e,[{key:`getCountries`,value:function(){return Object.keys(this.metadata.countries).filter(function(e){return e!==`001`})}},{key:`getCountryMetadata`,value:function(e){return this.metadata.countries[e]}},{key:`nonGeographic`,value:function(){if(!(this.v1||this.v2||this.v3))return this.metadata.nonGeographic||this.metadata.nonGeographical}},{key:`hasCountry`,value:function(e){return this.getCountryMetadata(e)!==void 0}},{key:`hasCallingCode`,value:function(e){if(this.getCountryCodesForCallingCode(e))return!0;if(this.nonGeographic()){if(this.nonGeographic()[e])return!0}else{var t=this.countryCallingCodes()[e];if(t&&t.length===1&&t[0]===`001`)return!0}}},{key:`isNonGeographicCallingCode`,value:function(e){return this.nonGeographic()?!!this.nonGeographic()[e]:!this.getCountryCodesForCallingCode(e)}},{key:`country`,value:function(e){return this.selectNumberingPlan(e)}},{key:`selectNumberingPlan`,value:function(e,t){var n,r;if(e&&(CR(e)?r=e:n=e),t&&(r=t),n&&n!==`001`){var i=this.getCountryMetadata(n);if(!i)throw Error(`Unknown country: ${n}`);this.numberingPlan=new PR(i,this)}else if(r){if(!this.hasCallingCode(r))throw Error(`Unknown calling code: ${r}`);this.numberingPlan=new PR(this.getNumberingPlanMetadata(r),this)}else this.numberingPlan=void 0;return this}},{key:`getCountryCodesForCallingCode`,value:function(e){var t=this.countryCallingCodes()[e];if(t)return t.length===1&&t[0].length===3?void 0:t}},{key:`getCountryCodeForCallingCode`,value:function(e){var t=this.getCountryCodesForCallingCode(e);if(t)return t[0]}},{key:`getNumberingPlanMetadata`,value:function(e){var t=this.getCountryCodeForCallingCode(e);if(t)return this.getCountryMetadata(t);if(this.nonGeographic()){var n=this.nonGeographic()[e];if(n)return n}else{var r=this.countryCallingCodes()[e];if(r&&r.length===1&&r[0]===`001`)return this.metadata.countries[`001`]}}},{key:`countryCallingCode`,value:function(){return this.numberingPlan.callingCode()}},{key:`IDDPrefix`,value:function(){return this.numberingPlan.IDDPrefix()}},{key:`defaultIDDPrefix`,value:function(){return this.numberingPlan.defaultIDDPrefix()}},{key:`nationalNumberPattern`,value:function(){return this.numberingPlan.nationalNumberPattern()}},{key:`possibleLengths`,value:function(){return this.numberingPlan.possibleLengths()}},{key:`formats`,value:function(){return this.numberingPlan.formats()}},{key:`nationalPrefixForParsing`,value:function(){return this.numberingPlan.nationalPrefixForParsing()}},{key:`nationalPrefixTransformRule`,value:function(){return this.numberingPlan.nationalPrefixTransformRule()}},{key:`leadingDigits`,value:function(){return this.numberingPlan.leadingDigits()}},{key:`hasTypes`,value:function(){return this.numberingPlan.hasTypes()}},{key:`type`,value:function(e){return this.numberingPlan.type(e)}},{key:`ext`,value:function(){return this.numberingPlan.ext()}},{key:`countryCallingCodes`,value:function(){return this.v1?this.metadata.country_phone_code_to_countries:this.metadata.country_calling_codes}},{key:`chooseCountryByCountryCallingCode`,value:function(e){return this.selectNumberingPlan(e)}},{key:`hasSelectedNumberingPlan`,value:function(){return this.numberingPlan!==void 0}}])}(),PR=function(){function e(t,n){TR(this,e),this.globalMetadataObject=n,this.metadata=t,UR.call(this,n.metadata)}return DR(e,[{key:`callingCode`,value:function(){return this.metadata[0]}},{key:`_getDefaultCountryMetadataForThisCallingCode`,value:function(){return this.globalMetadataObject.getNumberingPlanMetadata(this.callingCode())}},{key:`getDefaultCountryMetadataForRegion`,value:function(){return this._getDefaultCountryMetadataForThisCallingCode()}},{key:`IDDPrefix`,value:function(){if(!(this.v1||this.v2))return this.metadata[1]}},{key:`defaultIDDPrefix`,value:function(){if(!(this.v1||this.v2))return this.metadata[12]}},{key:`nationalNumberPattern`,value:function(){return this.v1||this.v2?this.metadata[1]:this.metadata[2]}},{key:`possibleLengths`,value:function(){if(!this.v1)return this.metadata[this.v2?2:3]}},{key:`_getFormats`,value:function(e){return e[this.v1?2:this.v2?3:4]}},{key:`formats`,value:function(){var e=this;return(this._getFormats(this.metadata)||this._getFormats(this._getDefaultCountryMetadataForThisCallingCode())||[]).map(function(t){return new FR(t,e)})}},{key:`nationalPrefix`,value:function(){return this.metadata[this.v1?3:this.v2?4:5]}},{key:`_getNationalPrefixFormattingRule`,value:function(e){return e[this.v1?4:this.v2?5:6]}},{key:`nationalPrefixFormattingRule`,value:function(){return this._getNationalPrefixFormattingRule(this.metadata)||this._getNationalPrefixFormattingRule(this._getDefaultCountryMetadataForThisCallingCode())}},{key:`_nationalPrefixForParsing`,value:function(){return this.metadata[this.v1?5:this.v2?6:7]}},{key:`nationalPrefixForParsing`,value:function(){return this._nationalPrefixForParsing()||this.nationalPrefix()}},{key:`nationalPrefixTransformRule`,value:function(){return this.metadata[this.v1?6:this.v2?7:8]}},{key:`_getNationalPrefixIsOptionalWhenFormatting`,value:function(){return!!this.metadata[this.v1?7:this.v2?8:9]}},{key:`nationalPrefixIsOptionalWhenFormattingInNationalFormat`,value:function(){return this._getNationalPrefixIsOptionalWhenFormatting(this.metadata)||this._getNationalPrefixIsOptionalWhenFormatting(this._getDefaultCountryMetadataForThisCallingCode())}},{key:`leadingDigits`,value:function(){return this.metadata[this.v1?8:this.v2?9:10]}},{key:`types`,value:function(){return this.metadata[this.v1?9:this.v2?10:11]}},{key:`hasTypes`,value:function(){return this.types()&&this.types().length===0?!1:!!this.types()}},{key:`type`,value:function(e){if(this.hasTypes()&&RR(this.types(),e))return new LR(RR(this.types(),e),this)}},{key:`ext`,value:function(){return this.v1||this.v2?MR:this.metadata[13]||MR}}])}(),FR=function(){function e(t,n){TR(this,e),this._format=t,this.metadata=n}return DR(e,[{key:`pattern`,value:function(){return this._format[0]}},{key:`format`,value:function(){return this._format[1]}},{key:`leadingDigitsPatterns`,value:function(){return this._format[2]||[]}},{key:`nationalPrefixFormattingRule`,value:function(){return this._format[3]||this.metadata.nationalPrefixFormattingRule()}},{key:`nationalPrefixIsOptionalWhenFormattingInNationalFormat`,value:function(){return!!this._format[4]||this.metadata.nationalPrefixIsOptionalWhenFormattingInNationalFormat()}},{key:`nationalPrefixIsMandatoryWhenFormattingInNationalFormat`,value:function(){return this.usesNationalPrefix()&&!this.nationalPrefixIsOptionalWhenFormattingInNationalFormat()}},{key:`usesNationalPrefix`,value:function(){return!!(this.nationalPrefixFormattingRule()&&!IR.test(this.nationalPrefixFormattingRule()))}},{key:`internationalFormat`,value:function(){return this._format[5]||this.format()}}])}(),IR=/^\(?\$1\)?$/,LR=function(){function e(t,n){TR(this,e),this.type=t,this.metadata=n}return DR(e,[{key:`pattern`,value:function(){return this.metadata.v1?this.type:this.type[0]}},{key:`possibleLengths`,value:function(){if(!this.metadata.v1)return this.type[1]||this.metadata.possibleLengths()}}])}();function RR(e,t){switch(t){case`FIXED_LINE`:return e[0];case`MOBILE`:return e[1];case`TOLL_FREE`:return e[2];case`PREMIUM_RATE`:return e[3];case`PERSONAL_NUMBER`:return e[4];case`VOICEMAIL`:return e[5];case`UAN`:return e[6];case`PAGER`:return e[7];case`VOIP`:return e[8];case`SHARED_COST`:return e[9]}}function zR(e){if(!e)throw Error("[libphonenumber-js] `metadata` argument not passed. Check your arguments.");if(!xR(e)||!xR(e.countries))throw Error(`[libphonenumber-js] \`metadata\` argument was passed but it's not a valid metadata. Must be an object having \`.countries\` child object property. Got ${xR(e)?`an object of shape: { `+Object.keys(e).join(`, `)+` }`:`a `+BR(e)+`: `+e}.`)}var BR=function(e){return wR(e)};function VR(e,t){var n=new NR(t);if(n.hasCountry(e))return n.selectNumberingPlan(e).countryCallingCode();throw Error(`Unknown country: ${e}`)}function HR(e,t){return t.countries.hasOwnProperty(e)}function UR(e){var t=e.version;typeof t==`number`?(this.v1=t===1,this.v2=t===2,this.v3=t===3,this.v4=t===4):t?yR(t,AR)===-1?this.v2=!0:yR(t,jR)===-1?this.v3=!0:this.v4=!0:this.v1=!0}function WR(e,t){var n=typeof Symbol<`u`&&e[Symbol.iterator]||e[`@@iterator`];if(n)return(n=n.call(e)).next.bind(n);if(Array.isArray(e)||(n=GR(e))||t&&e&&typeof e.length==`number`){n&&(e=n);var r=0;return function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}}}throw TypeError(`Invalid attempt to iterate non-iterable instance.
|
|
462
462
|
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function GR(e,t){if(e){if(typeof e==`string`)return KR(e,t);var n={}.toString.call(e).slice(8,-1);return n===`Object`&&e.constructor&&(n=e.constructor.name),n===`Map`||n===`Set`?Array.from(e):n===`Arguments`||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?KR(e,t):void 0}}function KR(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function qR(e,t){for(var n=e.slice(),r=WR(t),i;!(i=r()).done;){var a=i.value;e.indexOf(a)<0&&n.push(a)}return n.sort(function(e,t){return e-t})}function JR(e,t,n){return YR(e,void 0,t,n)}function YR(e,t,n,r){n&&(r=new NR(r.metadata),r.selectNumberingPlan(n));var i=r.type(t),a=i&&i.possibleLengths()||r.possibleLengths();if(!a)return`IS_POSSIBLE`;if(t===`FIXED_LINE_OR_MOBILE`){if(!r.type(`FIXED_LINE`))return YR(e,`MOBILE`,n,r);var o=r.type(`MOBILE`);o&&(a=qR(a,o.possibleLengths()))}else if(t&&!i)return`INVALID_LENGTH`;var s=e.length,c=a[0];return c===s?`IS_POSSIBLE`:c>s?`TOO_SHORT`:a[a.length-1]<s?`TOO_LONG`:a.indexOf(s,1)>=0?`IS_POSSIBLE`:`INVALID_LENGTH`}function XR(e,t,n){t===void 0&&(t={});var r=new NR(n);if(t.v2){if(!e.countryCallingCode)throw Error(`Invalid phone number object passed`);r.selectNumberingPlan(e.country||e.countryCallingCode)}else{if(!e.phone)return!1;if(e.country){if(!r.hasCountry(e.country))throw Error(`Unknown country: ${e.country}`);r.selectNumberingPlan(e.country)}else{if(!e.countryCallingCode)throw Error(`Invalid phone number object passed`);r.selectNumberingPlan(e.countryCallingCode)}}if(r.possibleLengths())return ZR(e.phone||e.nationalNumber,r);if(e.countryCallingCode&&r.isNonGeographicCallingCode(e.countryCallingCode))return!0;throw Error(`Missing "possibleLengths" in metadata. Perhaps the metadata has been generated before v1.0.18.`)}function ZR(e,t){switch(JR(e,void 0,t)){case`IS_POSSIBLE`:return!0;default:return!1}}function QR(e,t){return e||=``,RegExp(`^(?:`+t+`)$`).test(e)}function $R(e,t){var n=typeof Symbol<`u`&&e[Symbol.iterator]||e[`@@iterator`];if(n)return(n=n.call(e)).next.bind(n);if(Array.isArray(e)||(n=ez(e))||t&&e&&typeof e.length==`number`){n&&(e=n);var r=0;return function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}}}throw TypeError(`Invalid attempt to iterate non-iterable instance.
|
|
463
463
|
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function ez(e,t){if(e){if(typeof e==`string`)return tz(e,t);var n={}.toString.call(e).slice(8,-1);return n===`Object`&&e.constructor&&(n=e.constructor.name),n===`Map`||n===`Set`?Array.from(e):n===`Arguments`||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?tz(e,t):void 0}}function tz(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}var nz=[`MOBILE`,`PREMIUM_RATE`,`TOLL_FREE`,`SHARED_COST`,`VOIP`,`PERSONAL_NUMBER`,`PAGER`,`UAN`,`VOICEMAIL`];function rz(e,t,n){if(t||={},!(!e.country&&!e.countryCallingCode)){var r=new NR(n);r.selectNumberingPlan(e.country||e.countryCallingCode);var i=t.v2?e.nationalNumber:e.phone;if(QR(i,r.nationalNumberPattern())){if(iz(i,`FIXED_LINE`,r))return r.type(`MOBILE`)&&r.type(`MOBILE`).pattern()===``||!r.type(`MOBILE`)||iz(i,`MOBILE`,r)?`FIXED_LINE_OR_MOBILE`:`FIXED_LINE`;for(var a=$R(nz),o;!(o=a()).done;){var s=o.value;if(iz(i,s,r))return s}}}}function iz(e,t,n){var r=n.type(t);return!r||!r.pattern()||r.possibleLengths()&&r.possibleLengths().indexOf(e.length)<0?!1:QR(e,r.pattern())}function az(e,t,n){t||={};var r=new NR(n);return r.selectNumberingPlan(e.country||e.countryCallingCode),r.hasTypes()?rz(e,t,r.metadata)!==void 0:QR(t.v2?e.nationalNumber:e.phone,r.nationalNumberPattern())}var oz=/^[A-Z]{2}$/;function sz(e){return oz.test(e)}function cz(e,t){var n,r,i=new NR(t);return sz(e)?(n=e,i.selectNumberingPlan(n),r=i.countryCallingCode()):r=e,{country:n,callingCode:r}}function lz(e,t,n){var r=new NR(n).getCountryCodesForCallingCode(e);return r?r.filter(function(e){return uz(t,e,n)}):[]}function uz(e,t,n){var r=new NR(n);return r.selectNumberingPlan(t),r.numberingPlan.possibleLengths().indexOf(e.length)>=0}var dz=`0-90-9٠-٩۰-۹`,fz=`-‐-―−ー-//.. \xA0 ()()[]\\[\\]~⁓∼~`,pz=`++`,mz=RegExp(`([`+dz+`])`);function hz(e,t,n,r){if(t){var i=new NR(r);i.selectNumberingPlan(t||n);var a=new RegExp(i.IDDPrefix());if(e.search(a)===0){e=e.slice(e.match(a)[0].length);var o=e.match(mz);if(!(o&&o[1]!=null&&o[1].length>0&&o[1]===`0`))return e}}}function gz(e,t){if(e&&t.numberingPlan.nationalPrefixForParsing()){var n=RegExp(`^(?:`+t.numberingPlan.nationalPrefixForParsing()+`)`),r=n.exec(e);if(r){var i,a,o=r.length-1,s=o>0&&r[o];if(t.nationalPrefixTransformRule()&&s)i=e.replace(n,t.nationalPrefixTransformRule()),o>1&&(a=r[1]);else{var c=r[0];i=e.slice(c.length),s&&(a=r[1])}var l;if(s){var u=e.indexOf(r[1]);e.slice(0,u)===t.numberingPlan.nationalPrefix()&&(l=t.numberingPlan.nationalPrefix())}else l=r[0];return{nationalNumber:i,nationalPrefix:l,carrierCode:a}}}return{nationalNumber:e}}function _z(e,t){var n=typeof Symbol<`u`&&e[Symbol.iterator]||e[`@@iterator`];if(n)return(n=n.call(e)).next.bind(n);if(Array.isArray(e)||(n=vz(e))||t&&e&&typeof e.length==`number`){n&&(e=n);var r=0;return function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}}}throw TypeError(`Invalid attempt to iterate non-iterable instance.
|
|
464
464
|
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function vz(e,t){if(e){if(typeof e==`string`)return yz(e,t);var n={}.toString.call(e).slice(8,-1);return n===`Object`&&e.constructor&&(n=e.constructor.name),n===`Map`||n===`Set`?Array.from(e):n===`Arguments`||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?yz(e,t):void 0}}function yz(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function bz(e,t,n){for(var r=new NR(n),i=_z(t),a;!(a=i()).done;){var o=a.value;if(r.selectNumberingPlan(o),r.leadingDigits()){if(e&&e.search(r.leadingDigits())===0)return o}else if(rz({phone:e,country:o},void 0,r.metadata))return o}}function xz(e,t){var n=t.nationalNumber,r=t.metadata,i=r.getCountryCodesForCallingCode(e);if(i)return i.length===1?i[0]:bz(n,i,r.metadata)}function Sz(e,t,n){var r=gz(e,n),i=r.carrierCode,a=r.nationalNumber;return a!==e&&(!Cz(e,a,n)||n.numberingPlan.possibleLengths()&&(t||=xz(n.numberingPlan.callingCode(),{nationalNumber:a,metadata:n}),!wz(a,t,n)))?{nationalNumber:e}:{nationalNumber:a,carrierCode:i}}function Cz(e,t,n){return!(QR(e,n.nationalNumberPattern())&&!QR(t,n.nationalNumberPattern()))}function wz(e,t,n){switch(JR(e,t,n)){case`TOO_SHORT`:case`INVALID_LENGTH`:return!1;default:return!0}}function Tz(e,t,n,r,i){if(!(t||n||r))return{number:e};var a=t||n?VR(t||n,i):r;if(e.indexOf(a)===0){var o=new NR(i);o.selectNumberingPlan(t||n||r);var s=e.slice(a.length),c=Sz(s,void 0,o).nationalNumber,l=Sz(e,void 0,o).nationalNumber;if(!QR(l,o.nationalNumberPattern())&&QR(c,o.nationalNumberPattern())||JR(l,void 0,o)===`TOO_LONG`)return{countryCallingCode:a,number:s}}return{number:e}}function Ez(e,t,n,r,i){if(!e)return{};var a;if(e[0]!==`+`){var o=hz(e,t||n,r,i);if(o&&o!==e)a=!0,e=`+`+o;else{if(t||n||r){var s=Tz(e,t,n,r,i),c=s.countryCallingCode,l=s.number;if(c)return{countryCallingCodeSource:`FROM_NUMBER_WITHOUT_PLUS_SIGN`,countryCallingCode:c,number:l}}return{number:e}}}if(e[1]===`0`)return{};for(var u=new NR(i),d=2;d-1<=3&&d<=e.length;){var f=e.slice(1,d);if(u.hasCallingCode(f))return u.selectNumberingPlan(f),{countryCallingCodeSource:a?`FROM_NUMBER_WITH_IDD`:`FROM_NUMBER_WITH_PLUS_SIGN`,countryCallingCode:f,number:e.slice(d)};d++}return{}}function Dz(e){return e.replace(RegExp(`[${fz}]+`,`g`),` `).trim()}var Oz=/(\$\d)/;function kz(e,t,n){var r=n.useInternationalFormat,i=n.withNationalPrefix;n.carrierCode,n.metadata;var a=e.replace(new RegExp(t.pattern()),r?t.internationalFormat():i&&t.nationalPrefixFormattingRule()?t.format().replace(Oz,t.nationalPrefixFormattingRule()):t.format());return r?Dz(a):a}var Az=/^[\d]+(?:[~\u2053\u223C\uFF5E][\d]+)?$/;function jz(e,t,n){var r=new NR(n);if(r.selectNumberingPlan(e||t),r.defaultIDDPrefix())return r.defaultIDDPrefix();if(Az.test(r.IDDPrefix()))return r.IDDPrefix()}var Mz=`;ext=`,Nz=function(e){return`([${dz}]{1,${e}})`};function Pz(e){var t=`20`,n=`15`,r=`9`,i=`6`,a=`[ \xA0\\t,]*`,o=`[:\\..]?[ \xA0\\t,-]*`,s=`#?`,c=`(?:e?xt(?:ensi(?:ó?|ó))?n?|e?xtn?|доб|anexo)`,l=`(?:[xx##~~]|int|int)`,u=`[- ]+`,d=`[ \xA0\\t]*`,f=`(?:,{2}|;)`,p=Mz+Nz(t),m=a+c+o+Nz(t)+s,h=a+l+o+Nz(r)+s,g=u+Nz(i)+`#`,_=d+f+o+Nz(n)+s,v=d+`(?:,)+`+o+Nz(r)+s;return p+`|`+m+`|`+h+`|`+g+`|`+_+`|`+v}var Fz=`[`+dz+`]{2}`,Iz=`[`+pz+`]{0,1}(?:[`+fz+`]*[`+dz+`]){3,}[`+fz+dz+`]*`,Lz=RegExp(`^[`+pz+`]{0,1}(?:[`+fz+`]*[`+dz+`]){1,2}$`,`i`),Rz=Iz+`(?:`+Pz()+`)?`,zz=RegExp(`^`+Fz+`$|^`+Rz+`$`,`i`);function Bz(e){return e.length>=2&&zz.test(e)}function Vz(e){return Lz.test(e)}function Hz(e){var t=e.number,n=e.ext;if(!t)return``;if(t[0]!==`+`)throw Error(`"formatRFC3966()" expects "number" to be in E.164 format.`);return`tel:${t}${n?`;ext=`+n:``}`}var Uz={formatExtension:function(e,t,n){return`${e}${n.ext()}${t}`}};function Wz(e,t,n,r){n=n?Yz({},Uz,n):Uz;var i=new NR(r);if(e.country&&e.country!==`001`){if(!i.hasCountry(e.country))throw Error(`Unknown country: ${e.country}`);i.selectNumberingPlan(e.country)}else if(e.countryCallingCode)i.selectNumberingPlan(e.countryCallingCode);else return e.phone||``;var a=i.countryCallingCode(),o=n.v2?e.nationalNumber:e.phone,s;switch(t){case`NATIONAL`:return o?(s=Gz(o,e.carrierCode,`NATIONAL`,i,n),qz(s,e.ext,i,n.formatExtension)):``;case`INTERNATIONAL`:return o?(s=Gz(o,null,`INTERNATIONAL`,i,n),s=`+${a} ${s}`,qz(s,e.ext,i,n.formatExtension)):`+${a}`;case`E.164`:return`+${a}${o}`;case`RFC3966`:return Hz({number:`+${a}${o}`,ext:e.ext});case`IDD`:if(!n.fromCountry)return;var c=Jz(o,e.carrierCode,a,n.fromCountry,i);return c?qz(c,e.ext,i,n.formatExtension):void 0;default:throw Error(`Unknown "format" argument passed to "formatNumber()": "${t}"`)}}function Gz(e,t,n,r,i){var a=Kz(r.formats(),e);return a?kz(e,a,{useInternationalFormat:n===`INTERNATIONAL`,withNationalPrefix:!(a.nationalPrefixIsOptionalWhenFormattingInNationalFormat()&&i&&i.nationalPrefix===!1),carrierCode:t,metadata:r}):e}function Kz(e,t){return Xz(e,function(e){if(e.leadingDigitsPatterns().length>0){var n=e.leadingDigitsPatterns()[e.leadingDigitsPatterns().length-1];if(t.search(n)!==0)return!1}return QR(t,e.pattern())})}function qz(e,t,n,r){return t?r(e,t,n):e}function Jz(e,t,n,r,i){if(VR(r,i.metadata)===n){var a=Gz(e,t,`NATIONAL`,i);return n===`1`?n+` `+a:a}var o=jz(r,void 0,i.metadata);if(o)return`${o} ${n} ${Gz(e,null,`INTERNATIONAL`,i)}`}function Yz(){for(var e=1,t=arguments.length,n=Array(t),r=0;r<t;r++)n[r]=arguments[r];for(;e<n.length;){if(n[e])for(var i in n[e])n[0][i]=n[e][i];e++}return n[0]}function Xz(e,t){for(var n=0;n<e.length;){if(t(e[n]))return e[n];n++}}function Zz(e){"@babel/helpers - typeof";return Zz=typeof Symbol==`function`&&typeof Symbol.iterator==`symbol`?function(e){return typeof e}:function(e){return e&&typeof Symbol==`function`&&e.constructor===Symbol&&e!==Symbol.prototype?`symbol`:typeof e},Zz(e)}function Qz(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function $z(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]==null?{}:arguments[t];t%2?Qz(Object(n),!0).forEach(function(t){eB(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Qz(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function eB(e,t,n){return(t=iB(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function tB(e,t){if(!(e instanceof t))throw TypeError(`Cannot call a class as a function`)}function nB(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,`value`in r&&(r.writable=!0),Object.defineProperty(e,iB(r.key),r)}}function rB(e,t,n){return t&&nB(e.prototype,t),n&&nB(e,n),Object.defineProperty(e,"prototype",{writable:!1}),e}function iB(e){var t=aB(e,`string`);return Zz(t)==`symbol`?t:t+``}function aB(e,t){if(Zz(e)!=`object`||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t||`default`);if(Zz(r)!=`object`)return r;throw TypeError(`@@toPrimitive must return a primitive value.`)}return(t===`string`?String:Number)(e)}var oB=function(){function e(t,n,r){if(tB(this,e),!t)throw TypeError(`First argument is required`);if(typeof t!=`string`)throw TypeError(`First argument must be a string`);if(t[0]===`+`&&!n)throw TypeError("`metadata` argument not passed");if(xR(n)&&xR(n.countries)){r=n;var i=t;if(!sB.test(i))throw Error('Invalid `number` argument passed: must consist of a "+" followed by digits');var a=Ez(i,void 0,void 0,void 0,r),o=a.countryCallingCode;if(n=a.number,t=o,!n)throw Error("Invalid `number` argument passed: too short")}if(!n)throw TypeError("`nationalNumber` argument is required");if(typeof n!=`string`)throw TypeError("`nationalNumber` argument must be a string");zR(r);var s=cz(t,r),c=s.country,l=s.callingCode;this.country=c,this.countryCallingCode=l,this.nationalNumber=n,this.number=`+`+this.countryCallingCode+this.nationalNumber,this.getMetadata=function(){return r}}return rB(e,[{key:`setExt`,value:function(e){this.ext=e}},{key:`getPossibleCountries`,value:function(){return this.country?[this.country]:lz(this.countryCallingCode,this.nationalNumber,this.getMetadata())}},{key:`isPossible`,value:function(){return XR(this,{v2:!0},this.getMetadata())}},{key:`isValid`,value:function(){return az(this,{v2:!0},this.getMetadata())}},{key:`isNonGeographic`,value:function(){return new NR(this.getMetadata()).isNonGeographicCallingCode(this.countryCallingCode)}},{key:`isEqual`,value:function(e){return this.number===e.number&&this.ext===e.ext}},{key:`getType`,value:function(){return rz(this,{v2:!0},this.getMetadata())}},{key:`format`,value:function(e,t){return Wz(this,e,t?$z($z({},t),{},{v2:!0}):{v2:!0},this.getMetadata())}},{key:`formatNational`,value:function(e){return this.format(`NATIONAL`,e)}},{key:`formatInternational`,value:function(e){return this.format(`INTERNATIONAL`,e)}},{key:`getURI`,value:function(e){return this.format(`RFC3966`,e)}}])}(),sB=/^\+\d+$/;function cB(e){"@babel/helpers - typeof";return cB=typeof Symbol==`function`&&typeof Symbol.iterator==`symbol`?function(e){return typeof e}:function(e){return e&&typeof Symbol==`function`&&e.constructor===Symbol&&e!==Symbol.prototype?`symbol`:typeof e},cB(e)}function lB(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,`value`in r&&(r.writable=!0),Object.defineProperty(e,dB(r.key),r)}}function uB(e,t,n){return t&&lB(e.prototype,t),n&&lB(e,n),Object.defineProperty(e,"prototype",{writable:!1}),e}function dB(e){var t=fB(e,`string`);return cB(t)==`symbol`?t:t+``}function fB(e,t){if(cB(e)!=`object`||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t||`default`);if(cB(r)!=`object`)return r;throw TypeError(`@@toPrimitive must return a primitive value.`)}return(t===`string`?String:Number)(e)}function pB(e,t){if(!(e instanceof t))throw TypeError(`Cannot call a class as a function`)}function mB(e,t,n){return t=CB(t),hB(e,bB()?Reflect.construct(t,n||[],CB(e).constructor):t.apply(e,n))}function hB(e,t){if(t&&(cB(t)==`object`||typeof t==`function`))return t;if(t!==void 0)throw TypeError(`Derived constructors may only return object or undefined`);return gB(e)}function gB(e){if(e===void 0)throw ReferenceError(`this hasn't been initialised - super() hasn't been called`);return e}function _B(e,t){if(typeof t!=`function`&&t!==null)throw TypeError(`Super expression must either be null or a function`);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&SB(e,t)}function vB(e){var t=typeof Map==`function`?new Map:void 0;return vB=function(e){if(e===null||!xB(e))return e;if(typeof e!=`function`)throw TypeError(`Super expression must either be null or a function`);if(t!==void 0){if(t.has(e))return t.get(e);t.set(e,n)}function n(){return yB(e,arguments,CB(this).constructor)}return n.prototype=Object.create(e.prototype,{constructor:{value:n,enumerable:!1,writable:!0,configurable:!0}}),SB(n,e)},vB(e)}function yB(e,t,n){if(bB())return Reflect.construct.apply(null,arguments);var r=[null];r.push.apply(r,t);var i=new(e.bind.apply(e,r));return n&&SB(i,n.prototype),i}function bB(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch{}return(bB=function(){return!!e})()}function xB(e){try{return Function.toString.call(e).indexOf(`[native code]`)!==-1}catch{return typeof e==`function`}}function SB(e,t){return SB=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},SB(e,t)}function CB(e){return CB=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},CB(e)}var wB=function(e){function t(e){var n;return pB(this,t),n=mB(this,t,[e]),Object.setPrototypeOf(n,t.prototype),n.name=n.constructor.name,n}return _B(t,e),uB(t)}(vB(Error)),TB=RegExp(`(?:`+Pz()+`)$`,`i`);function EB(e){var t=e.search(TB);if(t<0)return{};for(var n=e.slice(0,t),r=e.match(TB),i=1;i<r.length;){if(r[i])return{number:n,ext:r[i]};i++}}var DB={0:`0`,1:`1`,2:`2`,3:`3`,4:`4`,5:`5`,6:`6`,7:`7`,8:`8`,9:`9`,"0":`0`,"1":`1`,"2":`2`,"3":`3`,"4":`4`,"5":`5`,"6":`6`,"7":`7`,"8":`8`,"9":`9`,"٠":`0`,"١":`1`,"٢":`2`,"٣":`3`,"٤":`4`,"٥":`5`,"٦":`6`,"٧":`7`,"٨":`8`,"٩":`9`,"۰":`0`,"۱":`1`,"۲":`2`,"۳":`3`,"۴":`4`,"۵":`5`,"۶":`6`,"۷":`7`,"۸":`8`,"۹":`9`};function OB(e){return DB[e]}function kB(e,t){var n=typeof Symbol<`u`&&e[Symbol.iterator]||e[`@@iterator`];if(n)return(n=n.call(e)).next.bind(n);if(Array.isArray(e)||(n=AB(e))||t&&e&&typeof e.length==`number`){n&&(e=n);var r=0;return function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}}}throw TypeError(`Invalid attempt to iterate non-iterable instance.
|
|
@@ -3068,7 +3068,7 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
|
|
|
3068
3068
|
<p>It is now safe to close this window.</p>
|
|
3069
3069
|
</main>
|
|
3070
3070
|
</body>
|
|
3071
|
-
</html>`,v1=F({route:(0,f.createRoute)({tags:[`oauth2`],method:`get`,path:`/`,request:{query:g1,header:f.z.object({cookie:f.z.string().optional()})},responses:{200:{description:`Logout completed without redirect`},302:{description:`Redirect to post_logout_redirect_uri`},400:{description:`Invalid request`}}}),handler:async e=>{let{id_token_hint:t,client_id:n,post_logout_redirect_uri:r,state:i}=e.req.valid(`query`),a,o,s;if(t){let r;try{r=await rW(e,t)}catch{throw new m(400,{message:`Invalid id_token_hint`})}let i=r.aud;if(a=Array.isArray(i)?i[0]:i,o=r.sub,s=r.sid,n&&n!==a)throw new m(400,{message:`client_id does not match id_token_hint`})}else n&&(a=n);let c;if(a){WM(a)||await X$(e,{client_id:a}).catch(()=>{});try{c=await BN(e.env,a),e.set(`client_id`,a),Z$(e,c.tenant.id)}catch{c=void 0}}let l;if(r){let t=c?.allowed_logout_urls??[];if(c&&t.includes(r))l=r;else if(c)throw P(e,c.tenant.id,{type:M.FAILED_LOGOUT,description:`Invalid post_logout_redirect_uri`}),new m(400,{message:`Invalid post_logout_redirect_uri`});else throw new m(400,{message:`post_logout_redirect_uri requires id_token_hint or client_id`})}o&&c&&e.set(`user_id`,o);let u=e.req.header(`cookie`);if(c&&u){let t=wN(c.tenant.id,u),n=s??t;if(n){let t=await e.env.data.sessions.get(c.tenant.id,n);if(t){if(!e.var.user_id){let n=await e.env.data.users.get(c.tenant.id,t.user_id);n&&(e.set(`user_id`,n.user_id),e.set(`connection`,n.connection))}let r=new Date().toISOString(),{revokedCount:i,committedEventId:a}=await e.env.data.transaction(async i=>{let a=t.login_session_id?await i.refreshTokens.revokeByLoginSession(c.tenant.id,t.login_session_id,r):0;return await i.sessions.update(c.tenant.id,n,{revoked_at:r}),{revokedCount:a,committedEventId:a>0?await no(e,i,c.tenant.id,{type:M.SUCCESS_REVOCATION,description:`Revoked ${a} refresh token(s)`}):void 0}});if(a){let t=e.var.outboxEventPromises??[];t.push(Promise.resolve(a)),e.set(`outboxEventPromises`,t)}else i>0&&P(e,c.tenant.id,{type:M.SUCCESS_REVOCATION,description:`Revoked ${i} refresh token(s)`})}}}c&&P(e,c.tenant.id,{type:M.SUCCESS_LOGOUT,description:`User successfully logged out`});let d=new Headers;if(c&&TN(c.tenant.id,e.var.host).forEach(e=>d.append(`set-cookie`,e)),l){let e;try{let t=new URL(l);i!==void 0&&t.searchParams.set(`state`,i),e=t.toString()}catch{throw new m(400,{message:`Invalid post_logout_redirect_uri`})}return d.set(`location`,e),new Response(`Redirecting`,{status:302,headers:d})}return d.set(`content-type`,`text/html; charset=utf-8`),d.set(`cache-control`,`no-store`),new Response(_1,{status:200,headers:d})}}),y1=new f.OpenAPIHono().openapiRoutes([v1]),b1=f.z.object({formatted:f.z.string().optional(),street_address:f.z.string().optional(),locality:f.z.string().optional(),region:f.z.string().optional(),postal_code:f.z.string().optional(),country:f.z.string().optional()}).optional(),x1=f.z.object({sub:f.z.string(),email:f.z.string().optional(),email_verified:f.z.boolean().optional(),phone_number:f.z.string().optional(),phone_number_verified:f.z.boolean().optional(),name:f.z.string().optional(),family_name:f.z.string().optional(),given_name:f.z.string().optional(),middle_name:f.z.string().optional(),nickname:f.z.string().optional(),preferred_username:f.z.string().optional(),profile:f.z.string().optional(),picture:f.z.string().optional(),website:f.z.string().optional(),gender:f.z.string().optional(),birthdate:f.z.string().optional(),zoneinfo:f.z.string().optional(),locale:f.z.string().optional(),updated_at:f.z.number().optional(),address:b1});function S1(e){return typeof e==`object`&&!!e}function C1(e){if(!S1(e))return[];let t=e.requested_userinfo_claims;return Array.isArray(t)?t.filter(e=>typeof e==`string`):[]}function w1(e,t,n=[],r){let i=r&&t.includes(`profile`)?yb(e,r):e;return{sub:e.user_id,...TP(i,t),...EP(e,n)}}var T1=f.z.object({access_token:f.z.string().optional()}),E1=F({route:(0,f.createRoute)({tags:[`oauth2`],method:`get`,path:`/`,request:{},security:[{Bearer:[`openid`]}],responses:{200:{content:{"application/json":{schema:x1}},description:`Userinfo`}}}),handler:async e=>{if(!e.var.user)throw new m(404,{message:`User not found`});let t=e.var.user.tenant_id||e.var.tenant_id;if(!t)throw new m(400,{message:`Unable to determine tenant`});let n=e.var.user.sid;if(typeof n==`string`&&n.length>0&&(await e.env.data.sessions.get(t,n))?.revoked_at)throw new m(401,{message:`Session has been revoked`});let r=await e.env.data.users.get(t,e.var.user.sub);if(!r)throw new m(404,{message:`User not found`});let i=Fa(e.env,e.var.custom_domain),a=yb(r,i),o=e.var.user,s=o?.scope?.split(` `)||[],c=w1(r,s,C1(o),i),l=e.env.hooks?.onFetchUserInfo;if(l){let n={};return await l({ctx:e,user:a,tenant_id:t,scopes:s},{setCustomClaim:(e,t)=>{n[e]=t}}),e.json({...c,...n})}return e.json(c)}}),D1=F({route:(0,f.createRoute)({tags:[`oauth2`],method:`post`,path:`/`,request:{body:{content:{"application/x-www-form-urlencoded":{schema:T1}}}},responses:{200:{content:{"application/json":{schema:x1}},description:`Userinfo`}}}),handler:async e=>{let t=null;if(e.var.user&&(t=e.var.user),!t){let[n,r]=(e.req.header(`authorization`)||``).split(` `);if(n?.toLowerCase()===`bearer`&&r){if(t=await rW(e,r),!(t?.scope?.split(` `)||[]).includes(`openid`))throw new B(403,{message:`openid scope required`});e.set(`user`,t)}}if(!t)try{let n=await e.req.parseBody(),r=typeof n.access_token==`string`?n.access_token:void 0;if(r){if(t=await rW(e,r),!(t?.scope?.split(` `)||[]).includes(`openid`))throw new B(403,{message:`openid scope required`});e.set(`user`,t)}}catch(e){if(e instanceof m||e instanceof B)throw e}if(!t)throw new m(401,{message:`No access token provided`});let n=t.tenant_id||e.var.tenant_id;if(!n)throw new m(400,{message:`Unable to determine tenant`});let r=t.sid;if(typeof r==`string`&&r.length>0&&(await e.env.data.sessions.get(n,r))?.revoked_at)throw new m(401,{message:`Session has been revoked`});let i=await e.env.data.users.get(n,t.sub);if(!i)throw new m(404,{message:`User not found`});let a=Fa(e.env,e.var.custom_domain),o=yb(i,a),s=t?.scope?.split(` `)||[],c=w1(i,s,C1(t),a),l=e.env.hooks?.onFetchUserInfo;if(l){let t={};return await l({ctx:e,user:o,tenant_id:n,scopes:s},{setCustomClaim:(e,n)=>{t[e]=n}}),e.json({...c,...t})}return e.json(c)}}),O1=new f.OpenAPIHono().openapiRoutes([E1,D1]),k1=F({route:(0,f.createRoute)({tags:[`well known`],method:`get`,path:`/jwks.json`,request:{},responses:{200:{content:{"application/json":{schema:Dr}},description:`List of tenants`}}}),handler:async e=>{let t=await $U(e.env.data,e.var.tenant_id,e.env.signingKeyMode);return e.json({keys:t},{headers:{"access-control-allow-origin":`*`,"access-control-allow-method":`GET`,"cache-control":`public, max-age=300, stale-while-revalidate=${300*2}, stale-if-error=86400`}})}}),A1={"access-control-allow-origin":`*`,"access-control-allow-method":`GET`,"cache-control":`public, max-age=300, stale-while-revalidate=${300*2}, stale-if-error=86400`};async function j1(e){let t=e.var.custom_domain,n=await e.env.data.tenants.get(e.var.tenant_id),r=n?.flags?.enable_dynamic_client_registration===!0,i=n?.flags?.client_id_metadata_document_registration===!0,a=n?.oidc_logout?.rp_logout_end_session_endpoint_discovery!==!1;return Or.parse({issuer:Fa(e.env,t),authorization_endpoint:`${La(e.env,t)}authorize`,token_endpoint:`${La(e.env,t)}oauth/token`,userinfo_endpoint:`${La(e.env,t)}userinfo`,jwks_uri:`${La(e.env,t)}.well-known/jwks.json`,...r?{registration_endpoint:`${La(e.env,t)}oidc/register`}:{},revocation_endpoint:`${La(e.env,t)}oauth/revoke`,...a?{end_session_endpoint:`${La(e.env,t)}oidc/logout`}:{},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`,`id_token token`,`code id_token`,`code token`,`code id_token token`],grant_types_supported:[`authorization_code`,`client_credentials`,`refresh_token`,`implicit`,`http://auth0.com/oauth/grant-type/passwordless/otp`],code_challenge_methods_supported:[`S256`,`plain`],response_modes_supported:[`query`,`fragment`,`form_post`],subject_types_supported:[`public`],id_token_signing_alg_values_supported:cae,token_endpoint_auth_methods_supported:[`none`,`client_secret_basic`,`client_secret_post`,`client_secret_jwt`,`private_key_jwt`],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:!0,request_parameter_supported:!0,claims_parameter_supported:!0,request_object_signing_alg_values_supported:[`RS256`,`RS384`,`RS512`,`ES256`,`ES384`,`ES512`,`HS256`,`HS384`,`HS512`],token_endpoint_auth_signing_alg_values_supported:[`RS256`,`RS384`,`RS512`,`ES256`,`ES384`,`ES512`,`HS256`,`HS384`,`HS512`],client_id_metadata_document_supported:i})}var M1=F({route:(0,f.createRoute)({tags:[`well known`],method:`get`,path:`/openid-configuration`,request:{},responses:{200:{content:{"application/json":{schema:Or}},description:`OpenID Provider configuration`}}}),handler:async e=>{let t=await j1(e);return e.json(t,{headers:A1})}}),N1=F({route:(0,f.createRoute)({tags:[`well known`],method:`get`,path:`/oauth-authorization-server`,request:{},responses:{200:{content:{"application/json":{schema:Or}},description:`OAuth 2.0 Authorization Server Metadata (RFC 8414)`}}}),handler:async e=>{let t=await j1(e);return e.json(t,{headers:A1})}}),P1=new f.OpenAPIHono().openapiRoutes([k1,M1,N1]).get(`/*`,async e=>{let t=e.var.custom_domain||e.req.header(`x-forwarded-host`);if(!t)return e.text(`Not Found`,404);let n=await e.env.data.customDomains.getByDomain(t);if(!n)return e.text(`Not Found`,404);let r=await e.env.data.customDomains.get(n.tenant_id,n.custom_domain_id);if(!r?.verification?.methods)return e.text(`Not Found`,404);let i=new URL(e.req.url).pathname,a=r.verification.methods.find(e=>e.name===`http`&&new URL(e.http_url).pathname===i);return!a||a.name!==`http`?e.text(`Not Found`,404):e.text(a.http_body,200,{"content-type":`text/plain`})});function F1(e,t){if(!e||!t||e.length!==t.length)return!1;let n=0;for(let r=0;r<e.length;r++)n|=e.charCodeAt(r)^t.charCodeAt(r);return n===0}var I1=f.z.object({grant_type:f.z.literal(`client_credentials`),scope:f.z.string().optional(),client_secret:f.z.string().optional(),client_id:f.z.string(),audience:f.z.string().optional(),organization:f.z.string().optional()});async function L1(e,t){let n=await BN(e.env,t.client_id,e.var.tenant_id);if(e.var.client_authenticated_via_assertion!==!0){if(!t.client_secret)throw P(e,n.tenant.id,{type:M.FAILED_EXCHANGE_ACCESS_TOKEN_FOR_CLIENT_CREDENTIALS,description:`Missing client_secret`}),new B(401,{message:`client_secret is required`});if(!n.client_secret)throw P(e,n.tenant.id,{type:M.FAILED_EXCHANGE_ACCESS_TOKEN_FOR_CLIENT_CREDENTIALS,description:`Client has no registered secret`}),new B(401,{message:`Client authentication failed`});if(!F1(n.client_secret,t.client_secret))throw P(e,n.tenant.id,{type:M.FAILED_EXCHANGE_ACCESS_TOKEN_FOR_CLIENT_CREDENTIALS,description:`Invalid client credentials`}),new B(403,{message:`Invalid client credentials`})}let r;if(t.organization){let i=await e.env.data.organizations.get(n.tenant.id,t.organization);if(!i)throw P(e,n.tenant.id,{type:M.FAILED_EXCHANGE_ACCESS_TOKEN_FOR_CLIENT_CREDENTIALS,description:`Organization '${t.organization}' not found`}),new B(400,{error:`invalid_request`,error_description:`Organization '${t.organization}' not found`});r={id:i.id,name:i.name}}return{client:n,authParams:{client_id:n.client_id,scope:t.scope,audience:t.audience||n.tenant.default_audience,organization:t.organization},organization:r}}var R1=f.z.object({grant_type:f.z.literal(`authorization_code`),client_id:f.z.string(),code:f.z.string(),redirect_uri:f.z.string().optional(),client_secret:f.z.string().optional(),code_verifier:f.z.string().optional(),organization:f.z.string().optional()});async function z1(e,t,n,r,i){let a={body:n};if(r?.user_id){a.userId=r.user_id;let n=await e.env.data.users.get(t,r.user_id).catch(()=>void 0);n&&(a.username=n.email||n.phone_number||n.name||void 0,a.connection=n.connection||void 0)}return i&&(a.scope=i.authParams.scope,a.audience=i.authParams.audience,i.auth_connection&&(a.connection=i.auth_connection),!a.username&&i.authParams.username&&(a.username=i.authParams.username)),a}async function B1(e,t){let n=await BN(e.env,t.client_id,e.var.tenant_id,zM(e.env)),r=await e.env.data.codes.get(n.tenant.id,t.code,`authorization_code`);if(!r||!r.user_id)throw P(e,n.tenant.id,{...await z1(e,n.tenant.id,t),type:M.FAILED_EXCHANGE_AUTHORIZATION_CODE_FOR_ACCESS_TOKEN,description:`Invalid client credentials`}),new B(403,{message:`Invalid client credentials`});if(new Date(r.expires_at)<new Date){let i=await e.env.data.loginSessions.get(n.tenant.id,r.login_id).catch(()=>void 0);throw P(e,n.tenant.id,{...await z1(e,n.tenant.id,t,r,i),type:M.FAILED_EXCHANGE_AUTHORIZATION_CODE_FOR_ACCESS_TOKEN,description:`Code expired`}),new B(403,{message:`Code expired`})}else if(r.used_at){let i=new Date().toISOString();await e.env.data.refreshTokens.revokeByLoginSession(n.tenant.id,r.login_id,i).catch(e=>{console.error(`Failed to revoke refresh tokens for login_id=${r.login_id}:`,e)});let a=await e.env.data.loginSessions.get(n.tenant.id,r.login_id).catch(()=>void 0);throw a?.session_id&&await e.env.data.sessions.update(n.tenant.id,a.session_id,{revoked_at:i}).catch(e=>{console.error(`Failed to revoke session ${a.session_id}:`,e)}),P(e,n.tenant.id,{...await z1(e,n.tenant.id,t,r,a),type:M.FAILED_EXCHANGE_AUTHORIZATION_CODE_FOR_ACCESS_TOKEN,description:`Invalid authorization code`}),new B(n.auth0_conformant===!1?400:403,{error:`invalid_grant`,error_description:`Invalid authorization code`})}let i=await e.env.data.loginSessions.get(n.tenant.id,r.login_id);if(!i)throw new B(403,{message:`Invalid login`});if(!i.authParams.client_id||i.authParams.client_id!==n.client_id){let a=n.auth0_conformant===!1?400:403;throw P(e,n.tenant.id,{...await z1(e,n.tenant.id,t,r,i),type:M.FAILED_EXCHANGE_AUTHORIZATION_CODE_FOR_ACCESS_TOKEN,description:`Authorization code was not issued to this client`}),new B(a,{error:`invalid_grant`,error_description:`Authorization code was not issued to this client`})}if(t.organization&&i.authParams.organization&&t.organization!==i.authParams.organization)throw new B(400,{error:`invalid_request`,error_description:`Organization parameter does not match login session organization`});let a=e.var.client_authenticated_via_assertion===!0;if(!a&&!t.client_secret&&!(t.code_verifier&&r.code_challenge))throw P(e,n.tenant.id,{...await z1(e,n.tenant.id,t,r,i),type:M.FAILED_EXCHANGE_AUTHORIZATION_CODE_FOR_ACCESS_TOKEN,description:`Missing client_secret and code_verifier`}),new B(401,{message:`client_secret or code_verifier is required`});if(!a&&t.client_secret!==void 0&&!F1(n.client_secret,t.client_secret))throw P(e,n.tenant.id,{...await z1(e,n.tenant.id,t,r,i),type:M.FAILED_EXCHANGE_AUTHORIZATION_CODE_FOR_ACCESS_TOKEN,description:`Invalid client credentials`}),new B(403,{message:`Invalid client credentials`});if(r.code_challenge){if(!t.code_verifier)throw P(e,n.tenant.id,{...await z1(e,n.tenant.id,t,r,i),type:M.FAILED_EXCHANGE_AUTHORIZATION_CODE_FOR_ACCESS_TOKEN,description:`Missing code_verifier`}),new B(403,{message:`Invalid client credentials`});let a=r.code_challenge_method||`plain`;if(!F1(await iae(t.code_verifier,a),r.code_challenge))throw P(e,n.tenant.id,{...await z1(e,n.tenant.id,t,r,i),type:M.FAILED_EXCHANGE_AUTHORIZATION_CODE_FOR_ACCESS_TOKEN,description:`Invalid client credentials`}),new B(403,{message:`Invalid client credentials`})}if(r.redirect_uri&&r.redirect_uri!==t.redirect_uri)throw P(e,n.tenant.id,{...await z1(e,n.tenant.id,t,r,i),type:M.FAILED_EXCHANGE_AUTHORIZATION_CODE_FOR_ACCESS_TOKEN,description:`Invalid redirect uri`}),new B(403,{message:`Invalid redirect uri`});let o=await e.env.data.users.get(n.tenant.id,r.user_id);if(!o)throw new B(403,{message:`User not found`});let s=o.linked_to?await e.env.data.users.get(n.tenant.id,o.linked_to):o;if(!s)throw new B(403,{message:`User not found`});await e.env.data.codes.used(n.tenant.id,t.code);let c;i.session_id&&i.authParams.scope?.split(` `).includes(`offline_access`)&&(c=(await hL(e,{user:s,client:n,login_id:i.id,scope:i.authParams.scope,audience:i.authParams.audience})).wireToken);let l;if(i.authParams.organization){let t=await e.env.data.organizations.get(n.tenant.id,i.authParams.organization);l=t?{id:t.id,name:t.name}:{id:i.authParams.organization,name:`Unknown`}}let u;if(i.session_id){let t=await e.env.data.sessions.get(n.tenant.id,i.session_id);t?.authenticated_at&&(u=Math.floor(new Date(t.authenticated_at).getTime()/1e3))}return{user:s,client:n,loginSession:i,session_id:i.session_id,refresh_token:c,organization:l,auth_time:u,authParams:{...i.authParams,state:r.state,nonce:r.nonce,response_mode:sn.WEB_MESSAGE,client_id:n.client_id,scope:i.authParams.scope,audience:i.authParams.audience}}}function V1(e,t){let n=e.var.log;n?e.set(`log`,`${n}\n${t}`):e.set(`log`,t)}function H1(e){if(e.startsWith(`http://`))throw Error(`Migration source domain must use https:// (got plain http://)`);let t=(e.startsWith(`https://`)?e:`https://${e}`).replace(/\/+$/,``);return{tokenEndpoint:`${t}/oauth/token`,userinfoEndpoint:`${t}/userinfo`}}function U1(e){let{tokenEndpoint:t,userinfoEndpoint:n}=H1(e.credentials.domain);return{async exchangeRefreshToken(n){let r=await xH({tokenEndpoint:t,clientId:e.credentials.client_id,clientSecret:e.credentials.client_secret,refreshToken:n,audience:e.credentials.audience,scope:e.credentials.scope});return{access_token:r.access_token,id_token:r.id_token,expires_in:r.expires_in,scope:r.scope}},async fetchUserInfo(e){return SH(n,e)}}}function W1(e){switch(e.provider){case`auth0`:return U1(e);case`cognito`:case`okta`:case`oidc`:throw Error(`Migration provider "${e.provider}" is not implemented yet`);default:{let t=e.provider;throw Error(`Unknown migration provider: ${String(t)}`)}}}var G1=`openid profile email offline_access`;function K1(e){return typeof e==`object`&&!!e}function q1(e,t,n){if(e.email)return e.email.toLowerCase();let r=t.toLowerCase(),i=e.sub.toLowerCase();try{return`${r}.${i}@${new URL(n).hostname.toLowerCase()}`}catch{return`${r}.${i}@unknown`}}async function J1(e,t,n){if(!e.env.data.migrationSources)return null;let r=(await e.env.data.migrationSources.list(t.tenant.id)).filter(e=>e.enabled);if(r.length===0)return null;for(let i of r){let r=await Y1(e,t,n,i);if(r)return r}return null}async function Y1(e,t,n,r){let i;try{i=W1(r)}catch{return null}let a;try{a=await i.exchangeRefreshToken(n)}catch(e){if(e instanceof mH)return null;throw e}let o=await i.fetchUserInfo(a.access_token),{sub:s,...c}=o,l=q1({sub:s,email:typeof o.email==`string`?o.email:void 0},r.connection,e.env.ISSUER);e.set(`user_id`,s),e.set(`username`,l);let u=await Ag(e,{client:t,username:l,provider:r.connection,connection:r.connection,userId:s,profileData:K1(c)?c:{},isSocial:!1,ip:e.var.ip}),d=e.get(`ip`),f=e.get(`useragent`),p=e.get(`auth0_client`),m=G1,h=t.tenant.default_audience,g=await e.env.data.loginSessions.create(t.tenant.id,{expires_at:new Date(Date.now()+ZM).toISOString(),authParams:{client_id:t.client_id,scope:m,audience:h,username:l},csrf_token:Mo(),ip:d,useragent:f,auth0Client:sH(p)}),_=await _L(e,{user:u,client:t,loginSession:g,authConnection:r.connection}),{wireToken:v}=await hL(e,{user:u,client:t,login_id:g.id,scope:m,audience:h});return{user:u,client:t,session_id:_,login_id:g.id,refresh_token:v,authParams:{client_id:t.client_id,audience:h,scope:m,response_mode:sn.WEB_MESSAGE},authConnection:r.connection}}var X1=f.z.object({grant_type:f.z.literal(`refresh_token`),client_id:f.z.string(),redirect_uri:f.z.string().optional(),refresh_token:f.z.string(),client_secret:f.z.string().optional(),organization:f.z.string().min(1).optional()});async function Z1(e,t){let n=await BN(e.env,t.client_id,e.var.tenant_id,zM(e.env));if(t.client_secret&&n.client_secret&&!F1(n.client_secret,t.client_secret))throw P(e,n.tenant.id,{type:M.FAILED_EXCHANGE_REFRESH_TOKEN_FOR_ACCESS_TOKEN,description:`Client authentication failed`}),new B(403,{error:`invalid_client`,error_description:`Client authentication failed`});let r=n.auth0_conformant===!1?400:403,i=cN(t.refresh_token),a=null;if(i.kind===`new`){let t=await e.env.data.refreshTokens.getByLookup(n.tenant.id,i.lookup);t?.token_hash&&F1(await oN(i.secret),t.token_hash)&&(a=t)}else lN()&&(a=await e.env.data.refreshTokens.get(n.tenant.id,i.id));if(!a){let i=await J1(e,n,t.refresh_token);if(i)return i;throw V1(e,`Invalid refresh token`),P(e,n.tenant.id,{type:M.FAILED_EXCHANGE_REFRESH_TOKEN_FOR_ACCESS_TOKEN,description:`Invalid refresh token`}),new B(r,{error:`invalid_grant`,error_description:`Invalid refresh token`})}else if(a.client_id!==n.client_id)throw V1(e,`Refresh token client mismatch: token client=${a.client_id}, request client=${n.client_id}`),P(e,n.tenant.id,{type:M.FAILED_EXCHANGE_REFRESH_TOKEN_FOR_ACCESS_TOKEN,description:`Refresh token was not issued to this client`,userId:a.user_id}),new B(r,{error:`invalid_grant`,error_description:`Invalid grant`});else if(a.revoked_at)throw V1(e,`Refresh token has been revoked: ${a.id}`),P(e,n.tenant.id,{type:M.FAILED_EXCHANGE_REFRESH_TOKEN_FOR_ACCESS_TOKEN,description:`Refresh token has been revoked`,userId:a.user_id}),new B(r,{error:`invalid_grant`,error_description:`Refresh token has been revoked`});else if(a.expires_at&&new Date(a.expires_at)<new Date||a.idle_expires_at&&new Date(a.idle_expires_at)<new Date)throw V1(e,`Refresh token has expired`),P(e,n.tenant.id,{type:M.FAILED_EXCHANGE_REFRESH_TOKEN_FOR_ACCESS_TOKEN,description:`Refresh token has expired`,userId:a.user_id}),new B(r,{error:`invalid_grant`,error_description:`Refresh token has expired`});if(a.rotated_at){let t=n.refresh_token?.leeway??30,i=new Date(a.rotated_at).getTime();if(Date.now()-i>t*1e3){let t=a.family_id??a.id;throw await e.env.data.refreshTokens.revokeFamily(n.tenant.id,t,new Date().toISOString()),V1(e,`Refresh token reuse detected; family ${t} revoked`),P(e,n.tenant.id,{type:M.FAILED_EXCHANGE_REFRESH_TOKEN_FOR_ACCESS_TOKEN,description:`Refresh token reuse detected; family revoked`,userId:a.user_id}),new B(r,{error:`invalid_grant`,error_description:`Refresh token has been revoked`})}}let[o,s]=await Promise.all([e.env.data.users.get(n.tenant.id,a.user_id),a.login_id?e.env.data.loginSessions.get(n.tenant.id,a.login_id):Promise.resolve(void 0)]);if(!o)throw new B(403,{message:`User not found`});let c=o.linked_to?await e.env.data.users.get(n.tenant.id,o.linked_to):o;if(!c)throw new B(403,{message:`User not found`});e.set(`user_id`,c.user_id);let l=a.resource_servers[0],u=s?.session_id,d=t.organization??s?.authParams.organization,f;if(d){let t=await e.env.data.organizations.get(n.tenant.id,d);if(t)f={id:t.id,name:t.name};else throw new B(400,{error:`invalid_request`,error_description:`Organization '${d}' not found`});let r=!1;if((await e.env.data.tenants.get(n.tenant.id))?.flags?.inherit_global_permissions_in_organizations&&l?.audience&&(r=(await e.env.data.userPermissions.list(n.tenant.id,c.user_id,void 0,``)).some(e=>e.permission_name===`admin:organizations`&&e.resource_server_identifier===l.audience),!r)){let t=await e.env.data.userRoles.list(n.tenant.id,c.user_id,void 0,``);for(let i of t)if((await e.env.data.rolePermissions.list(n.tenant.id,i.id,{per_page:1e3})).some(e=>e.permission_name===`admin:organizations`&&e.resource_server_identifier===l.audience)){r=!0;break}}if(!r&&!(await e.env.data.userOrganizations.list(n.tenant.id,{q:`user_id:${c.user_id}`,per_page:1e3})).userOrganizations.some(e=>e.organization_id===f.id))throw new B(403,{error:`access_denied`,error_description:`User is not a member of the specified organization`})}let p=n.refresh_token?.rotation_type===`rotating`,m=a.rotating||p,h=e.req.header(`x-real-ip`)||``,g=e.req.header(`user-agent`)||``,_=h!==a.device?.last_ip||g!==a.device?.last_user_agent,v=t.refresh_token;if(m){let t=pN(),{lookup:r,secret:i}=aN(),o=await oN(i),s=a.family_id??a.id,c=a.idle_expires_at&&n.tenant.idle_session_lifetime?new Date(Date.now()+n.tenant.idle_session_lifetime*60*60*1e3).toISOString():a.idle_expires_at;await e.env.data.refreshTokens.create(n.tenant.id,{id:t,login_id:a.login_id,user_id:a.user_id,client_id:a.client_id,expires_at:a.expires_at,idle_expires_at:c,device:{...a.device,last_ip:h,last_user_agent:g},resource_servers:a.resource_servers,rotating:!0,token_lookup:r,token_hash:o,family_id:s}),await e.env.data.refreshTokens.update(n.tenant.id,a.id,{rotated_to:t,rotated_at:a.rotated_at??new Date().toISOString(),family_id:s}),v=sN(r,i)}else{let t;if(!a.token_lookup){let{lookup:e,secret:n}=aN();t={token_lookup:e,token_hash:await oN(n),family_id:a.family_id??a.id},v=sN(e,n)}if(a.idle_expires_at&&n.tenant.idle_session_lifetime){let r=new Date(Date.now()+n.tenant.idle_session_lifetime*60*60*1e3),i=a.expires_at?new Date(a.expires_at).getTime():0,o=Math.max(i,r.getTime());await e.env.data.refreshTokens.update(n.tenant.id,a.id,{idle_expires_at:r.toISOString(),last_exchanged_at:new Date().toISOString(),..._&&{device:{...a.device,last_ip:h,last_user_agent:g}},...t},a.login_id&&o>0?{loginSessionBump:{login_id:a.login_id,expires_at:new Date(o).toISOString()}}:void 0)}else t&&await e.env.data.refreshTokens.update(n.tenant.id,a.id,t)}return{user:c,client:n,refresh_token:v,session_id:u,login_id:a.login_id,authConnection:s?.auth_connection,organization:f,authParams:{client_id:n.client_id,audience:l?.audience,scope:l?.scopes,response_mode:sn.WEB_MESSAGE}}}function Q1(e){let t=e.trim();t.startsWith(`[`)&&t.endsWith(`]`)&&(t=t.slice(1,-1));let n=t.indexOf(`%`);return n!==-1&&(t=t.slice(0,n)),t}function $1(e){let t=Q1(e).split(`.`);return t.length===4?t.every(e=>/^\d+$/.test(e)&&Number(e)>=0&&Number(e)<=255):!1}function e0(e){let t=Q1(e);if(t.length<2||t.indexOf(`:`)===-1||!/^[0-9a-fA-F:.]+$/.test(t))return!1;let n=t.split(`:`);return t.includes(`::`)?n.length<=8:n.length===8}function t0(e){let t=e.trim(),n=t.match(/^\[([^\]]+)\](?::\d+)?$/);if(n&&n[1])return n[1];let r=t.lastIndexOf(`:`);if(r!==-1){let e=t.slice(0,r),n=t.slice(r+1);/^[0-9.]+$/.test(e)&&/^\d+$/.test(n)&&(t=e)}return t}function n0(e){if(!e)return null;let t=Q1(t0(e));return $1(t)?{family:4,normalized:t}:e0(t)?{family:6,normalized:t.toLowerCase()}:null}function r0(e){if(e.includes(`::`)){let[t,n]=e.split(`::`),r=t?t.split(`:`).filter(Boolean):[],i=n?n.split(`:`).filter(Boolean):[],a=8-(r.length+i.length);return[...r.map(e=>e.toLowerCase()||`0`),...Array(a).fill(`0`),...i.map(e=>e.toLowerCase()||`0`)]}else return e.split(`:`).map(e=>e.toLowerCase()||`0`)}function i0(e,t,n=!0){let r=n0(e),i=n0(t);if(!r||!i||r.family!==i.family)return!1;if(r.family===4)return r.normalized===i.normalized;let a=r0(r.normalized),o=r0(i.normalized);return n?a.length===8&&o.length===8&&a.join(`:`)===o.join(`:`):a.slice(0,4).join(`:`)===o.slice(0,4).join(`:`)}var a0=class e extends Error{location;status;constructor(t,n=302){super(`Redirect to ${t}`),this.name=e.name,this.location=t,this.status=n}};function o0(e){return typeof e==`object`&&!!e&&`allowed`in e&&typeof e.allowed==`boolean`}var s0=f.z.object({client_id:f.z.string(),username:f.z.string().transform(e=>e.toLowerCase()),otp:f.z.string(),authParams:dn.optional(),enforceIpCheck:f.z.boolean().optional().default(!1)});async function c0(e,{client_id:t,username:n,otp:r,authParams:i,enforceIpCheck:a=!1}){let o=e.get(`ip`),{connectionType:s,normalized:c}=PV(n,e.get(`countryCode`));if(!c)throw new B(400,{message:`Invalid username format`});e.set(`connection`,s);let l=await BN(e.env,t,e.var.tenant_id),{env:u}=e;if(u.data.rateLimit){let t={allowed:!0};try{let e=await u.data.rateLimit.consume(`brute-force`,`passwordless:${l.tenant.id}:${c}`);o0(e)&&(t=e)}catch(e){console.error(`Passwordless rate limit consume failed:`,e)}if(!t.allowed){P(e,l.tenant.id,{type:M.FAILED_EXCHANGE_PASSWORDLESS_OTP_FOR_ACCESS_TOKEN,description:`Rate limit exceeded for passwordless OTP`});let n=t.retryAfterSeconds,r={message:`Too many requests`,code:`TOO_MANY_REQUESTS`};typeof n==`number`&&(r.retryAfterSeconds=n);let i={"Content-Type":`application/json`};throw typeof n==`number`&&(i[`Retry-After`]=String(n)),new gR(429,{message:`Too many requests`,code:`TOO_MANY_REQUESTS`,res:new Response(JSON.stringify(r),{status:429,headers:i})})}}let d=await u.data.codes.get(l.tenant.id,r,`otp`);if(!d)throw P(e,l.tenant.id,{type:M.FAILED_EXCHANGE_PASSWORDLESS_OTP_FOR_ACCESS_TOKEN,description:`Code invalid`}),new B(400,{message:A(`code_invalid`),userSafe:!0});if(d.expires_at<new Date().toISOString())throw P(e,l.tenant.id,{type:M.FAILED_EXCHANGE_PASSWORDLESS_OTP_FOR_ACCESS_TOKEN,description:`Code expired`,userId:d.user_id}),new B(400,{message:A(`code_expired`),userSafe:!0});if(d.used_at)throw P(e,l.tenant.id,{type:M.FAILED_EXCHANGE_PASSWORDLESS_OTP_FOR_ACCESS_TOKEN,description:`Code already used`,userId:d.user_id}),new B(400,{message:A(`code_used`),userSafe:!0});let f=await u.data.loginSessions.get(l.tenant.id,d.login_id);if(!f||f.authParams.username!==n)throw P(e,l.tenant.id,{type:M.FAILED_EXCHANGE_PASSWORDLESS_OTP_FOR_ACCESS_TOKEN,description:`Login session not found or username mismatch`,userId:d.user_id}),new B(400,{message:`Code not found or expired`,userSafe:!0});if(a&&f.ip&&o&&!i0(f.ip,o))throw new a0(`${Ia(e.env,e.var.custom_domain)}invalid-session?state=${f.id}`);let p=await Ag(e,{client:l,username:c,provider:s,connection:s,isSocial:!1,ip:e.var.ip});return await u.data.codes.used(l.tenant.id,r),{user:p,client:l,loginSession:f,connectionType:s,authConnection:s,session_id:f.session_id,authParams:{...f.authParams,...i||{}}}}async function l0(e,t){let n=await c0(e,t),r=await DL(e,{authParams:n.authParams,client:n.client,user:n.user,loginSession:n.loginSession,authConnection:n.connectionType,authStrategy:{strategy:n.connectionType===`sms`?N.SMS:N.EMAIL,strategy_type:xa.PASSWORDLESS}});return n.authParams.response_type!==`code`&&P(e,n.client.tenant.id,{type:M.SUCCESS_EXCHANGE_PASSWORDLESS_OTP_FOR_ACCESS_TOKEN,userId:n.user.user_id,connection:n.connectionType,strategy:n.connectionType===`sms`?N.SMS:N.EMAIL,strategy_type:xa.PASSWORDLESS,scope:n.authParams.scope,audience:n.authParams.audience}),r}var u0=`urn:ietf:params:oauth:token-type:access_token`,d0=`urn:ietf:params:oauth:grant-type:token-exchange`,f0=f.z.object({grant_type:f.z.literal(d0),client_id:f.z.string(),client_secret:f.z.string().optional(),subject_token:f.z.string(),subject_token_type:f.z.literal(u0),organization:f.z.string().min(1),audience:f.z.string().optional(),scope:f.z.string().optional()});async function p0(e,t){let n=await BN(e.env,t.client_id,e.var.tenant_id),r=t=>P(e,n.tenant.id,{type:M.FAILED_EXCHANGE_SUBJECT_TOKEN_FOR_ACCESS_TOKEN,description:t});if(e.var.client_authenticated_via_assertion!==!0){if(!t.client_secret)throw r(`Missing client_secret`),new B(401,{error:`invalid_client`,error_description:`client_secret is required`});if(!n.client_secret||!F1(n.client_secret,t.client_secret))throw r(`Invalid client credentials`),new B(401,{error:`invalid_client`,error_description:`Client authentication failed`})}if(!n.organization_usage||n.organization_usage===`deny`)throw r(`Client is not permitted to request organization context`),new B(403,{error:`unauthorized_client`,error_description:`Client is not configured to request organization context`});let i=n.auth0_conformant===!1?400:403,a;try{a=await rW(e,t.subject_token,{skipIssuerCheck:!0})}catch(e){throw e instanceof nW?(r(`Subject token expired`),new B(i,{error:`invalid_grant`,error_description:`Subject token has expired`})):e}let o=Fa(e.env,e.var.custom_domain);if(a.iss!==o)throw r(`Subject token was not issued by this server`),new B(i,{error:`invalid_grant`,error_description:`Subject token issuer mismatch`});if(a.act!==void 0)throw r(`Subject token already represents a delegated session`),new B(i,{error:`invalid_grant`,error_description:`Subject token is not exchangeable`});if(!a.sub)throw r(`Subject token missing sub`),new B(i,{error:`invalid_grant`,error_description:`Subject token has no subject`});let s=await e.env.data.users.get(n.tenant.id,a.sub);if(!s)throw r(`User not found`),new B(i,{error:`invalid_grant`,error_description:`Subject token subject is not a known user`});let c=s.linked_to?await e.env.data.users.get(n.tenant.id,s.linked_to):s;if(!c)throw r(`Linked user not found`),new B(i,{error:`invalid_grant`,error_description:`Subject token subject is not a known user`});e.set(`user_id`,c.user_id);let l=await e.env.data.organizations.get(n.tenant.id,t.organization);if(!l)throw r(`Organization '${t.organization}' not found`),new B(400,{error:`invalid_request`,error_description:`Organization '${t.organization}' not found`});let u={id:l.id,name:l.name};if(t.audience===void 0&&Array.isArray(a.aud)&&a.aud.length>1)throw r(`Subject token has multiple audiences and none was requested`),new B(400,{error:`invalid_request`,error_description:`audience is required when subject token has multiple audiences`});let d=t.audience??(typeof a.aud==`string`?a.aud:Array.isArray(a.aud)?a.aud[0]:void 0);if(!d)throw r(`No audience on subject token and none requested`),new B(400,{error:`invalid_request`,error_description:`audience is required when subject token has none`});let f=(await e.env.data.resourceServers.list(n.tenant.id)).resource_servers.find(e=>e.identifier===d);if(!f)throw r(`Audience '${d}' is not a registered resource server`),new B(400,{error:`invalid_request`,error_description:`audience is not a registered resource server`});let p=!1;if((await e.env.data.tenants.get(n.tenant.id))?.flags?.inherit_global_permissions_in_organizations&&(p=(await e.env.data.userPermissions.list(n.tenant.id,c.user_id,void 0,``)).some(e=>e.permission_name===`admin:organizations`&&e.resource_server_identifier===f.identifier),!p)){let t=await e.env.data.userRoles.list(n.tenant.id,c.user_id,void 0,``);for(let r of t)if((await e.env.data.rolePermissions.list(n.tenant.id,r.id,{per_page:1e3})).some(e=>e.permission_name===`admin:organizations`&&e.resource_server_identifier===f.identifier)){p=!0;break}}if(!p&&!(await e.env.data.userOrganizations.list(n.tenant.id,{q:`user_id:${c.user_id}`,per_page:1e3})).userOrganizations.some(e=>e.organization_id===u.id))throw r(`User ${c.user_id} is not a member of organization ${u.id}`),new B(403,{error:`access_denied`,error_description:`User is not a member of the specified organization`});let m=(a.scope??``).split(` `).filter(Boolean),h=t.scope?.split(` `).filter(Boolean),g;if(h&&h.length>0){let e=h.filter(e=>!m.includes(e));if(e.length>0)throw r(`Requested scope exceeds subject token: ${e.join(`,`)}`),new B(400,{error:`invalid_scope`,error_description:`Requested scope exceeds subject token scope`});g=h.join(` `)}else g=m.join(` `)||void 0;return{user:c,client:n,authParams:{client_id:n.client_id,audience:d,scope:g,organization:u.id},organization:u,actClient:{client_id:n.client_id}}}async function m0(e,t={}){let n=e.registration_metadata?.jwks;if(n&&typeof n==`object`){let e=Dr.safeParse(n);if(e.success)return e.data.keys;throw Error(`Client has malformed inline jwks`)}let r=e.client_metadata?.jwks_uri;if(typeof r==`string`&&r.length>0){let{status:e,body:n}=await VM(r,t.fetch);if(e!==200)throw Error(`jwks_uri returned status ${e}`);let i;try{i=JSON.parse(n)}catch{throw Error(`jwks_uri did not return valid JSON`)}let a=Dr.safeParse(i);if(!a.success)throw Error(`jwks_uri response is not a valid JWKS`);return a.data.keys}return[]}var h0=`urn:ietf:params:oauth:client-assertion-type:jwt-bearer`,g0=new Set([`RS256`,`RS384`,`RS512`,`ES256`,`ES384`,`ES512`]),_0=new Set([`HS256`,`HS384`,`HS512`]),v0={HS256:`SHA-256`,HS384:`SHA-384`,HS512:`SHA-512`},y0={name:`RSASSA-PKCS1-v1_5`},b0={ES256:`SHA-256`,ES384:`SHA-384`,ES512:`SHA-512`},x0=class extends Error{code;constructor(e,t){super(t),this.code=e,this.name=`ClientAssertionError`}};function S0(e){let t=new TextDecoder().decode(Rv.decode(e,{strict:!1})),n=JSON.parse(t);if(typeof n!=`object`||!n)throw new x0(`invalid_request`,`JOSE segment is not an object`);return n}async function C0(e,t,n){let r=e.split(`.`);if(r.length!==3)throw new x0(`invalid_request`,`client_assertion is not a 3-part JWS`);let[i,a,o]=r,s,c;try{s=S0(i),c=S0(a)}catch(e){throw e instanceof x0?e:new x0(`invalid_request`,`failed to decode client_assertion JOSE segments`)}if(!s.alg)throw new x0(`invalid_request`,`missing alg in header`);if(s.alg===`none`)throw new x0(`unsupported_alg`,`alg=none is not accepted for client authentication`);let l=new Uint8Array(new TextEncoder().encode(`${i}.${a}`)),u=new Uint8Array(Rv.decode(o,{strict:!1})),d;if(_0.has(s.alg)){if(!t.client_secret)throw new x0(`invalid_client`,`client has no client_secret for HMAC verification`);let e=await crypto.subtle.importKey(`raw`,new Uint8Array(new TextEncoder().encode(t.client_secret)),{name:`HMAC`,hash:v0[s.alg]},!1,[`verify`]);if(!await crypto.subtle.verify(`HMAC`,e,u,l))throw new x0(`invalid_client`,`HMAC signature did not verify`);d=`client_secret_jwt`}else if(g0.has(s.alg)){let e=s.alg,r=await m0(t,{fetch:n.fetch});if(r.length===0)throw new x0(`missing_keys`,`client has no jwks/jwks_uri registered`);let i=s.kid?r.filter(e=>e.kid===s.kid):r.filter(t=>w0(t,e));if(i.length===0)throw new x0(`missing_keys`,s.kid?`no JWK found with kid=${s.kid}`:`no JWK found for alg=${e}`);let a=!1;for(let t of i){if(!w0(t,e))continue;let n;try{let r=_N(t,e);n=await crypto.subtle.importKey(`jwk`,t,r,!1,[`verify`])}catch{continue}let r=t.kty===`EC`?{name:`ECDSA`,hash:b0[e]}:y0;try{if(await crypto.subtle.verify(r,n,u,l)){a=!0;break}}catch{continue}}if(!a)throw new x0(`invalid_client`,`asymmetric signature did not verify`);d=`private_key_jwt`}else throw new x0(`unsupported_alg`,`alg ${s.alg} is not supported`);return T0(c,t,n),{clientId:String(c.sub),method:d,jti:typeof c.jti==`string`?c.jti:void 0,payload:c}}function w0(e,t){return!(e.alg&&e.alg!==t||t.startsWith(`ES`)&&e.kty!==`EC`||t.startsWith(`RS`)&&e.kty!==`RSA`)}function T0(e,t,n){let r=n.leewaySeconds??30,i=Math.floor((n.now?n.now():Date.now())/1e3);if(e.iss!==t.client_id)throw new x0(`invalid_client`,`iss must be the client_id (got ${String(e.iss)})`);if(e.sub!==t.client_id)throw new x0(`invalid_client`,`sub must be the client_id (got ${String(e.sub)})`);if(typeof e.exp!=`number`)throw new x0(`invalid_client`,`exp claim is required`);if(e.exp+r<i)throw new x0(`invalid_client`,`client_assertion is expired`);if(typeof e.nbf==`number`&&e.nbf-r>i)throw new x0(`invalid_client`,`client_assertion is not yet valid`);let a=e.aud,o=typeof a==`string`?[a]:Array.isArray(a)?a.filter(e=>typeof e==`string`):[];if(o.length===0)throw new x0(`invalid_client`,`aud claim is required`);if(!o.some(e=>n.acceptedAudiences.includes(e)))throw new x0(`invalid_client`,`aud claim must include one of: ${n.acceptedAudiences.join(`, `)}`)}var E0=f.z.object({client_id:f.z.string().optional(),client_secret:f.z.string().optional(),client_assertion:f.z.string().optional(),client_assertion_type:f.z.string().optional()});function D0(e){let t=e.split(`.`);if(!(t.length!==3||!t[1]))try{let e=JSON.parse(new TextDecoder().decode(Rv.decode(t[1],{strict:!1})));if(e&&typeof e==`object`){let t=e.iss,n=e.sub;if(typeof n==`string`)return n;if(typeof t==`string`)return t}}catch{}}var O0=f.z.union([I1.extend(E0.shape),f.z.object({grant_type:f.z.literal(`authorization_code`),code:f.z.string(),redirect_uri:f.z.string().optional(),code_verifier:f.z.string().min(43).max(128).optional(),organization:f.z.string().optional(),...E0.shape}),f.z.object({grant_type:f.z.literal(`refresh_token`),refresh_token:f.z.string(),redirect_uri:f.z.string().optional(),organization:f.z.string().optional(),...E0.shape}),f.z.object({grant_type:f.z.literal(`http://auth0.com/oauth/grant-type/passwordless/otp`),client_id:f.z.string(),username:f.z.string(),otp:f.z.string(),realm:f.z.enum([`email`,`sms`])}),f0.extend(E0.shape)]);function k0(e){switch(e){case yi.AuthorizationCode:return M.SUCCESS_EXCHANGE_AUTHORIZATION_CODE_FOR_ACCESS_TOKEN;case yi.ClientCredential:return M.SUCCESS_EXCHANGE_ACCESS_TOKEN_FOR_CLIENT_CREDENTIALS;case yi.RefreshToken:return M.SUCCESS_EXCHANGE_REFRESH_TOKEN_FOR_ACCESS_TOKEN;case yi.OTP:return M.SUCCESS_EXCHANGE_PASSWORD_OTP_FOR_ACCESS_TOKEN;case yi.TokenExchange:return M.SUCCESS_EXCHANGE_SUBJECT_TOKEN_FOR_ACCESS_TOKEN;default:return}}var A0=F({route:(0,f.createRoute)({tags:[`oauth2`],method:`post`,path:`/`,request:{body:{content:{"application/x-www-form-urlencoded":{schema:O0},"application/json":{schema:O0}}}},responses:{200:{content:{"application/json":{schema:bi}},description:`Tokens`},302:{description:`Redirect for further user interaction (e.g., MFA, consent).`,headers:f.z.object({Location:f.z.string().url()}).openapi({})},400:{description:`Bad Request - The request was malformed or invalid.`,content:{"application/json":{schema:f.z.object({error:f.z.string(),error_description:f.z.string().optional()})}}},401:{description:`Unauthorized - Client authentication failed.`,content:{"application/json":{schema:f.z.object({error:f.z.string(),error_description:f.z.string().optional()})}}},403:{description:`Forbidden - User is not a member of the required organization.`,content:{"application/json":{schema:f.z.object({error:f.z.string(),error_description:f.z.string().optional()})}}}}}),handler:async e=>{let t=(e.req.header(`Content-Type`)||``).includes(`application/json`)?e.req.valid(`json`):e.req.valid(`form`),n=aW(e.req.header(`Authorization`)),r={...t,...n},i=typeof r.client_assertion==`string`?r.client_assertion:void 0,a=typeof r.client_id==`string`?r.client_id:i?D0(i):void 0;a&&!WM(a)&&await X$(e,{client_id:a}).catch(()=>{});let o=typeof r.client_assertion_type==`string`?r.client_assertion_type:void 0;if(i){if(o!==`urn:ietf:params:oauth:client-assertion-type:jwt-bearer`)throw new B(400,{error:`invalid_request`,error_description:`client_assertion_type must be ${h0}`});if(typeof r.client_secret==`string`||n?.client_secret)throw new B(400,{error:`invalid_request`,error_description:`client_secret and client_assertion are mutually exclusive`});let t=(typeof r.client_id==`string`?r.client_id:void 0)??D0(i);if(!t)throw new B(400,{error:`invalid_request`,error_description:`client_id could not be determined from client_assertion`});let a;try{a=await BN(e.env,t,e.var.tenant_id)}catch{throw new B(401,{error:`invalid_client`,error_description:`client not found`})}let s=`${La(e.env,e.var.custom_domain)}oauth/token`,c=Fa(e.env,e.var.custom_domain);try{let t=await C0(i,a,{acceptedAudiences:[s,c]}),n=a.token_endpoint_auth_method;if(n===`none`)throw new B(401,{error:`invalid_client`,error_description:`public clients must not authenticate with client_assertion`});if((n===`client_secret_jwt`||n===`private_key_jwt`)&&n!==t.method)throw new B(401,{error:`invalid_client`,error_description:`client_assertion method ${t.method} does not match registered token_endpoint_auth_method ${n}`});r.client_id=t.clientId,e.set(`client_authenticated_via_assertion`,!0)}catch(e){throw e instanceof x0?new B(401,{error:e.code===`unsupported_alg`?`invalid_request`:`invalid_client`,error_description:e.message}):e}}if(typeof r.client_id!=`string`||!r.client_id)throw new m(400,{message:`client_id is required`});e.set(`client_id`,r.client_id);let s;switch(t.grant_type){case yi.AuthorizationCode:s=await B1(e,R1.parse(r));break;case yi.ClientCredential:s=await L1(e,I1.parse(r));break;case yi.RefreshToken:s=await Z1(e,X1.parse(r));break;case yi.OTP:s=await c0(e,s0.parse(r));break;case d0:s=await p0(e,f0.parse(r));break;default:return e.json({error:`unsupported_grant_type`,error_description:`Grant type not implemented`},400)}let c=s.client.grant_types;if(c&&c.length>0&&!c.includes(t.grant_type))throw P(e,s.client.tenant.id,{type:M.FAILED_LOGIN,description:`Grant type "${t.grant_type}" is not allowed for this client`}),new B(400,{error:`unauthorized_client`,error_description:`The grant type "${t.grant_type}" is not allowed for this client`});Z$(e,s.client.tenant.id);let l=new Headers;s.session_id&&EN(s.client.tenant.id,s.session_id,e.var.host||``).forEach(e=>{l.append(`Set-Cookie`,e)});let u=[],d;if(s.authParams.audience)try{let n;if(t.grant_type===yi.ClientCredential)n=await bP(e,{grantType:yi.ClientCredential,tenantId:s.client.tenant.id,clientId:s.client.client_id,audience:s.authParams.audience,requestedScopes:s.authParams.scope?.split(` `)||[],organizationId:s.organization?.id});else{if(!s.user?.user_id)throw new B(400,{error:`invalid_request`,error_description:`User ID is required for user-based grants`});n=await bP(e,{grantType:t.grant_type,tenantId:s.client.tenant.id,userId:s.user.user_id,clientId:s.client.client_id,audience:s.authParams.audience,requestedScopes:s.authParams.scope?.split(` `)||[],organizationId:s.organization?.id})}s.authParams.scope=n.scopes.join(` `),u=n.permissions,d=s.client.app_type===`spa`?n.token_lifetime_for_web??n.token_lifetime:n.token_lifetime}catch(e){if(e instanceof m)throw e;console.error(`Error calculating scopes and permissions:`,e)}let f=await fL(e,{...s,grantType:t.grant_type,permissions:u.length>0?u:void 0,token_lifetime:d}),p=k0(t.grant_type);if(p){let t=e.var.action_execution_id,n=s.user,r=s.loginSession?.auth_strategy;P(e,s.client.tenant.id,{type:p,userId:n?.user_id,username:n?n.email||n.phone_number||n.name:void 0,connection:Wa({loginSession:s.loginSession,authConnection:s.authConnection,user:n}),strategy:r?.strategy,strategy_type:r?.strategy_type,client_name:s.client.name,scope:s.authParams.scope,audience:s.authParams.audience,...t?{details:{execution_id:t}}:{}})}return l.set(`Cache-Control`,`no-store`),l.set(`Pragma`,`no-cache`),e.json(f,{headers:l})}}),j0=new f.OpenAPIHono().openapiRoutes([A0]),M0=f.z.object({token:f.z.string(),token_type_hint:f.z.enum([`refresh_token`,`access_token`]).optional(),client_id:f.z.string().optional(),client_secret:f.z.string().optional()}),N0=F({route:(0,f.createRoute)({tags:[`oauth2`],method:`post`,path:`/`,request:{body:{content:{"application/x-www-form-urlencoded":{schema:M0},"application/json":{schema:M0}}}},responses:{200:{description:`Token revoked (or no-op for unknown tokens)`},400:{description:`Bad Request`,content:{"application/json":{schema:f.z.object({error:f.z.string(),error_description:f.z.string().optional()})}}},401:{description:`Unauthorized — client authentication failed`,content:{"application/json":{schema:f.z.object({error:f.z.string(),error_description:f.z.string().optional()})}}}}}),handler:async e=>{let t=(e.req.header(`Content-Type`)||``).includes(`application/json`)?e.req.valid(`json`):e.req.valid(`form`),n=aW(e.req.header(`Authorization`)),r={...t,...n};if(!r.client_id)throw new B(400,{error:`invalid_request`,error_description:`client_id is required`});typeof r.client_id==`string`&&!WM(r.client_id)&&await X$(e,{client_id:r.client_id,tenant_id:e.var.tenant_id}).catch(()=>{});let i;try{i=await BN(e.env,r.client_id,e.var.tenant_id)}catch(e){throw e instanceof B&&e.status===403?new B(401,{error:`invalid_client`,error_description:`Client authentication failed`}):e}if(i.client_secret&&!r.client_secret)throw new B(401,{error:`invalid_client`,error_description:`Client authentication required`});if(r.client_secret&&(!i.client_secret||!F1(i.client_secret,r.client_secret)))throw new B(401,{error:`invalid_client`,error_description:`Client authentication failed`});if(Z$(e,i.tenant.id),r.token_type_hint!==`access_token`){let t=cN(r.token),n=null;if(t.kind===`new`){let r=await e.env.data.refreshTokens.getByLookup(i.tenant.id,t.lookup);r?.token_hash&&F1(await oN(t.secret),r.token_hash)&&(n=r)}else lN()&&(n=await e.env.data.refreshTokens.get(i.tenant.id,t.id));n&&n.client_id===i.client_id&&!n.revoked_at&&await e.env.data.refreshTokens.update(i.tenant.id,n.id,{revoked_at:new Date().toISOString()})}return e.body(null,200,{"Cache-Control":`no-store`,Pragma:`no-cache`})}}),P0=new f.OpenAPIHono().openapiRoutes([N0]),F0=F({route:(0,f.createRoute)({tags:[`dbconnections`],method:`post`,path:`/signup`,request:{body:{content:{"application/json":{schema:f.z.object({client_id:f.z.string(),connection:f.z.literal(N.USERNAME_PASSWORD),email:f.z.string().transform(e=>e.toLowerCase()),password:f.z.string()})}}}},responses:{200:{content:{"application/json":{schema:f.z.object({_id:f.z.string(),email:f.z.string().optional(),email_verified:f.z.boolean(),app_metadata:f.z.object({}),user_metadata:f.z.object({})})}},description:`Created user`}}}),handler:async e=>{let{email:t,password:n,client_id:r}=e.req.valid(`json`),i=await BN(e.env,r);e.set(`client_id`,i.client_id),Z$(e,i.tenant.id);let a=i.connections.find(e=>Ca(e.strategy))?.name||N.USERNAME_PASSWORD,o=await v_(e.env.data,i.tenant.id,a);try{await __(o,{tenantId:i.tenant.id,userId:``,newPassword:n,data:e.env.data})}catch(e){throw new m(400,{message:e?.message||`Password does not meet the requirements`})}if(await hb({env:e.env,tenant_id:i.tenant.id,username:t}))throw new m(400,{message:`Invalid sign up`});let{hash:s,algorithm:c}=await y_(n),l=await fb(e.env,i.tenant.id),u=await e.env.data.users.create(i.tenant.id,{user_id:`${l}|${xg()}`,email:t,email_verified:!1,provider:l,connection:N.USERNAME_PASSWORD,is_social:!1,password:{hash:s,algorithm:c}});e.set(`user_id`,u.user_id),e.set(`username`,u.email),e.set(`connection`,u.connection);try{await nH(e,u)}catch(e){console.error(`Failed to send verification email:`,e)}return P(e,i.tenant.id,{type:M.SUCCESS_SIGNUP,description:`Successful signup`}),e.json({_id:u.user_id,email:u.email,email_verified:!1,app_metadata:{},user_metadata:{}})}}),I0=F({route:(0,f.createRoute)({tags:[`dbconnections`],method:`post`,path:`/change_password`,request:{body:{content:{"application/json":{schema:f.z.object({client_id:f.z.string(),connection:f.z.literal(N.USERNAME_PASSWORD),email:f.z.string().transform(e=>e.toLowerCase())})}}}},responses:{200:{description:`Redirect to the client's redirect uri`}}}),handler:async e=>{let{email:t,client_id:n}=e.req.valid(`json`),r=await BN(e.env,n);if(e.set(`client_id`,r.client_id),Z$(e,r.tenant.id),!await mb({env:e.env,tenant_id:r.tenant.id,username:t}))return e.html(`If an account with that email exists, we've sent instructions to reset your password.`);let i={client_id:n,username:t,audience:r.tenant.default_audience},a=await e.env.data.loginSessions.create(r.tenant.id,{expires_at:new Date(Date.now()+JM*1e3).toISOString(),authParams:i,csrf_token:Mo(),ip:e.get(`ip`),useragent:e.get(`useragent`),auth0Client:sH(e.get(`auth0_client`))});return await QV(e,t,a.id,a.authParams.state),e.html(`If an account with that email exists, we've sent instructions to reset your password.`)}}),L0=new f.OpenAPIHono().openapiRoutes([F0,I0]),R0=F({route:(0,f.createRoute)({tags:[`passwordless`],method:`post`,path:`/start`,request:{body:{content:{"application/json":{schema:f.z.union([f.z.object({connection:f.z.literal(`email`),client_id:f.z.string(),email:f.z.string().transform(e=>e.toLowerCase()),send:f.z.enum([`link`,`code`]),authParams:dn.omit({client_id:!0})}),f.z.object({client_id:f.z.string(),connection:f.z.literal(`sms`),phone_number:f.z.string(),send:f.z.enum([`link`,`code`]),authParams:dn.omit({client_id:!0})})])}}}},responses:{200:{description:`Status`}}}),handler:async e=>{let t=e.req.valid(`json`),{env:n}=e,{client_id:r,send:i,authParams:a,connection:o}=t;WM(r)||await X$(e,{client_id:r}).catch(()=>{});let s=await BN(e.env,r);e.set(`client_id`,s.client_id),Z$(e,s.tenant.id);let c=o===`email`?t.email:t.phone_number,l=e.get(`ip`),u=e.get(`useragent`),d=sH(e.get(`auth0_client`)),f=a.audience??s.tenant.default_audience,p=await n.data.loginSessions.create(s.tenant.id,{authParams:{...a,client_id:r,username:c,audience:f},expires_at:new Date(Date.now()+YM).toISOString(),csrf_token:Mo(),ip:l,useragent:u,auth0Client:d}),m=await n.data.codes.create(s.tenant.id,{code_id:cH(),code_type:`otp`,login_id:p.id,expires_at:new Date(Date.now()+YM).toISOString(),redirect_uri:a.redirect_uri}),h=a?.ui_locales?.split(` `)?.map(e=>e.split(`-`)[0])[0];return i===`link`?await tH(e,{to:c,code:m.code_id,authParams:{...a,client_id:r,audience:f},language:h}):await eH(e,{to:c,code:m.code_id,language:h}),e.html(`OK`)}}),z0=F({route:(0,f.createRoute)({tags:[`passwordless`],method:`get`,path:`/verify_redirect`,request:{query:f.z.object({scope:f.z.string(),response_type:f.z.nativeEnum(on),redirect_uri:f.z.string(),state:f.z.string(),nonce:f.z.string().optional(),verification_code:f.z.string(),connection:f.z.string(),client_id:f.z.string(),email:f.z.string().transform(e=>e.toLowerCase()),audience:f.z.string().optional()})},responses:{302:{description:`Successful verification, redirecting to continue flow.`,headers:f.z.object({Location:f.z.string().url()}).openapi({})},400:{description:`Bad Request (e.g., invalid client, invalid code, missing parameters).`,content:{"application/json":{schema:f.z.object({error:f.z.string(),error_description:f.z.string().optional()})}}},500:{description:`Internal Server Error.`,content:{"application/json":{schema:f.z.object({error:f.z.string(),error_description:f.z.string().optional()})}}}}}),handler:async e=>{let{env:t}=e,{client_id:n,email:r,verification_code:i,redirect_uri:a,state:o,scope:s,audience:c,response_type:l,nonce:u}=e.req.valid(`query`);WM(n)||await X$(e,{client_id:n}).catch(()=>{});let d=await BN(t,n);e.set(`client_id`,d.client_id),Z$(e,d.tenant.id),e.set(`connection`,`email`);let f={client_id:n,redirect_uri:a,state:o,nonce:u,scope:s,audience:c,response_type:l},p=`Something went wrong. Please try again later.`;try{let t=await l0(e,{client_id:n,username:r,otp:i,authParams:f,enforceIpCheck:!0});if(t instanceof Response)return t;if(t&&typeof t==`object`&&`access_token`in t)return e.json(t)}catch(e){let t=e;`message`in t&&typeof t.message==`string`&&(p=t.message)}let m=e.get(`ip`),h=e.get(`useragent`),g=sH(e.get(`auth0_client`)),_=await t.data.loginSessions.create(d.tenant.id,{authParams:{...f,username:r,audience:f.audience??d.tenant.default_audience},expires_at:new Date(Date.now()+YM).toISOString(),csrf_token:Mo(),ip:m,useragent:h,auth0Client:g});return e.redirect(`${Ia(e.env,e.var.custom_domain)}invalid-session?state=${_.id}&error=${encodeURIComponent(p)}`,302)}}),B0=new f.OpenAPIHono().openapiRoutes([R0,z0]),V0=F({route:(0,f.createRoute)({tags:[`oauth`],method:`post`,path:`/`,request:{body:{content:{"application/json":{schema:f.z.union([f.z.object({credential_type:f.z.literal(`http://auth0.com/oauth/grant-type/passwordless/otp`),otp:f.z.string(),client_id:f.z.string(),username:f.z.string().transform(e=>e.toLowerCase()),realm:f.z.enum([N.EMAIL]),scope:f.z.string().optional()}),f.z.object({credential_type:f.z.literal(`http://auth0.com/oauth/grant-type/password-realm`),client_id:f.z.string(),username:f.z.string().transform(e=>e.toLowerCase()),password:f.z.string(),realm:f.z.enum([N.USERNAME_PASSWORD]),scope:f.z.string().optional()})])}}}},responses:{200:{description:`List of tenants`}}}),handler:async e=>{let t=e.req.valid(`json`),{client_id:n,username:r}=t;e.set(`username`,r),WM(n)||await X$(e,{client_id:n}).catch(()=>{});let i=await BN(e.env,n);e.set(`client_id`,n),Z$(e,i.tenant.id);let a=r.toLocaleLowerCase(),o=e.get(`ip`),s=e.get(`useragent`),c=e.get(`auth0_client`),l;try{if(`otp`in t)l=await l0(e,{client_id:n,username:a,otp:t.otp});else if(`password`in t){let r=await e.env.data.loginSessions.create(i.tenant.id,{expires_at:new Date(Date.now()+JM*1e3).toISOString(),authParams:{client_id:n,username:a,audience:i.tenant.default_audience},csrf_token:Mo(),ip:o,useragent:s,auth0Client:sH(c)});l=await IH(e,i,{username:a,password:t.password,client_id:n},r,!0,t.realm)}else throw new m(400,{message:`Code or password required`})}catch(n){try{await P(e,i.tenant.id,{type:M.FAILED_CROSS_ORIGIN_AUTHENTICATION,description:n instanceof Error?n.message:`Cross-origin auth failed`,connection:t.realm})}catch(e){console.error(`[co/authenticate] failed to log FAILED_CROSS_ORIGIN_AUTHENTICATION:`,e)}throw n}try{await P(e,i.tenant.id,{type:M.SUCCESS_CROSS_ORIGIN_AUTHENTICATION,description:`Successful cross-origin authentication`,connection:t.realm})}catch(e){console.error(`[co/authenticate] failed to log SUCCESS_CROSS_ORIGIN_AUTHENTICATION:`,e)}return l}}),H0=new f.OpenAPIHono().openapiRoutes([V0]);function U0(e,t){if(!e||t.length===0)return!1;let n=W0(e)?.host??null;if(!n)return!1;for(let e of t){let t;if(t=e.startsWith(`http://`)||e.startsWith(`https://`)?W0(e)?.host??null:W0(`https://`+e)?.host??null,n===t)return!0}return!1}function W0(e){try{return new URL(e)}catch{return null}}async function G0(e,t,n){if(!n.login_session_id)return{};let r=await e.env.data.loginSessions.get(t,n.login_session_id).catch(()=>void 0);return{authStrategy:r?.auth_strategy,authConnection:r?.auth_connection}}function K0(e,t){if(!e||t===void 0)return!1;let n=new Date(e.authenticated_at).getTime(),r=t*1e3;return Date.now()-n>r}async function q0({ctx:e,session:t,client:n,authParams:r,connection:i,login_hint:a,screen_hint:o}){let s=new URL(e.req.url);e.var.custom_domain&&(s.hostname=e.var.custom_domain);let{ip:c,auth0_client:l,useragent:u}=e.var,d=sH(l);K0(t,r.max_age)&&(t=void 0);let f=r.prompt?.split(` `)??[];(f.includes(`login`)||f.includes(`select_account`))&&(t=void 0);let p=await e.env.data.loginSessions.create(n.tenant.id,{expires_at:new Date(Date.now()+JM*1e3).toISOString(),authParams:r,csrf_token:Mo(),authorization_url:s.toString(),ip:c,useragent:u,auth0Client:d}),m=n.client_metadata?.universal_login_version===`2`?`/u2`:`/u`;if(t&&a&&o!==`login`){let i=await e.env.data.users.get(n.tenant.id,t.user_id);if(i?.email===a){let{authStrategy:a,authConnection:o}=await G0(e,n.tenant.id,t);return DL(e,{client:n,loginSession:p,authParams:r,user:i,existingSessionIdToLink:t.id,authStrategy:a,authConnection:o})}}if(i===N.EMAIL&&a){let t=cH();return await e.env.data.codes.create(n.tenant.id,{code_id:t,code_type:`otp`,login_id:p.id,expires_at:new Date(Date.now()+JM*1e3).toISOString(),redirect_uri:r.redirect_uri}),await tH(e,{code:t,to:a,authParams:r}),e.redirect(`${m}/login/email-otp-challenge?state=${p.id}`)}if(t&&o!==`login`){let i=await e.env.data.users.get(n.tenant.id,t.user_id);if(i){let{authStrategy:a,authConnection:o}=await G0(e,n.tenant.id,t);return DL(e,{client:n,loginSession:p,authParams:r,user:i,existingSessionIdToLink:t.id,authStrategy:a,authConnection:o})}}if(m===`/u2`){let t=await e.env.data.promptSettings.get(n.tenant.id),r=ki.parse(t||{}),i=n.connections.some(e=>Ca(e.strategy));if(r.identifier_first===!1&&i)return e.redirect(`${m}/login?state=${p.id}`)}return e.redirect(`${m}/login/identifier?state=${p.id}`)}async function J0(e,t,n){if(n===N.USERNAME_PASSWORD)return fb(e.env,t);if(n===N.EMAIL)return N.EMAIL;throw new B(403,{message:`Invalid realm`})}async function Y0(e,t,n,r,i){let{env:a}=e;e.set(`connection`,i);let o=await a.data.codes.get(t,n,`ticket`);if(!o||o.used_at)throw new B(403,{message:`Ticket not found`});let s=await a.data.loginSessions.get(t,o.login_id);if(!s||!s.authParams.username)throw new B(403,{message:`Session not found`});let c=await BN(a,s.authParams.client_id,t);e.set(`client_id`,s.authParams.client_id),await a.data.codes.used(t,n);let l=await J0(e,t,i),u=c.connections.find(e=>e.name===i)?.strategy||(pb(l)?N.USERNAME_PASSWORD:N.EMAIL),d=Ca(u)?xa.DATABASE:xa.PASSWORDLESS,f=i===N.USERNAME_PASSWORD?await gb(e,{client:c,username:s.authParams.username,connection:i,ip:e.var.ip}):await Ag(e,{username:s.authParams.username,provider:l,client:c,connection:i,isSocial:!1,ip:e.var.ip});return e.set(`username`,f.email||f.phone_number),e.set(`user_id`,f.user_id),DL(e,{authParams:{scope:s.authParams?.scope,...r},loginSession:s,user:f,client:c,authConnection:i,authStrategy:{strategy:u,strategy_type:d}})}function X0(e,t){return t===sn.QUERY?!1:t===sn.FRAGMENT?!0:e!==on.CODE}async function Z0({ctx:e,client:t,session:n,redirect_uri:r,state:i,nonce:a,code_challenge_method:o,code_challenge:s,audience:c,scope:l,response_type:u,response_mode:d,organization:f,max_age:p}){let{env:m}=e,h=new URL(r),g=`${h.protocol}//${h.host}`,_=d===sn.WEB_MESSAGE;async function v(a=`Login required`){let o=new Headers;if(n&&(P(e,t.tenant.id,{type:M.FAILED_SILENT_AUTH,description:a}),TN(t.tenant.id,e.var.host).forEach(e=>{o.append(`set-cookie`,e)})),_)return gP(e,g,JSON.stringify({error:`login_required`,error_description:a,state:i}),o);let s={error:`login_required`,error_description:a};if(i&&(s.state=i),d===sn.FORM_POST)return vP(r,s,o);let c=new URL(r);if(X0(u,d))c.hash=new URLSearchParams(s).toString();else for(let[e,t]of Object.entries(s))c.searchParams.set(e,t);let l={Location:c.toString()},f=o.get(`set-cookie`);return f&&(l[`set-cookie`]=f),new Response(null,{status:302,headers:l})}function y(t=`Consent required`){if(_)return gP(e,g,JSON.stringify({error:`consent_required`,error_description:t,state:i}));let n={error:`consent_required`,error_description:t};if(i&&(n.state=i),d===sn.FORM_POST)return vP(r,n,new Headers);let a=new URL(r);if(X0(u,d))a.hash=new URLSearchParams(n).toString();else for(let[e,t]of Object.entries(n))a.searchParams.set(e,t);return new Response(null,{status:302,headers:{Location:a.toString()}})}let b=!n||n?.expires_at&&new Date(n.expires_at)<new Date||n?.idle_expires_at&&new Date(n.idle_expires_at)<new Date,x=n&&p!==void 0&&Date.now()-new Date(n.authenticated_at).getTime()>p*1e3;if(b||x)return v();let S=await m.data.users.get(t.tenant.id,n.user_id);if(!S)return console.error(`User not found`,n.user_id),v(`User not found`);let C=S.linked_to?await m.data.users.get(t.tenant.id,S.linked_to):S;if(!C)return console.error(`Linked primary user not found`,S.linked_to),v(`User not found`);e.set(`user_id`,C.user_id),e.set(`username`,C.email),e.set(`connection`,C.connection);let w;if(f&&(w=await m.data.organizations.get(t.tenant.id,f),!w))return v(`Organization not found`);let T=c,E=l||``,ee=[],te;if(T)try{let n=await bP(e,{tenantId:t.tenant.id,clientId:t.client_id,audience:T,requestedScopes:l?.split(` `)||[],organizationId:w?.id,userId:C.user_id});E=n.scopes.join(` `),ee=n.permissions,te=t.app_type===`spa`&&n.token_lifetime_for_web?n.token_lifetime_for_web:n.token_lifetime}catch(e){if(e?.statusCode===403||e?.status===403)return v(e?.body?.error_description||e?.message||`Access denied`);throw e}else if(w&&!(await m.data.userOrganizations.list(t.tenant.id,{q:`user_id:${C.user_id}`,per_page:1e3})).userOrganizations.some(e=>e.organization_id===w.id))return v(`User is not a member of the specified organization`);if(!t.is_first_party){let n=l?.split(` `).filter(Boolean)??[],r=await SP(e,{tenantId:t.tenant.id,userId:C.user_id,clientId:t.client_id,requestedScopes:n});if(r.length>0)return y(`Consent required for scope(s): ${r.join(` `)}`)}let ne;n.login_session_id&&(ne=await m.data.loginSessions.get(t.tenant.id,n.login_session_id));let re=Wa({loginSession:ne,user:C}),ie=await m.data.loginSessions.create(t.tenant.id,{csrf_token:Mo(),authParams:{client_id:t.client_id,audience:c,scope:l,state:i,nonce:a,response_type:u,redirect_uri:r,organization:f,max_age:p},expires_at:new Date(Date.now()+300*1e3).toISOString(),session_id:n.id,...re?{auth_connection:re}:{},ip:e.var.ip,useragent:e.var.useragent}),ae=p===void 0?void 0:Math.floor(new Date(n.authenticated_at).getTime()/1e3),D={client:t,authParams:{client_id:t.client_id,audience:c,code_challenge_method:o,code_challenge:s,scope:E,state:i,nonce:a,response_type:u,redirect_uri:r,max_age:p},user:C,session_id:n.id,auth_time:ae,permissions:ee,organization:w,token_lifetime:te},oe=u.split(` `),se=oe.includes(`code`),ce=oe.includes(`id_token`),O=oe.includes(`token`),le=se&&(ce||O),ue;if(u===on.CODE)ue=await pL(e,{user:C,client:t,authParams:D.authParams,login_id:ie.id});else if(le){let n=await pL(e,{user:C,client:t,authParams:D.authParams,login_id:ie.id});ue={...await fL(e,{...D,code:n.code}),code:n.code,state:n.state}}else ue=await fL(e,D);let de=t.tenant.idle_session_lifetime?new Date(Date.now()+t.tenant.idle_session_lifetime*60*60*1e3).toISOString():void 0;await m.data.sessions.update(t.tenant.id,n.id,{used_at:new Date().toISOString(),last_interaction_at:new Date().toISOString(),login_session_id:ie.id,device:{...n.device,last_ip:e.var.ip||``,last_user_agent:e.var.useragent||``},idle_expires_at:de}),de&&await m.data.loginSessions.update(t.tenant.id,ie.id,{expires_at:de}),P(e,t.tenant.id,{type:M.SUCCESS_SILENT_AUTH,description:`Successful silent authentication`});let fe=new Headers;if(EN(t.tenant.id,n.id,e.var.host).forEach(e=>{fe.append(`set-cookie`,e)}),_)return gP(e,g,JSON.stringify({...ue,state:i}),fe);let pe={},me=ue.code,he=ue.access_token,ge=ue.id_token;if(se&&typeof me==`string`&&(pe.code=me),typeof he==`string`&&(O&&(pe.access_token=he,typeof ue.token_type==`string`&&(pe.token_type=ue.token_type),typeof ue.expires_in==`number`&&(pe.expires_in=String(ue.expires_in))),ce&&typeof ge==`string`&&(pe.id_token=ge)),i&&(pe.state=i),(O||ce)&&l&&(pe.scope=l),d===sn.FORM_POST)return vP(r,pe,fe);let _e=new URL(r);if(X0(u,d))_e.hash=new URLSearchParams(pe).toString();else for(let[e,t]of Object.entries(pe))_e.searchParams.set(e,t);let ve={Location:_e.toString()},ye=fe.get(`set-cookie`);return ye&&(ve[`set-cookie`]=ye),new Response(null,{status:302,headers:ve})}var Q0=1024;function $0(e,t){let n=e.split(`:`)[0]?.split(`.`)??[],r=t.split(`:`)[0]?.split(`.`)??[];return n.length<2||r.length<2?!1:n.slice(-2).join(`.`)===r.slice(-2).join(`.`)}async function e2(e,t,n){return await e.env.data.customDomains.getByDomain(t)?!0:$0(t,n)}async function t2(e,t){let n=await e.env.data.loginSessions.get(e.var.tenant_id||``,t);if(!n)throw new B(403,{message:`State not found`});let r=n.authorization_url;if(r&&r.length<=Q0){let n=null;try{n=new URL(r)}catch{n=null}let i=e.var.host||``;if(n&&n.host&&n.host!==i&&await e2(e,n.host,i)){let e=new URL(`/authorize/resume`,n.origin);return e.searchParams.set(`state`,t),new Response(null,{status:302,headers:{location:e.toString()}})}}let i=n.authParams.client_id,a;if(!WM(i)){let t=await e.env.data.clients.getByClientId(i);if(!t)throw new B(403,{message:`Client not found`});a=t.tenant_id,Z$(e,a),e.set(`client_id`,i)}let o=await BN(e.env,i,a);Z$(e,o.tenant.id),e.set(`client_id`,o.client_id);let s=n.state||j.PENDING;if(s===j.PENDING)throw new B(400,{error:`invalid_request`,error_description:`Login session is not yet authenticated`});if(s===j.COMPLETED)throw new B(409,{error:`invalid_request`,error_description:`Login session has already been completed`});if(s===j.FAILED)throw new B(400,{error:`access_denied`,error_description:`Login session failed: ${n.failure_reason||`unknown reason`}`});if(s===j.EXPIRED)throw new B(400,{error:`invalid_request`,error_description:`Login session has expired`});if(!n.user_id)throw new B(500,{message:`Authenticated login session has no user_id`});let c=await e.env.data.users.get(o.tenant.id,n.user_id);if(!c)throw new B(500,{message:`Authenticated user not found`});return e.set(`user_id`,c.user_id),n.auth_connection&&e.set(`connection`,n.auth_connection),DL(e,{authParams:n.authParams,client:o,user:c,loginSession:n,authStrategy:n.auth_strategy,authConnection:n.auth_connection})}var n2=new Set([`RS256`,`RS384`,`RS512`,`ES256`,`ES384`,`ES512`]),r2=new Set([`HS256`,`HS384`,`HS512`]),i2={HS256:`SHA-256`,HS384:`SHA-384`,HS512:`SHA-512`},a2={name:`RSASSA-PKCS1-v1_5`},o2={ES256:`SHA-256`,ES384:`SHA-384`,ES512:`SHA-512`},s2=class extends Error{code;constructor(e,t){super(t),this.code=e,this.name=`RequestObjectVerificationError`}};function c2(e){let t=new TextDecoder().decode(Rv.decode(e,{strict:!1})),n=JSON.parse(t);if(typeof n!=`object`||!n)throw new s2(`invalid_request_object`,`JOSE segment is not an object`);return n}async function l2(e,t,n){let r=e.split(`.`);if(r.length!==3)throw new s2(`invalid_request_object`,`request object is not a 3-part JWS`);let[i,a,o]=r,s,c;try{s=c2(i),c=c2(a)}catch(e){throw e instanceof s2?e:new s2(`invalid_request_object`,`failed to decode JOSE segments`)}if(!s.alg)throw new s2(`invalid_request_object`,`missing alg`);if(s.alg===`none`)throw new s2(`unsupported_alg`,`unsigned request objects (alg=none) are not accepted`);let l=new Uint8Array(new TextEncoder().encode(`${i}.${a}`)),u=new Uint8Array(Rv.decode(o,{strict:!1}));if(r2.has(s.alg)){if(!t.client_secret)throw new s2(`missing_keys`,`client has no client_secret for HMAC verification`);let e=await crypto.subtle.importKey(`raw`,new Uint8Array(new TextEncoder().encode(t.client_secret)),{name:`HMAC`,hash:i2[s.alg]},!1,[`verify`]);if(!await crypto.subtle.verify(`HMAC`,e,u,l))throw new s2(`signature_invalid`,`HMAC signature did not verify`)}else if(n2.has(s.alg)){let e=s.alg,r=await m0(t,{fetch:n.fetch});if(r.length===0)throw new s2(`missing_keys`,`client has no jwks/jwks_uri registered`);let i=s.kid?r.filter(e=>e.kid===s.kid):r.filter(t=>u2(t,e));if(i.length===0)throw new s2(`missing_keys`,s.kid?`no JWK found with kid=${s.kid}`:`no JWK found for alg=${e}`);let a=!1,o=!1;for(let t of i){if(!u2(t,e))continue;let n;try{let r=_N(t,e);n=await crypto.subtle.importKey(`jwk`,t,r,!1,[`verify`])}catch{continue}let r=t.kty===`EC`?{name:`ECDSA`,hash:o2[e]}:a2;try{if(o=!0,await crypto.subtle.verify(r,n,u,l)){a=!0;break}}catch{continue}}if(!a)throw new s2(o?`signature_invalid`:`missing_keys`,o?`asymmetric signature did not verify (kid=${s.kid??`(none)`}, alg=${e})`:`no JWK compatible with alg=${e} (kid=${s.kid??`(none)`})`)}else throw new s2(`unsupported_alg`,`alg ${s.alg} is not supported`);return d2(c,t,n),c}function u2(e,t){return!(e.alg&&e.alg!==t||t.startsWith(`ES`)&&e.kty!==`EC`||t.startsWith(`RS`)&&e.kty!==`RSA`)}function d2(e,t,n){let r=n.leewaySeconds??30,i=Math.floor((n.now?n.now():Date.now())/1e3);if(typeof e.exp!=`number`)throw new s2(`claim_invalid`,`request object missing exp`);if(e.exp+r<i)throw new s2(`claim_invalid`,`request object is expired`);if(typeof e.nbf==`number`&&e.nbf-r>i)throw new s2(`claim_invalid`,`request object not yet valid`);if(e.iss!==void 0&&e.iss!==t.client_id)throw new s2(`claim_invalid`,`iss mismatch: expected client_id ${t.client_id}, got ${String(e.iss)}`);if(e.aud!==void 0&&n.issuer){let t=e.aud;if(!(t===n.issuer||Array.isArray(t)&&t.some(e=>e===n.issuer)))throw new s2(`claim_invalid`,`aud claim does not match issuer ${n.issuer}`)}}var f2=[N.EMAIL,N.SMS,N.USERNAME_PASSWORD],p2=[`code`,`id_token`,`token`];function m2(e){let t=e.split(/\s+/).filter(Boolean);return t.length<=1?e:[...t].sort((e,t)=>p2.indexOf(e)-p2.indexOf(t)).join(` `)}var h2=f.z.object({client_id:f.z.string().optional(),vendor_id:f.z.string().optional(),redirect_uri:f.z.string().optional(),scope:f.z.string().optional(),state:f.z.string().optional(),prompt:f.z.string().optional(),response_mode:f.z.nativeEnum(sn).optional(),response_type:f.z.preprocess(e=>typeof e==`string`?m2(e):e,f.z.nativeEnum(on).optional()),audience:f.z.string().optional(),connection:f.z.string().optional(),nonce:f.z.string().optional(),max_age:f.z.string().optional(),acr_values:f.z.string().optional(),login_ticket:f.z.string().optional(),code_challenge_method:f.z.nativeEnum(cn).optional(),code_challenge:f.z.string().optional(),realm:f.z.string().optional(),auth0Client:f.z.string().optional(),organization:f.z.string().optional(),login_hint:f.z.string().optional(),screen_hint:f.z.string().optional(),ui_locales:f.z.string().optional(),claims:f.z.union([f.z.string(),f.z.record(f.z.string(),f.z.any())]).optional()});function g2(e){if(e==null)return;let t;if(typeof e==`string`){if(!e)return;try{t=JSON.parse(e)}catch{throw new m(400,{message:`invalid claims parameter: not valid JSON`})}}else t=e;let n=un.safeParse(t);if(!n.success)throw new m(400,{message:"invalid claims parameter: must be an object with optional `userinfo` and `id_token` members"});let r={};return n.data.userinfo&&Object.keys(n.data.userinfo).length>0&&(r.userinfo=n.data.userinfo),n.data.id_token&&Object.keys(n.data.id_token).length>0&&(r.id_token=n.data.id_token),r.userinfo||r.id_token?r:void 0}var _2=new Set([`application/oauth-authz-req+jwt`,`application/jwt`]);async function v2(e,t){let{status:n,body:r,contentType:i}=await VM(e,t);if(n!==200)throw new m(400,{message:`request_uri returned status ${n}`});let a=(i??``).split(`;`)[0]?.trim().toLowerCase()??``;if(!_2.has(a))throw new m(400,{message:`request_uri returned unsupported content-type: ${a||`(missing)`}`});let o=r.trim();if(!o||o.split(`.`).length!==3)throw new m(400,{message:`request_uri did not return a JWT`});return o}var y2=F({route:(0,f.createRoute)({tags:[`oauth`],method:`get`,path:`/`,request:{query:h2.extend({client_id:f.z.string(),screen_hint:f.z.string().openapi({example:`signup`,description:`Optional hint for the screen to show, like "signup" or "login".`}).optional(),request:f.z.string().openapi({description:`JWT containing authorization request parameters (OpenID Connect Core Section 6.1). MUST be signed; alg=none is rejected.`}).optional(),request_uri:f.z.string().url().openapi({description:`URL referencing a Request Object JWT (OpenID Connect Core Section 6.2). The URL is fetched with SSRF protection.`}).optional()}).passthrough()},responses:{200:{description:`Successful authorization response. This can be an HTML page (e.g., for silent authentication iframe or universal login page) or a JSON object containing tokens (e.g., for response_mode=web_message).`,content:{"text/html":{schema:f.z.string().openapi({example:`<html>...</html>`})},"application/json":{schema:bi}}},302:{description:`Redirect to the client's redirect URI, an authentication page, or an external identity provider.`,headers:f.z.object({Location:f.z.string().url()})},400:{description:`Bad Request. Invalid parameters or other client-side errors.`,content:{"application/json":{schema:f.z.object({message:f.z.string()})}}},403:{description:`Forbidden. The request is not allowed (e.g., invalid origin).`,content:{"application/json":{schema:f.z.object({message:f.z.string()})}}}}}),handler:async e=>{let{env:t}=e,n=e.req.valid(`query`);if(n.request&&n.request_uri)throw new m(400,{message:`request and request_uri are mutually exclusive`});let r=zM(t);n.client_id&&!WM(n.client_id)&&await X$(e,{client_id:n.client_id}).catch(()=>{});let i=n.request;if(n.request_uri)try{i=await v2(n.request_uri,r)}catch(e){throw e instanceof BM?new m(400,{message:`request_uri rejected: ${e.message}`}):e}let a={},o;if(i){if(!n.client_id)throw new m(400,{message:`client_id is required to verify a request object`});o=await BN(t,n.client_id,WM(n.client_id)?e.var.tenant_id:void 0,r);try{let n=await l2(i,o,{issuer:Fa(t,e.var.custom_domain),fetch:r}),s=h2.safeParse(n);if(!s.success)throw new m(400,{message:`invalid request object: ${s.error.issues.map(e=>`${e.path.join(`.`)}: ${e.message}`).join(`; `)}`});a=s.data}catch(e){throw e instanceof s2?new m(400,{message:`invalid request object (${e.code}): ${e.message}`}):e}}for(let e of Object.keys(a)){let t=a[e],r=n[e];if(t!==void 0&&r!==void 0&&t!==r)throw new m(400,{message:`request object and query parameter "${e}" disagree`})}let{redirect_uri:s,scope:c,audience:l,nonce:u,response_type:d,response_mode:f,code_challenge:p,code_challenge_method:h,prompt:g,max_age:_,acr_values:v,login_hint:y,ui_locales:b,organization:x,claims:S}={...n,...a},{client_id:C,vendor_id:w,state:T,connection:E,login_ticket:ee,realm:te,auth0Client:ne,screen_hint:re}={...n,...a};e.set(`log`,`authorize`);let ie=g2(S),ae=WM(C),D=o&&o.client_id===C?o:await BN(t,C,ae?e.var.tenant_id:void 0,r);e.set(`client_id`,D.client_id),Z$(e,D.tenant.id);let oe;if(T&&(oe=await t.data.loginSessions.get(D.tenant.id,T),oe&&oe.state!==j.COMPLETED&&oe.state!==j.FAILED&&oe.state!==j.EXPIRED)){let e=oe.authParams;s??=e.redirect_uri,c??=e.scope,l??=e.audience,u??=e.nonce,d??=e.response_type,f??=e.response_mode,p??=e.code_challenge,h??=e.code_challenge_method,g??=e.prompt,_??=e.max_age?.toString(),v??=e.acr_values,y??=e.username,b??=e.ui_locales,x??=e.organization,!ie&&e.claims&&(ie=e.claims)}if(ae&&d?.includes(`code`)&&(!p||h!==`S256`))throw new m(400,{message:`PKCE with code_challenge_method=S256 is required for Client ID Metadata Document clients`});let se=s;typeof s==`string`&&(se=s.split(`#`)[0]);let ce=e.req.header(`origin`);if(ce&&!U0(ce,D.web_origins||[]))throw new m(403,{message:`Origin ${ce} not allowed`});if(!d){let t=!!se&&f1(se,D.callbacks||[],{allowPathWildcards:!0,allowSubDomainWildcards:!0});if(se&&t){let t={error:`invalid_request`,error_description:`Missing required parameter: response_type`};if(T&&(t.state=T),f===sn.FORM_POST)return vP(se,t,new Headers);let n=new URL(se);for(let[e,r]of Object.entries(t))n.searchParams.set(e,r);return e.redirect(n.toString())}throw new m(400,{message:`Missing required parameter: response_type`})}let O={redirect_uri:se,scope:c,state:T,client_id:C,vendor_id:w,audience:l??D.tenant.default_audience,nonce:u,prompt:g,response_type:d,response_mode:f,code_challenge:p,code_challenge_method:h,username:y,ui_locales:b,organization:x,max_age:_?parseInt(_,10):void 0,acr_values:v,claims:ie};if(O.redirect_uri){let t=D.callbacks||[];if(e.var.host&&(t.push(`${Fa(e.env,e.var.custom_domain)}/*`),t.push(`${Ia(e.env,e.var.custom_domain)}/*`)),!f1(O.redirect_uri,t,{allowPathWildcards:!0,allowSubDomainWildcards:!0}))throw new m(400,{message:`Invalid redirect URI - ${O.redirect_uri}`})}if(f===sn.QUERY&&d!==on.CODE){let t=`Invalid response_mode "query" for response_type "${d}"`;if(se){let n={error:`unsupported_response_mode`,error_description:t};T&&(n.state=T);let r=new URL(se);for(let[e,t]of Object.entries(n))r.searchParams.set(e,t);return e.redirect(r.toString())}throw new m(400,{message:t})}let le=`${Fa(e.env,e.var.custom_domain)}userinfo`;if(O.audience&&O.audience!==le){let{resource_servers:n}=await t.data.resourceServers.list(D.tenant.id);if(!n.some(e=>e.identifier===O.audience)){let t={error:`access_denied`,error_description:`Service not found: ${O.audience}`};if(T&&(t.state=T),se){if(f===sn.FORM_POST)return vP(se,t,new Headers);let n=new URL(se);for(let[e,r]of Object.entries(t))n.searchParams.set(e,r);return e.redirect(n.toString())}throw new m(403,{message:`Service not found: ${O.audience}`})}}let ue,de=uae(D.tenant.id,e.req.header(`cookie`));for(let e of de){let n=await t.data.sessions.get(D.tenant.id,e);if(n&&!n.revoked_at){ue=n;break}}if(D.sso_disabled&&(ue=void 0),g==`none`){if(!se||!T||!d)throw new m(400,{message:`Missing required parameters for silent auth: redirect_uri, state, and response_type`});return Z0({ctx:e,session:ue||void 0,redirect_uri:se,state:T,response_type:d,response_mode:f,client:D,nonce:u,code_challenge_method:h,code_challenge:p,audience:O.audience,scope:c,organization:x,max_age:_?parseInt(_,10):void 0})}if(D.connections.length===1&&D.connections[0]&&!f2.includes(D.connections[0].strategy||``)&&!Ca(D.connections[0].strategy))return n1(e,D,D.connections[0].name,O,oe);if(E&&E!==N.EMAIL)return n1(e,D,E,O,oe);if(ee){let t=await Y0(e,D.tenant.id,ee,O,te);return t instanceof Response?t:e.json(t)}let fe=await q0({ctx:e,client:D,auth0Client:ne,authParams:O,session:ue||void 0,connection:E,login_hint:y,screen_hint:re});return fe instanceof Response?fe:e.json(fe)}}),b2=F({route:(0,f.createRoute)({tags:[`oauth`],method:`get`,path:`/resume`,request:{query:f.z.object({state:f.z.string()})},responses:{302:{description:`Redirect to the client's redirect_uri (with cookie set), to a MFA/continuation UL screen, or to the original authorization host when the browser is on the wrong custom domain.`,headers:f.z.object({Location:f.z.string().url()})},400:{description:`Login session is in PENDING, FAILED, or EXPIRED state.`,content:{"application/json":{schema:f.z.object({message:f.z.string()})}}},403:{description:`Login session not found.`,content:{"application/json":{schema:f.z.object({message:f.z.string()})}}},409:{description:`Login session has already been completed (replay).`,content:{"application/json":{schema:f.z.object({message:f.z.string()})}}}}}),handler:async e=>{let{state:t}=e.req.valid(`query`);return t2(e,t)}}),x2=new f.OpenAPIHono().openapiRoutes([y2,b2]),S2=F({route:(0,f.createRoute)({tags:[`oauth`],method:`get`,path:`/`,request:{query:f.z.object({client_id:f.z.string(),redirect_url:f.z.string().optional(),login_hint:f.z.string().toLowerCase().optional(),screen_hint:f.z.enum([`account`,`change-email`,`change-phone`,`change-password`]).optional().default(`account`)})},responses:{302:{description:`Redirect to the account page with login session state or login page`,headers:f.z.object({Location:f.z.string().url()})},400:{description:`Bad Request. Invalid parameters or other client-side errors.`,content:{"application/json":{schema:f.z.object({message:f.z.string()})}}}}}),handler:async e=>{let{env:t}=e,{client_id:n,redirect_url:r,login_hint:i,screen_hint:a}=e.req.valid(`query`);e.set(`log`,`account`),WM(n)||await X$(e,{client_id:n}).catch(()=>{});let o=await BN(t,n);e.set(`client_id`,o.client_id),Z$(e,o.tenant.id);let s={redirect_uri:r||e.req.url,client_id:n,username:i},c=e.req.header(`origin`);if(c&&!U0(c,o.web_origins||[]))throw new m(403,{message:`Origin ${c} not allowed`});if(s.redirect_uri){let t=o.callbacks||[];if(e.var.host&&(t.push(`${Fa(e.env,e.var.custom_domain)}/*`),t.push(`${Ia(e.env,e.var.custom_domain)}/*`)),!f1(s.redirect_uri,t,{allowPathWildcards:!0,allowSubDomainWildcards:!0}))throw new m(400,{message:`Invalid redirect URI - ${s.redirect_uri}`})}let l=wN(o.tenant.id,e.req.header(`cookie`)),u=l?await t.data.sessions.get(o.tenant.id,l):void 0,d=u&&!u.revoked_at?u:void 0;o.sso_disabled&&(d=void 0);let f=new URL(e.req.url);e.var.custom_domain&&(f.hostname=e.var.custom_domain);let{ip:p,auth0_client:h,useragent:g}=e.var,_=sH(h),v=await t.data.loginSessions.create(o.tenant.id,{expires_at:new Date(Date.now()+JM*1e3).toISOString(),authParams:s,csrf_token:Mo(),authorization_url:f.toString(),ip:p,useragent:g,auth0Client:_});if(d){if(i&&(await t.data.users.get(o.tenant.id,d.user_id))?.email!==i)return e.redirect(`${Ia(e.env,e.var.custom_domain)}login/identifier?state=${encodeURIComponent(v.id)}`);if(await t.data.loginSessions.update(o.tenant.id,v.id,{session_id:d.id}),a===`change-email`){let t=new URL(`/u2/account/profile`,e.req.url);return t.searchParams.set(`state`,v.id),e.redirect(t.toString())}let n=new URL(`/u2/account`,e.req.url);return n.searchParams.set(`state`,v.id),e.redirect(n.toString())}return e.redirect(`${Ia(e.env,e.var.custom_domain)}login/identifier?state=${encodeURIComponent(v.id)}`)}}),C2=new f.OpenAPIHono().openapiRoutes([S2]);function w2(e,t){if(e===t)return!0;if(e==null||t==null||typeof e!=typeof t)return!1;if(Array.isArray(e)&&Array.isArray(t)){if(e.length!==t.length)return!1;for(let n=0;n<e.length;n++)if(!w2(e[n],t[n]))return!1;return!0}if(Pa(e)&&Pa(t)){let n=Object.keys(e),r=Object.keys(t);if(n.length!==r.length)return!1;for(let r of n)if(!w2(e[r],t[r]))return!1;return!0}return!1}function T2(e,t){let n={...t};if(!e)return{ok:!0,filled:n};for(let[r,i]of Object.entries(e)){let e=t[r];if(e===void 0){n[r]=i;continue}if(!w2(e,i))return{ok:!1,violation:{field:r,expected:i,got:e},filled:n}}return{ok:!0,filled:n}}var E2=f.z.object({redirect_uris:f.z.array(f.z.string()).optional(),client_name:f.z.string().min(1).optional(),client_uri:f.z.string().url().optional(),logo_uri:f.z.string().url().optional(),tos_uri:f.z.string().url().optional(),policy_uri:f.z.string().url().optional(),contacts:f.z.array(f.z.string()).optional(),scope:f.z.string().optional(),grant_types:f.z.array(f.z.string()).optional(),response_types:f.z.array(f.z.string()).optional(),token_endpoint_auth_method:f.z.enum([`none`,`client_secret_basic`,`client_secret_post`,`client_secret_jwt`,`private_key_jwt`]).optional(),jwks_uri:f.z.string().url().optional(),jwks:f.z.record(f.z.string(),f.z.unknown()).optional(),software_id:f.z.string().optional(),software_version:f.z.string().optional(),client_id:f.z.string().optional(),client_secret:f.z.string().optional(),audience:f.z.string().optional()}),D2=f.z.object({client_id:f.z.string(),client_secret:f.z.string().optional(),client_id_issued_at:f.z.number().optional(),client_secret_expires_at:f.z.number().optional(),registration_access_token:f.z.string().optional(),registration_client_uri:f.z.string(),client_name:f.z.string().optional(),redirect_uris:f.z.array(f.z.string()).optional(),grant_types:f.z.array(f.z.string()).optional(),response_types:f.z.array(f.z.string()).optional(),token_endpoint_auth_method:f.z.string().optional(),logo_uri:f.z.string().optional(),client_uri:f.z.string().optional(),tos_uri:f.z.string().optional(),policy_uri:f.z.string().optional(),contacts:f.z.array(f.z.string()).optional(),scope:f.z.string().optional(),jwks_uri:f.z.string().optional(),software_id:f.z.string().optional(),software_version:f.z.string().optional()}),O2=new Set([`redirect_uris`,`client_name`,`client_uri`,`logo_uri`,`tos_uri`,`policy_uri`,`contacts`,`scope`,`grant_types`,`response_types`,`token_endpoint_auth_method`,`jwks_uri`,`jwks`,`software_id`,`software_version`,`client_id`,`client_secret`,`domain`,`integration_type`,`audience`]);function k2(e){let t=[];for(let n of[`client_uri`,`tos_uri`,`policy_uri`,`jwks_uri`,`software_id`,`software_version`]){let r=e[n];typeof r==`string`&&r.length>0&&t.push([n,r])}return e.contacts&&Array.isArray(e.contacts)&&e.contacts.length>0&&t.push([`contacts`,e.contacts.join(`,`)]),e.scope&&typeof e.scope==`string`&&t.push([`scope`,e.scope]),t.length>0?Object.fromEntries(t):void 0}function A2(e){let t={};e.client_name!==void 0&&(t.name=e.client_name),e.redirect_uris!==void 0&&(t.callbacks=e.redirect_uris),e.grant_types!==void 0&&(t.grant_types=e.grant_types),e.token_endpoint_auth_method!==void 0&&(t.token_endpoint_auth_method=e.token_endpoint_auth_method),e.logo_uri!==void 0&&(t.logo_uri=e.logo_uri);let n=k2(e);n&&(t.client_metadata=n);let r={};for(let[t,n]of Object.entries(e))O2.has(t)||(r[t]=n);return e.jwks!==void 0&&(r.jwks=e.jwks),e.response_types!==void 0&&(r.response_types=e.response_types),{clientFields:t,extraMetadata:r}}function j2(e,t){let n=e[t];return n&&n.length>0?n:void 0}function M2(e,t){let n=e.client_metadata??{},r=n.contacts,i=r&&r.length>0?r.split(`,`):void 0,a=(e.registration_metadata??{}).response_types,o=Array.isArray(a)&&a.every(e=>typeof e==`string`)?a:void 0;return{client_id:e.client_id,client_name:e.name,client_id_issued_at:Math.floor(new Date(e.created_at).getTime()/1e3),client_secret_expires_at:0,registration_client_uri:t.registration_client_uri,client_secret:t.include_client_secret&&t.client_secret?t.client_secret:void 0,registration_access_token:t.registration_access_token,redirect_uris:e.callbacks&&e.callbacks.length>0?e.callbacks:void 0,grant_types:e.grant_types&&e.grant_types.length>0?e.grant_types:void 0,response_types:o,token_endpoint_auth_method:e.token_endpoint_auth_method,logo_uri:e.logo_uri,client_uri:j2(n,`client_uri`),tos_uri:j2(n,`tos_uri`),policy_uri:j2(n,`policy_uri`),jwks_uri:j2(n,`jwks_uri`),software_id:j2(n,`software_id`),software_version:j2(n,`software_version`),scope:j2(n,`scope`),contacts:i}}function N2(e){if(!e)return;let t=e.iat_constraints;return Pa(t)?t:void 0}function P2(e){if(e)for(let t of e)try{let e=new URL(t);if(!e.protocol||!e.host)throw new B(400,{error:`invalid_redirect_uri`,error_description:`Invalid redirect_uri: ${t}`})}catch{throw new B(400,{error:`invalid_redirect_uri`,error_description:`Invalid redirect_uri: ${t}`})}}function F2(e,t){if(!(!e||!t||t.length===0)){for(let n of e)if(!t.includes(n))throw new B(400,{error:`invalid_client_metadata`,error_description:`grant_type "${n}" is not allowed for this tenant`})}}async function I2(e,t,n){if(!t){if(n)throw new B(400,{error:`invalid_client_metadata`,error_description:`scope requires audience`});return null}let{resource_servers:r}=await e.env.data.resourceServers.list(e.var.tenant_id),i=r.find(e=>e.identifier===t);if(!i)throw new B(400,{error:`invalid_client_metadata`,error_description:`Unknown audience: ${t}`});let a=n?n.split(/\s+/).filter(Boolean):[];if(a.length>0){let e=new Set((i.scopes??[]).map(e=>e.value)),t=a.filter(t=>!e.has(t));if(t.length>0)throw new B(400,{error:`invalid_scope`,error_description:`Scope(s) not defined on the resource server: ${t.join(`, `)}`})}return{audience:t,scopes:a}}var L2=new f.OpenAPIHono().openapi((0,f.createRoute)({tags:[`oidc-register`],method:`post`,path:`/`,request:{body:{content:{"application/json":{schema:E2}}}},responses:{201:{content:{"application/json":{schema:D2}},description:`Client registered`}}}),async e=>{let t=await YK(e);XK(t);let n=await QK(e,t),r=e.req.valid(`json`),i=T2(n?.constraints,r);if(!i.ok)throw new B(400,{error:`invalid_client_metadata`,error_description:`Field "${i.violation?.field}" conflicts with Initial Access Token constraint`});let a=E2.safeParse(i.filled);if(!a.success)throw new B(400,{error:`invalid_client_metadata`,error_description:`Merged request (with IAT constraints applied) is not valid RFC 7591 metadata`});let o=a.data;if(o.grant_types?.some(e=>e===`authorization_code`||e===`implicit`)&&(!o.redirect_uris||o.redirect_uris.length===0))throw new B(400,{error:`invalid_redirect_uri`,error_description:`redirect_uris is required for authorization_code and implicit grant types`});P2(o.redirect_uris),F2(o.grant_types,t.flags?.dcr_allowed_grant_types);let s=await I2(e,o.audience,o.scope),{clientFields:c,extraMetadata:l}=A2(o),u=tq(),d=nq(),f=await WK(),p={...l};delete p.iat_constraints,n?.constraints&&(p.iat_constraints=n.constraints);let m={client_id:u,name:c.name??`Client ${u.slice(0,8)}`,client_secret:d,callbacks:c.callbacks??[],grant_types:c.grant_types??[`authorization_code`],token_endpoint_auth_method:c.token_endpoint_auth_method??`client_secret_basic`,logo_uri:c.logo_uri,client_metadata:c.client_metadata,owner_user_id:n?.sub,registration_type:n?`iat_dcr`:`open_dcr`,registration_metadata:p,auth0_conformant:!1},h;if(await e.env.data.transaction(async t=>{let r=ZK(t);if(n&&!await r.markUsed(e.var.tenant_id,n.id,new Date().toISOString()))throw new B(401,{error:`invalid_token`,error_description:`Initial access token already used`});h=await t.clients.create(e.var.tenant_id,m),s&&await t.clientGrants.create(e.var.tenant_id,{client_id:u,audience:s.audience,scope:s.scopes}),await r.create(e.var.tenant_id,{id:f.id,token_hash:f.token_hash,type:`rat`,client_id:u,single_use:!1})}),!h)throw new B(500,{error:`server_error`,error_description:`Failed to create client`});let g=JK(e,u),_=M2(h,{client_secret:d,registration_access_token:f.token,registration_client_uri:g,include_client_secret:!0});return await P(e,e.var.tenant_id,{type:M.SUCCESS_API_OPERATION,description:`Dynamic Client Registration`,targetType:`client`,targetId:u}),e.json(_,{status:201})}).openapi((0,f.createRoute)({tags:[`oidc-register`],method:`get`,path:`/{client_id}`,request:{params:f.z.object({client_id:f.z.string()})},responses:{200:{content:{"application/json":{schema:D2}},description:`Client configuration`}}}),async e=>{XK(await YK(e));let{client_id:t}=e.req.valid(`param`);await $K(e,t);let n=await e.env.data.clients.get(e.var.tenant_id,t);if(!n||eq(n))throw new B(401,{error:`invalid_token`,error_description:`Client not found`});let r=M2(n,{registration_client_uri:JK(e,t),include_client_secret:!1});return e.json(r)}).openapi((0,f.createRoute)({tags:[`oidc-register`],method:`put`,path:`/{client_id}`,request:{params:f.z.object({client_id:f.z.string()}),body:{content:{"application/json":{schema:E2}}}},responses:{200:{content:{"application/json":{schema:D2}},description:`Updated client configuration`}}}),async e=>{let t=await YK(e);XK(t);let{client_id:n}=e.req.valid(`param`);await $K(e,n);let r=await e.env.data.clients.get(e.var.tenant_id,n);if(!r||eq(r))throw new B(401,{error:`invalid_token`,error_description:`Client not found`});let i=e.req.valid(`json`);if(i.client_id!==void 0&&i.client_id!==n)throw new B(400,{error:`invalid_client_metadata`,error_description:`client_id in body does not match URL`});let a=N2(r.registration_metadata);if(a){let e=T2(a,i);if(!e.ok)throw new B(400,{error:`invalid_client_metadata`,error_description:`Field "${e.violation?.field}" was bound at registration time and cannot be changed`})}P2(i.redirect_uris),F2(i.grant_types,t.flags?.dcr_allowed_grant_types);let{clientFields:o,extraMetadata:s}=A2(i),c={...s};a&&(c.iat_constraints=a);let l={name:o.name??`Client ${n.slice(0,8)}`,callbacks:o.callbacks??[],grant_types:o.grant_types??[`authorization_code`],token_endpoint_auth_method:o.token_endpoint_auth_method??`client_secret_basic`,logo_uri:o.logo_uri,client_metadata:o.client_metadata??{},registration_metadata:c};if(!await e.env.data.clients.update(e.var.tenant_id,n,l))throw new B(500,{error:`server_error`,error_description:`Failed to update client`});let u=await e.env.data.clients.get(e.var.tenant_id,n);if(!u)throw new B(500,{error:`server_error`,error_description:`Failed to read back updated client`});await P(e,e.var.tenant_id,{type:M.SUCCESS_API_OPERATION,description:`RFC 7592 Client Update`,targetType:`client`,targetId:n});let d=M2(u,{registration_client_uri:JK(e,n),include_client_secret:!1});return e.json(d)}).openapi((0,f.createRoute)({tags:[`oidc-register`],method:`delete`,path:`/{client_id}`,request:{params:f.z.object({client_id:f.z.string()})},responses:{204:{description:`Client deleted`}}}),async e=>{XK(await YK(e));let{client_id:t}=e.req.valid(`param`);await $K(e,t);let n=await e.env.data.clients.get(e.var.tenant_id,t);if(!n||eq(n))throw new B(401,{error:`invalid_token`,error_description:`Client not found`});let r={...n.client_metadata??{},status:`deleted`},i=await e.env.data.clientGrants.list(e.var.tenant_id,{q:`client_id:"${t}"`});return await e.env.data.transaction(async n=>{await n.clients.update(e.var.tenant_id,t,{client_metadata:r});for(let t of i.client_grants)t.id&&await n.clientGrants.remove(e.var.tenant_id,t.id);await ZK(n).revokeByClient(e.var.tenant_id,t,new Date().toISOString())}),await P(e,e.var.tenant_id,{type:M.SUCCESS_API_OPERATION,description:`RFC 7592 Client Delete`,targetType:`client`,targetId:t}),e.body(null,204)}),R2=new Set([`localhost`,`127.0.0.1`,`[::1]`]);function z2(e,t=[]){let n;try{n=new URL(e)}catch{return{ok:!1,reason:`not a valid URL`}}if(n.protocol!==`http:`&&n.protocol!==`https:`)return{ok:!1,reason:`scheme must be http or https`};let r=n.hostname.replace(/\.$/,``);if(!r)return{ok:!1,reason:`missing host`};if(r===`0.0.0.0`||r===`[::]`)return{ok:!1,reason:`unspecified address is not a valid origin`};let i=n.port?`:${n.port}`:``,a=`${n.protocol}//${r}${i}`;return n.protocol===`https:`?{ok:!0,origin:a,isLoopback:!1,isAllowlisted:!1,isHttp:!1}:R2.has(r)?{ok:!0,origin:a,isLoopback:!0,isAllowlisted:!1,isHttp:!0}:t.map(e=>e.toLowerCase()).includes(a)?{ok:!0,origin:a,isLoopback:!1,isAllowlisted:!0,isHttp:!0}:{ok:!1,reason:`http origin requires loopback or tenant allowlist`}}var B2=1800,V2=F({route:(0,f.createRoute)({tags:[`connect`],method:`get`,path:`/`,request:{query:f.z.object({integration_type:f.z.string().min(1).optional().openapi({description:`Optional caller-defined integration label. Surfaced on the consent screen and stored on the resulting client's IAT constraints. No validation beyond non-empty string.`}),domain:f.z.string().min(1).openapi({description:`The domain that will host the integration (origin must match return_to)`}),return_to:f.z.string().url().openapi({description:`Where the browser is redirected after consent (success or cancel)`}),state:f.z.string().min(1).openapi({description:`Caller-supplied CSRF token round-tripped on the redirect`}),scope:f.z.string().optional().openapi({description:`Optional space-separated scope list pre-bound to the IAT`}),audience:f.z.string().optional().openapi({description:"Optional API identifier the registered client should be granted access to. When set, the resulting client receives a `client_grants` row binding (client_id, audience, scope[]) so it can mint access tokens for that API via client_credentials."})})},responses:{302:{description:`Redirect to /u2/connect/start with a fresh login_session id`,headers:f.z.object({Location:f.z.string()})},400:{description:`Invalid request`,content:{"application/json":{schema:f.z.object({})}}},404:{description:`DCR / consent flow not enabled for this tenant`,content:{"application/json":{schema:f.z.object({})}}}}}),handler:async e=>{let t=e.var.tenant_id,n=await e.env.data.tenants.get(t);if(!n)throw new B(404,{error:`invalid_request`,error_description:`Tenant not found`});if(!n.flags?.enable_dynamic_client_registration)throw new B(404,{error:`invalid_request`,error_description:`Dynamic Client Registration is not enabled`});let{integration_type:r,domain:i,return_to:a,state:o,scope:s,audience:c}=e.req.valid(`query`);if(c){let{resource_servers:n}=await e.env.data.resourceServers.list(t),r=n.find(e=>e.identifier===c);if(!r)throw new B(400,{error:`invalid_request`,error_description:`Unknown audience: ${c}`});if(s){let e=new Set((r.scopes??[]).map(e=>e.value)),t=s.split(/\s+/).filter(Boolean).filter(t=>!e.has(t));if(t.length>0)throw new B(400,{error:`invalid_scope`,error_description:`Scope(s) not defined on the resource server: ${t.join(`, `)}`})}}else if(s)throw new B(400,{error:`invalid_request`,error_description:`scope requires audience`});let l=n.flags?.allow_http_return_to??[],u=z2(/^https?:\/\//i.test(i)?i:`https://${i}`,l);if(!u.ok)throw new B(400,{error:`invalid_request`,error_description:`domain: ${u.reason}`});let d=z2(a,l);if(!d.ok)throw new B(400,{error:`invalid_request`,error_description:`return_to: ${d.reason}`});if(d.origin!==u.origin)throw new B(400,{error:`invalid_request`,error_description:`return_to origin must match domain`});let f=n.default_client_id?await e.env.data.clients.get(t,n.default_client_id):null;if(!f){let{clients:n}=await e.env.data.clients.list(t);f=n[0]??null}if(!f)throw new B(400,{error:`invalid_request`,error_description:`No clients configured for this tenant`});let p=new Date(Date.now()+B2*1e3).toISOString(),m=await e.env.data.loginSessions.create(t,{expires_at:p,authParams:{client_id:f.client_id,state:o},csrf_token:Mo(),ip:e.var.ip,useragent:e.var.useragent,state_data:JSON.stringify({connect:{integration_type:r,domain:i,return_to:a,scope:s,audience:c,caller_state:o,is_local_dev:d.isLoopback||d.isAllowlisted}})});return e.redirect(`/u2/connect/start?state=${encodeURIComponent(m.id)}`,302)}}),H2=new f.OpenAPIHono().openapiRoutes([V2]),U2=new f.OpenAPIHono().get(`/:initials`,e=>{let t=e.req.param(`initials`).replace(/\.svg$/i,``),n=e.req.query(`bg`)??``;return e.body(Rne(t,n),200,{"content-type":`image/svg+xml; charset=utf-8`,"cache-control":`public, max-age=86400, immutable`})}),W2=[`create`,`update`,`remove`,`delete`,`set`,`used`,`add`];function G2(e){return W2.some(t=>e.startsWith(t))}function K2(e,t,n){try{return`${e}:${t}:${JSON.stringify(n)}`}catch{return``}}function q2(e,t){let n=t.dedup??new Map,r=new Set(t.dedupEntities),i={};for(let[t,a]of Object.entries(e)){if(a==null)continue;if(typeof a==`function`){i[t]=a;continue}if(!r.has(t)){i[t]=a;continue}let e={},o=a;for(let r of LL(o)){let i=o[r];if(typeof i!=`function`){e[r]=i;continue}if(G2(r)){e[r]=async(...e)=>{let r=await i.apply(a,e);for(let e of n.keys())e.startsWith(`${t}:`)&&n.delete(e);return r};continue}e[r]=(...e)=>{let o=K2(t,r,e);if(!o)return i.apply(a,e);let s=n.get(o);if(s)return s;let c=(async()=>{try{return await i.apply(a,e)}catch(e){throw n.delete(o),e}})();return n.set(o,c),c}}i[t]=e}return i}function J2(e,t,n,r={}){let i=null,a,o;function s(t){try{e.executionCtx.waitUntil(t)}catch{}}function c(){let c=e.var.tenant_id,l=e.var.client_id;return!c||!l?null:(i&&(a!==c||o!==l)&&(i=null),i||=(a=c,o=l,FG(t,n,c,l,{...r,scheduleRefresh:s})),i)}return{...t,tenants:{...t.tenants,get:async n=>{if(n===e.var.tenant_id){let e=await c();if(e)return e.tenant}return t.tenants.get(n)}},clients:{...t.clients,get:async(n,r)=>{if(n===e.var.tenant_id&&r===e.var.client_id){let e=await c();if(e)return e.client}return t.clients.get(n,r)},getByClientId:async n=>{if(n===e.var.client_id&&e.var.tenant_id){let t=await c();if(t&&t.client)return{...t.client,tenant_id:e.var.tenant_id}}return t.clients.getByClientId(n)}},connections:{...t.connections,list:async(n,r)=>{if(n===e.var.tenant_id&&!r){let e=await c();if(e)return e.connections}return t.connections.list(n,r)}},clientConnections:{...t.clientConnections,listByClient:async(n,r)=>{if(n===e.var.tenant_id&&r===e.var.client_id){let e=await c();if(e)return e.clientConnections}return t.clientConnections.listByClient(n,r)}},branding:{...t.branding,get:async n=>{if(n===e.var.tenant_id){let e=await c();if(e)return e.branding}return t.branding.get(n)}},resourceServers:{...t.resourceServers,list:async(n,r)=>{if(n===e.var.tenant_id&&!r){let e=await c();if(e)return e.resourceServers}return t.resourceServers.list(n,r)}},promptSettings:{...t.promptSettings,get:async n=>{if(n===e.var.tenant_id){let e=await c();if(e&&e.promptSettings)return e.promptSettings}return t.promptSettings.get(n)}},themes:{...t.themes,get:async(n,r)=>{if(n===e.var.tenant_id&&r==="default"){let e=await c();if(e)return e.defaultTheme}return t.themes.get(n,r)}},hooks:{...t.hooks,list:async(n,r)=>{if(n===e.var.tenant_id&&!r){let e=await c();if(e)return e.hooks}return t.hooks.list(n,r)}}}}function Y2(e){let{ctx:t,rawData:n,cacheAdapter:r,defaultTtl:i,nonBundleEntities:a}=e,o=aP(t,KL(t,n)),s=GL(t,r);return J2(t,RG(q2(AG(o,{defaultTtl:i,cacheEntities:a,cache:s}),{dedupEntities:[...NG,...a]}),s),s)}function X2(e){let t=new f.OpenAPIHono;t.use(yG(e)),t.use(UL),t.use(BY({getOutbox:()=>e.dataAdapter.outbox,getDestinations:t=>[new HY(e.dataAdapter.logs),...e.dataAdapter.logStreams?[new qY(e.dataAdapter.logStreams)]:[],new ZY(e.dataAdapter.hooks,PL({tenants:t.env.data.tenants,keys:t.env.data.keys,issuer:Fa(t.env,t.var.custom_domain)}),{webhookInvoker:t.env.webhookInvoker}),new $Y(e.dataAdapter.users)]})),t.use(async(t,n)=>{let r=e.dataAdapter.cache||JG({defaultTtlSeconds:0,maxEntries:100,cleanupIntervalMs:0});return t.env.data=Y2({ctx:t,rawData:e.dataAdapter,cacheAdapter:r,defaultTtl:e.dataAdapter.cache?300:0,nonBundleEntities:[`clients`,`customDomains`,`forms`,`roles`,`organizations`,`userRoles`,`userPermissions`,`keys`]}),n()});let n=Y$({origin:e=>e||``,allowHeaders:[`Tenant-Id`,`Content-Type`,`Auth0-Client`,`Upgrade-Insecure-Requests`],allowMethods:[`POST`],maxAge:600});t.use(`/oauth/token`,n),t.use(`/oauth/revoke`,n),t.use(TG).use(SG).use(lW(t));let r=t.route(`/v2/logout`,h1).route(`/oidc/logout`,y1).route(`/userinfo`,O1).route(`/.well-known`,P1).route(`/oauth/token`,j0).route(`/oauth/revoke`,P0).route(`/dbconnections`,L0).route(`/passwordless`,B0).route(`/co/authenticate`,H0).route(`/authorize`,x2).route(`/account`,C2).route(`/oidc/register`,L2).route(`/connect/start`,H2).route(`/callback`,u1).route(`/login/callback`,d1).route(`/avatars`,U2);return r.doc(`/spec`,{openapi:`3.0.0`,info:{version:`1.0.0`,title:`Oauth API`},security:[{oauth2:[`openid`,`email`,`profile`]}]}),sU(r),r}async function Z2(e,t,n=!1){let{env:r}=e,i=await r.data.loginSessions.get(e.var.tenant_id||``,t);if(!i)throw new m(400,{message:`Login session not found`});e.set(`loginSession`,i);let a=i.authParams.client_id;a&&!WM(a)&&await X$(e,{client_id:a,tenant_id:e.var.tenant_id}).catch(()=>{});let o=await BN(r,i.authParams.client_id,e.var.tenant_id,zM(r));e.set(`client_id`,o.client_id),Z$(e,o.tenant.id);let s=o.tenant;if(i.session_id&&!n){if(!i.authParams.redirect_uri)throw new m(400,{message:`Login session closed and no redirect URI available`});let e=new URL(i.authParams.redirect_uri);throw e.searchParams.set(`error`,`access_denied`),e.searchParams.set(`error_description`,`Login session closed`),i.authParams.state&&e.searchParams.set(`state`,i.authParams.state),new a0(e.toString(),302)}let[c,l]=await Promise.all([r.data.themes.get(s.id,`default`),r.data.branding.get(s.id)]),u=c??Zo,d=l?{...l,favicon_url:e.var.custom_domain?l.favicon_url:void 0}:null,f=i.authParams?.ui_locales?.split(` `)?.map(e=>e.split(`-`)[0])?.find(e=>{if(Array.isArray(k.options.supportedLngs))return k.options.supportedLngs.includes(e)});return await k.changeLanguage(f||`en`),{theme:u,branding:d,client:o,tenant:s,loginSession:i}}async function Q2(e,t,n){let{theme:r,branding:i,client:a,tenant:o,loginSession:s}=await Z2(e,t,!0),c=wN(a.tenant.id,e.req.header(`cookie`)),l=c?await e.env.data.sessions.get(a.tenant.id,c):null;if(n?.continuationScope&&EL(s,n.continuationScope)){if(!s.user_id)throw new a0(`/u/login/identifier?state=${encodeURIComponent(t)}`);let n=await e.env.data.users.get(a.tenant.id,s.user_id);if(!n)throw new a0(`/u/login/identifier?state=${encodeURIComponent(t)}`);return{theme:r,branding:i,client:a,user:n,tenant:o,loginSession:s,session:s.session_id?await e.env.data.sessions.get(a.tenant.id,s.session_id):null,isContinuation:!0}}if(!l||l.revoked_at||!s.session_id)throw new a0(`/u/login/identifier?state=${encodeURIComponent(t)}`);let u=await e.env.data.sessions.get(a.tenant.id,s.session_id),d=await e.env.data.users.get(a.tenant.id,l.user_id);if(!d||u?.user_id!==l.user_id)throw new a0(`/u/login/identifier?state=${encodeURIComponent(t)}`);return{theme:r,branding:i,client:a,user:d,tenant:o,loginSession:s,session:u,isContinuation:!1}}var $2={[N.USERNAME_PASSWORD]:`password`,[N.EMAIL]:`email`,[N.SMS]:`sms`};function e4(e){return Ca(e)?`password`:e?$2[e]:void 0}async function t4(e,t,n,r,i){if(r===`username`||i===`password`)return`password`;if(i===`code`)return r===`sms`?`sms`:`email`;let a=e4((r===`email`?await Eg({userAdapter:e.env.data.users,tenant_id:t.tenant.id,email:n}):r===`sms`?await Og({userAdapter:e.env.data.users,tenant_id:t.tenant.id,username:n,provider:`sms`}):await hb({env:e.env,tenant_id:t.tenant.id,username:n}))?.app_metadata?.strategy);if(a)return a;let o=t.connections.map(e=>e4(e.strategy)).filter(e=>e!==void 0);return o.length===1&&o[0]?o[0]:(await e.env.data.promptSettings.get(t.tenant.id)).password_first&&o.includes(`password`)?`password`:r===`sms`?`sms`:`email`}var n4=({theme:e,branding:t})=>{let n=e?.widget?.logo_url||t?.logo_url;return n?z(`div`,{className:`inline-flex h-9 items-center`,children:z(`img`,{src:n,className:`h-full w-auto`,alt:`Logo`})}):z(hh,{})},r4=e=>z(`div`,{className:`mt-8`,children:e.client?.client_metadata?.termsAndConditionsUrl&&z(`div`,{className:`text-xs text-gray-300`,children:[k.t(`agree_to`),` `,z(`a`,{href:e.client.client_metadata.termsAndConditionsUrl,className:`text-primary hover:underline`,target:`_blank`,rel:`noreferrer`,children:k.t(`terms`)})]})}),i4=u(s(((e,t)=>{(function(){"use strict";var e={}.hasOwnProperty;function n(){for(var e=``,t=0;t<arguments.length;t++){var n=arguments[t];n&&(e=i(e,r(n)))}return e}function r(t){if(typeof t==`string`||typeof t==`number`)return t;if(typeof t!=`object`)return``;if(Array.isArray(t))return n.apply(null,t);if(t.toString!==Object.prototype.toString&&!t.toString.toString().includes(`[native code]`))return t.toString();var r=``;for(var a in t)e.call(t,a)&&t[a]&&(r=i(r,a));return r}function i(e,t){return t?e?e+` `+t:e+t:e}t!==void 0&&t.exports?(n.default=n,t.exports=n):typeof define==`function`&&typeof define.amd==`object`&&define.amd?define(`classnames`,[],function(){return n}):window.classNames=n})()}))()),a4=e=>e===`small`?`text-base`:e===`medium`?`text-2xl`:e===`large`?`text-3xl`:``,o4=({name:e,size:t,className:n=``})=>{let r=a4(t);return z(`span`,{className:(0,i4.default)(`uicon-${e}`,n,r)})};function s4(e){let t=e.replace(`#`,``),n=parseInt(t,16);return[n>>16&255,n>>8&255,n&255]}function c4(e,t,n){return`#${(e<<16|t<<8|n).toString(16).padStart(6,`0`)}`}var l4=(e,t)=>{let[n,r,i]=s4(e);return c4(Math.min(255,Math.round(n+(255-n)*t)),Math.min(255,Math.round(r+(255-r)*t)),Math.min(255,Math.round(i+(255-i)*t)))};function u4(e){let[t,n,r]=s4(e).map(e=>{let t=e/255;return t<=.04045?t/12.92:((t+.055)/1.055)**2.4});return .2126*t+.7152*n+.0722*r}function d4(e,t){let n=u4(e),r=u4(t),i=Math.max(n,r),a=Math.min(n,r);return(i+.05)/(a+.05)}function f4(e,t=`light`){let n=d4(e,`#ffffff`),r=d4(e,`#000000`),i=1.35;return t===`light`?r>n*i?`#000000`:`#ffffff`:r*i>n?`#000000`:`#ffffff`}var p4=(e,t)=>{let n=e?.colors?.primary_button||t?.colors?.primary||`#000000`,r=e?.colors?.base_hover_color||l4(n,.2),i=e?.colors?.primary_button_label,a=i||f4(n,`light`),o=i||f4(n,`dark`);return`
|
|
3071
|
+
</html>`,v1=F({route:(0,f.createRoute)({tags:[`oauth2`],method:`get`,path:`/`,request:{query:g1,header:f.z.object({cookie:f.z.string().optional()})},responses:{200:{description:`Logout completed without redirect`},302:{description:`Redirect to post_logout_redirect_uri`},400:{description:`Invalid request`}}}),handler:async e=>{let{id_token_hint:t,client_id:n,post_logout_redirect_uri:r,state:i}=e.req.valid(`query`),a,o,s;if(t){let r;try{r=await rW(e,t)}catch{throw new m(400,{message:`Invalid id_token_hint`})}let i=r.aud;if(a=Array.isArray(i)?i[0]:i,o=r.sub,s=r.sid,n&&n!==a)throw new m(400,{message:`client_id does not match id_token_hint`})}else n&&(a=n);let c;if(a){WM(a)||await X$(e,{client_id:a}).catch(()=>{});try{c=await BN(e.env,a),e.set(`client_id`,a),Z$(e,c.tenant.id)}catch{c=void 0}}let l;if(r){let t=c?.allowed_logout_urls??[];if(c&&t.includes(r))l=r;else if(c)throw P(e,c.tenant.id,{type:M.FAILED_LOGOUT,description:`Invalid post_logout_redirect_uri`}),new m(400,{message:`Invalid post_logout_redirect_uri`});else throw new m(400,{message:`post_logout_redirect_uri requires id_token_hint or client_id`})}o&&c&&e.set(`user_id`,o);let u=e.req.header(`cookie`);if(c&&u){let t=wN(c.tenant.id,u),n=s??t;if(n){let t=await e.env.data.sessions.get(c.tenant.id,n);if(t){if(!e.var.user_id){let n=await e.env.data.users.get(c.tenant.id,t.user_id);n&&(e.set(`user_id`,n.user_id),e.set(`connection`,n.connection))}let r=new Date().toISOString(),{revokedCount:i,committedEventId:a}=await e.env.data.transaction(async i=>{let a=t.login_session_id?await i.refreshTokens.revokeByLoginSession(c.tenant.id,t.login_session_id,r):0;return await i.sessions.update(c.tenant.id,n,{revoked_at:r}),{revokedCount:a,committedEventId:a>0?await no(e,i,c.tenant.id,{type:M.SUCCESS_REVOCATION,description:`Revoked ${a} refresh token(s)`}):void 0}});if(a){let t=e.var.outboxEventPromises??[];t.push(Promise.resolve(a)),e.set(`outboxEventPromises`,t)}else i>0&&P(e,c.tenant.id,{type:M.SUCCESS_REVOCATION,description:`Revoked ${i} refresh token(s)`})}}}c&&P(e,c.tenant.id,{type:M.SUCCESS_LOGOUT,description:`User successfully logged out`});let d=new Headers;if(c&&TN(c.tenant.id,e.var.host).forEach(e=>d.append(`set-cookie`,e)),l){let e;try{let t=new URL(l);i!==void 0&&t.searchParams.set(`state`,i),e=t.toString()}catch{throw new m(400,{message:`Invalid post_logout_redirect_uri`})}return d.set(`location`,e),new Response(`Redirecting`,{status:302,headers:d})}return d.set(`content-type`,`text/html; charset=utf-8`),d.set(`cache-control`,`no-store`),new Response(_1,{status:200,headers:d})}}),y1=new f.OpenAPIHono().openapiRoutes([v1]),b1=f.z.object({formatted:f.z.string().optional(),street_address:f.z.string().optional(),locality:f.z.string().optional(),region:f.z.string().optional(),postal_code:f.z.string().optional(),country:f.z.string().optional()}).optional(),x1=f.z.object({sub:f.z.string(),email:f.z.string().optional(),email_verified:f.z.boolean().optional(),phone_number:f.z.string().optional(),phone_number_verified:f.z.boolean().optional(),name:f.z.string().optional(),family_name:f.z.string().optional(),given_name:f.z.string().optional(),middle_name:f.z.string().optional(),nickname:f.z.string().optional(),preferred_username:f.z.string().optional(),profile:f.z.string().optional(),picture:f.z.string().optional(),website:f.z.string().optional(),gender:f.z.string().optional(),birthdate:f.z.string().optional(),zoneinfo:f.z.string().optional(),locale:f.z.string().optional(),updated_at:f.z.number().optional(),address:b1});function S1(e){return typeof e==`object`&&!!e}function C1(e){if(!S1(e))return[];let t=e.requested_userinfo_claims;return Array.isArray(t)?t.filter(e=>typeof e==`string`):[]}function w1(e,t,n=[],r){let i=r&&t.includes(`profile`)?yb(e,r):e;return{sub:e.user_id,...TP(i,t),...EP(e,n)}}var T1=f.z.object({access_token:f.z.string().optional()}),E1=F({route:(0,f.createRoute)({tags:[`oauth2`],method:`get`,path:`/`,request:{},security:[{Bearer:[`openid`]}],responses:{200:{content:{"application/json":{schema:x1}},description:`Userinfo`}}}),handler:async e=>{if(!e.var.user)throw new m(404,{message:`User not found`});let t=e.var.user.tenant_id||e.var.tenant_id;if(!t)throw new m(400,{message:`Unable to determine tenant`});let n=e.var.user.sid;if(typeof n==`string`&&n.length>0&&(await e.env.data.sessions.get(t,n))?.revoked_at)throw new m(401,{message:`Session has been revoked`});let r=await e.env.data.users.get(t,e.var.user.sub);if(!r)throw new m(404,{message:`User not found`});let i=Fa(e.env,e.var.custom_domain),a=yb(r,i),o=e.var.user,s=o?.scope?.split(` `)||[],c=w1(r,s,C1(o),i),l=e.env.hooks?.onFetchUserInfo;if(l){let n={};return await l({ctx:e,user:a,tenant_id:t,scopes:s},{setCustomClaim:(e,t)=>{n[e]=t}}),e.json({...c,...n})}return e.json(c)}}),D1=F({route:(0,f.createRoute)({tags:[`oauth2`],method:`post`,path:`/`,request:{body:{content:{"application/x-www-form-urlencoded":{schema:T1}}}},responses:{200:{content:{"application/json":{schema:x1}},description:`Userinfo`}}}),handler:async e=>{let t=null;if(e.var.user&&(t=e.var.user),!t){let[n,r]=(e.req.header(`authorization`)||``).split(` `);if(n?.toLowerCase()===`bearer`&&r){if(t=await rW(e,r),!(t?.scope?.split(` `)||[]).includes(`openid`))throw new B(403,{message:`openid scope required`});e.set(`user`,t)}}if(!t)try{let n=await e.req.parseBody(),r=typeof n.access_token==`string`?n.access_token:void 0;if(r){if(t=await rW(e,r),!(t?.scope?.split(` `)||[]).includes(`openid`))throw new B(403,{message:`openid scope required`});e.set(`user`,t)}}catch(e){if(e instanceof m||e instanceof B)throw e}if(!t)throw new m(401,{message:`No access token provided`});let n=t.tenant_id||e.var.tenant_id;if(!n)throw new m(400,{message:`Unable to determine tenant`});let r=t.sid;if(typeof r==`string`&&r.length>0&&(await e.env.data.sessions.get(n,r))?.revoked_at)throw new m(401,{message:`Session has been revoked`});let i=await e.env.data.users.get(n,t.sub);if(!i)throw new m(404,{message:`User not found`});let a=Fa(e.env,e.var.custom_domain),o=yb(i,a),s=t?.scope?.split(` `)||[],c=w1(i,s,C1(t),a),l=e.env.hooks?.onFetchUserInfo;if(l){let t={};return await l({ctx:e,user:o,tenant_id:n,scopes:s},{setCustomClaim:(e,n)=>{t[e]=n}}),e.json({...c,...t})}return e.json(c)}}),O1=new f.OpenAPIHono().openapiRoutes([E1,D1]),k1=F({route:(0,f.createRoute)({tags:[`well known`],method:`get`,path:`/jwks.json`,request:{},responses:{200:{content:{"application/json":{schema:Dr}},description:`List of tenants`}}}),handler:async e=>{let t=await $U(e.env.data,e.var.tenant_id,e.env.signingKeyMode);return e.json({keys:t},{headers:{"access-control-allow-origin":`*`,"access-control-allow-method":`GET`,"cache-control":`public, max-age=300, stale-while-revalidate=${300*2}, stale-if-error=86400`}})}}),A1={"access-control-allow-origin":`*`,"access-control-allow-method":`GET`,"cache-control":`public, max-age=300, stale-while-revalidate=${300*2}, stale-if-error=86400`};async function j1(e){let t=e.var.custom_domain,n=await e.env.data.tenants.get(e.var.tenant_id),r=n?.flags?.enable_dynamic_client_registration===!0,i=n?.flags?.client_id_metadata_document_registration===!0,a=n?.oidc_logout?.rp_logout_end_session_endpoint_discovery!==!1;return Or.parse({issuer:Fa(e.env,t),authorization_endpoint:`${La(e.env,t)}authorize`,token_endpoint:`${La(e.env,t)}oauth/token`,userinfo_endpoint:`${La(e.env,t)}userinfo`,jwks_uri:`${La(e.env,t)}.well-known/jwks.json`,...r?{registration_endpoint:`${La(e.env,t)}oidc/register`}:{},revocation_endpoint:`${La(e.env,t)}oauth/revoke`,...a?{end_session_endpoint:`${La(e.env,t)}oidc/logout`}:{},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`,`id_token token`,`code id_token`,`code token`,`code id_token token`],grant_types_supported:[`authorization_code`,`client_credentials`,`refresh_token`,`implicit`,`http://auth0.com/oauth/grant-type/passwordless/otp`],code_challenge_methods_supported:[`S256`,`plain`],response_modes_supported:[`query`,`fragment`,`form_post`],subject_types_supported:[`public`],id_token_signing_alg_values_supported:cae,token_endpoint_auth_methods_supported:[`none`,`client_secret_basic`,`client_secret_post`,`client_secret_jwt`,`private_key_jwt`],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:!0,request_parameter_supported:!0,claims_parameter_supported:!0,request_object_signing_alg_values_supported:[`RS256`,`RS384`,`RS512`,`ES256`,`ES384`,`ES512`,`HS256`,`HS384`,`HS512`],token_endpoint_auth_signing_alg_values_supported:[`RS256`,`RS384`,`RS512`,`ES256`,`ES384`,`ES512`,`HS256`,`HS384`,`HS512`],client_id_metadata_document_supported:i})}var M1=F({route:(0,f.createRoute)({tags:[`well known`],method:`get`,path:`/openid-configuration`,request:{},responses:{200:{content:{"application/json":{schema:Or}},description:`OpenID Provider configuration`}}}),handler:async e=>{let t=await j1(e);return e.json(t,{headers:A1})}}),N1=F({route:(0,f.createRoute)({tags:[`well known`],method:`get`,path:`/oauth-authorization-server`,request:{},responses:{200:{content:{"application/json":{schema:Or}},description:`OAuth 2.0 Authorization Server Metadata (RFC 8414)`}}}),handler:async e=>{let t=await j1(e);return e.json(t,{headers:A1})}}),P1=new f.OpenAPIHono().openapiRoutes([k1,M1,N1]).get(`/*`,async e=>{let t=e.var.custom_domain||e.req.header(`x-forwarded-host`);if(!t)return e.text(`Not Found`,404);let n=await e.env.data.customDomains.getByDomain(t);if(!n)return e.text(`Not Found`,404);let r=await e.env.data.customDomains.get(n.tenant_id,n.custom_domain_id);if(!r?.verification?.methods)return e.text(`Not Found`,404);let i=new URL(e.req.url).pathname,a=r.verification.methods.find(e=>e.name===`http`&&new URL(e.http_url).pathname===i);return!a||a.name!==`http`?e.text(`Not Found`,404):e.text(a.http_body,200,{"content-type":`text/plain`})});function F1(e,t){if(!e||!t||e.length!==t.length)return!1;let n=0;for(let r=0;r<e.length;r++)n|=e.charCodeAt(r)^t.charCodeAt(r);return n===0}var I1=f.z.object({grant_type:f.z.literal(`client_credentials`),scope:f.z.string().optional(),client_secret:f.z.string().optional(),client_id:f.z.string(),audience:f.z.string().optional(),organization:f.z.string().optional()});async function L1(e,t){let n=await BN(e.env,t.client_id,e.var.tenant_id);if(e.var.client_authenticated_via_assertion!==!0){if(!t.client_secret)throw P(e,n.tenant.id,{type:M.FAILED_EXCHANGE_ACCESS_TOKEN_FOR_CLIENT_CREDENTIALS,description:`Missing client_secret`}),new B(401,{message:`client_secret is required`});if(!n.client_secret)throw P(e,n.tenant.id,{type:M.FAILED_EXCHANGE_ACCESS_TOKEN_FOR_CLIENT_CREDENTIALS,description:`Client has no registered secret`}),new B(401,{message:`Client authentication failed`});if(!F1(n.client_secret,t.client_secret))throw P(e,n.tenant.id,{type:M.FAILED_EXCHANGE_ACCESS_TOKEN_FOR_CLIENT_CREDENTIALS,description:`Invalid client credentials`}),new B(403,{message:`Invalid client credentials`})}let r;if(t.organization){let i=await e.env.data.organizations.get(n.tenant.id,t.organization);if(!i)throw P(e,n.tenant.id,{type:M.FAILED_EXCHANGE_ACCESS_TOKEN_FOR_CLIENT_CREDENTIALS,description:`Organization '${t.organization}' not found`}),new B(400,{error:`invalid_request`,error_description:`Organization '${t.organization}' not found`});r={id:i.id,name:i.name}}return{client:n,authParams:{client_id:n.client_id,scope:t.scope,audience:t.audience||n.tenant.default_audience,organization:t.organization},organization:r}}var R1=f.z.object({grant_type:f.z.literal(`authorization_code`),client_id:f.z.string(),code:f.z.string(),redirect_uri:f.z.string().optional(),client_secret:f.z.string().optional(),code_verifier:f.z.string().optional(),organization:f.z.string().optional()});async function z1(e,t,n,r,i){let a={body:n};if(r?.user_id){a.userId=r.user_id;let n=await e.env.data.users.get(t,r.user_id).catch(()=>void 0);n&&(a.username=n.email||n.phone_number||n.name||void 0,a.connection=n.connection||void 0)}return i&&(a.scope=i.authParams.scope,a.audience=i.authParams.audience,i.auth_connection&&(a.connection=i.auth_connection),!a.username&&i.authParams.username&&(a.username=i.authParams.username)),a}async function B1(e,t){let n=await BN(e.env,t.client_id,e.var.tenant_id,zM(e.env)),r=await e.env.data.codes.get(n.tenant.id,t.code,`authorization_code`);if(!r||!r.user_id)throw P(e,n.tenant.id,{...await z1(e,n.tenant.id,t),type:M.FAILED_EXCHANGE_AUTHORIZATION_CODE_FOR_ACCESS_TOKEN,description:`Invalid client credentials`}),new B(403,{message:`Invalid client credentials`});if(new Date(r.expires_at)<new Date){let i=await e.env.data.loginSessions.get(n.tenant.id,r.login_id).catch(()=>void 0);throw P(e,n.tenant.id,{...await z1(e,n.tenant.id,t,r,i),type:M.FAILED_EXCHANGE_AUTHORIZATION_CODE_FOR_ACCESS_TOKEN,description:`Code expired`}),new B(403,{message:`Code expired`})}else if(r.used_at){let i=new Date().toISOString();await e.env.data.refreshTokens.revokeByLoginSession(n.tenant.id,r.login_id,i).catch(e=>{console.error(`Failed to revoke refresh tokens for login_id=${r.login_id}:`,e)});let a=await e.env.data.loginSessions.get(n.tenant.id,r.login_id).catch(()=>void 0);throw a?.session_id&&await e.env.data.sessions.update(n.tenant.id,a.session_id,{revoked_at:i}).catch(e=>{console.error(`Failed to revoke session ${a.session_id}:`,e)}),P(e,n.tenant.id,{...await z1(e,n.tenant.id,t,r,a),type:M.FAILED_EXCHANGE_AUTHORIZATION_CODE_FOR_ACCESS_TOKEN,description:`Invalid authorization code`}),new B(n.auth0_conformant===!1?400:403,{error:`invalid_grant`,error_description:`Invalid authorization code`})}let i=await e.env.data.loginSessions.get(n.tenant.id,r.login_id);if(!i)throw new B(403,{message:`Invalid login`});if(!i.authParams.client_id||i.authParams.client_id!==n.client_id){let a=n.auth0_conformant===!1?400:403;throw P(e,n.tenant.id,{...await z1(e,n.tenant.id,t,r,i),type:M.FAILED_EXCHANGE_AUTHORIZATION_CODE_FOR_ACCESS_TOKEN,description:`Authorization code was not issued to this client`}),new B(a,{error:`invalid_grant`,error_description:`Authorization code was not issued to this client`})}if(t.organization&&i.authParams.organization&&t.organization!==i.authParams.organization)throw new B(400,{error:`invalid_request`,error_description:`Organization parameter does not match login session organization`});let a=e.var.client_authenticated_via_assertion===!0;if(!a&&!t.client_secret&&!(t.code_verifier&&r.code_challenge))throw P(e,n.tenant.id,{...await z1(e,n.tenant.id,t,r,i),type:M.FAILED_EXCHANGE_AUTHORIZATION_CODE_FOR_ACCESS_TOKEN,description:`Missing client_secret and code_verifier`}),new B(401,{message:`client_secret or code_verifier is required`});if(!a&&t.client_secret!==void 0&&!F1(n.client_secret,t.client_secret))throw P(e,n.tenant.id,{...await z1(e,n.tenant.id,t,r,i),type:M.FAILED_EXCHANGE_AUTHORIZATION_CODE_FOR_ACCESS_TOKEN,description:`Invalid client credentials`}),new B(403,{message:`Invalid client credentials`});if(r.code_challenge){if(!t.code_verifier)throw P(e,n.tenant.id,{...await z1(e,n.tenant.id,t,r,i),type:M.FAILED_EXCHANGE_AUTHORIZATION_CODE_FOR_ACCESS_TOKEN,description:`Missing code_verifier`}),new B(403,{message:`Invalid client credentials`});let a=r.code_challenge_method||`plain`;if(!F1(await iae(t.code_verifier,a),r.code_challenge))throw P(e,n.tenant.id,{...await z1(e,n.tenant.id,t,r,i),type:M.FAILED_EXCHANGE_AUTHORIZATION_CODE_FOR_ACCESS_TOKEN,description:`Invalid client credentials`}),new B(403,{message:`Invalid client credentials`})}if(r.redirect_uri&&r.redirect_uri!==t.redirect_uri)throw P(e,n.tenant.id,{...await z1(e,n.tenant.id,t,r,i),type:M.FAILED_EXCHANGE_AUTHORIZATION_CODE_FOR_ACCESS_TOKEN,description:`Invalid redirect uri`}),new B(403,{message:`Invalid redirect uri`});let o=await e.env.data.users.get(n.tenant.id,r.user_id);if(!o)throw new B(403,{message:`User not found`});let s=o.linked_to?await e.env.data.users.get(n.tenant.id,o.linked_to):o;if(!s)throw new B(403,{message:`User not found`});await e.env.data.codes.used(n.tenant.id,t.code);let c;i.session_id&&i.authParams.scope?.split(` `).includes(`offline_access`)&&(c=(await hL(e,{user:s,client:n,login_id:i.id,scope:i.authParams.scope,audience:i.authParams.audience})).wireToken);let l;if(i.authParams.organization){let t=await e.env.data.organizations.get(n.tenant.id,i.authParams.organization);l=t?{id:t.id,name:t.name}:{id:i.authParams.organization,name:`Unknown`}}let u;if(i.session_id){let t=await e.env.data.sessions.get(n.tenant.id,i.session_id);t?.authenticated_at&&(u=Math.floor(new Date(t.authenticated_at).getTime()/1e3))}return{user:s,client:n,loginSession:i,session_id:i.session_id,refresh_token:c,organization:l,auth_time:u,authParams:{...i.authParams,state:r.state,nonce:r.nonce,response_mode:sn.WEB_MESSAGE,client_id:n.client_id,scope:i.authParams.scope,audience:i.authParams.audience}}}function V1(e,t){let n=e.var.log;n?e.set(`log`,`${n}\n${t}`):e.set(`log`,t)}function H1(e){if(e.startsWith(`http://`))throw Error(`Migration source domain must use https:// (got plain http://)`);let t=(e.startsWith(`https://`)?e:`https://${e}`).replace(/\/+$/,``);return{tokenEndpoint:`${t}/oauth/token`,userinfoEndpoint:`${t}/userinfo`}}function U1(e){let{tokenEndpoint:t,userinfoEndpoint:n}=H1(e.credentials.domain);return{async exchangeRefreshToken(n){let r=await xH({tokenEndpoint:t,clientId:e.credentials.client_id,clientSecret:e.credentials.client_secret,refreshToken:n,audience:e.credentials.audience,scope:e.credentials.scope});return{access_token:r.access_token,id_token:r.id_token,expires_in:r.expires_in,scope:r.scope}},async fetchUserInfo(e){return SH(n,e)}}}function W1(e){switch(e.provider){case`auth0`:return U1(e);case`cognito`:case`okta`:case`oidc`:throw Error(`Migration provider "${e.provider}" is not implemented yet`);default:{let t=e.provider;throw Error(`Unknown migration provider: ${String(t)}`)}}}var G1=`openid profile email offline_access`;function K1(e){return typeof e==`object`&&!!e}function q1(e,t,n){if(e.email)return e.email.toLowerCase();let r=t.toLowerCase(),i=e.sub.toLowerCase();try{return`${r}.${i}@${new URL(n).hostname.toLowerCase()}`}catch{return`${r}.${i}@unknown`}}async function J1(e,t,n){if(!e.env.data.migrationSources)return null;let r=(await e.env.data.migrationSources.list(t.tenant.id)).filter(e=>e.enabled);if(r.length===0)return null;for(let i of r){let r=await Y1(e,t,n,i);if(r)return r}return null}async function Y1(e,t,n,r){let i;try{i=W1(r)}catch{return null}let a;try{a=await i.exchangeRefreshToken(n)}catch(e){if(e instanceof mH)return null;throw e}let o=await i.fetchUserInfo(a.access_token),{sub:s,...c}=o,l=q1({sub:s,email:typeof o.email==`string`?o.email:void 0},r.connection,e.env.ISSUER);e.set(`user_id`,s),e.set(`username`,l);let u=await Ag(e,{client:t,username:l,provider:r.connection,connection:r.connection,userId:s,profileData:K1(c)?c:{},isSocial:!1,ip:e.var.ip}),d=e.get(`ip`),f=e.get(`useragent`),p=e.get(`auth0_client`),m=G1,h=t.tenant.default_audience,g=await e.env.data.loginSessions.create(t.tenant.id,{expires_at:new Date(Date.now()+ZM).toISOString(),authParams:{client_id:t.client_id,scope:m,audience:h,username:l},csrf_token:Mo(),ip:d,useragent:f,auth0Client:sH(p)}),_=await _L(e,{user:u,client:t,loginSession:g,authConnection:r.connection}),{wireToken:v}=await hL(e,{user:u,client:t,login_id:g.id,scope:m,audience:h});return{user:u,client:t,session_id:_,login_id:g.id,refresh_token:v,authParams:{client_id:t.client_id,audience:h,scope:m,response_mode:sn.WEB_MESSAGE},authConnection:r.connection}}var X1=f.z.object({grant_type:f.z.literal(`refresh_token`),client_id:f.z.string(),redirect_uri:f.z.string().optional(),refresh_token:f.z.string(),client_secret:f.z.string().optional(),organization:f.z.string().min(1).optional()});async function Z1(e,t){let n=await BN(e.env,t.client_id,e.var.tenant_id,zM(e.env));if(t.client_secret&&n.client_secret&&!F1(n.client_secret,t.client_secret))throw P(e,n.tenant.id,{type:M.FAILED_EXCHANGE_REFRESH_TOKEN_FOR_ACCESS_TOKEN,description:`Client authentication failed`}),new B(403,{error:`invalid_client`,error_description:`Client authentication failed`});let r=n.auth0_conformant===!1?400:403,i=cN(t.refresh_token),a=null;if(i.kind===`new`){let t=await e.env.data.refreshTokens.getByLookup(n.tenant.id,i.lookup);t?.token_hash&&F1(await oN(i.secret),t.token_hash)&&(a=t)}else lN()&&(a=await e.env.data.refreshTokens.get(n.tenant.id,i.id));if(!a){let i=await J1(e,n,t.refresh_token);if(i)return i;throw V1(e,`Invalid refresh token`),P(e,n.tenant.id,{type:M.FAILED_EXCHANGE_REFRESH_TOKEN_FOR_ACCESS_TOKEN,description:`Invalid refresh token`}),new B(r,{error:`invalid_grant`,error_description:`Invalid refresh token`})}else if(a.client_id!==n.client_id)throw V1(e,`Refresh token client mismatch: token client=${a.client_id}, request client=${n.client_id}`),P(e,n.tenant.id,{type:M.FAILED_EXCHANGE_REFRESH_TOKEN_FOR_ACCESS_TOKEN,description:`Refresh token was not issued to this client`,userId:a.user_id}),new B(r,{error:`invalid_grant`,error_description:`Invalid grant`});else if(a.revoked_at)throw V1(e,`Refresh token has been revoked: ${a.id}`),P(e,n.tenant.id,{type:M.FAILED_EXCHANGE_REFRESH_TOKEN_FOR_ACCESS_TOKEN,description:`Refresh token has been revoked`,userId:a.user_id}),new B(r,{error:`invalid_grant`,error_description:`Refresh token has been revoked`});else if(a.expires_at&&new Date(a.expires_at)<new Date||a.idle_expires_at&&new Date(a.idle_expires_at)<new Date)throw V1(e,`Refresh token has expired`),P(e,n.tenant.id,{type:M.FAILED_EXCHANGE_REFRESH_TOKEN_FOR_ACCESS_TOKEN,description:`Refresh token has expired`,userId:a.user_id}),new B(r,{error:`invalid_grant`,error_description:`Refresh token has expired`});if(a.rotated_at){let t=n.refresh_token?.leeway??30,i=new Date(a.rotated_at).getTime();if(Date.now()-i>t*1e3){let t=a.family_id??a.id;throw await e.env.data.refreshTokens.revokeFamily(n.tenant.id,t,new Date().toISOString()),V1(e,`Refresh token reuse detected; family ${t} revoked`),P(e,n.tenant.id,{type:M.FAILED_EXCHANGE_REFRESH_TOKEN_FOR_ACCESS_TOKEN,description:`Refresh token reuse detected; family revoked`,userId:a.user_id}),new B(r,{error:`invalid_grant`,error_description:`Refresh token has been revoked`})}}let[o,s]=await Promise.all([e.env.data.users.get(n.tenant.id,a.user_id),a.login_id?e.env.data.loginSessions.get(n.tenant.id,a.login_id):Promise.resolve(void 0)]);if(!o)throw new B(403,{message:`User not found`});let c=o.linked_to?await e.env.data.users.get(n.tenant.id,o.linked_to):o;if(!c)throw new B(403,{message:`User not found`});e.set(`user_id`,c.user_id);let l=a.resource_servers[0],u=s?.session_id,d=t.organization??s?.authParams.organization,f;if(d){let t=await e.env.data.organizations.get(n.tenant.id,d);if(t)f={id:t.id,name:t.name};else throw new B(400,{error:`invalid_request`,error_description:`Organization '${d}' not found`});let r=!1;if((await e.env.data.tenants.get(n.tenant.id))?.flags?.inherit_global_permissions_in_organizations&&l?.audience&&(r=(await e.env.data.userPermissions.list(n.tenant.id,c.user_id,void 0,``)).some(e=>e.permission_name===`admin:organizations`&&e.resource_server_identifier===l.audience),!r)){let t=await e.env.data.userRoles.list(n.tenant.id,c.user_id,void 0,``);for(let i of t)if((await e.env.data.rolePermissions.list(n.tenant.id,i.id,{per_page:1e3})).some(e=>e.permission_name===`admin:organizations`&&e.resource_server_identifier===l.audience)){r=!0;break}}if(!r&&!(await e.env.data.userOrganizations.list(n.tenant.id,{q:`user_id:${c.user_id}`,per_page:1e3})).userOrganizations.some(e=>e.organization_id===f.id))throw new B(403,{error:`access_denied`,error_description:`User is not a member of the specified organization`})}let p=n.refresh_token?.rotation_type===`rotating`,m=a.rotating||p,h=e.req.header(`x-real-ip`)||``,g=e.req.header(`user-agent`)||``,_=h!==a.device?.last_ip||g!==a.device?.last_user_agent,v=t.refresh_token;if(m){let t=pN(),{lookup:r,secret:i}=aN(),o=await oN(i),s=a.family_id??a.id,c=a.idle_expires_at&&n.tenant.idle_session_lifetime?new Date(Date.now()+n.tenant.idle_session_lifetime*60*60*1e3).toISOString():a.idle_expires_at;await e.env.data.refreshTokens.create(n.tenant.id,{id:t,login_id:a.login_id,user_id:a.user_id,client_id:a.client_id,expires_at:a.expires_at,idle_expires_at:c,device:{...a.device,last_ip:h,last_user_agent:g},resource_servers:a.resource_servers,rotating:!0,token_lookup:r,token_hash:o,family_id:s}),await e.env.data.refreshTokens.update(n.tenant.id,a.id,{rotated_to:t,rotated_at:a.rotated_at??new Date().toISOString(),family_id:s}),v=sN(r,i)}else{let t;if(!a.token_lookup){let{lookup:e,secret:n}=aN();t={token_lookup:e,token_hash:await oN(n),family_id:a.family_id??a.id},v=sN(e,n)}if(a.idle_expires_at&&n.tenant.idle_session_lifetime){let r=new Date(Date.now()+n.tenant.idle_session_lifetime*60*60*1e3),i=a.expires_at?new Date(a.expires_at).getTime():0,o=Math.max(i,r.getTime());await e.env.data.refreshTokens.update(n.tenant.id,a.id,{idle_expires_at:r.toISOString(),last_exchanged_at:new Date().toISOString(),..._&&{device:{...a.device,last_ip:h,last_user_agent:g}},...t},a.login_id&&o>0?{loginSessionBump:{login_id:a.login_id,expires_at:new Date(o).toISOString()}}:void 0)}else t&&await e.env.data.refreshTokens.update(n.tenant.id,a.id,t)}return{user:c,client:n,refresh_token:v,session_id:u,login_id:a.login_id,authConnection:s?.auth_connection,organization:f,authParams:{client_id:n.client_id,audience:l?.audience,scope:l?.scopes,response_mode:sn.WEB_MESSAGE}}}function Q1(e){let t=e.trim();t.startsWith(`[`)&&t.endsWith(`]`)&&(t=t.slice(1,-1));let n=t.indexOf(`%`);return n!==-1&&(t=t.slice(0,n)),t}function $1(e){let t=Q1(e).split(`.`);return t.length===4?t.every(e=>/^\d+$/.test(e)&&Number(e)>=0&&Number(e)<=255):!1}function e0(e){let t=Q1(e);if(t.length<2||t.indexOf(`:`)===-1||!/^[0-9a-fA-F:.]+$/.test(t))return!1;let n=t.split(`:`);return t.includes(`::`)?n.length<=8:n.length===8}function t0(e){let t=e.trim(),n=t.match(/^\[([^\]]+)\](?::\d+)?$/);if(n&&n[1])return n[1];let r=t.lastIndexOf(`:`);if(r!==-1){let e=t.slice(0,r),n=t.slice(r+1);/^[0-9.]+$/.test(e)&&/^\d+$/.test(n)&&(t=e)}return t}function n0(e){if(!e)return null;let t=Q1(t0(e));return $1(t)?{family:4,normalized:t}:e0(t)?{family:6,normalized:t.toLowerCase()}:null}function r0(e){if(e.includes(`::`)){let[t,n]=e.split(`::`),r=t?t.split(`:`).filter(Boolean):[],i=n?n.split(`:`).filter(Boolean):[],a=8-(r.length+i.length);return[...r.map(e=>e.toLowerCase()||`0`),...Array(a).fill(`0`),...i.map(e=>e.toLowerCase()||`0`)]}else return e.split(`:`).map(e=>e.toLowerCase()||`0`)}function i0(e,t,n=!0){let r=n0(e),i=n0(t);if(!r||!i||r.family!==i.family)return!1;if(r.family===4)return r.normalized===i.normalized;let a=r0(r.normalized),o=r0(i.normalized);return n?a.length===8&&o.length===8&&a.join(`:`)===o.join(`:`):a.slice(0,4).join(`:`)===o.slice(0,4).join(`:`)}var a0=class e extends Error{location;status;constructor(t,n=302){super(`Redirect to ${t}`),this.name=e.name,this.location=t,this.status=n}};function o0(e){return typeof e==`object`&&!!e&&`allowed`in e&&typeof e.allowed==`boolean`}var s0=f.z.object({client_id:f.z.string(),username:f.z.string().transform(e=>e.toLowerCase()),otp:f.z.string(),authParams:dn.optional(),enforceIpCheck:f.z.boolean().optional().default(!1)});async function c0(e,{client_id:t,username:n,otp:r,authParams:i,enforceIpCheck:a=!1}){let o=e.get(`ip`),{connectionType:s,normalized:c}=PV(n,e.get(`countryCode`));if(!c)throw new B(400,{message:`Invalid username format`});e.set(`connection`,s);let l=await BN(e.env,t,e.var.tenant_id),{env:u}=e;if(u.data.rateLimit){let t={allowed:!0};try{let e=await u.data.rateLimit.consume(`brute-force`,`passwordless:${l.tenant.id}:${c}`);o0(e)&&(t=e)}catch(e){console.error(`Passwordless rate limit consume failed:`,e)}if(!t.allowed){P(e,l.tenant.id,{type:M.FAILED_EXCHANGE_PASSWORDLESS_OTP_FOR_ACCESS_TOKEN,description:`Rate limit exceeded for passwordless OTP`});let n=t.retryAfterSeconds,r={message:`Too many requests`,code:`TOO_MANY_REQUESTS`};typeof n==`number`&&(r.retryAfterSeconds=n);let i={"Content-Type":`application/json`};throw typeof n==`number`&&(i[`Retry-After`]=String(n)),new gR(429,{message:`Too many requests`,code:`TOO_MANY_REQUESTS`,res:new Response(JSON.stringify(r),{status:429,headers:i})})}}let d=await u.data.codes.get(l.tenant.id,r,`otp`);if(!d)throw P(e,l.tenant.id,{type:M.FAILED_EXCHANGE_PASSWORDLESS_OTP_FOR_ACCESS_TOKEN,description:`Code invalid`}),new B(400,{message:A(`code_invalid`),userSafe:!0});if(d.expires_at<new Date().toISOString())throw P(e,l.tenant.id,{type:M.FAILED_EXCHANGE_PASSWORDLESS_OTP_FOR_ACCESS_TOKEN,description:`Code expired`,userId:d.user_id}),new B(400,{message:A(`code_expired`),userSafe:!0});if(d.used_at)throw P(e,l.tenant.id,{type:M.FAILED_EXCHANGE_PASSWORDLESS_OTP_FOR_ACCESS_TOKEN,description:`Code already used`,userId:d.user_id}),new B(400,{message:A(`code_used`),userSafe:!0});let f=await u.data.loginSessions.get(l.tenant.id,d.login_id);if(!f||f.authParams.username!==n)throw P(e,l.tenant.id,{type:M.FAILED_EXCHANGE_PASSWORDLESS_OTP_FOR_ACCESS_TOKEN,description:`Login session not found or username mismatch`,userId:d.user_id}),new B(400,{message:`Code not found or expired`,userSafe:!0});if(a&&f.ip&&o&&!i0(f.ip,o))throw new a0(`${Ia(e.env,e.var.custom_domain)}invalid-session?state=${f.id}`);let p=await Ag(e,{client:l,username:c,provider:s,connection:s,isSocial:!1,ip:e.var.ip});return await u.data.codes.used(l.tenant.id,r),{user:p,client:l,loginSession:f,connectionType:s,authConnection:s,session_id:f.session_id,authParams:{...f.authParams,...i||{}}}}async function l0(e,t){let n=await c0(e,t),r=await DL(e,{authParams:n.authParams,client:n.client,user:n.user,loginSession:n.loginSession,authConnection:n.connectionType,authStrategy:{strategy:n.connectionType===`sms`?N.SMS:N.EMAIL,strategy_type:xa.PASSWORDLESS}});return n.authParams.response_type!==`code`&&P(e,n.client.tenant.id,{type:M.SUCCESS_EXCHANGE_PASSWORDLESS_OTP_FOR_ACCESS_TOKEN,userId:n.user.user_id,connection:n.connectionType,strategy:n.connectionType===`sms`?N.SMS:N.EMAIL,strategy_type:xa.PASSWORDLESS,scope:n.authParams.scope,audience:n.authParams.audience}),r}var u0=`urn:ietf:params:oauth:token-type:access_token`,d0=`urn:ietf:params:oauth:grant-type:token-exchange`,f0=f.z.object({grant_type:f.z.literal(d0),client_id:f.z.string(),client_secret:f.z.string().optional(),subject_token:f.z.string(),subject_token_type:f.z.literal(u0),organization:f.z.string().min(1),audience:f.z.string().optional(),scope:f.z.string().optional()});async function p0(e,t){let n=await BN(e.env,t.client_id,e.var.tenant_id),r=t=>P(e,n.tenant.id,{type:M.FAILED_EXCHANGE_SUBJECT_TOKEN_FOR_ACCESS_TOKEN,description:t});if(e.var.client_authenticated_via_assertion!==!0){if(!t.client_secret)throw r(`Missing client_secret`),new B(401,{error:`invalid_client`,error_description:`client_secret is required`});if(!n.client_secret||!F1(n.client_secret,t.client_secret))throw r(`Invalid client credentials`),new B(401,{error:`invalid_client`,error_description:`Client authentication failed`})}if(!n.organization_usage||n.organization_usage===`deny`)throw r(`Client is not permitted to request organization context`),new B(403,{error:`unauthorized_client`,error_description:`Client is not configured to request organization context`});let i=n.auth0_conformant===!1?400:403,a;try{a=await rW(e,t.subject_token,{skipIssuerCheck:!0})}catch(e){throw e instanceof nW?(r(`Subject token expired`),new B(i,{error:`invalid_grant`,error_description:`Subject token has expired`})):e}let o=Fa(e.env,e.var.custom_domain);if(a.iss!==o)throw r(`Subject token was not issued by this server`),new B(i,{error:`invalid_grant`,error_description:`Subject token issuer mismatch`});if(a.act!==void 0)throw r(`Subject token already represents a delegated session`),new B(i,{error:`invalid_grant`,error_description:`Subject token is not exchangeable`});if(!a.sub)throw r(`Subject token missing sub`),new B(i,{error:`invalid_grant`,error_description:`Subject token has no subject`});let s=await e.env.data.users.get(n.tenant.id,a.sub);if(!s)throw r(`User not found`),new B(i,{error:`invalid_grant`,error_description:`Subject token subject is not a known user`});let c=s.linked_to?await e.env.data.users.get(n.tenant.id,s.linked_to):s;if(!c)throw r(`Linked user not found`),new B(i,{error:`invalid_grant`,error_description:`Subject token subject is not a known user`});e.set(`user_id`,c.user_id);let l=await e.env.data.organizations.get(n.tenant.id,t.organization);if(!l)throw r(`Organization '${t.organization}' not found`),new B(400,{error:`invalid_request`,error_description:`Organization '${t.organization}' not found`});let u={id:l.id,name:l.name};if(t.audience===void 0&&Array.isArray(a.aud)&&a.aud.length>1)throw r(`Subject token has multiple audiences and none was requested`),new B(400,{error:`invalid_request`,error_description:`audience is required when subject token has multiple audiences`});let d=t.audience??(typeof a.aud==`string`?a.aud:Array.isArray(a.aud)?a.aud[0]:void 0);if(!d)throw r(`No audience on subject token and none requested`),new B(400,{error:`invalid_request`,error_description:`audience is required when subject token has none`});let f=(await e.env.data.resourceServers.list(n.tenant.id)).resource_servers.find(e=>e.identifier===d);if(!f)throw r(`Audience '${d}' is not a registered resource server`),new B(400,{error:`invalid_request`,error_description:`audience is not a registered resource server`});let p=!1;if((await e.env.data.tenants.get(n.tenant.id))?.flags?.inherit_global_permissions_in_organizations&&(p=(await e.env.data.userPermissions.list(n.tenant.id,c.user_id,void 0,``)).some(e=>e.permission_name===`admin:organizations`&&e.resource_server_identifier===f.identifier),!p)){let t=await e.env.data.userRoles.list(n.tenant.id,c.user_id,void 0,``);for(let r of t)if((await e.env.data.rolePermissions.list(n.tenant.id,r.id,{per_page:1e3})).some(e=>e.permission_name===`admin:organizations`&&e.resource_server_identifier===f.identifier)){p=!0;break}}if(!p&&!(await e.env.data.userOrganizations.list(n.tenant.id,{q:`user_id:${c.user_id}`,per_page:1e3})).userOrganizations.some(e=>e.organization_id===u.id))throw r(`User ${c.user_id} is not a member of organization ${u.id}`),new B(403,{error:`access_denied`,error_description:`User is not a member of the specified organization`});let m=(a.scope??``).split(` `).filter(Boolean),h=t.scope?.split(` `).filter(Boolean),g;if(h&&h.length>0){let e=h.filter(e=>!m.includes(e));if(e.length>0)throw r(`Requested scope exceeds subject token: ${e.join(`,`)}`),new B(400,{error:`invalid_scope`,error_description:`Requested scope exceeds subject token scope`});g=h.join(` `)}else g=m.join(` `)||void 0;return{user:c,client:n,authParams:{client_id:n.client_id,audience:d,scope:g,organization:u.id},organization:u,actClient:{client_id:n.client_id}}}async function m0(e,t={}){let n=e.registration_metadata?.jwks;if(n&&typeof n==`object`){let e=Dr.safeParse(n);if(e.success)return e.data.keys;throw Error(`Client has malformed inline jwks`)}let r=e.client_metadata?.jwks_uri;if(typeof r==`string`&&r.length>0){let{status:e,body:n}=await VM(r,t.fetch);if(e!==200)throw Error(`jwks_uri returned status ${e}`);let i;try{i=JSON.parse(n)}catch{throw Error(`jwks_uri did not return valid JSON`)}let a=Dr.safeParse(i);if(!a.success)throw Error(`jwks_uri response is not a valid JWKS`);return a.data.keys}return[]}var h0=`urn:ietf:params:oauth:client-assertion-type:jwt-bearer`,g0=new Set([`RS256`,`RS384`,`RS512`,`ES256`,`ES384`,`ES512`]),_0=new Set([`HS256`,`HS384`,`HS512`]),v0={HS256:`SHA-256`,HS384:`SHA-384`,HS512:`SHA-512`},y0={name:`RSASSA-PKCS1-v1_5`},b0={ES256:`SHA-256`,ES384:`SHA-384`,ES512:`SHA-512`},x0=class extends Error{code;constructor(e,t){super(t),this.code=e,this.name=`ClientAssertionError`}};function S0(e){let t=new TextDecoder().decode(Rv.decode(e,{strict:!1})),n=JSON.parse(t);if(typeof n!=`object`||!n)throw new x0(`invalid_request`,`JOSE segment is not an object`);return n}async function C0(e,t,n){let r=e.split(`.`);if(r.length!==3)throw new x0(`invalid_request`,`client_assertion is not a 3-part JWS`);let[i,a,o]=r,s,c;try{s=S0(i),c=S0(a)}catch(e){throw e instanceof x0?e:new x0(`invalid_request`,`failed to decode client_assertion JOSE segments`)}if(!s.alg)throw new x0(`invalid_request`,`missing alg in header`);if(s.alg===`none`)throw new x0(`unsupported_alg`,`alg=none is not accepted for client authentication`);let l=new Uint8Array(new TextEncoder().encode(`${i}.${a}`)),u=new Uint8Array(Rv.decode(o,{strict:!1})),d;if(_0.has(s.alg)){if(!t.client_secret)throw new x0(`invalid_client`,`client has no client_secret for HMAC verification`);let e=await crypto.subtle.importKey(`raw`,new Uint8Array(new TextEncoder().encode(t.client_secret)),{name:`HMAC`,hash:v0[s.alg]},!1,[`verify`]);if(!await crypto.subtle.verify(`HMAC`,e,u,l))throw new x0(`invalid_client`,`HMAC signature did not verify`);d=`client_secret_jwt`}else if(g0.has(s.alg)){let e=s.alg,r=await m0(t,{fetch:n.fetch});if(r.length===0)throw new x0(`missing_keys`,`client has no jwks/jwks_uri registered`);let i=s.kid?r.filter(e=>e.kid===s.kid):r.filter(t=>w0(t,e));if(i.length===0)throw new x0(`missing_keys`,s.kid?`no JWK found with kid=${s.kid}`:`no JWK found for alg=${e}`);let a=!1;for(let t of i){if(!w0(t,e))continue;let n;try{let r=_N(t,e);n=await crypto.subtle.importKey(`jwk`,t,r,!1,[`verify`])}catch{continue}let r=t.kty===`EC`?{name:`ECDSA`,hash:b0[e]}:y0;try{if(await crypto.subtle.verify(r,n,u,l)){a=!0;break}}catch{continue}}if(!a)throw new x0(`invalid_client`,`asymmetric signature did not verify`);d=`private_key_jwt`}else throw new x0(`unsupported_alg`,`alg ${s.alg} is not supported`);return T0(c,t,n),{clientId:String(c.sub),method:d,jti:typeof c.jti==`string`?c.jti:void 0,payload:c}}function w0(e,t){return!(e.alg&&e.alg!==t||t.startsWith(`ES`)&&e.kty!==`EC`||t.startsWith(`RS`)&&e.kty!==`RSA`)}function T0(e,t,n){let r=n.leewaySeconds??30,i=Math.floor((n.now?n.now():Date.now())/1e3);if(e.iss!==t.client_id)throw new x0(`invalid_client`,`iss must be the client_id (got ${String(e.iss)})`);if(e.sub!==t.client_id)throw new x0(`invalid_client`,`sub must be the client_id (got ${String(e.sub)})`);if(typeof e.exp!=`number`)throw new x0(`invalid_client`,`exp claim is required`);if(e.exp+r<i)throw new x0(`invalid_client`,`client_assertion is expired`);if(typeof e.nbf==`number`&&e.nbf-r>i)throw new x0(`invalid_client`,`client_assertion is not yet valid`);let a=e.aud,o=typeof a==`string`?[a]:Array.isArray(a)?a.filter(e=>typeof e==`string`):[];if(o.length===0)throw new x0(`invalid_client`,`aud claim is required`);if(!o.some(e=>n.acceptedAudiences.includes(e)))throw new x0(`invalid_client`,`aud claim must include one of: ${n.acceptedAudiences.join(`, `)}`)}var E0=f.z.object({client_id:f.z.string().optional(),client_secret:f.z.string().optional(),client_assertion:f.z.string().optional(),client_assertion_type:f.z.string().optional()});function D0(e){let t=e.split(`.`);if(!(t.length!==3||!t[1]))try{let e=JSON.parse(new TextDecoder().decode(Rv.decode(t[1],{strict:!1})));if(e&&typeof e==`object`){let t=e.iss,n=e.sub;if(typeof n==`string`)return n;if(typeof t==`string`)return t}}catch{}}var O0=f.z.union([I1.extend(E0.shape),f.z.object({grant_type:f.z.literal(`authorization_code`),code:f.z.string(),redirect_uri:f.z.string().optional(),code_verifier:f.z.string().min(43).max(128).optional(),organization:f.z.string().optional(),...E0.shape}),f.z.object({grant_type:f.z.literal(`refresh_token`),refresh_token:f.z.string(),redirect_uri:f.z.string().optional(),organization:f.z.string().optional(),...E0.shape}),f.z.object({grant_type:f.z.literal(`http://auth0.com/oauth/grant-type/passwordless/otp`),client_id:f.z.string(),username:f.z.string(),otp:f.z.string(),realm:f.z.enum([`email`,`sms`])}),f0.extend(E0.shape)]);function k0(e){switch(e){case yi.AuthorizationCode:return M.SUCCESS_EXCHANGE_AUTHORIZATION_CODE_FOR_ACCESS_TOKEN;case yi.ClientCredential:return M.SUCCESS_EXCHANGE_ACCESS_TOKEN_FOR_CLIENT_CREDENTIALS;case yi.RefreshToken:return M.SUCCESS_EXCHANGE_REFRESH_TOKEN_FOR_ACCESS_TOKEN;case yi.OTP:return M.SUCCESS_EXCHANGE_PASSWORD_OTP_FOR_ACCESS_TOKEN;case yi.TokenExchange:return M.SUCCESS_EXCHANGE_SUBJECT_TOKEN_FOR_ACCESS_TOKEN;default:return}}var A0=F({route:(0,f.createRoute)({tags:[`oauth2`],method:`post`,path:`/`,request:{body:{content:{"application/x-www-form-urlencoded":{schema:O0},"application/json":{schema:O0}}}},responses:{200:{content:{"application/json":{schema:bi}},description:`Tokens`},302:{description:`Redirect for further user interaction (e.g., MFA, consent).`,headers:f.z.object({Location:f.z.string().url()}).openapi({})},400:{description:`Bad Request - The request was malformed or invalid.`,content:{"application/json":{schema:f.z.object({error:f.z.string(),error_description:f.z.string().optional()})}}},401:{description:`Unauthorized - Client authentication failed.`,content:{"application/json":{schema:f.z.object({error:f.z.string(),error_description:f.z.string().optional()})}}},403:{description:`Forbidden - User is not a member of the required organization.`,content:{"application/json":{schema:f.z.object({error:f.z.string(),error_description:f.z.string().optional()})}}}}}),handler:async e=>{let t=(e.req.header(`Content-Type`)||``).includes(`application/json`)?e.req.valid(`json`):e.req.valid(`form`),n=aW(e.req.header(`Authorization`)),r={...t,...n},i=typeof r.client_assertion==`string`?r.client_assertion:void 0,a=typeof r.client_id==`string`?r.client_id:i?D0(i):void 0;a&&!WM(a)&&await X$(e,{client_id:a}).catch(()=>{});let o=typeof r.client_assertion_type==`string`?r.client_assertion_type:void 0;if(i){if(o!==`urn:ietf:params:oauth:client-assertion-type:jwt-bearer`)throw new B(400,{error:`invalid_request`,error_description:`client_assertion_type must be ${h0}`});if(typeof r.client_secret==`string`||n?.client_secret)throw new B(400,{error:`invalid_request`,error_description:`client_secret and client_assertion are mutually exclusive`});let t=(typeof r.client_id==`string`?r.client_id:void 0)??D0(i);if(!t)throw new B(400,{error:`invalid_request`,error_description:`client_id could not be determined from client_assertion`});let a;try{a=await BN(e.env,t,e.var.tenant_id)}catch{throw new B(401,{error:`invalid_client`,error_description:`client not found`})}let s=`${La(e.env,e.var.custom_domain)}oauth/token`,c=Fa(e.env,e.var.custom_domain);try{let t=await C0(i,a,{acceptedAudiences:[s,c]}),n=a.token_endpoint_auth_method;if(n===`none`)throw new B(401,{error:`invalid_client`,error_description:`public clients must not authenticate with client_assertion`});if((n===`client_secret_jwt`||n===`private_key_jwt`)&&n!==t.method)throw new B(401,{error:`invalid_client`,error_description:`client_assertion method ${t.method} does not match registered token_endpoint_auth_method ${n}`});r.client_id=t.clientId,e.set(`client_authenticated_via_assertion`,!0)}catch(e){throw e instanceof x0?new B(401,{error:e.code===`unsupported_alg`?`invalid_request`:`invalid_client`,error_description:e.message}):e}}if(typeof r.client_id!=`string`||!r.client_id)throw new m(400,{message:`client_id is required`});e.set(`client_id`,r.client_id);let s;switch(t.grant_type){case yi.AuthorizationCode:s=await B1(e,R1.parse(r));break;case yi.ClientCredential:s=await L1(e,I1.parse(r));break;case yi.RefreshToken:s=await Z1(e,X1.parse(r));break;case yi.OTP:s=await c0(e,s0.parse(r));break;case d0:s=await p0(e,f0.parse(r));break;default:return e.json({error:`unsupported_grant_type`,error_description:`Grant type not implemented`},400)}let c=s.client.grant_types;if(c&&c.length>0&&!c.includes(t.grant_type))throw P(e,s.client.tenant.id,{type:M.FAILED_LOGIN,description:`Grant type "${t.grant_type}" is not allowed for this client`}),new B(400,{error:`unauthorized_client`,error_description:`The grant type "${t.grant_type}" is not allowed for this client`});Z$(e,s.client.tenant.id);let l=new Headers;s.session_id&&EN(s.client.tenant.id,s.session_id,e.var.host||``).forEach(e=>{l.append(`Set-Cookie`,e)});let u=[],d;if(s.authParams.audience)try{let n;if(t.grant_type===yi.ClientCredential)n=await bP(e,{grantType:yi.ClientCredential,tenantId:s.client.tenant.id,clientId:s.client.client_id,audience:s.authParams.audience,requestedScopes:s.authParams.scope?.split(` `)||[],organizationId:s.organization?.id});else{if(!s.user?.user_id)throw new B(400,{error:`invalid_request`,error_description:`User ID is required for user-based grants`});n=await bP(e,{grantType:t.grant_type,tenantId:s.client.tenant.id,userId:s.user.user_id,clientId:s.client.client_id,audience:s.authParams.audience,requestedScopes:s.authParams.scope?.split(` `)||[],organizationId:s.organization?.id})}s.authParams.scope=n.scopes.join(` `),u=n.permissions,d=s.client.app_type===`spa`?n.token_lifetime_for_web??n.token_lifetime:n.token_lifetime}catch(e){if(e instanceof m)throw e;console.error(`Error calculating scopes and permissions:`,e)}let f=await fL(e,{...s,grantType:t.grant_type,permissions:u.length>0?u:void 0,token_lifetime:d}),p=k0(t.grant_type);if(p){let t=e.var.action_execution_id,n=s.user,r=s.loginSession?.auth_strategy;P(e,s.client.tenant.id,{type:p,userId:n?.user_id,username:n?n.email||n.phone_number||n.name:void 0,connection:Wa({loginSession:s.loginSession,authConnection:s.authConnection,user:n}),strategy:r?.strategy,strategy_type:r?.strategy_type,client_name:s.client.name,scope:s.authParams.scope,audience:s.authParams.audience,...t?{details:{execution_id:t}}:{}})}return l.set(`Cache-Control`,`no-store`),l.set(`Pragma`,`no-cache`),e.json(f,{headers:l})}}),j0=new f.OpenAPIHono().openapiRoutes([A0]),M0=f.z.object({token:f.z.string(),token_type_hint:f.z.enum([`refresh_token`,`access_token`]).optional(),client_id:f.z.string().optional(),client_secret:f.z.string().optional()}),N0=F({route:(0,f.createRoute)({tags:[`oauth2`],method:`post`,path:`/`,request:{body:{content:{"application/x-www-form-urlencoded":{schema:M0},"application/json":{schema:M0}}}},responses:{200:{description:`Token revoked (or no-op for unknown tokens)`},400:{description:`Bad Request`,content:{"application/json":{schema:f.z.object({error:f.z.string(),error_description:f.z.string().optional()})}}},401:{description:`Unauthorized — client authentication failed`,content:{"application/json":{schema:f.z.object({error:f.z.string(),error_description:f.z.string().optional()})}}}}}),handler:async e=>{let t=(e.req.header(`Content-Type`)||``).includes(`application/json`)?e.req.valid(`json`):e.req.valid(`form`),n=aW(e.req.header(`Authorization`)),r={...t,...n};if(!r.client_id)throw new B(400,{error:`invalid_request`,error_description:`client_id is required`});typeof r.client_id==`string`&&!WM(r.client_id)&&await X$(e,{client_id:r.client_id,tenant_id:e.var.tenant_id}).catch(()=>{});let i;try{i=await BN(e.env,r.client_id,e.var.tenant_id)}catch(e){throw e instanceof B&&e.status===403?new B(401,{error:`invalid_client`,error_description:`Client authentication failed`}):e}if(i.client_secret&&!r.client_secret)throw new B(401,{error:`invalid_client`,error_description:`Client authentication required`});if(r.client_secret&&(!i.client_secret||!F1(i.client_secret,r.client_secret)))throw new B(401,{error:`invalid_client`,error_description:`Client authentication failed`});if(Z$(e,i.tenant.id),r.token_type_hint!==`access_token`){let t=cN(r.token),n=null;if(t.kind===`new`){let r=await e.env.data.refreshTokens.getByLookup(i.tenant.id,t.lookup);r?.token_hash&&F1(await oN(t.secret),r.token_hash)&&(n=r)}else lN()&&(n=await e.env.data.refreshTokens.get(i.tenant.id,t.id));n&&n.client_id===i.client_id&&!n.revoked_at&&await e.env.data.refreshTokens.update(i.tenant.id,n.id,{revoked_at:new Date().toISOString()})}return e.body(null,200,{"Cache-Control":`no-store`,Pragma:`no-cache`})}}),P0=new f.OpenAPIHono().openapiRoutes([N0]),F0=F({route:(0,f.createRoute)({tags:[`dbconnections`],method:`post`,path:`/signup`,request:{body:{content:{"application/json":{schema:f.z.object({client_id:f.z.string(),connection:f.z.literal(N.USERNAME_PASSWORD),email:f.z.string().transform(e=>e.toLowerCase()),password:f.z.string()})}}}},responses:{200:{content:{"application/json":{schema:f.z.object({_id:f.z.string(),email:f.z.string().optional(),email_verified:f.z.boolean(),app_metadata:f.z.object({}),user_metadata:f.z.object({})})}},description:`Created user`}}}),handler:async e=>{let{email:t,password:n,client_id:r}=e.req.valid(`json`),i=await BN(e.env,r);e.set(`client_id`,i.client_id),Z$(e,i.tenant.id);let a=i.connections.find(e=>Ca(e.strategy))?.name||N.USERNAME_PASSWORD,o=await v_(e.env.data,i.tenant.id,a);try{await __(o,{tenantId:i.tenant.id,userId:``,newPassword:n,data:e.env.data})}catch(e){throw new m(400,{message:e?.message||`Password does not meet the requirements`})}if(await hb({env:e.env,tenant_id:i.tenant.id,username:t}))throw new m(400,{message:`Invalid sign up`});let{hash:s,algorithm:c}=await y_(n),l=await fb(e.env,i.tenant.id),u=await e.env.data.users.create(i.tenant.id,{user_id:`${l}|${xg()}`,email:t,email_verified:!1,provider:l,connection:N.USERNAME_PASSWORD,is_social:!1,password:{hash:s,algorithm:c}});e.set(`user_id`,u.user_id),e.set(`username`,u.email),e.set(`connection`,u.connection);try{await nH(e,u)}catch(e){console.error(`Failed to send verification email:`,e)}return P(e,i.tenant.id,{type:M.SUCCESS_SIGNUP,description:`Successful signup`}),e.json({_id:u.user_id,email:u.email,email_verified:!1,app_metadata:{},user_metadata:{}})}}),I0=F({route:(0,f.createRoute)({tags:[`dbconnections`],method:`post`,path:`/change_password`,request:{body:{content:{"application/json":{schema:f.z.object({client_id:f.z.string(),connection:f.z.literal(N.USERNAME_PASSWORD),email:f.z.string().transform(e=>e.toLowerCase())})}}}},responses:{200:{description:`Redirect to the client's redirect uri`}}}),handler:async e=>{let{email:t,client_id:n}=e.req.valid(`json`),r=await BN(e.env,n);if(e.set(`client_id`,r.client_id),Z$(e,r.tenant.id),!await mb({env:e.env,tenant_id:r.tenant.id,username:t}))return e.html(`If an account with that email exists, we've sent instructions to reset your password.`);let i={client_id:n,username:t,audience:r.tenant.default_audience},a=await e.env.data.loginSessions.create(r.tenant.id,{expires_at:new Date(Date.now()+JM*1e3).toISOString(),authParams:i,csrf_token:Mo(),ip:e.get(`ip`),useragent:e.get(`useragent`),auth0Client:sH(e.get(`auth0_client`))});return await QV(e,t,a.id,a.authParams.state),e.html(`If an account with that email exists, we've sent instructions to reset your password.`)}}),L0=new f.OpenAPIHono().openapiRoutes([F0,I0]),R0=F({route:(0,f.createRoute)({tags:[`passwordless`],method:`post`,path:`/start`,request:{body:{content:{"application/json":{schema:f.z.union([f.z.object({connection:f.z.literal(`email`),client_id:f.z.string(),email:f.z.string().transform(e=>e.toLowerCase()),send:f.z.enum([`link`,`code`]),authParams:dn.omit({client_id:!0})}),f.z.object({client_id:f.z.string(),connection:f.z.literal(`sms`),phone_number:f.z.string(),send:f.z.enum([`link`,`code`]),authParams:dn.omit({client_id:!0})})])}}}},responses:{200:{description:`Status`}}}),handler:async e=>{let t=e.req.valid(`json`),{env:n}=e,{client_id:r,send:i,authParams:a,connection:o}=t;WM(r)||await X$(e,{client_id:r}).catch(()=>{});let s=await BN(e.env,r);e.set(`client_id`,s.client_id),Z$(e,s.tenant.id);let c=o===`email`?t.email:t.phone_number,l=e.get(`ip`),u=e.get(`useragent`),d=sH(e.get(`auth0_client`)),f=a.audience??s.tenant.default_audience,p=await n.data.loginSessions.create(s.tenant.id,{authParams:{...a,client_id:r,username:c,audience:f},expires_at:new Date(Date.now()+YM).toISOString(),csrf_token:Mo(),ip:l,useragent:u,auth0Client:d}),m=await n.data.codes.create(s.tenant.id,{code_id:cH(),code_type:`otp`,login_id:p.id,expires_at:new Date(Date.now()+YM).toISOString(),redirect_uri:a.redirect_uri}),h=a?.ui_locales?.split(` `)?.map(e=>e.split(`-`)[0])[0];return i===`link`?await tH(e,{to:c,code:m.code_id,authParams:{...a,client_id:r,audience:f},language:h}):await eH(e,{to:c,code:m.code_id,language:h}),e.html(`OK`)}}),z0=F({route:(0,f.createRoute)({tags:[`passwordless`],method:`get`,path:`/verify_redirect`,request:{query:f.z.object({scope:f.z.string(),response_type:f.z.nativeEnum(on),redirect_uri:f.z.string(),state:f.z.string(),nonce:f.z.string().optional(),verification_code:f.z.string(),connection:f.z.string(),client_id:f.z.string(),email:f.z.string().transform(e=>e.toLowerCase()),audience:f.z.string().optional()})},responses:{302:{description:`Successful verification, redirecting to continue flow.`,headers:f.z.object({Location:f.z.string().url()}).openapi({})},400:{description:`Bad Request (e.g., invalid client, invalid code, missing parameters).`,content:{"application/json":{schema:f.z.object({error:f.z.string(),error_description:f.z.string().optional()})}}},500:{description:`Internal Server Error.`,content:{"application/json":{schema:f.z.object({error:f.z.string(),error_description:f.z.string().optional()})}}}}}),handler:async e=>{let{env:t}=e,{client_id:n,email:r,verification_code:i,redirect_uri:a,state:o,scope:s,audience:c,response_type:l,nonce:u}=e.req.valid(`query`);WM(n)||await X$(e,{client_id:n}).catch(()=>{});let d=await BN(t,n);e.set(`client_id`,d.client_id),Z$(e,d.tenant.id),e.set(`connection`,`email`);let f={client_id:n,redirect_uri:a,state:o,nonce:u,scope:s,audience:c,response_type:l},p=`Something went wrong. Please try again later.`;try{let t=await l0(e,{client_id:n,username:r,otp:i,authParams:f,enforceIpCheck:!0});if(t instanceof Response)return t;if(t&&typeof t==`object`&&`access_token`in t)return e.json(t)}catch(e){let t=e;`message`in t&&typeof t.message==`string`&&(p=t.message)}let m=e.get(`ip`),h=e.get(`useragent`),g=sH(e.get(`auth0_client`)),_=await t.data.loginSessions.create(d.tenant.id,{authParams:{...f,username:r,audience:f.audience??d.tenant.default_audience},expires_at:new Date(Date.now()+YM).toISOString(),csrf_token:Mo(),ip:m,useragent:h,auth0Client:g});return e.redirect(`${Ia(e.env,e.var.custom_domain)}invalid-session?state=${_.id}&error=${encodeURIComponent(p)}`,302)}}),B0=new f.OpenAPIHono().openapiRoutes([R0,z0]),V0=F({route:(0,f.createRoute)({tags:[`oauth`],method:`post`,path:`/`,request:{body:{content:{"application/json":{schema:f.z.union([f.z.object({credential_type:f.z.literal(`http://auth0.com/oauth/grant-type/passwordless/otp`),otp:f.z.string(),client_id:f.z.string(),username:f.z.string().transform(e=>e.toLowerCase()),realm:f.z.enum([N.EMAIL]),scope:f.z.string().optional()}),f.z.object({credential_type:f.z.literal(`http://auth0.com/oauth/grant-type/password-realm`),client_id:f.z.string(),username:f.z.string().transform(e=>e.toLowerCase()),password:f.z.string(),realm:f.z.enum([N.USERNAME_PASSWORD]),scope:f.z.string().optional()})])}}}},responses:{200:{description:`List of tenants`}}}),handler:async e=>{let t=e.req.valid(`json`),{client_id:n,username:r}=t;e.set(`username`,r),WM(n)||await X$(e,{client_id:n}).catch(()=>{});let i=await BN(e.env,n);e.set(`client_id`,n),Z$(e,i.tenant.id);let a=r.toLocaleLowerCase(),o=e.get(`ip`),s=e.get(`useragent`),c=e.get(`auth0_client`),l;try{if(`otp`in t)l=await l0(e,{client_id:n,username:a,otp:t.otp});else if(`password`in t){let r=await e.env.data.loginSessions.create(i.tenant.id,{expires_at:new Date(Date.now()+JM*1e3).toISOString(),authParams:{client_id:n,username:a,audience:i.tenant.default_audience},csrf_token:Mo(),ip:o,useragent:s,auth0Client:sH(c)});l=await IH(e,i,{username:a,password:t.password,client_id:n},r,!0,t.realm)}else throw new m(400,{message:`Code or password required`})}catch(n){try{await P(e,i.tenant.id,{type:M.FAILED_CROSS_ORIGIN_AUTHENTICATION,description:n instanceof Error?n.message:`Cross-origin auth failed`,connection:t.realm})}catch(e){console.error(`[co/authenticate] failed to log FAILED_CROSS_ORIGIN_AUTHENTICATION:`,e)}throw n}try{await P(e,i.tenant.id,{type:M.SUCCESS_CROSS_ORIGIN_AUTHENTICATION,description:`Successful cross-origin authentication`,connection:t.realm})}catch(e){console.error(`[co/authenticate] failed to log SUCCESS_CROSS_ORIGIN_AUTHENTICATION:`,e)}return l}}),H0=new f.OpenAPIHono().openapiRoutes([V0]);function U0(e,t){if(!e||t.length===0)return!1;let n=W0(e)?.host??null;if(!n)return!1;for(let e of t){let t;if(t=e.startsWith(`http://`)||e.startsWith(`https://`)?W0(e)?.host??null:W0(`https://`+e)?.host??null,n===t)return!0}return!1}function W0(e){try{return new URL(e)}catch{return null}}async function G0(e,t,n){if(!n.login_session_id)return{};let r=await e.env.data.loginSessions.get(t,n.login_session_id).catch(()=>void 0);return{authStrategy:r?.auth_strategy,authConnection:r?.auth_connection}}function K0(e,t){if(!e||t===void 0)return!1;let n=new Date(e.authenticated_at).getTime(),r=t*1e3;return Date.now()-n>r}async function q0({ctx:e,session:t,client:n,authParams:r,connection:i,login_hint:a,screen_hint:o}){let s=new URL(e.req.url);e.var.custom_domain&&(s.hostname=e.var.custom_domain);let{ip:c,auth0_client:l,useragent:u}=e.var,d=sH(l);K0(t,r.max_age)&&(t=void 0);let f=r.prompt?.split(` `)??[];(f.includes(`login`)||f.includes(`select_account`))&&(t=void 0);let p=await e.env.data.loginSessions.create(n.tenant.id,{expires_at:new Date(Date.now()+JM*1e3).toISOString(),authParams:r,csrf_token:Mo(),authorization_url:s.toString(),ip:c,useragent:u,auth0Client:d}),m=n.client_metadata?.universal_login_version===`2`?`/u2`:`/u`;if(t&&a&&o!==`login`){let i=await e.env.data.users.get(n.tenant.id,t.user_id);if(i?.email===a){let{authStrategy:a,authConnection:o}=await G0(e,n.tenant.id,t);return DL(e,{client:n,loginSession:p,authParams:r,user:i,existingSessionIdToLink:t.id,authStrategy:a,authConnection:o})}}if(i===N.EMAIL&&a){let t=cH();return await e.env.data.codes.create(n.tenant.id,{code_id:t,code_type:`otp`,login_id:p.id,expires_at:new Date(Date.now()+JM*1e3).toISOString(),redirect_uri:r.redirect_uri}),await tH(e,{code:t,to:a,authParams:r}),e.redirect(`${m}/login/email-otp-challenge?state=${p.id}`)}if(t&&o!==`login`){let i=await e.env.data.users.get(n.tenant.id,t.user_id);if(i){let{authStrategy:a,authConnection:o}=await G0(e,n.tenant.id,t);return DL(e,{client:n,loginSession:p,authParams:r,user:i,existingSessionIdToLink:t.id,authStrategy:a,authConnection:o})}}if(m===`/u2`){let t=await e.env.data.promptSettings.get(n.tenant.id),r=ki.parse(t||{}),i=n.connections.some(e=>Ca(e.strategy));if(r.identifier_first===!1&&i)return e.redirect(`${m}/login?state=${p.id}`)}return e.redirect(`${m}/login/identifier?state=${p.id}`)}async function J0(e,t,n){if(n===N.USERNAME_PASSWORD)return fb(e.env,t);if(n===N.EMAIL)return N.EMAIL;throw new B(403,{message:`Invalid realm`})}async function Y0(e,t,n,r,i){let{env:a}=e;e.set(`connection`,i);let o=await a.data.codes.get(t,n,`ticket`);if(!o||o.used_at)throw new B(403,{message:`Ticket not found`});let s=await a.data.loginSessions.get(t,o.login_id);if(!s||!s.authParams.username)throw new B(403,{message:`Session not found`});let c=await BN(a,s.authParams.client_id,t);e.set(`client_id`,s.authParams.client_id),await a.data.codes.used(t,n);let l=await J0(e,t,i),u=c.connections.find(e=>e.name===i)?.strategy||(pb(l)?N.USERNAME_PASSWORD:N.EMAIL),d=Ca(u)?xa.DATABASE:xa.PASSWORDLESS,f=i===N.USERNAME_PASSWORD?await gb(e,{client:c,username:s.authParams.username,connection:i,ip:e.var.ip}):await Ag(e,{username:s.authParams.username,provider:l,client:c,connection:i,isSocial:!1,ip:e.var.ip});return e.set(`username`,f.email||f.phone_number),e.set(`user_id`,f.user_id),DL(e,{authParams:{scope:s.authParams?.scope,...r},loginSession:s,user:f,client:c,authConnection:i,authStrategy:{strategy:u,strategy_type:d}})}function X0(e,t){return t===sn.QUERY?!1:t===sn.FRAGMENT?!0:e!==on.CODE}async function Z0({ctx:e,client:t,session:n,redirect_uri:r,state:i,nonce:a,code_challenge_method:o,code_challenge:s,audience:c,scope:l,response_type:u,response_mode:d,organization:f,max_age:p}){let{env:m}=e,h=new URL(r),g=`${h.protocol}//${h.host}`,_=d===sn.WEB_MESSAGE;async function v(a=`Login required`){let o=new Headers;if(n&&(P(e,t.tenant.id,{type:M.FAILED_SILENT_AUTH,description:a}),TN(t.tenant.id,e.var.host).forEach(e=>{o.append(`set-cookie`,e)})),_)return gP(e,g,JSON.stringify({error:`login_required`,error_description:a,state:i}),o);let s={error:`login_required`,error_description:a};if(i&&(s.state=i),d===sn.FORM_POST)return vP(r,s,o);let c=new URL(r);if(X0(u,d))c.hash=new URLSearchParams(s).toString();else for(let[e,t]of Object.entries(s))c.searchParams.set(e,t);let l={Location:c.toString()},f=o.get(`set-cookie`);return f&&(l[`set-cookie`]=f),new Response(null,{status:302,headers:l})}function y(t=`Consent required`){if(_)return gP(e,g,JSON.stringify({error:`consent_required`,error_description:t,state:i}));let n={error:`consent_required`,error_description:t};if(i&&(n.state=i),d===sn.FORM_POST)return vP(r,n,new Headers);let a=new URL(r);if(X0(u,d))a.hash=new URLSearchParams(n).toString();else for(let[e,t]of Object.entries(n))a.searchParams.set(e,t);return new Response(null,{status:302,headers:{Location:a.toString()}})}let b=!n||n?.expires_at&&new Date(n.expires_at)<new Date||n?.idle_expires_at&&new Date(n.idle_expires_at)<new Date,x=n&&p!==void 0&&Date.now()-new Date(n.authenticated_at).getTime()>p*1e3;if(b||x)return v();let S=await m.data.users.get(t.tenant.id,n.user_id);if(!S)return console.error(`User not found`,n.user_id),v(`User not found`);let C=S.linked_to?await m.data.users.get(t.tenant.id,S.linked_to):S;if(!C)return console.error(`Linked primary user not found`,S.linked_to),v(`User not found`);e.set(`user_id`,C.user_id),e.set(`username`,C.email),e.set(`connection`,C.connection);let w;if(f&&(w=await m.data.organizations.get(t.tenant.id,f),!w))return v(`Organization not found`);let T=c,E=l||``,ee=[],te;if(T)try{let n=await bP(e,{tenantId:t.tenant.id,clientId:t.client_id,audience:T,requestedScopes:l?.split(` `)||[],organizationId:w?.id,userId:C.user_id});E=n.scopes.join(` `),ee=n.permissions,te=t.app_type===`spa`&&n.token_lifetime_for_web?n.token_lifetime_for_web:n.token_lifetime}catch(e){if(e?.statusCode===403||e?.status===403)return v(e?.body?.error_description||e?.message||`Access denied`);throw e}else if(w&&!(await m.data.userOrganizations.list(t.tenant.id,{q:`user_id:${C.user_id}`,per_page:1e3})).userOrganizations.some(e=>e.organization_id===w.id))return v(`User is not a member of the specified organization`);if(!t.is_first_party){let n=l?.split(` `).filter(Boolean)??[],r=await SP(e,{tenantId:t.tenant.id,userId:C.user_id,clientId:t.client_id,requestedScopes:n});if(r.length>0)return y(`Consent required for scope(s): ${r.join(` `)}`)}let ne;n.login_session_id&&(ne=await m.data.loginSessions.get(t.tenant.id,n.login_session_id));let re=Wa({loginSession:ne,user:C}),ie=await m.data.loginSessions.create(t.tenant.id,{csrf_token:Mo(),authParams:{client_id:t.client_id,audience:c,scope:l,state:i,nonce:a,response_type:u,redirect_uri:r,organization:f,max_age:p},expires_at:new Date(Date.now()+300*1e3).toISOString(),session_id:n.id,...re?{auth_connection:re}:{},...ne?.auth_strategy?{auth_strategy:ne.auth_strategy}:{},ip:e.var.ip,useragent:e.var.useragent}),ae=p===void 0?void 0:Math.floor(new Date(n.authenticated_at).getTime()/1e3),D={client:t,authParams:{client_id:t.client_id,audience:c,code_challenge_method:o,code_challenge:s,scope:E,state:i,nonce:a,response_type:u,redirect_uri:r,max_age:p},user:C,session_id:n.id,auth_time:ae,permissions:ee,organization:w,token_lifetime:te},oe=u.split(` `),se=oe.includes(`code`),ce=oe.includes(`id_token`),O=oe.includes(`token`),le=se&&(ce||O),ue;if(u===on.CODE)ue=await pL(e,{user:C,client:t,authParams:D.authParams,login_id:ie.id});else if(le){let n=await pL(e,{user:C,client:t,authParams:D.authParams,login_id:ie.id});ue={...await fL(e,{...D,code:n.code}),code:n.code,state:n.state}}else ue=await fL(e,D);let de=t.tenant.idle_session_lifetime?new Date(Date.now()+t.tenant.idle_session_lifetime*60*60*1e3).toISOString():void 0;await m.data.sessions.update(t.tenant.id,n.id,{used_at:new Date().toISOString(),last_interaction_at:new Date().toISOString(),login_session_id:ie.id,device:{...n.device,last_ip:e.var.ip||``,last_user_agent:e.var.useragent||``},idle_expires_at:de});let fe=Math.max(de?new Date(de).getTime():0,n.expires_at?new Date(n.expires_at).getTime():0);fe>Date.now()&&await m.data.loginSessions.update(t.tenant.id,ie.id,{expires_at:new Date(fe).toISOString()}),P(e,t.tenant.id,{type:M.SUCCESS_SILENT_AUTH,description:`Successful silent authentication`});let pe=new Headers;if(EN(t.tenant.id,n.id,e.var.host).forEach(e=>{pe.append(`set-cookie`,e)}),_)return gP(e,g,JSON.stringify({...ue,state:i}),pe);let me={},he=ue.code,ge=ue.access_token,_e=ue.id_token;if(se&&typeof he==`string`&&(me.code=he),typeof ge==`string`&&(O&&(me.access_token=ge,typeof ue.token_type==`string`&&(me.token_type=ue.token_type),typeof ue.expires_in==`number`&&(me.expires_in=String(ue.expires_in))),ce&&typeof _e==`string`&&(me.id_token=_e)),i&&(me.state=i),(O||ce)&&l&&(me.scope=l),d===sn.FORM_POST)return vP(r,me,pe);let ve=new URL(r);if(X0(u,d))ve.hash=new URLSearchParams(me).toString();else for(let[e,t]of Object.entries(me))ve.searchParams.set(e,t);let ye={Location:ve.toString()},be=pe.get(`set-cookie`);return be&&(ye[`set-cookie`]=be),new Response(null,{status:302,headers:ye})}var Q0=1024;function $0(e,t){let n=e.split(`:`)[0]?.split(`.`)??[],r=t.split(`:`)[0]?.split(`.`)??[];return n.length<2||r.length<2?!1:n.slice(-2).join(`.`)===r.slice(-2).join(`.`)}async function e2(e,t,n){return await e.env.data.customDomains.getByDomain(t)?!0:$0(t,n)}async function t2(e,t){let n=await e.env.data.loginSessions.get(e.var.tenant_id||``,t);if(!n)throw new B(403,{message:`State not found`});let r=n.authorization_url;if(r&&r.length<=Q0){let n=null;try{n=new URL(r)}catch{n=null}let i=e.var.host||``;if(n&&n.host&&n.host!==i&&await e2(e,n.host,i)){let e=new URL(`/authorize/resume`,n.origin);return e.searchParams.set(`state`,t),new Response(null,{status:302,headers:{location:e.toString()}})}}let i=n.authParams.client_id,a;if(!WM(i)){let t=await e.env.data.clients.getByClientId(i);if(!t)throw new B(403,{message:`Client not found`});a=t.tenant_id,Z$(e,a),e.set(`client_id`,i)}let o=await BN(e.env,i,a);Z$(e,o.tenant.id),e.set(`client_id`,o.client_id);let s=n.state||j.PENDING;if(s===j.PENDING)throw new B(400,{error:`invalid_request`,error_description:`Login session is not yet authenticated`});if(s===j.COMPLETED)throw new B(409,{error:`invalid_request`,error_description:`Login session has already been completed`});if(s===j.FAILED)throw new B(400,{error:`access_denied`,error_description:`Login session failed: ${n.failure_reason||`unknown reason`}`});if(s===j.EXPIRED)throw new B(400,{error:`invalid_request`,error_description:`Login session has expired`});if(!n.user_id)throw new B(500,{message:`Authenticated login session has no user_id`});let c=await e.env.data.users.get(o.tenant.id,n.user_id);if(!c)throw new B(500,{message:`Authenticated user not found`});return e.set(`user_id`,c.user_id),n.auth_connection&&e.set(`connection`,n.auth_connection),DL(e,{authParams:n.authParams,client:o,user:c,loginSession:n,authStrategy:n.auth_strategy,authConnection:n.auth_connection})}var n2=new Set([`RS256`,`RS384`,`RS512`,`ES256`,`ES384`,`ES512`]),r2=new Set([`HS256`,`HS384`,`HS512`]),i2={HS256:`SHA-256`,HS384:`SHA-384`,HS512:`SHA-512`},a2={name:`RSASSA-PKCS1-v1_5`},o2={ES256:`SHA-256`,ES384:`SHA-384`,ES512:`SHA-512`},s2=class extends Error{code;constructor(e,t){super(t),this.code=e,this.name=`RequestObjectVerificationError`}};function c2(e){let t=new TextDecoder().decode(Rv.decode(e,{strict:!1})),n=JSON.parse(t);if(typeof n!=`object`||!n)throw new s2(`invalid_request_object`,`JOSE segment is not an object`);return n}async function l2(e,t,n){let r=e.split(`.`);if(r.length!==3)throw new s2(`invalid_request_object`,`request object is not a 3-part JWS`);let[i,a,o]=r,s,c;try{s=c2(i),c=c2(a)}catch(e){throw e instanceof s2?e:new s2(`invalid_request_object`,`failed to decode JOSE segments`)}if(!s.alg)throw new s2(`invalid_request_object`,`missing alg`);if(s.alg===`none`)throw new s2(`unsupported_alg`,`unsigned request objects (alg=none) are not accepted`);let l=new Uint8Array(new TextEncoder().encode(`${i}.${a}`)),u=new Uint8Array(Rv.decode(o,{strict:!1}));if(r2.has(s.alg)){if(!t.client_secret)throw new s2(`missing_keys`,`client has no client_secret for HMAC verification`);let e=await crypto.subtle.importKey(`raw`,new Uint8Array(new TextEncoder().encode(t.client_secret)),{name:`HMAC`,hash:i2[s.alg]},!1,[`verify`]);if(!await crypto.subtle.verify(`HMAC`,e,u,l))throw new s2(`signature_invalid`,`HMAC signature did not verify`)}else if(n2.has(s.alg)){let e=s.alg,r=await m0(t,{fetch:n.fetch});if(r.length===0)throw new s2(`missing_keys`,`client has no jwks/jwks_uri registered`);let i=s.kid?r.filter(e=>e.kid===s.kid):r.filter(t=>u2(t,e));if(i.length===0)throw new s2(`missing_keys`,s.kid?`no JWK found with kid=${s.kid}`:`no JWK found for alg=${e}`);let a=!1,o=!1;for(let t of i){if(!u2(t,e))continue;let n;try{let r=_N(t,e);n=await crypto.subtle.importKey(`jwk`,t,r,!1,[`verify`])}catch{continue}let r=t.kty===`EC`?{name:`ECDSA`,hash:o2[e]}:a2;try{if(o=!0,await crypto.subtle.verify(r,n,u,l)){a=!0;break}}catch{continue}}if(!a)throw new s2(o?`signature_invalid`:`missing_keys`,o?`asymmetric signature did not verify (kid=${s.kid??`(none)`}, alg=${e})`:`no JWK compatible with alg=${e} (kid=${s.kid??`(none)`})`)}else throw new s2(`unsupported_alg`,`alg ${s.alg} is not supported`);return d2(c,t,n),c}function u2(e,t){return!(e.alg&&e.alg!==t||t.startsWith(`ES`)&&e.kty!==`EC`||t.startsWith(`RS`)&&e.kty!==`RSA`)}function d2(e,t,n){let r=n.leewaySeconds??30,i=Math.floor((n.now?n.now():Date.now())/1e3);if(typeof e.exp!=`number`)throw new s2(`claim_invalid`,`request object missing exp`);if(e.exp+r<i)throw new s2(`claim_invalid`,`request object is expired`);if(typeof e.nbf==`number`&&e.nbf-r>i)throw new s2(`claim_invalid`,`request object not yet valid`);if(e.iss!==void 0&&e.iss!==t.client_id)throw new s2(`claim_invalid`,`iss mismatch: expected client_id ${t.client_id}, got ${String(e.iss)}`);if(e.aud!==void 0&&n.issuer){let t=e.aud;if(!(t===n.issuer||Array.isArray(t)&&t.some(e=>e===n.issuer)))throw new s2(`claim_invalid`,`aud claim does not match issuer ${n.issuer}`)}}var f2=[N.EMAIL,N.SMS,N.USERNAME_PASSWORD],p2=[`code`,`id_token`,`token`];function m2(e){let t=e.split(/\s+/).filter(Boolean);return t.length<=1?e:[...t].sort((e,t)=>p2.indexOf(e)-p2.indexOf(t)).join(` `)}var h2=f.z.object({client_id:f.z.string().optional(),vendor_id:f.z.string().optional(),redirect_uri:f.z.string().optional(),scope:f.z.string().optional(),state:f.z.string().optional(),prompt:f.z.string().optional(),response_mode:f.z.nativeEnum(sn).optional(),response_type:f.z.preprocess(e=>typeof e==`string`?m2(e):e,f.z.nativeEnum(on).optional()),audience:f.z.string().optional(),connection:f.z.string().optional(),nonce:f.z.string().optional(),max_age:f.z.string().optional(),acr_values:f.z.string().optional(),login_ticket:f.z.string().optional(),code_challenge_method:f.z.nativeEnum(cn).optional(),code_challenge:f.z.string().optional(),realm:f.z.string().optional(),auth0Client:f.z.string().optional(),organization:f.z.string().optional(),login_hint:f.z.string().optional(),screen_hint:f.z.string().optional(),ui_locales:f.z.string().optional(),claims:f.z.union([f.z.string(),f.z.record(f.z.string(),f.z.any())]).optional()});function g2(e){if(e==null)return;let t;if(typeof e==`string`){if(!e)return;try{t=JSON.parse(e)}catch{throw new m(400,{message:`invalid claims parameter: not valid JSON`})}}else t=e;let n=un.safeParse(t);if(!n.success)throw new m(400,{message:"invalid claims parameter: must be an object with optional `userinfo` and `id_token` members"});let r={};return n.data.userinfo&&Object.keys(n.data.userinfo).length>0&&(r.userinfo=n.data.userinfo),n.data.id_token&&Object.keys(n.data.id_token).length>0&&(r.id_token=n.data.id_token),r.userinfo||r.id_token?r:void 0}var _2=new Set([`application/oauth-authz-req+jwt`,`application/jwt`]);async function v2(e,t){let{status:n,body:r,contentType:i}=await VM(e,t);if(n!==200)throw new m(400,{message:`request_uri returned status ${n}`});let a=(i??``).split(`;`)[0]?.trim().toLowerCase()??``;if(!_2.has(a))throw new m(400,{message:`request_uri returned unsupported content-type: ${a||`(missing)`}`});let o=r.trim();if(!o||o.split(`.`).length!==3)throw new m(400,{message:`request_uri did not return a JWT`});return o}var y2=F({route:(0,f.createRoute)({tags:[`oauth`],method:`get`,path:`/`,request:{query:h2.extend({client_id:f.z.string(),screen_hint:f.z.string().openapi({example:`signup`,description:`Optional hint for the screen to show, like "signup" or "login".`}).optional(),request:f.z.string().openapi({description:`JWT containing authorization request parameters (OpenID Connect Core Section 6.1). MUST be signed; alg=none is rejected.`}).optional(),request_uri:f.z.string().url().openapi({description:`URL referencing a Request Object JWT (OpenID Connect Core Section 6.2). The URL is fetched with SSRF protection.`}).optional()}).passthrough()},responses:{200:{description:`Successful authorization response. This can be an HTML page (e.g., for silent authentication iframe or universal login page) or a JSON object containing tokens (e.g., for response_mode=web_message).`,content:{"text/html":{schema:f.z.string().openapi({example:`<html>...</html>`})},"application/json":{schema:bi}}},302:{description:`Redirect to the client's redirect URI, an authentication page, or an external identity provider.`,headers:f.z.object({Location:f.z.string().url()})},400:{description:`Bad Request. Invalid parameters or other client-side errors.`,content:{"application/json":{schema:f.z.object({message:f.z.string()})}}},403:{description:`Forbidden. The request is not allowed (e.g., invalid origin).`,content:{"application/json":{schema:f.z.object({message:f.z.string()})}}}}}),handler:async e=>{let{env:t}=e,n=e.req.valid(`query`);if(n.request&&n.request_uri)throw new m(400,{message:`request and request_uri are mutually exclusive`});let r=zM(t);n.client_id&&!WM(n.client_id)&&await X$(e,{client_id:n.client_id}).catch(()=>{});let i=n.request;if(n.request_uri)try{i=await v2(n.request_uri,r)}catch(e){throw e instanceof BM?new m(400,{message:`request_uri rejected: ${e.message}`}):e}let a={},o;if(i){if(!n.client_id)throw new m(400,{message:`client_id is required to verify a request object`});o=await BN(t,n.client_id,WM(n.client_id)?e.var.tenant_id:void 0,r);try{let n=await l2(i,o,{issuer:Fa(t,e.var.custom_domain),fetch:r}),s=h2.safeParse(n);if(!s.success)throw new m(400,{message:`invalid request object: ${s.error.issues.map(e=>`${e.path.join(`.`)}: ${e.message}`).join(`; `)}`});a=s.data}catch(e){throw e instanceof s2?new m(400,{message:`invalid request object (${e.code}): ${e.message}`}):e}}for(let e of Object.keys(a)){let t=a[e],r=n[e];if(t!==void 0&&r!==void 0&&t!==r)throw new m(400,{message:`request object and query parameter "${e}" disagree`})}let{redirect_uri:s,scope:c,audience:l,nonce:u,response_type:d,response_mode:f,code_challenge:p,code_challenge_method:h,prompt:g,max_age:_,acr_values:v,login_hint:y,ui_locales:b,organization:x,claims:S}={...n,...a},{client_id:C,vendor_id:w,state:T,connection:E,login_ticket:ee,realm:te,auth0Client:ne,screen_hint:re}={...n,...a};e.set(`log`,`authorize`);let ie=g2(S),ae=WM(C),D=o&&o.client_id===C?o:await BN(t,C,ae?e.var.tenant_id:void 0,r);e.set(`client_id`,D.client_id),Z$(e,D.tenant.id);let oe;if(T&&(oe=await t.data.loginSessions.get(D.tenant.id,T),oe&&oe.state!==j.COMPLETED&&oe.state!==j.FAILED&&oe.state!==j.EXPIRED)){let e=oe.authParams;s??=e.redirect_uri,c??=e.scope,l??=e.audience,u??=e.nonce,d??=e.response_type,f??=e.response_mode,p??=e.code_challenge,h??=e.code_challenge_method,g??=e.prompt,_??=e.max_age?.toString(),v??=e.acr_values,y??=e.username,b??=e.ui_locales,x??=e.organization,!ie&&e.claims&&(ie=e.claims)}if(ae&&d?.includes(`code`)&&(!p||h!==`S256`))throw new m(400,{message:`PKCE with code_challenge_method=S256 is required for Client ID Metadata Document clients`});let se=s;typeof s==`string`&&(se=s.split(`#`)[0]);let ce=e.req.header(`origin`);if(ce&&!U0(ce,D.web_origins||[]))throw new m(403,{message:`Origin ${ce} not allowed`});if(!d){let t=!!se&&f1(se,D.callbacks||[],{allowPathWildcards:!0,allowSubDomainWildcards:!0});if(se&&t){let t={error:`invalid_request`,error_description:`Missing required parameter: response_type`};if(T&&(t.state=T),f===sn.FORM_POST)return vP(se,t,new Headers);let n=new URL(se);for(let[e,r]of Object.entries(t))n.searchParams.set(e,r);return e.redirect(n.toString())}throw new m(400,{message:`Missing required parameter: response_type`})}let O={redirect_uri:se,scope:c,state:T,client_id:C,vendor_id:w,audience:l??D.tenant.default_audience,nonce:u,prompt:g,response_type:d,response_mode:f,code_challenge:p,code_challenge_method:h,username:y,ui_locales:b,organization:x,max_age:_?parseInt(_,10):void 0,acr_values:v,claims:ie};if(O.redirect_uri){let t=D.callbacks||[];if(e.var.host&&(t.push(`${Fa(e.env,e.var.custom_domain)}/*`),t.push(`${Ia(e.env,e.var.custom_domain)}/*`)),!f1(O.redirect_uri,t,{allowPathWildcards:!0,allowSubDomainWildcards:!0}))throw new m(400,{message:`Invalid redirect URI - ${O.redirect_uri}`})}if(f===sn.QUERY&&d!==on.CODE){let t=`Invalid response_mode "query" for response_type "${d}"`;if(se){let n={error:`unsupported_response_mode`,error_description:t};T&&(n.state=T);let r=new URL(se);for(let[e,t]of Object.entries(n))r.searchParams.set(e,t);return e.redirect(r.toString())}throw new m(400,{message:t})}let le=`${Fa(e.env,e.var.custom_domain)}userinfo`;if(O.audience&&O.audience!==le){let{resource_servers:n}=await t.data.resourceServers.list(D.tenant.id);if(!n.some(e=>e.identifier===O.audience)){let t={error:`access_denied`,error_description:`Service not found: ${O.audience}`};if(T&&(t.state=T),se){if(f===sn.FORM_POST)return vP(se,t,new Headers);let n=new URL(se);for(let[e,r]of Object.entries(t))n.searchParams.set(e,r);return e.redirect(n.toString())}throw new m(403,{message:`Service not found: ${O.audience}`})}}let ue,de=uae(D.tenant.id,e.req.header(`cookie`));for(let e of de){let n=await t.data.sessions.get(D.tenant.id,e);if(n&&!n.revoked_at){ue=n;break}}if(D.sso_disabled&&(ue=void 0),g==`none`){if(!se||!T||!d)throw new m(400,{message:`Missing required parameters for silent auth: redirect_uri, state, and response_type`});return Z0({ctx:e,session:ue||void 0,redirect_uri:se,state:T,response_type:d,response_mode:f,client:D,nonce:u,code_challenge_method:h,code_challenge:p,audience:O.audience,scope:c,organization:x,max_age:_?parseInt(_,10):void 0})}if(D.connections.length===1&&D.connections[0]&&!f2.includes(D.connections[0].strategy||``)&&!Ca(D.connections[0].strategy))return n1(e,D,D.connections[0].name,O,oe);if(E&&E!==N.EMAIL)return n1(e,D,E,O,oe);if(ee){let t=await Y0(e,D.tenant.id,ee,O,te);return t instanceof Response?t:e.json(t)}let fe=await q0({ctx:e,client:D,auth0Client:ne,authParams:O,session:ue||void 0,connection:E,login_hint:y,screen_hint:re});return fe instanceof Response?fe:e.json(fe)}}),b2=F({route:(0,f.createRoute)({tags:[`oauth`],method:`get`,path:`/resume`,request:{query:f.z.object({state:f.z.string()})},responses:{302:{description:`Redirect to the client's redirect_uri (with cookie set), to a MFA/continuation UL screen, or to the original authorization host when the browser is on the wrong custom domain.`,headers:f.z.object({Location:f.z.string().url()})},400:{description:`Login session is in PENDING, FAILED, or EXPIRED state.`,content:{"application/json":{schema:f.z.object({message:f.z.string()})}}},403:{description:`Login session not found.`,content:{"application/json":{schema:f.z.object({message:f.z.string()})}}},409:{description:`Login session has already been completed (replay).`,content:{"application/json":{schema:f.z.object({message:f.z.string()})}}}}}),handler:async e=>{let{state:t}=e.req.valid(`query`);return t2(e,t)}}),x2=new f.OpenAPIHono().openapiRoutes([y2,b2]),S2=F({route:(0,f.createRoute)({tags:[`oauth`],method:`get`,path:`/`,request:{query:f.z.object({client_id:f.z.string(),redirect_url:f.z.string().optional(),login_hint:f.z.string().toLowerCase().optional(),screen_hint:f.z.enum([`account`,`change-email`,`change-phone`,`change-password`]).optional().default(`account`)})},responses:{302:{description:`Redirect to the account page with login session state or login page`,headers:f.z.object({Location:f.z.string().url()})},400:{description:`Bad Request. Invalid parameters or other client-side errors.`,content:{"application/json":{schema:f.z.object({message:f.z.string()})}}}}}),handler:async e=>{let{env:t}=e,{client_id:n,redirect_url:r,login_hint:i,screen_hint:a}=e.req.valid(`query`);e.set(`log`,`account`),WM(n)||await X$(e,{client_id:n}).catch(()=>{});let o=await BN(t,n);e.set(`client_id`,o.client_id),Z$(e,o.tenant.id);let s={redirect_uri:r||e.req.url,client_id:n,username:i},c=e.req.header(`origin`);if(c&&!U0(c,o.web_origins||[]))throw new m(403,{message:`Origin ${c} not allowed`});if(s.redirect_uri){let t=o.callbacks||[];if(e.var.host&&(t.push(`${Fa(e.env,e.var.custom_domain)}/*`),t.push(`${Ia(e.env,e.var.custom_domain)}/*`)),!f1(s.redirect_uri,t,{allowPathWildcards:!0,allowSubDomainWildcards:!0}))throw new m(400,{message:`Invalid redirect URI - ${s.redirect_uri}`})}let l=wN(o.tenant.id,e.req.header(`cookie`)),u=l?await t.data.sessions.get(o.tenant.id,l):void 0,d=u&&!u.revoked_at?u:void 0;o.sso_disabled&&(d=void 0);let f=new URL(e.req.url);e.var.custom_domain&&(f.hostname=e.var.custom_domain);let{ip:p,auth0_client:h,useragent:g}=e.var,_=sH(h),v=await t.data.loginSessions.create(o.tenant.id,{expires_at:new Date(Date.now()+JM*1e3).toISOString(),authParams:s,csrf_token:Mo(),authorization_url:f.toString(),ip:p,useragent:g,auth0Client:_});if(d){if(i&&(await t.data.users.get(o.tenant.id,d.user_id))?.email!==i)return e.redirect(`${Ia(e.env,e.var.custom_domain)}login/identifier?state=${encodeURIComponent(v.id)}`);if(await t.data.loginSessions.update(o.tenant.id,v.id,{session_id:d.id}),a===`change-email`){let t=new URL(`/u2/account/profile`,e.req.url);return t.searchParams.set(`state`,v.id),e.redirect(t.toString())}let n=new URL(`/u2/account`,e.req.url);return n.searchParams.set(`state`,v.id),e.redirect(n.toString())}return e.redirect(`${Ia(e.env,e.var.custom_domain)}login/identifier?state=${encodeURIComponent(v.id)}`)}}),C2=new f.OpenAPIHono().openapiRoutes([S2]);function w2(e,t){if(e===t)return!0;if(e==null||t==null||typeof e!=typeof t)return!1;if(Array.isArray(e)&&Array.isArray(t)){if(e.length!==t.length)return!1;for(let n=0;n<e.length;n++)if(!w2(e[n],t[n]))return!1;return!0}if(Pa(e)&&Pa(t)){let n=Object.keys(e),r=Object.keys(t);if(n.length!==r.length)return!1;for(let r of n)if(!w2(e[r],t[r]))return!1;return!0}return!1}function T2(e,t){let n={...t};if(!e)return{ok:!0,filled:n};for(let[r,i]of Object.entries(e)){let e=t[r];if(e===void 0){n[r]=i;continue}if(!w2(e,i))return{ok:!1,violation:{field:r,expected:i,got:e},filled:n}}return{ok:!0,filled:n}}var E2=f.z.object({redirect_uris:f.z.array(f.z.string()).optional(),client_name:f.z.string().min(1).optional(),client_uri:f.z.string().url().optional(),logo_uri:f.z.string().url().optional(),tos_uri:f.z.string().url().optional(),policy_uri:f.z.string().url().optional(),contacts:f.z.array(f.z.string()).optional(),scope:f.z.string().optional(),grant_types:f.z.array(f.z.string()).optional(),response_types:f.z.array(f.z.string()).optional(),token_endpoint_auth_method:f.z.enum([`none`,`client_secret_basic`,`client_secret_post`,`client_secret_jwt`,`private_key_jwt`]).optional(),jwks_uri:f.z.string().url().optional(),jwks:f.z.record(f.z.string(),f.z.unknown()).optional(),software_id:f.z.string().optional(),software_version:f.z.string().optional(),client_id:f.z.string().optional(),client_secret:f.z.string().optional(),audience:f.z.string().optional()}),D2=f.z.object({client_id:f.z.string(),client_secret:f.z.string().optional(),client_id_issued_at:f.z.number().optional(),client_secret_expires_at:f.z.number().optional(),registration_access_token:f.z.string().optional(),registration_client_uri:f.z.string(),client_name:f.z.string().optional(),redirect_uris:f.z.array(f.z.string()).optional(),grant_types:f.z.array(f.z.string()).optional(),response_types:f.z.array(f.z.string()).optional(),token_endpoint_auth_method:f.z.string().optional(),logo_uri:f.z.string().optional(),client_uri:f.z.string().optional(),tos_uri:f.z.string().optional(),policy_uri:f.z.string().optional(),contacts:f.z.array(f.z.string()).optional(),scope:f.z.string().optional(),jwks_uri:f.z.string().optional(),software_id:f.z.string().optional(),software_version:f.z.string().optional()}),O2=new Set([`redirect_uris`,`client_name`,`client_uri`,`logo_uri`,`tos_uri`,`policy_uri`,`contacts`,`scope`,`grant_types`,`response_types`,`token_endpoint_auth_method`,`jwks_uri`,`jwks`,`software_id`,`software_version`,`client_id`,`client_secret`,`domain`,`integration_type`,`audience`]);function k2(e){let t=[];for(let n of[`client_uri`,`tos_uri`,`policy_uri`,`jwks_uri`,`software_id`,`software_version`]){let r=e[n];typeof r==`string`&&r.length>0&&t.push([n,r])}return e.contacts&&Array.isArray(e.contacts)&&e.contacts.length>0&&t.push([`contacts`,e.contacts.join(`,`)]),e.scope&&typeof e.scope==`string`&&t.push([`scope`,e.scope]),t.length>0?Object.fromEntries(t):void 0}function A2(e){let t={};e.client_name!==void 0&&(t.name=e.client_name),e.redirect_uris!==void 0&&(t.callbacks=e.redirect_uris),e.grant_types!==void 0&&(t.grant_types=e.grant_types),e.token_endpoint_auth_method!==void 0&&(t.token_endpoint_auth_method=e.token_endpoint_auth_method),e.logo_uri!==void 0&&(t.logo_uri=e.logo_uri);let n=k2(e);n&&(t.client_metadata=n);let r={};for(let[t,n]of Object.entries(e))O2.has(t)||(r[t]=n);return e.jwks!==void 0&&(r.jwks=e.jwks),e.response_types!==void 0&&(r.response_types=e.response_types),{clientFields:t,extraMetadata:r}}function j2(e,t){let n=e[t];return n&&n.length>0?n:void 0}function M2(e,t){let n=e.client_metadata??{},r=n.contacts,i=r&&r.length>0?r.split(`,`):void 0,a=(e.registration_metadata??{}).response_types,o=Array.isArray(a)&&a.every(e=>typeof e==`string`)?a:void 0;return{client_id:e.client_id,client_name:e.name,client_id_issued_at:Math.floor(new Date(e.created_at).getTime()/1e3),client_secret_expires_at:0,registration_client_uri:t.registration_client_uri,client_secret:t.include_client_secret&&t.client_secret?t.client_secret:void 0,registration_access_token:t.registration_access_token,redirect_uris:e.callbacks&&e.callbacks.length>0?e.callbacks:void 0,grant_types:e.grant_types&&e.grant_types.length>0?e.grant_types:void 0,response_types:o,token_endpoint_auth_method:e.token_endpoint_auth_method,logo_uri:e.logo_uri,client_uri:j2(n,`client_uri`),tos_uri:j2(n,`tos_uri`),policy_uri:j2(n,`policy_uri`),jwks_uri:j2(n,`jwks_uri`),software_id:j2(n,`software_id`),software_version:j2(n,`software_version`),scope:j2(n,`scope`),contacts:i}}function N2(e){if(!e)return;let t=e.iat_constraints;return Pa(t)?t:void 0}function P2(e){if(e)for(let t of e)try{let e=new URL(t);if(!e.protocol||!e.host)throw new B(400,{error:`invalid_redirect_uri`,error_description:`Invalid redirect_uri: ${t}`})}catch{throw new B(400,{error:`invalid_redirect_uri`,error_description:`Invalid redirect_uri: ${t}`})}}function F2(e,t){if(!(!e||!t||t.length===0)){for(let n of e)if(!t.includes(n))throw new B(400,{error:`invalid_client_metadata`,error_description:`grant_type "${n}" is not allowed for this tenant`})}}async function I2(e,t,n){if(!t){if(n)throw new B(400,{error:`invalid_client_metadata`,error_description:`scope requires audience`});return null}let{resource_servers:r}=await e.env.data.resourceServers.list(e.var.tenant_id),i=r.find(e=>e.identifier===t);if(!i)throw new B(400,{error:`invalid_client_metadata`,error_description:`Unknown audience: ${t}`});let a=n?n.split(/\s+/).filter(Boolean):[];if(a.length>0){let e=new Set((i.scopes??[]).map(e=>e.value)),t=a.filter(t=>!e.has(t));if(t.length>0)throw new B(400,{error:`invalid_scope`,error_description:`Scope(s) not defined on the resource server: ${t.join(`, `)}`})}return{audience:t,scopes:a}}var L2=new f.OpenAPIHono().openapi((0,f.createRoute)({tags:[`oidc-register`],method:`post`,path:`/`,request:{body:{content:{"application/json":{schema:E2}}}},responses:{201:{content:{"application/json":{schema:D2}},description:`Client registered`}}}),async e=>{let t=await YK(e);XK(t);let n=await QK(e,t),r=e.req.valid(`json`),i=T2(n?.constraints,r);if(!i.ok)throw new B(400,{error:`invalid_client_metadata`,error_description:`Field "${i.violation?.field}" conflicts with Initial Access Token constraint`});let a=E2.safeParse(i.filled);if(!a.success)throw new B(400,{error:`invalid_client_metadata`,error_description:`Merged request (with IAT constraints applied) is not valid RFC 7591 metadata`});let o=a.data;if(o.grant_types?.some(e=>e===`authorization_code`||e===`implicit`)&&(!o.redirect_uris||o.redirect_uris.length===0))throw new B(400,{error:`invalid_redirect_uri`,error_description:`redirect_uris is required for authorization_code and implicit grant types`});P2(o.redirect_uris),F2(o.grant_types,t.flags?.dcr_allowed_grant_types);let s=await I2(e,o.audience,o.scope),{clientFields:c,extraMetadata:l}=A2(o),u=tq(),d=nq(),f=await WK(),p={...l};delete p.iat_constraints,n?.constraints&&(p.iat_constraints=n.constraints);let m={client_id:u,name:c.name??`Client ${u.slice(0,8)}`,client_secret:d,callbacks:c.callbacks??[],grant_types:c.grant_types??[`authorization_code`],token_endpoint_auth_method:c.token_endpoint_auth_method??`client_secret_basic`,logo_uri:c.logo_uri,client_metadata:c.client_metadata,owner_user_id:n?.sub,registration_type:n?`iat_dcr`:`open_dcr`,registration_metadata:p,auth0_conformant:!1},h;if(await e.env.data.transaction(async t=>{let r=ZK(t);if(n&&!await r.markUsed(e.var.tenant_id,n.id,new Date().toISOString()))throw new B(401,{error:`invalid_token`,error_description:`Initial access token already used`});h=await t.clients.create(e.var.tenant_id,m),s&&await t.clientGrants.create(e.var.tenant_id,{client_id:u,audience:s.audience,scope:s.scopes}),await r.create(e.var.tenant_id,{id:f.id,token_hash:f.token_hash,type:`rat`,client_id:u,single_use:!1})}),!h)throw new B(500,{error:`server_error`,error_description:`Failed to create client`});let g=JK(e,u),_=M2(h,{client_secret:d,registration_access_token:f.token,registration_client_uri:g,include_client_secret:!0});return await P(e,e.var.tenant_id,{type:M.SUCCESS_API_OPERATION,description:`Dynamic Client Registration`,targetType:`client`,targetId:u}),e.json(_,{status:201})}).openapi((0,f.createRoute)({tags:[`oidc-register`],method:`get`,path:`/{client_id}`,request:{params:f.z.object({client_id:f.z.string()})},responses:{200:{content:{"application/json":{schema:D2}},description:`Client configuration`}}}),async e=>{XK(await YK(e));let{client_id:t}=e.req.valid(`param`);await $K(e,t);let n=await e.env.data.clients.get(e.var.tenant_id,t);if(!n||eq(n))throw new B(401,{error:`invalid_token`,error_description:`Client not found`});let r=M2(n,{registration_client_uri:JK(e,t),include_client_secret:!1});return e.json(r)}).openapi((0,f.createRoute)({tags:[`oidc-register`],method:`put`,path:`/{client_id}`,request:{params:f.z.object({client_id:f.z.string()}),body:{content:{"application/json":{schema:E2}}}},responses:{200:{content:{"application/json":{schema:D2}},description:`Updated client configuration`}}}),async e=>{let t=await YK(e);XK(t);let{client_id:n}=e.req.valid(`param`);await $K(e,n);let r=await e.env.data.clients.get(e.var.tenant_id,n);if(!r||eq(r))throw new B(401,{error:`invalid_token`,error_description:`Client not found`});let i=e.req.valid(`json`);if(i.client_id!==void 0&&i.client_id!==n)throw new B(400,{error:`invalid_client_metadata`,error_description:`client_id in body does not match URL`});let a=N2(r.registration_metadata);if(a){let e=T2(a,i);if(!e.ok)throw new B(400,{error:`invalid_client_metadata`,error_description:`Field "${e.violation?.field}" was bound at registration time and cannot be changed`})}P2(i.redirect_uris),F2(i.grant_types,t.flags?.dcr_allowed_grant_types);let{clientFields:o,extraMetadata:s}=A2(i),c={...s};a&&(c.iat_constraints=a);let l={name:o.name??`Client ${n.slice(0,8)}`,callbacks:o.callbacks??[],grant_types:o.grant_types??[`authorization_code`],token_endpoint_auth_method:o.token_endpoint_auth_method??`client_secret_basic`,logo_uri:o.logo_uri,client_metadata:o.client_metadata??{},registration_metadata:c};if(!await e.env.data.clients.update(e.var.tenant_id,n,l))throw new B(500,{error:`server_error`,error_description:`Failed to update client`});let u=await e.env.data.clients.get(e.var.tenant_id,n);if(!u)throw new B(500,{error:`server_error`,error_description:`Failed to read back updated client`});await P(e,e.var.tenant_id,{type:M.SUCCESS_API_OPERATION,description:`RFC 7592 Client Update`,targetType:`client`,targetId:n});let d=M2(u,{registration_client_uri:JK(e,n),include_client_secret:!1});return e.json(d)}).openapi((0,f.createRoute)({tags:[`oidc-register`],method:`delete`,path:`/{client_id}`,request:{params:f.z.object({client_id:f.z.string()})},responses:{204:{description:`Client deleted`}}}),async e=>{XK(await YK(e));let{client_id:t}=e.req.valid(`param`);await $K(e,t);let n=await e.env.data.clients.get(e.var.tenant_id,t);if(!n||eq(n))throw new B(401,{error:`invalid_token`,error_description:`Client not found`});let r={...n.client_metadata??{},status:`deleted`},i=await e.env.data.clientGrants.list(e.var.tenant_id,{q:`client_id:"${t}"`});return await e.env.data.transaction(async n=>{await n.clients.update(e.var.tenant_id,t,{client_metadata:r});for(let t of i.client_grants)t.id&&await n.clientGrants.remove(e.var.tenant_id,t.id);await ZK(n).revokeByClient(e.var.tenant_id,t,new Date().toISOString())}),await P(e,e.var.tenant_id,{type:M.SUCCESS_API_OPERATION,description:`RFC 7592 Client Delete`,targetType:`client`,targetId:t}),e.body(null,204)}),R2=new Set([`localhost`,`127.0.0.1`,`[::1]`]);function z2(e,t=[]){let n;try{n=new URL(e)}catch{return{ok:!1,reason:`not a valid URL`}}if(n.protocol!==`http:`&&n.protocol!==`https:`)return{ok:!1,reason:`scheme must be http or https`};let r=n.hostname.replace(/\.$/,``);if(!r)return{ok:!1,reason:`missing host`};if(r===`0.0.0.0`||r===`[::]`)return{ok:!1,reason:`unspecified address is not a valid origin`};let i=n.port?`:${n.port}`:``,a=`${n.protocol}//${r}${i}`;return n.protocol===`https:`?{ok:!0,origin:a,isLoopback:!1,isAllowlisted:!1,isHttp:!1}:R2.has(r)?{ok:!0,origin:a,isLoopback:!0,isAllowlisted:!1,isHttp:!0}:t.map(e=>e.toLowerCase()).includes(a)?{ok:!0,origin:a,isLoopback:!1,isAllowlisted:!0,isHttp:!0}:{ok:!1,reason:`http origin requires loopback or tenant allowlist`}}var B2=1800,V2=F({route:(0,f.createRoute)({tags:[`connect`],method:`get`,path:`/`,request:{query:f.z.object({integration_type:f.z.string().min(1).optional().openapi({description:`Optional caller-defined integration label. Surfaced on the consent screen and stored on the resulting client's IAT constraints. No validation beyond non-empty string.`}),domain:f.z.string().min(1).openapi({description:`The domain that will host the integration (origin must match return_to)`}),return_to:f.z.string().url().openapi({description:`Where the browser is redirected after consent (success or cancel)`}),state:f.z.string().min(1).openapi({description:`Caller-supplied CSRF token round-tripped on the redirect`}),scope:f.z.string().optional().openapi({description:`Optional space-separated scope list pre-bound to the IAT`}),audience:f.z.string().optional().openapi({description:"Optional API identifier the registered client should be granted access to. When set, the resulting client receives a `client_grants` row binding (client_id, audience, scope[]) so it can mint access tokens for that API via client_credentials."})})},responses:{302:{description:`Redirect to /u2/connect/start with a fresh login_session id`,headers:f.z.object({Location:f.z.string()})},400:{description:`Invalid request`,content:{"application/json":{schema:f.z.object({})}}},404:{description:`DCR / consent flow not enabled for this tenant`,content:{"application/json":{schema:f.z.object({})}}}}}),handler:async e=>{let t=e.var.tenant_id,n=await e.env.data.tenants.get(t);if(!n)throw new B(404,{error:`invalid_request`,error_description:`Tenant not found`});if(!n.flags?.enable_dynamic_client_registration)throw new B(404,{error:`invalid_request`,error_description:`Dynamic Client Registration is not enabled`});let{integration_type:r,domain:i,return_to:a,state:o,scope:s,audience:c}=e.req.valid(`query`);if(c){let{resource_servers:n}=await e.env.data.resourceServers.list(t),r=n.find(e=>e.identifier===c);if(!r)throw new B(400,{error:`invalid_request`,error_description:`Unknown audience: ${c}`});if(s){let e=new Set((r.scopes??[]).map(e=>e.value)),t=s.split(/\s+/).filter(Boolean).filter(t=>!e.has(t));if(t.length>0)throw new B(400,{error:`invalid_scope`,error_description:`Scope(s) not defined on the resource server: ${t.join(`, `)}`})}}else if(s)throw new B(400,{error:`invalid_request`,error_description:`scope requires audience`});let l=n.flags?.allow_http_return_to??[],u=z2(/^https?:\/\//i.test(i)?i:`https://${i}`,l);if(!u.ok)throw new B(400,{error:`invalid_request`,error_description:`domain: ${u.reason}`});let d=z2(a,l);if(!d.ok)throw new B(400,{error:`invalid_request`,error_description:`return_to: ${d.reason}`});if(d.origin!==u.origin)throw new B(400,{error:`invalid_request`,error_description:`return_to origin must match domain`});let f=n.default_client_id?await e.env.data.clients.get(t,n.default_client_id):null;if(!f){let{clients:n}=await e.env.data.clients.list(t);f=n[0]??null}if(!f)throw new B(400,{error:`invalid_request`,error_description:`No clients configured for this tenant`});let p=new Date(Date.now()+B2*1e3).toISOString(),m=await e.env.data.loginSessions.create(t,{expires_at:p,authParams:{client_id:f.client_id,state:o},csrf_token:Mo(),ip:e.var.ip,useragent:e.var.useragent,state_data:JSON.stringify({connect:{integration_type:r,domain:i,return_to:a,scope:s,audience:c,caller_state:o,is_local_dev:d.isLoopback||d.isAllowlisted}})});return e.redirect(`/u2/connect/start?state=${encodeURIComponent(m.id)}`,302)}}),H2=new f.OpenAPIHono().openapiRoutes([V2]),U2=new f.OpenAPIHono().get(`/:initials`,e=>{let t=e.req.param(`initials`).replace(/\.svg$/i,``),n=e.req.query(`bg`)??``;return e.body(Rne(t,n),200,{"content-type":`image/svg+xml; charset=utf-8`,"cache-control":`public, max-age=86400, immutable`})}),W2=[`create`,`update`,`remove`,`delete`,`set`,`used`,`add`];function G2(e){return W2.some(t=>e.startsWith(t))}function K2(e,t,n){try{return`${e}:${t}:${JSON.stringify(n)}`}catch{return``}}function q2(e,t){let n=t.dedup??new Map,r=new Set(t.dedupEntities),i={};for(let[t,a]of Object.entries(e)){if(a==null)continue;if(typeof a==`function`){i[t]=a;continue}if(!r.has(t)){i[t]=a;continue}let e={},o=a;for(let r of LL(o)){let i=o[r];if(typeof i!=`function`){e[r]=i;continue}if(G2(r)){e[r]=async(...e)=>{let r=await i.apply(a,e);for(let e of n.keys())e.startsWith(`${t}:`)&&n.delete(e);return r};continue}e[r]=(...e)=>{let o=K2(t,r,e);if(!o)return i.apply(a,e);let s=n.get(o);if(s)return s;let c=(async()=>{try{return await i.apply(a,e)}catch(e){throw n.delete(o),e}})();return n.set(o,c),c}}i[t]=e}return i}function J2(e,t,n,r={}){let i=null,a,o;function s(t){try{e.executionCtx.waitUntil(t)}catch{}}function c(){let c=e.var.tenant_id,l=e.var.client_id;return!c||!l?null:(i&&(a!==c||o!==l)&&(i=null),i||=(a=c,o=l,FG(t,n,c,l,{...r,scheduleRefresh:s})),i)}return{...t,tenants:{...t.tenants,get:async n=>{if(n===e.var.tenant_id){let e=await c();if(e)return e.tenant}return t.tenants.get(n)}},clients:{...t.clients,get:async(n,r)=>{if(n===e.var.tenant_id&&r===e.var.client_id){let e=await c();if(e)return e.client}return t.clients.get(n,r)},getByClientId:async n=>{if(n===e.var.client_id&&e.var.tenant_id){let t=await c();if(t&&t.client)return{...t.client,tenant_id:e.var.tenant_id}}return t.clients.getByClientId(n)}},connections:{...t.connections,list:async(n,r)=>{if(n===e.var.tenant_id&&!r){let e=await c();if(e)return e.connections}return t.connections.list(n,r)}},clientConnections:{...t.clientConnections,listByClient:async(n,r)=>{if(n===e.var.tenant_id&&r===e.var.client_id){let e=await c();if(e)return e.clientConnections}return t.clientConnections.listByClient(n,r)}},branding:{...t.branding,get:async n=>{if(n===e.var.tenant_id){let e=await c();if(e)return e.branding}return t.branding.get(n)}},resourceServers:{...t.resourceServers,list:async(n,r)=>{if(n===e.var.tenant_id&&!r){let e=await c();if(e)return e.resourceServers}return t.resourceServers.list(n,r)}},promptSettings:{...t.promptSettings,get:async n=>{if(n===e.var.tenant_id){let e=await c();if(e&&e.promptSettings)return e.promptSettings}return t.promptSettings.get(n)}},themes:{...t.themes,get:async(n,r)=>{if(n===e.var.tenant_id&&r==="default"){let e=await c();if(e)return e.defaultTheme}return t.themes.get(n,r)}},hooks:{...t.hooks,list:async(n,r)=>{if(n===e.var.tenant_id&&!r){let e=await c();if(e)return e.hooks}return t.hooks.list(n,r)}}}}function Y2(e){let{ctx:t,rawData:n,cacheAdapter:r,defaultTtl:i,nonBundleEntities:a}=e,o=aP(t,KL(t,n)),s=GL(t,r);return J2(t,RG(q2(AG(o,{defaultTtl:i,cacheEntities:a,cache:s}),{dedupEntities:[...NG,...a]}),s),s)}function X2(e){let t=new f.OpenAPIHono;t.use(yG(e)),t.use(UL),t.use(BY({getOutbox:()=>e.dataAdapter.outbox,getDestinations:t=>[new HY(e.dataAdapter.logs),...e.dataAdapter.logStreams?[new qY(e.dataAdapter.logStreams)]:[],new ZY(e.dataAdapter.hooks,PL({tenants:t.env.data.tenants,keys:t.env.data.keys,issuer:Fa(t.env,t.var.custom_domain)}),{webhookInvoker:t.env.webhookInvoker}),new $Y(e.dataAdapter.users)]})),t.use(async(t,n)=>{let r=e.dataAdapter.cache||JG({defaultTtlSeconds:0,maxEntries:100,cleanupIntervalMs:0});return t.env.data=Y2({ctx:t,rawData:e.dataAdapter,cacheAdapter:r,defaultTtl:e.dataAdapter.cache?300:0,nonBundleEntities:[`clients`,`customDomains`,`forms`,`roles`,`organizations`,`userRoles`,`userPermissions`,`keys`]}),n()});let n=Y$({origin:e=>e||``,allowHeaders:[`Tenant-Id`,`Content-Type`,`Auth0-Client`,`Upgrade-Insecure-Requests`],allowMethods:[`POST`],maxAge:600});t.use(`/oauth/token`,n),t.use(`/oauth/revoke`,n),t.use(TG).use(SG).use(lW(t));let r=t.route(`/v2/logout`,h1).route(`/oidc/logout`,y1).route(`/userinfo`,O1).route(`/.well-known`,P1).route(`/oauth/token`,j0).route(`/oauth/revoke`,P0).route(`/dbconnections`,L0).route(`/passwordless`,B0).route(`/co/authenticate`,H0).route(`/authorize`,x2).route(`/account`,C2).route(`/oidc/register`,L2).route(`/connect/start`,H2).route(`/callback`,u1).route(`/login/callback`,d1).route(`/avatars`,U2);return r.doc(`/spec`,{openapi:`3.0.0`,info:{version:`1.0.0`,title:`Oauth API`},security:[{oauth2:[`openid`,`email`,`profile`]}]}),sU(r),r}async function Z2(e,t,n=!1){let{env:r}=e,i=await r.data.loginSessions.get(e.var.tenant_id||``,t);if(!i)throw new m(400,{message:`Login session not found`});e.set(`loginSession`,i);let a=i.authParams.client_id;a&&!WM(a)&&await X$(e,{client_id:a,tenant_id:e.var.tenant_id}).catch(()=>{});let o=await BN(r,i.authParams.client_id,e.var.tenant_id,zM(r));e.set(`client_id`,o.client_id),Z$(e,o.tenant.id);let s=o.tenant;if(i.session_id&&!n){if(!i.authParams.redirect_uri)throw new m(400,{message:`Login session closed and no redirect URI available`});let e=new URL(i.authParams.redirect_uri);throw e.searchParams.set(`error`,`access_denied`),e.searchParams.set(`error_description`,`Login session closed`),i.authParams.state&&e.searchParams.set(`state`,i.authParams.state),new a0(e.toString(),302)}let[c,l]=await Promise.all([r.data.themes.get(s.id,`default`),r.data.branding.get(s.id)]),u=c??Zo,d=l?{...l,favicon_url:e.var.custom_domain?l.favicon_url:void 0}:null,f=i.authParams?.ui_locales?.split(` `)?.map(e=>e.split(`-`)[0])?.find(e=>{if(Array.isArray(k.options.supportedLngs))return k.options.supportedLngs.includes(e)});return await k.changeLanguage(f||`en`),{theme:u,branding:d,client:o,tenant:s,loginSession:i}}async function Q2(e,t,n){let{theme:r,branding:i,client:a,tenant:o,loginSession:s}=await Z2(e,t,!0),c=wN(a.tenant.id,e.req.header(`cookie`)),l=c?await e.env.data.sessions.get(a.tenant.id,c):null;if(n?.continuationScope&&EL(s,n.continuationScope)){if(!s.user_id)throw new a0(`/u/login/identifier?state=${encodeURIComponent(t)}`);let n=await e.env.data.users.get(a.tenant.id,s.user_id);if(!n)throw new a0(`/u/login/identifier?state=${encodeURIComponent(t)}`);return{theme:r,branding:i,client:a,user:n,tenant:o,loginSession:s,session:s.session_id?await e.env.data.sessions.get(a.tenant.id,s.session_id):null,isContinuation:!0}}if(!l||l.revoked_at||!s.session_id)throw new a0(`/u/login/identifier?state=${encodeURIComponent(t)}`);let u=await e.env.data.sessions.get(a.tenant.id,s.session_id),d=await e.env.data.users.get(a.tenant.id,l.user_id);if(!d||u?.user_id!==l.user_id)throw new a0(`/u/login/identifier?state=${encodeURIComponent(t)}`);return{theme:r,branding:i,client:a,user:d,tenant:o,loginSession:s,session:u,isContinuation:!1}}var $2={[N.USERNAME_PASSWORD]:`password`,[N.EMAIL]:`email`,[N.SMS]:`sms`};function e4(e){return Ca(e)?`password`:e?$2[e]:void 0}async function t4(e,t,n,r,i){if(r===`username`||i===`password`)return`password`;if(i===`code`)return r===`sms`?`sms`:`email`;let a=e4((r===`email`?await Eg({userAdapter:e.env.data.users,tenant_id:t.tenant.id,email:n}):r===`sms`?await Og({userAdapter:e.env.data.users,tenant_id:t.tenant.id,username:n,provider:`sms`}):await hb({env:e.env,tenant_id:t.tenant.id,username:n}))?.app_metadata?.strategy);if(a)return a;let o=t.connections.map(e=>e4(e.strategy)).filter(e=>e!==void 0);return o.length===1&&o[0]?o[0]:(await e.env.data.promptSettings.get(t.tenant.id)).password_first&&o.includes(`password`)?`password`:r===`sms`?`sms`:`email`}var n4=({theme:e,branding:t})=>{let n=e?.widget?.logo_url||t?.logo_url;return n?z(`div`,{className:`inline-flex h-9 items-center`,children:z(`img`,{src:n,className:`h-full w-auto`,alt:`Logo`})}):z(hh,{})},r4=e=>z(`div`,{className:`mt-8`,children:e.client?.client_metadata?.termsAndConditionsUrl&&z(`div`,{className:`text-xs text-gray-300`,children:[k.t(`agree_to`),` `,z(`a`,{href:e.client.client_metadata.termsAndConditionsUrl,className:`text-primary hover:underline`,target:`_blank`,rel:`noreferrer`,children:k.t(`terms`)})]})}),i4=u(s(((e,t)=>{(function(){"use strict";var e={}.hasOwnProperty;function n(){for(var e=``,t=0;t<arguments.length;t++){var n=arguments[t];n&&(e=i(e,r(n)))}return e}function r(t){if(typeof t==`string`||typeof t==`number`)return t;if(typeof t!=`object`)return``;if(Array.isArray(t))return n.apply(null,t);if(t.toString!==Object.prototype.toString&&!t.toString.toString().includes(`[native code]`))return t.toString();var r=``;for(var a in t)e.call(t,a)&&t[a]&&(r=i(r,a));return r}function i(e,t){return t?e?e+` `+t:e+t:e}t!==void 0&&t.exports?(n.default=n,t.exports=n):typeof define==`function`&&typeof define.amd==`object`&&define.amd?define(`classnames`,[],function(){return n}):window.classNames=n})()}))()),a4=e=>e===`small`?`text-base`:e===`medium`?`text-2xl`:e===`large`?`text-3xl`:``,o4=({name:e,size:t,className:n=``})=>{let r=a4(t);return z(`span`,{className:(0,i4.default)(`uicon-${e}`,n,r)})};function s4(e){let t=e.replace(`#`,``),n=parseInt(t,16);return[n>>16&255,n>>8&255,n&255]}function c4(e,t,n){return`#${(e<<16|t<<8|n).toString(16).padStart(6,`0`)}`}var l4=(e,t)=>{let[n,r,i]=s4(e);return c4(Math.min(255,Math.round(n+(255-n)*t)),Math.min(255,Math.round(r+(255-r)*t)),Math.min(255,Math.round(i+(255-i)*t)))};function u4(e){let[t,n,r]=s4(e).map(e=>{let t=e/255;return t<=.04045?t/12.92:((t+.055)/1.055)**2.4});return .2126*t+.7152*n+.0722*r}function d4(e,t){let n=u4(e),r=u4(t),i=Math.max(n,r),a=Math.min(n,r);return(i+.05)/(a+.05)}function f4(e,t=`light`){let n=d4(e,`#ffffff`),r=d4(e,`#000000`),i=1.35;return t===`light`?r>n*i?`#000000`:`#ffffff`:r*i>n?`#000000`:`#ffffff`}var p4=(e,t)=>{let n=e?.colors?.primary_button||t?.colors?.primary||`#000000`,r=e?.colors?.base_hover_color||l4(n,.2),i=e?.colors?.primary_button_label,a=i||f4(n,`light`),o=i||f4(n,`dark`);return`
|
|
3072
3072
|
body {
|
|
3073
3073
|
--primary-color: ${n};
|
|
3074
3074
|
--primary-hover: ${r};
|