@canton-network/wallet-gateway-remote 0.22.0 → 0.23.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/auth/jwt-auth-service.d.ts.map +1 -1
- package/dist/auth/jwt-auth-service.js +23 -3
- package/dist/auth/jwt-unsafe-auth-service.d.ts.map +1 -1
- package/dist/auth/jwt-unsafe-auth-service.js +7 -1
- package/dist/config/Config.test.js +1 -1
- package/dist/dapp-api/controller.d.ts.map +1 -1
- package/dist/dapp-api/controller.js +5 -9
- package/dist/dapp-api/rpc-gen/typings.d.ts +32 -5
- package/dist/dapp-api/rpc-gen/typings.d.ts.map +1 -1
- package/dist/example-config.js +2 -2
- package/dist/ledger/wallet-allocation/signing-providers/blockdaemon-wallet-allocator.d.ts.map +1 -1
- package/dist/ledger/wallet-allocation/signing-providers/blockdaemon-wallet-allocator.js +1 -0
- package/dist/ledger/wallet-allocation/signing-providers/fireblocks-wallet-allocator.d.ts.map +1 -1
- package/dist/ledger/wallet-allocation/signing-providers/fireblocks-wallet-allocator.js +1 -0
- package/dist/ledger/wallet-allocation/signing-providers/kernel-wallet-allocator.d.ts.map +1 -1
- package/dist/ledger/wallet-allocation/signing-providers/kernel-wallet-allocator.js +1 -0
- package/dist/ledger/wallet-allocation/signing-providers/participant-wallet-allocator.d.ts.map +1 -1
- package/dist/ledger/wallet-allocation/signing-providers/participant-wallet-allocator.js +1 -0
- package/dist/ledger/wallet-allocation/wallet-allocation-service.d.ts +2 -2
- package/dist/ledger/wallet-allocation/wallet-allocation-service.d.ts.map +1 -1
- package/dist/ledger/wallet-allocation/wallet-allocation-service.js +10 -4
- package/dist/ledger/wallet-allocation/wallet-allocation-service.test.js +13 -12
- package/dist/ledger/wallet-sync-service.d.ts +4 -1
- package/dist/ledger/wallet-sync-service.d.ts.map +1 -1
- package/dist/ledger/wallet-sync-service.js +97 -18
- package/dist/ledger/wallet-sync-service.test.js +79 -0
- package/dist/user-api/controller.d.ts.map +1 -1
- package/dist/user-api/controller.js +57 -11
- package/dist/user-api/rpc-gen/typings.d.ts +11 -0
- package/dist/user-api/rpc-gen/typings.d.ts.map +1 -1
- package/dist/web/frontend/404/index.html +2 -2
- package/dist/web/frontend/approve/index.html +5 -4
- package/dist/web/frontend/assets/404-CwWne4gl.js +8 -0
- package/dist/web/frontend/assets/approve-sXtkk0nx.js +20 -0
- package/dist/web/frontend/assets/{callback-D_VLeaX-.js → callback-5r0xYoAY.js} +1 -1
- package/dist/web/frontend/assets/index-BY0dSIJ0.js +1698 -0
- package/dist/web/frontend/assets/index-C4_-rNJw.js +1 -0
- package/dist/web/frontend/assets/login-DwOvzCWW.js +7 -0
- package/dist/web/frontend/assets/settings-lXZlQ6-V.js +37 -0
- package/dist/web/frontend/assets/{state-PjJJ3Anb.js → state-Zh2baU_h.js} +1 -1
- package/dist/web/frontend/assets/{transactions-DGdh8VAO.js → transactions-gLP4M5t0.js} +3 -3
- package/dist/web/frontend/assets/{utils-D5kQDwtZ.js → utils-CI12TM_E.js} +1 -1
- package/dist/web/frontend/assets/{wallets-CjjRt-cQ.js → wallets-Cmwexted.js} +2 -2
- package/dist/web/frontend/callback/index.html +2 -2
- package/dist/web/frontend/index.html +1 -1
- package/dist/web/frontend/login/index.html +4 -3
- package/dist/web/frontend/settings/index.html +3 -3
- package/dist/web/frontend/transactions/index.html +4 -4
- package/dist/web/frontend/wallets/index.html +4 -4
- package/package.json +20 -20
- package/dist/web/frontend/assets/404-DzH9sSlT.js +0 -8
- package/dist/web/frontend/assets/approve-Duv1K5LE.js +0 -17
- package/dist/web/frontend/assets/index-Bj5VTWmh.js +0 -1686
- package/dist/web/frontend/assets/login-B-jF6DLr.js +0 -7
- package/dist/web/frontend/assets/settings-DZpeOwSh.js +0 -37
|
@@ -0,0 +1,1698 @@
|
|
|
1
|
+
(function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const n of document.querySelectorAll('link[rel="modulepreload"]'))o(n);new MutationObserver(n=>{for(const i of n)if(i.type==="childList")for(const a of i.addedNodes)a.tagName==="LINK"&&a.rel==="modulepreload"&&o(a)}).observe(document,{childList:!0,subtree:!0});function r(n){const i={};return n.integrity&&(i.integrity=n.integrity),n.referrerPolicy&&(i.referrerPolicy=n.referrerPolicy),n.crossOrigin==="use-credentials"?i.credentials="include":n.crossOrigin==="anonymous"?i.credentials="omit":i.credentials="same-origin",i}function o(n){if(n.ep)return;n.ep=!0;const i=r(n);fetch(n.href,i)}})();const Ht=globalThis,wo=Ht.ShadowRoot&&(Ht.ShadyCSS===void 0||Ht.ShadyCSS.nativeShadow)&&"adoptedStyleSheets"in Document.prototype&&"replace"in CSSStyleSheet.prototype,xo=Symbol(),nn=new WeakMap;let yo=class{constructor(t,r,o){if(this._$cssResult$=!0,o!==xo)throw Error("CSSResult is not constructable. Use `unsafeCSS` or `css` instead.");this.cssText=t,this.t=r}get styleSheet(){let t=this.o;const r=this.t;if(wo&&t===void 0){const o=r!==void 0&&r.length===1;o&&(t=nn.get(r)),t===void 0&&((this.o=t=new CSSStyleSheet).replaceSync(this.cssText),o&&nn.set(r,t))}return t}toString(){return this.cssText}};const vr=e=>new yo(typeof e=="string"?e:e+"",void 0,xo),K=(e,...t)=>{const r=e.length===1?e[0]:t.reduce((o,n,i)=>o+(a=>{if(a._$cssResult$===!0)return a.cssText;if(typeof a=="number")return a;throw Error("Value passed to 'css' function must be a 'css' function result: "+a+". Use 'unsafeCSS' to pass non-literal values, but take care to ensure page security.")})(n)+e[i+1],e[0]);return new yo(r,e,xo)},zs=(e,t)=>{if(wo)e.adoptedStyleSheets=t.map(r=>r instanceof CSSStyleSheet?r:r.styleSheet);else for(const r of t){const o=document.createElement("style"),n=Ht.litNonce;n!==void 0&&o.setAttribute("nonce",n),o.textContent=r.cssText,e.appendChild(o)}},an=wo?e=>e:e=>e instanceof CSSStyleSheet?(t=>{let r="";for(const o of t.cssRules)r+=o.cssText;return vr(r)})(e):e;const{is:As,defineProperty:Ss,getOwnPropertyDescriptor:$s,getOwnPropertyNames:Es,getOwnPropertySymbols:Os,getPrototypeOf:Is}=Object,Tr=globalThis,sn=Tr.trustedTypes,js=sn?sn.emptyScript:"",Ps=Tr.reactiveElementPolyfillSupport,ht=(e,t)=>e,no={toAttribute(e,t){switch(t){case Boolean:e=e?js:null;break;case Object:case Array:e=e==null?e:JSON.stringify(e)}return e},fromAttribute(e,t){let r=e;switch(t){case Boolean:r=e!==null;break;case Number:r=e===null?null:Number(e);break;case Object:case Array:try{r=JSON.parse(e)}catch{r=null}}return r}},ui=(e,t)=>!As(e,t),ln={attribute:!0,type:String,converter:no,reflect:!1,useDefault:!1,hasChanged:ui};Symbol.metadata??=Symbol("metadata"),Tr.litPropertyMetadata??=new WeakMap;let Fe=class extends HTMLElement{static addInitializer(t){this._$Ei(),(this.l??=[]).push(t)}static get observedAttributes(){return this.finalize(),this._$Eh&&[...this._$Eh.keys()]}static createProperty(t,r=ln){if(r.state&&(r.attribute=!1),this._$Ei(),this.prototype.hasOwnProperty(t)&&((r=Object.create(r)).wrapped=!0),this.elementProperties.set(t,r),!r.noAccessor){const o=Symbol(),n=this.getPropertyDescriptor(t,o,r);n!==void 0&&Ss(this.prototype,t,n)}}static getPropertyDescriptor(t,r,o){const{get:n,set:i}=$s(this.prototype,t)??{get(){return this[r]},set(a){this[r]=a}};return{get:n,set(a){const s=n?.call(this);i?.call(this,a),this.requestUpdate(t,s,o)},configurable:!0,enumerable:!0}}static getPropertyOptions(t){return this.elementProperties.get(t)??ln}static _$Ei(){if(this.hasOwnProperty(ht("elementProperties")))return;const t=Is(this);t.finalize(),t.l!==void 0&&(this.l=[...t.l]),this.elementProperties=new Map(t.elementProperties)}static finalize(){if(this.hasOwnProperty(ht("finalized")))return;if(this.finalized=!0,this._$Ei(),this.hasOwnProperty(ht("properties"))){const r=this.properties,o=[...Es(r),...Os(r)];for(const n of o)this.createProperty(n,r[n])}const t=this[Symbol.metadata];if(t!==null){const r=litPropertyMetadata.get(t);if(r!==void 0)for(const[o,n]of r)this.elementProperties.set(o,n)}this._$Eh=new Map;for(const[r,o]of this.elementProperties){const n=this._$Eu(r,o);n!==void 0&&this._$Eh.set(n,r)}this.elementStyles=this.finalizeStyles(this.styles)}static finalizeStyles(t){const r=[];if(Array.isArray(t)){const o=new Set(t.flat(1/0).reverse());for(const n of o)r.unshift(an(n))}else t!==void 0&&r.push(an(t));return r}static _$Eu(t,r){const o=r.attribute;return o===!1?void 0:typeof o=="string"?o:typeof t=="string"?t.toLowerCase():void 0}constructor(){super(),this._$Ep=void 0,this.isUpdatePending=!1,this.hasUpdated=!1,this._$Em=null,this._$Ev()}_$Ev(){this._$ES=new Promise(t=>this.enableUpdating=t),this._$AL=new Map,this._$E_(),this.requestUpdate(),this.constructor.l?.forEach(t=>t(this))}addController(t){(this._$EO??=new Set).add(t),this.renderRoot!==void 0&&this.isConnected&&t.hostConnected?.()}removeController(t){this._$EO?.delete(t)}_$E_(){const t=new Map,r=this.constructor.elementProperties;for(const o of r.keys())this.hasOwnProperty(o)&&(t.set(o,this[o]),delete this[o]);t.size>0&&(this._$Ep=t)}createRenderRoot(){const t=this.shadowRoot??this.attachShadow(this.constructor.shadowRootOptions);return zs(t,this.constructor.elementStyles),t}connectedCallback(){this.renderRoot??=this.createRenderRoot(),this.enableUpdating(!0),this._$EO?.forEach(t=>t.hostConnected?.())}enableUpdating(t){}disconnectedCallback(){this._$EO?.forEach(t=>t.hostDisconnected?.())}attributeChangedCallback(t,r,o){this._$AK(t,o)}_$ET(t,r){const o=this.constructor.elementProperties.get(t),n=this.constructor._$Eu(t,o);if(n!==void 0&&o.reflect===!0){const i=(o.converter?.toAttribute!==void 0?o.converter:no).toAttribute(r,o.type);this._$Em=t,i==null?this.removeAttribute(n):this.setAttribute(n,i),this._$Em=null}}_$AK(t,r){const o=this.constructor,n=o._$Eh.get(t);if(n!==void 0&&this._$Em!==n){const i=o.getPropertyOptions(n),a=typeof i.converter=="function"?{fromAttribute:i.converter}:i.converter?.fromAttribute!==void 0?i.converter:no;this._$Em=n;const s=a.fromAttribute(r,i.type);this[n]=s??this._$Ej?.get(n)??s,this._$Em=null}}requestUpdate(t,r,o,n=!1,i){if(t!==void 0){const a=this.constructor;if(n===!1&&(i=this[t]),o??=a.getPropertyOptions(t),!((o.hasChanged??ui)(i,r)||o.useDefault&&o.reflect&&i===this._$Ej?.get(t)&&!this.hasAttribute(a._$Eu(t,o))))return;this.C(t,r,o)}this.isUpdatePending===!1&&(this._$ES=this._$EP())}C(t,r,{useDefault:o,reflect:n,wrapped:i},a){o&&!(this._$Ej??=new Map).has(t)&&(this._$Ej.set(t,a??r??this[t]),i!==!0||a!==void 0)||(this._$AL.has(t)||(this.hasUpdated||o||(r=void 0),this._$AL.set(t,r)),n===!0&&this._$Em!==t&&(this._$Eq??=new Set).add(t))}async _$EP(){this.isUpdatePending=!0;try{await this._$ES}catch(r){Promise.reject(r)}const t=this.scheduleUpdate();return t!=null&&await t,!this.isUpdatePending}scheduleUpdate(){return this.performUpdate()}performUpdate(){if(!this.isUpdatePending)return;if(!this.hasUpdated){if(this.renderRoot??=this.createRenderRoot(),this._$Ep){for(const[n,i]of this._$Ep)this[n]=i;this._$Ep=void 0}const o=this.constructor.elementProperties;if(o.size>0)for(const[n,i]of o){const{wrapped:a}=i,s=this[n];a!==!0||this._$AL.has(n)||s===void 0||this.C(n,void 0,i,s)}}let t=!1;const r=this._$AL;try{t=this.shouldUpdate(r),t?(this.willUpdate(r),this._$EO?.forEach(o=>o.hostUpdate?.()),this.update(r)):this._$EM()}catch(o){throw t=!1,this._$EM(),o}t&&this._$AE(r)}willUpdate(t){}_$AE(t){this._$EO?.forEach(r=>r.hostUpdated?.()),this.hasUpdated||(this.hasUpdated=!0,this.firstUpdated(t)),this.updated(t)}_$EM(){this._$AL=new Map,this.isUpdatePending=!1}get updateComplete(){return this.getUpdateComplete()}getUpdateComplete(){return this._$ES}shouldUpdate(t){return!0}update(t){this._$Eq&&=this._$Eq.forEach(r=>this._$ET(r,this[r])),this._$EM()}updated(t){}firstUpdated(t){}};Fe.elementStyles=[],Fe.shadowRootOptions={mode:"open"},Fe[ht("elementProperties")]=new Map,Fe[ht("finalized")]=new Map,Ps?.({ReactiveElement:Fe}),(Tr.reactiveElementVersions??=[]).push("2.1.2");const ko=globalThis,dn=e=>e,wr=ko.trustedTypes,cn=wr?wr.createPolicy("lit-html",{createHTML:e=>e}):void 0,gi="$lit$",ue=`lit$${Math.random().toFixed(9).slice(2)}$`,fi="?"+ue,Ts=`<${fi}>`,Ee=document,yt=()=>Ee.createComment(""),kt=e=>e===null||typeof e!="object"&&typeof e!="function",_o=Array.isArray,Cs=e=>_o(e)||typeof e?.[Symbol.iterator]=="function",qr=`[
|
|
2
|
+
\f\r]`,bt=/<(?:(!--|\/[^a-zA-Z])|(\/?[a-zA-Z][^>\s]*)|(\/?$))/g,pn=/-->/g,mn=/>/g,Ae=RegExp(`>|${qr}(?:([^\\s"'>=/]+)(${qr}*=${qr}*(?:[^
|
|
3
|
+
\f\r"'\`<>=]|("|')|))|$)`,"g"),bn=/'/g,un=/"/g,hi=/^(?:script|style|textarea|title)$/i,Zs=e=>(t,...r)=>({_$litType$:e,strings:t,values:r}),g=Zs(1),qe=Symbol.for("lit-noChange"),_=Symbol.for("lit-nothing"),gn=new WeakMap,Se=Ee.createTreeWalker(Ee,129);function vi(e,t){if(!_o(e)||!e.hasOwnProperty("raw"))throw Error("invalid template strings array");return cn!==void 0?cn.createHTML(t):t}const Ns=(e,t)=>{const r=e.length-1,o=[];let n,i=t===2?"<svg>":t===3?"<math>":"",a=bt;for(let s=0;s<r;s++){const l=e[s];let d,c,p=-1,u=0;for(;u<l.length&&(a.lastIndex=u,c=a.exec(l),c!==null);)u=a.lastIndex,a===bt?c[1]==="!--"?a=pn:c[1]!==void 0?a=mn:c[2]!==void 0?(hi.test(c[2])&&(n=RegExp("</"+c[2],"g")),a=Ae):c[3]!==void 0&&(a=Ae):a===Ae?c[0]===">"?(a=n??bt,p=-1):c[1]===void 0?p=-2:(p=a.lastIndex-c[2].length,d=c[1],a=c[3]===void 0?Ae:c[3]==='"'?un:bn):a===un||a===bn?a=Ae:a===pn||a===mn?a=bt:(a=Ae,n=void 0);const f=a===Ae&&e[s+1].startsWith("/>")?" ":"";i+=a===bt?l+Ts:p>=0?(o.push(d),l.slice(0,p)+gi+l.slice(p)+ue+f):l+ue+(p===-2?s:f)}return[vi(e,i+(e[r]||"<?>")+(t===2?"</svg>":t===3?"</math>":"")),o]};let io=class wi{constructor({strings:t,_$litType$:r},o){let n;this.parts=[];let i=0,a=0;const s=t.length-1,l=this.parts,[d,c]=Ns(t,r);if(this.el=wi.createElement(d,o),Se.currentNode=this.el.content,r===2||r===3){const p=this.el.content.firstChild;p.replaceWith(...p.childNodes)}for(;(n=Se.nextNode())!==null&&l.length<s;){if(n.nodeType===1){if(n.hasAttributes())for(const p of n.getAttributeNames())if(p.endsWith(gi)){const u=c[a++],f=n.getAttribute(p).split(ue),y=/([.?@])?(.*)/.exec(u);l.push({type:1,index:i,name:y[2],strings:f,ctor:y[1]==="."?Ds:y[1]==="?"?Us:y[1]==="@"?Ms:Cr}),n.removeAttribute(p)}else p.startsWith(ue)&&(l.push({type:6,index:i}),n.removeAttribute(p));if(hi.test(n.tagName)){const p=n.textContent.split(ue),u=p.length-1;if(u>0){n.textContent=wr?wr.emptyScript:"";for(let f=0;f<u;f++)n.append(p[f],yt()),Se.nextNode(),l.push({type:2,index:++i});n.append(p[u],yt())}}}else if(n.nodeType===8)if(n.data===fi)l.push({type:2,index:i});else{let p=-1;for(;(p=n.data.indexOf(ue,p+1))!==-1;)l.push({type:7,index:i}),p+=ue.length-1}i++}}static createElement(t,r){const o=Ee.createElement("template");return o.innerHTML=t,o}};function Xe(e,t,r=e,o){if(t===qe)return t;let n=o!==void 0?r._$Co?.[o]:r._$Cl;const i=kt(t)?void 0:t._$litDirective$;return n?.constructor!==i&&(n?._$AO?.(!1),i===void 0?n=void 0:(n=new i(e),n._$AT(e,r,o)),o!==void 0?(r._$Co??=[])[o]=n:r._$Cl=n),n!==void 0&&(t=Xe(e,n._$AS(e,t.values),n,o)),t}let Rs=class{constructor(t,r){this._$AV=[],this._$AN=void 0,this._$AD=t,this._$AM=r}get parentNode(){return this._$AM.parentNode}get _$AU(){return this._$AM._$AU}u(t){const{el:{content:r},parts:o}=this._$AD,n=(t?.creationScope??Ee).importNode(r,!0);Se.currentNode=n;let i=Se.nextNode(),a=0,s=0,l=o[0];for(;l!==void 0;){if(a===l.index){let d;l.type===2?d=new zo(i,i.nextSibling,this,t):l.type===1?d=new l.ctor(i,l.name,l.strings,this,t):l.type===6&&(d=new Bs(i,this,t)),this._$AV.push(d),l=o[++s]}a!==l?.index&&(i=Se.nextNode(),a++)}return Se.currentNode=Ee,n}p(t){let r=0;for(const o of this._$AV)o!==void 0&&(o.strings!==void 0?(o._$AI(t,o,r),r+=o.strings.length-2):o._$AI(t[r])),r++}},zo=class xi{get _$AU(){return this._$AM?._$AU??this._$Cv}constructor(t,r,o,n){this.type=2,this._$AH=_,this._$AN=void 0,this._$AA=t,this._$AB=r,this._$AM=o,this.options=n,this._$Cv=n?.isConnected??!0}get parentNode(){let t=this._$AA.parentNode;const r=this._$AM;return r!==void 0&&t?.nodeType===11&&(t=r.parentNode),t}get startNode(){return this._$AA}get endNode(){return this._$AB}_$AI(t,r=this){t=Xe(this,t,r),kt(t)?t===_||t==null||t===""?(this._$AH!==_&&this._$AR(),this._$AH=_):t!==this._$AH&&t!==qe&&this._(t):t._$litType$!==void 0?this.$(t):t.nodeType!==void 0?this.T(t):Cs(t)?this.k(t):this._(t)}O(t){return this._$AA.parentNode.insertBefore(t,this._$AB)}T(t){this._$AH!==t&&(this._$AR(),this._$AH=this.O(t))}_(t){this._$AH!==_&&kt(this._$AH)?this._$AA.nextSibling.data=t:this.T(Ee.createTextNode(t)),this._$AH=t}$(t){const{values:r,_$litType$:o}=t,n=typeof o=="number"?this._$AC(t):(o.el===void 0&&(o.el=io.createElement(vi(o.h,o.h[0]),this.options)),o);if(this._$AH?._$AD===n)this._$AH.p(r);else{const i=new Rs(n,this),a=i.u(this.options);i.p(r),this.T(a),this._$AH=i}}_$AC(t){let r=gn.get(t.strings);return r===void 0&&gn.set(t.strings,r=new io(t)),r}k(t){_o(this._$AH)||(this._$AH=[],this._$AR());const r=this._$AH;let o,n=0;for(const i of t)n===r.length?r.push(o=new xi(this.O(yt()),this.O(yt()),this,this.options)):o=r[n],o._$AI(i),n++;n<r.length&&(this._$AR(o&&o._$AB.nextSibling,n),r.length=n)}_$AR(t=this._$AA.nextSibling,r){for(this._$AP?.(!1,!0,r);t!==this._$AB;){const o=dn(t).nextSibling;dn(t).remove(),t=o}}setConnected(t){this._$AM===void 0&&(this._$Cv=t,this._$AP?.(t))}},Cr=class{get tagName(){return this.element.tagName}get _$AU(){return this._$AM._$AU}constructor(t,r,o,n,i){this.type=1,this._$AH=_,this._$AN=void 0,this.element=t,this.name=r,this._$AM=n,this.options=i,o.length>2||o[0]!==""||o[1]!==""?(this._$AH=Array(o.length-1).fill(new String),this.strings=o):this._$AH=_}_$AI(t,r=this,o,n){const i=this.strings;let a=!1;if(i===void 0)t=Xe(this,t,r,0),a=!kt(t)||t!==this._$AH&&t!==qe,a&&(this._$AH=t);else{const s=t;let l,d;for(t=i[0],l=0;l<i.length-1;l++)d=Xe(this,s[o+l],r,l),d===qe&&(d=this._$AH[l]),a||=!kt(d)||d!==this._$AH[l],d===_?t=_:t!==_&&(t+=(d??"")+i[l+1]),this._$AH[l]=d}a&&!n&&this.j(t)}j(t){t===_?this.element.removeAttribute(this.name):this.element.setAttribute(this.name,t??"")}},Ds=class extends Cr{constructor(){super(...arguments),this.type=3}j(t){this.element[this.name]=t===_?void 0:t}},Us=class extends Cr{constructor(){super(...arguments),this.type=4}j(t){this.element.toggleAttribute(this.name,!!t&&t!==_)}},Ms=class extends Cr{constructor(t,r,o,n,i){super(t,r,o,n,i),this.type=5}_$AI(t,r=this){if((t=Xe(this,t,r,0)??_)===qe)return;const o=this._$AH,n=t===_&&o!==_||t.capture!==o.capture||t.once!==o.once||t.passive!==o.passive,i=t!==_&&(o===_||n);n&&this.element.removeEventListener(this.name,this,o),i&&this.element.addEventListener(this.name,this,t),this._$AH=t}handleEvent(t){typeof this._$AH=="function"?this._$AH.call(this.options?.host??this.element,t):this._$AH.handleEvent(t)}},Bs=class{constructor(t,r,o){this.element=t,this.type=6,this._$AN=void 0,this._$AM=r,this.options=o}get _$AU(){return this._$AM._$AU}_$AI(t){Xe(this,t)}};const Ls=ko.litHtmlPolyfillSupport;Ls?.(io,zo),(ko.litHtmlVersions??=[]).push("3.3.2");const Fs=(e,t,r)=>{const o=r?.renderBefore??t;let n=o._$litPart$;if(n===void 0){const i=r?.renderBefore??null;o._$litPart$=n=new zo(t.insertBefore(yt(),i),i,void 0,r??{})}return n._$AI(e),n};const Ao=globalThis;class ge extends Fe{constructor(){super(...arguments),this.renderOptions={host:this},this._$Do=void 0}createRenderRoot(){const t=super.createRenderRoot();return this.renderOptions.renderBefore??=t.firstChild,t}update(t){const r=this.render();this.hasUpdated||(this.renderOptions.isConnected=this.isConnected),super.update(t),this._$Do=Fs(r,this.renderRoot,this.renderOptions)}connectedCallback(){super.connectedCallback(),this._$Do?.setConnected(!0)}disconnectedCallback(){super.disconnectedCallback(),this._$Do?.setConnected(!1)}render(){return qe}}ge._$litElement$=!0,ge.finalized=!0,Ao.litElementHydrateSupport?.({LitElement:ge});const Gs=Ao.litElementPolyfillSupport;Gs?.({LitElement:ge});(Ao.litElementVersions??=[]).push("4.2.2");const B=e=>(t,r)=>{r!==void 0?r.addInitializer(()=>{customElements.define(e,t)}):customElements.define(e,t)},Vt=globalThis,So=Vt.ShadowRoot&&(Vt.ShadyCSS===void 0||Vt.ShadyCSS.nativeShadow)&&"adoptedStyleSheets"in Document.prototype&&"replace"in CSSStyleSheet.prototype,yi=Symbol(),fn=new WeakMap;let Js=class{constructor(e,t,r){if(this._$cssResult$=!0,r!==yi)throw Error("CSSResult is not constructable. Use `unsafeCSS` or `css` instead.");this.cssText=e,this.t=t}get styleSheet(){let e=this.o;const t=this.t;if(So&&e===void 0){const r=t!==void 0&&t.length===1;r&&(e=fn.get(t)),e===void 0&&((this.o=e=new CSSStyleSheet).replaceSync(this.cssText),r&&fn.set(t,e))}return e}toString(){return this.cssText}};const Ys=e=>new Js(typeof e=="string"?e:e+"",void 0,yi),Hs=(e,t)=>{if(So)e.adoptedStyleSheets=t.map(r=>r instanceof CSSStyleSheet?r:r.styleSheet);else for(const r of t){const o=document.createElement("style"),n=Vt.litNonce;n!==void 0&&o.setAttribute("nonce",n),o.textContent=r.cssText,e.appendChild(o)}},hn=So?e=>e:e=>e instanceof CSSStyleSheet?(t=>{let r="";for(const o of t.cssRules)r+=o.cssText;return Ys(r)})(e):e,{is:Vs,defineProperty:Ws,getOwnPropertyDescriptor:qs,getOwnPropertyNames:Xs,getOwnPropertySymbols:Ks,getPrototypeOf:Qs}=Object,Zr=globalThis,vn=Zr.trustedTypes,el=vn?vn.emptyScript:"",tl=Zr.reactiveElementPolyfillSupport,vt=(e,t)=>e,xr={toAttribute(e,t){switch(t){case Boolean:e=e?el:null;break;case Object:case Array:e=e==null?e:JSON.stringify(e)}return e},fromAttribute(e,t){let r=e;switch(t){case Boolean:r=e!==null;break;case Number:r=e===null?null:Number(e);break;case Object:case Array:try{r=JSON.parse(e)}catch{r=null}}return r}},$o=(e,t)=>!Vs(e,t),wn={attribute:!0,type:String,converter:xr,reflect:!1,useDefault:!1,hasChanged:$o};Symbol.metadata??=Symbol("metadata"),Zr.litPropertyMetadata??=new WeakMap;class ut extends HTMLElement{static addInitializer(t){this._$Ei(),(this.l??=[]).push(t)}static get observedAttributes(){return this.finalize(),this._$Eh&&[...this._$Eh.keys()]}static createProperty(t,r=wn){if(r.state&&(r.attribute=!1),this._$Ei(),this.prototype.hasOwnProperty(t)&&((r=Object.create(r)).wrapped=!0),this.elementProperties.set(t,r),!r.noAccessor){const o=Symbol(),n=this.getPropertyDescriptor(t,o,r);n!==void 0&&Ws(this.prototype,t,n)}}static getPropertyDescriptor(t,r,o){const{get:n,set:i}=qs(this.prototype,t)??{get(){return this[r]},set(a){this[r]=a}};return{get:n,set(a){const s=n?.call(this);i?.call(this,a),this.requestUpdate(t,s,o)},configurable:!0,enumerable:!0}}static getPropertyOptions(t){return this.elementProperties.get(t)??wn}static _$Ei(){if(this.hasOwnProperty(vt("elementProperties")))return;const t=Qs(this);t.finalize(),t.l!==void 0&&(this.l=[...t.l]),this.elementProperties=new Map(t.elementProperties)}static finalize(){if(this.hasOwnProperty(vt("finalized")))return;if(this.finalized=!0,this._$Ei(),this.hasOwnProperty(vt("properties"))){const r=this.properties,o=[...Xs(r),...Ks(r)];for(const n of o)this.createProperty(n,r[n])}const t=this[Symbol.metadata];if(t!==null){const r=litPropertyMetadata.get(t);if(r!==void 0)for(const[o,n]of r)this.elementProperties.set(o,n)}this._$Eh=new Map;for(const[r,o]of this.elementProperties){const n=this._$Eu(r,o);n!==void 0&&this._$Eh.set(n,r)}this.elementStyles=this.finalizeStyles(this.styles)}static finalizeStyles(t){const r=[];if(Array.isArray(t)){const o=new Set(t.flat(1/0).reverse());for(const n of o)r.unshift(hn(n))}else t!==void 0&&r.push(hn(t));return r}static _$Eu(t,r){const o=r.attribute;return o===!1?void 0:typeof o=="string"?o:typeof t=="string"?t.toLowerCase():void 0}constructor(){super(),this._$Ep=void 0,this.isUpdatePending=!1,this.hasUpdated=!1,this._$Em=null,this._$Ev()}_$Ev(){this._$ES=new Promise(t=>this.enableUpdating=t),this._$AL=new Map,this._$E_(),this.requestUpdate(),this.constructor.l?.forEach(t=>t(this))}addController(t){(this._$EO??=new Set).add(t),this.renderRoot!==void 0&&this.isConnected&&t.hostConnected?.()}removeController(t){this._$EO?.delete(t)}_$E_(){const t=new Map,r=this.constructor.elementProperties;for(const o of r.keys())this.hasOwnProperty(o)&&(t.set(o,this[o]),delete this[o]);t.size>0&&(this._$Ep=t)}createRenderRoot(){const t=this.shadowRoot??this.attachShadow(this.constructor.shadowRootOptions);return Hs(t,this.constructor.elementStyles),t}connectedCallback(){this.renderRoot??=this.createRenderRoot(),this.enableUpdating(!0),this._$EO?.forEach(t=>t.hostConnected?.())}enableUpdating(t){}disconnectedCallback(){this._$EO?.forEach(t=>t.hostDisconnected?.())}attributeChangedCallback(t,r,o){this._$AK(t,o)}_$ET(t,r){const o=this.constructor.elementProperties.get(t),n=this.constructor._$Eu(t,o);if(n!==void 0&&o.reflect===!0){const i=(o.converter?.toAttribute!==void 0?o.converter:xr).toAttribute(r,o.type);this._$Em=t,i==null?this.removeAttribute(n):this.setAttribute(n,i),this._$Em=null}}_$AK(t,r){const o=this.constructor,n=o._$Eh.get(t);if(n!==void 0&&this._$Em!==n){const i=o.getPropertyOptions(n),a=typeof i.converter=="function"?{fromAttribute:i.converter}:i.converter?.fromAttribute!==void 0?i.converter:xr;this._$Em=n;const s=a.fromAttribute(r,i.type);this[n]=s??this._$Ej?.get(n)??s,this._$Em=null}}requestUpdate(t,r,o,n=!1,i){if(t!==void 0){const a=this.constructor;if(n===!1&&(i=this[t]),o??=a.getPropertyOptions(t),!((o.hasChanged??$o)(i,r)||o.useDefault&&o.reflect&&i===this._$Ej?.get(t)&&!this.hasAttribute(a._$Eu(t,o))))return;this.C(t,r,o)}this.isUpdatePending===!1&&(this._$ES=this._$EP())}C(t,r,{useDefault:o,reflect:n,wrapped:i},a){o&&!(this._$Ej??=new Map).has(t)&&(this._$Ej.set(t,a??r??this[t]),i!==!0||a!==void 0)||(this._$AL.has(t)||(this.hasUpdated||o||(r=void 0),this._$AL.set(t,r)),n===!0&&this._$Em!==t&&(this._$Eq??=new Set).add(t))}async _$EP(){this.isUpdatePending=!0;try{await this._$ES}catch(r){Promise.reject(r)}const t=this.scheduleUpdate();return t!=null&&await t,!this.isUpdatePending}scheduleUpdate(){return this.performUpdate()}performUpdate(){if(!this.isUpdatePending)return;if(!this.hasUpdated){if(this.renderRoot??=this.createRenderRoot(),this._$Ep){for(const[n,i]of this._$Ep)this[n]=i;this._$Ep=void 0}const o=this.constructor.elementProperties;if(o.size>0)for(const[n,i]of o){const{wrapped:a}=i,s=this[n];a!==!0||this._$AL.has(n)||s===void 0||this.C(n,void 0,i,s)}}let t=!1;const r=this._$AL;try{t=this.shouldUpdate(r),t?(this.willUpdate(r),this._$EO?.forEach(o=>o.hostUpdate?.()),this.update(r)):this._$EM()}catch(o){throw t=!1,this._$EM(),o}t&&this._$AE(r)}willUpdate(t){}_$AE(t){this._$EO?.forEach(r=>r.hostUpdated?.()),this.hasUpdated||(this.hasUpdated=!0,this.firstUpdated(t)),this.updated(t)}_$EM(){this._$AL=new Map,this.isUpdatePending=!1}get updateComplete(){return this.getUpdateComplete()}getUpdateComplete(){return this._$ES}shouldUpdate(t){return!0}update(t){this._$Eq&&=this._$Eq.forEach(r=>this._$ET(r,this[r])),this._$EM()}updated(t){}firstUpdated(t){}}ut.elementStyles=[],ut.shadowRootOptions={mode:"open"},ut[vt("elementProperties")]=new Map,ut[vt("finalized")]=new Map,tl?.({ReactiveElement:ut}),(Zr.reactiveElementVersions??=[]).push("2.1.2");const rl={attribute:!0,type:String,converter:xr,reflect:!1,hasChanged:$o},ol=(e=rl,t,r)=>{const{kind:o,metadata:n}=r;let i=globalThis.litPropertyMetadata.get(n);if(i===void 0&&globalThis.litPropertyMetadata.set(n,i=new Map),o==="setter"&&((e=Object.create(e)).wrapped=!0),i.set(r.name,e),o==="accessor"){const{name:a}=r;return{set(s){const l=t.get.call(this);t.set.call(this,s),this.requestUpdate(a,l,e,!0,s)},init(s){return s!==void 0&&this.C(a,void 0,e,s),s}}}if(o==="setter"){const{name:a}=r;return function(s){const l=this[a];t.call(this,s),this.requestUpdate(a,l,e,!0,s)}}throw Error("Unsupported decorator location: "+o)};function w(e){return(t,r)=>typeof r=="object"?ol(e,t,r):((o,n,i)=>{const a=n.hasOwnProperty(i);return n.constructor.createProperty(i,o),a?Object.getOwnPropertyDescriptor(n,i):void 0})(e,t,r)}function G(e){return w({...e,state:!0,attribute:!1})}const nl=(e,t,r)=>(r.configurable=!0,r.enumerable=!0,Reflect.decorate&&typeof t!="object"&&Object.defineProperty(e,t,r),r);function Eo(e,t){return(r,o,n)=>{const i=a=>a.renderRoot?.querySelector(e)??null;return nl(r,o,{get(){return i(this)}})}}const il=`@charset "UTF-8";:root,[data-bs-theme=light]{--bs-blue:#0d6efd;--bs-indigo:#6610f2;--bs-purple:#6f42c1;--bs-pink:#d63384;--bs-red:#dc3545;--bs-orange:#fd7e14;--bs-yellow:#ffc107;--bs-green:#198754;--bs-teal:#20c997;--bs-cyan:#0dcaf0;--bs-black:#000;--bs-white:#fff;--bs-gray:#6c757d;--bs-gray-dark:#343a40;--bs-gray-100:#f8f9fa;--bs-gray-200:#e9ecef;--bs-gray-300:#dee2e6;--bs-gray-400:#ced4da;--bs-gray-500:#adb5bd;--bs-gray-600:#6c757d;--bs-gray-700:#495057;--bs-gray-800:#343a40;--bs-gray-900:#212529;--bs-primary:#0d6efd;--bs-secondary:#6c757d;--bs-success:#198754;--bs-info:#0dcaf0;--bs-warning:#ffc107;--bs-danger:#dc3545;--bs-light:#f8f9fa;--bs-dark:#212529;--bs-primary-rgb:13,110,253;--bs-secondary-rgb:108,117,125;--bs-success-rgb:25,135,84;--bs-info-rgb:13,202,240;--bs-warning-rgb:255,193,7;--bs-danger-rgb:220,53,69;--bs-light-rgb:248,249,250;--bs-dark-rgb:33,37,41;--bs-primary-text-emphasis:#052c65;--bs-secondary-text-emphasis:#2b2f32;--bs-success-text-emphasis:#0a3622;--bs-info-text-emphasis:#055160;--bs-warning-text-emphasis:#664d03;--bs-danger-text-emphasis:#58151c;--bs-light-text-emphasis:#495057;--bs-dark-text-emphasis:#495057;--bs-primary-bg-subtle:#cfe2ff;--bs-secondary-bg-subtle:#e2e3e5;--bs-success-bg-subtle:#d1e7dd;--bs-info-bg-subtle:#cff4fc;--bs-warning-bg-subtle:#fff3cd;--bs-danger-bg-subtle:#f8d7da;--bs-light-bg-subtle:#fcfcfd;--bs-dark-bg-subtle:#ced4da;--bs-primary-border-subtle:#9ec5fe;--bs-secondary-border-subtle:#c4c8cb;--bs-success-border-subtle:#a3cfbb;--bs-info-border-subtle:#9eeaf9;--bs-warning-border-subtle:#ffe69c;--bs-danger-border-subtle:#f1aeb5;--bs-light-border-subtle:#e9ecef;--bs-dark-border-subtle:#adb5bd;--bs-white-rgb:255,255,255;--bs-black-rgb:0,0,0;--bs-font-sans-serif:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue","Noto Sans","Liberation Sans",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--bs-font-monospace:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--bs-gradient:linear-gradient(180deg, rgba(255, 255, 255, .15), rgba(255, 255, 255, 0));--bs-body-font-family:var(--bs-font-sans-serif);--bs-body-font-size:1rem;--bs-body-font-weight:400;--bs-body-line-height:1.5;--bs-body-color:#212529;--bs-body-color-rgb:33,37,41;--bs-body-bg:#fff;--bs-body-bg-rgb:255,255,255;--bs-emphasis-color:#000;--bs-emphasis-color-rgb:0,0,0;--bs-secondary-color:rgba(33, 37, 41, .75);--bs-secondary-color-rgb:33,37,41;--bs-secondary-bg:#e9ecef;--bs-secondary-bg-rgb:233,236,239;--bs-tertiary-color:rgba(33, 37, 41, .5);--bs-tertiary-color-rgb:33,37,41;--bs-tertiary-bg:#f8f9fa;--bs-tertiary-bg-rgb:248,249,250;--bs-heading-color:inherit;--bs-link-color:#0d6efd;--bs-link-color-rgb:13,110,253;--bs-link-decoration:underline;--bs-link-hover-color:#0a58ca;--bs-link-hover-color-rgb:10,88,202;--bs-code-color:#d63384;--bs-highlight-color:#212529;--bs-highlight-bg:#fff3cd;--bs-border-width:1px;--bs-border-style:solid;--bs-border-color:#dee2e6;--bs-border-color-translucent:rgba(0, 0, 0, .175);--bs-border-radius:.375rem;--bs-border-radius-sm:.25rem;--bs-border-radius-lg:.5rem;--bs-border-radius-xl:1rem;--bs-border-radius-xxl:2rem;--bs-border-radius-2xl:var(--bs-border-radius-xxl);--bs-border-radius-pill:50rem;--bs-box-shadow:0 .5rem 1rem rgba(0, 0, 0, .15);--bs-box-shadow-sm:0 .125rem .25rem rgba(0, 0, 0, .075);--bs-box-shadow-lg:0 1rem 3rem rgba(0, 0, 0, .175);--bs-box-shadow-inset:inset 0 1px 2px rgba(0, 0, 0, .075);--bs-focus-ring-width:.25rem;--bs-focus-ring-opacity:.25;--bs-focus-ring-color:rgba(13, 110, 253, .25);--bs-form-valid-color:#198754;--bs-form-valid-border-color:#198754;--bs-form-invalid-color:#dc3545;--bs-form-invalid-border-color:#dc3545}[data-bs-theme=dark]{color-scheme:dark;--bs-body-color:#dee2e6;--bs-body-color-rgb:222,226,230;--bs-body-bg:#212529;--bs-body-bg-rgb:33,37,41;--bs-emphasis-color:#fff;--bs-emphasis-color-rgb:255,255,255;--bs-secondary-color:rgba(222, 226, 230, .75);--bs-secondary-color-rgb:222,226,230;--bs-secondary-bg:#343a40;--bs-secondary-bg-rgb:52,58,64;--bs-tertiary-color:rgba(222, 226, 230, .5);--bs-tertiary-color-rgb:222,226,230;--bs-tertiary-bg:#2b3035;--bs-tertiary-bg-rgb:43,48,53;--bs-primary-text-emphasis:#6ea8fe;--bs-secondary-text-emphasis:#a7acb1;--bs-success-text-emphasis:#75b798;--bs-info-text-emphasis:#6edff6;--bs-warning-text-emphasis:#ffda6a;--bs-danger-text-emphasis:#ea868f;--bs-light-text-emphasis:#f8f9fa;--bs-dark-text-emphasis:#dee2e6;--bs-primary-bg-subtle:#031633;--bs-secondary-bg-subtle:#161719;--bs-success-bg-subtle:#051b11;--bs-info-bg-subtle:#032830;--bs-warning-bg-subtle:#332701;--bs-danger-bg-subtle:#2c0b0e;--bs-light-bg-subtle:#343a40;--bs-dark-bg-subtle:#1a1d20;--bs-primary-border-subtle:#084298;--bs-secondary-border-subtle:#41464b;--bs-success-border-subtle:#0f5132;--bs-info-border-subtle:#087990;--bs-warning-border-subtle:#997404;--bs-danger-border-subtle:#842029;--bs-light-border-subtle:#495057;--bs-dark-border-subtle:#343a40;--bs-heading-color:inherit;--bs-link-color:#6ea8fe;--bs-link-hover-color:#8bb9fe;--bs-link-color-rgb:110,168,254;--bs-link-hover-color-rgb:139,185,254;--bs-code-color:#e685b5;--bs-highlight-color:#dee2e6;--bs-highlight-bg:#664d03;--bs-border-color:#495057;--bs-border-color-translucent:rgba(255, 255, 255, .15);--bs-form-valid-color:#75b798;--bs-form-valid-border-color:#75b798;--bs-form-invalid-color:#ea868f;--bs-form-invalid-border-color:#ea868f}*,:after,:before{box-sizing:border-box}@media(prefers-reduced-motion:no-preference){:root{scroll-behavior:smooth}}body{margin:0;font-family:var(--bs-body-font-family);font-size:var(--bs-body-font-size);font-weight:var(--bs-body-font-weight);line-height:var(--bs-body-line-height);color:var(--bs-body-color);text-align:var(--bs-body-text-align);background-color:var(--bs-body-bg);-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}hr{margin:1rem 0;color:inherit;border:0;border-top:var(--bs-border-width) solid;opacity:.25}.h1,.h2,.h3,.h4,.h5,.h6,h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5rem;font-weight:500;line-height:1.2;color:var(--bs-heading-color)}.h1,h1{font-size:calc(1.375rem + 1.5vw)}@media(min-width:1200px){.h1,h1{font-size:2.5rem}}.h2,h2{font-size:calc(1.325rem + .9vw)}@media(min-width:1200px){.h2,h2{font-size:2rem}}.h3,h3{font-size:calc(1.3rem + .6vw)}@media(min-width:1200px){.h3,h3{font-size:1.75rem}}.h4,h4{font-size:calc(1.275rem + .3vw)}@media(min-width:1200px){.h4,h4{font-size:1.5rem}}.h5,h5{font-size:1.25rem}.h6,h6{font-size:1rem}p{margin-top:0;margin-bottom:1rem}abbr[title]{-webkit-text-decoration:underline dotted;text-decoration:underline dotted;cursor:help;-webkit-text-decoration-skip-ink:none;text-decoration-skip-ink:none}address{margin-bottom:1rem;font-style:normal;line-height:inherit}ol,ul{padding-left:2rem}dl,ol,ul{margin-top:0;margin-bottom:1rem}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}dt{font-weight:700}dd{margin-bottom:.5rem;margin-left:0}blockquote{margin:0 0 1rem}b,strong{font-weight:bolder}.small,small{font-size:.875em}.mark,mark{padding:.1875em;color:var(--bs-highlight-color);background-color:var(--bs-highlight-bg)}sub,sup{position:relative;font-size:.75em;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}a{color:rgba(var(--bs-link-color-rgb),var(--bs-link-opacity,1));text-decoration:underline}a:hover{--bs-link-color-rgb:var(--bs-link-hover-color-rgb)}a:not([href]):not([class]),a:not([href]):not([class]):hover{color:inherit;text-decoration:none}code,kbd,pre,samp{font-family:var(--bs-font-monospace);font-size:1em}pre{display:block;margin-top:0;margin-bottom:1rem;overflow:auto;font-size:.875em}pre code{font-size:inherit;color:inherit;word-break:normal}code{font-size:.875em;color:var(--bs-code-color);word-wrap:break-word}a>code{color:inherit}kbd{padding:.1875rem .375rem;font-size:.875em;color:var(--bs-body-bg);background-color:var(--bs-body-color);border-radius:.25rem}kbd kbd{padding:0;font-size:1em}figure{margin:0 0 1rem}img,svg{vertical-align:middle}table{caption-side:bottom;border-collapse:collapse}caption{padding-top:.5rem;padding-bottom:.5rem;color:var(--bs-secondary-color);text-align:left}th{text-align:inherit;text-align:-webkit-match-parent}tbody,td,tfoot,th,thead,tr{border-color:inherit;border-style:solid;border-width:0}label{display:inline-block}button{border-radius:0}button:focus:not(:focus-visible){outline:0}button,input,optgroup,select,textarea{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}button,select{text-transform:none}[role=button]{cursor:pointer}select{word-wrap:normal}select:disabled{opacity:1}[list]:not([type=date]):not([type=datetime-local]):not([type=month]):not([type=week]):not([type=time])::-webkit-calendar-picker-indicator{display:none!important}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]:not(:disabled),[type=reset]:not(:disabled),[type=submit]:not(:disabled),button:not(:disabled){cursor:pointer}::-moz-focus-inner{padding:0;border-style:none}textarea{resize:vertical}fieldset{min-width:0;padding:0;margin:0;border:0}legend{float:left;width:100%;padding:0;margin-bottom:.5rem;line-height:inherit;font-size:calc(1.275rem + .3vw)}@media(min-width:1200px){legend{font-size:1.5rem}}legend+*{clear:left}::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-fields-wrapper,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-text,::-webkit-datetime-edit-year-field{padding:0}::-webkit-inner-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-cancel-button{cursor:pointer;filter:grayscale(1)}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-color-swatch-wrapper{padding:0}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}::file-selector-button{font:inherit;-webkit-appearance:button}output{display:inline-block}iframe{border:0}summary{display:list-item;cursor:pointer}progress{vertical-align:baseline}[hidden]{display:none!important}.lead{font-size:1.25rem;font-weight:300}.display-1{font-weight:300;line-height:1.2;font-size:calc(1.625rem + 4.5vw)}@media(min-width:1200px){.display-1{font-size:5rem}}.display-2{font-weight:300;line-height:1.2;font-size:calc(1.575rem + 3.9vw)}@media(min-width:1200px){.display-2{font-size:4.5rem}}.display-3{font-weight:300;line-height:1.2;font-size:calc(1.525rem + 3.3vw)}@media(min-width:1200px){.display-3{font-size:4rem}}.display-4{font-weight:300;line-height:1.2;font-size:calc(1.475rem + 2.7vw)}@media(min-width:1200px){.display-4{font-size:3.5rem}}.display-5{font-weight:300;line-height:1.2;font-size:calc(1.425rem + 2.1vw)}@media(min-width:1200px){.display-5{font-size:3rem}}.display-6{font-weight:300;line-height:1.2;font-size:calc(1.375rem + 1.5vw)}@media(min-width:1200px){.display-6{font-size:2.5rem}}.list-unstyled,.list-inline{padding-left:0;list-style:none}.list-inline-item{display:inline-block}.list-inline-item:not(:last-child){margin-right:.5rem}.initialism{font-size:.875em;text-transform:uppercase}.blockquote{margin-bottom:1rem;font-size:1.25rem}.blockquote>:last-child{margin-bottom:0}.blockquote-footer{margin-top:-1rem;margin-bottom:1rem;font-size:.875em;color:#6c757d}.blockquote-footer:before{content:"— "}.img-fluid{max-width:100%;height:auto}.img-thumbnail{padding:.25rem;background-color:var(--bs-body-bg);border:var(--bs-border-width) solid var(--bs-border-color);border-radius:var(--bs-border-radius);max-width:100%;height:auto}.figure{display:inline-block}.figure-img{margin-bottom:.5rem;line-height:1}.figure-caption{font-size:.875em;color:var(--bs-secondary-color)}.container,.container-fluid,.container-lg,.container-md,.container-sm,.container-xl,.container-xxl{--bs-gutter-x:1.5rem;--bs-gutter-y:0;width:100%;padding-right:calc(var(--bs-gutter-x) * .5);padding-left:calc(var(--bs-gutter-x) * .5);margin-right:auto;margin-left:auto}@media(min-width:576px){.container,.container-sm{max-width:540px}}@media(min-width:768px){.container,.container-md,.container-sm{max-width:720px}}@media(min-width:992px){.container,.container-lg,.container-md,.container-sm{max-width:960px}}@media(min-width:1200px){.container,.container-lg,.container-md,.container-sm,.container-xl{max-width:1140px}}@media(min-width:1400px){.container,.container-lg,.container-md,.container-sm,.container-xl,.container-xxl{max-width:1320px}}:root{--bs-breakpoint-xs:0;--bs-breakpoint-sm:576px;--bs-breakpoint-md:768px;--bs-breakpoint-lg:992px;--bs-breakpoint-xl:1200px;--bs-breakpoint-xxl:1400px}.row{--bs-gutter-x:1.5rem;--bs-gutter-y:0;display:flex;flex-wrap:wrap;margin-top:calc(-1 * var(--bs-gutter-y));margin-right:calc(-.5 * var(--bs-gutter-x));margin-left:calc(-.5 * var(--bs-gutter-x))}.row>*{flex-shrink:0;width:100%;max-width:100%;padding-right:calc(var(--bs-gutter-x) * .5);padding-left:calc(var(--bs-gutter-x) * .5);margin-top:var(--bs-gutter-y)}.col{flex:1 0 0}.row-cols-auto>*{flex:0 0 auto;width:auto}.row-cols-1>*{flex:0 0 auto;width:100%}.row-cols-2>*{flex:0 0 auto;width:50%}.row-cols-3>*{flex:0 0 auto;width:33.33333333%}.row-cols-4>*{flex:0 0 auto;width:25%}.row-cols-5>*{flex:0 0 auto;width:20%}.row-cols-6>*{flex:0 0 auto;width:16.66666667%}.col-auto{flex:0 0 auto;width:auto}.col-1{flex:0 0 auto;width:8.33333333%}.col-2{flex:0 0 auto;width:16.66666667%}.col-3{flex:0 0 auto;width:25%}.col-4{flex:0 0 auto;width:33.33333333%}.col-5{flex:0 0 auto;width:41.66666667%}.col-6{flex:0 0 auto;width:50%}.col-7{flex:0 0 auto;width:58.33333333%}.col-8{flex:0 0 auto;width:66.66666667%}.col-9{flex:0 0 auto;width:75%}.col-10{flex:0 0 auto;width:83.33333333%}.col-11{flex:0 0 auto;width:91.66666667%}.col-12{flex:0 0 auto;width:100%}.offset-1{margin-left:8.33333333%}.offset-2{margin-left:16.66666667%}.offset-3{margin-left:25%}.offset-4{margin-left:33.33333333%}.offset-5{margin-left:41.66666667%}.offset-6{margin-left:50%}.offset-7{margin-left:58.33333333%}.offset-8{margin-left:66.66666667%}.offset-9{margin-left:75%}.offset-10{margin-left:83.33333333%}.offset-11{margin-left:91.66666667%}.g-0,.gx-0{--bs-gutter-x:0}.g-0,.gy-0{--bs-gutter-y:0}.g-1,.gx-1{--bs-gutter-x:.25rem}.g-1,.gy-1{--bs-gutter-y:.25rem}.g-2,.gx-2{--bs-gutter-x:.5rem}.g-2,.gy-2{--bs-gutter-y:.5rem}.g-3,.gx-3{--bs-gutter-x:1rem}.g-3,.gy-3{--bs-gutter-y:1rem}.g-4,.gx-4{--bs-gutter-x:1.5rem}.g-4,.gy-4{--bs-gutter-y:1.5rem}.g-5,.gx-5{--bs-gutter-x:3rem}.g-5,.gy-5{--bs-gutter-y:3rem}@media(min-width:576px){.col-sm{flex:1 0 0}.row-cols-sm-auto>*{flex:0 0 auto;width:auto}.row-cols-sm-1>*{flex:0 0 auto;width:100%}.row-cols-sm-2>*{flex:0 0 auto;width:50%}.row-cols-sm-3>*{flex:0 0 auto;width:33.33333333%}.row-cols-sm-4>*{flex:0 0 auto;width:25%}.row-cols-sm-5>*{flex:0 0 auto;width:20%}.row-cols-sm-6>*{flex:0 0 auto;width:16.66666667%}.col-sm-auto{flex:0 0 auto;width:auto}.col-sm-1{flex:0 0 auto;width:8.33333333%}.col-sm-2{flex:0 0 auto;width:16.66666667%}.col-sm-3{flex:0 0 auto;width:25%}.col-sm-4{flex:0 0 auto;width:33.33333333%}.col-sm-5{flex:0 0 auto;width:41.66666667%}.col-sm-6{flex:0 0 auto;width:50%}.col-sm-7{flex:0 0 auto;width:58.33333333%}.col-sm-8{flex:0 0 auto;width:66.66666667%}.col-sm-9{flex:0 0 auto;width:75%}.col-sm-10{flex:0 0 auto;width:83.33333333%}.col-sm-11{flex:0 0 auto;width:91.66666667%}.col-sm-12{flex:0 0 auto;width:100%}.offset-sm-0{margin-left:0}.offset-sm-1{margin-left:8.33333333%}.offset-sm-2{margin-left:16.66666667%}.offset-sm-3{margin-left:25%}.offset-sm-4{margin-left:33.33333333%}.offset-sm-5{margin-left:41.66666667%}.offset-sm-6{margin-left:50%}.offset-sm-7{margin-left:58.33333333%}.offset-sm-8{margin-left:66.66666667%}.offset-sm-9{margin-left:75%}.offset-sm-10{margin-left:83.33333333%}.offset-sm-11{margin-left:91.66666667%}.g-sm-0,.gx-sm-0{--bs-gutter-x:0}.g-sm-0,.gy-sm-0{--bs-gutter-y:0}.g-sm-1,.gx-sm-1{--bs-gutter-x:.25rem}.g-sm-1,.gy-sm-1{--bs-gutter-y:.25rem}.g-sm-2,.gx-sm-2{--bs-gutter-x:.5rem}.g-sm-2,.gy-sm-2{--bs-gutter-y:.5rem}.g-sm-3,.gx-sm-3{--bs-gutter-x:1rem}.g-sm-3,.gy-sm-3{--bs-gutter-y:1rem}.g-sm-4,.gx-sm-4{--bs-gutter-x:1.5rem}.g-sm-4,.gy-sm-4{--bs-gutter-y:1.5rem}.g-sm-5,.gx-sm-5{--bs-gutter-x:3rem}.g-sm-5,.gy-sm-5{--bs-gutter-y:3rem}}@media(min-width:768px){.col-md{flex:1 0 0}.row-cols-md-auto>*{flex:0 0 auto;width:auto}.row-cols-md-1>*{flex:0 0 auto;width:100%}.row-cols-md-2>*{flex:0 0 auto;width:50%}.row-cols-md-3>*{flex:0 0 auto;width:33.33333333%}.row-cols-md-4>*{flex:0 0 auto;width:25%}.row-cols-md-5>*{flex:0 0 auto;width:20%}.row-cols-md-6>*{flex:0 0 auto;width:16.66666667%}.col-md-auto{flex:0 0 auto;width:auto}.col-md-1{flex:0 0 auto;width:8.33333333%}.col-md-2{flex:0 0 auto;width:16.66666667%}.col-md-3{flex:0 0 auto;width:25%}.col-md-4{flex:0 0 auto;width:33.33333333%}.col-md-5{flex:0 0 auto;width:41.66666667%}.col-md-6{flex:0 0 auto;width:50%}.col-md-7{flex:0 0 auto;width:58.33333333%}.col-md-8{flex:0 0 auto;width:66.66666667%}.col-md-9{flex:0 0 auto;width:75%}.col-md-10{flex:0 0 auto;width:83.33333333%}.col-md-11{flex:0 0 auto;width:91.66666667%}.col-md-12{flex:0 0 auto;width:100%}.offset-md-0{margin-left:0}.offset-md-1{margin-left:8.33333333%}.offset-md-2{margin-left:16.66666667%}.offset-md-3{margin-left:25%}.offset-md-4{margin-left:33.33333333%}.offset-md-5{margin-left:41.66666667%}.offset-md-6{margin-left:50%}.offset-md-7{margin-left:58.33333333%}.offset-md-8{margin-left:66.66666667%}.offset-md-9{margin-left:75%}.offset-md-10{margin-left:83.33333333%}.offset-md-11{margin-left:91.66666667%}.g-md-0,.gx-md-0{--bs-gutter-x:0}.g-md-0,.gy-md-0{--bs-gutter-y:0}.g-md-1,.gx-md-1{--bs-gutter-x:.25rem}.g-md-1,.gy-md-1{--bs-gutter-y:.25rem}.g-md-2,.gx-md-2{--bs-gutter-x:.5rem}.g-md-2,.gy-md-2{--bs-gutter-y:.5rem}.g-md-3,.gx-md-3{--bs-gutter-x:1rem}.g-md-3,.gy-md-3{--bs-gutter-y:1rem}.g-md-4,.gx-md-4{--bs-gutter-x:1.5rem}.g-md-4,.gy-md-4{--bs-gutter-y:1.5rem}.g-md-5,.gx-md-5{--bs-gutter-x:3rem}.g-md-5,.gy-md-5{--bs-gutter-y:3rem}}@media(min-width:992px){.col-lg{flex:1 0 0}.row-cols-lg-auto>*{flex:0 0 auto;width:auto}.row-cols-lg-1>*{flex:0 0 auto;width:100%}.row-cols-lg-2>*{flex:0 0 auto;width:50%}.row-cols-lg-3>*{flex:0 0 auto;width:33.33333333%}.row-cols-lg-4>*{flex:0 0 auto;width:25%}.row-cols-lg-5>*{flex:0 0 auto;width:20%}.row-cols-lg-6>*{flex:0 0 auto;width:16.66666667%}.col-lg-auto{flex:0 0 auto;width:auto}.col-lg-1{flex:0 0 auto;width:8.33333333%}.col-lg-2{flex:0 0 auto;width:16.66666667%}.col-lg-3{flex:0 0 auto;width:25%}.col-lg-4{flex:0 0 auto;width:33.33333333%}.col-lg-5{flex:0 0 auto;width:41.66666667%}.col-lg-6{flex:0 0 auto;width:50%}.col-lg-7{flex:0 0 auto;width:58.33333333%}.col-lg-8{flex:0 0 auto;width:66.66666667%}.col-lg-9{flex:0 0 auto;width:75%}.col-lg-10{flex:0 0 auto;width:83.33333333%}.col-lg-11{flex:0 0 auto;width:91.66666667%}.col-lg-12{flex:0 0 auto;width:100%}.offset-lg-0{margin-left:0}.offset-lg-1{margin-left:8.33333333%}.offset-lg-2{margin-left:16.66666667%}.offset-lg-3{margin-left:25%}.offset-lg-4{margin-left:33.33333333%}.offset-lg-5{margin-left:41.66666667%}.offset-lg-6{margin-left:50%}.offset-lg-7{margin-left:58.33333333%}.offset-lg-8{margin-left:66.66666667%}.offset-lg-9{margin-left:75%}.offset-lg-10{margin-left:83.33333333%}.offset-lg-11{margin-left:91.66666667%}.g-lg-0,.gx-lg-0{--bs-gutter-x:0}.g-lg-0,.gy-lg-0{--bs-gutter-y:0}.g-lg-1,.gx-lg-1{--bs-gutter-x:.25rem}.g-lg-1,.gy-lg-1{--bs-gutter-y:.25rem}.g-lg-2,.gx-lg-2{--bs-gutter-x:.5rem}.g-lg-2,.gy-lg-2{--bs-gutter-y:.5rem}.g-lg-3,.gx-lg-3{--bs-gutter-x:1rem}.g-lg-3,.gy-lg-3{--bs-gutter-y:1rem}.g-lg-4,.gx-lg-4{--bs-gutter-x:1.5rem}.g-lg-4,.gy-lg-4{--bs-gutter-y:1.5rem}.g-lg-5,.gx-lg-5{--bs-gutter-x:3rem}.g-lg-5,.gy-lg-5{--bs-gutter-y:3rem}}@media(min-width:1200px){.col-xl{flex:1 0 0}.row-cols-xl-auto>*{flex:0 0 auto;width:auto}.row-cols-xl-1>*{flex:0 0 auto;width:100%}.row-cols-xl-2>*{flex:0 0 auto;width:50%}.row-cols-xl-3>*{flex:0 0 auto;width:33.33333333%}.row-cols-xl-4>*{flex:0 0 auto;width:25%}.row-cols-xl-5>*{flex:0 0 auto;width:20%}.row-cols-xl-6>*{flex:0 0 auto;width:16.66666667%}.col-xl-auto{flex:0 0 auto;width:auto}.col-xl-1{flex:0 0 auto;width:8.33333333%}.col-xl-2{flex:0 0 auto;width:16.66666667%}.col-xl-3{flex:0 0 auto;width:25%}.col-xl-4{flex:0 0 auto;width:33.33333333%}.col-xl-5{flex:0 0 auto;width:41.66666667%}.col-xl-6{flex:0 0 auto;width:50%}.col-xl-7{flex:0 0 auto;width:58.33333333%}.col-xl-8{flex:0 0 auto;width:66.66666667%}.col-xl-9{flex:0 0 auto;width:75%}.col-xl-10{flex:0 0 auto;width:83.33333333%}.col-xl-11{flex:0 0 auto;width:91.66666667%}.col-xl-12{flex:0 0 auto;width:100%}.offset-xl-0{margin-left:0}.offset-xl-1{margin-left:8.33333333%}.offset-xl-2{margin-left:16.66666667%}.offset-xl-3{margin-left:25%}.offset-xl-4{margin-left:33.33333333%}.offset-xl-5{margin-left:41.66666667%}.offset-xl-6{margin-left:50%}.offset-xl-7{margin-left:58.33333333%}.offset-xl-8{margin-left:66.66666667%}.offset-xl-9{margin-left:75%}.offset-xl-10{margin-left:83.33333333%}.offset-xl-11{margin-left:91.66666667%}.g-xl-0,.gx-xl-0{--bs-gutter-x:0}.g-xl-0,.gy-xl-0{--bs-gutter-y:0}.g-xl-1,.gx-xl-1{--bs-gutter-x:.25rem}.g-xl-1,.gy-xl-1{--bs-gutter-y:.25rem}.g-xl-2,.gx-xl-2{--bs-gutter-x:.5rem}.g-xl-2,.gy-xl-2{--bs-gutter-y:.5rem}.g-xl-3,.gx-xl-3{--bs-gutter-x:1rem}.g-xl-3,.gy-xl-3{--bs-gutter-y:1rem}.g-xl-4,.gx-xl-4{--bs-gutter-x:1.5rem}.g-xl-4,.gy-xl-4{--bs-gutter-y:1.5rem}.g-xl-5,.gx-xl-5{--bs-gutter-x:3rem}.g-xl-5,.gy-xl-5{--bs-gutter-y:3rem}}@media(min-width:1400px){.col-xxl{flex:1 0 0}.row-cols-xxl-auto>*{flex:0 0 auto;width:auto}.row-cols-xxl-1>*{flex:0 0 auto;width:100%}.row-cols-xxl-2>*{flex:0 0 auto;width:50%}.row-cols-xxl-3>*{flex:0 0 auto;width:33.33333333%}.row-cols-xxl-4>*{flex:0 0 auto;width:25%}.row-cols-xxl-5>*{flex:0 0 auto;width:20%}.row-cols-xxl-6>*{flex:0 0 auto;width:16.66666667%}.col-xxl-auto{flex:0 0 auto;width:auto}.col-xxl-1{flex:0 0 auto;width:8.33333333%}.col-xxl-2{flex:0 0 auto;width:16.66666667%}.col-xxl-3{flex:0 0 auto;width:25%}.col-xxl-4{flex:0 0 auto;width:33.33333333%}.col-xxl-5{flex:0 0 auto;width:41.66666667%}.col-xxl-6{flex:0 0 auto;width:50%}.col-xxl-7{flex:0 0 auto;width:58.33333333%}.col-xxl-8{flex:0 0 auto;width:66.66666667%}.col-xxl-9{flex:0 0 auto;width:75%}.col-xxl-10{flex:0 0 auto;width:83.33333333%}.col-xxl-11{flex:0 0 auto;width:91.66666667%}.col-xxl-12{flex:0 0 auto;width:100%}.offset-xxl-0{margin-left:0}.offset-xxl-1{margin-left:8.33333333%}.offset-xxl-2{margin-left:16.66666667%}.offset-xxl-3{margin-left:25%}.offset-xxl-4{margin-left:33.33333333%}.offset-xxl-5{margin-left:41.66666667%}.offset-xxl-6{margin-left:50%}.offset-xxl-7{margin-left:58.33333333%}.offset-xxl-8{margin-left:66.66666667%}.offset-xxl-9{margin-left:75%}.offset-xxl-10{margin-left:83.33333333%}.offset-xxl-11{margin-left:91.66666667%}.g-xxl-0,.gx-xxl-0{--bs-gutter-x:0}.g-xxl-0,.gy-xxl-0{--bs-gutter-y:0}.g-xxl-1,.gx-xxl-1{--bs-gutter-x:.25rem}.g-xxl-1,.gy-xxl-1{--bs-gutter-y:.25rem}.g-xxl-2,.gx-xxl-2{--bs-gutter-x:.5rem}.g-xxl-2,.gy-xxl-2{--bs-gutter-y:.5rem}.g-xxl-3,.gx-xxl-3{--bs-gutter-x:1rem}.g-xxl-3,.gy-xxl-3{--bs-gutter-y:1rem}.g-xxl-4,.gx-xxl-4{--bs-gutter-x:1.5rem}.g-xxl-4,.gy-xxl-4{--bs-gutter-y:1.5rem}.g-xxl-5,.gx-xxl-5{--bs-gutter-x:3rem}.g-xxl-5,.gy-xxl-5{--bs-gutter-y:3rem}}.table{--bs-table-color-type:initial;--bs-table-bg-type:initial;--bs-table-color-state:initial;--bs-table-bg-state:initial;--bs-table-color:var(--bs-emphasis-color);--bs-table-bg:var(--bs-body-bg);--bs-table-border-color:var(--bs-border-color);--bs-table-accent-bg:transparent;--bs-table-striped-color:var(--bs-emphasis-color);--bs-table-striped-bg:rgba(var(--bs-emphasis-color-rgb), .05);--bs-table-active-color:var(--bs-emphasis-color);--bs-table-active-bg:rgba(var(--bs-emphasis-color-rgb), .1);--bs-table-hover-color:var(--bs-emphasis-color);--bs-table-hover-bg:rgba(var(--bs-emphasis-color-rgb), .075);width:100%;margin-bottom:1rem;vertical-align:top;border-color:var(--bs-table-border-color)}.table>:not(caption)>*>*{padding:.5rem;color:var(--bs-table-color-state,var(--bs-table-color-type,var(--bs-table-color)));background-color:var(--bs-table-bg);border-bottom-width:var(--bs-border-width);box-shadow:inset 0 0 0 9999px var(--bs-table-bg-state,var(--bs-table-bg-type,var(--bs-table-accent-bg)))}.table>tbody{vertical-align:inherit}.table>thead{vertical-align:bottom}.table-group-divider{border-top:calc(var(--bs-border-width) * 2) solid currentcolor}.caption-top{caption-side:top}.table-sm>:not(caption)>*>*{padding:.25rem}.table-bordered>:not(caption)>*{border-width:var(--bs-border-width) 0}.table-bordered>:not(caption)>*>*{border-width:0 var(--bs-border-width)}.table-borderless>:not(caption)>*>*{border-bottom-width:0}.table-borderless>:not(:first-child){border-top-width:0}.table-striped>tbody>tr:nth-of-type(odd)>*{--bs-table-color-type:var(--bs-table-striped-color);--bs-table-bg-type:var(--bs-table-striped-bg)}.table-striped-columns>:not(caption)>tr>:nth-child(2n){--bs-table-color-type:var(--bs-table-striped-color);--bs-table-bg-type:var(--bs-table-striped-bg)}.table-active{--bs-table-color-state:var(--bs-table-active-color);--bs-table-bg-state:var(--bs-table-active-bg)}.table-hover>tbody>tr:hover>*{--bs-table-color-state:var(--bs-table-hover-color);--bs-table-bg-state:var(--bs-table-hover-bg)}.table-primary{--bs-table-color:#000;--bs-table-bg:#cfe2ff;--bs-table-border-color:#a6b5cc;--bs-table-striped-bg:#c5d7f2;--bs-table-striped-color:#000;--bs-table-active-bg:#bacbe6;--bs-table-active-color:#000;--bs-table-hover-bg:#bfd1ec;--bs-table-hover-color:#000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-secondary{--bs-table-color:#000;--bs-table-bg:#e2e3e5;--bs-table-border-color:#b5b6b7;--bs-table-striped-bg:#d7d8da;--bs-table-striped-color:#000;--bs-table-active-bg:#cbccce;--bs-table-active-color:#000;--bs-table-hover-bg:#d1d2d4;--bs-table-hover-color:#000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-success{--bs-table-color:#000;--bs-table-bg:#d1e7dd;--bs-table-border-color:#a7b9b1;--bs-table-striped-bg:#c7dbd2;--bs-table-striped-color:#000;--bs-table-active-bg:#bcd0c7;--bs-table-active-color:#000;--bs-table-hover-bg:#c1d6cc;--bs-table-hover-color:#000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-info{--bs-table-color:#000;--bs-table-bg:#cff4fc;--bs-table-border-color:#a6c3ca;--bs-table-striped-bg:#c5e8ef;--bs-table-striped-color:#000;--bs-table-active-bg:#badce3;--bs-table-active-color:#000;--bs-table-hover-bg:#bfe2e9;--bs-table-hover-color:#000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-warning{--bs-table-color:#000;--bs-table-bg:#fff3cd;--bs-table-border-color:#ccc2a4;--bs-table-striped-bg:#f2e7c3;--bs-table-striped-color:#000;--bs-table-active-bg:#e6dbb9;--bs-table-active-color:#000;--bs-table-hover-bg:#ece1be;--bs-table-hover-color:#000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-danger{--bs-table-color:#000;--bs-table-bg:#f8d7da;--bs-table-border-color:#c6acae;--bs-table-striped-bg:#eccccf;--bs-table-striped-color:#000;--bs-table-active-bg:#dfc2c4;--bs-table-active-color:#000;--bs-table-hover-bg:#e5c7ca;--bs-table-hover-color:#000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-light{--bs-table-color:#000;--bs-table-bg:#f8f9fa;--bs-table-border-color:#c6c7c8;--bs-table-striped-bg:#ecedee;--bs-table-striped-color:#000;--bs-table-active-bg:#dfe0e1;--bs-table-active-color:#000;--bs-table-hover-bg:#e5e6e7;--bs-table-hover-color:#000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-dark{--bs-table-color:#fff;--bs-table-bg:#212529;--bs-table-border-color:#4d5154;--bs-table-striped-bg:#2c3034;--bs-table-striped-color:#fff;--bs-table-active-bg:#373b3e;--bs-table-active-color:#fff;--bs-table-hover-bg:#323539;--bs-table-hover-color:#fff;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-responsive{overflow-x:auto;-webkit-overflow-scrolling:touch}@media(max-width:575.98px){.table-responsive-sm{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media(max-width:767.98px){.table-responsive-md{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media(max-width:991.98px){.table-responsive-lg{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media(max-width:1199.98px){.table-responsive-xl{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media(max-width:1399.98px){.table-responsive-xxl{overflow-x:auto;-webkit-overflow-scrolling:touch}}.form-label{margin-bottom:.5rem}.col-form-label{padding-top:calc(.375rem + var(--bs-border-width));padding-bottom:calc(.375rem + var(--bs-border-width));margin-bottom:0;font-size:inherit;line-height:1.5}.col-form-label-lg{padding-top:calc(.5rem + var(--bs-border-width));padding-bottom:calc(.5rem + var(--bs-border-width));font-size:1.25rem}.col-form-label-sm{padding-top:calc(.25rem + var(--bs-border-width));padding-bottom:calc(.25rem + var(--bs-border-width));font-size:.875rem}.form-text{margin-top:.25rem;font-size:.875em;color:var(--bs-secondary-color)}.form-control{display:block;width:100%;padding:.375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:var(--bs-body-color);-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:var(--bs-body-bg);background-clip:padding-box;border:var(--bs-border-width) solid var(--bs-border-color);border-radius:var(--bs-border-radius);transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media(prefers-reduced-motion:reduce){.form-control{transition:none}}.form-control[type=file]{overflow:hidden}.form-control[type=file]:not(:disabled):not([readonly]){cursor:pointer}.form-control:focus{color:var(--bs-body-color);background-color:var(--bs-body-bg);border-color:#86b7fe;outline:0;box-shadow:0 0 0 .25rem #0d6efd40}.form-control::-webkit-date-and-time-value{min-width:85px;height:1.5em;margin:0}.form-control::-webkit-datetime-edit{display:block;padding:0}.form-control::placeholder{color:var(--bs-secondary-color);opacity:1}.form-control:disabled{background-color:var(--bs-secondary-bg);opacity:1}.form-control::-webkit-file-upload-button{padding:.375rem .75rem;margin:-.375rem -.75rem;-webkit-margin-end:.75rem;margin-inline-end:.75rem;color:var(--bs-body-color);background-color:var(--bs-tertiary-bg);pointer-events:none;border-color:inherit;border-style:solid;border-width:0;border-inline-end-width:var(--bs-border-width);border-radius:0;-webkit-transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}.form-control::file-selector-button{padding:.375rem .75rem;margin:-.375rem -.75rem;-webkit-margin-end:.75rem;margin-inline-end:.75rem;color:var(--bs-body-color);background-color:var(--bs-tertiary-bg);pointer-events:none;border-color:inherit;border-style:solid;border-width:0;border-inline-end-width:var(--bs-border-width);border-radius:0;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media(prefers-reduced-motion:reduce){.form-control::-webkit-file-upload-button{-webkit-transition:none;transition:none}.form-control::file-selector-button{transition:none}}.form-control:hover:not(:disabled):not([readonly])::-webkit-file-upload-button{background-color:var(--bs-secondary-bg)}.form-control:hover:not(:disabled):not([readonly])::file-selector-button{background-color:var(--bs-secondary-bg)}.form-control-plaintext{display:block;width:100%;padding:.375rem 0;margin-bottom:0;line-height:1.5;color:var(--bs-body-color);background-color:transparent;border:solid transparent;border-width:var(--bs-border-width) 0}.form-control-plaintext:focus{outline:0}.form-control-plaintext.form-control-lg,.form-control-plaintext.form-control-sm{padding-right:0;padding-left:0}.form-control-sm{min-height:calc(1.5em + .5rem + calc(var(--bs-border-width) * 2));padding:.25rem .5rem;font-size:.875rem;border-radius:var(--bs-border-radius-sm)}.form-control-sm::-webkit-file-upload-button{padding:.25rem .5rem;margin:-.25rem -.5rem;-webkit-margin-end:.5rem;margin-inline-end:.5rem}.form-control-sm::file-selector-button{padding:.25rem .5rem;margin:-.25rem -.5rem;-webkit-margin-end:.5rem;margin-inline-end:.5rem}.form-control-lg{min-height:calc(1.5em + 1rem + calc(var(--bs-border-width) * 2));padding:.5rem 1rem;font-size:1.25rem;border-radius:var(--bs-border-radius-lg)}.form-control-lg::-webkit-file-upload-button{padding:.5rem 1rem;margin:-.5rem -1rem;-webkit-margin-end:1rem;margin-inline-end:1rem}.form-control-lg::file-selector-button{padding:.5rem 1rem;margin:-.5rem -1rem;-webkit-margin-end:1rem;margin-inline-end:1rem}textarea.form-control{min-height:calc(1.5em + .75rem + calc(var(--bs-border-width) * 2))}textarea.form-control-sm{min-height:calc(1.5em + .5rem + calc(var(--bs-border-width) * 2))}textarea.form-control-lg{min-height:calc(1.5em + 1rem + calc(var(--bs-border-width) * 2))}.form-control-color{width:3rem;height:calc(1.5em + .75rem + calc(var(--bs-border-width) * 2));padding:.375rem}.form-control-color:not(:disabled):not([readonly]){cursor:pointer}.form-control-color::-moz-color-swatch{border:0!important;border-radius:var(--bs-border-radius)}.form-control-color::-webkit-color-swatch{border:0!important;border-radius:var(--bs-border-radius)}.form-control-color.form-control-sm{height:calc(1.5em + .5rem + calc(var(--bs-border-width) * 2))}.form-control-color.form-control-lg{height:calc(1.5em + 1rem + calc(var(--bs-border-width) * 2))}.form-select{--bs-form-select-bg-img:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e");display:block;width:100%;padding:.375rem 2.25rem .375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:var(--bs-body-color);-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:var(--bs-body-bg);background-image:var(--bs-form-select-bg-img),var(--bs-form-select-bg-icon,none);background-repeat:no-repeat;background-position:right .75rem center;background-size:16px 12px;border:var(--bs-border-width) solid var(--bs-border-color);border-radius:var(--bs-border-radius);transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media(prefers-reduced-motion:reduce){.form-select{transition:none}}.form-select:focus{border-color:#86b7fe;outline:0;box-shadow:0 0 0 .25rem #0d6efd40}.form-select[multiple],.form-select[size]:not([size="1"]){padding-right:.75rem;background-image:none}.form-select:disabled{background-color:var(--bs-secondary-bg)}.form-select:-moz-focusring{color:transparent;text-shadow:0 0 0 var(--bs-body-color)}.form-select-sm{padding-top:.25rem;padding-bottom:.25rem;padding-left:.5rem;font-size:.875rem;border-radius:var(--bs-border-radius-sm)}.form-select-lg{padding-top:.5rem;padding-bottom:.5rem;padding-left:1rem;font-size:1.25rem;border-radius:var(--bs-border-radius-lg)}[data-bs-theme=dark] .form-select{--bs-form-select-bg-img:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23dee2e6' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e")}.form-check{display:block;min-height:1.5rem;padding-left:1.5em;margin-bottom:.125rem}.form-check .form-check-input{float:left;margin-left:-1.5em}.form-check-reverse{padding-right:1.5em;padding-left:0;text-align:right}.form-check-reverse .form-check-input{float:right;margin-right:-1.5em;margin-left:0}.form-check-input{--bs-form-check-bg:var(--bs-body-bg);flex-shrink:0;width:1em;height:1em;margin-top:.25em;vertical-align:top;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:var(--bs-form-check-bg);background-image:var(--bs-form-check-bg-image);background-repeat:no-repeat;background-position:center;background-size:contain;border:var(--bs-border-width) solid var(--bs-border-color);-webkit-print-color-adjust:exact;color-adjust:exact;print-color-adjust:exact}.form-check-input[type=checkbox]{border-radius:.25em}.form-check-input[type=radio]{border-radius:50%}.form-check-input:active{filter:brightness(90%)}.form-check-input:focus{border-color:#86b7fe;outline:0;box-shadow:0 0 0 .25rem #0d6efd40}.form-check-input:checked{background-color:#0d6efd;border-color:#0d6efd}.form-check-input:checked[type=checkbox]{--bs-form-check-bg-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='m6 10 3 3 6-6'/%3e%3c/svg%3e")}.form-check-input:checked[type=radio]{--bs-form-check-bg-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='2' fill='%23fff'/%3e%3c/svg%3e")}.form-check-input[type=checkbox]:indeterminate{background-color:#0d6efd;border-color:#0d6efd;--bs-form-check-bg-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10h8'/%3e%3c/svg%3e")}.form-check-input:disabled{pointer-events:none;filter:none;opacity:.5}.form-check-input:disabled~.form-check-label,.form-check-input[disabled]~.form-check-label{cursor:default;opacity:.5}.form-switch{padding-left:2.5em}.form-switch .form-check-input{--bs-form-switch-bg:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='rgba%280, 0, 0, 0.25%29'/%3e%3c/svg%3e");width:2em;margin-left:-2.5em;background-image:var(--bs-form-switch-bg);background-position:left center;border-radius:2em;transition:background-position .15s ease-in-out}@media(prefers-reduced-motion:reduce){.form-switch .form-check-input{transition:none}}.form-switch .form-check-input:focus{--bs-form-switch-bg:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%2386b7fe'/%3e%3c/svg%3e")}.form-switch .form-check-input:checked{background-position:right center;--bs-form-switch-bg:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23fff'/%3e%3c/svg%3e")}.form-switch.form-check-reverse{padding-right:2.5em;padding-left:0}.form-switch.form-check-reverse .form-check-input{margin-right:-2.5em;margin-left:0}.form-check-inline{display:inline-block;margin-right:1rem}.btn-check{position:absolute;clip:rect(0,0,0,0);pointer-events:none}.btn-check:disabled+.btn,.btn-check[disabled]+.btn{pointer-events:none;filter:none;opacity:.65}[data-bs-theme=dark] .form-switch .form-check-input:not(:checked):not(:focus){--bs-form-switch-bg:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='rgba%28255, 255, 255, 0.25%29'/%3e%3c/svg%3e")}.form-range{width:100%;height:1.5rem;padding:0;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:transparent}.form-range:focus{outline:0}.form-range:focus::-webkit-slider-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .25rem #0d6efd40}.form-range:focus::-moz-range-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .25rem #0d6efd40}.form-range::-moz-focus-outer{border:0}.form-range::-webkit-slider-thumb{width:1rem;height:1rem;margin-top:-.25rem;-webkit-appearance:none;appearance:none;background-color:#0d6efd;border:0;border-radius:1rem;-webkit-transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media(prefers-reduced-motion:reduce){.form-range::-webkit-slider-thumb{-webkit-transition:none;transition:none}}.form-range::-webkit-slider-thumb:active{background-color:#b6d4fe}.form-range::-webkit-slider-runnable-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:var(--bs-secondary-bg);border-color:transparent;border-radius:1rem}.form-range::-moz-range-thumb{width:1rem;height:1rem;-moz-appearance:none;appearance:none;background-color:#0d6efd;border:0;border-radius:1rem;-moz-transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media(prefers-reduced-motion:reduce){.form-range::-moz-range-thumb{-moz-transition:none;transition:none}}.form-range::-moz-range-thumb:active{background-color:#b6d4fe}.form-range::-moz-range-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:var(--bs-secondary-bg);border-color:transparent;border-radius:1rem}.form-range:disabled{pointer-events:none}.form-range:disabled::-webkit-slider-thumb{background-color:var(--bs-secondary-color)}.form-range:disabled::-moz-range-thumb{background-color:var(--bs-secondary-color)}.form-floating{position:relative}.form-floating>.form-control,.form-floating>.form-control-plaintext,.form-floating>.form-select{height:calc(3.5rem + calc(var(--bs-border-width) * 2));min-height:calc(3.5rem + calc(var(--bs-border-width) * 2));line-height:1.25}.form-floating>label{position:absolute;top:0;left:0;z-index:2;max-width:100%;height:100%;padding:1rem .75rem;overflow:hidden;color:rgba(var(--bs-body-color-rgb),.65);text-align:start;text-overflow:ellipsis;white-space:nowrap;pointer-events:none;border:var(--bs-border-width) solid transparent;transform-origin:0 0;transition:opacity .1s ease-in-out,transform .1s ease-in-out}@media(prefers-reduced-motion:reduce){.form-floating>label{transition:none}}.form-floating>.form-control,.form-floating>.form-control-plaintext{padding:1rem .75rem}.form-floating>.form-control-plaintext::placeholder,.form-floating>.form-control::placeholder{color:transparent}.form-floating>.form-control-plaintext:focus,.form-floating>.form-control-plaintext:not(:placeholder-shown),.form-floating>.form-control:focus,.form-floating>.form-control:not(:placeholder-shown){padding-top:1.625rem;padding-bottom:.625rem}.form-floating>.form-control-plaintext:-webkit-autofill,.form-floating>.form-control:-webkit-autofill{padding-top:1.625rem;padding-bottom:.625rem}.form-floating>.form-select{padding-top:1.625rem;padding-bottom:.625rem;padding-left:.75rem}.form-floating>.form-control-plaintext~label,.form-floating>.form-control:focus~label,.form-floating>.form-control:not(:placeholder-shown)~label,.form-floating>.form-select~label{transform:scale(.85) translateY(-.5rem) translate(.15rem)}.form-floating>.form-control:-webkit-autofill~label{transform:scale(.85) translateY(-.5rem) translate(.15rem)}.form-floating>textarea:focus~label:after,.form-floating>textarea:not(:placeholder-shown)~label:after{position:absolute;inset:1rem .375rem;z-index:-1;height:1.5em;content:"";background-color:var(--bs-body-bg);border-radius:var(--bs-border-radius)}.form-floating>textarea:disabled~label:after{background-color:var(--bs-secondary-bg)}.form-floating>.form-control-plaintext~label{border-width:var(--bs-border-width) 0}.form-floating>.form-control:disabled~label,.form-floating>:disabled~label{color:#6c757d}.input-group{position:relative;display:flex;flex-wrap:wrap;align-items:stretch;width:100%}.input-group>.form-control,.input-group>.form-floating,.input-group>.form-select{position:relative;flex:1 1 auto;width:1%;min-width:0}.input-group>.form-control:focus,.input-group>.form-floating:focus-within,.input-group>.form-select:focus{z-index:5}.input-group .btn{position:relative;z-index:2}.input-group .btn:focus{z-index:5}.input-group-text{display:flex;align-items:center;padding:.375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:var(--bs-body-color);text-align:center;white-space:nowrap;background-color:var(--bs-tertiary-bg);border:var(--bs-border-width) solid var(--bs-border-color);border-radius:var(--bs-border-radius)}.input-group-lg>.btn,.input-group-lg>.form-control,.input-group-lg>.form-select,.input-group-lg>.input-group-text{padding:.5rem 1rem;font-size:1.25rem;border-radius:var(--bs-border-radius-lg)}.input-group-sm>.btn,.input-group-sm>.form-control,.input-group-sm>.form-select,.input-group-sm>.input-group-text{padding:.25rem .5rem;font-size:.875rem;border-radius:var(--bs-border-radius-sm)}.input-group-lg>.form-select,.input-group-sm>.form-select{padding-right:3rem}.input-group:not(.has-validation)>.dropdown-toggle:nth-last-child(n+3),.input-group:not(.has-validation)>.form-floating:not(:last-child)>.form-control,.input-group:not(.has-validation)>.form-floating:not(:last-child)>.form-select,.input-group:not(.has-validation)>:not(:last-child):not(.dropdown-toggle):not(.dropdown-menu):not(.form-floating){border-top-right-radius:0;border-bottom-right-radius:0}.input-group.has-validation>.dropdown-toggle:nth-last-child(n+4),.input-group.has-validation>.form-floating:nth-last-child(n+3)>.form-control,.input-group.has-validation>.form-floating:nth-last-child(n+3)>.form-select,.input-group.has-validation>:nth-last-child(n+3):not(.dropdown-toggle):not(.dropdown-menu):not(.form-floating){border-top-right-radius:0;border-bottom-right-radius:0}.input-group>:not(:first-child):not(.dropdown-menu):not(.valid-tooltip):not(.valid-feedback):not(.invalid-tooltip):not(.invalid-feedback){margin-left:calc(-1 * var(--bs-border-width));border-top-left-radius:0;border-bottom-left-radius:0}.input-group>.form-floating:not(:first-child)>.form-control,.input-group>.form-floating:not(:first-child)>.form-select{border-top-left-radius:0;border-bottom-left-radius:0}.valid-feedback{display:none;width:100%;margin-top:.25rem;font-size:.875em;color:var(--bs-form-valid-color)}.valid-tooltip{position:absolute;top:100%;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:.875rem;color:#fff;background-color:var(--bs-success);border-radius:var(--bs-border-radius)}.is-valid~.valid-feedback,.is-valid~.valid-tooltip,.was-validated :valid~.valid-feedback,.was-validated :valid~.valid-tooltip{display:block}.form-control.is-valid,.was-validated .form-control:valid{border-color:var(--bs-form-valid-border-color);padding-right:calc(1.5em + .75rem);background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%23198754' d='M2.3 6.73.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right calc(.375em + .1875rem) center;background-size:calc(.75em + .375rem) calc(.75em + .375rem)}.form-control.is-valid:focus,.was-validated .form-control:valid:focus{border-color:var(--bs-form-valid-border-color);box-shadow:0 0 0 .25rem rgba(var(--bs-success-rgb),.25)}.was-validated textarea.form-control:valid,textarea.form-control.is-valid{padding-right:calc(1.5em + .75rem);background-position:top calc(.375em + .1875rem) right calc(.375em + .1875rem)}.form-select.is-valid,.was-validated .form-select:valid{border-color:var(--bs-form-valid-border-color)}.form-select.is-valid:not([multiple]):not([size]),.form-select.is-valid:not([multiple])[size="1"],.was-validated .form-select:valid:not([multiple]):not([size]),.was-validated .form-select:valid:not([multiple])[size="1"]{--bs-form-select-bg-icon:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%23198754' d='M2.3 6.73.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1'/%3e%3c/svg%3e");padding-right:4.125rem;background-position:right .75rem center,center right 2.25rem;background-size:16px 12px,calc(.75em + .375rem) calc(.75em + .375rem)}.form-select.is-valid:focus,.was-validated .form-select:valid:focus{border-color:var(--bs-form-valid-border-color);box-shadow:0 0 0 .25rem rgba(var(--bs-success-rgb),.25)}.form-control-color.is-valid,.was-validated .form-control-color:valid{width:calc(3.75rem + 1.5em)}.form-check-input.is-valid,.was-validated .form-check-input:valid{border-color:var(--bs-form-valid-border-color)}.form-check-input.is-valid:checked,.was-validated .form-check-input:valid:checked{background-color:var(--bs-form-valid-color)}.form-check-input.is-valid:focus,.was-validated .form-check-input:valid:focus{box-shadow:0 0 0 .25rem rgba(var(--bs-success-rgb),.25)}.form-check-input.is-valid~.form-check-label,.was-validated .form-check-input:valid~.form-check-label{color:var(--bs-form-valid-color)}.form-check-inline .form-check-input~.valid-feedback{margin-left:.5em}.input-group>.form-control:not(:focus).is-valid,.input-group>.form-floating:not(:focus-within).is-valid,.input-group>.form-select:not(:focus).is-valid,.was-validated .input-group>.form-control:not(:focus):valid,.was-validated .input-group>.form-floating:not(:focus-within):valid,.was-validated .input-group>.form-select:not(:focus):valid{z-index:3}.invalid-feedback{display:none;width:100%;margin-top:.25rem;font-size:.875em;color:var(--bs-form-invalid-color)}.invalid-tooltip{position:absolute;top:100%;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:.875rem;color:#fff;background-color:var(--bs-danger);border-radius:var(--bs-border-radius)}.is-invalid~.invalid-feedback,.is-invalid~.invalid-tooltip,.was-validated :invalid~.invalid-feedback,.was-validated :invalid~.invalid-tooltip{display:block}.form-control.is-invalid,.was-validated .form-control:invalid{border-color:var(--bs-form-invalid-border-color);padding-right:calc(1.5em + .75rem);background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23dc3545'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right calc(.375em + .1875rem) center;background-size:calc(.75em + .375rem) calc(.75em + .375rem)}.form-control.is-invalid:focus,.was-validated .form-control:invalid:focus{border-color:var(--bs-form-invalid-border-color);box-shadow:0 0 0 .25rem rgba(var(--bs-danger-rgb),.25)}.was-validated textarea.form-control:invalid,textarea.form-control.is-invalid{padding-right:calc(1.5em + .75rem);background-position:top calc(.375em + .1875rem) right calc(.375em + .1875rem)}.form-select.is-invalid,.was-validated .form-select:invalid{border-color:var(--bs-form-invalid-border-color)}.form-select.is-invalid:not([multiple]):not([size]),.form-select.is-invalid:not([multiple])[size="1"],.was-validated .form-select:invalid:not([multiple]):not([size]),.was-validated .form-select:invalid:not([multiple])[size="1"]{--bs-form-select-bg-icon:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23dc3545'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e");padding-right:4.125rem;background-position:right .75rem center,center right 2.25rem;background-size:16px 12px,calc(.75em + .375rem) calc(.75em + .375rem)}.form-select.is-invalid:focus,.was-validated .form-select:invalid:focus{border-color:var(--bs-form-invalid-border-color);box-shadow:0 0 0 .25rem rgba(var(--bs-danger-rgb),.25)}.form-control-color.is-invalid,.was-validated .form-control-color:invalid{width:calc(3.75rem + 1.5em)}.form-check-input.is-invalid,.was-validated .form-check-input:invalid{border-color:var(--bs-form-invalid-border-color)}.form-check-input.is-invalid:checked,.was-validated .form-check-input:invalid:checked{background-color:var(--bs-form-invalid-color)}.form-check-input.is-invalid:focus,.was-validated .form-check-input:invalid:focus{box-shadow:0 0 0 .25rem rgba(var(--bs-danger-rgb),.25)}.form-check-input.is-invalid~.form-check-label,.was-validated .form-check-input:invalid~.form-check-label{color:var(--bs-form-invalid-color)}.form-check-inline .form-check-input~.invalid-feedback{margin-left:.5em}.input-group>.form-control:not(:focus).is-invalid,.input-group>.form-floating:not(:focus-within).is-invalid,.input-group>.form-select:not(:focus).is-invalid,.was-validated .input-group>.form-control:not(:focus):invalid,.was-validated .input-group>.form-floating:not(:focus-within):invalid,.was-validated .input-group>.form-select:not(:focus):invalid{z-index:4}.btn{--bs-btn-padding-x:.75rem;--bs-btn-padding-y:.375rem;--bs-btn-font-family: ;--bs-btn-font-size:1rem;--bs-btn-font-weight:400;--bs-btn-line-height:1.5;--bs-btn-color:var(--bs-body-color);--bs-btn-bg:transparent;--bs-btn-border-width:var(--bs-border-width);--bs-btn-border-color:transparent;--bs-btn-border-radius:var(--bs-border-radius);--bs-btn-hover-border-color:transparent;--bs-btn-box-shadow:inset 0 1px 0 rgba(255, 255, 255, .15),0 1px 1px rgba(0, 0, 0, .075);--bs-btn-disabled-opacity:.65;--bs-btn-focus-box-shadow:0 0 0 .25rem rgba(var(--bs-btn-focus-shadow-rgb), .5);display:inline-block;padding:var(--bs-btn-padding-y) var(--bs-btn-padding-x);font-family:var(--bs-btn-font-family);font-size:var(--bs-btn-font-size);font-weight:var(--bs-btn-font-weight);line-height:var(--bs-btn-line-height);color:var(--bs-btn-color);text-align:center;text-decoration:none;vertical-align:middle;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;border:var(--bs-btn-border-width) solid var(--bs-btn-border-color);border-radius:var(--bs-btn-border-radius);background-color:var(--bs-btn-bg);transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media(prefers-reduced-motion:reduce){.btn{transition:none}}.btn:hover{color:var(--bs-btn-hover-color);background-color:var(--bs-btn-hover-bg);border-color:var(--bs-btn-hover-border-color)}.btn-check+.btn:hover{color:var(--bs-btn-color);background-color:var(--bs-btn-bg);border-color:var(--bs-btn-border-color)}.btn:focus-visible{color:var(--bs-btn-hover-color);background-color:var(--bs-btn-hover-bg);border-color:var(--bs-btn-hover-border-color);outline:0;box-shadow:var(--bs-btn-focus-box-shadow)}.btn-check:focus-visible+.btn{border-color:var(--bs-btn-hover-border-color);outline:0;box-shadow:var(--bs-btn-focus-box-shadow)}.btn-check:checked+.btn,.btn.active,.btn.show,.btn:first-child:active,:not(.btn-check)+.btn:active{color:var(--bs-btn-active-color);background-color:var(--bs-btn-active-bg);border-color:var(--bs-btn-active-border-color)}.btn-check:checked+.btn:focus-visible,.btn.active:focus-visible,.btn.show:focus-visible,.btn:first-child:active:focus-visible,:not(.btn-check)+.btn:active:focus-visible{box-shadow:var(--bs-btn-focus-box-shadow)}.btn-check:checked:focus-visible+.btn{box-shadow:var(--bs-btn-focus-box-shadow)}.btn.disabled,.btn:disabled,fieldset:disabled .btn{color:var(--bs-btn-disabled-color);pointer-events:none;background-color:var(--bs-btn-disabled-bg);border-color:var(--bs-btn-disabled-border-color);opacity:var(--bs-btn-disabled-opacity)}.btn-primary{--bs-btn-color:#fff;--bs-btn-bg:#0d6efd;--bs-btn-border-color:#0d6efd;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#0b5ed7;--bs-btn-hover-border-color:#0a58ca;--bs-btn-focus-shadow-rgb:49,132,253;--bs-btn-active-color:#fff;--bs-btn-active-bg:#0a58ca;--bs-btn-active-border-color:#0a53be;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color:#fff;--bs-btn-disabled-bg:#0d6efd;--bs-btn-disabled-border-color:#0d6efd}.btn-secondary{--bs-btn-color:#fff;--bs-btn-bg:#6c757d;--bs-btn-border-color:#6c757d;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#5c636a;--bs-btn-hover-border-color:#565e64;--bs-btn-focus-shadow-rgb:130,138,145;--bs-btn-active-color:#fff;--bs-btn-active-bg:#565e64;--bs-btn-active-border-color:#51585e;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color:#fff;--bs-btn-disabled-bg:#6c757d;--bs-btn-disabled-border-color:#6c757d}.btn-success{--bs-btn-color:#fff;--bs-btn-bg:#198754;--bs-btn-border-color:#198754;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#157347;--bs-btn-hover-border-color:#146c43;--bs-btn-focus-shadow-rgb:60,153,110;--bs-btn-active-color:#fff;--bs-btn-active-bg:#146c43;--bs-btn-active-border-color:#13653f;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color:#fff;--bs-btn-disabled-bg:#198754;--bs-btn-disabled-border-color:#198754}.btn-info{--bs-btn-color:#000;--bs-btn-bg:#0dcaf0;--bs-btn-border-color:#0dcaf0;--bs-btn-hover-color:#000;--bs-btn-hover-bg:#31d2f2;--bs-btn-hover-border-color:#25cff2;--bs-btn-focus-shadow-rgb:11,172,204;--bs-btn-active-color:#000;--bs-btn-active-bg:#3dd5f3;--bs-btn-active-border-color:#25cff2;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color:#000;--bs-btn-disabled-bg:#0dcaf0;--bs-btn-disabled-border-color:#0dcaf0}.btn-warning{--bs-btn-color:#000;--bs-btn-bg:#ffc107;--bs-btn-border-color:#ffc107;--bs-btn-hover-color:#000;--bs-btn-hover-bg:#ffca2c;--bs-btn-hover-border-color:#ffc720;--bs-btn-focus-shadow-rgb:217,164,6;--bs-btn-active-color:#000;--bs-btn-active-bg:#ffcd39;--bs-btn-active-border-color:#ffc720;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color:#000;--bs-btn-disabled-bg:#ffc107;--bs-btn-disabled-border-color:#ffc107}.btn-danger{--bs-btn-color:#fff;--bs-btn-bg:#dc3545;--bs-btn-border-color:#dc3545;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#bb2d3b;--bs-btn-hover-border-color:#b02a37;--bs-btn-focus-shadow-rgb:225,83,97;--bs-btn-active-color:#fff;--bs-btn-active-bg:#b02a37;--bs-btn-active-border-color:#a52834;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color:#fff;--bs-btn-disabled-bg:#dc3545;--bs-btn-disabled-border-color:#dc3545}.btn-light{--bs-btn-color:#000;--bs-btn-bg:#f8f9fa;--bs-btn-border-color:#f8f9fa;--bs-btn-hover-color:#000;--bs-btn-hover-bg:#d3d4d5;--bs-btn-hover-border-color:#c6c7c8;--bs-btn-focus-shadow-rgb:211,212,213;--bs-btn-active-color:#000;--bs-btn-active-bg:#c6c7c8;--bs-btn-active-border-color:#babbbc;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color:#000;--bs-btn-disabled-bg:#f8f9fa;--bs-btn-disabled-border-color:#f8f9fa}.btn-dark{--bs-btn-color:#fff;--bs-btn-bg:#212529;--bs-btn-border-color:#212529;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#424649;--bs-btn-hover-border-color:#373b3e;--bs-btn-focus-shadow-rgb:66,70,73;--bs-btn-active-color:#fff;--bs-btn-active-bg:#4d5154;--bs-btn-active-border-color:#373b3e;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color:#fff;--bs-btn-disabled-bg:#212529;--bs-btn-disabled-border-color:#212529}.btn-outline-primary{--bs-btn-color:#0d6efd;--bs-btn-border-color:#0d6efd;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#0d6efd;--bs-btn-hover-border-color:#0d6efd;--bs-btn-focus-shadow-rgb:13,110,253;--bs-btn-active-color:#fff;--bs-btn-active-bg:#0d6efd;--bs-btn-active-border-color:#0d6efd;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color:#0d6efd;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#0d6efd;--bs-gradient:none}.btn-outline-secondary{--bs-btn-color:#6c757d;--bs-btn-border-color:#6c757d;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#6c757d;--bs-btn-hover-border-color:#6c757d;--bs-btn-focus-shadow-rgb:108,117,125;--bs-btn-active-color:#fff;--bs-btn-active-bg:#6c757d;--bs-btn-active-border-color:#6c757d;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color:#6c757d;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#6c757d;--bs-gradient:none}.btn-outline-success{--bs-btn-color:#198754;--bs-btn-border-color:#198754;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#198754;--bs-btn-hover-border-color:#198754;--bs-btn-focus-shadow-rgb:25,135,84;--bs-btn-active-color:#fff;--bs-btn-active-bg:#198754;--bs-btn-active-border-color:#198754;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color:#198754;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#198754;--bs-gradient:none}.btn-outline-info{--bs-btn-color:#0dcaf0;--bs-btn-border-color:#0dcaf0;--bs-btn-hover-color:#000;--bs-btn-hover-bg:#0dcaf0;--bs-btn-hover-border-color:#0dcaf0;--bs-btn-focus-shadow-rgb:13,202,240;--bs-btn-active-color:#000;--bs-btn-active-bg:#0dcaf0;--bs-btn-active-border-color:#0dcaf0;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color:#0dcaf0;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#0dcaf0;--bs-gradient:none}.btn-outline-warning{--bs-btn-color:#ffc107;--bs-btn-border-color:#ffc107;--bs-btn-hover-color:#000;--bs-btn-hover-bg:#ffc107;--bs-btn-hover-border-color:#ffc107;--bs-btn-focus-shadow-rgb:255,193,7;--bs-btn-active-color:#000;--bs-btn-active-bg:#ffc107;--bs-btn-active-border-color:#ffc107;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color:#ffc107;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#ffc107;--bs-gradient:none}.btn-outline-danger{--bs-btn-color:#dc3545;--bs-btn-border-color:#dc3545;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#dc3545;--bs-btn-hover-border-color:#dc3545;--bs-btn-focus-shadow-rgb:220,53,69;--bs-btn-active-color:#fff;--bs-btn-active-bg:#dc3545;--bs-btn-active-border-color:#dc3545;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color:#dc3545;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#dc3545;--bs-gradient:none}.btn-outline-light{--bs-btn-color:#f8f9fa;--bs-btn-border-color:#f8f9fa;--bs-btn-hover-color:#000;--bs-btn-hover-bg:#f8f9fa;--bs-btn-hover-border-color:#f8f9fa;--bs-btn-focus-shadow-rgb:248,249,250;--bs-btn-active-color:#000;--bs-btn-active-bg:#f8f9fa;--bs-btn-active-border-color:#f8f9fa;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color:#f8f9fa;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#f8f9fa;--bs-gradient:none}.btn-outline-dark{--bs-btn-color:#212529;--bs-btn-border-color:#212529;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#212529;--bs-btn-hover-border-color:#212529;--bs-btn-focus-shadow-rgb:33,37,41;--bs-btn-active-color:#fff;--bs-btn-active-bg:#212529;--bs-btn-active-border-color:#212529;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color:#212529;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#212529;--bs-gradient:none}.btn-link{--bs-btn-font-weight:400;--bs-btn-color:var(--bs-link-color);--bs-btn-bg:transparent;--bs-btn-border-color:transparent;--bs-btn-hover-color:var(--bs-link-hover-color);--bs-btn-hover-border-color:transparent;--bs-btn-active-color:var(--bs-link-hover-color);--bs-btn-active-border-color:transparent;--bs-btn-disabled-color:#6c757d;--bs-btn-disabled-border-color:transparent;--bs-btn-box-shadow:0 0 0 #000;--bs-btn-focus-shadow-rgb:49,132,253;text-decoration:underline}.btn-link:focus-visible{color:var(--bs-btn-color)}.btn-link:hover{color:var(--bs-btn-hover-color)}.btn-group-lg>.btn,.btn-lg{--bs-btn-padding-y:.5rem;--bs-btn-padding-x:1rem;--bs-btn-font-size:1.25rem;--bs-btn-border-radius:var(--bs-border-radius-lg)}.btn-group-sm>.btn,.btn-sm{--bs-btn-padding-y:.25rem;--bs-btn-padding-x:.5rem;--bs-btn-font-size:.875rem;--bs-btn-border-radius:var(--bs-border-radius-sm)}.fade{transition:opacity .15s linear}@media(prefers-reduced-motion:reduce){.fade{transition:none}}.fade:not(.show){opacity:0}.collapse:not(.show){display:none}.collapsing{height:0;overflow:hidden;transition:height .35s ease}@media(prefers-reduced-motion:reduce){.collapsing{transition:none}}.collapsing.collapse-horizontal{width:0;height:auto;transition:width .35s ease}@media(prefers-reduced-motion:reduce){.collapsing.collapse-horizontal{transition:none}}.dropdown,.dropdown-center,.dropend,.dropstart,.dropup,.dropup-center{position:relative}.dropdown-toggle{white-space:nowrap}.dropdown-toggle:after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:.3em solid;border-right:.3em solid transparent;border-bottom:0;border-left:.3em solid transparent}.dropdown-toggle:empty:after{margin-left:0}.dropdown-menu{--bs-dropdown-zindex:1000;--bs-dropdown-min-width:10rem;--bs-dropdown-padding-x:0;--bs-dropdown-padding-y:.5rem;--bs-dropdown-spacer:.125rem;--bs-dropdown-font-size:1rem;--bs-dropdown-color:var(--bs-body-color);--bs-dropdown-bg:var(--bs-body-bg);--bs-dropdown-border-color:var(--bs-border-color-translucent);--bs-dropdown-border-radius:var(--bs-border-radius);--bs-dropdown-border-width:var(--bs-border-width);--bs-dropdown-inner-border-radius:calc(var(--bs-border-radius) - var(--bs-border-width));--bs-dropdown-divider-bg:var(--bs-border-color-translucent);--bs-dropdown-divider-margin-y:.5rem;--bs-dropdown-box-shadow:var(--bs-box-shadow);--bs-dropdown-link-color:var(--bs-body-color);--bs-dropdown-link-hover-color:var(--bs-body-color);--bs-dropdown-link-hover-bg:var(--bs-tertiary-bg);--bs-dropdown-link-active-color:#fff;--bs-dropdown-link-active-bg:#0d6efd;--bs-dropdown-link-disabled-color:var(--bs-tertiary-color);--bs-dropdown-item-padding-x:1rem;--bs-dropdown-item-padding-y:.25rem;--bs-dropdown-header-color:#6c757d;--bs-dropdown-header-padding-x:1rem;--bs-dropdown-header-padding-y:.5rem;position:absolute;z-index:var(--bs-dropdown-zindex);display:none;min-width:var(--bs-dropdown-min-width);padding:var(--bs-dropdown-padding-y) var(--bs-dropdown-padding-x);margin:0;font-size:var(--bs-dropdown-font-size);color:var(--bs-dropdown-color);text-align:left;list-style:none;background-color:var(--bs-dropdown-bg);background-clip:padding-box;border:var(--bs-dropdown-border-width) solid var(--bs-dropdown-border-color);border-radius:var(--bs-dropdown-border-radius)}.dropdown-menu[data-bs-popper]{top:100%;left:0;margin-top:var(--bs-dropdown-spacer)}.dropdown-menu-start{--bs-position:start}.dropdown-menu-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-end{--bs-position:end}.dropdown-menu-end[data-bs-popper]{right:0;left:auto}@media(min-width:576px){.dropdown-menu-sm-start{--bs-position:start}.dropdown-menu-sm-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-sm-end{--bs-position:end}.dropdown-menu-sm-end[data-bs-popper]{right:0;left:auto}}@media(min-width:768px){.dropdown-menu-md-start{--bs-position:start}.dropdown-menu-md-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-md-end{--bs-position:end}.dropdown-menu-md-end[data-bs-popper]{right:0;left:auto}}@media(min-width:992px){.dropdown-menu-lg-start{--bs-position:start}.dropdown-menu-lg-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-lg-end{--bs-position:end}.dropdown-menu-lg-end[data-bs-popper]{right:0;left:auto}}@media(min-width:1200px){.dropdown-menu-xl-start{--bs-position:start}.dropdown-menu-xl-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-xl-end{--bs-position:end}.dropdown-menu-xl-end[data-bs-popper]{right:0;left:auto}}@media(min-width:1400px){.dropdown-menu-xxl-start{--bs-position:start}.dropdown-menu-xxl-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-xxl-end{--bs-position:end}.dropdown-menu-xxl-end[data-bs-popper]{right:0;left:auto}}.dropup .dropdown-menu[data-bs-popper]{top:auto;bottom:100%;margin-top:0;margin-bottom:var(--bs-dropdown-spacer)}.dropup .dropdown-toggle:after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:0;border-right:.3em solid transparent;border-bottom:.3em solid;border-left:.3em solid transparent}.dropup .dropdown-toggle:empty:after{margin-left:0}.dropend .dropdown-menu[data-bs-popper]{top:0;right:auto;left:100%;margin-top:0;margin-left:var(--bs-dropdown-spacer)}.dropend .dropdown-toggle:after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:.3em solid transparent;border-right:0;border-bottom:.3em solid transparent;border-left:.3em solid}.dropend .dropdown-toggle:empty:after{margin-left:0}.dropend .dropdown-toggle:after{vertical-align:0}.dropstart .dropdown-menu[data-bs-popper]{top:0;right:100%;left:auto;margin-top:0;margin-right:var(--bs-dropdown-spacer)}.dropstart .dropdown-toggle:after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:""}.dropstart .dropdown-toggle:after{display:none}.dropstart .dropdown-toggle:before{display:inline-block;margin-right:.255em;vertical-align:.255em;content:"";border-top:.3em solid transparent;border-right:.3em solid;border-bottom:.3em solid transparent}.dropstart .dropdown-toggle:empty:after{margin-left:0}.dropstart .dropdown-toggle:before{vertical-align:0}.dropdown-divider{height:0;margin:var(--bs-dropdown-divider-margin-y) 0;overflow:hidden;border-top:1px solid var(--bs-dropdown-divider-bg);opacity:1}.dropdown-item{display:block;width:100%;padding:var(--bs-dropdown-item-padding-y) var(--bs-dropdown-item-padding-x);clear:both;font-weight:400;color:var(--bs-dropdown-link-color);text-align:inherit;text-decoration:none;white-space:nowrap;background-color:transparent;border:0;border-radius:var(--bs-dropdown-item-border-radius,0)}.dropdown-item:focus,.dropdown-item:hover{color:var(--bs-dropdown-link-hover-color);background-color:var(--bs-dropdown-link-hover-bg)}.dropdown-item.active,.dropdown-item:active{color:var(--bs-dropdown-link-active-color);text-decoration:none;background-color:var(--bs-dropdown-link-active-bg)}.dropdown-item.disabled,.dropdown-item:disabled{color:var(--bs-dropdown-link-disabled-color);pointer-events:none;background-color:transparent}.dropdown-menu.show{display:block}.dropdown-header{display:block;padding:var(--bs-dropdown-header-padding-y) var(--bs-dropdown-header-padding-x);margin-bottom:0;font-size:.875rem;color:var(--bs-dropdown-header-color);white-space:nowrap}.dropdown-item-text{display:block;padding:var(--bs-dropdown-item-padding-y) var(--bs-dropdown-item-padding-x);color:var(--bs-dropdown-link-color)}.dropdown-menu-dark{--bs-dropdown-color:#dee2e6;--bs-dropdown-bg:#343a40;--bs-dropdown-border-color:var(--bs-border-color-translucent);--bs-dropdown-box-shadow: ;--bs-dropdown-link-color:#dee2e6;--bs-dropdown-link-hover-color:#fff;--bs-dropdown-divider-bg:var(--bs-border-color-translucent);--bs-dropdown-link-hover-bg:rgba(255, 255, 255, .15);--bs-dropdown-link-active-color:#fff;--bs-dropdown-link-active-bg:#0d6efd;--bs-dropdown-link-disabled-color:#adb5bd;--bs-dropdown-header-color:#adb5bd}.btn-group,.btn-group-vertical{position:relative;display:inline-flex;vertical-align:middle}.btn-group-vertical>.btn,.btn-group>.btn{position:relative;flex:1 1 auto}.btn-group-vertical>.btn-check:checked+.btn,.btn-group-vertical>.btn-check:focus+.btn,.btn-group-vertical>.btn.active,.btn-group-vertical>.btn:active,.btn-group-vertical>.btn:focus,.btn-group-vertical>.btn:hover,.btn-group>.btn-check:checked+.btn,.btn-group>.btn-check:focus+.btn,.btn-group>.btn.active,.btn-group>.btn:active,.btn-group>.btn:focus,.btn-group>.btn:hover{z-index:1}.btn-toolbar{display:flex;flex-wrap:wrap;justify-content:flex-start}.btn-toolbar .input-group{width:auto}.btn-group{border-radius:var(--bs-border-radius)}.btn-group>.btn-group:not(:first-child),.btn-group>:not(.btn-check:first-child)+.btn{margin-left:calc(-1 * var(--bs-border-width))}.btn-group>.btn-group:not(:last-child)>.btn,.btn-group>.btn.dropdown-toggle-split:first-child,.btn-group>.btn:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn-group:not(:first-child)>.btn,.btn-group>.btn:nth-child(n+3),.btn-group>:not(.btn-check)+.btn{border-top-left-radius:0;border-bottom-left-radius:0}.dropdown-toggle-split{padding-right:.5625rem;padding-left:.5625rem}.dropdown-toggle-split:after,.dropend .dropdown-toggle-split:after,.dropup .dropdown-toggle-split:after{margin-left:0}.dropstart .dropdown-toggle-split:before{margin-right:0}.btn-group-sm>.btn+.dropdown-toggle-split,.btn-sm+.dropdown-toggle-split{padding-right:.375rem;padding-left:.375rem}.btn-group-lg>.btn+.dropdown-toggle-split,.btn-lg+.dropdown-toggle-split{padding-right:.75rem;padding-left:.75rem}.btn-group-vertical{flex-direction:column;align-items:flex-start;justify-content:center}.btn-group-vertical>.btn,.btn-group-vertical>.btn-group{width:100%}.btn-group-vertical>.btn-group:not(:first-child),.btn-group-vertical>.btn:not(:first-child){margin-top:calc(-1 * var(--bs-border-width))}.btn-group-vertical>.btn-group:not(:last-child)>.btn,.btn-group-vertical>.btn:not(:last-child):not(.dropdown-toggle){border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn-group:not(:first-child)>.btn,.btn-group-vertical>.btn:nth-child(n+3),.btn-group-vertical>:not(.btn-check)+.btn{border-top-left-radius:0;border-top-right-radius:0}.nav{--bs-nav-link-padding-x:1rem;--bs-nav-link-padding-y:.5rem;--bs-nav-link-font-weight: ;--bs-nav-link-color:var(--bs-link-color);--bs-nav-link-hover-color:var(--bs-link-hover-color);--bs-nav-link-disabled-color:var(--bs-secondary-color);display:flex;flex-wrap:wrap;padding-left:0;margin-bottom:0;list-style:none}.nav-link{display:block;padding:var(--bs-nav-link-padding-y) var(--bs-nav-link-padding-x);font-size:var(--bs-nav-link-font-size);font-weight:var(--bs-nav-link-font-weight);color:var(--bs-nav-link-color);text-decoration:none;background:0 0;border:0;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out}@media(prefers-reduced-motion:reduce){.nav-link{transition:none}}.nav-link:focus,.nav-link:hover{color:var(--bs-nav-link-hover-color)}.nav-link:focus-visible{outline:0;box-shadow:0 0 0 .25rem #0d6efd40}.nav-link.disabled,.nav-link:disabled{color:var(--bs-nav-link-disabled-color);pointer-events:none;cursor:default}.nav-tabs{--bs-nav-tabs-border-width:var(--bs-border-width);--bs-nav-tabs-border-color:var(--bs-border-color);--bs-nav-tabs-border-radius:var(--bs-border-radius);--bs-nav-tabs-link-hover-border-color:var(--bs-secondary-bg) var(--bs-secondary-bg) var(--bs-border-color);--bs-nav-tabs-link-active-color:var(--bs-emphasis-color);--bs-nav-tabs-link-active-bg:var(--bs-body-bg);--bs-nav-tabs-link-active-border-color:var(--bs-border-color) var(--bs-border-color) var(--bs-body-bg);border-bottom:var(--bs-nav-tabs-border-width) solid var(--bs-nav-tabs-border-color)}.nav-tabs .nav-link{margin-bottom:calc(-1 * var(--bs-nav-tabs-border-width));border:var(--bs-nav-tabs-border-width) solid transparent;border-top-left-radius:var(--bs-nav-tabs-border-radius);border-top-right-radius:var(--bs-nav-tabs-border-radius)}.nav-tabs .nav-link:focus,.nav-tabs .nav-link:hover{isolation:isolate;border-color:var(--bs-nav-tabs-link-hover-border-color)}.nav-tabs .nav-item.show .nav-link,.nav-tabs .nav-link.active{color:var(--bs-nav-tabs-link-active-color);background-color:var(--bs-nav-tabs-link-active-bg);border-color:var(--bs-nav-tabs-link-active-border-color)}.nav-tabs .dropdown-menu{margin-top:calc(-1 * var(--bs-nav-tabs-border-width));border-top-left-radius:0;border-top-right-radius:0}.nav-pills{--bs-nav-pills-border-radius:var(--bs-border-radius);--bs-nav-pills-link-active-color:#fff;--bs-nav-pills-link-active-bg:#0d6efd}.nav-pills .nav-link{border-radius:var(--bs-nav-pills-border-radius)}.nav-pills .nav-link.active,.nav-pills .show>.nav-link{color:var(--bs-nav-pills-link-active-color);background-color:var(--bs-nav-pills-link-active-bg)}.nav-underline{--bs-nav-underline-gap:1rem;--bs-nav-underline-border-width:.125rem;--bs-nav-underline-link-active-color:var(--bs-emphasis-color);gap:var(--bs-nav-underline-gap)}.nav-underline .nav-link{padding-right:0;padding-left:0;border-bottom:var(--bs-nav-underline-border-width) solid transparent}.nav-underline .nav-link:focus,.nav-underline .nav-link:hover{border-bottom-color:currentcolor}.nav-underline .nav-link.active,.nav-underline .show>.nav-link{font-weight:700;color:var(--bs-nav-underline-link-active-color);border-bottom-color:currentcolor}.nav-fill .nav-item,.nav-fill>.nav-link{flex:1 1 auto;text-align:center}.nav-justified .nav-item,.nav-justified>.nav-link{flex-grow:1;flex-basis:0;text-align:center}.nav-fill .nav-item .nav-link,.nav-justified .nav-item .nav-link{width:100%}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}.navbar{--bs-navbar-padding-x:0;--bs-navbar-padding-y:.5rem;--bs-navbar-color:rgba(var(--bs-emphasis-color-rgb), .65);--bs-navbar-hover-color:rgba(var(--bs-emphasis-color-rgb), .8);--bs-navbar-disabled-color:rgba(var(--bs-emphasis-color-rgb), .3);--bs-navbar-active-color:rgba(var(--bs-emphasis-color-rgb), 1);--bs-navbar-brand-padding-y:.3125rem;--bs-navbar-brand-margin-end:1rem;--bs-navbar-brand-font-size:1.25rem;--bs-navbar-brand-color:rgba(var(--bs-emphasis-color-rgb), 1);--bs-navbar-brand-hover-color:rgba(var(--bs-emphasis-color-rgb), 1);--bs-navbar-nav-link-padding-x:.5rem;--bs-navbar-toggler-padding-y:.25rem;--bs-navbar-toggler-padding-x:.75rem;--bs-navbar-toggler-font-size:1.25rem;--bs-navbar-toggler-icon-bg:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%2833, 37, 41, 0.75%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");--bs-navbar-toggler-border-color:rgba(var(--bs-emphasis-color-rgb), .15);--bs-navbar-toggler-border-radius:var(--bs-border-radius);--bs-navbar-toggler-focus-width:.25rem;--bs-navbar-toggler-transition:box-shadow .15s ease-in-out;position:relative;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;padding:var(--bs-navbar-padding-y) var(--bs-navbar-padding-x)}.navbar>.container,.navbar>.container-fluid,.navbar>.container-lg,.navbar>.container-md,.navbar>.container-sm,.navbar>.container-xl,.navbar>.container-xxl{display:flex;flex-wrap:inherit;align-items:center;justify-content:space-between}.navbar-brand{padding-top:var(--bs-navbar-brand-padding-y);padding-bottom:var(--bs-navbar-brand-padding-y);margin-right:var(--bs-navbar-brand-margin-end);font-size:var(--bs-navbar-brand-font-size);color:var(--bs-navbar-brand-color);text-decoration:none;white-space:nowrap}.navbar-brand:focus,.navbar-brand:hover{color:var(--bs-navbar-brand-hover-color)}.navbar-nav{--bs-nav-link-padding-x:0;--bs-nav-link-padding-y:.5rem;--bs-nav-link-font-weight: ;--bs-nav-link-color:var(--bs-navbar-color);--bs-nav-link-hover-color:var(--bs-navbar-hover-color);--bs-nav-link-disabled-color:var(--bs-navbar-disabled-color);display:flex;flex-direction:column;padding-left:0;margin-bottom:0;list-style:none}.navbar-nav .nav-link.active,.navbar-nav .nav-link.show{color:var(--bs-navbar-active-color)}.navbar-nav .dropdown-menu{position:static}.navbar-text{padding-top:.5rem;padding-bottom:.5rem;color:var(--bs-navbar-color)}.navbar-text a,.navbar-text a:focus,.navbar-text a:hover{color:var(--bs-navbar-active-color)}.navbar-collapse{flex-grow:1;flex-basis:100%;align-items:center}.navbar-toggler{padding:var(--bs-navbar-toggler-padding-y) var(--bs-navbar-toggler-padding-x);font-size:var(--bs-navbar-toggler-font-size);line-height:1;color:var(--bs-navbar-color);background-color:transparent;border:var(--bs-border-width) solid var(--bs-navbar-toggler-border-color);border-radius:var(--bs-navbar-toggler-border-radius);transition:var(--bs-navbar-toggler-transition)}@media(prefers-reduced-motion:reduce){.navbar-toggler{transition:none}}.navbar-toggler:hover{text-decoration:none}.navbar-toggler:focus{text-decoration:none;outline:0;box-shadow:0 0 0 var(--bs-navbar-toggler-focus-width)}.navbar-toggler-icon{display:inline-block;width:1.5em;height:1.5em;vertical-align:middle;background-image:var(--bs-navbar-toggler-icon-bg);background-repeat:no-repeat;background-position:center;background-size:100%}.navbar-nav-scroll{max-height:var(--bs-scroll-height,75vh);overflow-y:auto}@media(min-width:576px){.navbar-expand-sm{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-sm .navbar-nav{flex-direction:row}.navbar-expand-sm .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-sm .navbar-nav .nav-link{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.navbar-expand-sm .navbar-nav-scroll{overflow:visible}.navbar-expand-sm .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-sm .navbar-toggler{display:none}.navbar-expand-sm .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;transition:none}.navbar-expand-sm .offcanvas .offcanvas-header{display:none}.navbar-expand-sm .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}@media(min-width:768px){.navbar-expand-md{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-md .navbar-nav{flex-direction:row}.navbar-expand-md .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-md .navbar-nav .nav-link{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.navbar-expand-md .navbar-nav-scroll{overflow:visible}.navbar-expand-md .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-md .navbar-toggler{display:none}.navbar-expand-md .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;transition:none}.navbar-expand-md .offcanvas .offcanvas-header{display:none}.navbar-expand-md .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}@media(min-width:992px){.navbar-expand-lg{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-lg .navbar-nav{flex-direction:row}.navbar-expand-lg .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-lg .navbar-nav .nav-link{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.navbar-expand-lg .navbar-nav-scroll{overflow:visible}.navbar-expand-lg .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-lg .navbar-toggler{display:none}.navbar-expand-lg .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;transition:none}.navbar-expand-lg .offcanvas .offcanvas-header{display:none}.navbar-expand-lg .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}@media(min-width:1200px){.navbar-expand-xl{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-xl .navbar-nav{flex-direction:row}.navbar-expand-xl .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-xl .navbar-nav .nav-link{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.navbar-expand-xl .navbar-nav-scroll{overflow:visible}.navbar-expand-xl .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-xl .navbar-toggler{display:none}.navbar-expand-xl .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;transition:none}.navbar-expand-xl .offcanvas .offcanvas-header{display:none}.navbar-expand-xl .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}@media(min-width:1400px){.navbar-expand-xxl{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-xxl .navbar-nav{flex-direction:row}.navbar-expand-xxl .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-xxl .navbar-nav .nav-link{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.navbar-expand-xxl .navbar-nav-scroll{overflow:visible}.navbar-expand-xxl .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-xxl .navbar-toggler{display:none}.navbar-expand-xxl .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;transition:none}.navbar-expand-xxl .offcanvas .offcanvas-header{display:none}.navbar-expand-xxl .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}.navbar-expand{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand .navbar-nav{flex-direction:row}.navbar-expand .navbar-nav .dropdown-menu{position:absolute}.navbar-expand .navbar-nav .nav-link{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.navbar-expand .navbar-nav-scroll{overflow:visible}.navbar-expand .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand .navbar-toggler{display:none}.navbar-expand .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;transition:none}.navbar-expand .offcanvas .offcanvas-header{display:none}.navbar-expand .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}.navbar-dark,.navbar[data-bs-theme=dark]{--bs-navbar-color:rgba(255, 255, 255, .55);--bs-navbar-hover-color:rgba(255, 255, 255, .75);--bs-navbar-disabled-color:rgba(255, 255, 255, .25);--bs-navbar-active-color:#fff;--bs-navbar-brand-color:#fff;--bs-navbar-brand-hover-color:#fff;--bs-navbar-toggler-border-color:rgba(255, 255, 255, .1);--bs-navbar-toggler-icon-bg:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.55%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e")}[data-bs-theme=dark] .navbar-toggler-icon{--bs-navbar-toggler-icon-bg:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.55%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e")}.card{--bs-card-spacer-y:1rem;--bs-card-spacer-x:1rem;--bs-card-title-spacer-y:.5rem;--bs-card-title-color: ;--bs-card-subtitle-color: ;--bs-card-border-width:var(--bs-border-width);--bs-card-border-color:var(--bs-border-color-translucent);--bs-card-border-radius:var(--bs-border-radius);--bs-card-box-shadow: ;--bs-card-inner-border-radius:calc(var(--bs-border-radius) - (var(--bs-border-width)));--bs-card-cap-padding-y:.5rem;--bs-card-cap-padding-x:1rem;--bs-card-cap-bg:rgba(var(--bs-body-color-rgb), .03);--bs-card-cap-color: ;--bs-card-height: ;--bs-card-color: ;--bs-card-bg:var(--bs-body-bg);--bs-card-img-overlay-padding:1rem;--bs-card-group-margin:.75rem;position:relative;display:flex;flex-direction:column;min-width:0;height:var(--bs-card-height);color:var(--bs-body-color);word-wrap:break-word;background-color:var(--bs-card-bg);background-clip:border-box;border:var(--bs-card-border-width) solid var(--bs-card-border-color);border-radius:var(--bs-card-border-radius)}.card>hr{margin-right:0;margin-left:0}.card>.list-group{border-top:inherit;border-bottom:inherit}.card>.list-group:first-child{border-top-width:0;border-top-left-radius:var(--bs-card-inner-border-radius);border-top-right-radius:var(--bs-card-inner-border-radius)}.card>.list-group:last-child{border-bottom-width:0;border-bottom-right-radius:var(--bs-card-inner-border-radius);border-bottom-left-radius:var(--bs-card-inner-border-radius)}.card>.card-header+.list-group,.card>.list-group+.card-footer{border-top:0}.card-body{flex:1 1 auto;padding:var(--bs-card-spacer-y) var(--bs-card-spacer-x);color:var(--bs-card-color)}.card-title{margin-bottom:var(--bs-card-title-spacer-y);color:var(--bs-card-title-color)}.card-subtitle{margin-top:calc(-.5 * var(--bs-card-title-spacer-y));margin-bottom:0;color:var(--bs-card-subtitle-color)}.card-text:last-child{margin-bottom:0}.card-link+.card-link{margin-left:var(--bs-card-spacer-x)}.card-header{padding:var(--bs-card-cap-padding-y) var(--bs-card-cap-padding-x);margin-bottom:0;color:var(--bs-card-cap-color);background-color:var(--bs-card-cap-bg);border-bottom:var(--bs-card-border-width) solid var(--bs-card-border-color)}.card-header:first-child{border-radius:var(--bs-card-inner-border-radius) var(--bs-card-inner-border-radius) 0 0}.card-footer{padding:var(--bs-card-cap-padding-y) var(--bs-card-cap-padding-x);color:var(--bs-card-cap-color);background-color:var(--bs-card-cap-bg);border-top:var(--bs-card-border-width) solid var(--bs-card-border-color)}.card-footer:last-child{border-radius:0 0 var(--bs-card-inner-border-radius) var(--bs-card-inner-border-radius)}.card-header-tabs{margin-right:calc(-.5 * var(--bs-card-cap-padding-x));margin-bottom:calc(-1 * var(--bs-card-cap-padding-y));margin-left:calc(-.5 * var(--bs-card-cap-padding-x));border-bottom:0}.card-header-tabs .nav-link.active{background-color:var(--bs-card-bg);border-bottom-color:var(--bs-card-bg)}.card-header-pills{margin-right:calc(-.5 * var(--bs-card-cap-padding-x));margin-left:calc(-.5 * var(--bs-card-cap-padding-x))}.card-img-overlay{position:absolute;inset:0;padding:var(--bs-card-img-overlay-padding);border-radius:var(--bs-card-inner-border-radius)}.card-img,.card-img-bottom,.card-img-top{width:100%}.card-img,.card-img-top{border-top-left-radius:var(--bs-card-inner-border-radius);border-top-right-radius:var(--bs-card-inner-border-radius)}.card-img,.card-img-bottom{border-bottom-right-radius:var(--bs-card-inner-border-radius);border-bottom-left-radius:var(--bs-card-inner-border-radius)}.card-group>.card{margin-bottom:var(--bs-card-group-margin)}@media(min-width:576px){.card-group{display:flex;flex-flow:row wrap}.card-group>.card{flex:1 0 0;margin-bottom:0}.card-group>.card+.card{margin-left:0;border-left:0}.card-group>.card:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.card-group>.card:not(:last-child)>.card-header,.card-group>.card:not(:last-child)>.card-img-top{border-top-right-radius:0}.card-group>.card:not(:last-child)>.card-footer,.card-group>.card:not(:last-child)>.card-img-bottom{border-bottom-right-radius:0}.card-group>.card:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.card-group>.card:not(:first-child)>.card-header,.card-group>.card:not(:first-child)>.card-img-top{border-top-left-radius:0}.card-group>.card:not(:first-child)>.card-footer,.card-group>.card:not(:first-child)>.card-img-bottom{border-bottom-left-radius:0}}.accordion{--bs-accordion-color:var(--bs-body-color);--bs-accordion-bg:var(--bs-body-bg);--bs-accordion-transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out,border-radius .15s ease;--bs-accordion-border-color:var(--bs-border-color);--bs-accordion-border-width:var(--bs-border-width);--bs-accordion-border-radius:var(--bs-border-radius);--bs-accordion-inner-border-radius:calc(var(--bs-border-radius) - (var(--bs-border-width)));--bs-accordion-btn-padding-x:1.25rem;--bs-accordion-btn-padding-y:1rem;--bs-accordion-btn-color:var(--bs-body-color);--bs-accordion-btn-bg:var(--bs-accordion-bg);--bs-accordion-btn-icon:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%23212529' stroke-linecap='round' stroke-linejoin='round'%3e%3cpath d='m2 5 6 6 6-6'/%3e%3c/svg%3e");--bs-accordion-btn-icon-width:1.25rem;--bs-accordion-btn-icon-transform:rotate(-180deg);--bs-accordion-btn-icon-transition:transform .2s ease-in-out;--bs-accordion-btn-active-icon:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%23052c65' stroke-linecap='round' stroke-linejoin='round'%3e%3cpath d='m2 5 6 6 6-6'/%3e%3c/svg%3e");--bs-accordion-btn-focus-box-shadow:0 0 0 .25rem rgba(13, 110, 253, .25);--bs-accordion-body-padding-x:1.25rem;--bs-accordion-body-padding-y:1rem;--bs-accordion-active-color:var(--bs-primary-text-emphasis);--bs-accordion-active-bg:var(--bs-primary-bg-subtle)}.accordion-button{position:relative;display:flex;align-items:center;width:100%;padding:var(--bs-accordion-btn-padding-y) var(--bs-accordion-btn-padding-x);font-size:1rem;color:var(--bs-accordion-btn-color);text-align:left;background-color:var(--bs-accordion-btn-bg);border:0;border-radius:0;overflow-anchor:none;transition:var(--bs-accordion-transition)}@media(prefers-reduced-motion:reduce){.accordion-button{transition:none}}.accordion-button:not(.collapsed){color:var(--bs-accordion-active-color);background-color:var(--bs-accordion-active-bg);box-shadow:inset 0 calc(-1 * var(--bs-accordion-border-width)) 0 var(--bs-accordion-border-color)}.accordion-button:not(.collapsed):after{background-image:var(--bs-accordion-btn-active-icon);transform:var(--bs-accordion-btn-icon-transform)}.accordion-button:after{flex-shrink:0;width:var(--bs-accordion-btn-icon-width);height:var(--bs-accordion-btn-icon-width);margin-left:auto;content:"";background-image:var(--bs-accordion-btn-icon);background-repeat:no-repeat;background-size:var(--bs-accordion-btn-icon-width);transition:var(--bs-accordion-btn-icon-transition)}@media(prefers-reduced-motion:reduce){.accordion-button:after{transition:none}}.accordion-button:hover{z-index:2}.accordion-button:focus{z-index:3;outline:0;box-shadow:var(--bs-accordion-btn-focus-box-shadow)}.accordion-header{margin-bottom:0}.accordion-item{color:var(--bs-accordion-color);background-color:var(--bs-accordion-bg);border:var(--bs-accordion-border-width) solid var(--bs-accordion-border-color)}.accordion-item:first-of-type{border-top-left-radius:var(--bs-accordion-border-radius);border-top-right-radius:var(--bs-accordion-border-radius)}.accordion-item:first-of-type>.accordion-header .accordion-button{border-top-left-radius:var(--bs-accordion-inner-border-radius);border-top-right-radius:var(--bs-accordion-inner-border-radius)}.accordion-item:not(:first-of-type){border-top:0}.accordion-item:last-of-type{border-bottom-right-radius:var(--bs-accordion-border-radius);border-bottom-left-radius:var(--bs-accordion-border-radius)}.accordion-item:last-of-type>.accordion-header .accordion-button.collapsed{border-bottom-right-radius:var(--bs-accordion-inner-border-radius);border-bottom-left-radius:var(--bs-accordion-inner-border-radius)}.accordion-item:last-of-type>.accordion-collapse{border-bottom-right-radius:var(--bs-accordion-border-radius);border-bottom-left-radius:var(--bs-accordion-border-radius)}.accordion-body{padding:var(--bs-accordion-body-padding-y) var(--bs-accordion-body-padding-x)}.accordion-flush>.accordion-item{border-right:0;border-left:0;border-radius:0}.accordion-flush>.accordion-item:first-child{border-top:0}.accordion-flush>.accordion-item:last-child{border-bottom:0}.accordion-flush>.accordion-item>.accordion-collapse,.accordion-flush>.accordion-item>.accordion-header .accordion-button,.accordion-flush>.accordion-item>.accordion-header .accordion-button.collapsed{border-radius:0}[data-bs-theme=dark] .accordion-button:after{--bs-accordion-btn-icon:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%236ea8fe'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708'/%3e%3c/svg%3e");--bs-accordion-btn-active-icon:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%236ea8fe'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708'/%3e%3c/svg%3e")}.breadcrumb{--bs-breadcrumb-padding-x:0;--bs-breadcrumb-padding-y:0;--bs-breadcrumb-margin-bottom:1rem;--bs-breadcrumb-bg: ;--bs-breadcrumb-border-radius: ;--bs-breadcrumb-divider-color:var(--bs-secondary-color);--bs-breadcrumb-item-padding-x:.5rem;--bs-breadcrumb-item-active-color:var(--bs-secondary-color);display:flex;flex-wrap:wrap;padding:var(--bs-breadcrumb-padding-y) var(--bs-breadcrumb-padding-x);margin-bottom:var(--bs-breadcrumb-margin-bottom);font-size:var(--bs-breadcrumb-font-size);list-style:none;background-color:var(--bs-breadcrumb-bg);border-radius:var(--bs-breadcrumb-border-radius)}.breadcrumb-item+.breadcrumb-item{padding-left:var(--bs-breadcrumb-item-padding-x)}.breadcrumb-item+.breadcrumb-item:before{float:left;padding-right:var(--bs-breadcrumb-item-padding-x);color:var(--bs-breadcrumb-divider-color);content:var(--bs-breadcrumb-divider, "/")}.breadcrumb-item.active{color:var(--bs-breadcrumb-item-active-color)}.pagination{--bs-pagination-padding-x:.75rem;--bs-pagination-padding-y:.375rem;--bs-pagination-font-size:1rem;--bs-pagination-color:var(--bs-link-color);--bs-pagination-bg:var(--bs-body-bg);--bs-pagination-border-width:var(--bs-border-width);--bs-pagination-border-color:var(--bs-border-color);--bs-pagination-border-radius:var(--bs-border-radius);--bs-pagination-hover-color:var(--bs-link-hover-color);--bs-pagination-hover-bg:var(--bs-tertiary-bg);--bs-pagination-hover-border-color:var(--bs-border-color);--bs-pagination-focus-color:var(--bs-link-hover-color);--bs-pagination-focus-bg:var(--bs-secondary-bg);--bs-pagination-focus-box-shadow:0 0 0 .25rem rgba(13, 110, 253, .25);--bs-pagination-active-color:#fff;--bs-pagination-active-bg:#0d6efd;--bs-pagination-active-border-color:#0d6efd;--bs-pagination-disabled-color:var(--bs-secondary-color);--bs-pagination-disabled-bg:var(--bs-secondary-bg);--bs-pagination-disabled-border-color:var(--bs-border-color);display:flex;padding-left:0;list-style:none}.page-link{position:relative;display:block;padding:var(--bs-pagination-padding-y) var(--bs-pagination-padding-x);font-size:var(--bs-pagination-font-size);color:var(--bs-pagination-color);text-decoration:none;background-color:var(--bs-pagination-bg);border:var(--bs-pagination-border-width) solid var(--bs-pagination-border-color);transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media(prefers-reduced-motion:reduce){.page-link{transition:none}}.page-link:hover{z-index:2;color:var(--bs-pagination-hover-color);background-color:var(--bs-pagination-hover-bg);border-color:var(--bs-pagination-hover-border-color)}.page-link:focus{z-index:3;color:var(--bs-pagination-focus-color);background-color:var(--bs-pagination-focus-bg);outline:0;box-shadow:var(--bs-pagination-focus-box-shadow)}.active>.page-link,.page-link.active{z-index:3;color:var(--bs-pagination-active-color);background-color:var(--bs-pagination-active-bg);border-color:var(--bs-pagination-active-border-color)}.disabled>.page-link,.page-link.disabled{color:var(--bs-pagination-disabled-color);pointer-events:none;background-color:var(--bs-pagination-disabled-bg);border-color:var(--bs-pagination-disabled-border-color)}.page-item:not(:first-child) .page-link{margin-left:calc(-1 * var(--bs-border-width))}.page-item:first-child .page-link{border-top-left-radius:var(--bs-pagination-border-radius);border-bottom-left-radius:var(--bs-pagination-border-radius)}.page-item:last-child .page-link{border-top-right-radius:var(--bs-pagination-border-radius);border-bottom-right-radius:var(--bs-pagination-border-radius)}.pagination-lg{--bs-pagination-padding-x:1.5rem;--bs-pagination-padding-y:.75rem;--bs-pagination-font-size:1.25rem;--bs-pagination-border-radius:var(--bs-border-radius-lg)}.pagination-sm{--bs-pagination-padding-x:.5rem;--bs-pagination-padding-y:.25rem;--bs-pagination-font-size:.875rem;--bs-pagination-border-radius:var(--bs-border-radius-sm)}.badge{--bs-badge-padding-x:.65em;--bs-badge-padding-y:.35em;--bs-badge-font-size:.75em;--bs-badge-font-weight:700;--bs-badge-color:#fff;--bs-badge-border-radius:var(--bs-border-radius);display:inline-block;padding:var(--bs-badge-padding-y) var(--bs-badge-padding-x);font-size:var(--bs-badge-font-size);font-weight:var(--bs-badge-font-weight);line-height:1;color:var(--bs-badge-color);text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:var(--bs-badge-border-radius)}.badge:empty{display:none}.btn .badge{position:relative;top:-1px}.alert{--bs-alert-bg:transparent;--bs-alert-padding-x:1rem;--bs-alert-padding-y:1rem;--bs-alert-margin-bottom:1rem;--bs-alert-color:inherit;--bs-alert-border-color:transparent;--bs-alert-border:var(--bs-border-width) solid var(--bs-alert-border-color);--bs-alert-border-radius:var(--bs-border-radius);--bs-alert-link-color:inherit;position:relative;padding:var(--bs-alert-padding-y) var(--bs-alert-padding-x);margin-bottom:var(--bs-alert-margin-bottom);color:var(--bs-alert-color);background-color:var(--bs-alert-bg);border:var(--bs-alert-border);border-radius:var(--bs-alert-border-radius)}.alert-heading{color:inherit}.alert-link{font-weight:700;color:var(--bs-alert-link-color)}.alert-dismissible{padding-right:3rem}.alert-dismissible .btn-close{position:absolute;top:0;right:0;z-index:2;padding:1.25rem 1rem}.alert-primary{--bs-alert-color:var(--bs-primary-text-emphasis);--bs-alert-bg:var(--bs-primary-bg-subtle);--bs-alert-border-color:var(--bs-primary-border-subtle);--bs-alert-link-color:var(--bs-primary-text-emphasis)}.alert-secondary{--bs-alert-color:var(--bs-secondary-text-emphasis);--bs-alert-bg:var(--bs-secondary-bg-subtle);--bs-alert-border-color:var(--bs-secondary-border-subtle);--bs-alert-link-color:var(--bs-secondary-text-emphasis)}.alert-success{--bs-alert-color:var(--bs-success-text-emphasis);--bs-alert-bg:var(--bs-success-bg-subtle);--bs-alert-border-color:var(--bs-success-border-subtle);--bs-alert-link-color:var(--bs-success-text-emphasis)}.alert-info{--bs-alert-color:var(--bs-info-text-emphasis);--bs-alert-bg:var(--bs-info-bg-subtle);--bs-alert-border-color:var(--bs-info-border-subtle);--bs-alert-link-color:var(--bs-info-text-emphasis)}.alert-warning{--bs-alert-color:var(--bs-warning-text-emphasis);--bs-alert-bg:var(--bs-warning-bg-subtle);--bs-alert-border-color:var(--bs-warning-border-subtle);--bs-alert-link-color:var(--bs-warning-text-emphasis)}.alert-danger{--bs-alert-color:var(--bs-danger-text-emphasis);--bs-alert-bg:var(--bs-danger-bg-subtle);--bs-alert-border-color:var(--bs-danger-border-subtle);--bs-alert-link-color:var(--bs-danger-text-emphasis)}.alert-light{--bs-alert-color:var(--bs-light-text-emphasis);--bs-alert-bg:var(--bs-light-bg-subtle);--bs-alert-border-color:var(--bs-light-border-subtle);--bs-alert-link-color:var(--bs-light-text-emphasis)}.alert-dark{--bs-alert-color:var(--bs-dark-text-emphasis);--bs-alert-bg:var(--bs-dark-bg-subtle);--bs-alert-border-color:var(--bs-dark-border-subtle);--bs-alert-link-color:var(--bs-dark-text-emphasis)}@keyframes progress-bar-stripes{0%{background-position-x:var(--bs-progress-height)}}.progress,.progress-stacked{--bs-progress-height:1rem;--bs-progress-font-size:.75rem;--bs-progress-bg:var(--bs-secondary-bg);--bs-progress-border-radius:var(--bs-border-radius);--bs-progress-box-shadow:var(--bs-box-shadow-inset);--bs-progress-bar-color:#fff;--bs-progress-bar-bg:#0d6efd;--bs-progress-bar-transition:width .6s ease;display:flex;height:var(--bs-progress-height);overflow:hidden;font-size:var(--bs-progress-font-size);background-color:var(--bs-progress-bg);border-radius:var(--bs-progress-border-radius)}.progress-bar{display:flex;flex-direction:column;justify-content:center;overflow:hidden;color:var(--bs-progress-bar-color);text-align:center;white-space:nowrap;background-color:var(--bs-progress-bar-bg);transition:var(--bs-progress-bar-transition)}@media(prefers-reduced-motion:reduce){.progress-bar{transition:none}}.progress-bar-striped{background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-size:var(--bs-progress-height) var(--bs-progress-height)}.progress-stacked>.progress{overflow:visible}.progress-stacked>.progress>.progress-bar{width:100%}.progress-bar-animated{animation:1s linear infinite progress-bar-stripes}@media(prefers-reduced-motion:reduce){.progress-bar-animated{animation:none}}.list-group{--bs-list-group-color:var(--bs-body-color);--bs-list-group-bg:var(--bs-body-bg);--bs-list-group-border-color:var(--bs-border-color);--bs-list-group-border-width:var(--bs-border-width);--bs-list-group-border-radius:var(--bs-border-radius);--bs-list-group-item-padding-x:1rem;--bs-list-group-item-padding-y:.5rem;--bs-list-group-action-color:var(--bs-secondary-color);--bs-list-group-action-hover-color:var(--bs-emphasis-color);--bs-list-group-action-hover-bg:var(--bs-tertiary-bg);--bs-list-group-action-active-color:var(--bs-body-color);--bs-list-group-action-active-bg:var(--bs-secondary-bg);--bs-list-group-disabled-color:var(--bs-secondary-color);--bs-list-group-disabled-bg:var(--bs-body-bg);--bs-list-group-active-color:#fff;--bs-list-group-active-bg:#0d6efd;--bs-list-group-active-border-color:#0d6efd;display:flex;flex-direction:column;padding-left:0;margin-bottom:0;border-radius:var(--bs-list-group-border-radius)}.list-group-numbered{list-style-type:none;counter-reset:section}.list-group-numbered>.list-group-item:before{content:counters(section,".") ". ";counter-increment:section}.list-group-item{position:relative;display:block;padding:var(--bs-list-group-item-padding-y) var(--bs-list-group-item-padding-x);color:var(--bs-list-group-color);text-decoration:none;background-color:var(--bs-list-group-bg);border:var(--bs-list-group-border-width) solid var(--bs-list-group-border-color)}.list-group-item:first-child{border-top-left-radius:inherit;border-top-right-radius:inherit}.list-group-item:last-child{border-bottom-right-radius:inherit;border-bottom-left-radius:inherit}.list-group-item.disabled,.list-group-item:disabled{color:var(--bs-list-group-disabled-color);pointer-events:none;background-color:var(--bs-list-group-disabled-bg)}.list-group-item.active{z-index:2;color:var(--bs-list-group-active-color);background-color:var(--bs-list-group-active-bg);border-color:var(--bs-list-group-active-border-color)}.list-group-item+.list-group-item{border-top-width:0}.list-group-item+.list-group-item.active{margin-top:calc(-1 * var(--bs-list-group-border-width));border-top-width:var(--bs-list-group-border-width)}.list-group-item-action{width:100%;color:var(--bs-list-group-action-color);text-align:inherit}.list-group-item-action:not(.active):focus,.list-group-item-action:not(.active):hover{z-index:1;color:var(--bs-list-group-action-hover-color);text-decoration:none;background-color:var(--bs-list-group-action-hover-bg)}.list-group-item-action:not(.active):active{color:var(--bs-list-group-action-active-color);background-color:var(--bs-list-group-action-active-bg)}.list-group-horizontal{flex-direction:row}.list-group-horizontal>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--bs-list-group-border-radius);border-bottom-left-radius:0}.list-group-horizontal>.list-group-item.active{margin-top:0}.list-group-horizontal>.list-group-item+.list-group-item{border-top-width:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal>.list-group-item+.list-group-item.active{margin-left:calc(-1 * var(--bs-list-group-border-width));border-left-width:var(--bs-list-group-border-width)}@media(min-width:576px){.list-group-horizontal-sm{flex-direction:row}.list-group-horizontal-sm>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal-sm>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--bs-list-group-border-radius);border-bottom-left-radius:0}.list-group-horizontal-sm>.list-group-item.active{margin-top:0}.list-group-horizontal-sm>.list-group-item+.list-group-item{border-top-width:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal-sm>.list-group-item+.list-group-item.active{margin-left:calc(-1 * var(--bs-list-group-border-width));border-left-width:var(--bs-list-group-border-width)}}@media(min-width:768px){.list-group-horizontal-md{flex-direction:row}.list-group-horizontal-md>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal-md>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--bs-list-group-border-radius);border-bottom-left-radius:0}.list-group-horizontal-md>.list-group-item.active{margin-top:0}.list-group-horizontal-md>.list-group-item+.list-group-item{border-top-width:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal-md>.list-group-item+.list-group-item.active{margin-left:calc(-1 * var(--bs-list-group-border-width));border-left-width:var(--bs-list-group-border-width)}}@media(min-width:992px){.list-group-horizontal-lg{flex-direction:row}.list-group-horizontal-lg>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal-lg>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--bs-list-group-border-radius);border-bottom-left-radius:0}.list-group-horizontal-lg>.list-group-item.active{margin-top:0}.list-group-horizontal-lg>.list-group-item+.list-group-item{border-top-width:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal-lg>.list-group-item+.list-group-item.active{margin-left:calc(-1 * var(--bs-list-group-border-width));border-left-width:var(--bs-list-group-border-width)}}@media(min-width:1200px){.list-group-horizontal-xl{flex-direction:row}.list-group-horizontal-xl>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal-xl>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--bs-list-group-border-radius);border-bottom-left-radius:0}.list-group-horizontal-xl>.list-group-item.active{margin-top:0}.list-group-horizontal-xl>.list-group-item+.list-group-item{border-top-width:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal-xl>.list-group-item+.list-group-item.active{margin-left:calc(-1 * var(--bs-list-group-border-width));border-left-width:var(--bs-list-group-border-width)}}@media(min-width:1400px){.list-group-horizontal-xxl{flex-direction:row}.list-group-horizontal-xxl>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal-xxl>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--bs-list-group-border-radius);border-bottom-left-radius:0}.list-group-horizontal-xxl>.list-group-item.active{margin-top:0}.list-group-horizontal-xxl>.list-group-item+.list-group-item{border-top-width:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal-xxl>.list-group-item+.list-group-item.active{margin-left:calc(-1 * var(--bs-list-group-border-width));border-left-width:var(--bs-list-group-border-width)}}.list-group-flush{border-radius:0}.list-group-flush>.list-group-item{border-width:0 0 var(--bs-list-group-border-width)}.list-group-flush>.list-group-item:last-child{border-bottom-width:0}.list-group-item-primary{--bs-list-group-color:var(--bs-primary-text-emphasis);--bs-list-group-bg:var(--bs-primary-bg-subtle);--bs-list-group-border-color:var(--bs-primary-border-subtle);--bs-list-group-action-hover-color:var(--bs-emphasis-color);--bs-list-group-action-hover-bg:var(--bs-primary-border-subtle);--bs-list-group-action-active-color:var(--bs-emphasis-color);--bs-list-group-action-active-bg:var(--bs-primary-border-subtle);--bs-list-group-active-color:var(--bs-primary-bg-subtle);--bs-list-group-active-bg:var(--bs-primary-text-emphasis);--bs-list-group-active-border-color:var(--bs-primary-text-emphasis)}.list-group-item-secondary{--bs-list-group-color:var(--bs-secondary-text-emphasis);--bs-list-group-bg:var(--bs-secondary-bg-subtle);--bs-list-group-border-color:var(--bs-secondary-border-subtle);--bs-list-group-action-hover-color:var(--bs-emphasis-color);--bs-list-group-action-hover-bg:var(--bs-secondary-border-subtle);--bs-list-group-action-active-color:var(--bs-emphasis-color);--bs-list-group-action-active-bg:var(--bs-secondary-border-subtle);--bs-list-group-active-color:var(--bs-secondary-bg-subtle);--bs-list-group-active-bg:var(--bs-secondary-text-emphasis);--bs-list-group-active-border-color:var(--bs-secondary-text-emphasis)}.list-group-item-success{--bs-list-group-color:var(--bs-success-text-emphasis);--bs-list-group-bg:var(--bs-success-bg-subtle);--bs-list-group-border-color:var(--bs-success-border-subtle);--bs-list-group-action-hover-color:var(--bs-emphasis-color);--bs-list-group-action-hover-bg:var(--bs-success-border-subtle);--bs-list-group-action-active-color:var(--bs-emphasis-color);--bs-list-group-action-active-bg:var(--bs-success-border-subtle);--bs-list-group-active-color:var(--bs-success-bg-subtle);--bs-list-group-active-bg:var(--bs-success-text-emphasis);--bs-list-group-active-border-color:var(--bs-success-text-emphasis)}.list-group-item-info{--bs-list-group-color:var(--bs-info-text-emphasis);--bs-list-group-bg:var(--bs-info-bg-subtle);--bs-list-group-border-color:var(--bs-info-border-subtle);--bs-list-group-action-hover-color:var(--bs-emphasis-color);--bs-list-group-action-hover-bg:var(--bs-info-border-subtle);--bs-list-group-action-active-color:var(--bs-emphasis-color);--bs-list-group-action-active-bg:var(--bs-info-border-subtle);--bs-list-group-active-color:var(--bs-info-bg-subtle);--bs-list-group-active-bg:var(--bs-info-text-emphasis);--bs-list-group-active-border-color:var(--bs-info-text-emphasis)}.list-group-item-warning{--bs-list-group-color:var(--bs-warning-text-emphasis);--bs-list-group-bg:var(--bs-warning-bg-subtle);--bs-list-group-border-color:var(--bs-warning-border-subtle);--bs-list-group-action-hover-color:var(--bs-emphasis-color);--bs-list-group-action-hover-bg:var(--bs-warning-border-subtle);--bs-list-group-action-active-color:var(--bs-emphasis-color);--bs-list-group-action-active-bg:var(--bs-warning-border-subtle);--bs-list-group-active-color:var(--bs-warning-bg-subtle);--bs-list-group-active-bg:var(--bs-warning-text-emphasis);--bs-list-group-active-border-color:var(--bs-warning-text-emphasis)}.list-group-item-danger{--bs-list-group-color:var(--bs-danger-text-emphasis);--bs-list-group-bg:var(--bs-danger-bg-subtle);--bs-list-group-border-color:var(--bs-danger-border-subtle);--bs-list-group-action-hover-color:var(--bs-emphasis-color);--bs-list-group-action-hover-bg:var(--bs-danger-border-subtle);--bs-list-group-action-active-color:var(--bs-emphasis-color);--bs-list-group-action-active-bg:var(--bs-danger-border-subtle);--bs-list-group-active-color:var(--bs-danger-bg-subtle);--bs-list-group-active-bg:var(--bs-danger-text-emphasis);--bs-list-group-active-border-color:var(--bs-danger-text-emphasis)}.list-group-item-light{--bs-list-group-color:var(--bs-light-text-emphasis);--bs-list-group-bg:var(--bs-light-bg-subtle);--bs-list-group-border-color:var(--bs-light-border-subtle);--bs-list-group-action-hover-color:var(--bs-emphasis-color);--bs-list-group-action-hover-bg:var(--bs-light-border-subtle);--bs-list-group-action-active-color:var(--bs-emphasis-color);--bs-list-group-action-active-bg:var(--bs-light-border-subtle);--bs-list-group-active-color:var(--bs-light-bg-subtle);--bs-list-group-active-bg:var(--bs-light-text-emphasis);--bs-list-group-active-border-color:var(--bs-light-text-emphasis)}.list-group-item-dark{--bs-list-group-color:var(--bs-dark-text-emphasis);--bs-list-group-bg:var(--bs-dark-bg-subtle);--bs-list-group-border-color:var(--bs-dark-border-subtle);--bs-list-group-action-hover-color:var(--bs-emphasis-color);--bs-list-group-action-hover-bg:var(--bs-dark-border-subtle);--bs-list-group-action-active-color:var(--bs-emphasis-color);--bs-list-group-action-active-bg:var(--bs-dark-border-subtle);--bs-list-group-active-color:var(--bs-dark-bg-subtle);--bs-list-group-active-bg:var(--bs-dark-text-emphasis);--bs-list-group-active-border-color:var(--bs-dark-text-emphasis)}.btn-close{--bs-btn-close-color:#000;--bs-btn-close-bg:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23000'%3e%3cpath d='M.293.293a1 1 0 0 1 1.414 0L8 6.586 14.293.293a1 1 0 1 1 1.414 1.414L9.414 8l6.293 6.293a1 1 0 0 1-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 0 1-1.414-1.414L6.586 8 .293 1.707a1 1 0 0 1 0-1.414'/%3e%3c/svg%3e");--bs-btn-close-opacity:.5;--bs-btn-close-hover-opacity:.75;--bs-btn-close-focus-shadow:0 0 0 .25rem rgba(13, 110, 253, .25);--bs-btn-close-focus-opacity:1;--bs-btn-close-disabled-opacity:.25;box-sizing:content-box;width:1em;height:1em;padding:.25em;color:var(--bs-btn-close-color);background:transparent var(--bs-btn-close-bg) center/1em auto no-repeat;filter:var(--bs-btn-close-filter);border:0;border-radius:.375rem;opacity:var(--bs-btn-close-opacity)}.btn-close:hover{color:var(--bs-btn-close-color);text-decoration:none;opacity:var(--bs-btn-close-hover-opacity)}.btn-close:focus{outline:0;box-shadow:var(--bs-btn-close-focus-shadow);opacity:var(--bs-btn-close-focus-opacity)}.btn-close.disabled,.btn-close:disabled{pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;opacity:var(--bs-btn-close-disabled-opacity)}.btn-close-white{--bs-btn-close-filter:invert(1) grayscale(100%) brightness(200%)}:root,[data-bs-theme=light]{--bs-btn-close-filter: }[data-bs-theme=dark]{--bs-btn-close-filter:invert(1) grayscale(100%) brightness(200%)}.toast{--bs-toast-zindex:1090;--bs-toast-padding-x:.75rem;--bs-toast-padding-y:.5rem;--bs-toast-spacing:1.5rem;--bs-toast-max-width:350px;--bs-toast-font-size:.875rem;--bs-toast-color: ;--bs-toast-bg:rgba(var(--bs-body-bg-rgb), .85);--bs-toast-border-width:var(--bs-border-width);--bs-toast-border-color:var(--bs-border-color-translucent);--bs-toast-border-radius:var(--bs-border-radius);--bs-toast-box-shadow:var(--bs-box-shadow);--bs-toast-header-color:var(--bs-secondary-color);--bs-toast-header-bg:rgba(var(--bs-body-bg-rgb), .85);--bs-toast-header-border-color:var(--bs-border-color-translucent);width:var(--bs-toast-max-width);max-width:100%;font-size:var(--bs-toast-font-size);color:var(--bs-toast-color);pointer-events:auto;background-color:var(--bs-toast-bg);background-clip:padding-box;border:var(--bs-toast-border-width) solid var(--bs-toast-border-color);box-shadow:var(--bs-toast-box-shadow);border-radius:var(--bs-toast-border-radius)}.toast.showing{opacity:0}.toast:not(.show){display:none}.toast-container{--bs-toast-zindex:1090;position:absolute;z-index:var(--bs-toast-zindex);width:-webkit-max-content;width:-moz-max-content;width:max-content;max-width:100%;pointer-events:none}.toast-container>:not(:last-child){margin-bottom:var(--bs-toast-spacing)}.toast-header{display:flex;align-items:center;padding:var(--bs-toast-padding-y) var(--bs-toast-padding-x);color:var(--bs-toast-header-color);background-color:var(--bs-toast-header-bg);background-clip:padding-box;border-bottom:var(--bs-toast-border-width) solid var(--bs-toast-header-border-color);border-top-left-radius:calc(var(--bs-toast-border-radius) - var(--bs-toast-border-width));border-top-right-radius:calc(var(--bs-toast-border-radius) - var(--bs-toast-border-width))}.toast-header .btn-close{margin-right:calc(-.5 * var(--bs-toast-padding-x));margin-left:var(--bs-toast-padding-x)}.toast-body{padding:var(--bs-toast-padding-x);word-wrap:break-word}.modal{--bs-modal-zindex:1055;--bs-modal-width:500px;--bs-modal-padding:1rem;--bs-modal-margin:.5rem;--bs-modal-color:var(--bs-body-color);--bs-modal-bg:var(--bs-body-bg);--bs-modal-border-color:var(--bs-border-color-translucent);--bs-modal-border-width:var(--bs-border-width);--bs-modal-border-radius:var(--bs-border-radius-lg);--bs-modal-box-shadow:var(--bs-box-shadow-sm);--bs-modal-inner-border-radius:calc(var(--bs-border-radius-lg) - (var(--bs-border-width)));--bs-modal-header-padding-x:1rem;--bs-modal-header-padding-y:1rem;--bs-modal-header-padding:1rem 1rem;--bs-modal-header-border-color:var(--bs-border-color);--bs-modal-header-border-width:var(--bs-border-width);--bs-modal-title-line-height:1.5;--bs-modal-footer-gap:.5rem;--bs-modal-footer-bg: ;--bs-modal-footer-border-color:var(--bs-border-color);--bs-modal-footer-border-width:var(--bs-border-width);position:fixed;top:0;left:0;z-index:var(--bs-modal-zindex);display:none;width:100%;height:100%;overflow-x:hidden;overflow-y:auto;outline:0}.modal-dialog{position:relative;width:auto;margin:var(--bs-modal-margin);pointer-events:none}.modal.fade .modal-dialog{transform:translateY(-50px);transition:transform .3s ease-out}@media(prefers-reduced-motion:reduce){.modal.fade .modal-dialog{transition:none}}.modal.show .modal-dialog{transform:none}.modal.modal-static .modal-dialog{transform:scale(1.02)}.modal-dialog-scrollable{height:calc(100% - var(--bs-modal-margin) * 2)}.modal-dialog-scrollable .modal-content{max-height:100%;overflow:hidden}.modal-dialog-scrollable .modal-body{overflow-y:auto}.modal-dialog-centered{display:flex;align-items:center;min-height:calc(100% - var(--bs-modal-margin) * 2)}.modal-content{position:relative;display:flex;flex-direction:column;width:100%;color:var(--bs-modal-color);pointer-events:auto;background-color:var(--bs-modal-bg);background-clip:padding-box;border:var(--bs-modal-border-width) solid var(--bs-modal-border-color);border-radius:var(--bs-modal-border-radius);outline:0}.modal-backdrop{--bs-backdrop-zindex:1050;--bs-backdrop-bg:#000;--bs-backdrop-opacity:.5;position:fixed;top:0;left:0;z-index:var(--bs-backdrop-zindex);width:100vw;height:100vh;background-color:var(--bs-backdrop-bg)}.modal-backdrop.fade{opacity:0}.modal-backdrop.show{opacity:var(--bs-backdrop-opacity)}.modal-header{display:flex;flex-shrink:0;align-items:center;padding:var(--bs-modal-header-padding);border-bottom:var(--bs-modal-header-border-width) solid var(--bs-modal-header-border-color);border-top-left-radius:var(--bs-modal-inner-border-radius);border-top-right-radius:var(--bs-modal-inner-border-radius)}.modal-header .btn-close{padding:calc(var(--bs-modal-header-padding-y) * .5) calc(var(--bs-modal-header-padding-x) * .5);margin-top:calc(-.5 * var(--bs-modal-header-padding-y));margin-right:calc(-.5 * var(--bs-modal-header-padding-x));margin-bottom:calc(-.5 * var(--bs-modal-header-padding-y));margin-left:auto}.modal-title{margin-bottom:0;line-height:var(--bs-modal-title-line-height)}.modal-body{position:relative;flex:1 1 auto;padding:var(--bs-modal-padding)}.modal-footer{display:flex;flex-shrink:0;flex-wrap:wrap;align-items:center;justify-content:flex-end;padding:calc(var(--bs-modal-padding) - var(--bs-modal-footer-gap) * .5);background-color:var(--bs-modal-footer-bg);border-top:var(--bs-modal-footer-border-width) solid var(--bs-modal-footer-border-color);border-bottom-right-radius:var(--bs-modal-inner-border-radius);border-bottom-left-radius:var(--bs-modal-inner-border-radius)}.modal-footer>*{margin:calc(var(--bs-modal-footer-gap) * .5)}@media(min-width:576px){.modal{--bs-modal-margin:1.75rem;--bs-modal-box-shadow:var(--bs-box-shadow)}.modal-dialog{max-width:var(--bs-modal-width);margin-right:auto;margin-left:auto}.modal-sm{--bs-modal-width:300px}}@media(min-width:992px){.modal-lg,.modal-xl{--bs-modal-width:800px}}@media(min-width:1200px){.modal-xl{--bs-modal-width:1140px}}.modal-fullscreen{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen .modal-footer,.modal-fullscreen .modal-header{border-radius:0}.modal-fullscreen .modal-body{overflow-y:auto}@media(max-width:575.98px){.modal-fullscreen-sm-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-sm-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-sm-down .modal-footer,.modal-fullscreen-sm-down .modal-header{border-radius:0}.modal-fullscreen-sm-down .modal-body{overflow-y:auto}}@media(max-width:767.98px){.modal-fullscreen-md-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-md-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-md-down .modal-footer,.modal-fullscreen-md-down .modal-header{border-radius:0}.modal-fullscreen-md-down .modal-body{overflow-y:auto}}@media(max-width:991.98px){.modal-fullscreen-lg-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-lg-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-lg-down .modal-footer,.modal-fullscreen-lg-down .modal-header{border-radius:0}.modal-fullscreen-lg-down .modal-body{overflow-y:auto}}@media(max-width:1199.98px){.modal-fullscreen-xl-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-xl-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-xl-down .modal-footer,.modal-fullscreen-xl-down .modal-header{border-radius:0}.modal-fullscreen-xl-down .modal-body{overflow-y:auto}}@media(max-width:1399.98px){.modal-fullscreen-xxl-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-xxl-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-xxl-down .modal-footer,.modal-fullscreen-xxl-down .modal-header{border-radius:0}.modal-fullscreen-xxl-down .modal-body{overflow-y:auto}}.tooltip{--bs-tooltip-zindex:1080;--bs-tooltip-max-width:200px;--bs-tooltip-padding-x:.5rem;--bs-tooltip-padding-y:.25rem;--bs-tooltip-margin: ;--bs-tooltip-font-size:.875rem;--bs-tooltip-color:var(--bs-body-bg);--bs-tooltip-bg:var(--bs-emphasis-color);--bs-tooltip-border-radius:var(--bs-border-radius);--bs-tooltip-opacity:.9;--bs-tooltip-arrow-width:.8rem;--bs-tooltip-arrow-height:.4rem;z-index:var(--bs-tooltip-zindex);display:block;margin:var(--bs-tooltip-margin);font-family:var(--bs-font-sans-serif);font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;white-space:normal;word-spacing:normal;line-break:auto;font-size:var(--bs-tooltip-font-size);word-wrap:break-word;opacity:0}.tooltip.show{opacity:var(--bs-tooltip-opacity)}.tooltip .tooltip-arrow{display:block;width:var(--bs-tooltip-arrow-width);height:var(--bs-tooltip-arrow-height)}.tooltip .tooltip-arrow:before{position:absolute;content:"";border-color:transparent;border-style:solid}.bs-tooltip-auto[data-popper-placement^=top] .tooltip-arrow,.bs-tooltip-top .tooltip-arrow{bottom:calc(-1 * var(--bs-tooltip-arrow-height))}.bs-tooltip-auto[data-popper-placement^=top] .tooltip-arrow:before,.bs-tooltip-top .tooltip-arrow:before{top:-1px;border-width:var(--bs-tooltip-arrow-height) calc(var(--bs-tooltip-arrow-width) * .5) 0;border-top-color:var(--bs-tooltip-bg)}.bs-tooltip-auto[data-popper-placement^=right] .tooltip-arrow,.bs-tooltip-end .tooltip-arrow{left:calc(-1 * var(--bs-tooltip-arrow-height));width:var(--bs-tooltip-arrow-height);height:var(--bs-tooltip-arrow-width)}.bs-tooltip-auto[data-popper-placement^=right] .tooltip-arrow:before,.bs-tooltip-end .tooltip-arrow:before{right:-1px;border-width:calc(var(--bs-tooltip-arrow-width) * .5) var(--bs-tooltip-arrow-height) calc(var(--bs-tooltip-arrow-width) * .5) 0;border-right-color:var(--bs-tooltip-bg)}.bs-tooltip-auto[data-popper-placement^=bottom] .tooltip-arrow,.bs-tooltip-bottom .tooltip-arrow{top:calc(-1 * var(--bs-tooltip-arrow-height))}.bs-tooltip-auto[data-popper-placement^=bottom] .tooltip-arrow:before,.bs-tooltip-bottom .tooltip-arrow:before{bottom:-1px;border-width:0 calc(var(--bs-tooltip-arrow-width) * .5) var(--bs-tooltip-arrow-height);border-bottom-color:var(--bs-tooltip-bg)}.bs-tooltip-auto[data-popper-placement^=left] .tooltip-arrow,.bs-tooltip-start .tooltip-arrow{right:calc(-1 * var(--bs-tooltip-arrow-height));width:var(--bs-tooltip-arrow-height);height:var(--bs-tooltip-arrow-width)}.bs-tooltip-auto[data-popper-placement^=left] .tooltip-arrow:before,.bs-tooltip-start .tooltip-arrow:before{left:-1px;border-width:calc(var(--bs-tooltip-arrow-width) * .5) 0 calc(var(--bs-tooltip-arrow-width) * .5) var(--bs-tooltip-arrow-height);border-left-color:var(--bs-tooltip-bg)}.tooltip-inner{max-width:var(--bs-tooltip-max-width);padding:var(--bs-tooltip-padding-y) var(--bs-tooltip-padding-x);color:var(--bs-tooltip-color);text-align:center;background-color:var(--bs-tooltip-bg);border-radius:var(--bs-tooltip-border-radius)}.popover{--bs-popover-zindex:1070;--bs-popover-max-width:276px;--bs-popover-font-size:.875rem;--bs-popover-bg:var(--bs-body-bg);--bs-popover-border-width:var(--bs-border-width);--bs-popover-border-color:var(--bs-border-color-translucent);--bs-popover-border-radius:var(--bs-border-radius-lg);--bs-popover-inner-border-radius:calc(var(--bs-border-radius-lg) - var(--bs-border-width));--bs-popover-box-shadow:var(--bs-box-shadow);--bs-popover-header-padding-x:1rem;--bs-popover-header-padding-y:.5rem;--bs-popover-header-font-size:1rem;--bs-popover-header-color:inherit;--bs-popover-header-bg:var(--bs-secondary-bg);--bs-popover-body-padding-x:1rem;--bs-popover-body-padding-y:1rem;--bs-popover-body-color:var(--bs-body-color);--bs-popover-arrow-width:1rem;--bs-popover-arrow-height:.5rem;--bs-popover-arrow-border:var(--bs-popover-border-color);z-index:var(--bs-popover-zindex);display:block;max-width:var(--bs-popover-max-width);font-family:var(--bs-font-sans-serif);font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;white-space:normal;word-spacing:normal;line-break:auto;font-size:var(--bs-popover-font-size);word-wrap:break-word;background-color:var(--bs-popover-bg);background-clip:padding-box;border:var(--bs-popover-border-width) solid var(--bs-popover-border-color);border-radius:var(--bs-popover-border-radius)}.popover .popover-arrow{display:block;width:var(--bs-popover-arrow-width);height:var(--bs-popover-arrow-height)}.popover .popover-arrow:after,.popover .popover-arrow:before{position:absolute;display:block;content:"";border-color:transparent;border-style:solid;border-width:0}.bs-popover-auto[data-popper-placement^=top]>.popover-arrow,.bs-popover-top>.popover-arrow{bottom:calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width))}.bs-popover-auto[data-popper-placement^=top]>.popover-arrow:after,.bs-popover-auto[data-popper-placement^=top]>.popover-arrow:before,.bs-popover-top>.popover-arrow:after,.bs-popover-top>.popover-arrow:before{border-width:var(--bs-popover-arrow-height) calc(var(--bs-popover-arrow-width) * .5) 0}.bs-popover-auto[data-popper-placement^=top]>.popover-arrow:before,.bs-popover-top>.popover-arrow:before{bottom:0;border-top-color:var(--bs-popover-arrow-border)}.bs-popover-auto[data-popper-placement^=top]>.popover-arrow:after,.bs-popover-top>.popover-arrow:after{bottom:var(--bs-popover-border-width);border-top-color:var(--bs-popover-bg)}.bs-popover-auto[data-popper-placement^=right]>.popover-arrow,.bs-popover-end>.popover-arrow{left:calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width));width:var(--bs-popover-arrow-height);height:var(--bs-popover-arrow-width)}.bs-popover-auto[data-popper-placement^=right]>.popover-arrow:after,.bs-popover-auto[data-popper-placement^=right]>.popover-arrow:before,.bs-popover-end>.popover-arrow:after,.bs-popover-end>.popover-arrow:before{border-width:calc(var(--bs-popover-arrow-width) * .5) var(--bs-popover-arrow-height) calc(var(--bs-popover-arrow-width) * .5) 0}.bs-popover-auto[data-popper-placement^=right]>.popover-arrow:before,.bs-popover-end>.popover-arrow:before{left:0;border-right-color:var(--bs-popover-arrow-border)}.bs-popover-auto[data-popper-placement^=right]>.popover-arrow:after,.bs-popover-end>.popover-arrow:after{left:var(--bs-popover-border-width);border-right-color:var(--bs-popover-bg)}.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow,.bs-popover-bottom>.popover-arrow{top:calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width))}.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow:after,.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow:before,.bs-popover-bottom>.popover-arrow:after,.bs-popover-bottom>.popover-arrow:before{border-width:0 calc(var(--bs-popover-arrow-width) * .5) var(--bs-popover-arrow-height)}.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow:before,.bs-popover-bottom>.popover-arrow:before{top:0;border-bottom-color:var(--bs-popover-arrow-border)}.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow:after,.bs-popover-bottom>.popover-arrow:after{top:var(--bs-popover-border-width);border-bottom-color:var(--bs-popover-bg)}.bs-popover-auto[data-popper-placement^=bottom] .popover-header:before,.bs-popover-bottom .popover-header:before{position:absolute;top:0;left:50%;display:block;width:var(--bs-popover-arrow-width);margin-left:calc(-.5 * var(--bs-popover-arrow-width));content:"";border-bottom:var(--bs-popover-border-width) solid var(--bs-popover-header-bg)}.bs-popover-auto[data-popper-placement^=left]>.popover-arrow,.bs-popover-start>.popover-arrow{right:calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width));width:var(--bs-popover-arrow-height);height:var(--bs-popover-arrow-width)}.bs-popover-auto[data-popper-placement^=left]>.popover-arrow:after,.bs-popover-auto[data-popper-placement^=left]>.popover-arrow:before,.bs-popover-start>.popover-arrow:after,.bs-popover-start>.popover-arrow:before{border-width:calc(var(--bs-popover-arrow-width) * .5) 0 calc(var(--bs-popover-arrow-width) * .5) var(--bs-popover-arrow-height)}.bs-popover-auto[data-popper-placement^=left]>.popover-arrow:before,.bs-popover-start>.popover-arrow:before{right:0;border-left-color:var(--bs-popover-arrow-border)}.bs-popover-auto[data-popper-placement^=left]>.popover-arrow:after,.bs-popover-start>.popover-arrow:after{right:var(--bs-popover-border-width);border-left-color:var(--bs-popover-bg)}.popover-header{padding:var(--bs-popover-header-padding-y) var(--bs-popover-header-padding-x);margin-bottom:0;font-size:var(--bs-popover-header-font-size);color:var(--bs-popover-header-color);background-color:var(--bs-popover-header-bg);border-bottom:var(--bs-popover-border-width) solid var(--bs-popover-border-color);border-top-left-radius:var(--bs-popover-inner-border-radius);border-top-right-radius:var(--bs-popover-inner-border-radius)}.popover-header:empty{display:none}.popover-body{padding:var(--bs-popover-body-padding-y) var(--bs-popover-body-padding-x);color:var(--bs-popover-body-color)}.carousel{position:relative}.carousel.pointer-event{touch-action:pan-y}.carousel-inner{position:relative;width:100%;overflow:hidden}.carousel-inner:after{display:block;clear:both;content:""}.carousel-item{position:relative;display:none;float:left;width:100%;margin-right:-100%;-webkit-backface-visibility:hidden;backface-visibility:hidden;transition:transform .6s ease-in-out}@media(prefers-reduced-motion:reduce){.carousel-item{transition:none}}.carousel-item-next,.carousel-item-prev,.carousel-item.active{display:block}.active.carousel-item-end,.carousel-item-next:not(.carousel-item-start){transform:translate(100%)}.active.carousel-item-start,.carousel-item-prev:not(.carousel-item-end){transform:translate(-100%)}.carousel-fade .carousel-item{opacity:0;transition-property:opacity;transform:none}.carousel-fade .carousel-item-next.carousel-item-start,.carousel-fade .carousel-item-prev.carousel-item-end,.carousel-fade .carousel-item.active{z-index:1;opacity:1}.carousel-fade .active.carousel-item-end,.carousel-fade .active.carousel-item-start{z-index:0;opacity:0;transition:opacity 0s .6s}@media(prefers-reduced-motion:reduce){.carousel-fade .active.carousel-item-end,.carousel-fade .active.carousel-item-start{transition:none}}.carousel-control-next,.carousel-control-prev{position:absolute;top:0;bottom:0;z-index:1;display:flex;align-items:center;justify-content:center;width:15%;padding:0;color:#fff;text-align:center;background:0 0;filter:var(--bs-carousel-control-icon-filter);border:0;opacity:.5;transition:opacity .15s ease}@media(prefers-reduced-motion:reduce){.carousel-control-next,.carousel-control-prev{transition:none}}.carousel-control-next:focus,.carousel-control-next:hover,.carousel-control-prev:focus,.carousel-control-prev:hover{color:#fff;text-decoration:none;outline:0;opacity:.9}.carousel-control-prev{left:0}.carousel-control-next{right:0}.carousel-control-next-icon,.carousel-control-prev-icon{display:inline-block;width:2rem;height:2rem;background-repeat:no-repeat;background-position:50%;background-size:100% 100%}.carousel-control-prev-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath d='M11.354 1.646a.5.5 0 0 1 0 .708L5.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0'/%3e%3c/svg%3e")}.carousel-control-next-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath d='M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708'/%3e%3c/svg%3e")}.carousel-indicators{position:absolute;right:0;bottom:0;left:0;z-index:2;display:flex;justify-content:center;padding:0;margin-right:15%;margin-bottom:1rem;margin-left:15%}.carousel-indicators [data-bs-target]{box-sizing:content-box;flex:0 1 auto;width:30px;height:3px;padding:0;margin-right:3px;margin-left:3px;text-indent:-999px;cursor:pointer;background-color:var(--bs-carousel-indicator-active-bg);background-clip:padding-box;border:0;border-top:10px solid transparent;border-bottom:10px solid transparent;opacity:.5;transition:opacity .6s ease}@media(prefers-reduced-motion:reduce){.carousel-indicators [data-bs-target]{transition:none}}.carousel-indicators .active{opacity:1}.carousel-caption{position:absolute;right:15%;bottom:1.25rem;left:15%;padding-top:1.25rem;padding-bottom:1.25rem;color:var(--bs-carousel-caption-color);text-align:center}.carousel-dark{--bs-carousel-indicator-active-bg:#000;--bs-carousel-caption-color:#000;--bs-carousel-control-icon-filter:invert(1) grayscale(100)}:root,[data-bs-theme=light]{--bs-carousel-indicator-active-bg:#fff;--bs-carousel-caption-color:#fff;--bs-carousel-control-icon-filter: }[data-bs-theme=dark]{--bs-carousel-indicator-active-bg:#000;--bs-carousel-caption-color:#000;--bs-carousel-control-icon-filter:invert(1) grayscale(100)}.spinner-border,.spinner-grow{display:inline-block;flex-shrink:0;width:var(--bs-spinner-width);height:var(--bs-spinner-height);vertical-align:var(--bs-spinner-vertical-align);border-radius:50%;animation:var(--bs-spinner-animation-speed) linear infinite var(--bs-spinner-animation-name)}@keyframes spinner-border{to{transform:rotate(360deg)}}.spinner-border{--bs-spinner-width:2rem;--bs-spinner-height:2rem;--bs-spinner-vertical-align:-.125em;--bs-spinner-border-width:.25em;--bs-spinner-animation-speed:.75s;--bs-spinner-animation-name:spinner-border;border:var(--bs-spinner-border-width) solid currentcolor;border-right-color:transparent}.spinner-border-sm{--bs-spinner-width:1rem;--bs-spinner-height:1rem;--bs-spinner-border-width:.2em}@keyframes spinner-grow{0%{transform:scale(0)}50%{opacity:1;transform:none}}.spinner-grow{--bs-spinner-width:2rem;--bs-spinner-height:2rem;--bs-spinner-vertical-align:-.125em;--bs-spinner-animation-speed:.75s;--bs-spinner-animation-name:spinner-grow;background-color:currentcolor;opacity:0}.spinner-grow-sm{--bs-spinner-width:1rem;--bs-spinner-height:1rem}@media(prefers-reduced-motion:reduce){.spinner-border,.spinner-grow{--bs-spinner-animation-speed:1.5s}}.offcanvas,.offcanvas-lg,.offcanvas-md,.offcanvas-sm,.offcanvas-xl,.offcanvas-xxl{--bs-offcanvas-zindex:1045;--bs-offcanvas-width:400px;--bs-offcanvas-height:30vh;--bs-offcanvas-padding-x:1rem;--bs-offcanvas-padding-y:1rem;--bs-offcanvas-color:var(--bs-body-color);--bs-offcanvas-bg:var(--bs-body-bg);--bs-offcanvas-border-width:var(--bs-border-width);--bs-offcanvas-border-color:var(--bs-border-color-translucent);--bs-offcanvas-box-shadow:var(--bs-box-shadow-sm);--bs-offcanvas-transition:transform .3s ease-in-out;--bs-offcanvas-title-line-height:1.5}@media(max-width:575.98px){.offcanvas-sm{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:var(--bs-offcanvas-transition)}}@media(max-width:575.98px)and (prefers-reduced-motion:reduce){.offcanvas-sm{transition:none}}@media(max-width:575.98px){.offcanvas-sm.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translate(-100%)}.offcanvas-sm.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translate(100%)}.offcanvas-sm.offcanvas-top{top:0;right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}.offcanvas-sm.offcanvas-bottom{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}.offcanvas-sm.show:not(.hiding),.offcanvas-sm.showing{transform:none}.offcanvas-sm.hiding,.offcanvas-sm.show,.offcanvas-sm.showing{visibility:visible}}@media(min-width:576px){.offcanvas-sm{--bs-offcanvas-height:auto;--bs-offcanvas-border-width:0;background-color:transparent!important}.offcanvas-sm .offcanvas-header{display:none}.offcanvas-sm .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible;background-color:transparent!important}}@media(max-width:767.98px){.offcanvas-md{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:var(--bs-offcanvas-transition)}}@media(max-width:767.98px)and (prefers-reduced-motion:reduce){.offcanvas-md{transition:none}}@media(max-width:767.98px){.offcanvas-md.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translate(-100%)}.offcanvas-md.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translate(100%)}.offcanvas-md.offcanvas-top{top:0;right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}.offcanvas-md.offcanvas-bottom{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}.offcanvas-md.show:not(.hiding),.offcanvas-md.showing{transform:none}.offcanvas-md.hiding,.offcanvas-md.show,.offcanvas-md.showing{visibility:visible}}@media(min-width:768px){.offcanvas-md{--bs-offcanvas-height:auto;--bs-offcanvas-border-width:0;background-color:transparent!important}.offcanvas-md .offcanvas-header{display:none}.offcanvas-md .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible;background-color:transparent!important}}@media(max-width:991.98px){.offcanvas-lg{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:var(--bs-offcanvas-transition)}}@media(max-width:991.98px)and (prefers-reduced-motion:reduce){.offcanvas-lg{transition:none}}@media(max-width:991.98px){.offcanvas-lg.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translate(-100%)}.offcanvas-lg.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translate(100%)}.offcanvas-lg.offcanvas-top{top:0;right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}.offcanvas-lg.offcanvas-bottom{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}.offcanvas-lg.show:not(.hiding),.offcanvas-lg.showing{transform:none}.offcanvas-lg.hiding,.offcanvas-lg.show,.offcanvas-lg.showing{visibility:visible}}@media(min-width:992px){.offcanvas-lg{--bs-offcanvas-height:auto;--bs-offcanvas-border-width:0;background-color:transparent!important}.offcanvas-lg .offcanvas-header{display:none}.offcanvas-lg .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible;background-color:transparent!important}}@media(max-width:1199.98px){.offcanvas-xl{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:var(--bs-offcanvas-transition)}}@media(max-width:1199.98px)and (prefers-reduced-motion:reduce){.offcanvas-xl{transition:none}}@media(max-width:1199.98px){.offcanvas-xl.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translate(-100%)}.offcanvas-xl.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translate(100%)}.offcanvas-xl.offcanvas-top{top:0;right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}.offcanvas-xl.offcanvas-bottom{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}.offcanvas-xl.show:not(.hiding),.offcanvas-xl.showing{transform:none}.offcanvas-xl.hiding,.offcanvas-xl.show,.offcanvas-xl.showing{visibility:visible}}@media(min-width:1200px){.offcanvas-xl{--bs-offcanvas-height:auto;--bs-offcanvas-border-width:0;background-color:transparent!important}.offcanvas-xl .offcanvas-header{display:none}.offcanvas-xl .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible;background-color:transparent!important}}@media(max-width:1399.98px){.offcanvas-xxl{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:var(--bs-offcanvas-transition)}}@media(max-width:1399.98px)and (prefers-reduced-motion:reduce){.offcanvas-xxl{transition:none}}@media(max-width:1399.98px){.offcanvas-xxl.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translate(-100%)}.offcanvas-xxl.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translate(100%)}.offcanvas-xxl.offcanvas-top{top:0;right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}.offcanvas-xxl.offcanvas-bottom{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}.offcanvas-xxl.show:not(.hiding),.offcanvas-xxl.showing{transform:none}.offcanvas-xxl.hiding,.offcanvas-xxl.show,.offcanvas-xxl.showing{visibility:visible}}@media(min-width:1400px){.offcanvas-xxl{--bs-offcanvas-height:auto;--bs-offcanvas-border-width:0;background-color:transparent!important}.offcanvas-xxl .offcanvas-header{display:none}.offcanvas-xxl .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible;background-color:transparent!important}}.offcanvas{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:var(--bs-offcanvas-transition)}@media(prefers-reduced-motion:reduce){.offcanvas{transition:none}}.offcanvas.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translate(-100%)}.offcanvas.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translate(100%)}.offcanvas.offcanvas-top{top:0;right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}.offcanvas.offcanvas-bottom{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}.offcanvas.show:not(.hiding),.offcanvas.showing{transform:none}.offcanvas.hiding,.offcanvas.show,.offcanvas.showing{visibility:visible}.offcanvas-backdrop{position:fixed;top:0;left:0;z-index:1040;width:100vw;height:100vh;background-color:#000}.offcanvas-backdrop.fade{opacity:0}.offcanvas-backdrop.show{opacity:.5}.offcanvas-header{display:flex;align-items:center;padding:var(--bs-offcanvas-padding-y) var(--bs-offcanvas-padding-x)}.offcanvas-header .btn-close{padding:calc(var(--bs-offcanvas-padding-y) * .5) calc(var(--bs-offcanvas-padding-x) * .5);margin-top:calc(-.5 * var(--bs-offcanvas-padding-y));margin-right:calc(-.5 * var(--bs-offcanvas-padding-x));margin-bottom:calc(-.5 * var(--bs-offcanvas-padding-y));margin-left:auto}.offcanvas-title{margin-bottom:0;line-height:var(--bs-offcanvas-title-line-height)}.offcanvas-body{flex-grow:1;padding:var(--bs-offcanvas-padding-y) var(--bs-offcanvas-padding-x);overflow-y:auto}.placeholder{display:inline-block;min-height:1em;vertical-align:middle;cursor:wait;background-color:currentcolor;opacity:.5}.placeholder.btn:before{display:inline-block;content:""}.placeholder-xs{min-height:.6em}.placeholder-sm{min-height:.8em}.placeholder-lg{min-height:1.2em}.placeholder-glow .placeholder{animation:placeholder-glow 2s ease-in-out infinite}@keyframes placeholder-glow{50%{opacity:.2}}.placeholder-wave{-webkit-mask-image:linear-gradient(130deg,#000 55%,rgba(0,0,0,.8) 75%,#000 95%);mask-image:linear-gradient(130deg,#000 55%,#000c,#000 95%);-webkit-mask-size:200% 100%;mask-size:200% 100%;animation:placeholder-wave 2s linear infinite}@keyframes placeholder-wave{to{-webkit-mask-position:-200% 0%;mask-position:-200% 0%}}.clearfix:after{display:block;clear:both;content:""}.text-bg-primary{color:#fff!important;background-color:RGBA(var(--bs-primary-rgb),var(--bs-bg-opacity,1))!important}.text-bg-secondary{color:#fff!important;background-color:RGBA(var(--bs-secondary-rgb),var(--bs-bg-opacity,1))!important}.text-bg-success{color:#fff!important;background-color:RGBA(var(--bs-success-rgb),var(--bs-bg-opacity,1))!important}.text-bg-info{color:#000!important;background-color:RGBA(var(--bs-info-rgb),var(--bs-bg-opacity,1))!important}.text-bg-warning{color:#000!important;background-color:RGBA(var(--bs-warning-rgb),var(--bs-bg-opacity,1))!important}.text-bg-danger{color:#fff!important;background-color:RGBA(var(--bs-danger-rgb),var(--bs-bg-opacity,1))!important}.text-bg-light{color:#000!important;background-color:RGBA(var(--bs-light-rgb),var(--bs-bg-opacity,1))!important}.text-bg-dark{color:#fff!important;background-color:RGBA(var(--bs-dark-rgb),var(--bs-bg-opacity,1))!important}.link-primary{color:RGBA(var(--bs-primary-rgb),var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(var(--bs-primary-rgb),var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(var(--bs-primary-rgb),var(--bs-link-underline-opacity,1))!important}.link-primary:focus,.link-primary:hover{color:RGBA(10,88,202,var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(10,88,202,var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(10,88,202,var(--bs-link-underline-opacity,1))!important}.link-secondary{color:RGBA(var(--bs-secondary-rgb),var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(var(--bs-secondary-rgb),var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(var(--bs-secondary-rgb),var(--bs-link-underline-opacity,1))!important}.link-secondary:focus,.link-secondary:hover{color:RGBA(86,94,100,var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(86,94,100,var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(86,94,100,var(--bs-link-underline-opacity,1))!important}.link-success{color:RGBA(var(--bs-success-rgb),var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(var(--bs-success-rgb),var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(var(--bs-success-rgb),var(--bs-link-underline-opacity,1))!important}.link-success:focus,.link-success:hover{color:RGBA(20,108,67,var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(20,108,67,var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(20,108,67,var(--bs-link-underline-opacity,1))!important}.link-info{color:RGBA(var(--bs-info-rgb),var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(var(--bs-info-rgb),var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(var(--bs-info-rgb),var(--bs-link-underline-opacity,1))!important}.link-info:focus,.link-info:hover{color:RGBA(61,213,243,var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(61,213,243,var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(61,213,243,var(--bs-link-underline-opacity,1))!important}.link-warning{color:RGBA(var(--bs-warning-rgb),var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(var(--bs-warning-rgb),var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(var(--bs-warning-rgb),var(--bs-link-underline-opacity,1))!important}.link-warning:focus,.link-warning:hover{color:RGBA(255,205,57,var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(255,205,57,var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(255,205,57,var(--bs-link-underline-opacity,1))!important}.link-danger{color:RGBA(var(--bs-danger-rgb),var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(var(--bs-danger-rgb),var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(var(--bs-danger-rgb),var(--bs-link-underline-opacity,1))!important}.link-danger:focus,.link-danger:hover{color:RGBA(176,42,55,var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(176,42,55,var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(176,42,55,var(--bs-link-underline-opacity,1))!important}.link-light{color:RGBA(var(--bs-light-rgb),var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(var(--bs-light-rgb),var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(var(--bs-light-rgb),var(--bs-link-underline-opacity,1))!important}.link-light:focus,.link-light:hover{color:RGBA(249,250,251,var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(249,250,251,var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(249,250,251,var(--bs-link-underline-opacity,1))!important}.link-dark{color:RGBA(var(--bs-dark-rgb),var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(var(--bs-dark-rgb),var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(var(--bs-dark-rgb),var(--bs-link-underline-opacity,1))!important}.link-dark:focus,.link-dark:hover{color:RGBA(26,30,33,var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(26,30,33,var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(26,30,33,var(--bs-link-underline-opacity,1))!important}.link-body-emphasis{color:RGBA(var(--bs-emphasis-color-rgb),var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(var(--bs-emphasis-color-rgb),var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(var(--bs-emphasis-color-rgb),var(--bs-link-underline-opacity,1))!important}.link-body-emphasis:focus,.link-body-emphasis:hover{color:RGBA(var(--bs-emphasis-color-rgb),var(--bs-link-opacity,.75))!important;-webkit-text-decoration-color:RGBA(var(--bs-emphasis-color-rgb),var(--bs-link-underline-opacity,.75))!important;text-decoration-color:RGBA(var(--bs-emphasis-color-rgb),var(--bs-link-underline-opacity,.75))!important}.focus-ring:focus{outline:0;box-shadow:var(--bs-focus-ring-x,0) var(--bs-focus-ring-y,0) var(--bs-focus-ring-blur,0) var(--bs-focus-ring-width) var(--bs-focus-ring-color)}.icon-link{display:inline-flex;gap:.375rem;align-items:center;-webkit-text-decoration-color:rgba(var(--bs-link-color-rgb),var(--bs-link-opacity,.5));text-decoration-color:rgba(var(--bs-link-color-rgb),var(--bs-link-opacity,.5));text-underline-offset:.25em;-webkit-backface-visibility:hidden;backface-visibility:hidden}.icon-link>.bi{flex-shrink:0;width:1em;height:1em;fill:currentcolor;transition:.2s ease-in-out transform}@media(prefers-reduced-motion:reduce){.icon-link>.bi{transition:none}}.icon-link-hover:focus-visible>.bi,.icon-link-hover:hover>.bi{transform:var(--bs-icon-link-transform,translate3d(.25em,0,0))}.ratio{position:relative;width:100%}.ratio:before{display:block;padding-top:var(--bs-aspect-ratio);content:""}.ratio>*{position:absolute;top:0;left:0;width:100%;height:100%}.ratio-1x1{--bs-aspect-ratio:100%}.ratio-4x3{--bs-aspect-ratio:75%}.ratio-16x9{--bs-aspect-ratio:56.25%}.ratio-21x9{--bs-aspect-ratio:42.8571428571%}.fixed-top{position:fixed;top:0;right:0;left:0;z-index:1030}.fixed-bottom{position:fixed;right:0;bottom:0;left:0;z-index:1030}.sticky-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}.sticky-bottom{position:-webkit-sticky;position:sticky;bottom:0;z-index:1020}@media(min-width:576px){.sticky-sm-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}.sticky-sm-bottom{position:-webkit-sticky;position:sticky;bottom:0;z-index:1020}}@media(min-width:768px){.sticky-md-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}.sticky-md-bottom{position:-webkit-sticky;position:sticky;bottom:0;z-index:1020}}@media(min-width:992px){.sticky-lg-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}.sticky-lg-bottom{position:-webkit-sticky;position:sticky;bottom:0;z-index:1020}}@media(min-width:1200px){.sticky-xl-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}.sticky-xl-bottom{position:-webkit-sticky;position:sticky;bottom:0;z-index:1020}}@media(min-width:1400px){.sticky-xxl-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}.sticky-xxl-bottom{position:-webkit-sticky;position:sticky;bottom:0;z-index:1020}}.hstack{display:flex;flex-direction:row;align-items:center;align-self:stretch}.vstack{display:flex;flex:1 1 auto;flex-direction:column;align-self:stretch}.visually-hidden,.visually-hidden-focusable:not(:focus):not(:focus-within){width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.visually-hidden-focusable:not(:focus):not(:focus-within):not(caption),.visually-hidden:not(caption){position:absolute!important}.visually-hidden *,.visually-hidden-focusable:not(:focus):not(:focus-within) *{overflow:hidden!important}.stretched-link:after{position:absolute;inset:0;z-index:1;content:""}.text-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vr{display:inline-block;align-self:stretch;width:var(--bs-border-width);min-height:1em;background-color:currentcolor;opacity:.25}.align-baseline{vertical-align:baseline!important}.align-top{vertical-align:top!important}.align-middle{vertical-align:middle!important}.align-bottom{vertical-align:bottom!important}.align-text-bottom{vertical-align:text-bottom!important}.align-text-top{vertical-align:text-top!important}.float-start{float:left!important}.float-end{float:right!important}.float-none{float:none!important}.object-fit-contain{-o-object-fit:contain!important;object-fit:contain!important}.object-fit-cover{-o-object-fit:cover!important;object-fit:cover!important}.object-fit-fill{-o-object-fit:fill!important;object-fit:fill!important}.object-fit-scale{-o-object-fit:scale-down!important;object-fit:scale-down!important}.object-fit-none{-o-object-fit:none!important;object-fit:none!important}.opacity-0{opacity:0!important}.opacity-25{opacity:.25!important}.opacity-50{opacity:.5!important}.opacity-75{opacity:.75!important}.opacity-100{opacity:1!important}.overflow-auto{overflow:auto!important}.overflow-hidden{overflow:hidden!important}.overflow-visible{overflow:visible!important}.overflow-scroll{overflow:scroll!important}.overflow-x-auto{overflow-x:auto!important}.overflow-x-hidden{overflow-x:hidden!important}.overflow-x-visible{overflow-x:visible!important}.overflow-x-scroll{overflow-x:scroll!important}.overflow-y-auto{overflow-y:auto!important}.overflow-y-hidden{overflow-y:hidden!important}.overflow-y-visible{overflow-y:visible!important}.overflow-y-scroll{overflow-y:scroll!important}.d-inline{display:inline!important}.d-inline-block{display:inline-block!important}.d-block{display:block!important}.d-grid{display:grid!important}.d-inline-grid{display:inline-grid!important}.d-table{display:table!important}.d-table-row{display:table-row!important}.d-table-cell{display:table-cell!important}.d-flex{display:flex!important}.d-inline-flex{display:inline-flex!important}.d-none{display:none!important}.shadow{box-shadow:var(--bs-box-shadow)!important}.shadow-sm{box-shadow:var(--bs-box-shadow-sm)!important}.shadow-lg{box-shadow:var(--bs-box-shadow-lg)!important}.shadow-none{box-shadow:none!important}.focus-ring-primary{--bs-focus-ring-color:rgba(var(--bs-primary-rgb), var(--bs-focus-ring-opacity))}.focus-ring-secondary{--bs-focus-ring-color:rgba(var(--bs-secondary-rgb), var(--bs-focus-ring-opacity))}.focus-ring-success{--bs-focus-ring-color:rgba(var(--bs-success-rgb), var(--bs-focus-ring-opacity))}.focus-ring-info{--bs-focus-ring-color:rgba(var(--bs-info-rgb), var(--bs-focus-ring-opacity))}.focus-ring-warning{--bs-focus-ring-color:rgba(var(--bs-warning-rgb), var(--bs-focus-ring-opacity))}.focus-ring-danger{--bs-focus-ring-color:rgba(var(--bs-danger-rgb), var(--bs-focus-ring-opacity))}.focus-ring-light{--bs-focus-ring-color:rgba(var(--bs-light-rgb), var(--bs-focus-ring-opacity))}.focus-ring-dark{--bs-focus-ring-color:rgba(var(--bs-dark-rgb), var(--bs-focus-ring-opacity))}.position-static{position:static!important}.position-relative{position:relative!important}.position-absolute{position:absolute!important}.position-fixed{position:fixed!important}.position-sticky{position:-webkit-sticky!important;position:sticky!important}.top-0{top:0!important}.top-50{top:50%!important}.top-100{top:100%!important}.bottom-0{bottom:0!important}.bottom-50{bottom:50%!important}.bottom-100{bottom:100%!important}.start-0{left:0!important}.start-50{left:50%!important}.start-100{left:100%!important}.end-0{right:0!important}.end-50{right:50%!important}.end-100{right:100%!important}.translate-middle{transform:translate(-50%,-50%)!important}.translate-middle-x{transform:translate(-50%)!important}.translate-middle-y{transform:translateY(-50%)!important}.border{border:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color)!important}.border-0{border:0!important}.border-top{border-top:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color)!important}.border-top-0{border-top:0!important}.border-end{border-right:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color)!important}.border-end-0{border-right:0!important}.border-bottom{border-bottom:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color)!important}.border-bottom-0{border-bottom:0!important}.border-start{border-left:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color)!important}.border-start-0{border-left:0!important}.border-primary{--bs-border-opacity:1;border-color:rgba(var(--bs-primary-rgb),var(--bs-border-opacity))!important}.border-secondary{--bs-border-opacity:1;border-color:rgba(var(--bs-secondary-rgb),var(--bs-border-opacity))!important}.border-success{--bs-border-opacity:1;border-color:rgba(var(--bs-success-rgb),var(--bs-border-opacity))!important}.border-info{--bs-border-opacity:1;border-color:rgba(var(--bs-info-rgb),var(--bs-border-opacity))!important}.border-warning{--bs-border-opacity:1;border-color:rgba(var(--bs-warning-rgb),var(--bs-border-opacity))!important}.border-danger{--bs-border-opacity:1;border-color:rgba(var(--bs-danger-rgb),var(--bs-border-opacity))!important}.border-light{--bs-border-opacity:1;border-color:rgba(var(--bs-light-rgb),var(--bs-border-opacity))!important}.border-dark{--bs-border-opacity:1;border-color:rgba(var(--bs-dark-rgb),var(--bs-border-opacity))!important}.border-black{--bs-border-opacity:1;border-color:rgba(var(--bs-black-rgb),var(--bs-border-opacity))!important}.border-white{--bs-border-opacity:1;border-color:rgba(var(--bs-white-rgb),var(--bs-border-opacity))!important}.border-primary-subtle{border-color:var(--bs-primary-border-subtle)!important}.border-secondary-subtle{border-color:var(--bs-secondary-border-subtle)!important}.border-success-subtle{border-color:var(--bs-success-border-subtle)!important}.border-info-subtle{border-color:var(--bs-info-border-subtle)!important}.border-warning-subtle{border-color:var(--bs-warning-border-subtle)!important}.border-danger-subtle{border-color:var(--bs-danger-border-subtle)!important}.border-light-subtle{border-color:var(--bs-light-border-subtle)!important}.border-dark-subtle{border-color:var(--bs-dark-border-subtle)!important}.border-1{border-width:1px!important}.border-2{border-width:2px!important}.border-3{border-width:3px!important}.border-4{border-width:4px!important}.border-5{border-width:5px!important}.border-opacity-10{--bs-border-opacity:.1}.border-opacity-25{--bs-border-opacity:.25}.border-opacity-50{--bs-border-opacity:.5}.border-opacity-75{--bs-border-opacity:.75}.border-opacity-100{--bs-border-opacity:1}.w-25{width:25%!important}.w-50{width:50%!important}.w-75{width:75%!important}.w-100{width:100%!important}.w-auto{width:auto!important}.mw-100{max-width:100%!important}.vw-100{width:100vw!important}.min-vw-100{min-width:100vw!important}.h-25{height:25%!important}.h-50{height:50%!important}.h-75{height:75%!important}.h-100{height:100%!important}.h-auto{height:auto!important}.mh-100{max-height:100%!important}.vh-100{height:100vh!important}.min-vh-100{min-height:100vh!important}.flex-fill{flex:1 1 auto!important}.flex-row{flex-direction:row!important}.flex-column{flex-direction:column!important}.flex-row-reverse{flex-direction:row-reverse!important}.flex-column-reverse{flex-direction:column-reverse!important}.flex-grow-0{flex-grow:0!important}.flex-grow-1{flex-grow:1!important}.flex-shrink-0{flex-shrink:0!important}.flex-shrink-1{flex-shrink:1!important}.flex-wrap{flex-wrap:wrap!important}.flex-nowrap{flex-wrap:nowrap!important}.flex-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-start{justify-content:flex-start!important}.justify-content-end{justify-content:flex-end!important}.justify-content-center{justify-content:center!important}.justify-content-between{justify-content:space-between!important}.justify-content-around{justify-content:space-around!important}.justify-content-evenly{justify-content:space-evenly!important}.align-items-start{align-items:flex-start!important}.align-items-end{align-items:flex-end!important}.align-items-center{align-items:center!important}.align-items-baseline{align-items:baseline!important}.align-items-stretch{align-items:stretch!important}.align-content-start{align-content:flex-start!important}.align-content-end{align-content:flex-end!important}.align-content-center{align-content:center!important}.align-content-between{align-content:space-between!important}.align-content-around{align-content:space-around!important}.align-content-stretch{align-content:stretch!important}.align-self-auto{align-self:auto!important}.align-self-start{align-self:flex-start!important}.align-self-end{align-self:flex-end!important}.align-self-center{align-self:center!important}.align-self-baseline{align-self:baseline!important}.align-self-stretch{align-self:stretch!important}.order-first{order:-1!important}.order-0{order:0!important}.order-1{order:1!important}.order-2{order:2!important}.order-3{order:3!important}.order-4{order:4!important}.order-5{order:5!important}.order-last{order:6!important}.m-0{margin:0!important}.m-1{margin:.25rem!important}.m-2{margin:.5rem!important}.m-3{margin:1rem!important}.m-4{margin:1.5rem!important}.m-5{margin:3rem!important}.m-auto{margin:auto!important}.mx-0{margin-right:0!important;margin-left:0!important}.mx-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-3{margin-right:1rem!important;margin-left:1rem!important}.mx-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-5{margin-right:3rem!important;margin-left:3rem!important}.mx-auto{margin-right:auto!important;margin-left:auto!important}.my-0{margin-top:0!important;margin-bottom:0!important}.my-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-0{margin-top:0!important}.mt-1{margin-top:.25rem!important}.mt-2{margin-top:.5rem!important}.mt-3{margin-top:1rem!important}.mt-4{margin-top:1.5rem!important}.mt-5{margin-top:3rem!important}.mt-auto{margin-top:auto!important}.me-0{margin-right:0!important}.me-1{margin-right:.25rem!important}.me-2{margin-right:.5rem!important}.me-3{margin-right:1rem!important}.me-4{margin-right:1.5rem!important}.me-5{margin-right:3rem!important}.me-auto{margin-right:auto!important}.mb-0{margin-bottom:0!important}.mb-1{margin-bottom:.25rem!important}.mb-2{margin-bottom:.5rem!important}.mb-3{margin-bottom:1rem!important}.mb-4{margin-bottom:1.5rem!important}.mb-5{margin-bottom:3rem!important}.mb-auto{margin-bottom:auto!important}.ms-0{margin-left:0!important}.ms-1{margin-left:.25rem!important}.ms-2{margin-left:.5rem!important}.ms-3{margin-left:1rem!important}.ms-4{margin-left:1.5rem!important}.ms-5{margin-left:3rem!important}.ms-auto{margin-left:auto!important}.p-0{padding:0!important}.p-1{padding:.25rem!important}.p-2{padding:.5rem!important}.p-3{padding:1rem!important}.p-4{padding:1.5rem!important}.p-5{padding:3rem!important}.px-0{padding-right:0!important;padding-left:0!important}.px-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-3{padding-right:1rem!important;padding-left:1rem!important}.px-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-5{padding-right:3rem!important;padding-left:3rem!important}.py-0{padding-top:0!important;padding-bottom:0!important}.py-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-0{padding-top:0!important}.pt-1{padding-top:.25rem!important}.pt-2{padding-top:.5rem!important}.pt-3{padding-top:1rem!important}.pt-4{padding-top:1.5rem!important}.pt-5{padding-top:3rem!important}.pe-0{padding-right:0!important}.pe-1{padding-right:.25rem!important}.pe-2{padding-right:.5rem!important}.pe-3{padding-right:1rem!important}.pe-4{padding-right:1.5rem!important}.pe-5{padding-right:3rem!important}.pb-0{padding-bottom:0!important}.pb-1{padding-bottom:.25rem!important}.pb-2{padding-bottom:.5rem!important}.pb-3{padding-bottom:1rem!important}.pb-4{padding-bottom:1.5rem!important}.pb-5{padding-bottom:3rem!important}.ps-0{padding-left:0!important}.ps-1{padding-left:.25rem!important}.ps-2{padding-left:.5rem!important}.ps-3{padding-left:1rem!important}.ps-4{padding-left:1.5rem!important}.ps-5{padding-left:3rem!important}.gap-0{gap:0!important}.gap-1{gap:.25rem!important}.gap-2{gap:.5rem!important}.gap-3{gap:1rem!important}.gap-4{gap:1.5rem!important}.gap-5{gap:3rem!important}.row-gap-0{row-gap:0!important}.row-gap-1{row-gap:.25rem!important}.row-gap-2{row-gap:.5rem!important}.row-gap-3{row-gap:1rem!important}.row-gap-4{row-gap:1.5rem!important}.row-gap-5{row-gap:3rem!important}.column-gap-0{-moz-column-gap:0!important;column-gap:0!important}.column-gap-1{-moz-column-gap:.25rem!important;column-gap:.25rem!important}.column-gap-2{-moz-column-gap:.5rem!important;column-gap:.5rem!important}.column-gap-3{-moz-column-gap:1rem!important;column-gap:1rem!important}.column-gap-4{-moz-column-gap:1.5rem!important;column-gap:1.5rem!important}.column-gap-5{-moz-column-gap:3rem!important;column-gap:3rem!important}.font-monospace{font-family:var(--bs-font-monospace)!important}.fs-1{font-size:calc(1.375rem + 1.5vw)!important}.fs-2{font-size:calc(1.325rem + .9vw)!important}.fs-3{font-size:calc(1.3rem + .6vw)!important}.fs-4{font-size:calc(1.275rem + .3vw)!important}.fs-5{font-size:1.25rem!important}.fs-6{font-size:1rem!important}.fst-italic{font-style:italic!important}.fst-normal{font-style:normal!important}.fw-lighter{font-weight:lighter!important}.fw-light{font-weight:300!important}.fw-normal{font-weight:400!important}.fw-medium{font-weight:500!important}.fw-semibold{font-weight:600!important}.fw-bold{font-weight:700!important}.fw-bolder{font-weight:bolder!important}.lh-1{line-height:1!important}.lh-sm{line-height:1.25!important}.lh-base{line-height:1.5!important}.lh-lg{line-height:2!important}.text-start{text-align:left!important}.text-end{text-align:right!important}.text-center{text-align:center!important}.text-decoration-none{text-decoration:none!important}.text-decoration-underline{text-decoration:underline!important}.text-decoration-line-through{text-decoration:line-through!important}.text-lowercase{text-transform:lowercase!important}.text-uppercase{text-transform:uppercase!important}.text-capitalize{text-transform:capitalize!important}.text-wrap{white-space:normal!important}.text-nowrap{white-space:nowrap!important}.text-break{word-wrap:break-word!important;word-break:break-word!important}.text-primary{--bs-text-opacity:1;color:rgba(var(--bs-primary-rgb),var(--bs-text-opacity))!important}.text-secondary{--bs-text-opacity:1;color:rgba(var(--bs-secondary-rgb),var(--bs-text-opacity))!important}.text-success{--bs-text-opacity:1;color:rgba(var(--bs-success-rgb),var(--bs-text-opacity))!important}.text-info{--bs-text-opacity:1;color:rgba(var(--bs-info-rgb),var(--bs-text-opacity))!important}.text-warning{--bs-text-opacity:1;color:rgba(var(--bs-warning-rgb),var(--bs-text-opacity))!important}.text-danger{--bs-text-opacity:1;color:rgba(var(--bs-danger-rgb),var(--bs-text-opacity))!important}.text-light{--bs-text-opacity:1;color:rgba(var(--bs-light-rgb),var(--bs-text-opacity))!important}.text-dark{--bs-text-opacity:1;color:rgba(var(--bs-dark-rgb),var(--bs-text-opacity))!important}.text-black{--bs-text-opacity:1;color:rgba(var(--bs-black-rgb),var(--bs-text-opacity))!important}.text-white{--bs-text-opacity:1;color:rgba(var(--bs-white-rgb),var(--bs-text-opacity))!important}.text-body{--bs-text-opacity:1;color:rgba(var(--bs-body-color-rgb),var(--bs-text-opacity))!important}.text-muted{--bs-text-opacity:1;color:var(--bs-secondary-color)!important}.text-black-50{--bs-text-opacity:1;color:#00000080!important}.text-white-50{--bs-text-opacity:1;color:#ffffff80!important}.text-body-secondary{--bs-text-opacity:1;color:var(--bs-secondary-color)!important}.text-body-tertiary{--bs-text-opacity:1;color:var(--bs-tertiary-color)!important}.text-body-emphasis{--bs-text-opacity:1;color:var(--bs-emphasis-color)!important}.text-reset{--bs-text-opacity:1;color:inherit!important}.text-opacity-25{--bs-text-opacity:.25}.text-opacity-50{--bs-text-opacity:.5}.text-opacity-75{--bs-text-opacity:.75}.text-opacity-100{--bs-text-opacity:1}.text-primary-emphasis{color:var(--bs-primary-text-emphasis)!important}.text-secondary-emphasis{color:var(--bs-secondary-text-emphasis)!important}.text-success-emphasis{color:var(--bs-success-text-emphasis)!important}.text-info-emphasis{color:var(--bs-info-text-emphasis)!important}.text-warning-emphasis{color:var(--bs-warning-text-emphasis)!important}.text-danger-emphasis{color:var(--bs-danger-text-emphasis)!important}.text-light-emphasis{color:var(--bs-light-text-emphasis)!important}.text-dark-emphasis{color:var(--bs-dark-text-emphasis)!important}.link-opacity-10,.link-opacity-10-hover:hover{--bs-link-opacity:.1}.link-opacity-25,.link-opacity-25-hover:hover{--bs-link-opacity:.25}.link-opacity-50,.link-opacity-50-hover:hover{--bs-link-opacity:.5}.link-opacity-75,.link-opacity-75-hover:hover{--bs-link-opacity:.75}.link-opacity-100,.link-opacity-100-hover:hover{--bs-link-opacity:1}.link-offset-1,.link-offset-1-hover:hover{text-underline-offset:.125em!important}.link-offset-2,.link-offset-2-hover:hover{text-underline-offset:.25em!important}.link-offset-3,.link-offset-3-hover:hover{text-underline-offset:.375em!important}.link-underline-primary{--bs-link-underline-opacity:1;-webkit-text-decoration-color:rgba(var(--bs-primary-rgb),var(--bs-link-underline-opacity))!important;text-decoration-color:rgba(var(--bs-primary-rgb),var(--bs-link-underline-opacity))!important}.link-underline-secondary{--bs-link-underline-opacity:1;-webkit-text-decoration-color:rgba(var(--bs-secondary-rgb),var(--bs-link-underline-opacity))!important;text-decoration-color:rgba(var(--bs-secondary-rgb),var(--bs-link-underline-opacity))!important}.link-underline-success{--bs-link-underline-opacity:1;-webkit-text-decoration-color:rgba(var(--bs-success-rgb),var(--bs-link-underline-opacity))!important;text-decoration-color:rgba(var(--bs-success-rgb),var(--bs-link-underline-opacity))!important}.link-underline-info{--bs-link-underline-opacity:1;-webkit-text-decoration-color:rgba(var(--bs-info-rgb),var(--bs-link-underline-opacity))!important;text-decoration-color:rgba(var(--bs-info-rgb),var(--bs-link-underline-opacity))!important}.link-underline-warning{--bs-link-underline-opacity:1;-webkit-text-decoration-color:rgba(var(--bs-warning-rgb),var(--bs-link-underline-opacity))!important;text-decoration-color:rgba(var(--bs-warning-rgb),var(--bs-link-underline-opacity))!important}.link-underline-danger{--bs-link-underline-opacity:1;-webkit-text-decoration-color:rgba(var(--bs-danger-rgb),var(--bs-link-underline-opacity))!important;text-decoration-color:rgba(var(--bs-danger-rgb),var(--bs-link-underline-opacity))!important}.link-underline-light{--bs-link-underline-opacity:1;-webkit-text-decoration-color:rgba(var(--bs-light-rgb),var(--bs-link-underline-opacity))!important;text-decoration-color:rgba(var(--bs-light-rgb),var(--bs-link-underline-opacity))!important}.link-underline-dark{--bs-link-underline-opacity:1;-webkit-text-decoration-color:rgba(var(--bs-dark-rgb),var(--bs-link-underline-opacity))!important;text-decoration-color:rgba(var(--bs-dark-rgb),var(--bs-link-underline-opacity))!important}.link-underline{--bs-link-underline-opacity:1;-webkit-text-decoration-color:rgba(var(--bs-link-color-rgb),var(--bs-link-underline-opacity,1))!important;text-decoration-color:rgba(var(--bs-link-color-rgb),var(--bs-link-underline-opacity,1))!important}.link-underline-opacity-0,.link-underline-opacity-0-hover:hover{--bs-link-underline-opacity:0}.link-underline-opacity-10,.link-underline-opacity-10-hover:hover{--bs-link-underline-opacity:.1}.link-underline-opacity-25,.link-underline-opacity-25-hover:hover{--bs-link-underline-opacity:.25}.link-underline-opacity-50,.link-underline-opacity-50-hover:hover{--bs-link-underline-opacity:.5}.link-underline-opacity-75,.link-underline-opacity-75-hover:hover{--bs-link-underline-opacity:.75}.link-underline-opacity-100,.link-underline-opacity-100-hover:hover{--bs-link-underline-opacity:1}.bg-primary{--bs-bg-opacity:1;background-color:rgba(var(--bs-primary-rgb),var(--bs-bg-opacity))!important}.bg-secondary{--bs-bg-opacity:1;background-color:rgba(var(--bs-secondary-rgb),var(--bs-bg-opacity))!important}.bg-success{--bs-bg-opacity:1;background-color:rgba(var(--bs-success-rgb),var(--bs-bg-opacity))!important}.bg-info{--bs-bg-opacity:1;background-color:rgba(var(--bs-info-rgb),var(--bs-bg-opacity))!important}.bg-warning{--bs-bg-opacity:1;background-color:rgba(var(--bs-warning-rgb),var(--bs-bg-opacity))!important}.bg-danger{--bs-bg-opacity:1;background-color:rgba(var(--bs-danger-rgb),var(--bs-bg-opacity))!important}.bg-light{--bs-bg-opacity:1;background-color:rgba(var(--bs-light-rgb),var(--bs-bg-opacity))!important}.bg-dark{--bs-bg-opacity:1;background-color:rgba(var(--bs-dark-rgb),var(--bs-bg-opacity))!important}.bg-black{--bs-bg-opacity:1;background-color:rgba(var(--bs-black-rgb),var(--bs-bg-opacity))!important}.bg-white{--bs-bg-opacity:1;background-color:rgba(var(--bs-white-rgb),var(--bs-bg-opacity))!important}.bg-body{--bs-bg-opacity:1;background-color:rgba(var(--bs-body-bg-rgb),var(--bs-bg-opacity))!important}.bg-transparent{--bs-bg-opacity:1;background-color:transparent!important}.bg-body-secondary{--bs-bg-opacity:1;background-color:rgba(var(--bs-secondary-bg-rgb),var(--bs-bg-opacity))!important}.bg-body-tertiary{--bs-bg-opacity:1;background-color:rgba(var(--bs-tertiary-bg-rgb),var(--bs-bg-opacity))!important}.bg-opacity-10{--bs-bg-opacity:.1}.bg-opacity-25{--bs-bg-opacity:.25}.bg-opacity-50{--bs-bg-opacity:.5}.bg-opacity-75{--bs-bg-opacity:.75}.bg-opacity-100{--bs-bg-opacity:1}.bg-primary-subtle{background-color:var(--bs-primary-bg-subtle)!important}.bg-secondary-subtle{background-color:var(--bs-secondary-bg-subtle)!important}.bg-success-subtle{background-color:var(--bs-success-bg-subtle)!important}.bg-info-subtle{background-color:var(--bs-info-bg-subtle)!important}.bg-warning-subtle{background-color:var(--bs-warning-bg-subtle)!important}.bg-danger-subtle{background-color:var(--bs-danger-bg-subtle)!important}.bg-light-subtle{background-color:var(--bs-light-bg-subtle)!important}.bg-dark-subtle{background-color:var(--bs-dark-bg-subtle)!important}.bg-gradient{background-image:var(--bs-gradient)!important}.user-select-all{-webkit-user-select:all!important;-moz-user-select:all!important;user-select:all!important}.user-select-auto{-webkit-user-select:auto!important;-moz-user-select:auto!important;user-select:auto!important}.user-select-none{-webkit-user-select:none!important;-moz-user-select:none!important;user-select:none!important}.pe-none{pointer-events:none!important}.pe-auto{pointer-events:auto!important}.rounded{border-radius:var(--bs-border-radius)!important}.rounded-0{border-radius:0!important}.rounded-1{border-radius:var(--bs-border-radius-sm)!important}.rounded-2{border-radius:var(--bs-border-radius)!important}.rounded-3{border-radius:var(--bs-border-radius-lg)!important}.rounded-4{border-radius:var(--bs-border-radius-xl)!important}.rounded-5{border-radius:var(--bs-border-radius-xxl)!important}.rounded-circle{border-radius:50%!important}.rounded-pill{border-radius:var(--bs-border-radius-pill)!important}.rounded-top{border-top-left-radius:var(--bs-border-radius)!important;border-top-right-radius:var(--bs-border-radius)!important}.rounded-top-0{border-top-left-radius:0!important;border-top-right-radius:0!important}.rounded-top-1{border-top-left-radius:var(--bs-border-radius-sm)!important;border-top-right-radius:var(--bs-border-radius-sm)!important}.rounded-top-2{border-top-left-radius:var(--bs-border-radius)!important;border-top-right-radius:var(--bs-border-radius)!important}.rounded-top-3{border-top-left-radius:var(--bs-border-radius-lg)!important;border-top-right-radius:var(--bs-border-radius-lg)!important}.rounded-top-4{border-top-left-radius:var(--bs-border-radius-xl)!important;border-top-right-radius:var(--bs-border-radius-xl)!important}.rounded-top-5{border-top-left-radius:var(--bs-border-radius-xxl)!important;border-top-right-radius:var(--bs-border-radius-xxl)!important}.rounded-top-circle{border-top-left-radius:50%!important;border-top-right-radius:50%!important}.rounded-top-pill{border-top-left-radius:var(--bs-border-radius-pill)!important;border-top-right-radius:var(--bs-border-radius-pill)!important}.rounded-end{border-top-right-radius:var(--bs-border-radius)!important;border-bottom-right-radius:var(--bs-border-radius)!important}.rounded-end-0{border-top-right-radius:0!important;border-bottom-right-radius:0!important}.rounded-end-1{border-top-right-radius:var(--bs-border-radius-sm)!important;border-bottom-right-radius:var(--bs-border-radius-sm)!important}.rounded-end-2{border-top-right-radius:var(--bs-border-radius)!important;border-bottom-right-radius:var(--bs-border-radius)!important}.rounded-end-3{border-top-right-radius:var(--bs-border-radius-lg)!important;border-bottom-right-radius:var(--bs-border-radius-lg)!important}.rounded-end-4{border-top-right-radius:var(--bs-border-radius-xl)!important;border-bottom-right-radius:var(--bs-border-radius-xl)!important}.rounded-end-5{border-top-right-radius:var(--bs-border-radius-xxl)!important;border-bottom-right-radius:var(--bs-border-radius-xxl)!important}.rounded-end-circle{border-top-right-radius:50%!important;border-bottom-right-radius:50%!important}.rounded-end-pill{border-top-right-radius:var(--bs-border-radius-pill)!important;border-bottom-right-radius:var(--bs-border-radius-pill)!important}.rounded-bottom{border-bottom-right-radius:var(--bs-border-radius)!important;border-bottom-left-radius:var(--bs-border-radius)!important}.rounded-bottom-0{border-bottom-right-radius:0!important;border-bottom-left-radius:0!important}.rounded-bottom-1{border-bottom-right-radius:var(--bs-border-radius-sm)!important;border-bottom-left-radius:var(--bs-border-radius-sm)!important}.rounded-bottom-2{border-bottom-right-radius:var(--bs-border-radius)!important;border-bottom-left-radius:var(--bs-border-radius)!important}.rounded-bottom-3{border-bottom-right-radius:var(--bs-border-radius-lg)!important;border-bottom-left-radius:var(--bs-border-radius-lg)!important}.rounded-bottom-4{border-bottom-right-radius:var(--bs-border-radius-xl)!important;border-bottom-left-radius:var(--bs-border-radius-xl)!important}.rounded-bottom-5{border-bottom-right-radius:var(--bs-border-radius-xxl)!important;border-bottom-left-radius:var(--bs-border-radius-xxl)!important}.rounded-bottom-circle{border-bottom-right-radius:50%!important;border-bottom-left-radius:50%!important}.rounded-bottom-pill{border-bottom-right-radius:var(--bs-border-radius-pill)!important;border-bottom-left-radius:var(--bs-border-radius-pill)!important}.rounded-start{border-bottom-left-radius:var(--bs-border-radius)!important;border-top-left-radius:var(--bs-border-radius)!important}.rounded-start-0{border-bottom-left-radius:0!important;border-top-left-radius:0!important}.rounded-start-1{border-bottom-left-radius:var(--bs-border-radius-sm)!important;border-top-left-radius:var(--bs-border-radius-sm)!important}.rounded-start-2{border-bottom-left-radius:var(--bs-border-radius)!important;border-top-left-radius:var(--bs-border-radius)!important}.rounded-start-3{border-bottom-left-radius:var(--bs-border-radius-lg)!important;border-top-left-radius:var(--bs-border-radius-lg)!important}.rounded-start-4{border-bottom-left-radius:var(--bs-border-radius-xl)!important;border-top-left-radius:var(--bs-border-radius-xl)!important}.rounded-start-5{border-bottom-left-radius:var(--bs-border-radius-xxl)!important;border-top-left-radius:var(--bs-border-radius-xxl)!important}.rounded-start-circle{border-bottom-left-radius:50%!important;border-top-left-radius:50%!important}.rounded-start-pill{border-bottom-left-radius:var(--bs-border-radius-pill)!important;border-top-left-radius:var(--bs-border-radius-pill)!important}.visible{visibility:visible!important}.invisible{visibility:hidden!important}.z-n1{z-index:-1!important}.z-0{z-index:0!important}.z-1{z-index:1!important}.z-2{z-index:2!important}.z-3{z-index:3!important}@media(min-width:576px){.float-sm-start{float:left!important}.float-sm-end{float:right!important}.float-sm-none{float:none!important}.object-fit-sm-contain{-o-object-fit:contain!important;object-fit:contain!important}.object-fit-sm-cover{-o-object-fit:cover!important;object-fit:cover!important}.object-fit-sm-fill{-o-object-fit:fill!important;object-fit:fill!important}.object-fit-sm-scale{-o-object-fit:scale-down!important;object-fit:scale-down!important}.object-fit-sm-none{-o-object-fit:none!important;object-fit:none!important}.d-sm-inline{display:inline!important}.d-sm-inline-block{display:inline-block!important}.d-sm-block{display:block!important}.d-sm-grid{display:grid!important}.d-sm-inline-grid{display:inline-grid!important}.d-sm-table{display:table!important}.d-sm-table-row{display:table-row!important}.d-sm-table-cell{display:table-cell!important}.d-sm-flex{display:flex!important}.d-sm-inline-flex{display:inline-flex!important}.d-sm-none{display:none!important}.flex-sm-fill{flex:1 1 auto!important}.flex-sm-row{flex-direction:row!important}.flex-sm-column{flex-direction:column!important}.flex-sm-row-reverse{flex-direction:row-reverse!important}.flex-sm-column-reverse{flex-direction:column-reverse!important}.flex-sm-grow-0{flex-grow:0!important}.flex-sm-grow-1{flex-grow:1!important}.flex-sm-shrink-0{flex-shrink:0!important}.flex-sm-shrink-1{flex-shrink:1!important}.flex-sm-wrap{flex-wrap:wrap!important}.flex-sm-nowrap{flex-wrap:nowrap!important}.flex-sm-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-sm-start{justify-content:flex-start!important}.justify-content-sm-end{justify-content:flex-end!important}.justify-content-sm-center{justify-content:center!important}.justify-content-sm-between{justify-content:space-between!important}.justify-content-sm-around{justify-content:space-around!important}.justify-content-sm-evenly{justify-content:space-evenly!important}.align-items-sm-start{align-items:flex-start!important}.align-items-sm-end{align-items:flex-end!important}.align-items-sm-center{align-items:center!important}.align-items-sm-baseline{align-items:baseline!important}.align-items-sm-stretch{align-items:stretch!important}.align-content-sm-start{align-content:flex-start!important}.align-content-sm-end{align-content:flex-end!important}.align-content-sm-center{align-content:center!important}.align-content-sm-between{align-content:space-between!important}.align-content-sm-around{align-content:space-around!important}.align-content-sm-stretch{align-content:stretch!important}.align-self-sm-auto{align-self:auto!important}.align-self-sm-start{align-self:flex-start!important}.align-self-sm-end{align-self:flex-end!important}.align-self-sm-center{align-self:center!important}.align-self-sm-baseline{align-self:baseline!important}.align-self-sm-stretch{align-self:stretch!important}.order-sm-first{order:-1!important}.order-sm-0{order:0!important}.order-sm-1{order:1!important}.order-sm-2{order:2!important}.order-sm-3{order:3!important}.order-sm-4{order:4!important}.order-sm-5{order:5!important}.order-sm-last{order:6!important}.m-sm-0{margin:0!important}.m-sm-1{margin:.25rem!important}.m-sm-2{margin:.5rem!important}.m-sm-3{margin:1rem!important}.m-sm-4{margin:1.5rem!important}.m-sm-5{margin:3rem!important}.m-sm-auto{margin:auto!important}.mx-sm-0{margin-right:0!important;margin-left:0!important}.mx-sm-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-sm-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-sm-3{margin-right:1rem!important;margin-left:1rem!important}.mx-sm-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-sm-5{margin-right:3rem!important;margin-left:3rem!important}.mx-sm-auto{margin-right:auto!important;margin-left:auto!important}.my-sm-0{margin-top:0!important;margin-bottom:0!important}.my-sm-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-sm-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-sm-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-sm-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-sm-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-sm-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-sm-0{margin-top:0!important}.mt-sm-1{margin-top:.25rem!important}.mt-sm-2{margin-top:.5rem!important}.mt-sm-3{margin-top:1rem!important}.mt-sm-4{margin-top:1.5rem!important}.mt-sm-5{margin-top:3rem!important}.mt-sm-auto{margin-top:auto!important}.me-sm-0{margin-right:0!important}.me-sm-1{margin-right:.25rem!important}.me-sm-2{margin-right:.5rem!important}.me-sm-3{margin-right:1rem!important}.me-sm-4{margin-right:1.5rem!important}.me-sm-5{margin-right:3rem!important}.me-sm-auto{margin-right:auto!important}.mb-sm-0{margin-bottom:0!important}.mb-sm-1{margin-bottom:.25rem!important}.mb-sm-2{margin-bottom:.5rem!important}.mb-sm-3{margin-bottom:1rem!important}.mb-sm-4{margin-bottom:1.5rem!important}.mb-sm-5{margin-bottom:3rem!important}.mb-sm-auto{margin-bottom:auto!important}.ms-sm-0{margin-left:0!important}.ms-sm-1{margin-left:.25rem!important}.ms-sm-2{margin-left:.5rem!important}.ms-sm-3{margin-left:1rem!important}.ms-sm-4{margin-left:1.5rem!important}.ms-sm-5{margin-left:3rem!important}.ms-sm-auto{margin-left:auto!important}.p-sm-0{padding:0!important}.p-sm-1{padding:.25rem!important}.p-sm-2{padding:.5rem!important}.p-sm-3{padding:1rem!important}.p-sm-4{padding:1.5rem!important}.p-sm-5{padding:3rem!important}.px-sm-0{padding-right:0!important;padding-left:0!important}.px-sm-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-sm-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-sm-3{padding-right:1rem!important;padding-left:1rem!important}.px-sm-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-sm-5{padding-right:3rem!important;padding-left:3rem!important}.py-sm-0{padding-top:0!important;padding-bottom:0!important}.py-sm-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-sm-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-sm-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-sm-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-sm-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-sm-0{padding-top:0!important}.pt-sm-1{padding-top:.25rem!important}.pt-sm-2{padding-top:.5rem!important}.pt-sm-3{padding-top:1rem!important}.pt-sm-4{padding-top:1.5rem!important}.pt-sm-5{padding-top:3rem!important}.pe-sm-0{padding-right:0!important}.pe-sm-1{padding-right:.25rem!important}.pe-sm-2{padding-right:.5rem!important}.pe-sm-3{padding-right:1rem!important}.pe-sm-4{padding-right:1.5rem!important}.pe-sm-5{padding-right:3rem!important}.pb-sm-0{padding-bottom:0!important}.pb-sm-1{padding-bottom:.25rem!important}.pb-sm-2{padding-bottom:.5rem!important}.pb-sm-3{padding-bottom:1rem!important}.pb-sm-4{padding-bottom:1.5rem!important}.pb-sm-5{padding-bottom:3rem!important}.ps-sm-0{padding-left:0!important}.ps-sm-1{padding-left:.25rem!important}.ps-sm-2{padding-left:.5rem!important}.ps-sm-3{padding-left:1rem!important}.ps-sm-4{padding-left:1.5rem!important}.ps-sm-5{padding-left:3rem!important}.gap-sm-0{gap:0!important}.gap-sm-1{gap:.25rem!important}.gap-sm-2{gap:.5rem!important}.gap-sm-3{gap:1rem!important}.gap-sm-4{gap:1.5rem!important}.gap-sm-5{gap:3rem!important}.row-gap-sm-0{row-gap:0!important}.row-gap-sm-1{row-gap:.25rem!important}.row-gap-sm-2{row-gap:.5rem!important}.row-gap-sm-3{row-gap:1rem!important}.row-gap-sm-4{row-gap:1.5rem!important}.row-gap-sm-5{row-gap:3rem!important}.column-gap-sm-0{-moz-column-gap:0!important;column-gap:0!important}.column-gap-sm-1{-moz-column-gap:.25rem!important;column-gap:.25rem!important}.column-gap-sm-2{-moz-column-gap:.5rem!important;column-gap:.5rem!important}.column-gap-sm-3{-moz-column-gap:1rem!important;column-gap:1rem!important}.column-gap-sm-4{-moz-column-gap:1.5rem!important;column-gap:1.5rem!important}.column-gap-sm-5{-moz-column-gap:3rem!important;column-gap:3rem!important}.text-sm-start{text-align:left!important}.text-sm-end{text-align:right!important}.text-sm-center{text-align:center!important}}@media(min-width:768px){.float-md-start{float:left!important}.float-md-end{float:right!important}.float-md-none{float:none!important}.object-fit-md-contain{-o-object-fit:contain!important;object-fit:contain!important}.object-fit-md-cover{-o-object-fit:cover!important;object-fit:cover!important}.object-fit-md-fill{-o-object-fit:fill!important;object-fit:fill!important}.object-fit-md-scale{-o-object-fit:scale-down!important;object-fit:scale-down!important}.object-fit-md-none{-o-object-fit:none!important;object-fit:none!important}.d-md-inline{display:inline!important}.d-md-inline-block{display:inline-block!important}.d-md-block{display:block!important}.d-md-grid{display:grid!important}.d-md-inline-grid{display:inline-grid!important}.d-md-table{display:table!important}.d-md-table-row{display:table-row!important}.d-md-table-cell{display:table-cell!important}.d-md-flex{display:flex!important}.d-md-inline-flex{display:inline-flex!important}.d-md-none{display:none!important}.flex-md-fill{flex:1 1 auto!important}.flex-md-row{flex-direction:row!important}.flex-md-column{flex-direction:column!important}.flex-md-row-reverse{flex-direction:row-reverse!important}.flex-md-column-reverse{flex-direction:column-reverse!important}.flex-md-grow-0{flex-grow:0!important}.flex-md-grow-1{flex-grow:1!important}.flex-md-shrink-0{flex-shrink:0!important}.flex-md-shrink-1{flex-shrink:1!important}.flex-md-wrap{flex-wrap:wrap!important}.flex-md-nowrap{flex-wrap:nowrap!important}.flex-md-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-md-start{justify-content:flex-start!important}.justify-content-md-end{justify-content:flex-end!important}.justify-content-md-center{justify-content:center!important}.justify-content-md-between{justify-content:space-between!important}.justify-content-md-around{justify-content:space-around!important}.justify-content-md-evenly{justify-content:space-evenly!important}.align-items-md-start{align-items:flex-start!important}.align-items-md-end{align-items:flex-end!important}.align-items-md-center{align-items:center!important}.align-items-md-baseline{align-items:baseline!important}.align-items-md-stretch{align-items:stretch!important}.align-content-md-start{align-content:flex-start!important}.align-content-md-end{align-content:flex-end!important}.align-content-md-center{align-content:center!important}.align-content-md-between{align-content:space-between!important}.align-content-md-around{align-content:space-around!important}.align-content-md-stretch{align-content:stretch!important}.align-self-md-auto{align-self:auto!important}.align-self-md-start{align-self:flex-start!important}.align-self-md-end{align-self:flex-end!important}.align-self-md-center{align-self:center!important}.align-self-md-baseline{align-self:baseline!important}.align-self-md-stretch{align-self:stretch!important}.order-md-first{order:-1!important}.order-md-0{order:0!important}.order-md-1{order:1!important}.order-md-2{order:2!important}.order-md-3{order:3!important}.order-md-4{order:4!important}.order-md-5{order:5!important}.order-md-last{order:6!important}.m-md-0{margin:0!important}.m-md-1{margin:.25rem!important}.m-md-2{margin:.5rem!important}.m-md-3{margin:1rem!important}.m-md-4{margin:1.5rem!important}.m-md-5{margin:3rem!important}.m-md-auto{margin:auto!important}.mx-md-0{margin-right:0!important;margin-left:0!important}.mx-md-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-md-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-md-3{margin-right:1rem!important;margin-left:1rem!important}.mx-md-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-md-5{margin-right:3rem!important;margin-left:3rem!important}.mx-md-auto{margin-right:auto!important;margin-left:auto!important}.my-md-0{margin-top:0!important;margin-bottom:0!important}.my-md-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-md-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-md-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-md-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-md-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-md-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-md-0{margin-top:0!important}.mt-md-1{margin-top:.25rem!important}.mt-md-2{margin-top:.5rem!important}.mt-md-3{margin-top:1rem!important}.mt-md-4{margin-top:1.5rem!important}.mt-md-5{margin-top:3rem!important}.mt-md-auto{margin-top:auto!important}.me-md-0{margin-right:0!important}.me-md-1{margin-right:.25rem!important}.me-md-2{margin-right:.5rem!important}.me-md-3{margin-right:1rem!important}.me-md-4{margin-right:1.5rem!important}.me-md-5{margin-right:3rem!important}.me-md-auto{margin-right:auto!important}.mb-md-0{margin-bottom:0!important}.mb-md-1{margin-bottom:.25rem!important}.mb-md-2{margin-bottom:.5rem!important}.mb-md-3{margin-bottom:1rem!important}.mb-md-4{margin-bottom:1.5rem!important}.mb-md-5{margin-bottom:3rem!important}.mb-md-auto{margin-bottom:auto!important}.ms-md-0{margin-left:0!important}.ms-md-1{margin-left:.25rem!important}.ms-md-2{margin-left:.5rem!important}.ms-md-3{margin-left:1rem!important}.ms-md-4{margin-left:1.5rem!important}.ms-md-5{margin-left:3rem!important}.ms-md-auto{margin-left:auto!important}.p-md-0{padding:0!important}.p-md-1{padding:.25rem!important}.p-md-2{padding:.5rem!important}.p-md-3{padding:1rem!important}.p-md-4{padding:1.5rem!important}.p-md-5{padding:3rem!important}.px-md-0{padding-right:0!important;padding-left:0!important}.px-md-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-md-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-md-3{padding-right:1rem!important;padding-left:1rem!important}.px-md-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-md-5{padding-right:3rem!important;padding-left:3rem!important}.py-md-0{padding-top:0!important;padding-bottom:0!important}.py-md-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-md-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-md-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-md-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-md-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-md-0{padding-top:0!important}.pt-md-1{padding-top:.25rem!important}.pt-md-2{padding-top:.5rem!important}.pt-md-3{padding-top:1rem!important}.pt-md-4{padding-top:1.5rem!important}.pt-md-5{padding-top:3rem!important}.pe-md-0{padding-right:0!important}.pe-md-1{padding-right:.25rem!important}.pe-md-2{padding-right:.5rem!important}.pe-md-3{padding-right:1rem!important}.pe-md-4{padding-right:1.5rem!important}.pe-md-5{padding-right:3rem!important}.pb-md-0{padding-bottom:0!important}.pb-md-1{padding-bottom:.25rem!important}.pb-md-2{padding-bottom:.5rem!important}.pb-md-3{padding-bottom:1rem!important}.pb-md-4{padding-bottom:1.5rem!important}.pb-md-5{padding-bottom:3rem!important}.ps-md-0{padding-left:0!important}.ps-md-1{padding-left:.25rem!important}.ps-md-2{padding-left:.5rem!important}.ps-md-3{padding-left:1rem!important}.ps-md-4{padding-left:1.5rem!important}.ps-md-5{padding-left:3rem!important}.gap-md-0{gap:0!important}.gap-md-1{gap:.25rem!important}.gap-md-2{gap:.5rem!important}.gap-md-3{gap:1rem!important}.gap-md-4{gap:1.5rem!important}.gap-md-5{gap:3rem!important}.row-gap-md-0{row-gap:0!important}.row-gap-md-1{row-gap:.25rem!important}.row-gap-md-2{row-gap:.5rem!important}.row-gap-md-3{row-gap:1rem!important}.row-gap-md-4{row-gap:1.5rem!important}.row-gap-md-5{row-gap:3rem!important}.column-gap-md-0{-moz-column-gap:0!important;column-gap:0!important}.column-gap-md-1{-moz-column-gap:.25rem!important;column-gap:.25rem!important}.column-gap-md-2{-moz-column-gap:.5rem!important;column-gap:.5rem!important}.column-gap-md-3{-moz-column-gap:1rem!important;column-gap:1rem!important}.column-gap-md-4{-moz-column-gap:1.5rem!important;column-gap:1.5rem!important}.column-gap-md-5{-moz-column-gap:3rem!important;column-gap:3rem!important}.text-md-start{text-align:left!important}.text-md-end{text-align:right!important}.text-md-center{text-align:center!important}}@media(min-width:992px){.float-lg-start{float:left!important}.float-lg-end{float:right!important}.float-lg-none{float:none!important}.object-fit-lg-contain{-o-object-fit:contain!important;object-fit:contain!important}.object-fit-lg-cover{-o-object-fit:cover!important;object-fit:cover!important}.object-fit-lg-fill{-o-object-fit:fill!important;object-fit:fill!important}.object-fit-lg-scale{-o-object-fit:scale-down!important;object-fit:scale-down!important}.object-fit-lg-none{-o-object-fit:none!important;object-fit:none!important}.d-lg-inline{display:inline!important}.d-lg-inline-block{display:inline-block!important}.d-lg-block{display:block!important}.d-lg-grid{display:grid!important}.d-lg-inline-grid{display:inline-grid!important}.d-lg-table{display:table!important}.d-lg-table-row{display:table-row!important}.d-lg-table-cell{display:table-cell!important}.d-lg-flex{display:flex!important}.d-lg-inline-flex{display:inline-flex!important}.d-lg-none{display:none!important}.flex-lg-fill{flex:1 1 auto!important}.flex-lg-row{flex-direction:row!important}.flex-lg-column{flex-direction:column!important}.flex-lg-row-reverse{flex-direction:row-reverse!important}.flex-lg-column-reverse{flex-direction:column-reverse!important}.flex-lg-grow-0{flex-grow:0!important}.flex-lg-grow-1{flex-grow:1!important}.flex-lg-shrink-0{flex-shrink:0!important}.flex-lg-shrink-1{flex-shrink:1!important}.flex-lg-wrap{flex-wrap:wrap!important}.flex-lg-nowrap{flex-wrap:nowrap!important}.flex-lg-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-lg-start{justify-content:flex-start!important}.justify-content-lg-end{justify-content:flex-end!important}.justify-content-lg-center{justify-content:center!important}.justify-content-lg-between{justify-content:space-between!important}.justify-content-lg-around{justify-content:space-around!important}.justify-content-lg-evenly{justify-content:space-evenly!important}.align-items-lg-start{align-items:flex-start!important}.align-items-lg-end{align-items:flex-end!important}.align-items-lg-center{align-items:center!important}.align-items-lg-baseline{align-items:baseline!important}.align-items-lg-stretch{align-items:stretch!important}.align-content-lg-start{align-content:flex-start!important}.align-content-lg-end{align-content:flex-end!important}.align-content-lg-center{align-content:center!important}.align-content-lg-between{align-content:space-between!important}.align-content-lg-around{align-content:space-around!important}.align-content-lg-stretch{align-content:stretch!important}.align-self-lg-auto{align-self:auto!important}.align-self-lg-start{align-self:flex-start!important}.align-self-lg-end{align-self:flex-end!important}.align-self-lg-center{align-self:center!important}.align-self-lg-baseline{align-self:baseline!important}.align-self-lg-stretch{align-self:stretch!important}.order-lg-first{order:-1!important}.order-lg-0{order:0!important}.order-lg-1{order:1!important}.order-lg-2{order:2!important}.order-lg-3{order:3!important}.order-lg-4{order:4!important}.order-lg-5{order:5!important}.order-lg-last{order:6!important}.m-lg-0{margin:0!important}.m-lg-1{margin:.25rem!important}.m-lg-2{margin:.5rem!important}.m-lg-3{margin:1rem!important}.m-lg-4{margin:1.5rem!important}.m-lg-5{margin:3rem!important}.m-lg-auto{margin:auto!important}.mx-lg-0{margin-right:0!important;margin-left:0!important}.mx-lg-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-lg-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-lg-3{margin-right:1rem!important;margin-left:1rem!important}.mx-lg-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-lg-5{margin-right:3rem!important;margin-left:3rem!important}.mx-lg-auto{margin-right:auto!important;margin-left:auto!important}.my-lg-0{margin-top:0!important;margin-bottom:0!important}.my-lg-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-lg-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-lg-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-lg-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-lg-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-lg-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-lg-0{margin-top:0!important}.mt-lg-1{margin-top:.25rem!important}.mt-lg-2{margin-top:.5rem!important}.mt-lg-3{margin-top:1rem!important}.mt-lg-4{margin-top:1.5rem!important}.mt-lg-5{margin-top:3rem!important}.mt-lg-auto{margin-top:auto!important}.me-lg-0{margin-right:0!important}.me-lg-1{margin-right:.25rem!important}.me-lg-2{margin-right:.5rem!important}.me-lg-3{margin-right:1rem!important}.me-lg-4{margin-right:1.5rem!important}.me-lg-5{margin-right:3rem!important}.me-lg-auto{margin-right:auto!important}.mb-lg-0{margin-bottom:0!important}.mb-lg-1{margin-bottom:.25rem!important}.mb-lg-2{margin-bottom:.5rem!important}.mb-lg-3{margin-bottom:1rem!important}.mb-lg-4{margin-bottom:1.5rem!important}.mb-lg-5{margin-bottom:3rem!important}.mb-lg-auto{margin-bottom:auto!important}.ms-lg-0{margin-left:0!important}.ms-lg-1{margin-left:.25rem!important}.ms-lg-2{margin-left:.5rem!important}.ms-lg-3{margin-left:1rem!important}.ms-lg-4{margin-left:1.5rem!important}.ms-lg-5{margin-left:3rem!important}.ms-lg-auto{margin-left:auto!important}.p-lg-0{padding:0!important}.p-lg-1{padding:.25rem!important}.p-lg-2{padding:.5rem!important}.p-lg-3{padding:1rem!important}.p-lg-4{padding:1.5rem!important}.p-lg-5{padding:3rem!important}.px-lg-0{padding-right:0!important;padding-left:0!important}.px-lg-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-lg-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-lg-3{padding-right:1rem!important;padding-left:1rem!important}.px-lg-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-lg-5{padding-right:3rem!important;padding-left:3rem!important}.py-lg-0{padding-top:0!important;padding-bottom:0!important}.py-lg-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-lg-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-lg-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-lg-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-lg-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-lg-0{padding-top:0!important}.pt-lg-1{padding-top:.25rem!important}.pt-lg-2{padding-top:.5rem!important}.pt-lg-3{padding-top:1rem!important}.pt-lg-4{padding-top:1.5rem!important}.pt-lg-5{padding-top:3rem!important}.pe-lg-0{padding-right:0!important}.pe-lg-1{padding-right:.25rem!important}.pe-lg-2{padding-right:.5rem!important}.pe-lg-3{padding-right:1rem!important}.pe-lg-4{padding-right:1.5rem!important}.pe-lg-5{padding-right:3rem!important}.pb-lg-0{padding-bottom:0!important}.pb-lg-1{padding-bottom:.25rem!important}.pb-lg-2{padding-bottom:.5rem!important}.pb-lg-3{padding-bottom:1rem!important}.pb-lg-4{padding-bottom:1.5rem!important}.pb-lg-5{padding-bottom:3rem!important}.ps-lg-0{padding-left:0!important}.ps-lg-1{padding-left:.25rem!important}.ps-lg-2{padding-left:.5rem!important}.ps-lg-3{padding-left:1rem!important}.ps-lg-4{padding-left:1.5rem!important}.ps-lg-5{padding-left:3rem!important}.gap-lg-0{gap:0!important}.gap-lg-1{gap:.25rem!important}.gap-lg-2{gap:.5rem!important}.gap-lg-3{gap:1rem!important}.gap-lg-4{gap:1.5rem!important}.gap-lg-5{gap:3rem!important}.row-gap-lg-0{row-gap:0!important}.row-gap-lg-1{row-gap:.25rem!important}.row-gap-lg-2{row-gap:.5rem!important}.row-gap-lg-3{row-gap:1rem!important}.row-gap-lg-4{row-gap:1.5rem!important}.row-gap-lg-5{row-gap:3rem!important}.column-gap-lg-0{-moz-column-gap:0!important;column-gap:0!important}.column-gap-lg-1{-moz-column-gap:.25rem!important;column-gap:.25rem!important}.column-gap-lg-2{-moz-column-gap:.5rem!important;column-gap:.5rem!important}.column-gap-lg-3{-moz-column-gap:1rem!important;column-gap:1rem!important}.column-gap-lg-4{-moz-column-gap:1.5rem!important;column-gap:1.5rem!important}.column-gap-lg-5{-moz-column-gap:3rem!important;column-gap:3rem!important}.text-lg-start{text-align:left!important}.text-lg-end{text-align:right!important}.text-lg-center{text-align:center!important}}@media(min-width:1200px){.float-xl-start{float:left!important}.float-xl-end{float:right!important}.float-xl-none{float:none!important}.object-fit-xl-contain{-o-object-fit:contain!important;object-fit:contain!important}.object-fit-xl-cover{-o-object-fit:cover!important;object-fit:cover!important}.object-fit-xl-fill{-o-object-fit:fill!important;object-fit:fill!important}.object-fit-xl-scale{-o-object-fit:scale-down!important;object-fit:scale-down!important}.object-fit-xl-none{-o-object-fit:none!important;object-fit:none!important}.d-xl-inline{display:inline!important}.d-xl-inline-block{display:inline-block!important}.d-xl-block{display:block!important}.d-xl-grid{display:grid!important}.d-xl-inline-grid{display:inline-grid!important}.d-xl-table{display:table!important}.d-xl-table-row{display:table-row!important}.d-xl-table-cell{display:table-cell!important}.d-xl-flex{display:flex!important}.d-xl-inline-flex{display:inline-flex!important}.d-xl-none{display:none!important}.flex-xl-fill{flex:1 1 auto!important}.flex-xl-row{flex-direction:row!important}.flex-xl-column{flex-direction:column!important}.flex-xl-row-reverse{flex-direction:row-reverse!important}.flex-xl-column-reverse{flex-direction:column-reverse!important}.flex-xl-grow-0{flex-grow:0!important}.flex-xl-grow-1{flex-grow:1!important}.flex-xl-shrink-0{flex-shrink:0!important}.flex-xl-shrink-1{flex-shrink:1!important}.flex-xl-wrap{flex-wrap:wrap!important}.flex-xl-nowrap{flex-wrap:nowrap!important}.flex-xl-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-xl-start{justify-content:flex-start!important}.justify-content-xl-end{justify-content:flex-end!important}.justify-content-xl-center{justify-content:center!important}.justify-content-xl-between{justify-content:space-between!important}.justify-content-xl-around{justify-content:space-around!important}.justify-content-xl-evenly{justify-content:space-evenly!important}.align-items-xl-start{align-items:flex-start!important}.align-items-xl-end{align-items:flex-end!important}.align-items-xl-center{align-items:center!important}.align-items-xl-baseline{align-items:baseline!important}.align-items-xl-stretch{align-items:stretch!important}.align-content-xl-start{align-content:flex-start!important}.align-content-xl-end{align-content:flex-end!important}.align-content-xl-center{align-content:center!important}.align-content-xl-between{align-content:space-between!important}.align-content-xl-around{align-content:space-around!important}.align-content-xl-stretch{align-content:stretch!important}.align-self-xl-auto{align-self:auto!important}.align-self-xl-start{align-self:flex-start!important}.align-self-xl-end{align-self:flex-end!important}.align-self-xl-center{align-self:center!important}.align-self-xl-baseline{align-self:baseline!important}.align-self-xl-stretch{align-self:stretch!important}.order-xl-first{order:-1!important}.order-xl-0{order:0!important}.order-xl-1{order:1!important}.order-xl-2{order:2!important}.order-xl-3{order:3!important}.order-xl-4{order:4!important}.order-xl-5{order:5!important}.order-xl-last{order:6!important}.m-xl-0{margin:0!important}.m-xl-1{margin:.25rem!important}.m-xl-2{margin:.5rem!important}.m-xl-3{margin:1rem!important}.m-xl-4{margin:1.5rem!important}.m-xl-5{margin:3rem!important}.m-xl-auto{margin:auto!important}.mx-xl-0{margin-right:0!important;margin-left:0!important}.mx-xl-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-xl-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-xl-3{margin-right:1rem!important;margin-left:1rem!important}.mx-xl-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-xl-5{margin-right:3rem!important;margin-left:3rem!important}.mx-xl-auto{margin-right:auto!important;margin-left:auto!important}.my-xl-0{margin-top:0!important;margin-bottom:0!important}.my-xl-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-xl-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-xl-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-xl-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-xl-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-xl-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-xl-0{margin-top:0!important}.mt-xl-1{margin-top:.25rem!important}.mt-xl-2{margin-top:.5rem!important}.mt-xl-3{margin-top:1rem!important}.mt-xl-4{margin-top:1.5rem!important}.mt-xl-5{margin-top:3rem!important}.mt-xl-auto{margin-top:auto!important}.me-xl-0{margin-right:0!important}.me-xl-1{margin-right:.25rem!important}.me-xl-2{margin-right:.5rem!important}.me-xl-3{margin-right:1rem!important}.me-xl-4{margin-right:1.5rem!important}.me-xl-5{margin-right:3rem!important}.me-xl-auto{margin-right:auto!important}.mb-xl-0{margin-bottom:0!important}.mb-xl-1{margin-bottom:.25rem!important}.mb-xl-2{margin-bottom:.5rem!important}.mb-xl-3{margin-bottom:1rem!important}.mb-xl-4{margin-bottom:1.5rem!important}.mb-xl-5{margin-bottom:3rem!important}.mb-xl-auto{margin-bottom:auto!important}.ms-xl-0{margin-left:0!important}.ms-xl-1{margin-left:.25rem!important}.ms-xl-2{margin-left:.5rem!important}.ms-xl-3{margin-left:1rem!important}.ms-xl-4{margin-left:1.5rem!important}.ms-xl-5{margin-left:3rem!important}.ms-xl-auto{margin-left:auto!important}.p-xl-0{padding:0!important}.p-xl-1{padding:.25rem!important}.p-xl-2{padding:.5rem!important}.p-xl-3{padding:1rem!important}.p-xl-4{padding:1.5rem!important}.p-xl-5{padding:3rem!important}.px-xl-0{padding-right:0!important;padding-left:0!important}.px-xl-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-xl-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-xl-3{padding-right:1rem!important;padding-left:1rem!important}.px-xl-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-xl-5{padding-right:3rem!important;padding-left:3rem!important}.py-xl-0{padding-top:0!important;padding-bottom:0!important}.py-xl-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-xl-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-xl-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-xl-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-xl-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-xl-0{padding-top:0!important}.pt-xl-1{padding-top:.25rem!important}.pt-xl-2{padding-top:.5rem!important}.pt-xl-3{padding-top:1rem!important}.pt-xl-4{padding-top:1.5rem!important}.pt-xl-5{padding-top:3rem!important}.pe-xl-0{padding-right:0!important}.pe-xl-1{padding-right:.25rem!important}.pe-xl-2{padding-right:.5rem!important}.pe-xl-3{padding-right:1rem!important}.pe-xl-4{padding-right:1.5rem!important}.pe-xl-5{padding-right:3rem!important}.pb-xl-0{padding-bottom:0!important}.pb-xl-1{padding-bottom:.25rem!important}.pb-xl-2{padding-bottom:.5rem!important}.pb-xl-3{padding-bottom:1rem!important}.pb-xl-4{padding-bottom:1.5rem!important}.pb-xl-5{padding-bottom:3rem!important}.ps-xl-0{padding-left:0!important}.ps-xl-1{padding-left:.25rem!important}.ps-xl-2{padding-left:.5rem!important}.ps-xl-3{padding-left:1rem!important}.ps-xl-4{padding-left:1.5rem!important}.ps-xl-5{padding-left:3rem!important}.gap-xl-0{gap:0!important}.gap-xl-1{gap:.25rem!important}.gap-xl-2{gap:.5rem!important}.gap-xl-3{gap:1rem!important}.gap-xl-4{gap:1.5rem!important}.gap-xl-5{gap:3rem!important}.row-gap-xl-0{row-gap:0!important}.row-gap-xl-1{row-gap:.25rem!important}.row-gap-xl-2{row-gap:.5rem!important}.row-gap-xl-3{row-gap:1rem!important}.row-gap-xl-4{row-gap:1.5rem!important}.row-gap-xl-5{row-gap:3rem!important}.column-gap-xl-0{-moz-column-gap:0!important;column-gap:0!important}.column-gap-xl-1{-moz-column-gap:.25rem!important;column-gap:.25rem!important}.column-gap-xl-2{-moz-column-gap:.5rem!important;column-gap:.5rem!important}.column-gap-xl-3{-moz-column-gap:1rem!important;column-gap:1rem!important}.column-gap-xl-4{-moz-column-gap:1.5rem!important;column-gap:1.5rem!important}.column-gap-xl-5{-moz-column-gap:3rem!important;column-gap:3rem!important}.text-xl-start{text-align:left!important}.text-xl-end{text-align:right!important}.text-xl-center{text-align:center!important}}@media(min-width:1400px){.float-xxl-start{float:left!important}.float-xxl-end{float:right!important}.float-xxl-none{float:none!important}.object-fit-xxl-contain{-o-object-fit:contain!important;object-fit:contain!important}.object-fit-xxl-cover{-o-object-fit:cover!important;object-fit:cover!important}.object-fit-xxl-fill{-o-object-fit:fill!important;object-fit:fill!important}.object-fit-xxl-scale{-o-object-fit:scale-down!important;object-fit:scale-down!important}.object-fit-xxl-none{-o-object-fit:none!important;object-fit:none!important}.d-xxl-inline{display:inline!important}.d-xxl-inline-block{display:inline-block!important}.d-xxl-block{display:block!important}.d-xxl-grid{display:grid!important}.d-xxl-inline-grid{display:inline-grid!important}.d-xxl-table{display:table!important}.d-xxl-table-row{display:table-row!important}.d-xxl-table-cell{display:table-cell!important}.d-xxl-flex{display:flex!important}.d-xxl-inline-flex{display:inline-flex!important}.d-xxl-none{display:none!important}.flex-xxl-fill{flex:1 1 auto!important}.flex-xxl-row{flex-direction:row!important}.flex-xxl-column{flex-direction:column!important}.flex-xxl-row-reverse{flex-direction:row-reverse!important}.flex-xxl-column-reverse{flex-direction:column-reverse!important}.flex-xxl-grow-0{flex-grow:0!important}.flex-xxl-grow-1{flex-grow:1!important}.flex-xxl-shrink-0{flex-shrink:0!important}.flex-xxl-shrink-1{flex-shrink:1!important}.flex-xxl-wrap{flex-wrap:wrap!important}.flex-xxl-nowrap{flex-wrap:nowrap!important}.flex-xxl-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-xxl-start{justify-content:flex-start!important}.justify-content-xxl-end{justify-content:flex-end!important}.justify-content-xxl-center{justify-content:center!important}.justify-content-xxl-between{justify-content:space-between!important}.justify-content-xxl-around{justify-content:space-around!important}.justify-content-xxl-evenly{justify-content:space-evenly!important}.align-items-xxl-start{align-items:flex-start!important}.align-items-xxl-end{align-items:flex-end!important}.align-items-xxl-center{align-items:center!important}.align-items-xxl-baseline{align-items:baseline!important}.align-items-xxl-stretch{align-items:stretch!important}.align-content-xxl-start{align-content:flex-start!important}.align-content-xxl-end{align-content:flex-end!important}.align-content-xxl-center{align-content:center!important}.align-content-xxl-between{align-content:space-between!important}.align-content-xxl-around{align-content:space-around!important}.align-content-xxl-stretch{align-content:stretch!important}.align-self-xxl-auto{align-self:auto!important}.align-self-xxl-start{align-self:flex-start!important}.align-self-xxl-end{align-self:flex-end!important}.align-self-xxl-center{align-self:center!important}.align-self-xxl-baseline{align-self:baseline!important}.align-self-xxl-stretch{align-self:stretch!important}.order-xxl-first{order:-1!important}.order-xxl-0{order:0!important}.order-xxl-1{order:1!important}.order-xxl-2{order:2!important}.order-xxl-3{order:3!important}.order-xxl-4{order:4!important}.order-xxl-5{order:5!important}.order-xxl-last{order:6!important}.m-xxl-0{margin:0!important}.m-xxl-1{margin:.25rem!important}.m-xxl-2{margin:.5rem!important}.m-xxl-3{margin:1rem!important}.m-xxl-4{margin:1.5rem!important}.m-xxl-5{margin:3rem!important}.m-xxl-auto{margin:auto!important}.mx-xxl-0{margin-right:0!important;margin-left:0!important}.mx-xxl-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-xxl-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-xxl-3{margin-right:1rem!important;margin-left:1rem!important}.mx-xxl-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-xxl-5{margin-right:3rem!important;margin-left:3rem!important}.mx-xxl-auto{margin-right:auto!important;margin-left:auto!important}.my-xxl-0{margin-top:0!important;margin-bottom:0!important}.my-xxl-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-xxl-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-xxl-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-xxl-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-xxl-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-xxl-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-xxl-0{margin-top:0!important}.mt-xxl-1{margin-top:.25rem!important}.mt-xxl-2{margin-top:.5rem!important}.mt-xxl-3{margin-top:1rem!important}.mt-xxl-4{margin-top:1.5rem!important}.mt-xxl-5{margin-top:3rem!important}.mt-xxl-auto{margin-top:auto!important}.me-xxl-0{margin-right:0!important}.me-xxl-1{margin-right:.25rem!important}.me-xxl-2{margin-right:.5rem!important}.me-xxl-3{margin-right:1rem!important}.me-xxl-4{margin-right:1.5rem!important}.me-xxl-5{margin-right:3rem!important}.me-xxl-auto{margin-right:auto!important}.mb-xxl-0{margin-bottom:0!important}.mb-xxl-1{margin-bottom:.25rem!important}.mb-xxl-2{margin-bottom:.5rem!important}.mb-xxl-3{margin-bottom:1rem!important}.mb-xxl-4{margin-bottom:1.5rem!important}.mb-xxl-5{margin-bottom:3rem!important}.mb-xxl-auto{margin-bottom:auto!important}.ms-xxl-0{margin-left:0!important}.ms-xxl-1{margin-left:.25rem!important}.ms-xxl-2{margin-left:.5rem!important}.ms-xxl-3{margin-left:1rem!important}.ms-xxl-4{margin-left:1.5rem!important}.ms-xxl-5{margin-left:3rem!important}.ms-xxl-auto{margin-left:auto!important}.p-xxl-0{padding:0!important}.p-xxl-1{padding:.25rem!important}.p-xxl-2{padding:.5rem!important}.p-xxl-3{padding:1rem!important}.p-xxl-4{padding:1.5rem!important}.p-xxl-5{padding:3rem!important}.px-xxl-0{padding-right:0!important;padding-left:0!important}.px-xxl-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-xxl-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-xxl-3{padding-right:1rem!important;padding-left:1rem!important}.px-xxl-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-xxl-5{padding-right:3rem!important;padding-left:3rem!important}.py-xxl-0{padding-top:0!important;padding-bottom:0!important}.py-xxl-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-xxl-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-xxl-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-xxl-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-xxl-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-xxl-0{padding-top:0!important}.pt-xxl-1{padding-top:.25rem!important}.pt-xxl-2{padding-top:.5rem!important}.pt-xxl-3{padding-top:1rem!important}.pt-xxl-4{padding-top:1.5rem!important}.pt-xxl-5{padding-top:3rem!important}.pe-xxl-0{padding-right:0!important}.pe-xxl-1{padding-right:.25rem!important}.pe-xxl-2{padding-right:.5rem!important}.pe-xxl-3{padding-right:1rem!important}.pe-xxl-4{padding-right:1.5rem!important}.pe-xxl-5{padding-right:3rem!important}.pb-xxl-0{padding-bottom:0!important}.pb-xxl-1{padding-bottom:.25rem!important}.pb-xxl-2{padding-bottom:.5rem!important}.pb-xxl-3{padding-bottom:1rem!important}.pb-xxl-4{padding-bottom:1.5rem!important}.pb-xxl-5{padding-bottom:3rem!important}.ps-xxl-0{padding-left:0!important}.ps-xxl-1{padding-left:.25rem!important}.ps-xxl-2{padding-left:.5rem!important}.ps-xxl-3{padding-left:1rem!important}.ps-xxl-4{padding-left:1.5rem!important}.ps-xxl-5{padding-left:3rem!important}.gap-xxl-0{gap:0!important}.gap-xxl-1{gap:.25rem!important}.gap-xxl-2{gap:.5rem!important}.gap-xxl-3{gap:1rem!important}.gap-xxl-4{gap:1.5rem!important}.gap-xxl-5{gap:3rem!important}.row-gap-xxl-0{row-gap:0!important}.row-gap-xxl-1{row-gap:.25rem!important}.row-gap-xxl-2{row-gap:.5rem!important}.row-gap-xxl-3{row-gap:1rem!important}.row-gap-xxl-4{row-gap:1.5rem!important}.row-gap-xxl-5{row-gap:3rem!important}.column-gap-xxl-0{-moz-column-gap:0!important;column-gap:0!important}.column-gap-xxl-1{-moz-column-gap:.25rem!important;column-gap:.25rem!important}.column-gap-xxl-2{-moz-column-gap:.5rem!important;column-gap:.5rem!important}.column-gap-xxl-3{-moz-column-gap:1rem!important;column-gap:1rem!important}.column-gap-xxl-4{-moz-column-gap:1.5rem!important;column-gap:1.5rem!important}.column-gap-xxl-5{-moz-column-gap:3rem!important;column-gap:3rem!important}.text-xxl-start{text-align:left!important}.text-xxl-end{text-align:right!important}.text-xxl-center{text-align:center!important}}@media(min-width:1200px){.fs-1{font-size:2.5rem!important}.fs-2{font-size:2rem!important}.fs-3{font-size:1.75rem!important}.fs-4{font-size:1.5rem!important}}@media print{.d-print-inline{display:inline!important}.d-print-inline-block{display:inline-block!important}.d-print-block{display:block!important}.d-print-grid{display:grid!important}.d-print-inline-grid{display:inline-grid!important}.d-print-table{display:table!important}.d-print-table-row{display:table-row!important}.d-print-table-cell{display:table-cell!important}.d-print-flex{display:flex!important}.d-print-inline-flex{display:inline-flex!important}.d-print-none{display:none!important}}`,ki=":root,:host{--wg-theme-background-color: #ffffff;--wg-theme-text-color: #1a1a1a;--wg-theme-font-family: sans-serif;--wg-theme-border-color: #e5e7eb;--wg-theme-text-secondary: #6b7280;--wg-theme-surface-color: #ffffff;--wg-theme-surface-hover: #ede9fe;--wg-theme-primary-color: #000000;--wg-theme-primary-hover: #363636;--wg-theme-primary-text-color: #ffffff;--wg-theme-success-color: #22c55e;--wg-theme-error-color: #ef4444;--wg-theme-icon-bg: rgba(0, 0, 0, .04);--wg-theme-badge-bg: rgba(0, 0, 0, .06);--wg-theme-accent-color: #7c3aed;--wg-bg: var(--wg-theme-background-color);--wg-text: var(--wg-theme-text-color);--wg-text-secondary: var(--wg-theme-text-secondary);--wg-font-family: var(--wg-theme-font-family);--wg-border: var(--wg-theme-border-color);--wg-surface: var(--wg-theme-surface-color);--wg-surface-hover: var(--wg-theme-surface-hover);--wg-primary: var(--wg-theme-primary-color);--wg-primary-hover: var(--wg-theme-primary-hover);--wg-accent: var(--wg-theme-accent-color);--wg-success: var(--wg-theme-success-color);--wg-error: var(--wg-theme-error-color)}",al=K`
|
|
4
|
+
.container {
|
|
5
|
+
padding: 20px;
|
|
6
|
+
}
|
|
7
|
+
`,sl=[al],_i=class extends ge{};_i.styles=[sl,K`
|
|
8
|
+
${vr(il.replaceAll(/:root/g,":root,:host"))}
|
|
9
|
+
${vr(ki)}
|
|
10
|
+
|
|
11
|
+
:host {
|
|
12
|
+
--bs-body-color: var(--wg-theme-text-color);
|
|
13
|
+
|
|
14
|
+
margin: 0;
|
|
15
|
+
font-family: var(--bs-body-font-family);
|
|
16
|
+
font-size: var(--bs-body-font-size);
|
|
17
|
+
font-weight: var(--bs-body-font-weight);
|
|
18
|
+
line-height: var(--bs-body-line-height);
|
|
19
|
+
color: var(--bs-body-color);
|
|
20
|
+
text-align: var(--bs-body-text-align);
|
|
21
|
+
background-color: var(--bs-body-bg);
|
|
22
|
+
-webkit-text-size-adjust: 100%;
|
|
23
|
+
-webkit-tap-highlight-color: transparent;
|
|
24
|
+
}
|
|
25
|
+
`];let k=_i;const zi=["/login","/wallets","/settings","/transactions","/approve","/","/404","/callback"];function ll(e){return zi.includes(e)}const dl=zi.filter(e=>e!=="/").sort((e,t)=>t.length-e.length);function Ai(e){if(!e||e==="/")return"/";if(e.length>1e3)throw new Error("Path is too long");const t=e.replace(/\/+$/,"")||"/";return t==="/index.html"?"/":t.endsWith("/index.html")?t.slice(0,-11)||"/":t}function $e(e){const t=Ai(e);if(t==="/")return"/";for(const r of dl)if(t===r||t.endsWith(`${r}`))return r;return null}function cl(e){const t=Ai(e),r=$e(t);return r===null||r==="/"?t==="/"?"":t:t.slice(0,-r.length)||""}function Ke(e,t=window.location.pathname){const r=cl(t),o=e.startsWith("/")?e:`/${e}`;return r?o==="/"?`${r}/`:`${r}${o}`:o}function fe(e,t=window.location.pathname){return Ke(e==="/"?"/":`${e}/`,t)}var pl=Object.defineProperty,ml=Object.getOwnPropertyDescriptor,Nr=(e,t,r,o)=>{for(var n=o>1?void 0:o?ml(t,r):t,i=e.length-1,a;i>=0;i--)(a=e[i])&&(n=(o?a(t,r,n):a(n))||n);return o&&n&&pl(t,r,n),n};class bl extends Event{constructor(){super("logout",{bubbles:!0,composed:!0})}}let Qe=class extends k{constructor(){super(...arguments),this.iconSrc="images/icon.png",this.menuOpen=!1,this.darkMode=localStorage.getItem("theme")==="dark"}connectedCallback(){super.connectedCallback(),this.updateThemeAttribute()}updateThemeAttribute(){this.darkMode?this.setAttribute("theme","dark"):this.removeAttribute("theme")}toggleMenu(){this.menuOpen=!this.menuOpen}toggleTheme(){this.darkMode=!this.darkMode,localStorage.setItem("theme",this.darkMode?"dark":"light"),this.updateThemeAttribute()}navigateTo(e){window.location.href=Ke(e)}async logout(){try{console.log("Logging out..."),this.dispatchEvent(new bl)}catch(e){console.error("Error during logout:",e)}}render(){return g`
|
|
26
|
+
<header>
|
|
27
|
+
<div class="logo-box" @click=${()=>this.navigateTo("/")}>
|
|
28
|
+
<img src=${this.iconSrc} alt="App Icon" />Wallet Gateway
|
|
29
|
+
</div>
|
|
30
|
+
|
|
31
|
+
<button
|
|
32
|
+
class="hamburger"
|
|
33
|
+
@click=${this.toggleMenu}
|
|
34
|
+
aria-label="Toggle menu"
|
|
35
|
+
name="toggle menu"
|
|
36
|
+
>
|
|
37
|
+
☰
|
|
38
|
+
</button>
|
|
39
|
+
|
|
40
|
+
<div class="dropdown ${this.menuOpen?"open":""}">
|
|
41
|
+
<button @click=${()=>this.navigateTo("/wallets/")}>
|
|
42
|
+
💰 Wallets
|
|
43
|
+
</button>
|
|
44
|
+
<button @click=${()=>this.navigateTo("/transactions/")}>
|
|
45
|
+
🧾 Transactions
|
|
46
|
+
</button>
|
|
47
|
+
<button @click=${()=>this.navigateTo("/settings/")}>
|
|
48
|
+
⚙️ Settings
|
|
49
|
+
</button>
|
|
50
|
+
<button @click=${this.logout}>🚪 Logout</button>
|
|
51
|
+
|
|
52
|
+
<div class="theme-toggle" @click=${this.toggleTheme}>
|
|
53
|
+
<span
|
|
54
|
+
>${this.darkMode?"🌙 Dark Mode":"☀️ Light Mode"}</span
|
|
55
|
+
>
|
|
56
|
+
<div
|
|
57
|
+
class="toggle-switch ${this.darkMode?"on":""}"
|
|
58
|
+
></div>
|
|
59
|
+
</div>
|
|
60
|
+
</div>
|
|
61
|
+
</header>
|
|
62
|
+
`}};Qe.styles=[k.styles,K`
|
|
63
|
+
:host {
|
|
64
|
+
display: block;
|
|
65
|
+
width: 100%;
|
|
66
|
+
background-color: var(--header-bg, #fff);
|
|
67
|
+
border-bottom: 1px solid #e5e7eb;
|
|
68
|
+
position: sticky; /* Make sticky */
|
|
69
|
+
top: 0; /* Stick to top */
|
|
70
|
+
z-index: 1000; /* Ensure above other content */
|
|
71
|
+
--header-bg: #fff;
|
|
72
|
+
--menu-bg: #fff;
|
|
73
|
+
--text-color: #222;
|
|
74
|
+
--border-color: #ccc;
|
|
75
|
+
--shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
|
|
76
|
+
--hover-bg: rgba(0, 0, 0, 0.05);
|
|
77
|
+
}
|
|
78
|
+
:host([theme='dark']) {
|
|
79
|
+
--header-bg: #1e1e1e;
|
|
80
|
+
--menu-bg: #2b2b2b;
|
|
81
|
+
--text-color: #fff;
|
|
82
|
+
--border-color: #555;
|
|
83
|
+
--hover-bg: rgba(255, 255, 255, 0.1);
|
|
84
|
+
}
|
|
85
|
+
header {
|
|
86
|
+
display: flex;
|
|
87
|
+
justify-content: space-between;
|
|
88
|
+
align-items: center;
|
|
89
|
+
padding: 0.75rem 1rem;
|
|
90
|
+
width: 100%;
|
|
91
|
+
box-sizing: border-box;
|
|
92
|
+
}
|
|
93
|
+
.logo-box {
|
|
94
|
+
display: flex;
|
|
95
|
+
align-items: center;
|
|
96
|
+
gap: 8px;
|
|
97
|
+
font-weight: 600;
|
|
98
|
+
cursor: pointer;
|
|
99
|
+
color: var(--text-color);
|
|
100
|
+
user-select: none;
|
|
101
|
+
}
|
|
102
|
+
.logo-box img {
|
|
103
|
+
width: 24px;
|
|
104
|
+
height: 24px;
|
|
105
|
+
}
|
|
106
|
+
/* Hamburger */
|
|
107
|
+
.hamburger {
|
|
108
|
+
background: none;
|
|
109
|
+
border: none;
|
|
110
|
+
font-size: 1.8rem;
|
|
111
|
+
cursor: pointer;
|
|
112
|
+
color: var(--text-color);
|
|
113
|
+
padding: 0;
|
|
114
|
+
line-height: 1;
|
|
115
|
+
}
|
|
116
|
+
/* Dropdown menu */
|
|
117
|
+
.dropdown {
|
|
118
|
+
position: absolute;
|
|
119
|
+
top: 100%;
|
|
120
|
+
right: 1rem;
|
|
121
|
+
background: var(--menu-bg);
|
|
122
|
+
border-radius: 12px;
|
|
123
|
+
box-shadow: var(--shadow);
|
|
124
|
+
display: flex;
|
|
125
|
+
flex-direction: column;
|
|
126
|
+
min-width: 200px;
|
|
127
|
+
margin-top: 0.25rem;
|
|
128
|
+
padding: 0.25rem 0;
|
|
129
|
+
opacity: 0;
|
|
130
|
+
transform: translateY(-5px);
|
|
131
|
+
pointer-events: none;
|
|
132
|
+
transition:
|
|
133
|
+
opacity 0.15s ease,
|
|
134
|
+
transform 0.15s ease;
|
|
135
|
+
z-index: 1100; /* Above other content */
|
|
136
|
+
}
|
|
137
|
+
.dropdown.open {
|
|
138
|
+
opacity: 1;
|
|
139
|
+
transform: translateY(0);
|
|
140
|
+
pointer-events: auto;
|
|
141
|
+
}
|
|
142
|
+
.dropdown button {
|
|
143
|
+
width: 100%;
|
|
144
|
+
text-align: left;
|
|
145
|
+
border: none;
|
|
146
|
+
background: transparent;
|
|
147
|
+
padding: 0.5rem 1rem;
|
|
148
|
+
cursor: pointer;
|
|
149
|
+
transition: background 0.15s ease;
|
|
150
|
+
color: var(--text-color);
|
|
151
|
+
font-size: 0.95rem;
|
|
152
|
+
}
|
|
153
|
+
.dropdown button:hover {
|
|
154
|
+
background: var(--hover-bg);
|
|
155
|
+
}
|
|
156
|
+
.theme-toggle {
|
|
157
|
+
display: flex;
|
|
158
|
+
justify-content: space-between;
|
|
159
|
+
align-items: center;
|
|
160
|
+
padding: 0.5rem 1rem;
|
|
161
|
+
border-top: 1px solid var(--border-color);
|
|
162
|
+
margin-top: 0.25rem;
|
|
163
|
+
cursor: pointer;
|
|
164
|
+
color: var(--text-color);
|
|
165
|
+
}
|
|
166
|
+
.theme-toggle span {
|
|
167
|
+
color: var(--text-color);
|
|
168
|
+
font-size: 0.95rem;
|
|
169
|
+
}
|
|
170
|
+
.toggle-switch {
|
|
171
|
+
position: relative;
|
|
172
|
+
width: 40px;
|
|
173
|
+
height: 20px;
|
|
174
|
+
background: #ccc;
|
|
175
|
+
border-radius: 20px;
|
|
176
|
+
transition: background 0.15s;
|
|
177
|
+
flex-shrink: 0;
|
|
178
|
+
}
|
|
179
|
+
.toggle-switch::after {
|
|
180
|
+
content: '';
|
|
181
|
+
position: absolute;
|
|
182
|
+
top: 2px;
|
|
183
|
+
left: 2px;
|
|
184
|
+
width: 16px;
|
|
185
|
+
height: 16px;
|
|
186
|
+
background: white;
|
|
187
|
+
border-radius: 50%;
|
|
188
|
+
transition: transform 0.15s;
|
|
189
|
+
}
|
|
190
|
+
.toggle-switch.on {
|
|
191
|
+
background: #4caf50;
|
|
192
|
+
}
|
|
193
|
+
.toggle-switch.on::after {
|
|
194
|
+
transform: translateX(20px);
|
|
195
|
+
}
|
|
196
|
+
`];Nr([w({type:String})],Qe.prototype,"iconSrc",2);Nr([G()],Qe.prototype,"menuOpen",2);Nr([G()],Qe.prototype,"darkMode",2);Qe=Nr([B("app-header")],Qe);var ul=Object.defineProperty,gl=Object.getOwnPropertyDescriptor,Oo=(e,t,r,o)=>{for(var n=o>1?void 0:o?gl(t,r):t,i=e.length-1,a;i>=0;i--)(a=e[i])&&(n=(o?a(t,r,n):a(n))||n);return o&&n&&ul(t,r,n),n};let _t=class extends k{constructor(){super(...arguments),this.iconSrc="/images/icon.png",this.customThemeCss=null}async updated(e){if(e.has("themeSrc"))if(this.themeSrc){try{const t=await fetch(this.themeSrc);if(!t.ok)throw new Error(`HTTP ${t.status}`);this.customThemeCss=await t.text()}catch(t){console.warn(`[app-layout] Failed to load theme from "${this.themeSrc}":`,t),this.customThemeCss=null}this.requestUpdate()}else this.customThemeCss=null}get effectiveThemeCss(){return this.customThemeCss??ki}render(){return g`
|
|
197
|
+
<style>
|
|
198
|
+
${vr(this.effectiveThemeCss)}
|
|
199
|
+
</style>
|
|
200
|
+
|
|
201
|
+
<app-header .iconSrc=${this.iconSrc}></app-header>
|
|
202
|
+
<div class="container" id="mainContent">
|
|
203
|
+
<slot></slot>
|
|
204
|
+
</div>
|
|
205
|
+
`}};_t.styles=[k.styles];Oo([w({type:String})],_t.prototype,"iconSrc",2);Oo([w({type:String})],_t.prototype,"themeSrc",2);_t=Oo([B("app-layout")],_t);var fl=Object.defineProperty,hl=Object.getOwnPropertyDescriptor,dt=(e,t,r,o)=>{for(var n=o>1?void 0:o?hl(t,r):t,i=e.length-1,a;i>=0;i--)(a=e[i])&&(n=(o?a(t,r,n):a(n))||n);return o&&n&&fl(t,r,n),n};let le=class extends k{constructor(){super(...arguments),this.title="",this.message="",this.buttonText="Okay",this.type="error",this.closing=!1}closeToast(){this.closing=!0,setTimeout(()=>{this.closing=!1,this.remove()},600)}connectedCallback(){super.connectedCallback(),setTimeout(()=>this.closeToast(),5e3)}render(){const e=this.type==="success"?"btn-success":this.type==="error"?"btn-danger":"btn-primary";return g`
|
|
206
|
+
<div
|
|
207
|
+
class="toast-wrapper ${this.type} ${this.closing?"closing":""}"
|
|
208
|
+
role="alert"
|
|
209
|
+
aria-live="assertive"
|
|
210
|
+
aria-atomic="true"
|
|
211
|
+
>
|
|
212
|
+
<h5 class="toast-title">${this.title}</h5>
|
|
213
|
+
<h6 class="toast-message">${this.message}</h6>
|
|
214
|
+
<button
|
|
215
|
+
type="button"
|
|
216
|
+
class="btn ${e}"
|
|
217
|
+
@click=${this.closeToast}
|
|
218
|
+
>
|
|
219
|
+
${this.buttonText}
|
|
220
|
+
</button>
|
|
221
|
+
</div>
|
|
222
|
+
`}};le.styles=[k.styles,K`
|
|
223
|
+
:host {
|
|
224
|
+
position: fixed;
|
|
225
|
+
bottom: 20px;
|
|
226
|
+
right: 20px;
|
|
227
|
+
max-width: 500px;
|
|
228
|
+
z-index: 1000;
|
|
229
|
+
}
|
|
230
|
+
|
|
231
|
+
.toast-wrapper {
|
|
232
|
+
display: flex;
|
|
233
|
+
flex-direction: column;
|
|
234
|
+
border: 2px solid;
|
|
235
|
+
padding: 12px 20px;
|
|
236
|
+
border-radius: 6px;
|
|
237
|
+
}
|
|
238
|
+
|
|
239
|
+
.info {
|
|
240
|
+
background-color: var(--bs-primary-bg-subtle);
|
|
241
|
+
border-color: var(--bs-primary-border-subtle);
|
|
242
|
+
}
|
|
243
|
+
|
|
244
|
+
.success {
|
|
245
|
+
background-color: var(--bs-success-bg-subtle);
|
|
246
|
+
border-color: var(--bs-success-border-subtle);
|
|
247
|
+
}
|
|
248
|
+
|
|
249
|
+
.error {
|
|
250
|
+
background-color: var(--bs-danger-bg-subtle);
|
|
251
|
+
border-color: var(--bs-danger-border-subtle);
|
|
252
|
+
}
|
|
253
|
+
|
|
254
|
+
.toast-title {
|
|
255
|
+
font-weight: 700;
|
|
256
|
+
}
|
|
257
|
+
|
|
258
|
+
.info .toast-title,
|
|
259
|
+
.info .toast-message {
|
|
260
|
+
color: var(--bs-primary-text-emphasis);
|
|
261
|
+
}
|
|
262
|
+
|
|
263
|
+
.success .toast-title,
|
|
264
|
+
.success .toast-message {
|
|
265
|
+
color: var(--bs-success-text-emphasis);
|
|
266
|
+
}
|
|
267
|
+
|
|
268
|
+
.error .toast-title,
|
|
269
|
+
.error .toast-message {
|
|
270
|
+
color: var(--bs-error-text-emphasis);
|
|
271
|
+
}
|
|
272
|
+
|
|
273
|
+
.btn {
|
|
274
|
+
align-self: flex-end;
|
|
275
|
+
}
|
|
276
|
+
|
|
277
|
+
@keyframes fadeIn {
|
|
278
|
+
from {
|
|
279
|
+
opacity: 0;
|
|
280
|
+
transform: translateY(20px);
|
|
281
|
+
}
|
|
282
|
+
to {
|
|
283
|
+
opacity: 1;
|
|
284
|
+
transform: translateY(0);
|
|
285
|
+
}
|
|
286
|
+
}
|
|
287
|
+
|
|
288
|
+
@keyframes fadeOut {
|
|
289
|
+
from {
|
|
290
|
+
opacity: 1;
|
|
291
|
+
transform: translateY(0);
|
|
292
|
+
}
|
|
293
|
+
to {
|
|
294
|
+
opacity: 0;
|
|
295
|
+
transform: translateY(20px);
|
|
296
|
+
}
|
|
297
|
+
}
|
|
298
|
+
|
|
299
|
+
.toast-wrapper {
|
|
300
|
+
animation: fadeIn 0.6s ease-out;
|
|
301
|
+
transition: opacity 0.6s ease-out;
|
|
302
|
+
}
|
|
303
|
+
|
|
304
|
+
.toast-wrapper.closing {
|
|
305
|
+
animation: fadeOut 0.6s ease-in forwards;
|
|
306
|
+
}
|
|
307
|
+
|
|
308
|
+
@media (max-width: 600px) {
|
|
309
|
+
:host {
|
|
310
|
+
max-width: 300px;
|
|
311
|
+
}
|
|
312
|
+
}
|
|
313
|
+
`];dt([w({type:String})],le.prototype,"title",2);dt([w({type:String})],le.prototype,"message",2);dt([w({type:String})],le.prototype,"buttonText",2);dt([w({type:String})],le.prototype,"type",2);dt([w({type:Boolean})],le.prototype,"closing",2);le=dt([B("custom-toast")],le);function Si(e){return Array.isArray(e)?e.reduce((t,r)=>t+Si(r),""):e instanceof yo?e.cssText:""}const vl=Si([k.styles,K`
|
|
314
|
+
* {
|
|
315
|
+
box-sizing: border-box;
|
|
316
|
+
font-family: var(
|
|
317
|
+
--wg-theme-font-family,
|
|
318
|
+
-apple-system,
|
|
319
|
+
BlinkMacSystemFont,
|
|
320
|
+
'Segoe UI',
|
|
321
|
+
Roboto,
|
|
322
|
+
'Helvetica Neue',
|
|
323
|
+
Arial,
|
|
324
|
+
sans-serif
|
|
325
|
+
);
|
|
326
|
+
color: var(--wg-theme-text-color, #1a1a1a);
|
|
327
|
+
}
|
|
328
|
+
|
|
329
|
+
.root {
|
|
330
|
+
background-color: var(--wg-theme-background-color, #ffffff);
|
|
331
|
+
width: 100%;
|
|
332
|
+
height: 100%;
|
|
333
|
+
display: flex;
|
|
334
|
+
flex-direction: column;
|
|
335
|
+
}
|
|
336
|
+
|
|
337
|
+
.view-container {
|
|
338
|
+
display: flex;
|
|
339
|
+
flex-direction: column;
|
|
340
|
+
height: 100%;
|
|
341
|
+
}
|
|
342
|
+
|
|
343
|
+
.header {
|
|
344
|
+
height: 40px;
|
|
345
|
+
padding: 0 24px;
|
|
346
|
+
display: flex;
|
|
347
|
+
align-items: center;
|
|
348
|
+
border-bottom: 1px solid var(--wg-theme-border-color, #e5e7eb);
|
|
349
|
+
}
|
|
350
|
+
|
|
351
|
+
.header-logo {
|
|
352
|
+
width: 28px;
|
|
353
|
+
height: 28px;
|
|
354
|
+
}
|
|
355
|
+
|
|
356
|
+
.view-title {
|
|
357
|
+
font-size: 20px;
|
|
358
|
+
font-weight: 600;
|
|
359
|
+
padding: 16px 24px 12px;
|
|
360
|
+
color: var(--wg-theme-text-color, #1a1a1a);
|
|
361
|
+
}
|
|
362
|
+
|
|
363
|
+
.wallet-list {
|
|
364
|
+
flex: 1;
|
|
365
|
+
overflow-y: auto;
|
|
366
|
+
padding: 4px 12px 0;
|
|
367
|
+
}
|
|
368
|
+
|
|
369
|
+
.wallet-card {
|
|
370
|
+
display: flex;
|
|
371
|
+
align-items: center;
|
|
372
|
+
gap: 12px;
|
|
373
|
+
padding: 14px 16px;
|
|
374
|
+
border-radius: 8px;
|
|
375
|
+
border: 1px solid var(--wg-theme-border-color, #e5e7eb);
|
|
376
|
+
background: var(--wg-theme-surface-color, #ffffff);
|
|
377
|
+
cursor: pointer;
|
|
378
|
+
transition: all 0.15s ease;
|
|
379
|
+
margin-bottom: 8px;
|
|
380
|
+
width: 100%;
|
|
381
|
+
text-align: left;
|
|
382
|
+
}
|
|
383
|
+
|
|
384
|
+
.wallet-card:hover {
|
|
385
|
+
background: var(--wg-theme-surface-hover, #ede9fe);
|
|
386
|
+
border-color: var(--wg-theme-accent-color, #7c3aed);
|
|
387
|
+
}
|
|
388
|
+
|
|
389
|
+
.wallet-card:active {
|
|
390
|
+
transform: scale(0.99);
|
|
391
|
+
}
|
|
392
|
+
|
|
393
|
+
.wallet-icon {
|
|
394
|
+
width: 42px;
|
|
395
|
+
height: 42px;
|
|
396
|
+
border-radius: 8px;
|
|
397
|
+
background: var(--wg-theme-icon-bg, rgba(0, 0, 0, 0.04));
|
|
398
|
+
display: flex;
|
|
399
|
+
align-items: center;
|
|
400
|
+
justify-content: center;
|
|
401
|
+
flex-shrink: 0;
|
|
402
|
+
overflow: hidden;
|
|
403
|
+
}
|
|
404
|
+
|
|
405
|
+
.wallet-icon img {
|
|
406
|
+
width: 42px;
|
|
407
|
+
height: 42px;
|
|
408
|
+
border-radius: 8px;
|
|
409
|
+
object-fit: cover;
|
|
410
|
+
}
|
|
411
|
+
|
|
412
|
+
.wallet-icon svg {
|
|
413
|
+
width: 22px;
|
|
414
|
+
height: 22px;
|
|
415
|
+
color: var(--wg-theme-text-secondary, #6b7280);
|
|
416
|
+
}
|
|
417
|
+
|
|
418
|
+
.wallet-name {
|
|
419
|
+
font-size: 15px;
|
|
420
|
+
font-weight: 500;
|
|
421
|
+
}
|
|
422
|
+
|
|
423
|
+
.custom-url-section {
|
|
424
|
+
padding: 8px 12px 16px;
|
|
425
|
+
}
|
|
426
|
+
|
|
427
|
+
.custom-url-label {
|
|
428
|
+
display: flex;
|
|
429
|
+
align-items: center;
|
|
430
|
+
gap: 6px;
|
|
431
|
+
font-size: 11px;
|
|
432
|
+
font-weight: 600;
|
|
433
|
+
text-transform: uppercase;
|
|
434
|
+
letter-spacing: 0.05em;
|
|
435
|
+
color: var(--wg-theme-text-color, #1a1a1a);
|
|
436
|
+
padding: 0 4px 8px;
|
|
437
|
+
}
|
|
438
|
+
|
|
439
|
+
.custom-url-label .info-icon {
|
|
440
|
+
display: inline-flex;
|
|
441
|
+
align-items: center;
|
|
442
|
+
width: 14px;
|
|
443
|
+
height: 14px;
|
|
444
|
+
color: var(--wg-theme-text-secondary, #6b7280);
|
|
445
|
+
}
|
|
446
|
+
|
|
447
|
+
.custom-url-row {
|
|
448
|
+
display: flex;
|
|
449
|
+
gap: 8px;
|
|
450
|
+
align-items: center;
|
|
451
|
+
}
|
|
452
|
+
|
|
453
|
+
.custom-url-input {
|
|
454
|
+
flex: 1;
|
|
455
|
+
padding: 10px 14px;
|
|
456
|
+
border: 1px solid var(--wg-theme-border-color, #e5e7eb);
|
|
457
|
+
border-radius: 8px;
|
|
458
|
+
font-size: 14px;
|
|
459
|
+
outline: none;
|
|
460
|
+
background: var(--wg-theme-surface-color, #ffffff);
|
|
461
|
+
color: var(--wg-theme-text-color, #1a1a1a);
|
|
462
|
+
}
|
|
463
|
+
|
|
464
|
+
.custom-url-input:focus {
|
|
465
|
+
border-color: var(--wg-theme-accent-color, #7c3aed);
|
|
466
|
+
box-shadow: 0 0 0 2px rgba(124, 58, 237, 0.15);
|
|
467
|
+
}
|
|
468
|
+
|
|
469
|
+
.custom-url-input::placeholder {
|
|
470
|
+
color: var(--wg-theme-text-secondary, #6b7280);
|
|
471
|
+
}
|
|
472
|
+
|
|
473
|
+
.btn-add {
|
|
474
|
+
background: var(--wg-theme-primary-color, #000000);
|
|
475
|
+
color: var(--wg-theme-primary-text-color, #ffffff);
|
|
476
|
+
border: none;
|
|
477
|
+
border-radius: 20px;
|
|
478
|
+
padding: 10px 24px;
|
|
479
|
+
font-size: 14px;
|
|
480
|
+
font-weight: 500;
|
|
481
|
+
cursor: pointer;
|
|
482
|
+
transition: background 0.15s;
|
|
483
|
+
white-space: nowrap;
|
|
484
|
+
}
|
|
485
|
+
|
|
486
|
+
.btn-add:hover {
|
|
487
|
+
background: var(--wg-theme-primary-hover, #363636);
|
|
488
|
+
}
|
|
489
|
+
|
|
490
|
+
.btn-add:disabled {
|
|
491
|
+
opacity: 0.5;
|
|
492
|
+
cursor: default;
|
|
493
|
+
}
|
|
494
|
+
|
|
495
|
+
.status-view {
|
|
496
|
+
display: flex;
|
|
497
|
+
flex-direction: column;
|
|
498
|
+
align-items: center;
|
|
499
|
+
justify-content: center;
|
|
500
|
+
padding: 48px 24px;
|
|
501
|
+
gap: 16px;
|
|
502
|
+
text-align: center;
|
|
503
|
+
flex: 1;
|
|
504
|
+
}
|
|
505
|
+
|
|
506
|
+
.status-view h3 {
|
|
507
|
+
margin: 0;
|
|
508
|
+
font-size: 16px;
|
|
509
|
+
font-weight: 600;
|
|
510
|
+
}
|
|
511
|
+
|
|
512
|
+
.status-view p {
|
|
513
|
+
margin: 0;
|
|
514
|
+
font-size: 14px;
|
|
515
|
+
color: var(--wg-theme-text-secondary, #6b7280);
|
|
516
|
+
}
|
|
517
|
+
|
|
518
|
+
.spinner {
|
|
519
|
+
width: 36px;
|
|
520
|
+
height: 36px;
|
|
521
|
+
border: 3px solid var(--wg-theme-border-color, #e5e7eb);
|
|
522
|
+
border-top-color: var(--wg-theme-accent-color, #7c3aed);
|
|
523
|
+
border-radius: 50%;
|
|
524
|
+
animation: spin 0.8s linear infinite;
|
|
525
|
+
}
|
|
526
|
+
|
|
527
|
+
@keyframes spin {
|
|
528
|
+
to {
|
|
529
|
+
transform: rotate(360deg);
|
|
530
|
+
}
|
|
531
|
+
}
|
|
532
|
+
|
|
533
|
+
.success-icon {
|
|
534
|
+
color: var(--wg-theme-success-color, #22c55e);
|
|
535
|
+
}
|
|
536
|
+
|
|
537
|
+
.error-icon {
|
|
538
|
+
color: var(--wg-theme-error-color, #ef4444);
|
|
539
|
+
}
|
|
540
|
+
|
|
541
|
+
.btn-row {
|
|
542
|
+
display: flex;
|
|
543
|
+
gap: 8px;
|
|
544
|
+
margin-top: 8px;
|
|
545
|
+
}
|
|
546
|
+
|
|
547
|
+
.btn-primary {
|
|
548
|
+
background: var(--wg-theme-primary-color, #80deea);
|
|
549
|
+
color: var(--wg-theme-primary-text-color, #ffffff);
|
|
550
|
+
border: none;
|
|
551
|
+
border-radius: 8px;
|
|
552
|
+
padding: 10px 24px;
|
|
553
|
+
font-size: 14px;
|
|
554
|
+
font-weight: 500;
|
|
555
|
+
cursor: pointer;
|
|
556
|
+
transition: background 0.15s;
|
|
557
|
+
}
|
|
558
|
+
|
|
559
|
+
.btn-primary:hover {
|
|
560
|
+
background: var(--wg-theme-primary-hover, #60c8d6);
|
|
561
|
+
}
|
|
562
|
+
|
|
563
|
+
.btn-secondary {
|
|
564
|
+
background: transparent;
|
|
565
|
+
color: var(--wg-theme-text-secondary, #6b7280);
|
|
566
|
+
border: 1px solid var(--wg-theme-border-color, #e5e7eb);
|
|
567
|
+
border-radius: 8px;
|
|
568
|
+
padding: 10px 24px;
|
|
569
|
+
font-size: 14px;
|
|
570
|
+
font-weight: 500;
|
|
571
|
+
cursor: pointer;
|
|
572
|
+
}
|
|
573
|
+
|
|
574
|
+
.empty-state {
|
|
575
|
+
color: var(--wg-theme-text-secondary, #6b7280);
|
|
576
|
+
}
|
|
577
|
+
`]),$i=class extends HTMLElement{constructor(){super(),this.RECENT_KEY="splice_wallet_picker_recent",this.entries=[],this.recentGateways=[],this.state="list",this.selectedEntry=null,this.errorMessage="",this.attachShadow({mode:"open"});const t=this.constructor;if(t.styles){const r=document.createElement("style");r.textContent=t.styles,this.shadowRoot.appendChild(r)}this.root=document.createElement("div"),this.root.className="root",this.loadEntries(),this.recentGateways=this.loadRecentGateways()}loadRecentGateways(){try{const t=localStorage.getItem(this.RECENT_KEY);if(t)return JSON.parse(t)}catch{}return[]}saveRecentGateway(t){const r=this.loadRecentGateways().filter(o=>o.rpcUrl!==t.rpcUrl);r.unshift(t),localStorage.setItem(this.RECENT_KEY,JSON.stringify(r.slice(0,5)))}loadEntries(){const t=localStorage.getItem("splice_wallet_picker_entries");if(t)try{this.entries=JSON.parse(t)}catch{this.entries=[]}}getAllEntries(){const t=new Set(this.entries.filter(o=>o.type==="remote"&&o.url).map(o=>o.url)),r=this.recentGateways.filter(o=>!t.has(o.rpcUrl)).map(o=>({providerId:"remote:"+o.rpcUrl,name:o.name,type:"remote",url:o.rpcUrl}));return[...this.entries,...r]}selectWallet(t){this.selectedEntry=t,this.state="connecting",this.render(),window.opener&&window.opener.postMessage({messageType:"SPLICE_WALLET_PICKER_RESULT",providerId:t.providerId,name:t.name,walletType:t.type,url:t.url},"*")}connectCustomUrl(t){const r=t.trim();r&&(this.saveRecentGateway({name:r,rpcUrl:r}),this.selectWallet({providerId:"remote:"+r,name:r,type:"remote",url:r}))}setConnected(){this.state="connected",this.render(),setTimeout(()=>{window.opener&&window.close()},1200)}setError(t){this.errorMessage=t,this.state="error",this.render()}renderHeader(){const t=this.el("div","",{class:"header"}),r=this.el("img","",{class:"header-logo",src:"data:image/png;base64,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",alt:"Canton"});return t.appendChild(r),t}renderWalletCard(t){const r=this.el("button","",{class:"wallet-card"}),o=this.el("div","",{class:"wallet-icon"});if(t.icon){const n=this.el("img","",{src:t.icon,alt:t.name});o.appendChild(n)}else o.innerHTML=t.type==="browser"?'<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="3" y="11" width="18" height="11" rx="2" ry="2"/><path d="M7 11V7a5 5 0 0 1 10 0v4"/></svg>':'<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="2" y="3" width="20" height="14" rx="2"/><path d="M8 21h8"/><path d="M12 17v4"/><circle cx="12" cy="10" r="2"/></svg>';return r.appendChild(o),r.appendChild(this.el("span",t.name,{class:"wallet-name"})),r.addEventListener("click",()=>this.selectWallet(t)),r}renderList(){const t=this.el("div","",{class:"view-container"});t.appendChild(this.renderHeader());const r=this.el("div","Connect a wallet",{class:"view-title"});t.appendChild(r);const o=this.getAllEntries(),n=this.el("div","",{class:"wallet-list"});if(o.length===0){const u=this.el("div","",{class:"status-view"});u.appendChild(this.el("h3","No wallets available",{class:"empty-state"})),u.appendChild(this.el("p","Install a Canton wallet extension or enter a Wallet Gateway URL below.")),n.appendChild(u)}else for(const u of o)n.appendChild(this.renderWalletCard(u));t.appendChild(n);const i=this.el("div","",{class:"custom-url-section"}),a=this.el("div","",{class:"custom-url-label"});a.appendChild(document.createTextNode("CUSTOM WALLET URL"));const s=document.createElement("span");s.className="info-icon",s.innerHTML='<svg width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="10"/><line x1="12" x2="12" y1="16" y2="12"/><line x1="12" x2="12.01" y1="8" y2="8"/></svg>',a.appendChild(s),i.appendChild(a);const l=this.el("div","",{class:"custom-url-row"}),d=this.el("input","",{class:"custom-url-input",type:"text",placeholder:"Enter your wallet URL"}),c=this.el("button","Add",{class:"btn-add"}),p=()=>{const u=d.value;u.trim()&&this.connectCustomUrl(u)};return c.addEventListener("click",p),d.addEventListener("keydown",u=>{u.key==="Enter"&&p()}),l.append(d,c),i.appendChild(l),t.appendChild(i),t}renderConnecting(){const t=this.el("div","",{class:"view-container"});t.appendChild(this.renderHeader()),t.appendChild(this.el("div","Connecting...",{class:"view-title"}));const r=this.el("div","",{class:"status-view"});return r.appendChild(this.el("div","",{class:"spinner"})),r.appendChild(this.el("h3","Connecting to "+(this.selectedEntry?.name||"")+"...")),r.appendChild(this.el("p",this.selectedEntry?.type==="remote"?"Approve the connection in the wallet popup":"Approve the connection in your extension")),t.appendChild(r),t}renderConnected(){const t=this.el("div","",{class:"view-container"});t.appendChild(this.renderHeader()),t.appendChild(this.el("div","Connected",{class:"view-title"}));const r=this.el("div","",{class:"status-view"}),o=this.el("div","",{class:"success-icon"});return o.innerHTML='<svg width="40" height="40" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><path d="M20 6 9 17l-5-5"/></svg>',r.appendChild(o),r.appendChild(this.el("h3","Connected to "+(this.selectedEntry?.name||"wallet"))),t.appendChild(r),t}renderError(){const t=this.el("div","",{class:"view-container"});t.appendChild(this.renderHeader()),t.appendChild(this.el("div","Connection Failed",{class:"view-title"}));const r=this.el("div","",{class:"status-view"}),o=this.el("div","",{class:"error-icon"});o.innerHTML='<svg width="40" height="40" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="10"/><line x1="12" x2="12" y1="8" y2="12"/><line x1="12" x2="12.01" y1="16" y2="16"/></svg>',r.appendChild(o),r.appendChild(this.el("h3","Failed to connect")),r.appendChild(this.el("p",this.errorMessage||"An unexpected error occurred"));const n=this.el("div","",{class:"btn-row"}),i=this.el("button","Try Again",{class:"btn-primary"});i.addEventListener("click",()=>{this.state="list",this.selectedEntry=null,this.errorMessage="",this.render()});const a=this.el("button","Cancel",{class:"btn-secondary"});return a.addEventListener("click",()=>window.close()),n.append(i,a),r.appendChild(n),t.appendChild(r),t}render(){let t;switch(this.state){case"connecting":t=this.renderConnecting();break;case"connected":t=this.renderConnected();break;case"error":t=this.renderError();break;default:t=this.renderList()}this.shadowRoot&&(Array.from(this.shadowRoot.childNodes).forEach(r=>{r instanceof HTMLStyleElement||this.shadowRoot.removeChild(r)}),this.shadowRoot.appendChild(t))}connectedCallback(){this.render()}el(t,r,o={}){const n=document.createElement(t);r&&(n.innerText=r);for(const[i,a]of Object.entries(o))n.setAttribute(i,a);return n}};$i.styles=vl;let wl=$i;customElements.define("swk-wallet-picker",wl);const xl=g`
|
|
578
|
+
<svg
|
|
579
|
+
xmlns="http://www.w3.org/2000/svg"
|
|
580
|
+
width="16"
|
|
581
|
+
height="16"
|
|
582
|
+
fill="currentColor"
|
|
583
|
+
class="bi bi-eye-fill"
|
|
584
|
+
viewBox="0 0 16 16"
|
|
585
|
+
>
|
|
586
|
+
<path d="M10.5 8a2.5 2.5 0 1 1-5 0 2.5 2.5 0 0 1 5 0" />
|
|
587
|
+
<path
|
|
588
|
+
d="M0 8s3-5.5 8-5.5S16 8 16 8s-3 5.5-8 5.5S0 8 0 8m8 3.5a3.5 3.5 0 1 0 0-7 3.5 3.5 0 0 0 0 7"
|
|
589
|
+
/>
|
|
590
|
+
</svg>
|
|
591
|
+
`,yl=g`
|
|
592
|
+
<svg
|
|
593
|
+
xmlns="http://www.w3.org/2000/svg"
|
|
594
|
+
width="16"
|
|
595
|
+
height="16"
|
|
596
|
+
fill="currentColor"
|
|
597
|
+
class="bi bi-eye-slash"
|
|
598
|
+
viewBox="0 0 16 16"
|
|
599
|
+
>
|
|
600
|
+
<path
|
|
601
|
+
d="M13.359 11.238C15.06 9.72 16 8 16 8s-3-5.5-8-5.5a7 7 0 0 0-2.79.588l.77.771A6 6 0 0 1 8 3.5c2.12 0 3.879 1.168 5.168 2.457A13 13 0 0 1 14.828 8q-.086.13-.195.288c-.335.48-.83 1.12-1.465 1.755q-.247.248-.517.486z"
|
|
602
|
+
/>
|
|
603
|
+
<path
|
|
604
|
+
d="M11.297 9.176a3.5 3.5 0 0 0-4.474-4.474l.823.823a2.5 2.5 0 0 1 2.829 2.829zm-2.943 1.299.822.822a3.5 3.5 0 0 1-4.474-4.474l.823.823a2.5 2.5 0 0 0 2.829 2.829"
|
|
605
|
+
/>
|
|
606
|
+
<path
|
|
607
|
+
d="M3.35 5.47q-.27.24-.518.487A13 13 0 0 0 1.172 8l.195.288c.335.48.83 1.12 1.465 1.755C4.121 11.332 5.881 12.5 8 12.5c.716 0 1.39-.133 2.02-.36l.77.772A7 7 0 0 1 8 13.5C3 13.5 0 8 0 8s.939-1.721 2.641-3.238l.708.709zm10.296 8.884-12-12 .708-.708 12 12z"
|
|
608
|
+
/>
|
|
609
|
+
</svg>
|
|
610
|
+
`;g` <svg
|
|
611
|
+
xmlns="http://www.w3.org/2000/svg"
|
|
612
|
+
width="16"
|
|
613
|
+
height="16"
|
|
614
|
+
fill="currentColor"
|
|
615
|
+
class="bi bi-info-circle-fill"
|
|
616
|
+
viewBox="0 0 16 16"
|
|
617
|
+
>
|
|
618
|
+
<path
|
|
619
|
+
d="M8 16A8 8 0 1 0 8 0a8 8 0 0 0 0 16m.93-9.412-1 4.705c-.07.34.029.533.304.533.194 0 .487-.07.686-.246l-.088.416c-.287.346-.92.598-1.465.598-.703 0-1.002-.422-.808-1.319l.738-3.468c.064-.293.006-.399-.287-.47l-.451-.081.082-.381 2.29-.287zM8 5.5a1 1 0 1 1 0-2 1 1 0 0 1 0 2"
|
|
620
|
+
/>
|
|
621
|
+
</svg>`;var kl=Object.defineProperty,_l=Object.getOwnPropertyDescriptor,Te=(e,t,r,o)=>{for(var n=o>1?void 0:o?_l(t,r):t,i=e.length-1,a;i>=0;i--)(a=e[i])&&(n=(o?a(t,r,n):a(n))||n);return o&&n&&kl(t,r,n),n};class zl extends Event{constructor(t){super("form-input-change",{bubbles:!0,composed:!0}),this.value=t}}let de=class extends k{constructor(){super(...arguments),this.label="",this.value="",this.text="",this.required=!1,this.hideable=!1,this.hidden=!0}render(){return g`
|
|
622
|
+
<div class="mb-3">
|
|
623
|
+
<label for=${this.label}>${this.label}</label>
|
|
624
|
+
<div class="input-group">
|
|
625
|
+
${this.hideable?g`<button
|
|
626
|
+
class="btn btn-outline-secondary"
|
|
627
|
+
@click=${()=>this.hidden=!this.hidden}
|
|
628
|
+
type="button"
|
|
629
|
+
id="button-addon2"
|
|
630
|
+
>
|
|
631
|
+
${this.hidden?yl:xl}
|
|
632
|
+
</button>`:null}
|
|
633
|
+
<input
|
|
634
|
+
.value=${this.value}
|
|
635
|
+
?required=${this.required}
|
|
636
|
+
type=${this.hideable&&this.hidden?"password":"text"}
|
|
637
|
+
@change=${e=>{const t=e.target;this.value=t.value,this.dispatchEvent(new zl(this.value))}}
|
|
638
|
+
type="text"
|
|
639
|
+
class="form-control"
|
|
640
|
+
name=${this.label}
|
|
641
|
+
/>
|
|
642
|
+
</div>
|
|
643
|
+
${this.text?g`<div class="form-text">${this.text}</div>`:null}
|
|
644
|
+
</div>
|
|
645
|
+
`}};de.styles=[k.styles];Te([w({type:String})],de.prototype,"label",2);Te([w({type:String})],de.prototype,"value",2);Te([w({type:String})],de.prototype,"text",2);Te([w({type:Boolean})],de.prototype,"required",2);Te([w({type:Boolean})],de.prototype,"hideable",2);Te([w({type:Boolean})],de.prototype,"hidden",2);de=Te([B("form-input")],de);const Rr=K`
|
|
646
|
+
.network-card {
|
|
647
|
+
background: #fff;
|
|
648
|
+
border: none;
|
|
649
|
+
border-radius: 8px;
|
|
650
|
+
box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);
|
|
651
|
+
display: flex;
|
|
652
|
+
flex-direction: column;
|
|
653
|
+
gap: 0.5rem;
|
|
654
|
+
min-width: 0;
|
|
655
|
+
}
|
|
656
|
+
.network-meta {
|
|
657
|
+
color: var(--bs-gray-600);
|
|
658
|
+
margin-bottom: 0.5rem;
|
|
659
|
+
word-break: break-all;
|
|
660
|
+
}
|
|
661
|
+
.network-desc {
|
|
662
|
+
color: var(--bs-gray-700);
|
|
663
|
+
margin-bottom: 0.5rem;
|
|
664
|
+
word-break: break-all;
|
|
665
|
+
}
|
|
666
|
+
`;var Al=Object.defineProperty,Sl=Object.getOwnPropertyDescriptor,Io=(e,t,r,o)=>{for(var n=o>1?void 0:o?Sl(t,r):t,i=e.length-1,a;i>=0;i--)(a=e[i])&&(n=(o?a(t,r,n):a(n))||n);return o&&n&&Al(t,r,n),n};let $l=class extends Event{constructor(t){super("delete",{bubbles:!0,composed:!0}),this.idp=t}};class El extends Event{constructor(){super("update",{bubbles:!0,composed:!0})}}let zt=class extends k{constructor(){super(...arguments),this.idp=null,this.readonly=!1}render(){let e=g`<p>no idp supplied</p>`;return this.idp!==null&&(e=g` <h6 class="card-title text-primary fw-bold">
|
|
667
|
+
${this.idp.id}
|
|
668
|
+
</h6>
|
|
669
|
+
<div class="network-meta">
|
|
670
|
+
<strong>Type:</strong> ${this.idp.type}<br />
|
|
671
|
+
<strong>Issuer:</strong>
|
|
672
|
+
${this.idp.issuer}<br />
|
|
673
|
+
${"configUrl"in this.idp?g`
|
|
674
|
+
<strong>Config URL:</strong> ${this.idp.configUrl}
|
|
675
|
+
`:""}
|
|
676
|
+
<br />
|
|
677
|
+
</div>
|
|
678
|
+
${this.readonly?"":g`<div>
|
|
679
|
+
<button
|
|
680
|
+
class="btn btn-sm btn-secondary"
|
|
681
|
+
@click=${()=>this.dispatchEvent(new El)}
|
|
682
|
+
>
|
|
683
|
+
Update
|
|
684
|
+
</button>
|
|
685
|
+
<button
|
|
686
|
+
class="btn btn-sm btn-danger"
|
|
687
|
+
@click=${()=>this.dispatchEvent(new $l(this.idp))}
|
|
688
|
+
>
|
|
689
|
+
Delete
|
|
690
|
+
</button>
|
|
691
|
+
</div>`}`),g`<div class="col card network-card">
|
|
692
|
+
<div class="card-body">${e}</div>
|
|
693
|
+
</div>`}};zt.styles=[k.styles,Rr];Io([w({type:Object})],zt.prototype,"idp",2);Io([w({type:Boolean})],zt.prototype,"readonly",2);zt=Io([B("idp-card")],zt);const Ei=K`
|
|
694
|
+
.modal {
|
|
695
|
+
position: fixed;
|
|
696
|
+
top: 0;
|
|
697
|
+
left: 0;
|
|
698
|
+
right: 0;
|
|
699
|
+
bottom: 0;
|
|
700
|
+
background: rgba(0, 0, 0, 0.25);
|
|
701
|
+
display: flex;
|
|
702
|
+
align-items: center;
|
|
703
|
+
justify-content: center;
|
|
704
|
+
z-index: 1000;
|
|
705
|
+
}
|
|
706
|
+
.modal-content {
|
|
707
|
+
background: #fff;
|
|
708
|
+
padding: 2rem;
|
|
709
|
+
border-radius: 8px;
|
|
710
|
+
min-width: 300px;
|
|
711
|
+
max-width: 95vw;
|
|
712
|
+
max-height: 75vh;
|
|
713
|
+
overflow-y: scroll;
|
|
714
|
+
box-shadow: 0 4px 24px rgba(0, 0, 0, 0.12);
|
|
715
|
+
}
|
|
716
|
+
@media (max-width: 600px) {
|
|
717
|
+
.modal-content {
|
|
718
|
+
padding: 1rem;
|
|
719
|
+
min-width: unset;
|
|
720
|
+
}
|
|
721
|
+
}
|
|
722
|
+
@media (max-width: 400px) {
|
|
723
|
+
.modal-content {
|
|
724
|
+
padding: 0.5rem;
|
|
725
|
+
}
|
|
726
|
+
}
|
|
727
|
+
`;var Ol=Object.defineProperty,Il=Object.getOwnPropertyDescriptor,Oi=e=>{throw TypeError(e)},It=(e,t,r,o)=>{for(var n=o>1?void 0:o?Il(t,r):t,i=e.length-1,a;i>=0;i--)(a=e[i])&&(n=(o?a(t,r,n):a(n))||n);return o&&n&&Ol(t,r,n),n},Ii=(e,t,r)=>t.has(e)||Oi("Cannot "+r),Pt=(e,t,r)=>(Ii(e,t,"read from private field"),r?r.call(e):t.get(e)),Tt=(e,t,r)=>t.has(e)?Oi("Cannot add the same private member more than once"):t instanceof WeakSet?t.add(e):t.set(e,r),Ct=(e,t,r,o)=>(Ii(e,t,"write to private field"),t.set(e,r),r),Wt,qt,Xt,Kt;class jl extends Event{constructor(t){super("idp-add",{bubbles:!0,composed:!0}),this.idp=t}}let Oe=class extends k{constructor(){super(...arguments),Tt(this,Wt,[]),Tt(this,qt,!1),Tt(this,Xt,!1),Tt(this,Kt,{id:"",type:"oauth",issuer:"",configUrl:""}),this.openAddModal=()=>{this.isModalOpen=!0,this.modalIdp={id:"",type:"oauth",issuer:"",configUrl:""}},this.closeModal=()=>{this.isModalOpen=!1}}get idps(){return Pt(this,Wt)}set idps(e){Ct(this,Wt,e)}get readonly(){return Pt(this,qt)}set readonly(e){Ct(this,qt,e)}get isModalOpen(){return Pt(this,Xt)}set isModalOpen(e){Ct(this,Xt,e)}get modalIdp(){return Pt(this,Kt)}set modalIdp(e){Ct(this,Kt,e)}connectedCallback(){super.connectedCallback()}render(){return g`
|
|
728
|
+
<div class="mb-5">
|
|
729
|
+
<div class="header">
|
|
730
|
+
<h1>Identity Providers</h1>
|
|
731
|
+
</div>
|
|
732
|
+
|
|
733
|
+
${this.readonly?"":g`<button
|
|
734
|
+
class="btn btn-primary"
|
|
735
|
+
@click=${this.openAddModal}
|
|
736
|
+
>
|
|
737
|
+
Add Identity Provider
|
|
738
|
+
</button>`}
|
|
739
|
+
|
|
740
|
+
<div class="mt-4">
|
|
741
|
+
${this.idps.map(e=>g`<div class="mb-2">
|
|
742
|
+
<idp-card
|
|
743
|
+
.idp=${e}
|
|
744
|
+
.readonly=${this.readonly}
|
|
745
|
+
@update=${t=>{this.modalIdp=e,this.isModalOpen=!0,t.stopPropagation()}}
|
|
746
|
+
></idp-card>
|
|
747
|
+
</div>`)}
|
|
748
|
+
</div>
|
|
749
|
+
|
|
750
|
+
${this.isModalOpen?g`
|
|
751
|
+
<div class="modal" @click=${this.closeModal}>
|
|
752
|
+
<div
|
|
753
|
+
class="modal-content"
|
|
754
|
+
@click=${e=>e.stopPropagation()}
|
|
755
|
+
>
|
|
756
|
+
<h3>
|
|
757
|
+
${this.modalIdp?"Edit Identity Provider":"Add Identity Provider"}
|
|
758
|
+
</h3>
|
|
759
|
+
|
|
760
|
+
<form
|
|
761
|
+
@submit=${e=>{e.preventDefault(),this.dispatchEvent(new jl(this.modalIdp)),this.closeModal()}}
|
|
762
|
+
>
|
|
763
|
+
<form-input
|
|
764
|
+
label="ID"
|
|
765
|
+
@form-input-change=${e=>{this.modalIdp.id=e.value}}
|
|
766
|
+
.value=${this.modalIdp.id}
|
|
767
|
+
required
|
|
768
|
+
></form-input>
|
|
769
|
+
|
|
770
|
+
<label for="idp-type">Type</label>
|
|
771
|
+
<select
|
|
772
|
+
id="idp-type"
|
|
773
|
+
class="form-select mb-3"
|
|
774
|
+
@change=${e=>{const t=e.target;this.modalIdp.type=t.value,this.modalIdp.type!=="oauth"&&delete this.modalIdp.configUrl,this.requestUpdate()}}
|
|
775
|
+
.value=${this.modalIdp.type}
|
|
776
|
+
>
|
|
777
|
+
<option value="oauth">oauth</option>
|
|
778
|
+
<option value="self_signed">
|
|
779
|
+
self_signed
|
|
780
|
+
</option>
|
|
781
|
+
</select>
|
|
782
|
+
|
|
783
|
+
<form-input
|
|
784
|
+
label="Issuer"
|
|
785
|
+
@form-input-change=${e=>{this.modalIdp.issuer=e.value}}
|
|
786
|
+
.value=${this.modalIdp.issuer}
|
|
787
|
+
required
|
|
788
|
+
></form-input>
|
|
789
|
+
|
|
790
|
+
${this.modalIdp.type==="oauth"?g`<form-input
|
|
791
|
+
label="Config URL"
|
|
792
|
+
@form-input-change=${e=>{this.modalIdp.configUrl=e.value}}
|
|
793
|
+
.value=${this.modalIdp.configUrl||""}
|
|
794
|
+
></form-input>`:""}
|
|
795
|
+
|
|
796
|
+
<div>
|
|
797
|
+
<button
|
|
798
|
+
class="btn btn-primary btn-sm"
|
|
799
|
+
type="submit"
|
|
800
|
+
>
|
|
801
|
+
Save
|
|
802
|
+
</button>
|
|
803
|
+
|
|
804
|
+
<button
|
|
805
|
+
class="btn btn-secondary btn-sm"
|
|
806
|
+
@click=${()=>this.closeModal()}
|
|
807
|
+
>
|
|
808
|
+
Cancel
|
|
809
|
+
</button>
|
|
810
|
+
</div>
|
|
811
|
+
</form>
|
|
812
|
+
</div>
|
|
813
|
+
</div>
|
|
814
|
+
`:""}
|
|
815
|
+
</div>
|
|
816
|
+
`}};Wt=new WeakMap;qt=new WeakMap;Xt=new WeakMap;Kt=new WeakMap;Oe.styles=[k.styles,Ei];It([w({type:Array})],Oe.prototype,"idps",1);It([w({type:Boolean})],Oe.prototype,"readonly",1);It([G()],Oe.prototype,"isModalOpen",1);It([G()],Oe.prototype,"modalIdp",1);Oe=It([B("wg-idps")],Oe);var Pl=Object.defineProperty,Tl=Object.getOwnPropertyDescriptor,Dr=(e,t,r,o)=>{for(var n=o>1?void 0:o?Tl(t,r):t,i=e.length-1,a;i>=0;i--)(a=e[i])&&(n=(o?a(t,r,n):a(n))||n);return o&&n&&Pl(t,r,n),n};let et=class extends k{constructor(){super(...arguments),this.networks=[],this.activeSessions=[],this.readonly=!1}render(){return g`
|
|
817
|
+
<div class="container p-0 m-0">
|
|
818
|
+
<div
|
|
819
|
+
class="row row-cols-1 row-cols-md-2 row-cols-lg-3 g-md-2 g-lg-2 g-0"
|
|
820
|
+
>
|
|
821
|
+
${this.networks.map(e=>{const t=this.activeSessions.some(r=>r.network.id===e.id);return g`
|
|
822
|
+
<network-card
|
|
823
|
+
.network=${e}
|
|
824
|
+
.activeSession=${t}
|
|
825
|
+
.readonly=${this.readonly}
|
|
826
|
+
></network-card>
|
|
827
|
+
`})}
|
|
828
|
+
</div>
|
|
829
|
+
</div>
|
|
830
|
+
`}};et.styles=[k.styles];Dr([w({type:Array})],et.prototype,"networks",2);Dr([w({type:Array})],et.prototype,"activeSessions",2);Dr([w({type:Boolean})],et.prototype,"readonly",2);et=Dr([B("network-table")],et);var Cl=Object.defineProperty,Zl=Object.getOwnPropertyDescriptor,jt=(e,t,r,o)=>{for(var n=o>1?void 0:o?Zl(t,r):t,i=e.length-1,a;i>=0;i--)(a=e[i])&&(n=(o?a(t,r,n):a(n))||n);return o&&n&&Cl(t,r,n),n};class Nl extends Event{constructor(t){super("delete",{bubbles:!0,composed:!0}),this.network=t}}let Ie=class extends k{constructor(){super(...arguments),this.network=null,this.activeSession=!1,this.readonly=!1,this._editing=!1}render(){let e=g`<p>no network supplied</p>`;return this.network!==null&&(this._editing?e=g` <network-form
|
|
831
|
+
.network=${this.network}
|
|
832
|
+
@network-edit-cancel=${()=>this._editing=!1}
|
|
833
|
+
@network-edit-save=${()=>this._editing=!1}
|
|
834
|
+
></network-form>`:e=g` <h6 class="card-title text-primary fw-bold">
|
|
835
|
+
${this.network.name}
|
|
836
|
+
${this.activeSession?g`<span class="badge bg-success ms-2"
|
|
837
|
+
>Active</span
|
|
838
|
+
>`:""}
|
|
839
|
+
</h6>
|
|
840
|
+
<div class="network-meta">
|
|
841
|
+
<strong>ID:</strong>
|
|
842
|
+
${this.network.id}<br />
|
|
843
|
+
<strong>Auth:</strong> ${this.network.auth.method}<br />
|
|
844
|
+
<strong>Synchronizer:</strong>
|
|
845
|
+
${this.network.synchronizerId}
|
|
846
|
+
</div>
|
|
847
|
+
<div class="network-desc">${this.network.description}</div>
|
|
848
|
+
${this.readonly?"":g`<div>
|
|
849
|
+
<button
|
|
850
|
+
class="btn btn-sm btn-secondary"
|
|
851
|
+
@click=${()=>this._editing=!0}
|
|
852
|
+
>
|
|
853
|
+
Update
|
|
854
|
+
</button>
|
|
855
|
+
<button
|
|
856
|
+
class="btn btn-sm btn-danger"
|
|
857
|
+
@click=${()=>this.dispatchEvent(new Nl(this.network))}
|
|
858
|
+
>
|
|
859
|
+
Delete
|
|
860
|
+
</button>
|
|
861
|
+
</div>`}`),g`<div class="col card network-card">
|
|
862
|
+
<div class="card-body">${e}</div>
|
|
863
|
+
</div>`}};Ie.styles=[k.styles,Rr];jt([w({type:Object})],Ie.prototype,"network",2);jt([w({type:Boolean})],Ie.prototype,"activeSession",2);jt([w({type:Boolean})],Ie.prototype,"readonly",2);jt([G()],Ie.prototype,"_editing",2);Ie=jt([B("network-card")],Ie);function b(e,t,r){function o(s,l){if(s._zod||Object.defineProperty(s,"_zod",{value:{def:l,constr:a,traits:new Set},enumerable:!1}),s._zod.traits.has(e))return;s._zod.traits.add(e),t(s,l);const d=a.prototype,c=Object.keys(d);for(let p=0;p<c.length;p++){const u=c[p];u in s||(s[u]=d[u].bind(s))}}const n=r?.Parent??Object;class i extends n{}Object.defineProperty(i,"name",{value:e});function a(s){var l;const d=r?.Parent?new i:this;o(d,s),(l=d._zod).deferred??(l.deferred=[]);for(const c of d._zod.deferred)c();return d}return Object.defineProperty(a,"init",{value:o}),Object.defineProperty(a,Symbol.hasInstance,{value:s=>r?.Parent&&s instanceof r.Parent?!0:s?._zod?.traits?.has(e)}),Object.defineProperty(a,"name",{value:e}),a}class Ve extends Error{constructor(){super("Encountered Promise during synchronous parse. Use .parseAsync() instead.")}}class ji extends Error{constructor(t){super(`Encountered unidirectional transform during encode: ${t}`),this.name="ZodEncodeError"}}const Pi={};function he(e){return Pi}function Ti(e){const t=Object.values(e).filter(r=>typeof r=="number");return Object.entries(e).filter(([r,o])=>t.indexOf(+r)===-1).map(([r,o])=>o)}function ao(e,t){return typeof t=="bigint"?t.toString():t}function Ur(e){return{get value(){{const t=e();return Object.defineProperty(this,"value",{value:t}),t}}}}function jo(e){return e==null}function Po(e){const t=e.startsWith("^")?1:0,r=e.endsWith("$")?e.length-1:e.length;return e.slice(t,r)}function Rl(e,t){const r=(e.toString().split(".")[1]||"").length,o=t.toString();let n=(o.split(".")[1]||"").length;if(n===0&&/\d?e-\d?/.test(o)){const l=o.match(/\d?e-(\d?)/);l?.[1]&&(n=Number.parseInt(l[1]))}const i=r>n?r:n,a=Number.parseInt(e.toFixed(i).replace(".","")),s=Number.parseInt(t.toFixed(i).replace(".",""));return a%s/10**i}const xn=Symbol("evaluating");function z(e,t,r){let o;Object.defineProperty(e,t,{get(){if(o!==xn)return o===void 0&&(o=xn,o=r()),o},set(n){Object.defineProperty(e,t,{value:n})},configurable:!0})}function Ce(e,t,r){Object.defineProperty(e,t,{value:r,writable:!0,enumerable:!0,configurable:!0})}function ye(...e){const t={};for(const r of e){const o=Object.getOwnPropertyDescriptors(r);Object.assign(t,o)}return Object.defineProperties({},t)}function yn(e){return JSON.stringify(e)}function Dl(e){return e.toLowerCase().trim().replace(/[^\w\s-]/g,"").replace(/[\s_-]+/g,"-").replace(/^-+|-+$/g,"")}const Ci="captureStackTrace"in Error?Error.captureStackTrace:(...e)=>{};function At(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}const Ul=Ur(()=>{if(typeof navigator<"u"&&navigator?.userAgent?.includes("Cloudflare"))return!1;try{const e=Function;return new e(""),!0}catch{return!1}});function tt(e){if(At(e)===!1)return!1;const t=e.constructor;if(t===void 0||typeof t!="function")return!0;const r=t.prototype;return!(At(r)===!1||Object.prototype.hasOwnProperty.call(r,"isPrototypeOf")===!1)}function Zi(e){return tt(e)?{...e}:Array.isArray(e)?[...e]:e}const Ml=new Set(["string","number","symbol"]);function rt(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function ke(e,t,r){const o=new e._zod.constr(t??e._zod.def);return(!t||r?.parent)&&(o._zod.parent=e),o}function v(e){const t=e;if(!t)return{};if(typeof t=="string")return{error:()=>t};if(t?.message!==void 0){if(t?.error!==void 0)throw new Error("Cannot specify both `message` and `error` params");t.error=t.message}return delete t.message,typeof t.error=="string"?{...t,error:()=>t.error}:t}function Bl(e){return Object.keys(e).filter(t=>e[t]._zod.optin==="optional"&&e[t]._zod.optout==="optional")}const Ll={safeint:[Number.MIN_SAFE_INTEGER,Number.MAX_SAFE_INTEGER],int32:[-2147483648,2147483647],uint32:[0,4294967295],float32:[-34028234663852886e22,34028234663852886e22],float64:[-Number.MAX_VALUE,Number.MAX_VALUE]};function Fl(e,t){const r=e._zod.def,o=r.checks;if(o&&o.length>0)throw new Error(".pick() cannot be used on object schemas containing refinements");const n=ye(e._zod.def,{get shape(){const i={};for(const a in t){if(!(a in r.shape))throw new Error(`Unrecognized key: "${a}"`);t[a]&&(i[a]=r.shape[a])}return Ce(this,"shape",i),i},checks:[]});return ke(e,n)}function Gl(e,t){const r=e._zod.def,o=r.checks;if(o&&o.length>0)throw new Error(".omit() cannot be used on object schemas containing refinements");const n=ye(e._zod.def,{get shape(){const i={...e._zod.def.shape};for(const a in t){if(!(a in r.shape))throw new Error(`Unrecognized key: "${a}"`);t[a]&&delete i[a]}return Ce(this,"shape",i),i},checks:[]});return ke(e,n)}function Jl(e,t){if(!tt(t))throw new Error("Invalid input to extend: expected a plain object");const r=e._zod.def.checks;if(r&&r.length>0){const n=e._zod.def.shape;for(const i in t)if(Object.getOwnPropertyDescriptor(n,i)!==void 0)throw new Error("Cannot overwrite keys on object schemas containing refinements. Use `.safeExtend()` instead.")}const o=ye(e._zod.def,{get shape(){const n={...e._zod.def.shape,...t};return Ce(this,"shape",n),n}});return ke(e,o)}function Yl(e,t){if(!tt(t))throw new Error("Invalid input to safeExtend: expected a plain object");const r=ye(e._zod.def,{get shape(){const o={...e._zod.def.shape,...t};return Ce(this,"shape",o),o}});return ke(e,r)}function Hl(e,t){const r=ye(e._zod.def,{get shape(){const o={...e._zod.def.shape,...t._zod.def.shape};return Ce(this,"shape",o),o},get catchall(){return t._zod.def.catchall},checks:[]});return ke(e,r)}function Vl(e,t,r){const o=t._zod.def.checks;if(o&&o.length>0)throw new Error(".partial() cannot be used on object schemas containing refinements");const n=ye(t._zod.def,{get shape(){const i=t._zod.def.shape,a={...i};if(r)for(const s in r){if(!(s in i))throw new Error(`Unrecognized key: "${s}"`);r[s]&&(a[s]=e?new e({type:"optional",innerType:i[s]}):i[s])}else for(const s in i)a[s]=e?new e({type:"optional",innerType:i[s]}):i[s];return Ce(this,"shape",a),a},checks:[]});return ke(t,n)}function Wl(e,t,r){const o=ye(t._zod.def,{get shape(){const n=t._zod.def.shape,i={...n};if(r)for(const a in r){if(!(a in i))throw new Error(`Unrecognized key: "${a}"`);r[a]&&(i[a]=new e({type:"nonoptional",innerType:n[a]}))}else for(const a in n)i[a]=new e({type:"nonoptional",innerType:n[a]});return Ce(this,"shape",i),i}});return ke(t,o)}function Ge(e,t=0){if(e.aborted===!0)return!0;for(let r=t;r<e.issues.length;r++)if(e.issues[r]?.continue!==!0)return!0;return!1}function Je(e,t){return t.map(r=>{var o;return(o=r).path??(o.path=[]),r.path.unshift(e),r})}function Zt(e){return typeof e=="string"?e:e?.message}function ve(e,t,r){const o={...e,path:e.path??[]};if(!e.message){const n=Zt(e.inst?._zod.def?.error?.(e))??Zt(t?.error?.(e))??Zt(r.customError?.(e))??Zt(r.localeError?.(e))??"Invalid input";o.message=n}return delete o.inst,delete o.continue,t?.reportInput||delete o.input,o}function To(e){return Array.isArray(e)?"array":typeof e=="string"?"string":"unknown"}function St(...e){const[t,r,o]=e;return typeof t=="string"?{message:t,code:"custom",input:r,inst:o}:{...t}}const Ni=(e,t)=>{e.name="$ZodError",Object.defineProperty(e,"_zod",{value:e._zod,enumerable:!1}),Object.defineProperty(e,"issues",{value:t,enumerable:!1}),e.message=JSON.stringify(t,ao,2),Object.defineProperty(e,"toString",{value:()=>e.message,enumerable:!1})},Ri=b("$ZodError",Ni),Di=b("$ZodError",Ni,{Parent:Error});function ql(e,t=r=>r.message){const r={},o=[];for(const n of e.issues)n.path.length>0?(r[n.path[0]]=r[n.path[0]]||[],r[n.path[0]].push(t(n))):o.push(t(n));return{formErrors:o,fieldErrors:r}}function Xl(e,t=r=>r.message){const r={_errors:[]},o=n=>{for(const i of n.issues)if(i.code==="invalid_union"&&i.errors.length)i.errors.map(a=>o({issues:a}));else if(i.code==="invalid_key")o({issues:i.issues});else if(i.code==="invalid_element")o({issues:i.issues});else if(i.path.length===0)r._errors.push(t(i));else{let a=r,s=0;for(;s<i.path.length;){const l=i.path[s];s===i.path.length-1?(a[l]=a[l]||{_errors:[]},a[l]._errors.push(t(i))):a[l]=a[l]||{_errors:[]},a=a[l],s++}}};return o(e),r}const Co=e=>(t,r,o,n)=>{const i=o?Object.assign(o,{async:!1}):{async:!1},a=t._zod.run({value:r,issues:[]},i);if(a instanceof Promise)throw new Ve;if(a.issues.length){const s=new(n?.Err??e)(a.issues.map(l=>ve(l,i,he())));throw Ci(s,n?.callee),s}return a.value},Zo=e=>async(t,r,o,n)=>{const i=o?Object.assign(o,{async:!0}):{async:!0};let a=t._zod.run({value:r,issues:[]},i);if(a instanceof Promise&&(a=await a),a.issues.length){const s=new(n?.Err??e)(a.issues.map(l=>ve(l,i,he())));throw Ci(s,n?.callee),s}return a.value},Mr=e=>(t,r,o)=>{const n=o?{...o,async:!1}:{async:!1},i=t._zod.run({value:r,issues:[]},n);if(i instanceof Promise)throw new Ve;return i.issues.length?{success:!1,error:new(e??Ri)(i.issues.map(a=>ve(a,n,he())))}:{success:!0,data:i.value}},Kl=Mr(Di),Br=e=>async(t,r,o)=>{const n=o?Object.assign(o,{async:!0}):{async:!0};let i=t._zod.run({value:r,issues:[]},n);return i instanceof Promise&&(i=await i),i.issues.length?{success:!1,error:new e(i.issues.map(a=>ve(a,n,he())))}:{success:!0,data:i.value}},Ql=Br(Di),ed=e=>(t,r,o)=>{const n=o?Object.assign(o,{direction:"backward"}):{direction:"backward"};return Co(e)(t,r,n)},td=e=>(t,r,o)=>Co(e)(t,r,o),rd=e=>async(t,r,o)=>{const n=o?Object.assign(o,{direction:"backward"}):{direction:"backward"};return Zo(e)(t,r,n)},od=e=>async(t,r,o)=>Zo(e)(t,r,o),nd=e=>(t,r,o)=>{const n=o?Object.assign(o,{direction:"backward"}):{direction:"backward"};return Mr(e)(t,r,n)},id=e=>(t,r,o)=>Mr(e)(t,r,o),ad=e=>async(t,r,o)=>{const n=o?Object.assign(o,{direction:"backward"}):{direction:"backward"};return Br(e)(t,r,n)},sd=e=>async(t,r,o)=>Br(e)(t,r,o),ld=/^[cC][^\s-]{8,}$/,dd=/^[0-9a-z]+$/,cd=/^[0-9A-HJKMNP-TV-Za-hjkmnp-tv-z]{26}$/,pd=/^[0-9a-vA-V]{20}$/,md=/^[A-Za-z0-9]{27}$/,bd=/^[a-zA-Z0-9_-]{21}$/,ud=/^P(?:(\d+W)|(?!.*W)(?=\d|T\d)(\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+([.,]\d+)?S)?)?)$/,gd=/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$/,kn=e=>e?new RegExp(`^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-${e}[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$`):/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$/,fd=/^(?!\.)(?!.*\.\.)([A-Za-z0-9_'+\-\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\-]*\.)+[A-Za-z]{2,}$/,hd="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$";function vd(){return new RegExp(hd,"u")}const wd=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/,xd=/^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$/,yd=/^((25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\/([0-9]|[1-2][0-9]|3[0-2])$/,kd=/^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|::|([0-9a-fA-F]{1,4})?::([0-9a-fA-F]{1,4}:?){0,6})\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,_d=/^$|^(?:[0-9a-zA-Z+/]{4})*(?:(?:[0-9a-zA-Z+/]{2}==)|(?:[0-9a-zA-Z+/]{3}=))?$/,Ui=/^[A-Za-z0-9_-]*$/,zd=/^\+[1-9]\d{6,14}$/,Mi="(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))",Ad=new RegExp(`^${Mi}$`);function Bi(e){const t="(?:[01]\\d|2[0-3]):[0-5]\\d";return typeof e.precision=="number"?e.precision===-1?`${t}`:e.precision===0?`${t}:[0-5]\\d`:`${t}:[0-5]\\d\\.\\d{${e.precision}}`:`${t}(?::[0-5]\\d(?:\\.\\d+)?)?`}function Sd(e){return new RegExp(`^${Bi(e)}$`)}function $d(e){const t=Bi({precision:e.precision}),r=["Z"];e.local&&r.push(""),e.offset&&r.push("([+-](?:[01]\\d|2[0-3]):[0-5]\\d)");const o=`${t}(?:${r.join("|")})`;return new RegExp(`^${Mi}T(?:${o})$`)}const Ed=e=>{const t=e?`[\\s\\S]{${e?.minimum??0},${e?.maximum??""}}`:"[\\s\\S]*";return new RegExp(`^${t}$`)},Od=/^-?\d+$/,Li=/^-?\d+(?:\.\d+)?$/,Id=/^(?:true|false)$/i,jd=/^null$/i,Pd=/^undefined$/i,Td=/^[^A-Z]*$/,Cd=/^[^a-z]*$/,W=b("$ZodCheck",(e,t)=>{var r;e._zod??(e._zod={}),e._zod.def=t,(r=e._zod).onattach??(r.onattach=[])}),Fi={number:"number",bigint:"bigint",object:"date"},Gi=b("$ZodCheckLessThan",(e,t)=>{W.init(e,t);const r=Fi[typeof t.value];e._zod.onattach.push(o=>{const n=o._zod.bag,i=(t.inclusive?n.maximum:n.exclusiveMaximum)??Number.POSITIVE_INFINITY;t.value<i&&(t.inclusive?n.maximum=t.value:n.exclusiveMaximum=t.value)}),e._zod.check=o=>{(t.inclusive?o.value<=t.value:o.value<t.value)||o.issues.push({origin:r,code:"too_big",maximum:typeof t.value=="object"?t.value.getTime():t.value,input:o.value,inclusive:t.inclusive,inst:e,continue:!t.abort})}}),Ji=b("$ZodCheckGreaterThan",(e,t)=>{W.init(e,t);const r=Fi[typeof t.value];e._zod.onattach.push(o=>{const n=o._zod.bag,i=(t.inclusive?n.minimum:n.exclusiveMinimum)??Number.NEGATIVE_INFINITY;t.value>i&&(t.inclusive?n.minimum=t.value:n.exclusiveMinimum=t.value)}),e._zod.check=o=>{(t.inclusive?o.value>=t.value:o.value>t.value)||o.issues.push({origin:r,code:"too_small",minimum:typeof t.value=="object"?t.value.getTime():t.value,input:o.value,inclusive:t.inclusive,inst:e,continue:!t.abort})}}),Zd=b("$ZodCheckMultipleOf",(e,t)=>{W.init(e,t),e._zod.onattach.push(r=>{var o;(o=r._zod.bag).multipleOf??(o.multipleOf=t.value)}),e._zod.check=r=>{if(typeof r.value!=typeof t.value)throw new Error("Cannot mix number and bigint in multiple_of check.");(typeof r.value=="bigint"?r.value%t.value===BigInt(0):Rl(r.value,t.value)===0)||r.issues.push({origin:typeof r.value,code:"not_multiple_of",divisor:t.value,input:r.value,inst:e,continue:!t.abort})}}),Nd=b("$ZodCheckNumberFormat",(e,t)=>{W.init(e,t),t.format=t.format||"float64";const r=t.format?.includes("int"),o=r?"int":"number",[n,i]=Ll[t.format];e._zod.onattach.push(a=>{const s=a._zod.bag;s.format=t.format,s.minimum=n,s.maximum=i,r&&(s.pattern=Od)}),e._zod.check=a=>{const s=a.value;if(r){if(!Number.isInteger(s)){a.issues.push({expected:o,format:t.format,code:"invalid_type",continue:!1,input:s,inst:e});return}if(!Number.isSafeInteger(s)){s>0?a.issues.push({input:s,code:"too_big",maximum:Number.MAX_SAFE_INTEGER,note:"Integers must be within the safe integer range.",inst:e,origin:o,inclusive:!0,continue:!t.abort}):a.issues.push({input:s,code:"too_small",minimum:Number.MIN_SAFE_INTEGER,note:"Integers must be within the safe integer range.",inst:e,origin:o,inclusive:!0,continue:!t.abort});return}}s<n&&a.issues.push({origin:"number",input:s,code:"too_small",minimum:n,inclusive:!0,inst:e,continue:!t.abort}),s>i&&a.issues.push({origin:"number",input:s,code:"too_big",maximum:i,inclusive:!0,inst:e,continue:!t.abort})}}),Rd=b("$ZodCheckMaxLength",(e,t)=>{var r;W.init(e,t),(r=e._zod.def).when??(r.when=o=>{const n=o.value;return!jo(n)&&n.length!==void 0}),e._zod.onattach.push(o=>{const n=o._zod.bag.maximum??Number.POSITIVE_INFINITY;t.maximum<n&&(o._zod.bag.maximum=t.maximum)}),e._zod.check=o=>{const n=o.value;if(n.length<=t.maximum)return;const i=To(n);o.issues.push({origin:i,code:"too_big",maximum:t.maximum,inclusive:!0,input:n,inst:e,continue:!t.abort})}}),Dd=b("$ZodCheckMinLength",(e,t)=>{var r;W.init(e,t),(r=e._zod.def).when??(r.when=o=>{const n=o.value;return!jo(n)&&n.length!==void 0}),e._zod.onattach.push(o=>{const n=o._zod.bag.minimum??Number.NEGATIVE_INFINITY;t.minimum>n&&(o._zod.bag.minimum=t.minimum)}),e._zod.check=o=>{const n=o.value;if(n.length>=t.minimum)return;const i=To(n);o.issues.push({origin:i,code:"too_small",minimum:t.minimum,inclusive:!0,input:n,inst:e,continue:!t.abort})}}),Ud=b("$ZodCheckLengthEquals",(e,t)=>{var r;W.init(e,t),(r=e._zod.def).when??(r.when=o=>{const n=o.value;return!jo(n)&&n.length!==void 0}),e._zod.onattach.push(o=>{const n=o._zod.bag;n.minimum=t.length,n.maximum=t.length,n.length=t.length}),e._zod.check=o=>{const n=o.value,i=n.length;if(i===t.length)return;const a=To(n),s=i>t.length;o.issues.push({origin:a,...s?{code:"too_big",maximum:t.length}:{code:"too_small",minimum:t.length},inclusive:!0,exact:!0,input:o.value,inst:e,continue:!t.abort})}}),Lr=b("$ZodCheckStringFormat",(e,t)=>{var r,o;W.init(e,t),e._zod.onattach.push(n=>{const i=n._zod.bag;i.format=t.format,t.pattern&&(i.patterns??(i.patterns=new Set),i.patterns.add(t.pattern))}),t.pattern?(r=e._zod).check??(r.check=n=>{t.pattern.lastIndex=0,!t.pattern.test(n.value)&&n.issues.push({origin:"string",code:"invalid_format",format:t.format,input:n.value,...t.pattern?{pattern:t.pattern.toString()}:{},inst:e,continue:!t.abort})}):(o=e._zod).check??(o.check=()=>{})}),Md=b("$ZodCheckRegex",(e,t)=>{Lr.init(e,t),e._zod.check=r=>{t.pattern.lastIndex=0,!t.pattern.test(r.value)&&r.issues.push({origin:"string",code:"invalid_format",format:"regex",input:r.value,pattern:t.pattern.toString(),inst:e,continue:!t.abort})}}),Bd=b("$ZodCheckLowerCase",(e,t)=>{t.pattern??(t.pattern=Td),Lr.init(e,t)}),Ld=b("$ZodCheckUpperCase",(e,t)=>{t.pattern??(t.pattern=Cd),Lr.init(e,t)}),Fd=b("$ZodCheckIncludes",(e,t)=>{W.init(e,t);const r=rt(t.includes),o=new RegExp(typeof t.position=="number"?`^.{${t.position}}${r}`:r);t.pattern=o,e._zod.onattach.push(n=>{const i=n._zod.bag;i.patterns??(i.patterns=new Set),i.patterns.add(o)}),e._zod.check=n=>{n.value.includes(t.includes,t.position)||n.issues.push({origin:"string",code:"invalid_format",format:"includes",includes:t.includes,input:n.value,inst:e,continue:!t.abort})}}),Gd=b("$ZodCheckStartsWith",(e,t)=>{W.init(e,t);const r=new RegExp(`^${rt(t.prefix)}.*`);t.pattern??(t.pattern=r),e._zod.onattach.push(o=>{const n=o._zod.bag;n.patterns??(n.patterns=new Set),n.patterns.add(r)}),e._zod.check=o=>{o.value.startsWith(t.prefix)||o.issues.push({origin:"string",code:"invalid_format",format:"starts_with",prefix:t.prefix,input:o.value,inst:e,continue:!t.abort})}}),Jd=b("$ZodCheckEndsWith",(e,t)=>{W.init(e,t);const r=new RegExp(`.*${rt(t.suffix)}$`);t.pattern??(t.pattern=r),e._zod.onattach.push(o=>{const n=o._zod.bag;n.patterns??(n.patterns=new Set),n.patterns.add(r)}),e._zod.check=o=>{o.value.endsWith(t.suffix)||o.issues.push({origin:"string",code:"invalid_format",format:"ends_with",suffix:t.suffix,input:o.value,inst:e,continue:!t.abort})}}),Yd=b("$ZodCheckOverwrite",(e,t)=>{W.init(e,t),e._zod.check=r=>{r.value=t.tx(r.value)}});class Hd{constructor(t=[]){this.content=[],this.indent=0,this&&(this.args=t)}indented(t){this.indent+=1,t(this),this.indent-=1}write(t){if(typeof t=="function"){t(this,{execution:"sync"}),t(this,{execution:"async"});return}const r=t.split(`
|
|
864
|
+
`).filter(i=>i),o=Math.min(...r.map(i=>i.length-i.trimStart().length)),n=r.map(i=>i.slice(o)).map(i=>" ".repeat(this.indent*2)+i);for(const i of n)this.content.push(i)}compile(){const t=Function,r=this?.args,o=[...(this?.content??[""]).map(n=>` ${n}`)];return new t(...r,o.join(`
|
|
865
|
+
`))}}const Vd={major:4,minor:3,patch:6},j=b("$ZodType",(e,t)=>{var r;e??(e={}),e._zod.def=t,e._zod.bag=e._zod.bag||{},e._zod.version=Vd;const o=[...e._zod.def.checks??[]];e._zod.traits.has("$ZodCheck")&&o.unshift(e);for(const n of o)for(const i of n._zod.onattach)i(e);if(o.length===0)(r=e._zod).deferred??(r.deferred=[]),e._zod.deferred?.push(()=>{e._zod.run=e._zod.parse});else{const n=(a,s,l)=>{let d=Ge(a),c;for(const p of s){if(p._zod.def.when){if(!p._zod.def.when(a))continue}else if(d)continue;const u=a.issues.length,f=p._zod.check(a);if(f instanceof Promise&&l?.async===!1)throw new Ve;if(c||f instanceof Promise)c=(c??Promise.resolve()).then(async()=>{await f,a.issues.length!==u&&(d||(d=Ge(a,u)))});else{if(a.issues.length===u)continue;d||(d=Ge(a,u))}}return c?c.then(()=>a):a},i=(a,s,l)=>{if(Ge(a))return a.aborted=!0,a;const d=n(s,o,l);if(d instanceof Promise){if(l.async===!1)throw new Ve;return d.then(c=>e._zod.parse(c,l))}return e._zod.parse(d,l)};e._zod.run=(a,s)=>{if(s.skipChecks)return e._zod.parse(a,s);if(s.direction==="backward"){const d=e._zod.parse({value:a.value,issues:[]},{...s,skipChecks:!0});return d instanceof Promise?d.then(c=>i(c,a,s)):i(d,a,s)}const l=e._zod.parse(a,s);if(l instanceof Promise){if(s.async===!1)throw new Ve;return l.then(d=>n(d,o,s))}return n(l,o,s)}}z(e,"~standard",()=>({validate:n=>{try{const i=Kl(e,n);return i.success?{value:i.data}:{issues:i.error?.issues}}catch{return Ql(e,n).then(i=>i.success?{value:i.data}:{issues:i.error?.issues})}},vendor:"zod",version:1}))}),No=b("$ZodString",(e,t)=>{j.init(e,t),e._zod.pattern=[...e?._zod.bag?.patterns??[]].pop()??Ed(e._zod.bag),e._zod.parse=(r,o)=>{if(t.coerce)try{r.value=String(r.value)}catch{}return typeof r.value=="string"||r.issues.push({expected:"string",code:"invalid_type",input:r.value,inst:e}),r}}),T=b("$ZodStringFormat",(e,t)=>{Lr.init(e,t),No.init(e,t)}),Wd=b("$ZodGUID",(e,t)=>{t.pattern??(t.pattern=gd),T.init(e,t)}),qd=b("$ZodUUID",(e,t)=>{if(t.version){const r={v1:1,v2:2,v3:3,v4:4,v5:5,v6:6,v7:7,v8:8}[t.version];if(r===void 0)throw new Error(`Invalid UUID version: "${t.version}"`);t.pattern??(t.pattern=kn(r))}else t.pattern??(t.pattern=kn());T.init(e,t)}),Xd=b("$ZodEmail",(e,t)=>{t.pattern??(t.pattern=fd),T.init(e,t)}),Kd=b("$ZodURL",(e,t)=>{T.init(e,t),e._zod.check=r=>{try{const o=r.value.trim(),n=new URL(o);t.hostname&&(t.hostname.lastIndex=0,t.hostname.test(n.hostname)||r.issues.push({code:"invalid_format",format:"url",note:"Invalid hostname",pattern:t.hostname.source,input:r.value,inst:e,continue:!t.abort})),t.protocol&&(t.protocol.lastIndex=0,t.protocol.test(n.protocol.endsWith(":")?n.protocol.slice(0,-1):n.protocol)||r.issues.push({code:"invalid_format",format:"url",note:"Invalid protocol",pattern:t.protocol.source,input:r.value,inst:e,continue:!t.abort})),t.normalize?r.value=n.href:r.value=o;return}catch{r.issues.push({code:"invalid_format",format:"url",input:r.value,inst:e,continue:!t.abort})}}}),Qd=b("$ZodEmoji",(e,t)=>{t.pattern??(t.pattern=vd()),T.init(e,t)}),ec=b("$ZodNanoID",(e,t)=>{t.pattern??(t.pattern=bd),T.init(e,t)}),tc=b("$ZodCUID",(e,t)=>{t.pattern??(t.pattern=ld),T.init(e,t)}),rc=b("$ZodCUID2",(e,t)=>{t.pattern??(t.pattern=dd),T.init(e,t)}),oc=b("$ZodULID",(e,t)=>{t.pattern??(t.pattern=cd),T.init(e,t)}),nc=b("$ZodXID",(e,t)=>{t.pattern??(t.pattern=pd),T.init(e,t)}),ic=b("$ZodKSUID",(e,t)=>{t.pattern??(t.pattern=md),T.init(e,t)}),ac=b("$ZodISODateTime",(e,t)=>{t.pattern??(t.pattern=$d(t)),T.init(e,t)}),sc=b("$ZodISODate",(e,t)=>{t.pattern??(t.pattern=Ad),T.init(e,t)}),lc=b("$ZodISOTime",(e,t)=>{t.pattern??(t.pattern=Sd(t)),T.init(e,t)}),dc=b("$ZodISODuration",(e,t)=>{t.pattern??(t.pattern=ud),T.init(e,t)}),cc=b("$ZodIPv4",(e,t)=>{t.pattern??(t.pattern=wd),T.init(e,t),e._zod.bag.format="ipv4"}),pc=b("$ZodIPv6",(e,t)=>{t.pattern??(t.pattern=xd),T.init(e,t),e._zod.bag.format="ipv6",e._zod.check=r=>{try{new URL(`http://[${r.value}]`)}catch{r.issues.push({code:"invalid_format",format:"ipv6",input:r.value,inst:e,continue:!t.abort})}}}),mc=b("$ZodCIDRv4",(e,t)=>{t.pattern??(t.pattern=yd),T.init(e,t)}),bc=b("$ZodCIDRv6",(e,t)=>{t.pattern??(t.pattern=kd),T.init(e,t),e._zod.check=r=>{const o=r.value.split("/");try{if(o.length!==2)throw new Error;const[n,i]=o;if(!i)throw new Error;const a=Number(i);if(`${a}`!==i)throw new Error;if(a<0||a>128)throw new Error;new URL(`http://[${n}]`)}catch{r.issues.push({code:"invalid_format",format:"cidrv6",input:r.value,inst:e,continue:!t.abort})}}});function Yi(e){if(e==="")return!0;if(e.length%4!==0)return!1;try{return atob(e),!0}catch{return!1}}const uc=b("$ZodBase64",(e,t)=>{t.pattern??(t.pattern=_d),T.init(e,t),e._zod.bag.contentEncoding="base64",e._zod.check=r=>{Yi(r.value)||r.issues.push({code:"invalid_format",format:"base64",input:r.value,inst:e,continue:!t.abort})}});function gc(e){if(!Ui.test(e))return!1;const t=e.replace(/[-_]/g,o=>o==="-"?"+":"/"),r=t.padEnd(Math.ceil(t.length/4)*4,"=");return Yi(r)}const fc=b("$ZodBase64URL",(e,t)=>{t.pattern??(t.pattern=Ui),T.init(e,t),e._zod.bag.contentEncoding="base64url",e._zod.check=r=>{gc(r.value)||r.issues.push({code:"invalid_format",format:"base64url",input:r.value,inst:e,continue:!t.abort})}}),hc=b("$ZodE164",(e,t)=>{t.pattern??(t.pattern=zd),T.init(e,t)});function vc(e,t=null){try{const r=e.split(".");if(r.length!==3)return!1;const[o]=r;if(!o)return!1;const n=JSON.parse(atob(o));return!("typ"in n&&n?.typ!=="JWT"||!n.alg||t&&(!("alg"in n)||n.alg!==t))}catch{return!1}}const wc=b("$ZodJWT",(e,t)=>{T.init(e,t),e._zod.check=r=>{vc(r.value,t.alg)||r.issues.push({code:"invalid_format",format:"jwt",input:r.value,inst:e,continue:!t.abort})}}),Hi=b("$ZodNumber",(e,t)=>{j.init(e,t),e._zod.pattern=e._zod.bag.pattern??Li,e._zod.parse=(r,o)=>{if(t.coerce)try{r.value=Number(r.value)}catch{}const n=r.value;if(typeof n=="number"&&!Number.isNaN(n)&&Number.isFinite(n))return r;const i=typeof n=="number"?Number.isNaN(n)?"NaN":Number.isFinite(n)?void 0:"Infinity":void 0;return r.issues.push({expected:"number",code:"invalid_type",input:n,inst:e,...i?{received:i}:{}}),r}}),xc=b("$ZodNumberFormat",(e,t)=>{Nd.init(e,t),Hi.init(e,t)}),yc=b("$ZodBoolean",(e,t)=>{j.init(e,t),e._zod.pattern=Id,e._zod.parse=(r,o)=>{if(t.coerce)try{r.value=!!r.value}catch{}const n=r.value;return typeof n=="boolean"||r.issues.push({expected:"boolean",code:"invalid_type",input:n,inst:e}),r}}),kc=b("$ZodUndefined",(e,t)=>{j.init(e,t),e._zod.pattern=Pd,e._zod.values=new Set([void 0]),e._zod.optin="optional",e._zod.optout="optional",e._zod.parse=(r,o)=>{const n=r.value;return typeof n>"u"||r.issues.push({expected:"undefined",code:"invalid_type",input:n,inst:e}),r}}),_c=b("$ZodNull",(e,t)=>{j.init(e,t),e._zod.pattern=jd,e._zod.values=new Set([null]),e._zod.parse=(r,o)=>{const n=r.value;return n===null||r.issues.push({expected:"null",code:"invalid_type",input:n,inst:e}),r}}),zc=b("$ZodUnknown",(e,t)=>{j.init(e,t),e._zod.parse=r=>r}),Ac=b("$ZodNever",(e,t)=>{j.init(e,t),e._zod.parse=(r,o)=>(r.issues.push({expected:"never",code:"invalid_type",input:r.value,inst:e}),r)});function _n(e,t,r){e.issues.length&&t.issues.push(...Je(r,e.issues)),t.value[r]=e.value}const Sc=b("$ZodArray",(e,t)=>{j.init(e,t),e._zod.parse=(r,o)=>{const n=r.value;if(!Array.isArray(n))return r.issues.push({expected:"array",code:"invalid_type",input:n,inst:e}),r;r.value=Array(n.length);const i=[];for(let a=0;a<n.length;a++){const s=n[a],l=t.element._zod.run({value:s,issues:[]},o);l instanceof Promise?i.push(l.then(d=>_n(d,r,a))):_n(l,r,a)}return i.length?Promise.all(i).then(()=>r):r}});function yr(e,t,r,o,n){if(e.issues.length){if(n&&!(r in o))return;t.issues.push(...Je(r,e.issues))}e.value===void 0?r in o&&(t.value[r]=void 0):t.value[r]=e.value}function Vi(e){const t=Object.keys(e.shape);for(const o of t)if(!e.shape?.[o]?._zod?.traits?.has("$ZodType"))throw new Error(`Invalid element at key "${o}": expected a Zod schema`);const r=Bl(e.shape);return{...e,keys:t,keySet:new Set(t),numKeys:t.length,optionalKeys:new Set(r)}}function Wi(e,t,r,o,n,i){const a=[],s=n.keySet,l=n.catchall._zod,d=l.def.type,c=l.optout==="optional";for(const p in t){if(s.has(p))continue;if(d==="never"){a.push(p);continue}const u=l.run({value:t[p],issues:[]},o);u instanceof Promise?e.push(u.then(f=>yr(f,r,p,t,c))):yr(u,r,p,t,c)}return a.length&&r.issues.push({code:"unrecognized_keys",keys:a,input:t,inst:i}),e.length?Promise.all(e).then(()=>r):r}const $c=b("$ZodObject",(e,t)=>{if(j.init(e,t),!Object.getOwnPropertyDescriptor(t,"shape")?.get){const a=t.shape;Object.defineProperty(t,"shape",{get:()=>{const s={...a};return Object.defineProperty(t,"shape",{value:s}),s}})}const r=Ur(()=>Vi(t));z(e._zod,"propValues",()=>{const a=t.shape,s={};for(const l in a){const d=a[l]._zod;if(d.values){s[l]??(s[l]=new Set);for(const c of d.values)s[l].add(c)}}return s});const o=At,n=t.catchall;let i;e._zod.parse=(a,s)=>{i??(i=r.value);const l=a.value;if(!o(l))return a.issues.push({expected:"object",code:"invalid_type",input:l,inst:e}),a;a.value={};const d=[],c=i.shape;for(const p of i.keys){const u=c[p],f=u._zod.optout==="optional",y=u._zod.run({value:l[p],issues:[]},s);y instanceof Promise?d.push(y.then(R=>yr(R,a,p,l,f))):yr(y,a,p,l,f)}return n?Wi(d,l,a,s,r.value,e):d.length?Promise.all(d).then(()=>a):a}}),Ec=b("$ZodObjectJIT",(e,t)=>{$c.init(e,t);const r=e._zod.parse,o=Ur(()=>Vi(t)),n=p=>{const u=new Hd(["shape","payload","ctx"]),f=o.value,y=Q=>{const I=yn(Q);return`shape[${I}]._zod.run({ value: input[${I}], issues: [] }, ctx)`};u.write("const input = payload.value;");const R=Object.create(null);let Ue=0;for(const Q of f.keys)R[Q]=`key_${Ue++}`;u.write("const newResult = {};");for(const Q of f.keys){const I=R[Q],$=yn(Q),X=p[Q]?._zod?.optout==="optional";u.write(`const ${I} = ${y(Q)};`),X?u.write(`
|
|
866
|
+
if (${I}.issues.length) {
|
|
867
|
+
if (${$} in input) {
|
|
868
|
+
payload.issues = payload.issues.concat(${I}.issues.map(iss => ({
|
|
869
|
+
...iss,
|
|
870
|
+
path: iss.path ? [${$}, ...iss.path] : [${$}]
|
|
871
|
+
})));
|
|
872
|
+
}
|
|
873
|
+
}
|
|
874
|
+
|
|
875
|
+
if (${I}.value === undefined) {
|
|
876
|
+
if (${$} in input) {
|
|
877
|
+
newResult[${$}] = undefined;
|
|
878
|
+
}
|
|
879
|
+
} else {
|
|
880
|
+
newResult[${$}] = ${I}.value;
|
|
881
|
+
}
|
|
882
|
+
|
|
883
|
+
`):u.write(`
|
|
884
|
+
if (${I}.issues.length) {
|
|
885
|
+
payload.issues = payload.issues.concat(${I}.issues.map(iss => ({
|
|
886
|
+
...iss,
|
|
887
|
+
path: iss.path ? [${$}, ...iss.path] : [${$}]
|
|
888
|
+
})));
|
|
889
|
+
}
|
|
890
|
+
|
|
891
|
+
if (${I}.value === undefined) {
|
|
892
|
+
if (${$} in input) {
|
|
893
|
+
newResult[${$}] = undefined;
|
|
894
|
+
}
|
|
895
|
+
} else {
|
|
896
|
+
newResult[${$}] = ${I}.value;
|
|
897
|
+
}
|
|
898
|
+
|
|
899
|
+
`)}u.write("payload.value = newResult;"),u.write("return payload;");const Wr=u.compile();return(Q,I)=>Wr(p,Q,I)};let i;const a=At,s=!Pi.jitless,l=s&&Ul.value,d=t.catchall;let c;e._zod.parse=(p,u)=>{c??(c=o.value);const f=p.value;return a(f)?s&&l&&u?.async===!1&&u.jitless!==!0?(i||(i=n(t.shape)),p=i(p,u),d?Wi([],f,p,u,c,e):p):r(p,u):(p.issues.push({expected:"object",code:"invalid_type",input:f,inst:e}),p)}});function zn(e,t,r,o){for(const i of e)if(i.issues.length===0)return t.value=i.value,t;const n=e.filter(i=>!Ge(i));return n.length===1?(t.value=n[0].value,n[0]):(t.issues.push({code:"invalid_union",input:t.value,inst:r,errors:e.map(i=>i.issues.map(a=>ve(a,o,he())))}),t)}const qi=b("$ZodUnion",(e,t)=>{j.init(e,t),z(e._zod,"optin",()=>t.options.some(n=>n._zod.optin==="optional")?"optional":void 0),z(e._zod,"optout",()=>t.options.some(n=>n._zod.optout==="optional")?"optional":void 0),z(e._zod,"values",()=>{if(t.options.every(n=>n._zod.values))return new Set(t.options.flatMap(n=>Array.from(n._zod.values)))}),z(e._zod,"pattern",()=>{if(t.options.every(n=>n._zod.pattern)){const n=t.options.map(i=>i._zod.pattern);return new RegExp(`^(${n.map(i=>Po(i.source)).join("|")})$`)}});const r=t.options.length===1,o=t.options[0]._zod.run;e._zod.parse=(n,i)=>{if(r)return o(n,i);let a=!1;const s=[];for(const l of t.options){const d=l._zod.run({value:n.value,issues:[]},i);if(d instanceof Promise)s.push(d),a=!0;else{if(d.issues.length===0)return d;s.push(d)}}return a?Promise.all(s).then(l=>zn(l,n,e,i)):zn(s,n,e,i)}}),Oc=b("$ZodDiscriminatedUnion",(e,t)=>{t.inclusive=!1,qi.init(e,t);const r=e._zod.parse;z(e._zod,"propValues",()=>{const n={};for(const i of t.options){const a=i._zod.propValues;if(!a||Object.keys(a).length===0)throw new Error(`Invalid discriminated union option at index "${t.options.indexOf(i)}"`);for(const[s,l]of Object.entries(a)){n[s]||(n[s]=new Set);for(const d of l)n[s].add(d)}}return n});const o=Ur(()=>{const n=t.options,i=new Map;for(const a of n){const s=a._zod.propValues?.[t.discriminator];if(!s||s.size===0)throw new Error(`Invalid discriminated union option at index "${t.options.indexOf(a)}"`);for(const l of s){if(i.has(l))throw new Error(`Duplicate discriminator value "${String(l)}"`);i.set(l,a)}}return i});e._zod.parse=(n,i)=>{const a=n.value;if(!At(a))return n.issues.push({code:"invalid_type",expected:"object",input:a,inst:e}),n;const s=o.value.get(a?.[t.discriminator]);return s?s._zod.run(n,i):t.unionFallback?r(n,i):(n.issues.push({code:"invalid_union",errors:[],note:"No matching discriminator",discriminator:t.discriminator,input:a,path:[t.discriminator],inst:e}),n)}}),Ic=b("$ZodIntersection",(e,t)=>{j.init(e,t),e._zod.parse=(r,o)=>{const n=r.value,i=t.left._zod.run({value:n,issues:[]},o),a=t.right._zod.run({value:n,issues:[]},o);return i instanceof Promise||a instanceof Promise?Promise.all([i,a]).then(([s,l])=>An(r,s,l)):An(r,i,a)}});function so(e,t){if(e===t)return{valid:!0,data:e};if(e instanceof Date&&t instanceof Date&&+e==+t)return{valid:!0,data:e};if(tt(e)&&tt(t)){const r=Object.keys(t),o=Object.keys(e).filter(i=>r.indexOf(i)!==-1),n={...e,...t};for(const i of o){const a=so(e[i],t[i]);if(!a.valid)return{valid:!1,mergeErrorPath:[i,...a.mergeErrorPath]};n[i]=a.data}return{valid:!0,data:n}}if(Array.isArray(e)&&Array.isArray(t)){if(e.length!==t.length)return{valid:!1,mergeErrorPath:[]};const r=[];for(let o=0;o<e.length;o++){const n=e[o],i=t[o],a=so(n,i);if(!a.valid)return{valid:!1,mergeErrorPath:[o,...a.mergeErrorPath]};r.push(a.data)}return{valid:!0,data:r}}return{valid:!1,mergeErrorPath:[]}}function An(e,t,r){const o=new Map;let n;for(const s of t.issues)if(s.code==="unrecognized_keys"){n??(n=s);for(const l of s.keys)o.has(l)||o.set(l,{}),o.get(l).l=!0}else e.issues.push(s);for(const s of r.issues)if(s.code==="unrecognized_keys")for(const l of s.keys)o.has(l)||o.set(l,{}),o.get(l).r=!0;else e.issues.push(s);const i=[...o].filter(([,s])=>s.l&&s.r).map(([s])=>s);if(i.length&&n&&e.issues.push({...n,keys:i}),Ge(e))return e;const a=so(t.value,r.value);if(!a.valid)throw new Error(`Unmergable intersection. Error path: ${JSON.stringify(a.mergeErrorPath)}`);return e.value=a.data,e}const jc=b("$ZodRecord",(e,t)=>{j.init(e,t),e._zod.parse=(r,o)=>{const n=r.value;if(!tt(n))return r.issues.push({expected:"record",code:"invalid_type",input:n,inst:e}),r;const i=[],a=t.keyType._zod.values;if(a){r.value={};const s=new Set;for(const d of a)if(typeof d=="string"||typeof d=="number"||typeof d=="symbol"){s.add(typeof d=="number"?d.toString():d);const c=t.valueType._zod.run({value:n[d],issues:[]},o);c instanceof Promise?i.push(c.then(p=>{p.issues.length&&r.issues.push(...Je(d,p.issues)),r.value[d]=p.value})):(c.issues.length&&r.issues.push(...Je(d,c.issues)),r.value[d]=c.value)}let l;for(const d in n)s.has(d)||(l=l??[],l.push(d));l&&l.length>0&&r.issues.push({code:"unrecognized_keys",input:n,inst:e,keys:l})}else{r.value={};for(const s of Reflect.ownKeys(n)){if(s==="__proto__")continue;let l=t.keyType._zod.run({value:s,issues:[]},o);if(l instanceof Promise)throw new Error("Async schemas not supported in object keys currently");if(typeof s=="string"&&Li.test(s)&&l.issues.length){const c=t.keyType._zod.run({value:Number(s),issues:[]},o);if(c instanceof Promise)throw new Error("Async schemas not supported in object keys currently");c.issues.length===0&&(l=c)}if(l.issues.length){t.mode==="loose"?r.value[s]=n[s]:r.issues.push({code:"invalid_key",origin:"record",issues:l.issues.map(c=>ve(c,o,he())),input:s,path:[s],inst:e});continue}const d=t.valueType._zod.run({value:n[s],issues:[]},o);d instanceof Promise?i.push(d.then(c=>{c.issues.length&&r.issues.push(...Je(s,c.issues)),r.value[l.value]=c.value})):(d.issues.length&&r.issues.push(...Je(s,d.issues)),r.value[l.value]=d.value)}}return i.length?Promise.all(i).then(()=>r):r}}),Pc=b("$ZodEnum",(e,t)=>{j.init(e,t);const r=Ti(t.entries),o=new Set(r);e._zod.values=o,e._zod.pattern=new RegExp(`^(${r.filter(n=>Ml.has(typeof n)).map(n=>typeof n=="string"?rt(n):n.toString()).join("|")})$`),e._zod.parse=(n,i)=>{const a=n.value;return o.has(a)||n.issues.push({code:"invalid_value",values:r,input:a,inst:e}),n}}),Tc=b("$ZodLiteral",(e,t)=>{if(j.init(e,t),t.values.length===0)throw new Error("Cannot create literal schema with no valid values");const r=new Set(t.values);e._zod.values=r,e._zod.pattern=new RegExp(`^(${t.values.map(o=>typeof o=="string"?rt(o):o?rt(o.toString()):String(o)).join("|")})$`),e._zod.parse=(o,n)=>{const i=o.value;return r.has(i)||o.issues.push({code:"invalid_value",values:t.values,input:i,inst:e}),o}}),Cc=b("$ZodTransform",(e,t)=>{j.init(e,t),e._zod.parse=(r,o)=>{if(o.direction==="backward")throw new ji(e.constructor.name);const n=t.transform(r.value,r);if(o.async)return(n instanceof Promise?n:Promise.resolve(n)).then(i=>(r.value=i,r));if(n instanceof Promise)throw new Ve;return r.value=n,r}});function Sn(e,t){return e.issues.length&&t===void 0?{issues:[],value:void 0}:e}const Xi=b("$ZodOptional",(e,t)=>{j.init(e,t),e._zod.optin="optional",e._zod.optout="optional",z(e._zod,"values",()=>t.innerType._zod.values?new Set([...t.innerType._zod.values,void 0]):void 0),z(e._zod,"pattern",()=>{const r=t.innerType._zod.pattern;return r?new RegExp(`^(${Po(r.source)})?$`):void 0}),e._zod.parse=(r,o)=>{if(t.innerType._zod.optin==="optional"){const n=t.innerType._zod.run(r,o);return n instanceof Promise?n.then(i=>Sn(i,r.value)):Sn(n,r.value)}return r.value===void 0?r:t.innerType._zod.run(r,o)}}),Zc=b("$ZodExactOptional",(e,t)=>{Xi.init(e,t),z(e._zod,"values",()=>t.innerType._zod.values),z(e._zod,"pattern",()=>t.innerType._zod.pattern),e._zod.parse=(r,o)=>t.innerType._zod.run(r,o)}),Nc=b("$ZodNullable",(e,t)=>{j.init(e,t),z(e._zod,"optin",()=>t.innerType._zod.optin),z(e._zod,"optout",()=>t.innerType._zod.optout),z(e._zod,"pattern",()=>{const r=t.innerType._zod.pattern;return r?new RegExp(`^(${Po(r.source)}|null)$`):void 0}),z(e._zod,"values",()=>t.innerType._zod.values?new Set([...t.innerType._zod.values,null]):void 0),e._zod.parse=(r,o)=>r.value===null?r:t.innerType._zod.run(r,o)}),Rc=b("$ZodDefault",(e,t)=>{j.init(e,t),e._zod.optin="optional",z(e._zod,"values",()=>t.innerType._zod.values),e._zod.parse=(r,o)=>{if(o.direction==="backward")return t.innerType._zod.run(r,o);if(r.value===void 0)return r.value=t.defaultValue,r;const n=t.innerType._zod.run(r,o);return n instanceof Promise?n.then(i=>$n(i,t)):$n(n,t)}});function $n(e,t){return e.value===void 0&&(e.value=t.defaultValue),e}const Dc=b("$ZodPrefault",(e,t)=>{j.init(e,t),e._zod.optin="optional",z(e._zod,"values",()=>t.innerType._zod.values),e._zod.parse=(r,o)=>(o.direction==="backward"||r.value===void 0&&(r.value=t.defaultValue),t.innerType._zod.run(r,o))}),Uc=b("$ZodNonOptional",(e,t)=>{j.init(e,t),z(e._zod,"values",()=>{const r=t.innerType._zod.values;return r?new Set([...r].filter(o=>o!==void 0)):void 0}),e._zod.parse=(r,o)=>{const n=t.innerType._zod.run(r,o);return n instanceof Promise?n.then(i=>En(i,e)):En(n,e)}});function En(e,t){return!e.issues.length&&e.value===void 0&&e.issues.push({code:"invalid_type",expected:"nonoptional",input:e.value,inst:t}),e}const Mc=b("$ZodCatch",(e,t)=>{j.init(e,t),z(e._zod,"optin",()=>t.innerType._zod.optin),z(e._zod,"optout",()=>t.innerType._zod.optout),z(e._zod,"values",()=>t.innerType._zod.values),e._zod.parse=(r,o)=>{if(o.direction==="backward")return t.innerType._zod.run(r,o);const n=t.innerType._zod.run(r,o);return n instanceof Promise?n.then(i=>(r.value=i.value,i.issues.length&&(r.value=t.catchValue({...r,error:{issues:i.issues.map(a=>ve(a,o,he()))},input:r.value}),r.issues=[]),r)):(r.value=n.value,n.issues.length&&(r.value=t.catchValue({...r,error:{issues:n.issues.map(i=>ve(i,o,he()))},input:r.value}),r.issues=[]),r)}}),Bc=b("$ZodPipe",(e,t)=>{j.init(e,t),z(e._zod,"values",()=>t.in._zod.values),z(e._zod,"optin",()=>t.in._zod.optin),z(e._zod,"optout",()=>t.out._zod.optout),z(e._zod,"propValues",()=>t.in._zod.propValues),e._zod.parse=(r,o)=>{if(o.direction==="backward"){const i=t.out._zod.run(r,o);return i instanceof Promise?i.then(a=>Nt(a,t.in,o)):Nt(i,t.in,o)}const n=t.in._zod.run(r,o);return n instanceof Promise?n.then(i=>Nt(i,t.out,o)):Nt(n,t.out,o)}});function Nt(e,t,r){return e.issues.length?(e.aborted=!0,e):t._zod.run({value:e.value,issues:e.issues},r)}const Lc=b("$ZodReadonly",(e,t)=>{j.init(e,t),z(e._zod,"propValues",()=>t.innerType._zod.propValues),z(e._zod,"values",()=>t.innerType._zod.values),z(e._zod,"optin",()=>t.innerType?._zod?.optin),z(e._zod,"optout",()=>t.innerType?._zod?.optout),e._zod.parse=(r,o)=>{if(o.direction==="backward")return t.innerType._zod.run(r,o);const n=t.innerType._zod.run(r,o);return n instanceof Promise?n.then(On):On(n)}});function On(e){return e.value=Object.freeze(e.value),e}const Fc=b("$ZodCustom",(e,t)=>{W.init(e,t),j.init(e,t),e._zod.parse=(r,o)=>r,e._zod.check=r=>{const o=r.value,n=t.fn(o);if(n instanceof Promise)return n.then(i=>In(i,r,o,e));In(n,r,o,e)}});function In(e,t,r,o){if(!e){const n={code:"custom",input:r,inst:o,path:[...o._zod.def.path??[]],continue:!o._zod.def.abort};o._zod.def.params&&(n.params=o._zod.def.params),t.issues.push(St(n))}}var jn;class Gc{constructor(){this._map=new WeakMap,this._idmap=new Map}add(t,...r){const o=r[0];return this._map.set(t,o),o&&typeof o=="object"&&"id"in o&&this._idmap.set(o.id,t),this}clear(){return this._map=new WeakMap,this._idmap=new Map,this}remove(t){const r=this._map.get(t);return r&&typeof r=="object"&&"id"in r&&this._idmap.delete(r.id),this._map.delete(t),this}get(t){const r=t._zod.parent;if(r){const o={...this.get(r)??{}};delete o.id;const n={...o,...this._map.get(t)};return Object.keys(n).length?n:void 0}return this._map.get(t)}has(t){return this._map.has(t)}}function Jc(){return new Gc}(jn=globalThis).__zod_globalRegistry??(jn.__zod_globalRegistry=Jc());const gt=globalThis.__zod_globalRegistry;function Yc(e,t){return new e({type:"string",...v(t)})}function Hc(e,t){return new e({type:"string",format:"email",check:"string_format",abort:!1,...v(t)})}function Pn(e,t){return new e({type:"string",format:"guid",check:"string_format",abort:!1,...v(t)})}function Vc(e,t){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,...v(t)})}function Wc(e,t){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v4",...v(t)})}function qc(e,t){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v6",...v(t)})}function Xc(e,t){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v7",...v(t)})}function Kc(e,t){return new e({type:"string",format:"url",check:"string_format",abort:!1,...v(t)})}function Qc(e,t){return new e({type:"string",format:"emoji",check:"string_format",abort:!1,...v(t)})}function ep(e,t){return new e({type:"string",format:"nanoid",check:"string_format",abort:!1,...v(t)})}function tp(e,t){return new e({type:"string",format:"cuid",check:"string_format",abort:!1,...v(t)})}function rp(e,t){return new e({type:"string",format:"cuid2",check:"string_format",abort:!1,...v(t)})}function op(e,t){return new e({type:"string",format:"ulid",check:"string_format",abort:!1,...v(t)})}function np(e,t){return new e({type:"string",format:"xid",check:"string_format",abort:!1,...v(t)})}function ip(e,t){return new e({type:"string",format:"ksuid",check:"string_format",abort:!1,...v(t)})}function ap(e,t){return new e({type:"string",format:"ipv4",check:"string_format",abort:!1,...v(t)})}function sp(e,t){return new e({type:"string",format:"ipv6",check:"string_format",abort:!1,...v(t)})}function lp(e,t){return new e({type:"string",format:"cidrv4",check:"string_format",abort:!1,...v(t)})}function dp(e,t){return new e({type:"string",format:"cidrv6",check:"string_format",abort:!1,...v(t)})}function cp(e,t){return new e({type:"string",format:"base64",check:"string_format",abort:!1,...v(t)})}function pp(e,t){return new e({type:"string",format:"base64url",check:"string_format",abort:!1,...v(t)})}function mp(e,t){return new e({type:"string",format:"e164",check:"string_format",abort:!1,...v(t)})}function bp(e,t){return new e({type:"string",format:"jwt",check:"string_format",abort:!1,...v(t)})}function up(e,t){return new e({type:"string",format:"datetime",check:"string_format",offset:!1,local:!1,precision:null,...v(t)})}function gp(e,t){return new e({type:"string",format:"date",check:"string_format",...v(t)})}function fp(e,t){return new e({type:"string",format:"time",check:"string_format",precision:null,...v(t)})}function hp(e,t){return new e({type:"string",format:"duration",check:"string_format",...v(t)})}function vp(e,t){return new e({type:"number",checks:[],...v(t)})}function wp(e,t){return new e({type:"number",check:"number_format",abort:!1,format:"safeint",...v(t)})}function xp(e,t){return new e({type:"boolean",...v(t)})}function yp(e,t){return new e({type:"undefined",...v(t)})}function kp(e,t){return new e({type:"null",...v(t)})}function _p(e){return new e({type:"unknown"})}function zp(e,t){return new e({type:"never",...v(t)})}function Tn(e,t){return new Gi({check:"less_than",...v(t),value:e,inclusive:!1})}function Xr(e,t){return new Gi({check:"less_than",...v(t),value:e,inclusive:!0})}function Cn(e,t){return new Ji({check:"greater_than",...v(t),value:e,inclusive:!1})}function Kr(e,t){return new Ji({check:"greater_than",...v(t),value:e,inclusive:!0})}function Zn(e,t){return new Zd({check:"multiple_of",...v(t),value:e})}function Ki(e,t){return new Rd({check:"max_length",...v(t),maximum:e})}function kr(e,t){return new Dd({check:"min_length",...v(t),minimum:e})}function Qi(e,t){return new Ud({check:"length_equals",...v(t),length:e})}function Ap(e,t){return new Md({check:"string_format",format:"regex",...v(t),pattern:e})}function Sp(e){return new Bd({check:"string_format",format:"lowercase",...v(e)})}function $p(e){return new Ld({check:"string_format",format:"uppercase",...v(e)})}function Ep(e,t){return new Fd({check:"string_format",format:"includes",...v(t),includes:e})}function Op(e,t){return new Gd({check:"string_format",format:"starts_with",...v(t),prefix:e})}function Ip(e,t){return new Jd({check:"string_format",format:"ends_with",...v(t),suffix:e})}function ct(e){return new Yd({check:"overwrite",tx:e})}function jp(e){return ct(t=>t.normalize(e))}function Pp(){return ct(e=>e.trim())}function Tp(){return ct(e=>e.toLowerCase())}function Cp(){return ct(e=>e.toUpperCase())}function Zp(){return ct(e=>Dl(e))}function Np(e,t,r){return new e({type:"array",element:t,...v(r)})}function Rp(e,t,r){return new e({type:"custom",check:"custom",fn:t,...v(r)})}function Dp(e){const t=Up(r=>(r.addIssue=o=>{if(typeof o=="string")r.issues.push(St(o,r.value,t._zod.def));else{const n=o;n.fatal&&(n.continue=!1),n.code??(n.code="custom"),n.input??(n.input=r.value),n.inst??(n.inst=t),n.continue??(n.continue=!t._zod.def.abort),r.issues.push(St(n))}},e(r.value,r)));return t}function Up(e,t){const r=new W({check:"custom",...v(t)});return r._zod.check=e,r}function ea(e){let t=e?.target??"draft-2020-12";return t==="draft-4"&&(t="draft-04"),t==="draft-7"&&(t="draft-07"),{processors:e.processors??{},metadataRegistry:e?.metadata??gt,target:t,unrepresentable:e?.unrepresentable??"throw",override:e?.override??(()=>{}),io:e?.io??"output",counter:0,seen:new Map,cycles:e?.cycles??"ref",reused:e?.reused??"inline",external:e?.external??void 0}}function D(e,t,r={path:[],schemaPath:[]}){var o;const n=e._zod.def,i=t.seen.get(e);if(i)return i.count++,r.schemaPath.includes(e)&&(i.cycle=r.path),i.schema;const a={schema:{},count:1,cycle:void 0,path:r.path};t.seen.set(e,a);const s=e._zod.toJSONSchema?.();if(s)a.schema=s;else{const d={...r,schemaPath:[...r.schemaPath,e],path:r.path};if(e._zod.processJSONSchema)e._zod.processJSONSchema(t,a.schema,d);else{const p=a.schema,u=t.processors[n.type];if(!u)throw new Error(`[toJSONSchema]: Non-representable type encountered: ${n.type}`);u(e,t,p,d)}const c=e._zod.parent;c&&(a.ref||(a.ref=c),D(c,t,d),t.seen.get(c).isParent=!0)}const l=t.metadataRegistry.get(e);return l&&Object.assign(a.schema,l),t.io==="input"&&J(e)&&(delete a.schema.examples,delete a.schema.default),t.io==="input"&&a.schema._prefault&&((o=a.schema).default??(o.default=a.schema._prefault)),delete a.schema._prefault,t.seen.get(e).schema}function ta(e,t){const r=e.seen.get(t);if(!r)throw new Error("Unprocessed schema. This is a bug in Zod.");const o=new Map;for(const a of e.seen.entries()){const s=e.metadataRegistry.get(a[0])?.id;if(s){const l=o.get(s);if(l&&l!==a[0])throw new Error(`Duplicate schema id "${s}" detected during JSON Schema conversion. Two different schemas cannot share the same id when converted together.`);o.set(s,a[0])}}const n=a=>{const s=e.target==="draft-2020-12"?"$defs":"definitions";if(e.external){const c=e.external.registry.get(a[0])?.id,p=e.external.uri??(f=>f);if(c)return{ref:p(c)};const u=a[1].defId??a[1].schema.id??`schema${e.counter++}`;return a[1].defId=u,{defId:u,ref:`${p("__shared")}#/${s}/${u}`}}if(a[1]===r)return{ref:"#"};const l=`#/${s}/`,d=a[1].schema.id??`__schema${e.counter++}`;return{defId:d,ref:l+d}},i=a=>{if(a[1].schema.$ref)return;const s=a[1],{ref:l,defId:d}=n(a);s.def={...s.schema},d&&(s.defId=d);const c=s.schema;for(const p in c)delete c[p];c.$ref=l};if(e.cycles==="throw")for(const a of e.seen.entries()){const s=a[1];if(s.cycle)throw new Error(`Cycle detected: #/${s.cycle?.join("/")}/<root>
|
|
900
|
+
|
|
901
|
+
Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.`)}for(const a of e.seen.entries()){const s=a[1];if(t===a[0]){i(a);continue}if(e.external){const l=e.external.registry.get(a[0])?.id;if(t!==a[0]&&l){i(a);continue}}if(e.metadataRegistry.get(a[0])?.id){i(a);continue}if(s.cycle){i(a);continue}if(s.count>1&&e.reused==="ref"){i(a);continue}}}function ra(e,t){const r=e.seen.get(t);if(!r)throw new Error("Unprocessed schema. This is a bug in Zod.");const o=a=>{const s=e.seen.get(a);if(s.ref===null)return;const l=s.def??s.schema,d={...l},c=s.ref;if(s.ref=null,c){o(c);const u=e.seen.get(c),f=u.schema;if(f.$ref&&(e.target==="draft-07"||e.target==="draft-04"||e.target==="openapi-3.0")?(l.allOf=l.allOf??[],l.allOf.push(f)):Object.assign(l,f),Object.assign(l,d),a._zod.parent===c)for(const y in l)y==="$ref"||y==="allOf"||y in d||delete l[y];if(f.$ref&&u.def)for(const y in l)y==="$ref"||y==="allOf"||y in u.def&&JSON.stringify(l[y])===JSON.stringify(u.def[y])&&delete l[y]}const p=a._zod.parent;if(p&&p!==c){o(p);const u=e.seen.get(p);if(u?.schema.$ref&&(l.$ref=u.schema.$ref,u.def))for(const f in l)f==="$ref"||f==="allOf"||f in u.def&&JSON.stringify(l[f])===JSON.stringify(u.def[f])&&delete l[f]}e.override({zodSchema:a,jsonSchema:l,path:s.path??[]})};for(const a of[...e.seen.entries()].reverse())o(a[0]);const n={};if(e.target==="draft-2020-12"?n.$schema="https://json-schema.org/draft/2020-12/schema":e.target==="draft-07"?n.$schema="http://json-schema.org/draft-07/schema#":e.target==="draft-04"?n.$schema="http://json-schema.org/draft-04/schema#":e.target,e.external?.uri){const a=e.external.registry.get(t)?.id;if(!a)throw new Error("Schema is missing an `id` property");n.$id=e.external.uri(a)}Object.assign(n,r.def??r.schema);const i=e.external?.defs??{};for(const a of e.seen.entries()){const s=a[1];s.def&&s.defId&&(i[s.defId]=s.def)}e.external||Object.keys(i).length>0&&(e.target==="draft-2020-12"?n.$defs=i:n.definitions=i);try{const a=JSON.parse(JSON.stringify(n));return Object.defineProperty(a,"~standard",{value:{...t["~standard"],jsonSchema:{input:_r(t,"input",e.processors),output:_r(t,"output",e.processors)}},enumerable:!1,writable:!1}),a}catch{throw new Error("Error converting schema to JSON.")}}function J(e,t){const r=t??{seen:new Set};if(r.seen.has(e))return!1;r.seen.add(e);const o=e._zod.def;if(o.type==="transform")return!0;if(o.type==="array")return J(o.element,r);if(o.type==="set")return J(o.valueType,r);if(o.type==="lazy")return J(o.getter(),r);if(o.type==="promise"||o.type==="optional"||o.type==="nonoptional"||o.type==="nullable"||o.type==="readonly"||o.type==="default"||o.type==="prefault")return J(o.innerType,r);if(o.type==="intersection")return J(o.left,r)||J(o.right,r);if(o.type==="record"||o.type==="map")return J(o.keyType,r)||J(o.valueType,r);if(o.type==="pipe")return J(o.in,r)||J(o.out,r);if(o.type==="object"){for(const n in o.shape)if(J(o.shape[n],r))return!0;return!1}if(o.type==="union"){for(const n of o.options)if(J(n,r))return!0;return!1}if(o.type==="tuple"){for(const n of o.items)if(J(n,r))return!0;return!!(o.rest&&J(o.rest,r))}return!1}const Mp=(e,t={})=>r=>{const o=ea({...r,processors:t});return D(e,o),ta(o,e),ra(o,e)},_r=(e,t,r={})=>o=>{const{libraryOptions:n,target:i}=o??{},a=ea({...n??{},target:i,io:t,processors:r});return D(e,a),ta(a,e),ra(a,e)},Bp={guid:"uuid",url:"uri",datetime:"date-time",json_string:"json-string",regex:""},Lp=(e,t,r,o)=>{const n=r;n.type="string";const{minimum:i,maximum:a,format:s,patterns:l,contentEncoding:d}=e._zod.bag;if(typeof i=="number"&&(n.minLength=i),typeof a=="number"&&(n.maxLength=a),s&&(n.format=Bp[s]??s,n.format===""&&delete n.format,s==="time"&&delete n.format),d&&(n.contentEncoding=d),l&&l.size>0){const c=[...l];c.length===1?n.pattern=c[0].source:c.length>1&&(n.allOf=[...c.map(p=>({...t.target==="draft-07"||t.target==="draft-04"||t.target==="openapi-3.0"?{type:"string"}:{},pattern:p.source}))])}},Fp=(e,t,r,o)=>{const n=r,{minimum:i,maximum:a,format:s,multipleOf:l,exclusiveMaximum:d,exclusiveMinimum:c}=e._zod.bag;typeof s=="string"&&s.includes("int")?n.type="integer":n.type="number",typeof c=="number"&&(t.target==="draft-04"||t.target==="openapi-3.0"?(n.minimum=c,n.exclusiveMinimum=!0):n.exclusiveMinimum=c),typeof i=="number"&&(n.minimum=i,typeof c=="number"&&t.target!=="draft-04"&&(c>=i?delete n.minimum:delete n.exclusiveMinimum)),typeof d=="number"&&(t.target==="draft-04"||t.target==="openapi-3.0"?(n.maximum=d,n.exclusiveMaximum=!0):n.exclusiveMaximum=d),typeof a=="number"&&(n.maximum=a,typeof d=="number"&&t.target!=="draft-04"&&(d<=a?delete n.maximum:delete n.exclusiveMaximum)),typeof l=="number"&&(n.multipleOf=l)},Gp=(e,t,r,o)=>{r.type="boolean"},Jp=(e,t,r,o)=>{t.target==="openapi-3.0"?(r.type="string",r.nullable=!0,r.enum=[null]):r.type="null"},Yp=(e,t,r,o)=>{if(t.unrepresentable==="throw")throw new Error("Undefined cannot be represented in JSON Schema")},Hp=(e,t,r,o)=>{r.not={}},Vp=(e,t,r,o)=>{},Wp=(e,t,r,o)=>{const n=e._zod.def,i=Ti(n.entries);i.every(a=>typeof a=="number")&&(r.type="number"),i.every(a=>typeof a=="string")&&(r.type="string"),r.enum=i},qp=(e,t,r,o)=>{const n=e._zod.def,i=[];for(const a of n.values)if(a===void 0){if(t.unrepresentable==="throw")throw new Error("Literal `undefined` cannot be represented in JSON Schema")}else if(typeof a=="bigint"){if(t.unrepresentable==="throw")throw new Error("BigInt literals cannot be represented in JSON Schema");i.push(Number(a))}else i.push(a);if(i.length!==0)if(i.length===1){const a=i[0];r.type=a===null?"null":typeof a,t.target==="draft-04"||t.target==="openapi-3.0"?r.enum=[a]:r.const=a}else i.every(a=>typeof a=="number")&&(r.type="number"),i.every(a=>typeof a=="string")&&(r.type="string"),i.every(a=>typeof a=="boolean")&&(r.type="boolean"),i.every(a=>a===null)&&(r.type="null"),r.enum=i},Xp=(e,t,r,o)=>{if(t.unrepresentable==="throw")throw new Error("Custom types cannot be represented in JSON Schema")},Kp=(e,t,r,o)=>{if(t.unrepresentable==="throw")throw new Error("Transforms cannot be represented in JSON Schema")},Qp=(e,t,r,o)=>{const n=r,i=e._zod.def,{minimum:a,maximum:s}=e._zod.bag;typeof a=="number"&&(n.minItems=a),typeof s=="number"&&(n.maxItems=s),n.type="array",n.items=D(i.element,t,{...o,path:[...o.path,"items"]})},em=(e,t,r,o)=>{const n=r,i=e._zod.def;n.type="object",n.properties={};const a=i.shape;for(const d in a)n.properties[d]=D(a[d],t,{...o,path:[...o.path,"properties",d]});const s=new Set(Object.keys(a)),l=new Set([...s].filter(d=>{const c=i.shape[d]._zod;return t.io==="input"?c.optin===void 0:c.optout===void 0}));l.size>0&&(n.required=Array.from(l)),i.catchall?._zod.def.type==="never"?n.additionalProperties=!1:i.catchall?i.catchall&&(n.additionalProperties=D(i.catchall,t,{...o,path:[...o.path,"additionalProperties"]})):t.io==="output"&&(n.additionalProperties=!1)},tm=(e,t,r,o)=>{const n=e._zod.def,i=n.inclusive===!1,a=n.options.map((s,l)=>D(s,t,{...o,path:[...o.path,i?"oneOf":"anyOf",l]}));i?r.oneOf=a:r.anyOf=a},rm=(e,t,r,o)=>{const n=e._zod.def,i=D(n.left,t,{...o,path:[...o.path,"allOf",0]}),a=D(n.right,t,{...o,path:[...o.path,"allOf",1]}),s=d=>"allOf"in d&&Object.keys(d).length===1,l=[...s(i)?i.allOf:[i],...s(a)?a.allOf:[a]];r.allOf=l},om=(e,t,r,o)=>{const n=r,i=e._zod.def;n.type="object";const a=i.keyType,s=a._zod.bag?.patterns;if(i.mode==="loose"&&s&&s.size>0){const d=D(i.valueType,t,{...o,path:[...o.path,"patternProperties","*"]});n.patternProperties={};for(const c of s)n.patternProperties[c.source]=d}else(t.target==="draft-07"||t.target==="draft-2020-12")&&(n.propertyNames=D(i.keyType,t,{...o,path:[...o.path,"propertyNames"]})),n.additionalProperties=D(i.valueType,t,{...o,path:[...o.path,"additionalProperties"]});const l=a._zod.values;if(l){const d=[...l].filter(c=>typeof c=="string"||typeof c=="number");d.length>0&&(n.required=d)}},nm=(e,t,r,o)=>{const n=e._zod.def,i=D(n.innerType,t,o),a=t.seen.get(e);t.target==="openapi-3.0"?(a.ref=n.innerType,r.nullable=!0):r.anyOf=[i,{type:"null"}]},im=(e,t,r,o)=>{const n=e._zod.def;D(n.innerType,t,o);const i=t.seen.get(e);i.ref=n.innerType},am=(e,t,r,o)=>{const n=e._zod.def;D(n.innerType,t,o);const i=t.seen.get(e);i.ref=n.innerType,r.default=JSON.parse(JSON.stringify(n.defaultValue))},sm=(e,t,r,o)=>{const n=e._zod.def;D(n.innerType,t,o);const i=t.seen.get(e);i.ref=n.innerType,t.io==="input"&&(r._prefault=JSON.parse(JSON.stringify(n.defaultValue)))},lm=(e,t,r,o)=>{const n=e._zod.def;D(n.innerType,t,o);const i=t.seen.get(e);i.ref=n.innerType;let a;try{a=n.catchValue(void 0)}catch{throw new Error("Dynamic catch values are not supported in JSON Schema")}r.default=a},dm=(e,t,r,o)=>{const n=e._zod.def,i=t.io==="input"?n.in._zod.def.type==="transform"?n.out:n.in:n.out;D(i,t,o);const a=t.seen.get(e);a.ref=i},cm=(e,t,r,o)=>{const n=e._zod.def;D(n.innerType,t,o);const i=t.seen.get(e);i.ref=n.innerType,r.readOnly=!0},oa=(e,t,r,o)=>{const n=e._zod.def;D(n.innerType,t,o);const i=t.seen.get(e);i.ref=n.innerType},pm=b("ZodISODateTime",(e,t)=>{ac.init(e,t),Z.init(e,t)});function mm(e){return up(pm,e)}const bm=b("ZodISODate",(e,t)=>{sc.init(e,t),Z.init(e,t)});function um(e){return gp(bm,e)}const gm=b("ZodISOTime",(e,t)=>{lc.init(e,t),Z.init(e,t)});function fm(e){return fp(gm,e)}const hm=b("ZodISODuration",(e,t)=>{dc.init(e,t),Z.init(e,t)});function vm(e){return hp(hm,e)}const wm=(e,t)=>{Ri.init(e,t),e.name="ZodError",Object.defineProperties(e,{format:{value:r=>Xl(e,r)},flatten:{value:r=>ql(e,r)},addIssue:{value:r=>{e.issues.push(r),e.message=JSON.stringify(e.issues,ao,2)}},addIssues:{value:r=>{e.issues.push(...r),e.message=JSON.stringify(e.issues,ao,2)}},isEmpty:{get(){return e.issues.length===0}}})},ee=b("ZodError",wm,{Parent:Error}),xm=Co(ee),ym=Zo(ee),km=Mr(ee),_m=Br(ee),zm=ed(ee),Am=td(ee),Sm=rd(ee),$m=od(ee),Em=nd(ee),Om=id(ee),Im=ad(ee),jm=sd(ee),P=b("ZodType",(e,t)=>(j.init(e,t),Object.assign(e["~standard"],{jsonSchema:{input:_r(e,"input"),output:_r(e,"output")}}),e.toJSONSchema=Mp(e,{}),e.def=t,e.type=t.type,Object.defineProperty(e,"_def",{value:t}),e.check=(...r)=>e.clone(ye(t,{checks:[...t.checks??[],...r.map(o=>typeof o=="function"?{_zod:{check:o,def:{check:"custom"},onattach:[]}}:o)]}),{parent:!0}),e.with=e.check,e.clone=(r,o)=>ke(e,r,o),e.brand=()=>e,e.register=((r,o)=>(r.add(e,o),e)),e.parse=(r,o)=>xm(e,r,o,{callee:e.parse}),e.safeParse=(r,o)=>km(e,r,o),e.parseAsync=async(r,o)=>ym(e,r,o,{callee:e.parseAsync}),e.safeParseAsync=async(r,o)=>_m(e,r,o),e.spa=e.safeParseAsync,e.encode=(r,o)=>zm(e,r,o),e.decode=(r,o)=>Am(e,r,o),e.encodeAsync=async(r,o)=>Sm(e,r,o),e.decodeAsync=async(r,o)=>$m(e,r,o),e.safeEncode=(r,o)=>Em(e,r,o),e.safeDecode=(r,o)=>Om(e,r,o),e.safeEncodeAsync=async(r,o)=>Im(e,r,o),e.safeDecodeAsync=async(r,o)=>jm(e,r,o),e.refine=(r,o)=>e.check(Eb(r,o)),e.superRefine=r=>e.check(Ob(r)),e.overwrite=r=>e.check(ct(r)),e.optional=()=>je(e),e.exactOptional=()=>gb(e),e.nullable=()=>Dn(e),e.nullish=()=>je(Dn(e)),e.nonoptional=r=>yb(e,r),e.array=()=>Ar(e),e.or=r=>Ro([e,r]),e.and=r=>Do(e,r),e.transform=r=>Un(e,bb(r)),e.default=r=>vb(e,r),e.prefault=r=>xb(e,r),e.catch=r=>_b(e,r),e.pipe=r=>Un(e,r),e.readonly=()=>Sb(e),e.describe=r=>{const o=e.clone();return gt.add(o,{description:r}),o},Object.defineProperty(e,"description",{get(){return gt.get(e)?.description},configurable:!0}),e.meta=(...r)=>{if(r.length===0)return gt.get(e);const o=e.clone();return gt.add(o,r[0]),o},e.isOptional=()=>e.safeParse(void 0).success,e.isNullable=()=>e.safeParse(null).success,e.apply=r=>r(e),e)),na=b("_ZodString",(e,t)=>{No.init(e,t),P.init(e,t),e._zod.processJSONSchema=(o,n,i)=>Lp(e,o,n);const r=e._zod.bag;e.format=r.format??null,e.minLength=r.minimum??null,e.maxLength=r.maximum??null,e.regex=(...o)=>e.check(Ap(...o)),e.includes=(...o)=>e.check(Ep(...o)),e.startsWith=(...o)=>e.check(Op(...o)),e.endsWith=(...o)=>e.check(Ip(...o)),e.min=(...o)=>e.check(kr(...o)),e.max=(...o)=>e.check(Ki(...o)),e.length=(...o)=>e.check(Qi(...o)),e.nonempty=(...o)=>e.check(kr(1,...o)),e.lowercase=o=>e.check(Sp(o)),e.uppercase=o=>e.check($p(o)),e.trim=()=>e.check(Pp()),e.normalize=(...o)=>e.check(jp(...o)),e.toLowerCase=()=>e.check(Tp()),e.toUpperCase=()=>e.check(Cp()),e.slugify=()=>e.check(Zp())}),Pm=b("ZodString",(e,t)=>{No.init(e,t),na.init(e,t),e.email=r=>e.check(Hc(Tm,r)),e.url=r=>e.check(Kc(Cm,r)),e.jwt=r=>e.check(bp(Wm,r)),e.emoji=r=>e.check(Qc(Zm,r)),e.guid=r=>e.check(Pn(Nn,r)),e.uuid=r=>e.check(Vc(Rt,r)),e.uuidv4=r=>e.check(Wc(Rt,r)),e.uuidv6=r=>e.check(qc(Rt,r)),e.uuidv7=r=>e.check(Xc(Rt,r)),e.nanoid=r=>e.check(ep(Nm,r)),e.guid=r=>e.check(Pn(Nn,r)),e.cuid=r=>e.check(tp(Rm,r)),e.cuid2=r=>e.check(rp(Dm,r)),e.ulid=r=>e.check(op(Um,r)),e.base64=r=>e.check(cp(Ym,r)),e.base64url=r=>e.check(pp(Hm,r)),e.xid=r=>e.check(np(Mm,r)),e.ksuid=r=>e.check(ip(Bm,r)),e.ipv4=r=>e.check(ap(Lm,r)),e.ipv6=r=>e.check(sp(Fm,r)),e.cidrv4=r=>e.check(lp(Gm,r)),e.cidrv6=r=>e.check(dp(Jm,r)),e.e164=r=>e.check(mp(Vm,r)),e.datetime=r=>e.check(mm(r)),e.date=r=>e.check(um(r)),e.time=r=>e.check(fm(r)),e.duration=r=>e.check(vm(r))});function x(e){return Yc(Pm,e)}const Z=b("ZodStringFormat",(e,t)=>{T.init(e,t),na.init(e,t)}),Tm=b("ZodEmail",(e,t)=>{Xd.init(e,t),Z.init(e,t)}),Nn=b("ZodGUID",(e,t)=>{Wd.init(e,t),Z.init(e,t)}),Rt=b("ZodUUID",(e,t)=>{qd.init(e,t),Z.init(e,t)}),Cm=b("ZodURL",(e,t)=>{Kd.init(e,t),Z.init(e,t)}),Zm=b("ZodEmoji",(e,t)=>{Qd.init(e,t),Z.init(e,t)}),Nm=b("ZodNanoID",(e,t)=>{ec.init(e,t),Z.init(e,t)}),Rm=b("ZodCUID",(e,t)=>{tc.init(e,t),Z.init(e,t)}),Dm=b("ZodCUID2",(e,t)=>{rc.init(e,t),Z.init(e,t)}),Um=b("ZodULID",(e,t)=>{oc.init(e,t),Z.init(e,t)}),Mm=b("ZodXID",(e,t)=>{nc.init(e,t),Z.init(e,t)}),Bm=b("ZodKSUID",(e,t)=>{ic.init(e,t),Z.init(e,t)}),Lm=b("ZodIPv4",(e,t)=>{cc.init(e,t),Z.init(e,t)}),Fm=b("ZodIPv6",(e,t)=>{pc.init(e,t),Z.init(e,t)}),Gm=b("ZodCIDRv4",(e,t)=>{mc.init(e,t),Z.init(e,t)}),Jm=b("ZodCIDRv6",(e,t)=>{bc.init(e,t),Z.init(e,t)}),Ym=b("ZodBase64",(e,t)=>{uc.init(e,t),Z.init(e,t)}),Hm=b("ZodBase64URL",(e,t)=>{fc.init(e,t),Z.init(e,t)}),Vm=b("ZodE164",(e,t)=>{hc.init(e,t),Z.init(e,t)}),Wm=b("ZodJWT",(e,t)=>{wc.init(e,t),Z.init(e,t)}),ia=b("ZodNumber",(e,t)=>{Hi.init(e,t),P.init(e,t),e._zod.processJSONSchema=(o,n,i)=>Fp(e,o,n),e.gt=(o,n)=>e.check(Cn(o,n)),e.gte=(o,n)=>e.check(Kr(o,n)),e.min=(o,n)=>e.check(Kr(o,n)),e.lt=(o,n)=>e.check(Tn(o,n)),e.lte=(o,n)=>e.check(Xr(o,n)),e.max=(o,n)=>e.check(Xr(o,n)),e.int=o=>e.check(Rn(o)),e.safe=o=>e.check(Rn(o)),e.positive=o=>e.check(Cn(0,o)),e.nonnegative=o=>e.check(Kr(0,o)),e.negative=o=>e.check(Tn(0,o)),e.nonpositive=o=>e.check(Xr(0,o)),e.multipleOf=(o,n)=>e.check(Zn(o,n)),e.step=(o,n)=>e.check(Zn(o,n)),e.finite=()=>e;const r=e._zod.bag;e.minValue=Math.max(r.minimum??Number.NEGATIVE_INFINITY,r.exclusiveMinimum??Number.NEGATIVE_INFINITY)??null,e.maxValue=Math.min(r.maximum??Number.POSITIVE_INFINITY,r.exclusiveMaximum??Number.POSITIVE_INFINITY)??null,e.isInt=(r.format??"").includes("int")||Number.isSafeInteger(r.multipleOf??.5),e.isFinite=!0,e.format=r.format??null});function zr(e){return vp(ia,e)}const qm=b("ZodNumberFormat",(e,t)=>{xc.init(e,t),ia.init(e,t)});function Rn(e){return wp(qm,e)}const Xm=b("ZodBoolean",(e,t)=>{yc.init(e,t),P.init(e,t),e._zod.processJSONSchema=(r,o,n)=>Gp(e,r,o)});function Km(e){return xp(Xm,e)}const Qm=b("ZodUndefined",(e,t)=>{kc.init(e,t),P.init(e,t),e._zod.processJSONSchema=(r,o,n)=>Yp(e,r)});function eb(e){return yp(Qm,e)}const tb=b("ZodNull",(e,t)=>{_c.init(e,t),P.init(e,t),e._zod.processJSONSchema=(r,o,n)=>Jp(e,r,o)});function aa(e){return kp(tb,e)}const rb=b("ZodUnknown",(e,t)=>{zc.init(e,t),P.init(e,t),e._zod.processJSONSchema=(r,o,n)=>Vp()});function ot(){return _p(rb)}const ob=b("ZodNever",(e,t)=>{Ac.init(e,t),P.init(e,t),e._zod.processJSONSchema=(r,o,n)=>Hp(e,r,o)});function sa(e){return zp(ob,e)}const nb=b("ZodArray",(e,t)=>{Sc.init(e,t),P.init(e,t),e._zod.processJSONSchema=(r,o,n)=>Qp(e,r,o,n),e.element=t.element,e.min=(r,o)=>e.check(kr(r,o)),e.nonempty=r=>e.check(kr(1,r)),e.max=(r,o)=>e.check(Ki(r,o)),e.length=(r,o)=>e.check(Qi(r,o)),e.unwrap=()=>e.element});function Ar(e,t){return Np(nb,e,t)}const ib=b("ZodObject",(e,t)=>{Ec.init(e,t),P.init(e,t),e._zod.processJSONSchema=(r,o,n)=>em(e,r,o,n),z(e,"shape",()=>t.shape),e.keyof=()=>cb(Object.keys(e._zod.def.shape)),e.catchall=r=>e.clone({...e._zod.def,catchall:r}),e.passthrough=()=>e.clone({...e._zod.def,catchall:ot()}),e.loose=()=>e.clone({...e._zod.def,catchall:ot()}),e.strict=()=>e.clone({...e._zod.def,catchall:sa()}),e.strip=()=>e.clone({...e._zod.def,catchall:void 0}),e.extend=r=>Jl(e,r),e.safeExtend=r=>Yl(e,r),e.merge=r=>Hl(e,r),e.pick=r=>Fl(e,r),e.omit=r=>Gl(e,r),e.partial=(...r)=>Vl(da,e,r[0]),e.required=(...r)=>Wl(ca,e,r[0])});function S(e,t){const r={type:"object",shape:e??{},...v(t)};return new ib(r)}const la=b("ZodUnion",(e,t)=>{qi.init(e,t),P.init(e,t),e._zod.processJSONSchema=(r,o,n)=>tm(e,r,o,n),e.options=t.options});function Ro(e,t){return new la({type:"union",options:e,...v(t)})}const ab=b("ZodDiscriminatedUnion",(e,t)=>{la.init(e,t),Oc.init(e,t)});function pt(e,t,r){return new ab({type:"union",options:t,discriminator:e,...v(r)})}const sb=b("ZodIntersection",(e,t)=>{Ic.init(e,t),P.init(e,t),e._zod.processJSONSchema=(r,o,n)=>rm(e,r,o,n)});function Do(e,t){return new sb({type:"intersection",left:e,right:t})}const lb=b("ZodRecord",(e,t)=>{jc.init(e,t),P.init(e,t),e._zod.processJSONSchema=(r,o,n)=>om(e,r,o,n),e.keyType=t.keyType,e.valueType=t.valueType});function db(e,t,r){return new lb({type:"record",keyType:e,valueType:t,...v(r)})}const lo=b("ZodEnum",(e,t)=>{Pc.init(e,t),P.init(e,t),e._zod.processJSONSchema=(o,n,i)=>Wp(e,o,n),e.enum=t.entries,e.options=Object.values(t.entries);const r=new Set(Object.keys(t.entries));e.extract=(o,n)=>{const i={};for(const a of o)if(r.has(a))i[a]=t.entries[a];else throw new Error(`Key ${a} not found in enum`);return new lo({...t,checks:[],...v(n),entries:i})},e.exclude=(o,n)=>{const i={...t.entries};for(const a of o)if(r.has(a))delete i[a];else throw new Error(`Key ${a} not found in enum`);return new lo({...t,checks:[],...v(n),entries:i})}});function cb(e,t){const r=Array.isArray(e)?Object.fromEntries(e.map(o=>[o,o])):e;return new lo({type:"enum",entries:r,...v(t)})}const pb=b("ZodLiteral",(e,t)=>{Tc.init(e,t),P.init(e,t),e._zod.processJSONSchema=(r,o,n)=>qp(e,r,o),e.values=new Set(t.values),Object.defineProperty(e,"value",{get(){if(t.values.length>1)throw new Error("This schema contains multiple valid literal values. Use `.values` instead.");return t.values[0]}})});function M(e,t){return new pb({type:"literal",values:Array.isArray(e)?e:[e],...v(t)})}const mb=b("ZodTransform",(e,t)=>{Cc.init(e,t),P.init(e,t),e._zod.processJSONSchema=(r,o,n)=>Kp(e,r),e._zod.parse=(r,o)=>{if(o.direction==="backward")throw new ji(e.constructor.name);r.addIssue=i=>{if(typeof i=="string")r.issues.push(St(i,r.value,t));else{const a=i;a.fatal&&(a.continue=!1),a.code??(a.code="custom"),a.input??(a.input=r.value),a.inst??(a.inst=e),r.issues.push(St(a))}};const n=t.transform(r.value,r);return n instanceof Promise?n.then(i=>(r.value=i,r)):(r.value=n,r)}});function bb(e){return new mb({type:"transform",transform:e})}const da=b("ZodOptional",(e,t)=>{Xi.init(e,t),P.init(e,t),e._zod.processJSONSchema=(r,o,n)=>oa(e,r,o,n),e.unwrap=()=>e._zod.def.innerType});function je(e){return new da({type:"optional",innerType:e})}const ub=b("ZodExactOptional",(e,t)=>{Zc.init(e,t),P.init(e,t),e._zod.processJSONSchema=(r,o,n)=>oa(e,r,o,n),e.unwrap=()=>e._zod.def.innerType});function gb(e){return new ub({type:"optional",innerType:e})}const fb=b("ZodNullable",(e,t)=>{Nc.init(e,t),P.init(e,t),e._zod.processJSONSchema=(r,o,n)=>nm(e,r,o,n),e.unwrap=()=>e._zod.def.innerType});function Dn(e){return new fb({type:"nullable",innerType:e})}const hb=b("ZodDefault",(e,t)=>{Rc.init(e,t),P.init(e,t),e._zod.processJSONSchema=(r,o,n)=>am(e,r,o,n),e.unwrap=()=>e._zod.def.innerType,e.removeDefault=e.unwrap});function vb(e,t){return new hb({type:"default",innerType:e,get defaultValue(){return typeof t=="function"?t():Zi(t)}})}const wb=b("ZodPrefault",(e,t)=>{Dc.init(e,t),P.init(e,t),e._zod.processJSONSchema=(r,o,n)=>sm(e,r,o,n),e.unwrap=()=>e._zod.def.innerType});function xb(e,t){return new wb({type:"prefault",innerType:e,get defaultValue(){return typeof t=="function"?t():Zi(t)}})}const ca=b("ZodNonOptional",(e,t)=>{Uc.init(e,t),P.init(e,t),e._zod.processJSONSchema=(r,o,n)=>im(e,r,o,n),e.unwrap=()=>e._zod.def.innerType});function yb(e,t){return new ca({type:"nonoptional",innerType:e,...v(t)})}const kb=b("ZodCatch",(e,t)=>{Mc.init(e,t),P.init(e,t),e._zod.processJSONSchema=(r,o,n)=>lm(e,r,o,n),e.unwrap=()=>e._zod.def.innerType,e.removeCatch=e.unwrap});function _b(e,t){return new kb({type:"catch",innerType:e,catchValue:typeof t=="function"?t:()=>t})}const zb=b("ZodPipe",(e,t)=>{Bc.init(e,t),P.init(e,t),e._zod.processJSONSchema=(r,o,n)=>dm(e,r,o,n),e.in=t.in,e.out=t.out});function Un(e,t){return new zb({type:"pipe",in:e,out:t})}const Ab=b("ZodReadonly",(e,t)=>{Lc.init(e,t),P.init(e,t),e._zod.processJSONSchema=(r,o,n)=>cm(e,r,o,n),e.unwrap=()=>e._zod.def.innerType});function Sb(e){return new Ab({type:"readonly",innerType:e})}const $b=b("ZodCustom",(e,t)=>{Fc.init(e,t),P.init(e,t),e._zod.processJSONSchema=(r,o,n)=>Xp(e,r)});function Eb(e,t={}){return Rp($b,e,t)}function Ob(e){return Dp(e)}var pa=S({method:M("authorization_code"),audience:x(),scope:x(),clientId:x()}).meta({description:"Authorization code flow authentication configuration. This is used for browser-based application login."}),Ib=S({method:M("client_credentials"),audience:x(),scope:x(),clientId:x(),clientSecret:x()}),jb=S({method:M("self_signed"),issuer:x(),audience:x(),scope:x(),clientId:x(),clientSecret:x()}),Pb=S({method:M("client_credentials"),audience:x(),scope:x(),clientId:x(),clientSecretEnv:x()}),Tb=S({method:M("self_signed"),issuer:x(),audience:x(),scope:x(),clientId:x(),clientSecretEnv:x()}),Mn=pt("method",[pa,Ib,jb]);pt("method",[pa,Pb,Tb]);var Cb=pt("type",[S({id:x(),type:M("self_signed"),issuer:x()}),S({id:x(),type:M("oauth"),issuer:x(),configUrl:x().url()})]),Qt=(e=>(e.CanActAs="CanActAs",e.CanReadAs="CanReadAs",e.CanExecuteAs="CanExecuteAs",e))(Qt||{}),Zb=S({baseUrl:x().url()}),ma=S({id:x(),name:x(),description:x(),synchronizerId:x().includes("::").min(10).optional(),identityProviderId:x(),ledgerApi:Zb,auth:Mn,adminAuth:Mn.optional()});S({connection:pt("type",[S({type:M("memory")}),S({type:M("sqlite"),database:x()}),S({type:M("postgres"),host:x(),port:zr(),user:x(),password:x(),database:x()})])});S({idps:Ar(Cb),networks:Ar(ma)});var Nb=Object.defineProperty,Rb=Object.getOwnPropertyDescriptor,ba=e=>{throw TypeError(e)},Uo=(e,t,r,o)=>{for(var n=o>1?void 0:o?Rb(t,r):t,i=e.length-1,a;i>=0;i--)(a=e[i])&&(n=(o?a(t,r,n):a(n))||n);return o&&n&&Nb(t,r,n),n},ua=(e,t,r)=>t.has(e)||ba("Cannot "+r),Db=(e,t,r)=>(ua(e,t,"read from private field"),r?r.call(e):t.get(e)),Ub=(e,t,r)=>t.has(e)?ba("Cannot add the same private member more than once"):t instanceof WeakSet?t.add(e):t.set(e,r),Mb=(e,t,r,o)=>(ua(e,t,"write to private field"),t.set(e,r),r),er;class Bb extends Event{constructor(){super("network-edit-cancel",{bubbles:!0,composed:!0})}}class Lb extends Event{constructor(t){super("network-edit-save",{bubbles:!0,composed:!0}),this.network=t}}let $t=class extends k{constructor(){super(...arguments),Ub(this,er,{ledgerApi:{},auth:{}}),this._error=""}get network(){return Db(this,er)}set network(e){Mb(this,er,e)}connectedCallback(){super.connectedCallback()}handleSubmit(e){e.preventDefault();const t=ma.safeParse(this.network);if(t.success)this.dispatchEvent(new Lb(this.network));else{this._error="Invalid network data, please ensure all fields are set correctly",console.error("Error parsing network data: ",t.error);return}}renderAuthForm(e){typeof e.method>"u"&&Object.assign(e,{method:"authorization_code",clientId:"",audience:"",scope:""});const t=g`
|
|
902
|
+
<div>
|
|
903
|
+
<label for="authMethod">Method</label>
|
|
904
|
+
<select
|
|
905
|
+
class="form-select mb-3"
|
|
906
|
+
name="authMethod"
|
|
907
|
+
@change=${r=>{const o=r.target;if(e.method!==o.value){if(o.value==="authorization_code")Object.assign(e,{method:"authorization_code",clientId:e.clientId??"",audience:e.audience??"",scope:e.scope??""});else if(o.value==="self_signed")Object.assign(e,{method:"self_signed",clientId:e.clientId??"",audience:e.audience??"",scope:e.scope??"",issuer:e.issuer??"",clientSecret:e.clientSecret??""});else if(o.value==="client_credentials")Object.assign(e,{method:"client_credentials",clientId:e.clientId??"",audience:e.audience??"",scope:e.scope??"",clientSecret:e.clientSecret??""});else throw new Error(`Unsupported auth method: ${o.value}`);this.requestUpdate()}}}
|
|
908
|
+
.value=${e.method}
|
|
909
|
+
>
|
|
910
|
+
<option value="authorization_code">
|
|
911
|
+
authorization_code
|
|
912
|
+
</option>
|
|
913
|
+
<option value="client_credentials">
|
|
914
|
+
client_credentials
|
|
915
|
+
</option>
|
|
916
|
+
<option value="self_signed">self_signed</option>
|
|
917
|
+
</select>
|
|
918
|
+
</div>
|
|
919
|
+
|
|
920
|
+
<form-input
|
|
921
|
+
required
|
|
922
|
+
label="Client Id"
|
|
923
|
+
.value=${e.clientId}
|
|
924
|
+
@form-input-change=${r=>{e.clientId=r.value}}
|
|
925
|
+
></form-input>
|
|
926
|
+
<form-input
|
|
927
|
+
required
|
|
928
|
+
label="Audience"
|
|
929
|
+
.value=${e.audience}
|
|
930
|
+
@form-input-change=${r=>{e.audience=r.value}}
|
|
931
|
+
>
|
|
932
|
+
</form-input>
|
|
933
|
+
<form-input
|
|
934
|
+
required
|
|
935
|
+
label="Scope"
|
|
936
|
+
.value=${e.scope}
|
|
937
|
+
@form-input-change=${r=>{e.scope=r.value}}
|
|
938
|
+
></form-input>
|
|
939
|
+
`;if(e.method==="authorization_code")return g`${t}`;if(e.method==="client_credentials")return g`${t}
|
|
940
|
+
<form-input
|
|
941
|
+
required
|
|
942
|
+
label="Client Secret"
|
|
943
|
+
.value=${e.clientSecret}
|
|
944
|
+
@form-input-change=${r=>{e.clientSecret=r.value}}
|
|
945
|
+
></form-input>`;if(e.method==="self_signed")return g`${t}
|
|
946
|
+
<form-input
|
|
947
|
+
required
|
|
948
|
+
label="Issuer"
|
|
949
|
+
.value=${e.issuer}
|
|
950
|
+
@form-input-change=${r=>{e.issuer=r.value}}
|
|
951
|
+
></form-input>
|
|
952
|
+
<form-input
|
|
953
|
+
required
|
|
954
|
+
label="Client Secret"
|
|
955
|
+
.value=${e.clientSecret}
|
|
956
|
+
@form-input-change=${r=>{e.clientSecret=r.value}}
|
|
957
|
+
></form-input>`;throw new Error(`Unsupported auth method: ${JSON.stringify(e)}`)}render(){return g`
|
|
958
|
+
<form @submit=${this.handleSubmit}>
|
|
959
|
+
<form-input
|
|
960
|
+
required
|
|
961
|
+
label="Network Id"
|
|
962
|
+
text="A unique identifier for the network"
|
|
963
|
+
.value=${this.network.id??""}
|
|
964
|
+
@form-input-change=${e=>{this.network.id=e.value}}
|
|
965
|
+
></form-input>
|
|
966
|
+
|
|
967
|
+
<form-input
|
|
968
|
+
required
|
|
969
|
+
label="Name"
|
|
970
|
+
.value=${this.network.name??""}
|
|
971
|
+
@form-input-change=${e=>{this.network.name=e.value}}
|
|
972
|
+
></form-input>
|
|
973
|
+
|
|
974
|
+
<form-input
|
|
975
|
+
required
|
|
976
|
+
label="Description"
|
|
977
|
+
.value=${this.network.description??""}
|
|
978
|
+
@form-input-change=${e=>{this.network.description=e.value}}
|
|
979
|
+
></form-input>
|
|
980
|
+
|
|
981
|
+
<form-input
|
|
982
|
+
label="Synchronizer Id (Optional)"
|
|
983
|
+
.value=${this.network.synchronizerId??""}
|
|
984
|
+
@form-input-change=${e=>{this.network.synchronizerId=e.value===""?void 0:e.value}}
|
|
985
|
+
></form-input>
|
|
986
|
+
|
|
987
|
+
<form-input
|
|
988
|
+
required
|
|
989
|
+
label="Identity Provider Id"
|
|
990
|
+
.value=${this.network.identityProviderId??""}
|
|
991
|
+
@form-input-change=${e=>{this.network.identityProviderId=e.value}}
|
|
992
|
+
></form-input>
|
|
993
|
+
|
|
994
|
+
<form-input
|
|
995
|
+
required
|
|
996
|
+
label="Ledger API Base Url"
|
|
997
|
+
.value=${this.network.ledgerApi.baseUrl??""}
|
|
998
|
+
@form-input-change=${e=>{this.network.ledgerApi.baseUrl=e.value}}
|
|
999
|
+
></form-input>
|
|
1000
|
+
|
|
1001
|
+
<div>
|
|
1002
|
+
<h2 class="form-text mb-4 fw-bold">
|
|
1003
|
+
🔐 Configure User Auth
|
|
1004
|
+
</h2>
|
|
1005
|
+
<div class="form-control mb-3">
|
|
1006
|
+
${this.renderAuthForm(this.network.auth)}
|
|
1007
|
+
</div>
|
|
1008
|
+
</div>
|
|
1009
|
+
|
|
1010
|
+
<div>
|
|
1011
|
+
<h2 class="form-text mb-4 fw-bold">
|
|
1012
|
+
🔐 Configure Admin Auth (optional)
|
|
1013
|
+
</h2>
|
|
1014
|
+
<div class="form-control mb-3">
|
|
1015
|
+
${typeof this.network.adminAuth>"u"?g`<button
|
|
1016
|
+
class="btn btn-sm btn-primary mb-2"
|
|
1017
|
+
type="button"
|
|
1018
|
+
@click=${()=>{this.network.adminAuth={method:"client_credentials",clientId:"",audience:"",scope:"",clientSecret:""},this.requestUpdate()}}
|
|
1019
|
+
>
|
|
1020
|
+
+
|
|
1021
|
+
</button>`:g`<button
|
|
1022
|
+
class="btn btn-sm btn-secondary mb-2"
|
|
1023
|
+
type="button"
|
|
1024
|
+
@click=${()=>{this.network.adminAuth=void 0,this.requestUpdate()}}
|
|
1025
|
+
>
|
|
1026
|
+
clear
|
|
1027
|
+
</button>
|
|
1028
|
+
${this.renderAuthForm(this.network.adminAuth)}`}
|
|
1029
|
+
</div>
|
|
1030
|
+
</div>
|
|
1031
|
+
|
|
1032
|
+
<div class="mt-1 mb-1 text-danger">${this._error}</div>
|
|
1033
|
+
|
|
1034
|
+
<div>
|
|
1035
|
+
<button class="btn btn-sm btn-primary" type="submit">
|
|
1036
|
+
Save
|
|
1037
|
+
</button>
|
|
1038
|
+
<button
|
|
1039
|
+
class="btn btn-sm btn-secondary"
|
|
1040
|
+
type="button"
|
|
1041
|
+
@click=${()=>this.dispatchEvent(new Bb)}
|
|
1042
|
+
>
|
|
1043
|
+
Cancel
|
|
1044
|
+
</button>
|
|
1045
|
+
</div>
|
|
1046
|
+
</form>
|
|
1047
|
+
`}};er=new WeakMap;$t.styles=[k.styles];Uo([w({type:Object})],$t.prototype,"network",1);Uo([G()],$t.prototype,"_error",2);$t=Uo([B("network-form")],$t);var Fb=Object.defineProperty,Gb=Object.getOwnPropertyDescriptor,ga=e=>{throw TypeError(e)},Ze=(e,t,r,o)=>{for(var n=o>1?void 0:o?Gb(t,r):t,i=e.length-1,a;i>=0;i--)(a=e[i])&&(n=(o?a(t,r,n):a(n))||n);return o&&n&&Fb(t,r,n),n},fa=(e,t,r)=>t.has(e)||ga("Cannot "+r),Me=(e,t,r)=>(fa(e,t,"read from private field"),r?r.call(e):t.get(e)),Be=(e,t,r)=>t.has(e)?ga("Cannot add the same private member more than once"):t instanceof WeakSet?t.add(e):t.set(e,r),Le=(e,t,r,o)=>(fa(e,t,"write to private field"),t.set(e,r),r),tr,rr,or,nr,ir,ar;let ce=class extends k{constructor(){super(...arguments),Be(this,tr,[]),Be(this,rr,[]),Be(this,or,!1),Be(this,nr,!1),Be(this,ir,null),Be(this,ar,this.editingNetwork?.auth?.method??"authorization_code"),this.openAddModal=()=>{this.isModalOpen=!0,this.editingNetwork=null},this.closeModal=()=>{this.isModalOpen=!1}}get networks(){return Me(this,tr)}set networks(e){Le(this,tr,e)}get activeSessions(){return Me(this,rr)}set activeSessions(e){Le(this,rr,e)}get readonly(){return Me(this,or)}set readonly(e){Le(this,or,e)}get isModalOpen(){return Me(this,nr)}set isModalOpen(e){Le(this,nr,e)}get editingNetwork(){return Me(this,ir)}set editingNetwork(e){Le(this,ir,e)}get authType(){return Me(this,ar)}set authType(e){Le(this,ar,e)}connectedCallback(){super.connectedCallback()}render(){return g`
|
|
1048
|
+
<div class="mb-5">
|
|
1049
|
+
<div class="header">
|
|
1050
|
+
<h1>Networks</h1>
|
|
1051
|
+
</div>
|
|
1052
|
+
|
|
1053
|
+
${this.readonly?"":g`<button
|
|
1054
|
+
class="btn btn-primary"
|
|
1055
|
+
@click=${this.openAddModal}
|
|
1056
|
+
>
|
|
1057
|
+
Add Network
|
|
1058
|
+
</button>`}
|
|
1059
|
+
|
|
1060
|
+
<div class="mt-2">
|
|
1061
|
+
<network-table
|
|
1062
|
+
.networks=${this.networks}
|
|
1063
|
+
.activeSessions=${this.activeSessions}
|
|
1064
|
+
.readonly=${this.readonly}
|
|
1065
|
+
></network-table>
|
|
1066
|
+
</div>
|
|
1067
|
+
|
|
1068
|
+
${this.isModalOpen?g`
|
|
1069
|
+
<div class="modal" @click=${this.closeModal}>
|
|
1070
|
+
<div
|
|
1071
|
+
class="modal-content"
|
|
1072
|
+
@click=${e=>e.stopPropagation()}
|
|
1073
|
+
>
|
|
1074
|
+
<h3>
|
|
1075
|
+
${this.editingNetwork?"Edit Network":"Add Network"}
|
|
1076
|
+
</h3>
|
|
1077
|
+
<network-form
|
|
1078
|
+
.editingNetwork=${this.editingNetwork}
|
|
1079
|
+
.authType=${this.authType}
|
|
1080
|
+
@network-edit-save=${this.closeModal}
|
|
1081
|
+
@network-edit-cancel=${this.closeModal}
|
|
1082
|
+
></network-form>
|
|
1083
|
+
</div>
|
|
1084
|
+
</div>
|
|
1085
|
+
`:""}
|
|
1086
|
+
</div>
|
|
1087
|
+
`}};tr=new WeakMap;rr=new WeakMap;or=new WeakMap;nr=new WeakMap;ir=new WeakMap;ar=new WeakMap;ce.styles=[k.styles,Ei,K`
|
|
1088
|
+
@media (max-width: 600px) {
|
|
1089
|
+
.card-list {
|
|
1090
|
+
grid-template-columns: 1fr;
|
|
1091
|
+
}
|
|
1092
|
+
.network-card {
|
|
1093
|
+
padding: 0.7rem;
|
|
1094
|
+
}
|
|
1095
|
+
}
|
|
1096
|
+
`];Ze([w({type:Array})],ce.prototype,"networks",1);Ze([w({type:Array})],ce.prototype,"activeSessions",1);Ze([w({type:Boolean})],ce.prototype,"readonly",1);Ze([G()],ce.prototype,"isModalOpen",1);Ze([G()],ce.prototype,"editingNetwork",1);Ze([G()],ce.prototype,"authType",1);ce=Ze([B("wg-networks")],ce);var Jb=Object.defineProperty,Yb=Object.getOwnPropertyDescriptor,ha=(e,t,r,o)=>{for(var n=o>1?void 0:o?Yb(t,r):t,i=e.length-1,a;i>=0;i--)(a=e[i])&&(n=(o?a(t,r,n):a(n))||n);return o&&n&&Jb(t,r,n),n};let Sr=class extends k{constructor(){super(...arguments),this.href="/"}render(){return g`
|
|
1097
|
+
<div>
|
|
1098
|
+
<h1>404</h1>
|
|
1099
|
+
<h3>
|
|
1100
|
+
We are sorry, the page you are trying to view cannot be
|
|
1101
|
+
found. It may have been moved or deleted.
|
|
1102
|
+
</h3>
|
|
1103
|
+
<button
|
|
1104
|
+
type="button"
|
|
1105
|
+
class="btn btn-secondary btn-lg"
|
|
1106
|
+
@click=${()=>window.location.href=Ke(this.href)}
|
|
1107
|
+
>
|
|
1108
|
+
Go to home page
|
|
1109
|
+
</button>
|
|
1110
|
+
</div>
|
|
1111
|
+
`}};Sr.styles=[k.styles,K`
|
|
1112
|
+
div,
|
|
1113
|
+
h1,
|
|
1114
|
+
h3 {
|
|
1115
|
+
text-align: center;
|
|
1116
|
+
}
|
|
1117
|
+
|
|
1118
|
+
.btn {
|
|
1119
|
+
margin: 0 auto;
|
|
1120
|
+
}
|
|
1121
|
+
|
|
1122
|
+
h1 {
|
|
1123
|
+
font-weight: 700;
|
|
1124
|
+
font-size: 110px;
|
|
1125
|
+
color: var(--bs-dark);
|
|
1126
|
+
}
|
|
1127
|
+
|
|
1128
|
+
h3 {
|
|
1129
|
+
margin: 20px 0 30px;
|
|
1130
|
+
}
|
|
1131
|
+
`];ha([w({type:String})],Sr.prototype,"href",2);Sr=ha([B("not-found")],Sr);var Hb=Object.defineProperty,Vb=Object.getOwnPropertyDescriptor,va=(e,t,r,o)=>{for(var n=o>1?void 0:o?Vb(t,r):t,i=e.length-1,a;i>=0;i--)(a=e[i])&&(n=(o?a(t,r,n):a(n))||n);return o&&n&&Hb(t,r,n),n};let $r=class extends k{constructor(){super(...arguments),this.sessions=[]}connectedCallback(){super.connectedCallback()}render(){return g`
|
|
1132
|
+
<div class="mb-5">
|
|
1133
|
+
<div class="header"><h1>Sessions</h1></div>
|
|
1134
|
+
<div class="table-container">
|
|
1135
|
+
<table>
|
|
1136
|
+
<thead>
|
|
1137
|
+
<tr>
|
|
1138
|
+
<th>Network ID</th>
|
|
1139
|
+
<th>Permissions</th>
|
|
1140
|
+
<th>Status</th>
|
|
1141
|
+
<th>Reason</th>
|
|
1142
|
+
<th>Access Token</th>
|
|
1143
|
+
</tr>
|
|
1144
|
+
</thead>
|
|
1145
|
+
<tbody>
|
|
1146
|
+
${this.sessions.map(e=>g`
|
|
1147
|
+
<tr>
|
|
1148
|
+
<td>${e.network.id}</td>
|
|
1149
|
+
<td>${e.rights.join(", ")}</td>
|
|
1150
|
+
<td>
|
|
1151
|
+
${e.status==="connected"?"🟢":"🔴"}
|
|
1152
|
+
</td>
|
|
1153
|
+
<td>${e.reason}</td>
|
|
1154
|
+
<td>
|
|
1155
|
+
<button
|
|
1156
|
+
type="button"
|
|
1157
|
+
class="btn btn-primary btn-sm"
|
|
1158
|
+
@click=${()=>navigator.clipboard.writeText(e.accessToken)}
|
|
1159
|
+
title="Copy access token"
|
|
1160
|
+
>
|
|
1161
|
+
Copy to clipboard
|
|
1162
|
+
</button>
|
|
1163
|
+
</td>
|
|
1164
|
+
</tr>
|
|
1165
|
+
`)}
|
|
1166
|
+
</tbody>
|
|
1167
|
+
</table>
|
|
1168
|
+
</div>
|
|
1169
|
+
</div>
|
|
1170
|
+
`}};$r.styles=[k.styles,K`
|
|
1171
|
+
.table-container {
|
|
1172
|
+
display: grid;
|
|
1173
|
+
grid-template-columns: 1fr;
|
|
1174
|
+
width: 100%;
|
|
1175
|
+
overflow-x: auto;
|
|
1176
|
+
}
|
|
1177
|
+
table {
|
|
1178
|
+
width: 100%;
|
|
1179
|
+
border: 1px solid var(--bs-border-color);
|
|
1180
|
+
border-collapse: collapse;
|
|
1181
|
+
background: #fff;
|
|
1182
|
+
box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04);
|
|
1183
|
+
}
|
|
1184
|
+
th,
|
|
1185
|
+
td {
|
|
1186
|
+
padding: 0.75rem 0.5rem;
|
|
1187
|
+
border-bottom: 1px solid #eee;
|
|
1188
|
+
text-align: left;
|
|
1189
|
+
font-size: 1rem;
|
|
1190
|
+
}
|
|
1191
|
+
th {
|
|
1192
|
+
background: var(--bs-secondary-bg);
|
|
1193
|
+
font-weight: 600;
|
|
1194
|
+
}
|
|
1195
|
+
`];va([w({type:Array})],$r.prototype,"sessions",2);$r=va([B("wg-sessions")],$r);x().regex(/^[a-zA-Z0-9:_-]*::[a-z0-9]*/,"Invalid party ID format");var Wb=S({method:x(),params:je(Ro([Ar(ot()),db(x(),ot())]))}),qb=S({result:je(ot())}),co=S({error:S({code:zr(),message:x(),data:je(x().or(zr()).or(Km()).or(aa()).or(ot()))})}),Xb=Ro([qb,co]),wa=S({jsonrpc:M("2.0"),id:je(x().or(zr()).or(eb()).or(aa()))}),Kb=Do(wa,Wb),Qb=Do(wa,Xb);pt("type",[S({type:M("SPLICE_WALLET_REQUEST"),request:Kb}),S({type:M("SPLICE_WALLET_RESPONSE"),response:Qb}),S({type:M("SPLICE_WALLET_EXT_READY")}),S({type:M("SPLICE_WALLET_EXT_ACK")}),S({type:M("SPLICE_WALLET_EXT_OPEN"),url:x().url()}),S({type:M("SPLICE_WALLET_IDP_AUTH_SUCCESS"),token:x(),sessionId:x()})]);pt("walletType",[S({walletType:M("extension"),url:je(sa())}),S({walletType:M("remote"),url:x().url()})]);S({name:x()});function eu(e,t){const r=document.createElement("custom-toast");let o=-1,n="";if(e instanceof Error&&(n=e.message),co.safeParse(e).success){const i=co.parse(e);o=i.error.code,n=i.error.message}switch(o){case-32600:r.title="Invalid Request";break;case-32601:r.title="Method Not Found";break;case-32602:r.title="Invalid Parameters";break;case-32603:r.title="Internal Error";break;case 413:r.title="Payload Too Large";break;case 429:r.title="Too Many Requests";break;default:r.title=t?.title||"Unexpected Error";break}r.message=n||t?.message||"Something went wrong. Please try again.",r.type="error",r.buttonText=t?.buttonText||"Dismiss",document.body.appendChild(r)}var tu=Object.defineProperty,ru=Object.getOwnPropertyDescriptor,xa=e=>{throw TypeError(e)},Fr=(e,t,r,o)=>{for(var n=o>1?void 0:o?ru(t,r):t,i=e.length-1,a;i>=0;i--)(a=e[i])&&(n=(o?a(t,r,n):a(n))||n);return o&&n&&tu(t,r,n),n},ya=(e,t,r)=>t.has(e)||xa("Cannot "+r),Bn=(e,t,r)=>(ya(e,t,"read from private field"),r?r.call(e):t.get(e)),Ln=(e,t,r)=>t.has(e)?xa("Cannot add the same private member more than once"):t instanceof WeakSet?t.add(e):t.set(e,r),Fn=(e,t,r,o)=>(ya(e,t,"write to private field"),t.set(e,r),r),sr,lr;let nt=class extends k{constructor(){super(...arguments),this.client=null,Ln(this,sr,!1),Ln(this,lr,!1),this.syncWallets=async()=>{if(!(!this.client||this.isSyncing)){this.isSyncing=!0;try{const e=await this.client.request({method:"syncWallets"}),t=`Added: ${e.added.length}, Updated: ${e.updated.length}, Disabled: ${e.disabled.length}.`,r=new le;r.title="Wallet Sync Complete",r.message=t,r.type="success",document.body.appendChild(r),await this.checkWalletSyncNeeded(),this.dispatchEvent(new CustomEvent("sync-success",{detail:{},bubbles:!0,composed:!0}))}catch(e){eu(e)}finally{this.isSyncing=!1}}}}get isSyncNeeded(){return Bn(this,sr)}set isSyncNeeded(e){Fn(this,sr,e)}get isSyncing(){return Bn(this,lr)}set isSyncing(e){Fn(this,lr,e)}connectedCallback(){super.connectedCallback(),this.checkWalletSyncNeeded()}async checkWalletSyncNeeded(){if(this.client)try{const e=await this.client.request({method:"isWalletSyncNeeded"});this.isSyncNeeded=e?.walletSyncNeeded===!0}catch{this.isSyncNeeded=!0}}render(){const e=g`
|
|
1196
|
+
<svg
|
|
1197
|
+
class="sync-icon ${this.isSyncing?"spinning":""}"
|
|
1198
|
+
xmlns="http://www.w3.org/2000/svg"
|
|
1199
|
+
viewBox="0 0 16 16"
|
|
1200
|
+
fill="currentColor"
|
|
1201
|
+
>
|
|
1202
|
+
<path
|
|
1203
|
+
fill-rule="evenodd"
|
|
1204
|
+
d="M8 3a5 5 0 1 0 4.546 2.914.5.5 0 0 1 .908-.417A6 6 0 1 1 8 2v1z"
|
|
1205
|
+
/>
|
|
1206
|
+
<path
|
|
1207
|
+
d="M8 4.466V.534a.25.25 0 0 1 .41-.192l2.36 1.966c.12.1.12.284 0 .384L8.41 4.658A.25.25 0 0 1 8 4.466z"
|
|
1208
|
+
/>
|
|
1209
|
+
</svg>
|
|
1210
|
+
`;return g`
|
|
1211
|
+
<div class="sync-container">
|
|
1212
|
+
<button
|
|
1213
|
+
class="sync-button ${this.isSyncNeeded?"out-of-sync":""}"
|
|
1214
|
+
.disabled=${!this.client||this.isSyncing}
|
|
1215
|
+
@click=${this.syncWallets}
|
|
1216
|
+
title="${this.isSyncing?"Syncing...":this.isSyncNeeded?"need sync":"in sync"}"
|
|
1217
|
+
>
|
|
1218
|
+
${e}
|
|
1219
|
+
</button>
|
|
1220
|
+
</div>
|
|
1221
|
+
`}};sr=new WeakMap;lr=new WeakMap;nt.styles=[k.styles,K`
|
|
1222
|
+
.sync-container {
|
|
1223
|
+
display: inline-flex;
|
|
1224
|
+
align-items: center;
|
|
1225
|
+
gap: 0.5rem;
|
|
1226
|
+
}
|
|
1227
|
+
|
|
1228
|
+
.sync-button {
|
|
1229
|
+
display: inline-flex;
|
|
1230
|
+
align-items: center;
|
|
1231
|
+
justify-content: center;
|
|
1232
|
+
width: 1.5rem;
|
|
1233
|
+
height: 1.5rem;
|
|
1234
|
+
border-radius: 50%;
|
|
1235
|
+
border: none;
|
|
1236
|
+
background-color: var(--bs-primary);
|
|
1237
|
+
color: white;
|
|
1238
|
+
cursor: pointer;
|
|
1239
|
+
transition: all 0.2s;
|
|
1240
|
+
position: relative;
|
|
1241
|
+
}
|
|
1242
|
+
|
|
1243
|
+
.sync-button:hover:not(:disabled) {
|
|
1244
|
+
background-color: var(--bs-primary-dark, #0056b3);
|
|
1245
|
+
transform: scale(1.05);
|
|
1246
|
+
}
|
|
1247
|
+
|
|
1248
|
+
.sync-button:disabled {
|
|
1249
|
+
opacity: 0.6;
|
|
1250
|
+
cursor: not-allowed;
|
|
1251
|
+
}
|
|
1252
|
+
|
|
1253
|
+
.sync-button.out-of-sync {
|
|
1254
|
+
background-color: var(--bs-warning, #ffc107);
|
|
1255
|
+
animation: pulse 2s infinite;
|
|
1256
|
+
}
|
|
1257
|
+
|
|
1258
|
+
.sync-button.out-of-sync:hover:not(:disabled) {
|
|
1259
|
+
background-color: var(--bs-warning-dark, #e0a800);
|
|
1260
|
+
}
|
|
1261
|
+
|
|
1262
|
+
.sync-icon {
|
|
1263
|
+
width: 1.25rem;
|
|
1264
|
+
height: 1.25rem;
|
|
1265
|
+
fill: currentColor;
|
|
1266
|
+
}
|
|
1267
|
+
|
|
1268
|
+
.sync-icon.spinning {
|
|
1269
|
+
animation: spin 1s linear infinite;
|
|
1270
|
+
}
|
|
1271
|
+
|
|
1272
|
+
@keyframes spin {
|
|
1273
|
+
from {
|
|
1274
|
+
transform: rotate(0deg);
|
|
1275
|
+
}
|
|
1276
|
+
to {
|
|
1277
|
+
transform: rotate(360deg);
|
|
1278
|
+
}
|
|
1279
|
+
}
|
|
1280
|
+
|
|
1281
|
+
@keyframes pulse {
|
|
1282
|
+
0%,
|
|
1283
|
+
100% {
|
|
1284
|
+
opacity: 1;
|
|
1285
|
+
}
|
|
1286
|
+
50% {
|
|
1287
|
+
opacity: 0.7;
|
|
1288
|
+
}
|
|
1289
|
+
}
|
|
1290
|
+
|
|
1291
|
+
.sync-status {
|
|
1292
|
+
font-size: 0.875rem;
|
|
1293
|
+
color: var(--bs-secondary);
|
|
1294
|
+
}
|
|
1295
|
+
`];Fr([w({attribute:!1})],nt.prototype,"client",2);Fr([G()],nt.prototype,"isSyncNeeded",1);Fr([G()],nt.prototype,"isSyncing",1);nt=Fr([B("wg-wallets-sync")],nt);var ou=Object.defineProperty,nu=Object.getOwnPropertyDescriptor,ka=e=>{throw TypeError(e)},Ne=(e,t,r,o)=>{for(var n=o>1?void 0:o?nu(t,r):t,i=e.length-1,a;i>=0;i--)(a=e[i])&&(n=(o?a(t,r,n):a(n))||n);return o&&n&&ou(t,r,n),n},_a=(e,t,r)=>t.has(e)||ka("Cannot "+r),Dt=(e,t,r)=>(_a(e,t,"read from private field"),r?r.call(e):t.get(e)),Ut=(e,t,r)=>t.has(e)?ka("Cannot add the same private member more than once"):t instanceof WeakSet?t.add(e):t.set(e,r),Mt=(e,t,r,o)=>(_a(e,t,"write to private field"),t.set(e,r),r),dr,cr,pr,mr;class iu extends Event{constructor(t,r,o){super("wallet-create",{bubbles:!0,composed:!0}),this.partyHint=t,this.signingProviderId=r,this.primary=o}}let pe=class extends k{constructor(){super(...arguments),this.signingProviders=[],this.loading=!1,Ut(this,dr,null),Ut(this,cr,null),Ut(this,pr,null),Ut(this,mr,null)}get successMessage(){return Dt(this,dr)}set successMessage(e){Mt(this,dr,e)}get _partyHintInput(){return Dt(this,cr)}set _partyHintInput(e){Mt(this,cr,e)}get _signingProviderSelect(){return Dt(this,pr)}set _signingProviderSelect(e){Mt(this,pr,e)}get _primaryCheckbox(){return Dt(this,mr)}set _primaryCheckbox(e){Mt(this,mr,e)}_onSubmit(e){e.preventDefault();const t=this._partyHintInput?.value||"",r=this._signingProviderSelect?.value||"",o=this._primaryCheckbox?.checked||!1;this.dispatchEvent(new iu(t,r,o))}reset(){this._partyHintInput&&(this._partyHintInput.value=""),this._primaryCheckbox&&(this._primaryCheckbox.checked=!1),this.successMessage=null}render(){return g`
|
|
1296
|
+
<div class="card shadow-sm">
|
|
1297
|
+
<div class="card-body">
|
|
1298
|
+
<form id="create-wallet-form" @submit=${this._onSubmit}>
|
|
1299
|
+
<div class="mb-3">
|
|
1300
|
+
<label for="party-id-hint" class="form-label"
|
|
1301
|
+
>Party ID Hint:</label
|
|
1302
|
+
>
|
|
1303
|
+
<input
|
|
1304
|
+
?disabled=${this.loading}
|
|
1305
|
+
class="form-control"
|
|
1306
|
+
id="party-id-hint"
|
|
1307
|
+
type="text"
|
|
1308
|
+
placeholder="Enter party ID hint"
|
|
1309
|
+
required
|
|
1310
|
+
/>
|
|
1311
|
+
</div>
|
|
1312
|
+
|
|
1313
|
+
<div class="mb-3">
|
|
1314
|
+
<label for="signing-provider-id" class="form-label"
|
|
1315
|
+
>Signing Provider:</label
|
|
1316
|
+
>
|
|
1317
|
+
<select
|
|
1318
|
+
class="form-select"
|
|
1319
|
+
id="signing-provider-id"
|
|
1320
|
+
>
|
|
1321
|
+
<option disabled value="">
|
|
1322
|
+
Signing provider for wallet
|
|
1323
|
+
</option>
|
|
1324
|
+
${this.signingProviders.map(e=>g`<option value=${e}>
|
|
1325
|
+
${e}
|
|
1326
|
+
</option>`)}
|
|
1327
|
+
</select>
|
|
1328
|
+
</div>
|
|
1329
|
+
|
|
1330
|
+
<div
|
|
1331
|
+
class="mb-3 form-check d-flex align-items-center gap-2"
|
|
1332
|
+
>
|
|
1333
|
+
<input
|
|
1334
|
+
id="primary"
|
|
1335
|
+
type="checkbox"
|
|
1336
|
+
class="form-check-input"
|
|
1337
|
+
/>
|
|
1338
|
+
<label for="primary" class="form-check-label"
|
|
1339
|
+
>Set as primary wallet</label
|
|
1340
|
+
>
|
|
1341
|
+
</div>
|
|
1342
|
+
|
|
1343
|
+
<button
|
|
1344
|
+
class="btn btn-primary"
|
|
1345
|
+
?disabled=${this.loading}
|
|
1346
|
+
type="submit"
|
|
1347
|
+
>
|
|
1348
|
+
Create
|
|
1349
|
+
</button>
|
|
1350
|
+
</form>
|
|
1351
|
+
${this.successMessage?g`<p class="mt-2">${this.successMessage}</p>`:""}
|
|
1352
|
+
</div>
|
|
1353
|
+
</div>
|
|
1354
|
+
`}};dr=new WeakMap;cr=new WeakMap;pr=new WeakMap;mr=new WeakMap;pe.styles=[k.styles];Ne([w({type:Array})],pe.prototype,"signingProviders",2);Ne([w({type:Boolean})],pe.prototype,"loading",2);Ne([G()],pe.prototype,"successMessage",1);Ne([Eo("#party-id-hint")],pe.prototype,"_partyHintInput",1);Ne([Eo("#signing-provider-id")],pe.prototype,"_signingProviderSelect",1);Ne([Eo("#primary")],pe.prototype,"_primaryCheckbox",1);pe=Ne([B("wg-wallet-create-form")],pe);var au=Object.defineProperty,su=Object.getOwnPropertyDescriptor,Gr=(e,t,r,o)=>{for(var n=o>1?void 0:o?su(t,r):t,i=e.length-1,a;i>=0;i--)(a=e[i])&&(n=(o?a(t,r,n):a(n))||n);return o&&n&&au(t,r,n),n};class lu extends Event{constructor(t){super("wallet-set-primary",{bubbles:!0,composed:!0}),this.wallet=t}}class du extends Event{constructor(t){super("wallet-copy-party-id",{bubbles:!0,composed:!0}),this.partyId=t}}class cu extends Event{constructor(t){super("wallet-allocate",{bubbles:!0,composed:!0}),this.wallet=t}}let it=class extends k{constructor(){super(...arguments),this.wallet=null,this.verified=!1,this.loading=!1}_renderRightsBadges(){return this.wallet?.rights?g`
|
|
1355
|
+
<span class="d-inline-flex flex-wrap gap-1 mt-2">
|
|
1356
|
+
${this.wallet.rights.includes(Qt.CanActAs)?g`<span class="badge bg-success">CanActAs</span>`:""}
|
|
1357
|
+
${this.wallet.rights.includes(Qt.CanReadAs)?g`<span class="badge bg-info text-dark"
|
|
1358
|
+
>CanReadAs</span
|
|
1359
|
+
>`:""}
|
|
1360
|
+
${this.wallet.rights.includes(Qt.CanExecuteAs)?g`<span class="badge bg-primary">CanExecuteAs</span>`:""}
|
|
1361
|
+
</span>
|
|
1362
|
+
`:g``}_renderWalletInfo(){return this.wallet?g`
|
|
1363
|
+
<h5 class="card-title text-primary fw-semibold text-break">
|
|
1364
|
+
${this.wallet.hint||this.wallet.partyId}
|
|
1365
|
+
${this.wallet.primary?g`<span class="text-success">(Primary)</span>`:""}
|
|
1366
|
+
${this.wallet.disabled?g`<span class="text-danger">(Disabled)</span>`:""}
|
|
1367
|
+
</h5>
|
|
1368
|
+
<p class="card-text text-muted text-break">
|
|
1369
|
+
<strong>Party ID:</strong> ${this.wallet.partyId}<br />
|
|
1370
|
+
<strong>Network:</strong> ${this.wallet.networkId}<br />
|
|
1371
|
+
<strong>Signing Provider:</strong>
|
|
1372
|
+
${this.wallet.signingProviderId}
|
|
1373
|
+
${this.wallet.disabled?g`<br /><strong>Disabled:</strong> Yes`:""}
|
|
1374
|
+
${this.wallet.reason?g`<br /><strong>Reason:</strong> ${this.wallet.reason}`:""}
|
|
1375
|
+
${this.wallet.rights?g`<br /><strong>Permissions:</strong>
|
|
1376
|
+
${this._renderRightsBadges()}`:""}
|
|
1377
|
+
</p>
|
|
1378
|
+
`:g`<p>No wallet supplied</p>`}_renderActions(){return this.wallet?this.verified?g`
|
|
1379
|
+
<div class="d-flex gap-2 mt-2">
|
|
1380
|
+
<button
|
|
1381
|
+
class="btn btn-sm btn-outline-secondary"
|
|
1382
|
+
?disabled=${this.wallet.disabled}
|
|
1383
|
+
@click=${()=>this.dispatchEvent(new lu(this.wallet))}
|
|
1384
|
+
>
|
|
1385
|
+
Set Primary
|
|
1386
|
+
</button>
|
|
1387
|
+
<button
|
|
1388
|
+
class="btn btn-sm btn-outline-secondary"
|
|
1389
|
+
@click=${()=>this.dispatchEvent(new du(this.wallet.partyId))}
|
|
1390
|
+
>
|
|
1391
|
+
Copy Party ID
|
|
1392
|
+
</button>
|
|
1393
|
+
</div>
|
|
1394
|
+
`:g`
|
|
1395
|
+
<div class="d-flex gap-2 mt-2">
|
|
1396
|
+
<button
|
|
1397
|
+
class="btn btn-sm btn-outline-secondary"
|
|
1398
|
+
?disabled=${this.loading||this.wallet.disabled}
|
|
1399
|
+
@click=${()=>this.dispatchEvent(new cu(this.wallet))}
|
|
1400
|
+
>
|
|
1401
|
+
Allocate party
|
|
1402
|
+
</button>
|
|
1403
|
+
</div>
|
|
1404
|
+
`:""}connectedCallback(){super.connectedCallback(),this._syncPartyIdAttribute()}updated(){this._syncPartyIdAttribute()}_syncPartyIdAttribute(){this.wallet?.partyId?this.setAttribute("party-id",this.wallet.partyId):this.removeAttribute("party-id")}render(){return g`
|
|
1405
|
+
<div class="card shadow-sm">
|
|
1406
|
+
<div class="card-body">
|
|
1407
|
+
${this._renderWalletInfo()} ${this._renderActions()}
|
|
1408
|
+
</div>
|
|
1409
|
+
</div>
|
|
1410
|
+
`}};it.styles=[k.styles,Rr];Gr([w({type:Object})],it.prototype,"wallet",2);Gr([w({type:Boolean})],it.prototype,"verified",2);Gr([w({type:Boolean})],it.prototype,"loading",2);it=Gr([B("wg-wallet-card")],it);var pu=Object.defineProperty,mu=Object.getOwnPropertyDescriptor,za=e=>{throw TypeError(e)},Re=(e,t,r,o)=>{for(var n=o>1?void 0:o?mu(t,r):t,i=e.length-1,a;i>=0;i--)(a=e[i])&&(n=(o?a(t,r,n):a(n))||n);return o&&n&&pu(t,r,n),n},Aa=(e,t,r)=>t.has(e)||za("Cannot "+r),Bt=(e,t,r)=>(Aa(e,t,"read from private field"),r?r.call(e):t.get(e)),Lt=(e,t,r)=>t.has(e)?za("Cannot add the same private member more than once"):t instanceof WeakSet?t.add(e):t.set(e,r),Ft=(e,t,r,o)=>(Aa(e,t,"write to private field"),t.set(e,r),r),br,ur,gr,fr;class bu extends Event{constructor(t,r,o){super("login-connect",{bubbles:!0,composed:!0}),this.selectedNetwork=t,this.selectedIdp=r,this.clientId=o}}let me=class extends k{constructor(){super(...arguments),this.networks=[],this.idps=[],Lt(this,br,null),Lt(this,ur,null),Lt(this,gr,null),Lt(this,fr,null)}get selectedNetwork(){return Bt(this,br)}set selectedNetwork(e){Ft(this,br,e)}get selectedIdp(){return Bt(this,ur)}set selectedIdp(e){Ft(this,ur,e)}get message(){return Bt(this,gr)}set message(e){Ft(this,gr,e)}get messageType(){return Bt(this,fr)}set messageType(e){Ft(this,fr,e)}handleChange(e){const t=parseInt(e.target.value);this.selectedNetwork=this.networks[t]??null,this.selectedIdp=this.idps.find(r=>r.id===this.selectedNetwork?.identityProviderId)??null,this.message=null}handleConnect(){if(this.message=null,!this.selectedNetwork){this.messageType="error",this.message="Please select a network before connecting.";return}const e=this.idps.find(r=>r.id===this.selectedNetwork?.identityProviderId);if(!e){this.messageType="error",this.message="Identity provider misconfigured for this network.";return}const t=this.renderRoot.querySelector("#client-id")?.value||this.selectedNetwork.auth.clientId;this.dispatchEvent(new bu(this.selectedNetwork,e,t))}setMessage(e,t){this.message=e,this.messageType=t}clearMessage(){this.message=null,this.messageType=null}render(){return g`
|
|
1411
|
+
<div class="card shadow" style="max-width: 360px;">
|
|
1412
|
+
<div class="card-body d-flex flex-column gap-3 text-center">
|
|
1413
|
+
<h1 class="card-title h5">Sign in to Canton Network</h1>
|
|
1414
|
+
|
|
1415
|
+
<select
|
|
1416
|
+
id="network"
|
|
1417
|
+
class="form-select"
|
|
1418
|
+
@change=${this.handleChange}
|
|
1419
|
+
>
|
|
1420
|
+
<option value="">Select Network</option>
|
|
1421
|
+
${this.networks.map((e,t)=>g`<option
|
|
1422
|
+
value=${t}
|
|
1423
|
+
?disabled=${e.auth.method=="client_credentials"}
|
|
1424
|
+
>
|
|
1425
|
+
${e.name}
|
|
1426
|
+
</option>`)}
|
|
1427
|
+
</select>
|
|
1428
|
+
|
|
1429
|
+
${this.selectedIdp?.type==="self_signed"?g`
|
|
1430
|
+
<input
|
|
1431
|
+
type="text"
|
|
1432
|
+
class="form-control"
|
|
1433
|
+
title="client id"
|
|
1434
|
+
id="client-id"
|
|
1435
|
+
.value=${this.selectedNetwork?.auth.clientId||""}
|
|
1436
|
+
/>
|
|
1437
|
+
`:null}
|
|
1438
|
+
<button
|
|
1439
|
+
class="btn btn-primary w-100"
|
|
1440
|
+
@click=${this.handleConnect}
|
|
1441
|
+
>
|
|
1442
|
+
Connect
|
|
1443
|
+
</button>
|
|
1444
|
+
|
|
1445
|
+
${this.message?g`<div
|
|
1446
|
+
class="alert ${this.messageType==="error"?"alert-danger":"alert-success"} py-2"
|
|
1447
|
+
>
|
|
1448
|
+
${this.message}
|
|
1449
|
+
</div>`:g`<p class="text-body-secondary small mb-0">
|
|
1450
|
+
${this.selectedNetwork?`Selected: ${this.selectedNetwork.name}`:"Please choose a network"}
|
|
1451
|
+
</p>`}
|
|
1452
|
+
</div>
|
|
1453
|
+
</div>
|
|
1454
|
+
`}};br=new WeakMap;ur=new WeakMap;gr=new WeakMap;fr=new WeakMap;me.styles=[k.styles,K`
|
|
1455
|
+
:host {
|
|
1456
|
+
display: flex;
|
|
1457
|
+
align-items: center;
|
|
1458
|
+
justify-content: center;
|
|
1459
|
+
width: 100%;
|
|
1460
|
+
padding: 1.5rem;
|
|
1461
|
+
box-sizing: border-box;
|
|
1462
|
+
background: transparent;
|
|
1463
|
+
}
|
|
1464
|
+
`];Re([w({type:Array})],me.prototype,"networks",2);Re([w({type:Array})],me.prototype,"idps",2);Re([G()],me.prototype,"selectedNetwork",1);Re([G()],me.prototype,"selectedIdp",1);Re([G()],me.prototype,"message",1);Re([G()],me.prototype,"messageType",1);me=Re([B("wg-login-form")],me);var uu=Object.defineProperty,gu=Object.getOwnPropertyDescriptor,be=(e,t,r,o)=>{for(var n=o>1?void 0:o?gu(t,r):t,i=e.length-1,a;i>=0;i--)(a=e[i])&&(n=(o?a(t,r,n):a(n))||n);return o&&n&&uu(t,r,n),n};class fu extends Event{constructor(t){super("transaction-review",{bubbles:!0,composed:!0}),this.commandId=t}}class hu extends Event{constructor(t){super("transaction-delete",{bubbles:!0,composed:!0}),this.commandId=t}}let ne=class extends k{constructor(){super(...arguments),this.commandId="",this.status="",this.parsed=null,this.createdAt=null,this.signedAt=null,this.origin=null,this.loading=!1,this.isDeleting=!1}get isDeleteDisabled(){return this.loading||this.isDeleting||this.status!=="pending"}render(){return g`
|
|
1465
|
+
<div class="card shadow-sm">
|
|
1466
|
+
<div class="card-body">
|
|
1467
|
+
<h5 class="card-title text-primary fw-semibold text-break">
|
|
1468
|
+
${this.commandId}
|
|
1469
|
+
</h5>
|
|
1470
|
+
<p class="card-text text-muted text-break">
|
|
1471
|
+
<strong>Status:</strong>
|
|
1472
|
+
<span
|
|
1473
|
+
class="${this.status==="failed"?"text-error":"text-danger"}"
|
|
1474
|
+
>
|
|
1475
|
+
${this.status}
|
|
1476
|
+
</span>
|
|
1477
|
+
<br />
|
|
1478
|
+
<strong>Template:</strong>
|
|
1479
|
+
${this.parsed?.templateId}
|
|
1480
|
+
<br />
|
|
1481
|
+
<strong>Signatories:</strong>
|
|
1482
|
+
</p>
|
|
1483
|
+
<ul>
|
|
1484
|
+
${this.parsed?.signatories?.map(e=>g`<li>${e}</li>`)||g`<li>N/A</li>`}
|
|
1485
|
+
</ul>
|
|
1486
|
+
<p class="card-text text-muted text-break">
|
|
1487
|
+
${this.createdAt?g`<strong>Created At:</strong> ${this.createdAt}<br />`:_}
|
|
1488
|
+
${this.signedAt?g`<strong>Signed At:</strong> ${this.signedAt}<br />`:_}
|
|
1489
|
+
${this.origin?g`<strong>Origin:</strong> ${this.origin}`:_}
|
|
1490
|
+
</p>
|
|
1491
|
+
<div class="d-flex gap-2 mt-2">
|
|
1492
|
+
<button
|
|
1493
|
+
class="btn btn-sm btn-outline-secondary"
|
|
1494
|
+
@click=${()=>this.dispatchEvent(new fu(this.commandId))}
|
|
1495
|
+
>
|
|
1496
|
+
Review
|
|
1497
|
+
</button>
|
|
1498
|
+
${this.status==="pending"?g`<button
|
|
1499
|
+
class="btn btn-sm btn-outline-danger"
|
|
1500
|
+
?disabled=${this.isDeleteDisabled}
|
|
1501
|
+
@click=${()=>this.dispatchEvent(new hu(this.commandId))}
|
|
1502
|
+
>
|
|
1503
|
+
${this.isDeleting?g`<div
|
|
1504
|
+
class="spinner-border spinner-border-sm"
|
|
1505
|
+
></div>`:_}
|
|
1506
|
+
Delete
|
|
1507
|
+
</button>`:_}
|
|
1508
|
+
</div>
|
|
1509
|
+
</div>
|
|
1510
|
+
</div>
|
|
1511
|
+
`}};ne.styles=[k.styles,Rr];be([w()],ne.prototype,"commandId",2);be([w()],ne.prototype,"status",2);be([w({type:Object})],ne.prototype,"parsed",2);be([w()],ne.prototype,"createdAt",2);be([w()],ne.prototype,"signedAt",2);be([w()],ne.prototype,"origin",2);be([w()],ne.prototype,"loading",2);be([w()],ne.prototype,"isDeleting",2);ne=be([B("wg-transaction-card")],ne);var vu=Object.defineProperty,wu=Object.getOwnPropertyDescriptor,te=(e,t,r,o)=>{for(var n=o>1?void 0:o?wu(t,r):t,i=e.length-1,a;i>=0;i--)(a=e[i])&&(n=(o?a(t,r,n):a(n))||n);return o&&n&&vu(t,r,n),n};class xu extends Event{constructor(t){super("transaction-approve",{bubbles:!0,composed:!0}),this.commandId=t}}class yu extends Event{constructor(t){super("transaction-delete",{bubbles:!0,composed:!0}),this.commandId=t}}let V=class extends k{constructor(){super(...arguments),this.commandId="",this.status="",this.txHash="",this.tx="",this.parsed=null,this.createdAt=null,this.signedAt=null,this.origin=null,this.isApproving=!1,this.isDeleting=!1,this.disabled=!1}get areActionsDisabled(){return this.disabled||this.isApproving||this.isDeleting}_copyToClipboard(e){navigator.clipboard.writeText(e)}render(){return g`
|
|
1512
|
+
<div class="card mt-4 overflow-hidden">
|
|
1513
|
+
<div class="card-body text-break">
|
|
1514
|
+
<h1 class="card-title h5">Pending Transaction Request</h1>
|
|
1515
|
+
|
|
1516
|
+
<h2 class="h6 mt-3">Transaction Details</h2>
|
|
1517
|
+
|
|
1518
|
+
<h3 class="h6 mt-3">Command Id</h3>
|
|
1519
|
+
<p>${this.commandId}</p>
|
|
1520
|
+
|
|
1521
|
+
<h3 class="h6 mt-3">Status</h3>
|
|
1522
|
+
<p>${this.status}</p>
|
|
1523
|
+
|
|
1524
|
+
${this.createdAt?g`<h3 class="h6 mt-3">Created At</h3>
|
|
1525
|
+
<p>${this.createdAt}</p>`:_}
|
|
1526
|
+
${this.signedAt?g`<h3 class="h6 mt-3">Signed At</h3>
|
|
1527
|
+
<p>${this.signedAt}</p>`:_}
|
|
1528
|
+
${this.origin?g`<h3 class="h6 mt-3">Origin</h3>
|
|
1529
|
+
<p>${this.origin}</p>`:_}
|
|
1530
|
+
|
|
1531
|
+
<h3 class="h6 mt-3">Template</h3>
|
|
1532
|
+
<p>${this.parsed?.templateId}</p>
|
|
1533
|
+
|
|
1534
|
+
<h3 class="h6 mt-3">Signatories</h3>
|
|
1535
|
+
<ul>
|
|
1536
|
+
${this.parsed?.signatories?.map(e=>g`<li>${e}</li>`)||g`<li>N/A</li>`}
|
|
1537
|
+
</ul>
|
|
1538
|
+
|
|
1539
|
+
<h3 class="h6 mt-3">Stakeholders</h3>
|
|
1540
|
+
<ul>
|
|
1541
|
+
${this.parsed?.stakeholders?.map(e=>g`<li>${e}</li>`)||g`<li>N/A</li>`}
|
|
1542
|
+
</ul>
|
|
1543
|
+
|
|
1544
|
+
<h3 class="h6 mt-3">Transaction Hash</h3>
|
|
1545
|
+
<p>${this.txHash}</p>
|
|
1546
|
+
|
|
1547
|
+
<div
|
|
1548
|
+
class="d-flex justify-content-between align-items-center gap-2 mt-3"
|
|
1549
|
+
>
|
|
1550
|
+
<h3 class="h6 mb-0">Base64 Transaction</h3>
|
|
1551
|
+
<button
|
|
1552
|
+
class="btn btn-sm btn-outline-secondary"
|
|
1553
|
+
@click=${()=>this._copyToClipboard(this.tx)}
|
|
1554
|
+
title="Copy to clipboard"
|
|
1555
|
+
>
|
|
1556
|
+
Copy
|
|
1557
|
+
</button>
|
|
1558
|
+
</div>
|
|
1559
|
+
<div class="tx-box">${this.tx}</div>
|
|
1560
|
+
|
|
1561
|
+
<div
|
|
1562
|
+
class="d-flex justify-content-between align-items-center gap-2 mt-3"
|
|
1563
|
+
>
|
|
1564
|
+
<h3 class="h6 mb-0">Decoded Transaction</h3>
|
|
1565
|
+
<button
|
|
1566
|
+
class="btn btn-sm btn-outline-secondary"
|
|
1567
|
+
@click=${()=>this._copyToClipboard(this.parsed?.jsonString||"")}
|
|
1568
|
+
title="Copy to clipboard"
|
|
1569
|
+
>
|
|
1570
|
+
Copy
|
|
1571
|
+
</button>
|
|
1572
|
+
</div>
|
|
1573
|
+
<div class="tx-box">
|
|
1574
|
+
${this.parsed?.jsonString||"N/A"}
|
|
1575
|
+
</div>
|
|
1576
|
+
|
|
1577
|
+
${this.renderActionButtons()}
|
|
1578
|
+
</div>
|
|
1579
|
+
</div>
|
|
1580
|
+
`}renderActionButtons(){return this.status!=="pending"&&this.status!=="signed"?_:g`
|
|
1581
|
+
<div class="d-flex gap-2 mt-3">
|
|
1582
|
+
<button
|
|
1583
|
+
class="btn btn-primary w-50"
|
|
1584
|
+
?disabled=${this.areActionsDisabled}
|
|
1585
|
+
@click=${()=>this.dispatchEvent(new xu(this.commandId))}
|
|
1586
|
+
>
|
|
1587
|
+
${this.isApproving?g` <div
|
|
1588
|
+
class="spinner-border spinner-border-sm"
|
|
1589
|
+
></div>`:_}
|
|
1590
|
+
Approve
|
|
1591
|
+
</button>
|
|
1592
|
+
|
|
1593
|
+
${this.status==="pending"?g`
|
|
1594
|
+
<button
|
|
1595
|
+
class="btn btn-outline-danger w-50"
|
|
1596
|
+
?disabled=${this.areActionsDisabled}
|
|
1597
|
+
@click=${()=>this.dispatchEvent(new yu(this.commandId))}
|
|
1598
|
+
>
|
|
1599
|
+
${this.isDeleting?g` <div
|
|
1600
|
+
class="spinner-border spinner-border-sm"
|
|
1601
|
+
></div>`:_}
|
|
1602
|
+
Delete
|
|
1603
|
+
</button>
|
|
1604
|
+
`:_}
|
|
1605
|
+
</div>
|
|
1606
|
+
`}};V.styles=[k.styles,K`
|
|
1607
|
+
.tx-box {
|
|
1608
|
+
background: var(--bs-tertiary-bg, rgba(0, 0, 0, 0.05));
|
|
1609
|
+
border-radius: var(--bs-border-radius);
|
|
1610
|
+
padding: 0.5rem;
|
|
1611
|
+
max-height: 150px;
|
|
1612
|
+
overflow-y: auto;
|
|
1613
|
+
overflow-x: auto;
|
|
1614
|
+
font-family: var(--bs-font-monospace);
|
|
1615
|
+
word-break: break-word;
|
|
1616
|
+
}
|
|
1617
|
+
`];te([w()],V.prototype,"commandId",2);te([w()],V.prototype,"status",2);te([w()],V.prototype,"txHash",2);te([w()],V.prototype,"tx",2);te([w({type:Object})],V.prototype,"parsed",2);te([w()],V.prototype,"createdAt",2);te([w()],V.prototype,"signedAt",2);te([w()],V.prototype,"origin",2);te([w({type:Boolean})],V.prototype,"isApproving",2);te([w({type:Boolean})],V.prototype,"isDeleting",2);te([w({type:Boolean})],V.prototype,"disabled",2);V=te([B("wg-transaction-detail")],V);let ae;class Er{static getInstance(){if(!ae||ae.closed){console.log("[PopupInstance] Creating new global popup instance");const t=window.open("","wallet-popup","width=400,height=500,screenX=200,screenY=200");if(!t)throw new Error("Failed to open popup window");ae=t}return ae}constructor(){const t=()=>{ae&&(console.log("[PopupInstance] Closing popup instance on unload"),ae.close(),ae=void 0)};window.addEventListener("beforeunload",t),window.addEventListener("unload",t)}open(t,r){if(typeof t=="string"||t instanceof URL){const o=Er.getInstance();return o.location.href=t.toString(),o.focus(),o}else{const o=this.getComponentUrl(t,r),n=Er.getInstance();return n.location.href=o,n.focus(),n}}close(){console.log("[PopupInstance] Closing popup instance"),ae&&ae.close()}getComponentUrl(t,r){const{title:o="Custom Popup"}=r||{},n=t.styles.replaceAll(`
|
|
1618
|
+
`," ").replaceAll("'","\\'").replaceAll('"','\\"'),i=t.toString().replace("SUBSTITUTABLE_CSS","''"),a=`<!DOCTYPE html>
|
|
1619
|
+
<html>
|
|
1620
|
+
<head>
|
|
1621
|
+
<title>${o}</title>
|
|
1622
|
+
<style>
|
|
1623
|
+
html, body {
|
|
1624
|
+
margin: 0;
|
|
1625
|
+
padding: 0;
|
|
1626
|
+
width: 100%;
|
|
1627
|
+
height: 100%;
|
|
1628
|
+
}
|
|
1629
|
+
|
|
1630
|
+
body {
|
|
1631
|
+
display: flex;
|
|
1632
|
+
}
|
|
1633
|
+
</style>
|
|
1634
|
+
</head>
|
|
1635
|
+
<body>
|
|
1636
|
+
</body>
|
|
1637
|
+
|
|
1638
|
+
<script>
|
|
1639
|
+
const Component = (${i});
|
|
1640
|
+
Component.styles = \`${n}\`;
|
|
1641
|
+
|
|
1642
|
+
customElements.define('popup-content', Component);
|
|
1643
|
+
|
|
1644
|
+
const content = document.createElement('popup-content');
|
|
1645
|
+
content.style.width = '100%';
|
|
1646
|
+
content.style.height = '100%';
|
|
1647
|
+
|
|
1648
|
+
document.body.appendChild(content)
|
|
1649
|
+
|
|
1650
|
+
URL.revokeObjectURL(window.location.href)
|
|
1651
|
+
<\/script>
|
|
1652
|
+
</html>`;return URL.createObjectURL(new Blob([a],{type:"text/html"}))}}new Er;const Mo=e=>(t,r)=>{r!==void 0?r.addInitializer(()=>{customElements.define(e,t)}):customElements.define(e,t)},L=[];for(let e=0;e<256;++e)L.push((e+256).toString(16).slice(1));function ku(e,t=0){return(L[e[t+0]]+L[e[t+1]]+L[e[t+2]]+L[e[t+3]]+"-"+L[e[t+4]]+L[e[t+5]]+"-"+L[e[t+6]]+L[e[t+7]]+"-"+L[e[t+8]]+L[e[t+9]]+"-"+L[e[t+10]]+L[e[t+11]]+L[e[t+12]]+L[e[t+13]]+L[e[t+14]]+L[e[t+15]]).toLowerCase()}let Qr;const _u=new Uint8Array(16);function zu(){if(!Qr){if(typeof crypto>"u"||!crypto.getRandomValues)throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");Qr=crypto.getRandomValues.bind(crypto)}return Qr(_u)}const Au=typeof crypto<"u"&&crypto.randomUUID&&crypto.randomUUID.bind(crypto),Gn={randomUUID:Au};function Su(e,t,r){if(Gn.randomUUID&&!e)return Gn.randomUUID();e=e||{};const o=e.random??e.rng?.()??zu();if(o.length<16)throw new Error("Random bytes length must be >= 16");return o[6]=o[6]&15|64,o[8]=o[8]&63|128,ku(o)}function m(e,t,r){function o(s,l){if(s._zod||Object.defineProperty(s,"_zod",{value:{def:l,constr:a,traits:new Set},enumerable:!1}),s._zod.traits.has(e))return;s._zod.traits.add(e),t(s,l);const d=a.prototype,c=Object.keys(d);for(let p=0;p<c.length;p++){const u=c[p];u in s||(s[u]=d[u].bind(s))}}const n=r?.Parent??Object;class i extends n{}Object.defineProperty(i,"name",{value:e});function a(s){var l;const d=r?.Parent?new i:this;o(d,s),(l=d._zod).deferred??(l.deferred=[]);for(const c of d._zod.deferred)c();return d}return Object.defineProperty(a,"init",{value:o}),Object.defineProperty(a,Symbol.hasInstance,{value:s=>r?.Parent&&s instanceof r.Parent?!0:s?._zod?.traits?.has(e)}),Object.defineProperty(a,"name",{value:e}),a}class We extends Error{constructor(){super("Encountered Promise during synchronous parse. Use .parseAsync() instead.")}}class Sa extends Error{constructor(t){super(`Encountered unidirectional transform during encode: ${t}`),this.name="ZodEncodeError"}}const $a={};function we(e){return $a}function Ea(e){const t=Object.values(e).filter(o=>typeof o=="number");return Object.entries(e).filter(([o,n])=>t.indexOf(+o)===-1).map(([o,n])=>n)}function po(e,t){return typeof t=="bigint"?t.toString():t}function Jr(e){return{get value(){{const t=e();return Object.defineProperty(this,"value",{value:t}),t}}}}function Bo(e){return e==null}function Lo(e){const t=e.startsWith("^")?1:0,r=e.endsWith("$")?e.length-1:e.length;return e.slice(t,r)}function $u(e,t){const r=(e.toString().split(".")[1]||"").length,o=t.toString();let n=(o.split(".")[1]||"").length;if(n===0&&/\d?e-\d?/.test(o)){const l=o.match(/\d?e-(\d?)/);l?.[1]&&(n=Number.parseInt(l[1]))}const i=r>n?r:n,a=Number.parseInt(e.toFixed(i).replace(".","")),s=Number.parseInt(t.toFixed(i).replace(".",""));return a%s/10**i}const Jn=Symbol("evaluating");function A(e,t,r){let o;Object.defineProperty(e,t,{get(){if(o!==Jn)return o===void 0&&(o=Jn,o=r()),o},set(n){Object.defineProperty(e,t,{value:n})},configurable:!0})}function De(e,t,r){Object.defineProperty(e,t,{value:r,writable:!0,enumerable:!0,configurable:!0})}function _e(...e){const t={};for(const r of e){const o=Object.getOwnPropertyDescriptors(r);Object.assign(t,o)}return Object.defineProperties({},t)}function Yn(e){return JSON.stringify(e)}function Eu(e){return e.toLowerCase().trim().replace(/[^\w\s-]/g,"").replace(/[\s_-]+/g,"-").replace(/^-+|-+$/g,"")}const Oa="captureStackTrace"in Error?Error.captureStackTrace:(...e)=>{};function Et(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}const Ou=Jr(()=>{if(typeof navigator<"u"&&navigator?.userAgent?.includes("Cloudflare"))return!1;try{const e=Function;return new e(""),!0}catch{return!1}});function at(e){if(Et(e)===!1)return!1;const t=e.constructor;if(t===void 0||typeof t!="function")return!0;const r=t.prototype;return!(Et(r)===!1||Object.prototype.hasOwnProperty.call(r,"isPrototypeOf")===!1)}function Ia(e){return at(e)?{...e}:Array.isArray(e)?[...e]:e}const Iu=new Set(["string","number","symbol"]);function st(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function ze(e,t,r){const o=new e._zod.constr(t??e._zod.def);return(!t||r?.parent)&&(o._zod.parent=e),o}function h(e){const t=e;if(!t)return{};if(typeof t=="string")return{error:()=>t};if(t?.message!==void 0){if(t?.error!==void 0)throw new Error("Cannot specify both `message` and `error` params");t.error=t.message}return delete t.message,typeof t.error=="string"?{...t,error:()=>t.error}:t}function ju(e){return Object.keys(e).filter(t=>e[t]._zod.optin==="optional"&&e[t]._zod.optout==="optional")}const Pu={safeint:[Number.MIN_SAFE_INTEGER,Number.MAX_SAFE_INTEGER],int32:[-2147483648,2147483647],uint32:[0,4294967295],float32:[-34028234663852886e22,34028234663852886e22],float64:[-Number.MAX_VALUE,Number.MAX_VALUE]};function Tu(e,t){const r=e._zod.def,o=r.checks;if(o&&o.length>0)throw new Error(".pick() cannot be used on object schemas containing refinements");const i=_e(e._zod.def,{get shape(){const a={};for(const s in t){if(!(s in r.shape))throw new Error(`Unrecognized key: "${s}"`);t[s]&&(a[s]=r.shape[s])}return De(this,"shape",a),a},checks:[]});return ze(e,i)}function Cu(e,t){const r=e._zod.def,o=r.checks;if(o&&o.length>0)throw new Error(".omit() cannot be used on object schemas containing refinements");const i=_e(e._zod.def,{get shape(){const a={...e._zod.def.shape};for(const s in t){if(!(s in r.shape))throw new Error(`Unrecognized key: "${s}"`);t[s]&&delete a[s]}return De(this,"shape",a),a},checks:[]});return ze(e,i)}function Zu(e,t){if(!at(t))throw new Error("Invalid input to extend: expected a plain object");const r=e._zod.def.checks;if(r&&r.length>0){const i=e._zod.def.shape;for(const a in t)if(Object.getOwnPropertyDescriptor(i,a)!==void 0)throw new Error("Cannot overwrite keys on object schemas containing refinements. Use `.safeExtend()` instead.")}const n=_e(e._zod.def,{get shape(){const i={...e._zod.def.shape,...t};return De(this,"shape",i),i}});return ze(e,n)}function Nu(e,t){if(!at(t))throw new Error("Invalid input to safeExtend: expected a plain object");const r=_e(e._zod.def,{get shape(){const o={...e._zod.def.shape,...t};return De(this,"shape",o),o}});return ze(e,r)}function Ru(e,t){const r=_e(e._zod.def,{get shape(){const o={...e._zod.def.shape,...t._zod.def.shape};return De(this,"shape",o),o},get catchall(){return t._zod.def.catchall},checks:[]});return ze(e,r)}function Du(e,t,r){const n=t._zod.def.checks;if(n&&n.length>0)throw new Error(".partial() cannot be used on object schemas containing refinements");const a=_e(t._zod.def,{get shape(){const s=t._zod.def.shape,l={...s};if(r)for(const d in r){if(!(d in s))throw new Error(`Unrecognized key: "${d}"`);r[d]&&(l[d]=e?new e({type:"optional",innerType:s[d]}):s[d])}else for(const d in s)l[d]=e?new e({type:"optional",innerType:s[d]}):s[d];return De(this,"shape",l),l},checks:[]});return ze(t,a)}function Uu(e,t,r){const o=_e(t._zod.def,{get shape(){const n=t._zod.def.shape,i={...n};if(r)for(const a in r){if(!(a in i))throw new Error(`Unrecognized key: "${a}"`);r[a]&&(i[a]=new e({type:"nonoptional",innerType:n[a]}))}else for(const a in n)i[a]=new e({type:"nonoptional",innerType:n[a]});return De(this,"shape",i),i}});return ze(t,o)}function Ye(e,t=0){if(e.aborted===!0)return!0;for(let r=t;r<e.issues.length;r++)if(e.issues[r]?.continue!==!0)return!0;return!1}function He(e,t){return t.map(r=>{var o;return(o=r).path??(o.path=[]),r.path.unshift(e),r})}function Gt(e){return typeof e=="string"?e:e?.message}function xe(e,t,r){const o={...e,path:e.path??[]};if(!e.message){const n=Gt(e.inst?._zod.def?.error?.(e))??Gt(t?.error?.(e))??Gt(r.customError?.(e))??Gt(r.localeError?.(e))??"Invalid input";o.message=n}return delete o.inst,delete o.continue,t?.reportInput||delete o.input,o}function Fo(e){return Array.isArray(e)?"array":typeof e=="string"?"string":"unknown"}function Ot(...e){const[t,r,o]=e;return typeof t=="string"?{message:t,code:"custom",input:r,inst:o}:{...t}}const ja=(e,t)=>{e.name="$ZodError",Object.defineProperty(e,"_zod",{value:e._zod,enumerable:!1}),Object.defineProperty(e,"issues",{value:t,enumerable:!1}),e.message=JSON.stringify(t,po,2),Object.defineProperty(e,"toString",{value:()=>e.message,enumerable:!1})},Pa=m("$ZodError",ja),Ta=m("$ZodError",ja,{Parent:Error});function Mu(e,t=r=>r.message){const r={},o=[];for(const n of e.issues)n.path.length>0?(r[n.path[0]]=r[n.path[0]]||[],r[n.path[0]].push(t(n))):o.push(t(n));return{formErrors:o,fieldErrors:r}}function Bu(e,t=r=>r.message){const r={_errors:[]},o=n=>{for(const i of n.issues)if(i.code==="invalid_union"&&i.errors.length)i.errors.map(a=>o({issues:a}));else if(i.code==="invalid_key")o({issues:i.issues});else if(i.code==="invalid_element")o({issues:i.issues});else if(i.path.length===0)r._errors.push(t(i));else{let a=r,s=0;for(;s<i.path.length;){const l=i.path[s];s===i.path.length-1?(a[l]=a[l]||{_errors:[]},a[l]._errors.push(t(i))):a[l]=a[l]||{_errors:[]},a=a[l],s++}}};return o(e),r}const Go=e=>(t,r,o,n)=>{const i=o?Object.assign(o,{async:!1}):{async:!1},a=t._zod.run({value:r,issues:[]},i);if(a instanceof Promise)throw new We;if(a.issues.length){const s=new(n?.Err??e)(a.issues.map(l=>xe(l,i,we())));throw Oa(s,n?.callee),s}return a.value},Jo=e=>async(t,r,o,n)=>{const i=o?Object.assign(o,{async:!0}):{async:!0};let a=t._zod.run({value:r,issues:[]},i);if(a instanceof Promise&&(a=await a),a.issues.length){const s=new(n?.Err??e)(a.issues.map(l=>xe(l,i,we())));throw Oa(s,n?.callee),s}return a.value},Yr=e=>(t,r,o)=>{const n=o?{...o,async:!1}:{async:!1},i=t._zod.run({value:r,issues:[]},n);if(i instanceof Promise)throw new We;return i.issues.length?{success:!1,error:new(e??Pa)(i.issues.map(a=>xe(a,n,we())))}:{success:!0,data:i.value}},Lu=Yr(Ta),Hr=e=>async(t,r,o)=>{const n=o?Object.assign(o,{async:!0}):{async:!0};let i=t._zod.run({value:r,issues:[]},n);return i instanceof Promise&&(i=await i),i.issues.length?{success:!1,error:new e(i.issues.map(a=>xe(a,n,we())))}:{success:!0,data:i.value}},Fu=Hr(Ta),Gu=e=>(t,r,o)=>{const n=o?Object.assign(o,{direction:"backward"}):{direction:"backward"};return Go(e)(t,r,n)},Ju=e=>(t,r,o)=>Go(e)(t,r,o),Yu=e=>async(t,r,o)=>{const n=o?Object.assign(o,{direction:"backward"}):{direction:"backward"};return Jo(e)(t,r,n)},Hu=e=>async(t,r,o)=>Jo(e)(t,r,o),Vu=e=>(t,r,o)=>{const n=o?Object.assign(o,{direction:"backward"}):{direction:"backward"};return Yr(e)(t,r,n)},Wu=e=>(t,r,o)=>Yr(e)(t,r,o),qu=e=>async(t,r,o)=>{const n=o?Object.assign(o,{direction:"backward"}):{direction:"backward"};return Hr(e)(t,r,n)},Xu=e=>async(t,r,o)=>Hr(e)(t,r,o),Ku=/^[cC][^\s-]{8,}$/,Qu=/^[0-9a-z]+$/,eg=/^[0-9A-HJKMNP-TV-Za-hjkmnp-tv-z]{26}$/,tg=/^[0-9a-vA-V]{20}$/,rg=/^[A-Za-z0-9]{27}$/,og=/^[a-zA-Z0-9_-]{21}$/,ng=/^P(?:(\d+W)|(?!.*W)(?=\d|T\d)(\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+([.,]\d+)?S)?)?)$/,ig=/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$/,Hn=e=>e?new RegExp(`^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-${e}[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$`):/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$/,ag=/^(?!\.)(?!.*\.\.)([A-Za-z0-9_'+\-\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\-]*\.)+[A-Za-z]{2,}$/,sg="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$";function lg(){return new RegExp(sg,"u")}const dg=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/,cg=/^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$/,pg=/^((25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\/([0-9]|[1-2][0-9]|3[0-2])$/,mg=/^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|::|([0-9a-fA-F]{1,4})?::([0-9a-fA-F]{1,4}:?){0,6})\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,bg=/^$|^(?:[0-9a-zA-Z+/]{4})*(?:(?:[0-9a-zA-Z+/]{2}==)|(?:[0-9a-zA-Z+/]{3}=))?$/,Ca=/^[A-Za-z0-9_-]*$/,ug=/^\+[1-9]\d{6,14}$/,Za="(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))",gg=new RegExp(`^${Za}$`);function Na(e){const t="(?:[01]\\d|2[0-3]):[0-5]\\d";return typeof e.precision=="number"?e.precision===-1?`${t}`:e.precision===0?`${t}:[0-5]\\d`:`${t}:[0-5]\\d\\.\\d{${e.precision}}`:`${t}(?::[0-5]\\d(?:\\.\\d+)?)?`}function fg(e){return new RegExp(`^${Na(e)}$`)}function hg(e){const t=Na({precision:e.precision}),r=["Z"];e.local&&r.push(""),e.offset&&r.push("([+-](?:[01]\\d|2[0-3]):[0-5]\\d)");const o=`${t}(?:${r.join("|")})`;return new RegExp(`^${Za}T(?:${o})$`)}const vg=e=>{const t=e?`[\\s\\S]{${e?.minimum??0},${e?.maximum??""}}`:"[\\s\\S]*";return new RegExp(`^${t}$`)},wg=/^-?\d+$/,Ra=/^-?\d+(?:\.\d+)?$/,xg=/^(?:true|false)$/i,yg=/^null$/i,kg=/^undefined$/i,_g=/^[^A-Z]*$/,zg=/^[^a-z]*$/,q=m("$ZodCheck",(e,t)=>{var r;e._zod??(e._zod={}),e._zod.def=t,(r=e._zod).onattach??(r.onattach=[])}),Da={number:"number",bigint:"bigint",object:"date"},Ua=m("$ZodCheckLessThan",(e,t)=>{q.init(e,t);const r=Da[typeof t.value];e._zod.onattach.push(o=>{const n=o._zod.bag,i=(t.inclusive?n.maximum:n.exclusiveMaximum)??Number.POSITIVE_INFINITY;t.value<i&&(t.inclusive?n.maximum=t.value:n.exclusiveMaximum=t.value)}),e._zod.check=o=>{(t.inclusive?o.value<=t.value:o.value<t.value)||o.issues.push({origin:r,code:"too_big",maximum:typeof t.value=="object"?t.value.getTime():t.value,input:o.value,inclusive:t.inclusive,inst:e,continue:!t.abort})}}),Ma=m("$ZodCheckGreaterThan",(e,t)=>{q.init(e,t);const r=Da[typeof t.value];e._zod.onattach.push(o=>{const n=o._zod.bag,i=(t.inclusive?n.minimum:n.exclusiveMinimum)??Number.NEGATIVE_INFINITY;t.value>i&&(t.inclusive?n.minimum=t.value:n.exclusiveMinimum=t.value)}),e._zod.check=o=>{(t.inclusive?o.value>=t.value:o.value>t.value)||o.issues.push({origin:r,code:"too_small",minimum:typeof t.value=="object"?t.value.getTime():t.value,input:o.value,inclusive:t.inclusive,inst:e,continue:!t.abort})}}),Ag=m("$ZodCheckMultipleOf",(e,t)=>{q.init(e,t),e._zod.onattach.push(r=>{var o;(o=r._zod.bag).multipleOf??(o.multipleOf=t.value)}),e._zod.check=r=>{if(typeof r.value!=typeof t.value)throw new Error("Cannot mix number and bigint in multiple_of check.");(typeof r.value=="bigint"?r.value%t.value===BigInt(0):$u(r.value,t.value)===0)||r.issues.push({origin:typeof r.value,code:"not_multiple_of",divisor:t.value,input:r.value,inst:e,continue:!t.abort})}}),Sg=m("$ZodCheckNumberFormat",(e,t)=>{q.init(e,t),t.format=t.format||"float64";const r=t.format?.includes("int"),o=r?"int":"number",[n,i]=Pu[t.format];e._zod.onattach.push(a=>{const s=a._zod.bag;s.format=t.format,s.minimum=n,s.maximum=i,r&&(s.pattern=wg)}),e._zod.check=a=>{const s=a.value;if(r){if(!Number.isInteger(s)){a.issues.push({expected:o,format:t.format,code:"invalid_type",continue:!1,input:s,inst:e});return}if(!Number.isSafeInteger(s)){s>0?a.issues.push({input:s,code:"too_big",maximum:Number.MAX_SAFE_INTEGER,note:"Integers must be within the safe integer range.",inst:e,origin:o,inclusive:!0,continue:!t.abort}):a.issues.push({input:s,code:"too_small",minimum:Number.MIN_SAFE_INTEGER,note:"Integers must be within the safe integer range.",inst:e,origin:o,inclusive:!0,continue:!t.abort});return}}s<n&&a.issues.push({origin:"number",input:s,code:"too_small",minimum:n,inclusive:!0,inst:e,continue:!t.abort}),s>i&&a.issues.push({origin:"number",input:s,code:"too_big",maximum:i,inclusive:!0,inst:e,continue:!t.abort})}}),$g=m("$ZodCheckMaxLength",(e,t)=>{var r;q.init(e,t),(r=e._zod.def).when??(r.when=o=>{const n=o.value;return!Bo(n)&&n.length!==void 0}),e._zod.onattach.push(o=>{const n=o._zod.bag.maximum??Number.POSITIVE_INFINITY;t.maximum<n&&(o._zod.bag.maximum=t.maximum)}),e._zod.check=o=>{const n=o.value;if(n.length<=t.maximum)return;const a=Fo(n);o.issues.push({origin:a,code:"too_big",maximum:t.maximum,inclusive:!0,input:n,inst:e,continue:!t.abort})}}),Eg=m("$ZodCheckMinLength",(e,t)=>{var r;q.init(e,t),(r=e._zod.def).when??(r.when=o=>{const n=o.value;return!Bo(n)&&n.length!==void 0}),e._zod.onattach.push(o=>{const n=o._zod.bag.minimum??Number.NEGATIVE_INFINITY;t.minimum>n&&(o._zod.bag.minimum=t.minimum)}),e._zod.check=o=>{const n=o.value;if(n.length>=t.minimum)return;const a=Fo(n);o.issues.push({origin:a,code:"too_small",minimum:t.minimum,inclusive:!0,input:n,inst:e,continue:!t.abort})}}),Og=m("$ZodCheckLengthEquals",(e,t)=>{var r;q.init(e,t),(r=e._zod.def).when??(r.when=o=>{const n=o.value;return!Bo(n)&&n.length!==void 0}),e._zod.onattach.push(o=>{const n=o._zod.bag;n.minimum=t.length,n.maximum=t.length,n.length=t.length}),e._zod.check=o=>{const n=o.value,i=n.length;if(i===t.length)return;const a=Fo(n),s=i>t.length;o.issues.push({origin:a,...s?{code:"too_big",maximum:t.length}:{code:"too_small",minimum:t.length},inclusive:!0,exact:!0,input:o.value,inst:e,continue:!t.abort})}}),Vr=m("$ZodCheckStringFormat",(e,t)=>{var r,o;q.init(e,t),e._zod.onattach.push(n=>{const i=n._zod.bag;i.format=t.format,t.pattern&&(i.patterns??(i.patterns=new Set),i.patterns.add(t.pattern))}),t.pattern?(r=e._zod).check??(r.check=n=>{t.pattern.lastIndex=0,!t.pattern.test(n.value)&&n.issues.push({origin:"string",code:"invalid_format",format:t.format,input:n.value,...t.pattern?{pattern:t.pattern.toString()}:{},inst:e,continue:!t.abort})}):(o=e._zod).check??(o.check=()=>{})}),Ig=m("$ZodCheckRegex",(e,t)=>{Vr.init(e,t),e._zod.check=r=>{t.pattern.lastIndex=0,!t.pattern.test(r.value)&&r.issues.push({origin:"string",code:"invalid_format",format:"regex",input:r.value,pattern:t.pattern.toString(),inst:e,continue:!t.abort})}}),jg=m("$ZodCheckLowerCase",(e,t)=>{t.pattern??(t.pattern=_g),Vr.init(e,t)}),Pg=m("$ZodCheckUpperCase",(e,t)=>{t.pattern??(t.pattern=zg),Vr.init(e,t)}),Tg=m("$ZodCheckIncludes",(e,t)=>{q.init(e,t);const r=st(t.includes),o=new RegExp(typeof t.position=="number"?`^.{${t.position}}${r}`:r);t.pattern=o,e._zod.onattach.push(n=>{const i=n._zod.bag;i.patterns??(i.patterns=new Set),i.patterns.add(o)}),e._zod.check=n=>{n.value.includes(t.includes,t.position)||n.issues.push({origin:"string",code:"invalid_format",format:"includes",includes:t.includes,input:n.value,inst:e,continue:!t.abort})}}),Cg=m("$ZodCheckStartsWith",(e,t)=>{q.init(e,t);const r=new RegExp(`^${st(t.prefix)}.*`);t.pattern??(t.pattern=r),e._zod.onattach.push(o=>{const n=o._zod.bag;n.patterns??(n.patterns=new Set),n.patterns.add(r)}),e._zod.check=o=>{o.value.startsWith(t.prefix)||o.issues.push({origin:"string",code:"invalid_format",format:"starts_with",prefix:t.prefix,input:o.value,inst:e,continue:!t.abort})}}),Zg=m("$ZodCheckEndsWith",(e,t)=>{q.init(e,t);const r=new RegExp(`.*${st(t.suffix)}$`);t.pattern??(t.pattern=r),e._zod.onattach.push(o=>{const n=o._zod.bag;n.patterns??(n.patterns=new Set),n.patterns.add(r)}),e._zod.check=o=>{o.value.endsWith(t.suffix)||o.issues.push({origin:"string",code:"invalid_format",format:"ends_with",suffix:t.suffix,input:o.value,inst:e,continue:!t.abort})}}),Ng=m("$ZodCheckOverwrite",(e,t)=>{q.init(e,t),e._zod.check=r=>{r.value=t.tx(r.value)}});class Rg{constructor(t=[]){this.content=[],this.indent=0,this&&(this.args=t)}indented(t){this.indent+=1,t(this),this.indent-=1}write(t){if(typeof t=="function"){t(this,{execution:"sync"}),t(this,{execution:"async"});return}const o=t.split(`
|
|
1653
|
+
`).filter(a=>a),n=Math.min(...o.map(a=>a.length-a.trimStart().length)),i=o.map(a=>a.slice(n)).map(a=>" ".repeat(this.indent*2)+a);for(const a of i)this.content.push(a)}compile(){const t=Function,r=this?.args,n=[...(this?.content??[""]).map(i=>` ${i}`)];return new t(...r,n.join(`
|
|
1654
|
+
`))}}const Dg={major:4,minor:3,patch:6},E=m("$ZodType",(e,t)=>{var r;e??(e={}),e._zod.def=t,e._zod.bag=e._zod.bag||{},e._zod.version=Dg;const o=[...e._zod.def.checks??[]];e._zod.traits.has("$ZodCheck")&&o.unshift(e);for(const n of o)for(const i of n._zod.onattach)i(e);if(o.length===0)(r=e._zod).deferred??(r.deferred=[]),e._zod.deferred?.push(()=>{e._zod.run=e._zod.parse});else{const n=(a,s,l)=>{let d=Ye(a),c;for(const p of s){if(p._zod.def.when){if(!p._zod.def.when(a))continue}else if(d)continue;const u=a.issues.length,f=p._zod.check(a);if(f instanceof Promise&&l?.async===!1)throw new We;if(c||f instanceof Promise)c=(c??Promise.resolve()).then(async()=>{await f,a.issues.length!==u&&(d||(d=Ye(a,u)))});else{if(a.issues.length===u)continue;d||(d=Ye(a,u))}}return c?c.then(()=>a):a},i=(a,s,l)=>{if(Ye(a))return a.aborted=!0,a;const d=n(s,o,l);if(d instanceof Promise){if(l.async===!1)throw new We;return d.then(c=>e._zod.parse(c,l))}return e._zod.parse(d,l)};e._zod.run=(a,s)=>{if(s.skipChecks)return e._zod.parse(a,s);if(s.direction==="backward"){const d=e._zod.parse({value:a.value,issues:[]},{...s,skipChecks:!0});return d instanceof Promise?d.then(c=>i(c,a,s)):i(d,a,s)}const l=e._zod.parse(a,s);if(l instanceof Promise){if(s.async===!1)throw new We;return l.then(d=>n(d,o,s))}return n(l,o,s)}}A(e,"~standard",()=>({validate:n=>{try{const i=Lu(e,n);return i.success?{value:i.data}:{issues:i.error?.issues}}catch{return Fu(e,n).then(a=>a.success?{value:a.data}:{issues:a.error?.issues})}},vendor:"zod",version:1}))}),Yo=m("$ZodString",(e,t)=>{E.init(e,t),e._zod.pattern=[...e?._zod.bag?.patterns??[]].pop()??vg(e._zod.bag),e._zod.parse=(r,o)=>{if(t.coerce)try{r.value=String(r.value)}catch{}return typeof r.value=="string"||r.issues.push({expected:"string",code:"invalid_type",input:r.value,inst:e}),r}}),C=m("$ZodStringFormat",(e,t)=>{Vr.init(e,t),Yo.init(e,t)}),Ug=m("$ZodGUID",(e,t)=>{t.pattern??(t.pattern=ig),C.init(e,t)}),Mg=m("$ZodUUID",(e,t)=>{if(t.version){const o={v1:1,v2:2,v3:3,v4:4,v5:5,v6:6,v7:7,v8:8}[t.version];if(o===void 0)throw new Error(`Invalid UUID version: "${t.version}"`);t.pattern??(t.pattern=Hn(o))}else t.pattern??(t.pattern=Hn());C.init(e,t)}),Bg=m("$ZodEmail",(e,t)=>{t.pattern??(t.pattern=ag),C.init(e,t)}),Lg=m("$ZodURL",(e,t)=>{C.init(e,t),e._zod.check=r=>{try{const o=r.value.trim(),n=new URL(o);t.hostname&&(t.hostname.lastIndex=0,t.hostname.test(n.hostname)||r.issues.push({code:"invalid_format",format:"url",note:"Invalid hostname",pattern:t.hostname.source,input:r.value,inst:e,continue:!t.abort})),t.protocol&&(t.protocol.lastIndex=0,t.protocol.test(n.protocol.endsWith(":")?n.protocol.slice(0,-1):n.protocol)||r.issues.push({code:"invalid_format",format:"url",note:"Invalid protocol",pattern:t.protocol.source,input:r.value,inst:e,continue:!t.abort})),t.normalize?r.value=n.href:r.value=o;return}catch{r.issues.push({code:"invalid_format",format:"url",input:r.value,inst:e,continue:!t.abort})}}}),Fg=m("$ZodEmoji",(e,t)=>{t.pattern??(t.pattern=lg()),C.init(e,t)}),Gg=m("$ZodNanoID",(e,t)=>{t.pattern??(t.pattern=og),C.init(e,t)}),Jg=m("$ZodCUID",(e,t)=>{t.pattern??(t.pattern=Ku),C.init(e,t)}),Yg=m("$ZodCUID2",(e,t)=>{t.pattern??(t.pattern=Qu),C.init(e,t)}),Hg=m("$ZodULID",(e,t)=>{t.pattern??(t.pattern=eg),C.init(e,t)}),Vg=m("$ZodXID",(e,t)=>{t.pattern??(t.pattern=tg),C.init(e,t)}),Wg=m("$ZodKSUID",(e,t)=>{t.pattern??(t.pattern=rg),C.init(e,t)}),qg=m("$ZodISODateTime",(e,t)=>{t.pattern??(t.pattern=hg(t)),C.init(e,t)}),Xg=m("$ZodISODate",(e,t)=>{t.pattern??(t.pattern=gg),C.init(e,t)}),Kg=m("$ZodISOTime",(e,t)=>{t.pattern??(t.pattern=fg(t)),C.init(e,t)}),Qg=m("$ZodISODuration",(e,t)=>{t.pattern??(t.pattern=ng),C.init(e,t)}),ef=m("$ZodIPv4",(e,t)=>{t.pattern??(t.pattern=dg),C.init(e,t),e._zod.bag.format="ipv4"}),tf=m("$ZodIPv6",(e,t)=>{t.pattern??(t.pattern=cg),C.init(e,t),e._zod.bag.format="ipv6",e._zod.check=r=>{try{new URL(`http://[${r.value}]`)}catch{r.issues.push({code:"invalid_format",format:"ipv6",input:r.value,inst:e,continue:!t.abort})}}}),rf=m("$ZodCIDRv4",(e,t)=>{t.pattern??(t.pattern=pg),C.init(e,t)}),of=m("$ZodCIDRv6",(e,t)=>{t.pattern??(t.pattern=mg),C.init(e,t),e._zod.check=r=>{const o=r.value.split("/");try{if(o.length!==2)throw new Error;const[n,i]=o;if(!i)throw new Error;const a=Number(i);if(`${a}`!==i)throw new Error;if(a<0||a>128)throw new Error;new URL(`http://[${n}]`)}catch{r.issues.push({code:"invalid_format",format:"cidrv6",input:r.value,inst:e,continue:!t.abort})}}});function Ba(e){if(e==="")return!0;if(e.length%4!==0)return!1;try{return atob(e),!0}catch{return!1}}const nf=m("$ZodBase64",(e,t)=>{t.pattern??(t.pattern=bg),C.init(e,t),e._zod.bag.contentEncoding="base64",e._zod.check=r=>{Ba(r.value)||r.issues.push({code:"invalid_format",format:"base64",input:r.value,inst:e,continue:!t.abort})}});function af(e){if(!Ca.test(e))return!1;const t=e.replace(/[-_]/g,o=>o==="-"?"+":"/"),r=t.padEnd(Math.ceil(t.length/4)*4,"=");return Ba(r)}const sf=m("$ZodBase64URL",(e,t)=>{t.pattern??(t.pattern=Ca),C.init(e,t),e._zod.bag.contentEncoding="base64url",e._zod.check=r=>{af(r.value)||r.issues.push({code:"invalid_format",format:"base64url",input:r.value,inst:e,continue:!t.abort})}}),lf=m("$ZodE164",(e,t)=>{t.pattern??(t.pattern=ug),C.init(e,t)});function df(e,t=null){try{const r=e.split(".");if(r.length!==3)return!1;const[o]=r;if(!o)return!1;const n=JSON.parse(atob(o));return!("typ"in n&&n?.typ!=="JWT"||!n.alg||t&&(!("alg"in n)||n.alg!==t))}catch{return!1}}const cf=m("$ZodJWT",(e,t)=>{C.init(e,t),e._zod.check=r=>{df(r.value,t.alg)||r.issues.push({code:"invalid_format",format:"jwt",input:r.value,inst:e,continue:!t.abort})}}),La=m("$ZodNumber",(e,t)=>{E.init(e,t),e._zod.pattern=e._zod.bag.pattern??Ra,e._zod.parse=(r,o)=>{if(t.coerce)try{r.value=Number(r.value)}catch{}const n=r.value;if(typeof n=="number"&&!Number.isNaN(n)&&Number.isFinite(n))return r;const i=typeof n=="number"?Number.isNaN(n)?"NaN":Number.isFinite(n)?void 0:"Infinity":void 0;return r.issues.push({expected:"number",code:"invalid_type",input:n,inst:e,...i?{received:i}:{}}),r}}),pf=m("$ZodNumberFormat",(e,t)=>{Sg.init(e,t),La.init(e,t)}),mf=m("$ZodBoolean",(e,t)=>{E.init(e,t),e._zod.pattern=xg,e._zod.parse=(r,o)=>{if(t.coerce)try{r.value=!!r.value}catch{}const n=r.value;return typeof n=="boolean"||r.issues.push({expected:"boolean",code:"invalid_type",input:n,inst:e}),r}}),bf=m("$ZodUndefined",(e,t)=>{E.init(e,t),e._zod.pattern=kg,e._zod.values=new Set([void 0]),e._zod.optin="optional",e._zod.optout="optional",e._zod.parse=(r,o)=>{const n=r.value;return typeof n>"u"||r.issues.push({expected:"undefined",code:"invalid_type",input:n,inst:e}),r}}),uf=m("$ZodNull",(e,t)=>{E.init(e,t),e._zod.pattern=yg,e._zod.values=new Set([null]),e._zod.parse=(r,o)=>{const n=r.value;return n===null||r.issues.push({expected:"null",code:"invalid_type",input:n,inst:e}),r}}),gf=m("$ZodAny",(e,t)=>{E.init(e,t),e._zod.parse=r=>r}),ff=m("$ZodUnknown",(e,t)=>{E.init(e,t),e._zod.parse=r=>r}),hf=m("$ZodNever",(e,t)=>{E.init(e,t),e._zod.parse=(r,o)=>(r.issues.push({expected:"never",code:"invalid_type",input:r.value,inst:e}),r)});function Vn(e,t,r){e.issues.length&&t.issues.push(...He(r,e.issues)),t.value[r]=e.value}const vf=m("$ZodArray",(e,t)=>{E.init(e,t),e._zod.parse=(r,o)=>{const n=r.value;if(!Array.isArray(n))return r.issues.push({expected:"array",code:"invalid_type",input:n,inst:e}),r;r.value=Array(n.length);const i=[];for(let a=0;a<n.length;a++){const s=n[a],l=t.element._zod.run({value:s,issues:[]},o);l instanceof Promise?i.push(l.then(d=>Vn(d,r,a))):Vn(l,r,a)}return i.length?Promise.all(i).then(()=>r):r}});function Or(e,t,r,o,n){if(e.issues.length){if(n&&!(r in o))return;t.issues.push(...He(r,e.issues))}e.value===void 0?r in o&&(t.value[r]=void 0):t.value[r]=e.value}function Fa(e){const t=Object.keys(e.shape);for(const o of t)if(!e.shape?.[o]?._zod?.traits?.has("$ZodType"))throw new Error(`Invalid element at key "${o}": expected a Zod schema`);const r=ju(e.shape);return{...e,keys:t,keySet:new Set(t),numKeys:t.length,optionalKeys:new Set(r)}}function Ga(e,t,r,o,n,i){const a=[],s=n.keySet,l=n.catchall._zod,d=l.def.type,c=l.optout==="optional";for(const p in t){if(s.has(p))continue;if(d==="never"){a.push(p);continue}const u=l.run({value:t[p],issues:[]},o);u instanceof Promise?e.push(u.then(f=>Or(f,r,p,t,c))):Or(u,r,p,t,c)}return a.length&&r.issues.push({code:"unrecognized_keys",keys:a,input:t,inst:i}),e.length?Promise.all(e).then(()=>r):r}const wf=m("$ZodObject",(e,t)=>{if(E.init(e,t),!Object.getOwnPropertyDescriptor(t,"shape")?.get){const s=t.shape;Object.defineProperty(t,"shape",{get:()=>{const l={...s};return Object.defineProperty(t,"shape",{value:l}),l}})}const o=Jr(()=>Fa(t));A(e._zod,"propValues",()=>{const s=t.shape,l={};for(const d in s){const c=s[d]._zod;if(c.values){l[d]??(l[d]=new Set);for(const p of c.values)l[d].add(p)}}return l});const n=Et,i=t.catchall;let a;e._zod.parse=(s,l)=>{a??(a=o.value);const d=s.value;if(!n(d))return s.issues.push({expected:"object",code:"invalid_type",input:d,inst:e}),s;s.value={};const c=[],p=a.shape;for(const u of a.keys){const f=p[u],y=f._zod.optout==="optional",R=f._zod.run({value:d[u],issues:[]},l);R instanceof Promise?c.push(R.then(Ue=>Or(Ue,s,u,d,y))):Or(R,s,u,d,y)}return i?Ga(c,d,s,l,o.value,e):c.length?Promise.all(c).then(()=>s):s}}),xf=m("$ZodObjectJIT",(e,t)=>{wf.init(e,t);const r=e._zod.parse,o=Jr(()=>Fa(t)),n=u=>{const f=new Rg(["shape","payload","ctx"]),y=o.value,R=I=>{const $=Yn(I);return`shape[${$}]._zod.run({ value: input[${$}], issues: [] }, ctx)`};f.write("const input = payload.value;");const Ue=Object.create(null);let Wr=0;for(const I of y.keys)Ue[I]=`key_${Wr++}`;f.write("const newResult = {};");for(const I of y.keys){const $=Ue[I],X=Yn(I),_s=u[I]?._zod?.optout==="optional";f.write(`const ${$} = ${R(I)};`),_s?f.write(`
|
|
1655
|
+
if (${$}.issues.length) {
|
|
1656
|
+
if (${X} in input) {
|
|
1657
|
+
payload.issues = payload.issues.concat(${$}.issues.map(iss => ({
|
|
1658
|
+
...iss,
|
|
1659
|
+
path: iss.path ? [${X}, ...iss.path] : [${X}]
|
|
1660
|
+
})));
|
|
1661
|
+
}
|
|
1662
|
+
}
|
|
1663
|
+
|
|
1664
|
+
if (${$}.value === undefined) {
|
|
1665
|
+
if (${X} in input) {
|
|
1666
|
+
newResult[${X}] = undefined;
|
|
1667
|
+
}
|
|
1668
|
+
} else {
|
|
1669
|
+
newResult[${X}] = ${$}.value;
|
|
1670
|
+
}
|
|
1671
|
+
|
|
1672
|
+
`):f.write(`
|
|
1673
|
+
if (${$}.issues.length) {
|
|
1674
|
+
payload.issues = payload.issues.concat(${$}.issues.map(iss => ({
|
|
1675
|
+
...iss,
|
|
1676
|
+
path: iss.path ? [${X}, ...iss.path] : [${X}]
|
|
1677
|
+
})));
|
|
1678
|
+
}
|
|
1679
|
+
|
|
1680
|
+
if (${$}.value === undefined) {
|
|
1681
|
+
if (${X} in input) {
|
|
1682
|
+
newResult[${X}] = undefined;
|
|
1683
|
+
}
|
|
1684
|
+
} else {
|
|
1685
|
+
newResult[${X}] = ${$}.value;
|
|
1686
|
+
}
|
|
1687
|
+
|
|
1688
|
+
`)}f.write("payload.value = newResult;"),f.write("return payload;");const Q=f.compile();return(I,$)=>Q(u,I,$)};let i;const a=Et,s=!$a.jitless,d=s&&Ou.value,c=t.catchall;let p;e._zod.parse=(u,f)=>{p??(p=o.value);const y=u.value;return a(y)?s&&d&&f?.async===!1&&f.jitless!==!0?(i||(i=n(t.shape)),u=i(u,f),c?Ga([],y,u,f,p,e):u):r(u,f):(u.issues.push({expected:"object",code:"invalid_type",input:y,inst:e}),u)}});function Wn(e,t,r,o){for(const i of e)if(i.issues.length===0)return t.value=i.value,t;const n=e.filter(i=>!Ye(i));return n.length===1?(t.value=n[0].value,n[0]):(t.issues.push({code:"invalid_union",input:t.value,inst:r,errors:e.map(i=>i.issues.map(a=>xe(a,o,we())))}),t)}const Ja=m("$ZodUnion",(e,t)=>{E.init(e,t),A(e._zod,"optin",()=>t.options.some(n=>n._zod.optin==="optional")?"optional":void 0),A(e._zod,"optout",()=>t.options.some(n=>n._zod.optout==="optional")?"optional":void 0),A(e._zod,"values",()=>{if(t.options.every(n=>n._zod.values))return new Set(t.options.flatMap(n=>Array.from(n._zod.values)))}),A(e._zod,"pattern",()=>{if(t.options.every(n=>n._zod.pattern)){const n=t.options.map(i=>i._zod.pattern);return new RegExp(`^(${n.map(i=>Lo(i.source)).join("|")})$`)}});const r=t.options.length===1,o=t.options[0]._zod.run;e._zod.parse=(n,i)=>{if(r)return o(n,i);let a=!1;const s=[];for(const l of t.options){const d=l._zod.run({value:n.value,issues:[]},i);if(d instanceof Promise)s.push(d),a=!0;else{if(d.issues.length===0)return d;s.push(d)}}return a?Promise.all(s).then(l=>Wn(l,n,e,i)):Wn(s,n,e,i)}}),yf=m("$ZodDiscriminatedUnion",(e,t)=>{t.inclusive=!1,Ja.init(e,t);const r=e._zod.parse;A(e._zod,"propValues",()=>{const n={};for(const i of t.options){const a=i._zod.propValues;if(!a||Object.keys(a).length===0)throw new Error(`Invalid discriminated union option at index "${t.options.indexOf(i)}"`);for(const[s,l]of Object.entries(a)){n[s]||(n[s]=new Set);for(const d of l)n[s].add(d)}}return n});const o=Jr(()=>{const n=t.options,i=new Map;for(const a of n){const s=a._zod.propValues?.[t.discriminator];if(!s||s.size===0)throw new Error(`Invalid discriminated union option at index "${t.options.indexOf(a)}"`);for(const l of s){if(i.has(l))throw new Error(`Duplicate discriminator value "${String(l)}"`);i.set(l,a)}}return i});e._zod.parse=(n,i)=>{const a=n.value;if(!Et(a))return n.issues.push({code:"invalid_type",expected:"object",input:a,inst:e}),n;const s=o.value.get(a?.[t.discriminator]);return s?s._zod.run(n,i):t.unionFallback?r(n,i):(n.issues.push({code:"invalid_union",errors:[],note:"No matching discriminator",discriminator:t.discriminator,input:a,path:[t.discriminator],inst:e}),n)}}),kf=m("$ZodIntersection",(e,t)=>{E.init(e,t),e._zod.parse=(r,o)=>{const n=r.value,i=t.left._zod.run({value:n,issues:[]},o),a=t.right._zod.run({value:n,issues:[]},o);return i instanceof Promise||a instanceof Promise?Promise.all([i,a]).then(([l,d])=>qn(r,l,d)):qn(r,i,a)}});function mo(e,t){if(e===t)return{valid:!0,data:e};if(e instanceof Date&&t instanceof Date&&+e==+t)return{valid:!0,data:e};if(at(e)&&at(t)){const r=Object.keys(t),o=Object.keys(e).filter(i=>r.indexOf(i)!==-1),n={...e,...t};for(const i of o){const a=mo(e[i],t[i]);if(!a.valid)return{valid:!1,mergeErrorPath:[i,...a.mergeErrorPath]};n[i]=a.data}return{valid:!0,data:n}}if(Array.isArray(e)&&Array.isArray(t)){if(e.length!==t.length)return{valid:!1,mergeErrorPath:[]};const r=[];for(let o=0;o<e.length;o++){const n=e[o],i=t[o],a=mo(n,i);if(!a.valid)return{valid:!1,mergeErrorPath:[o,...a.mergeErrorPath]};r.push(a.data)}return{valid:!0,data:r}}return{valid:!1,mergeErrorPath:[]}}function qn(e,t,r){const o=new Map;let n;for(const s of t.issues)if(s.code==="unrecognized_keys"){n??(n=s);for(const l of s.keys)o.has(l)||o.set(l,{}),o.get(l).l=!0}else e.issues.push(s);for(const s of r.issues)if(s.code==="unrecognized_keys")for(const l of s.keys)o.has(l)||o.set(l,{}),o.get(l).r=!0;else e.issues.push(s);const i=[...o].filter(([,s])=>s.l&&s.r).map(([s])=>s);if(i.length&&n&&e.issues.push({...n,keys:i}),Ye(e))return e;const a=mo(t.value,r.value);if(!a.valid)throw new Error(`Unmergable intersection. Error path: ${JSON.stringify(a.mergeErrorPath)}`);return e.value=a.data,e}const _f=m("$ZodRecord",(e,t)=>{E.init(e,t),e._zod.parse=(r,o)=>{const n=r.value;if(!at(n))return r.issues.push({expected:"record",code:"invalid_type",input:n,inst:e}),r;const i=[],a=t.keyType._zod.values;if(a){r.value={};const s=new Set;for(const d of a)if(typeof d=="string"||typeof d=="number"||typeof d=="symbol"){s.add(typeof d=="number"?d.toString():d);const c=t.valueType._zod.run({value:n[d],issues:[]},o);c instanceof Promise?i.push(c.then(p=>{p.issues.length&&r.issues.push(...He(d,p.issues)),r.value[d]=p.value})):(c.issues.length&&r.issues.push(...He(d,c.issues)),r.value[d]=c.value)}let l;for(const d in n)s.has(d)||(l=l??[],l.push(d));l&&l.length>0&&r.issues.push({code:"unrecognized_keys",input:n,inst:e,keys:l})}else{r.value={};for(const s of Reflect.ownKeys(n)){if(s==="__proto__")continue;let l=t.keyType._zod.run({value:s,issues:[]},o);if(l instanceof Promise)throw new Error("Async schemas not supported in object keys currently");if(typeof s=="string"&&Ra.test(s)&&l.issues.length){const p=t.keyType._zod.run({value:Number(s),issues:[]},o);if(p instanceof Promise)throw new Error("Async schemas not supported in object keys currently");p.issues.length===0&&(l=p)}if(l.issues.length){t.mode==="loose"?r.value[s]=n[s]:r.issues.push({code:"invalid_key",origin:"record",issues:l.issues.map(p=>xe(p,o,we())),input:s,path:[s],inst:e});continue}const c=t.valueType._zod.run({value:n[s],issues:[]},o);c instanceof Promise?i.push(c.then(p=>{p.issues.length&&r.issues.push(...He(s,p.issues)),r.value[l.value]=p.value})):(c.issues.length&&r.issues.push(...He(s,c.issues)),r.value[l.value]=c.value)}}return i.length?Promise.all(i).then(()=>r):r}}),zf=m("$ZodEnum",(e,t)=>{E.init(e,t);const r=Ea(t.entries),o=new Set(r);e._zod.values=o,e._zod.pattern=new RegExp(`^(${r.filter(n=>Iu.has(typeof n)).map(n=>typeof n=="string"?st(n):n.toString()).join("|")})$`),e._zod.parse=(n,i)=>{const a=n.value;return o.has(a)||n.issues.push({code:"invalid_value",values:r,input:a,inst:e}),n}}),Af=m("$ZodLiteral",(e,t)=>{if(E.init(e,t),t.values.length===0)throw new Error("Cannot create literal schema with no valid values");const r=new Set(t.values);e._zod.values=r,e._zod.pattern=new RegExp(`^(${t.values.map(o=>typeof o=="string"?st(o):o?st(o.toString()):String(o)).join("|")})$`),e._zod.parse=(o,n)=>{const i=o.value;return r.has(i)||o.issues.push({code:"invalid_value",values:t.values,input:i,inst:e}),o}}),Sf=m("$ZodTransform",(e,t)=>{E.init(e,t),e._zod.parse=(r,o)=>{if(o.direction==="backward")throw new Sa(e.constructor.name);const n=t.transform(r.value,r);if(o.async)return(n instanceof Promise?n:Promise.resolve(n)).then(a=>(r.value=a,r));if(n instanceof Promise)throw new We;return r.value=n,r}});function Xn(e,t){return e.issues.length&&t===void 0?{issues:[],value:void 0}:e}const Ya=m("$ZodOptional",(e,t)=>{E.init(e,t),e._zod.optin="optional",e._zod.optout="optional",A(e._zod,"values",()=>t.innerType._zod.values?new Set([...t.innerType._zod.values,void 0]):void 0),A(e._zod,"pattern",()=>{const r=t.innerType._zod.pattern;return r?new RegExp(`^(${Lo(r.source)})?$`):void 0}),e._zod.parse=(r,o)=>{if(t.innerType._zod.optin==="optional"){const n=t.innerType._zod.run(r,o);return n instanceof Promise?n.then(i=>Xn(i,r.value)):Xn(n,r.value)}return r.value===void 0?r:t.innerType._zod.run(r,o)}}),$f=m("$ZodExactOptional",(e,t)=>{Ya.init(e,t),A(e._zod,"values",()=>t.innerType._zod.values),A(e._zod,"pattern",()=>t.innerType._zod.pattern),e._zod.parse=(r,o)=>t.innerType._zod.run(r,o)}),Ef=m("$ZodNullable",(e,t)=>{E.init(e,t),A(e._zod,"optin",()=>t.innerType._zod.optin),A(e._zod,"optout",()=>t.innerType._zod.optout),A(e._zod,"pattern",()=>{const r=t.innerType._zod.pattern;return r?new RegExp(`^(${Lo(r.source)}|null)$`):void 0}),A(e._zod,"values",()=>t.innerType._zod.values?new Set([...t.innerType._zod.values,null]):void 0),e._zod.parse=(r,o)=>r.value===null?r:t.innerType._zod.run(r,o)}),Of=m("$ZodDefault",(e,t)=>{E.init(e,t),e._zod.optin="optional",A(e._zod,"values",()=>t.innerType._zod.values),e._zod.parse=(r,o)=>{if(o.direction==="backward")return t.innerType._zod.run(r,o);if(r.value===void 0)return r.value=t.defaultValue,r;const n=t.innerType._zod.run(r,o);return n instanceof Promise?n.then(i=>Kn(i,t)):Kn(n,t)}});function Kn(e,t){return e.value===void 0&&(e.value=t.defaultValue),e}const If=m("$ZodPrefault",(e,t)=>{E.init(e,t),e._zod.optin="optional",A(e._zod,"values",()=>t.innerType._zod.values),e._zod.parse=(r,o)=>(o.direction==="backward"||r.value===void 0&&(r.value=t.defaultValue),t.innerType._zod.run(r,o))}),jf=m("$ZodNonOptional",(e,t)=>{E.init(e,t),A(e._zod,"values",()=>{const r=t.innerType._zod.values;return r?new Set([...r].filter(o=>o!==void 0)):void 0}),e._zod.parse=(r,o)=>{const n=t.innerType._zod.run(r,o);return n instanceof Promise?n.then(i=>Qn(i,e)):Qn(n,e)}});function Qn(e,t){return!e.issues.length&&e.value===void 0&&e.issues.push({code:"invalid_type",expected:"nonoptional",input:e.value,inst:t}),e}const Pf=m("$ZodCatch",(e,t)=>{E.init(e,t),A(e._zod,"optin",()=>t.innerType._zod.optin),A(e._zod,"optout",()=>t.innerType._zod.optout),A(e._zod,"values",()=>t.innerType._zod.values),e._zod.parse=(r,o)=>{if(o.direction==="backward")return t.innerType._zod.run(r,o);const n=t.innerType._zod.run(r,o);return n instanceof Promise?n.then(i=>(r.value=i.value,i.issues.length&&(r.value=t.catchValue({...r,error:{issues:i.issues.map(a=>xe(a,o,we()))},input:r.value}),r.issues=[]),r)):(r.value=n.value,n.issues.length&&(r.value=t.catchValue({...r,error:{issues:n.issues.map(i=>xe(i,o,we()))},input:r.value}),r.issues=[]),r)}}),Tf=m("$ZodPipe",(e,t)=>{E.init(e,t),A(e._zod,"values",()=>t.in._zod.values),A(e._zod,"optin",()=>t.in._zod.optin),A(e._zod,"optout",()=>t.out._zod.optout),A(e._zod,"propValues",()=>t.in._zod.propValues),e._zod.parse=(r,o)=>{if(o.direction==="backward"){const i=t.out._zod.run(r,o);return i instanceof Promise?i.then(a=>Jt(a,t.in,o)):Jt(i,t.in,o)}const n=t.in._zod.run(r,o);return n instanceof Promise?n.then(i=>Jt(i,t.out,o)):Jt(n,t.out,o)}});function Jt(e,t,r){return e.issues.length?(e.aborted=!0,e):t._zod.run({value:e.value,issues:e.issues},r)}const Cf=m("$ZodReadonly",(e,t)=>{E.init(e,t),A(e._zod,"propValues",()=>t.innerType._zod.propValues),A(e._zod,"values",()=>t.innerType._zod.values),A(e._zod,"optin",()=>t.innerType?._zod?.optin),A(e._zod,"optout",()=>t.innerType?._zod?.optout),e._zod.parse=(r,o)=>{if(o.direction==="backward")return t.innerType._zod.run(r,o);const n=t.innerType._zod.run(r,o);return n instanceof Promise?n.then(ei):ei(n)}});function ei(e){return e.value=Object.freeze(e.value),e}const Zf=m("$ZodCustom",(e,t)=>{q.init(e,t),E.init(e,t),e._zod.parse=(r,o)=>r,e._zod.check=r=>{const o=r.value,n=t.fn(o);if(n instanceof Promise)return n.then(i=>ti(i,r,o,e));ti(n,r,o,e)}});function ti(e,t,r,o){if(!e){const n={code:"custom",input:r,inst:o,path:[...o._zod.def.path??[]],continue:!o._zod.def.abort};o._zod.def.params&&(n.params=o._zod.def.params),t.issues.push(Ot(n))}}var ri;class Nf{constructor(){this._map=new WeakMap,this._idmap=new Map}add(t,...r){const o=r[0];return this._map.set(t,o),o&&typeof o=="object"&&"id"in o&&this._idmap.set(o.id,t),this}clear(){return this._map=new WeakMap,this._idmap=new Map,this}remove(t){const r=this._map.get(t);return r&&typeof r=="object"&&"id"in r&&this._idmap.delete(r.id),this._map.delete(t),this}get(t){const r=t._zod.parent;if(r){const o={...this.get(r)??{}};delete o.id;const n={...o,...this._map.get(t)};return Object.keys(n).length?n:void 0}return this._map.get(t)}has(t){return this._map.has(t)}}function Rf(){return new Nf}(ri=globalThis).__zod_globalRegistry??(ri.__zod_globalRegistry=Rf());const ft=globalThis.__zod_globalRegistry;function Df(e,t){return new e({type:"string",...h(t)})}function Uf(e,t){return new e({type:"string",format:"email",check:"string_format",abort:!1,...h(t)})}function oi(e,t){return new e({type:"string",format:"guid",check:"string_format",abort:!1,...h(t)})}function Mf(e,t){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,...h(t)})}function Bf(e,t){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v4",...h(t)})}function Lf(e,t){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v6",...h(t)})}function Ff(e,t){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v7",...h(t)})}function Gf(e,t){return new e({type:"string",format:"url",check:"string_format",abort:!1,...h(t)})}function Jf(e,t){return new e({type:"string",format:"emoji",check:"string_format",abort:!1,...h(t)})}function Yf(e,t){return new e({type:"string",format:"nanoid",check:"string_format",abort:!1,...h(t)})}function Hf(e,t){return new e({type:"string",format:"cuid",check:"string_format",abort:!1,...h(t)})}function Vf(e,t){return new e({type:"string",format:"cuid2",check:"string_format",abort:!1,...h(t)})}function Wf(e,t){return new e({type:"string",format:"ulid",check:"string_format",abort:!1,...h(t)})}function qf(e,t){return new e({type:"string",format:"xid",check:"string_format",abort:!1,...h(t)})}function Xf(e,t){return new e({type:"string",format:"ksuid",check:"string_format",abort:!1,...h(t)})}function Kf(e,t){return new e({type:"string",format:"ipv4",check:"string_format",abort:!1,...h(t)})}function Qf(e,t){return new e({type:"string",format:"ipv6",check:"string_format",abort:!1,...h(t)})}function eh(e,t){return new e({type:"string",format:"cidrv4",check:"string_format",abort:!1,...h(t)})}function th(e,t){return new e({type:"string",format:"cidrv6",check:"string_format",abort:!1,...h(t)})}function rh(e,t){return new e({type:"string",format:"base64",check:"string_format",abort:!1,...h(t)})}function oh(e,t){return new e({type:"string",format:"base64url",check:"string_format",abort:!1,...h(t)})}function nh(e,t){return new e({type:"string",format:"e164",check:"string_format",abort:!1,...h(t)})}function ih(e,t){return new e({type:"string",format:"jwt",check:"string_format",abort:!1,...h(t)})}function ah(e,t){return new e({type:"string",format:"datetime",check:"string_format",offset:!1,local:!1,precision:null,...h(t)})}function sh(e,t){return new e({type:"string",format:"date",check:"string_format",...h(t)})}function lh(e,t){return new e({type:"string",format:"time",check:"string_format",precision:null,...h(t)})}function dh(e,t){return new e({type:"string",format:"duration",check:"string_format",...h(t)})}function ch(e,t){return new e({type:"number",checks:[],...h(t)})}function ph(e,t){return new e({type:"number",check:"number_format",abort:!1,format:"safeint",...h(t)})}function mh(e,t){return new e({type:"boolean",...h(t)})}function bh(e,t){return new e({type:"undefined",...h(t)})}function uh(e,t){return new e({type:"null",...h(t)})}function gh(e){return new e({type:"any"})}function fh(e){return new e({type:"unknown"})}function hh(e,t){return new e({type:"never",...h(t)})}function ni(e,t){return new Ua({check:"less_than",...h(t),value:e,inclusive:!1})}function eo(e,t){return new Ua({check:"less_than",...h(t),value:e,inclusive:!0})}function ii(e,t){return new Ma({check:"greater_than",...h(t),value:e,inclusive:!1})}function to(e,t){return new Ma({check:"greater_than",...h(t),value:e,inclusive:!0})}function ai(e,t){return new Ag({check:"multiple_of",...h(t),value:e})}function Ha(e,t){return new $g({check:"max_length",...h(t),maximum:e})}function Ir(e,t){return new Eg({check:"min_length",...h(t),minimum:e})}function Va(e,t){return new Og({check:"length_equals",...h(t),length:e})}function vh(e,t){return new Ig({check:"string_format",format:"regex",...h(t),pattern:e})}function wh(e){return new jg({check:"string_format",format:"lowercase",...h(e)})}function xh(e){return new Pg({check:"string_format",format:"uppercase",...h(e)})}function yh(e,t){return new Tg({check:"string_format",format:"includes",...h(t),includes:e})}function kh(e,t){return new Cg({check:"string_format",format:"starts_with",...h(t),prefix:e})}function _h(e,t){return new Zg({check:"string_format",format:"ends_with",...h(t),suffix:e})}function mt(e){return new Ng({check:"overwrite",tx:e})}function zh(e){return mt(t=>t.normalize(e))}function Ah(){return mt(e=>e.trim())}function Sh(){return mt(e=>e.toLowerCase())}function $h(){return mt(e=>e.toUpperCase())}function Eh(){return mt(e=>Eu(e))}function Oh(e,t,r){return new e({type:"array",element:t,...h(r)})}function Ih(e,t,r){return new e({type:"custom",check:"custom",fn:t,...h(r)})}function jh(e){const t=Ph(r=>(r.addIssue=o=>{if(typeof o=="string")r.issues.push(Ot(o,r.value,t._zod.def));else{const n=o;n.fatal&&(n.continue=!1),n.code??(n.code="custom"),n.input??(n.input=r.value),n.inst??(n.inst=t),n.continue??(n.continue=!t._zod.def.abort),r.issues.push(Ot(n))}},e(r.value,r)));return t}function Ph(e,t){const r=new q({check:"custom",...h(t)});return r._zod.check=e,r}function Wa(e){let t=e?.target??"draft-2020-12";return t==="draft-4"&&(t="draft-04"),t==="draft-7"&&(t="draft-07"),{processors:e.processors??{},metadataRegistry:e?.metadata??ft,target:t,unrepresentable:e?.unrepresentable??"throw",override:e?.override??(()=>{}),io:e?.io??"output",counter:0,seen:new Map,cycles:e?.cycles??"ref",reused:e?.reused??"inline",external:e?.external??void 0}}function U(e,t,r={path:[],schemaPath:[]}){var o;const n=e._zod.def,i=t.seen.get(e);if(i)return i.count++,r.schemaPath.includes(e)&&(i.cycle=r.path),i.schema;const a={schema:{},count:1,cycle:void 0,path:r.path};t.seen.set(e,a);const s=e._zod.toJSONSchema?.();if(s)a.schema=s;else{const c={...r,schemaPath:[...r.schemaPath,e],path:r.path};if(e._zod.processJSONSchema)e._zod.processJSONSchema(t,a.schema,c);else{const u=a.schema,f=t.processors[n.type];if(!f)throw new Error(`[toJSONSchema]: Non-representable type encountered: ${n.type}`);f(e,t,u,c)}const p=e._zod.parent;p&&(a.ref||(a.ref=p),U(p,t,c),t.seen.get(p).isParent=!0)}const l=t.metadataRegistry.get(e);return l&&Object.assign(a.schema,l),t.io==="input"&&Y(e)&&(delete a.schema.examples,delete a.schema.default),t.io==="input"&&a.schema._prefault&&((o=a.schema).default??(o.default=a.schema._prefault)),delete a.schema._prefault,t.seen.get(e).schema}function qa(e,t){const r=e.seen.get(t);if(!r)throw new Error("Unprocessed schema. This is a bug in Zod.");const o=new Map;for(const a of e.seen.entries()){const s=e.metadataRegistry.get(a[0])?.id;if(s){const l=o.get(s);if(l&&l!==a[0])throw new Error(`Duplicate schema id "${s}" detected during JSON Schema conversion. Two different schemas cannot share the same id when converted together.`);o.set(s,a[0])}}const n=a=>{const s=e.target==="draft-2020-12"?"$defs":"definitions";if(e.external){const p=e.external.registry.get(a[0])?.id,u=e.external.uri??(y=>y);if(p)return{ref:u(p)};const f=a[1].defId??a[1].schema.id??`schema${e.counter++}`;return a[1].defId=f,{defId:f,ref:`${u("__shared")}#/${s}/${f}`}}if(a[1]===r)return{ref:"#"};const d=`#/${s}/`,c=a[1].schema.id??`__schema${e.counter++}`;return{defId:c,ref:d+c}},i=a=>{if(a[1].schema.$ref)return;const s=a[1],{ref:l,defId:d}=n(a);s.def={...s.schema},d&&(s.defId=d);const c=s.schema;for(const p in c)delete c[p];c.$ref=l};if(e.cycles==="throw")for(const a of e.seen.entries()){const s=a[1];if(s.cycle)throw new Error(`Cycle detected: #/${s.cycle?.join("/")}/<root>
|
|
1689
|
+
|
|
1690
|
+
Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.`)}for(const a of e.seen.entries()){const s=a[1];if(t===a[0]){i(a);continue}if(e.external){const d=e.external.registry.get(a[0])?.id;if(t!==a[0]&&d){i(a);continue}}if(e.metadataRegistry.get(a[0])?.id){i(a);continue}if(s.cycle){i(a);continue}if(s.count>1&&e.reused==="ref"){i(a);continue}}}function Xa(e,t){const r=e.seen.get(t);if(!r)throw new Error("Unprocessed schema. This is a bug in Zod.");const o=a=>{const s=e.seen.get(a);if(s.ref===null)return;const l=s.def??s.schema,d={...l},c=s.ref;if(s.ref=null,c){o(c);const u=e.seen.get(c),f=u.schema;if(f.$ref&&(e.target==="draft-07"||e.target==="draft-04"||e.target==="openapi-3.0")?(l.allOf=l.allOf??[],l.allOf.push(f)):Object.assign(l,f),Object.assign(l,d),a._zod.parent===c)for(const R in l)R==="$ref"||R==="allOf"||R in d||delete l[R];if(f.$ref&&u.def)for(const R in l)R==="$ref"||R==="allOf"||R in u.def&&JSON.stringify(l[R])===JSON.stringify(u.def[R])&&delete l[R]}const p=a._zod.parent;if(p&&p!==c){o(p);const u=e.seen.get(p);if(u?.schema.$ref&&(l.$ref=u.schema.$ref,u.def))for(const f in l)f==="$ref"||f==="allOf"||f in u.def&&JSON.stringify(l[f])===JSON.stringify(u.def[f])&&delete l[f]}e.override({zodSchema:a,jsonSchema:l,path:s.path??[]})};for(const a of[...e.seen.entries()].reverse())o(a[0]);const n={};if(e.target==="draft-2020-12"?n.$schema="https://json-schema.org/draft/2020-12/schema":e.target==="draft-07"?n.$schema="http://json-schema.org/draft-07/schema#":e.target==="draft-04"?n.$schema="http://json-schema.org/draft-04/schema#":e.target,e.external?.uri){const a=e.external.registry.get(t)?.id;if(!a)throw new Error("Schema is missing an `id` property");n.$id=e.external.uri(a)}Object.assign(n,r.def??r.schema);const i=e.external?.defs??{};for(const a of e.seen.entries()){const s=a[1];s.def&&s.defId&&(i[s.defId]=s.def)}e.external||Object.keys(i).length>0&&(e.target==="draft-2020-12"?n.$defs=i:n.definitions=i);try{const a=JSON.parse(JSON.stringify(n));return Object.defineProperty(a,"~standard",{value:{...t["~standard"],jsonSchema:{input:jr(t,"input",e.processors),output:jr(t,"output",e.processors)}},enumerable:!1,writable:!1}),a}catch{throw new Error("Error converting schema to JSON.")}}function Y(e,t){const r=t??{seen:new Set};if(r.seen.has(e))return!1;r.seen.add(e);const o=e._zod.def;if(o.type==="transform")return!0;if(o.type==="array")return Y(o.element,r);if(o.type==="set")return Y(o.valueType,r);if(o.type==="lazy")return Y(o.getter(),r);if(o.type==="promise"||o.type==="optional"||o.type==="nonoptional"||o.type==="nullable"||o.type==="readonly"||o.type==="default"||o.type==="prefault")return Y(o.innerType,r);if(o.type==="intersection")return Y(o.left,r)||Y(o.right,r);if(o.type==="record"||o.type==="map")return Y(o.keyType,r)||Y(o.valueType,r);if(o.type==="pipe")return Y(o.in,r)||Y(o.out,r);if(o.type==="object"){for(const n in o.shape)if(Y(o.shape[n],r))return!0;return!1}if(o.type==="union"){for(const n of o.options)if(Y(n,r))return!0;return!1}if(o.type==="tuple"){for(const n of o.items)if(Y(n,r))return!0;return!!(o.rest&&Y(o.rest,r))}return!1}const Th=(e,t={})=>r=>{const o=Wa({...r,processors:t});return U(e,o),qa(o,e),Xa(o,e)},jr=(e,t,r={})=>o=>{const{libraryOptions:n,target:i}=o??{},a=Wa({...n??{},target:i,io:t,processors:r});return U(e,a),qa(a,e),Xa(a,e)},Ch={guid:"uuid",url:"uri",datetime:"date-time",json_string:"json-string",regex:""},Zh=(e,t,r,o)=>{const n=r;n.type="string";const{minimum:i,maximum:a,format:s,patterns:l,contentEncoding:d}=e._zod.bag;if(typeof i=="number"&&(n.minLength=i),typeof a=="number"&&(n.maxLength=a),s&&(n.format=Ch[s]??s,n.format===""&&delete n.format,s==="time"&&delete n.format),d&&(n.contentEncoding=d),l&&l.size>0){const c=[...l];c.length===1?n.pattern=c[0].source:c.length>1&&(n.allOf=[...c.map(p=>({...t.target==="draft-07"||t.target==="draft-04"||t.target==="openapi-3.0"?{type:"string"}:{},pattern:p.source}))])}},Nh=(e,t,r,o)=>{const n=r,{minimum:i,maximum:a,format:s,multipleOf:l,exclusiveMaximum:d,exclusiveMinimum:c}=e._zod.bag;typeof s=="string"&&s.includes("int")?n.type="integer":n.type="number",typeof c=="number"&&(t.target==="draft-04"||t.target==="openapi-3.0"?(n.minimum=c,n.exclusiveMinimum=!0):n.exclusiveMinimum=c),typeof i=="number"&&(n.minimum=i,typeof c=="number"&&t.target!=="draft-04"&&(c>=i?delete n.minimum:delete n.exclusiveMinimum)),typeof d=="number"&&(t.target==="draft-04"||t.target==="openapi-3.0"?(n.maximum=d,n.exclusiveMaximum=!0):n.exclusiveMaximum=d),typeof a=="number"&&(n.maximum=a,typeof d=="number"&&t.target!=="draft-04"&&(d<=a?delete n.maximum:delete n.exclusiveMaximum)),typeof l=="number"&&(n.multipleOf=l)},Rh=(e,t,r,o)=>{r.type="boolean"},Dh=(e,t,r,o)=>{t.target==="openapi-3.0"?(r.type="string",r.nullable=!0,r.enum=[null]):r.type="null"},Uh=(e,t,r,o)=>{if(t.unrepresentable==="throw")throw new Error("Undefined cannot be represented in JSON Schema")},Mh=(e,t,r,o)=>{r.not={}},Bh=(e,t,r,o)=>{},Lh=(e,t,r,o)=>{},Fh=(e,t,r,o)=>{const n=e._zod.def,i=Ea(n.entries);i.every(a=>typeof a=="number")&&(r.type="number"),i.every(a=>typeof a=="string")&&(r.type="string"),r.enum=i},Gh=(e,t,r,o)=>{const n=e._zod.def,i=[];for(const a of n.values)if(a===void 0){if(t.unrepresentable==="throw")throw new Error("Literal `undefined` cannot be represented in JSON Schema")}else if(typeof a=="bigint"){if(t.unrepresentable==="throw")throw new Error("BigInt literals cannot be represented in JSON Schema");i.push(Number(a))}else i.push(a);if(i.length!==0)if(i.length===1){const a=i[0];r.type=a===null?"null":typeof a,t.target==="draft-04"||t.target==="openapi-3.0"?r.enum=[a]:r.const=a}else i.every(a=>typeof a=="number")&&(r.type="number"),i.every(a=>typeof a=="string")&&(r.type="string"),i.every(a=>typeof a=="boolean")&&(r.type="boolean"),i.every(a=>a===null)&&(r.type="null"),r.enum=i},Jh=(e,t,r,o)=>{if(t.unrepresentable==="throw")throw new Error("Custom types cannot be represented in JSON Schema")},Yh=(e,t,r,o)=>{if(t.unrepresentable==="throw")throw new Error("Transforms cannot be represented in JSON Schema")},Hh=(e,t,r,o)=>{const n=r,i=e._zod.def,{minimum:a,maximum:s}=e._zod.bag;typeof a=="number"&&(n.minItems=a),typeof s=="number"&&(n.maxItems=s),n.type="array",n.items=U(i.element,t,{...o,path:[...o.path,"items"]})},Vh=(e,t,r,o)=>{const n=r,i=e._zod.def;n.type="object",n.properties={};const a=i.shape;for(const d in a)n.properties[d]=U(a[d],t,{...o,path:[...o.path,"properties",d]});const s=new Set(Object.keys(a)),l=new Set([...s].filter(d=>{const c=i.shape[d]._zod;return t.io==="input"?c.optin===void 0:c.optout===void 0}));l.size>0&&(n.required=Array.from(l)),i.catchall?._zod.def.type==="never"?n.additionalProperties=!1:i.catchall?i.catchall&&(n.additionalProperties=U(i.catchall,t,{...o,path:[...o.path,"additionalProperties"]})):t.io==="output"&&(n.additionalProperties=!1)},Wh=(e,t,r,o)=>{const n=e._zod.def,i=n.inclusive===!1,a=n.options.map((s,l)=>U(s,t,{...o,path:[...o.path,i?"oneOf":"anyOf",l]}));i?r.oneOf=a:r.anyOf=a},qh=(e,t,r,o)=>{const n=e._zod.def,i=U(n.left,t,{...o,path:[...o.path,"allOf",0]}),a=U(n.right,t,{...o,path:[...o.path,"allOf",1]}),s=d=>"allOf"in d&&Object.keys(d).length===1,l=[...s(i)?i.allOf:[i],...s(a)?a.allOf:[a]];r.allOf=l},Xh=(e,t,r,o)=>{const n=r,i=e._zod.def;n.type="object";const a=i.keyType,l=a._zod.bag?.patterns;if(i.mode==="loose"&&l&&l.size>0){const c=U(i.valueType,t,{...o,path:[...o.path,"patternProperties","*"]});n.patternProperties={};for(const p of l)n.patternProperties[p.source]=c}else(t.target==="draft-07"||t.target==="draft-2020-12")&&(n.propertyNames=U(i.keyType,t,{...o,path:[...o.path,"propertyNames"]})),n.additionalProperties=U(i.valueType,t,{...o,path:[...o.path,"additionalProperties"]});const d=a._zod.values;if(d){const c=[...d].filter(p=>typeof p=="string"||typeof p=="number");c.length>0&&(n.required=c)}},Kh=(e,t,r,o)=>{const n=e._zod.def,i=U(n.innerType,t,o),a=t.seen.get(e);t.target==="openapi-3.0"?(a.ref=n.innerType,r.nullable=!0):r.anyOf=[i,{type:"null"}]},Qh=(e,t,r,o)=>{const n=e._zod.def;U(n.innerType,t,o);const i=t.seen.get(e);i.ref=n.innerType},ev=(e,t,r,o)=>{const n=e._zod.def;U(n.innerType,t,o);const i=t.seen.get(e);i.ref=n.innerType,r.default=JSON.parse(JSON.stringify(n.defaultValue))},tv=(e,t,r,o)=>{const n=e._zod.def;U(n.innerType,t,o);const i=t.seen.get(e);i.ref=n.innerType,t.io==="input"&&(r._prefault=JSON.parse(JSON.stringify(n.defaultValue)))},rv=(e,t,r,o)=>{const n=e._zod.def;U(n.innerType,t,o);const i=t.seen.get(e);i.ref=n.innerType;let a;try{a=n.catchValue(void 0)}catch{throw new Error("Dynamic catch values are not supported in JSON Schema")}r.default=a},ov=(e,t,r,o)=>{const n=e._zod.def,i=t.io==="input"?n.in._zod.def.type==="transform"?n.out:n.in:n.out;U(i,t,o);const a=t.seen.get(e);a.ref=i},nv=(e,t,r,o)=>{const n=e._zod.def;U(n.innerType,t,o);const i=t.seen.get(e);i.ref=n.innerType,r.readOnly=!0},Ka=(e,t,r,o)=>{const n=e._zod.def;U(n.innerType,t,o);const i=t.seen.get(e);i.ref=n.innerType},iv=m("ZodISODateTime",(e,t)=>{qg.init(e,t),N.init(e,t)});function av(e){return ah(iv,e)}const sv=m("ZodISODate",(e,t)=>{Xg.init(e,t),N.init(e,t)});function lv(e){return sh(sv,e)}const dv=m("ZodISOTime",(e,t)=>{Kg.init(e,t),N.init(e,t)});function cv(e){return lh(dv,e)}const pv=m("ZodISODuration",(e,t)=>{Qg.init(e,t),N.init(e,t)});function mv(e){return dh(pv,e)}const bv=(e,t)=>{Pa.init(e,t),e.name="ZodError",Object.defineProperties(e,{format:{value:r=>Bu(e,r)},flatten:{value:r=>Mu(e,r)},addIssue:{value:r=>{e.issues.push(r),e.message=JSON.stringify(e.issues,po,2)}},addIssues:{value:r=>{e.issues.push(...r),e.message=JSON.stringify(e.issues,po,2)}},isEmpty:{get(){return e.issues.length===0}}})},re=m("ZodError",bv,{Parent:Error}),uv=Go(re),gv=Jo(re),fv=Yr(re),hv=Hr(re),vv=Gu(re),wv=Ju(re),xv=Yu(re),yv=Hu(re),kv=Vu(re),_v=Wu(re),zv=qu(re),Av=Xu(re),O=m("ZodType",(e,t)=>(E.init(e,t),Object.assign(e["~standard"],{jsonSchema:{input:jr(e,"input"),output:jr(e,"output")}}),e.toJSONSchema=Th(e,{}),e.def=t,e.type=t.type,Object.defineProperty(e,"_def",{value:t}),e.check=(...r)=>e.clone(_e(t,{checks:[...t.checks??[],...r.map(o=>typeof o=="function"?{_zod:{check:o,def:{check:"custom"},onattach:[]}}:o)]}),{parent:!0}),e.with=e.check,e.clone=(r,o)=>ze(e,r,o),e.brand=()=>e,e.register=((r,o)=>(r.add(e,o),e)),e.parse=(r,o)=>uv(e,r,o,{callee:e.parse}),e.safeParse=(r,o)=>fv(e,r,o),e.parseAsync=async(r,o)=>gv(e,r,o,{callee:e.parseAsync}),e.safeParseAsync=async(r,o)=>hv(e,r,o),e.spa=e.safeParseAsync,e.encode=(r,o)=>vv(e,r,o),e.decode=(r,o)=>wv(e,r,o),e.encodeAsync=async(r,o)=>xv(e,r,o),e.decodeAsync=async(r,o)=>yv(e,r,o),e.safeEncode=(r,o)=>kv(e,r,o),e.safeDecode=(r,o)=>_v(e,r,o),e.safeEncodeAsync=async(r,o)=>zv(e,r,o),e.safeDecodeAsync=async(r,o)=>Av(e,r,o),e.refine=(r,o)=>e.check(_0(r,o)),e.superRefine=r=>e.check(z0(r)),e.overwrite=r=>e.check(mt(r)),e.optional=()=>Pe(e),e.exactOptional=()=>c0(e),e.nullable=()=>di(e),e.nullish=()=>Pe(di(e)),e.nonoptional=r=>f0(e,r),e.array=()=>os(e),e.or=r=>Ho([e,r]),e.and=r=>Vo(e,r),e.transform=r=>ci(e,l0(r)),e.default=r=>b0(e,r),e.prefault=r=>g0(e,r),e.catch=r=>v0(e,r),e.pipe=r=>ci(e,r),e.readonly=()=>y0(e),e.describe=r=>{const o=e.clone();return ft.add(o,{description:r}),o},Object.defineProperty(e,"description",{get(){return ft.get(e)?.description},configurable:!0}),e.meta=(...r)=>{if(r.length===0)return ft.get(e);const o=e.clone();return ft.add(o,r[0]),o},e.isOptional=()=>e.safeParse(void 0).success,e.isNullable=()=>e.safeParse(null).success,e.apply=r=>r(e),e)),Qa=m("_ZodString",(e,t)=>{Yo.init(e,t),O.init(e,t),e._zod.processJSONSchema=(o,n,i)=>Zh(e,o,n);const r=e._zod.bag;e.format=r.format??null,e.minLength=r.minimum??null,e.maxLength=r.maximum??null,e.regex=(...o)=>e.check(vh(...o)),e.includes=(...o)=>e.check(yh(...o)),e.startsWith=(...o)=>e.check(kh(...o)),e.endsWith=(...o)=>e.check(_h(...o)),e.min=(...o)=>e.check(Ir(...o)),e.max=(...o)=>e.check(Ha(...o)),e.length=(...o)=>e.check(Va(...o)),e.nonempty=(...o)=>e.check(Ir(1,...o)),e.lowercase=o=>e.check(wh(o)),e.uppercase=o=>e.check(xh(o)),e.trim=()=>e.check(Ah()),e.normalize=(...o)=>e.check(zh(...o)),e.toLowerCase=()=>e.check(Sh()),e.toUpperCase=()=>e.check($h()),e.slugify=()=>e.check(Eh())}),Sv=m("ZodString",(e,t)=>{Yo.init(e,t),Qa.init(e,t),e.email=r=>e.check(Uf($v,r)),e.url=r=>e.check(Gf(Ev,r)),e.jwt=r=>e.check(ih(Fv,r)),e.emoji=r=>e.check(Jf(Ov,r)),e.guid=r=>e.check(oi(si,r)),e.uuid=r=>e.check(Mf(Yt,r)),e.uuidv4=r=>e.check(Bf(Yt,r)),e.uuidv6=r=>e.check(Lf(Yt,r)),e.uuidv7=r=>e.check(Ff(Yt,r)),e.nanoid=r=>e.check(Yf(Iv,r)),e.guid=r=>e.check(oi(si,r)),e.cuid=r=>e.check(Hf(jv,r)),e.cuid2=r=>e.check(Vf(Pv,r)),e.ulid=r=>e.check(Wf(Tv,r)),e.base64=r=>e.check(rh(Mv,r)),e.base64url=r=>e.check(oh(Bv,r)),e.xid=r=>e.check(qf(Cv,r)),e.ksuid=r=>e.check(Xf(Zv,r)),e.ipv4=r=>e.check(Kf(Nv,r)),e.ipv6=r=>e.check(Qf(Rv,r)),e.cidrv4=r=>e.check(eh(Dv,r)),e.cidrv6=r=>e.check(th(Uv,r)),e.e164=r=>e.check(nh(Lv,r)),e.datetime=r=>e.check(av(r)),e.date=r=>e.check(lv(r)),e.time=r=>e.check(cv(r)),e.duration=r=>e.check(mv(r))});function oe(e){return Df(Sv,e)}const N=m("ZodStringFormat",(e,t)=>{C.init(e,t),Qa.init(e,t)}),$v=m("ZodEmail",(e,t)=>{Bg.init(e,t),N.init(e,t)}),si=m("ZodGUID",(e,t)=>{Ug.init(e,t),N.init(e,t)}),Yt=m("ZodUUID",(e,t)=>{Mg.init(e,t),N.init(e,t)}),Ev=m("ZodURL",(e,t)=>{Lg.init(e,t),N.init(e,t)}),Ov=m("ZodEmoji",(e,t)=>{Fg.init(e,t),N.init(e,t)}),Iv=m("ZodNanoID",(e,t)=>{Gg.init(e,t),N.init(e,t)}),jv=m("ZodCUID",(e,t)=>{Jg.init(e,t),N.init(e,t)}),Pv=m("ZodCUID2",(e,t)=>{Yg.init(e,t),N.init(e,t)}),Tv=m("ZodULID",(e,t)=>{Hg.init(e,t),N.init(e,t)}),Cv=m("ZodXID",(e,t)=>{Vg.init(e,t),N.init(e,t)}),Zv=m("ZodKSUID",(e,t)=>{Wg.init(e,t),N.init(e,t)}),Nv=m("ZodIPv4",(e,t)=>{ef.init(e,t),N.init(e,t)}),Rv=m("ZodIPv6",(e,t)=>{tf.init(e,t),N.init(e,t)}),Dv=m("ZodCIDRv4",(e,t)=>{rf.init(e,t),N.init(e,t)}),Uv=m("ZodCIDRv6",(e,t)=>{of.init(e,t),N.init(e,t)}),Mv=m("ZodBase64",(e,t)=>{nf.init(e,t),N.init(e,t)}),Bv=m("ZodBase64URL",(e,t)=>{sf.init(e,t),N.init(e,t)}),Lv=m("ZodE164",(e,t)=>{lf.init(e,t),N.init(e,t)}),Fv=m("ZodJWT",(e,t)=>{cf.init(e,t),N.init(e,t)}),es=m("ZodNumber",(e,t)=>{La.init(e,t),O.init(e,t),e._zod.processJSONSchema=(o,n,i)=>Nh(e,o,n),e.gt=(o,n)=>e.check(ii(o,n)),e.gte=(o,n)=>e.check(to(o,n)),e.min=(o,n)=>e.check(to(o,n)),e.lt=(o,n)=>e.check(ni(o,n)),e.lte=(o,n)=>e.check(eo(o,n)),e.max=(o,n)=>e.check(eo(o,n)),e.int=o=>e.check(li(o)),e.safe=o=>e.check(li(o)),e.positive=o=>e.check(ii(0,o)),e.nonnegative=o=>e.check(to(0,o)),e.negative=o=>e.check(ni(0,o)),e.nonpositive=o=>e.check(eo(0,o)),e.multipleOf=(o,n)=>e.check(ai(o,n)),e.step=(o,n)=>e.check(ai(o,n)),e.finite=()=>e;const r=e._zod.bag;e.minValue=Math.max(r.minimum??Number.NEGATIVE_INFINITY,r.exclusiveMinimum??Number.NEGATIVE_INFINITY)??null,e.maxValue=Math.min(r.maximum??Number.POSITIVE_INFINITY,r.exclusiveMaximum??Number.POSITIVE_INFINITY)??null,e.isInt=(r.format??"").includes("int")||Number.isSafeInteger(r.multipleOf??.5),e.isFinite=!0,e.format=r.format??null});function bo(e){return ch(es,e)}const Gv=m("ZodNumberFormat",(e,t)=>{pf.init(e,t),es.init(e,t)});function li(e){return ph(Gv,e)}const Jv=m("ZodBoolean",(e,t)=>{mf.init(e,t),O.init(e,t),e._zod.processJSONSchema=(r,o,n)=>Rh(e,r,o)});function Yv(e){return mh(Jv,e)}const Hv=m("ZodUndefined",(e,t)=>{bf.init(e,t),O.init(e,t),e._zod.processJSONSchema=(r,o,n)=>Uh(e,r)});function Vv(e){return bh(Hv,e)}const Wv=m("ZodNull",(e,t)=>{uf.init(e,t),O.init(e,t),e._zod.processJSONSchema=(r,o,n)=>Dh(e,r,o)});function ts(e){return uh(Wv,e)}const qv=m("ZodAny",(e,t)=>{gf.init(e,t),O.init(e,t),e._zod.processJSONSchema=(r,o,n)=>Bh()});function rw(){return gh(qv)}const Xv=m("ZodUnknown",(e,t)=>{ff.init(e,t),O.init(e,t),e._zod.processJSONSchema=(r,o,n)=>Lh()});function lt(){return fh(Xv)}const Kv=m("ZodNever",(e,t)=>{hf.init(e,t),O.init(e,t),e._zod.processJSONSchema=(r,o,n)=>Mh(e,r,o)});function rs(e){return hh(Kv,e)}const Qv=m("ZodArray",(e,t)=>{vf.init(e,t),O.init(e,t),e._zod.processJSONSchema=(r,o,n)=>Hh(e,r,o,n),e.element=t.element,e.min=(r,o)=>e.check(Ir(r,o)),e.nonempty=r=>e.check(Ir(1,r)),e.max=(r,o)=>e.check(Ha(r,o)),e.length=(r,o)=>e.check(Va(r,o)),e.unwrap=()=>e.element});function os(e,t){return Oh(Qv,e,t)}const e0=m("ZodObject",(e,t)=>{xf.init(e,t),O.init(e,t),e._zod.processJSONSchema=(r,o,n)=>Vh(e,r,o,n),A(e,"shape",()=>t.shape),e.keyof=()=>i0(Object.keys(e._zod.def.shape)),e.catchall=r=>e.clone({...e._zod.def,catchall:r}),e.passthrough=()=>e.clone({...e._zod.def,catchall:lt()}),e.loose=()=>e.clone({...e._zod.def,catchall:lt()}),e.strict=()=>e.clone({...e._zod.def,catchall:rs()}),e.strip=()=>e.clone({...e._zod.def,catchall:void 0}),e.extend=r=>Zu(e,r),e.safeExtend=r=>Nu(e,r),e.merge=r=>Ru(e,r),e.pick=r=>Tu(e,r),e.omit=r=>Cu(e,r),e.partial=(...r)=>Du(as,e,r[0]),e.required=(...r)=>Uu(ss,e,r[0])});function H(e,t){const r={type:"object",shape:e??{},...h(t)};return new e0(r)}const ns=m("ZodUnion",(e,t)=>{Ja.init(e,t),O.init(e,t),e._zod.processJSONSchema=(r,o,n)=>Wh(e,r,o,n),e.options=t.options});function Ho(e,t){return new ns({type:"union",options:e,...h(t)})}const t0=m("ZodDiscriminatedUnion",(e,t)=>{ns.init(e,t),yf.init(e,t)});function is(e,t,r){return new t0({type:"union",options:t,discriminator:e,...h(r)})}const r0=m("ZodIntersection",(e,t)=>{kf.init(e,t),O.init(e,t),e._zod.processJSONSchema=(r,o,n)=>qh(e,r,o,n)});function Vo(e,t){return new r0({type:"intersection",left:e,right:t})}const o0=m("ZodRecord",(e,t)=>{_f.init(e,t),O.init(e,t),e._zod.processJSONSchema=(r,o,n)=>Xh(e,r,o,n),e.keyType=t.keyType,e.valueType=t.valueType});function n0(e,t,r){return new o0({type:"record",keyType:e,valueType:t,...h(r)})}const Pr=m("ZodEnum",(e,t)=>{zf.init(e,t),O.init(e,t),e._zod.processJSONSchema=(o,n,i)=>Fh(e,o,n),e.enum=t.entries,e.options=Object.values(t.entries);const r=new Set(Object.keys(t.entries));e.extract=(o,n)=>{const i={};for(const a of o)if(r.has(a))i[a]=t.entries[a];else throw new Error(`Key ${a} not found in enum`);return new Pr({...t,checks:[],...h(n),entries:i})},e.exclude=(o,n)=>{const i={...t.entries};for(const a of o)if(r.has(a))delete i[a];else throw new Error(`Key ${a} not found in enum`);return new Pr({...t,checks:[],...h(n),entries:i})}});function i0(e,t){const r=Array.isArray(e)?Object.fromEntries(e.map(o=>[o,o])):e;return new Pr({type:"enum",entries:r,...h(t)})}function ow(e,t){return new Pr({type:"enum",entries:e,...h(t)})}const a0=m("ZodLiteral",(e,t)=>{Af.init(e,t),O.init(e,t),e._zod.processJSONSchema=(r,o,n)=>Gh(e,r,o),e.values=new Set(t.values),Object.defineProperty(e,"value",{get(){if(t.values.length>1)throw new Error("This schema contains multiple valid literal values. Use `.values` instead.");return t.values[0]}})});function se(e,t){return new a0({type:"literal",values:Array.isArray(e)?e:[e],...h(t)})}const s0=m("ZodTransform",(e,t)=>{Sf.init(e,t),O.init(e,t),e._zod.processJSONSchema=(r,o,n)=>Yh(e,r),e._zod.parse=(r,o)=>{if(o.direction==="backward")throw new Sa(e.constructor.name);r.addIssue=i=>{if(typeof i=="string")r.issues.push(Ot(i,r.value,t));else{const a=i;a.fatal&&(a.continue=!1),a.code??(a.code="custom"),a.input??(a.input=r.value),a.inst??(a.inst=e),r.issues.push(Ot(a))}};const n=t.transform(r.value,r);return n instanceof Promise?n.then(i=>(r.value=i,r)):(r.value=n,r)}});function l0(e){return new s0({type:"transform",transform:e})}const as=m("ZodOptional",(e,t)=>{Ya.init(e,t),O.init(e,t),e._zod.processJSONSchema=(r,o,n)=>Ka(e,r,o,n),e.unwrap=()=>e._zod.def.innerType});function Pe(e){return new as({type:"optional",innerType:e})}const d0=m("ZodExactOptional",(e,t)=>{$f.init(e,t),O.init(e,t),e._zod.processJSONSchema=(r,o,n)=>Ka(e,r,o,n),e.unwrap=()=>e._zod.def.innerType});function c0(e){return new d0({type:"optional",innerType:e})}const p0=m("ZodNullable",(e,t)=>{Ef.init(e,t),O.init(e,t),e._zod.processJSONSchema=(r,o,n)=>Kh(e,r,o,n),e.unwrap=()=>e._zod.def.innerType});function di(e){return new p0({type:"nullable",innerType:e})}const m0=m("ZodDefault",(e,t)=>{Of.init(e,t),O.init(e,t),e._zod.processJSONSchema=(r,o,n)=>ev(e,r,o,n),e.unwrap=()=>e._zod.def.innerType,e.removeDefault=e.unwrap});function b0(e,t){return new m0({type:"default",innerType:e,get defaultValue(){return typeof t=="function"?t():Ia(t)}})}const u0=m("ZodPrefault",(e,t)=>{If.init(e,t),O.init(e,t),e._zod.processJSONSchema=(r,o,n)=>tv(e,r,o,n),e.unwrap=()=>e._zod.def.innerType});function g0(e,t){return new u0({type:"prefault",innerType:e,get defaultValue(){return typeof t=="function"?t():Ia(t)}})}const ss=m("ZodNonOptional",(e,t)=>{jf.init(e,t),O.init(e,t),e._zod.processJSONSchema=(r,o,n)=>Qh(e,r,o,n),e.unwrap=()=>e._zod.def.innerType});function f0(e,t){return new ss({type:"nonoptional",innerType:e,...h(t)})}const h0=m("ZodCatch",(e,t)=>{Pf.init(e,t),O.init(e,t),e._zod.processJSONSchema=(r,o,n)=>rv(e,r,o,n),e.unwrap=()=>e._zod.def.innerType,e.removeCatch=e.unwrap});function v0(e,t){return new h0({type:"catch",innerType:e,catchValue:typeof t=="function"?t:()=>t})}const w0=m("ZodPipe",(e,t)=>{Tf.init(e,t),O.init(e,t),e._zod.processJSONSchema=(r,o,n)=>ov(e,r,o,n),e.in=t.in,e.out=t.out});function ci(e,t){return new w0({type:"pipe",in:e,out:t})}const x0=m("ZodReadonly",(e,t)=>{Cf.init(e,t),O.init(e,t),e._zod.processJSONSchema=(r,o,n)=>nv(e,r,o,n),e.unwrap=()=>e._zod.def.innerType});function y0(e){return new x0({type:"readonly",innerType:e})}const k0=m("ZodCustom",(e,t)=>{Zf.init(e,t),O.init(e,t),e._zod.processJSONSchema=(r,o,n)=>Jh(e,r)});function _0(e,t={}){return Ih(k0,e,t)}function z0(e){return jh(e)}oe().regex(/^[a-zA-Z0-9:_-]*::[a-z0-9]*/,"Invalid party ID format");var A0=H({method:oe(),params:Pe(Ho([os(lt()),n0(oe(),lt())]))}),S0=H({result:Pe(lt())}),ls=H({error:H({code:bo(),message:oe(),data:Pe(oe().or(bo()).or(Yv()).or(ts()).or(lt()))})}),ds=Ho([S0,ls]),cs=H({jsonrpc:se("2.0"),id:Pe(oe().or(bo()).or(Vv()).or(ts()))}),$0=Vo(cs,A0),E0=Vo(cs,ds),Wo=(e=>(e.SPLICE_WALLET_REQUEST="SPLICE_WALLET_REQUEST",e.SPLICE_WALLET_RESPONSE="SPLICE_WALLET_RESPONSE",e.SPLICE_WALLET_EXT_READY="SPLICE_WALLET_EXT_READY",e.SPLICE_WALLET_EXT_ACK="SPLICE_WALLET_EXT_ACK",e.SPLICE_WALLET_EXT_OPEN="SPLICE_WALLET_EXT_OPEN",e.SPLICE_WALLET_IDP_AUTH_SUCCESS="SPLICE_WALLET_IDP_AUTH_SUCCESS",e.SPLICE_WALLET_LOGOUT="SPLICE_WALLET_LOGOUT",e))(Wo||{});is("type",[H({type:se("SPLICE_WALLET_REQUEST"),request:$0}),H({type:se("SPLICE_WALLET_RESPONSE"),response:E0}),H({type:se("SPLICE_WALLET_EXT_READY")}),H({type:se("SPLICE_WALLET_EXT_ACK")}),H({type:se("SPLICE_WALLET_EXT_OPEN"),url:oe().url()}),H({type:se("SPLICE_WALLET_IDP_AUTH_SUCCESS"),token:oe(),sessionId:oe()})]);is("walletType",[H({walletType:se("extension"),url:Pe(rs())}),H({walletType:se("remote"),url:oe().url()})]);H({name:oe()});var ps=class{constructor(e,t){this.url=e,this.accessToken=t}async handleErrorResponse(e){const t=await e.text();try{if(ls.safeParse(JSON.parse(t)).success)throw JSON.parse(t)}catch{}throw{error:{code:e.status,message:e.statusText,data:t}}}async submit(e){const t={jsonrpc:"2.0",method:e.method,params:e.params,id:Su()},r=this.accessToken?{Authorization:`Bearer ${this.accessToken}`}:void 0,o=await fetch(this.url.href,{method:"POST",headers:{...r,"Content-Type":"application/json"},body:JSON.stringify(t)});if(!o.ok)return this.handleErrorResponse(o);const n=await o.json(),i=ds.parse(n);if("error"in i)throw i;return i}},O0=Object.defineProperty,I0=(e,t,r)=>t in e?O0(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,j0=(e,t,r)=>I0(e,t+"",r),P0=class{constructor(e){j0(this,"transport"),this.transport=e}async request(e){const t=await this.transport.submit(e);if("error"in t)throw new Error("RPC error: "+t.error.code+" - "+t.error.message);return t.result}},ms=P0;class wt{constructor(){this.state=new Map,this.accessToken={get:()=>this.getWithStorage("accessToken"),set:t=>this.setWithStorage("accessToken",t),clear:()=>this.clearWithStorage("accessToken")},this.networkId={get:()=>this.getWithStorage("networkId"),set:t=>this.setWithStorage("networkId",t),clear:()=>this.clearWithStorage("networkId")},this.expirationDate={get:()=>this.getWithStorage("expirationDate"),set:t=>this.setWithStorage("expirationDate",t),clear:()=>this.clearWithStorage("expirationDate")},this.intendedPage={get:()=>this.getWithStorage("intendedPage"),set:t=>this.setWithStorage("intendedPage",t),clear:()=>this.clearWithStorage("intendedPage")}}static localStorageKey(t){return`com.splice.wallet.${t}`}getWithStorage(t){if(this.state.has(t))return this.state.get(t);const r=localStorage.getItem(wt.localStorageKey(t));if(r)return this.state.set(t,r),r}setWithStorage(t,r){localStorage.setItem(wt.localStorageKey(t),r),this.state.set(t,r)}clearWithStorage(t){localStorage.removeItem(wt.localStorageKey(t)),this.state.delete(t)}clearAuthState(){this.accessToken.clear(),this.networkId.clear(),this.expirationDate.clear(),this.intendedPage.clear()}}const F=new wt,T0="/wallets",C0="/404",ie="/login",nw="/transactions",pi=5e3;let ro=!1,oo=null;const bs=async()=>{const e=new URL(Ke("/api/v0/user"),window.location.origin);return oo||(oo=fetch(Ke("/.well-known/wallet-gateway-config")).then(t=>t.json()).then(t=>t?.userPath?new URL(t.userPath):e).catch(t=>(console.warn("Failed to fetch userPath from config, using default",t),e))),oo},hr=async e=>{try{const t=await bs();await new ms(new ps(t,e)).request({method:"removeSession"})}catch(t){console.debug("Failed to remove session:",t)}},Z0=async()=>{if(!ro){ro=!0;try{const e=F.accessToken.get();e&&await hr(e)}finally{F.clearAuthState(),ro=!1,$e(window.location.pathname)!==ie&&(window.location.href=fe(ie))}}};class N0 extends ps{async handleErrorResponse(t){return t.status===401&&Z0(),super.handleErrorResponse(t)}}const qo=async e=>{const t=await bs();return new ms(new N0(t,e))};var R0=Object.create,Xo=Object.defineProperty,D0=Object.getOwnPropertyDescriptor,us=(e,t)=>(t=Symbol[e])?t:Symbol.for("Symbol."+e),gs=e=>{throw TypeError(e)},U0=(e,t,r)=>t in e?Xo(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,M0=(e,t)=>Xo(e,"name",{value:t,configurable:!0}),Ko=e=>[,,,R0(e?.[us("metadata")]??null)],B0=["class","method","getter","setter","accessor","field","value","get","set"],fs=e=>e!==void 0&&typeof e!="function"?gs("Function expected"):e,L0=(e,t,r,o,n)=>({kind:B0[e],name:t,metadata:o,addInitializer:i=>r._?gs("Already initialized"):n.push(fs(i||null))}),F0=(e,t)=>U0(t,us("metadata"),e[3]),Qo=(e,t,r,o)=>{for(var n=0,i=e[t>>1],a=i&&i.length;n<a;n++)i[n].call(r);return o},en=(e,t,r,o,n,i)=>{var a,s,l,d=t&7,c=!1,p=0,u=e[p]||(e[p]=[]),f=d&&(n=n.prototype,d<5&&(d>3||!c)&&D0(n,r));M0(n,r);for(var y=o.length-1;y>=0;y--)l=L0(d,r,s={},e[3],u),a=(0,o[y])(n,l),s._=1,fs(a)&&(n=a);return F0(e,n),f&&Xo(n,r,f),c?d^4?i:f:n},hs,tn,vs,ws,rn,xs,ys,on,ks;const mi=()=>{const e=F.intendedPage.get();F.intendedPage.clear();const t=e||T0;window.location.href=fe(t)};hs=[Mo("user-app")];class uo extends(vs=ge){async handleLogout(){fo();const t=F.accessToken.get();if(!t){window.location.href=fe(ie);return}try{await(await qo(t)).request({method:"removeSession"})}catch(r){console.debug("Failed to remove session during logout:",r)}F.clearAuthState(),window.opener&&!window.opener.closed?(window.opener.postMessage({type:Wo.SPLICE_WALLET_LOGOUT},"*"),window.close()):window.location.href=fe(ie)}render(){return g`
|
|
1691
|
+
<app-layout
|
|
1692
|
+
iconSrc=${Ke("/icon.png")}
|
|
1693
|
+
@logout=${this.handleLogout}
|
|
1694
|
+
>
|
|
1695
|
+
<user-ui-auth-redirect></user-ui-auth-redirect>
|
|
1696
|
+
<slot></slot>
|
|
1697
|
+
</app-layout>
|
|
1698
|
+
`}}tn=Ko(vs);uo=en(tn,0,"UserApp",hs,uo);Qo(tn,1,uo);ws=[Mo("user-ui")];class go extends(xs=ge){connectedCallback(){super.connectedCallback();const t=$e(window.location.pathname)||"/";ll(t)||(window.location.href=fe(C0))}}rn=Ko(xs);go=en(rn,0,"UserUI",ws,go);Qo(rn,1,go);let xt=null;const fo=()=>{xt!==null&&(clearTimeout(xt),xt=null)};ys=[Mo("user-ui-auth-redirect")];class ho extends(ks=ge){connectedCallback(){super.connectedCallback(),this.handleAuthRedirect()}async handleAuthRedirect(){const r=$e(window.location.pathname)===ie,o=F.accessToken.get();if(!o){this.handleUnauthenticated(r);return}if(this.isTokenExpired()){this.handleExpiredToken(r);return}if(r){await this.handleAuthenticatedOnLoginPage(o);return}await this.handleAuthenticatedOnLoggedInPage(o)}getIntendedPageFromCurrentPath(){const t=$e(window.location.pathname);if(t&&t!=="/"&&t!==ie&&t!=="/callback")return t}clearAuthStateAndPreserveIntendedPage(){const t=this.getIntendedPageFromCurrentPath();F.clearAuthState(),t&&F.intendedPage.set(t)}handleUnauthenticated(t){if(!t){const r=this.getIntendedPageFromCurrentPath();r&&F.intendedPage.set(r),window.location.href=fe(ie)}}async handleExpiredToken(t){fo();const r=F.accessToken.get();r&&await hr(r),t?F.clearAuthState():(this.clearAuthStateAndPreserveIntendedPage(),window.location.href=fe(ie))}async handleAuthenticatedOnLoginPage(t){const r=await bi(t);r?(this.setTokenExpirationTimeout(),mi(),vo(t,r)):(await hr(t),F.clearAuthState())}async handleAuthenticatedOnLoggedInPage(t){if(!F.networkId.get())throw new Error("missing networkId in state manager");const o=await bi(t);if(!o){await hr(t),this.clearAuthStateAndPreserveIntendedPage(),window.location.href=fe(ie);return}this.setTokenExpirationTimeout(),vo(t,o),($e(window.location.pathname)||"/")==="/"&&mi()}setTokenExpirationTimeout(){fo();const t=new Date(F.expirationDate.get()||""),r=new Date,o=t.getTime()-r.getTime()-pi;o>0&&(xt=setTimeout(async()=>{const n=$e(window.location.pathname)===ie;await this.handleExpiredToken(n),xt=null},o))}isTokenExpired(){const t=new Date(F.expirationDate.get()||0);return Number(t)-pi<=Date.now()}}on=Ko(ks);ho=en(on,0,"UserUIAuthRedirect",ys,ho);Qo(on,1,ho);const bi=async e=>(await(await qo(e)).request({method:"listSessions"}).catch(()=>null))?.sessions?.[0]?.id??void 0,vo=(e,t)=>{window.opener&&!window.opener.closed&&window.opener.postMessage({type:Wo.SPLICE_WALLET_IDP_AUTH_SUCCESS,token:e,sessionId:t},"*")},iw=async(e,t)=>{const o=await(await qo(e)).request({method:"addSession",params:{networkId:t}});vo(e,o.id)};export{fe as A,eu as K,nw as T,le as Y,os as a,g as b,qo as c,is as d,F as e,ge as f,iw as g,Ke as h,K as i,n0 as j,rw as k,se as l,ow as m,bo as n,H as o,ui as p,mi as r,oe as s,Mo as t,no as u,k as w};
|