@ic-pay/icpay-widget 1.2.21 → 1.2.51

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,2 +0,0 @@
1
- import{Actor as ut,HttpAgent as At}from"@dfinity/agent";import{Actor as V}from"@dfinity/agent";var I=class{constructor(t){this.id="plug";this.label="Plug";this.icon=null;this._config=t.config||{},this._adapterCfg=t.adapter}async isInstalled(){return!!(typeof window<"u"&&window.ic&&window.ic.plug)}async isConnected(){try{return!!await window.ic?.plug?.isConnected?.()}catch{return!1}}async connect(){if(!await this.isInstalled())throw new Error("Plug is not installed");await this.isConnected()||await window.ic.plug.requestConnect?.({host:this._config.icHost});let e=await window.ic.plug.getPrincipal?.(),n=typeof e?.toText=="function"?e.toText():e?.toString?.()||null;return{owner:n,principal:n,connected:!0}}async disconnect(){try{await window.ic?.plug?.disconnect?.()}catch{}}async getPrincipal(){try{let t=await window.ic.plug.getPrincipal?.();return typeof t?.toText=="function"?t.toText():t?.toString?.()||null}catch{return null}}getActor(t){let e=window.ic?.plug?.agent;if(!e)throw new Error("Plug agent not initialized");return V.createActor(t.idl,{agent:e,canisterId:t.canisterId})}};import{Actor as J,HttpAgent as H}from"@dfinity/agent";import{AuthClient as X}from"@dfinity/auth-client";var D=class{constructor(t){this.id="ii";this.label="Internet Identity";this.icon=null;this._client=null;this._agent=null;this._config=t.config||{}}async client(){return this._client?this._client:(this._client=await X.create(),this._client)}async isInstalled(){return!0}async isConnected(){return await(await this.client()).isAuthenticated()}async connect(){let t=await this.client();await t.isAuthenticated()||await t.login({identityProvider:this._config.derivationOrigin,maxTimeToLive:BigInt(10080*60*1e9)});let n=t.getIdentity();this._agent=new H({host:this._config.icHost,identity:n});let i=n.getPrincipal().toText();return{owner:i,principal:i,connected:!0}}async disconnect(){try{await(await this.client()).logout()}catch{}this._agent=null}async getPrincipal(){try{return(await this.client()).getIdentity().getPrincipal().toText()}catch{return null}}getActor(t){if(!this._agent)throw new Error("II agent not initialized");return J.createActor(t.idl,{agent:this._agent,canisterId:t.canisterId})}};import{Actor as F,HttpAgent as q}from"@dfinity/agent";import{PostMessageTransport as K}from"@slide-computer/signer-web";import{Signer as _}from"@slide-computer/signer";import{SignerAgent as $}from"@slide-computer/signer-agent";var j=class{constructor(t){this.id="nfid";this.label="NFID";this.icon=null;this._agent=null;this._principal=null;this._config=t.config||{}}async isInstalled(){return!0}async isConnected(){return!!this._agent}async connect(){let e=(this._config?.adapters||{}).nfid?.config||{},n=e.signerUrl,i=e.hostUrl||this._config.icHost;if(!n)throw new Error("NFID signerUrl not configured");if(!i)throw new Error("IC host not configured");let a=new q({host:i}),o=new K({url:n,...e.transport||{}}),N=new _({transport:o});await N.openChannel();let g=(await N.accounts())?.[0]?.owner,O=await $.create({signer:N,agent:a,account:g}),c=null;try{c=(await O.getPrincipal())?.toText?.()||null}catch{}return this._agent=O,this._principal=c,{owner:c,principal:c,connected:!0}}async disconnect(){this._agent=null,this._principal=null}async getPrincipal(){return this._principal}getActor(t){if(!this._agent)throw new Error("NFID agent not initialized");return F.createActor(t.idl,{agent:this._agent,canisterId:t.canisterId})}};import{Actor as tt,HttpAgent as et}from"@dfinity/agent";import{PostMessageTransport as nt}from"@slide-computer/signer-web";import{Signer as rt}from"@slide-computer/signer";import{SignerAgent as it}from"@slide-computer/signer-agent";var d=class{constructor(t){this.id="oisy";this.label="Oisy";this.icon=null;this._agent=null;this._principal=null;this._config=t.config||{}}async isInstalled(){return!0}async isConnected(){return!!this._agent}async connect(){let e=(this._config?.adapters||{}).oisy?.config||{},n=e.signerUrl,i=e.hostUrl||this._config.icHost,a=e.transport||{};if(!n)throw new Error("Oisy signerUrl not configured");if(!i)throw new Error("IC host not configured");let o=a.windowOpenerFeatures??"",N=new et({host:i}),h=new nt({url:n,windowOpenerFeatures:o,detectNonClickEstablishment:!1,...a}),g=new rt({transport:h});await g.openChannel();let c=(await g.accounts())?.[0]?.owner,x=await it.create({signer:g,agent:N,account:c}),y=null;try{y=(await x.getPrincipal())?.toText?.()||null}catch{}return this._agent=x,this._principal=y,{owner:y,principal:y,connected:!0}}async disconnect(){this._agent=null,this._principal=null}async getPrincipal(){return this._principal}getActor(t){if(!this._agent)throw new Error("Oisy agent not initialized");return tt.createActor(t.idl,{agent:this._agent,canisterId:t.canisterId})}};var z=class{constructor(t){this.id="metamask";this.label="MetaMask";this.config=t.config||{}}getProvider(){try{let e=(typeof window<"u"?window:{}).ethereum;if(e&&Array.isArray(e.providers)){let n=e.providers.find(i=>i&&i.isMetaMask);if(n)return n}if(e&&e.isMetaMask)return e}catch{}return null}getEvmProvider(){return this.getProvider()}async isInstalled(){try{return!!this.getProvider()}catch{return!1}}async isConnected(){try{let t=this.getProvider();if(!t)return!1;let n=await(typeof t.request=="function"?t.request({method:"eth_accounts"}):Promise.resolve([]));return Array.isArray(n)&&n.length>0}catch{return!1}}async connect(){let t=this.getProvider();if(!t)throw new Error("MetaMask not available");let e=await t.request?.({method:"eth_requestAccounts"}),n=Array.isArray(e)&&e[0]||"";if(!n)throw new Error("No account returned by MetaMask");return{owner:n,principal:n,connected:!0}}async disconnect(){try{let t=this.getProvider()||(typeof window<"u"?window.ethereum:null);if(!t)return;try{await t.request?.({method:"wallet_requestPermissions",params:[{eth_accounts:{}}]})}catch{}try{t.removeAllListeners?.("accountsChanged")}catch{}try{t.removeAllListeners?.("chainChanged")}catch{}try{t.removeAllListeners?.("disconnect")}catch{}}catch{}}async getPrincipal(){try{let t=this.getProvider()||(typeof window<"u"?window.ethereum:null);if(!t)return null;let e=await t.request?.({method:"eth_accounts"});return Array.isArray(e)&&e[0]||""||null}catch{return null}}getActor(t){throw new Error("EVM wallets cannot provide IC actors. Use IC adapters for IC canister interactions.")}};function M(){try{let r=typeof window<"u"?window:{};if(r.coinbaseWalletExtension)return r.coinbaseWalletExtension;let t=r.ethereum;if(t&&Array.isArray(t.providers)){let e=t.providers.find(n=>n&&(n.isCoinbaseWallet||n?.provider?.isCoinbaseWallet));if(e)return e}return t&&(t.isCoinbaseWallet||t?.provider?.isCoinbaseWallet)?t:null}catch{return null}}var w=class{constructor(t){this.id="coinbase";this.label="Coinbase Wallet";this.config=t.config||{}}getEvmProvider(){return M()}async isInstalled(){try{return!!M()}catch{return!1}}async isConnected(){try{let t=M();if(!t)return!1;let e=await t.request({method:"eth_accounts"});return Array.isArray(e)&&e.length>0}catch{return!1}}async connect(){let t=M();if(!t)throw new Error("Coinbase Wallet not available");let e=await t.request({method:"eth_requestAccounts"}),n=Array.isArray(e)&&e[0]||"";if(!n)throw new Error("No account returned by Coinbase Wallet");return{owner:n,principal:n,connected:!0}}async disconnect(){try{let t=M();if(!t)return;try{await t.request?.({method:"wallet_requestPermissions",params:[{eth_accounts:{}}]})}catch{}try{t.removeAllListeners?.("accountsChanged")}catch{}try{t.removeAllListeners?.("chainChanged")}catch{}try{t.removeAllListeners?.("disconnect")}catch{}}catch{}}async getPrincipal(){try{let t=M();if(!t)return null;let e=await t.request({method:"eth_accounts"});return Array.isArray(e)&&e[0]||""||null}catch{return null}}getActor(t){throw new Error("EVM wallets cannot provide IC actors. Use IC adapters for IC canister interactions.")}};function S(){try{let r=typeof navigator<"u"?navigator:window?.navigator;return!!(r&&(r.brave||String(r.userAgent||"").toLowerCase().includes("brave")))}catch{return!1}}function ot(r){try{let t=typeof window<"u"?window:{};if(t.brave?.ethereum)return t.brave.ethereum;let e=t.ethereum;if(!e)return null;if(Array.isArray(e.providers)&&e.providers.length){let i=e.providers.find(a=>a&&(a.isBraveWallet||a?.walletMeta?.name&&String(a.walletMeta.name).toLowerCase().includes("brave")));if(i)return i;if(r&&S()){let a=e.providers.find(o=>o&&typeof o.request=="function"&&!o.isMetaMask&&!o.isCoinbaseWallet&&!o.isRabby&&!o.isOkxWallet&&!o.isOKExWallet&&!o.isPhantom);return a||e.providers[0]||null}return null}return e.isBraveWallet||(e?.walletMeta?.name?String(e.walletMeta.name).toLowerCase():"").includes("brave")||r&&S()&&typeof e.request=="function"&&!e.isMetaMask&&!e.isCoinbaseWallet&&!e.isRabby&&!e.isOkxWallet&&!e.isOKExWallet&&!e.isPhantom?e:null}catch{return null}}var T=class{constructor(t){this.id="brave";this.label="Brave Wallet";this.config=t.config||{}}getProvider(){return ot(!0)}getEvmProvider(){return this.getProvider()}async isInstalled(){try{return!!this.getProvider()}catch{return!1}}async isConnected(){try{let t=this.getProvider();if(!t)return!1;let e=await t.request?.({method:"eth_accounts"});return Array.isArray(e)&&e.length>0&&typeof e[0]=="string"&&e[0]?!0:!!(t?.selectedAddress||Array.isArray(t?.accounts)&&t.accounts[0])}catch{return!1}}async connect(){let t=this.getProvider();if(!t)throw new Error("Brave Wallet not available");let e=await t.request?.({method:"eth_requestAccounts"}),n=Array.isArray(e)&&e[0]||"";if(!n)throw new Error("No account returned by Brave Wallet");return{owner:n,principal:n,connected:!0}}async disconnect(){try{let t=this.getProvider();if(!t)return;try{await t.request?.({method:"wallet_requestPermissions",params:[{eth_accounts:{}}]})}catch{}try{t.removeAllListeners?.("accountsChanged")}catch{}try{t.removeAllListeners?.("chainChanged")}catch{}try{t.removeAllListeners?.("disconnect")}catch{}}catch{}}async getPrincipal(){try{let t=this.getProvider();if(!t)return null;let e=await t.request?.({method:"eth_accounts"});if(Array.isArray(e)&&e.length>0&&typeof e[0]=="string"&&e[0])return e[0];let n=t?.selectedAddress||Array.isArray(t?.accounts)&&t.accounts[0];return typeof n=="string"&&n?n:null}catch{return null}}getActor(t){throw new Error("EVM wallets cannot provide IC actors. Use IC adapters for IC canister interactions.")}};function l(){try{let t=(typeof window<"u"?window:{}).ethereum;if(t&&Array.isArray(t.providers)){let e=t.providers.find(n=>n&&n.isRainbow);if(e)return e}return t&&t.isRainbow?t:null}catch{return null}}var L=class{constructor(t){this.id="rainbow";this.label="Rainbow";this.config=t.config||{}}getEvmProvider(){return l()}async isInstalled(){try{return!!l()}catch{return!1}}async isConnected(){try{let t=l();if(!t)return!1;let e=await t.request({method:"eth_accounts"});return Array.isArray(e)&&e.length>0}catch{return!1}}async connect(){let t=l();if(!t)throw new Error("Rainbow not available");let e=await t.request({method:"eth_requestAccounts"}),n=Array.isArray(e)&&e[0]||"";if(!n)throw new Error("No account returned by Rainbow");return{owner:n,principal:n,connected:!0}}async disconnect(){try{let t=l();if(!t)return;try{await t.request?.({method:"wallet_requestPermissions",params:[{eth_accounts:{}}]})}catch{}try{t.removeAllListeners?.("accountsChanged")}catch{}try{t.removeAllListeners?.("chainChanged")}catch{}try{t.removeAllListeners?.("disconnect")}catch{}}catch{}}async getPrincipal(){try{let t=l();if(!t)return null;let e=await t.request({method:"eth_accounts"});return Array.isArray(e)&&e[0]||""||null}catch{return null}}getActor(t){throw new Error("EVM wallets cannot provide IC actors. Use IC adapters for IC canister interactions.")}};function s(){try{let t=(typeof window<"u"?window:{}).ethereum;if(t&&Array.isArray(t.providers)){let e=t.providers.find(n=>n&&n.isRabby);if(e)return e}return t&&t.isRabby?t:null}catch{return null}}var p=class{constructor(t){this.id="rabby";this.label="Rabby";this.config=t.config||{}}getEvmProvider(){return s()}async isInstalled(){try{return!!s()}catch{return!1}}async isConnected(){try{let t=s();if(!t)return!1;let e=await t.request({method:"eth_accounts"});return Array.isArray(e)&&e.length>0}catch{return!1}}async connect(){let t=s();if(!t)throw new Error("Rabby not available");let e=await t.request({method:"eth_requestAccounts"}),n=Array.isArray(e)&&e[0]||"";if(!n)throw new Error("No account returned by Rabby");return{owner:n,principal:n,connected:!0}}async disconnect(){try{let t=s();if(!t)return;try{await t.request?.({method:"wallet_requestPermissions",params:[{eth_accounts:{}}]})}catch{}try{t.removeAllListeners?.("accountsChanged")}catch{}try{t.removeAllListeners?.("chainChanged")}catch{}try{t.removeAllListeners?.("disconnect")}catch{}}catch{}}async getPrincipal(){try{let t=s();if(!t)return null;let e=await t.request({method:"eth_accounts"});return Array.isArray(e)&&e[0]||""||null}catch{return null}}getActor(t){throw new Error("EVM wallets cannot provide IC actors. Use IC adapters for IC canister interactions.")}};function u(){try{let r=typeof window<"u"?window:{};if(r.phantom&&r.phantom.ethereum)return r.phantom.ethereum;let t=r.ethereum;if(t&&Array.isArray(t.providers)){let e=t.providers.find(n=>n&&(n.isPhantom||n.isPhantomEthereum));if(e)return e}return t&&(t.isPhantom||t.isPhantomEthereum)?t:null}catch{return null}}var m=class{constructor(t){this.id="phantom";this.label="Phantom";this.config=t.config||{}}getEvmProvider(){return u()}async isInstalled(){try{return!!u()}catch{return!1}}async isConnected(){try{let t=u();if(!t)return!1;let e=await t.request({method:"eth_accounts"});return Array.isArray(e)&&e.length>0}catch{return!1}}async connect(){let t=u();if(!t)throw new Error("Phantom (EVM) not available");let e=await t.request({method:"eth_requestAccounts"}),n=Array.isArray(e)&&e[0]||"";if(!n)throw new Error("No account returned by Phantom");return{owner:n,principal:n,connected:!0}}async disconnect(){try{let t=u();if(!t)return;try{await t.request?.({method:"wallet_requestPermissions",params:[{eth_accounts:{}}]})}catch{}try{t.removeAllListeners?.("accountsChanged")}catch{}try{t.removeAllListeners?.("chainChanged")}catch{}try{t.removeAllListeners?.("disconnect")}catch{}}catch{}}async getPrincipal(){try{let t=u();if(!t)return null;let e=await t.request({method:"eth_accounts"});return Array.isArray(e)&&e[0]||""||null}catch{return null}}getActor(t){throw new Error("EVM wallets cannot provide IC actors. Use IC adapters for IC canister interactions.")}};function A(){try{let r=typeof window<"u"?window:{},t=r.okxwallet;if(t&&(t.isOkxWallet||t.ethereum))return t.ethereum||t;let e=r.ethereum;if(e&&Array.isArray(e.providers)){let n=e.providers.find(i=>i&&(i.isOkxWallet||i?.provider?.isOkxWallet));if(n)return n}return e&&(e.isOkxWallet||e?.provider?.isOkxWallet)?e:null}catch{return null}}var f=class{constructor(t){this.id="okx";this.label="OKX Wallet";this.config=t.config||{}}getEvmProvider(){return A()}async isInstalled(){try{return!!A()}catch{return!1}}async isConnected(){try{let t=A();if(!t)return!1;let e=await t.request({method:"eth_accounts"});return Array.isArray(e)&&e.length>0}catch{return!1}}async connect(){let t=A();if(!t)throw new Error("OKX Wallet not available");let e=await t.request({method:"eth_requestAccounts"}),n=Array.isArray(e)&&e[0]||"";if(!n)throw new Error("No account returned by OKX Wallet");return{owner:n,principal:n,connected:!0}}async disconnect(){try{let t=A();if(!t)return;try{await t.request?.({method:"wallet_requestPermissions",params:[{eth_accounts:{}}]})}catch{}try{t.removeAllListeners?.("accountsChanged")}catch{}try{t.removeAllListeners?.("chainChanged")}catch{}try{t.removeAllListeners?.("disconnect")}catch{}}catch{}}async getPrincipal(){try{let t=A();if(!t)return null;let e=await t.request({method:"eth_accounts"});return Array.isArray(e)&&e[0]||""||null}catch{return null}}getActor(t){throw new Error("EVM wallets cannot provide IC actors. Use IC adapters for IC canister interactions.")}};var E="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPCEtLSBHZW5lcmF0b3I6IEFkb2JlIElsbHVzdHJhdG9yIDI0LjAuMCwgU1ZHIEV4cG9ydCBQbHVnLUluIC4gU1ZHIFZlcnNpb246IDYuMDAgQnVpbGQgMCkgIC0tPgo8c3ZnIHZlcnNpb249IjEuMSIgaWQ9IkxheWVyXzEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4IgoJIHZpZXdCb3g9IjAgMCAzNTguOCAxNzkuOCIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAgMzU4LjggMTc5Ljg7IiB4bWw6c3BhY2U9InByZXNlcnZlIj4KPHN0eWxlIHR5cGU9InRleHQvY3NzIj4KCS5zdDB7ZmlsbDp1cmwoI1NWR0lEXzFfKTt9Cgkuc3Qxe2ZpbGw6dXJsKCNTVkdJRF8yXyk7fQoJLnN0MntmaWxsLXJ1bGU6ZXZlbm9kZDtjbGlwLXJ1bGU6ZXZlbm9kZDtmaWxsOiMyOUFCRTI7fQo8L3N0eWxlPgo8bGluZWFyR3JhZGllbnQgaWQ9IlNWR0lEXzFfIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9IjIyNC43ODUzIiB5MT0iMjU3Ljc1MzYiIHgyPSIzNDguMDY2MyIgeTI9IjEzMy40NTgxIiBncmFkaWVudFRyYW5zZm9ybT0ibWF0cml4KDEgMCAwIC0xIDAgMjcyKSI+Cgk8c3RvcCAgb2Zmc2V0PSIwLjIxIiBzdHlsZT0ic3RvcC1jb2xvcjojRjE1QTI0Ii8+Cgk8c3RvcCAgb2Zmc2V0PSIwLjY4NDEiIHN0eWxlPSJzdG9wLWNvbG9yOiNGQkIwM0IiLz4KPC9saW5lYXJHcmFkaWVudD4KPHBhdGggY2xhc3M9InN0MCIgZD0iTTI3MS42LDBjLTIwLDAtNDEuOSwxMC45LTY1LDMyLjRjLTEwLjksMTAuMS0yMC41LDIxLjEtMjcuNSwyOS44YzAsMCwxMS4yLDEyLjksMjMuNSwyNi44CgljNi43LTguNCwxNi4yLTE5LjgsMjcuMy0zMC4xYzIwLjUtMTkuMiwzMy45LTIzLjEsNDEuNi0yMy4xYzI4LjgsMCw1Mi4yLDI0LjIsNTIuMiw1NC4xYzAsMjkuNi0yMy40LDUzLjgtNTIuMiw1NC4xCgljLTEuNCwwLTMtMC4yLTUtMC42YzguNCwzLjksMTcuNSw2LjcsMjYsNi43YzUyLjgsMCw2My4yLTM2LjUsNjMuOC0zOS4xYzEuNS02LjcsMi40LTEzLjcsMi40LTIwLjlDMzU4LjYsNDAuNCwzMTkuNiwwLDI3MS42LDB6Ii8+CjxsaW5lYXJHcmFkaWVudCBpZD0iU1ZHSURfMl8iIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIiB4MT0iMTMzLjk0NjEiIHkxPSIxMDYuNDI2MiIgeDI9IjEwLjY2NTMiIHkyPSIyMzAuNzIxNSIgZ3JhZGllbnRUcmFuc2Zvcm09Im1hdHJpeCgxIDAgMCAtMSAwIDI3MikiPgoJPHN0b3AgIG9mZnNldD0iMC4yMSIgc3R5bGU9InN0b3AtY29sb3I6I0VEMUU3OSIvPgoJPHN0b3AgIG9mZnNldD0iMC44OTI5IiBzdHlsZT0ic3RvcC1jb2xvcjojNTIyNzg1Ii8+CjwvbGluZWFyR3JhZGllbnQ+CjxwYXRoIGNsYXNzPSJzdDEiIGQ9Ik04Ny4xLDE3OS44YzIwLDAsNDEuOS0xMC45LDY1LTMyLjRjMTAuOS0xMC4xLDIwLjUtMjEuMSwyNy41LTI5LjhjMCwwLTExLjItMTIuOS0yMy41LTI2LjgKCWMtNi43LDguNC0xNi4yLDE5LjgtMjcuMywzMC4xYy0yMC41LDE5LTM0LDIzLjEtNDEuNiwyMy4xYy0yOC44LDAtNTIuMi0yNC4yLTUyLjItNTQuMWMwLTI5LjYsMjMuNC01My44LDUyLjItNTQuMQoJYzEuNCwwLDMsMC4yLDUsMC42Yy04LjQtMy45LTE3LjUtNi43LTI2LTYuN0MxMy40LDI5LjYsMyw2Ni4xLDIuNCw2OC44QzAuOSw3NS41LDAsODIuNSwwLDg5LjdDMCwxMzkuNCwzOSwxNzkuOCw4Ny4xLDE3OS44eiIvPgo8cGF0aCBjbGFzcz0ic3QyIiBkPSJNMTI3LjMsNTkuN2MtNS44LTUuNi0zNC0yOC41LTYxLTI5LjNDMTguMSwyOS4yLDQsNjQuMiwyLjcsNjguN0MxMiwyOS41LDQ2LjQsMC4yLDg3LjIsMAoJYzMzLjMsMCw2NywzMi43LDkxLjksNjIuMmMwLDAsMC4xLTAuMSwwLjEtMC4xYzAsMCwxMS4yLDEyLjksMjMuNSwyNi44YzAsMCwxNCwxNi41LDI4LjgsMzFjNS44LDUuNiwzMy45LDI4LjIsNjAuOSwyOQoJYzQ5LjUsMS40LDYzLjItMzUuNiw2My45LTM4LjRjLTkuMSwzOS41LTQzLjYsNjguOS04NC42LDY5LjFjLTMzLjMsMC02Ny0zMi43LTkyLTYyLjJjMCwwLjEtMC4xLDAuMS0wLjEsMC4yCgljMCwwLTExLjItMTIuOS0yMy41LTI2LjhDMTU2LjIsOTAuOCwxNDIuMiw3NC4yLDEyNy4zLDU5Ljd6IE0yLjcsNjkuMWMwLTAuMSwwLTAuMiwwLjEtMC4zQzIuNyw2OC45LDIuNyw2OSwyLjcsNjkuMXoiLz4KPC9zdmc+Cg==";var b="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNjQiIGhlaWdodD0iNjQiIHZpZXdCb3g9IjAgMCA2NCA2NCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0xNS45MDIyIDMuMTU2MjlDMTYuNzcxNCAzLjA2MzYzIDE3LjQwMDggMi4yODM5OCAxNy4zMDgxIDEuNDE0ODlDMTcuMjE1NSAwLjU0NTgwOSAxNi40MzU4IC0wLjA4MzYwOTkgMTUuNTY2NyAwLjAwOTA0OTQ2TDEyLjMzNDUgMC4zNTM2MzNDMTAuNjc4NiAwLjUzMDE2NSA5LjM1MDQ2IDAuNjcxNzUxIDguMjcxOCAwLjg2NzMwNkM3LjE2MDYgMS4wNjg3NiA2LjIwODI3IDEuMzQ0MTQgNS4zMjM3OCAxLjgzOTgxQzMuODg3NzMgMi42NDQ1NyAyLjY5NzE5IDMuODIzODUgMS44Nzk0NCA1LjI1MTk2QzEuMzc1NjggNi4xMzE3MyAxLjA5MjA0IDcuMDgxMTIgMC44ODExODUgOC4xODk2MUMwLjY3NjUzNSA5LjI2NTQ5IDAuNTIzODkzIDEwLjU5MSAwLjMzMzYyMSAxMi4yNDMyTDAuMzI1NDI0IDEyLjMxNDRMMC4wMDgwNjAwNiAxNS40NzA0Qy0wLjA3OTM4NzUgMTYuMzQgMC41NTQ3MjYgMTcuMTE1OSAxLjQyNDM5IDE3LjIwMzRDMi4yOTQwNiAxNy4yOTA4IDMuMDY5OTUgMTYuNjU2NyAzLjE1NzQgMTUuNzg3MUwzLjQ3MjQ4IDEyLjY1MzhDMy42NzA1NCAxMC45MzQgMy44MTA2NiA5LjcyNzMgMy45OTA2NiA4Ljc4MTAzQzQuMTY3MzEgNy44NTIzNSA0LjM2NDQ5IDcuMjgxODEgNC42MjYyNiA2LjgyNDY3QzUuMTU5MDEgNS44OTQyNyA1LjkzNDg3IDUuMTI1NTkgNi44NzEyMSA0LjYwMDg2QzcuMzMxNTEgNC4zNDI5MSA3LjkwNDg2IDQuMTUwNTEgOC44MzY0NiAzLjk4MTYxQzkuNzg3NjYgMy44MDkxNiAxMS4wMDA1IDMuNjc4ODggMTIuNzI5OSAzLjQ5NDVMMTUuOTAyMiAzLjE1NjI5Wk00Ni42OTE5IDEuNDE0ODlDNDYuNTk5MiAyLjI4Mzk4IDQ3LjIyODYgMy4wNjM2MyA0OC4wOTc4IDMuMTU2MjlMNTEuMjcwMSAzLjQ5NDVDNTIuOTk5NSAzLjY3ODg4IDU0LjIxMjMgMy44MDkxNiA1NS4xNjM1IDMuOTgxNjFDNTYuMDk1MSA0LjE1MDUxIDU2LjY2ODUgNC4zNDI5MSA1Ny4xMjg4IDQuNjAwODZDNTguMDY1MSA1LjEyNTU5IDU4Ljg0MSA1Ljg5NDI3IDU5LjM3MzcgNi44MjQ2N0M1OS42MzU1IDcuMjgxODEgNTkuODMyNyA3Ljg1MjM1IDYwLjAwOTMgOC43ODEwM0M2MC4xODkzIDkuNzI3MyA2MC4zMjk1IDEwLjkzNCA2MC41Mjc1IDEyLjY1MzhMNjAuODQyNiAxNS43ODcxQzYwLjkzIDE2LjY1NjcgNjEuNzA1OSAxNy4yOTA4IDYyLjU3NTYgMTcuMjAzNEM2My40NDUzIDE3LjExNTkgNjQuMDc5NCAxNi4zNCA2My45OTE5IDE1LjQ3MDRMNjMuNjc0NiAxMi4zMTQ0TDYzLjY2NjQgMTIuMjQzMkM2My40NzYxIDEwLjU5MSA2My4zMjM1IDkuMjY1NDkgNjMuMTE4OCA4LjE4OTYxQzYyLjkwOCA3LjA4MTEyIDYyLjYyNDMgNi4xMzE3MyA2Mi4xMjA2IDUuMjUxOTZDNjEuMzAyOCAzLjgyMzg1IDYwLjExMjMgMi42NDQ1NyA1OC42NzYyIDEuODM5ODFDNTcuNzkxNyAxLjM0NDE0IDU2LjgzOTQgMS4wNjg3NiA1NS43MjgyIDAuODY3MzA2QzU0LjY0OTUgMC42NzE3NTEgNTMuMzIxNCAwLjUzMDE2NSA1MS42NjU1IDAuMzUzNjMzTDQ4LjQzMzMgMC4wMDkwNDk0NkM0Ny41NjQyIC0wLjA4MzYwOTkgNDYuNzg0NSAwLjU0NTgwOSA0Ni42OTE5IDEuNDE0ODlaTTQ2LjY5MTkgNjIuNTg1MUM0Ni41OTkyIDYxLjcxNiA0Ny4yMjg2IDYwLjkzNjQgNDguMDk3OCA2MC44NDM3TDUxLjI3MDEgNjAuNTA1NUM1Mi45OTk1IDYwLjMyMTEgNTQuMjEyMyA2MC4xOTA4IDU1LjE2MzUgNjAuMDE4NEM1Ni4wOTUxIDU5Ljg0OTUgNTYuNjY4NSA1OS42NTcxIDU3LjEyODggNTkuMzk5MUM1OC4wNjUxIDU4Ljg3NDQgNTguODQxIDU4LjEwNTcgNTkuMzczNyA1Ny4xNzUzQzU5LjYzNTUgNTYuNzE4MiA1OS44MzI3IDU2LjE0NzYgNjAuMDA5MyA1NS4yMTlDNjAuMTg5MyA1NC4yNzI3IDYwLjMyOTUgNTMuMDY2IDYwLjUyNzUgNTEuMzQ2Mkw2MC44NDI2IDQ4LjIxMjlDNjAuOTMgNDcuMzQzMyA2MS43MDU5IDQ2LjcwOTIgNjIuNTc1NiA0Ni43OTY2QzYzLjQ0NTMgNDYuODg0MSA2NC4wNzk0IDQ3LjY2IDYzLjk5MTkgNDguNTI5Nkw2My42NzQ2IDUxLjY4NTZMNjMuNjY2NCA1MS43NTY4QzYzLjQ3NjEgNTMuNDA5IDYzLjMyMzUgNTQuNzM0NSA2My4xMTg4IDU1LjgxMDRDNjIuOTA4IDU2LjkxODkgNjIuNjI0MyA1Ny44NjgzIDYyLjEyMDYgNTguNzQ4QzYxLjMwMjggNjAuMTc2MiA2MC4xMTIzIDYxLjM1NTQgNTguNjc2MiA2Mi4xNjAyQzU3Ljc5MTcgNjIuNjU1OSA1Ni44Mzk0IDYyLjkzMTIgNTUuNzI4MiA2My4xMzI3QzU0LjY0OTYgNjMuMzI4MiA1My4zMjE2IDYzLjQ2OTggNTEuNjY1OCA2My42NDYzTDUxLjY2NTYgNjMuNjQ2M0w1MS42NjU1IDYzLjY0NjRMNTEuNjY1NSA2My42NDY0TDQ4LjQzMzMgNjMuOTkxQzQ3LjU2NDIgNjQuMDgzNiA0Ni43ODQ1IDYzLjQ1NDIgNDYuNjkxOSA2Mi41ODUxWk0xNy4zMDgxIDYyLjU4NTZDMTcuNDAwOCA2MS43MTY1IDE2Ljc3MTQgNjAuOTM2OSAxNS45MDIyIDYwLjg0NDJMMTIuNzI5OSA2MC41MDZDMTEuMDAwNSA2MC4zMjE2IDkuNzg3NjYgNjAuMTkxMyA4LjgzNjQ2IDYwLjAxODlDNy45MDQ4NiA1OS44NSA3LjMzMTUxIDU5LjY1NzYgNi44NzEyMSA1OS4zOTk2QzUuOTM0ODcgNTguODc0OSA1LjE1OTAxIDU4LjEwNjIgNC42MjYyNiA1Ny4xNzU4QzQuMzY0NDkgNTYuNzE4NyA0LjE2NzMxIDU2LjE0ODEgMy45OTA2NiA1NS4yMTk1QzMuODEwNjYgNTQuMjczMiAzLjY3MDU0IDUzLjA2NjUgMy40NzI0OCA1MS4zNDY3TDMuMTU3NCA0OC4yMTM0QzMuMDY5OTUgNDcuMzQzOCAyLjI5NDA2IDQ2LjcwOTcgMS40MjQzOSA0Ni43OTcxQzAuNTU0NzI2IDQ2Ljg4NDYgLTAuMDc5Mzg3NSA0Ny42NjA0IDAuMDA4MDYwMDYgNDguNTMwMUwwLjMyNTQyNCA1MS42ODYxTDAuMzMzNjIxIDUxLjc1NzNDMC41MjM4OTMgNTMuNDA5NSAwLjY3NjUzNSA1NC43MzUgMC44ODExODUgNTUuODEwOUMxLjA5MjA0IDU2LjkxOTQgMS4zNzU2OCA1Ny44Njg4IDEuODc5NDQgNTguNzQ4NUMyLjY5NzE5IDYwLjE3NjYgMy44ODc3MyA2MS4zNTU5IDUuMzIzNzggNjIuMTYwN0M2LjIwODI3IDYyLjY1NjMgNy4xNjA2IDYyLjkzMTcgOC4yNzE4IDYzLjEzMzJDOS4zNTA0NCA2My4zMjg3IDEwLjY3ODYgNjMuNDcwMyAxMi4zMzQ1IDYzLjY0NjhMMTIuMzM0NSA2My42NDY5TDE1LjU2NjcgNjMuOTkxNEMxNi40MzU4IDY0LjA4NDEgMTcuMjE1NSA2My40NTQ3IDE3LjMwODEgNjIuNTg1NlpNMTYuNDUxMiAxOS43OTU0QzE1LjY5NTUgMTkuNzk1NCAxNS4wODI4IDIwLjQwODEgMTUuMDgyOCAyMS4xNjM4VjQzLjI5NzJDMTUuMDgyOCA0NC4wNTMgMTUuNjk1NSA0NC42NjU2IDE2LjQ1MTIgNDQuNjY1NkgyMC43NDk0QzIxLjUwNTIgNDQuNjY1NiAyMi4xMTc4IDQ0LjA1MyAyMi4xMTc4IDQzLjI5NzJWMjEuMTYzOEMyMi4xMTc4IDIwLjQwODEgMjEuNTA1MiAxOS43OTU0IDIwLjc0OTQgMTkuNzk1NEgxNi40NTEyWk0yOC4xMDgyIDE5Ljc5NTRDMjcuMzUyNSAxOS43OTU0IDI2LjczOTggMjAuNDA4MSAyNi43Mzk4IDIxLjE2MzhWNDMuMjk3MkMyNi43Mzk4IDQ0LjA1MyAyNy4zNTI1IDQ0LjY2NTYgMjguMTA4MiA0NC42NjU2SDM4LjUwMDRDNDEuMjI0NCA0NC42NjU2IDQzLjY0MDUgNDQuMTU2NCA0NS43NDg3IDQzLjEzNzlDNDcuODU2OCA0Mi4xMTk0IDQ5LjQ5MTIgNDAuNjc0NiA1MC42NTE5IDM4LjgwMzRDNTEuODEyNSAzNi45MzIyIDUyLjM5MjkgMzQuNzQxMiA1Mi4zOTI5IDMyLjIzMDVDNTIuMzkyOSAyOS43MTk4IDUxLjgxMjUgMjcuNTI4OSA1MC42NTE5IDI1LjY1NzdDNDkuNDkxMiAyMy43ODY1IDQ3Ljg1NjggMjIuMzQxNyA0NS43NDg3IDIxLjMyMzJDNDMuNjQwNSAyMC4zMDQ3IDQxLjIyNDQgMTkuNzk1NCAzOC41MDA0IDE5Ljc5NTRIMjguMTA4MlpNNDMuMzMyNiAzNy4yNDAxQzQyLjA1MzUgMzguNDQ4MSA0MC4zNDggMzkuMDUyMSAzOC4yMTYyIDM5LjA1MjFIMzQuMTg1NEMzMy45NTg3IDM5LjA1MjEgMzMuNzc0OSAzOC44NjgzIDMzLjc3NDkgMzguNjQxNlYyNS44MTk1QzMzLjc3NDkgMjUuNTkyOCAzMy45NTg3IDI1LjQwOSAzNC4xODU0IDI1LjQwOUgzOC4yMTYyQzQwLjM0OCAyNS40MDkgNDIuMDUzNSAyNi4wMTMgNDMuMzMyNiAyNy4yMjFDNDQuNjM1NCAyOC40Mjg5IDQ1LjI4NjggMzAuMDk4OCA0NS4yODY4IDMyLjIzMDVDNDUuMjg2OCAzNC4zNjIzIDQ0LjYzNTQgMzYuMDMyMSA0My4zMzI2IDM3LjI0MDFaIiBmaWxsPSJ1cmwoI3BhaW50MF9saW5lYXJfODAzODBfNTQpIi8+CjxkZWZzPgo8bGluZWFyR3JhZGllbnQgaWQ9InBhaW50MF9saW5lYXJfODAzODBfNTQiIHgxPSIwLjc2NTgxMiIgeTE9Ii0yLjcwNDk2ZS0wNyIgeDI9IjYzLjU0MTciIHkyPSI2NC4yNzkzIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSI+CjxzdG9wIHN0b3AtY29sb3I9IiMwMEE2OTUiLz4KPHN0b3Agb2Zmc2V0PSIwLjUiIHN0b3AtY29sb3I9IiMwMTg0NzciLz4KPHN0b3Agb2Zmc2V0PSIxIiBzdG9wLWNvbG9yPSIjMDA2RjY0Ii8+CjwvbGluZWFyR3JhZGllbnQ+CjwvZGVmcz4KPC9zdmc+Cg==";var U="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNDQiIGhlaWdodD0iNDQiIHZpZXdCb3g9IjAgMCA0NCA0NCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPGNpcmNsZSBjeD0iMjIiIGN5PSIyMiIgcj0iMjIiIGZpbGw9IiMwMDY2RkYiLz4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0yNC40MTIgMzMuNDE5M0wyMy44ODI3IDM1Ljc2MDNDMjMuODAzNyAzNi4xMDk5IDIzLjQ2OTMgMzYuMzQwNSAyMy4xMTUyIDM2LjI4NThDMjIuMzA4IDM2LjE2MSAyMS40OSAzNi4wMTc3IDIwLjY2MzcgMzUuODU5NEMyMC4yODQyIDM1Ljc4NjcgMjAuMDQyMyAzNS40MTMzIDIwLjEyNzUgMzUuMDM2NUwyMC42MDY3IDMyLjkxN0MyMC4yNzExIDMyLjg1MTMgMTkuOTMzNCAzMi43ODAyIDE5LjU5NCAzMi43MDQyQzE5LjI4OCAzMi42MzQ0IDE4Ljk4NSAzMi41NjE1IDE4LjY4NTQgMzIuNDg1NUwxOC4yMDY0IDM0LjYwNDRDMTguMTIxMiAzNC45ODEgMTcuNzQyNiAzNS4yMTQgMTcuMzY4OSAzNS4xMTY4QzE2LjU1NDggMzQuOTA1IDE1Ljc1NDcgMzQuNjgzNiAxNC45NzIzIDM0LjQ1MDRDMTQuNjI4NCAzNC4zNDc5IDE0LjQyNTEgMzMuOTk1NSAxNC41MDQzIDMzLjY0NTVMMTUuMDMwOCAzMS4zMTY0QzkuODI2OTUgMjkuMjI5NyA2LjU0MTYxIDI1LjY4MyA3LjkzNjAzIDE5LjYyNjJMOC4yNzE1NiAxOC4xNDIxQzkuNjIwOTQgMTIuMDYyNiAxNC4xMTA5IDEwLjI4MTEgMTkuNzA1NiAxMC42MzkzTDIwLjIzMTggOC4zMTE3N0MyMC4zMTA5IDcuOTYxNzMgMjAuNjQ2IDcuNzMxMDUgMjEuMDAwNiA3Ljc4NjQ1QzIxLjgwNzIgNy45MTI0OSAyMi42MjQ3IDguMDU2ODMgMjMuNDUwNyA4LjIxNTkyQzIzLjgyOTkgOC4yODg5NSAyNC4wNzE0IDguNjYyMTMgMjMuOTg2MyA5LjAzODc1TDIzLjUwNzMgMTEuMTU3NUMyMy44MTA0IDExLjIxNzkgMjQuMTE1MyAxMS4yODI0IDI0LjQyMTUgMTEuMzUxMUMyNC43NjA5IDExLjQyNzggMjUuMDk2NSAxMS41MDgzIDI1LjQyNzcgMTEuNTkyN0wyNS45MDY1IDkuNDc1MUMyNS45OTE3IDkuMDk4MjYgMjYuMzcwNyA4Ljg2NTI4IDI2Ljc0NDUgOC45NjI4OUMyNy41NTg2IDkuMTc1NDQgMjguMzU4NiA5LjM5Nzg4IDI5LjE0MSA5LjYzMjQxQzI5LjQ4NDMgOS43MzUzNCAyOS42ODY5IDEwLjA4NzQgMjkuNjA3OSAxMC40MzdMMjkuMDgwMSAxMi43NzE3QzM0LjIxNjEgMTQuODU4IDM3LjQyNjEgMTguNDAyIDM2LjA2NDMgMjQuNDI1NkwzNS43Mjg4IDI1LjkwOTdDMzQuMzkwOSAzMS45Mzc2IDI5Ljk0OTIgMzMuNzQyMSAyNC40MTIgMzMuNDE5M1pNMzEuOTYyOSAyNC43MDM5TDMyLjE1MTcgMjMuODY4N0MzMy40ODE0IDE4LjM0MzQgMjkuMDYwMSAxNi4yNzk3IDIzLjYwOTQgMTQuOTY3NkMxOC4wOTg4IDEzLjgwMTUgMTMuMjE5NiAxMy43NjI2IDEyLjA0MzIgMTkuMzIyNkwxMS44NTQ0IDIwLjE1NzhDMTAuNTE4OSAyNS43MDg0IDE0Ljk0MDMgMjcuNzcyMSAyMC40MTY1IDI5LjA5QzI1LjkwMTYgMzAuMjUwMyAzMC43ODA3IDMwLjI4OTMgMzEuOTYyOSAyNC43MDM5WiIgZmlsbD0id2hpdGUiLz4KPC9zdmc+Cg==";var Y="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAACXBIWXMAAAsTAAALEwEAmpwYAAAF1GlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgOS4xLWMwMDMgNzkuOTY5MGE4N2ZjLCAyMDI1LzAzLzA2LTIwOjUwOjE2ICAgICAgICAiPiA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIgeG1sbnM6cGhvdG9zaG9wPSJodHRwOi8vbnMuYWRvYmUuY29tL3Bob3Rvc2hvcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RFdnQ9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZUV2ZW50IyIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgMjYuMTEgKE1hY2ludG9zaCkiIHhtcDpDcmVhdGVEYXRlPSIyMDI1LTExLTE2VDAxOjA1OjMxKzAxOjAwIiB4bXA6TW9kaWZ5RGF0ZT0iMjAyNS0xMS0xNlQwMTowNzoxNSswMTowMCIgeG1wOk1ldGFkYXRhRGF0ZT0iMjAyNS0xMS0xNlQwMTowNzoxNSswMTowMCIgZGM6Zm9ybWF0PSJpbWFnZS9wbmciIHBob3Rvc2hvcDpDb2xvck1vZGU9IjMiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6NjM3ZmUzMDEtMjdjNC00ZWJlLTgxZGQtMWJhYjk2NGE5MzllIiB4bXBNTTpEb2N1bWVudElEPSJhZG9iZTpkb2NpZDpwaG90b3Nob3A6YmQ3ODlkZjUtMmU5My01OTQ4LThhZDEtZWIwNDBkNTc2OTJhIiB4bXBNTTpPcmlnaW5hbERvY3VtZW50SUQ9InhtcC5kaWQ6YTM3NmMzNGYtZTZkZi00OGE1LTg4MjctZGRmMzliZmQ1ZjdjIj4gPHhtcE1NOkhpc3Rvcnk+IDxyZGY6U2VxPiA8cmRmOmxpIHN0RXZ0OmFjdGlvbj0iY3JlYXRlZCIgc3RFdnQ6aW5zdGFuY2VJRD0ieG1wLmlpZDphMzc2YzM0Zi1lNmRmLTQ4YTUtODgyNy1kZGYzOWJmZDVmN2MiIHN0RXZ0OndoZW49IjIwMjUtMTEtMTZUMDE6MDU6MzErMDE6MDAiIHN0RXZ0OnNvZnR3YXJlQWdlbnQ9IkFkb2JlIFBob3Rvc2hvcCAyNi4xMSAoTWFjaW50b3NoKSIvPiA8cmRmOmxpIHN0RXZ0OmFjdGlvbj0ic2F2ZWQiIHN0RXZ0Omluc3RhbmNlSUQ9InhtcC5paWQ6NjM3ZmUzMDEtMjdjNC00ZWJlLTgxZGQtMWJhYjk2NGE5MzllIiBzdEV2dDp3aGVuPSIyMDI1LTExLTE2VDAxOjA3OjE1KzAxOjAwIiBzdEV2dDpzb2Z0d2FyZUFnZW50PSJBZG9iZSBQaG90b3Nob3AgMjYuMTEgKE1hY2ludG9zaCkiIHN0RXZ0OmNoYW5nZWQ9Ii8iLz4gPC9yZGY6U2VxPiA8L3htcE1NOkhpc3Rvcnk+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+/fOUBwAACMZJREFUWMPFl3twVOUVwH/fvXf37iObZLN5kWBIQgMJClFAisij4TFMbW21ouIodURH64ytFUfrVJ0q47NWAjMWlQpIobWKaKUMlihWECdaGcJD5B0TEvIgyWaz2d2bu/fx9Q+xLTU0+1d7Zu4f986dc37feXznHCGl5P8pWqY/trcPEe1PUVxs0bAjxK6dAYpGw5yHJbpPkAZ00AqPRu+xh4wf5BUH9+YX5z7oAv9+RF9GAP/pFAGKQAjhliHleJ+XvYWFRAMCfE0mkXKTVFLD66av1j2pep9HIZFK1w1G3VdVIb5wXYnuUVBVKA1mALD/+NB57y4qQdV4Pstn3peMSWpnyFer53ObbYFqecn1uOTkqZgpJ2gnFYQA1auQHLJrFCG+0FWNs4kEjutQWpFznm5lOIBBO4Ut0zhqGlsxsYSBi1UtELhSQfO615TmodYUQeUogQz6sbJ0XK/qRbr/1KP7NNvr9dCn9bDt4A5Wbd2QWQ6UlOTQb9uoQyppV2ICwk6HcUFRwLaFE+93XFdXea/3CHZMZWxwHD4cPU9TcF2BJrwEPYqxJ9pFt9OBcGwMI/ENW8N6YGxYJeoZYH+ymUjAw6iAArgh91xueDXNQFPlrmgXJ80Uh+PHOGu3MlrP9gZEEFVoKJrCkdjpwmPxpotDfuNm11J0Ut7Mq8DnKnQ4vTSagisDVeSooWxcB0VRcBSfecqJ0WKeIV9Vx6g+Z/wZ/+dFRyM9N9rpFJ29vRiJIQbd+MZsj0MqYZBbNat8ZsVVT2YMoAiNsDdLNHYfDRlatLouNxwZDCdJB20SVn9RrKdlf5lllgldhgsnFXPqiw5ea/wYf7aPi6dfhGNI1H4FTdNJmyY5pfr91ZHgAWDbiACHXOgcar0rbe55qc4/hBVuY0uolO59zfSf7mEgrywrfdm0Wm3IIivbj1z1Grvr36Gzx0bRfEy7uobbnptPIOTDNCw0VcU0zPCpPmPhjAL/yAB/6PgycEnig+Vh1WF39hQODkRoXfYy0e07SSQVXE8QsdRAPnEf3l+vJ/eZV3By8omUFmJbDh9vPkBBscqdz86huVUFKVEQoCrejEJwhdeTv90aF9lpl3NKVBF84AHC236HVlBDQSQXN5XCfeVl/L2tBBob6MqJQHYJfT3dYBqghvh8X4zjXWnG6NBhSBACTShuRlXwp2gob03yUvVUuILQh9sY0/AGXTnVRAclsdgAKSkJjC0nvv2vlFYUM2XaVGTyDLctnsubr6/mpzctpC3l8Iuzc/nIrqBUjZ8zpGRWBYWuyMOfhHAunDyN4/Mwb0YtlVXVtLV3cNklZexqOsDuI5/SY1by7K9upSCwjMunT6YnYbLquXrcKd9ChotY0Z9P2jfA3KwUUrEBdWSAE0UyT21xWbMhypl3A6ytKeOdt+rRffl8eTrJw0+v5MyORrbUPsLOjjS33/UkP1r8HZ5avY5DG7dyet4ExEM/ozBlEMPiheRUCsKCOtX8qmWNBHBtczryyzUpZnanaB4/i08bo0y+chkTJ43h0OefIdv2sGbmSuaOu4O6vl6mfjaKV5/YRJoB7h1/LTOm3sEiN4cWZYBRUpIUHlpEEVJRZUYhuGG3WWD1WhwuCKH3VFM/M8B68T0aDm9kRjksuR9Kch+l4egm7KNLmH3LPG6ddj3tFyV4ed1aava0846rMfl2D326S8iWSMclanvjGQG0h1zDa41CS+aifHc58QnLGdv6Yxrmr8LnGyBhSmKWTdW0XISsoC9qsqF5Fy+t3EzVe2foWzCPSSdsHvvQ5dGr/PhbDc4mTKz87KMZAeSOLmsy8w8hb7oeMfXv5MbhrRc6WP/HAebP9qB7vSiKTSrZTXPLh+zcs4/O480Uk0X9/Afx5+dzRsa5e6+H1dNtOl2DpGFu/duJ/revvzR8/qgx3Ej25to9TJ74/F6t5M9Thnq8BHTJnkMOS+4cjR0PA+65RwX84PVQO+44yxd7mB1roCeqogQcKqM2y6vjPHaFxoJP9s4J9n65++2Vz4/sgdeb3qQ/kvXU4gK29CppBlN+ZtbabNvUxovrbQ4ejpBM6ngUm4LsTqZN6OLWm9PU/hB6Vjfg7bgHWz/MvkQnN/4+ytaJE1d/dN2c3cGWmm/YGtYD9U0tZBeVMzH127UFPfcszSmG6IAPn25jWTatLdDXC7oHiougrAK8AYUBzUXuu4aBFeuIae8z1J4ka1z4/ewNCxccy/LhA76fCcCdj0NfP+SX4q2bvOxYJFZffvkUBRSN+KDE5wNdlyAkli1IJsFxIDlo0xMHY/VDyP3fxpgit4RuqVhUd90EdLyZT8UTZn+CdB08oax0pGDF5VvWxj5996P1lXVXWNRO9JBMSgYTAon4aoaVDsHsLHrbw7Q3t6JN297fEZt1l1tVvHl6QAHLBc8F2v5wH0N5Gtn5OqpuUKQO9M689pnxR4wbHl2xUY0mkhY+3T1vcFaESyIap7BmEaXjfrP8uFmX113av9lrKSiWRIoLj/vDAji2wLEFuBqGOYjPk7SLii95oiB3aSQv++F18ZSDEF83NhvVm09fl6Dr5OtctuDuTQtvmE8kMoA9KHFH2DeGBUhakqQlSVgutqMwmDDoD6nULFlEX/nP610LhHQAgXQlqq+M/JrnaDmlr3nx6XtPHGzaQbrkMINWN9LQEOLCLhg2CRtPf3VhuUJS7MmiJ5UiGQ5iBQsxOxtHTx+sa/NmSSx0kCYD/eCrbDJT6UsjnS2nkpoqED6boDdEQMkiMjqAR1NxXcj1ZABwou341wsRKcfGp2noLiiOxPQUc+DIQy/6ul76SSBHYKQkARXyKur6x079IKIzIF1sBAKHIYacNIZpnbu4BKMC40YGeLur5wIOk3j9IZKG3/PBs5NagrFDJaofqsohUjLryZh1zSO48WF2u3/J0tsfH7kMpZm6oIKhoQSFJZVW5fT7bj75l6U3ZQWL2po7804m1XlvdJ41sdKp/xrzjHLgfyn/ADDT9O/bm2pWAAAAAElFTkSuQmCC";var Q="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzUiIGhlaWdodD0iMzQiIHZpZXdCb3g9IjAgMCAzNSAzNCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTMyLjcwNzcgMzIuNzUyMkwyNS4xNjg4IDMwLjUxNzRMMTkuNDgzMyAzMy45MDA4TDE1LjUxNjcgMzMuODk5MUw5LjgyNzkzIDMwLjUxNzRMMi4yOTIyNSAzMi43NTIyTDAgMjUuMDQ4OUwyLjI5MjI1IDE2LjQ5OTNMMCA5LjI3MDk0TDIuMjkyMjUgMC4zMTIyNTZMMTQuMDY3NCA3LjMxNTU0SDIwLjkzMjZMMzIuNzA3NyAwLjMxMjI1NkwzNSA5LjI3MDk0TDMyLjcwNzcgMTYuNDk5M0wzNSAyNS4wNDg5TDMyLjcwNzcgMzIuNzUyMloiIGZpbGw9IiNGRjVDMTYiLz4KPHBhdGggZD0iTTIuMjkzOTUgMC4zMTIyNTZMMTQuMDY5MSA3LjMyMDQ3TDEzLjYwMDggMTIuMTMwMUwyLjI5Mzk1IDAuMzEyMjU2WiIgZmlsbD0iI0ZGNUMxNiIvPgo8cGF0aCBkPSJNOS44Mjk1OSAyNS4wNTIyTDE1LjAxMDYgMjguOTgxMUw5LjgyOTU5IDMwLjUxNzVWMjUuMDUyMloiIGZpbGw9IiNGRjVDMTYiLz4KPHBhdGggZD0iTTE0LjU5NjYgMTguNTU2NUwxMy42MDA5IDEyLjEzMzNMNy4yMjY5MiAxNi41MDA5TDcuMjIzNjMgMTYuNDk5M1YxNi41MDI1TDcuMjQzMzUgMjAuOTk4M0w5LjgyODA5IDE4LjU1NjVIOS44Mjk3NEgxNC41OTY2WiIgZmlsbD0iI0ZGNUMxNiIvPgo8cGF0aCBkPSJNMzIuNzA3NyAwLjMxMjI1NkwyMC45MzI2IDcuMzIwNDdMMjEuMzk5MyAxMi4xMzAxTDMyLjcwNzcgMC4zMTIyNTZaIiBmaWxsPSIjRkY1QzE2Ii8+CjxwYXRoIGQ9Ik0yNS4xNzIyIDI1LjA1MjJMMTkuOTkxMiAyOC45ODExTDI1LjE3MjIgMzAuNTE3NVYyNS4wNTIyWiIgZmlsbD0iI0ZGNUMxNiIvPgo8cGF0aCBkPSJNMjcuNzc2NiAxNi41MDI1SDI3Ljc3ODNIMjcuNzc2NlYxNi40OTkzTDI3Ljc3NSAxNi41MDA5TDIxLjQwMSAxMi4xMzMzTDIwLjQwNTMgMTguNTU2NUgyNS4xNzIyTDI3Ljc1ODYgMjAuOTk4M0wyNy43NzY2IDE2LjUwMjVaIiBmaWxsPSIjRkY1QzE2Ii8+CjxwYXRoIGQ9Ik05LjgyNzkzIDMwLjUxNzVMMi4yOTIyNSAzMi43NTIyTDAgMjUuMDUyMkg5LjgyNzkzVjMwLjUxNzVaIiBmaWxsPSIjRTM0ODA3Ii8+CjxwYXRoIGQ9Ik0xNC41OTQ3IDE4LjU1NDlMMTYuMDM0MSAyNy44NDA2TDE0LjAzOTMgMjIuNjc3N0w3LjIzOTc1IDIwLjk5ODRMOS44MjYxMyAxOC41NTQ5SDE0LjU5M0gxNC41OTQ3WiIgZmlsbD0iI0UzNDgwNyIvPgo8cGF0aCBkPSJNMjUuMTcyMSAzMC41MTc1TDMyLjcwNzggMzIuNzUyMkwzNS4wMDAxIDI1LjA1MjJIMjUuMTcyMVYzMC41MTc1WiIgZmlsbD0iI0UzNDgwNyIvPgo8cGF0aCBkPSJNMjAuNDA1MyAxOC41NTQ5TDE4Ljk2NTggMjcuODQwNkwyMC45NjA3IDIyLjY3NzdMMjcuNzYwMiAyMC45OTg0TDI1LjE3MjIgMTguNTU0OUgyMC40MDUzWiIgZmlsbD0iI0UzNDgwNyIvPgo8cGF0aCBkPSJNMCAyNS4wNDg4TDIuMjkyMjUgMTYuNDk5M0g3LjIyMTgzTDcuMjM5OTEgMjAuOTk2N0wxNC4wMzk0IDIyLjY3NkwxNi4wMzQzIDI3LjgzODlMMTUuMDA4OSAyOC45NzZMOS44Mjc5MyAyNS4wNDcySDBWMjUuMDQ4OFoiIGZpbGw9IiNGRjhENUQiLz4KPHBhdGggZD0iTTM1LjAwMDEgMjUuMDQ4OEwzMi43MDc4IDE2LjQ5OTNIMjcuNzc4M0wyNy43NjAyIDIwLjk5NjdMMjAuOTYwNyAyMi42NzZMMTguOTY1OCAyNy44Mzg5TDE5Ljk5MTIgMjguOTc2TDI1LjE3MjIgMjUuMDQ3MkgzNS4wMDAxVjI1LjA0ODhaIiBmaWxsPSIjRkY4RDVEIi8+CjxwYXRoIGQ9Ik0yMC45MzI1IDcuMzE1NDNIMTcuNDk5OUgxNC4wNjczTDEzLjYwMDYgMTIuMTI1MUwxNi4wMzQyIDI3LjgzNEgxOC45NjU2TDIxLjQwMDggMTIuMTI1MUwyMC45MzI1IDcuMzE1NDNaIiBmaWxsPSIjRkY4RDVEIi8+CjxwYXRoIGQ9Ik0yLjI5MjI1IDAuMzEyMjU2TDAgOS4yNzA5NEwyLjI5MjI1IDE2LjQ5OTNINy4yMjE4M0wxMy41OTkxIDEyLjEzMDFMMi4yOTIyNSAwLjMxMjI1NloiIGZpbGw9IiM2NjE4MDAiLz4KPHBhdGggZD0iTTEzLjE3IDIwLjQxOTlIMTAuOTM2OUw5LjcyMDk1IDIxLjYwNjJMMTQuMDQwOSAyMi42NzI3TDEzLjE3IDIwLjQxODJWMjAuNDE5OVoiIGZpbGw9IiM2NjE4MDAiLz4KPHBhdGggZD0iTTMyLjcwNzcgMC4zMTIyNTZMMzQuOTk5OSA5LjI3MDk0TDMyLjcwNzcgMTYuNDk5M0gyNy43NzgxTDIxLjQwMDkgMTIuMTMwMUwzMi43MDc3IDAuMzEyMjU2WiIgZmlsbD0iIzY2MTgwMCIvPgo8cGF0aCBkPSJNMjEuODMzIDIwLjQxOTlIMjQuMDY5NEwyNS4yODUzIDIxLjYwNzlMMjAuOTYwNCAyMi42NzZMMjEuODMzIDIwLjQxODJWMjAuNDE5OVoiIGZpbGw9IiM2NjE4MDAiLz4KPHBhdGggZD0iTTE5LjQ4MTcgMzAuODM2MkwxOS45OTExIDI4Ljk3OTRMMTguOTY1OCAyNy44NDIzSDE2LjAzMjdMMTUuMDA3MyAyOC45Nzk0TDE1LjUxNjcgMzAuODM2MiIgZmlsbD0iIzY2MTgwMCIvPgo8cGF0aCBkPSJNMTkuNDgxNiAzMC44MzU5VjMzLjkwMjFIMTUuNTE2NlYzMC44MzU5SDE5LjQ4MTZaIiBmaWxsPSIjQzBDNENEIi8+CjxwYXRoIGQ9Ik05LjgyOTU5IDMwLjUxNDJMMTUuNTIgMzMuOTAwOFYzMC44MzQ2TDE1LjAxMDYgMjguOTc3OEw5LjgyOTU5IDMwLjUxNDJaIiBmaWxsPSIjRTdFQkY2Ii8+CjxwYXRoIGQ9Ik0yNS4xNzIxIDMwLjUxNDJMMTkuNDgxNyAzMy45MDA4VjMwLjgzNDZMMTkuOTkxMSAyOC45Nzc4TDI1LjE3MjEgMzAuNTE0MloiIGZpbGw9IiNFN0VCRjYiLz4KPC9zdmc+Cg==";var v="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNTYiIGhlaWdodD0iNTYiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0iTTI4IDU2YzE1LjQ2NCAwIDI4LTEyLjUzNiAyOC0yOFM0My40NjQgMCAyOCAwIDAgMTIuNTM2IDAgMjhzMTIuNTM2IDI4IDI4IDI4WiIgZmlsbD0iIzFCNTNFNCIvPjxwYXRoIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1ydWxlPSJldmVub2RkIiBkPSJNNyAyOGMwIDExLjU5OCA5LjQwMiAyMSAyMSAyMXMyMS05LjQwMiAyMS0yMVMzOS41OTggNyAyOCA3IDcgMTYuNDAyIDcgMjhabTE3LjIzNC02Ljc2NmEzIDMgMCAwIDAtMyAzdjcuNTMzYTMgMyAwIDAgMCAzIDNoNy41MzNhMyAzIDAgMCAwIDMtM3YtNy41MzNhMyAzIDAgMCAwLTMtM2gtNy41MzNaIiBmaWxsPSIjZmZmIi8+PC9zdmc+";var at="data:image/webp;base64,UklGRngEAABXRUJQVlA4IGwEAABwGgCdASqAAIAAPm00lkakIyIhLZJo4IANiWIGepzpzWVWfAfkz7VNZfrX4XyZfpY5Ve135hP6ydPjxWfVv9GH999QD/D/47rUPQA8tr9qvh98odpITg6KC6MdEPqtq8njJn8YQd8fRyCBjuASoE7gh976be39QP7ZH1EaOy2byZB4+6S1n4J1we4tNWPChOPxxBzZfuYsStcWv/tZNqcra7FT/gy1QnCQAkdw+gUNhMn35RFANgSXPFVHZFoSr9YdNxlhwS/DtBxpj4Yf0Qnyn1ZNu6NIDryzzumAAP71vcpK//N3uTN6/gf/cz+Z/IGl2OP82F2AtGYx70dIV3TDkNq9sgAhCr9IZ0HUhT+7KUeLtkqR+dPCxztN0qMTy/gT7xoQBHTf3pua3S29wTkDmy3Fsy7Lv8PTVtL4d5DjJ3QgT6S/r/RoLpXt5ckfNBuBZ5cD7q6/rSBKVrfLYRlMs8/PW5KR4PMrlV9BNfv/g3x2mjvrkNijQUMjZBeGWL8cm5JtS7/EOF5P9ze4qe1yV5zVSVFt5e+//WL+UiuNvKd6qedKWsisJogbBMgFYrymDXtX7rwy5qpOIKODEdjYEY7CDAkYcvhN9cLylaFJnB822+x+hXMltuGJXS6vpf+DkoddD4V8niiWXvf82VYQvu2agUc4/+HDH9o+hv59V9FWrvk5fNJfTvIgUkH5vCcCwDwre/O/6ftorAm9en57f1mnje373z/a1W3UpDbn5rBQsFfxl2oiKvtNeyc7bILmYZ0iKT2BTOvUMn7M6ICDBaoJqcgXpIDC5rsq6F4u2TteFi4n6sLLvkP/xXiOM3lY5srmZ5aRj/SRoHWQrdrmc+rvWyTUo7cqAq8S3QsPW3gcF09Cnxop1LydqPo8SIb8zKgJqFj+KuMY/BYxfntOPlxAD7Ehx/4fZ/cJtjDj8ZqAeuK4Ps7U3zMMVMXw9cIZE47iuLzaTpJl3avReDg2QmWLRYq3AOdhgvdD5H1IpkqcQMOWiDXt46xdgLbVT2Ae1AcmlYrb6xUGrmGgk2lIehc/Df+MRJdAHc+BmnyfR8P7gx7IJg6R0let/R14Na6KeMthUP59RT9SSo5n3YPARM1Z9nLfjDfDy16iRq10Y+2eaNT9Q1xbOf5+PULDFrojM5ABxLaZHFIu+UTUDacGy/DG/N1tqlJ7ePfOaI4pDt/QZhAb6PIVCPIJIXWgbQ/e0VK+9d2AS18H+V/KcyKz5VciEYdk+H1uB3uzeGMdIhKpR5J2JV+e1urFlNpACGuluMWUwzj6n2L72/fz5uXqrfjel5EhkCXHn77cHXY6Kfl9v28YvKSj5f3vzY+wbv8YHop9bGvu/rhBK18Ooq5RW2Kb7s3/xi+57dh2WcBpctxH2kG+9RoszJAlD07LaWub1vw6EYYsSHALEv0cUo8x53lVOWtxIr+fwYX5Jtnv8LYqeN7cAlkl/gWNhn5kus3rg0Wm7rKPongcsUaxaHrkLbdxjqEA9mX4C/AA",k=at;var P="data:image/webp;base64,UklGRmAEAABXRUJQVlA4WAoAAAAQAAAAfwAAfwAAQUxQSD0BAAABCsi1battvlSCxmaGWrTUgLGQaLkNe8wBlRGrDNM8zGBm32ly/V9ETAC3DRcb/cnL9FS/iK4XwmqPRtxxu/7g4fNkfWrxO64T31my2hxOEbJZTu7Esq8/pyjfaVvbBWp3Z6SUwBZmypui9cTc5Jy/neLt09xA/ClinVoX8KaYPVll1aaoxVph38O651LyeoqbomhU3oF90lCJ5hR5U9MZQRvpkDvF7hY74Lp1H5z0h+A4uQd3//IBjud////7/w/wLwRHuQd3r4fg2PDBSakLjiEXnKucEbSRZrwJrZmgUfkE9k5DMXkNjKJI2vew7qmWrRossVYw4IHyhGtTfUh+iuvNvAakaW7As3hwPDG5eaB2B4USUFtb9vU7jE/altplstwaQRjqalLtOuG4XX/w8HmyPrX4nQsnYahNAQBWUDgg/AIAAHATAJ0BKoAAgAA+bTaWSCQjIiEhC7iADYlpAFVGVG5/99J5/Vd7/Zvx6/Eb47upeLfNQVn40OWGsvf/EZp1SJZ4eeKUwr+TUZu0yuMNAk4PBKF5fmL0eOz2sxlyF1k2PpU79Yw+1dd/VfsguNjNAOpujooZUvLoJkwr++tWg4MOdSMpiVVcFud3oFbBaC+w1q6Y0ih8Jyiu2FT5yd3off/EZxcAAP78rRBq1TvyDPGTtpZl6fMUoKvlLHGrtAC3XuckCfwRJnfG/aY5v+afCIPyjeFKANrccw0/eZYXfyOOymElPpcIFyn/DX0LVVChdzZGcPAMC2XCLLJfqNQLnrwVdrtp///aDQbauP7F7v0uv8UtFmP/5l0k7TnND9heE+aE4DSlRH+y/9Cx9KXkLzIJstm70HeMP4clZ1v4/6vCpX5CsJ70IuNXVGjSxs3OP9lrbuLhlcIIEc2SIGJ3qavevq/mkLkXudZ4SRo+SJpXOQuWqBRjAwTujM6fmPbC5/CYn3kwPLAFn7i92UJ9pgQN+JbG6TPsfKot9pwn+KP/VTLVvyv8aLGVn/+GmRt23RauLb8p5lk6WrB7qM1Ar9LD/ie+T2ZqIpT8ywwuSBWG37bH+0ZZqSmzKe5Q9PgQRVf9RHW7en1+w1M7OwvPKFtskA+SLeKXSb5NMYci6OzrZ/MkSWBl1XYD8Y0YE1CxlutKWGPQV7Paf1P7XQ1xLFTC8eZXqWX2oAV9TghLJj01pQgFxuvmoZGpQ9alHKf21/J4Vx74do7nSRTFJyl/L9VGrasy+tv0vcW9lbWL7j+MCdKyGh2xNTRV1oXhLA2Edu22lDIaFKT5GojhFjKc8QWDJ+bUo3km/xVNDGq0sE7TH4JM+gfqVuDsg/LZUtzFGL6SMLPJk71nRAKmzpRbTYWXl3XlTvOwzAZARyMhUDEcRGotZal/M7BwujgUYCgRQ8H3b+uRhEn6EueNF+Czzl1sG+Pe7IWuEd0aHVwiixyaqR3UWnWqQuAAAAAA";var W="data:image/webp;base64,UklGRtYCAABXRUJQVlA4IMoCAABQEgCdASqAAIAAPm02lUikIyIhIRgMIIANiWkcARAAF+tSv5/99J/RB9XsAGlSc78bIl6kh58aA3sp9hIcACdBu3D9g2hv6/+Cj+HX4bF4aHqZf6VdIWSW9bl353sa70S/qFAc892uoH8pqfPiakYAgEZCSd8aEmbltGbSPYfC4wvqZ9ezQiQYdXY3/Sg5wnSqEY6FToW0wM8QAAD+/PhAW398P+Y/Ufmdv1vCJ/v/ohtwIURd/2rR9z/+gzKn28ut3UaV0u/kc/8pninuF1e9YbAaSDHUeqAZqiAKIZmaGvWme8/luxhnX1Y5rtZk3eBL47mNGYRACwVMKHRl2LA/XhZbW1Q//lM1/6ic4D/8P5eWBMjc9tvr/1w65Tf+2YqPRUfatOAWlwt+JOQ7A40WTXjruFER/7NrZ3tjVzpksA2ujmryseHaiwyiei2mbF0GTnfMG+gl4/pLxq49MTM3bfXPCtft0z77211u4sTilNvJqdSH+3Qc5KfDH6gV4GWTwPSPR/7Krf/1FykCW2n/ReCjVJEy4jLXHwRFmqnHVsOyAdxpYIW4NBe7rv+kr9D8C5N5wiRt4L0AfG/CdI29CS9gLKmX0+uFXlCWpWGI69szzq5FWPBnjpMCeYssg4Hi5PZPL2bcVsOvTE6gCi1ykg26ZH7WE/KN8u9Wagu4TcAvU5nsMn9jc1NGwCZJ1vbQI8CyIWA2LNfuDo697Mov9ngaDmN701InhXXuZFANxq3en+JToh5LyqWp6Wg1UaAbKuM4iPHX41ht3YeOvwpXKTqngULJZvmnw4BeJc387ivRN9/yK//jm2x0r2tfpbafdYlNCsxcgG8lC2z5Vz2a0LuZIotzREDZkWc2Y9BzOaysg2ZacmnelGfW5UbxjADryUb+70mYMBLvUPN/rBiQE2XcSOtSRC91yn75qvUC6XhK/lbDAAAAAAA=";var ct="data:image/webp;base64,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",Z=ct;var Mt="data:image/webp;base64,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",G=Mt;var lt="data:image/webp;base64,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",R=lt;var st={ii:E,nfid:b,oisy:U,plug:Y,metamask:Q,coinbase:v,rainbow:k,brave:Z,phantom:G,rabby:R,ledger:P,okx:W};function B(r,t){let e=(r||"").toLowerCase();return st[e]||t||null}function Nt(r){if(!r)return null;if(typeof r=="string")return r;try{let t=r;if(typeof t.toText=="function")return t.toText();if(typeof t.toString=="function")return t.toString()}catch{}return null}function gt(r){let t={};return r&&(t.host=r),t}function yt(r){return r&&typeof r=="string"&&r.trim()?r:"https://icp-api.io"}var C=class{constructor(t){this._activeAdapter=null;this._account=null;this._config=t||{};let e={};e.metamask={id:"metamask",label:"MetaMask",icon:null,enabled:!0,adapter:z},e.coinbase={id:"coinbase",label:"Coinbase Wallet",icon:null,enabled:!0,adapter:w},e.phantom={id:"phantom",label:"Phantom",icon:null,enabled:!0,adapter:m},e.rainbow={id:"rainbow",label:"Rainbow",icon:null,enabled:!1,adapter:L},e.rabby={id:"rabby",label:"Rabby",icon:null,enabled:!0,adapter:p},e.brave={id:"brave",label:"Brave Wallet",icon:null,enabled:!0,adapter:T},e.okx={id:"okx",label:"OKX Wallet",icon:null,enabled:!0,adapter:f},e.oisy={id:"oisy",label:"Oisy",icon:null,enabled:!0,adapter:d},e.nfid={id:"nfid",label:"NFID",icon:null,enabled:!1,adapter:j},e.ii={id:"ii",label:"Internet Identity",icon:null,enabled:!1,adapter:D},e.plug={id:"plug",label:"Plug",icon:null,enabled:!0,adapter:I};let n=this._config.adapters=this._config.adapters||{},i=yt(this._config.icHost);this._config.icHost||(this._config.icHost=i),n.nfid=n.nfid||{},n.nfid.config={signerUrl:n.nfid.config?.signerUrl||"https://nfid.one/rpc",hostUrl:n.nfid.config?.hostUrl||i,transport:{...n.nfid.config?.transport||{}}},n.oisy=n.oisy||{},n.oisy.config={signerUrl:n.oisy.config?.signerUrl||"https://oisy.com/sign",hostUrl:n.oisy.config?.hostUrl||i,transport:{...n.oisy.config?.transport||{}}},n.plug=n.plug||{},n.ii=n.ii||{},Object.keys(e).forEach(a=>{let o=n[a];o&&typeof o.enabled=="boolean"&&(e[a].enabled=!!o.enabled)}),this._adapters=e}get config(){return this._config}get account(){return this._account}getEnabledWallets(){let t=Array.isArray(this._config.chainTypes)?this._config.chainTypes.map(n=>String(n).toLowerCase()):null,e={oisy:"ic",nfid:"ic",ii:"ic",plug:"ic",metamask:"evm",coinbase:"evm",brave:"evm",rainbow:"evm",rabby:"evm",phantom:"evm",okx:"evm"};return Object.values(this._adapters).filter(n=>n.enabled!==!1).filter(n=>{if(!t||t.length===0)return!0;let i=e[n.id];return!!i&&t.includes(i)}).map(n=>({id:n.id,label:n.label,icon:this.resolveIcon(n.id,n.icon),enabled:n.enabled,adapter:n.adapter,config:this._config.adapters&&this._config.adapters[n.id]?.config||{}}))}resolveIcon(t,e){return B(t,e||null)}getEvmProvider(){try{let t=this._activeAdapter;if(t&&typeof t.getEvmProvider=="function"){let e=t.getEvmProvider();if(e)return e}}catch{}try{return(typeof window<"u"?window.ethereum:null)||null}catch{return null}}connect(t){let e=(t||"").toLowerCase(),n=e?this._adapters[e]:void 0;if(!n||n.enabled===!1)throw new Error("No wallets available");let i=new n.adapter({config:this._config});return this._activeAdapter=i,i.connect().then(a=>{let o=Nt(a?.principal||a?.owner);return this._account={owner:o,principal:o,connected:!0},this._account})}async disconnect(){try{await this._activeAdapter?.disconnect()}catch{}this._activeAdapter=null,this._account=null}getActor(t){if(!this._activeAdapter){let e=new At(gt(this._config.icHost));return ut.createActor(t.idl,{agent:e,canisterId:t.canisterId})}return this._activeAdapter.getActor(t)}},Te=r=>new C(r);export{C as a,Te as b};
2
- //# sourceMappingURL=chunk-VPFA2ZHM.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/wallet-select/index.ts","../src/wallet-select/internal/PlugAdapter.ts","../src/wallet-select/internal/IIAdapter.ts","../src/wallet-select/internal/NfidAdapter.ts","../src/wallet-select/internal/OisyAdapter.ts","../src/wallet-select/internal/MetaMaskAdapter.ts","../src/wallet-select/internal/CoinbaseAdapter.ts","../src/wallet-select/internal/BraveAdapter.ts","../src/wallet-select/internal/RainbowAdapter.ts","../src/wallet-select/internal/RabbyAdapter.ts","../src/wallet-select/internal/PhantomAdapter.ts","../src/wallet-select/internal/OkxAdapter.ts","../src/wallet-select/img/ii.ts","../src/wallet-select/img/nfid.ts","../src/wallet-select/img/oisy.ts","../src/wallet-select/img/plug.ts","../src/wallet-select/img/metamask.ts","../src/wallet-select/img/coinbase.ts","../src/wallet-select/img/rainbow.ts","../src/wallet-select/img/ledger.ts","../src/wallet-select/img/okx.ts","../src/wallet-select/img/brave.ts","../src/wallet-select/img/phantom.ts","../src/wallet-select/img/rabby.ts","../src/wallet-select/img/icons.ts"],"sourcesContent":["import type { HttpAgentOptions } from '@dfinity/agent';\nimport { Actor, HttpAgent } from '@dfinity/agent';\n// Avoid importing IDL types to prevent cross-version type conflicts\n\nexport type WalletSelectConfig = {\n icHost?: string;\n derivationOrigin?: string;\n adapters?: Partial<Record<string, { adapter?: any; config?: any; enabled?: boolean; label?: string; icon?: string }>>;\n chainTypes?: Array<'ic' | 'evm'>; // optional: restrict which wallets to show\n};\n\nexport type GetActorOptions = {\n canisterId: string;\n idl: any;\n requiresSigning?: boolean;\n anon?: boolean;\n};\n\nexport type WalletAccount = {\n owner?: string | null;\n principal?: string | null;\n connected?: boolean;\n};\n\nexport type AdapterInterface = {\n id: string;\n label: string;\n icon?: string | null;\n isInstalled(): Promise<boolean>;\n isConnected(): Promise<boolean>;\n connect(): Promise<WalletAccount>;\n disconnect(): Promise<void>;\n getPrincipal(): Promise<string | null>;\n getActor<T>(options: GetActorOptions): any;\n};\n\nexport type AdapterConfig = {\n id: string;\n label: string;\n icon?: string | null;\n enabled?: boolean;\n adapter: new (args: { config: WalletSelectConfig }) => AdapterInterface;\n};\n\nfunction toStringPrincipal(value: unknown): string | null {\n if (!value) return null;\n if (typeof value === 'string') return value;\n try {\n const v: any = value as any;\n if (typeof v.toText === 'function') return v.toText();\n if (typeof v.toString === 'function') return v.toString();\n } catch {}\n return null;\n}\n\nfunction defaultHttpAgentOptions(host?: string): HttpAgentOptions {\n const opts: HttpAgentOptions = {};\n if (host) opts.host = host;\n return opts;\n}\n\nfunction defaultIcHost(userHost?: string): string {\n return userHost && typeof userHost === 'string' && userHost.trim() ? userHost : 'https://icp-api.io';\n}\n\n// Adapters (Bundler moduleResolution requires explicit .js extension in TS sources)\nimport { PlugAdapter } from './internal/PlugAdapter.js';\nimport { IIAdapter } from './internal/IIAdapter.js';\nimport { NfidAdapter } from './internal/NfidAdapter.js';\nimport { OisyAdapter } from './internal/OisyAdapter.js';\nimport { MetaMaskAdapter } from './internal/MetaMaskAdapter.js';\n// import { WalletConnectAdapter } from './internal/WalletConnectAdapter.js'; // Disabled\nimport { CoinbaseAdapter } from './internal/CoinbaseAdapter.js';\nimport { BraveAdapter } from './internal/BraveAdapter.js';\nimport { RainbowAdapter } from './internal/RainbowAdapter.js';\nimport { RabbyAdapter } from './internal/RabbyAdapter.js';\nimport { PhantomAdapter } from './internal/PhantomAdapter.js';\nimport { OkxAdapter } from './internal/OkxAdapter.js';\nimport { getIcon } from './img/icons.js';\n\n\nexport class WalletSelect {\n private _config: WalletSelectConfig;\n private _adapters: Record<string, AdapterConfig>;\n private _activeAdapter: AdapterInterface | null = null;\n private _account: WalletAccount | null = null;\n\n constructor(config?: WalletSelectConfig) {\n this._config = config || {};\n const baseAdapters: Record<string, AdapterConfig> = {};\n baseAdapters.metamask = { id: 'metamask', label: 'MetaMask', icon: null, enabled: true, adapter: MetaMaskAdapter };\n baseAdapters.coinbase = { id: 'coinbase', label: 'Coinbase Wallet', icon: null, enabled: true, adapter: CoinbaseAdapter };\n // baseAdapters.walletconnect = { id: 'walletconnect', label: 'WalletConnect', icon: null, enabled: false, adapter: WalletConnectAdapter }; // Disabled\n baseAdapters.phantom = { id: 'phantom', label: 'Phantom', icon: null, enabled: true, adapter: PhantomAdapter };\n // Temporarily disable Rainbow due to provider interoperability issues\n baseAdapters.rainbow = { id: 'rainbow', label: 'Rainbow', icon: null, enabled: false, adapter: RainbowAdapter };\n baseAdapters.rabby = { id: 'rabby', label: 'Rabby', icon: null, enabled: true, adapter: RabbyAdapter };\n baseAdapters.brave = { id: 'brave', label: 'Brave Wallet', icon: null, enabled: true, adapter: BraveAdapter };\n baseAdapters.okx = { id: 'okx', label: 'OKX Wallet', icon: null, enabled: true, adapter: OkxAdapter };\n baseAdapters.oisy = { id: 'oisy', label: 'Oisy', icon: null, enabled: true, adapter: OisyAdapter };\n baseAdapters.nfid = { id: 'nfid', label: 'NFID', icon: null, enabled: false, adapter: NfidAdapter };\n baseAdapters.ii = { id: 'ii', label: 'Internet Identity', icon: null, enabled: false, adapter: IIAdapter };\n baseAdapters.plug = { id: 'plug', label: 'Plug', icon: null, enabled: true, adapter: PlugAdapter };\n // Initialize adapters config with sane defaults and allow overrides\n const cfgAdapters = (this._config.adapters = this._config.adapters || {});\n const host = defaultIcHost(this._config.icHost);\n // Ensure icHost is always set (used by Plug/agent); default to icp-api.io\n if (!this._config.icHost) this._config.icHost = host;\n // Default NFID signer config\n cfgAdapters.nfid = cfgAdapters.nfid || {};\n cfgAdapters.nfid.config = {\n signerUrl: cfgAdapters.nfid.config?.signerUrl || 'https://nfid.one/rpc',\n hostUrl: cfgAdapters.nfid.config?.hostUrl || host,\n transport: { ...(cfgAdapters.nfid.config?.transport || {}) }\n };\n // Default Oisy signer config\n cfgAdapters.oisy = cfgAdapters.oisy || {};\n cfgAdapters.oisy.config = {\n signerUrl: cfgAdapters.oisy.config?.signerUrl || 'https://oisy.com/sign',\n hostUrl: cfgAdapters.oisy.config?.hostUrl || host,\n transport: { ...(cfgAdapters.oisy.config?.transport || {}) }\n };\n // Default WalletConnect test config (disabled)\n // cfgAdapters.walletconnect = cfgAdapters.walletconnect || {};\n // cfgAdapters.walletconnect.config = {\n // ...(cfgAdapters.walletconnect.config || {}),\n // projectId: cfgAdapters.walletconnect.config?.projectId || '',\n // chains: cfgAdapters.walletconnect.config?.chains || [8453, 84532]\n // };\n // Keep Plug/II entries present for symmetry\n cfgAdapters.plug = cfgAdapters.plug || {};\n cfgAdapters.ii = cfgAdapters.ii || {};\n\n // Apply runtime enable/disable from config (default is enabled)\n Object.keys(baseAdapters).forEach((key) => {\n const cfg = (cfgAdapters as any)[key];\n if (cfg && typeof cfg.enabled === 'boolean') {\n (baseAdapters as any)[key].enabled = !!cfg.enabled;\n }\n });\n\n this._adapters = baseAdapters;\n }\n\n get config(): WalletSelectConfig { return this._config; }\n get account(): WalletAccount | null { return this._account; }\n\n getEnabledWallets(): any[] {\n const allowedTypes = Array.isArray(this._config.chainTypes) ? this._config.chainTypes.map((t) => String(t).toLowerCase()) : null;\n const idToType: Record<string, 'ic' | 'evm'> = {\n oisy: 'ic', nfid: 'ic', ii: 'ic', plug: 'ic',\n metamask: 'evm', /*walletconnect: 'evm',*/ coinbase: 'evm',\n brave: 'evm', rainbow: 'evm', rabby: 'evm', phantom: 'evm', okx: 'evm',\n };\n return Object.values(this._adapters)\n .filter((a) => a.enabled !== false)\n .filter((a) => {\n if (!allowedTypes || allowedTypes.length === 0) return true;\n const t = idToType[a.id];\n return !!t && allowedTypes.includes(t);\n })\n .map((a) => ({\n id: a.id,\n label: a.label,\n icon: this.resolveIcon(a.id, a.icon),\n enabled: a.enabled,\n adapter: a.adapter,\n config: (this._config.adapters && (this._config.adapters as any)[a.id]?.config) || {}\n }));\n }\n\n private resolveIcon(id: string, fallback: string | null | undefined): string | null {\n return getIcon(id, fallback || null);\n }\n\n // Expose the active EVM provider (if adapter supports it). Falls back to window.ethereum.\n getEvmProvider(): any {\n try {\n const anyAdapter: any = this._activeAdapter as any;\n if (anyAdapter && typeof anyAdapter.getEvmProvider === 'function') {\n const prov = anyAdapter.getEvmProvider();\n if (prov) return prov;\n }\n } catch {}\n try { return (typeof window !== 'undefined' ? (window as any).ethereum : null) || null; } catch { return null; }\n }\n\n connect(walletId?: string): Promise<WalletAccount> {\n const id = (walletId || '').toLowerCase();\n const cfg = id ? this._adapters[id] : undefined;\n if (!cfg || cfg.enabled === false) throw new Error('No wallets available');\n const adapter = new cfg.adapter({ config: this._config });\n this._activeAdapter = adapter;\n return adapter.connect().then((acc) => {\n const principal = toStringPrincipal(acc?.principal || acc?.owner);\n this._account = { owner: principal, principal, connected: true };\n return this._account;\n });\n }\n\n async disconnect(): Promise<void> {\n try { await this._activeAdapter?.disconnect(); } catch {}\n this._activeAdapter = null;\n this._account = null;\n }\n\n getActor<T>(options: GetActorOptions): any {\n if (!this._activeAdapter) {\n const agent = new HttpAgent(defaultHttpAgentOptions(this._config.icHost));\n return Actor.createActor(options.idl, { agent, canisterId: options.canisterId });\n }\n return this._activeAdapter.getActor<T>(options);\n }\n}\n\nexport const createWalletSelect = (config?: WalletSelectConfig) => new WalletSelect(config);\n\n\n","import type { ActorSubclass } from '@dfinity/agent';\nimport { Actor } from '@dfinity/agent';\nimport type { IDL } from '@dfinity/candid';\nimport type { AdapterInterface, WalletSelectConfig, GetActorOptions, WalletAccount, AdapterConfig } from '../index';\n\ndeclare global {\n interface Window {\n ic?: any;\n }\n}\n\nexport class PlugAdapter implements AdapterInterface {\n readonly id = 'plug';\n readonly label = 'Plug';\n readonly icon: string | null = null;\n private _config: WalletSelectConfig;\n private _adapterCfg?: AdapterConfig;\n\n constructor(args: { config?: WalletSelectConfig; adapter?: AdapterConfig }) {\n this._config = args.config || {};\n this._adapterCfg = args.adapter;\n }\n\n async isInstalled(): Promise<boolean> {\n return !!(typeof window !== 'undefined' && window.ic && window.ic.plug);\n }\n\n async isConnected(): Promise<boolean> {\n try { return !!(await window.ic?.plug?.isConnected?.()); } catch { return false; }\n }\n\n async connect(): Promise<WalletAccount> {\n if (!(await this.isInstalled())) throw new Error('Plug is not installed');\n // Ensure connected\n const connected = await this.isConnected();\n if (!connected) {\n await window.ic!.plug!.requestConnect?.({ host: this._config.icHost });\n }\n const principal = await window.ic!.plug!.getPrincipal?.();\n const principalText = typeof principal?.toText === 'function' ? principal.toText() : (principal?.toString?.() || null);\n return { owner: principalText, principal: principalText, connected: true };\n }\n\n async disconnect(): Promise<void> {\n try { await window.ic?.plug?.disconnect?.(); } catch {}\n }\n\n async getPrincipal(): Promise<string | null> {\n try {\n const p = await window.ic!.plug!.getPrincipal?.();\n return typeof p?.toText === 'function' ? p.toText() : (p?.toString?.() || null);\n } catch { return null; }\n }\n\n getActor<T>(options: GetActorOptions): ActorSubclass<T> {\n // Use Plug's agent synchronously if available\n const agent = window.ic?.plug?.agent;\n if (!agent) {\n throw new Error('Plug agent not initialized');\n }\n return Actor.createActor<T>(options.idl as IDL.InterfaceFactory, { agent, canisterId: options.canisterId });\n }\n}\n\n\n","import type { ActorSubclass } from '@dfinity/agent';\nimport { Actor, HttpAgent } from '@dfinity/agent';\nimport { AuthClient } from '@dfinity/auth-client';\nimport type { AdapterInterface, WalletSelectConfig, GetActorOptions, WalletAccount } from '../index';\n\nexport class IIAdapter implements AdapterInterface {\n readonly id = 'ii';\n readonly label = 'Internet Identity';\n readonly icon: string | null = null;\n private _config: WalletSelectConfig;\n private _client: AuthClient | null = null;\n private _agent: HttpAgent | null = null;\n\n constructor(args: { config: WalletSelectConfig }) {\n this._config = args.config || {};\n }\n\n private async client(): Promise<AuthClient> {\n if (this._client) return this._client;\n this._client = await AuthClient.create();\n return this._client;\n }\n\n async isInstalled(): Promise<boolean> { return true; }\n\n async isConnected(): Promise<boolean> {\n const c = await this.client();\n return await c.isAuthenticated();\n }\n\n async connect(): Promise<WalletAccount> {\n const c = await this.client();\n const connected = await c.isAuthenticated();\n if (!connected) {\n await c.login({ identityProvider: this._config.derivationOrigin, maxTimeToLive: BigInt(7 * 24 * 60 * 60 * 1_000_000_000) });\n }\n const identity = c.getIdentity();\n this._agent = new HttpAgent({ host: this._config.icHost, identity });\n const principal = identity.getPrincipal().toText();\n return { owner: principal, principal, connected: true };\n }\n\n async disconnect(): Promise<void> {\n try { await (await this.client()).logout(); } catch {}\n this._agent = null;\n }\n\n async getPrincipal(): Promise<string | null> {\n try { return (await this.client()).getIdentity().getPrincipal().toText(); } catch { return null; }\n }\n\n getActor<T>(options: GetActorOptions): ActorSubclass<T> {\n if (!this._agent) throw new Error('II agent not initialized');\n return Actor.createActor<T>(options.idl, { agent: this._agent, canisterId: options.canisterId });\n }\n}\n\n\n","import { Actor, HttpAgent } from '@dfinity/agent';\n// Avoid importing IDL types to prevent cross-version type conflicts\nimport type { AdapterInterface, WalletSelectConfig, GetActorOptions, WalletAccount } from '../index';\nimport { PostMessageTransport } from '@slide-computer/signer-web';\nimport { Signer } from '@slide-computer/signer';\nimport { SignerAgent } from '@slide-computer/signer-agent';\n\nexport class NfidAdapter implements AdapterInterface {\n readonly id = 'nfid';\n readonly label = 'NFID';\n readonly icon: string | null = null;\n private _config: WalletSelectConfig;\n private _agent: any | null = null;\n private _principal: string | null = null;\n\n constructor(args: { config: WalletSelectConfig }) { this._config = args.config || {}; }\n\n async isInstalled(): Promise<boolean> { return true; }\n async isConnected(): Promise<boolean> { return !!this._agent; }\n async connect(): Promise<WalletAccount> {\n const adapters = (this._config as any)?.adapters || {};\n const nfidCfg = adapters.nfid?.config || {};\n const signerUrl: string | undefined = nfidCfg.signerUrl;\n const hostUrl: string | undefined = nfidCfg.hostUrl || this._config.icHost;\n if (!signerUrl) throw new Error('NFID signerUrl not configured');\n if (!hostUrl) throw new Error('IC host not configured');\n\n const baseAgent = new HttpAgent({ host: hostUrl });\n const transport = new PostMessageTransport({ url: signerUrl, ...(nfidCfg.transport || {}) });\n const signer = new Signer({ transport });\n // Establish channel immediately within click handler before any further awaits\n await signer.openChannel();\n const accounts = await signer.accounts();\n const account = accounts?.[0]?.owner;\n const signerAgent = await SignerAgent.create({ signer, agent: baseAgent, account });\n\n let principal: string | null = null;\n try { principal = (await signerAgent.getPrincipal())?.toText?.() || null; } catch {}\n\n this._agent = signerAgent;\n this._principal = principal;\n return { owner: principal, principal, connected: true };\n }\n async disconnect(): Promise<void> { this._agent = null; this._principal = null; }\n async getPrincipal(): Promise<string | null> { return this._principal; }\n getActor(options: GetActorOptions): any {\n if (!this._agent) throw new Error('NFID agent not initialized');\n return Actor.createActor(options.idl, { agent: this._agent, canisterId: options.canisterId });\n }\n}\n\n\n","import { Actor, HttpAgent } from '@dfinity/agent';\n// Avoid importing IDL types to prevent cross-version type conflicts\nimport type { AdapterInterface, WalletSelectConfig, GetActorOptions, WalletAccount } from '../index';\nimport { PostMessageTransport } from '@slide-computer/signer-web';\nimport { Signer } from '@slide-computer/signer';\nimport { SignerAgent } from '@slide-computer/signer-agent';\n\nexport class OisyAdapter implements AdapterInterface {\n readonly id = 'oisy';\n readonly label = 'Oisy';\n readonly icon: string | null = null;\n private _config: WalletSelectConfig;\n private _agent: any | null = null;\n private _principal: string | null = null;\n\n constructor(args: { config: WalletSelectConfig }) { this._config = args.config || {}; }\n\n async isInstalled(): Promise<boolean> { return true; }\n async isConnected(): Promise<boolean> { return !!this._agent; }\n async connect(): Promise<WalletAccount> {\n const adapters = (this._config as any)?.adapters || {};\n const oisyCfg = adapters.oisy?.config || {};\n const signerUrl: string | undefined = oisyCfg.signerUrl; // e.g., https://oisy.com/signer\n const hostUrl: string | undefined = oisyCfg.hostUrl || this._config.icHost;\n const transportOverrides = (oisyCfg.transport || {}) as Record<string, any>;\n if (!signerUrl) throw new Error('Oisy signerUrl not configured');\n if (!hostUrl) throw new Error('IC host not configured');\n\n const windowOpenerFeatures = transportOverrides.windowOpenerFeatures ?? '';\n\n const baseAgent = new HttpAgent({ host: hostUrl });\n const transport = new PostMessageTransport({\n url: signerUrl,\n windowOpenerFeatures,\n detectNonClickEstablishment: false,\n ...transportOverrides\n });\n const signer = new Signer({ transport });\n // Establish channel immediately within click handler before any further awaits\n await signer.openChannel();\n const accounts = await signer.accounts();\n const account = accounts?.[0]?.owner;\n const signerAgent = await SignerAgent.create({ signer, agent: baseAgent, account });\n\n let principal: string | null = null;\n try { principal = (await signerAgent.getPrincipal())?.toText?.() || null; } catch {}\n\n this._agent = signerAgent;\n this._principal = principal;\n return { owner: principal, principal, connected: true };\n }\n async disconnect(): Promise<void> { this._agent = null; this._principal = null; }\n async getPrincipal(): Promise<string | null> { return this._principal; }\n getActor(options: GetActorOptions): any {\n if (!this._agent) throw new Error('Oisy agent not initialized');\n // Create actor through the signer agent compatible path\n return Actor.createActor(options.idl, { agent: this._agent, canisterId: options.canisterId });\n }\n}\n\n\n","import type { AdapterInterface, GetActorOptions, WalletSelectConfig, WalletAccount } from '../index.js';\nimport { Actor, HttpAgent } from '@dfinity/agent';\n\ndeclare global {\n interface Window {\n ethereum?: any;\n }\n}\n\nexport class MetaMaskAdapter implements AdapterInterface {\n readonly id = 'metamask';\n readonly label = 'MetaMask';\n readonly icon?: string | null;\n private readonly config: WalletSelectConfig;\n\n constructor(args: { config: WalletSelectConfig }) {\n this.config = args.config || ({} as any);\n }\n\n private getProvider(): any {\n try {\n const anyWin: any = (typeof window !== 'undefined' ? window : {}) as any;\n const eth = anyWin.ethereum;\n if (eth && Array.isArray(eth.providers)) {\n const mm = eth.providers.find((p: any) => p && p.isMetaMask);\n if (mm) return mm;\n }\n if (eth && eth.isMetaMask) return eth;\n } catch {}\n return null;\n }\n\n // Exposed for WalletSelect.getEvmProvider()\n getEvmProvider(): any {\n return this.getProvider();\n }\n\n async isInstalled(): Promise<boolean> {\n try {\n return !!this.getProvider();\n } catch {\n return false;\n }\n }\n\n async isConnected(): Promise<boolean> {\n try {\n const provider = this.getProvider();\n if (!provider) return false;\n const req = typeof provider.request === 'function' ? provider.request({ method: 'eth_accounts' }) : Promise.resolve([]);\n const accounts = await req;\n return Array.isArray(accounts) && accounts.length > 0;\n } catch {\n return false;\n }\n }\n\n async connect(): Promise<WalletAccount> {\n const provider = this.getProvider();\n if (!provider) throw new Error('MetaMask not available');\n const accounts = await provider.request?.({ method: 'eth_requestAccounts' });\n const addr = Array.isArray(accounts) ? (accounts[0] || '') : '';\n if (!addr) throw new Error('No account returned by MetaMask');\n return { owner: addr, principal: addr, connected: true };\n }\n\n async disconnect(): Promise<void> {\n try {\n const provider = this.getProvider() || (typeof window !== 'undefined' ? (window as any).ethereum : null);\n if (!provider) return;\n try {\n await provider.request?.({\n method: 'wallet_requestPermissions',\n params: [{ eth_accounts: {} }]\n });\n } catch {}\n try { provider.removeAllListeners?.('accountsChanged'); } catch {}\n try { provider.removeAllListeners?.('chainChanged'); } catch {}\n try { provider.removeAllListeners?.('disconnect'); } catch {}\n } catch {}\n }\n\n async getPrincipal(): Promise<string | null> {\n try {\n const provider = this.getProvider() || (typeof window !== 'undefined' ? (window as any).ethereum : null);\n if (!provider) return null;\n const accounts = await provider.request?.({ method: 'eth_accounts' });\n const addr = Array.isArray(accounts) ? (accounts[0] || '') : '';\n return addr || null;\n } catch {\n return null;\n }\n }\n\n getActor<T>(options: GetActorOptions): any {\n throw new Error('EVM wallets cannot provide IC actors. Use IC adapters for IC canister interactions.');\n }\n}\n\n\n","import type { AdapterInterface, GetActorOptions, WalletSelectConfig, WalletAccount } from '../index.js';\nimport { Actor, HttpAgent } from '@dfinity/agent';\n\ndeclare global {\n\tinterface Window {\n\t\tcoinbaseWalletExtension?: any;\n\t\tethereum?: any;\n\t}\n}\n\nfunction getCoinbaseProvider(): any | null {\n\ttry {\n\t\tconst anyWin: any = (typeof window !== 'undefined' ? window : {}) as any;\n\t\t// Prefer dedicated extension handle if available\n\t\tif (anyWin.coinbaseWalletExtension) return anyWin.coinbaseWalletExtension;\n\t\t// Fallback to injected ethereum with coinbase flag\n\t\tconst eth = anyWin.ethereum;\n\t\tif (eth && Array.isArray(eth.providers)) {\n\t\t\tconst cb = eth.providers.find((p: any) => p && (p.isCoinbaseWallet || p?.provider?.isCoinbaseWallet));\n\t\t\tif (cb) return cb;\n\t\t}\n\t\tif (eth && (eth.isCoinbaseWallet || eth?.provider?.isCoinbaseWallet)) return eth;\n\t\treturn null;\n\t} catch {\n\t\treturn null;\n\t}\n}\n\nexport class CoinbaseAdapter implements AdapterInterface {\n readonly id = 'coinbase';\n readonly label = 'Coinbase Wallet';\n readonly icon?: string | null;\n private readonly config: WalletSelectConfig;\n getEvmProvider(): any { return getCoinbaseProvider(); }\n\n constructor(args: { config: WalletSelectConfig }) {\n this.config = args.config || {};\n }\n\n async isInstalled(): Promise<boolean> {\n\t\ttry {\n\t\t\treturn !!getCoinbaseProvider();\n\t\t} catch {\n\t\t\treturn false;\n\t\t}\n\t}\n\n async isConnected(): Promise<boolean> {\n\t\ttry {\n\t\t\tconst provider = getCoinbaseProvider();\n\t\t\tif (!provider) return false;\n\t\t\tconst accounts = await provider.request({ method: 'eth_accounts' });\n\t\t\treturn Array.isArray(accounts) && accounts.length > 0;\n\t\t} catch {\n\t\t\treturn false;\n\t\t}\n\t}\n\n async connect(): Promise<WalletAccount> {\n\t\tconst provider = getCoinbaseProvider();\n\t\tif (!provider) throw new Error('Coinbase Wallet not available');\n\t\tconst accounts = await provider.request({ method: 'eth_requestAccounts' });\n\t\tconst addr = Array.isArray(accounts) ? (accounts[0] || '') : '';\n\t\tif (!addr) throw new Error('No account returned by Coinbase Wallet');\n\t\treturn { owner: addr, principal: addr, connected: true };\n\t}\n\n async disconnect(): Promise<void> {\n try {\n const provider = getCoinbaseProvider();\n if (!provider) return;\n try { await provider.request?.({ method: 'wallet_requestPermissions', params: [{ eth_accounts: {} }] }); } catch {}\n try { provider.removeAllListeners?.('accountsChanged'); } catch {}\n try { provider.removeAllListeners?.('chainChanged'); } catch {}\n try { provider.removeAllListeners?.('disconnect'); } catch {}\n } catch {}\n }\n // Attempt to trigger Coinbase extension account change UI if available\n // Coinbase extension doesn't provide a standard disconnect; we simply clear dapp state\n // and rely on a fresh connect to prompt the user.\n\n async getPrincipal(): Promise<string | null> {\n try {\n const provider = getCoinbaseProvider();\n if (!provider) return null;\n const accounts = await provider.request({ method: 'eth_accounts' });\n const addr = Array.isArray(accounts) ? (accounts[0] || '') : '';\n return addr || null;\n } catch {\n return null;\n }\n }\n\n getActor<T>(options: GetActorOptions): any {\n throw new Error('EVM wallets cannot provide IC actors. Use IC adapters for IC canister interactions.');\n }\n}\n\n\n","import type { AdapterInterface, GetActorOptions, WalletSelectConfig, WalletAccount } from '../index.js';\n\ndeclare global {\n\tinterface Window {\n\t\tethereum?: any;\n\t\tbrave?: any;\n\t\tnavigator?: any;\n\t}\n}\n\nfunction isBraveBrowser(): boolean {\n\ttry {\n\t\tconst nav: any = (typeof navigator !== 'undefined' ? navigator : (window as any)?.navigator);\n\t\treturn !!(nav && (nav.brave || String(nav.userAgent || '').toLowerCase().includes('brave')));\n\t} catch {\n\t\treturn false;\n\t}\n}\n\nfunction getBraveProviderInternal(allowFallback: boolean): any | null {\n\ttry {\n\t\tconst anyWin: any = (typeof window !== 'undefined' ? window : {}) as any;\n\t\t// Some builds expose a dedicated handle\n\t\tif (anyWin.brave?.ethereum) return anyWin.brave.ethereum;\n\t\tconst eth = anyWin.ethereum;\n\t\tif (!eth) return null;\n\t\t// Prefer explicit Brave provider if multiple are present\n\t\tif (Array.isArray(eth.providers) && eth.providers.length) {\n\t\t\tconst byFlag = eth.providers.find((p: any) => p && (p.isBraveWallet || (p?.walletMeta?.name && String(p.walletMeta.name).toLowerCase().includes('brave'))));\n\t\t\tif (byFlag) return byFlag;\n\t\t\t// If running in Brave and fallback explicitly allowed, allow a cautious fallback to a non-branded provider\n\t\t\tif (allowFallback && isBraveBrowser()) {\n\t\t\t\tconst candidate = eth.providers.find(\n\t\t\t\t\t(p: any) => p && typeof p.request === 'function' && !p.isMetaMask && !p.isCoinbaseWallet && !p.isRabby && !p.isOkxWallet && !p.isOKExWallet && !p.isPhantom\n\t\t\t\t);\n\t\t\t\tif (candidate) return candidate;\n\t\t\t\t// As a last resort (explicitly opted-in), return the first provider\n\t\t\t\treturn eth.providers[0] || null;\n\t\t\t}\n\t\t\treturn null;\n\t\t}\n\t\t// Single provider case\n\t\tif (eth.isBraveWallet) return eth;\n\t\tconst name = eth?.walletMeta?.name ? String(eth.walletMeta.name).toLowerCase() : '';\n\t\tif (name.includes('brave')) return eth;\n\t\t// If in Brave, fallback explicitly allowed, and it isn't obviously another brand, allow fallback\n\t\tif (allowFallback && isBraveBrowser() && typeof eth.request === 'function' && !eth.isMetaMask && !eth.isCoinbaseWallet && !eth.isRabby && !eth.isOkxWallet && !eth.isOKExWallet && !eth.isPhantom) {\n\t\t\treturn eth;\n\t\t}\n\t\treturn null;\n\t} catch {\n\t\treturn null;\n\t}\n}\n\nexport class BraveAdapter implements AdapterInterface {\n\treadonly id = 'brave';\n\treadonly label = 'Brave Wallet';\n\treadonly icon?: string | null;\n\tprivate readonly config: WalletSelectConfig;\n\n\tconstructor(args: { config: WalletSelectConfig }) {\n\t\tthis.config = args.config || {};\n\t}\n\n\tprivate getProvider(): any | null {\n\t\t// Always enable fallback logic when in Brave\n\t\treturn getBraveProviderInternal(true);\n\t}\n\n\tgetEvmProvider(): any { return this.getProvider(); }\n\n\tasync isInstalled(): Promise<boolean> {\n\t\ttry {\n\t\t\treturn !!this.getProvider();\n\t\t} catch {\n\t\t\treturn false;\n\t\t}\n\t}\n\n\tasync isConnected(): Promise<boolean> {\n\t\ttry {\n\t\t\tconst provider = this.getProvider();\n\t\t\tif (!provider) return false;\n\t\t\tconst accounts = await provider.request?.({ method: 'eth_accounts' });\n\t\t\tif (Array.isArray(accounts) && accounts.length > 0 && typeof accounts[0] === 'string' && accounts[0]) return true;\n\t\t\tconst sel = provider?.selectedAddress || (Array.isArray(provider?.accounts) && provider.accounts[0]);\n\t\t\treturn !!sel;\n\t\t} catch {\n\t\t\treturn false;\n\t\t}\n\t}\n\n\tasync connect(): Promise<WalletAccount> {\n\t\tconst provider = this.getProvider();\n\t\tif (!provider) throw new Error('Brave Wallet not available');\n\t\tconst accounts = await provider.request?.({ method: 'eth_requestAccounts' });\n\t\tconst addr = Array.isArray(accounts) ? (accounts[0] || '') : '';\n\t\tif (!addr) throw new Error('No account returned by Brave Wallet');\n\t\treturn { owner: addr, principal: addr, connected: true };\n\t}\n\n\tasync disconnect(): Promise<void> {\n\t\ttry {\n\t\t\tconst provider = this.getProvider();\n\t\t\tif (!provider) return;\n\t\t\ttry {\n\t\t\t\tawait provider.request?.({ method: 'wallet_requestPermissions', params: [{ eth_accounts: {} }] });\n\t\t\t} catch {}\n\t\t\ttry { provider.removeAllListeners?.('accountsChanged'); } catch {}\n\t\t\ttry { provider.removeAllListeners?.('chainChanged'); } catch {}\n\t\t\ttry { provider.removeAllListeners?.('disconnect'); } catch {}\n\t\t} catch {}\n\t}\n\n\tasync getPrincipal(): Promise<string | null> {\n\t\ttry {\n\t\t\tconst provider = this.getProvider();\n\t\t\tif (!provider) return null;\n\t\t\tconst accounts = await provider.request?.({ method: 'eth_accounts' });\n\t\t\tif (Array.isArray(accounts) && accounts.length > 0 && typeof accounts[0] === 'string' && accounts[0]) return accounts[0];\n\t\t\tconst sel = provider?.selectedAddress || (Array.isArray(provider?.accounts) && provider.accounts[0]);\n\t\t\treturn (typeof sel === 'string' && sel) ? sel : null;\n\t\t} catch {\n\t\t\treturn null;\n\t\t}\n\t}\n\n\tgetActor<T>(options: GetActorOptions): any {\n\t\tthrow new Error('EVM wallets cannot provide IC actors. Use IC adapters for IC canister interactions.');\n\t}\n}\n\n\n\n","import type { AdapterInterface, GetActorOptions, WalletSelectConfig, WalletAccount } from '../index.js';\n\ndeclare global {\n\tinterface Window {\n\t\tethereum?: any;\n\t}\n}\n\nfunction getRainbowProvider(): any | null {\n\ttry {\n\t\tconst anyWin: any = (typeof window !== 'undefined' ? window : {}) as any;\n\t\tlet eth = anyWin.ethereum;\n\t\tif (eth && Array.isArray(eth.providers)) {\n\t\t\tconst rainbow = eth.providers.find((p: any) => p && p.isRainbow);\n\t\t\tif (rainbow) return rainbow;\n\t\t}\n\t\tif (eth && eth.isRainbow) return eth;\n\t\treturn null;\n\t} catch {\n\t\treturn null;\n\t}\n}\n\nexport class RainbowAdapter implements AdapterInterface {\n\treadonly id = 'rainbow';\n\treadonly label = 'Rainbow';\n\treadonly icon?: string | null;\n\tprivate readonly config: WalletSelectConfig;\n\tgetEvmProvider(): any { return getRainbowProvider(); }\n\n\tconstructor(args: { config: WalletSelectConfig }) {\n\t\tthis.config = args.config || {};\n\t}\n\n\tasync isInstalled(): Promise<boolean> {\n\t\ttry {\n\t\t\treturn !!getRainbowProvider();\n\t\t} catch {\n\t\t\treturn false;\n\t\t}\n\t}\n\n\tasync isConnected(): Promise<boolean> {\n\t\ttry {\n\t\t\tconst provider = getRainbowProvider();\n\t\t\tif (!provider) return false;\n\t\t\tconst accounts = await provider.request({ method: 'eth_accounts' });\n\t\t\treturn Array.isArray(accounts) && accounts.length > 0;\n\t\t} catch {\n\t\t\treturn false;\n\t\t}\n\t}\n\n\tasync connect(): Promise<WalletAccount> {\n\t\tconst provider = getRainbowProvider();\n\t\tif (!provider) throw new Error('Rainbow not available');\n\t\tconst accounts = await provider.request({ method: 'eth_requestAccounts' });\n\t\tconst addr = Array.isArray(accounts) ? (accounts[0] || '') : '';\n\t\tif (!addr) throw new Error('No account returned by Rainbow');\n\t\treturn { owner: addr, principal: addr, connected: true };\n\t}\n\n\tasync disconnect(): Promise<void> {\n\t\ttry {\n\t\t\tconst provider = getRainbowProvider();\n\t\t\tif (!provider) return;\n\t\t\ttry {\n\t\t\t\tawait provider.request?.({ method: 'wallet_requestPermissions', params: [{ eth_accounts: {} }] });\n\t\t\t} catch {}\n\t\t\ttry { provider.removeAllListeners?.('accountsChanged'); } catch {}\n\t\t\ttry { provider.removeAllListeners?.('chainChanged'); } catch {}\n\t\t\ttry { provider.removeAllListeners?.('disconnect'); } catch {}\n\t\t} catch {}\n\t}\n\n\tasync getPrincipal(): Promise<string | null> {\n\t\ttry {\n\t\t\tconst provider = getRainbowProvider();\n\t\t\tif (!provider) return null;\n\t\t\tconst accounts = await provider.request({ method: 'eth_accounts' });\n\t\t\tconst addr = Array.isArray(accounts) ? (accounts[0] || '') : '';\n\t\t\treturn addr || null;\n\t\t} catch {\n\t\t\treturn null;\n\t\t}\n\t}\n\n\tgetActor<T>(options: GetActorOptions): any {\n\t\tthrow new Error('EVM wallets cannot provide IC actors. Use IC adapters for IC canister interactions.');\n\t}\n}\n\n\n\n","import type { AdapterInterface, GetActorOptions, WalletSelectConfig, WalletAccount } from '../index.js';\n\ndeclare global {\n\tinterface Window {\n\t\tethereum?: any;\n\t}\n}\n\nfunction getRabbyProvider(): any | null {\n\ttry {\n\t\tconst anyWin: any = (typeof window !== 'undefined' ? window : {}) as any;\n\t\tlet eth = anyWin.ethereum;\n\t\tif (eth && Array.isArray(eth.providers)) {\n\t\t\tconst rabby = eth.providers.find((p: any) => p && p.isRabby);\n\t\t\tif (rabby) return rabby;\n\t\t}\n\t\tif (eth && eth.isRabby) return eth;\n\t\treturn null;\n\t} catch {\n\t\treturn null;\n\t}\n}\n\nexport class RabbyAdapter implements AdapterInterface {\n\treadonly id = 'rabby';\n\treadonly label = 'Rabby';\n\treadonly icon?: string | null;\n\tprivate readonly config: WalletSelectConfig;\n\tgetEvmProvider(): any { return getRabbyProvider(); }\n\n\tconstructor(args: { config: WalletSelectConfig }) {\n\t\tthis.config = args.config || {};\n\t}\n\n\tasync isInstalled(): Promise<boolean> {\n\t\ttry {\n\t\t\treturn !!getRabbyProvider();\n\t\t} catch {\n\t\t\treturn false;\n\t\t}\n\t}\n\n\tasync isConnected(): Promise<boolean> {\n\t\ttry {\n\t\t\tconst provider = getRabbyProvider();\n\t\t\tif (!provider) return false;\n\t\t\tconst accounts = await provider.request({ method: 'eth_accounts' });\n\t\t\treturn Array.isArray(accounts) && accounts.length > 0;\n\t\t} catch {\n\t\t\treturn false;\n\t\t}\n\t}\n\n\tasync connect(): Promise<WalletAccount> {\n\t\tconst provider = getRabbyProvider();\n\t\tif (!provider) throw new Error('Rabby not available');\n\t\tconst accounts = await provider.request({ method: 'eth_requestAccounts' });\n\t\tconst addr = Array.isArray(accounts) ? (accounts[0] || '') : '';\n\t\tif (!addr) throw new Error('No account returned by Rabby');\n\t\treturn { owner: addr, principal: addr, connected: true };\n\t}\n\n\tasync disconnect(): Promise<void> {\n\t\ttry {\n\t\t\tconst provider = getRabbyProvider();\n\t\t\tif (!provider) return;\n\t\t\ttry {\n\t\t\t\tawait provider.request?.({ method: 'wallet_requestPermissions', params: [{ eth_accounts: {} }] });\n\t\t\t} catch {}\n\t\t\ttry { provider.removeAllListeners?.('accountsChanged'); } catch {}\n\t\t\ttry { provider.removeAllListeners?.('chainChanged'); } catch {}\n\t\t\ttry { provider.removeAllListeners?.('disconnect'); } catch {}\n\t\t} catch {}\n\t}\n\n\tasync getPrincipal(): Promise<string | null> {\n\t\ttry {\n\t\t\tconst provider = getRabbyProvider();\n\t\t\tif (!provider) return null;\n\t\t\tconst accounts = await provider.request({ method: 'eth_accounts' });\n\t\t\tconst addr = Array.isArray(accounts) ? (accounts[0] || '') : '';\n\t\t\treturn addr || null;\n\t\t} catch {\n\t\t\treturn null;\n\t\t}\n\t}\n\n\tgetActor<T>(options: GetActorOptions): any {\n\t\tthrow new Error('EVM wallets cannot provide IC actors. Use IC adapters for IC canister interactions.');\n\t}\n}\n\n\n\n","import type { AdapterInterface, GetActorOptions, WalletSelectConfig, WalletAccount } from '../index.js';\n\ndeclare global {\n\tinterface Window {\n\t\tethereum?: any;\n\t\tphantom?: { ethereum?: any; solana?: any } | undefined;\n\t}\n}\n\nfunction getPhantomEvmProvider(): any | null {\n\ttry {\n\t\tconst anyWin: any = (typeof window !== 'undefined' ? window : {}) as any;\n\t\t// Prefer the dedicated Phantom EVM provider if present\n\t\tif (anyWin.phantom && anyWin.phantom.ethereum) return anyWin.phantom.ethereum;\n\t\t// Fallback to injected ethereum with isPhantom flag\n\t\tlet eth = anyWin.ethereum;\n\t\tif (eth && Array.isArray(eth.providers)) {\n\t\t\tconst phantom = eth.providers.find((p: any) => p && (p.isPhantom || p.isPhantomEthereum));\n\t\t\tif (phantom) return phantom;\n\t\t}\n\t\tif (eth && (eth.isPhantom || eth.isPhantomEthereum)) return eth;\n\t\treturn null;\n\t} catch {\n\t\treturn null;\n\t}\n}\n\nexport class PhantomAdapter implements AdapterInterface {\n\treadonly id = 'phantom';\n\treadonly label = 'Phantom';\n\treadonly icon?: string | null;\n\tprivate readonly config: WalletSelectConfig;\n\tgetEvmProvider(): any { return getPhantomEvmProvider(); }\n\n\tconstructor(args: { config: WalletSelectConfig }) {\n\t\tthis.config = args.config || {};\n\t}\n\n\tasync isInstalled(): Promise<boolean> {\n\t\ttry {\n\t\t\treturn !!getPhantomEvmProvider();\n\t\t} catch {\n\t\t\treturn false;\n\t\t}\n\t}\n\n\tasync isConnected(): Promise<boolean> {\n\t\ttry {\n\t\t\tconst provider = getPhantomEvmProvider();\n\t\t\tif (!provider) return false;\n\t\t\tconst accounts = await provider.request({ method: 'eth_accounts' });\n\t\t\treturn Array.isArray(accounts) && accounts.length > 0;\n\t\t} catch {\n\t\t\treturn false;\n\t\t}\n\t}\n\n\tasync connect(): Promise<WalletAccount> {\n\t\tconst provider = getPhantomEvmProvider();\n\t\tif (!provider) throw new Error('Phantom (EVM) not available');\n\t\tconst accounts = await provider.request({ method: 'eth_requestAccounts' });\n\t\tconst addr = Array.isArray(accounts) ? (accounts[0] || '') : '';\n\t\tif (!addr) throw new Error('No account returned by Phantom');\n\t\treturn { owner: addr, principal: addr, connected: true };\n\t}\n\n\tasync disconnect(): Promise<void> {\n\t\ttry {\n\t\t\tconst provider = getPhantomEvmProvider();\n\t\t\tif (!provider) return;\n\t\t\ttry {\n\t\t\t\tawait provider.request?.({ method: 'wallet_requestPermissions', params: [{ eth_accounts: {} }] });\n\t\t\t} catch {}\n\t\t\ttry { provider.removeAllListeners?.('accountsChanged'); } catch {}\n\t\t\ttry { provider.removeAllListeners?.('chainChanged'); } catch {}\n\t\t\ttry { provider.removeAllListeners?.('disconnect'); } catch {}\n\t\t} catch {}\n\t}\n\n\tasync getPrincipal(): Promise<string | null> {\n\t\ttry {\n\t\t\tconst provider = getPhantomEvmProvider();\n\t\t\tif (!provider) return null;\n\t\t\tconst accounts = await provider.request({ method: 'eth_accounts' });\n\t\t\tconst addr = Array.isArray(accounts) ? (accounts[0] || '') : '';\n\t\t\treturn addr || null;\n\t\t} catch {\n\t\t\treturn null;\n\t\t}\n\t}\n\n\tgetActor<T>(options: GetActorOptions): any {\n\t\tthrow new Error('EVM wallets cannot provide IC actors. Use IC adapters for IC canister interactions.');\n\t}\n}\n\n\n\n","import type { AdapterInterface, GetActorOptions, WalletSelectConfig, WalletAccount } from '../index.js';\n\ndeclare global {\n\tinterface Window {\n\t\tethereum?: any;\n\t\tokxwallet?: any;\n\t}\n}\n\nfunction getOkxProvider(): any | null {\n\ttry {\n\t\tconst anyWin: any = (typeof window !== 'undefined' ? window : {}) as any;\n\t\t// Dedicated OKX handle if present\n\t\tconst okx = anyWin.okxwallet;\n\t\tif (okx && (okx.isOkxWallet || okx.ethereum)) return okx.ethereum || okx;\n\t\t// Check injected ethereum flags\n\t\tconst eth = anyWin.ethereum;\n\t\tif (eth && Array.isArray(eth.providers)) {\n\t\t\tconst p = eth.providers.find((p: any) => p && (p.isOkxWallet || p?.provider?.isOkxWallet));\n\t\t\tif (p) return p;\n\t\t}\n\t\tif (eth && (eth.isOkxWallet || eth?.provider?.isOkxWallet)) return eth;\n\t\treturn null;\n\t} catch {\n\t\treturn null;\n\t}\n}\n\nexport class OkxAdapter implements AdapterInterface {\n\treadonly id = 'okx';\n\treadonly label = 'OKX Wallet';\n\treadonly icon?: string | null;\n\tprivate readonly config: WalletSelectConfig;\n\n\tconstructor(args: { config: WalletSelectConfig }) {\n\t\tthis.config = args.config || {};\n\t}\n\n\tgetEvmProvider(): any { return getOkxProvider(); }\n\n\tasync isInstalled(): Promise<boolean> {\n\t\ttry {\n\t\t\treturn !!getOkxProvider();\n\t\t} catch {\n\t\t\treturn false;\n\t\t}\n\t}\n\n\tasync isConnected(): Promise<boolean> {\n\t\ttry {\n\t\t\tconst provider = getOkxProvider();\n\t\t\tif (!provider) return false;\n\t\t\tconst accounts = await provider.request({ method: 'eth_accounts' });\n\t\t\treturn Array.isArray(accounts) && accounts.length > 0;\n\t\t} catch {\n\t\t\treturn false;\n\t\t}\n\t}\n\n\tasync connect(): Promise<WalletAccount> {\n\t\tconst provider = getOkxProvider();\n\t\tif (!provider) throw new Error('OKX Wallet not available');\n\t\tconst accounts = await provider.request({ method: 'eth_requestAccounts' });\n\t\tconst addr = Array.isArray(accounts) ? (accounts[0] || '') : '';\n\t\tif (!addr) throw new Error('No account returned by OKX Wallet');\n\t\treturn { owner: addr, principal: addr, connected: true };\n\t}\n\n\tasync disconnect(): Promise<void> {\n\t\ttry {\n\t\t\tconst provider = getOkxProvider();\n\t\t\tif (!provider) return;\n\t\t\ttry { await provider.request?.({ method: 'wallet_requestPermissions', params: [{ eth_accounts: {} }] }); } catch {}\n\t\t\ttry { provider.removeAllListeners?.('accountsChanged'); } catch {}\n\t\t\ttry { provider.removeAllListeners?.('chainChanged'); } catch {}\n\t\t\ttry { provider.removeAllListeners?.('disconnect'); } catch {}\n\t\t} catch {}\n\t}\n\n\tasync getPrincipal(): Promise<string | null> {\n\t\ttry {\n\t\t\tconst provider = getOkxProvider();\n\t\t\tif (!provider) return null;\n\t\t\tconst accounts = await provider.request({ method: 'eth_accounts' });\n\t\t\tconst addr = Array.isArray(accounts) ? (accounts[0] || '') : '';\n\t\t\treturn addr || null;\n\t\t} catch {\n\t\t\treturn null;\n\t\t}\n\t}\n\n\tgetActor<T>(options: GetActorOptions): any {\n\t\tthrow new Error('EVM wallets cannot provide IC actors. Use IC adapters for IC canister interactions.');\n\t}\n}\n\n\n\n","export default \"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPCEtLSBHZW5lcmF0b3I6IEFkb2JlIElsbHVzdHJhdG9yIDI0LjAuMCwgU1ZHIEV4cG9ydCBQbHVnLUluIC4gU1ZHIFZlcnNpb246IDYuMDAgQnVpbGQgMCkgIC0tPgo8c3ZnIHZlcnNpb249IjEuMSIgaWQ9IkxheWVyXzEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4IgoJIHZpZXdCb3g9IjAgMCAzNTguOCAxNzkuOCIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAgMzU4LjggMTc5Ljg7IiB4bWw6c3BhY2U9InByZXNlcnZlIj4KPHN0eWxlIHR5cGU9InRleHQvY3NzIj4KCS5zdDB7ZmlsbDp1cmwoI1NWR0lEXzFfKTt9Cgkuc3Qxe2ZpbGw6dXJsKCNTVkdJRF8yXyk7fQoJLnN0MntmaWxsLXJ1bGU6ZXZlbm9kZDtjbGlwLXJ1bGU6ZXZlbm9kZDtmaWxsOiMyOUFCRTI7fQo8L3N0eWxlPgo8bGluZWFyR3JhZGllbnQgaWQ9IlNWR0lEXzFfIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9IjIyNC43ODUzIiB5MT0iMjU3Ljc1MzYiIHgyPSIzNDguMDY2MyIgeTI9IjEzMy40NTgxIiBncmFkaWVudFRyYW5zZm9ybT0ibWF0cml4KDEgMCAwIC0xIDAgMjcyKSI+Cgk8c3RvcCAgb2Zmc2V0PSIwLjIxIiBzdHlsZT0ic3RvcC1jb2xvcjojRjE1QTI0Ii8+Cgk8c3RvcCAgb2Zmc2V0PSIwLjY4NDEiIHN0eWxlPSJzdG9wLWNvbG9yOiNGQkIwM0IiLz4KPC9saW5lYXJHcmFkaWVudD4KPHBhdGggY2xhc3M9InN0MCIgZD0iTTI3MS42LDBjLTIwLDAtNDEuOSwxMC45LTY1LDMyLjRjLTEwLjksMTAuMS0yMC41LDIxLjEtMjcuNSwyOS44YzAsMCwxMS4yLDEyLjksMjMuNSwyNi44CgljNi43LTguNCwxNi4yLTE5LjgsMjcuMy0zMC4xYzIwLjUtMTkuMiwzMy45LTIzLjEsNDEuNi0yMy4xYzI4LjgsMCw1Mi4yLDI0LjIsNTIuMiw1NC4xYzAsMjkuNi0yMy40LDUzLjgtNTIuMiw1NC4xCgljLTEuNCwwLTMtMC4yLTUtMC42YzguNCwzLjksMTcuNSw2LjcsMjYsNi43YzUyLjgsMCw2My4yLTM2LjUsNjMuOC0zOS4xYzEuNS02LjcsMi40LTEzLjcsMi40LTIwLjlDMzU4LjYsNDAuNCwzMTkuNiwwLDI3MS42LDB6Ii8+CjxsaW5lYXJHcmFkaWVudCBpZD0iU1ZHSURfMl8iIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIiB4MT0iMTMzLjk0NjEiIHkxPSIxMDYuNDI2MiIgeDI9IjEwLjY2NTMiIHkyPSIyMzAuNzIxNSIgZ3JhZGllbnRUcmFuc2Zvcm09Im1hdHJpeCgxIDAgMCAtMSAwIDI3MikiPgoJPHN0b3AgIG9mZnNldD0iMC4yMSIgc3R5bGU9InN0b3AtY29sb3I6I0VEMUU3OSIvPgoJPHN0b3AgIG9mZnNldD0iMC44OTI5IiBzdHlsZT0ic3RvcC1jb2xvcjojNTIyNzg1Ii8+CjwvbGluZWFyR3JhZGllbnQ+CjxwYXRoIGNsYXNzPSJzdDEiIGQ9Ik04Ny4xLDE3OS44YzIwLDAsNDEuOS0xMC45LDY1LTMyLjRjMTAuOS0xMC4xLDIwLjUtMjEuMSwyNy41LTI5LjhjMCwwLTExLjItMTIuOS0yMy41LTI2LjgKCWMtNi43LDguNC0xNi4yLDE5LjgtMjcuMywzMC4xYy0yMC41LDE5LTM0LDIzLjEtNDEuNiwyMy4xYy0yOC44LDAtNTIuMi0yNC4yLTUyLjItNTQuMWMwLTI5LjYsMjMuNC01My44LDUyLjItNTQuMQoJYzEuNCwwLDMsMC4yLDUsMC42Yy04LjQtMy45LTE3LjUtNi43LTI2LTYuN0MxMy40LDI5LjYsMyw2Ni4xLDIuNCw2OC44QzAuOSw3NS41LDAsODIuNSwwLDg5LjdDMCwxMzkuNCwzOSwxNzkuOCw4Ny4xLDE3OS44eiIvPgo8cGF0aCBjbGFzcz0ic3QyIiBkPSJNMTI3LjMsNTkuN2MtNS44LTUuNi0zNC0yOC41LTYxLTI5LjNDMTguMSwyOS4yLDQsNjQuMiwyLjcsNjguN0MxMiwyOS41LDQ2LjQsMC4yLDg3LjIsMAoJYzMzLjMsMCw2NywzMi43LDkxLjksNjIuMmMwLDAsMC4xLTAuMSwwLjEtMC4xYzAsMCwxMS4yLDEyLjksMjMuNSwyNi44YzAsMCwxNCwxNi41LDI4LjgsMzFjNS44LDUuNiwzMy45LDI4LjIsNjAuOSwyOQoJYzQ5LjUsMS40LDYzLjItMzUuNiw2My45LTM4LjRjLTkuMSwzOS41LTQzLjYsNjguOS04NC42LDY5LjFjLTMzLjMsMC02Ny0zMi43LTkyLTYyLjJjMCwwLjEtMC4xLDAuMS0wLjEsMC4yCgljMCwwLTExLjItMTIuOS0yMy41LTI2LjhDMTU2LjIsOTAuOCwxNDIuMiw3NC4yLDEyNy4zLDU5Ljd6IE0yLjcsNjkuMWMwLTAuMSwwLTAuMiwwLjEtMC4zQzIuNyw2OC45LDIuNyw2OSwyLjcsNjkuMXoiLz4KPC9zdmc+Cg==\";\n","export default \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNjQiIGhlaWdodD0iNjQiIHZpZXdCb3g9IjAgMCA2NCA2NCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0xNS45MDIyIDMuMTU2MjlDMTYuNzcxNCAzLjA2MzYzIDE3LjQwMDggMi4yODM5OCAxNy4zMDgxIDEuNDE0ODlDMTcuMjE1NSAwLjU0NTgwOSAxNi40MzU4IC0wLjA4MzYwOTkgMTUuNTY2NyAwLjAwOTA0OTQ2TDEyLjMzNDUgMC4zNTM2MzNDMTAuNjc4NiAwLjUzMDE2NSA5LjM1MDQ2IDAuNjcxNzUxIDguMjcxOCAwLjg2NzMwNkM3LjE2MDYgMS4wNjg3NiA2LjIwODI3IDEuMzQ0MTQgNS4zMjM3OCAxLjgzOTgxQzMuODg3NzMgMi42NDQ1NyAyLjY5NzE5IDMuODIzODUgMS44Nzk0NCA1LjI1MTk2QzEuMzc1NjggNi4xMzE3MyAxLjA5MjA0IDcuMDgxMTIgMC44ODExODUgOC4xODk2MUMwLjY3NjUzNSA5LjI2NTQ5IDAuNTIzODkzIDEwLjU5MSAwLjMzMzYyMSAxMi4yNDMyTDAuMzI1NDI0IDEyLjMxNDRMMC4wMDgwNjAwNiAxNS40NzA0Qy0wLjA3OTM4NzUgMTYuMzQgMC41NTQ3MjYgMTcuMTE1OSAxLjQyNDM5IDE3LjIwMzRDMi4yOTQwNiAxNy4yOTA4IDMuMDY5OTUgMTYuNjU2NyAzLjE1NzQgMTUuNzg3MUwzLjQ3MjQ4IDEyLjY1MzhDMy42NzA1NCAxMC45MzQgMy44MTA2NiA5LjcyNzMgMy45OTA2NiA4Ljc4MTAzQzQuMTY3MzEgNy44NTIzNSA0LjM2NDQ5IDcuMjgxODEgNC42MjYyNiA2LjgyNDY3QzUuMTU5MDEgNS44OTQyNyA1LjkzNDg3IDUuMTI1NTkgNi44NzEyMSA0LjYwMDg2QzcuMzMxNTEgNC4zNDI5MSA3LjkwNDg2IDQuMTUwNTEgOC44MzY0NiAzLjk4MTYxQzkuNzg3NjYgMy44MDkxNiAxMS4wMDA1IDMuNjc4ODggMTIuNzI5OSAzLjQ5NDVMMTUuOTAyMiAzLjE1NjI5Wk00Ni42OTE5IDEuNDE0ODlDNDYuNTk5MiAyLjI4Mzk4IDQ3LjIyODYgMy4wNjM2MyA0OC4wOTc4IDMuMTU2MjlMNTEuMjcwMSAzLjQ5NDVDNTIuOTk5NSAzLjY3ODg4IDU0LjIxMjMgMy44MDkxNiA1NS4xNjM1IDMuOTgxNjFDNTYuMDk1MSA0LjE1MDUxIDU2LjY2ODUgNC4zNDI5MSA1Ny4xMjg4IDQuNjAwODZDNTguMDY1MSA1LjEyNTU5IDU4Ljg0MSA1Ljg5NDI3IDU5LjM3MzcgNi44MjQ2N0M1OS42MzU1IDcuMjgxODEgNTkuODMyNyA3Ljg1MjM1IDYwLjAwOTMgOC43ODEwM0M2MC4xODkzIDkuNzI3MyA2MC4zMjk1IDEwLjkzNCA2MC41Mjc1IDEyLjY1MzhMNjAuODQyNiAxNS43ODcxQzYwLjkzIDE2LjY1NjcgNjEuNzA1OSAxNy4yOTA4IDYyLjU3NTYgMTcuMjAzNEM2My40NDUzIDE3LjExNTkgNjQuMDc5NCAxNi4zNCA2My45OTE5IDE1LjQ3MDRMNjMuNjc0NiAxMi4zMTQ0TDYzLjY2NjQgMTIuMjQzMkM2My40NzYxIDEwLjU5MSA2My4zMjM1IDkuMjY1NDkgNjMuMTE4OCA4LjE4OTYxQzYyLjkwOCA3LjA4MTEyIDYyLjYyNDMgNi4xMzE3MyA2Mi4xMjA2IDUuMjUxOTZDNjEuMzAyOCAzLjgyMzg1IDYwLjExMjMgMi42NDQ1NyA1OC42NzYyIDEuODM5ODFDNTcuNzkxNyAxLjM0NDE0IDU2LjgzOTQgMS4wNjg3NiA1NS43MjgyIDAuODY3MzA2QzU0LjY0OTUgMC42NzE3NTEgNTMuMzIxNCAwLjUzMDE2NSA1MS42NjU1IDAuMzUzNjMzTDQ4LjQzMzMgMC4wMDkwNDk0NkM0Ny41NjQyIC0wLjA4MzYwOTkgNDYuNzg0NSAwLjU0NTgwOSA0Ni42OTE5IDEuNDE0ODlaTTQ2LjY5MTkgNjIuNTg1MUM0Ni41OTkyIDYxLjcxNiA0Ny4yMjg2IDYwLjkzNjQgNDguMDk3OCA2MC44NDM3TDUxLjI3MDEgNjAuNTA1NUM1Mi45OTk1IDYwLjMyMTEgNTQuMjEyMyA2MC4xOTA4IDU1LjE2MzUgNjAuMDE4NEM1Ni4wOTUxIDU5Ljg0OTUgNTYuNjY4NSA1OS42NTcxIDU3LjEyODggNTkuMzk5MUM1OC4wNjUxIDU4Ljg3NDQgNTguODQxIDU4LjEwNTcgNTkuMzczNyA1Ny4xNzUzQzU5LjYzNTUgNTYuNzE4MiA1OS44MzI3IDU2LjE0NzYgNjAuMDA5MyA1NS4yMTlDNjAuMTg5MyA1NC4yNzI3IDYwLjMyOTUgNTMuMDY2IDYwLjUyNzUgNTEuMzQ2Mkw2MC44NDI2IDQ4LjIxMjlDNjAuOTMgNDcuMzQzMyA2MS43MDU5IDQ2LjcwOTIgNjIuNTc1NiA0Ni43OTY2QzYzLjQ0NTMgNDYuODg0MSA2NC4wNzk0IDQ3LjY2IDYzLjk5MTkgNDguNTI5Nkw2My42NzQ2IDUxLjY4NTZMNjMuNjY2NCA1MS43NTY4QzYzLjQ3NjEgNTMuNDA5IDYzLjMyMzUgNTQuNzM0NSA2My4xMTg4IDU1LjgxMDRDNjIuOTA4IDU2LjkxODkgNjIuNjI0MyA1Ny44NjgzIDYyLjEyMDYgNTguNzQ4QzYxLjMwMjggNjAuMTc2MiA2MC4xMTIzIDYxLjM1NTQgNTguNjc2MiA2Mi4xNjAyQzU3Ljc5MTcgNjIuNjU1OSA1Ni44Mzk0IDYyLjkzMTIgNTUuNzI4MiA2My4xMzI3QzU0LjY0OTYgNjMuMzI4MiA1My4zMjE2IDYzLjQ2OTggNTEuNjY1OCA2My42NDYzTDUxLjY2NTYgNjMuNjQ2M0w1MS42NjU1IDYzLjY0NjRMNTEuNjY1NSA2My42NDY0TDQ4LjQzMzMgNjMuOTkxQzQ3LjU2NDIgNjQuMDgzNiA0Ni43ODQ1IDYzLjQ1NDIgNDYuNjkxOSA2Mi41ODUxWk0xNy4zMDgxIDYyLjU4NTZDMTcuNDAwOCA2MS43MTY1IDE2Ljc3MTQgNjAuOTM2OSAxNS45MDIyIDYwLjg0NDJMMTIuNzI5OSA2MC41MDZDMTEuMDAwNSA2MC4zMjE2IDkuNzg3NjYgNjAuMTkxMyA4LjgzNjQ2IDYwLjAxODlDNy45MDQ4NiA1OS44NSA3LjMzMTUxIDU5LjY1NzYgNi44NzEyMSA1OS4zOTk2QzUuOTM0ODcgNTguODc0OSA1LjE1OTAxIDU4LjEwNjIgNC42MjYyNiA1Ny4xNzU4QzQuMzY0NDkgNTYuNzE4NyA0LjE2NzMxIDU2LjE0ODEgMy45OTA2NiA1NS4yMTk1QzMuODEwNjYgNTQuMjczMiAzLjY3MDU0IDUzLjA2NjUgMy40NzI0OCA1MS4zNDY3TDMuMTU3NCA0OC4yMTM0QzMuMDY5OTUgNDcuMzQzOCAyLjI5NDA2IDQ2LjcwOTcgMS40MjQzOSA0Ni43OTcxQzAuNTU0NzI2IDQ2Ljg4NDYgLTAuMDc5Mzg3NSA0Ny42NjA0IDAuMDA4MDYwMDYgNDguNTMwMUwwLjMyNTQyNCA1MS42ODYxTDAuMzMzNjIxIDUxLjc1NzNDMC41MjM4OTMgNTMuNDA5NSAwLjY3NjUzNSA1NC43MzUgMC44ODExODUgNTUuODEwOUMxLjA5MjA0IDU2LjkxOTQgMS4zNzU2OCA1Ny44Njg4IDEuODc5NDQgNTguNzQ4NUMyLjY5NzE5IDYwLjE3NjYgMy44ODc3MyA2MS4zNTU5IDUuMzIzNzggNjIuMTYwN0M2LjIwODI3IDYyLjY1NjMgNy4xNjA2IDYyLjkzMTcgOC4yNzE4IDYzLjEzMzJDOS4zNTA0NCA2My4zMjg3IDEwLjY3ODYgNjMuNDcwMyAxMi4zMzQ1IDYzLjY0NjhMMTIuMzM0NSA2My42NDY5TDE1LjU2NjcgNjMuOTkxNEMxNi40MzU4IDY0LjA4NDEgMTcuMjE1NSA2My40NTQ3IDE3LjMwODEgNjIuNTg1NlpNMTYuNDUxMiAxOS43OTU0QzE1LjY5NTUgMTkuNzk1NCAxNS4wODI4IDIwLjQwODEgMTUuMDgyOCAyMS4xNjM4VjQzLjI5NzJDMTUuMDgyOCA0NC4wNTMgMTUuNjk1NSA0NC42NjU2IDE2LjQ1MTIgNDQuNjY1NkgyMC43NDk0QzIxLjUwNTIgNDQuNjY1NiAyMi4xMTc4IDQ0LjA1MyAyMi4xMTc4IDQzLjI5NzJWMjEuMTYzOEMyMi4xMTc4IDIwLjQwODEgMjEuNTA1MiAxOS43OTU0IDIwLjc0OTQgMTkuNzk1NEgxNi40NTEyWk0yOC4xMDgyIDE5Ljc5NTRDMjcuMzUyNSAxOS43OTU0IDI2LjczOTggMjAuNDA4MSAyNi43Mzk4IDIxLjE2MzhWNDMuMjk3MkMyNi43Mzk4IDQ0LjA1MyAyNy4zNTI1IDQ0LjY2NTYgMjguMTA4MiA0NC42NjU2SDM4LjUwMDRDNDEuMjI0NCA0NC42NjU2IDQzLjY0MDUgNDQuMTU2NCA0NS43NDg3IDQzLjEzNzlDNDcuODU2OCA0Mi4xMTk0IDQ5LjQ5MTIgNDAuNjc0NiA1MC42NTE5IDM4LjgwMzRDNTEuODEyNSAzNi45MzIyIDUyLjM5MjkgMzQuNzQxMiA1Mi4zOTI5IDMyLjIzMDVDNTIuMzkyOSAyOS43MTk4IDUxLjgxMjUgMjcuNTI4OSA1MC42NTE5IDI1LjY1NzdDNDkuNDkxMiAyMy43ODY1IDQ3Ljg1NjggMjIuMzQxNyA0NS43NDg3IDIxLjMyMzJDNDMuNjQwNSAyMC4zMDQ3IDQxLjIyNDQgMTkuNzk1NCAzOC41MDA0IDE5Ljc5NTRIMjguMTA4MlpNNDMuMzMyNiAzNy4yNDAxQzQyLjA1MzUgMzguNDQ4MSA0MC4zNDggMzkuMDUyMSAzOC4yMTYyIDM5LjA1MjFIMzQuMTg1NEMzMy45NTg3IDM5LjA1MjEgMzMuNzc0OSAzOC44NjgzIDMzLjc3NDkgMzguNjQxNlYyNS44MTk1QzMzLjc3NDkgMjUuNTkyOCAzMy45NTg3IDI1LjQwOSAzNC4xODU0IDI1LjQwOUgzOC4yMTYyQzQwLjM0OCAyNS40MDkgNDIuMDUzNSAyNi4wMTMgNDMuMzMyNiAyNy4yMjFDNDQuNjM1NCAyOC40Mjg5IDQ1LjI4NjggMzAuMDk4OCA0NS4yODY4IDMyLjIzMDVDNDUuMjg2OCAzNC4zNjIzIDQ0LjYzNTQgMzYuMDMyMSA0My4zMzI2IDM3LjI0MDFaIiBmaWxsPSJ1cmwoI3BhaW50MF9saW5lYXJfODAzODBfNTQpIi8+CjxkZWZzPgo8bGluZWFyR3JhZGllbnQgaWQ9InBhaW50MF9saW5lYXJfODAzODBfNTQiIHgxPSIwLjc2NTgxMiIgeTE9Ii0yLjcwNDk2ZS0wNyIgeDI9IjYzLjU0MTciIHkyPSI2NC4yNzkzIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSI+CjxzdG9wIHN0b3AtY29sb3I9IiMwMEE2OTUiLz4KPHN0b3Agb2Zmc2V0PSIwLjUiIHN0b3AtY29sb3I9IiMwMTg0NzciLz4KPHN0b3Agb2Zmc2V0PSIxIiBzdG9wLWNvbG9yPSIjMDA2RjY0Ii8+CjwvbGluZWFyR3JhZGllbnQ+CjwvZGVmcz4KPC9zdmc+Cg==\";\n","export default \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNDQiIGhlaWdodD0iNDQiIHZpZXdCb3g9IjAgMCA0NCA0NCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPGNpcmNsZSBjeD0iMjIiIGN5PSIyMiIgcj0iMjIiIGZpbGw9IiMwMDY2RkYiLz4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0yNC40MTIgMzMuNDE5M0wyMy44ODI3IDM1Ljc2MDNDMjMuODAzNyAzNi4xMDk5IDIzLjQ2OTMgMzYuMzQwNSAyMy4xMTUyIDM2LjI4NThDMjIuMzA4IDM2LjE2MSAyMS40OSAzNi4wMTc3IDIwLjY2MzcgMzUuODU5NEMyMC4yODQyIDM1Ljc4NjcgMjAuMDQyMyAzNS40MTMzIDIwLjEyNzUgMzUuMDM2NUwyMC42MDY3IDMyLjkxN0MyMC4yNzExIDMyLjg1MTMgMTkuOTMzNCAzMi43ODAyIDE5LjU5NCAzMi43MDQyQzE5LjI4OCAzMi42MzQ0IDE4Ljk4NSAzMi41NjE1IDE4LjY4NTQgMzIuNDg1NUwxOC4yMDY0IDM0LjYwNDRDMTguMTIxMiAzNC45ODEgMTcuNzQyNiAzNS4yMTQgMTcuMzY4OSAzNS4xMTY4QzE2LjU1NDggMzQuOTA1IDE1Ljc1NDcgMzQuNjgzNiAxNC45NzIzIDM0LjQ1MDRDMTQuNjI4NCAzNC4zNDc5IDE0LjQyNTEgMzMuOTk1NSAxNC41MDQzIDMzLjY0NTVMMTUuMDMwOCAzMS4zMTY0QzkuODI2OTUgMjkuMjI5NyA2LjU0MTYxIDI1LjY4MyA3LjkzNjAzIDE5LjYyNjJMOC4yNzE1NiAxOC4xNDIxQzkuNjIwOTQgMTIuMDYyNiAxNC4xMTA5IDEwLjI4MTEgMTkuNzA1NiAxMC42MzkzTDIwLjIzMTggOC4zMTE3N0MyMC4zMTA5IDcuOTYxNzMgMjAuNjQ2IDcuNzMxMDUgMjEuMDAwNiA3Ljc4NjQ1QzIxLjgwNzIgNy45MTI0OSAyMi42MjQ3IDguMDU2ODMgMjMuNDUwNyA4LjIxNTkyQzIzLjgyOTkgOC4yODg5NSAyNC4wNzE0IDguNjYyMTMgMjMuOTg2MyA5LjAzODc1TDIzLjUwNzMgMTEuMTU3NUMyMy44MTA0IDExLjIxNzkgMjQuMTE1MyAxMS4yODI0IDI0LjQyMTUgMTEuMzUxMUMyNC43NjA5IDExLjQyNzggMjUuMDk2NSAxMS41MDgzIDI1LjQyNzcgMTEuNTkyN0wyNS45MDY1IDkuNDc1MUMyNS45OTE3IDkuMDk4MjYgMjYuMzcwNyA4Ljg2NTI4IDI2Ljc0NDUgOC45NjI4OUMyNy41NTg2IDkuMTc1NDQgMjguMzU4NiA5LjM5Nzg4IDI5LjE0MSA5LjYzMjQxQzI5LjQ4NDMgOS43MzUzNCAyOS42ODY5IDEwLjA4NzQgMjkuNjA3OSAxMC40MzdMMjkuMDgwMSAxMi43NzE3QzM0LjIxNjEgMTQuODU4IDM3LjQyNjEgMTguNDAyIDM2LjA2NDMgMjQuNDI1NkwzNS43Mjg4IDI1LjkwOTdDMzQuMzkwOSAzMS45Mzc2IDI5Ljk0OTIgMzMuNzQyMSAyNC40MTIgMzMuNDE5M1pNMzEuOTYyOSAyNC43MDM5TDMyLjE1MTcgMjMuODY4N0MzMy40ODE0IDE4LjM0MzQgMjkuMDYwMSAxNi4yNzk3IDIzLjYwOTQgMTQuOTY3NkMxOC4wOTg4IDEzLjgwMTUgMTMuMjE5NiAxMy43NjI2IDEyLjA0MzIgMTkuMzIyNkwxMS44NTQ0IDIwLjE1NzhDMTAuNTE4OSAyNS43MDg0IDE0Ljk0MDMgMjcuNzcyMSAyMC40MTY1IDI5LjA5QzI1LjkwMTYgMzAuMjUwMyAzMC43ODA3IDMwLjI4OTMgMzEuOTYyOSAyNC43MDM5WiIgZmlsbD0id2hpdGUiLz4KPC9zdmc+Cg==\";\n","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAACXBIWXMAAAsTAAALEwEAmpwYAAAF1GlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgOS4xLWMwMDMgNzkuOTY5MGE4N2ZjLCAyMDI1LzAzLzA2LTIwOjUwOjE2ICAgICAgICAiPiA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIgeG1sbnM6cGhvdG9zaG9wPSJodHRwOi8vbnMuYWRvYmUuY29tL3Bob3Rvc2hvcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RFdnQ9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZUV2ZW50IyIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgMjYuMTEgKE1hY2ludG9zaCkiIHhtcDpDcmVhdGVEYXRlPSIyMDI1LTExLTE2VDAxOjA1OjMxKzAxOjAwIiB4bXA6TW9kaWZ5RGF0ZT0iMjAyNS0xMS0xNlQwMTowNzoxNSswMTowMCIgeG1wOk1ldGFkYXRhRGF0ZT0iMjAyNS0xMS0xNlQwMTowNzoxNSswMTowMCIgZGM6Zm9ybWF0PSJpbWFnZS9wbmciIHBob3Rvc2hvcDpDb2xvck1vZGU9IjMiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6NjM3ZmUzMDEtMjdjNC00ZWJlLTgxZGQtMWJhYjk2NGE5MzllIiB4bXBNTTpEb2N1bWVu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\";\n","export default \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzUiIGhlaWdodD0iMzQiIHZpZXdCb3g9IjAgMCAzNSAzNCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTMyLjcwNzcgMzIuNzUyMkwyNS4xNjg4IDMwLjUxNzRMMTkuNDgzMyAzMy45MDA4TDE1LjUxNjcgMzMuODk5MUw5LjgyNzkzIDMwLjUxNzRMMi4yOTIyNSAzMi43NTIyTDAgMjUuMDQ4OUwyLjI5MjI1IDE2LjQ5OTNMMCA5LjI3MDk0TDIuMjkyMjUgMC4zMTIyNTZMMTQuMDY3NCA3LjMxNTU0SDIwLjkzMjZMMzIuNzA3NyAwLjMxMjI1NkwzNSA5LjI3MDk0TDMyLjcwNzcgMTYuNDk5M0wzNSAyNS4wNDg5TDMyLjcwNzcgMzIuNzUyMloiIGZpbGw9IiNGRjVDMTYiLz4KPHBhdGggZD0iTTIuMjkzOTUgMC4zMTIyNTZMMTQuMDY5MSA3LjMyMDQ3TDEzLjYwMDggMTIuMTMwMUwyLjI5Mzk1IDAuMzEyMjU2WiIgZmlsbD0iI0ZGNUMxNiIvPgo8cGF0aCBkPSJNOS44Mjk1OSAyNS4wNTIyTDE1LjAxMDYgMjguOTgxMUw5LjgyOTU5IDMwLjUxNzVWMjUuMDUyMloiIGZpbGw9IiNGRjVDMTYiLz4KPHBhdGggZD0iTTE0LjU5NjYgMTguNTU2NUwxMy42MDA5IDEyLjEzMzNMNy4yMjY5MiAxNi41MDA5TDcuMjIzNjMgMTYuNDk5M1YxNi41MDI1TDcuMjQzMzUgMjAuOTk4M0w5LjgyODA5IDE4LjU1NjVIOS44Mjk3NEgxNC41OTY2WiIgZmlsbD0iI0ZGNUMxNiIvPgo8cGF0aCBkPSJNMzIuNzA3NyAwLjMxMjI1NkwyMC45MzI2IDcuMzIwNDdMMjEuMzk5MyAxMi4xMzAxTDMyLjcwNzcgMC4zMTIyNTZaIiBmaWxsPSIjRkY1QzE2Ii8+CjxwYXRoIGQ9Ik0yNS4xNzIyIDI1LjA1MjJMMTkuOTkxMiAyOC45ODExTDI1LjE3MjIgMzAuNTE3NVYyNS4wNTIyWiIgZmlsbD0iI0ZGNUMxNiIvPgo8cGF0aCBkPSJNMjcuNzc2NiAxNi41MDI1SDI3Ljc3ODNIMjcuNzc2NlYxNi40OTkzTDI3Ljc3NSAxNi41MDA5TDIxLjQwMSAxMi4xMzMzTDIwLjQwNTMgMTguNTU2NUgyNS4xNzIyTDI3Ljc1ODYgMjAuOTk4M0wyNy43NzY2IDE2LjUwMjVaIiBmaWxsPSIjRkY1QzE2Ii8+CjxwYXRoIGQ9Ik05LjgyNzkzIDMwLjUxNzVMMi4yOTIyNSAzMi43NTIyTDAgMjUuMDUyMkg5LjgyNzkzVjMwLjUxNzVaIiBmaWxsPSIjRTM0ODA3Ii8+CjxwYXRoIGQ9Ik0xNC41OTQ3IDE4LjU1NDlMMTYuMDM0MSAyNy44NDA2TDE0LjAzOTMgMjIuNjc3N0w3LjIzOTc1IDIwLjk5ODRMOS44MjYxMyAxOC41NTQ5SDE0LjU5M0gxNC41OTQ3WiIgZmlsbD0iI0UzNDgwNyIvPgo8cGF0aCBkPSJNMjUuMTcyMSAzMC41MTc1TDMyLjcwNzggMzIuNzUyMkwzNS4wMDAxIDI1LjA1MjJIMjUuMTcyMVYzMC41MTc1WiIgZmlsbD0iI0UzNDgwNyIvPgo8cGF0aCBkPSJNMjAuNDA1MyAxOC41NTQ5TDE4Ljk2NTggMjcuODQwNkwyMC45NjA3IDIyLjY3NzdMMjcuNzYwMiAyMC45OTg0TDI1LjE3MjIgMTguNTU0OUgyMC40MDUzWiIgZmlsbD0iI0UzNDgwNyIvPgo8cGF0aCBkPSJNMCAyNS4wNDg4TDIuMjkyMjUgMTYuNDk5M0g3LjIyMTgzTDcuMjM5OTEgMjAuOTk2N0wxNC4wMzk0IDIyLjY3NkwxNi4wMzQzIDI3LjgzODlMMTUuMDA4OSAyOC45NzZMOS44Mjc5MyAyNS4wNDcySDBWMjUuMDQ4OFoiIGZpbGw9IiNGRjhENUQiLz4KPHBhdGggZD0iTTM1LjAwMDEgMjUuMDQ4OEwzMi43MDc4IDE2LjQ5OTNIMjcuNzc4M0wyNy43NjAyIDIwLjk5NjdMMjAuOTYwNyAyMi42NzZMMTguOTY1OCAyNy44Mzg5TDE5Ljk5MTIgMjguOTc2TDI1LjE3MjIgMjUuMDQ3MkgzNS4wMDAxVjI1LjA0ODhaIiBmaWxsPSIjRkY4RDVEIi8+CjxwYXRoIGQ9Ik0yMC45MzI1IDcuMzE1NDNIMTcuNDk5OUgxNC4wNjczTDEzLjYwMDYgMTIuMTI1MUwxNi4wMzQyIDI3LjgzNEgxOC45NjU2TDIxLjQwMDggMTIuMTI1MUwyMC45MzI1IDcuMzE1NDNaIiBmaWxsPSIjRkY4RDVEIi8+CjxwYXRoIGQ9Ik0yLjI5MjI1IDAuMzEyMjU2TDAgOS4yNzA5NEwyLjI5MjI1IDE2LjQ5OTNINy4yMjE4M0wxMy41OTkxIDEyLjEzMDFMMi4yOTIyNSAwLjMxMjI1NloiIGZpbGw9IiM2NjE4MDAiLz4KPHBhdGggZD0iTTEzLjE3IDIwLjQxOTlIMTAuOTM2OUw5LjcyMDk1IDIxLjYwNjJMMTQuMDQwOSAyMi42NzI3TDEzLjE3IDIwLjQxODJWMjAuNDE5OVoiIGZpbGw9IiM2NjE4MDAiLz4KPHBhdGggZD0iTTMyLjcwNzcgMC4zMTIyNTZMMzQuOTk5OSA5LjI3MDk0TDMyLjcwNzcgMTYuNDk5M0gyNy43NzgxTDIxLjQwMDkgMTIuMTMwMUwzMi43MDc3IDAuMzEyMjU2WiIgZmlsbD0iIzY2MTgwMCIvPgo8cGF0aCBkPSJNMjEuODMzIDIwLjQxOTlIMjQuMDY5NEwyNS4yODUzIDIxLjYwNzlMMjAuOTYwNCAyMi42NzZMMjEuODMzIDIwLjQxODJWMjAuNDE5OVoiIGZpbGw9IiM2NjE4MDAiLz4KPHBhdGggZD0iTTE5LjQ4MTcgMzAuODM2MkwxOS45OTExIDI4Ljk3OTRMMTguOTY1OCAyNy44NDIzSDE2LjAzMjdMMTUuMDA3MyAyOC45Nzk0TDE1LjUxNjcgMzAuODM2MiIgZmlsbD0iIzY2MTgwMCIvPgo8cGF0aCBkPSJNMTkuNDgxNiAzMC44MzU5VjMzLjkwMjFIMTUuNTE2NlYzMC44MzU5SDE5LjQ4MTZaIiBmaWxsPSIjQzBDNENEIi8+CjxwYXRoIGQ9Ik05LjgyOTU5IDMwLjUxNDJMMTUuNTIgMzMuOTAwOFYzMC44MzQ2TDE1LjAxMDYgMjguOTc3OEw5LjgyOTU5IDMwLjUxNDJaIiBmaWxsPSIjRTdFQkY2Ii8+CjxwYXRoIGQ9Ik0yNS4xNzIxIDMwLjUxNDJMMTkuNDgxNyAzMy45MDA4VjMwLjgzNDZMMTkuOTkxMSAyOC45Nzc4TDI1LjE3MjEgMzAuNTE0MloiIGZpbGw9IiNFN0VCRjYiLz4KPC9zdmc+Cg==\";\n\n","export default \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNTYiIGhlaWdodD0iNTYiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0iTTI4IDU2YzE1LjQ2NCAwIDI4LTEyLjUzNiAyOC0yOFM0My40NjQgMCAyOCAwIDAgMTIuNTM2IDAgMjhzMTIuNTM2IDI4IDI4IDI4WiIgZmlsbD0iIzFCNTNFNCIvPjxwYXRoIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1ydWxlPSJldmVub2RkIiBkPSJNNyAyOGMwIDExLjU5OCA5LjQwMiAyMSAyMSAyMXMyMS05LjQwMiAyMS0yMVMzOS41OTggNyAyOCA3IDcgMTYuNDAyIDcgMjhabTE3LjIzNC02Ljc2NmEzIDMgMCAwIDAtMyAzdjcuNTMzYTMgMyAwIDAgMCAzIDNoNy41MzNhMyAzIDAgMCAwIDMtM3YtNy41MzNhMyAzIDAgMCAwLTMtM2gtNy41MzNaIiBmaWxsPSIjZmZmIi8+PC9zdmc+\";\n\n","const image =\n \"data:image/webp;base64,UklGRngEAABXRUJQVlA4IGwEAABwGgCdASqAAIAAPm00lkakIyIhLZJo4IANiWIGepzpzWVWfAfkz7VNZfrX4XyZfpY5Ve135hP6ydPjxWfVv9GH999QD/D/47rUPQA8tr9qvh98odpITg6KC6MdEPqtq8njJn8YQd8fRyCBjuASoE7gh976be39QP7ZH1EaOy2byZB4+6S1n4J1we4tNWPChOPxxBzZfuYsStcWv/tZNqcra7FT/gy1QnCQAkdw+gUNhMn35RFANgSXPFVHZFoSr9YdNxlhwS/DtBxpj4Yf0Qnyn1ZNu6NIDryzzumAAP71vcpK//N3uTN6/gf/cz+Z/IGl2OP82F2AtGYx70dIV3TDkNq9sgAhCr9IZ0HUhT+7KUeLtkqR+dPCxztN0qMTy/gT7xoQBHTf3pua3S29wTkDmy3Fsy7Lv8PTVtL4d5DjJ3QgT6S/r/RoLpXt5ckfNBuBZ5cD7q6/rSBKVrfLYRlMs8/PW5KR4PMrlV9BNfv/g3x2mjvrkNijQUMjZBeGWL8cm5JtS7/EOF5P9ze4qe1yV5zVSVFt5e+//WL+UiuNvKd6qedKWsisJogbBMgFYrymDXtX7rwy5qpOIKODEdjYEY7CDAkYcvhN9cLylaFJnB822+x+hXMltuGJXS6vpf+DkoddD4V8niiWXvf82VYQvu2agUc4/+HDH9o+hv59V9FWrvk5fNJfTvIgUkH5vCcCwDwre/O/6ftorAm9en57f1mnje373z/a1W3UpDbn5rBQsFfxl2oiKvtNeyc7bILmYZ0iKT2BTOvUMn7M6ICDBaoJqcgXpIDC5rsq6F4u2TteFi4n6sLLvkP/xXiOM3lY5srmZ5aRj/SRoHWQrdrmc+rvWyTUo7cqAq8S3QsPW3gcF09Cnxop1LydqPo8SIb8zKgJqFj+KuMY/BYxfntOPlxAD7Ehx/4fZ/cJtjDj8ZqAeuK4Ps7U3zMMVMXw9cIZE47iuLzaTpJl3avReDg2QmWLRYq3AOdhgvdD5H1IpkqcQMOWiDXt46xdgLbVT2Ae1AcmlYrb6xUGrmGgk2lIehc/Df+MRJdAHc+BmnyfR8P7gx7IJg6R0let/R14Na6KeMthUP59RT9SSo5n3YPARM1Z9nLfjDfDy16iRq10Y+2eaNT9Q1xbOf5+PULDFrojM5ABxLaZHFIu+UTUDacGy/DG/N1tqlJ7ePfOaI4pDt/QZhAb6PIVCPIJIXWgbQ/e0VK+9d2AS18H+V/KcyKz5VciEYdk+H1uB3uzeGMdIhKpR5J2JV+e1urFlNpACGuluMWUwzj6n2L72/fz5uXqrfjel5EhkCXHn77cHXY6Kfl9v28YvKSj5f3vzY+wbv8YHop9bGvu/rhBK18Ooq5RW2Kb7s3/xi+57dh2WcBpctxH2kG+9RoszJAlD07LaWub1vw6EYYsSHALEv0cUo8x53lVOWtxIr+fwYX5Jtnv8LYqeN7cAlkl/gWNhn5kus3rg0Wm7rKPongcsUaxaHrkLbdxjqEA9mX4C/AA\";\n\nexport default image;\n","export default \"data:image/webp;base64,UklGRmAEAABXRUJQVlA4WAoAAAAQAAAAfwAAfwAAQUxQSD0BAAABCsi1battvlSCxmaGWrTUgLGQaLkNe8wBlRGrDNM8zGBm32ly/V9ETAC3DRcb/cnL9FS/iK4XwmqPRtxxu/7g4fNkfWrxO64T31my2hxOEbJZTu7Esq8/pyjfaVvbBWp3Z6SUwBZmypui9cTc5Jy/neLt09xA/ClinVoX8KaYPVll1aaoxVph38O651LyeoqbomhU3oF90lCJ5hR5U9MZQRvpkDvF7hY74Lp1H5z0h+A4uQd3//IBjud////7/w/wLwRHuQd3r4fg2PDBSakLjiEXnKucEbSRZrwJrZmgUfkE9k5DMXkNjKJI2vew7qmWrRossVYw4IHyhGtTfUh+iuvNvAakaW7As3hwPDG5eaB2B4USUFtb9vU7jE/altplstwaQRjqalLtOuG4XX/w8HmyPrX4nQsnYahNAQBWUDgg/AIAAHATAJ0BKoAAgAA+bTaWSCQjIiEhC7iADYlpAFVGVG5/99J5/Vd7/Zvx6/Eb47upeLfNQVn40OWGsvf/EZp1SJZ4eeKUwr+TUZu0yuMNAk4PBKF5fmL0eOz2sxlyF1k2PpU79Yw+1dd/VfsguNjNAOpujooZUvLoJkwr++tWg4MOdSMpiVVcFud3oFbBaC+w1q6Y0ih8Jyiu2FT5yd3off/EZxcAAP78rRBq1TvyDPGTtpZl6fMUoKvlLHGrtAC3XuckCfwRJnfG/aY5v+afCIPyjeFKANrccw0/eZYXfyOOymElPpcIFyn/DX0LVVChdzZGcPAMC2XCLLJfqNQLnrwVdrtp///aDQbauP7F7v0uv8UtFmP/5l0k7TnND9heE+aE4DSlRH+y/9Cx9KXkLzIJstm70HeMP4clZ1v4/6vCpX5CsJ70IuNXVGjSxs3OP9lrbuLhlcIIEc2SIGJ3qavevq/mkLkXudZ4SRo+SJpXOQuWqBRjAwTujM6fmPbC5/CYn3kwPLAFn7i92UJ9pgQN+JbG6TPsfKot9pwn+KP/VTLVvyv8aLGVn/+GmRt23RauLb8p5lk6WrB7qM1Ar9LD/ie+T2ZqIpT8ywwuSBWG37bH+0ZZqSmzKe5Q9PgQRVf9RHW7en1+w1M7OwvPKFtskA+SLeKXSb5NMYci6OzrZ/MkSWBl1XYD8Y0YE1CxlutKWGPQV7Paf1P7XQ1xLFTC8eZXqWX2oAV9TghLJj01pQgFxuvmoZGpQ9alHKf21/J4Vx74do7nSRTFJyl/L9VGrasy+tv0vcW9lbWL7j+MCdKyGh2xNTRV1oXhLA2Edu22lDIaFKT5GojhFjKc8QWDJ+bUo3km/xVNDGq0sE7TH4JM+gfqVuDsg/LZUtzFGL6SMLPJk71nRAKmzpRbTYWXl3XlTvOwzAZARyMhUDEcRGotZal/M7BwujgUYCgRQ8H3b+uRhEn6EueNF+Czzl1sG+Pe7IWuEd0aHVwiixyaqR3UWnWqQuAAAAAA\";\n\n","export default \"data:image/webp;base64,UklGRtYCAABXRUJQVlA4IMoCAABQEgCdASqAAIAAPm02lUikIyIhIRgMIIANiWkcARAAF+tSv5/99J/RB9XsAGlSc78bIl6kh58aA3sp9hIcACdBu3D9g2hv6/+Cj+HX4bF4aHqZf6VdIWSW9bl353sa70S/qFAc892uoH8pqfPiakYAgEZCSd8aEmbltGbSPYfC4wvqZ9ezQiQYdXY3/Sg5wnSqEY6FToW0wM8QAAD+/PhAW398P+Y/Ufmdv1vCJ/v/ohtwIURd/2rR9z/+gzKn28ut3UaV0u/kc/8pninuF1e9YbAaSDHUeqAZqiAKIZmaGvWme8/luxhnX1Y5rtZk3eBL47mNGYRACwVMKHRl2LA/XhZbW1Q//lM1/6ic4D/8P5eWBMjc9tvr/1w65Tf+2YqPRUfatOAWlwt+JOQ7A40WTXjruFER/7NrZ3tjVzpksA2ujmryseHaiwyiei2mbF0GTnfMG+gl4/pLxq49MTM3bfXPCtft0z77211u4sTilNvJqdSH+3Qc5KfDH6gV4GWTwPSPR/7Krf/1FykCW2n/ReCjVJEy4jLXHwRFmqnHVsOyAdxpYIW4NBe7rv+kr9D8C5N5wiRt4L0AfG/CdI29CS9gLKmX0+uFXlCWpWGI69szzq5FWPBnjpMCeYssg4Hi5PZPL2bcVsOvTE6gCi1ykg26ZH7WE/KN8u9Wagu4TcAvU5nsMn9jc1NGwCZJ1vbQI8CyIWA2LNfuDo697Mov9ngaDmN701InhXXuZFANxq3en+JToh5LyqWp6Wg1UaAbKuM4iPHX41ht3YeOvwpXKTqngULJZvmnw4BeJc387ivRN9/yK//jm2x0r2tfpbafdYlNCsxcgG8lC2z5Vz2a0LuZIotzREDZkWc2Y9BzOaysg2ZacmnelGfW5UbxjADryUb+70mYMBLvUPN/rBiQE2XcSOtSRC91yn75qvUC6XhK/lbDAAAAAAA=\";\n\n","const image =\n \"data:image/webp;base64,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\";\n\nexport default image;\n","const image =\n \"data:image/webp;base64,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\";\n\nexport default image;\n","const image =\n \"data:image/webp;base64,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\";\n\nexport default image;\n","// Centralized wallet icons as data URLs\n// Note: keep these lightweight and self-contained to avoid external deps\n\n// Import per-wallet icon modules (default export is a data URL)\nimport iiIcon from './ii.js';\nimport nfidIcon from './nfid.js';\nimport oisyIcon from './oisy.js';\nimport plugIcon from './plug.js';\n\nimport metamaskIcon from './metamask.js';\nimport coinbaseIcon from './coinbase.js';\nimport rainbowIcon from './rainbow.js';\nimport ledgerIcon from './ledger.js';\nimport okxIcon from './okx.js';\n// import walletconnectIcon from './walletconnect.js'; // Disabled\nimport braveIcon from './brave.js';\nimport phantomIcon from './phantom.js';\nimport rabbyIcon from './rabby.js';\n\nconst ICONS: Record<string, string> = {\n ii: iiIcon,\n nfid: nfidIcon,\n oisy: oisyIcon,\n plug: plugIcon,\n // EVM / popular wallets\n metamask: metamaskIcon,\n coinbase: coinbaseIcon,\n rainbow: rainbowIcon,\n brave: braveIcon,\n phantom: phantomIcon,\n rabby: rabbyIcon,\n ledger: ledgerIcon,\n okx: okxIcon,\n // walletconnect: walletconnectIcon, // Disabled\n};\n\nexport function getIcon(id: string, fallback?: string | null): string | null {\n const key = (id || '').toLowerCase();\n return ICONS[key] || fallback || null;\n}\n\n\n"],"mappings":"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","names":["Actor","HttpAgent","Actor","PlugAdapter","args","principal","principalText","p","options","agent","Actor","HttpAgent","AuthClient","IIAdapter","args","c","identity","principal","options","Actor","HttpAgent","PostMessageTransport","Signer","SignerAgent","NfidAdapter","args","nfidCfg","signerUrl","hostUrl","baseAgent","transport","signer","account","signerAgent","principal","options","Actor","HttpAgent","PostMessageTransport","Signer","SignerAgent","OisyAdapter","args","oisyCfg","signerUrl","hostUrl","transportOverrides","windowOpenerFeatures","baseAgent","transport","signer","account","signerAgent","principal","options","MetaMaskAdapter","args","eth","mm","p","provider","accounts","addr","options","getCoinbaseProvider","anyWin","eth","cb","p","CoinbaseAdapter","args","provider","accounts","addr","options","isBraveBrowser","nav","getBraveProviderInternal","allowFallback","anyWin","eth","byFlag","p","candidate","BraveAdapter","args","provider","accounts","addr","sel","options","getRainbowProvider","eth","rainbow","p","RainbowAdapter","args","provider","accounts","addr","options","getRabbyProvider","eth","rabby","p","RabbyAdapter","args","provider","accounts","addr","options","getPhantomEvmProvider","anyWin","eth","phantom","p","PhantomAdapter","args","provider","accounts","addr","options","getOkxProvider","anyWin","okx","eth","p","OkxAdapter","args","provider","accounts","addr","options","ii_default","nfid_default","oisy_default","plug_default","metamask_default","coinbase_default","image","rainbow_default","ledger_default","okx_default","image","brave_default","image","phantom_default","image","rabby_default","ICONS","ii_default","nfid_default","oisy_default","plug_default","metamask_default","coinbase_default","rainbow_default","brave_default","phantom_default","rabby_default","ledger_default","okx_default","getIcon","id","fallback","key","toStringPrincipal","value","v","defaultHttpAgentOptions","host","opts","defaultIcHost","userHost","WalletSelect","config","baseAdapters","MetaMaskAdapter","CoinbaseAdapter","PhantomAdapter","RainbowAdapter","RabbyAdapter","BraveAdapter","OkxAdapter","OisyAdapter","NfidAdapter","IIAdapter","PlugAdapter","cfgAdapters","key","cfg","allowedTypes","t","idToType","a","id","fallback","getIcon","anyAdapter","prov","walletId","adapter","acc","principal","options","agent","HttpAgent","Actor","createWalletSelect"]}
@@ -1,2 +0,0 @@
1
- import{a,b}from"./chunk-VPFA2ZHM.js";import"./chunk-LTEQ7OUJ.js";export{a as WalletSelect,b as createWalletSelect};
2
- //# sourceMappingURL=wallet-select-M5KY6N6N.js.map