@lordbex/thelounge 4.5.0-blowfish-pre โ†’ 4.5.1-blowfish

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 +1,2 @@
1
- (()=>{var e,n={211:(e,n,t)=>{"use strict";t.d(n,{Eb:()=>f,M_:()=>b,Pj:()=>w});var a=t(2124),s=t(9808),o=t(381);const i={apply(){},default:null,sync:null},l={syncSettings:{default:!0,sync:"never",apply(e,n,t=!1){n&&!t&&o.A.emit("setting:get")}},advanced:{default:!1},autocomplete:{default:!0},nickPostfix:{default:""},coloredNicks:{default:!0},desktopNotifications:{default:!1,sync:"never",apply(e,n){e.commit("refreshDesktopNotificationState",null,{root:!0}),"Notification"in window&&n&&"granted"!==Notification.permission&&Notification.requestPermission(()=>e.commit("refreshDesktopNotificationState",null,{root:!0})).catch(e=>{console.error(e)})}},highlights:{default:"",sync:"always"},highlightExceptions:{default:"",sync:"always"},awayMessage:{default:"",sync:"always"},links:{default:!0},motd:{default:!0},notification:{default:!0,sync:"never"},notifyAllMessages:{default:!1},showSeconds:{default:!1},use12hClock:{default:!1},statusMessages:{default:"condensed"},theme:{default:document.getElementById("theme")?.dataset.serverTheme,apply(e,n){const t=document.getElementById("theme"),a=`themes/${n}.css`;if(!(t instanceof HTMLLinkElement))throw new Error("theme element is not a link");const s=t.attributes.getNamedItem("href");if(!s)throw new Error("theme is missing href attribute");if(s.value===a)return;if(s.value=a,!e.state.serverConfiguration)return;const o=e.state.serverConfiguration?.themes.filter(e=>e.name===n)[0],i=document.querySelector('meta[name="theme-color"]');if(!(i instanceof HTMLMetaElement))throw new Error("theme meta element is not a meta element");if(i){const e=o.themeColor||i.content;i.content=e}}},media:{default:!0},uploadCanvas:{default:!0},userStyles:{default:"",apply(e,n){if(!/[?&]nocss/.test(window.location.search)){const e=document.getElementById("user-specified-css");e&&(e.innerHTML=n)}}},searchEnabled:{default:!1},jumptoEabled:{default:!0},filterdmsEnabled:{default:!0},showAllDMs:{default:!1},showInputNick:{default:!0},disableMutedUnread:{default:!1},compactSidebar:{default:!1},beautifyBridgedMessages:{default:!0},bridgedMessageNicksStyle:{default:"parentheses"},enhancedUserListEnabled:{default:!0},enhancedContextMenuEnabled:{default:!0},enableEnhancedSearch:{default:!1},enableRainbowHotkey:{default:!0}},r=function(e){const n={};for(const t in e)n[t]={...i,...e[t]};return n}(l);function c(){const e={};for(const n in r)e[n]=r[n].default;return e}function u(){let e={};try{e=JSON.parse(s.A.get("settings")||"{}")}catch{s.A.remove("settings")}return e?(null!==e.highlights&&"object"==typeof e.highlights&&(e.highlights=e.highlights.join(", ")),e):{}}function d(e,n){const t={...e};for(const a in e)void 0!==n[a]&&typeof e[a]==typeof n[a]&&(t[a]=n[a]);return t}const p=document.title;var h=function(e){return e.Unsupported="unsupported",e.Blocked="blocked",e.NoHttps="nohttps",e.Granted="granted",e}(h||{});function g(){return"Notification"in window?"granted"===Notification.permission?h.Granted:window.isSecureContext?h.Blocked:h.NoHttps:h.Unsupported}const m={findChannelOnCurrentNetwork:e=>n=>(n=n.toLowerCase(),e.activeChannel?.network.channels.find(e=>e.name.toLowerCase()===n)),findChannelOnNetwork:e=>(n,t)=>{for(const a of e.networks)if(a.uuid===n)for(const e of a.channels)if(e.name===t)return{network:a,channel:e};return null},findChannel:e=>n=>{for(const t of e.networks)for(const e of t.channels)if(e.id===n)return{network:t,channel:e};return null},findNetwork:e=>n=>{for(const t of e.networks)if(t.uuid===n)return t;return null},highlightCount(e){let n=0;for(const t of e.networks)for(const e of t.channels)e.muted||(n+=e.highlight);return n},title:(e,n)=>(n.highlightCount?`(${n.highlightCount.toString()}) `:"")+(e.activeChannel?`${e.activeChannel.channel.name} โ€” `:"")+p},k={state:()=>({appLoaded:!1,activeChannel:void 0,currentUserVisibleError:null,desktopNotificationState:g(),isAutoCompleting:!1,isConnected:!1,networks:[],mentions:[],hasServiceWorker:!1,pushNotificationState:"unsupported",serverConfiguration:null,sessions:[],sidebarOpen:!1,sidebarDragging:!1,userlistOpen:"false"!==s.A.get("thelounge.state.userlist"),versionData:null,versionStatus:"loading",versionDataExpired:!1,serverHasSettings:!1,messageSearchResults:null,messageSearchPendingQuery:null,searchEnabled:!1}),mutations:{appLoaded(e){e.appLoaded=!0},activeChannel(e,n){e.activeChannel=n},currentUserVisibleError(e,n){e.currentUserVisibleError=n},refreshDesktopNotificationState(e){e.desktopNotificationState=g()},isAutoCompleting(e,n){e.isAutoCompleting=n},isConnected(e,n){e.isConnected=n},networks(e,n){e.networks=n},mentions(e,n){e.mentions=n},removeNetwork(e,n){e.networks.splice(e.networks.findIndex(e=>e.uuid===n),1)},sortNetworks(e,n){e.networks.sort(n)},hasServiceWorker(e){e.hasServiceWorker=!0},pushNotificationState(e,n){e.pushNotificationState=n},serverConfiguration(e,n){e.serverConfiguration=n},sessions(e,n){e.sessions=n},sidebarOpen(e,n){e.sidebarOpen=n},sidebarDragging(e,n){e.sidebarDragging=n},toggleSidebar(e){e.sidebarOpen=!e.sidebarOpen},toggleUserlist(e){e.userlistOpen=!e.userlistOpen},userlistOpen(e,n){e.userlistOpen=n},versionData(e,n){e.versionData=n},versionStatus(e,n){e.versionStatus=n},versionDataExpired(e,n){e.versionDataExpired=n},serverHasSettings(e,n){e.serverHasSettings=n},messageSearchPendingQuery(e,n){e.messageSearchPendingQuery=n},messageSearchResults(e,n){e.messageSearchResults=n},addMessageSearchResults(e,n){if(e.messageSearchResults||(e.messageSearchResults={results:[]}),!n)return;const t=[...n.results,...e.messageSearchResults.results];e.messageSearchResults={results:t}}},actions:{partChannel({commit:e,state:n},t){e("mentions",n.mentions.filter(e=>!(e.chanId===t.channel.id)))}},getters:m},f=Symbol(),b=(0,a.y$)(k),v=function(e){return{namespaced:!0,state:d(c(),u()),mutations:{set(e,{name:n,value:t}){e[n]=t}},actions:{syncAll({state:n},t=!1){if(!1!==n.syncSettings||!1!==t){e.commit("serverHasSettings",!0);for(const e in n)"never"===r[e].sync&&"always"!==r[e].sync||o.A.emit("setting:set",{name:e,value:n[e]})}},applyAll({state:n}){for(const t in r)r[t].apply(e,n[t],!0)},update({state:n,commit:t},{name:a,value:i,sync:l=!1}){if(n[a]===i)return;const c=r[a];c&&(!1!==l||!1!==n.syncSettings&&"never"!==c.sync)&&(t("set",{name:a,value:i}),s.A.set("settings",JSON.stringify(n)),c.apply(e,i),l&&(n.syncSettings&&"never"!==c.sync||"always"===c.sync)&&o.A.emit("setting:set",{name:a,value:i}))}}}}(b);function w(){return(0,a.Pj)(f)}b.registerModule("settings",v)},381:(e,n,t)=>{"use strict";t.d(n,{A:()=>a});const a=(0,t(3508).Ay)({transports:JSON.parse(document.body.dataset.transports||"['polling', 'websocket']"),path:window.location.pathname+"socket.io/",autoConnect:!1,reconnection:!document.body.classList.contains("public")})},514:(e,n,t)=>{"use strict";t.r(n),t.d(n,{default:()=>r});var a=t(641);const s={class:"content"};var o=t(3568),i=t(6640);const l=(0,a.pM)({name:"MessageTypeMode",components:{ParsedMessage:o.A,Username:i.A},props:{network:{type:Object,required:!0},message:{type:Object,required:!0}}}),r=(0,t(6262).A)(l,[["render",function(e,n,t,o,i,l){const r=(0,a.g2)("Username"),c=(0,a.g2)("ParsedMessage");return(0,a.uX)(),(0,a.CE)("span",s,[(0,a.bF)(r,{user:e.message.from},null,8,["user"]),n[0]||(n[0]=(0,a.eW)(" sets mode ",-1)),(0,a.bF)(c,{message:e.message},null,8,["message"])])}]])},875:(e,n,t)=>{"use strict";t.r(n),t.d(n,{default:()=>u});var a=t(641);const s={class:"content"},o={class:"hostmask"},i={key:0,class:"quit-reason"};var l=t(3568),r=t(6640);const c=(0,a.pM)({name:"MessageTypeQuit",components:{ParsedMessage:l.A,Username:r.A},props:{network:{type:Object,required:!0},message:{type:Object,required:!0}}}),u=(0,t(6262).A)(c,[["render",function(e,n,t,l,r,c){const u=(0,a.g2)("Username"),d=(0,a.g2)("ParsedMessage");return(0,a.uX)(),(0,a.CE)("span",s,[(0,a.bF)(u,{user:e.message.from},null,8,["user"]),(0,a.Lk)("i",o,[n[0]||(n[0]=(0,a.eW)(" (",-1)),(0,a.bF)(d,{network:e.network,text:e.message.hostmask},null,8,["network","text"]),n[1]||(n[1]=(0,a.eW)(")",-1))]),n[4]||(n[4]=(0,a.eW)(" has quit ",-1)),e.message.text?((0,a.uX)(),(0,a.CE)("i",i,[n[2]||(n[2]=(0,a.eW)("(",-1)),(0,a.bF)(d,{network:e.network,message:e.message},null,8,["network","message"]),n[3]||(n[3]=(0,a.eW)(")",-1))])):(0,a.Q3)("",!0)])}]])},991:(e,n,t)=>{"use strict";t.r(n),t.d(n,{default:()=>c});var a=t(641);const s={class:"content"},o={class:"away-message"};var i=t(3568),l=t(6640);const r=(0,a.pM)({name:"MessageTypeAway",components:{ParsedMessage:i.A,Username:l.A},props:{network:{type:Object,required:!0},message:{type:Object,required:!0}}}),c=(0,t(6262).A)(r,[["render",function(e,n,t,i,l,r){const c=(0,a.g2)("ParsedMessage"),u=(0,a.g2)("Username");return(0,a.uX)(),(0,a.CE)("span",s,[e.message.self?((0,a.uX)(),(0,a.Wv)(c,{key:0,network:e.network,message:e.message},null,8,["network","message"])):((0,a.uX)(),(0,a.CE)(a.FK,{key:1},[(0,a.bF)(u,{user:e.message.from},null,8,["user"]),n[2]||(n[2]=(0,a.eW)(" is away ",-1)),(0,a.Lk)("i",o,[n[0]||(n[0]=(0,a.eW)("(",-1)),(0,a.bF)(c,{network:e.network,message:e.message},null,8,["network","message"]),n[1]||(n[1]=(0,a.eW)(")",-1))])],64))])}]])},1191:(e,n,t)=>{var a={"./away.vue":991,"./back.vue":1344,"./chghost.vue":2462,"./ctcp.vue":6455,"./ctcp_request.vue":8078,"./error.vue":2429,"./invite.vue":3393,"./join.vue":7902,"./kick.vue":9971,"./mass_event.vue":1740,"./mode.vue":514,"./mode_channel.vue":7062,"./mode_user.vue":5506,"./monospace_block.vue":3107,"./nick.vue":9956,"./part.vue":5182,"./quit.vue":875,"./raw.vue":9207,"./topic.vue":4379,"./topic_set_by.vue":6789,"./whois.vue":2837};function s(e){var n=o(e);return t(n)}function o(e){if(!t.o(a,e)){var n=new Error("Cannot find module '"+e+"'");throw n.code="MODULE_NOT_FOUND",n}return a[e]}s.keys=function(){return Object.keys(a)},s.resolve=o,e.exports=s,s.id=1191},1344:(e,n,t)=>{"use strict";t.r(n),t.d(n,{default:()=>r});var a=t(641);const s={class:"content"};var o=t(3568),i=t(6640);const l=(0,a.pM)({name:"MessageTypeBack",components:{ParsedMessage:o.A,Username:i.A},props:{network:{type:Object,required:!0},message:{type:Object,required:!0}}}),r=(0,t(6262).A)(l,[["render",function(e,n,t,o,i,l){const r=(0,a.g2)("ParsedMessage"),c=(0,a.g2)("Username");return(0,a.uX)(),(0,a.CE)("span",s,[e.message.self?((0,a.uX)(),(0,a.Wv)(r,{key:0,network:e.network,message:e.message},null,8,["network","message"])):((0,a.uX)(),(0,a.CE)(a.FK,{key:1},[(0,a.bF)(c,{user:e.message.from},null,8,["user"]),n[0]||(n[0]=(0,a.eW)(" is back ",-1))],64))])}]])},1654:(e,n,t)=>{"use strict";t.d(n,{cL:()=>s,gC:()=>o,rR:()=>a});let a=function(e){return e.CHANNEL="channel",e.LOBBY="lobby",e.QUERY="query",e.SPECIAL="special",e}({}),s=function(e){return e.BANLIST="list_bans",e.INVITELIST="list_invites",e.CHANNELLIST="list_channels",e.IGNORELIST="list_ignored",e}({}),o=function(e){return e[e.PARTED=0]="PARTED",e[e.JOINED=1]="JOINED",e}({})},1740:(e,n,t)=>{"use strict";t.r(n),t.d(n,{default:()=>c});var a=t(641),s=t(33);const o={class:"content mass-event-summary"},i={class:"mass-event-duration"};var l=t(211);const r=(0,a.pM)({name:"MessageTypeMassEvent",props:{network:{type:Object,required:!0},message:{type:Object,required:!0}},setup:e=>({store:(0,l.Pj)(),summaryParts:(0,a.EW)(()=>{const n=[],t=e.message.massEventSummary;return t?(t.joins>0&&n.push(`${t.joins} user${1!==t.joins?"s":""} joined`),t.parts>0&&n.push(`${t.parts} user${1!==t.parts?"s":""} left`),t.quits>0&&n.push(`${t.quits} user${1!==t.quits?"s":""} quit`),t.kicks>0&&n.push(`${t.kicks} user${1!==t.kicks?"s":""} kicked`),t.nicks>0&&n.push(`${t.nicks} nick change${1!==t.nicks?"s":""}`),t.modes>0&&n.push(`${t.modes} mode change${1!==t.modes?"s":""}`),t.chghosts>0&&n.push(`${t.chghosts} host change${1!==t.chghosts?"s":""}`),t.away>0&&n.push(`${t.away} user${1!==t.away?"s":""} away`),t.back>0&&n.push(`${t.back} user${1!==t.back?"s":""} back`),n.length>0?n:["No events"]):["No summary data"]}),formattedDuration:(0,a.EW)(()=>{const n=e.message.massEventSummary;if(!n||!n.duration)return"0s";const t=Math.round(n.duration/1e3);if(t<60)return`${t}s`;const a=Math.floor(t/60),s=t%60;return 0===s?`${a}m`:`${a}m ${s}s`})})}),c=(0,t(6262).A)(r,[["render",function(e,n,t,l,r,c){return(0,a.uX)(),(0,a.CE)("span",o,[n[0]||(n[0]=(0,a.Lk)("strong",null,"Mass event:",-1)),((0,a.uX)(!0),(0,a.CE)(a.FK,null,(0,a.pI)(e.summaryParts,(e,n)=>((0,a.uX)(),(0,a.CE)("span",{key:n},(0,s.v_)(n>0?", ":" ")+(0,s.v_)(e),1))),128)),(0,a.Lk)("i",i," ("+(0,s.v_)(e.formattedDuration)+")",1)])}]])},2429:(e,n,t)=>{"use strict";t.r(n),t.d(n,{default:()=>l});var a=t(641);const s={class:"content"};var o=t(3568);const i=(0,a.pM)({name:"MessageTypeError",components:{ParsedMessage:o.A},props:{network:{type:Object,required:!0},message:{type:Object,required:!0}},setup:e=>({errorMessage:(0,a.EW)(()=>{const n=e.message.channel||"!UNKNOWN_CHAN",t=e.message.nick||"!UNKNOWN_NICK";switch(e.message.error){case"bad_channel_key":return`Cannot join ${n} - Bad channel key.`;case"banned_from_channel":return`Cannot join ${n} - You have been banned from the channel.`;case"cannot_send_to_channel":return`Cannot send to channel ${n}`;case"channel_is_full":return`Cannot join ${n} - Channel is full.`;case"chanop_privs_needed":return"Cannot perform action: You're not a channel operator.";case"invite_only_channel":return`Cannot join ${n} - Channel is invite only.`;case"no_such_nick":return`User ${t} hasn't logged in or does not exist.`;case"not_on_channel":return"Cannot perform action: You're not on the channel.";case"password_mismatch":return"Password mismatch.";case"too_many_channels":return`Cannot join ${n} - You've already reached the maximum number of channels allowed.`;case"unknown_command":return`Unknown command: ${e.message.command||"!UNDEFINED_COMMAND_BUG"}`;case"user_not_in_channel":return`User ${t} is not on the channel.`;case"user_on_channel":return`User ${t} is already on the channel.`;default:return e.message.reason?`${e.message.reason} (${e.message.error||"!UNDEFINED_ERR"})`:e.message.error}})})}),l=(0,t(6262).A)(i,[["render",function(e,n,t,o,i,l){const r=(0,a.g2)("ParsedMessage");return(0,a.uX)(),(0,a.CE)("span",s,[(0,a.bF)(r,{network:e.network,message:e.message,text:e.errorMessage},null,8,["network","message","text"])])}]])},2462:(e,n,t)=>{"use strict";t.r(n),t.d(n,{default:()=>p});var a=t(641),s=t(33);const o={class:"content"},i={key:0},l={key:1},r={class:"hostmask"};var c=t(3568),u=t(6640);const d=(0,a.pM)({name:"MessageTypeChangeHost",components:{ParsedMessage:c.A,Username:u.A},props:{network:{type:Object,required:!0},message:{type:Object,required:!0}}}),p=(0,t(6262).A)(d,[["render",function(e,n,t,c,u,d){const p=(0,a.g2)("Username"),h=(0,a.g2)("ParsedMessage");return(0,a.uX)(),(0,a.CE)("span",o,[(0,a.bF)(p,{user:e.message.from},null,8,["user"]),n[2]||(n[2]=(0,a.eW)(" has changed ",-1)),e.message.new_ident?((0,a.uX)(),(0,a.CE)("span",i,[n[0]||(n[0]=(0,a.eW)("username to ",-1)),(0,a.Lk)("b",null,(0,s.v_)(e.message.new_ident),1)])):(0,a.Q3)("",!0),e.message.new_host?((0,a.uX)(),(0,a.CE)("span",l,[n[1]||(n[1]=(0,a.eW)("hostname to ",-1)),(0,a.Lk)("i",r,[(0,a.bF)(h,{network:e.network,text:e.message.new_host},null,8,["network","text"])])])):(0,a.Q3)("",!0)])}]])},2806:(e,n,t)=>{"use strict";t.d(n,{A:()=>s});const a=new Map,s=new class{on(e,n){a.has(e)?a.get(e).push(n):a.set(e,[n])}off(e,n){a.has(e)&&a.set(e,a.get(e).filter(e=>e!==n))}emit(e,...n){a.has(e)&&a.get(e).slice().map(e=>{e(...n)})}}},2837:(e,n,t)=>{"use strict";t.r(n),t.d(n,{default:()=>k});var a=t(641),s=t(33);const o={class:"content"},i={key:0},l={class:"whois"},r={class:"hostmask"},c={class:"hostmask"},u=["href"],d={key:0};var p=t(7321),h=t(3568),g=t(6640);const m=(0,a.pM)({name:"MessageTypeWhois",components:{ParsedMessage:h.A,Username:g.A},props:{network:{type:Object,required:!0},message:{type:Object,required:!0}},setup:()=>({localetime:e=>(0,p.A)(e)})}),k=(0,t(6262).A)(m,[["render",function(e,n,t,p,h,g){const m=(0,a.g2)("Username"),k=(0,a.g2)("ParsedMessage");return(0,a.uX)(),(0,a.CE)("span",o,[(0,a.Lk)("p",null,[(0,a.bF)(m,{user:{nick:e.message.whois.nick}},null,8,["user"]),e.message.whois.whowas?((0,a.uX)(),(0,a.CE)("span",i," is offline, last information:")):(0,a.Q3)("",!0)]),(0,a.Lk)("dl",l,[e.message.whois.account?((0,a.uX)(),(0,a.CE)(a.FK,{key:0},[n[0]||(n[0]=(0,a.Lk)("dt",null,"Logged in as:",-1)),(0,a.Lk)("dd",null,(0,s.v_)(e.message.whois.account),1)],64)):(0,a.Q3)("",!0),n[20]||(n[20]=(0,a.Lk)("dt",null,"Host mask:",-1)),(0,a.Lk)("dd",r,[(0,a.bF)(k,{network:e.network,text:e.message.whois.ident+"@"+e.message.whois.hostname},null,8,["network","text"])]),e.message.whois.actual_hostname?((0,a.uX)(),(0,a.CE)(a.FK,{key:1},[n[1]||(n[1]=(0,a.Lk)("dt",null,"Actual host:",-1)),(0,a.Lk)("dd",c,[(0,a.Lk)("a",{href:"https://ipinfo.io/"+e.message.whois.actual_ip,target:"_blank",rel:"noopener"},(0,s.v_)(e.message.whois.actual_ip),9,u),e.message.whois.actual_hostname!=e.message.whois.actual_ip?((0,a.uX)(),(0,a.CE)("i",d," ("+(0,s.v_)(e.message.whois.actual_hostname)+")",1)):(0,a.Q3)("",!0)])],64)):(0,a.Q3)("",!0),e.message.whois.actual_username?((0,a.uX)(),(0,a.CE)(a.FK,{key:2},[n[2]||(n[2]=(0,a.Lk)("dt",null,"Actual username:",-1)),(0,a.Lk)("dd",null,(0,s.v_)(e.message.whois.actual_username),1)],64)):(0,a.Q3)("",!0),e.message.whois.real_name?((0,a.uX)(),(0,a.CE)(a.FK,{key:3},[n[3]||(n[3]=(0,a.Lk)("dt",null,"Real name:",-1)),(0,a.Lk)("dd",null,[(0,a.bF)(k,{network:e.network,text:e.message.whois.real_name},null,8,["network","text"])])],64)):(0,a.Q3)("",!0),e.message.whois.registered_nick?((0,a.uX)(),(0,a.CE)(a.FK,{key:4},[n[4]||(n[4]=(0,a.Lk)("dt",null,"Registered nick:",-1)),(0,a.Lk)("dd",null,(0,s.v_)(e.message.whois.registered_nick),1)],64)):(0,a.Q3)("",!0),e.message.whois.channels?((0,a.uX)(),(0,a.CE)(a.FK,{key:5},[n[5]||(n[5]=(0,a.Lk)("dt",null,"Channels:",-1)),(0,a.Lk)("dd",null,[(0,a.bF)(k,{network:e.network,text:e.message.whois.channels},null,8,["network","text"])])],64)):(0,a.Q3)("",!0),e.message.whois.modes?((0,a.uX)(),(0,a.CE)(a.FK,{key:6},[n[6]||(n[6]=(0,a.Lk)("dt",null,"Modes:",-1)),(0,a.Lk)("dd",null,(0,s.v_)(e.message.whois.modes),1)],64)):(0,a.Q3)("",!0),e.message.whois.special?((0,a.uX)(!0),(0,a.CE)(a.FK,{key:7},(0,a.pI)(e.message.whois.special,e=>((0,a.uX)(),(0,a.CE)(a.FK,{key:e},[n[7]||(n[7]=(0,a.Lk)("dt",null,"Special:",-1)),(0,a.Lk)("dd",null,(0,s.v_)(e),1)],64))),128)):(0,a.Q3)("",!0),e.message.whois.operator?((0,a.uX)(),(0,a.CE)(a.FK,{key:8},[n[8]||(n[8]=(0,a.Lk)("dt",null,"Operator:",-1)),(0,a.Lk)("dd",null,(0,s.v_)(e.message.whois.operator),1)],64)):(0,a.Q3)("",!0),e.message.whois.helpop?((0,a.uX)(),(0,a.CE)(a.FK,{key:9},[n[9]||(n[9]=(0,a.Lk)("dt",null,"Available for help:",-1)),n[10]||(n[10]=(0,a.Lk)("dd",null,"Yes",-1))],64)):(0,a.Q3)("",!0),e.message.whois.bot?((0,a.uX)(),(0,a.CE)(a.FK,{key:10},[n[11]||(n[11]=(0,a.Lk)("dt",null,"Is a bot:",-1)),n[12]||(n[12]=(0,a.Lk)("dd",null,"Yes",-1))],64)):(0,a.Q3)("",!0),e.message.whois.away?((0,a.uX)(),(0,a.CE)(a.FK,{key:11},[n[13]||(n[13]=(0,a.Lk)("dt",null,"Away:",-1)),(0,a.Lk)("dd",null,[(0,a.bF)(k,{network:e.network,text:e.message.whois.away},null,8,["network","text"])])],64)):(0,a.Q3)("",!0),e.message.whois.secure?((0,a.uX)(),(0,a.CE)(a.FK,{key:12},[n[14]||(n[14]=(0,a.Lk)("dt",null,"Secure connection:",-1)),n[15]||(n[15]=(0,a.Lk)("dd",null,"Yes",-1))],64)):(0,a.Q3)("",!0),e.message.whois.certfps?((0,a.uX)(!0),(0,a.CE)(a.FK,{key:13},(0,a.pI)(e.message.whois.certfps,e=>((0,a.uX)(),(0,a.CE)(a.FK,{key:e},[n[16]||(n[16]=(0,a.Lk)("dt",null,"Certificate:",-1)),(0,a.Lk)("dd",null,(0,s.v_)(e),1)],64))),128)):(0,a.Q3)("",!0),e.message.whois.server?((0,a.uX)(),(0,a.CE)(a.FK,{key:14},[n[17]||(n[17]=(0,a.Lk)("dt",null,"Connected to:",-1)),(0,a.Lk)("dd",null,[(0,a.eW)((0,s.v_)(e.message.whois.server)+" ",1),(0,a.Lk)("i",null,"("+(0,s.v_)(e.message.whois.server_info)+")",1)])],64)):(0,a.Q3)("",!0),e.message.whois.logonTime?((0,a.uX)(),(0,a.CE)(a.FK,{key:15},[n[18]||(n[18]=(0,a.Lk)("dt",null,"Connected at:",-1)),(0,a.Lk)("dd",null,(0,s.v_)(e.localetime(e.message.whois.logonTime)),1)],64)):(0,a.Q3)("",!0),e.message.whois.idle?((0,a.uX)(),(0,a.CE)(a.FK,{key:16},[n[19]||(n[19]=(0,a.Lk)("dt",null,"Idle since:",-1)),(0,a.Lk)("dd",null,(0,s.v_)(e.localetime(e.message.whois.idleTime)),1)],64)):(0,a.Q3)("",!0)])])}]])},3107:(e,n,t)=>{"use strict";t.r(n),t.d(n,{default:()=>r});var a=t(641);const s={class:"content"},o={class:"text"};var i=t(3568);const l=(0,a.pM)({name:"MessageTypeMonospaceBlock",components:{ParsedMessage:i.A},props:{network:{type:Object,required:!0},message:{type:Object,required:!0}},setup:e=>({cleanText:(0,a.EW)(()=>{let n=e.message.text.split("\n");return n.every(e=>""===e||"-"===e[0])&&(n=n.map(e=>e.substring(2))),n.map(e=>e.replace(/\s*$/,"")).join("\n").replace(/^[\r\n]+|[\r\n]+$/g,"")})})}),r=(0,t(6262).A)(l,[["render",function(e,n,t,i,l,r){const c=(0,a.g2)("ParsedMessage");return(0,a.uX)(),(0,a.CE)("span",s,[(0,a.Lk)("span",o,[(0,a.bF)(c,{network:e.network,text:e.cleanText},null,8,["network","text"])])])}]])},3388:(e,n,t)=>{"use strict";t.d(n,{A:()=>s});const a=["Bytes","KiB","MiB","GiB","TiB","PiB"],s=e=>{const n=e>0?Math.floor(Math.log(e)/Math.log(1024)):0;return`${parseFloat((e/Math.pow(1024,n)).toFixed(1))} ${a[n]}`}},3393:(e,n,t)=>{"use strict";t.r(n),t.d(n,{default:()=>c});var a=t(641);const s={class:"content"},o={key:0};var i=t(3568),l=t(6640);const r=(0,a.pM)({name:"MessageTypeInvite",components:{ParsedMessage:i.A,Username:l.A},props:{network:{type:Object,required:!0},message:{type:Object,required:!0}}}),c=(0,t(6262).A)(r,[["render",function(e,n,t,i,l,r){const c=(0,a.g2)("Username"),u=(0,a.g2)("ParsedMessage");return(0,a.uX)(),(0,a.CE)("span",s,[(0,a.bF)(c,{user:e.message.from},null,8,["user"]),n[0]||(n[0]=(0,a.eW)(" invited ",-1)),e.message.invitedYou?((0,a.uX)(),(0,a.CE)("span",o,"you")):((0,a.uX)(),(0,a.Wv)(c,{key:1,user:e.message.target},null,8,["user"])),n[1]||(n[1]=(0,a.eW)(" to ",-1)),(0,a.bF)(u,{network:e.network,text:e.message.channel},null,8,["network","text"])])}]])},3568:(e,n,t)=>{"use strict";t.d(n,{A:()=>N});var a=t(641);const s=/^(\d{1,2})(?:,(\d{1,2}))?/,o=/^([0-9a-f]{6})(?:,([0-9a-f]{6}))?/i,i=/[\u0000-\u0009\u000B-\u001F]/g,l=["bold","textColor","bgColor","hexColor","hexBgColor","italic","underline","strikethrough","monospace"];var r=t(680),c=t.n(r);function u(e){return c()(e).replace("-","\\-")}var d=t(2319),p=t(9011);const h=(0,d.A)().tlds(p).tlds("onion",!0),g=["sftp","smb","file","irc","ircs","svn","git","steam","mumble","ts3server","svn+ssh","ssh","gopher","gemini"];for(const e of g)h.add(e+":","http:");function m(e){return{start:e.index,end:e.lastIndex,link:e.url}}h.add("web+",{validate(e,n,t){const a=/^[a-z]+:/gi;if(!a.test(e.slice(n)))return 0;const s=t.testSchemaAt(e,"http:",n+a.lastIndex);return 0===s?0:a.lastIndex+s},normalize(e){e.schema=e.text.slice(0,e.text.indexOf(":")+1)}}),h.add("//",{validate:h.__schemas__["//"].validate,normalize(e){e.schema="",e.url="http:"+e.url}});const k=(0,t(631).A)(),f=/([\w[\]\\`^{|}-]+)/g,b=function(e,n){return e.start<=n.start&&n.start<e.end||e.start<n.end&&n.end<=e.end||n.start<=e.start&&e.start<n.end||n.start<e.end&&e.end<=n.end};function v(e,n){return e.start-n.start||n.end-e.end}const w=JSON.parse('{"๐Ÿ˜€":"grinning face","๐Ÿ˜ƒ":"grinning face with big eyes","๐Ÿ˜„":"grinning face with smiling eyes","๐Ÿ˜":"beaming face with smiling eyes","๐Ÿ˜†":"grinning squinting face","๐Ÿ˜…":"grinning face with sweat","๐Ÿคฃ":"rolling on the floor laughing","๐Ÿ˜‚":"face with tears of joy","๐Ÿ™‚":"slightly smiling face","๐Ÿ™ƒ":"upside-down face","๐Ÿซ ":"melting face","๐Ÿ˜‰":"winking face","๐Ÿ˜Š":"smiling face with smiling eyes","๐Ÿ˜‡":"smiling face with halo","๐Ÿฅฐ":"smiling face with hearts","๐Ÿ˜":"smiling face with heart-eyes","๐Ÿคฉ":"star-struck","๐Ÿ˜˜":"face blowing a kiss","๐Ÿ˜—":"kissing face","โ˜บ":"smiling face","๐Ÿ˜š":"kissing face with closed eyes","๐Ÿ˜™":"kissing face with smiling eyes","๐Ÿฅฒ":"smiling face with tear","๐Ÿ˜‹":"face savoring food","๐Ÿ˜›":"face with tongue","๐Ÿ˜œ":"winking face with tongue","๐Ÿคช":"zany face","๐Ÿ˜":"squinting face with tongue","๐Ÿค‘":"money-mouth face","๐Ÿค—":"smiling face with open hands","๐Ÿคญ":"face with hand over mouth","๐Ÿซข":"face with open eyes and hand over mouth","๐Ÿซฃ":"face with peeking eye","๐Ÿคซ":"shushing face","๐Ÿค”":"thinking face","๐Ÿซก":"saluting face","๐Ÿค":"zipper-mouth face","๐Ÿคจ":"face with raised eyebrow","๐Ÿ˜":"neutral face","๐Ÿ˜‘":"expressionless face","๐Ÿ˜ถ":"face without mouth","๐Ÿซฅ":"dotted line face","๐Ÿ˜ถโ€๐ŸŒซ":"face in clouds","๐Ÿ˜":"smirking face","๐Ÿ˜’":"unamused face","๐Ÿ™„":"face with rolling eyes","๐Ÿ˜ฌ":"grimacing face","๐Ÿ˜ฎโ€๐Ÿ’จ":"face exhaling","๐Ÿคฅ":"lying face","๐Ÿซจ":"shaking face","๐Ÿ˜Œ":"relieved face","๐Ÿ˜”":"pensive face","๐Ÿ˜ช":"sleepy face","๐Ÿคค":"drooling face","๐Ÿ˜ด":"sleeping face","๐Ÿ˜ท":"face with medical mask","๐Ÿค’":"face with thermometer","๐Ÿค•":"face with head-bandage","๐Ÿคข":"nauseated face","๐Ÿคฎ":"face vomiting","๐Ÿคง":"sneezing face","๐Ÿฅต":"hot face","๐Ÿฅถ":"cold face","๐Ÿฅด":"woozy face","๐Ÿ˜ต":"face with crossed-out eyes","๐Ÿ˜ตโ€๐Ÿ’ซ":"face with spiral eyes","๐Ÿคฏ":"exploding head","๐Ÿค ":"cowboy hat face","๐Ÿฅณ":"partying face","๐Ÿฅธ":"disguised face","๐Ÿ˜Ž":"smiling face with sunglasses","๐Ÿค“":"nerd face","๐Ÿง":"face with monocle","๐Ÿ˜•":"confused face","๐Ÿซค":"face with diagonal mouth","๐Ÿ˜Ÿ":"worried face","๐Ÿ™":"slightly frowning face","โ˜น":"frowning face","๐Ÿ˜ฎ":"face with open mouth","๐Ÿ˜ฏ":"hushed face","๐Ÿ˜ฒ":"astonished face","๐Ÿ˜ณ":"flushed face","๐Ÿฅบ":"pleading face","๐Ÿฅน":"face holding back tears","๐Ÿ˜ฆ":"frowning face with open mouth","๐Ÿ˜ง":"anguished face","๐Ÿ˜จ":"fearful face","๐Ÿ˜ฐ":"anxious face with sweat","๐Ÿ˜ฅ":"sad but relieved face","๐Ÿ˜ข":"crying face","๐Ÿ˜ญ":"loudly crying face","๐Ÿ˜ฑ":"face screaming in fear","๐Ÿ˜–":"confounded face","๐Ÿ˜ฃ":"persevering face","๐Ÿ˜ž":"disappointed face","๐Ÿ˜“":"downcast face with sweat","๐Ÿ˜ฉ":"weary face","๐Ÿ˜ซ":"tired face","๐Ÿฅฑ":"yawning face","๐Ÿ˜ค":"face with steam from nose","๐Ÿ˜ก":"enraged face","๐Ÿ˜ ":"angry face","๐Ÿคฌ":"face with symbols on mouth","๐Ÿ˜ˆ":"smiling face with horns","๐Ÿ‘ฟ":"angry face with horns","๐Ÿ’€":"skull","โ˜ ":"skull and crossbones","๐Ÿ’ฉ":"pile of poo","๐Ÿคก":"clown face","๐Ÿ‘น":"ogre","๐Ÿ‘บ":"goblin","๐Ÿ‘ป":"ghost","๐Ÿ‘ฝ":"alien","๐Ÿ‘พ":"alien monster","๐Ÿค–":"robot","๐Ÿ˜บ":"grinning cat","๐Ÿ˜ธ":"grinning cat with smiling eyes","๐Ÿ˜น":"cat with tears of joy","๐Ÿ˜ป":"smiling cat with heart-eyes","๐Ÿ˜ผ":"cat with wry smile","๐Ÿ˜ฝ":"kissing cat","๐Ÿ™€":"weary cat","๐Ÿ˜ฟ":"crying cat","๐Ÿ˜พ":"pouting cat","๐Ÿ™ˆ":"see-no-evil monkey","๐Ÿ™‰":"hear-no-evil monkey","๐Ÿ™Š":"speak-no-evil monkey","๐Ÿ’Œ":"love letter","๐Ÿ’˜":"heart with arrow","๐Ÿ’":"heart with ribbon","๐Ÿ’–":"sparkling heart","๐Ÿ’—":"growing heart","๐Ÿ’“":"beating heart","๐Ÿ’ž":"revolving hearts","๐Ÿ’•":"two hearts","๐Ÿ’Ÿ":"heart decoration","โฃ":"heart exclamation","๐Ÿ’”":"broken heart","โคโ€๐Ÿ”ฅ":"heart on fire","โคโ€๐Ÿฉน":"mending heart","โค":"red heart","๐Ÿฉท":"pink heart","๐Ÿงก":"orange heart","๐Ÿ’›":"yellow heart","๐Ÿ’š":"green heart","๐Ÿ’™":"blue heart","๐Ÿฉต":"light blue heart","๐Ÿ’œ":"purple heart","๐ŸคŽ":"brown heart","๐Ÿ–ค":"black heart","๐Ÿฉถ":"grey heart","๐Ÿค":"white heart","๐Ÿ’‹":"kiss mark","๐Ÿ’ฏ":"hundred points","๐Ÿ’ข":"anger symbol","๐Ÿ’ฅ":"collision","๐Ÿ’ซ":"dizzy","๐Ÿ’ฆ":"sweat droplets","๐Ÿ’จ":"dashing away","๐Ÿ•ณ":"hole","๐Ÿ’ฌ":"speech balloon","๐Ÿ‘โ€๐Ÿ—จ":"eye in speech bubble","๐Ÿ—จ":"left speech bubble","๐Ÿ—ฏ":"right anger bubble","๐Ÿ’ญ":"thought balloon","๐Ÿ’ค":"ZZZ","๐Ÿ‘‹":"waving hand","๐Ÿคš":"raised back of hand","๐Ÿ–":"hand with fingers splayed","โœ‹":"raised hand","๐Ÿ––":"vulcan salute","๐Ÿซฑ":"rightwards hand","๐Ÿซฒ":"leftwards hand","๐Ÿซณ":"palm down hand","๐Ÿซด":"palm up hand","๐Ÿซท":"leftwards pushing hand","๐Ÿซธ":"rightwards pushing hand","๐Ÿ‘Œ":"OK hand","๐ŸคŒ":"pinched fingers","๐Ÿค":"pinching hand","โœŒ":"victory hand","๐Ÿคž":"crossed fingers","๐Ÿซฐ":"hand with index finger and thumb crossed","๐ŸคŸ":"love-you gesture","๐Ÿค˜":"sign of the horns","๐Ÿค™":"call me hand","๐Ÿ‘ˆ":"backhand index pointing left","๐Ÿ‘‰":"backhand index pointing right","๐Ÿ‘†":"backhand index pointing up","๐Ÿ–•":"middle finger","๐Ÿ‘‡":"backhand index pointing down","โ˜":"index pointing up","๐Ÿซต":"index pointing at the viewer","๐Ÿ‘":"thumbs up","๐Ÿ‘Ž":"thumbs down","โœŠ":"raised fist","๐Ÿ‘Š":"oncoming fist","๐Ÿค›":"left-facing fist","๐Ÿคœ":"right-facing fist","๐Ÿ‘":"clapping hands","๐Ÿ™Œ":"raising hands","๐Ÿซถ":"heart hands","๐Ÿ‘":"open hands","๐Ÿคฒ":"palms up together","๐Ÿค":"handshake","๐Ÿ™":"folded hands","โœ":"writing hand","๐Ÿ’…":"nail polish","๐Ÿคณ":"selfie","๐Ÿ’ช":"flexed biceps","๐Ÿฆพ":"mechanical arm","๐Ÿฆฟ":"mechanical leg","๐Ÿฆต":"leg","๐Ÿฆถ":"foot","๐Ÿ‘‚":"ear","๐Ÿฆป":"ear with hearing aid","๐Ÿ‘ƒ":"nose","๐Ÿง ":"brain","๐Ÿซ€":"anatomical heart","๐Ÿซ":"lungs","๐Ÿฆท":"tooth","๐Ÿฆด":"bone","๐Ÿ‘€":"eyes","๐Ÿ‘":"eye","๐Ÿ‘…":"tongue","๐Ÿ‘„":"mouth","๐Ÿซฆ":"biting lip","๐Ÿ‘ถ":"baby","๐Ÿง’":"child","๐Ÿ‘ฆ":"boy","๐Ÿ‘ง":"girl","๐Ÿง‘":"person","๐Ÿ‘ฑ":"person: blond hair","๐Ÿ‘จ":"man","๐Ÿง”":"person: beard","๐Ÿง”โ€โ™‚":"man: beard","๐Ÿง”โ€โ™€":"woman: beard","๐Ÿ‘จโ€๐Ÿฆฐ":"man: red hair","๐Ÿ‘จโ€๐Ÿฆฑ":"man: curly hair","๐Ÿ‘จโ€๐Ÿฆณ":"man: white hair","๐Ÿ‘จโ€๐Ÿฆฒ":"man: bald","๐Ÿ‘ฉ":"woman","๐Ÿ‘ฉโ€๐Ÿฆฐ":"woman: red hair","๐Ÿง‘โ€๐Ÿฆฐ":"person: red hair","๐Ÿ‘ฉโ€๐Ÿฆฑ":"woman: curly hair","๐Ÿง‘โ€๐Ÿฆฑ":"person: curly hair","๐Ÿ‘ฉโ€๐Ÿฆณ":"woman: white hair","๐Ÿง‘โ€๐Ÿฆณ":"person: white hair","๐Ÿ‘ฉโ€๐Ÿฆฒ":"woman: bald","๐Ÿง‘โ€๐Ÿฆฒ":"person: bald","๐Ÿ‘ฑโ€โ™€":"woman: blond hair","๐Ÿ‘ฑโ€โ™‚":"man: blond hair","๐Ÿง“":"older person","๐Ÿ‘ด":"old man","๐Ÿ‘ต":"old woman","๐Ÿ™":"person frowning","๐Ÿ™โ€โ™‚":"man frowning","๐Ÿ™โ€โ™€":"woman frowning","๐Ÿ™Ž":"person pouting","๐Ÿ™Žโ€โ™‚":"man pouting","๐Ÿ™Žโ€โ™€":"woman pouting","๐Ÿ™…":"person gesturing NO","๐Ÿ™…โ€โ™‚":"man gesturing NO","๐Ÿ™…โ€โ™€":"woman gesturing NO","๐Ÿ™†":"person gesturing OK","๐Ÿ™†โ€โ™‚":"man gesturing OK","๐Ÿ™†โ€โ™€":"woman gesturing OK","๐Ÿ’":"person tipping hand","๐Ÿ’โ€โ™‚":"man tipping hand","๐Ÿ’โ€โ™€":"woman tipping hand","๐Ÿ™‹":"person raising hand","๐Ÿ™‹โ€โ™‚":"man raising hand","๐Ÿ™‹โ€โ™€":"woman raising hand","๐Ÿง":"deaf person","๐Ÿงโ€โ™‚":"deaf man","๐Ÿงโ€โ™€":"deaf woman","๐Ÿ™‡":"person bowing","๐Ÿ™‡โ€โ™‚":"man bowing","๐Ÿ™‡โ€โ™€":"woman bowing","๐Ÿคฆ":"person facepalming","๐Ÿคฆโ€โ™‚":"man facepalming","๐Ÿคฆโ€โ™€":"woman facepalming","๐Ÿคท":"person shrugging","๐Ÿคทโ€โ™‚":"man shrugging","๐Ÿคทโ€โ™€":"woman shrugging","๐Ÿง‘โ€โš•":"health worker","๐Ÿ‘จโ€โš•":"man health worker","๐Ÿ‘ฉโ€โš•":"woman health worker","๐Ÿง‘โ€๐ŸŽ“":"student","๐Ÿ‘จโ€๐ŸŽ“":"man student","๐Ÿ‘ฉโ€๐ŸŽ“":"woman student","๐Ÿง‘โ€๐Ÿซ":"teacher","๐Ÿ‘จโ€๐Ÿซ":"man teacher","๐Ÿ‘ฉโ€๐Ÿซ":"woman teacher","๐Ÿง‘โ€โš–":"judge","๐Ÿ‘จโ€โš–":"man judge","๐Ÿ‘ฉโ€โš–":"woman judge","๐Ÿง‘โ€๐ŸŒพ":"farmer","๐Ÿ‘จโ€๐ŸŒพ":"man farmer","๐Ÿ‘ฉโ€๐ŸŒพ":"woman farmer","๐Ÿง‘โ€๐Ÿณ":"cook","๐Ÿ‘จโ€๐Ÿณ":"man cook","๐Ÿ‘ฉโ€๐Ÿณ":"woman cook","๐Ÿง‘โ€๐Ÿ”ง":"mechanic","๐Ÿ‘จโ€๐Ÿ”ง":"man mechanic","๐Ÿ‘ฉโ€๐Ÿ”ง":"woman mechanic","๐Ÿง‘โ€๐Ÿญ":"factory worker","๐Ÿ‘จโ€๐Ÿญ":"man factory worker","๐Ÿ‘ฉโ€๐Ÿญ":"woman factory worker","๐Ÿง‘โ€๐Ÿ’ผ":"office worker","๐Ÿ‘จโ€๐Ÿ’ผ":"man office worker","๐Ÿ‘ฉโ€๐Ÿ’ผ":"woman office worker","๐Ÿง‘โ€๐Ÿ”ฌ":"scientist","๐Ÿ‘จโ€๐Ÿ”ฌ":"man scientist","๐Ÿ‘ฉโ€๐Ÿ”ฌ":"woman scientist","๐Ÿง‘โ€๐Ÿ’ป":"technologist","๐Ÿ‘จโ€๐Ÿ’ป":"man technologist","๐Ÿ‘ฉโ€๐Ÿ’ป":"woman technologist","๐Ÿง‘โ€๐ŸŽค":"singer","๐Ÿ‘จโ€๐ŸŽค":"man singer","๐Ÿ‘ฉโ€๐ŸŽค":"woman singer","๐Ÿง‘โ€๐ŸŽจ":"artist","๐Ÿ‘จโ€๐ŸŽจ":"man artist","๐Ÿ‘ฉโ€๐ŸŽจ":"woman artist","๐Ÿง‘โ€โœˆ":"pilot","๐Ÿ‘จโ€โœˆ":"man pilot","๐Ÿ‘ฉโ€โœˆ":"woman pilot","๐Ÿง‘โ€๐Ÿš€":"astronaut","๐Ÿ‘จโ€๐Ÿš€":"man astronaut","๐Ÿ‘ฉโ€๐Ÿš€":"woman astronaut","๐Ÿง‘โ€๐Ÿš’":"firefighter","๐Ÿ‘จโ€๐Ÿš’":"man firefighter","๐Ÿ‘ฉโ€๐Ÿš’":"woman firefighter","๐Ÿ‘ฎ":"police officer","๐Ÿ‘ฎโ€โ™‚":"man police officer","๐Ÿ‘ฎโ€โ™€":"woman police officer","๐Ÿ•ต":"detective","๐Ÿ•ตโ€โ™‚":"man detective","๐Ÿ•ตโ€โ™€":"woman detective","๐Ÿ’‚":"guard","๐Ÿ’‚โ€โ™‚":"man guard","๐Ÿ’‚โ€โ™€":"woman guard","๐Ÿฅท":"ninja","๐Ÿ‘ท":"construction worker","๐Ÿ‘ทโ€โ™‚":"man construction worker","๐Ÿ‘ทโ€โ™€":"woman construction worker","๐Ÿซ…":"person with crown","๐Ÿคด":"prince","๐Ÿ‘ธ":"princess","๐Ÿ‘ณ":"person wearing turban","๐Ÿ‘ณโ€โ™‚":"man wearing turban","๐Ÿ‘ณโ€โ™€":"woman wearing turban","๐Ÿ‘ฒ":"person with skullcap","๐Ÿง•":"woman with headscarf","๐Ÿคต":"person in tuxedo","๐Ÿคตโ€โ™‚":"man in tuxedo","๐Ÿคตโ€โ™€":"woman in tuxedo","๐Ÿ‘ฐ":"person with veil","๐Ÿ‘ฐโ€โ™‚":"man with veil","๐Ÿ‘ฐโ€โ™€":"woman with veil","๐Ÿคฐ":"pregnant woman","๐Ÿซƒ":"pregnant man","๐Ÿซ„":"pregnant person","๐Ÿคฑ":"breast-feeding","๐Ÿ‘ฉโ€๐Ÿผ":"woman feeding baby","๐Ÿ‘จโ€๐Ÿผ":"man feeding baby","๐Ÿง‘โ€๐Ÿผ":"person feeding baby","๐Ÿ‘ผ":"baby angel","๐ŸŽ…":"Santa Claus","๐Ÿคถ":"Mrs. Claus","๐Ÿง‘โ€๐ŸŽ„":"mx claus","๐Ÿฆธ":"superhero","๐Ÿฆธโ€โ™‚":"man superhero","๐Ÿฆธโ€โ™€":"woman superhero","๐Ÿฆน":"supervillain","๐Ÿฆนโ€โ™‚":"man supervillain","๐Ÿฆนโ€โ™€":"woman supervillain","๐Ÿง™":"mage","๐Ÿง™โ€โ™‚":"man mage","๐Ÿง™โ€โ™€":"woman mage","๐Ÿงš":"fairy","๐Ÿงšโ€โ™‚":"man fairy","๐Ÿงšโ€โ™€":"woman fairy","๐Ÿง›":"vampire","๐Ÿง›โ€โ™‚":"man vampire","๐Ÿง›โ€โ™€":"woman vampire","๐Ÿงœ":"merperson","๐Ÿงœโ€โ™‚":"merman","๐Ÿงœโ€โ™€":"mermaid","๐Ÿง":"elf","๐Ÿงโ€โ™‚":"man elf","๐Ÿงโ€โ™€":"woman elf","๐Ÿงž":"genie","๐Ÿงžโ€โ™‚":"man genie","๐Ÿงžโ€โ™€":"woman genie","๐ŸงŸ":"zombie","๐ŸงŸโ€โ™‚":"man zombie","๐ŸงŸโ€โ™€":"woman zombie","๐ŸงŒ":"troll","๐Ÿ’†":"person getting massage","๐Ÿ’†โ€โ™‚":"man getting massage","๐Ÿ’†โ€โ™€":"woman getting massage","๐Ÿ’‡":"person getting haircut","๐Ÿ’‡โ€โ™‚":"man getting haircut","๐Ÿ’‡โ€โ™€":"woman getting haircut","๐Ÿšถ":"person walking","๐Ÿšถโ€โ™‚":"man walking","๐Ÿšถโ€โ™€":"woman walking","๐Ÿง":"person standing","๐Ÿงโ€โ™‚":"man standing","๐Ÿงโ€โ™€":"woman standing","๐ŸงŽ":"person kneeling","๐ŸงŽโ€โ™‚":"man kneeling","๐ŸงŽโ€โ™€":"woman kneeling","๐Ÿง‘โ€๐Ÿฆฏ":"person with white cane","๐Ÿ‘จโ€๐Ÿฆฏ":"man with white cane","๐Ÿ‘ฉโ€๐Ÿฆฏ":"woman with white cane","๐Ÿง‘โ€๐Ÿฆผ":"person in motorized wheelchair","๐Ÿ‘จโ€๐Ÿฆผ":"man in motorized wheelchair","๐Ÿ‘ฉโ€๐Ÿฆผ":"woman in motorized wheelchair","๐Ÿง‘โ€๐Ÿฆฝ":"person in manual wheelchair","๐Ÿ‘จโ€๐Ÿฆฝ":"man in manual wheelchair","๐Ÿ‘ฉโ€๐Ÿฆฝ":"woman in manual wheelchair","๐Ÿƒ":"person running","๐Ÿƒโ€โ™‚":"man running","๐Ÿƒโ€โ™€":"woman running","๐Ÿ’ƒ":"woman dancing","๐Ÿ•บ":"man dancing","๐Ÿ•ด":"person in suit levitating","๐Ÿ‘ฏ":"people with bunny ears","๐Ÿ‘ฏโ€โ™‚":"men with bunny ears","๐Ÿ‘ฏโ€โ™€":"women with bunny ears","๐Ÿง–":"person in steamy room","๐Ÿง–โ€โ™‚":"man in steamy room","๐Ÿง–โ€โ™€":"woman in steamy room","๐Ÿง—":"person climbing","๐Ÿง—โ€โ™‚":"man climbing","๐Ÿง—โ€โ™€":"woman climbing","๐Ÿคบ":"person fencing","๐Ÿ‡":"horse racing","โ›ท":"skier","๐Ÿ‚":"snowboarder","๐ŸŒ":"person golfing","๐ŸŒโ€โ™‚":"man golfing","๐ŸŒโ€โ™€":"woman golfing","๐Ÿ„":"person surfing","๐Ÿ„โ€โ™‚":"man surfing","๐Ÿ„โ€โ™€":"woman surfing","๐Ÿšฃ":"person rowing boat","๐Ÿšฃโ€โ™‚":"man rowing boat","๐Ÿšฃโ€โ™€":"woman rowing boat","๐ŸŠ":"person swimming","๐ŸŠโ€โ™‚":"man swimming","๐ŸŠโ€โ™€":"woman swimming","โ›น":"person bouncing ball","โ›นโ€โ™‚":"man bouncing ball","โ›นโ€โ™€":"woman bouncing ball","๐Ÿ‹":"person lifting weights","๐Ÿ‹โ€โ™‚":"man lifting weights","๐Ÿ‹โ€โ™€":"woman lifting weights","๐Ÿšด":"person biking","๐Ÿšดโ€โ™‚":"man biking","๐Ÿšดโ€โ™€":"woman biking","๐Ÿšต":"person mountain biking","๐Ÿšตโ€โ™‚":"man mountain biking","๐Ÿšตโ€โ™€":"woman mountain biking","๐Ÿคธ":"person cartwheeling","๐Ÿคธโ€โ™‚":"man cartwheeling","๐Ÿคธโ€โ™€":"woman cartwheeling","๐Ÿคผ":"people wrestling","๐Ÿคผโ€โ™‚":"men wrestling","๐Ÿคผโ€โ™€":"women wrestling","๐Ÿคฝ":"person playing water polo","๐Ÿคฝโ€โ™‚":"man playing water polo","๐Ÿคฝโ€โ™€":"woman playing water polo","๐Ÿคพ":"person playing handball","๐Ÿคพโ€โ™‚":"man playing handball","๐Ÿคพโ€โ™€":"woman playing handball","๐Ÿคน":"person juggling","๐Ÿคนโ€โ™‚":"man juggling","๐Ÿคนโ€โ™€":"woman juggling","๐Ÿง˜":"person in lotus position","๐Ÿง˜โ€โ™‚":"man in lotus position","๐Ÿง˜โ€โ™€":"woman in lotus position","๐Ÿ›€":"person taking bath","๐Ÿ›Œ":"person in bed","๐Ÿง‘โ€๐Ÿคโ€๐Ÿง‘":"people holding hands","๐Ÿ‘ญ":"women holding hands","๐Ÿ‘ซ":"woman and man holding hands","๐Ÿ‘ฌ":"men holding hands","๐Ÿ’":"kiss","๐Ÿ‘ฉโ€โคโ€๐Ÿ’‹โ€๐Ÿ‘จ":"kiss: woman, man","๐Ÿ‘จโ€โคโ€๐Ÿ’‹โ€๐Ÿ‘จ":"kiss: man, man","๐Ÿ‘ฉโ€โคโ€๐Ÿ’‹โ€๐Ÿ‘ฉ":"kiss: woman, woman","๐Ÿ’‘":"couple with heart","๐Ÿ‘ฉโ€โคโ€๐Ÿ‘จ":"couple with heart: woman, man","๐Ÿ‘จโ€โคโ€๐Ÿ‘จ":"couple with heart: man, man","๐Ÿ‘ฉโ€โคโ€๐Ÿ‘ฉ":"couple with heart: woman, woman","๐Ÿ‘ช":"family","๐Ÿ‘จโ€๐Ÿ‘ฉโ€๐Ÿ‘ฆ":"family: man, woman, boy","๐Ÿ‘จโ€๐Ÿ‘ฉโ€๐Ÿ‘ง":"family: man, woman, girl","๐Ÿ‘จโ€๐Ÿ‘ฉโ€๐Ÿ‘งโ€๐Ÿ‘ฆ":"family: man, woman, girl, boy","๐Ÿ‘จโ€๐Ÿ‘ฉโ€๐Ÿ‘ฆโ€๐Ÿ‘ฆ":"family: man, woman, boy, boy","๐Ÿ‘จโ€๐Ÿ‘ฉโ€๐Ÿ‘งโ€๐Ÿ‘ง":"family: man, woman, girl, girl","๐Ÿ‘จโ€๐Ÿ‘จโ€๐Ÿ‘ฆ":"family: man, man, boy","๐Ÿ‘จโ€๐Ÿ‘จโ€๐Ÿ‘ง":"family: man, man, girl","๐Ÿ‘จโ€๐Ÿ‘จโ€๐Ÿ‘งโ€๐Ÿ‘ฆ":"family: man, man, girl, boy","๐Ÿ‘จโ€๐Ÿ‘จโ€๐Ÿ‘ฆโ€๐Ÿ‘ฆ":"family: man, man, boy, boy","๐Ÿ‘จโ€๐Ÿ‘จโ€๐Ÿ‘งโ€๐Ÿ‘ง":"family: man, man, girl, girl","๐Ÿ‘ฉโ€๐Ÿ‘ฉโ€๐Ÿ‘ฆ":"family: woman, woman, boy","๐Ÿ‘ฉโ€๐Ÿ‘ฉโ€๐Ÿ‘ง":"family: woman, woman, girl","๐Ÿ‘ฉโ€๐Ÿ‘ฉโ€๐Ÿ‘งโ€๐Ÿ‘ฆ":"family: woman, woman, girl, boy","๐Ÿ‘ฉโ€๐Ÿ‘ฉโ€๐Ÿ‘ฆโ€๐Ÿ‘ฆ":"family: woman, woman, boy, boy","๐Ÿ‘ฉโ€๐Ÿ‘ฉโ€๐Ÿ‘งโ€๐Ÿ‘ง":"family: woman, woman, girl, girl","๐Ÿ‘จโ€๐Ÿ‘ฆ":"family: man, boy","๐Ÿ‘จโ€๐Ÿ‘ฆโ€๐Ÿ‘ฆ":"family: man, boy, boy","๐Ÿ‘จโ€๐Ÿ‘ง":"family: man, girl","๐Ÿ‘จโ€๐Ÿ‘งโ€๐Ÿ‘ฆ":"family: man, girl, boy","๐Ÿ‘จโ€๐Ÿ‘งโ€๐Ÿ‘ง":"family: man, girl, girl","๐Ÿ‘ฉโ€๐Ÿ‘ฆ":"family: woman, boy","๐Ÿ‘ฉโ€๐Ÿ‘ฆโ€๐Ÿ‘ฆ":"family: woman, boy, boy","๐Ÿ‘ฉโ€๐Ÿ‘ง":"family: woman, girl","๐Ÿ‘ฉโ€๐Ÿ‘งโ€๐Ÿ‘ฆ":"family: woman, girl, boy","๐Ÿ‘ฉโ€๐Ÿ‘งโ€๐Ÿ‘ง":"family: woman, girl, girl","๐Ÿ—ฃ":"speaking head","๐Ÿ‘ค":"bust in silhouette","๐Ÿ‘ฅ":"busts in silhouette","๐Ÿซ‚":"people hugging","๐Ÿ‘ฃ":"footprints","๐Ÿต":"monkey face","๐Ÿ’":"monkey","๐Ÿฆ":"gorilla","๐Ÿฆง":"orangutan","๐Ÿถ":"dog face","๐Ÿ•":"dog","๐Ÿฆฎ":"guide dog","๐Ÿ•โ€๐Ÿฆบ":"service dog","๐Ÿฉ":"poodle","๐Ÿบ":"wolf","๐ŸฆŠ":"fox","๐Ÿฆ":"raccoon","๐Ÿฑ":"cat face","๐Ÿˆ":"cat","๐Ÿˆโ€โฌ›":"black cat","๐Ÿฆ":"lion","๐Ÿฏ":"tiger face","๐Ÿ…":"tiger","๐Ÿ†":"leopard","๐Ÿด":"horse face","๐ŸซŽ":"moose","๐Ÿซ":"donkey","๐ŸŽ":"horse","๐Ÿฆ„":"unicorn","๐Ÿฆ“":"zebra","๐ŸฆŒ":"deer","๐Ÿฆฌ":"bison","๐Ÿฎ":"cow face","๐Ÿ‚":"ox","๐Ÿƒ":"water buffalo","๐Ÿ„":"cow","๐Ÿท":"pig face","๐Ÿ–":"pig","๐Ÿ—":"boar","๐Ÿฝ":"pig nose","๐Ÿ":"ram","๐Ÿ‘":"ewe","๐Ÿ":"goat","๐Ÿช":"camel","๐Ÿซ":"two-hump camel","๐Ÿฆ™":"llama","๐Ÿฆ’":"giraffe","๐Ÿ˜":"elephant","๐Ÿฆฃ":"mammoth","๐Ÿฆ":"rhinoceros","๐Ÿฆ›":"hippopotamus","๐Ÿญ":"mouse face","๐Ÿ":"mouse","๐Ÿ€":"rat","๐Ÿน":"hamster","๐Ÿฐ":"rabbit face","๐Ÿ‡":"rabbit","๐Ÿฟ":"chipmunk","๐Ÿฆซ":"beaver","๐Ÿฆ”":"hedgehog","๐Ÿฆ‡":"bat","๐Ÿป":"bear","๐Ÿปโ€โ„":"polar bear","๐Ÿจ":"koala","๐Ÿผ":"panda","๐Ÿฆฅ":"sloth","๐Ÿฆฆ":"otter","๐Ÿฆจ":"skunk","๐Ÿฆ˜":"kangaroo","๐Ÿฆก":"badger","๐Ÿพ":"paw prints","๐Ÿฆƒ":"turkey","๐Ÿ”":"chicken","๐Ÿ“":"rooster","๐Ÿฃ":"hatching chick","๐Ÿค":"baby chick","๐Ÿฅ":"front-facing baby chick","๐Ÿฆ":"bird","๐Ÿง":"penguin","๐Ÿ•Š":"dove","๐Ÿฆ…":"eagle","๐Ÿฆ†":"duck","๐Ÿฆข":"swan","๐Ÿฆ‰":"owl","๐Ÿฆค":"dodo","๐Ÿชถ":"feather","๐Ÿฆฉ":"flamingo","๐Ÿฆš":"peacock","๐Ÿฆœ":"parrot","๐Ÿชฝ":"wing","๐Ÿฆโ€โฌ›":"black bird","๐Ÿชฟ":"goose","๐Ÿธ":"frog","๐ŸŠ":"crocodile","๐Ÿข":"turtle","๐ŸฆŽ":"lizard","๐Ÿ":"snake","๐Ÿฒ":"dragon face","๐Ÿ‰":"dragon","๐Ÿฆ•":"sauropod","๐Ÿฆ–":"T-Rex","๐Ÿณ":"spouting whale","๐Ÿ‹":"whale","๐Ÿฌ":"dolphin","๐Ÿฆญ":"seal","๐ŸŸ":"fish","๐Ÿ ":"tropical fish","๐Ÿก":"blowfish","๐Ÿฆˆ":"shark","๐Ÿ™":"octopus","๐Ÿš":"spiral shell","๐Ÿชธ":"coral","๐Ÿชผ":"jellyfish","๐ŸŒ":"snail","๐Ÿฆ‹":"butterfly","๐Ÿ›":"bug","๐Ÿœ":"ant","๐Ÿ":"honeybee","๐Ÿชฒ":"beetle","๐Ÿž":"lady beetle","๐Ÿฆ—":"cricket","๐Ÿชณ":"cockroach","๐Ÿ•ท":"spider","๐Ÿ•ธ":"spider web","๐Ÿฆ‚":"scorpion","๐ŸฆŸ":"mosquito","๐Ÿชฐ":"fly","๐Ÿชฑ":"worm","๐Ÿฆ ":"microbe","๐Ÿ’":"bouquet","๐ŸŒธ":"cherry blossom","๐Ÿ’ฎ":"white flower","๐Ÿชท":"lotus","๐Ÿต":"rosette","๐ŸŒน":"rose","๐Ÿฅ€":"wilted flower","๐ŸŒบ":"hibiscus","๐ŸŒป":"sunflower","๐ŸŒผ":"blossom","๐ŸŒท":"tulip","๐Ÿชป":"hyacinth","๐ŸŒฑ":"seedling","๐Ÿชด":"potted plant","๐ŸŒฒ":"evergreen tree","๐ŸŒณ":"deciduous tree","๐ŸŒด":"palm tree","๐ŸŒต":"cactus","๐ŸŒพ":"sheaf of rice","๐ŸŒฟ":"herb","โ˜˜":"shamrock","๐Ÿ€":"four leaf clover","๐Ÿ":"maple leaf","๐Ÿ‚":"fallen leaf","๐Ÿƒ":"leaf fluttering in wind","๐Ÿชน":"empty nest","๐Ÿชบ":"nest with eggs","๐Ÿ„":"mushroom","๐Ÿ‡":"grapes","๐Ÿˆ":"melon","๐Ÿ‰":"watermelon","๐ŸŠ":"tangerine","๐Ÿ‹":"lemon","๐ŸŒ":"banana","๐Ÿ":"pineapple","๐Ÿฅญ":"mango","๐ŸŽ":"red apple","๐Ÿ":"green apple","๐Ÿ":"pear","๐Ÿ‘":"peach","๐Ÿ’":"cherries","๐Ÿ“":"strawberry","๐Ÿซ":"blueberries","๐Ÿฅ":"kiwi fruit","๐Ÿ…":"tomato","๐Ÿซ’":"olive","๐Ÿฅฅ":"coconut","๐Ÿฅ‘":"avocado","๐Ÿ†":"eggplant","๐Ÿฅ”":"potato","๐Ÿฅ•":"carrot","๐ŸŒฝ":"ear of corn","๐ŸŒถ":"hot pepper","๐Ÿซ‘":"bell pepper","๐Ÿฅ’":"cucumber","๐Ÿฅฌ":"leafy green","๐Ÿฅฆ":"broccoli","๐Ÿง„":"garlic","๐Ÿง…":"onion","๐Ÿฅœ":"peanuts","๐Ÿซ˜":"beans","๐ŸŒฐ":"chestnut","๐Ÿซš":"ginger root","๐Ÿซ›":"pea pod","๐Ÿž":"bread","๐Ÿฅ":"croissant","๐Ÿฅ–":"baguette bread","๐Ÿซ“":"flatbread","๐Ÿฅจ":"pretzel","๐Ÿฅฏ":"bagel","๐Ÿฅž":"pancakes","๐Ÿง‡":"waffle","๐Ÿง€":"cheese wedge","๐Ÿ–":"meat on bone","๐Ÿ—":"poultry leg","๐Ÿฅฉ":"cut of meat","๐Ÿฅ“":"bacon","๐Ÿ”":"hamburger","๐ŸŸ":"french fries","๐Ÿ•":"pizza","๐ŸŒญ":"hot dog","๐Ÿฅช":"sandwich","๐ŸŒฎ":"taco","๐ŸŒฏ":"burrito","๐Ÿซ”":"tamale","๐Ÿฅ™":"stuffed flatbread","๐Ÿง†":"falafel","๐Ÿฅš":"egg","๐Ÿณ":"cooking","๐Ÿฅ˜":"shallow pan of food","๐Ÿฒ":"pot of food","๐Ÿซ•":"fondue","๐Ÿฅฃ":"bowl with spoon","๐Ÿฅ—":"green salad","๐Ÿฟ":"popcorn","๐Ÿงˆ":"butter","๐Ÿง‚":"salt","๐Ÿฅซ":"canned food","๐Ÿฑ":"bento box","๐Ÿ˜":"rice cracker","๐Ÿ™":"rice ball","๐Ÿš":"cooked rice","๐Ÿ›":"curry rice","๐Ÿœ":"steaming bowl","๐Ÿ":"spaghetti","๐Ÿ ":"roasted sweet potato","๐Ÿข":"oden","๐Ÿฃ":"sushi","๐Ÿค":"fried shrimp","๐Ÿฅ":"fish cake with swirl","๐Ÿฅฎ":"moon cake","๐Ÿก":"dango","๐ŸฅŸ":"dumpling","๐Ÿฅ ":"fortune cookie","๐Ÿฅก":"takeout box","๐Ÿฆ€":"crab","๐Ÿฆž":"lobster","๐Ÿฆ":"shrimp","๐Ÿฆ‘":"squid","๐Ÿฆช":"oyster","๐Ÿฆ":"soft ice cream","๐Ÿง":"shaved ice","๐Ÿจ":"ice cream","๐Ÿฉ":"doughnut","๐Ÿช":"cookie","๐ŸŽ‚":"birthday cake","๐Ÿฐ":"shortcake","๐Ÿง":"cupcake","๐Ÿฅง":"pie","๐Ÿซ":"chocolate bar","๐Ÿฌ":"candy","๐Ÿญ":"lollipop","๐Ÿฎ":"custard","๐Ÿฏ":"honey pot","๐Ÿผ":"baby bottle","๐Ÿฅ›":"glass of milk","โ˜•":"hot beverage","๐Ÿซ–":"teapot","๐Ÿต":"teacup without handle","๐Ÿถ":"sake","๐Ÿพ":"bottle with popping cork","๐Ÿท":"wine glass","๐Ÿธ":"cocktail glass","๐Ÿน":"tropical drink","๐Ÿบ":"beer mug","๐Ÿป":"clinking beer mugs","๐Ÿฅ‚":"clinking glasses","๐Ÿฅƒ":"tumbler glass","๐Ÿซ—":"pouring liquid","๐Ÿฅค":"cup with straw","๐Ÿง‹":"bubble tea","๐Ÿงƒ":"beverage box","๐Ÿง‰":"mate","๐ŸงŠ":"ice","๐Ÿฅข":"chopsticks","๐Ÿฝ":"fork and knife with plate","๐Ÿด":"fork and knife","๐Ÿฅ„":"spoon","๐Ÿ”ช":"kitchen knife","๐Ÿซ™":"jar","๐Ÿบ":"amphora","๐ŸŒ":"globe showing Europe-Africa","๐ŸŒŽ":"globe showing Americas","๐ŸŒ":"globe showing Asia-Australia","๐ŸŒ":"globe with meridians","๐Ÿ—บ":"world map","๐Ÿ—พ":"map of Japan","๐Ÿงญ":"compass","๐Ÿ”":"snow-capped mountain","โ›ฐ":"mountain","๐ŸŒ‹":"volcano","๐Ÿ—ป":"mount fuji","๐Ÿ•":"camping","๐Ÿ–":"beach with umbrella","๐Ÿœ":"desert","๐Ÿ":"desert island","๐Ÿž":"national park","๐ŸŸ":"stadium","๐Ÿ›":"classical building","๐Ÿ—":"building construction","๐Ÿงฑ":"brick","๐Ÿชจ":"rock","๐Ÿชต":"wood","๐Ÿ›–":"hut","๐Ÿ˜":"houses","๐Ÿš":"derelict house","๐Ÿ ":"house","๐Ÿก":"house with garden","๐Ÿข":"office building","๐Ÿฃ":"Japanese post office","๐Ÿค":"post office","๐Ÿฅ":"hospital","๐Ÿฆ":"bank","๐Ÿจ":"hotel","๐Ÿฉ":"love hotel","๐Ÿช":"convenience store","๐Ÿซ":"school","๐Ÿฌ":"department store","๐Ÿญ":"factory","๐Ÿฏ":"Japanese castle","๐Ÿฐ":"castle","๐Ÿ’’":"wedding","๐Ÿ—ผ":"Tokyo tower","๐Ÿ—ฝ":"Statue of Liberty","โ›ช":"church","๐Ÿ•Œ":"mosque","๐Ÿ›•":"hindu temple","๐Ÿ•":"synagogue","โ›ฉ":"shinto shrine","๐Ÿ•‹":"kaaba","โ›ฒ":"fountain","โ›บ":"tent","๐ŸŒ":"foggy","๐ŸŒƒ":"night with stars","๐Ÿ™":"cityscape","๐ŸŒ„":"sunrise over mountains","๐ŸŒ…":"sunrise","๐ŸŒ†":"cityscape at dusk","๐ŸŒ‡":"sunset","๐ŸŒ‰":"bridge at night","โ™จ":"hot springs","๐ŸŽ ":"carousel horse","๐Ÿ›":"playground slide","๐ŸŽก":"ferris wheel","๐ŸŽข":"roller coaster","๐Ÿ’ˆ":"barber pole","๐ŸŽช":"circus tent","๐Ÿš‚":"locomotive","๐Ÿšƒ":"railway car","๐Ÿš„":"high-speed train","๐Ÿš…":"bullet train","๐Ÿš†":"train","๐Ÿš‡":"metro","๐Ÿšˆ":"light rail","๐Ÿš‰":"station","๐ŸšŠ":"tram","๐Ÿš":"monorail","๐Ÿšž":"mountain railway","๐Ÿš‹":"tram car","๐ŸšŒ":"bus","๐Ÿš":"oncoming bus","๐ŸšŽ":"trolleybus","๐Ÿš":"minibus","๐Ÿš‘":"ambulance","๐Ÿš’":"fire engine","๐Ÿš“":"police car","๐Ÿš”":"oncoming police car","๐Ÿš•":"taxi","๐Ÿš–":"oncoming taxi","๐Ÿš—":"automobile","๐Ÿš˜":"oncoming automobile","๐Ÿš™":"sport utility vehicle","๐Ÿ›ป":"pickup truck","๐Ÿšš":"delivery truck","๐Ÿš›":"articulated lorry","๐Ÿšœ":"tractor","๐ŸŽ":"racing car","๐Ÿ":"motorcycle","๐Ÿ›ต":"motor scooter","๐Ÿฆฝ":"manual wheelchair","๐Ÿฆผ":"motorized wheelchair","๐Ÿ›บ":"auto rickshaw","๐Ÿšฒ":"bicycle","๐Ÿ›ด":"kick scooter","๐Ÿ›น":"skateboard","๐Ÿ›ผ":"roller skate","๐Ÿš":"bus stop","๐Ÿ›ฃ":"motorway","๐Ÿ›ค":"railway track","๐Ÿ›ข":"oil drum","โ›ฝ":"fuel pump","๐Ÿ›ž":"wheel","๐Ÿšจ":"police car light","๐Ÿšฅ":"horizontal traffic light","๐Ÿšฆ":"vertical traffic light","๐Ÿ›‘":"stop sign","๐Ÿšง":"construction","โš“":"anchor","๐Ÿ›Ÿ":"ring buoy","โ›ต":"sailboat","๐Ÿ›ถ":"canoe","๐Ÿšค":"speedboat","๐Ÿ›ณ":"passenger ship","โ›ด":"ferry","๐Ÿ›ฅ":"motor boat","๐Ÿšข":"ship","โœˆ":"airplane","๐Ÿ›ฉ":"small airplane","๐Ÿ›ซ":"airplane departure","๐Ÿ›ฌ":"airplane arrival","๐Ÿช‚":"parachute","๐Ÿ’บ":"seat","๐Ÿš":"helicopter","๐ŸšŸ":"suspension railway","๐Ÿš ":"mountain cableway","๐Ÿšก":"aerial tramway","๐Ÿ›ฐ":"satellite","๐Ÿš€":"rocket","๐Ÿ›ธ":"flying saucer","๐Ÿ›Ž":"bellhop bell","๐Ÿงณ":"luggage","โŒ›":"hourglass done","โณ":"hourglass not done","โŒš":"watch","โฐ":"alarm clock","โฑ":"stopwatch","โฒ":"timer clock","๐Ÿ•ฐ":"mantelpiece clock","๐Ÿ•›":"twelve oโ€™clock","๐Ÿ•ง":"twelve-thirty","๐Ÿ•":"one oโ€™clock","๐Ÿ•œ":"one-thirty","๐Ÿ•‘":"two oโ€™clock","๐Ÿ•":"two-thirty","๐Ÿ•’":"three oโ€™clock","๐Ÿ•ž":"three-thirty","๐Ÿ•“":"four oโ€™clock","๐Ÿ•Ÿ":"four-thirty","๐Ÿ•”":"five oโ€™clock","๐Ÿ• ":"five-thirty","๐Ÿ••":"six oโ€™clock","๐Ÿ•ก":"six-thirty","๐Ÿ•–":"seven oโ€™clock","๐Ÿ•ข":"seven-thirty","๐Ÿ•—":"eight oโ€™clock","๐Ÿ•ฃ":"eight-thirty","๐Ÿ•˜":"nine oโ€™clock","๐Ÿ•ค":"nine-thirty","๐Ÿ•™":"ten oโ€™clock","๐Ÿ•ฅ":"ten-thirty","๐Ÿ•š":"eleven oโ€™clock","๐Ÿ•ฆ":"eleven-thirty","๐ŸŒ‘":"new moon","๐ŸŒ’":"waxing crescent moon","๐ŸŒ“":"first quarter moon","๐ŸŒ”":"waxing gibbous moon","๐ŸŒ•":"full moon","๐ŸŒ–":"waning gibbous moon","๐ŸŒ—":"last quarter moon","๐ŸŒ˜":"waning crescent moon","๐ŸŒ™":"crescent moon","๐ŸŒš":"new moon face","๐ŸŒ›":"first quarter moon face","๐ŸŒœ":"last quarter moon face","๐ŸŒก":"thermometer","โ˜€":"sun","๐ŸŒ":"full moon face","๐ŸŒž":"sun with face","๐Ÿช":"ringed planet","โญ":"star","๐ŸŒŸ":"glowing star","๐ŸŒ ":"shooting star","๐ŸŒŒ":"milky way","โ˜":"cloud","โ›…":"sun behind cloud","โ›ˆ":"cloud with lightning and rain","๐ŸŒค":"sun behind small cloud","๐ŸŒฅ":"sun behind large cloud","๐ŸŒฆ":"sun behind rain cloud","๐ŸŒง":"cloud with rain","๐ŸŒจ":"cloud with snow","๐ŸŒฉ":"cloud with lightning","๐ŸŒช":"tornado","๐ŸŒซ":"fog","๐ŸŒฌ":"wind face","๐ŸŒ€":"cyclone","๐ŸŒˆ":"rainbow","๐ŸŒ‚":"closed umbrella","โ˜‚":"umbrella","โ˜”":"umbrella with rain drops","โ›ฑ":"umbrella on ground","โšก":"high voltage","โ„":"snowflake","โ˜ƒ":"snowman","โ›„":"snowman without snow","โ˜„":"comet","๐Ÿ”ฅ":"fire","๐Ÿ’ง":"droplet","๐ŸŒŠ":"water wave","๐ŸŽƒ":"jack-o-lantern","๐ŸŽ„":"Christmas tree","๐ŸŽ†":"fireworks","๐ŸŽ‡":"sparkler","๐Ÿงจ":"firecracker","โœจ":"sparkles","๐ŸŽˆ":"balloon","๐ŸŽ‰":"party popper","๐ŸŽŠ":"confetti ball","๐ŸŽ‹":"tanabata tree","๐ŸŽ":"pine decoration","๐ŸŽŽ":"Japanese dolls","๐ŸŽ":"carp streamer","๐ŸŽ":"wind chime","๐ŸŽ‘":"moon viewing ceremony","๐Ÿงง":"red envelope","๐ŸŽ€":"ribbon","๐ŸŽ":"wrapped gift","๐ŸŽ—":"reminder ribbon","๐ŸŽŸ":"admission tickets","๐ŸŽซ":"ticket","๐ŸŽ–":"military medal","๐Ÿ†":"trophy","๐Ÿ…":"sports medal","๐Ÿฅ‡":"1st place medal","๐Ÿฅˆ":"2nd place medal","๐Ÿฅ‰":"3rd place medal","โšฝ":"soccer ball","โšพ":"baseball","๐ŸฅŽ":"softball","๐Ÿ€":"basketball","๐Ÿ":"volleyball","๐Ÿˆ":"american football","๐Ÿ‰":"rugby football","๐ŸŽพ":"tennis","๐Ÿฅ":"flying disc","๐ŸŽณ":"bowling","๐Ÿ":"cricket game","๐Ÿ‘":"field hockey","๐Ÿ’":"ice hockey","๐Ÿฅ":"lacrosse","๐Ÿ“":"ping pong","๐Ÿธ":"badminton","๐ŸฅŠ":"boxing glove","๐Ÿฅ‹":"martial arts uniform","๐Ÿฅ…":"goal net","โ›ณ":"flag in hole","โ›ธ":"ice skate","๐ŸŽฃ":"fishing pole","๐Ÿคฟ":"diving mask","๐ŸŽฝ":"running shirt","๐ŸŽฟ":"skis","๐Ÿ›ท":"sled","๐ŸฅŒ":"curling stone","๐ŸŽฏ":"bullseye","๐Ÿช€":"yo-yo","๐Ÿช":"kite","๐Ÿ”ซ":"water pistol","๐ŸŽฑ":"pool 8 ball","๐Ÿ”ฎ":"crystal ball","๐Ÿช„":"magic wand","๐ŸŽฎ":"video game","๐Ÿ•น":"joystick","๐ŸŽฐ":"slot machine","๐ŸŽฒ":"game die","๐Ÿงฉ":"puzzle piece","๐Ÿงธ":"teddy bear","๐Ÿช…":"piรฑata","๐Ÿชฉ":"mirror ball","๐Ÿช†":"nesting dolls","โ™ ":"spade suit","โ™ฅ":"heart suit","โ™ฆ":"diamond suit","โ™ฃ":"club suit","โ™Ÿ":"chess pawn","๐Ÿƒ":"joker","๐Ÿ€„":"mahjong red dragon","๐ŸŽด":"flower playing cards","๐ŸŽญ":"performing arts","๐Ÿ–ผ":"framed picture","๐ŸŽจ":"artist palette","๐Ÿงต":"thread","๐Ÿชก":"sewing needle","๐Ÿงถ":"yarn","๐Ÿชข":"knot","๐Ÿ‘“":"glasses","๐Ÿ•ถ":"sunglasses","๐Ÿฅฝ":"goggles","๐Ÿฅผ":"lab coat","๐Ÿฆบ":"safety vest","๐Ÿ‘”":"necktie","๐Ÿ‘•":"t-shirt","๐Ÿ‘–":"jeans","๐Ÿงฃ":"scarf","๐Ÿงค":"gloves","๐Ÿงฅ":"coat","๐Ÿงฆ":"socks","๐Ÿ‘—":"dress","๐Ÿ‘˜":"kimono","๐Ÿฅป":"sari","๐Ÿฉฑ":"one-piece swimsuit","๐Ÿฉฒ":"briefs","๐Ÿฉณ":"shorts","๐Ÿ‘™":"bikini","๐Ÿ‘š":"womanโ€™s clothes","๐Ÿชญ":"folding hand fan","๐Ÿ‘›":"purse","๐Ÿ‘œ":"handbag","๐Ÿ‘":"clutch bag","๐Ÿ›":"shopping bags","๐ŸŽ’":"backpack","๐Ÿฉด":"thong sandal","๐Ÿ‘ž":"manโ€™s shoe","๐Ÿ‘Ÿ":"running shoe","๐Ÿฅพ":"hiking boot","๐Ÿฅฟ":"flat shoe","๐Ÿ‘ ":"high-heeled shoe","๐Ÿ‘ก":"womanโ€™s sandal","๐Ÿฉฐ":"ballet shoes","๐Ÿ‘ข":"womanโ€™s boot","๐Ÿชฎ":"hair pick","๐Ÿ‘‘":"crown","๐Ÿ‘’":"womanโ€™s hat","๐ŸŽฉ":"top hat","๐ŸŽ“":"graduation cap","๐Ÿงข":"billed cap","๐Ÿช–":"military helmet","โ›‘":"rescue workerโ€™s helmet","๐Ÿ“ฟ":"prayer beads","๐Ÿ’„":"lipstick","๐Ÿ’":"ring","๐Ÿ’Ž":"gem stone","๐Ÿ”‡":"muted speaker","๐Ÿ”ˆ":"speaker low volume","๐Ÿ”‰":"speaker medium volume","๐Ÿ”Š":"speaker high volume","๐Ÿ“ข":"loudspeaker","๐Ÿ“ฃ":"megaphone","๐Ÿ“ฏ":"postal horn","๐Ÿ””":"bell","๐Ÿ”•":"bell with slash","๐ŸŽผ":"musical score","๐ŸŽต":"musical note","๐ŸŽถ":"musical notes","๐ŸŽ™":"studio microphone","๐ŸŽš":"level slider","๐ŸŽ›":"control knobs","๐ŸŽค":"microphone","๐ŸŽง":"headphone","๐Ÿ“ป":"radio","๐ŸŽท":"saxophone","๐Ÿช—":"accordion","๐ŸŽธ":"guitar","๐ŸŽน":"musical keyboard","๐ŸŽบ":"trumpet","๐ŸŽป":"violin","๐Ÿช•":"banjo","๐Ÿฅ":"drum","๐Ÿช˜":"long drum","๐Ÿช‡":"maracas","๐Ÿชˆ":"flute","๐Ÿ“ฑ":"mobile phone","๐Ÿ“ฒ":"mobile phone with arrow","โ˜Ž":"telephone","๐Ÿ“ž":"telephone receiver","๐Ÿ“Ÿ":"pager","๐Ÿ“ ":"fax machine","๐Ÿ”‹":"battery","๐Ÿชซ":"low battery","๐Ÿ”Œ":"electric plug","๐Ÿ’ป":"laptop","๐Ÿ–ฅ":"desktop computer","๐Ÿ–จ":"printer","โŒจ":"keyboard","๐Ÿ–ฑ":"computer mouse","๐Ÿ–ฒ":"trackball","๐Ÿ’ฝ":"computer disk","๐Ÿ’พ":"floppy disk","๐Ÿ’ฟ":"optical disk","๐Ÿ“€":"dvd","๐Ÿงฎ":"abacus","๐ŸŽฅ":"movie camera","๐ŸŽž":"film frames","๐Ÿ“ฝ":"film projector","๐ŸŽฌ":"clapper board","๐Ÿ“บ":"television","๐Ÿ“ท":"camera","๐Ÿ“ธ":"camera with flash","๐Ÿ“น":"video camera","๐Ÿ“ผ":"videocassette","๐Ÿ”":"magnifying glass tilted left","๐Ÿ”Ž":"magnifying glass tilted right","๐Ÿ•ฏ":"candle","๐Ÿ’ก":"light bulb","๐Ÿ”ฆ":"flashlight","๐Ÿฎ":"red paper lantern","๐Ÿช”":"diya lamp","๐Ÿ“”":"notebook with decorative cover","๐Ÿ“•":"closed book","๐Ÿ“–":"open book","๐Ÿ“—":"green book","๐Ÿ“˜":"blue book","๐Ÿ“™":"orange book","๐Ÿ“š":"books","๐Ÿ““":"notebook","๐Ÿ“’":"ledger","๐Ÿ“ƒ":"page with curl","๐Ÿ“œ":"scroll","๐Ÿ“„":"page facing up","๐Ÿ“ฐ":"newspaper","๐Ÿ—ž":"rolled-up newspaper","๐Ÿ“‘":"bookmark tabs","๐Ÿ”–":"bookmark","๐Ÿท":"label","๐Ÿ’ฐ":"money bag","๐Ÿช™":"coin","๐Ÿ’ด":"yen banknote","๐Ÿ’ต":"dollar banknote","๐Ÿ’ถ":"euro banknote","๐Ÿ’ท":"pound banknote","๐Ÿ’ธ":"money with wings","๐Ÿ’ณ":"credit card","๐Ÿงพ":"receipt","๐Ÿ’น":"chart increasing with yen","โœ‰":"envelope","๐Ÿ“ง":"e-mail","๐Ÿ“จ":"incoming envelope","๐Ÿ“ฉ":"envelope with arrow","๐Ÿ“ค":"outbox tray","๐Ÿ“ฅ":"inbox tray","๐Ÿ“ฆ":"package","๐Ÿ“ซ":"closed mailbox with raised flag","๐Ÿ“ช":"closed mailbox with lowered flag","๐Ÿ“ฌ":"open mailbox with raised flag","๐Ÿ“ญ":"open mailbox with lowered flag","๐Ÿ“ฎ":"postbox","๐Ÿ—ณ":"ballot box with ballot","โœ":"pencil","โœ’":"black nib","๐Ÿ–‹":"fountain pen","๐Ÿ–Š":"pen","๐Ÿ–Œ":"paintbrush","๐Ÿ–":"crayon","๐Ÿ“":"memo","๐Ÿ’ผ":"briefcase","๐Ÿ“":"file folder","๐Ÿ“‚":"open file folder","๐Ÿ—‚":"card index dividers","๐Ÿ“…":"calendar","๐Ÿ“†":"tear-off calendar","๐Ÿ—’":"spiral notepad","๐Ÿ—“":"spiral calendar","๐Ÿ“‡":"card index","๐Ÿ“ˆ":"chart increasing","๐Ÿ“‰":"chart decreasing","๐Ÿ“Š":"bar chart","๐Ÿ“‹":"clipboard","๐Ÿ“Œ":"pushpin","๐Ÿ“":"round pushpin","๐Ÿ“Ž":"paperclip","๐Ÿ–‡":"linked paperclips","๐Ÿ“":"straight ruler","๐Ÿ“":"triangular ruler","โœ‚":"scissors","๐Ÿ—ƒ":"card file box","๐Ÿ—„":"file cabinet","๐Ÿ—‘":"wastebasket","๐Ÿ”’":"locked","๐Ÿ”“":"unlocked","๐Ÿ”":"locked with pen","๐Ÿ”":"locked with key","๐Ÿ”‘":"key","๐Ÿ—":"old key","๐Ÿ”จ":"hammer","๐Ÿช“":"axe","โ›":"pick","โš’":"hammer and pick","๐Ÿ› ":"hammer and wrench","๐Ÿ—ก":"dagger","โš”":"crossed swords","๐Ÿ’ฃ":"bomb","๐Ÿชƒ":"boomerang","๐Ÿน":"bow and arrow","๐Ÿ›ก":"shield","๐Ÿชš":"carpentry saw","๐Ÿ”ง":"wrench","๐Ÿช›":"screwdriver","๐Ÿ”ฉ":"nut and bolt","โš™":"gear","๐Ÿ—œ":"clamp","โš–":"balance scale","๐Ÿฆฏ":"white cane","๐Ÿ”—":"link","โ›“":"chains","๐Ÿช":"hook","๐Ÿงฐ":"toolbox","๐Ÿงฒ":"magnet","๐Ÿชœ":"ladder","โš—":"alembic","๐Ÿงช":"test tube","๐Ÿงซ":"petri dish","๐Ÿงฌ":"dna","๐Ÿ”ฌ":"microscope","๐Ÿ”ญ":"telescope","๐Ÿ“ก":"satellite antenna","๐Ÿ’‰":"syringe","๐Ÿฉธ":"drop of blood","๐Ÿ’Š":"pill","๐Ÿฉน":"adhesive bandage","๐Ÿฉผ":"crutch","๐Ÿฉบ":"stethoscope","๐Ÿฉป":"x-ray","๐Ÿšช":"door","๐Ÿ›—":"elevator","๐Ÿชž":"mirror","๐ŸชŸ":"window","๐Ÿ›":"bed","๐Ÿ›‹":"couch and lamp","๐Ÿช‘":"chair","๐Ÿšฝ":"toilet","๐Ÿช ":"plunger","๐Ÿšฟ":"shower","๐Ÿ›":"bathtub","๐Ÿชค":"mouse trap","๐Ÿช’":"razor","๐Ÿงด":"lotion bottle","๐Ÿงท":"safety pin","๐Ÿงน":"broom","๐Ÿงบ":"basket","๐Ÿงป":"roll of paper","๐Ÿชฃ":"bucket","๐Ÿงผ":"soap","๐Ÿซง":"bubbles","๐Ÿชฅ":"toothbrush","๐Ÿงฝ":"sponge","๐Ÿงฏ":"fire extinguisher","๐Ÿ›’":"shopping cart","๐Ÿšฌ":"cigarette","โšฐ":"coffin","๐Ÿชฆ":"headstone","โšฑ":"funeral urn","๐Ÿงฟ":"nazar amulet","๐Ÿชฌ":"hamsa","๐Ÿ—ฟ":"moai","๐Ÿชง":"placard","๐Ÿชช":"identification card","๐Ÿง":"ATM sign","๐Ÿšฎ":"litter in bin sign","๐Ÿšฐ":"potable water","โ™ฟ":"wheelchair symbol","๐Ÿšน":"menโ€™s room","๐Ÿšบ":"womenโ€™s room","๐Ÿšป":"restroom","๐Ÿšผ":"baby symbol","๐Ÿšพ":"water closet","๐Ÿ›‚":"passport control","๐Ÿ›ƒ":"customs","๐Ÿ›„":"baggage claim","๐Ÿ›…":"left luggage","โš ":"warning","๐Ÿšธ":"children crossing","โ›”":"no entry","๐Ÿšซ":"prohibited","๐Ÿšณ":"no bicycles","๐Ÿšญ":"no smoking","๐Ÿšฏ":"no littering","๐Ÿšฑ":"non-potable water","๐Ÿšท":"no pedestrians","๐Ÿ“ต":"no mobile phones","๐Ÿ”ž":"no one under eighteen","โ˜ข":"radioactive","โ˜ฃ":"biohazard","โฌ†":"up arrow","โ†—":"up-right arrow","โžก":"right arrow","โ†˜":"down-right arrow","โฌ‡":"down arrow","โ†™":"down-left arrow","โฌ…":"left arrow","โ†–":"up-left arrow","โ†•":"up-down arrow","โ†”":"left-right arrow","โ†ฉ":"right arrow curving left","โ†ช":"left arrow curving right","โคด":"right arrow curving up","โคต":"right arrow curving down","๐Ÿ”ƒ":"clockwise vertical arrows","๐Ÿ”„":"counterclockwise arrows button","๐Ÿ”™":"BACK arrow","๐Ÿ”š":"END arrow","๐Ÿ”›":"ON! arrow","๐Ÿ”œ":"SOON arrow","๐Ÿ”":"TOP arrow","๐Ÿ›":"place of worship","โš›":"atom symbol","๐Ÿ•‰":"om","โœก":"star of David","โ˜ธ":"wheel of dharma","โ˜ฏ":"yin yang","โœ":"latin cross","โ˜ฆ":"orthodox cross","โ˜ช":"star and crescent","โ˜ฎ":"peace symbol","๐Ÿ•Ž":"menorah","๐Ÿ”ฏ":"dotted six-pointed star","๐Ÿชฏ":"khanda","โ™ˆ":"Aries","โ™‰":"Taurus","โ™Š":"Gemini","โ™‹":"Cancer","โ™Œ":"Leo","โ™":"Virgo","โ™Ž":"Libra","โ™":"Scorpio","โ™":"Sagittarius","โ™‘":"Capricorn","โ™’":"Aquarius","โ™“":"Pisces","โ›Ž":"Ophiuchus","๐Ÿ”€":"shuffle tracks button","๐Ÿ”":"repeat button","๐Ÿ”‚":"repeat single button","โ–ถ":"play button","โฉ":"fast-forward button","โญ":"next track button","โฏ":"play or pause button","โ—€":"reverse button","โช":"fast reverse button","โฎ":"last track button","๐Ÿ”ผ":"upwards button","โซ":"fast up button","๐Ÿ”ฝ":"downwards button","โฌ":"fast down button","โธ":"pause button","โน":"stop button","โบ":"record button","โ":"eject button","๐ŸŽฆ":"cinema","๐Ÿ”…":"dim button","๐Ÿ”†":"bright button","๐Ÿ“ถ":"antenna bars","๐Ÿ›œ":"wireless","๐Ÿ“ณ":"vibration mode","๐Ÿ“ด":"mobile phone off","โ™€":"female sign","โ™‚":"male sign","โšง":"transgender symbol","โœ–":"multiply","โž•":"plus","โž–":"minus","โž—":"divide","๐ŸŸฐ":"heavy equals sign","โ™พ":"infinity","โ€ผ":"double exclamation mark","โ‰":"exclamation question mark","โ“":"red question mark","โ”":"white question mark","โ•":"white exclamation mark","โ—":"red exclamation mark","ใ€ฐ":"wavy dash","๐Ÿ’ฑ":"currency exchange","๐Ÿ’ฒ":"heavy dollar sign","โš•":"medical symbol","โ™ป":"recycling symbol","โšœ":"fleur-de-lis","๐Ÿ”ฑ":"trident emblem","๐Ÿ“›":"name badge","๐Ÿ”ฐ":"Japanese symbol for beginner","โญ•":"hollow red circle","โœ…":"check mark button","โ˜‘":"check box with check","โœ”":"check mark","โŒ":"cross mark","โŽ":"cross mark button","โžฐ":"curly loop","โžฟ":"double curly loop","ใ€ฝ":"part alternation mark","โœณ":"eight-spoked asterisk","โœด":"eight-pointed star","โ‡":"sparkle","ยฉ":"copyright","ยฎ":"registered","โ„ข":"trade mark","#โƒฃ":"keycap: #","*โƒฃ":"keycap: *","0โƒฃ":"keycap: 0","1โƒฃ":"keycap: 1","2โƒฃ":"keycap: 2","3โƒฃ":"keycap: 3","4โƒฃ":"keycap: 4","5โƒฃ":"keycap: 5","6โƒฃ":"keycap: 6","7โƒฃ":"keycap: 7","8โƒฃ":"keycap: 8","9โƒฃ":"keycap: 9","๐Ÿ”Ÿ":"keycap: 10","๐Ÿ” ":"input latin uppercase","๐Ÿ”ก":"input latin lowercase","๐Ÿ”ข":"input numbers","๐Ÿ”ฃ":"input symbols","๐Ÿ”ค":"input latin letters","๐Ÿ…ฐ":"A button (blood type)","๐Ÿ†Ž":"AB button (blood type)","๐Ÿ…ฑ":"B button (blood type)","๐Ÿ†‘":"CL button","๐Ÿ†’":"COOL button","๐Ÿ†“":"FREE button","โ„น":"information","๐Ÿ†”":"ID button","โ“‚":"circled M","๐Ÿ†•":"NEW button","๐Ÿ†–":"NG button","๐Ÿ…พ":"O button (blood type)","๐Ÿ†—":"OK button","๐Ÿ…ฟ":"P button","๐Ÿ†˜":"SOS button","๐Ÿ†™":"UP! button","๐Ÿ†š":"VS button","๐Ÿˆ":"Japanese โ€œhereโ€ button","๐Ÿˆ‚":"Japanese โ€œservice chargeโ€ button","๐Ÿˆท":"Japanese โ€œmonthly amountโ€ button","๐Ÿˆถ":"Japanese โ€œnot free of chargeโ€ button","๐Ÿˆฏ":"Japanese โ€œreservedโ€ button","๐Ÿ‰":"Japanese โ€œbargainโ€ button","๐Ÿˆน":"Japanese โ€œdiscountโ€ button","๐Ÿˆš":"Japanese โ€œfree of chargeโ€ button","๐Ÿˆฒ":"Japanese โ€œprohibitedโ€ button","๐Ÿ‰‘":"Japanese โ€œacceptableโ€ button","๐Ÿˆธ":"Japanese โ€œapplicationโ€ button","๐Ÿˆด":"Japanese โ€œpassing gradeโ€ button","๐Ÿˆณ":"Japanese โ€œvacancyโ€ button","ใŠ—":"Japanese โ€œcongratulationsโ€ button","ใŠ™":"Japanese โ€œsecretโ€ button","๐Ÿˆบ":"Japanese โ€œopen for businessโ€ button","๐Ÿˆต":"Japanese โ€œno vacancyโ€ button","๐Ÿ”ด":"red circle","๐ŸŸ ":"orange circle","๐ŸŸก":"yellow circle","๐ŸŸข":"green circle","๐Ÿ”ต":"blue circle","๐ŸŸฃ":"purple circle","๐ŸŸค":"brown circle","โšซ":"black circle","โšช":"white circle","๐ŸŸฅ":"red square","๐ŸŸง":"orange square","๐ŸŸจ":"yellow square","๐ŸŸฉ":"green square","๐ŸŸฆ":"blue square","๐ŸŸช":"purple square","๐ŸŸซ":"brown square","โฌ›":"black large square","โฌœ":"white large square","โ—ผ":"black medium square","โ—ป":"white medium square","โ—พ":"black medium-small square","โ—ฝ":"white medium-small square","โ–ช":"black small square","โ–ซ":"white small square","๐Ÿ”ถ":"large orange diamond","๐Ÿ”ท":"large blue diamond","๐Ÿ”ธ":"small orange diamond","๐Ÿ”น":"small blue diamond","๐Ÿ”บ":"red triangle pointed up","๐Ÿ”ป":"red triangle pointed down","๐Ÿ’ ":"diamond with a dot","๐Ÿ”˜":"radio button","๐Ÿ”ณ":"white square button","๐Ÿ”ฒ":"black square button","๐Ÿ":"chequered flag","๐Ÿšฉ":"triangular flag","๐ŸŽŒ":"crossed flags","๐Ÿด":"black flag","๐Ÿณ":"white flag","๐Ÿณโ€๐ŸŒˆ":"rainbow flag","๐Ÿณโ€โšง":"transgender flag","๐Ÿดโ€โ˜ ":"pirate flag","๐Ÿ‡ฆ๐Ÿ‡จ":"flag: Ascension Island","๐Ÿ‡ฆ๐Ÿ‡ฉ":"flag: Andorra","๐Ÿ‡ฆ๐Ÿ‡ช":"flag: United Arab Emirates","๐Ÿ‡ฆ๐Ÿ‡ซ":"flag: Afghanistan","๐Ÿ‡ฆ๐Ÿ‡ฌ":"flag: Antigua & Barbuda","๐Ÿ‡ฆ๐Ÿ‡ฎ":"flag: Anguilla","๐Ÿ‡ฆ๐Ÿ‡ฑ":"flag: Albania","๐Ÿ‡ฆ๐Ÿ‡ฒ":"flag: Armenia","๐Ÿ‡ฆ๐Ÿ‡ด":"flag: Angola","๐Ÿ‡ฆ๐Ÿ‡ถ":"flag: Antarctica","๐Ÿ‡ฆ๐Ÿ‡ท":"flag: Argentina","๐Ÿ‡ฆ๐Ÿ‡ธ":"flag: American Samoa","๐Ÿ‡ฆ๐Ÿ‡น":"flag: Austria","๐Ÿ‡ฆ๐Ÿ‡บ":"flag: Australia","๐Ÿ‡ฆ๐Ÿ‡ผ":"flag: Aruba","๐Ÿ‡ฆ๐Ÿ‡ฝ":"flag: ร…land Islands","๐Ÿ‡ฆ๐Ÿ‡ฟ":"flag: Azerbaijan","๐Ÿ‡ง๐Ÿ‡ฆ":"flag: Bosnia & Herzegovina","๐Ÿ‡ง๐Ÿ‡ง":"flag: Barbados","๐Ÿ‡ง๐Ÿ‡ฉ":"flag: Bangladesh","๐Ÿ‡ง๐Ÿ‡ช":"flag: Belgium","๐Ÿ‡ง๐Ÿ‡ซ":"flag: Burkina Faso","๐Ÿ‡ง๐Ÿ‡ฌ":"flag: Bulgaria","๐Ÿ‡ง๐Ÿ‡ญ":"flag: Bahrain","๐Ÿ‡ง๐Ÿ‡ฎ":"flag: Burundi","๐Ÿ‡ง๐Ÿ‡ฏ":"flag: Benin","๐Ÿ‡ง๐Ÿ‡ฑ":"flag: St. Barthรฉlemy","๐Ÿ‡ง๐Ÿ‡ฒ":"flag: Bermuda","๐Ÿ‡ง๐Ÿ‡ณ":"flag: Brunei","๐Ÿ‡ง๐Ÿ‡ด":"flag: Bolivia","๐Ÿ‡ง๐Ÿ‡ถ":"flag: Caribbean Netherlands","๐Ÿ‡ง๐Ÿ‡ท":"flag: Brazil","๐Ÿ‡ง๐Ÿ‡ธ":"flag: Bahamas","๐Ÿ‡ง๐Ÿ‡น":"flag: Bhutan","๐Ÿ‡ง๐Ÿ‡ป":"flag: Bouvet Island","๐Ÿ‡ง๐Ÿ‡ผ":"flag: Botswana","๐Ÿ‡ง๐Ÿ‡พ":"flag: Belarus","๐Ÿ‡ง๐Ÿ‡ฟ":"flag: Belize","๐Ÿ‡จ๐Ÿ‡ฆ":"flag: Canada","๐Ÿ‡จ๐Ÿ‡จ":"flag: Cocos (Keeling) Islands","๐Ÿ‡จ๐Ÿ‡ฉ":"flag: Congo - Kinshasa","๐Ÿ‡จ๐Ÿ‡ซ":"flag: Central African Republic","๐Ÿ‡จ๐Ÿ‡ฌ":"flag: Congo - Brazzaville","๐Ÿ‡จ๐Ÿ‡ญ":"flag: Switzerland","๐Ÿ‡จ๐Ÿ‡ฎ":"flag: Cรดte dโ€™Ivoire","๐Ÿ‡จ๐Ÿ‡ฐ":"flag: Cook Islands","๐Ÿ‡จ๐Ÿ‡ฑ":"flag: Chile","๐Ÿ‡จ๐Ÿ‡ฒ":"flag: Cameroon","๐Ÿ‡จ๐Ÿ‡ณ":"flag: China","๐Ÿ‡จ๐Ÿ‡ด":"flag: Colombia","๐Ÿ‡จ๐Ÿ‡ต":"flag: Clipperton Island","๐Ÿ‡จ๐Ÿ‡ท":"flag: Costa Rica","๐Ÿ‡จ๐Ÿ‡บ":"flag: Cuba","๐Ÿ‡จ๐Ÿ‡ป":"flag: Cape Verde","๐Ÿ‡จ๐Ÿ‡ผ":"flag: Curaรงao","๐Ÿ‡จ๐Ÿ‡ฝ":"flag: Christmas Island","๐Ÿ‡จ๐Ÿ‡พ":"flag: Cyprus","๐Ÿ‡จ๐Ÿ‡ฟ":"flag: Czechia","๐Ÿ‡ฉ๐Ÿ‡ช":"flag: Germany","๐Ÿ‡ฉ๐Ÿ‡ฌ":"flag: Diego Garcia","๐Ÿ‡ฉ๐Ÿ‡ฏ":"flag: Djibouti","๐Ÿ‡ฉ๐Ÿ‡ฐ":"flag: Denmark","๐Ÿ‡ฉ๐Ÿ‡ฒ":"flag: Dominica","๐Ÿ‡ฉ๐Ÿ‡ด":"flag: Dominican Republic","๐Ÿ‡ฉ๐Ÿ‡ฟ":"flag: Algeria","๐Ÿ‡ช๐Ÿ‡ฆ":"flag: Ceuta & Melilla","๐Ÿ‡ช๐Ÿ‡จ":"flag: Ecuador","๐Ÿ‡ช๐Ÿ‡ช":"flag: Estonia","๐Ÿ‡ช๐Ÿ‡ฌ":"flag: Egypt","๐Ÿ‡ช๐Ÿ‡ญ":"flag: Western Sahara","๐Ÿ‡ช๐Ÿ‡ท":"flag: Eritrea","๐Ÿ‡ช๐Ÿ‡ธ":"flag: Spain","๐Ÿ‡ช๐Ÿ‡น":"flag: Ethiopia","๐Ÿ‡ช๐Ÿ‡บ":"flag: European Union","๐Ÿ‡ซ๐Ÿ‡ฎ":"flag: Finland","๐Ÿ‡ซ๐Ÿ‡ฏ":"flag: Fiji","๐Ÿ‡ซ๐Ÿ‡ฐ":"flag: Falkland Islands","๐Ÿ‡ซ๐Ÿ‡ฒ":"flag: Micronesia","๐Ÿ‡ซ๐Ÿ‡ด":"flag: Faroe Islands","๐Ÿ‡ซ๐Ÿ‡ท":"flag: France","๐Ÿ‡ฌ๐Ÿ‡ฆ":"flag: Gabon","๐Ÿ‡ฌ๐Ÿ‡ง":"flag: United Kingdom","๐Ÿ‡ฌ๐Ÿ‡ฉ":"flag: Grenada","๐Ÿ‡ฌ๐Ÿ‡ช":"flag: Georgia","๐Ÿ‡ฌ๐Ÿ‡ซ":"flag: French Guiana","๐Ÿ‡ฌ๐Ÿ‡ฌ":"flag: Guernsey","๐Ÿ‡ฌ๐Ÿ‡ญ":"flag: Ghana","๐Ÿ‡ฌ๐Ÿ‡ฎ":"flag: Gibraltar","๐Ÿ‡ฌ๐Ÿ‡ฑ":"flag: Greenland","๐Ÿ‡ฌ๐Ÿ‡ฒ":"flag: Gambia","๐Ÿ‡ฌ๐Ÿ‡ณ":"flag: Guinea","๐Ÿ‡ฌ๐Ÿ‡ต":"flag: Guadeloupe","๐Ÿ‡ฌ๐Ÿ‡ถ":"flag: Equatorial Guinea","๐Ÿ‡ฌ๐Ÿ‡ท":"flag: Greece","๐Ÿ‡ฌ๐Ÿ‡ธ":"flag: South Georgia & South Sandwich Islands","๐Ÿ‡ฌ๐Ÿ‡น":"flag: Guatemala","๐Ÿ‡ฌ๐Ÿ‡บ":"flag: Guam","๐Ÿ‡ฌ๐Ÿ‡ผ":"flag: Guinea-Bissau","๐Ÿ‡ฌ๐Ÿ‡พ":"flag: Guyana","๐Ÿ‡ญ๐Ÿ‡ฐ":"flag: Hong Kong SAR China","๐Ÿ‡ญ๐Ÿ‡ฒ":"flag: Heard & McDonald Islands","๐Ÿ‡ญ๐Ÿ‡ณ":"flag: Honduras","๐Ÿ‡ญ๐Ÿ‡ท":"flag: Croatia","๐Ÿ‡ญ๐Ÿ‡น":"flag: Haiti","๐Ÿ‡ญ๐Ÿ‡บ":"flag: Hungary","๐Ÿ‡ฎ๐Ÿ‡จ":"flag: Canary Islands","๐Ÿ‡ฎ๐Ÿ‡ฉ":"flag: Indonesia","๐Ÿ‡ฎ๐Ÿ‡ช":"flag: Ireland","๐Ÿ‡ฎ๐Ÿ‡ฑ":"flag: Israel","๐Ÿ‡ฎ๐Ÿ‡ฒ":"flag: Isle of Man","๐Ÿ‡ฎ๐Ÿ‡ณ":"flag: India","๐Ÿ‡ฎ๐Ÿ‡ด":"flag: British Indian Ocean Territory","๐Ÿ‡ฎ๐Ÿ‡ถ":"flag: Iraq","๐Ÿ‡ฎ๐Ÿ‡ท":"flag: Iran","๐Ÿ‡ฎ๐Ÿ‡ธ":"flag: Iceland","๐Ÿ‡ฎ๐Ÿ‡น":"flag: Italy","๐Ÿ‡ฏ๐Ÿ‡ช":"flag: Jersey","๐Ÿ‡ฏ๐Ÿ‡ฒ":"flag: Jamaica","๐Ÿ‡ฏ๐Ÿ‡ด":"flag: Jordan","๐Ÿ‡ฏ๐Ÿ‡ต":"flag: Japan","๐Ÿ‡ฐ๐Ÿ‡ช":"flag: Kenya","๐Ÿ‡ฐ๐Ÿ‡ฌ":"flag: Kyrgyzstan","๐Ÿ‡ฐ๐Ÿ‡ญ":"flag: Cambodia","๐Ÿ‡ฐ๐Ÿ‡ฎ":"flag: Kiribati","๐Ÿ‡ฐ๐Ÿ‡ฒ":"flag: Comoros","๐Ÿ‡ฐ๐Ÿ‡ณ":"flag: St. Kitts & Nevis","๐Ÿ‡ฐ๐Ÿ‡ต":"flag: North Korea","๐Ÿ‡ฐ๐Ÿ‡ท":"flag: South Korea","๐Ÿ‡ฐ๐Ÿ‡ผ":"flag: Kuwait","๐Ÿ‡ฐ๐Ÿ‡พ":"flag: Cayman Islands","๐Ÿ‡ฐ๐Ÿ‡ฟ":"flag: Kazakhstan","๐Ÿ‡ฑ๐Ÿ‡ฆ":"flag: Laos","๐Ÿ‡ฑ๐Ÿ‡ง":"flag: Lebanon","๐Ÿ‡ฑ๐Ÿ‡จ":"flag: St. Lucia","๐Ÿ‡ฑ๐Ÿ‡ฎ":"flag: Liechtenstein","๐Ÿ‡ฑ๐Ÿ‡ฐ":"flag: Sri Lanka","๐Ÿ‡ฑ๐Ÿ‡ท":"flag: Liberia","๐Ÿ‡ฑ๐Ÿ‡ธ":"flag: Lesotho","๐Ÿ‡ฑ๐Ÿ‡น":"flag: Lithuania","๐Ÿ‡ฑ๐Ÿ‡บ":"flag: Luxembourg","๐Ÿ‡ฑ๐Ÿ‡ป":"flag: Latvia","๐Ÿ‡ฑ๐Ÿ‡พ":"flag: Libya","๐Ÿ‡ฒ๐Ÿ‡ฆ":"flag: Morocco","๐Ÿ‡ฒ๐Ÿ‡จ":"flag: Monaco","๐Ÿ‡ฒ๐Ÿ‡ฉ":"flag: Moldova","๐Ÿ‡ฒ๐Ÿ‡ช":"flag: Montenegro","๐Ÿ‡ฒ๐Ÿ‡ซ":"flag: St. Martin","๐Ÿ‡ฒ๐Ÿ‡ฌ":"flag: Madagascar","๐Ÿ‡ฒ๐Ÿ‡ญ":"flag: Marshall Islands","๐Ÿ‡ฒ๐Ÿ‡ฐ":"flag: North Macedonia","๐Ÿ‡ฒ๐Ÿ‡ฑ":"flag: Mali","๐Ÿ‡ฒ๐Ÿ‡ฒ":"flag: Myanmar (Burma)","๐Ÿ‡ฒ๐Ÿ‡ณ":"flag: Mongolia","๐Ÿ‡ฒ๐Ÿ‡ด":"flag: Macao SAR China","๐Ÿ‡ฒ๐Ÿ‡ต":"flag: Northern Mariana Islands","๐Ÿ‡ฒ๐Ÿ‡ถ":"flag: Martinique","๐Ÿ‡ฒ๐Ÿ‡ท":"flag: Mauritania","๐Ÿ‡ฒ๐Ÿ‡ธ":"flag: Montserrat","๐Ÿ‡ฒ๐Ÿ‡น":"flag: Malta","๐Ÿ‡ฒ๐Ÿ‡บ":"flag: Mauritius","๐Ÿ‡ฒ๐Ÿ‡ป":"flag: Maldives","๐Ÿ‡ฒ๐Ÿ‡ผ":"flag: Malawi","๐Ÿ‡ฒ๐Ÿ‡ฝ":"flag: Mexico","๐Ÿ‡ฒ๐Ÿ‡พ":"flag: Malaysia","๐Ÿ‡ฒ๐Ÿ‡ฟ":"flag: Mozambique","๐Ÿ‡ณ๐Ÿ‡ฆ":"flag: Namibia","๐Ÿ‡ณ๐Ÿ‡จ":"flag: New Caledonia","๐Ÿ‡ณ๐Ÿ‡ช":"flag: Niger","๐Ÿ‡ณ๐Ÿ‡ซ":"flag: Norfolk Island","๐Ÿ‡ณ๐Ÿ‡ฌ":"flag: Nigeria","๐Ÿ‡ณ๐Ÿ‡ฎ":"flag: Nicaragua","๐Ÿ‡ณ๐Ÿ‡ฑ":"flag: Netherlands","๐Ÿ‡ณ๐Ÿ‡ด":"flag: Norway","๐Ÿ‡ณ๐Ÿ‡ต":"flag: Nepal","๐Ÿ‡ณ๐Ÿ‡ท":"flag: Nauru","๐Ÿ‡ณ๐Ÿ‡บ":"flag: Niue","๐Ÿ‡ณ๐Ÿ‡ฟ":"flag: New Zealand","๐Ÿ‡ด๐Ÿ‡ฒ":"flag: Oman","๐Ÿ‡ต๐Ÿ‡ฆ":"flag: Panama","๐Ÿ‡ต๐Ÿ‡ช":"flag: Peru","๐Ÿ‡ต๐Ÿ‡ซ":"flag: French Polynesia","๐Ÿ‡ต๐Ÿ‡ฌ":"flag: Papua New Guinea","๐Ÿ‡ต๐Ÿ‡ญ":"flag: Philippines","๐Ÿ‡ต๐Ÿ‡ฐ":"flag: Pakistan","๐Ÿ‡ต๐Ÿ‡ฑ":"flag: Poland","๐Ÿ‡ต๐Ÿ‡ฒ":"flag: St. Pierre & Miquelon","๐Ÿ‡ต๐Ÿ‡ณ":"flag: Pitcairn Islands","๐Ÿ‡ต๐Ÿ‡ท":"flag: Puerto Rico","๐Ÿ‡ต๐Ÿ‡ธ":"flag: Palestinian Territories","๐Ÿ‡ต๐Ÿ‡น":"flag: Portugal","๐Ÿ‡ต๐Ÿ‡ผ":"flag: Palau","๐Ÿ‡ต๐Ÿ‡พ":"flag: Paraguay","๐Ÿ‡ถ๐Ÿ‡ฆ":"flag: Qatar","๐Ÿ‡ท๐Ÿ‡ช":"flag: Rรฉunion","๐Ÿ‡ท๐Ÿ‡ด":"flag: Romania","๐Ÿ‡ท๐Ÿ‡ธ":"flag: Serbia","๐Ÿ‡ท๐Ÿ‡บ":"flag: Russia","๐Ÿ‡ท๐Ÿ‡ผ":"flag: Rwanda","๐Ÿ‡ธ๐Ÿ‡ฆ":"flag: Saudi Arabia","๐Ÿ‡ธ๐Ÿ‡ง":"flag: Solomon Islands","๐Ÿ‡ธ๐Ÿ‡จ":"flag: Seychelles","๐Ÿ‡ธ๐Ÿ‡ฉ":"flag: Sudan","๐Ÿ‡ธ๐Ÿ‡ช":"flag: Sweden","๐Ÿ‡ธ๐Ÿ‡ฌ":"flag: Singapore","๐Ÿ‡ธ๐Ÿ‡ญ":"flag: St. Helena","๐Ÿ‡ธ๐Ÿ‡ฎ":"flag: Slovenia","๐Ÿ‡ธ๐Ÿ‡ฏ":"flag: Svalbard & Jan Mayen","๐Ÿ‡ธ๐Ÿ‡ฐ":"flag: Slovakia","๐Ÿ‡ธ๐Ÿ‡ฑ":"flag: Sierra Leone","๐Ÿ‡ธ๐Ÿ‡ฒ":"flag: San Marino","๐Ÿ‡ธ๐Ÿ‡ณ":"flag: Senegal","๐Ÿ‡ธ๐Ÿ‡ด":"flag: Somalia","๐Ÿ‡ธ๐Ÿ‡ท":"flag: Suriname","๐Ÿ‡ธ๐Ÿ‡ธ":"flag: South Sudan","๐Ÿ‡ธ๐Ÿ‡น":"flag: Sรฃo Tomรฉ & Prรญncipe","๐Ÿ‡ธ๐Ÿ‡ป":"flag: El Salvador","๐Ÿ‡ธ๐Ÿ‡ฝ":"flag: Sint Maarten","๐Ÿ‡ธ๐Ÿ‡พ":"flag: Syria","๐Ÿ‡ธ๐Ÿ‡ฟ":"flag: Eswatini","๐Ÿ‡น๐Ÿ‡ฆ":"flag: Tristan da Cunha","๐Ÿ‡น๐Ÿ‡จ":"flag: Turks & Caicos Islands","๐Ÿ‡น๐Ÿ‡ฉ":"flag: Chad","๐Ÿ‡น๐Ÿ‡ซ":"flag: French Southern Territories","๐Ÿ‡น๐Ÿ‡ฌ":"flag: Togo","๐Ÿ‡น๐Ÿ‡ญ":"flag: Thailand","๐Ÿ‡น๐Ÿ‡ฏ":"flag: Tajikistan","๐Ÿ‡น๐Ÿ‡ฐ":"flag: Tokelau","๐Ÿ‡น๐Ÿ‡ฑ":"flag: Timor-Leste","๐Ÿ‡น๐Ÿ‡ฒ":"flag: Turkmenistan","๐Ÿ‡น๐Ÿ‡ณ":"flag: Tunisia","๐Ÿ‡น๐Ÿ‡ด":"flag: Tonga","๐Ÿ‡น๐Ÿ‡ท":"flag: Turkey","๐Ÿ‡น๐Ÿ‡น":"flag: Trinidad & Tobago","๐Ÿ‡น๐Ÿ‡ป":"flag: Tuvalu","๐Ÿ‡น๐Ÿ‡ผ":"flag: Taiwan","๐Ÿ‡น๐Ÿ‡ฟ":"flag: Tanzania","๐Ÿ‡บ๐Ÿ‡ฆ":"flag: Ukraine","๐Ÿ‡บ๐Ÿ‡ฌ":"flag: Uganda","๐Ÿ‡บ๐Ÿ‡ฒ":"flag: U.S. Outlying Islands","๐Ÿ‡บ๐Ÿ‡ณ":"flag: United Nations","๐Ÿ‡บ๐Ÿ‡ธ":"flag: United States","๐Ÿ‡บ๐Ÿ‡พ":"flag: Uruguay","๐Ÿ‡บ๐Ÿ‡ฟ":"flag: Uzbekistan","๐Ÿ‡ป๐Ÿ‡ฆ":"flag: Vatican City","๐Ÿ‡ป๐Ÿ‡จ":"flag: St. Vincent & Grenadines","๐Ÿ‡ป๐Ÿ‡ช":"flag: Venezuela","๐Ÿ‡ป๐Ÿ‡ฌ":"flag: British Virgin Islands","๐Ÿ‡ป๐Ÿ‡ฎ":"flag: U.S. Virgin Islands","๐Ÿ‡ป๐Ÿ‡ณ":"flag: Vietnam","๐Ÿ‡ป๐Ÿ‡บ":"flag: Vanuatu","๐Ÿ‡ผ๐Ÿ‡ซ":"flag: Wallis & Futuna","๐Ÿ‡ผ๐Ÿ‡ธ":"flag: Samoa","๐Ÿ‡ฝ๐Ÿ‡ฐ":"flag: Kosovo","๐Ÿ‡พ๐Ÿ‡ช":"flag: Yemen","๐Ÿ‡พ๐Ÿ‡น":"flag: Mayotte","๐Ÿ‡ฟ๐Ÿ‡ฆ":"flag: South Africa","๐Ÿ‡ฟ๐Ÿ‡ฒ":"flag: Zambia","๐Ÿ‡ฟ๐Ÿ‡ผ":"flag: Zimbabwe","๐Ÿด๓ ง๓ ข๓ ฅ๓ ฎ๓ ง๓ ฟ":"flag: England","๐Ÿด๓ ง๓ ข๓ ณ๓ ฃ๓ ด๓ ฟ":"flag: Scotland","๐Ÿด๓ ง๓ ข๓ ท๓ ฌ๓ ณ๓ ฟ":"flag: Wales"}');var y=t(33);const _=["aria-label"],C=(0,a.pM)({name:"LinkPreviewToggle",props:{link:{type:Object,required:!0},message:{type:Object,required:!0}},emits:["toggle-link-preview"],setup:(e,{emit:n})=>({ariaLabel:(0,a.EW)(()=>e.link.shown?"Collapse preview":"Expand preview"),onClick:()=>{e.link.shown=!e.link.shown,n("toggle-link-preview",e.link,e.message)}})});var L=t(6262);const M=(0,L.A)(C,[["render",function(e,n,t,s,o,i){return"loading"!==e.link.type?((0,a.uX)(),(0,a.CE)("button",{key:0,class:(0,y.C4)(["toggle-button","toggle-preview",{opened:e.link.shown}]),"aria-label":e.ariaLabel,onClick:n[0]||(n[0]=(...n)=>e.onClick&&e.onClick(...n))},null,10,_)):(0,a.Q3)("",!0)}]]),E={class:"preview-size"};var x=t(3388);const S=(0,a.pM)({name:"LinkPreviewFileSize",props:{size:{type:Number,required:!0}},setup:e=>({previewSize:(0,x.A)(e.size)})}),A=(0,L.A)(S,[["render",function(e,n,t,s,o,i){return(0,a.uX)(),(0,a.CE)("span",E,"("+(0,y.v_)(e.previewSize)+")",1)}]]);var T=t(3751),X=t(2806);const j=(0,a.pM)({name:"InlineChannel",props:{channel:String},setup:e=>({openContextMenu:n=>{X.A.emit("contextmenu:inline-channel",{event:n,channel:e.channel})}})}),W=(0,L.A)(j,[["render",function(e,n,t,s,o,i){return(0,a.uX)(),(0,a.CE)("span",{class:"inline-channel",dir:"auto",role:"button",tabindex:"0",onClick:n[0]||(n[0]=(0,T.D$)((...n)=>e.openContextMenu&&e.openContextMenu(...n),["prevent"])),onContextmenu:n[1]||(n[1]=(0,T.D$)((...n)=>e.openContextMenu&&e.openContextMenu(...n),["prevent"]))},[(0,a.RG)(e.$slots,"default")],32)}]]);var P=t(6640);const R=/[\u{1f3fb}-\u{1f3ff}]|\u{fe0f}/gu,I=function(e,n,t){const r=function(e){return function(e){const n=[];let t,a,l,r,c,u,d,p,h,g,m=0,k=0;const f=()=>{a=!1,l=void 0,r=void 0,c=void 0,u=void 0,d=!1,p=!1,h=!1,g=!1};f();const b=()=>{const t=e.slice(m,k).replace(i," ");if(t.length){const e=n.length?n[n.length-1].end:0;n.push({bold:a,textColor:l,bgColor:r,hexColor:c,hexBgColor:u,italic:d,underline:p,strikethrough:h,monospace:g,text:t,start:e,end:e+t.length})}m=k+1};for(;k<e.length;){switch(e[k]){case"":b(),f();break;case"":b(),a=!a;break;case"":b(),t=e.slice(k+1).match(s),t?(l=Number(t[1]),t[2]&&(r=Number(t[2])),k+=t[0].length,m=k+1):(l=void 0,r=void 0);break;case"":b(),t=e.slice(k+1).match(o),t?(c=t[1].toUpperCase(),t[2]&&(u=t[2].toUpperCase()),k+=t[0].length,m=k+1):(c=void 0,u=void 0);break;case"":{b();const e=r;r=l,l=e;break}case"":b(),d=!d;break;case"":b(),p=!p;break;case"":b(),h=!h;break;case"":b(),g=!g}k+=1}return b(),n}(e).reduce((e,n)=>{if(e.length){const t=e[e.length-1];if(l.every(e=>n[e]===t[e]))return t.text+=n.text,t.end+=n.text.length,e}return e.concat([n])},[])}(e),c=r.map(e=>e.text).join(""),d=function(e,n,t){const a=t.map(u).join(""),s=n.map(u).join(""),o=new RegExp(`(?:^|\\s)[${a}]*([${s}][^ ]+)`,"g"),i=[];let l;do{l=o.exec(e),l&&i.push({start:l.index+l[0].length-l[1].length,end:l.index+l[0].length,channel:l[1]})}while(l);return i}(c,t?t.serverOptions.CHANTYPES:["#","&"],t?t.serverOptions.PREFIX?.prefix?.map(e=>e.symbol):["!","@","%","+"]),p=function(e){const n=h.match(e);return n?n.map(m):[]}(c),g=function(e){const n=[];let t;for(;t=k.exec(e);)n.push({start:t.index,end:t.index+t[0].length,emoji:t[0]});return n}(c),y=function(e,n){const t=[];if(0===n.length)return t;let a;for(;a=f.exec(e);)n.indexOf(a[1])>-1&&t.push({start:a.index,end:a.index+a[1].length,nick:a[1]});return t}(c,n&&n.users||[]);return function(e,n,t){const a=function(e,n){let t=0;const a=e.reduce((e,n)=>(n.start>t&&e.push({start:t,end:n.start}),t=n.end,e),[]);return t<n.length&&a.push({start:t,end:n.length}),a}(e=e.sort(v).reduce((e,n)=>e.some(e=>b(e,n))?e:e.concat([n]),[]),t);return[...e,...a].sort(v).map(e=>{const t=n.filter(n=>b(e,n)).map(n=>function(e,n){const t=n.start,a=Math.max(n.start,e.start),s=Math.min(n.end,e.end),o=n.text.slice(a-t,s-t);return Object.assign({},n,{start:a,end:s,text:o})}(e,n));return{...e,fragments:t}})}(d.concat(p).concat(g).concat(y),r,c).map(e=>{const t=e.fragments.map(e=>function(e){const n=[];e.bold&&n.push("irc-bold"),void 0!==e.textColor&&n.push("irc-fg"+e.textColor),void 0!==e.bgColor&&n.push("irc-bg"+e.bgColor),e.italic&&n.push("irc-italic"),e.underline&&n.push("irc-underline"),e.strikethrough&&n.push("irc-strikethrough"),e.monospace&&n.push("irc-monospace");const t={class:void 0,style:void 0};let s=!1;return n.length>0&&(s=!0,t.class=n),e.hexColor&&(s=!0,t.style={color:`#${e.hexColor}`},e.hexBgColor&&(t.style["background-color"]=`#${e.hexBgColor}`)),s?(0,a.h)("span",t,e.text):e.text}(e));if("link"in e){const s=n&&n.previews&&n.previews.find(n=>n.link===e.link),o=(0,a.h)("a",{href:e.link,dir:s?null:"auto",target:"_blank",rel:"noopener"},t);if(!s)return o;const i=[o];return s.size>0&&i.push((0,a.h)(A,{size:s.size})),i.push((0,a.h)(M,{link:s,message:n})),(0,a.h)("span",{dir:"auto"},i)}if("channel"in e)return(0,a.h)(W,{channel:e.channel},{default:()=>t});if(function(e){return"emoji"in e}(e)){const n=e.emoji.replace(R,""),s=w[n]?`Emoji: ${w[n]}`:null;return(0,a.h)("span",{class:["emoji"],role:"img","aria-label":s,title:s},t)}return function(e){return"nick"in e}(e)?(0,a.h)(P.A,{user:{nick:e.nick},dir:"auto"},{default:()=>t}):t})},N=(0,a.pM)({name:"ParsedMessage",functional:!0,props:{text:String,message:{type:Object,required:!1},network:{type:Object,required:!1}},render:e=>I(void 0!==e.text?e.text:e.message.text,e.message,e.network)})},4379:(e,n,t)=>{"use strict";t.r(n),t.d(n,{default:()=>c});var a=t(641);const s={class:"content"},o={key:2,class:"new-topic"};var i=t(3568),l=t(6640);const r=(0,a.pM)({name:"MessageTypeTopic",components:{ParsedMessage:i.A,Username:l.A},props:{network:{type:Object,required:!0},message:{type:Object,required:!0}}}),c=(0,t(6262).A)(r,[["render",function(e,n,t,i,l,r){const c=(0,a.g2)("Username"),u=(0,a.g2)("ParsedMessage");return(0,a.uX)(),(0,a.CE)("span",s,[e.message.from&&e.message.from.nick?((0,a.uX)(),(0,a.CE)(a.FK,{key:0},[(0,a.bF)(c,{user:e.message.from},null,8,["user"]),n[0]||(n[0]=(0,a.eW)(" has changed the topic to: ",-1))],64)):((0,a.uX)(),(0,a.CE)(a.FK,{key:1},[(0,a.eW)("The topic is: ")],64)),e.message.text?((0,a.uX)(),(0,a.CE)("span",o,[(0,a.bF)(u,{network:e.network,message:e.message},null,8,["network","message"])])):(0,a.Q3)("",!0)])}]])},5182:(e,n,t)=>{"use strict";t.r(n),t.d(n,{default:()=>u});var a=t(641);const s={class:"content"},o={class:"hostmask"},i={key:0,class:"part-reason"};var l=t(3568),r=t(6640);const c=(0,a.pM)({name:"MessageTypePart",components:{ParsedMessage:l.A,Username:r.A},props:{network:{type:Object,required:!0},message:{type:Object,required:!0}}}),u=(0,t(6262).A)(c,[["render",function(e,n,t,l,r,c){const u=(0,a.g2)("Username"),d=(0,a.g2)("ParsedMessage");return(0,a.uX)(),(0,a.CE)("span",s,[(0,a.bF)(u,{user:e.message.from},null,8,["user"]),(0,a.Lk)("i",o,[n[0]||(n[0]=(0,a.eW)(" (",-1)),(0,a.bF)(d,{network:e.network,text:e.message.hostmask},null,8,["network","text"]),n[1]||(n[1]=(0,a.eW)(")",-1))]),n[4]||(n[4]=(0,a.eW)(" has left the channel ",-1)),e.message.text?((0,a.uX)(),(0,a.CE)("i",i,[n[2]||(n[2]=(0,a.eW)("(",-1)),(0,a.bF)(d,{network:e.network,message:e.message},null,8,["network","message"]),n[3]||(n[3]=(0,a.eW)(")",-1))])):(0,a.Q3)("",!0)])}]])},5506:(e,n,t)=>{"use strict";t.r(n),t.d(n,{default:()=>l});var a=t(641),s=t(33);const o={class:"content"},i=(0,a.pM)({name:"MessageChannelMode",props:{network:{type:Object,required:!0},message:{type:Object,required:!0}}}),l=(0,t(6262).A)(i,[["render",function(e,n,t,i,l,r){return(0,a.uX)(),(0,a.CE)("span",o,[n[0]||(n[0]=(0,a.eW)(" your user mode is ",-1)),(0,a.Lk)("b",null,(0,s.v_)(e.message.raw_modes),1)])}]])},6455:(e,n,t)=>{"use strict";t.r(n),t.d(n,{default:()=>u});var a=t(641),s=t(33);const o={class:"content"},i={class:"ctcp-message"};var l=t(3568),r=t(6640);const c=(0,a.pM)({name:"MessageTypeCTCP",components:{ParsedMessage:l.A,Username:r.A},props:{network:{type:Object,required:!0},message:{type:Object,required:!0}}}),u=(0,t(6262).A)(c,[["render",function(e,n,t,l,r,c){const u=(0,a.g2)("Username"),d=(0,a.g2)("ParsedMessage");return(0,a.uX)(),(0,a.CE)("span",o,[(0,a.bF)(u,{user:e.message.from},null,8,["user"]),n[0]||(n[0]=(0,a.eW)(" "+(0,s.v_)(" ")+" ",-1)),(0,a.Lk)("span",i,[(0,a.bF)(d,{text:e.message.ctcpMessage},null,8,["text"])])])}]])},6640:(e,n,t)=>{"use strict";t.d(n,{A:()=>d});var a=t(641),s=t(3751),o=t(33);const i=["data-name"];var l=t(2806),r=t(211),c=t(1654);const u=(0,a.pM)({name:"Username",props:{user:{type:Object,required:!0},active:Boolean,onHover:{type:Function,required:!1},channel:{type:Object,required:!1},network:{type:Object,required:!1}},setup(e){const n=(0,a.EW)(()=>e.user.modes?e.user.modes[0]:e.user.mode),t=(0,a.EW)(()=>(e=>{let n=0;for(let t=0;t<e.length;t++)n+=e.charCodeAt(t);return"color-"+(1+n%32).toString()})(e.user.nick)),s=(0,r.Pj)();return s.state.settings.beautifyBridgedMessages&&e.user.shoutbox&&s.state.activeChannel?.channel.state===c.gC.JOINED&&!s.state.activeChannel?.channel.users.find(n=>n.nick===e.user.nick)&&s.state.activeChannel?.channel.users.push({nick:e.user.nick,modes:[],lastMessage:Date.now(),mode:"",away:""}),{displayNick:(0,a.EW)(()=>{const t=n.value??"",a=e.user.nick;return s.state.settings.beautifyBridgedMessages&&e.user.shoutbox&&"parentheses"===s.state.settings.bridgedMessageNicksStyle?`(${t}${a})`:`${t}${a}`}),mode:n,nickColor:t,hover:()=>e.onHover?e.onHover(e.user):null,openContextMenu:n=>{l.A.emit("contextmenu:user",{event:n,user:e.user,network:e.network,channel:e.channel})},store:s}}}),d=(0,t(6262).A)(u,[["render",function(e,n,t,l,r,c){return(0,a.uX)(),(0,a.CE)("span",(0,a.v6)({class:["user",{[e.nickColor]:e.store.state.settings.coloredNicks},{active:e.active}],"data-name":e.user.nick,role:"button"},(0,a.Tb)(e.onHover?{mouseenter:e.hover}:{},!0),{onClick:n[0]||(n[0]=(0,s.D$)((...n)=>e.openContextMenu&&e.openContextMenu(...n),["prevent"])),onContextmenu:n[1]||(n[1]=(0,s.D$)((...n)=>e.openContextMenu&&e.openContextMenu(...n),["prevent"]))}),[(0,a.RG)(e.$slots,"default",{},()=>[(0,a.eW)((0,o.v_)(e.displayNick),1)])],16,i)}]])},6789:(e,n,t)=>{"use strict";t.r(n),t.d(n,{default:()=>c});var a=t(641),s=t(33);const o={class:"content"};var i=t(7321),l=t(6640);const r=(0,a.pM)({name:"MessageTypeTopicSetBy",components:{Username:l.A},props:{network:{type:Object,required:!0},message:{type:Object,required:!0}},setup:e=>({messageTimeLocale:(0,a.EW)(()=>(0,i.A)(e.message.when))})}),c=(0,t(6262).A)(r,[["render",function(e,n,t,i,l,r){const c=(0,a.g2)("Username");return(0,a.uX)(),(0,a.CE)("span",o,[n[0]||(n[0]=(0,a.eW)(" Topic set by ",-1)),(0,a.bF)(c,{user:e.message.from},null,8,["user"]),(0,a.eW)(" on "+(0,s.v_)(e.messageTimeLocale),1)])}]])},7062:(e,n,t)=>{"use strict";t.r(n),t.d(n,{default:()=>l});var a=t(641),s=t(33);const o={class:"content"},i=(0,a.pM)({name:"MessageChannelMode",props:{network:{type:Object,required:!0},message:{type:Object,required:!0}}}),l=(0,t(6262).A)(i,[["render",function(e,n,t,i,l,r){return(0,a.uX)(),(0,a.CE)("span",o,[n[0]||(n[0]=(0,a.eW)(" channel mode is ",-1)),(0,a.Lk)("b",null,(0,s.v_)(e.message.text),1)])}]])},7321:(e,n,t)=>{"use strict";t.d(n,{A:()=>o});var a=t(4353),s=t.n(a);const o=e=>s()(e).format("D MMMM YYYY, HH:mm:ss")},7421:(e,n,t)=>{"use strict";const a={colorCodeMap:[["00","White"],["01","Black"],["02","Blue"],["03","Green"],["04","Red"],["05","Brown"],["06","Magenta"],["07","Orange"],["08","Yellow"],["09","Light Green"],["10","Cyan"],["11","Light Cyan"],["12","Light Blue"],["13","Pink"],["14","Grey"],["15","Light Grey"]],commands:[],timeFormats:{msgDefault:"HH:mm",msgWithSeconds:"HH:mm:ss",msg12h:"hh:mm A",msg12hWithSeconds:"hh:mm:ss A"},mobileViewportPixels:768};var s=t(3751),o=t(211),i=t(641),l=t(33),r=t(2806),c=t(6411),u=t.n(c),d=t(7350),p=t.n(d),h=t(9808);const g=e=>("TEXTAREA"===e.target.tagName||"INPUT"===e.target.tagName)&&!!e.target.value,m={class:"scrollable-area"},k={class:"logo-container"},f=["src"],b=["src"],v={key:0,title:"The Lounge has been built in development mode",style:{backgroundColor:"#ff9e18",color:"#000",padding:"2px",borderRadius:"4px",fontSize:"12px"}},w={id:"footer"},y={class:"tooltipped tooltipped-n tooltipped-no-touch","aria-label":"Connect to network"},_=["aria-selected","onClick","onKeypress"],C={class:"tooltipped tooltipped-n tooltipped-no-touch","aria-label":"Settings"},L=["aria-selected","onClick","onKeypress"],M=["aria-label"],E=["aria-selected","onClick","onKeypress"];var x=t(953),S=t(5220);const A={key:0,class:"empty",role:"navigation","aria-label":"Network and Channel list"},T={key:1,ref:"networklist",role:"navigation","aria-label":"Network and Channel list"},X={key:0,class:"jump-to-input"},j=["value"],W={key:1,class:"jump-to-results"},P={key:0},R=["onMouseenter"],I={key:1,class:"no-results"},N=["id"];var U=t(246);const F={delay:{type:Number,default:0,required:!1},delayOnTouchOnly:{type:Boolean,default:!1,required:!1},touchStartThreshold:{type:Number,default:10,required:!1},handle:{type:String,default:"",required:!1},draggable:{type:String,default:"",required:!1},ghostClass:{type:String,default:"",required:!1},dragClass:{type:String,default:"",required:!1},group:{type:String,default:"",required:!1},class:{type:String,default:"",required:!1},itemKey:{type:String,default:"",required:!0},list:{type:Array,default:[],required:!0},filter:{type:String,default:"",required:!1}},O=(0,i.pM)({name:"Draggable",props:F,emits:["change","choose","unchoose"],setup(e,{emit:n}){const t=(0,x.KR)(null),a=(0,x.KR)(null);return(0,i.wB)(t,t=>{t&&(a.value=new U.Ay(t,{...e,onChoose(e){n("choose",e)},onUnchoose(e){n("unchoose",e)},onEnd(e){n("change",e)}}))}),(0,i.xo)(()=>{a.value&&(a.value.destroy(),t.value=null)}),{containerRef:t}}});var q=t(6262);const K=(0,q.A)(O,[["render",function(e,n,t,a,s,o){return(0,i.uX)(),(0,i.CE)("div",{ref:"containerRef",class:(0,l.C4)(e.$props.class)},[((0,i.uX)(!0),(0,i.CE)(i.FK,null,(0,i.pI)(e.list,(n,t)=>(0,i.RG)(e.$slots,"item",{key:n[e.itemKey],element:n,index:t})),128))],2)}]]);var D=t(4751),B=t.n(D);const $=["aria-controls","aria-label","aria-expanded"],H={key:1,class:"collapse-network"},Q={class:"lobby-wrap"},z=["title"],V={key:0,class:"not-secure-tooltip tooltipped tooltipped-w","aria-label":"Insecure connection"},Y={key:1,class:"not-connected-tooltip tooltipped tooltipped-w","aria-label":"Disconnected"},J=["aria-label"],G=["aria-controls","aria-label"],Z=(e,n)=>{const t=h.A.get("thelounge.networks.collapsed"),a=t?new Set(JSON.parse(t)):new Set;e.isCollapsed=n,n?a.add(e.uuid):a.delete(e.uuid),h.A.set("thelounge.networks.collapsed",JSON.stringify([...a]))},ee=e=>e<1e3?e.toString():(e/1e3).toFixed(2).slice(0,-1)+"k",ne=["aria-label","title","data-name","data-type","aria-controls","aria-selected"],te=(e,n)=>!(!e.isCollapsed||n.highlight||"lobby"===n.type||o.M_.state.activeChannel&&n===o.M_.state.activeChannel.channel),ae={id:"sign-in",class:"window",role:"tabpanel","aria-label":"Sign-in"},se={class:"password-container"},oe=["type"],ie={key:0,class:"error"},le=["disabled"];var re=t(381);const ce=["aria-label"],ue=["aria-label"],de=(0,i.pM)({name:"RevealPassword",setup(){const e=(0,x.KR)(!1);return{isVisible:e,onClick:()=>{e.value=!e.value}}}}),pe=(0,q.A)(de,[["render",function(e,n,t,a,s,o){return(0,i.uX)(),(0,i.CE)("div",null,[(0,i.RG)(e.$slots,"default",{isVisible:e.isVisible}),(0,i.Lk)("span",{ref:"revealButton",type:"button",class:(0,l.C4)(["reveal-password tooltipped tooltipped-n tooltipped-no-delay",{"reveal-password-visible":e.isVisible}]),"aria-label":e.isVisible?"Hide password":"Show password",onClick:n[0]||(n[0]=(...n)=>e.onClick&&e.onClick(...n))},[(0,i.Lk)("span",{"aria-label":e.isVisible?"Hide password":"Show password"},null,8,ue)],10,ce)])}]]),he=(0,i.pM)({name:"SignIn",components:{RevealPassword:pe},setup(){const e=(0,x.KR)(!1),n=(0,x.KR)(!1),t=(0,x.KR)(h.A.get("user")||""),a=(0,x.KR)(""),s=()=>{e.value=!1,n.value=!0};return(0,i.sV)(()=>{re.A.on("auth:failed",s)}),(0,i.xo)(()=>{re.A.off("auth:failed",s)}),{inFlight:e,errorShown:n,username:t,password:a,onSubmit:s=>{if(s.preventDefault(),!t.value||!a.value)return;e.value=!0,n.value=!1;const o={user:t.value,password:a.value};h.A.set("user",o.user),re.A.emit("auth:perform",o)}}}}),ge=(0,q.A)(he,[["render",function(e,n,t,a,o,l){const r=(0,i.g2)("RevealPassword");return(0,i.uX)(),(0,i.CE)("div",ae,[(0,i.Lk)("form",{class:"container",method:"post",action:"",onSubmit:n[2]||(n[2]=(...n)=>e.onSubmit&&e.onSubmit(...n))},[n[4]||(n[4]=(0,i.Lk)("img",{src:"img/logo-vertical-transparent-bg.svg",class:"logo",alt:"The Lounge",width:"256",height:"170"},null,-1)),n[5]||(n[5]=(0,i.Lk)("img",{src:"img/logo-vertical-transparent-bg-inverted.svg",class:"logo-inverted",alt:"The Lounge",width:"256",height:"170"},null,-1)),n[6]||(n[6]=(0,i.Lk)("label",{for:"signin-username"},"Username",-1)),(0,i.bo)((0,i.Lk)("input",{id:"signin-username","onUpdate:modelValue":n[0]||(n[0]=n=>e.username=n),class:"input",type:"text",name:"username",autocapitalize:"none",autocorrect:"off",autocomplete:"username",required:"",autofocus:""},null,512),[[s.Jo,e.username,void 0,{trim:!0}]]),(0,i.Lk)("div",se,[n[3]||(n[3]=(0,i.Lk)("label",{for:"signin-password"},"Password",-1)),(0,i.bF)(r,null,{default:(0,i.k6)(t=>[(0,i.bo)((0,i.Lk)("input",{id:"signin-password","onUpdate:modelValue":n[1]||(n[1]=n=>e.password=n),type:t.isVisible?"text":"password",class:"input",autocapitalize:"none",autocorrect:"off",autocomplete:"current-password",required:""},null,8,oe),[[s.hp,e.password]])]),_:1})]),e.errorShown?((0,i.uX)(),(0,i.CE)("div",ie,"Authentication failed.")):(0,i.Q3)("",!0),(0,i.Lk)("button",{disabled:e.inFlight,type:"submit",class:"btn"},"Sign in",8,le)],32)])}]]),me={id:"connect",class:"window",role:"tabpanel","aria-label":"Connect"},ke={class:"header"},fe={class:"title"},be={class:"connect-row"},ve={class:"connect-row"},we={class:"input-wrap"},ye={class:"connect-row"},_e=["type"],Ce={class:"connect-row"},Le={class:"input-wrap"},Me={class:"tls"},Ee=["disabled"],xe={key:0,class:"tooltipped tooltipped-n tooltipped-no-delay","aria-label":"This network has a strict transport security policy, you will be unable to disable TLS"},Se={class:"tls"},Ae={class:"connect-row"},Te={class:"input-wrap"},Xe={for:"connect:proxyEnabled"},je={class:"connect-row"},We={class:"input-wrap"},Pe={class:"connect-row"},Re={class:"connect-row"},Ie=["type"],Ne={class:"connect-row"},Ue={class:"connect-row"},Fe=["type"],Oe={class:"connect-row"},qe={key:2,class:"connect-row"},Ke={class:"connect-row"},De={class:"connect-row"},Be={key:3,class:"connect-row"},$e=["value"],He={key:4,class:"connect-row"},Qe={class:"connect-row"},ze={class:"connect-row",style:{display:"block"}},Ve={class:"fish-keys-section"},Ye={class:"input-wrap fish-key-inputs"},Je=["onUpdate:modelValue"],Ge=["onUpdate:modelValue"],Ze=["disabled","onClick"],en={class:"connect-row"},nn={class:"connect-row"},tn={class:"input-wrap"},an={class:"tls"},sn={key:0,class:"connect-row"},on=["type"],ln={class:"connect-row connect-auth",role:"group","aria-labelledby":"label-auth"},rn={class:"opt"},cn=["checked"],un={class:"opt"},dn=["checked"],pn={key:0,class:"opt"},hn=["checked"],gn={class:"connect-row"},mn={class:"connect-row"},kn=["type"],fn={key:1,class:"connect-sasl-external"},bn=["disabled"],vn=(0,i.pM)({name:"SidebarToggle",setup:()=>({store:(0,o.Pj)()})}),wn=(0,q.A)(vn,[["render",function(e,n,t,a,s,o){return(0,i.uX)(),(0,i.CE)("button",{class:"lt","aria-label":"Toggle channel list",onClick:n[0]||(n[0]=n=>e.store.commit("toggleSidebar"))})}]]),yn=(0,i.pM)({name:"NetworkForm",components:{RevealPassword:pe,SidebarToggle:wn},props:{handleSubmit:{type:Function,required:!0},defaults:{type:Object,required:!0},disabled:Boolean},setup(e){const n=(0,o.Pj)(),t=(0,x.KR)(n.state.serverConfiguration),a=(0,x.KR)(e.defaults?.username),s=(0,x.KR)(!1),l=(0,x.KR)(null);(0,i.wB)(s,e=>{e&&(0,i.dY)(()=>{l.value?.focus()})});const r=(0,x.KR)(null),c=()=>{r.value&&(r.value.style.height="",r.value.style.height=`${Math.ceil(r.value.scrollHeight+2)}px`)};(0,i.wB)(()=>e.defaults?.commands,()=>{(0,i.dY)(()=>{c()})}),(0,i.wB)(()=>e.defaults?.tls,n=>{const t=[6667,6697],a=n?0:1;e.defaults?.port===t[a]&&(e.defaults.port=t[1-a])});const u=(0,x.KR)(null),d=(0,x.KR)([]),p=(0,i.EW)(()=>{const e={};for(const n of d.value){const t=n.target.trim(),a=n.key.trim();t&&a&&(e[t]=a)}return e});return(0,i.wB)(()=>e.defaults.fishKeys,e=>{d.value=(e=>{if(!e||0===Object.keys(e).length)return[{target:"",key:""}];const n=[];for(const[t,a]of Object.entries(e))n.push({target:t,key:String(a??"")});return n.length>0?n:[{target:"",key:""}]})(e)},{immediate:!0}),{store:n,config:t,displayPasswordField:s,publicPassword:l,commandsInput:r,resizeCommandsInput:c,setSaslAuth:n=>{e.defaults&&(e.defaults.sasl=n)},usernameInput:u,onNickChanged:e=>{if(!u.value)return;const n=u.value;n.value&&n.value!==a.value||(n.value=e.target?.value),a.value=e.target?.value},onSubmit:n=>{const t=new FormData(n.target),a={};t.forEach((e,n)=>{a[n]=e}),a.fishKeys=p.value,e.handleSubmit(a)},fishKeysEntries:d,fishKeysValue:p,addFishKeyEntry:()=>{d.value.push({target:"",key:""})},removeFishKeyEntry:e=>{d.value.length>1&&d.value.splice(e,1)}}}}),_n=(0,q.A)(yn,[["render",function(e,n,t,a,o,r){const c=(0,i.g2)("SidebarToggle"),u=(0,i.g2)("RevealPassword");return(0,i.uX)(),(0,i.CE)("div",me,[(0,i.Lk)("div",ke,[(0,i.bF)(c)]),(0,i.Lk)("form",{class:"container",method:"post",action:"",onSubmit:n[30]||(n[30]=(0,s.D$)((...n)=>e.onSubmit&&e.onSubmit(...n),["prevent"]))},[(0,i.Lk)("h1",fe,[e.defaults.uuid?((0,i.uX)(),(0,i.CE)(i.FK,{key:0},[(0,i.bo)((0,i.Lk)("input",{"onUpdate:modelValue":n[0]||(n[0]=n=>e.defaults.uuid=n),type:"hidden",name:"uuid"},null,512),[[s.Jo,e.defaults.uuid]]),(0,i.eW)(" Edit "+(0,l.v_)(e.defaults.name),1)],64)):((0,i.uX)(),(0,i.CE)(i.FK,{key:1},[n[31]||(n[31]=(0,i.eW)(" Connect ",-1)),e.config?.lockNetwork&&e.store?.state.serverConfiguration?.public?((0,i.uX)(),(0,i.CE)(i.FK,{key:0},[(0,i.eW)(" to "+(0,l.v_)(e.defaults.name),1)],64)):(0,i.Q3)("",!0)],64))]),e.config?.lockNetwork?e.config.lockNetwork&&!e.store.state.serverConfiguration?.public?((0,i.uX)(),(0,i.CE)(i.FK,{key:1},[n[49]||(n[49]=(0,i.Lk)("h2",null,"Network settings",-1)),(0,i.Lk)("div",Ne,[n[47]||(n[47]=(0,i.Lk)("label",{for:"connect:name"},"Name",-1)),(0,i.bo)((0,i.Lk)("input",{id:"connect:name","onUpdate:modelValue":n[12]||(n[12]=n=>e.defaults.name=n),class:"input",name:"name",maxlength:"100"},null,512),[[s.Jo,e.defaults.name,void 0,{trim:!0}]])]),(0,i.Lk)("div",Ue,[n[48]||(n[48]=(0,i.Lk)("label",{for:"connect:password"},"Password",-1)),(0,i.bF)(u,{class:"input-wrap password-container"},{default:(0,i.k6)(t=>[(0,i.bo)((0,i.Lk)("input",{id:"connect:password","onUpdate:modelValue":n[13]||(n[13]=n=>e.defaults.password=n),class:"input",type:t.isVisible?"text":"password",placeholder:"Server password (optional)",name:"password",maxlength:"300"},null,8,Fe),[[s.hp,e.defaults.password]])]),_:1})])],64)):(0,i.Q3)("",!0):((0,i.uX)(),(0,i.CE)(i.FK,{key:0},[n[45]||(n[45]=(0,i.Lk)("h2",null,"Network settings",-1)),(0,i.Lk)("div",be,[n[32]||(n[32]=(0,i.Lk)("label",{for:"connect:name"},"Name",-1)),(0,i.bo)((0,i.Lk)("input",{id:"connect:name","onUpdate:modelValue":n[1]||(n[1]=n=>e.defaults.name=n),class:"input",name:"name",maxlength:"100"},null,512),[[s.Jo,e.defaults.name,void 0,{trim:!0}]])]),(0,i.Lk)("div",ve,[n[34]||(n[34]=(0,i.Lk)("label",{for:"connect:host"},"Server",-1)),(0,i.Lk)("div",we,[(0,i.bo)((0,i.Lk)("input",{id:"connect:host","onUpdate:modelValue":n[2]||(n[2]=n=>e.defaults.host=n),class:"input",name:"host","aria-label":"Server address",maxlength:"255",required:""},null,512),[[s.Jo,e.defaults.host,void 0,{trim:!0}]]),n[33]||(n[33]=(0,i.Lk)("span",{id:"connect:portseparator"},":",-1)),(0,i.bo)((0,i.Lk)("input",{id:"connect:port","onUpdate:modelValue":n[3]||(n[3]=n=>e.defaults.port=n),class:"input",type:"number",min:"1",max:"65535",name:"port","aria-label":"Server port"},null,512),[[s.Jo,e.defaults.port]])])]),(0,i.Lk)("div",ye,[n[35]||(n[35]=(0,i.Lk)("label",{for:"connect:password"},"Password",-1)),(0,i.bF)(u,{class:"input-wrap password-container"},{default:(0,i.k6)(t=>[(0,i.bo)((0,i.Lk)("input",{id:"connect:password","onUpdate:modelValue":n[4]||(n[4]=n=>e.defaults.password=n),class:"input",type:t.isVisible?"text":"password",placeholder:"Server password (optional)",name:"password",maxlength:"300"},null,8,_e),[[s.hp,e.defaults.password]])]),_:1})]),(0,i.Lk)("div",Ce,[n[38]||(n[38]=(0,i.Lk)("label",null,null,-1)),(0,i.Lk)("div",Le,[(0,i.Lk)("label",Me,[(0,i.bo)((0,i.Lk)("input",{"onUpdate:modelValue":n[5]||(n[5]=n=>e.defaults.tls=n),type:"checkbox",name:"tls",disabled:e.defaults.hasSTSPolicy},null,8,Ee),[[s.lH,e.defaults.tls]]),n[36]||(n[36]=(0,i.eW)(" Use secure connection (TLS) ",-1)),e.defaults.hasSTSPolicy?((0,i.uX)(),(0,i.CE)("span",xe,"๐Ÿ”’ STS")):(0,i.Q3)("",!0)]),(0,i.Lk)("label",Se,[(0,i.bo)((0,i.Lk)("input",{"onUpdate:modelValue":n[6]||(n[6]=n=>e.defaults.rejectUnauthorized=n),type:"checkbox",name:"rejectUnauthorized"},null,512),[[s.lH,e.defaults.rejectUnauthorized]]),n[37]||(n[37]=(0,i.eW)(" Only allow trusted certificates ",-1))])])]),n[46]||(n[46]=(0,i.Lk)("h2",null,"Proxy Settings",-1)),(0,i.Lk)("div",Ae,[n[40]||(n[40]=(0,i.Lk)("label",null,null,-1)),(0,i.Lk)("div",Te,[(0,i.Lk)("label",Xe,[(0,i.bo)((0,i.Lk)("input",{id:"connect:proxyEnabled","onUpdate:modelValue":n[7]||(n[7]=n=>e.defaults.proxyEnabled=n),type:"checkbox",name:"proxyEnabled"},null,512),[[s.lH,e.defaults.proxyEnabled]]),n[39]||(n[39]=(0,i.eW)(" Enable Proxy ",-1))])])]),e.defaults.proxyEnabled?((0,i.uX)(),(0,i.CE)(i.FK,{key:0},[(0,i.Lk)("div",je,[n[42]||(n[42]=(0,i.Lk)("label",{for:"connect:proxyHost"},"SOCKS Address",-1)),(0,i.Lk)("div",We,[(0,i.bo)((0,i.Lk)("input",{id:"connect:proxyHost","onUpdate:modelValue":n[8]||(n[8]=n=>e.defaults.proxyHost=n),class:"input",name:"proxyHost","aria-label":"Proxy host",maxlength:"255"},null,512),[[s.Jo,e.defaults.proxyHost,void 0,{trim:!0}]]),n[41]||(n[41]=(0,i.Lk)("span",{id:"connect:proxyPortSeparator"},":",-1)),(0,i.bo)((0,i.Lk)("input",{id:"connect:proxyPort","onUpdate:modelValue":n[9]||(n[9]=n=>e.defaults.proxyPort=n),class:"input",type:"number",min:"1",max:"65535",name:"proxyPort","aria-label":"SOCKS port"},null,512),[[s.Jo,e.defaults.proxyPort]])])]),(0,i.Lk)("div",Pe,[n[43]||(n[43]=(0,i.Lk)("label",{for:"connect:proxyUsername"},"Proxy username",-1)),(0,i.bo)((0,i.Lk)("input",{id:"connect:proxyUsername",ref:"proxyUsernameInput","onUpdate:modelValue":n[10]||(n[10]=n=>e.defaults.proxyUsername=n),class:"input username",name:"proxyUsername",maxlength:"100",placeholder:"Proxy username"},null,512),[[s.Jo,e.defaults.proxyUsername,void 0,{trim:!0}]])]),(0,i.Lk)("div",Re,[n[44]||(n[44]=(0,i.Lk)("label",{for:"connect:proxyPassword"},"Proxy password",-1)),(0,i.bF)(u,{class:"input-wrap password-container"},{default:(0,i.k6)(t=>[(0,i.bo)((0,i.Lk)("input",{id:"connect:proxyPassword",ref:"proxyPassword","onUpdate:modelValue":n[11]||(n[11]=n=>e.defaults.proxyPassword=n),class:"input",type:t.isVisible?"text":"password",placeholder:"Proxy password",name:"proxyPassword",maxlength:"300"},null,8,Ie),[[s.hp,e.defaults.proxyPassword]])]),_:1})])],64)):(0,i.Q3)("",!0)],64)),n[68]||(n[68]=(0,i.Lk)("h2",null,"User preferences",-1)),(0,i.Lk)("div",Oe,[n[50]||(n[50]=(0,i.Lk)("label",{for:"connect:nick"},"Nick",-1)),(0,i.bo)((0,i.Lk)("input",{id:"connect:nick","onUpdate:modelValue":n[14]||(n[14]=n=>e.defaults.nick=n),class:"input nick",name:"nick",pattern:"[^\\s:!@]+",maxlength:"100",required:"",onInput:n[15]||(n[15]=(...n)=>e.onNickChanged&&e.onNickChanged(...n))},null,544),[[s.Jo,e.defaults.nick]])]),e.config?.useHexIp?(0,i.Q3)("",!0):((0,i.uX)(),(0,i.CE)("div",qe,[n[51]||(n[51]=(0,i.Lk)("label",{for:"connect:username"},"Username",-1)),(0,i.bo)((0,i.Lk)("input",{id:"connect:username",ref:"usernameInput","onUpdate:modelValue":n[16]||(n[16]=n=>e.defaults.username=n),class:"input username",name:"username",maxlength:"100"},null,512),[[s.Jo,e.defaults.username,void 0,{trim:!0}]])])),(0,i.Lk)("div",Ke,[n[52]||(n[52]=(0,i.Lk)("label",{for:"connect:realname"},"Real name",-1)),(0,i.bo)((0,i.Lk)("input",{id:"connect:realname","onUpdate:modelValue":n[17]||(n[17]=n=>e.defaults.realname=n),class:"input",name:"realname",maxlength:"300"},null,512),[[s.Jo,e.defaults.realname,void 0,{trim:!0}]])]),(0,i.Lk)("div",De,[n[53]||(n[53]=(0,i.Lk)("label",{for:"connect:leaveMessage"},"Leave message",-1)),(0,i.bo)((0,i.Lk)("input",{id:"connect:leaveMessage","onUpdate:modelValue":n[18]||(n[18]=n=>e.defaults.leaveMessage=n),autocomplete:"off",class:"input",name:"leaveMessage",placeholder:"The Lounge - https://thelounge.chat"},null,512),[[s.Jo,e.defaults.leaveMessage,void 0,{trim:!0}]])]),e.defaults.uuid&&!e.store.state.serverConfiguration?.public?((0,i.uX)(),(0,i.CE)("div",Be,[n[54]||(n[54]=(0,i.Lk)("label",{for:"connect:commands"},[(0,i.eW)(" Commands "),(0,i.Lk)("span",{class:"tooltipped tooltipped-ne tooltipped-no-delay","aria-label":"One /command per line.\nEach command will be executed in\nthe server tab on new connection"},[(0,i.Lk)("button",{class:"extra-help"})])],-1)),(0,i.Lk)("textarea",{id:"connect:commands",ref:"commandsInput",autocomplete:"off",value:e.defaults.commands?e.defaults.commands.join("\n"):"",class:"input",name:"commands",onInput:n[19]||(n[19]=(...n)=>e.resizeCommandsInput&&e.resizeCommandsInput(...n))},null,40,$e)])):e.defaults.uuid?(0,i.Q3)("",!0):((0,i.uX)(),(0,i.CE)("div",He,[n[55]||(n[55]=(0,i.Lk)("label",{for:"connect:channels"},"Channels",-1)),(0,i.bo)((0,i.Lk)("input",{id:"connect:channels","onUpdate:modelValue":n[20]||(n[20]=n=>e.defaults.join=n),class:"input",name:"join"},null,512),[[s.Jo,e.defaults.join,void 0,{trim:!0}]])])),n[69]||(n[69]=(0,i.Lk)("h2",null,"FiSH (Blowfish)",-1)),(0,i.Lk)("div",Qe,[n[56]||(n[56]=(0,i.Lk)("label",{for:"connect:fishGlobalKey"},"Global key",-1)),(0,i.bo)((0,i.Lk)("input",{id:"connect:fishGlobalKey","onUpdate:modelValue":n[21]||(n[21]=n=>e.defaults.fishGlobalKey=n),class:"input",name:"fishGlobalKey",placeholder:"Optional global key for this network"},null,512),[[s.Jo,e.defaults.fishGlobalKey,void 0,{trim:!0}]])]),(0,i.Lk)("div",ze,[n[57]||(n[57]=(0,i.Lk)("label",{for:"connect:fishKeys",style:{"margin-bottom":"5px"}},[(0,i.eW)(" Per-channel or User-Channels "),(0,i.Lk)("span",{class:"tooltipped tooltipped-ne tooltipped-no-delay","aria-label":"#channel key or nick key"},[(0,i.Lk)("button",{class:"extra-help"})])],-1)),(0,i.Lk)("div",Ve,[((0,i.uX)(!0),(0,i.CE)(i.FK,null,(0,i.pI)(e.fishKeysEntries,(n,t)=>((0,i.uX)(),(0,i.CE)("div",{key:t,class:"connect-row fish-key-row"},[(0,i.Lk)("div",Ye,[(0,i.bo)((0,i.Lk)("input",{"onUpdate:modelValue":e=>n.target=e,class:"input fish-target-input",placeholder:"#channel or nick",maxlength:"100","aria-label":"Channel or user name",style:{margin:"0"}},null,8,Je),[[s.Jo,n.target]]),(0,i.bo)((0,i.Lk)("input",{"onUpdate:modelValue":e=>n.key=e,type:"password",class:"input fish-key-input",placeholder:"encryption key",maxlength:"300","aria-label":"Encryption key",style:{margin:"0"}},null,8,Ge),[[s.Jo,n.key]]),(0,i.Lk)("button",{type:"button",class:"btn fish-remove-btn",disabled:e.fishKeysEntries.length<=1,title:"Remove entry",style:{width:"auto",margin:"0"},onClick:n=>e.removeFishKeyEntry(t)}," Remove ",8,Ze)])]))),128)),(0,i.Lk)("div",en,[(0,i.Lk)("button",{type:"button",class:"btn",onClick:n[22]||(n[22]=(...n)=>e.addFishKeyEntry&&e.addFishKeyEntry(...n))}," Add Entry ")])])]),e.store.state.serverConfiguration?.public?((0,i.uX)(),(0,i.CE)(i.FK,{key:5},[e.config?.lockNetwork?((0,i.uX)(),(0,i.CE)(i.FK,{key:0},[(0,i.Lk)("div",nn,[n[59]||(n[59]=(0,i.Lk)("label",null,null,-1)),(0,i.Lk)("div",tn,[(0,i.Lk)("label",an,[(0,i.bo)((0,i.Lk)("input",{"onUpdate:modelValue":n[23]||(n[23]=n=>e.displayPasswordField=n),type:"checkbox"},null,512),[[s.lH,e.displayPasswordField]]),n[58]||(n[58]=(0,i.eW)(" I have a password ",-1))])])]),e.displayPasswordField?((0,i.uX)(),(0,i.CE)("div",sn,[n[60]||(n[60]=(0,i.Lk)("label",{for:"connect:password"},"Password",-1)),(0,i.bF)(u,{class:"input-wrap password-container"},{default:(0,i.k6)(t=>[(0,i.bo)((0,i.Lk)("input",{id:"connect:password",ref:"publicPassword","onUpdate:modelValue":n[24]||(n[24]=n=>e.defaults.password=n),class:"input",type:t.isVisible?"text":"password",placeholder:"Server password (optional)",name:"password",maxlength:"300"},null,8,on),[[s.hp,e.defaults.password]])]),_:1})])):(0,i.Q3)("",!0)],64)):(0,i.Q3)("",!0)],64)):((0,i.uX)(),(0,i.CE)(i.FK,{key:6},[n[67]||(n[67]=(0,i.Lk)("h2",{id:"label-auth"},"Authentication",-1)),(0,i.Lk)("div",ln,[(0,i.Lk)("label",rn,[(0,i.Lk)("input",{checked:!e.defaults.sasl,type:"radio",name:"sasl",value:"",onChange:n[25]||(n[25]=n=>e.setSaslAuth(""))},null,40,cn),n[61]||(n[61]=(0,i.eW)(" No authentication ",-1))]),(0,i.Lk)("label",un,[(0,i.Lk)("input",{checked:"plain"===e.defaults.sasl,type:"radio",name:"sasl",value:"plain",onChange:n[26]||(n[26]=n=>e.setSaslAuth("plain"))},null,40,dn),n[62]||(n[62]=(0,i.eW)(" Username + password (SASL PLAIN) ",-1))]),!e.store.state.serverConfiguration?.public&&e.defaults.tls?((0,i.uX)(),(0,i.CE)("label",pn,[(0,i.Lk)("input",{checked:"external"===e.defaults.sasl,type:"radio",name:"sasl",value:"external",onChange:n[27]||(n[27]=n=>e.setSaslAuth("external"))},null,40,hn),n[63]||(n[63]=(0,i.eW)(" Client certificate (SASL EXTERNAL) ",-1))])):(0,i.Q3)("",!0)]),"plain"===e.defaults.sasl?((0,i.uX)(),(0,i.CE)(i.FK,{key:0},[(0,i.Lk)("div",gn,[n[64]||(n[64]=(0,i.Lk)("label",{for:"connect:username"},"Account",-1)),(0,i.bo)((0,i.Lk)("input",{id:"connect:saslAccount","onUpdate:modelValue":n[28]||(n[28]=n=>e.defaults.saslAccount=n),class:"input",name:"saslAccount",maxlength:"100",required:""},null,512),[[s.Jo,e.defaults.saslAccount,void 0,{trim:!0}]])]),(0,i.Lk)("div",mn,[n[65]||(n[65]=(0,i.Lk)("label",{for:"connect:password"},"Password",-1)),(0,i.bF)(u,{class:"input-wrap password-container"},{default:(0,i.k6)(t=>[(0,i.bo)((0,i.Lk)("input",{id:"connect:saslPassword","onUpdate:modelValue":n[29]||(n[29]=n=>e.defaults.saslPassword=n),class:"input",type:t.isVisible?"text":"password",name:"saslPassword",maxlength:"300",required:""},null,8,kn),[[s.hp,e.defaults.saslPassword]])]),_:1})])],64)):"external"===e.defaults.sasl?((0,i.uX)(),(0,i.CE)("div",fn,[...n[66]||(n[66]=[(0,i.Lk)("p",null,"The Lounge automatically generates and manages the client certificate.",-1),(0,i.Lk)("p",null," On the IRC server, you will need to tell the services to attach the certificate fingerprint (certfp) to your account, for example: ",-1),(0,i.Lk)("pre",null,[(0,i.Lk)("code",null,"/msg NickServ CERT ADD")],-1)])])):(0,i.Q3)("",!0)],64)),(0,i.Lk)("div",null,[(0,i.Lk)("button",{type:"submit",class:"btn",disabled:!!e.disabled},[e.defaults.uuid?((0,i.uX)(),(0,i.CE)(i.FK,{key:0},[(0,i.eW)("Save network")],64)):((0,i.uX)(),(0,i.CE)(i.FK,{key:1},[(0,i.eW)("Connect")],64))],8,bn)])],32)])}]]),Cn=(0,i.pM)({name:"Connect",components:{NetworkForm:_n},props:{queryParams:Object},setup(e){const n=(0,o.Pj)(),t=(0,x.KR)(!1);return{defaults:(0,x.KR)(Object.assign({},n.state.serverConfiguration?.defaults,(e=>{if(!e)return{};const t={};for(let a of Object.keys(e)){let s=e[a];if(Array.isArray(s)&&(s=s[0]),"channels"===a&&(a="join"),Object.prototype.hasOwnProperty.call(n.state.serverConfiguration?.defaults,a)&&(!n.state.serverConfiguration?.lockNetwork||!["name","host","port","tls","rejectUnauthorized"].includes(a)))switch("join"===a&&(s=s.split(",").map(e=>e.match(/^[#&!+]/)?e:`#${e}`).join(", ")),typeof n.state.serverConfiguration?.defaults[a]){case"boolean":t[a]="0"!==s&&"false"!==s&&!!s;break;case"number":t[a]=Number(s);break;case"string":t[a]=String(s)}}return t})(e.queryParams))),disabled:t,handleSubmit:e=>{t.value=!0,re.A.emit("network:new",e)}}}}),Ln=(0,q.A)(Cn,[["render",function(e,n,t,a,s,o){const l=(0,i.g2)("NetworkForm");return(0,i.uX)(),(0,i.Wv)(l,{"handle-submit":e.handleSubmit,defaults:e.defaults,disabled:e.disabled},null,8,["handle-submit","defaults","disabled"])}]]),Mn={id:"settings",class:"window",role:"tabpanel","aria-label":"Settings"},En={class:"header"},xn={class:"container"},Sn={class:"settings-menu"},An={role:"navigation","aria-label":"Settings tabs"},Tn=["aria-label","aria-selected"],Xn=["onClick","onKeypress"],jn=(0,i.pM)({name:"SettingTabListItem",props:{name:{type:String,required:!0},className:{type:String,required:!0},to:{type:String,required:!0}},setup:()=>({route:(0,S.lq)()})}),Wn=(0,q.A)(jn,[["render",function(e,n,t,a,o,r){const c=(0,i.g2)("router-link");return(0,i.uX)(),(0,i.CE)("li",{"aria-label":e.name,role:"tab","aria-selected":e.route.name===e.name,"aria-controls":"settings"},[(0,i.bF)(c,{to:"/settings/"+e.to,custom:""},{default:(0,i.k6)(({navigate:n,isExactActive:t})=>[(0,i.Lk)("button",{class:(0,l.C4)(["icon",e.className,{active:t}]),onClick:n,onKeypress:(0,s.jR)(n,["enter"])},(0,l.v_)(e.name),43,Xn)]),_:1},8,["to"])],8,Tn)}]]),Pn=(0,i.pM)({name:"SettingsTabs",components:{SettingTabItem:Wn}}),Rn=(0,q.A)(Pn,[["render",function(e,n,t,a,s,o){const l=(0,i.g2)("SettingTabItem");return(0,i.uX)(),(0,i.CE)("aside",Sn,[n[0]||(n[0]=(0,i.Lk)("h2",null,"Settings",-1)),(0,i.Lk)("ul",An,[(0,i.bF)(l,{name:"General","class-name":"general",to:""}),(0,i.bF)(l,{name:"Appearance","class-name":"appearance",to:"appearance"}),(0,i.bF)(l,{name:"Notifications","class-name":"notifications",to:"notifications"}),(0,i.bF)(l,{name:"Account","class-name":"account",to:"account"})])])}]]),In=(0,i.pM)({name:"Settings",components:{SidebarToggle:wn,Navigation:Rn},setup(){const e=(0,o.Pj)();return{onChange:n=>{const t=n.target.name;if(["old_password","new_password","verify_password"].includes(t))return;let a;a="checkbox"===n.target.type?n.target.checked:n.target.value,e.dispatch("settings/update",{name:t,value:a,sync:!0})}}}}),Nn=(0,q.A)(In,[["render",function(e,n,t,a,o,l){const r=(0,i.g2)("SidebarToggle"),c=(0,i.g2)("Navigation"),u=(0,i.g2)("router-view");return(0,i.uX)(),(0,i.CE)("div",Mn,[(0,i.Lk)("div",En,[(0,i.bF)(r)]),(0,i.bF)(c),(0,i.Lk)("div",xn,[(0,i.Lk)("form",{ref:"settingsForm",autocomplete:"off",onChange:n[0]||(n[0]=(...n)=>e.onChange&&e.onChange(...n)),onSubmit:n[1]||(n[1]=(0,s.D$)(()=>{},["prevent"]))},[(0,i.bF)(u)],544)])])}]]),Un={id:"help",class:"window",role:"tabpanel","aria-label":"Help"},Fn={class:"header"},On={class:"container"},qn={class:"help-version-title"},Kn={class:"about"},Dn=["href"],Bn=["href"],$n=["href"],Hn={key:0},Qn={key:1,class:"help-item"},zn={key:2,class:"help-item"},Vn={key:3,class:"help-item"},Yn={key:4,class:"help-item"},Jn={class:"help-item"},Gn={class:"subject"},Zn={key:0},et={key:1},nt={class:"help-item"},tt={class:"subject"},at={key:0},st={key:1},ot={class:"help-item"},it={class:"subject"},lt={key:0},rt={key:1},ct={class:"help-item"},ut={class:"subject"},dt={key:0},pt={key:1},ht={class:"help-item"},gt={class:"subject"},mt={key:0},kt={key:1},ft={class:"help-item"},bt={class:"subject"},vt={key:0},wt={key:1},yt={class:"help-item"},_t={class:"subject"},Ct={key:0},Lt={key:1},Mt={class:"help-item"},Et={class:"subject"},xt={key:0},St={key:1},At={class:"help-item"},Tt={class:"subject"},Xt={key:0},jt={key:1},Wt={class:"help-item"},Pt={class:"subject"},Rt={key:0},It={key:1},Nt={class:"help-item"},Ut={class:"subject"},Ft={key:0},Ot={key:1},qt={class:"help-item"},Kt={class:"subject"},Dt={key:0},Bt={key:1},$t={class:"help-item"},Ht={class:"subject"},Qt={key:0},zt={key:1},Vt={class:"help-item"},Yt={class:"subject"},Jt={key:0},Gt={key:1},Zt={class:"help-item"},ea={class:"subject"},na={key:0},ta={key:1},aa={class:"help-item"},sa={class:"subject"},oa={key:0},ia={key:1},la={class:"help-item"},ra={class:"subject"},ca={key:0},ua={key:1},da={class:"help-item"},pa={class:"subject"},ha={key:0},ga={key:1},ma={class:"help-item"},ka={class:"subject"},fa={key:0},ba={key:1},va={class:"help-item"},wa={class:"subject"},ya={key:0},_a={key:1},Ca={class:"help-item"},La={class:"subject"},Ma={key:0},Ea={key:1},xa={key:5,class:"help-item"},Sa={key:0},Aa={key:1},Ta=["href"],Xa={key:2},ja=(0,i.pM)({name:"VersionChecker",setup(){const e=(0,o.Pj)(),n=()=>{e.commit("versionData",null),e.commit("versionStatus","loading"),re.A.emit("changelog")};return(0,i.sV)(()=>{e.state.versionData||n()}),{store:e,checkNow:n}}}),Wa=(0,q.A)(ja,[["render",function(e,n,t,a,s,o){return(0,i.uX)(),(0,i.CE)("div",{id:"version-checker",class:(0,l.C4)([e.store.state.versionStatus])},["loading"===e.store.state.versionStatus?((0,i.uX)(),(0,i.CE)("p",Sa,"Checking for updatesโ€ฆ")):(0,i.Q3)("",!0),"new-version"===e.store.state.versionStatus?((0,i.uX)(),(0,i.CE)("p",Aa,[n[2]||(n[2]=(0,i.eW)(" The Lounge ",-1)),(0,i.Lk)("b",null,(0,l.v_)(e.store.state.versionData?.latest?.version),1),e.store.state.versionData?.latest?.prerelease?((0,i.uX)(),(0,i.CE)(i.FK,{key:0},[(0,i.eW)(" (pre-release) ")],64)):(0,i.Q3)("",!0),n[3]||(n[3]=(0,i.eW)(" is now available. ",-1)),n[4]||(n[4]=(0,i.Lk)("br",null,null,-1)),(0,i.Lk)("a",{href:e.store.state.versionData?.latest?.url,target:"_blank",rel:"noopener"}," Read more on GitHub ",8,Ta)])):(0,i.Q3)("",!0),"new-packages"===e.store.state.versionStatus?((0,i.uX)(),(0,i.CE)("p",Xa,[...n[5]||(n[5]=[(0,i.eW)(" The Lounge is up to date, but there are out of date packages Run ",-1),(0,i.Lk)("code",null,"thelounge upgrade",-1),(0,i.eW)(" on the server to upgrade packages. ",-1)])])):(0,i.Q3)("",!0),"up-to-date"===e.store.state.versionStatus?((0,i.uX)(),(0,i.CE)(i.FK,{key:3},[n[6]||(n[6]=(0,i.Lk)("p",null,"The Lounge is up to date!",-1)),e.store.state.versionDataExpired?((0,i.uX)(),(0,i.CE)("button",{key:0,id:"check-now",class:"btn btn-small",onClick:n[0]||(n[0]=(...n)=>e.checkNow&&e.checkNow(...n))}," Check now ")):(0,i.Q3)("",!0)],64)):(0,i.Q3)("",!0),"error"===e.store.state.versionStatus?((0,i.uX)(),(0,i.CE)(i.FK,{key:4},[n[7]||(n[7]=(0,i.Lk)("p",null,"Information about latest release could not be retrieved.",-1)),(0,i.Lk)("button",{id:"check-now",class:"btn btn-small",onClick:n[1]||(n[1]=(...n)=>e.checkNow&&e.checkNow(...n))},"Try again")],64)):(0,i.Q3)("",!0)],2)}]]),Pa=(0,i.pM)({name:"Help",components:{SidebarToggle:wn,VersionChecker:Wa},setup(){const e=(0,o.Pj)();return{isApple:navigator.platform.match(/(Mac|iPhone|iPod|iPad)/i)||!1,isTouch:navigator.maxTouchPoints>0,store:e}}}),Ra=(0,q.A)(Pa,[["render",function(e,n,t,a,s,o){const r=(0,i.g2)("SidebarToggle"),c=(0,i.g2)("router-link"),u=(0,i.g2)("VersionChecker");return(0,i.uX)(),(0,i.CE)("div",Un,[(0,i.Lk)("div",Fn,[(0,i.bF)(r)]),(0,i.Lk)("div",On,[n[86]||(n[86]=(0,i.Lk)("h1",{class:"title"},"Help",-1)),(0,i.Lk)("h2",qn,[n[2]||(n[2]=(0,i.Lk)("span",null,"About The Lounge",-1)),(0,i.Lk)("small",null,[(0,i.eW)(" v"+(0,l.v_)(e.store.state.serverConfiguration?.version)+" (",1),(0,i.bF)(c,{id:"view-changelog",to:"/changelog"},{default:(0,i.k6)(()=>[...n[0]||(n[0]=[(0,i.eW)("release notes",-1)])]),_:1}),n[1]||(n[1]=(0,i.eW)(") ",-1))])]),(0,i.Lk)("div",Kn,[(0,i.bF)(u),e.store.state.serverConfiguration?.gitCommit?((0,i.uX)(),(0,i.CE)(i.FK,{key:0},[(0,i.Lk)("p",null,[n[4]||(n[4]=(0,i.eW)(" The Lounge is running from source (",-1)),(0,i.Lk)("a",{href:`https://github.com/LordBex/thelounge/tree/${e.store.state.serverConfiguration?.gitCommit}`,target:"_blank",rel:"noopener"},[n[3]||(n[3]=(0,i.eW)("commit ",-1)),(0,i.Lk)("code",null,(0,l.v_)(e.store.state.serverConfiguration?.gitCommit),1)],8,Dn),n[5]||(n[5]=(0,i.eW)("). ",-1))]),(0,i.Lk)("ul",null,[(0,i.Lk)("li",null,[n[9]||(n[9]=(0,i.eW)(" Compare ",-1)),(0,i.Lk)("a",{href:`https://github.com/LordBex/thelounge/compare/${e.store.state.serverConfiguration?.gitCommit}...master`,target:"_blank",rel:"noopener"},[n[6]||(n[6]=(0,i.eW)("between ",-1)),(0,i.Lk)("code",null,(0,l.v_)(e.store.state.serverConfiguration?.gitCommit),1),n[7]||(n[7]=(0,i.eW)(" and ",-1)),n[8]||(n[8]=(0,i.Lk)("code",null,"master",-1))],8,Bn),n[10]||(n[10]=(0,i.eW)(" to see what you are missing ",-1))]),(0,i.Lk)("li",null,[n[13]||(n[13]=(0,i.eW)(" Compare ",-1)),(0,i.Lk)("a",{href:`https://github.com/LordBex/thelounge/compare/${e.store.state.serverConfiguration?.version}...${e.store.state.serverConfiguration?.gitCommit}`,target:"_blank",rel:"noopener"},[n[11]||(n[11]=(0,i.eW)("between ",-1)),(0,i.Lk)("code",null,(0,l.v_)(e.store.state.serverConfiguration?.version),1),n[12]||(n[12]=(0,i.eW)(" and ",-1)),(0,i.Lk)("code",null,(0,l.v_)(e.store.state.serverConfiguration?.gitCommit),1)],8,$n),n[14]||(n[14]=(0,i.eW)(" to see your local changes ",-1))])])],64)):(0,i.Q3)("",!0),n[15]||(n[15]=(0,i.Lk)("p",null,[(0,i.Lk)("a",{href:"https://thelounge.chat/",target:"_blank",rel:"noopener",class:"website-link"},"Website")],-1)),n[16]||(n[16]=(0,i.Lk)("p",null,[(0,i.Lk)("a",{href:"https://thelounge.chat/docs/",target:"_blank",rel:"noopener",class:"documentation-link"},"Documentation")],-1)),n[17]||(n[17]=(0,i.Lk)("p",null,[(0,i.Lk)("a",{href:"https://github.com/LordBex/thelounge/issues/new",target:"_blank",rel:"noopener",class:"report-issue-link"},"Report an issueโ€ฆ")],-1))]),e.isTouch?((0,i.uX)(),(0,i.CE)("h2",Hn,"Gestures")):(0,i.Q3)("",!0),e.isTouch?((0,i.uX)(),(0,i.CE)("div",Qn,[...n[18]||(n[18]=[(0,i.Lk)("div",{class:"subject gesture"},"Single-Finger Swipe Left",-1),(0,i.Lk)("div",{class:"description"},[(0,i.Lk)("p",null,"Hide sidebar.")],-1)])])):(0,i.Q3)("",!0),e.isTouch?((0,i.uX)(),(0,i.CE)("div",zn,[...n[19]||(n[19]=[(0,i.Lk)("div",{class:"subject gesture"},"Single-Finger Swipe Right",-1),(0,i.Lk)("div",{class:"description"},[(0,i.Lk)("p",null,"Show sidebar.")],-1)])])):(0,i.Q3)("",!0),e.isTouch?((0,i.uX)(),(0,i.CE)("div",Vn,[...n[20]||(n[20]=[(0,i.Lk)("div",{class:"subject gesture"},"Two-Finger Swipe Left",-1),(0,i.Lk)("div",{class:"description"},[(0,i.Lk)("p",null,"Switch to the next window in the channel list.")],-1)])])):(0,i.Q3)("",!0),e.isTouch?((0,i.uX)(),(0,i.CE)("div",Yn,[...n[21]||(n[21]=[(0,i.Lk)("div",{class:"subject gesture"},"Two-Finger Swipe Right",-1),(0,i.Lk)("div",{class:"description"},[(0,i.Lk)("p",null,"Switch to the previous window in the channel list.")],-1)])])):(0,i.Q3)("",!0),n[87]||(n[87]=(0,i.Lk)("h2",null,"Keyboard Shortcuts",-1)),(0,i.Lk)("div",Jn,[(0,i.Lk)("div",Gn,[e.isApple?((0,i.uX)(),(0,i.CE)("span",et,[...n[23]||(n[23]=[(0,i.Lk)("kbd",null,"โŒฅ",-1),(0,i.eW)(),(0,i.Lk)("kbd",null,"โ‡ง",-1),(0,i.eW)(),(0,i.Lk)("kbd",null,"โ†“",-1)])])):((0,i.uX)(),(0,i.CE)("span",Zn,[...n[22]||(n[22]=[(0,i.Lk)("kbd",null,"Alt",-1),(0,i.eW)(),(0,i.Lk)("kbd",null,"Shift",-1),(0,i.eW)(),(0,i.Lk)("kbd",null,"โ†“",-1)])]))]),n[24]||(n[24]=(0,i.Lk)("div",{class:"description"},[(0,i.Lk)("p",null,"Switch to the next lobby in the channel list.")],-1))]),(0,i.Lk)("div",nt,[(0,i.Lk)("div",tt,[e.isApple?((0,i.uX)(),(0,i.CE)("span",st,[...n[26]||(n[26]=[(0,i.Lk)("kbd",null,"โŒฅ",-1),(0,i.eW)(),(0,i.Lk)("kbd",null,"โ‡ง",-1),(0,i.eW)(),(0,i.Lk)("kbd",null,"โ†‘",-1)])])):((0,i.uX)(),(0,i.CE)("span",at,[...n[25]||(n[25]=[(0,i.Lk)("kbd",null,"Alt",-1),(0,i.eW)(),(0,i.Lk)("kbd",null,"Shift",-1),(0,i.eW)(),(0,i.Lk)("kbd",null,"โ†‘",-1)])]))]),n[27]||(n[27]=(0,i.Lk)("div",{class:"description"},[(0,i.Lk)("p",null,"Switch to the previous lobby in the channel list.")],-1))]),(0,i.Lk)("div",ot,[(0,i.Lk)("div",it,[e.isApple?((0,i.uX)(),(0,i.CE)("span",rt,[...n[29]||(n[29]=[(0,i.Lk)("kbd",null,"โŒฅ",-1),(0,i.eW)(),(0,i.Lk)("kbd",null,"โ‡ง",-1),(0,i.eW)(),(0,i.Lk)("kbd",null,"โ†",-1)])])):((0,i.uX)(),(0,i.CE)("span",lt,[...n[28]||(n[28]=[(0,i.Lk)("kbd",null,"Alt",-1),(0,i.eW)(),(0,i.Lk)("kbd",null,"Shift",-1),(0,i.eW)(),(0,i.Lk)("kbd",null,"โ†",-1)])]))]),n[30]||(n[30]=(0,i.Lk)("div",{class:"description"},[(0,i.Lk)("p",null,"Collapse current network.")],-1))]),(0,i.Lk)("div",ct,[(0,i.Lk)("div",ut,[e.isApple?((0,i.uX)(),(0,i.CE)("span",pt,[...n[32]||(n[32]=[(0,i.Lk)("kbd",null,"โŒฅ",-1),(0,i.eW)(),(0,i.Lk)("kbd",null,"โ‡ง",-1),(0,i.eW)(),(0,i.Lk)("kbd",null,"โ†’",-1)])])):((0,i.uX)(),(0,i.CE)("span",dt,[...n[31]||(n[31]=[(0,i.Lk)("kbd",null,"Alt",-1),(0,i.eW)(),(0,i.Lk)("kbd",null,"Shift",-1),(0,i.eW)(),(0,i.Lk)("kbd",null,"โ†’",-1)])]))]),n[33]||(n[33]=(0,i.Lk)("div",{class:"description"},[(0,i.Lk)("p",null,"Expand current network.")],-1))]),(0,i.Lk)("div",ht,[(0,i.Lk)("div",gt,[e.isApple?((0,i.uX)(),(0,i.CE)("span",kt,[...n[35]||(n[35]=[(0,i.Lk)("kbd",null,"โŒฅ",-1),(0,i.eW)(),(0,i.Lk)("kbd",null,"โ†“",-1)])])):((0,i.uX)(),(0,i.CE)("span",mt,[...n[34]||(n[34]=[(0,i.Lk)("kbd",null,"Alt",-1),(0,i.eW)(),(0,i.Lk)("kbd",null,"โ†“",-1)])]))]),n[36]||(n[36]=(0,i.Lk)("div",{class:"description"},[(0,i.Lk)("p",null,"Switch to the next window in the channel list.")],-1))]),(0,i.Lk)("div",ft,[(0,i.Lk)("div",bt,[e.isApple?((0,i.uX)(),(0,i.CE)("span",wt,[...n[38]||(n[38]=[(0,i.Lk)("kbd",null,"โŒฅ",-1),(0,i.eW)(),(0,i.Lk)("kbd",null,"โ†‘",-1)])])):((0,i.uX)(),(0,i.CE)("span",vt,[...n[37]||(n[37]=[(0,i.Lk)("kbd",null,"Alt",-1),(0,i.eW)(),(0,i.Lk)("kbd",null,"โ†‘",-1)])]))]),n[39]||(n[39]=(0,i.Lk)("div",{class:"description"},[(0,i.Lk)("p",null,"Switch to the previous window in the channel list.")],-1))]),(0,i.Lk)("div",yt,[(0,i.Lk)("div",_t,[e.isApple?((0,i.uX)(),(0,i.CE)("span",Lt,[...n[41]||(n[41]=[(0,i.Lk)("kbd",null,"โŒฅ",-1),(0,i.eW)(),(0,i.Lk)("kbd",null,"โŒ˜",-1),(0,i.eW)(),(0,i.Lk)("kbd",null,"โ†“",-1)])])):((0,i.uX)(),(0,i.CE)("span",Ct,[...n[40]||(n[40]=[(0,i.Lk)("kbd",null,"Alt",-1),(0,i.eW)(),(0,i.Lk)("kbd",null,"Ctrl",-1),(0,i.eW)(),(0,i.Lk)("kbd",null,"โ†“",-1)])]))]),n[42]||(n[42]=(0,i.Lk)("div",{class:"description"},[(0,i.Lk)("p",null,"Switch to the next window with unread messages in the channel list.")],-1))]),(0,i.Lk)("div",Mt,[(0,i.Lk)("div",Et,[e.isApple?((0,i.uX)(),(0,i.CE)("span",St,[...n[44]||(n[44]=[(0,i.Lk)("kbd",null,"โŒฅ",-1),(0,i.eW)(),(0,i.Lk)("kbd",null,"โŒ˜",-1),(0,i.eW)(),(0,i.Lk)("kbd",null,"โ†‘",-1)])])):((0,i.uX)(),(0,i.CE)("span",xt,[...n[43]||(n[43]=[(0,i.Lk)("kbd",null,"Alt",-1),(0,i.eW)(),(0,i.Lk)("kbd",null,"Ctrl",-1),(0,i.eW)(),(0,i.Lk)("kbd",null,"โ†‘",-1)])]))]),n[45]||(n[45]=(0,i.Lk)("div",{class:"description"},[(0,i.Lk)("p",null,"Switch to the previous window with unread messages in the channel list.")],-1))]),(0,i.Lk)("div",At,[(0,i.Lk)("div",Tt,[e.isApple?((0,i.uX)(),(0,i.CE)("span",jt,[...n[47]||(n[47]=[(0,i.Lk)("kbd",null,"โŒฅ",-1),(0,i.eW)(),(0,i.Lk)("kbd",null,"A",-1)])])):((0,i.uX)(),(0,i.CE)("span",Xt,[...n[46]||(n[46]=[(0,i.Lk)("kbd",null,"Alt",-1),(0,i.eW)(),(0,i.Lk)("kbd",null,"A",-1)])]))]),n[48]||(n[48]=(0,i.Lk)("div",{class:"description"},[(0,i.Lk)("p",null,"Switch to the first window with unread messages.")],-1))]),(0,i.Lk)("div",Wt,[(0,i.Lk)("div",Pt,[e.isApple?((0,i.uX)(),(0,i.CE)("span",It,[...n[50]||(n[50]=[(0,i.Lk)("kbd",null,"โŒฅ",-1),(0,i.eW)(),(0,i.Lk)("kbd",null,"S",-1)])])):((0,i.uX)(),(0,i.CE)("span",Rt,[...n[49]||(n[49]=[(0,i.Lk)("kbd",null,"Alt",-1),(0,i.eW)(),(0,i.Lk)("kbd",null,"S",-1)])]))]),n[51]||(n[51]=(0,i.Lk)("div",{class:"description"},[(0,i.Lk)("p",null,"Toggle sidebar.")],-1))]),(0,i.Lk)("div",Nt,[(0,i.Lk)("div",Ut,[e.isApple?((0,i.uX)(),(0,i.CE)("span",Ot,[...n[53]||(n[53]=[(0,i.Lk)("kbd",null,"โŒฅ",-1),(0,i.eW)(),(0,i.Lk)("kbd",null,"U",-1)])])):((0,i.uX)(),(0,i.CE)("span",Ft,[...n[52]||(n[52]=[(0,i.Lk)("kbd",null,"Alt",-1),(0,i.eW)(),(0,i.Lk)("kbd",null,"U",-1)])]))]),n[54]||(n[54]=(0,i.Lk)("div",{class:"description"},[(0,i.Lk)("p",null,"Toggle channel user list.")],-1))]),(0,i.Lk)("div",qt,[(0,i.Lk)("div",Kt,[e.isApple?((0,i.uX)(),(0,i.CE)("span",Bt,[...n[56]||(n[56]=[(0,i.Lk)("kbd",null,"โŒฅ",-1),(0,i.eW)(),(0,i.Lk)("kbd",null,"J",-1)])])):((0,i.uX)(),(0,i.CE)("span",Dt,[...n[55]||(n[55]=[(0,i.Lk)("kbd",null,"Alt",-1),(0,i.eW)(),(0,i.Lk)("kbd",null,"J",-1)])]))]),n[57]||(n[57]=(0,i.Lk)("div",{class:"description"},[(0,i.Lk)("p",null,"Toggle jump to channel switcher.")],-1))]),(0,i.Lk)("div",$t,[(0,i.Lk)("div",Ht,[e.isApple?((0,i.uX)(),(0,i.CE)("span",zt,[...n[59]||(n[59]=[(0,i.Lk)("kbd",null,"โŒฅ",-1),(0,i.eW)(),(0,i.Lk)("kbd",null,"M",-1)])])):((0,i.uX)(),(0,i.CE)("span",Qt,[...n[58]||(n[58]=[(0,i.Lk)("kbd",null,"Alt",-1),(0,i.eW)(),(0,i.Lk)("kbd",null,"M",-1)])]))]),n[60]||(n[60]=(0,i.Lk)("div",{class:"description"},[(0,i.Lk)("p",null,"Toggle recent mentions popup.")],-1))]),(0,i.Lk)("div",Vt,[(0,i.Lk)("div",Yt,[e.isApple?((0,i.uX)(),(0,i.CE)("span",Gt,[...n[62]||(n[62]=[(0,i.Lk)("kbd",null,"โŒฅ",-1),(0,i.eW)(),(0,i.Lk)("kbd",null,"/",-1)])])):((0,i.uX)(),(0,i.CE)("span",Jt,[...n[61]||(n[61]=[(0,i.Lk)("kbd",null,"Alt",-1),(0,i.eW)(),(0,i.Lk)("kbd",null,"/",-1)])]))]),n[63]||(n[63]=(0,i.Lk)("div",{class:"description"},[(0,i.Lk)("p",null,"Switch to the help menu.")],-1))]),n[88]||(n[88]=(0,i.Lk)("div",{class:"help-item"},[(0,i.Lk)("div",{class:"subject"},[(0,i.Lk)("span",null,[(0,i.Lk)("kbd",null,"Esc")])]),(0,i.Lk)("div",{class:"description"},[(0,i.Lk)("p",null," Close current contextual window (context menu, image viewer, topic edit, etc) and remove focus from input. ")])],-1)),n[89]||(n[89]=(0,i.Lk)("h2",null,"Formatting Shortcuts",-1)),(0,i.Lk)("div",Zt,[(0,i.Lk)("div",ea,[e.isApple?((0,i.uX)(),(0,i.CE)("span",ta,[...n[65]||(n[65]=[(0,i.Lk)("kbd",null,"โŒ˜",-1),(0,i.eW)(),(0,i.Lk)("kbd",null,"K",-1)])])):((0,i.uX)(),(0,i.CE)("span",na,[...n[64]||(n[64]=[(0,i.Lk)("kbd",null,"Ctrl",-1),(0,i.eW)(),(0,i.Lk)("kbd",null,"K",-1)])]))]),n[66]||(n[66]=(0,i.Lk)("div",{class:"description"},[(0,i.Lk)("p",null,[(0,i.eW)(" Mark any text typed after this shortcut to be colored. After hitting this shortcut, enter an integer in the range "),(0,i.Lk)("code",null,"0โ€”15"),(0,i.eW)(" to select the desired color, or use the autocompletion menu to choose a color name (see below). ")]),(0,i.Lk)("p",null,[(0,i.eW)(" Background color can be specified by putting a comma and another integer in the range "),(0,i.Lk)("code",null,"0โ€”15"),(0,i.eW)(" after the foreground color number (autocompletion works too). ")]),(0,i.Lk)("p",null,[(0,i.eW)(" A color reference can be found "),(0,i.Lk)("a",{href:"https://modern.ircdocs.horse/formatting.html#colors",target:"_blank",rel:"noopener"},"here"),(0,i.eW)(". ")])],-1))]),(0,i.Lk)("div",aa,[(0,i.Lk)("div",sa,[e.isApple?((0,i.uX)(),(0,i.CE)("span",ia,[...n[68]||(n[68]=[(0,i.Lk)("kbd",null,"โŒ˜",-1),(0,i.eW)(),(0,i.Lk)("kbd",null,"B",-1)])])):((0,i.uX)(),(0,i.CE)("span",oa,[...n[67]||(n[67]=[(0,i.Lk)("kbd",null,"Ctrl",-1),(0,i.eW)(),(0,i.Lk)("kbd",null,"B",-1)])]))]),n[69]||(n[69]=(0,i.Lk)("div",{class:"description"},[(0,i.Lk)("p",null,[(0,i.eW)(" Mark all text typed after this shortcut as "),(0,i.Lk)("span",{class:"irc-bold"},"bold"),(0,i.eW)(". ")])],-1))]),(0,i.Lk)("div",la,[(0,i.Lk)("div",ra,[e.isApple?((0,i.uX)(),(0,i.CE)("span",ua,[...n[71]||(n[71]=[(0,i.Lk)("kbd",null,"โŒ˜",-1),(0,i.eW)(),(0,i.Lk)("kbd",null,"U",-1)])])):((0,i.uX)(),(0,i.CE)("span",ca,[...n[70]||(n[70]=[(0,i.Lk)("kbd",null,"Ctrl",-1),(0,i.eW)(),(0,i.Lk)("kbd",null,"U",-1)])]))]),n[72]||(n[72]=(0,i.Lk)("div",{class:"description"},[(0,i.Lk)("p",null,[(0,i.eW)(" Mark all text typed after this shortcut as "),(0,i.Lk)("span",{class:"irc-underline"},"underlined"),(0,i.eW)(". ")])],-1))]),(0,i.Lk)("div",da,[(0,i.Lk)("div",pa,[e.isApple?((0,i.uX)(),(0,i.CE)("span",ga,[...n[74]||(n[74]=[(0,i.Lk)("kbd",null,"โŒ˜",-1),(0,i.eW)(),(0,i.Lk)("kbd",null,"I",-1)])])):((0,i.uX)(),(0,i.CE)("span",ha,[...n[73]||(n[73]=[(0,i.Lk)("kbd",null,"Ctrl",-1),(0,i.eW)(),(0,i.Lk)("kbd",null,"I",-1)])]))]),n[75]||(n[75]=(0,i.Lk)("div",{class:"description"},[(0,i.Lk)("p",null,[(0,i.eW)(" Mark all text typed after this shortcut as "),(0,i.Lk)("span",{class:"irc-italic"},"italics"),(0,i.eW)(". ")])],-1))]),(0,i.Lk)("div",ma,[(0,i.Lk)("div",ka,[e.isApple?((0,i.uX)(),(0,i.CE)("span",ba,[...n[77]||(n[77]=[(0,i.Lk)("kbd",null,"โŒ˜",-1),(0,i.eW)(),(0,i.Lk)("kbd",null,"S",-1)])])):((0,i.uX)(),(0,i.CE)("span",fa,[...n[76]||(n[76]=[(0,i.Lk)("kbd",null,"Ctrl",-1),(0,i.eW)(),(0,i.Lk)("kbd",null,"S",-1)])]))]),n[78]||(n[78]=(0,i.Lk)("div",{class:"description"},[(0,i.Lk)("p",null,[(0,i.eW)(" Mark all text typed after this shortcut as "),(0,i.Lk)("span",{class:"irc-strikethrough"},"struck through"),(0,i.eW)(". ")])],-1))]),(0,i.Lk)("div",va,[(0,i.Lk)("div",wa,[e.isApple?((0,i.uX)(),(0,i.CE)("span",_a,[...n[80]||(n[80]=[(0,i.Lk)("kbd",null,"โŒ˜",-1),(0,i.eW)(),(0,i.Lk)("kbd",null,"M",-1)])])):((0,i.uX)(),(0,i.CE)("span",ya,[...n[79]||(n[79]=[(0,i.Lk)("kbd",null,"Ctrl",-1),(0,i.eW)(),(0,i.Lk)("kbd",null,"M",-1)])]))]),n[81]||(n[81]=(0,i.Lk)("div",{class:"description"},[(0,i.Lk)("p",null,[(0,i.eW)(" Mark all text typed after this shortcut as "),(0,i.Lk)("span",{class:"irc-monospace"},"monospaced"),(0,i.eW)(". ")])],-1))]),(0,i.Lk)("div",Ca,[(0,i.Lk)("div",La,[e.isApple?((0,i.uX)(),(0,i.CE)("span",Ea,[...n[83]||(n[83]=[(0,i.Lk)("kbd",null,"โŒ˜",-1),(0,i.eW)(),(0,i.Lk)("kbd",null,"O",-1)])])):((0,i.uX)(),(0,i.CE)("span",Ma,[...n[82]||(n[82]=[(0,i.Lk)("kbd",null,"Ctrl",-1),(0,i.eW)(),(0,i.Lk)("kbd",null,"O",-1)])]))]),n[84]||(n[84]=(0,i.Lk)("div",{class:"description"},[(0,i.Lk)("p",null," Mark all text typed after this shortcut to be reset to its original formatting. ")],-1))]),n[90]||(n[90]=(0,i.Fv)('<h2>Autocompletion</h2><p> To auto-complete nicknames, channels, commands, and emoji, type one of the characters below to open a suggestion list. Use the <kbd>โ†‘</kbd> and <kbd>โ†“</kbd> keys to highlight an item, and insert it by pressing <kbd>Tab</kbd> or <kbd>Enter</kbd> (or by clicking the desired item). </p><p>Autocompletion can be disabled in settings.</p><div class="help-item"><div class="subject"><code>@</code></div><div class="description"><p>Nickname</p></div></div><div class="help-item"><div class="subject"><code>#</code></div><div class="description"><p>Channel</p></div></div><div class="help-item"><div class="subject"><code>/</code></div><div class="description"><p>Commands (see list of commands below)</p></div></div><div class="help-item"><div class="subject"><code>:</code></div><div class="description"><p> Emoji (note: requires two search characters, to avoid conflicting with common emoticons like <code>:)</code>) </p></div></div><h2>Commands</h2><div class="help-item"><div class="subject"><code>/away [message]</code></div><div class="description"><p>Mark yourself as away with an optional message.</p></div></div><div class="help-item"><div class="subject"><code>/back</code></div><div class="description"><p>Remove your away status (set with <code>/away</code>).</p></div></div><div class="help-item"><div class="subject"><code>/ban nick</code></div><div class="description"><p> Ban (<code>+b</code>) a user from the current channel. This can be a nickname or a hostmask. </p></div></div><div class="help-item"><div class="subject"><code>/banlist</code></div><div class="description"><p>Load the banlist for the current channel.</p></div></div><div class="help-item"><div class="subject"><code>/collapse</code></div><div class="description"><p> Collapse all previews in the current channel (opposite of <code>/expand</code>) </p></div></div><div class="help-item"><div class="subject"><code>/connect host [port]</code></div><div class="description"><p> Connect to a new IRC network. If <code>port</code> starts with a <code>+</code> sign, the connection will be made secure using TLS. </p><p>Alias: <code>/server</code></p></div></div><div class="help-item"><div class="subject"><code>/ctcp target cmd [args]</code></div><div class="description"><p> Send a <abbr title="Client-to-client protocol">CTCP</abbr> request. Read more about this on <a href="https://en.wikipedia.org/wiki/Client-to-client_protocol" target="_blank" rel="noopener">the dedicated Wikipedia article</a>. </p></div></div><div class="help-item"><div class="subject"><code>/deop nick [...nick]</code></div><div class="description"><p> Remove op (<code>-o</code>) from one or several users in the current channel. </p></div></div><div class="help-item"><div class="subject"><code>/devoice nick [...nick]</code></div><div class="description"><p> Remove voice (<code>-v</code>) from one or several users in the current channel. </p></div></div><div class="help-item"><div class="subject"><code>/disconnect [message]</code></div><div class="description"><p>Disconnect from the current network with an optionally-provided message.</p></div></div><div class="help-item"><div class="subject"><code>/expand</code></div><div class="description"><p> Expand all previews in the current channel (opposite of <code>/collapse</code>) </p></div></div><div class="help-item"><div class="subject"><code>/invite nick [channel]</code></div><div class="description"><p> Invite a user to the specified channel. If <code>channel</code> is omitted, user will be invited to the current channel. </p></div></div><div class="help-item"><div class="subject"><code>/ignore nick</code></div><div class="description"><p> Block any messages from the specified user on the current network. This can be a nickname or a hostmask. </p></div></div><div class="help-item"><div class="subject"><code>/ignorelist</code></div><div class="description"><p>Load the list of ignored users for the current network.</p></div></div><div class="help-item"><div class="subject"><code>/join channel [password]</code></div><div class="description"><p> Join a channel. Password is only needed in protected channels and can usually be omitted. </p></div></div><div class="help-item"><div class="subject"><code>/kick nick [reason]</code></div><div class="description"><p>Kick a user from the current channel.</p></div></div><div class="help-item"><div class="subject"><code>/kickban nick [reason]</code></div><div class="description"><p> Kick and ban (<code>+b</code>) a user from the current channel. Unlike <code>/ban</code>, only nicknames (and not host masks) can be used. </p></div></div><div class="help-item"><div class="subject"><code>/list</code></div><div class="description"><p>Retrieve a list of available channels on this network.</p></div></div><div class="help-item"><div class="subject"><code>/me message</code></div><div class="description"><p> Send an action message to the current channel. The Lounge will display it inline, as if the message was posted in the third person. </p></div></div><div class="help-item"><div class="subject"><code>/mode flags [args]</code></div><div class="description"><p> Set the given flags to the current channel if the active window is a channel, another user if the active window is a private message window, or yourself if the current window is a server window. </p></div></div><div class="help-item"><div class="subject"><code>/msg channel message</code></div><div class="description"><p>Send a message to the specified channel.</p></div></div><div class="help-item"><div class="subject"><code>/mute [...channel]</code></div><div class="description"><p> Prevent messages from generating any feedback for a channel. This turns off the highlight indicator, hides mentions and inhibits push notifications. Muting a network lobby mutes the entire network. Not specifying any channel target mutes the current channel. Revert with <code>/unmute</code>. </p></div></div><div class="help-item"><div class="subject"><code>/nick newnick</code></div><div class="description"><p>Change your nickname on the current network.</p></div></div><div class="help-item"><div class="subject"><code>/notice channel message</code></div><div class="description"><p>Sends a notice message to the specified channel.</p></div></div><div class="help-item"><div class="subject"><code>/op nick [...nick]</code></div><div class="description"><p>Give op (<code>+o</code>) to one or several users in the current channel.</p></div></div><div class="help-item"><div class="subject"><code>/part [channel]</code></div><div class="description"><p> Close the specified channel or private message window, or the current channel if <code>channel</code> is omitted. </p><p>Aliases: <code>/close</code>, <code>/leave</code></p></div></div><div class="help-item"><div class="subject"><code>/rejoin</code></div><div class="description"><p> Leave and immediately rejoin the current channel. Useful to quickly get op from ChanServ in an empty channel, for example. </p><p>Alias: <code>/cycle</code></p></div></div><div class="help-item"><div class="subject"><code>/query nick</code></div><div class="description"><p>Send a private message to the specified user.</p></div></div><div class="help-item"><div class="subject"><code>/quit [message]</code></div><div class="description"><p>Disconnect from the current network with an optional message.</p></div></div><div class="help-item"><div class="subject"><code>/raw message</code></div><div class="description"><p>Send a raw message to the current IRC network.</p><p>Aliases: <code>/quote</code>, <code>/send</code></p></div></div><div class="help-item"><div class="subject"><code>/slap nick</code></div><div class="description"><p>Slap someone in the current channel with a trout!</p></div></div>',39)),e.store.state.settings.searchEnabled?((0,i.uX)(),(0,i.CE)("div",xa,[...n[85]||(n[85]=[(0,i.Lk)("div",{class:"subject"},[(0,i.Lk)("code",null,"/search query")],-1),(0,i.Lk)("div",{class:"description"},[(0,i.Lk)("p",null,"Search for messages in the current channel / user")],-1)])])):(0,i.Q3)("",!0),n[91]||(n[91]=(0,i.Fv)('<div class="help-item"><div class="subject"><code>/topic [newtopic]</code></div><div class="description"><p> Get the topic in the current channel. If <code>newtopic</code> is specified, sets the topic in the current channel. </p></div></div><div class="help-item"><div class="subject"><code>/unban nick</code></div><div class="description"><p> Unban (<code>-b</code>) a user from the current channel. This can be a nickname or a hostmask. </p></div></div><div class="help-item"><div class="subject"><code>/unignore nick</code></div><div class="description"><p> Unblock messages from the specified user on the current network. This can be a nickname or a hostmask. </p></div></div><div class="help-item"><div class="subject"><code>/unmute [...channel]</code></div><div class="description"><p> Un-mutes the given channel(s) or the current channel if no channel is provided. See <code>/mute</code> for more information. </p></div></div><div class="help-item"><div class="subject"><code>/voice nick [...nick]</code></div><div class="description"><p> Give voice (<code>+v</code>) to one or several users in the current channel. </p></div></div><div class="help-item"><div class="subject"><code>/whois nick</code></div><div class="description"><p>Retrieve information about the given user on the current network.</p></div></div>',6))])])}]]),Ia={id:"changelog",class:"window","aria-label":"Changelog"},Na={class:"header"},Ua={class:"container"},Fa={class:"title"},Oa=["innerHTML"],qa=["href"],Ka={key:1},Da=(0,i.pM)({name:"Changelog",components:{SidebarToggle:wn},setup(){const e=(0,o.Pj)(),n=(0,x.KR)(null),t=()=>{n.value&&n.value.querySelectorAll("a").forEach(e=>{e.setAttribute("target","_blank"),e.setAttribute("rel","noopener"),e.querySelector("img")&&e.classList.add("toggle-thumbnail")})};return(0,i.sV)(()=>{e.state.versionData||re.A.emit("changelog"),t()}),(0,i.$u)(()=>{t()}),{store:e}}}),Ba=(0,q.A)(Da,[["render",function(e,n,t,a,s,o){const r=(0,i.g2)("SidebarToggle"),c=(0,i.g2)("router-link");return(0,i.uX)(),(0,i.CE)("div",Ia,[(0,i.Lk)("div",Na,[(0,i.bF)(r)]),(0,i.Lk)("div",Ua,[(0,i.bF)(c,{id:"back-to-help",to:"/help"},{default:(0,i.k6)(()=>[...n[0]||(n[0]=[(0,i.eW)("ยซ Help",-1)])]),_:1}),e.store.state.versionData?.current&&e.store.state.versionData?.current.version?((0,i.uX)(),(0,i.CE)(i.FK,{key:0},[(0,i.Lk)("h1",Fa," Release notes for "+(0,l.v_)(e.store.state.versionData.current.version),1),e.store.state.versionData.current.changelog?((0,i.uX)(),(0,i.CE)(i.FK,{key:0},[n[1]||(n[1]=(0,i.Lk)("h3",null,"Introduction",-1)),(0,i.Lk)("div",{ref:"changelog",class:"changelog-text",innerHTML:e.store.state.versionData.current.changelog},null,8,Oa)],64)):((0,i.uX)(),(0,i.CE)(i.FK,{key:1},[n[2]||(n[2]=(0,i.Lk)("p",null,"Unable to retrieve changelog for current release from GitHub.",-1)),(0,i.Lk)("p",null,[e.store.state.serverConfiguration?.version?((0,i.uX)(),(0,i.CE)("a",{key:0,href:`https://github.com/LordBex/thelounge/releases/tag/v${e.store.state.serverConfiguration?.version}`,target:"_blank",rel:"noopener"},"View release notes for this version on GitHub",8,qa)):(0,i.Q3)("",!0)])],64))],64)):((0,i.uX)(),(0,i.CE)("p",Ka,"Loading changelogโ€ฆ"))])])}]]),$a=(0,i.pM)({name:"NetworkEdit",components:{NetworkForm:_n},setup(){const e=(0,S.lq)(),n=(0,o.Pj)(),t=(0,x.KR)(!1),a=(0,x.KR)(null),s=()=>{re.A.emit("network:get",String(e.params.uuid||"")),a.value=n.getters.findNetwork(String(e.params.uuid||""))};return(0,i.wB)(()=>e.params.uuid,()=>{s()}),(0,i.sV)(()=>{s()}),{disabled:t,networkData:a,handleSubmit:e=>{t.value=!0,re.A.emit("network:edit",e);const a=n.getters.findNetwork(e.uuid);a&&(a.name=a.channels[0].name=e.name,mc(a.channels[0]))}}}}),Ha=(0,q.A)($a,[["render",function(e,n,t,a,s,o){const l=(0,i.g2)("NetworkForm");return e.networkData?((0,i.uX)(),(0,i.Wv)(l,{key:0,"handle-submit":e.handleSubmit,defaults:e.networkData,disabled:e.disabled},null,8,["handle-submit","defaults","disabled"])):(0,i.Q3)("",!0)}]]),Qa={id:"chat-container",class:"window"},za={class:"chat-view","data-type":"search-results","aria-label":"Search results",role:"tabpanel"},Va={key:0,class:"header"},Ya={class:"title"},Ja={class:"channel-name"},Ga={class:"topic"},Za={key:1,class:"chat-content"},es={ref:"chat",class:"chat",tabindex:"-1"},ns={class:"show-more"},ts=["disabled"],as={key:0},ss={key:1},os={key:0,class:"search-status"},is={key:1,class:"search-status"},ls={class:"messages",role:"log","aria-live":"polite","aria-relevant":"additions"},rs=["data-jump-to"],cs=["id","data-type","data-command","data-from","data-bridged"],us=["aria-label"],ds={class:"from"},ps={class:"content"},hs={class:"content",dir:"auto"},gs={key:0,class:"from"},ms={key:1,class:"from"},ks={key:2,class:"from"},fs={class:"content",dir:"auto"},bs={key:0,"aria-label":"This message was shown in your active channel",class:"msg-shown-in-active tooltipped tooltipped-e"},vs=["aria-label"];var ws=t(4353),ys=t.n(ws),_s=t(7321),Cs=t(6640);const Ls={key:0,ref:"container",class:"preview",dir:"ltr"},Ms=["href"],Es=["src"],xs={class:"toggle-text",dir:"auto"},Ss={class:"head"},As={class:"overflowable"},Ts=["href","title"],Xs=["aria-expanded","aria-label"],js={class:"body overflowable"},Ws=["href","title"],Ps=["href"],Rs=["src"],Is=["src","type"],Ns=["src","type"],Us={key:0},Fs=["href"],Os=["href"],qs={class:"prefetch-error"},Ks=["aria-expanded","aria-label"];var Ds=t(5696),Bs=t(3388);const $s=(0,i.pM)({name:"LinkPreview",props:{link:{type:Object,required:!0},keepScrollPosition:{type:Function,required:!0},channel:{type:Object,required:!0}},setup(e){const n=(0,o.Pj)(),t=(0,x.KR)(!1),a=(0,x.KR)(!1),s=(0,i.WQ)(gu);(0,Ds.V6)((e,n,t)=>{if(s?.value?.link)return s.value.closeViewer(),t(!1);t()});const l=(0,x.KR)(null),c=(0,x.KR)(null),u=(0,i.EW)(()=>a.value?"Less":"More"),d=(0,i.EW)(()=>{if(e.link.maxSize)return(0,Bs.A)(e.link.maxSize)}),p=()=>{(0,i.dY)(()=>{l.value&&c.value&&(t.value=l.value.offsetWidth>=c.value.offsetWidth)}).catch(e=>{console.error("Error in LinkPreview.handleResize",e)})},h=()=>{e.link.sourceLoaded=!0,e.keepScrollPosition(),"link"===e.link.type&&p()},g=()=>{"loading"!==e.link.type&&("error"===e.link.type&&h(),"link"===e.link.type&&(p(),e.keepScrollPosition()))},m=()=>{if(null!==e.link.shown)return;let t=!1;switch(e.link.type){case"error":"image-too-big"===e.link.error&&(t=n.state.settings.media);break;case"link":t=n.state.settings.links;break;default:t=n.state.settings.media}e.link.shown=t};return m(),(0,i.wB)(()=>e.link.type,()=>{m(),g()}),(0,i.sV)(()=>{r.A.on("resize",p),g()}),(0,i.xo)(()=>{r.A.off("resize",p)}),(0,i.hi)(()=>{e.link.sourceLoaded=!1}),{moreButtonLabel:u,imageMaxSize:d,onThumbnailClick:n=>{n.preventDefault(),s?.value&&(s.value.channel=e.channel,s.value.link=e.link)},onThumbnailError:()=>{e.link.thumb="",h()},onMoreClick:()=>{a.value=!a.value,e.keepScrollPosition()},onPreviewReady:h,onPreviewUpdate:g,showMoreButton:t,isContentShown:a,content:l,container:c}}}),Hs=(0,q.A)($s,[["render",function(e,n,t,a,o,r){return e.link.shown?(0,i.bo)(((0,i.uX)(),(0,i.CE)("div",Ls,[(0,i.Lk)("div",{ref:"content",class:(0,l.C4)(["toggle-content","toggle-type-"+e.link.type,{opened:e.isContentShown}])},["link"===e.link.type?((0,i.uX)(),(0,i.CE)(i.FK,{key:0},[e.link.thumb?(0,i.bo)(((0,i.uX)(),(0,i.CE)("a",{key:0,href:e.link.link,class:"toggle-thumbnail",target:"_blank",rel:"noopener",onClick:n[3]||(n[3]=(...n)=>e.onThumbnailClick&&e.onThumbnailClick(...n))},[(0,i.Lk)("img",{src:e.link.thumb,decoding:"async",alt:"",class:"thumb",onError:n[0]||(n[0]=(...n)=>e.onThumbnailError&&e.onThumbnailError(...n)),onAbort:n[1]||(n[1]=(...n)=>e.onThumbnailError&&e.onThumbnailError(...n)),onLoad:n[2]||(n[2]=(...n)=>e.onPreviewReady&&e.onPreviewReady(...n))},null,40,Es)],8,Ms)),[[s.aG,e.link.sourceLoaded]]):(0,i.Q3)("",!0),(0,i.Lk)("div",xs,[(0,i.Lk)("div",Ss,[(0,i.Lk)("div",As,[(0,i.Lk)("a",{href:e.link.link,title:e.link.head,target:"_blank",rel:"noopener"},(0,l.v_)(e.link.head),9,Ts)]),e.showMoreButton?((0,i.uX)(),(0,i.CE)("button",{key:0,"aria-expanded":e.isContentShown,"aria-label":e.moreButtonLabel,dir:"auto",class:"more",onClick:n[4]||(n[4]=(...n)=>e.onMoreClick&&e.onMoreClick(...n))},[...n[10]||(n[10]=[(0,i.Lk)("span",{class:"more-caret"},null,-1)])],8,Xs)):(0,i.Q3)("",!0)]),(0,i.Lk)("div",js,[(0,i.Lk)("a",{href:e.link.link,title:e.link.body,target:"_blank",rel:"noopener"},(0,l.v_)(e.link.body),9,Ws)])])],64)):"image"===e.link.type?((0,i.uX)(),(0,i.CE)("a",{key:1,href:e.link.link,class:"toggle-thumbnail",target:"_blank",rel:"noopener",onClick:n[6]||(n[6]=(...n)=>e.onThumbnailClick&&e.onThumbnailClick(...n))},[(0,i.bo)((0,i.Lk)("img",{src:e.link.thumb,decoding:"async",alt:"",onLoad:n[5]||(n[5]=(...n)=>e.onPreviewReady&&e.onPreviewReady(...n))},null,40,Rs),[[s.aG,e.link.sourceLoaded]])],8,Ps)):"video"===e.link.type?(0,i.bo)(((0,i.uX)(),(0,i.CE)("video",{key:2,preload:"metadata",controls:"",onCanplay:n[7]||(n[7]=(...n)=>e.onPreviewReady&&e.onPreviewReady(...n))},[(0,i.Lk)("source",{src:e.link.media,type:e.link.mediaType},null,8,Is)],544)),[[s.aG,e.link.sourceLoaded]]):"audio"===e.link.type?(0,i.bo)(((0,i.uX)(),(0,i.CE)("audio",{key:3,controls:"",preload:"metadata",onCanplay:n[8]||(n[8]=(...n)=>e.onPreviewReady&&e.onPreviewReady(...n))},[(0,i.Lk)("source",{src:e.link.media,type:e.link.mediaType},null,8,Ns)],544)),[[s.aG,e.link.sourceLoaded]]):"error"===e.link.type?((0,i.uX)(),(0,i.CE)(i.FK,{key:4},["image-too-big"===e.link.error?((0,i.uX)(),(0,i.CE)("em",Us,[(0,i.eW)(" This image is larger than "+(0,l.v_)(e.imageMaxSize)+" and cannot be previewed. ",1),(0,i.Lk)("a",{href:e.link.link,target:"_blank",rel:"noopener"},"Click here",8,Fs),n[11]||(n[11]=(0,i.eW)(" to open it in a new window. ",-1))])):"message"===e.link.error?((0,i.uX)(),(0,i.CE)(i.FK,{key:1},[(0,i.Lk)("div",null,[(0,i.Lk)("em",null,[n[12]||(n[12]=(0,i.eW)(" A preview could not be loaded. ",-1)),(0,i.Lk)("a",{href:e.link.link,target:"_blank",rel:"noopener"},"Click here",8,Os),n[13]||(n[13]=(0,i.eW)(" to open it in a new window. ",-1))]),n[14]||(n[14]=(0,i.Lk)("br",null,null,-1)),(0,i.Lk)("pre",qs,(0,l.v_)(e.link.message)+"\n\n",1)]),(0,i.Lk)("button",{"aria-expanded":e.isContentShown,"aria-label":e.moreButtonLabel,class:"more",onClick:n[9]||(n[9]=(...n)=>e.onMoreClick&&e.onMoreClick(...n))},[...n[15]||(n[15]=[(0,i.Lk)("span",{class:"more-caret"},null,-1)])],8,Ks)],64)):(0,i.Q3)("",!0)],64)):(0,i.Q3)("",!0)],2)],512)),[[s.aG,e.link.sourceLoaded||"link"===e.link.type]]):(0,i.Q3)("",!0)}]]);var Qs=t(3568);const zs=t(1191),Vs=zs.keys().reduce((e,n)=>(e["message-"+n.substring(2,n.length-4)]=zs(n).default,e),{});let Ys=function(e){return e.UNHANDLED="unhandled",e.ACTION="action",e.AWAY="away",e.BACK="back",e.ERROR="error",e.INVITE="invite",e.JOIN="join",e.KICK="kick",e.LOGIN="login",e.LOGOUT="logout",e.MESSAGE="message",e.MODE="mode",e.MODE_CHANNEL="mode_channel",e.MODE_USER="mode_user",e.MONOSPACE_BLOCK="monospace_block",e.NICK="nick",e.NOTICE="notice",e.PART="part",e.QUIT="quit",e.CTCP="ctcp",e.CTCP_REQUEST="ctcp_request",e.CHGHOST="chghost",e.TOPIC="topic",e.TOPIC_SET_BY="topic_set_by",e.WHOIS="whois",e.RAW="raw",e.PLUGIN="plugin",e.WALLOPS="wallops",e.MASS_EVENT="mass_event",e}({});const Js=[{type:"basic",name:"Anthelion",description:"[ SB ] (<nick>): <message>",matches:["sauron"],regex:/^.*?\[.*?SB.*?\][^(]+\((?<nick>[^):]+)\):.+?(?<content>.*)/,transform(e){return Gs(e.text.match(this.regex))}},{type:"basic",name:"BeyondHD + ReelFliX",description:"[SB] <nick>: <message> | [Chatbox] <nick>: <message>",matches:["willie","wall-e"],regex:/^.*?\[(?:SB|Chatbox)\][^\w]+(?<nick>[^:]+): (?<content>.*)/,transform(e){return Gs(e.text.match(this.regex))}},{type:"basic",name:"UploadCX + LST + OnlyEncodes+ + HomiesHelpDesk + Aither + DarkPeers + Luminarr",description:"[nick] message | [nick]: message | nick: message | nick message",matches:["ulcx","bot","bridgebot","bbot","chatbot","darkpeers","luminarr"],regex:/^\[?(?<nick>[^:\]]+)\]?:? (?<content>.*)/,transform(e){return Gs(e.text.match(this.regex))}},{type:"basic",name:"RocketHD",description:"๐Ÿ›ฐ๏ธ<nick>: <message>",matches:["rocketnouncer"],regex:/^๐Ÿ›ฐ๏ธ(?<nick>[^:]+?): (?<content>.*)/v,transform(e){return Gs(e.text.match(this.regex))}},{type:"basic",name:"DigitalCore",description:"<<nick>> <message>",matches:["endor"],regex:/^<(?<nick>[^>]+?)> (?<content>.*)/,transform(e){return Gs(e.text.match(this.regex))}},{type:"basic",name:"HUNO (Discord)",description:"ยป<nick> (<rank>)ยซ <message> | ยป<nick>ยซ <message>",matches:["mellos"],regex:/^ยป(?<nick>[^ยซ]+?)(?: (?:\p{RGI_Emoji}+|\(.+?\)))?ยซ (?<content>.*)/v,transform(e){return Gs(e.text.match(this.regex))}},{type:"advanced",name:"HUNO (Web)",description:"Nicks in the format '<nick>-web'",matches:e=>e.endsWith("-web")||e.endsWith("-web",e.length-2),transform:e=>({nick:e.from.nick.slice(0,-4)})}];function Gs(e){return e?.groups}var Zs=t(1654);Vs.ParsedMessage=Qs.A,Vs.LinkPreview=Hs,Vs.Username=Cs.A;const eo=(0,i.pM)({name:"Message",components:Vs,props:{message:{type:Object,required:!0},channel:{type:Object,required:!1},network:{type:Object,required:!0},keepScrollPosition:Function,isPreviousSource:Boolean,isFocused:Boolean},setup(e){const n=(0,o.Pj)(),t=(0,i.EW)(()=>{let e;return e=n.state.settings.use12hClock?n.state.settings.showSeconds?"msg12hWithSeconds":"msg12h":n.state.settings.showSeconds?"msgWithSeconds":"msgDefault",a.timeFormats[e]}),s=(0,i.EW)(()=>ys()(e.message.time).format(t.value)),l=(0,i.EW)(()=>(0,_s.A)(e.message.time)),r=(0,i.EW)(()=>"message-"+(e.message.type||"invalid")),c=(0,i.EW)(()=>e.channel?.type===Zs.rR.CHANNEL&&n.state.settings.beautifyBridgedMessages&&e.message.type===Ys.MESSAGE?function(e){const n=e.from?.nick?.toLowerCase();if(!e.text||!n)return e;const t=Js.find(e=>"basic"===e.type?e.matches.includes(n):"advanced"===e.type?e.matches(n):void 0);if(!t)return e;const a=t.transform(e);if(!a||!a.nick)return e;const s=structuredClone((0,x.ux)(e));var o;return s.text=a.content??s.text,s.from={...s.from,nick:(o=a.nick,o.replaceAll(/[^0-9a-z_-|]/gi,"")),mode:"",shoutbox:!0,original_nick:n},s}(e.message):e.message);return{timeFormat:t,prettyMessage:c,messageTime:s,messageTimeLocale:l,messageComponent:r,isAction:()=>!!e.message.type&&void 0!==Vs["message-"+e.message.type]}}}),no=(0,q.A)(eo,[["render",function(e,n,t,a,s,o){const r=(0,i.g2)("Username"),c=(0,i.g2)("ParsedMessage"),u=(0,i.g2)("LinkPreview");return(0,i.uX)(),(0,i.CE)("div",{id:"msg-"+e.prettyMessage.id,class:(0,l.C4)(["msg",{self:e.prettyMessage.self,highlight:e.prettyMessage.highlight,"is-focused":e.isFocused,"previous-source":e.isPreviousSource}]),"data-type":e.prettyMessage.type,"data-command":e.prettyMessage.command,"data-from":e.prettyMessage.from&&(e.prettyMessage.from.shoutbox?e.prettyMessage.from.original_nick:e.prettyMessage.from.nick),"data-bridged":e.prettyMessage.from?.shoutbox},[(0,i.Lk)("span",{"aria-hidden":"true","aria-label":e.messageTimeLocale,class:"time tooltipped tooltipped-e"},(0,l.v_)(`${e.messageTime} `),9,us),"unhandled"===e.prettyMessage.type?((0,i.uX)(),(0,i.CE)(i.FK,{key:0},[(0,i.Lk)("span",ds,"["+(0,l.v_)(e.prettyMessage.command)+"]",1),(0,i.Lk)("span",ps,[((0,i.uX)(!0),(0,i.CE)(i.FK,null,(0,i.pI)(e.prettyMessage.params,(e,n)=>((0,i.uX)(),(0,i.CE)("span",{key:n},(0,l.v_)(` ${e} `),1))),128))])],64)):e.isAction()?((0,i.uX)(),(0,i.CE)(i.FK,{key:1},[n[0]||(n[0]=(0,i.Lk)("span",{class:"from"},[(0,i.Lk)("span",{class:"only-copy","aria-hidden":"true"},"***ย ")],-1)),((0,i.uX)(),(0,i.Wv)((0,i.$y)(e.messageComponent),{network:e.network,message:e.prettyMessage},null,8,["network","message"]))],64)):"action"===e.prettyMessage.type?((0,i.uX)(),(0,i.CE)(i.FK,{key:2},[n[2]||(n[2]=(0,i.Lk)("span",{class:"from"},[(0,i.Lk)("span",{class:"only-copy"},"*ย ")],-1)),(0,i.Lk)("span",hs,[(0,i.bF)(r,{user:e.prettyMessage.from,network:e.network,channel:e.channel,dir:"auto"},null,8,["user","network","channel"]),n[1]||(n[1]=(0,i.eW)()),(0,i.bF)(c,{message:e.prettyMessage},null,8,["message"]),((0,i.uX)(!0),(0,i.CE)(i.FK,null,(0,i.pI)(e.prettyMessage.previews,n=>((0,i.uX)(),(0,i.Wv)(u,{key:n.link,"keep-scroll-position":e.keepScrollPosition,link:n,channel:e.channel},null,8,["keep-scroll-position","link","channel"]))),128))])],64)):((0,i.uX)(),(0,i.CE)(i.FK,{key:3},["message"===e.prettyMessage.type?((0,i.uX)(),(0,i.CE)("span",gs,[e.prettyMessage.from&&e.prettyMessage.from.nick?((0,i.uX)(),(0,i.CE)(i.FK,{key:0},[n[3]||(n[3]=(0,i.Lk)("span",{class:"only-copy","aria-hidden":"true"},"<",-1)),(0,i.bF)(r,{user:e.prettyMessage.from,network:e.network,channel:e.channel},null,8,["user","network","channel"]),n[4]||(n[4]=(0,i.Lk)("span",{class:"only-copy","aria-hidden":"true"},">ย ",-1))],64)):(0,i.Q3)("",!0)])):"plugin"===e.prettyMessage.type?((0,i.uX)(),(0,i.CE)("span",ms,[e.prettyMessage.from&&e.prettyMessage.from.nick?((0,i.uX)(),(0,i.CE)(i.FK,{key:0},[n[5]||(n[5]=(0,i.Lk)("span",{class:"only-copy","aria-hidden":"true"},"[",-1)),(0,i.eW)(" "+(0,l.v_)(e.prettyMessage.from.nick)+" ",1),n[6]||(n[6]=(0,i.Lk)("span",{class:"only-copy","aria-hidden":"true"},"]ย ",-1))],64)):(0,i.Q3)("",!0)])):((0,i.uX)(),(0,i.CE)("span",ks,[e.prettyMessage.from&&e.prettyMessage.from.nick?((0,i.uX)(),(0,i.CE)(i.FK,{key:0},[n[7]||(n[7]=(0,i.Lk)("span",{class:"only-copy","aria-hidden":"true"},"-",-1)),(0,i.bF)(r,{user:e.prettyMessage.from,network:e.network,channel:e.channel},null,8,["user","network","channel"]),n[8]||(n[8]=(0,i.Lk)("span",{class:"only-copy","aria-hidden":"true"},"-ย ",-1))],64)):(0,i.Q3)("",!0)])),(0,i.Lk)("span",fs,[e.prettyMessage.showInActive?((0,i.uX)(),(0,i.CE)("span",bs,[...n[9]||(n[9]=[(0,i.Lk)("span",null,null,-1)])])):(0,i.Q3)("",!0),e.prettyMessage.statusmsgGroup?((0,i.uX)(),(0,i.CE)("span",{key:1,"aria-label":`This message was only shown to users with ${e.prettyMessage.statusmsgGroup} mode`,class:"msg-statusmsg tooltipped tooltipped-e"},[(0,i.Lk)("span",null,(0,l.v_)(e.prettyMessage.statusmsgGroup),1)],8,vs)):(0,i.Q3)("",!0),(0,i.bF)(c,{network:e.network,message:e.prettyMessage},null,8,["network","message"]),((0,i.uX)(!0),(0,i.CE)(i.FK,null,(0,i.pI)(e.prettyMessage.previews,n=>((0,i.uX)(),(0,i.Wv)(u,{key:n.link,"keep-scroll-position":e.keepScrollPosition,link:n,channel:e.channel},null,8,["keep-scroll-position","link","channel"]))),128))])],64))],10,cs)}]]),to={class:"input-wrapper"},ao=(0,i.pM)({name:"MessageSearchForm",props:{network:{type:Object,required:!0},channel:{type:Object,required:!0}},setup(e){const n=(0,x.KR)(!1),t=(0,x.KR)(""),a=(0,S.rd)(),s=(0,S.lq)(),o=(0,x.KR)(null),l=(0,i.EW)(()=>"SearchResults"===s.name);return(0,i.wB)(s,e=>{e.query.q&&(t.value=String(e.query.q))}),(0,i.sV)(()=>{t.value=String(s.query.q||""),n.value=l.value,o.value&&!t.value&&n.value&&o.value.focus()}),{searchOpened:n,searchInput:t,searchInputField:o,closeSearch:()=>{l.value||(t.value="",n.value=!1)},toggleSearch:()=>{n.value?o.value?.blur():(n.value=!0,o.value?.focus())},searchMessages:n=>{n.preventDefault(),t.value&&a.push({name:"SearchResults",params:{id:e.channel.id},query:{q:t.value}}).catch(e=>{"NavigationDuplicated"===e.name&&r.A.emit("re-search")})},onSearchPage:l}}}),so=(0,q.A)(ao,[["render",function(e,n,t,a,o,r){return(0,i.uX)(),(0,i.CE)("form",{class:(0,l.C4)(["message-search",{opened:e.searchOpened}]),onSubmit:n[4]||(n[4]=(0,s.D$)((...n)=>e.searchMessages&&e.searchMessages(...n),["prevent"]))},[(0,i.Lk)("div",to,[(0,i.bo)((0,i.Lk)("input",{ref:"searchInputField","onUpdate:modelValue":n[0]||(n[0]=n=>e.searchInput=n),type:"search",name:"search",class:"input",placeholder:"Search messagesโ€ฆ",onBlur:n[1]||(n[1]=(...n)=>e.closeSearch&&e.closeSearch(...n)),onKeyup:n[2]||(n[2]=(0,s.jR)((...n)=>e.closeSearch&&e.closeSearch(...n),["esc"]))},null,544),[[s.Jo,e.searchInput]])]),e.onSearchPage?(0,i.Q3)("",!0):((0,i.uX)(),(0,i.CE)("button",{key:0,class:"search",type:"button","aria-label":"Search messages in this channel",onMousedown:n[3]||(n[3]=(0,s.D$)((...n)=>e.toggleSearch&&e.toggleSearch(...n),["prevent"]))},null,32))],34)}]]),oo=["aria-label"],io={class:"date-marker"},lo=["aria-label"];var ro=t(8720),co=t.n(ro);ys().extend(co());const uo=(0,i.pM)({name:"DateMarker",props:{message:{type:Object,required:!0},isFocused:Boolean},setup(e){const n=(0,i.EW)(()=>ys()(e.message.time).format("D MMMM YYYY")),t=()=>(Date.now()-Date.parse(e.message.time.toString()))/36e5,a=()=>{t()>=48&&r.A.off("daychange",a)};return(0,i.sV)(()=>{t()<48&&r.A.on("daychange",a)}),(0,i.xo)(()=>{r.A.off("daychange",a)}),{localeDate:n,friendlyDate:()=>ys()(e.message.time).calendar(null,{sameDay:"[Today]",lastDay:"[Yesterday]",lastWeek:"D MMMM YYYY",sameElse:"D MMMM YYYY"})}}}),po=(0,q.A)(uo,[["render",function(e,n,t,a,s,o){return(0,i.uX)(),(0,i.CE)("div",{"aria-label":e.localeDate,class:"date-marker-container tooltipped tooltipped-s"},[(0,i.Lk)("div",io,[n[0]||(n[0]=(0,i.eW)(" ; ",-1)),(0,i.Lk)("span",{"aria-label":e.friendlyDate(),class:"date-marker-text"},null,8,lo)])],8,oo)}]]),ho=(0,i.pM)({name:"SearchResults",components:{SidebarToggle:wn,Message:no,DateMarker:po,MessageSearchForm:so},setup(){const e=(0,o.Pj)(),n=(0,S.lq)(),t=(0,x.KR)(),a=(0,x.KR)(),s=(0,x.KR)(0),l=(0,x.KR)(!1),c=(0,x.KR)(0),u=(0,x.KR)(0),d=(0,i.EW)(()=>{const n=e.state.messageSearchResults?.results;return n||[]}),p=(0,i.EW)(()=>{const t=parseInt(String(n.params.id||""),10);return e.getters.findChannel(t)}),h=(0,i.EW)(()=>p.value?p.value.network:null),g=(0,i.EW)(()=>p.value?p.value.channel:null),m=()=>{p.value&&e.commit("activeChannel",p.value)},k=()=>{g.value&&mc(g.value)},f=()=>{s.value=0,e.commit("messageSearchResults",null),e.commit("messageSearchPendingQuery",null)},b=()=>{if(!h.value||!g.value)return;f();const t={networkUuid:h.value.uuid,channelName:g.value.name,searchTerm:String(n.query.q||""),offset:s.value};e.commit("messageSearchPendingQuery",t),re.A.emit("search",t)},v=async()=>{await(0,i.dY)();const e=t.value;e&&(e.scrollTop=e.scrollHeight)};return(0,i.wB)(()=>n.params.id,()=>{b(),m()}),(0,i.wB)(()=>n.query,()=>{b(),m()}),(0,i.wB)(d,async()=>{if(l.value=!(!d.value.length||d.value.length%100),s.value){await(0,i.dY)();const e=t.value;if(!e)return;const n=e.scrollHeight;e.scrollTop=c.value+n-u.value}else await v()}),(0,i.sV)(()=>{m(),b(),r.A.on("escapekey",k),r.A.on("re-search",b)}),(0,i.hi)(()=>{r.A.off("escapekey",k),r.A.off("re-search",b),f()}),{chat:t,loadMoreButton:a,messages:d,moreResultsAvailable:l,network:h,channel:g,route:n,offset:s,store:e,setActiveChannel:m,closeSearch:k,shouldDisplayDateMarker:(e,n)=>{const t=d.value[n-1];return!t||new Date(t.time).getDay()!==new Date(e.time).getDay()},doSearch:b,onShowMoreClick:()=>{if(!t.value||!h.value||!g.value)return;s.value+=100,c.value=t.value.scrollTop,u.value=t.value.scrollHeight;const a={networkUuid:h.value.uuid,channelName:g.value.name,searchTerm:String(n.query.q||""),offset:s.value};e.commit("messageSearchPendingQuery",a),re.A.emit("search",a)},jumpToBottom:v,jump:n=>{if(!e.state.settings.enableEnhancedSearch||!g.value)return;const t=new Date(n.time).getTime();mc(g.value,n.id,t)}}}}),go=(0,q.A)(ho,[["render",function(e,n,t,a,o,r){const c=(0,i.g2)("SidebarToggle"),u=(0,i.g2)("MessageSearchForm"),d=(0,i.g2)("DateMarker"),p=(0,i.g2)("Message");return(0,i.uX)(),(0,i.CE)("div",Qa,[(0,i.Lk)("div",{id:"chat",class:(0,l.C4)({"time-seconds":e.store.state.settings.showSeconds,"time-12h":e.store.state.settings.use12hClock})},[(0,i.Lk)("div",za,[e.network&&e.channel?((0,i.uX)(),(0,i.CE)("div",Va,[(0,i.bF)(c),(0,i.Lk)("span",Ya,[n[2]||(n[2]=(0,i.eW)("Searching in ",-1)),(0,i.Lk)("span",Ja,(0,l.v_)(e.channel.name),1),n[3]||(n[3]=(0,i.eW)(" for",-1))]),(0,i.Lk)("span",Ga,(0,l.v_)(e.route.query.q),1),(0,i.bF)(u,{network:e.network,channel:e.channel},null,8,["network","channel"]),(0,i.Lk)("button",{class:"close","aria-label":"Close search window",title:"Close search window",onClick:n[0]||(n[0]=(...n)=>e.closeSearch&&e.closeSearch(...n))})])):(0,i.Q3)("",!0),e.network&&e.channel?((0,i.uX)(),(0,i.CE)("div",Za,[(0,i.Lk)("div",es,[(0,i.bo)((0,i.Lk)("div",ns,[(0,i.Lk)("button",{ref:"loadMoreButton",disabled:!!e.store.state.messageSearchPendingQuery||!e.store.state.isConnected,class:"btn",onClick:n[1]||(n[1]=(...n)=>e.onShowMoreClick&&e.onShowMoreClick(...n))},[e.store.state.messageSearchPendingQuery?((0,i.uX)(),(0,i.CE)("span",as,"Loadingโ€ฆ")):((0,i.uX)(),(0,i.CE)("span",ss,"Show older messages"))],8,ts)],512),[[s.aG,e.moreResultsAvailable]]),e.store.state.messageSearchPendingQuery&&!e.offset?((0,i.uX)(),(0,i.CE)("div",os," Searchingโ€ฆ ")):e.messages.length||e.offset?(0,i.Q3)("",!0):((0,i.uX)(),(0,i.CE)("div",is," No results found. ")),(0,i.Lk)("div",ls,[((0,i.uX)(!0),(0,i.CE)(i.FK,null,(0,i.pI)(e.messages,(n,t)=>((0,i.uX)(),(0,i.CE)("div",{key:n.id,class:"result","data-jump-to":e.store.state.settings.enableEnhancedSearch||void 0},[e.shouldDisplayDateMarker(n,t)?((0,i.uX)(),(0,i.Wv)(d,{key:n.id+"-date",message:n},null,8,["message"])):(0,i.Q3)("",!0),((0,i.uX)(),(0,i.Wv)(p,{key:n.id,channel:e.channel,network:e.network,message:n,"data-id":n.id,onClick:t=>e.jump(n)},null,8,["channel","network","message","data-id","onClick"]))],8,rs))),128))])],512)])):(0,i.Q3)("",!0)])],2)])}]]),mo=["data-current-channel"],ko=["id","data-type","aria-label"],fo={class:"header"},bo=["aria-label"],vo={key:0,class:"topic-container"},wo=["value"],yo=["title"],_o={key:3,class:"rt-tooltip tooltipped tooltipped-w","aria-label":"Toggle user list"},Co={key:0,class:"chat-content"},Lo={class:"chat"},Mo={class:"messages"},Eo={class:"msg"},xo={key:1,class:"chat-content"},So={ref:"chat",class:"chat",tabindex:"-1"},Ao={class:"show-more"},To=["disabled"],Xo={key:0},jo={key:1},Wo={key:1,class:"unread-marker"},Po=/\x02|\x1D|\x1F|\x16|\x0F|\x11|\x1E|\x03(?:[0-9]{1,2}(?:,[0-9]{1,2})?)?|\x04(?:[0-9a-f]{6}(?:,[0-9a-f]{6})?)?/gi,Ro=new Set(["away","back","chghost","join","kick","mass_event","mode","nick","part","quit"]);function Io(e){if("InstallTrigger"in window)return;const n=window.getSelection();if(!n)return;if(n.anchorNode===n.focusNode)return;const t=n.getRangeAt(0),a=t.cloneContents(),s=document.createElement("div");s.id="js-copy-hack",s.appendChild(a),e.appendChild(s),n.selectAllChildren(s),window.setTimeout(()=>{e.removeChild(s),n.removeAllRanges(),n.addRange(t)},0)}const No={class:"condensed-summary"},Uo=(0,i.pM)({name:"MessageCondensed",components:{Message:no},props:{network:{type:Object,required:!0},messages:{type:Array,required:!0},keepScrollPosition:{type:Function,required:!0},isFocused:Boolean},setup(e){const n=(0,x.KR)(!0),t=(0,i.EW)(()=>{const n={};Ro.forEach(e=>{n[e]=0});for(const t of e.messages)if(t.type===Ys.MODE){const e=(t.text?t.text:"").split(" ")[0].split("").filter(e=>"+"!==e&&"-"!==e).length;n[t.type]+=e}else if(t.type===Ys.MASS_EVENT){const e=t.massEventSummary;Object.keys(e).forEach(t=>{if("startTime"!==t&&"endTime"!==t&&"duration"!==t)return"away"===t||"back"===t?n[t]+=e[t]:void(n[t.slice(0,-1)]+=e[t])})}else{if(!t.type){console.log(`empty message type, this should not happen: ${t.id}`);continue}n[t.type]++}n.part+=n.quit;const t=[];if(Ro.forEach(e=>{if(n[e])switch(e){case"chghost":t.push(String(n[e])+(n[e]>1?" users have changed hostname":" user has changed hostname"));break;case"join":t.push(String(n[e])+(n[e]>1?" users have joined":" user has joined"));break;case"part":t.push(String(n[e])+(n[e]>1?" users have left":" user has left"));break;case"nick":t.push(String(n[e])+(n[e]>1?" users have changed nick":" user has changed nick"));break;case"kick":t.push(String(n[e])+(n[e]>1?" users were kicked":" user was kicked"));break;case"mode":t.push(String(n[e])+(n[e]>1?" modes were set":" mode was set"));break;case"away":t.push("marked away "+(n[e]>1?String(n[e])+" times":"once"));break;case"back":t.push("marked back "+(n[e]>1?String(n[e])+" times":"once"))}}),t.length){let e=t.pop();return t.length&&(e=t.join(", ")+", and "+e),e}return""});return{isCollapsed:n,condensedText:t,onCollapseClick:()=>{n.value=!n.value,e.keepScrollPosition()}}}}),Fo=(0,q.A)(Uo,[["render",function(e,n,t,a,s,o){const r=(0,i.g2)("Message");return(0,i.uX)(),(0,i.CE)("div",{class:(0,l.C4)(["msg",{closed:e.isCollapsed,"is-focused":e.isFocused}]),"data-type":"condensed"},[(0,i.Lk)("div",No,[n[2]||(n[2]=(0,i.Lk)("span",{class:"time"},null,-1)),n[3]||(n[3]=(0,i.Lk)("span",{class:"from"},null,-1)),(0,i.Lk)("span",{class:"content",onClick:n[0]||(n[0]=(...n)=>e.onCollapseClick&&e.onCollapseClick(...n))},[(0,i.eW)((0,l.v_)(e.condensedText)+" ",1),n[1]||(n[1]=(0,i.Lk)("button",{class:"toggle-button","aria-label":"Toggle status messages"},null,-1))])]),((0,i.uX)(!0),(0,i.CE)(i.FK,null,(0,i.pI)(e.messages,n=>((0,i.uX)(),(0,i.Wv)(r,{key:n.id,network:e.network,message:n},null,8,["network","message"]))),128))],2)}]]),Oo=500,qo=(0,i.pM)({name:"MessageList",components:{Message:no,MessageCondensed:Fo,DateMarker:po},props:{network:{type:Object,required:!0},channel:{type:Object,required:!0},isFocused:Number,focusedTime:Number},setup(e){const n=(0,o.Pj)(),t=(0,x.KR)(null),a=(0,x.KR)(null),s=(0,x.KR)(null),l=(0,x.KR)(null),c=(0,x.KR)(null),u=(0,x.KR)(!1),d=(0,x.KR)(0),p=(0,x.KR)(!1);let h=!1;const g=(0,i.EW)(()=>{if(e.channel.type!==Zs.rR.CHANNEL&&e.channel.type!==Zs.rR.QUERY)return e.channel.messages;if("hidden"===n.state.settings.statusMessages)return e.channel.messages.filter(e=>!Ro.has(e.type||""));if("condensed"!==n.state.settings.statusMessages)return e.channel.messages;let t=null;const a=[];for(const n of e.channel.messages)n.self||n.highlight||!Ro.has(n.type||"")?(t=null,a.push(n)):(t||(t={time:n.time,type:"condensed",messages:[]},a.push(t)),t.messages.push(n),t.id=n.id,n.id===e.channel.firstUnread&&(t=null));return a.map(e=>"condensed"===e.type&&1===e.messages.length?e.messages[0]:e)}),m=(0,i.EW)(()=>{const e=g.value,n=e.length;if(n<=Oo)return e;const t=Math.max(0,Math.min(d.value,n-Oo));return e.slice(t,t+Oo)}),k=(0,i.EW)(()=>d.value>0),f=(0,i.EW)(()=>{const e=g.value.length;return e<=Oo||d.value>=e-Oo}),b=(0,i.EW)(()=>e.channel.moreHistoryAvailable&&0===d.value),v=()=>{t.value&&(u.value=!0,t.value.scrollTop=t.value.scrollHeight,setTimeout(()=>{u.value=!1},50))},w=async()=>{const n=g.value.length;d.value=Math.max(0,n-Oo),e.channel.scrolledToBottom=!0,p.value=!0,await(0,i.dY)(),v(),p.value=!1},y=async(n,a)=>{l.value=n,c.value=a||null,e.channel.scrolledToBottom=!1,p.value=!0;const s=g.value;let o=-1;for(let e=0;e<s.length;e++){const t=s[e];if("condensed"===t.type){if(t.messages.some(e=>e.id===n)){o=e;break}}else if(t.id===n){o=e;break}}if(-1===o&&a)for(let e=0;e<s.length;e++){const n=s[e],t=new Date(n.time).getTime();if(Math.abs(t-a)<1e3){o=e;break}if("condensed"===n.type)for(const t of n.messages){const n=new Date(t.time).getTime();if(Math.abs(n-a)<1e3){o=e;break}}if(-1!==o)break}if(-1===o)return p.value=!1,!1;if(s.length>Oo){const e=Math.floor(250);d.value=Math.max(0,Math.min(o-e,s.length-Oo))}if(await(0,i.dY)(),t.value){const e=t.value.querySelector(`#msg-${n}`);if(e){u.value=!0,e.scrollIntoView({behavior:"instant",block:"center"});const n=t.value.closest("#chat-container");return n&&(n.scrollTop=0),setTimeout(()=>{u.value=!1,p.value=!1},50),setTimeout(()=>{l.value=null,c.value=null},3e3),!0}}return p.value=!1,!1},_=async n=>{c.value=n,e.channel.scrolledToBottom=!1,p.value=!0;const a=g.value;let s=-1;for(let e=0;e<a.length;e++){const t=a[e],o=new Date(t.time).getTime();if(Math.abs(o-n)<1e3){s=e;break}if("condensed"===t.type){for(const a of t.messages){const t=new Date(a.time).getTime();if(Math.abs(t-n)<1e3){s=e;break}}if(-1!==s)break}}if(-1===s)return p.value=!1,!1;if(a.length>Oo){const e=Math.floor(250);d.value=Math.max(0,Math.min(s-e,a.length-Oo))}if(await(0,i.dY)(),t.value){const e=t.value.querySelectorAll(".msg[id^='msg-']");for(const t of e){const e=t.id.replace("msg-",""),a=m.value.find(n=>"condensed"===n.type?n.messages.some(n=>String(n.id)===e):String(n.id)===e);if(a){const e=new Date(a.time).getTime();if(Math.abs(e-n)<1e3)return u.value=!0,t.scrollIntoView({behavior:"instant",block:"center"}),setTimeout(()=>{u.value=!1,p.value=!1},50),setTimeout(()=>{c.value=null},3e3),!0}}}return p.value=!1,!1},C=()=>{if(u.value||p.value)return;const n=t.value;if(!n)return;const a=n.scrollTop,s=n.scrollHeight-a-n.clientHeight,o=a;s<=30&&f.value?e.channel.scrolledToBottom||(e.channel.scrolledToBottom=!0):e.channel.scrolledToBottom&&s>100&&(e.channel.scrolledToBottom=!1),o<200&&k.value?(async(n=100)=>{if(p.value||d.value<=0)return;const a=t.value;if(!a)return;p.value=!0;const s=a.scrollHeight,o=a.scrollTop,l=Math.max(0,d.value-n);if(0===d.value-l)return void(p.value=!1);d.value=l,e.channel.scrolledToBottom=!1,await(0,i.dY)();const r=a.scrollHeight-s;a.scrollTop=o+r,p.value=!1})(50):s<200&&!f.value&&(async(n=100)=>{if(p.value)return;const a=g.value.length,s=Math.max(0,a-Oo);if(d.value>=s)return;const o=t.value;if(!o)return;p.value=!0;const l=o.scrollHeight,r=o.scrollTop,c=Math.min(s,d.value+n);d.value=c,c>=s&&(e.channel.scrolledToBottom=!0),await(0,i.dY)();const u=l-o.scrollHeight;o.scrollTop=r-u,p.value=!1})(50)},L=()=>{if(!n.state.isConnected)return;let t=-1;for(const n of e.channel.messages)if(!n.showInActive){t=n.id;break}e.channel.historyLoading=!0,re.A.emit("more",{target:e.channel.id,lastId:t,condensed:"shown"!==n.state.settings.statusMessages})},M=async()=>{if(e.channel.scrolledToBottom)return void await w();const n=t.value;if(!n)return;p.value=!0;const a=n.scrollHeight-n.scrollTop;await(0,i.dY)(),u.value=!0,n.scrollTop=n.scrollHeight-a,setTimeout(()=>{u.value=!1,p.value=!1},50)},E=()=>{e.channel.scrolledToBottom&&w()};(0,i.sV)(async()=>{t.value?.addEventListener("scroll",C,{passive:!0}),r.A.on("resize",E),e.isFocused&&!isNaN(e.isFocused)?(await(0,i.dY)(),await y(e.isFocused,e.focusedTime)):e.focusedTime&&!isNaN(e.focusedTime)?(await(0,i.dY)(),await _(e.focusedTime)):(e.channel.scrolledToBottom=!0,d.value=Math.max(0,g.value.length-Oo),await(0,i.dY)(),v()),await(0,i.dY)(),window.IntersectionObserver&&a.value&&(s.value=new IntersectionObserver(e=>{e.forEach(e=>{e.isIntersecting&&L()})},{root:t.value}),s.value.observe(a.value))}),(0,i.wB)(()=>e.channel.id,async()=>{e.channel.scrolledToBottom=!0,l.value=null,c.value=null,d.value=Math.max(0,g.value.length-Oo),await(0,i.dY)(),v(),s.value&&a.value&&(s.value.unobserve(a.value),s.value.observe(a.value))});const S=(0,i.EW)(()=>{const n=e.channel.messages;return n.length>0?n[0].id:null});return(0,i.wB)(S,async(e,n)=>{if(null===n||null===e)return;if(e===n)return;const a=t.value;if(!a)return;p.value=!0;const s=a.scrollTop,o=a.scrollHeight,l=g.value.length,r=Math.max(0,l-Oo);0===d.value||(d.value=Math.min(r,d.value)),await(0,i.dY)();const c=a.scrollHeight-o;u.value=!0,a.scrollTop=s+c,setTimeout(()=>{u.value=!1,p.value=!1},50)}),(0,i.wB)(()=>e.channel.messages.length,async(n,t)=>{if(e.channel.scrolledToBottom){const e=g.value.length;d.value=Math.max(0,e-Oo),await(0,i.dY)(),v()}}),(0,i.wB)(()=>e.isFocused,async n=>{n&&!isNaN(n)&&(await(0,i.dY)(),await y(n,e.focusedTime))}),(0,i.wB)(()=>e.focusedTime,async n=>{e.isFocused&&!isNaN(e.isFocused)||n&&!isNaN(n)&&(await(0,i.dY)(),await _(n))}),(0,i.Ic)(()=>{h=!1}),(0,i.xo)(()=>{r.A.off("resize",E),t.value?.removeEventListener("scroll",C)}),(0,i.hi)(()=>{s.value?.disconnect()}),{chat:t,store:n,loadMoreButton:a,displayedMessages:m,showLoadMoreButton:b,getMessageKey:e=>"condensed"===e.type?`condensed-${e.messages[0]?.id}-${new Date(e.time).getTime()}`:`${e.id}-${new Date(e.time).getTime()}`,isMessageFocused:e=>{if(null!==l.value)return"condensed"===e.type?e.messages.some(e=>e.id===l.value):e.id===l.value;if(!c.value)return!1;const n=new Date(e.time).getTime();if(Math.abs(n-c.value)<1e3)return!0;if("condensed"===e.type)for(const n of e.messages){const e=new Date(n.time).getTime();if(Math.abs(e-c.value)<1e3)return!0}return!1},onShowMoreClick:L,onCopy:()=>{t.value&&Io(t.value)},shouldDisplayDateMarker:(e,n)=>{const t=m.value[n-1];if(!t)return!0;const a=new Date(t.time),s=new Date(e.time);return a.getDate()!==s.getDate()||a.getMonth()!==s.getMonth()||a.getFullYear()!==s.getFullYear()},shouldDisplayUnreadMarker:n=>!h&&n>e.channel.firstUnread&&(h=!0,!0),keepScrollPosition:M,isPreviousSource:(e,n)=>{const t=m.value[n-1];return t&&e.type===Ys.MESSAGE&&t.type===Ys.MESSAGE&&e.from&&t.from&&e.from.nick===t.from.nick},jumpToBottom:w,onLinkPreviewToggle:async(n,t)=>{await M(),re.A.emit("msg:preview:toggle",{target:e.channel.id,msgId:t.id,link:n.link,shown:n.shown})}}}}),Ko=(0,q.A)(qo,[["render",function(e,n,t,a,o,l){const r=(0,i.g2)("DateMarker"),c=(0,i.g2)("MessageCondensed"),u=(0,i.g2)("Message");return(0,i.uX)(),(0,i.CE)("div",So,[(0,i.bo)((0,i.Lk)("div",Ao,[(0,i.Lk)("button",{ref:"loadMoreButton",disabled:e.channel.historyLoading||!e.store.state.isConnected,class:"btn",onClick:n[0]||(n[0]=(...n)=>e.onShowMoreClick&&e.onShowMoreClick(...n))},[e.channel.historyLoading?((0,i.uX)(),(0,i.CE)("span",Xo,"Loadingโ€ฆ")):((0,i.uX)(),(0,i.CE)("span",jo,"Show older messages"))],8,To)],512),[[s.aG,e.showLoadMoreButton]]),(0,i.Lk)("div",{class:"messages",role:"log","aria-live":"polite","aria-relevant":"additions",onCopy:n[1]||(n[1]=(...n)=>e.onCopy&&e.onCopy(...n))},[((0,i.uX)(!0),(0,i.CE)(i.FK,null,(0,i.pI)(e.displayedMessages,(t,a)=>((0,i.uX)(),(0,i.CE)(i.FK,{key:e.getMessageKey(t)},[e.shouldDisplayDateMarker(t,a)?((0,i.uX)(),(0,i.Wv)(r,{key:0,message:t,"is-focused":e.isMessageFocused(t)},null,8,["message","is-focused"])):(0,i.Q3)("",!0),e.shouldDisplayUnreadMarker(Number(t.id))?((0,i.uX)(),(0,i.CE)("div",Wo,[...n[2]||(n[2]=[(0,i.Lk)("span",{class:"unread-marker-text"},null,-1)])])):(0,i.Q3)("",!0),"condensed"===t.type?((0,i.uX)(),(0,i.Wv)(c,{key:2,network:e.network,"keep-scroll-position":e.keepScrollPosition,messages:t.messages,"is-focused":e.isMessageFocused(t)},null,8,["network","keep-scroll-position","messages","is-focused"])):((0,i.uX)(),(0,i.Wv)(u,{key:3,channel:e.channel,network:e.network,message:t,"keep-scroll-position":e.keepScrollPosition,"is-previous-source":e.isPreviousSource(t,a),"is-focused":e.isMessageFocused(t),onToggleLinkPreview:e.onLinkPreviewToggle},null,8,["channel","network","message","keep-scroll-position","is-previous-source","is-focused","onToggleLinkPreview"]))],64))),128))],32)],512)}]]),Do={ref:"chat",class:"chat",tabindex:"-1"},Bo={class:"show-more"},$o=["disabled"],Ho={key:0},Qo={key:1},zo=(0,i.pM)({name:"MessageListBasic",components:{Message:no,MessageCondensed:Fo,DateMarker:po},props:{network:{type:Object,required:!0},channel:{type:Object,required:!0},focused:Number},setup(e){const n=(0,o.Pj)(),t=(0,x.KR)(null),a=(0,x.KR)(null),s=(0,x.KR)(null),l=(0,x.KR)(!1),c=(0,x.KR)(!1);let u=!1;const d=()=>{l.value=!0,e.channel.scrolledToBottom=!0;const n=t.value;n&&(n.scrollTop=n.scrollHeight)},p=()=>{if(!n.state.isConnected)return;let t=-1;for(const n of e.channel.messages)if(!n.showInActive){t=n.id;break}e.channel.historyLoading=!0,re.A.emit("more",{target:e.channel.id,lastId:t,condensed:"shown"!==n.state.settings.statusMessages})},h=e=>{e.forEach(e=>{e.isIntersecting&&p()})};(0,i.dY)(()=>{t.value&&(window.IntersectionObserver&&(s.value=new window.IntersectionObserver(h,{root:t.value})),d())}).catch(e=>{console.error("Error in new IntersectionObserver",e)});const g=(0,i.EW)(()=>{if(e.channel.type!==Zs.rR.CHANNEL&&e.channel.type!==Zs.rR.QUERY)return e.channel.messages;if("hidden"===n.state.settings.statusMessages)return e.channel.messages.filter(e=>!Ro.has(e.type||""));if("condensed"!==n.state.settings.statusMessages)return e.channel.messages;let t=null;const a=[];for(const n of e.channel.messages)n.self||n.highlight||!Ro.has(n.type||"")?(t=null,a.push(n)):(t||(t={time:n.time,type:"condensed",messages:[]},a.push(t)),t.messages.push(n),t.id=n.id,n.id===e.channel.firstUnread&&(t=null));return a.map(e=>"condensed"===e.type&&1===e.messages.length?e.messages[0]:e)}),m=async()=>{if(c.value)return;const n=t.value;if(n)if(e.channel.scrolledToBottom)c.value=!0,await(0,i.dY)(),c.value=!1,d();else if(e.channel.historyLoading){const e=n.scrollHeight-n.scrollTop;c.value=!0,await(0,i.dY)(),c.value=!1,l.value=!0,n.scrollTop=n.scrollHeight-e}},k=()=>{if(l.value)return void(l.value=!1);const n=t.value;n&&(e.channel.scrolledToBottom=n.scrollHeight-n.scrollTop-n.offsetHeight<=30)},f=()=>{e.channel.scrolledToBottom&&d()};return(0,i.sV)(()=>{t.value?.addEventListener("scroll",k,{passive:!0}),r.A.on("resize",f),(0,i.dY)(()=>{s.value&&a.value&&s.value.observe(a.value)})}),(0,i.wB)(()=>e.channel.id,()=>{e.channel.scrolledToBottom=!0,s.value&&a.value&&(s.value.unobserve(a.value),s.value.observe(a.value))}),(0,i.wB)(()=>e.channel.messages,async()=>{await m()},{deep:!0}),(0,i.wB)(()=>e.channel.pendingMessage,async()=>{await m()}),(0,i.Ic)(()=>{u=!1}),(0,i.xo)(()=>{r.A.off("resize",f),t.value?.removeEventListener("scroll",k)}),(0,i.hi)(()=>{s.value&&s.value.disconnect()}),{chat:t,store:n,onShowMoreClick:p,loadMoreButton:a,onCopy:()=>{t.value&&Io(t.value)},condensedMessages:g,shouldDisplayDateMarker:(e,n)=>{const t=g.value[n-1];if(!t)return!0;const a=new Date(t.time),s=new Date(e.time);return a.getDate()!==s.getDate()||a.getMonth()!==s.getMonth()||a.getFullYear()!==s.getFullYear()},shouldDisplayUnreadMarker:n=>!u&&n>e.channel.firstUnread&&(u=!0,!0),keepScrollPosition:m,isPreviousSource:(e,n)=>{const t=g.value[n-1];return t&&e.type===Ys.MESSAGE&&t.type===Ys.MESSAGE&&e.from&&t.from&&e.from.nick===t.from.nick},jumpToBottom:d,onLinkPreviewToggle:async(n,t)=>{await m(),re.A.emit("msg:preview:toggle",{target:e.channel.id,msgId:t.id,link:n.link,shown:n.shown})}}}}),Vo=(0,q.A)(zo,[["render",function(e,n,t,a,o,l){const r=(0,i.g2)("DateMarker"),c=(0,i.g2)("MessageCondensed"),u=(0,i.g2)("Message");return(0,i.uX)(),(0,i.CE)("div",Do,[(0,i.bo)((0,i.Lk)("div",Bo,[(0,i.Lk)("button",{ref:"loadMoreButton",disabled:e.channel.historyLoading||!e.store.state.isConnected,class:"btn",onClick:n[0]||(n[0]=(...n)=>e.onShowMoreClick&&e.onShowMoreClick(...n))},[e.channel.historyLoading?((0,i.uX)(),(0,i.CE)("span",Ho,"Loadingโ€ฆ")):((0,i.uX)(),(0,i.CE)("span",Qo,"Show older messages"))],8,$o)],512),[[s.aG,e.channel.moreHistoryAvailable]]),(0,i.Lk)("div",{class:"messages",role:"log","aria-live":"polite","aria-relevant":"additions",onCopy:n[1]||(n[1]=(...n)=>e.onCopy&&e.onCopy(...n))},[((0,i.uX)(!0),(0,i.CE)(i.FK,null,(0,i.pI)(e.condensedMessages,(t,a)=>((0,i.uX)(),(0,i.CE)(i.FK,null,[e.shouldDisplayDateMarker(t,a)?((0,i.uX)(),(0,i.Wv)(r,{key:t.id+"-date",message:t,focused:t.id===e.focused},null,8,["message","focused"])):(0,i.Q3)("",!0),e.shouldDisplayUnreadMarker(Number(t.id))?((0,i.uX)(),(0,i.CE)("div",{key:t.id+"-unread",class:"unread-marker"},[...n[2]||(n[2]=[(0,i.Lk)("span",{class:"unread-marker-text"},null,-1)])])):(0,i.Q3)("",!0),"condensed"===t.type?((0,i.uX)(),(0,i.Wv)(c,{key:t.messages[0].id,network:e.network,"keep-scroll-position":e.keepScrollPosition,messages:t.messages,focused:t.id===e.focused},null,8,["network","keep-scroll-position","messages","focused"])):((0,i.uX)(),(0,i.Wv)(u,{key:t.id,channel:e.channel,network:e.network,message:t,"keep-scroll-position":e.keepScrollPosition,"is-previous-source":e.isPreviousSource(t,a),focused:t.id===e.focused,onToggleLinkPreview:e.onLinkPreviewToggle},null,8,["channel","network","message","keep-scroll-position","is-previous-source","focused","onToggleLinkPreview"]))],64))),256))],32)],512)}]]),Yo={key:0,id:"nick"},Jo=["value","placeholder","aria-label"],Go=["disabled"],Zo={id:"submit-tooltip",class:"tooltipped tooltipped-w tooltipped-no-touch","aria-label":"Send message"},ei=["disabled"];var ni=t(2531),ti=t(6e3),ai=t(9787);const si=JSON.parse('{"100":"๐Ÿ’ฏ","1234":"๐Ÿ”ข","grinning":"๐Ÿ˜€","smiley":"๐Ÿ˜ƒ","smile":"๐Ÿ˜„","grin":"๐Ÿ˜","laughing":"๐Ÿ˜†","satisfied":"๐Ÿ˜†","sweat_smile":"๐Ÿ˜…","rofl":"๐Ÿคฃ","joy":"๐Ÿ˜‚","slightly_smiling_face":"๐Ÿ™‚","upside_down_face":"๐Ÿ™ƒ","melting_face":"๐Ÿซ ","wink":"๐Ÿ˜‰","blush":"๐Ÿ˜Š","innocent":"๐Ÿ˜‡","smiling_face_with_three_hearts":"๐Ÿฅฐ","heart_eyes":"๐Ÿ˜","star_struck":"๐Ÿคฉ","kissing_heart":"๐Ÿ˜˜","kissing":"๐Ÿ˜—","relaxed":"โ˜บ๏ธ","kissing_closed_eyes":"๐Ÿ˜š","kissing_smiling_eyes":"๐Ÿ˜™","smiling_face_with_tear":"๐Ÿฅฒ","yum":"๐Ÿ˜‹","stuck_out_tongue":"๐Ÿ˜›","stuck_out_tongue_winking_eye":"๐Ÿ˜œ","zany_face":"๐Ÿคช","stuck_out_tongue_closed_eyes":"๐Ÿ˜","money_mouth_face":"๐Ÿค‘","hugs":"๐Ÿค—","hand_over_mouth":"๐Ÿคญ","face_with_open_eyes_and_hand_over_mouth":"๐Ÿซข","face_with_peeking_eye":"๐Ÿซฃ","shushing_face":"๐Ÿคซ","thinking":"๐Ÿค”","saluting_face":"๐Ÿซก","zipper_mouth_face":"๐Ÿค","raised_eyebrow":"๐Ÿคจ","neutral_face":"๐Ÿ˜","expressionless":"๐Ÿ˜‘","no_mouth":"๐Ÿ˜ถ","dotted_line_face":"๐Ÿซฅ","face_in_clouds":"๐Ÿ˜ถโ€๐ŸŒซ๏ธ","smirk":"๐Ÿ˜","unamused":"๐Ÿ˜’","roll_eyes":"๐Ÿ™„","grimacing":"๐Ÿ˜ฌ","face_exhaling":"๐Ÿ˜ฎโ€๐Ÿ’จ","lying_face":"๐Ÿคฅ","shaking_face":"๐Ÿซจ","relieved":"๐Ÿ˜Œ","pensive":"๐Ÿ˜”","sleepy":"๐Ÿ˜ช","drooling_face":"๐Ÿคค","sleeping":"๐Ÿ˜ด","mask":"๐Ÿ˜ท","face_with_thermometer":"๐Ÿค’","face_with_head_bandage":"๐Ÿค•","nauseated_face":"๐Ÿคข","vomiting_face":"๐Ÿคฎ","sneezing_face":"๐Ÿคง","hot_face":"๐Ÿฅต","cold_face":"๐Ÿฅถ","woozy_face":"๐Ÿฅด","dizzy_face":"๐Ÿ˜ต","face_with_spiral_eyes":"๐Ÿ˜ตโ€๐Ÿ’ซ","exploding_head":"๐Ÿคฏ","cowboy_hat_face":"๐Ÿค ","partying_face":"๐Ÿฅณ","disguised_face":"๐Ÿฅธ","sunglasses":"๐Ÿ˜Ž","nerd_face":"๐Ÿค“","monocle_face":"๐Ÿง","confused":"๐Ÿ˜•","face_with_diagonal_mouth":"๐Ÿซค","worried":"๐Ÿ˜Ÿ","slightly_frowning_face":"๐Ÿ™","frowning_face":"โ˜น๏ธ","open_mouth":"๐Ÿ˜ฎ","hushed":"๐Ÿ˜ฏ","astonished":"๐Ÿ˜ฒ","flushed":"๐Ÿ˜ณ","pleading_face":"๐Ÿฅบ","face_holding_back_tears":"๐Ÿฅน","frowning":"๐Ÿ˜ฆ","anguished":"๐Ÿ˜ง","fearful":"๐Ÿ˜จ","cold_sweat":"๐Ÿ˜ฐ","disappointed_relieved":"๐Ÿ˜ฅ","cry":"๐Ÿ˜ข","sob":"๐Ÿ˜ญ","scream":"๐Ÿ˜ฑ","confounded":"๐Ÿ˜–","persevere":"๐Ÿ˜ฃ","disappointed":"๐Ÿ˜ž","sweat":"๐Ÿ˜“","weary":"๐Ÿ˜ฉ","tired_face":"๐Ÿ˜ซ","yawning_face":"๐Ÿฅฑ","triumph":"๐Ÿ˜ค","rage":"๐Ÿ˜ก","pout":"๐Ÿ˜ก","angry":"๐Ÿ˜ ","cursing_face":"๐Ÿคฌ","smiling_imp":"๐Ÿ˜ˆ","imp":"๐Ÿ‘ฟ","skull":"๐Ÿ’€","skull_and_crossbones":"โ˜ ๏ธ","hankey":"๐Ÿ’ฉ","poop":"๐Ÿ’ฉ","shit":"๐Ÿ’ฉ","clown_face":"๐Ÿคก","japanese_ogre":"๐Ÿ‘น","japanese_goblin":"๐Ÿ‘บ","ghost":"๐Ÿ‘ป","alien":"๐Ÿ‘ฝ","space_invader":"๐Ÿ‘พ","robot":"๐Ÿค–","smiley_cat":"๐Ÿ˜บ","smile_cat":"๐Ÿ˜ธ","joy_cat":"๐Ÿ˜น","heart_eyes_cat":"๐Ÿ˜ป","smirk_cat":"๐Ÿ˜ผ","kissing_cat":"๐Ÿ˜ฝ","scream_cat":"๐Ÿ™€","crying_cat_face":"๐Ÿ˜ฟ","pouting_cat":"๐Ÿ˜พ","see_no_evil":"๐Ÿ™ˆ","hear_no_evil":"๐Ÿ™‰","speak_no_evil":"๐Ÿ™Š","love_letter":"๐Ÿ’Œ","cupid":"๐Ÿ’˜","gift_heart":"๐Ÿ’","sparkling_heart":"๐Ÿ’–","heartpulse":"๐Ÿ’—","heartbeat":"๐Ÿ’“","revolving_hearts":"๐Ÿ’ž","two_hearts":"๐Ÿ’•","heart_decoration":"๐Ÿ’Ÿ","heavy_heart_exclamation":"โฃ๏ธ","broken_heart":"๐Ÿ’”","heart_on_fire":"โค๏ธโ€๐Ÿ”ฅ","mending_heart":"โค๏ธโ€๐Ÿฉน","heart":"โค๏ธ","pink_heart":"๐Ÿฉท","orange_heart":"๐Ÿงก","yellow_heart":"๐Ÿ’›","green_heart":"๐Ÿ’š","blue_heart":"๐Ÿ’™","light_blue_heart":"๐Ÿฉต","purple_heart":"๐Ÿ’œ","brown_heart":"๐ŸคŽ","black_heart":"๐Ÿ–ค","grey_heart":"๐Ÿฉถ","white_heart":"๐Ÿค","kiss":"๐Ÿ’‹","anger":"๐Ÿ’ข","boom":"๐Ÿ’ฅ","collision":"๐Ÿ’ฅ","dizzy":"๐Ÿ’ซ","sweat_drops":"๐Ÿ’ฆ","dash":"๐Ÿ’จ","hole":"๐Ÿ•ณ๏ธ","speech_balloon":"๐Ÿ’ฌ","eye_speech_bubble":"๐Ÿ‘๏ธโ€๐Ÿ—จ๏ธ","left_speech_bubble":"๐Ÿ—จ๏ธ","right_anger_bubble":"๐Ÿ—ฏ๏ธ","thought_balloon":"๐Ÿ’ญ","zzz":"๐Ÿ’ค","wave":"๐Ÿ‘‹","raised_back_of_hand":"๐Ÿคš","raised_hand_with_fingers_splayed":"๐Ÿ–๏ธ","hand":"โœ‹","raised_hand":"โœ‹","vulcan_salute":"๐Ÿ––","rightwards_hand":"๐Ÿซฑ","leftwards_hand":"๐Ÿซฒ","palm_down_hand":"๐Ÿซณ","palm_up_hand":"๐Ÿซด","leftwards_pushing_hand":"๐Ÿซท","rightwards_pushing_hand":"๐Ÿซธ","ok_hand":"๐Ÿ‘Œ","pinched_fingers":"๐ŸคŒ","pinching_hand":"๐Ÿค","v":"โœŒ๏ธ","crossed_fingers":"๐Ÿคž","hand_with_index_finger_and_thumb_crossed":"๐Ÿซฐ","love_you_gesture":"๐ŸคŸ","metal":"๐Ÿค˜","call_me_hand":"๐Ÿค™","point_left":"๐Ÿ‘ˆ","point_right":"๐Ÿ‘‰","point_up_2":"๐Ÿ‘†","middle_finger":"๐Ÿ–•","fu":"๐Ÿ–•","point_down":"๐Ÿ‘‡","point_up":"โ˜๏ธ","index_pointing_at_the_viewer":"๐Ÿซต","+1":"๐Ÿ‘","thumbsup":"๐Ÿ‘","-1":"๐Ÿ‘Ž","thumbsdown":"๐Ÿ‘Ž","fist_raised":"โœŠ","fist":"โœŠ","fist_oncoming":"๐Ÿ‘Š","facepunch":"๐Ÿ‘Š","punch":"๐Ÿ‘Š","fist_left":"๐Ÿค›","fist_right":"๐Ÿคœ","clap":"๐Ÿ‘","raised_hands":"๐Ÿ™Œ","heart_hands":"๐Ÿซถ","open_hands":"๐Ÿ‘","palms_up_together":"๐Ÿคฒ","handshake":"๐Ÿค","pray":"๐Ÿ™","writing_hand":"โœ๏ธ","nail_care":"๐Ÿ’…","selfie":"๐Ÿคณ","muscle":"๐Ÿ’ช","mechanical_arm":"๐Ÿฆพ","mechanical_leg":"๐Ÿฆฟ","leg":"๐Ÿฆต","foot":"๐Ÿฆถ","ear":"๐Ÿ‘‚","ear_with_hearing_aid":"๐Ÿฆป","nose":"๐Ÿ‘ƒ","brain":"๐Ÿง ","anatomical_heart":"๐Ÿซ€","lungs":"๐Ÿซ","tooth":"๐Ÿฆท","bone":"๐Ÿฆด","eyes":"๐Ÿ‘€","eye":"๐Ÿ‘๏ธ","tongue":"๐Ÿ‘…","lips":"๐Ÿ‘„","biting_lip":"๐Ÿซฆ","baby":"๐Ÿ‘ถ","child":"๐Ÿง’","boy":"๐Ÿ‘ฆ","girl":"๐Ÿ‘ง","adult":"๐Ÿง‘","blond_haired_person":"๐Ÿ‘ฑ","man":"๐Ÿ‘จ","bearded_person":"๐Ÿง”","man_beard":"๐Ÿง”โ€โ™‚๏ธ","woman_beard":"๐Ÿง”โ€โ™€๏ธ","red_haired_man":"๐Ÿ‘จโ€๐Ÿฆฐ","curly_haired_man":"๐Ÿ‘จโ€๐Ÿฆฑ","white_haired_man":"๐Ÿ‘จโ€๐Ÿฆณ","bald_man":"๐Ÿ‘จโ€๐Ÿฆฒ","woman":"๐Ÿ‘ฉ","red_haired_woman":"๐Ÿ‘ฉโ€๐Ÿฆฐ","person_red_hair":"๐Ÿง‘โ€๐Ÿฆฐ","curly_haired_woman":"๐Ÿ‘ฉโ€๐Ÿฆฑ","person_curly_hair":"๐Ÿง‘โ€๐Ÿฆฑ","white_haired_woman":"๐Ÿ‘ฉโ€๐Ÿฆณ","person_white_hair":"๐Ÿง‘โ€๐Ÿฆณ","bald_woman":"๐Ÿ‘ฉโ€๐Ÿฆฒ","person_bald":"๐Ÿง‘โ€๐Ÿฆฒ","blond_haired_woman":"๐Ÿ‘ฑโ€โ™€๏ธ","blonde_woman":"๐Ÿ‘ฑโ€โ™€๏ธ","blond_haired_man":"๐Ÿ‘ฑโ€โ™‚๏ธ","older_adult":"๐Ÿง“","older_man":"๐Ÿ‘ด","older_woman":"๐Ÿ‘ต","frowning_person":"๐Ÿ™","frowning_man":"๐Ÿ™โ€โ™‚๏ธ","frowning_woman":"๐Ÿ™โ€โ™€๏ธ","pouting_face":"๐Ÿ™Ž","pouting_man":"๐Ÿ™Žโ€โ™‚๏ธ","pouting_woman":"๐Ÿ™Žโ€โ™€๏ธ","no_good":"๐Ÿ™…","no_good_man":"๐Ÿ™…โ€โ™‚๏ธ","ng_man":"๐Ÿ™…โ€โ™‚๏ธ","no_good_woman":"๐Ÿ™…โ€โ™€๏ธ","ng_woman":"๐Ÿ™…โ€โ™€๏ธ","ok_person":"๐Ÿ™†","ok_man":"๐Ÿ™†โ€โ™‚๏ธ","ok_woman":"๐Ÿ™†โ€โ™€๏ธ","tipping_hand_person":"๐Ÿ’","information_desk_person":"๐Ÿ’","tipping_hand_man":"๐Ÿ’โ€โ™‚๏ธ","sassy_man":"๐Ÿ’โ€โ™‚๏ธ","tipping_hand_woman":"๐Ÿ’โ€โ™€๏ธ","sassy_woman":"๐Ÿ’โ€โ™€๏ธ","raising_hand":"๐Ÿ™‹","raising_hand_man":"๐Ÿ™‹โ€โ™‚๏ธ","raising_hand_woman":"๐Ÿ™‹โ€โ™€๏ธ","deaf_person":"๐Ÿง","deaf_man":"๐Ÿงโ€โ™‚๏ธ","deaf_woman":"๐Ÿงโ€โ™€๏ธ","bow":"๐Ÿ™‡","bowing_man":"๐Ÿ™‡โ€โ™‚๏ธ","bowing_woman":"๐Ÿ™‡โ€โ™€๏ธ","facepalm":"๐Ÿคฆ","man_facepalming":"๐Ÿคฆโ€โ™‚๏ธ","woman_facepalming":"๐Ÿคฆโ€โ™€๏ธ","shrug":"๐Ÿคท","man_shrugging":"๐Ÿคทโ€โ™‚๏ธ","woman_shrugging":"๐Ÿคทโ€โ™€๏ธ","health_worker":"๐Ÿง‘โ€โš•๏ธ","man_health_worker":"๐Ÿ‘จโ€โš•๏ธ","woman_health_worker":"๐Ÿ‘ฉโ€โš•๏ธ","student":"๐Ÿง‘โ€๐ŸŽ“","man_student":"๐Ÿ‘จโ€๐ŸŽ“","woman_student":"๐Ÿ‘ฉโ€๐ŸŽ“","teacher":"๐Ÿง‘โ€๐Ÿซ","man_teacher":"๐Ÿ‘จโ€๐Ÿซ","woman_teacher":"๐Ÿ‘ฉโ€๐Ÿซ","judge":"๐Ÿง‘โ€โš–๏ธ","man_judge":"๐Ÿ‘จโ€โš–๏ธ","woman_judge":"๐Ÿ‘ฉโ€โš–๏ธ","farmer":"๐Ÿง‘โ€๐ŸŒพ","man_farmer":"๐Ÿ‘จโ€๐ŸŒพ","woman_farmer":"๐Ÿ‘ฉโ€๐ŸŒพ","cook":"๐Ÿง‘โ€๐Ÿณ","man_cook":"๐Ÿ‘จโ€๐Ÿณ","woman_cook":"๐Ÿ‘ฉโ€๐Ÿณ","mechanic":"๐Ÿง‘โ€๐Ÿ”ง","man_mechanic":"๐Ÿ‘จโ€๐Ÿ”ง","woman_mechanic":"๐Ÿ‘ฉโ€๐Ÿ”ง","factory_worker":"๐Ÿง‘โ€๐Ÿญ","man_factory_worker":"๐Ÿ‘จโ€๐Ÿญ","woman_factory_worker":"๐Ÿ‘ฉโ€๐Ÿญ","office_worker":"๐Ÿง‘โ€๐Ÿ’ผ","man_office_worker":"๐Ÿ‘จโ€๐Ÿ’ผ","woman_office_worker":"๐Ÿ‘ฉโ€๐Ÿ’ผ","scientist":"๐Ÿง‘โ€๐Ÿ”ฌ","man_scientist":"๐Ÿ‘จโ€๐Ÿ”ฌ","woman_scientist":"๐Ÿ‘ฉโ€๐Ÿ”ฌ","technologist":"๐Ÿง‘โ€๐Ÿ’ป","man_technologist":"๐Ÿ‘จโ€๐Ÿ’ป","woman_technologist":"๐Ÿ‘ฉโ€๐Ÿ’ป","singer":"๐Ÿง‘โ€๐ŸŽค","man_singer":"๐Ÿ‘จโ€๐ŸŽค","woman_singer":"๐Ÿ‘ฉโ€๐ŸŽค","artist":"๐Ÿง‘โ€๐ŸŽจ","man_artist":"๐Ÿ‘จโ€๐ŸŽจ","woman_artist":"๐Ÿ‘ฉโ€๐ŸŽจ","pilot":"๐Ÿง‘โ€โœˆ๏ธ","man_pilot":"๐Ÿ‘จโ€โœˆ๏ธ","woman_pilot":"๐Ÿ‘ฉโ€โœˆ๏ธ","astronaut":"๐Ÿง‘โ€๐Ÿš€","man_astronaut":"๐Ÿ‘จโ€๐Ÿš€","woman_astronaut":"๐Ÿ‘ฉโ€๐Ÿš€","firefighter":"๐Ÿง‘โ€๐Ÿš’","man_firefighter":"๐Ÿ‘จโ€๐Ÿš’","woman_firefighter":"๐Ÿ‘ฉโ€๐Ÿš’","police_officer":"๐Ÿ‘ฎ","cop":"๐Ÿ‘ฎ","policeman":"๐Ÿ‘ฎโ€โ™‚๏ธ","policewoman":"๐Ÿ‘ฎโ€โ™€๏ธ","detective":"๐Ÿ•ต๏ธ","male_detective":"๐Ÿ•ต๏ธโ€โ™‚๏ธ","female_detective":"๐Ÿ•ต๏ธโ€โ™€๏ธ","guard":"๐Ÿ’‚","guardsman":"๐Ÿ’‚โ€โ™‚๏ธ","guardswoman":"๐Ÿ’‚โ€โ™€๏ธ","ninja":"๐Ÿฅท","construction_worker":"๐Ÿ‘ท","construction_worker_man":"๐Ÿ‘ทโ€โ™‚๏ธ","construction_worker_woman":"๐Ÿ‘ทโ€โ™€๏ธ","person_with_crown":"๐Ÿซ…","prince":"๐Ÿคด","princess":"๐Ÿ‘ธ","person_with_turban":"๐Ÿ‘ณ","man_with_turban":"๐Ÿ‘ณโ€โ™‚๏ธ","woman_with_turban":"๐Ÿ‘ณโ€โ™€๏ธ","man_with_gua_pi_mao":"๐Ÿ‘ฒ","woman_with_headscarf":"๐Ÿง•","person_in_tuxedo":"๐Ÿคต","man_in_tuxedo":"๐Ÿคตโ€โ™‚๏ธ","woman_in_tuxedo":"๐Ÿคตโ€โ™€๏ธ","person_with_veil":"๐Ÿ‘ฐ","man_with_veil":"๐Ÿ‘ฐโ€โ™‚๏ธ","woman_with_veil":"๐Ÿ‘ฐโ€โ™€๏ธ","bride_with_veil":"๐Ÿ‘ฐโ€โ™€๏ธ","pregnant_woman":"๐Ÿคฐ","pregnant_man":"๐Ÿซƒ","pregnant_person":"๐Ÿซ„","breast_feeding":"๐Ÿคฑ","woman_feeding_baby":"๐Ÿ‘ฉโ€๐Ÿผ","man_feeding_baby":"๐Ÿ‘จโ€๐Ÿผ","person_feeding_baby":"๐Ÿง‘โ€๐Ÿผ","angel":"๐Ÿ‘ผ","santa":"๐ŸŽ…","mrs_claus":"๐Ÿคถ","mx_claus":"๐Ÿง‘โ€๐ŸŽ„","superhero":"๐Ÿฆธ","superhero_man":"๐Ÿฆธโ€โ™‚๏ธ","superhero_woman":"๐Ÿฆธโ€โ™€๏ธ","supervillain":"๐Ÿฆน","supervillain_man":"๐Ÿฆนโ€โ™‚๏ธ","supervillain_woman":"๐Ÿฆนโ€โ™€๏ธ","mage":"๐Ÿง™","mage_man":"๐Ÿง™โ€โ™‚๏ธ","mage_woman":"๐Ÿง™โ€โ™€๏ธ","fairy":"๐Ÿงš","fairy_man":"๐Ÿงšโ€โ™‚๏ธ","fairy_woman":"๐Ÿงšโ€โ™€๏ธ","vampire":"๐Ÿง›","vampire_man":"๐Ÿง›โ€โ™‚๏ธ","vampire_woman":"๐Ÿง›โ€โ™€๏ธ","merperson":"๐Ÿงœ","merman":"๐Ÿงœโ€โ™‚๏ธ","mermaid":"๐Ÿงœโ€โ™€๏ธ","elf":"๐Ÿง","elf_man":"๐Ÿงโ€โ™‚๏ธ","elf_woman":"๐Ÿงโ€โ™€๏ธ","genie":"๐Ÿงž","genie_man":"๐Ÿงžโ€โ™‚๏ธ","genie_woman":"๐Ÿงžโ€โ™€๏ธ","zombie":"๐ŸงŸ","zombie_man":"๐ŸงŸโ€โ™‚๏ธ","zombie_woman":"๐ŸงŸโ€โ™€๏ธ","troll":"๐ŸงŒ","massage":"๐Ÿ’†","massage_man":"๐Ÿ’†โ€โ™‚๏ธ","massage_woman":"๐Ÿ’†โ€โ™€๏ธ","haircut":"๐Ÿ’‡","haircut_man":"๐Ÿ’‡โ€โ™‚๏ธ","haircut_woman":"๐Ÿ’‡โ€โ™€๏ธ","walking":"๐Ÿšถ","walking_man":"๐Ÿšถโ€โ™‚๏ธ","walking_woman":"๐Ÿšถโ€โ™€๏ธ","standing_person":"๐Ÿง","standing_man":"๐Ÿงโ€โ™‚๏ธ","standing_woman":"๐Ÿงโ€โ™€๏ธ","kneeling_person":"๐ŸงŽ","kneeling_man":"๐ŸงŽโ€โ™‚๏ธ","kneeling_woman":"๐ŸงŽโ€โ™€๏ธ","person_with_probing_cane":"๐Ÿง‘โ€๐Ÿฆฏ","man_with_probing_cane":"๐Ÿ‘จโ€๐Ÿฆฏ","woman_with_probing_cane":"๐Ÿ‘ฉโ€๐Ÿฆฏ","person_in_motorized_wheelchair":"๐Ÿง‘โ€๐Ÿฆผ","man_in_motorized_wheelchair":"๐Ÿ‘จโ€๐Ÿฆผ","woman_in_motorized_wheelchair":"๐Ÿ‘ฉโ€๐Ÿฆผ","person_in_manual_wheelchair":"๐Ÿง‘โ€๐Ÿฆฝ","man_in_manual_wheelchair":"๐Ÿ‘จโ€๐Ÿฆฝ","woman_in_manual_wheelchair":"๐Ÿ‘ฉโ€๐Ÿฆฝ","runner":"๐Ÿƒ","running":"๐Ÿƒ","running_man":"๐Ÿƒโ€โ™‚๏ธ","running_woman":"๐Ÿƒโ€โ™€๏ธ","woman_dancing":"๐Ÿ’ƒ","dancer":"๐Ÿ’ƒ","man_dancing":"๐Ÿ•บ","business_suit_levitating":"๐Ÿ•ด๏ธ","dancers":"๐Ÿ‘ฏ","dancing_men":"๐Ÿ‘ฏโ€โ™‚๏ธ","dancing_women":"๐Ÿ‘ฏโ€โ™€๏ธ","sauna_person":"๐Ÿง–","sauna_man":"๐Ÿง–โ€โ™‚๏ธ","sauna_woman":"๐Ÿง–โ€โ™€๏ธ","climbing":"๐Ÿง—","climbing_man":"๐Ÿง—โ€โ™‚๏ธ","climbing_woman":"๐Ÿง—โ€โ™€๏ธ","person_fencing":"๐Ÿคบ","horse_racing":"๐Ÿ‡","skier":"โ›ท๏ธ","snowboarder":"๐Ÿ‚","golfing":"๐ŸŒ๏ธ","golfing_man":"๐ŸŒ๏ธโ€โ™‚๏ธ","golfing_woman":"๐ŸŒ๏ธโ€โ™€๏ธ","surfer":"๐Ÿ„","surfing_man":"๐Ÿ„โ€โ™‚๏ธ","surfing_woman":"๐Ÿ„โ€โ™€๏ธ","rowboat":"๐Ÿšฃ","rowing_man":"๐Ÿšฃโ€โ™‚๏ธ","rowing_woman":"๐Ÿšฃโ€โ™€๏ธ","swimmer":"๐ŸŠ","swimming_man":"๐ŸŠโ€โ™‚๏ธ","swimming_woman":"๐ŸŠโ€โ™€๏ธ","bouncing_ball_person":"โ›น๏ธ","bouncing_ball_man":"โ›น๏ธโ€โ™‚๏ธ","basketball_man":"โ›น๏ธโ€โ™‚๏ธ","bouncing_ball_woman":"โ›น๏ธโ€โ™€๏ธ","basketball_woman":"โ›น๏ธโ€โ™€๏ธ","weight_lifting":"๐Ÿ‹๏ธ","weight_lifting_man":"๐Ÿ‹๏ธโ€โ™‚๏ธ","weight_lifting_woman":"๐Ÿ‹๏ธโ€โ™€๏ธ","bicyclist":"๐Ÿšด","biking_man":"๐Ÿšดโ€โ™‚๏ธ","biking_woman":"๐Ÿšดโ€โ™€๏ธ","mountain_bicyclist":"๐Ÿšต","mountain_biking_man":"๐Ÿšตโ€โ™‚๏ธ","mountain_biking_woman":"๐Ÿšตโ€โ™€๏ธ","cartwheeling":"๐Ÿคธ","man_cartwheeling":"๐Ÿคธโ€โ™‚๏ธ","woman_cartwheeling":"๐Ÿคธโ€โ™€๏ธ","wrestling":"๐Ÿคผ","men_wrestling":"๐Ÿคผโ€โ™‚๏ธ","women_wrestling":"๐Ÿคผโ€โ™€๏ธ","water_polo":"๐Ÿคฝ","man_playing_water_polo":"๐Ÿคฝโ€โ™‚๏ธ","woman_playing_water_polo":"๐Ÿคฝโ€โ™€๏ธ","handball_person":"๐Ÿคพ","man_playing_handball":"๐Ÿคพโ€โ™‚๏ธ","woman_playing_handball":"๐Ÿคพโ€โ™€๏ธ","juggling_person":"๐Ÿคน","man_juggling":"๐Ÿคนโ€โ™‚๏ธ","woman_juggling":"๐Ÿคนโ€โ™€๏ธ","lotus_position":"๐Ÿง˜","lotus_position_man":"๐Ÿง˜โ€โ™‚๏ธ","lotus_position_woman":"๐Ÿง˜โ€โ™€๏ธ","bath":"๐Ÿ›€","sleeping_bed":"๐Ÿ›Œ","people_holding_hands":"๐Ÿง‘โ€๐Ÿคโ€๐Ÿง‘","two_women_holding_hands":"๐Ÿ‘ญ","couple":"๐Ÿ‘ซ","two_men_holding_hands":"๐Ÿ‘ฌ","couplekiss":"๐Ÿ’","couplekiss_man_woman":"๐Ÿ‘ฉโ€โค๏ธโ€๐Ÿ’‹โ€๐Ÿ‘จ","couplekiss_man_man":"๐Ÿ‘จโ€โค๏ธโ€๐Ÿ’‹โ€๐Ÿ‘จ","couplekiss_woman_woman":"๐Ÿ‘ฉโ€โค๏ธโ€๐Ÿ’‹โ€๐Ÿ‘ฉ","couple_with_heart":"๐Ÿ’‘","couple_with_heart_woman_man":"๐Ÿ‘ฉโ€โค๏ธโ€๐Ÿ‘จ","couple_with_heart_man_man":"๐Ÿ‘จโ€โค๏ธโ€๐Ÿ‘จ","couple_with_heart_woman_woman":"๐Ÿ‘ฉโ€โค๏ธโ€๐Ÿ‘ฉ","family":"๐Ÿ‘ช","family_man_woman_boy":"๐Ÿ‘จโ€๐Ÿ‘ฉโ€๐Ÿ‘ฆ","family_man_woman_girl":"๐Ÿ‘จโ€๐Ÿ‘ฉโ€๐Ÿ‘ง","family_man_woman_girl_boy":"๐Ÿ‘จโ€๐Ÿ‘ฉโ€๐Ÿ‘งโ€๐Ÿ‘ฆ","family_man_woman_boy_boy":"๐Ÿ‘จโ€๐Ÿ‘ฉโ€๐Ÿ‘ฆโ€๐Ÿ‘ฆ","family_man_woman_girl_girl":"๐Ÿ‘จโ€๐Ÿ‘ฉโ€๐Ÿ‘งโ€๐Ÿ‘ง","family_man_man_boy":"๐Ÿ‘จโ€๐Ÿ‘จโ€๐Ÿ‘ฆ","family_man_man_girl":"๐Ÿ‘จโ€๐Ÿ‘จโ€๐Ÿ‘ง","family_man_man_girl_boy":"๐Ÿ‘จโ€๐Ÿ‘จโ€๐Ÿ‘งโ€๐Ÿ‘ฆ","family_man_man_boy_boy":"๐Ÿ‘จโ€๐Ÿ‘จโ€๐Ÿ‘ฆโ€๐Ÿ‘ฆ","family_man_man_girl_girl":"๐Ÿ‘จโ€๐Ÿ‘จโ€๐Ÿ‘งโ€๐Ÿ‘ง","family_woman_woman_boy":"๐Ÿ‘ฉโ€๐Ÿ‘ฉโ€๐Ÿ‘ฆ","family_woman_woman_girl":"๐Ÿ‘ฉโ€๐Ÿ‘ฉโ€๐Ÿ‘ง","family_woman_woman_girl_boy":"๐Ÿ‘ฉโ€๐Ÿ‘ฉโ€๐Ÿ‘งโ€๐Ÿ‘ฆ","family_woman_woman_boy_boy":"๐Ÿ‘ฉโ€๐Ÿ‘ฉโ€๐Ÿ‘ฆโ€๐Ÿ‘ฆ","family_woman_woman_girl_girl":"๐Ÿ‘ฉโ€๐Ÿ‘ฉโ€๐Ÿ‘งโ€๐Ÿ‘ง","family_man_boy":"๐Ÿ‘จโ€๐Ÿ‘ฆ","family_man_boy_boy":"๐Ÿ‘จโ€๐Ÿ‘ฆโ€๐Ÿ‘ฆ","family_man_girl":"๐Ÿ‘จโ€๐Ÿ‘ง","family_man_girl_boy":"๐Ÿ‘จโ€๐Ÿ‘งโ€๐Ÿ‘ฆ","family_man_girl_girl":"๐Ÿ‘จโ€๐Ÿ‘งโ€๐Ÿ‘ง","family_woman_boy":"๐Ÿ‘ฉโ€๐Ÿ‘ฆ","family_woman_boy_boy":"๐Ÿ‘ฉโ€๐Ÿ‘ฆโ€๐Ÿ‘ฆ","family_woman_girl":"๐Ÿ‘ฉโ€๐Ÿ‘ง","family_woman_girl_boy":"๐Ÿ‘ฉโ€๐Ÿ‘งโ€๐Ÿ‘ฆ","family_woman_girl_girl":"๐Ÿ‘ฉโ€๐Ÿ‘งโ€๐Ÿ‘ง","speaking_head":"๐Ÿ—ฃ๏ธ","bust_in_silhouette":"๐Ÿ‘ค","busts_in_silhouette":"๐Ÿ‘ฅ","people_hugging":"๐Ÿซ‚","footprints":"๐Ÿ‘ฃ","monkey_face":"๐Ÿต","monkey":"๐Ÿ’","gorilla":"๐Ÿฆ","orangutan":"๐Ÿฆง","dog":"๐Ÿถ","dog2":"๐Ÿ•","guide_dog":"๐Ÿฆฎ","service_dog":"๐Ÿ•โ€๐Ÿฆบ","poodle":"๐Ÿฉ","wolf":"๐Ÿบ","fox_face":"๐ŸฆŠ","raccoon":"๐Ÿฆ","cat":"๐Ÿฑ","cat2":"๐Ÿˆ","black_cat":"๐Ÿˆโ€โฌ›","lion":"๐Ÿฆ","tiger":"๐Ÿฏ","tiger2":"๐Ÿ…","leopard":"๐Ÿ†","horse":"๐Ÿด","moose":"๐ŸซŽ","donkey":"๐Ÿซ","racehorse":"๐ŸŽ","unicorn":"๐Ÿฆ„","zebra":"๐Ÿฆ“","deer":"๐ŸฆŒ","bison":"๐Ÿฆฌ","cow":"๐Ÿฎ","ox":"๐Ÿ‚","water_buffalo":"๐Ÿƒ","cow2":"๐Ÿ„","pig":"๐Ÿท","pig2":"๐Ÿ–","boar":"๐Ÿ—","pig_nose":"๐Ÿฝ","ram":"๐Ÿ","sheep":"๐Ÿ‘","goat":"๐Ÿ","dromedary_camel":"๐Ÿช","camel":"๐Ÿซ","llama":"๐Ÿฆ™","giraffe":"๐Ÿฆ’","elephant":"๐Ÿ˜","mammoth":"๐Ÿฆฃ","rhinoceros":"๐Ÿฆ","hippopotamus":"๐Ÿฆ›","mouse":"๐Ÿญ","mouse2":"๐Ÿ","rat":"๐Ÿ€","hamster":"๐Ÿน","rabbit":"๐Ÿฐ","rabbit2":"๐Ÿ‡","chipmunk":"๐Ÿฟ๏ธ","beaver":"๐Ÿฆซ","hedgehog":"๐Ÿฆ”","bat":"๐Ÿฆ‡","bear":"๐Ÿป","polar_bear":"๐Ÿปโ€โ„๏ธ","koala":"๐Ÿจ","panda_face":"๐Ÿผ","sloth":"๐Ÿฆฅ","otter":"๐Ÿฆฆ","skunk":"๐Ÿฆจ","kangaroo":"๐Ÿฆ˜","badger":"๐Ÿฆก","feet":"๐Ÿพ","paw_prints":"๐Ÿพ","turkey":"๐Ÿฆƒ","chicken":"๐Ÿ”","rooster":"๐Ÿ“","hatching_chick":"๐Ÿฃ","baby_chick":"๐Ÿค","hatched_chick":"๐Ÿฅ","bird":"๐Ÿฆ","penguin":"๐Ÿง","dove":"๐Ÿ•Š๏ธ","eagle":"๐Ÿฆ…","duck":"๐Ÿฆ†","swan":"๐Ÿฆข","owl":"๐Ÿฆ‰","dodo":"๐Ÿฆค","feather":"๐Ÿชถ","flamingo":"๐Ÿฆฉ","peacock":"๐Ÿฆš","parrot":"๐Ÿฆœ","wing":"๐Ÿชฝ","black_bird":"๐Ÿฆโ€โฌ›","goose":"๐Ÿชฟ","frog":"๐Ÿธ","crocodile":"๐ŸŠ","turtle":"๐Ÿข","lizard":"๐ŸฆŽ","snake":"๐Ÿ","dragon_face":"๐Ÿฒ","dragon":"๐Ÿ‰","sauropod":"๐Ÿฆ•","t_rex":"๐Ÿฆ–","whale":"๐Ÿณ","whale2":"๐Ÿ‹","dolphin":"๐Ÿฌ","flipper":"๐Ÿฌ","seal":"๐Ÿฆญ","fish":"๐ŸŸ","tropical_fish":"๐Ÿ ","blowfish":"๐Ÿก","shark":"๐Ÿฆˆ","octopus":"๐Ÿ™","shell":"๐Ÿš","coral":"๐Ÿชธ","jellyfish":"๐Ÿชผ","snail":"๐ŸŒ","butterfly":"๐Ÿฆ‹","bug":"๐Ÿ›","ant":"๐Ÿœ","bee":"๐Ÿ","honeybee":"๐Ÿ","beetle":"๐Ÿชฒ","lady_beetle":"๐Ÿž","cricket":"๐Ÿฆ—","cockroach":"๐Ÿชณ","spider":"๐Ÿ•ท๏ธ","spider_web":"๐Ÿ•ธ๏ธ","scorpion":"๐Ÿฆ‚","mosquito":"๐ŸฆŸ","fly":"๐Ÿชฐ","worm":"๐Ÿชฑ","microbe":"๐Ÿฆ ","bouquet":"๐Ÿ’","cherry_blossom":"๐ŸŒธ","white_flower":"๐Ÿ’ฎ","lotus":"๐Ÿชท","rosette":"๐Ÿต๏ธ","rose":"๐ŸŒน","wilted_flower":"๐Ÿฅ€","hibiscus":"๐ŸŒบ","sunflower":"๐ŸŒป","blossom":"๐ŸŒผ","tulip":"๐ŸŒท","hyacinth":"๐Ÿชป","seedling":"๐ŸŒฑ","potted_plant":"๐Ÿชด","evergreen_tree":"๐ŸŒฒ","deciduous_tree":"๐ŸŒณ","palm_tree":"๐ŸŒด","cactus":"๐ŸŒต","ear_of_rice":"๐ŸŒพ","herb":"๐ŸŒฟ","shamrock":"โ˜˜๏ธ","four_leaf_clover":"๐Ÿ€","maple_leaf":"๐Ÿ","fallen_leaf":"๐Ÿ‚","leaves":"๐Ÿƒ","empty_nest":"๐Ÿชน","nest_with_eggs":"๐Ÿชบ","mushroom":"๐Ÿ„","grapes":"๐Ÿ‡","melon":"๐Ÿˆ","watermelon":"๐Ÿ‰","tangerine":"๐ŸŠ","orange":"๐ŸŠ","mandarin":"๐ŸŠ","lemon":"๐Ÿ‹","banana":"๐ŸŒ","pineapple":"๐Ÿ","mango":"๐Ÿฅญ","apple":"๐ŸŽ","green_apple":"๐Ÿ","pear":"๐Ÿ","peach":"๐Ÿ‘","cherries":"๐Ÿ’","strawberry":"๐Ÿ“","blueberries":"๐Ÿซ","kiwi_fruit":"๐Ÿฅ","tomato":"๐Ÿ…","olive":"๐Ÿซ’","coconut":"๐Ÿฅฅ","avocado":"๐Ÿฅ‘","eggplant":"๐Ÿ†","potato":"๐Ÿฅ”","carrot":"๐Ÿฅ•","corn":"๐ŸŒฝ","hot_pepper":"๐ŸŒถ๏ธ","bell_pepper":"๐Ÿซ‘","cucumber":"๐Ÿฅ’","leafy_green":"๐Ÿฅฌ","broccoli":"๐Ÿฅฆ","garlic":"๐Ÿง„","onion":"๐Ÿง…","peanuts":"๐Ÿฅœ","beans":"๐Ÿซ˜","chestnut":"๐ŸŒฐ","ginger_root":"๐Ÿซš","pea_pod":"๐Ÿซ›","bread":"๐Ÿž","croissant":"๐Ÿฅ","baguette_bread":"๐Ÿฅ–","flatbread":"๐Ÿซ“","pretzel":"๐Ÿฅจ","bagel":"๐Ÿฅฏ","pancakes":"๐Ÿฅž","waffle":"๐Ÿง‡","cheese":"๐Ÿง€","meat_on_bone":"๐Ÿ–","poultry_leg":"๐Ÿ—","cut_of_meat":"๐Ÿฅฉ","bacon":"๐Ÿฅ“","hamburger":"๐Ÿ”","fries":"๐ŸŸ","pizza":"๐Ÿ•","hotdog":"๐ŸŒญ","sandwich":"๐Ÿฅช","taco":"๐ŸŒฎ","burrito":"๐ŸŒฏ","tamale":"๐Ÿซ”","stuffed_flatbread":"๐Ÿฅ™","falafel":"๐Ÿง†","egg":"๐Ÿฅš","fried_egg":"๐Ÿณ","shallow_pan_of_food":"๐Ÿฅ˜","stew":"๐Ÿฒ","fondue":"๐Ÿซ•","bowl_with_spoon":"๐Ÿฅฃ","green_salad":"๐Ÿฅ—","popcorn":"๐Ÿฟ","butter":"๐Ÿงˆ","salt":"๐Ÿง‚","canned_food":"๐Ÿฅซ","bento":"๐Ÿฑ","rice_cracker":"๐Ÿ˜","rice_ball":"๐Ÿ™","rice":"๐Ÿš","curry":"๐Ÿ›","ramen":"๐Ÿœ","spaghetti":"๐Ÿ","sweet_potato":"๐Ÿ ","oden":"๐Ÿข","sushi":"๐Ÿฃ","fried_shrimp":"๐Ÿค","fish_cake":"๐Ÿฅ","moon_cake":"๐Ÿฅฎ","dango":"๐Ÿก","dumpling":"๐ŸฅŸ","fortune_cookie":"๐Ÿฅ ","takeout_box":"๐Ÿฅก","crab":"๐Ÿฆ€","lobster":"๐Ÿฆž","shrimp":"๐Ÿฆ","squid":"๐Ÿฆ‘","oyster":"๐Ÿฆช","icecream":"๐Ÿฆ","shaved_ice":"๐Ÿง","ice_cream":"๐Ÿจ","doughnut":"๐Ÿฉ","cookie":"๐Ÿช","birthday":"๐ŸŽ‚","cake":"๐Ÿฐ","cupcake":"๐Ÿง","pie":"๐Ÿฅง","chocolate_bar":"๐Ÿซ","candy":"๐Ÿฌ","lollipop":"๐Ÿญ","custard":"๐Ÿฎ","honey_pot":"๐Ÿฏ","baby_bottle":"๐Ÿผ","milk_glass":"๐Ÿฅ›","coffee":"โ˜•","teapot":"๐Ÿซ–","tea":"๐Ÿต","sake":"๐Ÿถ","champagne":"๐Ÿพ","wine_glass":"๐Ÿท","cocktail":"๐Ÿธ","tropical_drink":"๐Ÿน","beer":"๐Ÿบ","beers":"๐Ÿป","clinking_glasses":"๐Ÿฅ‚","tumbler_glass":"๐Ÿฅƒ","pouring_liquid":"๐Ÿซ—","cup_with_straw":"๐Ÿฅค","bubble_tea":"๐Ÿง‹","beverage_box":"๐Ÿงƒ","mate":"๐Ÿง‰","ice_cube":"๐ŸงŠ","chopsticks":"๐Ÿฅข","plate_with_cutlery":"๐Ÿฝ๏ธ","fork_and_knife":"๐Ÿด","spoon":"๐Ÿฅ„","hocho":"๐Ÿ”ช","knife":"๐Ÿ”ช","jar":"๐Ÿซ™","amphora":"๐Ÿบ","earth_africa":"๐ŸŒ","earth_americas":"๐ŸŒŽ","earth_asia":"๐ŸŒ","globe_with_meridians":"๐ŸŒ","world_map":"๐Ÿ—บ๏ธ","japan":"๐Ÿ—พ","compass":"๐Ÿงญ","mountain_snow":"๐Ÿ”๏ธ","mountain":"โ›ฐ๏ธ","volcano":"๐ŸŒ‹","mount_fuji":"๐Ÿ—ป","camping":"๐Ÿ•๏ธ","beach_umbrella":"๐Ÿ–๏ธ","desert":"๐Ÿœ๏ธ","desert_island":"๐Ÿ๏ธ","national_park":"๐Ÿž๏ธ","stadium":"๐ŸŸ๏ธ","classical_building":"๐Ÿ›๏ธ","building_construction":"๐Ÿ—๏ธ","bricks":"๐Ÿงฑ","rock":"๐Ÿชจ","wood":"๐Ÿชต","hut":"๐Ÿ›–","houses":"๐Ÿ˜๏ธ","derelict_house":"๐Ÿš๏ธ","house":"๐Ÿ ","house_with_garden":"๐Ÿก","office":"๐Ÿข","post_office":"๐Ÿฃ","european_post_office":"๐Ÿค","hospital":"๐Ÿฅ","bank":"๐Ÿฆ","hotel":"๐Ÿจ","love_hotel":"๐Ÿฉ","convenience_store":"๐Ÿช","school":"๐Ÿซ","department_store":"๐Ÿฌ","factory":"๐Ÿญ","japanese_castle":"๐Ÿฏ","european_castle":"๐Ÿฐ","wedding":"๐Ÿ’’","tokyo_tower":"๐Ÿ—ผ","statue_of_liberty":"๐Ÿ—ฝ","church":"โ›ช","mosque":"๐Ÿ•Œ","hindu_temple":"๐Ÿ›•","synagogue":"๐Ÿ•","shinto_shrine":"โ›ฉ๏ธ","kaaba":"๐Ÿ•‹","fountain":"โ›ฒ","tent":"โ›บ","foggy":"๐ŸŒ","night_with_stars":"๐ŸŒƒ","cityscape":"๐Ÿ™๏ธ","sunrise_over_mountains":"๐ŸŒ„","sunrise":"๐ŸŒ…","city_sunset":"๐ŸŒ†","city_sunrise":"๐ŸŒ‡","bridge_at_night":"๐ŸŒ‰","hotsprings":"โ™จ๏ธ","carousel_horse":"๐ŸŽ ","playground_slide":"๐Ÿ›","ferris_wheel":"๐ŸŽก","roller_coaster":"๐ŸŽข","barber":"๐Ÿ’ˆ","circus_tent":"๐ŸŽช","steam_locomotive":"๐Ÿš‚","railway_car":"๐Ÿšƒ","bullettrain_side":"๐Ÿš„","bullettrain_front":"๐Ÿš…","train2":"๐Ÿš†","metro":"๐Ÿš‡","light_rail":"๐Ÿšˆ","station":"๐Ÿš‰","tram":"๐ŸšŠ","monorail":"๐Ÿš","mountain_railway":"๐Ÿšž","train":"๐Ÿš‹","bus":"๐ŸšŒ","oncoming_bus":"๐Ÿš","trolleybus":"๐ŸšŽ","minibus":"๐Ÿš","ambulance":"๐Ÿš‘","fire_engine":"๐Ÿš’","police_car":"๐Ÿš“","oncoming_police_car":"๐Ÿš”","taxi":"๐Ÿš•","oncoming_taxi":"๐Ÿš–","car":"๐Ÿš—","red_car":"๐Ÿš—","oncoming_automobile":"๐Ÿš˜","blue_car":"๐Ÿš™","pickup_truck":"๐Ÿ›ป","truck":"๐Ÿšš","articulated_lorry":"๐Ÿš›","tractor":"๐Ÿšœ","racing_car":"๐ŸŽ๏ธ","motorcycle":"๐Ÿ๏ธ","motor_scooter":"๐Ÿ›ต","manual_wheelchair":"๐Ÿฆฝ","motorized_wheelchair":"๐Ÿฆผ","auto_rickshaw":"๐Ÿ›บ","bike":"๐Ÿšฒ","kick_scooter":"๐Ÿ›ด","skateboard":"๐Ÿ›น","roller_skate":"๐Ÿ›ผ","busstop":"๐Ÿš","motorway":"๐Ÿ›ฃ๏ธ","railway_track":"๐Ÿ›ค๏ธ","oil_drum":"๐Ÿ›ข๏ธ","fuelpump":"โ›ฝ","wheel":"๐Ÿ›ž","rotating_light":"๐Ÿšจ","traffic_light":"๐Ÿšฅ","vertical_traffic_light":"๐Ÿšฆ","stop_sign":"๐Ÿ›‘","construction":"๐Ÿšง","anchor":"โš“","ring_buoy":"๐Ÿ›Ÿ","boat":"โ›ต","sailboat":"โ›ต","canoe":"๐Ÿ›ถ","speedboat":"๐Ÿšค","passenger_ship":"๐Ÿ›ณ๏ธ","ferry":"โ›ด๏ธ","motor_boat":"๐Ÿ›ฅ๏ธ","ship":"๐Ÿšข","airplane":"โœˆ๏ธ","small_airplane":"๐Ÿ›ฉ๏ธ","flight_departure":"๐Ÿ›ซ","flight_arrival":"๐Ÿ›ฌ","parachute":"๐Ÿช‚","seat":"๐Ÿ’บ","helicopter":"๐Ÿš","suspension_railway":"๐ŸšŸ","mountain_cableway":"๐Ÿš ","aerial_tramway":"๐Ÿšก","artificial_satellite":"๐Ÿ›ฐ๏ธ","rocket":"๐Ÿš€","flying_saucer":"๐Ÿ›ธ","bellhop_bell":"๐Ÿ›Ž๏ธ","luggage":"๐Ÿงณ","hourglass":"โŒ›","hourglass_flowing_sand":"โณ","watch":"โŒš","alarm_clock":"โฐ","stopwatch":"โฑ๏ธ","timer_clock":"โฒ๏ธ","mantelpiece_clock":"๐Ÿ•ฐ๏ธ","clock12":"๐Ÿ•›","clock1230":"๐Ÿ•ง","clock1":"๐Ÿ•","clock130":"๐Ÿ•œ","clock2":"๐Ÿ•‘","clock230":"๐Ÿ•","clock3":"๐Ÿ•’","clock330":"๐Ÿ•ž","clock4":"๐Ÿ•“","clock430":"๐Ÿ•Ÿ","clock5":"๐Ÿ•”","clock530":"๐Ÿ• ","clock6":"๐Ÿ••","clock630":"๐Ÿ•ก","clock7":"๐Ÿ•–","clock730":"๐Ÿ•ข","clock8":"๐Ÿ•—","clock830":"๐Ÿ•ฃ","clock9":"๐Ÿ•˜","clock930":"๐Ÿ•ค","clock10":"๐Ÿ•™","clock1030":"๐Ÿ•ฅ","clock11":"๐Ÿ•š","clock1130":"๐Ÿ•ฆ","new_moon":"๐ŸŒ‘","waxing_crescent_moon":"๐ŸŒ’","first_quarter_moon":"๐ŸŒ“","moon":"๐ŸŒ”","waxing_gibbous_moon":"๐ŸŒ”","full_moon":"๐ŸŒ•","waning_gibbous_moon":"๐ŸŒ–","last_quarter_moon":"๐ŸŒ—","waning_crescent_moon":"๐ŸŒ˜","crescent_moon":"๐ŸŒ™","new_moon_with_face":"๐ŸŒš","first_quarter_moon_with_face":"๐ŸŒ›","last_quarter_moon_with_face":"๐ŸŒœ","thermometer":"๐ŸŒก๏ธ","sunny":"โ˜€๏ธ","full_moon_with_face":"๐ŸŒ","sun_with_face":"๐ŸŒž","ringed_planet":"๐Ÿช","star":"โญ","star2":"๐ŸŒŸ","stars":"๐ŸŒ ","milky_way":"๐ŸŒŒ","cloud":"โ˜๏ธ","partly_sunny":"โ›…","cloud_with_lightning_and_rain":"โ›ˆ๏ธ","sun_behind_small_cloud":"๐ŸŒค๏ธ","sun_behind_large_cloud":"๐ŸŒฅ๏ธ","sun_behind_rain_cloud":"๐ŸŒฆ๏ธ","cloud_with_rain":"๐ŸŒง๏ธ","cloud_with_snow":"๐ŸŒจ๏ธ","cloud_with_lightning":"๐ŸŒฉ๏ธ","tornado":"๐ŸŒช๏ธ","fog":"๐ŸŒซ๏ธ","wind_face":"๐ŸŒฌ๏ธ","cyclone":"๐ŸŒ€","rainbow":"๐ŸŒˆ","closed_umbrella":"๐ŸŒ‚","open_umbrella":"โ˜‚๏ธ","umbrella":"โ˜”","parasol_on_ground":"โ›ฑ๏ธ","zap":"โšก","snowflake":"โ„๏ธ","snowman_with_snow":"โ˜ƒ๏ธ","snowman":"โ›„","comet":"โ˜„๏ธ","fire":"๐Ÿ”ฅ","droplet":"๐Ÿ’ง","ocean":"๐ŸŒŠ","jack_o_lantern":"๐ŸŽƒ","christmas_tree":"๐ŸŽ„","fireworks":"๐ŸŽ†","sparkler":"๐ŸŽ‡","firecracker":"๐Ÿงจ","sparkles":"โœจ","balloon":"๐ŸŽˆ","tada":"๐ŸŽ‰","confetti_ball":"๐ŸŽŠ","tanabata_tree":"๐ŸŽ‹","bamboo":"๐ŸŽ","dolls":"๐ŸŽŽ","flags":"๐ŸŽ","wind_chime":"๐ŸŽ","rice_scene":"๐ŸŽ‘","red_envelope":"๐Ÿงง","ribbon":"๐ŸŽ€","gift":"๐ŸŽ","reminder_ribbon":"๐ŸŽ—๏ธ","tickets":"๐ŸŽŸ๏ธ","ticket":"๐ŸŽซ","medal_military":"๐ŸŽ–๏ธ","trophy":"๐Ÿ†","medal_sports":"๐Ÿ…","1st_place_medal":"๐Ÿฅ‡","2nd_place_medal":"๐Ÿฅˆ","3rd_place_medal":"๐Ÿฅ‰","soccer":"โšฝ","baseball":"โšพ","softball":"๐ŸฅŽ","basketball":"๐Ÿ€","volleyball":"๐Ÿ","football":"๐Ÿˆ","rugby_football":"๐Ÿ‰","tennis":"๐ŸŽพ","flying_disc":"๐Ÿฅ","bowling":"๐ŸŽณ","cricket_game":"๐Ÿ","field_hockey":"๐Ÿ‘","ice_hockey":"๐Ÿ’","lacrosse":"๐Ÿฅ","ping_pong":"๐Ÿ“","badminton":"๐Ÿธ","boxing_glove":"๐ŸฅŠ","martial_arts_uniform":"๐Ÿฅ‹","goal_net":"๐Ÿฅ…","golf":"โ›ณ","ice_skate":"โ›ธ๏ธ","fishing_pole_and_fish":"๐ŸŽฃ","diving_mask":"๐Ÿคฟ","running_shirt_with_sash":"๐ŸŽฝ","ski":"๐ŸŽฟ","sled":"๐Ÿ›ท","curling_stone":"๐ŸฅŒ","dart":"๐ŸŽฏ","yo_yo":"๐Ÿช€","kite":"๐Ÿช","gun":"๐Ÿ”ซ","8ball":"๐ŸŽฑ","crystal_ball":"๐Ÿ”ฎ","magic_wand":"๐Ÿช„","video_game":"๐ŸŽฎ","joystick":"๐Ÿ•น๏ธ","slot_machine":"๐ŸŽฐ","game_die":"๐ŸŽฒ","jigsaw":"๐Ÿงฉ","teddy_bear":"๐Ÿงธ","pinata":"๐Ÿช…","mirror_ball":"๐Ÿชฉ","nesting_dolls":"๐Ÿช†","spades":"โ™ ๏ธ","hearts":"โ™ฅ๏ธ","diamonds":"โ™ฆ๏ธ","clubs":"โ™ฃ๏ธ","chess_pawn":"โ™Ÿ๏ธ","black_joker":"๐Ÿƒ","mahjong":"๐Ÿ€„","flower_playing_cards":"๐ŸŽด","performing_arts":"๐ŸŽญ","framed_picture":"๐Ÿ–ผ๏ธ","art":"๐ŸŽจ","thread":"๐Ÿงต","sewing_needle":"๐Ÿชก","yarn":"๐Ÿงถ","knot":"๐Ÿชข","eyeglasses":"๐Ÿ‘“","dark_sunglasses":"๐Ÿ•ถ๏ธ","goggles":"๐Ÿฅฝ","lab_coat":"๐Ÿฅผ","safety_vest":"๐Ÿฆบ","necktie":"๐Ÿ‘”","shirt":"๐Ÿ‘•","tshirt":"๐Ÿ‘•","jeans":"๐Ÿ‘–","scarf":"๐Ÿงฃ","gloves":"๐Ÿงค","coat":"๐Ÿงฅ","socks":"๐Ÿงฆ","dress":"๐Ÿ‘—","kimono":"๐Ÿ‘˜","sari":"๐Ÿฅป","one_piece_swimsuit":"๐Ÿฉฑ","swim_brief":"๐Ÿฉฒ","shorts":"๐Ÿฉณ","bikini":"๐Ÿ‘™","womans_clothes":"๐Ÿ‘š","folding_hand_fan":"๐Ÿชญ","purse":"๐Ÿ‘›","handbag":"๐Ÿ‘œ","pouch":"๐Ÿ‘","shopping":"๐Ÿ›๏ธ","school_satchel":"๐ŸŽ’","thong_sandal":"๐Ÿฉด","mans_shoe":"๐Ÿ‘ž","shoe":"๐Ÿ‘ž","athletic_shoe":"๐Ÿ‘Ÿ","hiking_boot":"๐Ÿฅพ","flat_shoe":"๐Ÿฅฟ","high_heel":"๐Ÿ‘ ","sandal":"๐Ÿ‘ก","ballet_shoes":"๐Ÿฉฐ","boot":"๐Ÿ‘ข","hair_pick":"๐Ÿชฎ","crown":"๐Ÿ‘‘","womans_hat":"๐Ÿ‘’","tophat":"๐ŸŽฉ","mortar_board":"๐ŸŽ“","billed_cap":"๐Ÿงข","military_helmet":"๐Ÿช–","rescue_worker_helmet":"โ›‘๏ธ","prayer_beads":"๐Ÿ“ฟ","lipstick":"๐Ÿ’„","ring":"๐Ÿ’","gem":"๐Ÿ’Ž","mute":"๐Ÿ”‡","speaker":"๐Ÿ”ˆ","sound":"๐Ÿ”‰","loud_sound":"๐Ÿ”Š","loudspeaker":"๐Ÿ“ข","mega":"๐Ÿ“ฃ","postal_horn":"๐Ÿ“ฏ","bell":"๐Ÿ””","no_bell":"๐Ÿ”•","musical_score":"๐ŸŽผ","musical_note":"๐ŸŽต","notes":"๐ŸŽถ","studio_microphone":"๐ŸŽ™๏ธ","level_slider":"๐ŸŽš๏ธ","control_knobs":"๐ŸŽ›๏ธ","microphone":"๐ŸŽค","headphones":"๐ŸŽง","radio":"๐Ÿ“ป","saxophone":"๐ŸŽท","accordion":"๐Ÿช—","guitar":"๐ŸŽธ","musical_keyboard":"๐ŸŽน","trumpet":"๐ŸŽบ","violin":"๐ŸŽป","banjo":"๐Ÿช•","drum":"๐Ÿฅ","long_drum":"๐Ÿช˜","maracas":"๐Ÿช‡","flute":"๐Ÿชˆ","iphone":"๐Ÿ“ฑ","calling":"๐Ÿ“ฒ","phone":"โ˜Ž๏ธ","telephone":"โ˜Ž๏ธ","telephone_receiver":"๐Ÿ“ž","pager":"๐Ÿ“Ÿ","fax":"๐Ÿ“ ","battery":"๐Ÿ”‹","low_battery":"๐Ÿชซ","electric_plug":"๐Ÿ”Œ","computer":"๐Ÿ’ป","desktop_computer":"๐Ÿ–ฅ๏ธ","printer":"๐Ÿ–จ๏ธ","keyboard":"โŒจ๏ธ","computer_mouse":"๐Ÿ–ฑ๏ธ","trackball":"๐Ÿ–ฒ๏ธ","minidisc":"๐Ÿ’ฝ","floppy_disk":"๐Ÿ’พ","cd":"๐Ÿ’ฟ","dvd":"๐Ÿ“€","abacus":"๐Ÿงฎ","movie_camera":"๐ŸŽฅ","film_strip":"๐ŸŽž๏ธ","film_projector":"๐Ÿ“ฝ๏ธ","clapper":"๐ŸŽฌ","tv":"๐Ÿ“บ","camera":"๐Ÿ“ท","camera_flash":"๐Ÿ“ธ","video_camera":"๐Ÿ“น","vhs":"๐Ÿ“ผ","mag":"๐Ÿ”","mag_right":"๐Ÿ”Ž","candle":"๐Ÿ•ฏ๏ธ","bulb":"๐Ÿ’ก","flashlight":"๐Ÿ”ฆ","izakaya_lantern":"๐Ÿฎ","lantern":"๐Ÿฎ","diya_lamp":"๐Ÿช”","notebook_with_decorative_cover":"๐Ÿ“”","closed_book":"๐Ÿ“•","book":"๐Ÿ“–","open_book":"๐Ÿ“–","green_book":"๐Ÿ“—","blue_book":"๐Ÿ“˜","orange_book":"๐Ÿ“™","books":"๐Ÿ“š","notebook":"๐Ÿ““","ledger":"๐Ÿ“’","page_with_curl":"๐Ÿ“ƒ","scroll":"๐Ÿ“œ","page_facing_up":"๐Ÿ“„","newspaper":"๐Ÿ“ฐ","newspaper_roll":"๐Ÿ—ž๏ธ","bookmark_tabs":"๐Ÿ“‘","bookmark":"๐Ÿ”–","label":"๐Ÿท๏ธ","moneybag":"๐Ÿ’ฐ","coin":"๐Ÿช™","yen":"๐Ÿ’ด","dollar":"๐Ÿ’ต","euro":"๐Ÿ’ถ","pound":"๐Ÿ’ท","money_with_wings":"๐Ÿ’ธ","credit_card":"๐Ÿ’ณ","receipt":"๐Ÿงพ","chart":"๐Ÿ’น","envelope":"โœ‰๏ธ","email":"๐Ÿ“ง","e_mail":"๐Ÿ“ง","incoming_envelope":"๐Ÿ“จ","envelope_with_arrow":"๐Ÿ“ฉ","outbox_tray":"๐Ÿ“ค","inbox_tray":"๐Ÿ“ฅ","package":"๐Ÿ“ฆ","mailbox":"๐Ÿ“ซ","mailbox_closed":"๐Ÿ“ช","mailbox_with_mail":"๐Ÿ“ฌ","mailbox_with_no_mail":"๐Ÿ“ญ","postbox":"๐Ÿ“ฎ","ballot_box":"๐Ÿ—ณ๏ธ","pencil2":"โœ๏ธ","black_nib":"โœ’๏ธ","fountain_pen":"๐Ÿ–‹๏ธ","pen":"๐Ÿ–Š๏ธ","paintbrush":"๐Ÿ–Œ๏ธ","crayon":"๐Ÿ–๏ธ","memo":"๐Ÿ“","pencil":"๐Ÿ“","briefcase":"๐Ÿ’ผ","file_folder":"๐Ÿ“","open_file_folder":"๐Ÿ“‚","card_index_dividers":"๐Ÿ—‚๏ธ","date":"๐Ÿ“…","calendar":"๐Ÿ“†","spiral_notepad":"๐Ÿ—’๏ธ","spiral_calendar":"๐Ÿ—“๏ธ","card_index":"๐Ÿ“‡","chart_with_upwards_trend":"๐Ÿ“ˆ","chart_with_downwards_trend":"๐Ÿ“‰","bar_chart":"๐Ÿ“Š","clipboard":"๐Ÿ“‹","pushpin":"๐Ÿ“Œ","round_pushpin":"๐Ÿ“","paperclip":"๐Ÿ“Ž","paperclips":"๐Ÿ–‡๏ธ","straight_ruler":"๐Ÿ“","triangular_ruler":"๐Ÿ“","scissors":"โœ‚๏ธ","card_file_box":"๐Ÿ—ƒ๏ธ","file_cabinet":"๐Ÿ—„๏ธ","wastebasket":"๐Ÿ—‘๏ธ","lock":"๐Ÿ”’","unlock":"๐Ÿ”“","lock_with_ink_pen":"๐Ÿ”","closed_lock_with_key":"๐Ÿ”","key":"๐Ÿ”‘","old_key":"๐Ÿ—๏ธ","hammer":"๐Ÿ”จ","axe":"๐Ÿช“","pick":"โ›๏ธ","hammer_and_pick":"โš’๏ธ","hammer_and_wrench":"๐Ÿ› ๏ธ","dagger":"๐Ÿ—ก๏ธ","crossed_swords":"โš”๏ธ","bomb":"๐Ÿ’ฃ","boomerang":"๐Ÿชƒ","bow_and_arrow":"๐Ÿน","shield":"๐Ÿ›ก๏ธ","carpentry_saw":"๐Ÿชš","wrench":"๐Ÿ”ง","screwdriver":"๐Ÿช›","nut_and_bolt":"๐Ÿ”ฉ","gear":"โš™๏ธ","clamp":"๐Ÿ—œ๏ธ","balance_scale":"โš–๏ธ","probing_cane":"๐Ÿฆฏ","link":"๐Ÿ”—","chains":"โ›“๏ธ","hook":"๐Ÿช","toolbox":"๐Ÿงฐ","magnet":"๐Ÿงฒ","ladder":"๐Ÿชœ","alembic":"โš—๏ธ","test_tube":"๐Ÿงช","petri_dish":"๐Ÿงซ","dna":"๐Ÿงฌ","microscope":"๐Ÿ”ฌ","telescope":"๐Ÿ”ญ","satellite":"๐Ÿ“ก","syringe":"๐Ÿ’‰","drop_of_blood":"๐Ÿฉธ","pill":"๐Ÿ’Š","adhesive_bandage":"๐Ÿฉน","crutch":"๐Ÿฉผ","stethoscope":"๐Ÿฉบ","x_ray":"๐Ÿฉป","door":"๐Ÿšช","elevator":"๐Ÿ›—","mirror":"๐Ÿชž","window":"๐ŸชŸ","bed":"๐Ÿ›๏ธ","couch_and_lamp":"๐Ÿ›‹๏ธ","chair":"๐Ÿช‘","toilet":"๐Ÿšฝ","plunger":"๐Ÿช ","shower":"๐Ÿšฟ","bathtub":"๐Ÿ›","mouse_trap":"๐Ÿชค","razor":"๐Ÿช’","lotion_bottle":"๐Ÿงด","safety_pin":"๐Ÿงท","broom":"๐Ÿงน","basket":"๐Ÿงบ","roll_of_paper":"๐Ÿงป","bucket":"๐Ÿชฃ","soap":"๐Ÿงผ","bubbles":"๐Ÿซง","toothbrush":"๐Ÿชฅ","sponge":"๐Ÿงฝ","fire_extinguisher":"๐Ÿงฏ","shopping_cart":"๐Ÿ›’","smoking":"๐Ÿšฌ","coffin":"โšฐ๏ธ","headstone":"๐Ÿชฆ","funeral_urn":"โšฑ๏ธ","nazar_amulet":"๐Ÿงฟ","hamsa":"๐Ÿชฌ","moyai":"๐Ÿ—ฟ","placard":"๐Ÿชง","identification_card":"๐Ÿชช","atm":"๐Ÿง","put_litter_in_its_place":"๐Ÿšฎ","potable_water":"๐Ÿšฐ","wheelchair":"โ™ฟ","mens":"๐Ÿšน","womens":"๐Ÿšบ","restroom":"๐Ÿšป","baby_symbol":"๐Ÿšผ","wc":"๐Ÿšพ","passport_control":"๐Ÿ›‚","customs":"๐Ÿ›ƒ","baggage_claim":"๐Ÿ›„","left_luggage":"๐Ÿ›…","warning":"โš ๏ธ","children_crossing":"๐Ÿšธ","no_entry":"โ›”","no_entry_sign":"๐Ÿšซ","no_bicycles":"๐Ÿšณ","no_smoking":"๐Ÿšญ","do_not_litter":"๐Ÿšฏ","non_potable_water":"๐Ÿšฑ","no_pedestrians":"๐Ÿšท","no_mobile_phones":"๐Ÿ“ต","underage":"๐Ÿ”ž","radioactive":"โ˜ข๏ธ","biohazard":"โ˜ฃ๏ธ","arrow_up":"โฌ†๏ธ","arrow_upper_right":"โ†—๏ธ","arrow_right":"โžก๏ธ","arrow_lower_right":"โ†˜๏ธ","arrow_down":"โฌ‡๏ธ","arrow_lower_left":"โ†™๏ธ","arrow_left":"โฌ…๏ธ","arrow_upper_left":"โ†–๏ธ","arrow_up_down":"โ†•๏ธ","left_right_arrow":"โ†”๏ธ","leftwards_arrow_with_hook":"โ†ฉ๏ธ","arrow_right_hook":"โ†ช๏ธ","arrow_heading_up":"โคด๏ธ","arrow_heading_down":"โคต๏ธ","arrows_clockwise":"๐Ÿ”ƒ","arrows_counterclockwise":"๐Ÿ”„","back":"๐Ÿ”™","end":"๐Ÿ”š","on":"๐Ÿ”›","soon":"๐Ÿ”œ","top":"๐Ÿ”","place_of_worship":"๐Ÿ›","atom_symbol":"โš›๏ธ","om":"๐Ÿ•‰๏ธ","star_of_david":"โœก๏ธ","wheel_of_dharma":"โ˜ธ๏ธ","yin_yang":"โ˜ฏ๏ธ","latin_cross":"โœ๏ธ","orthodox_cross":"โ˜ฆ๏ธ","star_and_crescent":"โ˜ช๏ธ","peace_symbol":"โ˜ฎ๏ธ","menorah":"๐Ÿ•Ž","six_pointed_star":"๐Ÿ”ฏ","khanda":"๐Ÿชฏ","aries":"โ™ˆ","taurus":"โ™‰","gemini":"โ™Š","cancer":"โ™‹","leo":"โ™Œ","virgo":"โ™","libra":"โ™Ž","scorpius":"โ™","sagittarius":"โ™","capricorn":"โ™‘","aquarius":"โ™’","pisces":"โ™“","ophiuchus":"โ›Ž","twisted_rightwards_arrows":"๐Ÿ”€","repeat":"๐Ÿ”","repeat_one":"๐Ÿ”‚","arrow_forward":"โ–ถ๏ธ","fast_forward":"โฉ","next_track_button":"โญ๏ธ","play_or_pause_button":"โฏ๏ธ","arrow_backward":"โ—€๏ธ","rewind":"โช","previous_track_button":"โฎ๏ธ","arrow_up_small":"๐Ÿ”ผ","arrow_double_up":"โซ","arrow_down_small":"๐Ÿ”ฝ","arrow_double_down":"โฌ","pause_button":"โธ๏ธ","stop_button":"โน๏ธ","record_button":"โบ๏ธ","eject_button":"โ๏ธ","cinema":"๐ŸŽฆ","low_brightness":"๐Ÿ”…","high_brightness":"๐Ÿ”†","signal_strength":"๐Ÿ“ถ","wireless":"๐Ÿ›œ","vibration_mode":"๐Ÿ“ณ","mobile_phone_off":"๐Ÿ“ด","female_sign":"โ™€๏ธ","male_sign":"โ™‚๏ธ","transgender_symbol":"โšง๏ธ","heavy_multiplication_x":"โœ–๏ธ","heavy_plus_sign":"โž•","heavy_minus_sign":"โž–","heavy_division_sign":"โž—","heavy_equals_sign":"๐ŸŸฐ","infinity":"โ™พ๏ธ","bangbang":"โ€ผ๏ธ","interrobang":"โ‰๏ธ","question":"โ“","grey_question":"โ”","grey_exclamation":"โ•","exclamation":"โ—","heavy_exclamation_mark":"โ—","wavy_dash":"ใ€ฐ๏ธ","currency_exchange":"๐Ÿ’ฑ","heavy_dollar_sign":"๐Ÿ’ฒ","medical_symbol":"โš•๏ธ","recycle":"โ™ป๏ธ","fleur_de_lis":"โšœ๏ธ","trident":"๐Ÿ”ฑ","name_badge":"๐Ÿ“›","beginner":"๐Ÿ”ฐ","o":"โญ•","white_check_mark":"โœ…","ballot_box_with_check":"โ˜‘๏ธ","heavy_check_mark":"โœ”๏ธ","x":"โŒ","negative_squared_cross_mark":"โŽ","curly_loop":"โžฐ","loop":"โžฟ","part_alternation_mark":"ใ€ฝ๏ธ","eight_spoked_asterisk":"โœณ๏ธ","eight_pointed_black_star":"โœด๏ธ","sparkle":"โ‡๏ธ","copyright":"ยฉ๏ธ","registered":"ยฎ๏ธ","tm":"โ„ข๏ธ","hash":"#๏ธโƒฃ","asterisk":"*๏ธโƒฃ","zero":"0๏ธโƒฃ","one":"1๏ธโƒฃ","two":"2๏ธโƒฃ","three":"3๏ธโƒฃ","four":"4๏ธโƒฃ","five":"5๏ธโƒฃ","six":"6๏ธโƒฃ","seven":"7๏ธโƒฃ","eight":"8๏ธโƒฃ","nine":"9๏ธโƒฃ","keycap_ten":"๐Ÿ”Ÿ","capital_abcd":"๐Ÿ” ","abcd":"๐Ÿ”ก","symbols":"๐Ÿ”ฃ","abc":"๐Ÿ”ค","a":"๐Ÿ…ฐ๏ธ","ab":"๐Ÿ†Ž","b":"๐Ÿ…ฑ๏ธ","cl":"๐Ÿ†‘","cool":"๐Ÿ†’","free":"๐Ÿ†“","information_source":"โ„น๏ธ","id":"๐Ÿ†”","m":"โ“‚๏ธ","new":"๐Ÿ†•","ng":"๐Ÿ†–","o2":"๐Ÿ…พ๏ธ","ok":"๐Ÿ†—","parking":"๐Ÿ…ฟ๏ธ","sos":"๐Ÿ†˜","up":"๐Ÿ†™","vs":"๐Ÿ†š","koko":"๐Ÿˆ","sa":"๐Ÿˆ‚๏ธ","u6708":"๐Ÿˆท๏ธ","u6709":"๐Ÿˆถ","u6307":"๐Ÿˆฏ","ideograph_advantage":"๐Ÿ‰","u5272":"๐Ÿˆน","u7121":"๐Ÿˆš","u7981":"๐Ÿˆฒ","accept":"๐Ÿ‰‘","u7533":"๐Ÿˆธ","u5408":"๐Ÿˆด","u7a7a":"๐Ÿˆณ","congratulations":"ใŠ—๏ธ","secret":"ใŠ™๏ธ","u55b6":"๐Ÿˆบ","u6e80":"๐Ÿˆต","red_circle":"๐Ÿ”ด","orange_circle":"๐ŸŸ ","yellow_circle":"๐ŸŸก","green_circle":"๐ŸŸข","large_blue_circle":"๐Ÿ”ต","purple_circle":"๐ŸŸฃ","brown_circle":"๐ŸŸค","black_circle":"โšซ","white_circle":"โšช","red_square":"๐ŸŸฅ","orange_square":"๐ŸŸง","yellow_square":"๐ŸŸจ","green_square":"๐ŸŸฉ","blue_square":"๐ŸŸฆ","purple_square":"๐ŸŸช","brown_square":"๐ŸŸซ","black_large_square":"โฌ›","white_large_square":"โฌœ","black_medium_square":"โ—ผ๏ธ","white_medium_square":"โ—ป๏ธ","black_medium_small_square":"โ—พ","white_medium_small_square":"โ—ฝ","black_small_square":"โ–ช๏ธ","white_small_square":"โ–ซ๏ธ","large_orange_diamond":"๐Ÿ”ถ","large_blue_diamond":"๐Ÿ”ท","small_orange_diamond":"๐Ÿ”ธ","small_blue_diamond":"๐Ÿ”น","small_red_triangle":"๐Ÿ”บ","small_red_triangle_down":"๐Ÿ”ป","diamond_shape_with_a_dot_inside":"๐Ÿ’ ","radio_button":"๐Ÿ”˜","white_square_button":"๐Ÿ”ณ","black_square_button":"๐Ÿ”ฒ","checkered_flag":"๐Ÿ","triangular_flag_on_post":"๐Ÿšฉ","crossed_flags":"๐ŸŽŒ","black_flag":"๐Ÿด","white_flag":"๐Ÿณ๏ธ","rainbow_flag":"๐Ÿณ๏ธโ€๐ŸŒˆ","transgender_flag":"๐Ÿณ๏ธโ€โšง๏ธ","pirate_flag":"๐Ÿดโ€โ˜ ๏ธ","ascension_island":"๐Ÿ‡ฆ๐Ÿ‡จ","andorra":"๐Ÿ‡ฆ๐Ÿ‡ฉ","united_arab_emirates":"๐Ÿ‡ฆ๐Ÿ‡ช","afghanistan":"๐Ÿ‡ฆ๐Ÿ‡ซ","antigua_barbuda":"๐Ÿ‡ฆ๐Ÿ‡ฌ","anguilla":"๐Ÿ‡ฆ๐Ÿ‡ฎ","albania":"๐Ÿ‡ฆ๐Ÿ‡ฑ","armenia":"๐Ÿ‡ฆ๐Ÿ‡ฒ","angola":"๐Ÿ‡ฆ๐Ÿ‡ด","antarctica":"๐Ÿ‡ฆ๐Ÿ‡ถ","argentina":"๐Ÿ‡ฆ๐Ÿ‡ท","american_samoa":"๐Ÿ‡ฆ๐Ÿ‡ธ","austria":"๐Ÿ‡ฆ๐Ÿ‡น","australia":"๐Ÿ‡ฆ๐Ÿ‡บ","aruba":"๐Ÿ‡ฆ๐Ÿ‡ผ","aland_islands":"๐Ÿ‡ฆ๐Ÿ‡ฝ","azerbaijan":"๐Ÿ‡ฆ๐Ÿ‡ฟ","bosnia_herzegovina":"๐Ÿ‡ง๐Ÿ‡ฆ","barbados":"๐Ÿ‡ง๐Ÿ‡ง","bangladesh":"๐Ÿ‡ง๐Ÿ‡ฉ","belgium":"๐Ÿ‡ง๐Ÿ‡ช","burkina_faso":"๐Ÿ‡ง๐Ÿ‡ซ","bulgaria":"๐Ÿ‡ง๐Ÿ‡ฌ","bahrain":"๐Ÿ‡ง๐Ÿ‡ญ","burundi":"๐Ÿ‡ง๐Ÿ‡ฎ","benin":"๐Ÿ‡ง๐Ÿ‡ฏ","st_barthelemy":"๐Ÿ‡ง๐Ÿ‡ฑ","bermuda":"๐Ÿ‡ง๐Ÿ‡ฒ","brunei":"๐Ÿ‡ง๐Ÿ‡ณ","bolivia":"๐Ÿ‡ง๐Ÿ‡ด","caribbean_netherlands":"๐Ÿ‡ง๐Ÿ‡ถ","brazil":"๐Ÿ‡ง๐Ÿ‡ท","bahamas":"๐Ÿ‡ง๐Ÿ‡ธ","bhutan":"๐Ÿ‡ง๐Ÿ‡น","bouvet_island":"๐Ÿ‡ง๐Ÿ‡ป","botswana":"๐Ÿ‡ง๐Ÿ‡ผ","belarus":"๐Ÿ‡ง๐Ÿ‡พ","belize":"๐Ÿ‡ง๐Ÿ‡ฟ","canada":"๐Ÿ‡จ๐Ÿ‡ฆ","cocos_islands":"๐Ÿ‡จ๐Ÿ‡จ","congo_kinshasa":"๐Ÿ‡จ๐Ÿ‡ฉ","central_african_republic":"๐Ÿ‡จ๐Ÿ‡ซ","congo_brazzaville":"๐Ÿ‡จ๐Ÿ‡ฌ","switzerland":"๐Ÿ‡จ๐Ÿ‡ญ","cote_divoire":"๐Ÿ‡จ๐Ÿ‡ฎ","cook_islands":"๐Ÿ‡จ๐Ÿ‡ฐ","chile":"๐Ÿ‡จ๐Ÿ‡ฑ","cameroon":"๐Ÿ‡จ๐Ÿ‡ฒ","cn":"๐Ÿ‡จ๐Ÿ‡ณ","colombia":"๐Ÿ‡จ๐Ÿ‡ด","clipperton_island":"๐Ÿ‡จ๐Ÿ‡ต","costa_rica":"๐Ÿ‡จ๐Ÿ‡ท","cuba":"๐Ÿ‡จ๐Ÿ‡บ","cape_verde":"๐Ÿ‡จ๐Ÿ‡ป","curacao":"๐Ÿ‡จ๐Ÿ‡ผ","christmas_island":"๐Ÿ‡จ๐Ÿ‡ฝ","cyprus":"๐Ÿ‡จ๐Ÿ‡พ","czech_republic":"๐Ÿ‡จ๐Ÿ‡ฟ","de":"๐Ÿ‡ฉ๐Ÿ‡ช","diego_garcia":"๐Ÿ‡ฉ๐Ÿ‡ฌ","djibouti":"๐Ÿ‡ฉ๐Ÿ‡ฏ","denmark":"๐Ÿ‡ฉ๐Ÿ‡ฐ","dominica":"๐Ÿ‡ฉ๐Ÿ‡ฒ","dominican_republic":"๐Ÿ‡ฉ๐Ÿ‡ด","algeria":"๐Ÿ‡ฉ๐Ÿ‡ฟ","ceuta_melilla":"๐Ÿ‡ช๐Ÿ‡ฆ","ecuador":"๐Ÿ‡ช๐Ÿ‡จ","estonia":"๐Ÿ‡ช๐Ÿ‡ช","egypt":"๐Ÿ‡ช๐Ÿ‡ฌ","western_sahara":"๐Ÿ‡ช๐Ÿ‡ญ","eritrea":"๐Ÿ‡ช๐Ÿ‡ท","es":"๐Ÿ‡ช๐Ÿ‡ธ","ethiopia":"๐Ÿ‡ช๐Ÿ‡น","eu":"๐Ÿ‡ช๐Ÿ‡บ","european_union":"๐Ÿ‡ช๐Ÿ‡บ","finland":"๐Ÿ‡ซ๐Ÿ‡ฎ","fiji":"๐Ÿ‡ซ๐Ÿ‡ฏ","falkland_islands":"๐Ÿ‡ซ๐Ÿ‡ฐ","micronesia":"๐Ÿ‡ซ๐Ÿ‡ฒ","faroe_islands":"๐Ÿ‡ซ๐Ÿ‡ด","fr":"๐Ÿ‡ซ๐Ÿ‡ท","gabon":"๐Ÿ‡ฌ๐Ÿ‡ฆ","gb":"๐Ÿ‡ฌ๐Ÿ‡ง","uk":"๐Ÿ‡ฌ๐Ÿ‡ง","grenada":"๐Ÿ‡ฌ๐Ÿ‡ฉ","georgia":"๐Ÿ‡ฌ๐Ÿ‡ช","french_guiana":"๐Ÿ‡ฌ๐Ÿ‡ซ","guernsey":"๐Ÿ‡ฌ๐Ÿ‡ฌ","ghana":"๐Ÿ‡ฌ๐Ÿ‡ญ","gibraltar":"๐Ÿ‡ฌ๐Ÿ‡ฎ","greenland":"๐Ÿ‡ฌ๐Ÿ‡ฑ","gambia":"๐Ÿ‡ฌ๐Ÿ‡ฒ","guinea":"๐Ÿ‡ฌ๐Ÿ‡ณ","guadeloupe":"๐Ÿ‡ฌ๐Ÿ‡ต","equatorial_guinea":"๐Ÿ‡ฌ๐Ÿ‡ถ","greece":"๐Ÿ‡ฌ๐Ÿ‡ท","south_georgia_south_sandwich_islands":"๐Ÿ‡ฌ๐Ÿ‡ธ","guatemala":"๐Ÿ‡ฌ๐Ÿ‡น","guam":"๐Ÿ‡ฌ๐Ÿ‡บ","guinea_bissau":"๐Ÿ‡ฌ๐Ÿ‡ผ","guyana":"๐Ÿ‡ฌ๐Ÿ‡พ","hong_kong":"๐Ÿ‡ญ๐Ÿ‡ฐ","heard_mcdonald_islands":"๐Ÿ‡ญ๐Ÿ‡ฒ","honduras":"๐Ÿ‡ญ๐Ÿ‡ณ","croatia":"๐Ÿ‡ญ๐Ÿ‡ท","haiti":"๐Ÿ‡ญ๐Ÿ‡น","hungary":"๐Ÿ‡ญ๐Ÿ‡บ","canary_islands":"๐Ÿ‡ฎ๐Ÿ‡จ","indonesia":"๐Ÿ‡ฎ๐Ÿ‡ฉ","ireland":"๐Ÿ‡ฎ๐Ÿ‡ช","israel":"๐Ÿ‡ฎ๐Ÿ‡ฑ","isle_of_man":"๐Ÿ‡ฎ๐Ÿ‡ฒ","india":"๐Ÿ‡ฎ๐Ÿ‡ณ","british_indian_ocean_territory":"๐Ÿ‡ฎ๐Ÿ‡ด","iraq":"๐Ÿ‡ฎ๐Ÿ‡ถ","iran":"๐Ÿ‡ฎ๐Ÿ‡ท","iceland":"๐Ÿ‡ฎ๐Ÿ‡ธ","it":"๐Ÿ‡ฎ๐Ÿ‡น","jersey":"๐Ÿ‡ฏ๐Ÿ‡ช","jamaica":"๐Ÿ‡ฏ๐Ÿ‡ฒ","jordan":"๐Ÿ‡ฏ๐Ÿ‡ด","jp":"๐Ÿ‡ฏ๐Ÿ‡ต","kenya":"๐Ÿ‡ฐ๐Ÿ‡ช","kyrgyzstan":"๐Ÿ‡ฐ๐Ÿ‡ฌ","cambodia":"๐Ÿ‡ฐ๐Ÿ‡ญ","kiribati":"๐Ÿ‡ฐ๐Ÿ‡ฎ","comoros":"๐Ÿ‡ฐ๐Ÿ‡ฒ","st_kitts_nevis":"๐Ÿ‡ฐ๐Ÿ‡ณ","north_korea":"๐Ÿ‡ฐ๐Ÿ‡ต","kr":"๐Ÿ‡ฐ๐Ÿ‡ท","kuwait":"๐Ÿ‡ฐ๐Ÿ‡ผ","cayman_islands":"๐Ÿ‡ฐ๐Ÿ‡พ","kazakhstan":"๐Ÿ‡ฐ๐Ÿ‡ฟ","laos":"๐Ÿ‡ฑ๐Ÿ‡ฆ","lebanon":"๐Ÿ‡ฑ๐Ÿ‡ง","st_lucia":"๐Ÿ‡ฑ๐Ÿ‡จ","liechtenstein":"๐Ÿ‡ฑ๐Ÿ‡ฎ","sri_lanka":"๐Ÿ‡ฑ๐Ÿ‡ฐ","liberia":"๐Ÿ‡ฑ๐Ÿ‡ท","lesotho":"๐Ÿ‡ฑ๐Ÿ‡ธ","lithuania":"๐Ÿ‡ฑ๐Ÿ‡น","luxembourg":"๐Ÿ‡ฑ๐Ÿ‡บ","latvia":"๐Ÿ‡ฑ๐Ÿ‡ป","libya":"๐Ÿ‡ฑ๐Ÿ‡พ","morocco":"๐Ÿ‡ฒ๐Ÿ‡ฆ","monaco":"๐Ÿ‡ฒ๐Ÿ‡จ","moldova":"๐Ÿ‡ฒ๐Ÿ‡ฉ","montenegro":"๐Ÿ‡ฒ๐Ÿ‡ช","st_martin":"๐Ÿ‡ฒ๐Ÿ‡ซ","madagascar":"๐Ÿ‡ฒ๐Ÿ‡ฌ","marshall_islands":"๐Ÿ‡ฒ๐Ÿ‡ญ","macedonia":"๐Ÿ‡ฒ๐Ÿ‡ฐ","mali":"๐Ÿ‡ฒ๐Ÿ‡ฑ","myanmar":"๐Ÿ‡ฒ๐Ÿ‡ฒ","mongolia":"๐Ÿ‡ฒ๐Ÿ‡ณ","macau":"๐Ÿ‡ฒ๐Ÿ‡ด","northern_mariana_islands":"๐Ÿ‡ฒ๐Ÿ‡ต","martinique":"๐Ÿ‡ฒ๐Ÿ‡ถ","mauritania":"๐Ÿ‡ฒ๐Ÿ‡ท","montserrat":"๐Ÿ‡ฒ๐Ÿ‡ธ","malta":"๐Ÿ‡ฒ๐Ÿ‡น","mauritius":"๐Ÿ‡ฒ๐Ÿ‡บ","maldives":"๐Ÿ‡ฒ๐Ÿ‡ป","malawi":"๐Ÿ‡ฒ๐Ÿ‡ผ","mexico":"๐Ÿ‡ฒ๐Ÿ‡ฝ","malaysia":"๐Ÿ‡ฒ๐Ÿ‡พ","mozambique":"๐Ÿ‡ฒ๐Ÿ‡ฟ","namibia":"๐Ÿ‡ณ๐Ÿ‡ฆ","new_caledonia":"๐Ÿ‡ณ๐Ÿ‡จ","niger":"๐Ÿ‡ณ๐Ÿ‡ช","norfolk_island":"๐Ÿ‡ณ๐Ÿ‡ซ","nigeria":"๐Ÿ‡ณ๐Ÿ‡ฌ","nicaragua":"๐Ÿ‡ณ๐Ÿ‡ฎ","netherlands":"๐Ÿ‡ณ๐Ÿ‡ฑ","norway":"๐Ÿ‡ณ๐Ÿ‡ด","nepal":"๐Ÿ‡ณ๐Ÿ‡ต","nauru":"๐Ÿ‡ณ๐Ÿ‡ท","niue":"๐Ÿ‡ณ๐Ÿ‡บ","new_zealand":"๐Ÿ‡ณ๐Ÿ‡ฟ","oman":"๐Ÿ‡ด๐Ÿ‡ฒ","panama":"๐Ÿ‡ต๐Ÿ‡ฆ","peru":"๐Ÿ‡ต๐Ÿ‡ช","french_polynesia":"๐Ÿ‡ต๐Ÿ‡ซ","papua_new_guinea":"๐Ÿ‡ต๐Ÿ‡ฌ","philippines":"๐Ÿ‡ต๐Ÿ‡ญ","pakistan":"๐Ÿ‡ต๐Ÿ‡ฐ","poland":"๐Ÿ‡ต๐Ÿ‡ฑ","st_pierre_miquelon":"๐Ÿ‡ต๐Ÿ‡ฒ","pitcairn_islands":"๐Ÿ‡ต๐Ÿ‡ณ","puerto_rico":"๐Ÿ‡ต๐Ÿ‡ท","palestinian_territories":"๐Ÿ‡ต๐Ÿ‡ธ","portugal":"๐Ÿ‡ต๐Ÿ‡น","palau":"๐Ÿ‡ต๐Ÿ‡ผ","paraguay":"๐Ÿ‡ต๐Ÿ‡พ","qatar":"๐Ÿ‡ถ๐Ÿ‡ฆ","reunion":"๐Ÿ‡ท๐Ÿ‡ช","romania":"๐Ÿ‡ท๐Ÿ‡ด","serbia":"๐Ÿ‡ท๐Ÿ‡ธ","ru":"๐Ÿ‡ท๐Ÿ‡บ","rwanda":"๐Ÿ‡ท๐Ÿ‡ผ","saudi_arabia":"๐Ÿ‡ธ๐Ÿ‡ฆ","solomon_islands":"๐Ÿ‡ธ๐Ÿ‡ง","seychelles":"๐Ÿ‡ธ๐Ÿ‡จ","sudan":"๐Ÿ‡ธ๐Ÿ‡ฉ","sweden":"๐Ÿ‡ธ๐Ÿ‡ช","singapore":"๐Ÿ‡ธ๐Ÿ‡ฌ","st_helena":"๐Ÿ‡ธ๐Ÿ‡ญ","slovenia":"๐Ÿ‡ธ๐Ÿ‡ฎ","svalbard_jan_mayen":"๐Ÿ‡ธ๐Ÿ‡ฏ","slovakia":"๐Ÿ‡ธ๐Ÿ‡ฐ","sierra_leone":"๐Ÿ‡ธ๐Ÿ‡ฑ","san_marino":"๐Ÿ‡ธ๐Ÿ‡ฒ","senegal":"๐Ÿ‡ธ๐Ÿ‡ณ","somalia":"๐Ÿ‡ธ๐Ÿ‡ด","suriname":"๐Ÿ‡ธ๐Ÿ‡ท","south_sudan":"๐Ÿ‡ธ๐Ÿ‡ธ","sao_tome_principe":"๐Ÿ‡ธ๐Ÿ‡น","el_salvador":"๐Ÿ‡ธ๐Ÿ‡ป","sint_maarten":"๐Ÿ‡ธ๐Ÿ‡ฝ","syria":"๐Ÿ‡ธ๐Ÿ‡พ","swaziland":"๐Ÿ‡ธ๐Ÿ‡ฟ","tristan_da_cunha":"๐Ÿ‡น๐Ÿ‡ฆ","turks_caicos_islands":"๐Ÿ‡น๐Ÿ‡จ","chad":"๐Ÿ‡น๐Ÿ‡ฉ","french_southern_territories":"๐Ÿ‡น๐Ÿ‡ซ","togo":"๐Ÿ‡น๐Ÿ‡ฌ","thailand":"๐Ÿ‡น๐Ÿ‡ญ","tajikistan":"๐Ÿ‡น๐Ÿ‡ฏ","tokelau":"๐Ÿ‡น๐Ÿ‡ฐ","timor_leste":"๐Ÿ‡น๐Ÿ‡ฑ","turkmenistan":"๐Ÿ‡น๐Ÿ‡ฒ","tunisia":"๐Ÿ‡น๐Ÿ‡ณ","tonga":"๐Ÿ‡น๐Ÿ‡ด","tr":"๐Ÿ‡น๐Ÿ‡ท","trinidad_tobago":"๐Ÿ‡น๐Ÿ‡น","tuvalu":"๐Ÿ‡น๐Ÿ‡ป","taiwan":"๐Ÿ‡น๐Ÿ‡ผ","tanzania":"๐Ÿ‡น๐Ÿ‡ฟ","ukraine":"๐Ÿ‡บ๐Ÿ‡ฆ","uganda":"๐Ÿ‡บ๐Ÿ‡ฌ","us_outlying_islands":"๐Ÿ‡บ๐Ÿ‡ฒ","united_nations":"๐Ÿ‡บ๐Ÿ‡ณ","us":"๐Ÿ‡บ๐Ÿ‡ธ","uruguay":"๐Ÿ‡บ๐Ÿ‡พ","uzbekistan":"๐Ÿ‡บ๐Ÿ‡ฟ","vatican_city":"๐Ÿ‡ป๐Ÿ‡ฆ","st_vincent_grenadines":"๐Ÿ‡ป๐Ÿ‡จ","venezuela":"๐Ÿ‡ป๐Ÿ‡ช","british_virgin_islands":"๐Ÿ‡ป๐Ÿ‡ฌ","us_virgin_islands":"๐Ÿ‡ป๐Ÿ‡ฎ","vietnam":"๐Ÿ‡ป๐Ÿ‡ณ","vanuatu":"๐Ÿ‡ป๐Ÿ‡บ","wallis_futuna":"๐Ÿ‡ผ๐Ÿ‡ซ","samoa":"๐Ÿ‡ผ๐Ÿ‡ธ","kosovo":"๐Ÿ‡ฝ๐Ÿ‡ฐ","yemen":"๐Ÿ‡พ๐Ÿ‡ช","mayotte":"๐Ÿ‡พ๐Ÿ‡น","south_africa":"๐Ÿ‡ฟ๐Ÿ‡ฆ","zambia":"๐Ÿ‡ฟ๐Ÿ‡ฒ","zimbabwe":"๐Ÿ‡ฟ๐Ÿ‡ผ","england":"๐Ÿด๓ ง๓ ข๓ ฅ๓ ฎ๓ ง๓ ฟ","scotland":"๐Ÿด๓ ง๓ ข๓ ณ๓ ฃ๓ ด๓ ฟ","wales":"๐Ÿด๓ ง๓ ข๓ ท๓ ฌ๓ ณ๓ ฟ"}'),oi=Object.keys(si),ii={id:"emoji",match:/(^|\s):([-+\w:?]{2,}):?$/,search(e,n){n(hi(e=e.replace(/:$/,""),oi))},template:([e,n])=>`<span class="emoji">${String(si[n])}</span> ${e}`,replace:([,e])=>"$1"+String(si[e]),index:2},li={id:"nicks",match:/(^|\s)(@([a-zA-Z_[\]\\^{}|`@][a-zA-Z0-9_[\]\\^{}|`-]*)?)$/,search(e,n){"@"===(e=e.slice(1))[0]?n(gi(e.slice(1),!0).map(e=>["@"+e[0],"@"+e[1]])):n(gi(e,!0))},template:([e])=>e,replace:([,e])=>"$1"+pi(e),index:2},ri={id:"chans",match:/(^|\s)((?:#|\+|&|![A-Z0-9]{5})(?:[^\s]+)?)$/,search(e,n){n(function(e){const n=[];if(o.M_.state.activeChannel)for(const t of o.M_.state.activeChannel.network.channels)t.type===Zs.rR.CHANNEL&&t.name[0]===e[0]&&n.push(t.name);return hi(e,n)}(e))},template:([e])=>e,replace:([,e])=>"$1"+e,index:2},ci={id:"commands",match:/^\/(\w*)$/,search(e,n){n(hi("/"+e,function(){let e=a.commands.slice();return o.M_.state.settings.searchEnabled||(e=e.filter(e=>"/search"!==e)),e}()))},template:([e])=>e,replace:([,e])=>e,index:1},ui={id:"foreground-colors",match:/\x03(\d{0,2}|[A-Za-z ]{0,10})$/,search(e,n){e=e.toLowerCase(),n(a.colorCodeMap.filter(n=>B().test(e,n[0])||B().test(e,n[1])).map(n=>B().test(e,n[1])?[n[0],B().match(e,n[1],{pre:"<b>",post:"</b>"}).rendered]:n))},template:e=>`<span class="irc-fg${parseInt(e[0],10)}">${e[1]}</span>`,replace:e=>""+e[0],index:1},di={id:"background-colors",match:/\x03(\d{2}),(\d{0,2}|[A-Za-z ]{0,10})$/,search(e,n,t){e=e.toLowerCase(),n(a.colorCodeMap.filter(n=>B().test(e,n[0])||B().test(e,n[1])).map(n=>B().test(e,n[1])?[n[0],B().match(e,n[1],{pre:"<b>",post:"</b>"}).rendered]:n).map(e=>e.concat(t[1])))},template:e=>`<span class="irc-fg${parseInt(e[2],10)} irc-bg irc-bg${parseInt(e[0],10)}">${e[1]}</span>`,replace:e=>"$1,"+e[0],index:2};function pi(e,n=1){return o.M_.state.settings.nickPostfix?n>0&&/\s/.test(o.M_.state.activeChannel?.channel.pendingMessage||"")?e+" ":e+o.M_.state.settings.nickPostfix:e}function hi(e,n){return B().filter(e,n,{pre:"<b>",post:"</b>"}).map(e=>[e.string,e.original])}function gi(e,n){const t=function(){if(!o.M_.state.activeChannel)return[];const e=o.M_.state.activeChannel.channel;if(e.users&&e.users.length>0)return e.users.slice().sort((e,n)=>n.lastMessage-e.lastMessage).map(e=>e.nick);const n=o.M_.state.activeChannel.network.nick,t=e.name;return n!==t&&e.type===Zs.rR.QUERY?[t,n]:[n]}();return e=e.toLowerCase(),n?hi(e,t):t.filter(n=>!n.toLowerCase().indexOf(e))}const mi={collapse:function(){if(!o.M_.state.activeChannel)return!1;const e=[];for(const n of o.M_.state.activeChannel.channel.messages){let t=!1;for(const e of n.previews||[])e.shown&&(e.shown=!1,t=!0);t&&e.push(n.id)}return!document.body.classList.contains("public")&&e.length>0&&re.A.emit("msg:preview:toggle",{target:o.M_.state.activeChannel?.channel.id,messageIds:e,shown:!1}),!0},expand:function(){if(!o.M_.state.activeChannel)return!1;const e=[];for(const n of o.M_.state.activeChannel.channel.messages){let t=!1;for(const e of n.previews||[])e.shown||(e.shown=!0,t=!0);t&&e.push(n.id)}return!document.body.classList.contains("public")&&e.length>0&&re.A.emit("msg:preview:toggle",{target:o.M_.state.activeChannel?.channel.id,messageIds:e,shown:!0}),!0},join:function(e){if(e.length>0){let n=e[0];if(n.length>0){const t=o.M_.state.activeChannel?.network.serverOptions.CHANTYPES,a=e[0].split(",");if(t&&t.length>0)for(let e=0;e<a.length;e++)t.includes(a[e][0])||(a[e]=t[0]+a[e]);n=a.join(",");const s=o.M_.getters.findChannelOnCurrentNetwork(n);if(!s)return o.M_.state.activeChannel&&re.A.emit("input",{text:`/join ${n} ${e.length>1?e[1]:""}`,target:o.M_.state.activeChannel.channel.id}),!0;mc(s)}}else if(o.M_.state.activeChannel?.channel.type===Zs.rR.CHANNEL)return re.A.emit("input",{target:o.M_.state.activeChannel.channel.id,text:`/join ${o.M_.state.activeChannel.channel.name}`}),!0;return!1},search:function(e){return!!o.M_.state.settings.searchEnabled&&(hc.push({name:"SearchResults",params:{id:o.M_.state.activeChannel?.channel.id},query:{q:e.join(" ")}}).catch(e=>{console.error(`Failed to push SearchResults route: ${e.message}`)}),!0)}},ki=new class{xhr=null;fileQueue=[];tokenKeepAlive=null;overlay=null;uploadProgressbar=null;onDragEnter=e=>this.dragEnter(e);onDragOver=e=>this.dragOver(e);onDragLeave=e=>this.dragLeave(e);onDrop=e=>this.drop(e);onPaste=e=>this.paste(e);init(){re.A.on("upload:auth",e=>this.uploadNextFileInQueue(e))}mounted(){this.overlay=document.getElementById("upload-overlay"),this.uploadProgressbar=document.getElementById("upload-progressbar"),document.addEventListener("dragenter",this.onDragEnter),document.addEventListener("dragover",this.onDragOver),document.addEventListener("dragleave",this.onDragLeave),document.addEventListener("drop",this.onDrop),document.addEventListener("paste",this.onPaste)}unmounted(){document.removeEventListener("dragenter",this.onDragEnter),document.removeEventListener("dragover",this.onDragOver),document.removeEventListener("dragleave",this.onDragLeave),document.removeEventListener("drop",this.onDrop),document.removeEventListener("paste",this.onPaste)}dragOver(e){e.dataTransfer?.types.includes("Files")&&e.preventDefault()}dragEnter(e){!e.relatedTarget&&e.dataTransfer?.types.includes("Files")&&(e.preventDefault(),this.overlay?.classList.add("is-dragover"))}dragLeave(e){e.relatedTarget||(e.preventDefault(),this.overlay?.classList.remove("is-dragover"))}drop(e){if(!e.dataTransfer?.types.includes("Files"))return;let n;e.preventDefault(),this.overlay?.classList.remove("is-dragover"),n=e.dataTransfer.items?Array.from(e.dataTransfer.items).filter(e=>"file"===e.kind).map(e=>e.getAsFile()):Array.from(e.dataTransfer.files),this.triggerUpload(n)}paste(e){const n=e.clipboardData?.items,t=[];if(n){for(let e=0;e<n.length;e++)"file"===n[e].kind&&t.push(n[e].getAsFile());0!==t.length&&(e.preventDefault(),this.triggerUpload(t))}}triggerUpload(e){if(!e.length)return;if(!o.M_.state.isConnected)return void this.handleResponse({error:"You are currently disconnected, unable to initiate upload process."});const n=0===this.fileQueue.length,t=o.M_.state.serverConfiguration?.fileUploadMaxFileSize||0;for(const n of e){if(!n)return;t>0&&n.size>t?this.handleResponse({error:`File ${n.name} is over the maximum allowed size`}):this.fileQueue.push(n)}n&&null===this.xhr&&this.fileQueue.length>0&&this.requestToken()}requestToken(){re.A.emit("upload:auth")}setProgress(e){this.uploadProgressbar&&(this.uploadProgressbar.classList.toggle("upload-progressbar-visible",e>0),this.uploadProgressbar.style.width=`${e}%`)}uploadNextFileInQueue(e){const n=this.fileQueue.shift();n&&(this.tokenKeepAlive=setInterval(()=>re.A.emit("upload:ping",e),4e4),o.M_.state.settings.uploadCanvas&&n.type.startsWith("image/")&&!n.type.includes("svg")&&"image/gif"!==n.type?this.renderImage(n,n=>this.performUpload(e,n)):this.performUpload(e,n))}renderImage(e,n){const t=new FileReader;t.onabort=()=>n(e),t.onerror=()=>t.abort(),t.onload=()=>{const a=new Image;if(a.onerror=()=>n(e),a.onload=()=>{const t=document.createElement("canvas");t.width=a.width,t.height=a.height;const s=t.getContext("2d");if(!s)throw new Error("Could not get canvas context in upload");s.drawImage(a,0,0),t.toBlob(t=>{n(new File([t],e.name))},e.type)},"string"!=typeof t.result)throw new Error("Expected string result from readAsDataURL");a.src=t.result},t.readAsDataURL(e)}performUpload(e,n){this.xhr=new XMLHttpRequest,this.xhr.upload.addEventListener("progress",e=>{const n=Math.floor(e.loaded/e.total*1e3)/10;this.setProgress(n)},!1),this.xhr.onreadystatechange=()=>{if(this.xhr?.readyState===XMLHttpRequest.DONE){let e;try{e=JSON.parse(this.xhr.responseText)}catch{e={error:`Upload aborted: ${this.xhr.statusText} (HTTP ${this.xhr.status})`}}this.handleResponse(e),this.xhr=null,this.fileQueue.length>0&&this.requestToken()}};const t=new FormData;t.append("file",n),this.xhr.open("POST",`uploads/new/${e}`),this.xhr.send(t)}handleResponse(e){this.setProgress(0),this.tokenKeepAlive&&(clearInterval(this.tokenKeepAlive),this.tokenKeepAlive=null),e.error?o.M_.commit("currentUserVisibleError",e.error):e.url&&this.insertUploadUrl(e.url)}insertUploadUrl(e){const n=new URL(e,location.toString()).toString(),t=document.getElementById("input");if(!(t instanceof HTMLTextAreaElement))throw new Error("Could not find textbox in upload");const a=t.selectionStart,s=a>0?t.value.substring(0,a)+" ":"",o=t.value.substring(a),i=s+n+" ";(0,ni.update)(t,i+o),t.selectionStart=t.selectionEnd=i.length}abort(){this.fileQueue=[],this.xhr&&(this.xhr.abort(),this.xhr=null)}},fi={abort:()=>ki.abort(),initialize:()=>ki.init(),mounted:()=>ki.mounted(),unmounted:()=>ki.unmounted(),triggerUpload:e=>ki.triggerUpload(e)},bi={"mod+k":"","mod+b":"","mod+u":"","mod+i":"","mod+o":"","mod+s":"","mod+m":"","mod+r":"/rainbow"},vi={'"':'"',"'":"'","(":")","<":">","[":"]","{":"}","*":"*","`":"`","~":"~",_:"_"},wi=(0,i.pM)({name:"ChatInput",props:{network:{type:Object,required:!0},channel:{type:Object,required:!0}},setup(e){const n=(0,o.Pj)(),t=(0,x.KR)(),a=(0,x.KR)(),s=(0,x.KR)(),l=()=>{(0,i.dY)(()=>{if(!t.value)return;const e=window.getComputedStyle(t.value),n=parseFloat(e.lineHeight)||1;t.value.style.height="",t.value.style.height=Math.ceil(t.value.scrollHeight/n)*n+"px"})},c=n=>{e.channel.pendingMessage=n.target.value,e.channel.inputHistoryPosition=0,l()},d=()=>{t.value?.blur()};return(0,i.wB)(()=>e.channel.id,()=>{s.value&&s.value.hide()}),(0,i.wB)(()=>e.channel.pendingMessage,()=>{l()}),(0,i.sV)(()=>{if(r.A.on("escapekey",d),n.state.settings.autocomplete){if(!t.value)throw new Error("ChatInput autocomplete: input element is not available");s.value=function(e){let n=0,t="",a=[];e.addEventListener("input",e=>{"autocomplete"!==e.detail&&(n=0,a=[],t="")}),u()(e).bind("tab",s=>{if(o.M_.state.isAutoCompleting)return;s.preventDefault();const i=e.value;if(0===n){if(t=i.substring(0,e.selectionStart).split(/\s/).pop()||"",0===t.length)return;if(a=gi(t,!1),0===a.length)return}const l=e.selectionStart-t.length,r=pi(String(a[n%a.length]),l),c=i.substring(e.selectionStart);e.value=i.substr(0,l)+r+c,e.selectionStart-=c.length,e.selectionEnd=e.selectionStart,e.dispatchEvent(new CustomEvent("input",{detail:"autocomplete"})),t=r,n++},"keydown");const s=[ii,li,ri,ci,ui,di],i=new ai.a(e),l=new ti.Textcomplete(i,s,{dropdown:{className:"textcomplete-menu",placement:"top"}});return l.on("show",()=>{o.M_.commit("isAutoCompleting",!0)}),l.on("hidden",()=>{o.M_.commit("isAutoCompleting",!1)}),{hide(){l.hide()},destroy(){l.destroy(),o.M_.commit("isAutoCompleting",!1)}}}(t.value)}const a=u()(t.value);let i=Object.keys(bi);!1===n.state.settings.enableRainbowHotkey&&(i=i.filter(e=>"mod+r"!==e)),a.bind(i,function(e,n){const a=bi[n];if(e.target)return"/rainbow"===a&&null!=t.value?(t.value.value.startsWith(a)||(t.value.value=`${a} ${t.value.value}`,c(e)),!1):((0,ni.wrapCursor)(e.target,a,e.target.selectionStart===e.target.selectionEnd?"":a),!1)}),a.bind(Object.keys(vi),function(e,n){if(e.target?.selectionStart!==e.target.selectionEnd)return(0,ni.wrapCursor)(e.target,n,vi[n]),!1}),a.bind(["up","down"],(a,s)=>{if(n.state.isAutoCompleting||a.target.selectionStart!==a.target.selectionEnd||!t.value)return;const o=(t.value.value.slice(void 0,t.value.selectionStart).match(/\n/g)||[]).length,i=(t.value.value.match(/\n/g)||[]).length,{channel:r}=e;if(0===r.inputHistoryPosition&&(r.inputHistory[r.inputHistoryPosition]=r.pendingMessage),"up"===s&&0===o){if(!(r.inputHistoryPosition<r.inputHistory.length-1))return;r.inputHistoryPosition++}else{if(!("down"===s&&r.inputHistoryPosition>0&&o===i))return;r.inputHistoryPosition--}return r.pendingMessage=r.inputHistory[r.inputHistoryPosition],t.value.value=r.pendingMessage,l(),!1}),n.state.serverConfiguration?.fileUpload&&fi.mounted()}),(0,i.hi)(()=>{r.A.off("escapekey",d),s.value&&(s.value.destroy(),s.value=void 0),fi.unmounted(),fi.abort()}),{store:n,input:t,uploadInput:a,onUploadInputChange:()=>{if(!a.value||!a.value.files)return;const e=Array.from(a.value.files);fi.triggerUpload(e),a.value.value=""},openFileUpload:()=>{a.value?.click()},blurInput:d,onBlur:e=>{const n=e.target;"input"===n.id&&n.classList.contains("mousetrap")||s.value&&s.value.hide()},setInputSize:l,upload:fi,getInputPlaceholder:e=>e.type===Zs.rR.CHANNEL||e.type===Zs.rR.QUERY?`Write to ${e.name}`:"",onSubmit:()=>{if(!t.value)return;if(t.value.click(),t.value.focus(),!n.state.isConnected)return!1;const a=e.channel.id,o=e.channel.pendingMessage;if(0===o.length)return!1;if(s.value&&s.value.hide(),e.channel.inputHistoryPosition=0,e.channel.pendingMessage="",t.value.value="",l(),e.channel.inputHistory[1]!==o&&e.channel.inputHistory.splice(1,0,o),e.channel.inputHistory.length>100&&e.channel.inputHistory.pop(),"/"===o[0]){const e=o.substring(1).split(" "),n=e.shift()?.toLowerCase();if(!n)return!1;if(Object.prototype.hasOwnProperty.call(mi,n)&&mi[n](e))return!1}re.A.emit("input",{target:a,text:o})},setPendingMessage:c}}}),yi=(0,q.A)(wi,[["render",function(e,n,t,a,o,r){return(0,i.uX)(),(0,i.CE)("form",{id:"form",method:"post",action:"",onSubmit:n[5]||(n[5]=(0,s.D$)((...n)=>e.onSubmit&&e.onSubmit(...n),["prevent"]))},[n[6]||(n[6]=(0,i.Lk)("span",{id:"upload-progressbar"},null,-1)),e.store.state.settings.showInputNick?((0,i.uX)(),(0,i.CE)("span",Yo,(0,l.v_)(e.network.nick),1)):(0,i.Q3)("",!0),(0,i.Lk)("textarea",{id:"input",ref:"input",dir:"auto",class:"mousetrap",enterkeyhint:"send",value:e.channel.pendingMessage,placeholder:e.getInputPlaceholder(e.channel),"aria-label":e.getInputPlaceholder(e.channel),onInput:n[0]||(n[0]=(...n)=>e.setPendingMessage&&e.setPendingMessage(...n)),onKeypress:n[1]||(n[1]=(0,s.jR)((0,s.D$)((...n)=>e.onSubmit&&e.onSubmit(...n),["exact","prevent"]),["enter"])),onBlur:n[2]||(n[2]=(...n)=>e.onBlur&&e.onBlur(...n))},null,40,Jo),e.store.state.serverConfiguration?.fileUpload?((0,i.uX)(),(0,i.CE)("span",{key:1,id:"upload-tooltip",class:"tooltipped tooltipped-w tooltipped-no-touch","aria-label":"Upload file",onClick:n[4]||(n[4]=(...n)=>e.openFileUpload&&e.openFileUpload(...n))},[(0,i.Lk)("input",{id:"upload-input",ref:"uploadInput",type:"file","aria-labelledby":"upload",multiple:"",onChange:n[3]||(n[3]=(...n)=>e.onUploadInputChange&&e.onUploadInputChange(...n))},null,544),(0,i.Lk)("button",{id:"upload",type:"button","aria-label":"Upload file",disabled:!e.store.state.isConnected},null,8,Go)])):(0,i.Q3)("",!0),(0,i.Lk)("span",Zo,[(0,i.Lk)("button",{id:"submit",type:"submit","aria-label":"Send message",disabled:!e.store.state.isConnected},null,8,ei)])],32)}]]),_i=["aria-label"],Ci={class:"count"},Li=["value","placeholder"],Mi={class:"names"},Ei={"~":"owner","&":"admin","!":"admin","@":"op","%":"half-op","+":"voice","":"normal"},xi=(0,i.pM)({name:"ChatUserList",components:{Username:Cs.A},props:{channel:{type:Object,required:!0}},setup(e){const n=(0,o.Pj)(),t=(0,x.KR)(""),a=(0,x.KR)(),s=(0,x.KR)(),l=(0,i.EW)(()=>n.state.settings.enhancedUserListEnabled&&e.channel.groups&&e.channel.groups.length>0),r=(0,i.EW)(()=>{if(t.value)return(0,D.filter)(t.value,e.channel.users,{pre:"<b>",post:"</b>",extract:e=>e.nick})}),c=new Map,u=e=>{if(c.has(e))return;const n=e.toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-|-$/g,"");return c.set(e,n)},d=(0,i.EW)(()=>{const n={};if(l.value)if(t.value&&r.value){const t=r.value.filter(e=>e.original.nick);for(const{name:a,users:s}of e.channel.groups??[]){n[a]??=[],u(a);for(const e of t)s.includes(e.original.nick)&&n[a].push(e)}}else for(const{name:t,users:a}of e.channel.groups??[]){n[t]??=[],u(t);for(const s of e.channel.users)a.includes(s.nick)&&n[t].push(s)}return n}),p=(0,i.EW)(()=>{const n={};if(!l.value)if(t.value&&r.value){const e=r.value;for(const t of e){const e=t.original.modes[0]||"";n[e]??=[],t.string=e+t.string,n[e].push(t)}}else for(const t of e.channel.users){const e=t.modes[0]||"";n[e]??=[],n[e].push(t)}return n}),h=(0,i.EW)(()=>l.value?d.value:p.value),g=()=>{(0,i.dY)(()=>{const e=s.value?.querySelector(".active");e?.scrollIntoView({block:"nearest",inline:"nearest"})})};return{filteredUsers:r,groupedUsers:h,hasCustomGroups:l,userSearchInput:t,activeUser:a,userlist:s,getGroupSlug:e=>c.get(e)??u(e),setUserSearchInput:e=>{t.value=e.target.value},getModeClass:e=>Ei[e],selectUser:()=>{if(!a.value||!s.value)return;const e=s.value.querySelector(".active");if(!e)return;const n=e.getBoundingClientRect(),t=new MouseEvent("click",{view:window,bubbles:!0,cancelable:!0,clientX:n.left,clientY:n.top+n.height});e.dispatchEvent(t)},hoverUser:e=>{a.value=e},removeHoverUser:()=>{a.value=null},navigateUserList:(n,s)=>{n.stopImmediatePropagation(),n.preventDefault();let o=e.channel.users;if(t.value&&r.value&&(o=r.value.map(e=>e.original)),!o.length)return void(a.value=null);const i=()=>{a.value=s?o[0]:o[o.length-1],g()};if(!a.value)return void i();let l=o.indexOf(a.value);if(-1!==l){for(l+=s;l<0;)l+=o.length;for(;l>o.length-1;)l-=o.length;a.value=o[l],g()}else i()}}}}),Si=(0,q.A)(xi,[["render",function(e,n,t,a,o,r){const c=(0,i.g2)("Username");return(0,i.uX)(),(0,i.CE)("aside",{ref:"userlist",class:"userlist","aria-label":"User list for "+e.channel.name,onMouseleave:n[6]||(n[6]=(...n)=>e.removeHoverUser&&e.removeHoverUser(...n))},[(0,i.Lk)("div",Ci,[(0,i.Lk)("input",{ref:"input",value:e.userSearchInput,placeholder:e.channel.users.length+" user"+(1===e.channel.users.length?"":"s"),type:"search",class:"search","aria-label":"Search among the user list",tabindex:"-1",onInput:n[0]||(n[0]=(...n)=>e.setUserSearchInput&&e.setUserSearchInput(...n)),onKeydown:[n[1]||(n[1]=(0,s.jR)(n=>e.navigateUserList(n,-1),["up"])),n[2]||(n[2]=(0,s.jR)(n=>e.navigateUserList(n,1),["down"])),n[3]||(n[3]=(0,s.jR)(n=>e.navigateUserList(n,-10),["page-up"])),n[4]||(n[4]=(0,s.jR)(n=>e.navigateUserList(n,10),["page-down"])),n[5]||(n[5]=(0,s.jR)((...n)=>e.selectUser&&e.selectUser(...n),["enter"]))]},null,40,Li)]),(0,i.Lk)("div",Mi,[e.hasCustomGroups?((0,i.uX)(!0),(0,i.CE)(i.FK,{key:0},(0,i.pI)(e.groupedUsers,(n,t)=>((0,i.uX)(),(0,i.CE)("div",{key:"group-"+t,class:(0,l.C4)(["user-mode","custom-group","group-"+e.getGroupSlug(t)])},[n.length>0?((0,i.uX)(),(0,i.CE)("div",{key:0,class:(0,l.C4)(["custom-group-header","group-header-"+e.getGroupSlug(t)])},(0,l.v_)(t),3)):(0,i.Q3)("",!0),e.userSearchInput.length>0?((0,i.uX)(!0),(0,i.CE)(i.FK,{key:1},(0,i.pI)(n,n=>((0,i.uX)(),(0,i.Wv)(c,{key:n.original.nick+"-search","on-hover":e.hoverUser,active:n.original===e.activeUser,user:n.original,innerHTML:n.string},null,8,["on-hover","active","user","innerHTML"]))),128)):((0,i.uX)(!0),(0,i.CE)(i.FK,{key:2},(0,i.pI)(n,n=>((0,i.uX)(),(0,i.Wv)(c,{key:n.nick,"on-hover":e.hoverUser,active:n===e.activeUser,user:n},null,8,["on-hover","active","user"]))),128))],2))),128)):((0,i.uX)(!0),(0,i.CE)(i.FK,{key:1},(0,i.pI)(e.groupedUsers,(n,t)=>((0,i.uX)(),(0,i.CE)("div",{key:t,class:(0,l.C4)(["user-mode",e.getModeClass(String(t))])},[e.userSearchInput.length>0?((0,i.uX)(!0),(0,i.CE)(i.FK,{key:0},(0,i.pI)(n,n=>((0,i.uX)(),(0,i.Wv)(c,{key:n.original.nick+"-search","on-hover":e.hoverUser,active:n.original===e.activeUser,user:n.original,innerHTML:n.string},null,8,["on-hover","active","user","innerHTML"]))),128)):((0,i.uX)(!0),(0,i.CE)(i.FK,{key:1},(0,i.pI)(n,n=>((0,i.uX)(),(0,i.Wv)(c,{key:n.nick,"on-hover":e.hoverUser,active:n===e.activeUser,user:n},null,8,["on-hover","active","user"]))),128))],2))),128))])],40,_i)}]]),Ai={class:"ban-list"},Ti={class:"hostmask"},Xi={class:"banned_by"},ji={class:"banned_at"},Wi=(0,i.pM)({name:"ListBans",components:{ParsedMessage:Qs.A},props:{network:{type:Object,required:!0},channel:{type:Object,required:!0}},setup:()=>({localetime:e=>(0,_s.A)(e)})}),Pi=(0,q.A)(Wi,[["render",function(e,n,t,a,s,o){const r=(0,i.g2)("ParsedMessage");return(0,i.uX)(),(0,i.CE)("table",Ai,[n[0]||(n[0]=(0,i.Lk)("thead",null,[(0,i.Lk)("tr",null,[(0,i.Lk)("th",{class:"hostmask"},"Banned"),(0,i.Lk)("th",{class:"banned_by"},"Banned By"),(0,i.Lk)("th",{class:"banned_at"},"Banned At")])],-1)),(0,i.Lk)("tbody",null,[((0,i.uX)(!0),(0,i.CE)(i.FK,null,(0,i.pI)(e.channel.data,n=>((0,i.uX)(),(0,i.CE)("tr",{key:n.hostmask},[(0,i.Lk)("td",Ti,[(0,i.bF)(r,{network:e.network,text:n.hostmask},null,8,["network","text"])]),(0,i.Lk)("td",Xi,(0,l.v_)(n.banned_by),1),(0,i.Lk)("td",ji,(0,l.v_)(e.localetime(n.banned_at)),1)]))),128))])])}]]),Ri={class:"invite-list"},Ii={class:"hostmask"},Ni={class:"invitened_by"},Ui={class:"invitened_at"},Fi=(0,i.pM)({name:"ListInvites",components:{ParsedMessage:Qs.A},props:{network:{type:Object,required:!0},channel:{type:Object,required:!0}},setup:()=>({localetime:e=>(0,_s.A)(e)})}),Oi=(0,q.A)(Fi,[["render",function(e,n,t,a,s,o){const r=(0,i.g2)("ParsedMessage");return(0,i.uX)(),(0,i.CE)("table",Ri,[n[0]||(n[0]=(0,i.Lk)("thead",null,[(0,i.Lk)("tr",null,[(0,i.Lk)("th",{class:"hostmask"},"Invited"),(0,i.Lk)("th",{class:"invitened_by"},"Invited By"),(0,i.Lk)("th",{class:"invitened_at"},"Invited At")])],-1)),(0,i.Lk)("tbody",null,[((0,i.uX)(!0),(0,i.CE)(i.FK,null,(0,i.pI)(e.channel.data,n=>((0,i.uX)(),(0,i.CE)("tr",{key:n.hostmask},[(0,i.Lk)("td",Ii,[(0,i.bF)(r,{network:e.network,text:n.hostmask},null,8,["network","text"])]),(0,i.Lk)("td",Ni,(0,l.v_)(n.invited_by),1),(0,i.Lk)("td",Ui,(0,l.v_)(e.localetime(n.invited_at)),1)]))),128))])])}]]),qi={key:0},Ki={key:1,class:"channel-list"},Di={class:"channel"},Bi={class:"users"},$i={class:"topic"},Hi=(0,i.pM)({name:"ListChannels",components:{ParsedMessage:Qs.A},props:{network:{type:Object,required:!0},channel:{type:Object,required:!0}},setup:e=>({channelData:e.channel.data})}),Qi=(0,q.A)(Hi,[["render",function(e,n,t,a,s,o){const r=(0,i.g2)("ParsedMessage");return e.channelData.text?((0,i.uX)(),(0,i.CE)("span",qi,(0,l.v_)(e.channelData.text),1)):((0,i.uX)(),(0,i.CE)("table",Ki,[n[0]||(n[0]=(0,i.Lk)("thead",null,[(0,i.Lk)("tr",null,[(0,i.Lk)("th",{class:"channel"},"Channel"),(0,i.Lk)("th",{class:"users"},"Users"),(0,i.Lk)("th",{class:"topic"},"Topic")])],-1)),(0,i.Lk)("tbody",null,[((0,i.uX)(!0),(0,i.CE)(i.FK,null,(0,i.pI)(e.channelData,n=>((0,i.uX)(),(0,i.CE)("tr",{key:n.channel},[(0,i.Lk)("td",Di,[(0,i.bF)(r,{network:e.network,text:n.channel},null,8,["network","text"])]),(0,i.Lk)("td",Bi,(0,l.v_)(n.num_users),1),(0,i.Lk)("td",$i,[(0,i.bF)(r,{network:e.network,text:n.topic},null,8,["network","text"])])]))),128))])]))}]]),zi={class:"ignore-list"},Vi={class:"hostmask"},Yi={class:"when"},Ji=(0,i.pM)({name:"ListIgnored",components:{ParsedMessage:Qs.A},props:{network:{type:Object,required:!0},channel:{type:Object,required:!0}},setup:()=>({localetime:_s.A})}),Gi=(0,q.A)(Ji,[["render",function(e,n,t,a,s,o){const r=(0,i.g2)("ParsedMessage");return(0,i.uX)(),(0,i.CE)("table",zi,[n[0]||(n[0]=(0,i.Lk)("thead",null,[(0,i.Lk)("tr",null,[(0,i.Lk)("th",{class:"hostmask"},"Hostmask"),(0,i.Lk)("th",{class:"when"},"Ignored At")])],-1)),(0,i.Lk)("tbody",null,[((0,i.uX)(!0),(0,i.CE)(i.FK,null,(0,i.pI)(e.channel.data,n=>((0,i.uX)(),(0,i.CE)("tr",{key:n.hostmask},[(0,i.Lk)("td",Vi,[(0,i.bF)(r,{network:e.network,text:n.hostmask},null,8,["network","text"])]),(0,i.Lk)("td",Yi,(0,l.v_)(e.localetime(n.when)),1)]))),128))])])}]]),Zi=(0,i.pM)({name:"Chat",components:{ParsedMessage:Qs.A,MessageList:Ko,MessageListBasic:Vo,ChatInput:yi,ChatUserList:Si,SidebarToggle:wn,MessageSearchForm:so},props:{network:{type:Object,required:!0},channel:{type:Object,required:!0},isFocused:Number,focusedTime:Number},emits:["channel-changed"],setup(e,{emit:n}){const t=(0,o.Pj)(),a=(0,i.EW)(()=>t.state.settings.searchEnabled&&t.state.settings.enableEnhancedSearch?Ko:Vo),s=(0,x.KR)(a.value),l=(0,x.KR)(null),c=(0,i.EW)(()=>{switch(e.channel.special){case Zs.cL.BANLIST:return Pi;case Zs.cL.INVITELIST:return Oi;case Zs.cL.CHANNELLIST:return Qi;case Zs.cL.IGNORELIST:return Gi}}),u=()=>{n("channel-changed",e.channel),re.A.emit("open",e.channel.id),e.channel.usersOutdated&&(e.channel.usersOutdated=!1,re.A.emit("names",{target:e.channel.id}))};return(0,i.wB)(()=>e.channel,()=>{u()}),(0,i.wB)(()=>e.channel.editTopic,e=>{e&&(0,i.dY)(()=>{l.value?.focus()})}),(0,i.sV)(()=>{u(),e.channel.editTopic&&(0,i.dY)(()=>{l.value?.focus()})}),{store:t,messageList:s,MessageListType:a,topicInput:l,specialComponent:c,hideUserVisibleError:()=>{t.commit("currentUserVisibleError",null)},editTopic:()=>{e.channel.type===Zs.rR.CHANNEL&&(e.channel.editTopic=!0)},saveTopic:()=>{if(e.channel.editTopic=!1,!l.value)return;const n=l.value.value;if(e.channel.topic!==n){const t=e.channel.id,a=`/topic ${n}`;re.A.emit("input",{target:t,text:a})}},openContextMenu:n=>{r.A.emit("contextmenu:channel",{event:n,channel:e.channel,network:e.network})},openMentions:e=>{r.A.emit("mentions:toggle",{event:e})}}}}),el=(0,q.A)(Zi,[["render",function(e,n,t,a,o,r){const c=(0,i.g2)("SidebarToggle"),u=(0,i.g2)("ParsedMessage"),d=(0,i.g2)("MessageSearchForm"),p=(0,i.g2)("ChatUserList"),h=(0,i.g2)("MessageList"),g=(0,i.g2)("MessageListBasic"),m=(0,i.g2)("ChatInput");return(0,i.uX)(),(0,i.CE)("div",{id:"chat-container",class:"window","data-current-channel":e.channel.name,lang:""},[(0,i.Lk)("div",{id:"chat",class:(0,l.C4)({"hide-motd":!e.store.state.settings.motd,"time-seconds":e.store.state.settings.showSeconds,"time-12h":e.store.state.settings.use12hClock,"colored-nicks":!0})},[(0,i.Lk)("div",{id:"chan-"+e.channel.id,class:"chat-view","data-type":e.channel.type,"aria-label":e.channel.name,role:"tabpanel"},[(0,i.Lk)("div",fo,[(0,i.bF)(c),(0,i.Lk)("span",{class:"title","aria-label":"Currently open "+e.channel.type},(0,l.v_)(e.channel.name),9,bo),!0===e.channel.editTopic?((0,i.uX)(),(0,i.CE)("div",vo,[(0,i.Lk)("input",{ref:"topicInput",value:e.channel.topic,class:"topic-input",placeholder:"Set channel topic",enterkeyhint:"done",onKeyup:[n[0]||(n[0]=(0,s.jR)((...n)=>e.saveTopic&&e.saveTopic(...n),["enter"])),n[1]||(n[1]=(0,s.jR)(n=>e.channel.editTopic=!1,["esc"]))]},null,40,wo),(0,i.Lk)("span",{"aria-label":"Save topic",class:"save-topic",onClick:n[2]||(n[2]=(...n)=>e.saveTopic&&e.saveTopic(...n))},[...n[9]||(n[9]=[(0,i.Lk)("span",{type:"button","aria-label":"Save topic"},null,-1)])])])):((0,i.uX)(),(0,i.CE)("span",{key:1,title:e.channel.topic,class:(0,l.C4)({topic:!0,empty:!e.channel.topic}),onDblclick:n[3]||(n[3]=(...n)=>e.editTopic&&e.editTopic(...n))},[e.channel.topic?((0,i.uX)(),(0,i.Wv)(u,{key:0,network:e.network,text:e.channel.topic},null,8,["network","text"])):(0,i.Q3)("",!0)],42,yo)),e.store.state.settings.searchEnabled&&["channel","query"].includes(e.channel.type)?((0,i.uX)(),(0,i.Wv)(d,{key:2,network:e.network,channel:e.channel},null,8,["network","channel"])):(0,i.Q3)("",!0),(0,i.Lk)("button",{class:"mentions","aria-label":"Open your mentions",onClick:n[4]||(n[4]=(...n)=>e.openMentions&&e.openMentions(...n))}),(0,i.Lk)("button",{class:"menu","aria-label":"Open the context menu",onClick:n[5]||(n[5]=(...n)=>e.openContextMenu&&e.openContextMenu(...n))}),"channel"===e.channel.type?((0,i.uX)(),(0,i.CE)("span",_o,[(0,i.Lk)("button",{class:"rt","aria-label":"Toggle user list",onClick:n[6]||(n[6]=n=>e.store.commit("toggleUserlist"))})])):(0,i.Q3)("",!0)]),"special"===e.channel.type?((0,i.uX)(),(0,i.CE)("div",Co,[(0,i.Lk)("div",Lo,[(0,i.Lk)("div",Mo,[(0,i.Lk)("div",Eo,[((0,i.uX)(),(0,i.Wv)((0,i.$y)(e.specialComponent),{network:e.network,channel:e.channel},null,8,["network","channel"]))])])])])):((0,i.uX)(),(0,i.CE)("div",xo,[(0,i.Lk)("div",{class:(0,l.C4)(["scroll-down tooltipped tooltipped-w tooltipped-no-touch",{"scroll-down-shown":!e.channel.scrolledToBottom}]),"aria-label":"Jump to recent messages",onClick:n[7]||(n[7]=(...n)=>e.messageList.jumpToBottom&&e.messageList.jumpToBottom(...n))},[...n[10]||(n[10]=[(0,i.Lk)("div",{class:"scroll-down-arrow"},null,-1)])],2),"channel"===e.channel.type?((0,i.uX)(),(0,i.Wv)(p,{key:0,channel:e.channel},null,8,["channel"])):(0,i.Q3)("",!0),e.store.state.settings.searchEnabled&&e.store.state.settings.enableEnhancedSearch?((0,i.uX)(),(0,i.Wv)(h,{key:1,ref:"messageList",network:e.network,channel:e.channel,"is-focused":e.isFocused,"focused-time":e.focusedTime},null,8,["network","channel","is-focused","focused-time"])):((0,i.uX)(),(0,i.Wv)(g,{key:2,ref:"messageList",network:e.network,channel:e.channel,"is-focused":e.isFocused,"focused-time":e.focusedTime},null,8,["network","channel","is-focused","focused-time"]))]))],8,ko)],2),e.store.state.currentUserVisibleError?((0,i.uX)(),(0,i.CE)("div",{key:0,id:"user-visible-error",onClick:n[8]||(n[8]=(...n)=>e.hideUserVisibleError&&e.hideUserVisibleError(...n))},(0,l.v_)(e.store.state.currentUserVisibleError),1)):(0,i.Q3)("",!0),(0,i.bF)(m,{network:e.network,channel:e.channel},null,8,["network","channel"])],8,mo)}]]),nl=(0,i.pM)({name:"RoutedChat",components:{Chat:el},setup(){const e=(0,S.lq)(),n=(0,o.Pj)(),t=(0,i.EW)(()=>{const t=parseInt(String(e.params.id||""),10);return n.getters.findChannel(t)}),a=()=>{t.value&&n.commit("activeChannel",t.value)};return(0,i.wB)(t,()=>{a()}),(0,i.sV)(()=>{a()}),{route:e,activeChannel:t,channelChanged:e=>{const t=e.id,a=n.getters.findChannel(t);a?.channel&&(a.channel.unread=0,a.channel.highlight=0)}}}}),tl=(0,q.A)(nl,[["render",function(e,n,t,a,s,o){const l=(0,i.g2)("Chat");return e.activeChannel?((0,i.uX)(),(0,i.Wv)(l,{key:0,network:e.activeChannel.network,channel:e.activeChannel.channel,"is-focused":parseInt(String(e.route.query.focused),10),"focused-time":parseInt(String(e.route.query.focusedTime),10),onChannelChanged:e.channelChanged},null,8,["network","channel","is-focused","focused-time","onChannelChanged"])):(0,i.Q3)("",!0)}]]),al={class:"opt"},sl=["checked"],ol={class:"opt"},il=["checked"],ll={class:"opt"},rl=["checked"],cl={class:"opt"},ul=["checked"],dl={role:"group",style:{"padding-left":"1.5rem"}},pl={class:"opt"},hl=["disabled","checked"],gl={class:"opt"},ml=["disabled","checked"],kl={class:"opt"},fl=["checked"],bl={class:"opt"},vl=["checked"],wl={class:"opt"},yl=["checked"],_l={role:"group","aria-labelledby":"label-status-messages"},Cl={class:"opt"},Ll=["checked"],Ml={class:"opt"},El=["checked"],xl={class:"opt"},Sl=["checked"],Al={class:"opt"},Tl=["checked"],Xl={class:"opt"},jl=["checked"],Wl={class:"opt"},Pl=["checked"],Rl={class:"opt"},Il=["checked"],Nl={class:"opt"},Ul=["checked"],Fl={class:"opt"},Ol=["checked"],ql={class:"opt"},Kl=["checked"],Dl={class:"opt"},Bl=["checked"],$l={class:"opt"},Hl=["checked"],Ql={class:"opt"},zl=["value"],Vl=["value"],Yl=["value"],Jl=["value"],Gl=(0,i.pM)({name:"AppearanceSettings",setup:()=>({store:(0,o.Pj)()})}),Zl=(0,q.A)(Gl,[["render",function(e,n,t,a,s,o){return(0,i.uX)(),(0,i.CE)("div",null,[n[29]||(n[29]=(0,i.Lk)("h2",null,"Messages",-1)),(0,i.Lk)("div",null,[(0,i.Lk)("label",al,[(0,i.Lk)("input",{checked:e.store.state.settings.motd,type:"checkbox",name:"motd"},null,8,sl),n[0]||(n[0]=(0,i.eW)(" Show ",-1)),n[1]||(n[1]=(0,i.Lk)("abbr",{title:"Message Of The Day"},"MOTD",-1))])]),(0,i.Lk)("div",null,[(0,i.Lk)("label",ol,[(0,i.Lk)("input",{checked:e.store.state.settings.showSeconds,type:"checkbox",name:"showSeconds"},null,8,il),n[2]||(n[2]=(0,i.eW)(" Include seconds in timestamp ",-1))])]),(0,i.Lk)("div",null,[(0,i.Lk)("label",ll,[(0,i.Lk)("input",{checked:e.store.state.settings.use12hClock,type:"checkbox",name:"use12hClock"},null,8,rl),n[3]||(n[3]=(0,i.eW)(" Use 12-hour timestamps ",-1))])]),(0,i.Lk)("div",null,[(0,i.Lk)("label",cl,[(0,i.Lk)("input",{checked:e.store.state.settings.beautifyBridgedMessages,type:"checkbox",name:"beautifyBridgedMessages"},null,8,ul),n[4]||(n[4]=(0,i.eW)(" Beautify supported bridged shoutbox messages ",-1))]),(0,i.Lk)("div",dl,[(0,i.Lk)("label",pl,[(0,i.Lk)("input",{disabled:!e.store.state.settings.beautifyBridgedMessages||void 0,checked:"parentheses"===e.store.state.settings.bridgedMessageNicksStyle,type:"radio",name:"bridgedMessageNicksStyle",value:"parentheses"},null,8,hl),n[5]||(n[5]=(0,i.eW)(" Show bridged nicknames in parentheses ",-1)),n[6]||(n[6]=(0,i.Lk)("span",{class:"tooltipped tooltipped-n tooltipped-no-delay","aria-label":"example: (nick)"},[(0,i.Lk)("button",{class:"extra-help"})],-1))]),(0,i.Lk)("label",gl,[(0,i.Lk)("input",{disabled:!e.store.state.settings.beautifyBridgedMessages||void 0,checked:"normal"===e.store.state.settings.bridgedMessageNicksStyle,type:"radio",name:"bridgedMessageNicksStyle",value:"normal"},null,8,ml),n[7]||(n[7]=(0,i.eW)(" Show bridged nicknames like a normal user ",-1)),n[8]||(n[8]=(0,i.Lk)("span",{class:"tooltipped tooltipped-n tooltipped-no-delay","aria-label":"example: nick"},[(0,i.Lk)("button",{class:"extra-help"})],-1))])])]),(0,i.Lk)("div",null,[(0,i.Lk)("label",kl,[(0,i.Lk)("input",{checked:e.store.state.settings.disableMutedUnread,type:"checkbox",name:"disableMutedUnread"},null,8,fl),n[9]||(n[9]=(0,i.eW)(" Don't show unread badges on muted channels ",-1))])]),e.store.state.serverConfiguration?.prefetch?((0,i.uX)(),(0,i.CE)(i.FK,{key:0},[n[12]||(n[12]=(0,i.Lk)("h2",null,"Link previews",-1)),(0,i.Lk)("div",null,[(0,i.Lk)("label",bl,[(0,i.Lk)("input",{checked:e.store.state.settings.media,type:"checkbox",name:"media"},null,8,vl),n[10]||(n[10]=(0,i.eW)(" Auto-expand media ",-1))])]),(0,i.Lk)("div",null,[(0,i.Lk)("label",wl,[(0,i.Lk)("input",{checked:e.store.state.settings.links,type:"checkbox",name:"links"},null,8,yl),n[11]||(n[11]=(0,i.eW)(" Auto-expand websites ",-1))])])],64)):(0,i.Q3)("",!0),n[30]||(n[30]=(0,i.Lk)("h2",{id:"label-status-messages"},[(0,i.eW)(" Status messages "),(0,i.Lk)("span",{class:"tooltipped tooltipped-n tooltipped-no-delay","aria-label":"Joins, parts, quits, kicks, nick changes, and mode changes"},[(0,i.Lk)("button",{class:"extra-help"})])],-1)),(0,i.Lk)("div",_l,[(0,i.Lk)("label",Cl,[(0,i.Lk)("input",{checked:"shown"===e.store.state.settings.statusMessages,type:"radio",name:"statusMessages",value:"shown"},null,8,Ll),n[13]||(n[13]=(0,i.eW)(" Show all status messages individually ",-1))]),(0,i.Lk)("label",Ml,[(0,i.Lk)("input",{checked:"condensed"===e.store.state.settings.statusMessages,type:"radio",name:"statusMessages",value:"condensed"},null,8,El),n[14]||(n[14]=(0,i.eW)(" Condense status messages together ",-1))]),(0,i.Lk)("label",xl,[(0,i.Lk)("input",{checked:"hidden"===e.store.state.settings.statusMessages,type:"radio",name:"statusMessages",value:"hidden"},null,8,Sl),n[15]||(n[15]=(0,i.eW)(" Hide all status messages ",-1))])]),n[31]||(n[31]=(0,i.Lk)("h2",null,"Layout",-1)),(0,i.Lk)("div",null,[(0,i.Lk)("label",Al,[(0,i.Lk)("input",{checked:e.store.state.settings.enhancedUserListEnabled,type:"checkbox",name:"enhancedUserListEnabled"},null,8,Tl),n[16]||(n[16]=(0,i.eW)(" Use enhanced user list when available ",-1))]),(0,i.Lk)("label",Xl,[(0,i.Lk)("input",{checked:e.store.state.settings.enhancedContextMenuEnabled,type:"checkbox",name:"enhancedContextMenuEnabled"},null,8,jl),n[17]||(n[17]=(0,i.eW)(" Use enhanced context menu ",-1))]),(0,i.Lk)("label",Wl,[(0,i.Lk)("input",{checked:e.store.state.settings.showInputNick,type:"checkbox",name:"showInputNick"},null,8,Pl),n[18]||(n[18]=(0,i.eW)(" Show current nick in the input box ",-1))]),(0,i.Lk)("label",Rl,[(0,i.Lk)("input",{checked:e.store.state.settings.jumptoEabled,type:"checkbox",name:"jumptoEabled"},null,8,Il),n[19]||(n[19]=(0,i.eW)(' Enable "Jump to" in sidebar ',-1))]),(0,i.Lk)("label",Nl,[(0,i.Lk)("input",{checked:e.store.state.settings.filterdmsEnabled,type:"checkbox",name:"filterdmsEnabled"},null,8,Ul),n[20]||(n[20]=(0,i.eW)(' Enable "Filter DMs" in DM section ',-1))]),(0,i.Lk)("label",Fl,[(0,i.Lk)("input",{checked:e.store.state.settings.showAllDMs,type:"checkbox",name:"showAllDMs"},null,8,Ol),n[21]||(n[21]=(0,i.eW)(" Always show all DM channels in sidebar ",-1))]),(0,i.Lk)("label",ql,[(0,i.Lk)("input",{checked:e.store.state.settings.compactSidebar,type:"checkbox",name:"compactSidebar"},null,8,Kl),n[22]||(n[22]=(0,i.eW)(" Use compact sidebar on Desktop ",-1))])]),n[32]||(n[32]=(0,i.Lk)("h2",null,"Visual Aids",-1)),(0,i.Lk)("div",null,[(0,i.Lk)("label",Dl,[(0,i.Lk)("input",{checked:e.store.state.settings.coloredNicks,type:"checkbox",name:"coloredNicks"},null,8,Bl),n[23]||(n[23]=(0,i.eW)(" Enable colored nicknames ",-1))]),(0,i.Lk)("label",$l,[(0,i.Lk)("input",{checked:e.store.state.settings.autocomplete,type:"checkbox",name:"autocomplete"},null,8,Hl),n[24]||(n[24]=(0,i.eW)(" Enable autocomplete ",-1))])]),(0,i.Lk)("div",null,[(0,i.Lk)("label",Ql,[n[25]||(n[25]=(0,i.Lk)("label",{for:"nickPostfix",class:"opt"},[(0,i.eW)(" Nick autocomplete postfix "),(0,i.Lk)("span",{class:"tooltipped tooltipped-n tooltipped-no-delay","aria-label":"Nick autocomplete postfix (for example a comma)"},[(0,i.Lk)("button",{class:"extra-help"})])],-1)),(0,i.Lk)("input",{id:"nickPostfix",value:e.store.state.settings.nickPostfix,type:"text",name:"nickPostfix",class:"input",placeholder:"Nick autocomplete postfix (e.g. ', ')"},null,8,zl)])]),n[33]||(n[33]=(0,i.Lk)("h2",null,"Theme",-1)),(0,i.Lk)("div",null,[n[26]||(n[26]=(0,i.Lk)("label",{for:"theme-select",class:"sr-only"},"Theme",-1)),(0,i.Lk)("select",{id:"theme-select",value:e.store.state.settings.theme,name:"theme",class:"input"},[((0,i.uX)(!0),(0,i.CE)(i.FK,null,(0,i.pI)(e.store.state.serverConfiguration?.themes,e=>((0,i.uX)(),(0,i.CE)("option",{key:e.name,value:e.name},(0,l.v_)(e.displayName),9,Yl))),128))],8,Vl)]),(0,i.Lk)("div",null,[n[27]||(n[27]=(0,i.Lk)("h2",null,"Custom Stylesheet",-1)),n[28]||(n[28]=(0,i.Lk)("label",{for:"user-specified-css-input",class:"sr-only"}," Custom stylesheet. You can override any style with CSS here. ",-1)),(0,i.Lk)("textarea",{id:"user-specified-css-input",value:e.store.state.settings.userStyles,class:"input",name:"userStyles",placeholder:"/* You can override any style with CSS here */"},null,8,Jl)])])}]]),er={key:0},nr={key:1},tr={class:"opt"},ar=["checked"],sr={key:2},or={class:"opt"},ir=["checked"],lr={key:3},rr={class:"opt"},cr=["checked"],ur={key:4},dr={class:"opt"},pr=["checked"],hr={key:0,class:"settings-sync-panel"},gr={key:1,class:"settings-sync-panel"},mr={key:5},kr={class:"opt"},fr=["value"];let br=null;window.addEventListener("beforeinstallprompt",e=>{e.preventDefault(),br=e});const vr=(0,i.pM)({name:"GeneralSettings",setup(){const e=(0,o.Pj)(),n=(0,x.KR)(!1),t=(0,i.EW)(()=>null!==br);return(0,i.sV)(()=>{n.value=!!window.navigator.registerProtocolHandler&&!e.state.serverConfiguration?.lockNetwork}),{store:e,canRegisterProtocol:n,hasInstallPromptEvent:t,nativeInstallPrompt:()=>{br&&(br.prompt().catch(e=>{console.error(e)}),br=null)},onForceSyncClick:()=>{e.dispatch("settings/syncAll",!0).catch(e=>{console.error(e)}),e.dispatch("settings/update",{name:"syncSettings",value:!0,sync:!0}).catch(e=>{console.error(e)})},registerProtocol:()=>{const e=document.location.origin+document.location.pathname+"?uri=%s";window.navigator.registerProtocolHandler("irc",e),window.navigator.registerProtocolHandler("ircs",e)}}}}),wr=(0,q.A)(vr,[["render",function(e,n,t,a,o,l){return(0,i.uX)(),(0,i.CE)("div",null,[e.canRegisterProtocol||e.hasInstallPromptEvent?((0,i.uX)(),(0,i.CE)("div",er,[n[3]||(n[3]=(0,i.Lk)("h2",null,"Native app",-1)),e.hasInstallPromptEvent?((0,i.uX)(),(0,i.CE)("button",{key:0,type:"button",class:"btn",onClick:n[0]||(n[0]=(0,s.D$)((...n)=>e.nativeInstallPrompt&&e.nativeInstallPrompt(...n),["prevent"]))}," Add The Lounge to Home screen ")):(0,i.Q3)("",!0),e.canRegisterProtocol?((0,i.uX)(),(0,i.CE)("button",{key:1,type:"button",class:"btn",onClick:n[1]||(n[1]=(0,s.D$)((...n)=>e.registerProtocol&&e.registerProtocol(...n),["prevent"]))}," Open irc:// URLs with The Lounge ")):(0,i.Q3)("",!0)])):(0,i.Q3)("",!0),e.store.state.serverConfiguration?.fileUpload?((0,i.uX)(),(0,i.CE)("div",nr,[n[6]||(n[6]=(0,i.Lk)("h2",null,"File uploads",-1)),(0,i.Lk)("div",null,[(0,i.Lk)("label",tr,[(0,i.Lk)("input",{checked:e.store.state.settings.uploadCanvas,type:"checkbox",name:"uploadCanvas"},null,8,ar),n[4]||(n[4]=(0,i.eW)(" Attempt to remove metadata from images before uploading ",-1)),n[5]||(n[5]=(0,i.Lk)("span",{class:"tooltipped tooltipped-n tooltipped-no-delay","aria-label":"This option renders the image into a canvas element to remove metadata from the image.\n\tThis may break orientation if your browser does not support that."},[(0,i.Lk)("button",{class:"extra-help"})],-1))])])])):(0,i.Q3)("",!0),e.store.state.settings.searchEnabled?((0,i.uX)(),(0,i.CE)("div",sr,[n[8]||(n[8]=(0,i.Lk)("h2",null,"Enhanced search",-1)),(0,i.Lk)("label",or,[(0,i.Lk)("input",{checked:e.store.state.settings.enableEnhancedSearch,type:"checkbox",name:"enableEnhancedSearch"},null,8,ir),n[7]||(n[7]=(0,i.eW)(" Enable enhanced search with 'Jump to message' ",-1))])])):(0,i.Q3)("",!0),e.store.state.settings.searchEnabled?((0,i.uX)(),(0,i.CE)("div",lr,[n[11]||(n[11]=(0,i.Lk)("h2",null,"Input",-1)),(0,i.Lk)("label",rr,[(0,i.Lk)("input",{checked:e.store.state.settings.enableRainbowHotkey,type:"checkbox",name:"enableRainbowHotkey"},null,8,cr),n[9]||(n[9]=(0,i.eW)(" Enable rainbow messages with 'Ctrl+R' hotkey ",-1)),n[10]||(n[10]=(0,i.Lk)("span",{class:"tooltipped tooltipped-n tooltipped-no-delay","aria-label":"You can still use rainbow text with '/rainbow' or '/rgb'"},[(0,i.Lk)("button",{class:"extra-help"})],-1))])])):(0,i.Q3)("",!0),e.store.state.serverConfiguration?.public?(0,i.Q3)("",!0):((0,i.uX)(),(0,i.CE)("div",ur,[n[16]||(n[16]=(0,i.Lk)("h2",null,"Settings synchronisation",-1)),(0,i.Lk)("label",dr,[(0,i.Lk)("input",{checked:e.store.state.settings.syncSettings,type:"checkbox",name:"syncSettings"},null,8,pr),n[12]||(n[12]=(0,i.eW)(" Synchronize settings with other clients ",-1))]),e.store.state.settings.syncSettings?(0,i.Q3)("",!0):((0,i.uX)(),(0,i.CE)(i.FK,{key:0},[e.store.state.serverHasSettings?((0,i.uX)(),(0,i.CE)("div",hr,[n[13]||(n[13]=(0,i.Lk)("p",null,[(0,i.Lk)("strong",null,"Warning:"),(0,i.eW)(" Checking this box will override the settings of this client with those stored on the server. ")],-1)),n[14]||(n[14]=(0,i.Lk)("p",null," Use the button below to enable synchronization, and override any settings already synced to the server. ",-1)),(0,i.Lk)("button",{type:"button",class:"btn btn-small",onClick:n[2]||(n[2]=(...n)=>e.onForceSyncClick&&e.onForceSyncClick(...n))}," Sync settings and enable ")])):((0,i.uX)(),(0,i.CE)("div",gr,[...n[15]||(n[15]=[(0,i.Lk)("p",null,[(0,i.Lk)("strong",null,"Warning:"),(0,i.eW)(" No settings have been synced before. Enabling this will sync all settings of this client as the base for other clients. ")],-1)])]))],64))])),e.store.state.serverConfiguration?.public?(0,i.Q3)("",!0):((0,i.uX)(),(0,i.CE)("div",mr,[n[18]||(n[18]=(0,i.Lk)("h2",null,"Automatic away message",-1)),(0,i.Lk)("label",kr,[n[17]||(n[17]=(0,i.Lk)("label",{for:"awayMessage",class:"sr-only"},"Automatic away message",-1)),(0,i.Lk)("input",{id:"awayMessage",value:e.store.state.settings.awayMessage,type:"text",name:"awayMessage",class:"input",placeholder:"Away message if The Lounge is not open"},null,8,fr)])]))])}]]),yr={key:0,id:"change-password",role:"group","aria-labelledby":"label-change-password"},_r={class:"password-container"},Cr=["type"],Lr={class:"password-container"},Mr=["type"],Er={class:"password-container"},xr=["type"],Sr={key:0,class:"feedback success"},Ar={key:1,class:"feedback error"},Tr={key:1,class:"session-list",role:"group"},Xr={key:2},jr={key:3},Wr={class:"session-item"},Pr={class:"session-item-info"},Rr=["href"],Ir={key:0,class:"session-usage"},Nr={key:1,class:"session-usage"},Ur={class:"session-item-btn"},Fr={reload(){window.location.reload()}};class Or{static signout(){h.A.clear(),Fr.reload()}}const qr=(0,i.pM)({name:"Session",props:{session:{type:Object,required:!0}},setup:e=>({lastUse:(0,i.EW)(()=>(0,_s.A)(e.session.lastUse)),signOut:()=>{e.session.current?(re.A.emit("sign-out"),Or.signout()):re.A.emit("sign-out",e.session.token)}})}),Kr=(0,q.A)(qr,[["render",function(e,n,t,a,o,r){return(0,i.uX)(),(0,i.CE)("div",Wr,[(0,i.Lk)("div",Pr,[(0,i.Lk)("strong",null,(0,l.v_)(e.session.agent),1),(0,i.Lk)("a",{href:"https://ipinfo.io/"+e.session.ip,target:"_blank",rel:"noopener"},(0,l.v_)(e.session.ip),9,Rr),e.session.active>1?((0,i.uX)(),(0,i.CE)("p",Ir," Active in "+(0,l.v_)(e.session.active)+" browsers ",1)):e.session.current||e.session.active?(0,i.Q3)("",!0):((0,i.uX)(),(0,i.CE)("p",Nr,[n[1]||(n[1]=(0,i.eW)(" Last used on ",-1)),(0,i.Lk)("time",null,(0,l.v_)(e.lastUse),1)]))]),(0,i.Lk)("div",Ur,[(0,i.Lk)("button",{class:"btn",onClick:n[0]||(n[0]=(0,s.D$)((...n)=>e.signOut&&e.signOut(...n),["prevent"]))},[e.session.current?((0,i.uX)(),(0,i.CE)(i.FK,{key:0},[(0,i.eW)("Sign out")],64)):((0,i.uX)(),(0,i.CE)(i.FK,{key:1},[(0,i.eW)("Revoke")],64))])])])}]]),Dr=(0,i.pM)({name:"UserSettings",components:{RevealPassword:pe,Session:Kr},setup(){const e=(0,o.Pj)(),n=(0,x.KR)(),t=(0,x.KR)(""),a=(0,x.KR)(""),s=(0,x.KR)(""),l=(0,i.EW)(()=>e.state.sessions.find(e=>e.current)),r=(0,i.EW)(()=>e.state.sessions.filter(e=>!e.current&&e.active>0)),c=(0,i.EW)(()=>e.state.sessions.filter(e=>!e.current&&!e.active));return(0,i.sV)(()=>{re.A.emit("sessions:get")}),{store:e,passwordChangeStatus:n,passwordErrors:{missing_fields:"Please fill in all fields",password_mismatch:"Both new password fields must match",password_incorrect:"The current password field does not match your account password",update_failed:"Failed to update your password"},currentSession:l,activeSessions:r,otherSessions:c,changePassword:()=>{const e={old_password:t.value,new_password:a.value,verify_password:s.value};e.old_password&&e.new_password&&e.verify_password?e.new_password===e.verify_password?(re.A.once("change-password",e=>{n.value=e}),re.A.emit("change-password",e)):n.value={success:!1,error:"password_mismatch"}:n.value={success:!1,error:"missing_fields"}},old_password:t,new_password:a,verify_password:s}}}),Br=(0,q.A)(Dr,[["render",function(e,n,t,a,o,r){const c=(0,i.g2)("RevealPassword"),u=(0,i.g2)("Session"),d=(0,i.g2)("session;"),p=(0,i.g2)("session");return(0,i.uX)(),(0,i.CE)("div",null,[e.store.state.serverConfiguration?.public||e.store.state.serverConfiguration?.ldapEnabled?(0,i.Q3)("",!0):((0,i.uX)(),(0,i.CE)("div",yr,[n[7]||(n[7]=(0,i.Lk)("h2",{id:"label-change-password"},"Change password",-1)),(0,i.Lk)("div",_r,[n[4]||(n[4]=(0,i.Lk)("label",{for:"current-password",class:"sr-only"}," Enter current password ",-1)),(0,i.bF)(c,null,{default:(0,i.k6)(t=>[(0,i.bo)((0,i.Lk)("input",{id:"current-password","onUpdate:modelValue":n[0]||(n[0]=n=>e.old_password=n),autocomplete:"current-password",type:t.isVisible?"text":"password",name:"old_password",class:"input",placeholder:"Enter current password"},null,8,Cr),[[s.hp,e.old_password]])]),_:1})]),(0,i.Lk)("div",Lr,[n[5]||(n[5]=(0,i.Lk)("label",{for:"new-password",class:"sr-only"}," Enter desired new password ",-1)),(0,i.bF)(c,null,{default:(0,i.k6)(t=>[(0,i.bo)((0,i.Lk)("input",{id:"new-password","onUpdate:modelValue":n[1]||(n[1]=n=>e.new_password=n),type:t.isVisible?"text":"password",name:"new_password",autocomplete:"new-password",class:"input",placeholder:"Enter desired new password"},null,8,Mr),[[s.hp,e.new_password]])]),_:1})]),(0,i.Lk)("div",Er,[n[6]||(n[6]=(0,i.Lk)("label",{for:"new-password-verify",class:"sr-only"}," Repeat new password ",-1)),(0,i.bF)(c,null,{default:(0,i.k6)(t=>[(0,i.bo)((0,i.Lk)("input",{id:"new-password-verify","onUpdate:modelValue":n[2]||(n[2]=n=>e.verify_password=n),type:t.isVisible?"text":"password",name:"verify_password",autocomplete:"new-password",class:"input",placeholder:"Repeat new password"},null,8,xr),[[s.hp,e.verify_password]])]),_:1})]),e.passwordChangeStatus&&e.passwordChangeStatus.success?((0,i.uX)(),(0,i.CE)("div",Sr," Successfully updated your password ")):e.passwordChangeStatus&&e.passwordChangeStatus.error?((0,i.uX)(),(0,i.CE)("div",Ar,(0,l.v_)(e.passwordErrors[e.passwordChangeStatus.error]),1)):(0,i.Q3)("",!0),(0,i.Lk)("div",null,[(0,i.Lk)("button",{type:"submit",class:"btn",onClick:n[3]||(n[3]=(0,s.D$)((...n)=>e.changePassword&&e.changePassword(...n),["prevent"]))}," Change password ")])])),e.store.state.serverConfiguration?.public?(0,i.Q3)("",!0):((0,i.uX)(),(0,i.CE)("div",Tr,[n[10]||(n[10]=(0,i.Lk)("h2",null,"Sessions",-1)),n[11]||(n[11]=(0,i.Lk)("h3",null,"Current session",-1)),e.currentSession?((0,i.uX)(),(0,i.Wv)(u,{key:0,session:e.currentSession},null,8,["session"])):(0,i.Q3)("",!0),e.activeSessions.length>0?((0,i.uX)(),(0,i.CE)(i.FK,{key:1},[n[8]||(n[8]=(0,i.Lk)("h3",null,"active sessions",-1)),((0,i.uX)(!0),(0,i.CE)(i.FK,null,(0,i.pI)(e.activeSessions,e=>((0,i.uX)(),(0,i.Wv)(d,{key:e.token,session:e},null,8,["session"]))),128))],64)):(0,i.Q3)("",!0),n[12]||(n[12]=(0,i.Lk)("h3",null,"other sessions",-1)),0===e.store.state.sessions.length?((0,i.uX)(),(0,i.CE)("p",Xr,"loadingโ€ฆ")):0===e.otherSessions.length?((0,i.uX)(),(0,i.CE)("p",jr,[...n[9]||(n[9]=[(0,i.Lk)("em",null,"you are not currently logged in to any other device.",-1)])])):((0,i.uX)(!0),(0,i.CE)(i.FK,{key:4},(0,i.pI)(e.otherSessions,e=>((0,i.uX)(),(0,i.Wv)(p,{key:e.token,session:e},null,8,["session"]))),128))]))])}]]),$r=["disabled"],Hr={key:0,class:"error"},Qr={key:1,class:"error"},zr={class:"opt"},Vr=["checked","disabled"],Yr={key:0,class:"error"},Jr={key:1,id:"warnBlockedDesktopNotifications",class:"error"},Gr={key:2,id:"warnBlockedDesktopNotifications",class:"error"},Zr={class:"opt"},ec=["checked"],nc={class:"opt"},tc={class:"opt"},ac=["checked"],sc={key:1},oc={class:"opt"},ic=["value"],lc={key:2},rc={class:"opt"},cc=["value"],uc=function(){o.M_.commit("pushNotificationState","loading"),navigator.serviceWorker.ready.then(e=>e.pushManager.getSubscription().then(n=>n?(re.A.emit("push:unregister"),n.unsubscribe().then(e=>{o.M_.commit("pushNotificationState",e?"supported":"unsupported")})):e.pushManager.subscribe({applicationServerKey:o.M_.state.serverConfiguration?.applicationServerKey,userVisibleOnly:!0}).then(e=>{re.A.emit("push:register",e.toJSON()),o.M_.commit("pushNotificationState","subscribed"),o.M_.commit("refreshDesktopNotificationState")}))).catch(e=>{o.M_.commit("pushNotificationState","unsupported"),o.M_.commit("refreshDesktopNotificationState"),console.error(e)})};re.A.once("push:issubscribed",function(e){"https:"===location.protocol||"localhost"===location.hostname||"127.0.0.1"===location.hostname?"serviceWorker"in navigator&&navigator.serviceWorker.register("service-worker.js").then(n=>{if(o.M_.commit("hasServiceWorker"),n.pushManager)return n.pushManager.getSubscription().then(n=>{n&&!1===e?n.unsubscribe().then(e=>{o.M_.commit("pushNotificationState",e?"supported":"unsupported")}):o.M_.commit("pushNotificationState",n?"subscribed":"supported")})}).catch(e=>{o.M_.commit("pushNotificationState","unsupported"),console.error(e)}):o.M_.commit("pushNotificationState","nohttps")});const dc=(0,i.pM)({name:"NotificationSettings",setup(){const e=(0,o.Pj)();return{isIOS:(0,i.EW)(()=>["iPad Simulator","iPhone Simulator","iPod Simulator","iPad","iPhone","iPod"].includes(navigator.platform)||navigator.userAgent.includes("Mac")&&"ontouchend"in document),store:e,playNotification:()=>{const e=new Audio;e.src="audio/pop.wav",e.play()},onPushButtonClick:()=>{uc()}}}}),pc=(0,q.A)(dc,[["render",function(e,n,t,a,o,l){return(0,i.uX)(),(0,i.CE)("div",null,[e.store.state.serverConfiguration?.public?(0,i.Q3)("",!0):((0,i.uX)(),(0,i.CE)(i.FK,{key:0},[n[4]||(n[4]=(0,i.Lk)("h2",null,"Push Notifications",-1)),(0,i.Lk)("div",null,[(0,i.Lk)("button",{id:"pushNotifications",type:"button",class:"btn",disabled:"supported"!==e.store.state.pushNotificationState&&"subscribed"!==e.store.state.pushNotificationState,onClick:n[0]||(n[0]=(...n)=>e.onPushButtonClick&&e.onPushButtonClick(...n))},["subscribed"===e.store.state.pushNotificationState?((0,i.uX)(),(0,i.CE)(i.FK,{key:0},[(0,i.eW)(" Unsubscribe from push notifications ")],64)):"loading"===e.store.state.pushNotificationState?((0,i.uX)(),(0,i.CE)(i.FK,{key:1},[(0,i.eW)(" Loadingโ€ฆ ")],64)):((0,i.uX)(),(0,i.CE)(i.FK,{key:2},[(0,i.eW)(" Subscribe to push notifications ")],64))],8,$r),"nohttps"===e.store.state.pushNotificationState?((0,i.uX)(),(0,i.CE)("div",Hr,[...n[2]||(n[2]=[(0,i.Lk)("strong",null,"Warning",-1),(0,i.eW)(": Push notifications are only supported over HTTPS connections. ",-1)])])):(0,i.Q3)("",!0),"unsupported"===e.store.state.pushNotificationState?((0,i.uX)(),(0,i.CE)("div",Qr,[...n[3]||(n[3]=[(0,i.Lk)("strong",null,"Warning",-1),(0,i.eW)(": ",-1),(0,i.Lk)("span",null,"Push notifications are not supported by your browser.",-1)])])):(0,i.Q3)("",!0)])],64)),n[14]||(n[14]=(0,i.Lk)("h2",null,"Browser Notifications",-1)),(0,i.Lk)("div",null,[(0,i.Lk)("label",zr,[(0,i.Lk)("input",{id:"desktopNotifications",checked:e.store.state.settings.desktopNotifications,disabled:"nohttps"===e.store.state.desktopNotificationState,type:"checkbox",name:"desktopNotifications"},null,8,Vr),n[8]||(n[8]=(0,i.eW)(" Enable browser notifications",-1)),n[9]||(n[9]=(0,i.Lk)("br",null,null,-1)),"unsupported"===e.store.state.desktopNotificationState?((0,i.uX)(),(0,i.CE)("div",Yr,[...n[5]||(n[5]=[(0,i.Lk)("strong",null,"Warning",-1),(0,i.eW)(": Notifications are not supported by your browser. ",-1)])])):(0,i.Q3)("",!0),"nohttps"===e.store.state.desktopNotificationState?((0,i.uX)(),(0,i.CE)("div",Jr,[...n[6]||(n[6]=[(0,i.Lk)("strong",null,"Warning",-1),(0,i.eW)(": Notifications are only supported over HTTPS connections. ",-1)])])):(0,i.Q3)("",!0),"blocked"===e.store.state.desktopNotificationState?((0,i.uX)(),(0,i.CE)("div",Gr,[...n[7]||(n[7]=[(0,i.Lk)("strong",null,"Warning",-1),(0,i.eW)(": Notifications are blocked by your browser. ",-1)])])):(0,i.Q3)("",!0)])]),(0,i.Lk)("div",null,[(0,i.Lk)("label",Zr,[(0,i.Lk)("input",{checked:e.store.state.settings.notification,type:"checkbox",name:"notification"},null,8,ec),n[10]||(n[10]=(0,i.eW)(" Enable notification sound ",-1))])]),(0,i.Lk)("div",null,[(0,i.Lk)("div",nc,[(0,i.Lk)("button",{id:"play",onClick:n[1]||(n[1]=(0,s.D$)((...n)=>e.playNotification&&e.playNotification(...n),["prevent"]))},"Play sound")])]),(0,i.Lk)("div",null,[(0,i.Lk)("label",tc,[(0,i.Lk)("input",{checked:e.store.state.settings.notifyAllMessages,type:"checkbox",name:"notifyAllMessages"},null,8,ac),n[11]||(n[11]=(0,i.eW)(" Enable notification for all messages ",-1))])]),e.store.state.serverConfiguration?.public?(0,i.Q3)("",!0):((0,i.uX)(),(0,i.CE)("div",sc,[(0,i.Lk)("label",oc,[n[12]||(n[12]=(0,i.Lk)("label",{for:"highlights",class:"opt"},[(0,i.eW)(" Custom highlights "),(0,i.Lk)("span",{class:"tooltipped tooltipped-n tooltipped-no-delay","aria-label":"If a message contains any of these comma-separated\nexpressions, it will trigger a highlight."},[(0,i.Lk)("button",{class:"extra-help"})])],-1)),(0,i.Lk)("input",{id:"highlights",value:e.store.state.settings.highlights,type:"text",name:"highlights",class:"input",autocomplete:"off",placeholder:"Comma-separated, e.g.: word, some more words, anotherword"},null,8,ic)])])),e.store.state.serverConfiguration?.public?(0,i.Q3)("",!0):((0,i.uX)(),(0,i.CE)("div",lc,[(0,i.Lk)("label",rc,[n[13]||(n[13]=(0,i.Lk)("label",{for:"highlightExceptions",class:"opt"},[(0,i.eW)(" Highlight exceptions "),(0,i.Lk)("span",{class:"tooltipped tooltipped-n tooltipped-no-delay","aria-label":"If a message contains any of these comma-separated\nexpressions, it will not trigger a highlight even if it contains\nyour nickname or expressions defined in custom highlights."},[(0,i.Lk)("button",{class:"extra-help"})])],-1)),(0,i.Lk)("input",{id:"highlightExceptions",value:e.store.state.settings.highlightExceptions,type:"text",name:"highlightExceptions",class:"input",autocomplete:"off",placeholder:"Comma-separated, e.g.: word, some more words, anotherword"},null,8,cc)])]))])}]]),hc=(0,S.aE)({history:(0,S.Bt)(),routes:[{name:"SignIn",path:"/sign-in",component:ge,beforeEnter(e,n,t){o.M_.state.appLoaded?t(!1):t()}},{name:"Connect",path:"/connect",component:Ln,props:e=>({queryParams:e.query})},{path:"/settings",component:Nn,children:[{name:"General",path:"",component:wr},{name:"Appearance",path:"appearance",component:Zl},{name:"Account",path:"account",component:Br,props:!0},{name:"Notifications",path:"notifications",component:pc}]},{name:"Help",path:"/help",component:Ra},{name:"Changelog",path:"/changelog",component:Ba},{name:"NetworkEdit",path:"/edit-network/:uuid",component:Ha},{name:"RoutedChat",path:"/chan-:id",component:tl},{name:"SearchResults",path:"/chan-:id/search",component:go}]});async function gc(e,n={},t={}){hc.currentRoute.value.name?await hc.push({name:e,params:n,query:t}):await hc.replace({name:e,params:n,query:t}).catch(()=>{})}function mc(e,n,t){const a={};n&&(a.focused=n),t&&(a.focusedTime=t),gc("RoutedChat",{id:e.id},a)}hc.beforeEach((e,n,t)=>{o.M_.state.appLoaded||"SignIn"===e.name?t():o.M_.watch(e=>e.appLoaded,()=>t())}),hc.beforeEach(e=>!(!e.matched.length||"RoutedChat"===e.name&&!o.M_.getters.findChannel(Number(e.params.id))||"NetworkEdit"===e.name&&!o.M_.getters.findNetwork(String(e.params.uuid)))),hc.afterEach(e=>{if(o.M_.state.appLoaded&&window.innerWidth<=a.mobileViewportPixels&&o.M_.commit("sidebarOpen",!1),o.M_.state.activeChannel){const n=o.M_.state.activeChannel.channel;"RoutedChat"!==e.name&&o.M_.commit("activeChannel",void 0),n.messages?.length>0&&(n.firstUnread=n.messages[n.messages.length-1].id),o.M_.state.settings.searchEnabled&&o.M_.state.settings.enableEnhancedSearch||n.messages?.length>100&&(n.messages.splice(0,n.messages.length-100),n.moreHistoryAvailable=!0)}}),"serviceWorker"in navigator&&navigator.serviceWorker.addEventListener("message",e=>{if(e.data&&"open"===e.data.type){const n=parseInt(e.data.channel.substring(5),10),t=o.M_.getters.findChannel(n);t&&mc(t.channel)}});const kc=(0,i.pM)({name:"ChannelWrapper",props:{network:{type:Object,required:!0},channel:{type:Object,required:!0},active:Boolean,isFiltering:Boolean},setup(e){const n=(0,o.Pj)();return{activeChannel:(0,i.EW)(()=>n.state.activeChannel),isChannelVisible:(0,i.EW)(()=>e.isFiltering||!te(e.network,e.channel)),getAriaLabel:()=>{const n=[],t=e.channel.type;return e.channel.unread>0&&(e.channel.unread>1?n.push(`${e.channel.unread} unread messages`):n.push(`${e.channel.unread} unread message`)),e.channel.highlight>0&&(e.channel.highlight>1?n.push(`${e.channel.highlight} mentions`):n.push(`${e.channel.highlight} mention`)),`${t}: ${e.channel.name} ${n.length?`(${n.join(", ")})`:""}`},click:()=>{e.isFiltering||mc(e.channel)},openContextMenu:n=>{r.A.emit("contextmenu:channel",{event:n,channel:e.channel,network:e.network})}}}}),fc=(0,q.A)(kc,[["render",function(e,n,t,a,o,r){return e.isChannelVisible?((0,i.uX)(),(0,i.CE)("div",{key:0,ref:"element",class:(0,l.C4)(["channel-list-item",{active:e.active},{"parted-channel":"channel"===e.channel.type&&0===e.channel.state},{"has-draft":e.channel.pendingMessage},{"has-unread":e.channel.unread},{"has-highlight":e.channel.highlight},{"not-secure":"lobby"===e.channel.type&&e.network.status.connected&&!e.network.status.secure},{"not-connected":"lobby"===e.channel.type&&!e.network.status.connected},{"is-muted":e.channel.muted}]),"aria-label":e.getAriaLabel(),title:e.getAriaLabel(),"data-name":e.channel.name,"data-type":e.channel.type,"aria-controls":"#chan-"+e.channel.id,"aria-selected":e.active,style:(0,l.Tr)(e.channel.closed?{transition:"none",opacity:.4}:void 0),role:"tab",onClick:n[0]||(n[0]=(...n)=>e.click&&e.click(...n)),onContextmenu:n[1]||(n[1]=(0,s.D$)((...n)=>e.openContextMenu&&e.openContextMenu(...n),["prevent"]))},[(0,i.RG)(e.$slots,"default",{network:e.network,channel:e.channel,activeChannel:e.activeChannel})],46,ne)):(0,i.Q3)("",!0)}]]),bc=(0,i.pM)({name:"Channel",components:{ChannelWrapper:fc},props:{network:{type:Object,required:!0},isJoinChannelShown:Boolean,active:Boolean,isFiltering:Boolean},emits:["toggle-join-channel"],setup(e){const n=(0,i.EW)(()=>e.network.channels[0]),t=(0,i.EW)(()=>e.isJoinChannelShown?"Cancel":"Join a channelโ€ฆ"),a=(0,i.EW)(()=>ee(n.value.unread));return{channel:n,joinChannelLabel:t,unreadCount:a,onCollapseClick:()=>{Z(e.network,!e.network.isCollapsed)},getExpandLabel:e=>e.isCollapsed?"Expand":"Collapse"}}}),vc=(0,q.A)(bc,[["render",function(e,n,t,a,o,r){const c=(0,i.g2)("ChannelWrapper");return(0,i.uX)(),(0,i.Wv)(c,(0,i.v6)(e.$props,{channel:e.channel}),{default:(0,i.k6)(()=>[e.network.channels.length>1?((0,i.uX)(),(0,i.CE)("button",{key:0,"aria-controls":"network-"+e.network.uuid,"aria-label":e.getExpandLabel(e.network),"aria-expanded":!e.network.isCollapsed,class:"collapse-network",onClick:n[0]||(n[0]=(0,s.D$)((...n)=>e.onCollapseClick&&e.onCollapseClick(...n),["stop"]))},[...n[2]||(n[2]=[(0,i.Lk)("span",{class:"collapse-network-icon"},null,-1)])],8,$)):((0,i.uX)(),(0,i.CE)("span",H)),(0,i.Lk)("div",Q,[(0,i.Lk)("span",{title:e.channel.name,class:"name"},(0,l.v_)(e.channel.name),9,z),e.network.status.connected&&!e.network.status.secure?((0,i.uX)(),(0,i.CE)("span",V,[...n[3]||(n[3]=[(0,i.Lk)("span",{class:"not-secure-icon"},null,-1)])])):(0,i.Q3)("",!0),e.network.status.connected?(0,i.Q3)("",!0):((0,i.uX)(),(0,i.CE)("span",Y,[...n[4]||(n[4]=[(0,i.Lk)("span",{class:"not-connected-icon"},null,-1)])])),e.channel.unread?((0,i.uX)(),(0,i.CE)("span",{key:2,class:(0,l.C4)([{highlight:e.channel.highlight},"badge"])},(0,l.v_)(e.unreadCount),3)):(0,i.Q3)("",!0)]),(0,i.Lk)("span",{"aria-label":e.joinChannelLabel,class:"add-channel-tooltip tooltipped tooltipped-w tooltipped-no-touch"},[(0,i.Lk)("button",{class:(0,l.C4)(["add-channel",{opened:e.isJoinChannelShown}]),"aria-controls":"join-channel-"+e.channel.id,"aria-label":e.joinChannelLabel,onClick:n[1]||(n[1]=(0,s.D$)(n=>e.$emit("toggle-join-channel"),["stop"]))},null,10,G)],8,J)]),_:1},16,["channel"])}]]),wc={class:"name"},yc={key:0,class:"parted-channel-tooltip tooltipped tooltipped-w","aria-label":"Not currently joined"},_c={class:"close-tooltip tooltipped tooltipped-w","aria-label":"Leave"},Cc={key:2,class:"close-tooltip tooltipped tooltipped-w","aria-label":"Close"};function Lc(e){return()=>{e.type!==Zs.rR.LOBBY?(e.closed=!0,re.A.emit("input",{target:Number(e.id),text:"/close"})):r.A.emit("confirm-dialog",{title:"Remove network",text:`Are you sure you want to quit and remove ${e.name}? This cannot be undone.`,button:"Remove network"},n=>{n&&(e.closed=!0,re.A.emit("input",{target:Number(e.id),text:"/quit"}))})}}const Mc=(0,i.pM)({name:"Channel",components:{ChannelWrapper:fc},props:{network:{type:Object,required:!0},channel:{type:Object,required:!0},active:Boolean,isFiltering:Boolean},setup:e=>({store:(0,o.Pj)(),unreadCount:(0,i.EW)(()=>ee(e.channel.unread)),close:Lc(e.channel)})}),Ec=(0,q.A)(Mc,[["render",function(e,n,t,a,o,r){const c=(0,i.g2)("ChannelWrapper");return(0,i.uX)(),(0,i.Wv)(c,(0,i.v6)({ref:"wrapper"},e.$props),{default:(0,i.k6)(()=>[(0,i.Lk)("span",wc,(0,l.v_)(e.channel.name),1),!e.channel.unread||!0===e.store.state.settings.disableMutedUnread&&e.channel.muted?(0,i.Q3)("",!0):((0,i.uX)(),(0,i.CE)("span",{key:0,class:(0,l.C4)([{highlight:e.channel.highlight&&!e.channel.muted},"badge"])},(0,l.v_)(e.unreadCount),3)),"channel"===e.channel.type?((0,i.uX)(),(0,i.CE)(i.FK,{key:1},[0===e.channel.state?((0,i.uX)(),(0,i.CE)("span",yc,[...n[2]||(n[2]=[(0,i.Lk)("span",{class:"parted-channel-icon"},null,-1)])])):(0,i.Q3)("",!0),(0,i.Lk)("span",_c,[(0,i.Lk)("button",{class:"close","aria-label":"Leave",onClick:n[0]||(n[0]=(0,s.D$)((...n)=>e.close&&e.close(...n),["stop"]))})])],64)):((0,i.uX)(),(0,i.CE)("span",Cc,[(0,i.Lk)("button",{class:"close","aria-label":"Close",onClick:n[1]||(n[1]=(0,s.D$)((...n)=>e.close&&e.close(...n),["stop"]))})]))]),_:1},16)}]]),xc=["id"],Sc=(0,i.pM)({name:"JoinChannel",directives:{focus:{mounted:e=>e.focus()}},props:{network:{type:Object,required:!0},channel:{type:Object,required:!0}},emits:["toggle-join-channel"],setup(e,{emit:n}){const t=(0,o.Pj)(),a=(0,x.KR)(""),s=(0,x.KR)("");return{inputChannel:a,inputPassword:s,onSubmit:()=>{const o=t.getters.findChannelOnCurrentNetwork(a.value);if(o)mc(o);else{const n=e.network.serverOptions.CHANTYPES;let t=a.value;n&&n.length>0&&!n.includes(t[0])&&(t=n[0]+t),re.A.emit("input",{text:`/join ${t} ${s.value}`,target:e.channel.id})}a.value="",s.value="",n("toggle-join-channel")}}}}),Ac=(0,q.A)(Sc,[["render",function(e,n,t,a,o,l){const r=(0,i.gN)("focus");return(0,i.uX)(),(0,i.CE)("form",{id:"join-channel-"+e.channel.id,class:"join-form",method:"post",action:"",autocomplete:"off",onKeydown:n[2]||(n[2]=(0,s.jR)((0,s.D$)(n=>e.$emit("toggle-join-channel"),["prevent"]),["esc"])),onSubmit:n[3]||(n[3]=(0,s.D$)((...n)=>e.onSubmit&&e.onSubmit(...n),["prevent"]))},[(0,i.bo)((0,i.Lk)("input",{"onUpdate:modelValue":n[0]||(n[0]=n=>e.inputChannel=n),type:"text",class:"input",name:"channel",placeholder:"Channel",pattern:"[^\\s]+",maxlength:"200",title:"The channel name may not contain spaces",required:""},null,512),[[s.Jo,e.inputChannel],[r]]),(0,i.bo)((0,i.Lk)("input",{"onUpdate:modelValue":n[1]||(n[1]=n=>e.inputPassword=n),type:"password",class:"input",name:"key",placeholder:"Password (optional)",pattern:"[^\\s]+",maxlength:"200",title:"The channel password may not contain spaces",autocomplete:"new-password"},null,512),[[s.Jo,e.inputPassword]]),n[4]||(n[4]=(0,i.Lk)("button",{type:"submit",class:"btn btn-small"},"Join",-1))],40,xc)}]]),Tc=["title"],Xc={key:0,class:"dm-unread-badge highlight badge"},jc={key:0,class:"dm-filter"},Wc=(0,i.pM)({name:"DirectMessageSection",components:{Draggable:K,Channel:Ec},props:{network:{type:Object,required:!0},queries:{type:Array,required:!0}},setup(e){const n=e.network.uuid+"-dms",t="thelounge.directMessages.collapsed",a=(0,o.Pj)(),s=(0,x.KR)((()=>{const e=h.A.get(t);return(e?new Set(JSON.parse(e)):new Set).has(n)})()),l=(0,x.KR)(""),r=(0,x.KR)(!1),c=(0,i.EW)(()=>a.state.settings.showAllDMs?Number.MAX_SAFE_INTEGER:5),u=(0,i.EW)(()=>void 0!==e.queries.find(e=>e.id===a.state.activeChannel?.channel.id)),d=(0,i.EW)(()=>e.queries.filter(e=>e.unread>0&&!e.muted).length>0),p=(0,i.EW)(()=>ee(e.queries.filter(e=>e.unread>0&&!e.muted).length)),g=(0,i.EW)(()=>l.value?(0,D.filter)(l.value,e.queries,{extract:e=>e.name}).map(e=>e.original):e.queries),m=(0,i.EW)(()=>[...g.value].sort((e,n)=>e.pinned&&!n.pinned?-1:!e.pinned&&n.pinned?1:e.unread>0&&0===n.unread?-1:0===e.unread&&n.unread>0?1:e.name.toLowerCase().localeCompare(n.name.toLowerCase()))),k=(0,i.EW)(()=>{if(r.value||l.value)return m.value;const e=m.value.filter(e=>e.pinned),n=m.value.filter(e=>!e.pinned&&e.unread>0),t=m.value.filter(e=>!e.pinned&&0===e.unread),a=c.value-e.length-n.length;return a<=0?[...e,...n]:[...e,...n,...t.slice(0,a)]}),f=(0,i.EW)(()=>m.value.length-k.value.length),b=(0,i.EW)(()=>f.value>0&&!l.value);return{uuid:n,store:a,isCollapsed:s,filterText:l,showAll:r,hasUnread:d,totalUnreadCount:p,sortedQueries:m,hiddenCount:f,hasActiveQuery:u,hasHiddenChannels:b,shouldShowChannel:e=>!(!s.value||!e.highlight)||!(s.value&&!e.highlight)&&k.value.includes(e),toggleCollapsed:()=>{s.value=!s.value;const e=h.A.get(t),a=e?new Set(JSON.parse(e)):new Set;s.value?a.add(n):a.delete(n),h.A.set(t,JSON.stringify([...a]))},onDMSort:n=>{const{oldIndex:t,newIndex:a}=n;void 0!==t&&void 0!==a&&t!==a&&re.A.emit("sort:channels",{network:e.network.uuid,order:e.network.channels.map(e=>e.id)})}}}}),Pc=(0,q.A)(Wc,[["render",function(e,n,t,a,o,r){const c=(0,i.g2)("Channel"),u=(0,i.g2)("Draggable");return e.queries.length>0&&!e.network.isCollapsed||e.network.isCollapsed&&(e.hasUnread||e.hasActiveQuery)?((0,i.uX)(),(0,i.CE)("div",{key:0,class:(0,l.C4)(["dm-section",{collapsed:e.isCollapsed}])},[(0,i.Lk)("div",{class:(0,l.C4)(["channel-list-item dm-section-header",e.hasUnread?"has-unread has-highlight":""]),title:"Total Queries: "+e.queries.length+" - Total Unread: "+e.totalUnreadCount,onClick:n[0]||(n[0]=(0,s.D$)((...n)=>e.toggleCollapsed&&e.toggleCollapsed(...n),["stop"]))},[(0,i.Lk)("span",{class:(0,l.C4)(["dm-collapse-icon",{"is-collapsed":e.isCollapsed}])},null,2),n[3]||(n[3]=(0,i.Lk)("span",{class:"dm-section-title"},"Direct Messages",-1)),e.hasUnread?((0,i.uX)(),(0,i.CE)("span",Xc,(0,l.v_)(e.totalUnreadCount),1)):(0,i.Q3)("",!0)],10,Tc),!e.isCollapsed||e.hasActiveQuery||e.hasUnread?((0,i.uX)(),(0,i.CE)(i.FK,{key:0},[e.queries.length>2&&e.store.state.settings.filterdmsEnabled&&!e.isCollapsed?((0,i.uX)(),(0,i.CE)("div",jc,[(0,i.bo)((0,i.Lk)("input",{ref:"filterInput","onUpdate:modelValue":n[1]||(n[1]=n=>e.filterText=n),type:"text",placeholder:"Filter DMs...",class:"dm-filter-input input"},null,512),[[s.Jo,e.filterText]])])):(0,i.Q3)("",!0),(0,i.bF)(u,{list:e.sortedQueries,delay:500,"delay-on-touch-only":!0,"touch-start-threshold":10,draggable:".dm-channel-wrapper","ghost-class":"ui-sortable-ghost","drag-class":"ui-sortable-dragging",group:e.uuid,class:"dm-list","item-key":"id",onChange:e.onDMSort},{item:(0,i.k6)(({element:n})=>[e.shouldShowChannel(n)?((0,i.uX)(),(0,i.CE)("div",{key:0,class:(0,l.C4)(["dm-channel-wrapper",{"is-pinned":n.pinned}])},[((0,i.uX)(),(0,i.Wv)(c,{key:n.id,"data-item":n.id,channel:n,network:e.network,active:e.store.state.activeChannel&&n===e.store.state.activeChannel.channel},null,8,["data-item","channel","network","active"]))],2)):(0,i.Q3)("",!0)]),_:1},8,["list","group","onChange"]),e.hasHiddenChannels?((0,i.uX)(),(0,i.CE)("div",{key:1,class:"channel-list-item dm-show-more",onClick:n[2]||(n[2]=n=>e.showAll=!e.showAll)},(0,l.v_)(e.showAll?"Show less":`Show ${e.hiddenCount} more...`),1)):(0,i.Q3)("",!0)],64)):(0,i.Q3)("",!0)],2)):(0,i.Q3)("",!0)}],["__scopeId","data-v-e4cbcea8"]]),Rc=function([e,n],[t,a]){return Math.hypot(e-t,n-a)},Ic=(0,i.pM)({name:"NetworkList",components:{JoinChannel:Ac,NetworkLobby:vc,Channel:Ec,Draggable:K,DirectMessageSection:Pc},setup(){const e=(0,o.Pj)(),n=(0,x.KR)(""),t=(0,x.KR)(),a=(0,x.KR)(),s=(0,x.KR)(null),l=(0,x.KR)(null),c=(0,x.KR)(!1),d=(e,n,t)=>{const a=e.splice(n,1)[0];e.splice(t,0,a)},p=(0,i.EW)(()=>{const n=[];for(const t of e.state.networks)for(const a of t.channels)e.state.activeChannel&&a===e.state.activeChannel.channel||n.push({network:t,channel:a});return n}),h=(0,i.EW)(()=>(0,D.filter)(n.value,p.value,{extract:e=>e.channel.name}).map(e=>e.original)),m=n=>!!g(n)||(e.state.activeChannel&&Z(e.state.activeChannel.network,!0),!1),k=n=>!!g(n)||(e.state.activeChannel&&Z(e.state.activeChannel.network,!1),!1),f=()=>{s.value!==document.activeElement&&(c.value=!e.state.sidebarOpen,e.commit("sidebarOpen",!0),(0,i.dY)(()=>{s.value?.focus()}))},b=()=>{t.value=null,n.value="",s.value?.blur(),c.value&&e.commit("sidebarOpen",!1)},v=e=>!!g(e)||(s.value===document.activeElement?(b(),!1):(f(),!1)),w=e=>{h.value.length&&(e||(e=h.value[0].channel),t.value=e)},y=()=>{(0,i.dY)(()=>{const e=l.value?.querySelector(".channel-list-item.active");e&&e.scrollIntoView({block:"nearest",inline:"nearest"})})};return(0,i.wB)(n,()=>{w()}),(0,i.sV)(()=>{u().bind("alt+shift+right",k),u().bind("alt+shift+left",m),u().bind("alt+j",v)}),(0,i.xo)(()=>{u().unbind("alt+shift+right"),u().unbind("alt+shift+left"),u().unbind("alt+j")}),{store:e,networklist:l,searchInput:s,searchText:n,results:h,activeSearchItem:t,LONG_TOUCH_DURATION:500,activateSearch:f,deactivateSearch:b,toggleSearch:v,setSearchText:e=>{n.value=e.target.value},setActiveSearchItem:w,scrollToActive:y,selectResult:()=>{n.value&&h.value.length&&t.value&&(mc(t.value),b(),y())},navigateResults:(e,a)=>{if(e.stopImmediatePropagation(),e.preventDefault(),!n.value)return;const s=h.value.map(e=>e.channel);if(!s.length)return void(t.value=null);let o=t.value?s.indexOf(t.value):-1;if(!t.value||-1===o)return t.value=a?s[0]:s[s.length-1],void y();for(o+=a;o<0;)o+=s.length;for(;o>s.length-1;)o-=s.length;t.value=s[o],y()},onChannelSort:n=>{let{oldIndex:t,newIndex:a}=n;if(void 0===t||void 0===a||t===a)return;t+=1,a+=1;const s=n.item.getAttribute("data-item");if(!s)return;const o=parseInt(s),i=e.getters.findChannel(o);i&&(d(i.network.channels,t,a),re.A.emit("sort:channels",{network:i.network.uuid,order:i.network.channels.map(e=>e.id)}))},onNetworkSort:n=>{const{oldIndex:t,newIndex:a}=n;void 0!==t&&void 0!==a&&t!==a&&(d(e.state.networks,t,a),re.A.emit("sort:networks",{order:e.state.networks.map(e=>e.uuid)}))},onDraggableTouchStart:e=>{1===e.touches.length&&document.body.classList.add("force-no-select")},onDraggableTouchMove:e=>{if(a.value&&e.touches.length>0){const n=e.touches[0],t=[n.clientX,n.clientY];Rc(a.value,t)>10&&r.A.emit("contextmenu:cancel")}},onDraggableTouchEnd:e=>{0===e.touches.length&&document.body.classList.remove("force-no-select")},onDraggableChoose:e=>{const n=e.originalEvent;(e=>!!(e.touches&&e.touches[0]||e.pointerType&&"touch"===e.pointerType))(n)&&(e.item.classList.add("ui-sortable-dragging-touch-cue"),n instanceof TouchEvent&&n.touches.length>0?a.value=[n.touches[0].clientX,n.touches[0].clientY]:n instanceof PointerEvent&&(a.value=[n.clientX,n.clientY]))},onDraggableUnchoose:e=>{e.item.classList.remove("ui-sortable-dragging-touch-cue"),a.value=null}}}}),Nc=(0,q.A)(Ic,[["render",function(e,n,t,a,o,r){const c=(0,i.g2)("Channel"),u=(0,i.g2)("NetworkLobby"),d=(0,i.g2)("JoinChannel"),p=(0,i.g2)("Draggable"),h=(0,i.g2)("DirectMessageSection");return 0===e.store.state.networks.length?((0,i.uX)(),(0,i.CE)("div",A," You are not connected to any networks yet. ")):((0,i.uX)(),(0,i.CE)("div",T,[e.store.state.settings.jumptoEabled?((0,i.uX)(),(0,i.CE)("div",X,[(0,i.Lk)("input",{ref:"searchInput",value:e.searchText,placeholder:"Jump to...",type:"search",class:"search input mousetrap","aria-label":"Search among the channel list",tabindex:"-1",onInput:n[0]||(n[0]=(...n)=>e.setSearchText&&e.setSearchText(...n)),onKeydown:[n[1]||(n[1]=(0,s.jR)(n=>e.navigateResults(n,-1),["up"])),n[2]||(n[2]=(0,s.jR)(n=>e.navigateResults(n,1),["down"])),n[3]||(n[3]=(0,s.jR)(n=>e.navigateResults(n,-10),["page-up"])),n[4]||(n[4]=(0,s.jR)(n=>e.navigateResults(n,10),["page-down"])),n[5]||(n[5]=(0,s.jR)((...n)=>e.selectResult&&e.selectResult(...n),["enter"])),n[6]||(n[6]=(0,s.jR)((...n)=>e.deactivateSearch&&e.deactivateSearch(...n),["escape"]))],onFocus:n[7]||(n[7]=(...n)=>e.activateSearch&&e.activateSearch(...n))},null,40,j)])):(0,i.Q3)("",!0),e.searchText?((0,i.uX)(),(0,i.CE)("div",W,[e.results.length?((0,i.uX)(),(0,i.CE)("div",P,[((0,i.uX)(!0),(0,i.CE)(i.FK,null,(0,i.pI)(e.results,t=>((0,i.uX)(),(0,i.CE)("div",{key:t.channel.id,onMouseenter:n=>e.setActiveSearchItem(t.channel),onClick:n[8]||(n[8]=(0,s.D$)((...n)=>e.selectResult&&e.selectResult(...n),["prevent"]))},["lobby"!==t.channel.type?((0,i.uX)(),(0,i.Wv)(c,{key:0,channel:t.channel,network:t.network,active:t.channel===e.activeSearchItem,"is-filtering":!0},null,8,["channel","network","active"])):((0,i.uX)(),(0,i.Wv)(u,{key:1,channel:t.channel,network:t.network,active:t.channel===e.activeSearchItem,"is-filtering":!0},null,8,["channel","network","active"]))],40,R))),128))])):((0,i.uX)(),(0,i.CE)("div",I,"No results found."))])):((0,i.uX)(),(0,i.Wv)(p,{key:2,list:e.store.state.networks,delay:e.LONG_TOUCH_DURATION,"delay-on-touch-only":!0,"touch-start-threshold":10,handle:".channel-list-item[data-type='lobby']",draggable:".network","ghost-class":"ui-sortable-ghost","drag-class":"ui-sortable-dragging",group:"networks",class:"networks","item-key":"uuid",onChange:e.onNetworkSort,onChoose:e.onDraggableChoose,onUnchoose:e.onDraggableUnchoose},{item:(0,i.k6)(({element:t})=>[((0,i.uX)(),(0,i.CE)("div",{id:"network-"+t.uuid,key:t.uuid,class:(0,l.C4)([{collapsed:t.isCollapsed,"not-connected":!t.status.connected,"not-secure":!t.status.secure},"network"]),role:"region","aria-live":"polite",onTouchstart:n[9]||(n[9]=(...n)=>e.onDraggableTouchStart&&e.onDraggableTouchStart(...n)),onTouchmove:n[10]||(n[10]=(...n)=>e.onDraggableTouchMove&&e.onDraggableTouchMove(...n)),onTouchend:n[11]||(n[11]=(...n)=>e.onDraggableTouchEnd&&e.onDraggableTouchEnd(...n)),onTouchcancel:n[12]||(n[12]=(...n)=>e.onDraggableTouchEnd&&e.onDraggableTouchEnd(...n))},[(0,i.bF)(u,{network:t,"is-join-channel-shown":t.isJoinChannelShown,active:e.store.state.activeChannel&&t.channels[0]===e.store.state.activeChannel.channel,onToggleJoinChannel:e=>t.isJoinChannelShown=!t.isJoinChannelShown},null,8,["network","is-join-channel-shown","active","onToggleJoinChannel"]),t.isJoinChannelShown?((0,i.uX)(),(0,i.Wv)(d,{key:0,network:t,channel:t.channels[0],onToggleJoinChannel:e=>t.isJoinChannelShown=!t.isJoinChannelShown},null,8,["network","channel","onToggleJoinChannel"])):(0,i.Q3)("",!0),(0,i.bF)(p,{draggable:".channel-list-item","ghost-class":"ui-sortable-ghost","drag-class":"ui-sortable-dragging",group:t.uuid,list:t.channels,delay:e.LONG_TOUCH_DURATION,"delay-on-touch-only":!0,"touch-start-threshold":10,class:"channels","item-key":"name",onChange:e.onChannelSort,onChoose:e.onDraggableChoose,onUnchoose:e.onDraggableUnchoose},{item:(0,i.k6)(({element:n,index:a})=>[a>0&&"query"!==n.type?((0,i.uX)(),(0,i.Wv)(c,{key:n.id,"data-item":n.id,channel:n,network:t,active:e.store.state.activeChannel&&n===e.store.state.activeChannel.channel},null,8,["data-item","channel","network","active"])):(0,i.Q3)("",!0)]),_:2},1032,["group","list","delay","onChange","onChoose","onUnchoose"]),(0,i.bF)(h,{network:t,queries:t.channels.filter(e=>"query"===e.type)},null,8,["network","queries"])],42,N))]),_:1},8,["list","delay","onChange","onChoose","onUnchoose"]))],512))}]]),Uc=(0,i.pM)({name:"Sidebar",components:{NetworkList:Nc},props:{overlay:{type:Object,required:!0}},setup(e){const n=(0,o.Pj)(),t=(0,S.lq)(),a=(0,x.KR)(),s=(0,x.KR)(),l=(0,x.KR)(0),r=(0,x.KR)(0),c=(0,x.KR)(!1),u=(0,x.KR)(!1),d=(0,x.KR)(null),p=e=>{n.commit("sidebarOpen",e)},h=t=>{const o=s.value=t.touches.item(0);if(!(o&&a.value&&a.value.screenX&&a.value.screenY))return;let i=o.screenX-a.value.screenX;const l=o.screenY-a.value.screenY;if(!c.value){if(Math.abs(l/i)>=1)return void g();const e=window.devicePixelRatio||2;Math.abs(i)>e&&(n.commit("sidebarDragging",!0),c.value=!0)}u.value&&(n.state.sidebarOpen&&(i+=r.value),i>r.value?i=r.value:i<0&&(i=0),d.value&&(d.value.style.transform="translate3d("+i.toString()+"px, 0, 0)"),e.overlay&&(e.overlay.style.opacity=""+i/r.value))},g=()=>{if(!a.value?.screenX||!s.value?.screenX)return;const t=s.value.screenX-a.value.screenX,o=Math.abs(t);(o>r.value/2||Date.now()-l.value<180&&o>50)&&p(t>0),document.body.removeEventListener("touchmove",h),document.body.removeEventListener("touchend",g),n.commit("sidebarDragging",!1),a.value=null,s.value=null,l.value=0,c.value=!1,(0,i.dY)(()=>{d.value&&(d.value.style.transform=""),e.overlay&&(e.overlay.style.opacity="")})},m=e=>{if(!d.value)return;if(a.value=s.value=e.touches.item(0),1!==e.touches.length)return void g();const t=window.getComputedStyle(d.value);r.value=parseFloat(t.width),u.value="absolute"===t.position,(!n.state.sidebarOpen||a.value?.screenX&&a.value.screenX>r.value)&&(l.value=Date.now(),document.body.addEventListener("touchmove",h,{passive:!0}),document.body.addEventListener("touchend",g,{passive:!0}))};return(0,i.sV)(()=>{document.body.addEventListener("touchstart",m,{passive:!0})}),(0,i.hi)(()=>{document.body.removeEventListener("touchstart",m)}),{isDevelopment:!1,store:n,route:t,sidebar:d,toggle:p,onTouchStart:m,onTouchMove:h,onTouchEnd:g,isPublic:()=>document.body.classList.contains("public")}}}),Fc=(0,q.A)(Uc,[["render",function(e,n,t,a,o,r){const c=(0,i.g2)("NetworkList"),u=(0,i.g2)("router-link");return(0,i.uX)(),(0,i.CE)("aside",{id:"sidebar",ref:"sidebar",class:(0,l.C4)(e.store.state.settings.compactSidebar?"compact":"")},[(0,i.Lk)("div",m,[(0,i.Lk)("div",k,[(0,i.Lk)("img",{src:`img/logo-${e.isPublic()?"horizontal-":""}transparent-bg.svg`,class:"logo",alt:"The Lounge",role:"presentation"},null,8,f),(0,i.Lk)("img",{src:`img/logo-${e.isPublic()?"horizontal-":""}transparent-bg-inverted.svg`,class:"logo-inverted",alt:"The Lounge",role:"presentation"},null,8,b),e.isDevelopment?((0,i.uX)(),(0,i.CE)("span",v,"DEVELOPER")):(0,i.Q3)("",!0)]),(0,i.bF)(c)]),(0,i.Lk)("footer",w,[(0,i.Lk)("span",y,[(0,i.bF)(u,{to:"/connect",role:"tab","aria-controls":"connect"},{default:(0,i.k6)(({navigate:e,isActive:n})=>[(0,i.Lk)("button",{class:(0,l.C4)(["icon","connect",{active:n}]),"aria-selected":n,onClick:e,onKeypress:(0,s.jR)(e,["enter"])},null,42,_)]),_:1})]),(0,i.Lk)("span",C,[(0,i.bF)(u,{to:"/settings",role:"tab","aria-controls":"settings"},{default:(0,i.k6)(({navigate:e,isActive:n})=>[(0,i.Lk)("button",{class:(0,l.C4)(["icon","settings",{active:n}]),"aria-selected":n,onClick:e,onKeypress:(0,s.jR)(e,["enter"])},null,42,L)]),_:1})]),(0,i.Lk)("span",{class:"tooltipped tooltipped-n tooltipped-no-touch","aria-label":e.store.state.serverConfiguration?.isUpdateAvailable?"Help\n(update available)":"Help"},[(0,i.bF)(u,{to:"/help",role:"tab","aria-controls":"help"},{default:(0,i.k6)(({navigate:n,isActive:t})=>[(0,i.Lk)("button",{"aria-selected":"Help"===e.route.name,class:(0,l.C4)(["icon","help",{notified:e.store.state.serverConfiguration?.isUpdateAvailable},{active:t}]),onClick:n,onKeypress:(0,s.jR)(n,["enter"])},null,42,E)]),_:1})],8,M)])],2)}]]),Oc=["href"],qc=["src"],Kc=(0,i.pM)({name:"ImageViewer",setup(){const e=(0,x.KR)(),n=(0,x.KR)(),t=(0,x.KR)(null),a=(0,x.KR)(),s=(0,x.KR)(),o=(0,x.KR)(),l=(0,x.KR)({x:0,y:0}),c=(0,x.KR)({scale:1,x:0,y:0}),d=(0,i.EW)(()=>{const e=Math.floor(c.value.x),n=Math.floor(c.value.y);return{left:`${l.value.x}px`,top:`${l.value.y}px`,transform:`translate3d(${e}px, ${n}px, 0) scale3d(${c.value.scale}, ${c.value.scale}, 1)`}}),p=()=>{null!==t.value&&(o.value=null,a.value=null,s.value=null,t.value=null)},h=()=>{a.value&&(t.value=a.value)},g=()=>{s.value&&(t.value=s.value)},m=(t,a,s,o)=>{if(!n.value||!e.value)return;const i=n.value.width,l=e.value.offsetWidth/2,r=e.value.offsetHeight/2;return{x:l-(l-(s-i*a/2))/a*t+i*t/2,y:r-(r-(o-i*a/2))/a*t+i*t/2}},k=()=>{const t=n.value,a=e.value;if(!t||!a)return;const s=t.width*c.value.scale,o=t.height*c.value.scale,i=a.offsetWidth,l=a.offsetHeight;s<i?c.value.x=i/2:c.value.x-s/2>0?c.value.x=s/2:c.value.x+s/2<i&&(c.value.x=i-s/2),o<l?c.value.y=l/2:c.value.y-o/2>0?c.value.y=o/2:c.value.y+o/2<l&&(c.value.y=l-o/2)},f=e=>{let n=0,t=0,a=0;for(let s=0;s<e.length;s++){const o=e[s].clientX,i=e[s].clientY;n+=o,t+=i;for(let n=0;n<e.length;n++)if(s!==n){const t=e[n].clientX,s=e[n].clientY;a+=Math.sqrt((o-t)*(o-t)+(i-s)*(i-s))}}return 0===a&&(a=1),{x:n/e.length,y:t/e.length,scale:a/e.length}};return(0,i.wB)(t,(e,n)=>{if(null===e)return r.A.off("escapekey",p),r.A.off("resize",k),u().unbind("left"),void u().unbind("right");(()=>{if(!o.value||!t.value)return null;const e=o.value.messages.map(e=>e.previews).flat().filter(e=>e&&e.thumb),n=e.indexOf(t.value);a.value=e[n-1]||null,s.value=e[n+1]||null})(),n||(r.A.on("escapekey",p),r.A.on("resize",k),u().bind("left",h),u().bind("right",g))}),{link:t,channel:o,image:n,transform:c,closeViewer:p,next:g,previous:h,onImageLoad:()=>{(()=>{const t=e.value,a=n.value;if(!t||!a)return;const s=t.offsetWidth,o=t.offsetHeight,i=Math.min(1,s/a.width,o/a.height);l.value.x=Math.floor(-n.value.naturalWidth/2),l.value.y=Math.floor(-n.value.naturalHeight/2),c.value.scale=Math.max(i,.1),c.value.x=s/2,c.value.y=o/2})()},onImageMouseDown:t=>{if(1!==t.which)return;t.stopPropagation(),t.preventDefault();const a=e.value,s=n.value;if(!a||!s)return;const o=t.clientX,i=t.clientY,l=c.value.x,r=c.value.y,u=s.width*c.value.scale,d=s.height*c.value.scale,h=a.offsetWidth,g=a.offsetHeight,m=c.value.x-u/2,f=c.value.y-d/2;let b=0;const v=e=>{e.stopPropagation(),e.preventDefault();const n=e.clientX-o,t=e.clientY-i;b=Math.max(b,Math.abs(n),Math.abs(t)),(m<0||u+m>h)&&(c.value.x=l+n),(f<0||d+f>g)&&(c.value.y=r+t),k()},w=e=>{k(),b<2&&0===e.button&&p(),n.value?.removeEventListener("mousemove",v),n.value?.removeEventListener("mouseup",w)};n.value?.addEventListener("mousemove",v),n.value?.addEventListener("mouseup",w)},onMouseWheel:e=>{if(null!==t.value){if(e.preventDefault(),e.ctrlKey)c.value.y+=e.deltaY;else{const n=e.deltaY>0?.1:-.1,t=Math.min(3,Math.max(.1,c.value.scale+n)),a=m(t,c.value.scale,c.value.x,c.value.y);if(!a)return;c.value.scale=t,c.value.x=a.x,c.value.y=a.y}k()}},onClick:e=>{e.target!==n.value&&p()},onTouchStart:e=>{e.stopImmediatePropagation()},previousImage:a,nextImage:s,onImageTouchStart:e=>{const t=n.value;let a=f(e.touches),s=e.touches,o=0;const i={x:a.x,y:a.y,scale:a.scale},l={x:c.value.x,y:c.value.y,scale:c.value.scale},r=e=>{a=f(e.touches),s.length!==e.touches.length&&(i.x=a.x,i.y=a.y,i.scale=a.scale,l.x=c.value.x,l.y=c.value.y,l.scale=c.value.scale);const n=a.x-i.x,t=a.y-i.y,r=a.scale/i.scale;s=e.touches,o=0;const u=Math.min(3,Math.max(.1,l.scale*r)),d=m(u,l.scale,l.x,l.y);d&&(c.value.x=d.x+n,c.value.y=d.y+t,c.value.scale=u,k())},u=e=>{const n=e.changedTouches.length;s.length>n+o?o+=n:(k(),t?.removeEventListener("touchmove",r),t?.removeEventListener("touchend",u))};t?.addEventListener("touchmove",r,{passive:!0}),t?.addEventListener("touchend",u,{passive:!0})},computeImageStyles:d,viewer:e}}}),Dc=(0,q.A)(Kc,[["render",function(e,n,t,a,o,r){return(0,i.uX)(),(0,i.CE)("div",{id:"image-viewer",ref:"viewer",class:(0,l.C4)({opened:null!==e.link}),onWheel:n[5]||(n[5]=(...n)=>e.onMouseWheel&&e.onMouseWheel(...n)),onTouchstartPassive:n[6]||(n[6]=(...n)=>e.onTouchStart&&e.onTouchStart(...n)),onClick:n[7]||(n[7]=(...n)=>e.onClick&&e.onClick(...n))},[null!==e.link?((0,i.uX)(),(0,i.CE)(i.FK,{key:0},[n[8]||(n[8]=(0,i.Lk)("button",{class:"close-btn","aria-label":"Close"},null,-1)),e.previousImage?((0,i.uX)(),(0,i.CE)("button",{key:0,class:"previous-image-btn","aria-label":"Previous image",onClick:n[0]||(n[0]=(0,s.D$)((...n)=>e.previous&&e.previous(...n),["stop"]))})):(0,i.Q3)("",!0),e.nextImage?((0,i.uX)(),(0,i.CE)("button",{key:1,class:"next-image-btn","aria-label":"Next image",onClick:n[1]||(n[1]=(0,s.D$)((...n)=>e.next&&e.next(...n),["stop"]))})):(0,i.Q3)("",!0),(0,i.Lk)("a",{class:"open-btn",href:e.link.link,target:"_blank",rel:"noopener"},null,8,Oc),(0,i.Lk)("img",{ref:"image",src:e.link.thumb,alt:"",style:(0,l.Tr)(e.computeImageStyles),onLoad:n[2]||(n[2]=(...n)=>e.onImageLoad&&e.onImageLoad(...n)),onMousedown:n[3]||(n[3]=(...n)=>e.onImageMouseDown&&e.onImageMouseDown(...n)),onTouchstartPassive:n[4]||(n[4]=(...n)=>e.onImageTouchStart&&e.onImageTouchStart(...n))},null,44,qc)],64)):(0,i.Q3)("",!0)],34)}]]),Bc=["aria-activedescendant"],$c=["id","onMouseenter","onClick"];const Hc=(0,i.pM)({name:"ContextMenu",props:{message:{required:!1,type:Object}},setup(){const e=(0,o.Pj)(),n=(0,S.rd)(),t=(0,x.KR)(!1),a=(0,x.KR)(!1),s=(0,x.KR)(),l=(0,x.KR)(),c=(0,x.KR)([]),u=(0,x.KR)(-1),d=(0,x.KR)({top:0,left:0}),p=()=>{t.value&&(t.value=!1,c.value=[],l.value&&(l.value.focus(),l.value=null))},h=()=>{a.value=!1,document.body.removeEventListener("pointerup",h)},g=e=>{p(),"action"in e&&e.action?e.action():"link"in e&&e.link&&n.push(e.link).catch(()=>{console.error("Failed to navigate to",e.link)})},m=(n,a)=>{n.preventDefault(),l.value=document.activeElement,c.value=a,u.value=0,t.value=!0,(0,i.dY)(()=>{const t=(n=>{const t=n.target;if(!s.value)return;const a=s.value?.offsetWidth,o=s.value?.offsetHeight;if(t&&t.classList.contains("menu"))return{left:t.getBoundingClientRect().left-(a-t.offsetWidth),top:t.getBoundingClientRect().top+t.offsetHeight};const i={left:n.pageX,top:n.pageY};return e.state.settings.enhancedContextMenuEnabled&&s.value.querySelector('[class*="context-menu-group-"]')&&(i.top-=45),window.innerWidth-i.left<a&&(i.left=window.innerWidth-a),window.innerHeight-i.top<o&&(i.top=window.innerHeight-o),i})(n);t&&(d.value.left=t.left,d.value.top=t.top,s.value?.focus())}).catch(e=>{console.error(e)})},k=e=>{"contextmenu"===e.event.type&&(a.value=!0,document.body.addEventListener("pointerup",h,{passive:!0}));const n=function(e,n){const t=Lc(e);let a=[{label:e.name,type:"item",class:{lobby:"network",channel:"chan",query:"query",special:"chan"}[e.type],link:`/chan-${e.id}`},{type:"divider"}];e.type===Zs.rR.LOBBY&&(a=[...a,{label:"Edit this networkโ€ฆ",type:"item",class:"edit",link:`/edit-network/${n.uuid}`},{label:"Join a channelโ€ฆ",type:"item",class:"join",action:()=>n.isJoinChannelShown=!0},{label:"List all channels",type:"item",class:"list",action:()=>re.A.emit("input",{target:e.id,text:"/list"})},{label:"List ignored users",type:"item",class:"list",action:()=>re.A.emit("input",{target:e.id,text:"/ignorelist"})},n.status.connected?{label:"Disconnect",type:"item",class:"disconnect",action:()=>re.A.emit("input",{target:e.id,text:"/disconnect"})}:{label:"Connect",type:"item",class:"connect",action:()=>re.A.emit("input",{target:e.id,text:"/connect"})}]),e.type===Zs.rR.CHANNEL&&(a.push({label:"Edit topic",type:"item",class:"edit",action(){e.editTopic=!0,mc(e)}}),a.push({label:"List banned users",type:"item",class:"list",action(){re.A.emit("input",{target:e.id,text:"/banlist"})}})),e.type===Zs.rR.QUERY&&a.push({label:"User information",type:"item",class:"action-whois",action(){mc(e),re.A.emit("input",{target:e.id,text:"/whois "+e.name})}},{label:"Ignore user",type:"item",class:"action-ignore",action(){re.A.emit("input",{target:e.id,text:"/ignore "+e.name})}},{label:e.pinned?"Unpin conversation":"Pin conversation",type:"item",class:"pin",action(){re.A.emit("pin:change",{target:e.id,setPinnedTo:!e.pinned})}}),e.type!==Zs.rR.CHANNEL&&e.type!==Zs.rR.QUERY||a.push({label:"Clear history",type:"item",class:"clear-history",action(){r.A.emit("confirm-dialog",{title:"Clear history",text:`Are you sure you want to clear history for ${e.name}? This cannot be undone.`,button:"Clear history"},n=>{n&&re.A.emit("history:clear",{target:e.id})})}});const s={lobby:"network",channel:"channel",query:"conversation"};if(Object.keys(s).includes(e.type)){const n=s[e.type];a.push({label:e.muted?`Unmute ${n}`:`Mute ${n}`,type:"item",class:"mute",action(){re.A.emit("mute:change",{target:e.id,setMutedTo:!e.muted})}})}return a.push({label:{lobby:"Remove",channel:"Leave",query:"Close",special:"Close"}[e.type],type:"item",class:"close",action(){t()}}),a}(e.channel,e.network);m(e.event,n)},f=n=>{const{network:t}=e.state.activeChannel,a=function(e,n,t){const a=t.channels.find(e=>e.name===n);return a?[{label:"Go to channel",type:"item",class:"chan",link:`/chan-${a.id}`}]:[{label:"Join channel",type:"item",class:"join",action:()=>{const a=t.channels.find(e=>e.name===n);a&&mc(a),e.state.activeChannel?re.A.emit("input",{target:e.state.activeChannel.channel.id,text:"/join "+n}):console.error("Unable to join channel: activeChannel is undefined")}}]}(e,n.channel,t);m(n.event,a)},b=n=>{const{network:t,channel:a}=e.state.activeChannel,s=function(e,n,t,a){const s=n&&n.users.find(e=>e.nick===t.nick)||{},o=[...(()=>{const s={label:a.nick,type:"item",class:"user",action(){}};if(e.state.settings.enhancedContextMenuEnabled&&Boolean(t.channels.find(e=>(e.groups?.length??0)>0))){const e={label:a.nick,type:"item",class:"user",action(){n.type===Zs.rR.CHANNEL&&re.A.emit("input",{target:n.id,text:`!user ${a.nick}`})}},s={label:"Tracker Profile",type:"item",class:"action-open",action(){var e;e=`https://brr.red/${a.nick}`,Object.assign(document.createElement("a"),{target:"_blank",rel:"noopener noreferrer",href:e}).click()}},o=t.channels.find(e=>e.users.find(e=>e.nick===a.nick))?.groups?.find(e=>e.users.includes(a.nick))?.name??"Offline";return[{label:o,type:"item",class:`group-${o.toLowerCase()}`,action(){}},{type:"divider"},e,s]}return[s]})(),{type:"divider"},{label:"Direct messages",type:"item",class:"action-query",action(){const t=e.getters.findChannelOnCurrentNetwork(a.nick);t&&mc(t),re.A.emit("input",{target:n.id,text:"/query "+a.nick})}},...e.state.settings.enhancedContextMenuEnabled?[{label:`Slap ${a.nick}`,type:"item",class:"action-slap",action(){re.A.emit("input",{target:n.id,text:"/slap "+a.nick})}}]:[],{type:"divider"},{label:"User information",type:"item",class:"action-whois",action(){const e=t.channels.find(e=>e.name===a.nick);e&&mc(e),re.A.emit("input",{target:n.id,text:"/whois "+a.nick})}},{label:"Ignore user",type:"item",class:"action-ignore",action(){re.A.emit("input",{target:n.id,text:"/ignore "+a.nick})}}];if(!s.modes||s.modes.length<1)return o;const i={"~":"owner","&":"admin","@":"operator","%":"half-op","+":"voice"},l={revoke(e){const n=i[e.symbol];return"string"!=typeof n?"":n?`Revoke ${n} (-${e.mode})`:`Mode -${e.mode}`},give(e){const n=i[e.symbol];return"string"!=typeof n?"":n?`Give ${n} (+${e.mode})`:`Mode +${e.mode}`}},r=t.serverOptions.PREFIX.symbols;function c(e,n){return"~@".indexOf(e)>-1?r.indexOf(e)<=r.indexOf(n):r.indexOf(e)<r.indexOf(n)}return t.serverOptions.PREFIX.prefix.forEach(e=>{c(s.modes[0],e.symbol)&&(a.modes.includes(e.symbol)?o.push({label:l.revoke(e),type:"item",class:"action-revoke-mode",action(){re.A.emit("input",{target:n.id,text:"/mode -"+e.mode+" "+a.nick})}}):o.push({label:l.give(e),type:"item",class:"action-set-mode",action(){re.A.emit("input",{target:n.id,text:"/mode +"+e.mode+" "+a.nick})}}))}),c(r.indexOf("%")>-1?"%":"@",s.modes[0])||(0===a.modes.length||c(s.modes[0],a.modes[0]))&&o.push({label:"Kick",type:"item",class:"action-kick",action(){re.A.emit("input",{target:n.id,text:"/kick "+a.nick})}}),o}(e,a,t,a.users.find(e=>e.nick===n.user.nick)||{nick:n.user.nick,modes:[]});m(n.event,s)};return(0,i.sV)(()=>{r.A.on("escapekey",p),r.A.on("contextmenu:cancel",p),r.A.on("contextmenu:user",b),r.A.on("contextmenu:channel",k),r.A.on("contextmenu:inline-channel",f)}),(0,i.hi)(()=>{r.A.off("escapekey",p),r.A.off("contextmenu:cancel",p),r.A.off("contextmenu:user",b),r.A.off("contextmenu:channel",k),r.A.off("contextmenu:inline-channel",f),p()}),{isOpen:t,items:c,activeItem:u,style:d,contextMenu:s,passthrough:a,close:p,containerClick:e=>{e.currentTarget===e.target&&p()},navigateMenu:e=>{let n=u.value;n+=e;const t=c.value[n];t&&"type"in t&&"divider"===t.type&&(n+=e),n<0&&(n+=c.value.length),n>c.value.length-1&&(n-=c.value.length),u.value=n},hoverItem:e=>{u.value=e},clickItem:g,clickActiveItem:()=>{c.value[u.value]&&g(c.value[u.value])}}}}),Qc=(0,q.A)(Hc,[["render",function(e,n,t,a,o,r){return e.isOpen?((0,i.uX)(),(0,i.CE)("div",{key:0,id:"context-menu-container",class:(0,l.C4)({passthrough:e.passthrough}),onClick:n[2]||(n[2]=(...n)=>e.containerClick&&e.containerClick(...n)),onContextmenu:n[3]||(n[3]=(0,s.D$)((...n)=>e.containerClick&&e.containerClick(...n),["prevent"])),onKeydown:[n[4]||(n[4]=(0,s.jR)((0,s.D$)(n=>e.navigateMenu(-1),["exact","prevent"]),["up"])),n[5]||(n[5]=(0,s.jR)((0,s.D$)(n=>e.navigateMenu(1),["exact","prevent"]),["down"])),n[6]||(n[6]=(0,s.jR)((0,s.D$)(n=>e.navigateMenu(1),["exact","prevent"]),["tab"])),n[7]||(n[7]=(0,s.jR)((0,s.D$)(n=>e.navigateMenu(-1),["shift","prevent"]),["tab"]))]},[(0,i.Lk)("ul",{id:"context-menu",ref:"contextMenu",role:"menu",style:(0,l.Tr)({top:e.style.top+"px",left:e.style.left+"px"}),tabindex:"-1","aria-activedescendant":e.activeItem>-1?`context-menu-item-${e.activeItem}`:void 0,onMouseleave:n[0]||(n[0]=n=>e.activeItem=-1),onKeydown:n[1]||(n[1]=(0,s.jR)((0,s.D$)((...n)=>e.clickActiveItem&&e.clickActiveItem(...n),["prevent"]),["enter"]))},[((0,i.uX)(!0),(0,i.CE)(i.FK,null,(0,i.pI)(e.items,(n,t)=>((0,i.uX)(),(0,i.CE)("li",{key:n.name,id:`context-menu-item-${t}`,class:(0,l.C4)(["context-menu-"+n.type,n.class?"context-menu-"+n.class:null,{active:t===e.activeItem}]),role:"menuitem",onMouseenter:n=>e.hoverItem(t),onClick:t=>e.clickItem(n)},(0,l.v_)(n.label),43,$c))),128))],44,Bc)],34)):(0,i.Q3)("",!0)}]]),zc={key:0,id:"confirm-dialog"},Vc={class:"confirm-text"},Yc={class:"confirm-text-title"},Jc={class:"confirm-buttons"},Gc=(0,i.pM)({name:"ConfirmDialog",setup(){const e=(0,x.KR)(),n=(0,x.KR)(),t=(t,a)=>{e.value=t,n.value=a},a=t=>{e.value=void 0,n.value&&n.value(!!t)};return(0,i.sV)(()=>{r.A.on("escapekey",a),r.A.on("confirm-dialog",t)}),(0,i.hi)(()=>{r.A.off("escapekey",a),r.A.off("confirm-dialog",t)}),{data:e,close:a}}}),Zc=(0,q.A)(Gc,[["render",function(e,n,t,a,s,o){return(0,i.uX)(),(0,i.CE)("div",{id:"confirm-dialog-overlay",class:(0,l.C4)({opened:!!e.data})},[null!==e.data?((0,i.uX)(),(0,i.CE)("div",zc,[(0,i.Lk)("div",Vc,[(0,i.Lk)("div",Yc,(0,l.v_)(e.data?.title),1),(0,i.Lk)("p",null,(0,l.v_)(e.data?.text),1)]),(0,i.Lk)("div",Jc,[(0,i.Lk)("button",{class:"btn btn-cancel",onClick:n[0]||(n[0]=n=>e.close(!1))},"Cancel"),(0,i.Lk)("button",{class:"btn btn-danger",onClick:n[1]||(n[1]=n=>e.close(!0))},(0,l.v_)(e.data?.button),1)])])):(0,i.Q3)("",!0)],2)}]]),eu={class:"mentions-popup"},nu={class:"mentions-popup-title"},tu={key:0},au={key:1},su={class:"mentions-info"},ou={class:"from"},iu=["title"],lu={class:"close-tooltip tooltipped tooltipped-w","aria-label":"Dismiss this mention"},ru=["onClick"],cu=["data-jump-to","onClick"];var uu=t(6279),du=t.n(uu);ys().extend(du());const pu=(0,i.pM)({name:"Mentions",components:{Username:Cs.A,ParsedMessage:Qs.A},setup(){const e=(0,o.Pj)(),n=(0,x.KR)(!1),t=(0,x.KR)(!1),a=(0,i.EW)(()=>{const n=e.state.mentions.slice().reverse();for(const t of n)t.localetime=(0,_s.A)(t.time),t.channel=e.getters.findChannel(t.chanId);return n.filter(e=>!e.channel?.channel.muted)});(0,i.wB)(()=>e.state.mentions,()=>{t.value=!1});const s=()=>{n.value=!n.value,n.value&&(t.value=!0,re.A.emit("mentions:get"))},l=()=>{n.value=!1};return(0,i.sV)(()=>{r.A.on("mentions:toggle",s),r.A.on("escapekey",l)}),(0,i.hi)(()=>{r.A.off("mentions:toggle",s),r.A.off("escapekey",l)}),{store:e,isOpen:n,isLoading:t,resolvedMessages:a,messageTime:e=>ys()(e).fromNow(),dismissMention:n=>{e.state.mentions.splice(e.state.mentions.findIndex(e=>e.msgId===n.msgId),1),re.A.emit("mentions:dismiss",n.msgId)},dismissAllMentions:()=>{e.state.mentions=[],re.A.emit("mentions:dismiss_all")},jumpToMention:t=>{e.state.settings.enableEnhancedSearch&&t.channel&&(mc(t.channel.channel,t.msgId),n.value=!1)},containerClick:e=>{e.currentTarget===e.target&&(n.value=!1)}}}}),hu=(0,q.A)(pu,[["render",function(e,n,t,a,s,o){const r=(0,i.g2)("Username"),c=(0,i.g2)("ParsedMessage");return e.isOpen?((0,i.uX)(),(0,i.CE)("div",{key:0,id:"mentions-popup-container",onClick:n[1]||(n[1]=(...n)=>e.containerClick&&e.containerClick(...n)),onContextmenu:n[2]||(n[2]=(...n)=>e.containerClick&&e.containerClick(...n))},[(0,i.Lk)("div",eu,[(0,i.Lk)("div",nu,[n[3]||(n[3]=(0,i.eW)(" Recent mentions ",-1)),e.resolvedMessages.length?((0,i.uX)(),(0,i.CE)("button",{key:0,class:"btn dismiss-all-mentions",onClick:n[0]||(n[0]=n=>e.dismissAllMentions())}," Dismiss all ")):(0,i.Q3)("",!0)]),0===e.resolvedMessages.length?((0,i.uX)(),(0,i.CE)(i.FK,{key:0},[e.isLoading?((0,i.uX)(),(0,i.CE)("p",tu,"Loadingโ€ฆ")):((0,i.uX)(),(0,i.CE)("p",au,"You have no recent mentions."))],64)):((0,i.uX)(!0),(0,i.CE)(i.FK,{key:1},(0,i.pI)(e.resolvedMessages,t=>((0,i.uX)(),(0,i.CE)("div",{key:t.msgId,class:(0,l.C4)(["msg",t.type])},[(0,i.Lk)("div",su,[(0,i.Lk)("div",null,[(0,i.Lk)("span",ou,[(0,i.bF)(r,{user:t.from},null,8,["user"]),t.channel?((0,i.uX)(),(0,i.CE)(i.FK,{key:0},[(0,i.eW)(" in "+(0,l.v_)(t.channel.channel.name)+" on "+(0,l.v_)(t.channel.network.name),1)],64)):((0,i.uX)(),(0,i.CE)(i.FK,{key:1},[(0,i.eW)(" in unknown channel ")],64))]),n[4]||(n[4]=(0,i.eW)((0,l.v_)(" ")+" ",-1)),(0,i.Lk)("span",{title:t.localetime,class:"time"},(0,l.v_)(e.messageTime(t.time.toString())),9,iu)]),(0,i.Lk)("div",null,[(0,i.Lk)("span",lu,[(0,i.Lk)("button",{class:"msg-dismiss","aria-label":"Dismiss this mention",onClick:n=>e.dismissMention(t)},null,8,ru)])])]),(0,i.Lk)("div",{class:"content",dir:"auto","data-jump-to":e.store.state.settings.searchEnabled&&e.store.state.settings.enableEnhancedSearch||void 0,onClick:n=>e.jumpToMention(t)},[(0,i.bF)(c,{message:t},null,8,["message"])],8,cu)],2))),128))])],32)):(0,i.Q3)("",!0)}]]),gu=Symbol(),mu=Symbol(),ku=Symbol(),fu=(0,i.pM)({name:"App",components:{Sidebar:Fc,ImageViewer:Dc,ContextMenu:Qc,ConfirmDialog:Zc,Mentions:hu},setup(){const e=(0,o.Pj)(),n=(0,x.KR)(null),t=(0,x.KR)(null),s=(0,x.KR)(null),l=(0,x.KR)(null),c=(0,x.KR)(null);(0,i.Gt)(gu,s),(0,i.Gt)(mu,l),(0,i.Gt)(ku,c);const d=(0,i.EW)(()=>({notified:e.getters.highlightCount>0,"menu-open":e.state.appLoaded&&e.state.sidebarOpen,"menu-dragging":e.state.sidebarDragging,"userlist-open":e.state.userlistOpen})),m=(0,x.KR)(),k=(0,x.KR)(),f=()=>{r.A.emit("escapekey")},b=n=>!!g(n)||(e.commit("toggleSidebar"),!1),v=n=>!!g(n)||(e.commit("toggleUserlist"),!1),w=()=>{0!==e.state.networks.length&&r.A.emit("mentions:toggle")},y=()=>{const e=new Date;return new Date(e.getFullYear(),e.getMonth(),e.getDate()+1).getTime()-e.getTime()};return(()=>{const n=window.innerWidth;let t=h.A.get("thelounge.state.userlist");n>a.mobileViewportPixels&&e.commit("sidebarOpen","false"!==h.A.get("thelounge.state.sidebar")),n>=1024&&"true"!==t&&"false"!==t&&(t="true"),e.commit("userlistOpen","true"===t)})(),(0,i.sV)(()=>{u().bind("esc",f),u().bind("alt+u",v),u().bind("alt+s",b),u().bind("alt+m",w),m.value=p()(()=>{r.A.emit("resize")},100),window.addEventListener("resize",m.value,{passive:!0});const e=()=>{r.A.emit("daychange"),k.value=setTimeout(e,y())};k.value=setTimeout(e,y())}),(0,i.xo)(()=>{u().unbind("esc"),u().unbind("alt+u"),u().unbind("alt+s"),u().unbind("alt+m"),m.value&&window.removeEventListener("resize",m.value),k.value&&clearTimeout(k.value)}),{viewportClasses:d,escapeKey:f,toggleSidebar:b,toggleUserList:v,toggleMentions:w,store:e,overlay:n,loungeWindow:t,imageViewer:s,contextMenu:l,confirmDialog:c}}}),bu=(0,q.A)(fu,[["render",function(e,n,t,a,s,o){const r=(0,i.g2)("Sidebar"),c=(0,i.g2)("router-view"),u=(0,i.g2)("Mentions"),d=(0,i.g2)("ImageViewer"),p=(0,i.g2)("ContextMenu"),h=(0,i.g2)("ConfirmDialog");return(0,i.uX)(),(0,i.CE)("div",{id:"viewport",class:(0,l.C4)(e.viewportClasses),role:"tablist"},[e.store.state.appLoaded?((0,i.uX)(),(0,i.Wv)(r,{key:0,overlay:e.overlay},null,8,["overlay"])):(0,i.Q3)("",!0),(0,i.Lk)("div",{id:"sidebar-overlay",ref:"overlay","aria-hidden":"true",onClick:n[0]||(n[0]=n=>e.store.commit("sidebarOpen",!1))},null,512),(0,i.bF)(c,{ref:"loungeWindow"},null,512),(0,i.bF)(u),(0,i.bF)(d,{ref:"imageViewer"},null,512),(0,i.bF)(p,{ref:"contextMenu"},null,512),(0,i.bF)(h,{ref:"confirmDialog"},null,512),n[1]||(n[1]=(0,i.Lk)("div",{id:"upload-overlay"},null,-1))],2)}]]);function vu(e){const n=String(e.message||e);if(o.M_.commit("isConnected",!1),!re.A.io.reconnection())return o.M_.commit("currentUserVisibleError",`Disconnected from the server (${n}), The Lounge does not reconnect in public mode.`),void wu();var t;o.M_.commit("currentUserVisibleError",`Waiting to reconnectโ€ฆ (${n})`),wu(),re.A.io.skipReconnect&&"io client disconnect"!==n&&(t=()=>re.A.connect(),window.requestIdleCallback?window.requestIdleCallback(t,{timeout:2e3}):t())}function wu(){const e=document.getElementById("loading-page-message");e&&(e.textContent=o.M_.state.currentUserVisibleError)}re.A.on("disconnect",vu),re.A.on("connect_error",vu),re.A.on("error",vu),re.A.io.on("reconnect_attempt",function(e){o.M_.commit("currentUserVisibleError",`Reconnectingโ€ฆ (attempt ${e})`),wu()}),re.A.on("connecting",function(){o.M_.commit("currentUserVisibleError","Connectingโ€ฆ"),wu()}),re.A.on("connect",function(){re.A.sendBuffer=[],o.M_.commit("currentUserVisibleError","Finalizing connectionโ€ฆ"),wu()});let yu,_u=null;async function Cu(){window.g_TheLoungeRemoveLoading&&window.g_TheLoungeRemoveLoading(),"SignIn"!==hc.currentRoute.value.name&&await gc("SignIn")}function Lu(e){re.A.disconnect(),o.M_.commit("currentUserVisibleError",e),Fr.reload()}function Mu(){const e=document.getElementById("loading-page-message");e&&(e.textContent=o.M_.state.currentUserVisibleError)}function Eu(e){const n=[""].concat(e.messages.filter(e=>e.self&&e.text&&e.type===Ys.MESSAGE).map(e=>e.text?e.text:"").reverse().slice(0,99)),{messages:t,...a}=e;return{...a,editTopic:!1,pendingMessage:"",inputHistoryPosition:0,historyLoading:!1,scrolledToBottom:!0,users:[],usersOutdated:e.type===Zs.rR.CHANNEL,moreHistoryAvailable:e.totalMessages>e.messages.length,inputHistory:n,messages:t,groups:e.groups||void 0}}function xu(e,n){const t=[];for(const a of n){const n=e.find(e=>e.id===a.id);if(!n){const e=Eu(a);t.push(e),Su(e);continue}Su(n),n.messages&&a.messages.length<100?n.messages=n.messages.concat(a.messages):n.messages=a.messages;for(const e in a)Object.hasOwn(n,e)&&"messages"!==e&&(n[e]=a[e]);t.push(n)}return t}function Su(e){if(o.M_.state.activeChannel&&o.M_.state.activeChannel.channel===e)return re.A.emit("names",{target:e.id}),void(e.usersOutdated=!1);e.usersOutdated=!0}function Au(){const e=window.location.origin+window.location.pathname+window.location.hash;window.history.replaceState(null,"",e)}re.A.on("auth:success",function(){o.M_.commit("currentUserVisibleError","Loading messagesโ€ฆ"),Mu()}),re.A.on("auth:failed",async function(){if(h.A.remove("token"),o.M_.state.appLoaded)return Lu("Authentication failed, reloadingโ€ฆ");await Cu()}),re.A.on("auth:start",async function(e){if(_u&&e!==_u)return Lu("Server restarted, reloadingโ€ฆ");_u=e;const n=h.A.get("user"),t=h.A.get("token"),a=n&&t;if(o.M_.state.appLoaded&&!a)return Lu("Authentication failed, reloadingโ€ฆ");if(a){o.M_.commit("currentUserVisibleError","Authorizingโ€ฆ"),Mu();let e=-1;for(const n of o.M_.state.networks)for(const t of n.channels)if(t.messages.length>0){const n=t.messages[t.messages.length-1].id;e<n&&(e=n)}const a=o.M_.state.activeChannel&&o.M_.state.activeChannel.channel.id||null;re.A.emit("auth:perform",{user:n,token:t,lastMessage:e,openChannel:a,hasConfig:null!==o.M_.state.serverConfiguration})}else await Cu()}),re.A.on("commands",function(e){e&&(a.commands=e)}),re.A.on("init",async function(e){if(o.M_.commit("networks",function(e){const n=h.A.get("thelounge.networks.collapsed"),t=n?new Set(JSON.parse(n)):new Set,a=[];for(const n of e){const e=o.M_.getters.findNetwork(n.uuid);if(!e){const e={...n,channels:n.channels.map(Eu),isJoinChannelShown:!1,isCollapsed:t.has(n.uuid)};a.push(e);continue}for(const t in n)Object.prototype.hasOwnProperty.call(n,t)&&("channels"===t?e.channels=xu(e.channels,n.channels):e[t]=n[t]);a.push(e)}return a}(e.networks)),o.M_.commit("isConnected",!0),o.M_.commit("currentUserVisibleError",null),e.token&&h.A.set("token",e.token),!o.M_.state.appLoaded){o.M_.commit("appLoaded"),re.A.emit("setting:get");try{await hc.isReady()}catch{}if(window.g_TheLoungeRemoveLoading&&window.g_TheLoungeRemoveLoading(),await async function(){if(!("URLSearchParams"in window))return!1;const e=new URLSearchParams(document.location.search);if(e.has("uri")){const n=e.get("uri"),t=(e=>{const n={name:"",host:"",port:"",join:"",tls:!1};try{const t=new URL(e);if("irc:"===t.protocol)t.protocol="http:",t.port||(t.port="6667");else{if("ircs:"!==t.protocol)return;t.protocol="https:",t.port||(t.port="6697"),n.tls=!0}if(!t.hostname)return{};n.host=n.name=t.hostname,n.port=t.port;let a="";t.pathname.length>1&&(a=t.pathname.substr(1)),t.hash.length>1&&(a+=t.hash),n.join=a}catch{}return n})(String(n));return Au(),await hc.push({name:"Connect",query:t}),!0}if(document.body.classList.contains("public")&&document.location.search){const n=Object.fromEntries(e.entries());return Au(),await hc.push({name:"Connect",query:n}),!0}return!1}())return;if(!hc.currentRoute?.value?.name||"SignIn"===hc.currentRoute?.value?.name){const n=o.M_.getters.findChannel(e.active);n?mc(n.channel):o.M_.state.networks.length>0?mc(o.M_.state.networks[0].channels[0]):await gc("Connect")}}}),re.A.on("join",function(e){const n=o.M_.getters.findNetwork(e.network);if(!n)return;const t=Eu(e.chan);if(n.channels.splice(e.index||-1,0,t),"query"===e.chan.type&&!e.shouldOpen)return;const a=o.M_.getters.findChannel(e.chan.id);a?mc(a.channel):console.error("Could not find channel",e.chan.id)}),re.A.on("more",async e=>{const n=o.M_.getters.findChannel(e.chan)?.channel;n&&(n.inputHistory=n.inputHistory.concat(e.messages.filter(e=>e.self&&e.text&&e.type===Ys.MESSAGE).map(e=>e.text?e.text:"").reverse().slice(0,100-n.inputHistory.length)),n.moreHistoryAvailable=e.totalMessages>n.messages.length+e.messages.length,n.messages.unshift(...e.messages),await(0,i.dY)(),n.historyLoading=!1)});try{yu=new Audio,yu.src="audio/pop.wav"}catch{yu={play(){}}}function Tu(e){return{...e,localetime:"",channel:null}}re.A.on("msg",function(e){const n=o.M_.getters.findChannel(e.chan);if(!n)return;let t=n.channel,a=o.M_.state.activeChannel&&o.M_.state.activeChannel.channel===t;e.msg.showInActive&&(o.M_.state.activeChannel&&o.M_.state.activeChannel.network===n.network?(t=o.M_.state.activeChannel.channel,a=!0,e.chan===t.id?delete e.msg.showInActive:e.chan=t.id):delete e.msg.showInActive),a||(void 0!==e.highlight&&(t.highlight=e.highlight),void 0!==e.unread&&(t.unread=e.unread)),t.messages.push(e.msg),e.msg.self?t.firstUnread=e.msg.id:function(e,n,t,a){var s;if(!n.muted&&((a.highlight||o.M_.state.settings.notifyAllMessages&&a.type===Ys.MESSAGE)&&(!document.hasFocus()||!t||t.channel!==n))){if(o.M_.state.settings.notification)try{yu.play()}catch{}if(o.M_.state.settings.desktopNotifications&&"Notification"in window&&"granted"===Notification.permission){let t,i;const l=a.from&&a.from.nick?a.from.nick:"unkonown";a.type===Ys.INVITE?(t="New channel invite:",i=l+" invited you to "+a.channel):(t=l,n.type!==Zs.rR.QUERY&&(t+=` (${n.name})`),a.type===Ys.MESSAGE&&(t+=" says:"),s=a.text?a.text:"",i=s.replace(Po,"").trim());const r=Date.parse(String(a.time));try{o.M_.state.hasServiceWorker?navigator.serviceWorker.ready.then(n=>{n.active?.postMessage({type:"notification",chanId:e,timestamp:r,title:t,body:i})}).catch(()=>{}):new Notification(t,{tag:`chan-${e}`,badge:"img/icon-alerted-black-transparent-bg-72x72px.png",icon:"img/icon-alerted-grey-bg-192x192px.png",body:i,timestamp:r}).addEventListener("click",function(){this.close(),window.focus();const n=o.M_.getters.findChannel(e);n&&mc(n.channel)})}catch{}}}}(e.chan,t,o.M_.state.activeChannel,e.msg);let s=0;o.M_.state.settings.searchEnabled&&o.M_.state.settings.enableEnhancedSearch?s=1e4:a?t.scrolledToBottom&&(s=1500):s=100,s>0&&t.messages.length>s&&(t.messages.splice(0,t.messages.length-s),t.moreHistoryAvailable=!0),t.type===Zs.rR.CHANNEL&&function(e,n){switch(n.type){case Ys.MESSAGE:case Ys.ACTION:{const t=e.users.find(e=>e.nick===n.from?.nick);t&&(t.lastMessage=new Date(n.time).getTime()||Date.now());break}case Ys.QUIT:case Ys.PART:{const t=e.users.findIndex(e=>e.nick===n.from?.nick);t>-1&&e.users.splice(t,1);break}case Ys.KICK:{const t=e.users.findIndex(e=>e.nick===n.target?.nick);t>-1&&e.users.splice(t,1);break}}}(t,e.msg)}),re.A.on("msg:preview",function(e){const n=o.M_.getters.findChannel(e.chan),t=n?.channel.messages.find(n=>n.id===e.id);if(!t||!t.previews)return;const a=t.previews.findIndex(n=>n.link===e.preview.link);a>-1&&(t.previews[a]=e.preview)}),re.A.on("msg:special",function(e){const n=o.M_.getters.findChannel(e.chan);n&&(n.channel.data=e.data,mc(n.channel))}),re.A.on("names",function(e){const n=o.M_.getters.findChannel(e.id);n&&(n.channel.users=e.users)}),re.A.on("network",function(e){const n={...e.network,channels:e.network.channels.map(Eu),isJoinChannelShown:!1,isCollapsed:!1};o.M_.commit("networks",[...o.M_.state.networks,n]),mc(n.channels[n.channels.length-1])}),re.A.on("network:options",function(e){const n=o.M_.getters.findNetwork(e.network);n&&(n.serverOptions=e.serverOptions)}),re.A.on("network:status",function(e){const n=o.M_.getters.findNetwork(e.network);n&&(n.status.connected=e.connected,n.status.secure=e.secure,e.connected||n.channels.forEach(e=>{e.users=[],e.state=Zs.gC.PARTED}))}),re.A.on("channel:state",function(e){const n=o.M_.getters.findChannel(e.chan);n&&(n.channel.state=e.state)}),re.A.on("network:info",function(e){const n=o.M_.getters.findNetwork(e.uuid);if(n)for(const t in e)n[t]=e[t]}),re.A.on("network:name",function(e){const n=o.M_.getters.findNetwork(e.uuid);n&&(n.name=n.channels[0].name=e.name)}),re.A.on("nick",function(e){const n=o.M_.getters.findNetwork(e.network);n&&(n.nick=e.nick)}),re.A.on("open",function(e){if(e<1)return;if(o.M_.state.activeChannel&&o.M_.state.activeChannel.channel.id===e)return;const n=o.M_.getters.findChannel(e);n&&(n.channel.highlight=0,n.channel.unread=0,n.channel.messages.length>0&&(n.channel.firstUnread=n.channel.messages[n.channel.messages.length-1].id))}),re.A.on("part",async function(e){o.M_.state.activeChannel&&o.M_.state.activeChannel.channel.id===e.chan&&mc(o.M_.state.activeChannel.network.channels[0]);const n=o.M_.getters.findChannel(e.chan);if(!n)return;const t=n.network.channels.findIndex(n=>n.id===e.chan);n.network.channels.splice(t,1),await o.M_.dispatch("partChannel",n)}),re.A.on("quit",async function(e){const n=o.M_.state.activeChannel&&o.M_.state.activeChannel.network.uuid===e.network;o.M_.commit("removeNetwork",e.network),n&&(o.M_.state.networks.length>0?mc(o.M_.state.networks[0].channels[0]):await gc("Connect"))}),re.A.on("sync_sort:networks",function(e){o.M_.commit("sortNetworks",(n,t)=>e.order.indexOf(n.uuid)-e.order.indexOf(t.uuid))}),re.A.on("sync_sort:channels",function(e){const n=o.M_.getters.findNetwork(e.network);n&&n.channels.sort((n,t)=>e.order.indexOf(n.id)-e.order.indexOf(t.id))}),re.A.on("topic",function(e){const n=o.M_.getters.findChannel(e.chan);n&&(n.channel.topic=e.topic)}),re.A.on("users",function(e){if(o.M_.state.activeChannel&&o.M_.state.activeChannel.channel.id===e.chan)return re.A.emit("names",{target:e.chan});const n=o.M_.getters.findChannel(e.chan);n&&(n.channel.usersOutdated=!0)}),re.A.on("sign-out",function(){Or.signout()}),re.A.on("sessions:list",function(e){e.sort((e,n)=>n.lastUse-e.lastUse),o.M_.commit("sessions",e)}),re.A.once("configuration",function(e){o.M_.commit("serverConfiguration",e),o.M_.dispatch("settings/applyAll"),e.fileUpload&&fi.initialize();const n=e.themes.find(e=>e.name===o.M_.state.settings.theme);void 0===n?o.M_.dispatch("settings/update",{name:"theme",value:e.defaultTheme,sync:!0}):n.themeColor&&(document.querySelector('meta[name="theme-color"]').content=n.themeColor),document.body.classList.contains("public")&&window.addEventListener("beforeunload",e=>{e.preventDefault(),e.returnValue="Are you sure you want to navigate away from this page?"})}),re.A.on("changelog",function(e){let n;if(o.M_.commit("versionData",e),o.M_.commit("versionDataExpired",!1),n=e.latest?"new-version":e.packages?"new-packages":e.current.changelog?"up-to-date":"error",o.M_.commit("versionStatus",n),e.expiresAt){const n=e.expiresAt-Date.now();n>0?setTimeout(()=>o.M_.commit("versionDataExpired",!0),n):o.M_.commit("versionDataExpired",!0)}}),re.A.on("changelog:newversion",()=>{o.M_.state.serverConfiguration&&(o.M_.state.serverConfiguration.isUpdateAvailable=!0)}),re.A.on("setting:new",async function(e){const n=e.name,t=e.value;await o.M_.dispatch("settings/update",{name:n,value:t,sync:!1})}),re.A.on("setting:all",async function(e){const n=Object.keys(e).length>0;if(o.M_.commit("serverHasSettings",n),n)for(const n in e)await o.M_.dispatch("settings/update",{name:n,value:e[n],sync:!1});else await o.M_.dispatch("settings/syncAll")}),re.A.on("history:clear",function(e){const n=o.M_.getters.findChannel(e.target);n?.channel&&(n.channel.messages=[],n.channel.unread=0,n.channel.highlight=0,n.channel.firstUnread=0,n.channel.moreHistoryAvailable=!1)}),re.A.on("mentions:list",function(e){o.M_.commit("mentions",e.map(Tu))}),re.A.on("search:results",e=>{const n=o.M_.state.messageSearchPendingQuery;n&&n.channelName===e.channelName&&n.networkUuid===e.networkUuid&&n.offset===e.offset&&n.searchTerm===e.searchTerm&&(o.M_.commit("messageSearchPendingQuery",null),o.M_.state.messageSearchResults?o.M_.commit("addMessageSearchResults",e):o.M_.commit("messageSearchResults",{results:e.results}))}),re.A.on("mute:changed",e=>{const{target:n,status:t}=e,a=o.M_.getters.findChannel(n);if(a?.channel.type===Zs.rR.LOBBY)for(const e of a.network.channels)e.type!==Zs.rR.SPECIAL&&(e.muted=t);else a&&(a.channel.muted=t)}),re.A.on("pin:changed",e=>{const{target:n,status:t}=e,a=o.M_.getters.findChannel(n);a&&(a.channel.pinned=t)}),re.A.on("channel:groups",e=>{const n=o.M_.getters.findChannel(e.chan)?.channel;n&&(n.groups=[...e.groups])});function Xu(e){if(0===o.M_.state.networks.length)return;const n=[];let t=-1;for(const e of o.M_.state.networks)for(const a of e.channels)te(e,a)||(-1===t&&o.M_.state.activeChannel?.channel===a&&(t=n.length),n.push(a));const a=n.length;t=((t+e)%a+a)%a,ju(n[t])}function ju(e){mc(e);const n=document.querySelector(`#sidebar .channel-list-item[aria-controls="#chan-${e.id}"]`);n&&n.scrollIntoView({block:"center",inline:"nearest"})}u().bind(["alt+up","alt+down"],function(e,n){return!!g(e)||(Xu("up"===n.split("+").pop()?-1:1),!1)}),function(e){let n=[];document.body.addEventListener("touchmove",function(e){if(2!==e.touches.length)return;const t=e.touches.item(0),a=e.touches.item(1);if(!t||!a)return;const s=window.performance.now(),o=[(t.screenX+a.screenX)/2,(t.screenY+a.screenY)/2];if(n.length>0){const e=n[n.length-1],t=e.center[0]===o[0]&&e.center[1]===o[1];if(e.timestamp===s||t)return}n.push({timestamp:s,center:o})},{passive:!0}),document.body.addEventListener("touchend",function(t){if(!(t.touches.length>=2))try{const t=function(e){if(e.length<2)return null;for(let n=1;n<e.length;++n){const t=e[n-1],a=e[n];if(Rc(t.center,a.center)/Math.abs(t.timestamp-a.timestamp)<.2)return null}return function([e,n],[t,a]){const s=(a-n)/(t-e);return Math.abs(s)<1?e<t?"e":"w":n<a?"s":"n"}(e[0].center,e[e.length-1].center)}(n);t&&e(t)}finally{n=[]}},{passive:!0}),document.body.addEventListener("touchcancel",function(){n=[]},{passive:!0})}(function(e){"e"!==e&&"w"!==e||Xu("e"===e?-1:1)}),u().bind(["alt+shift+up","alt+shift+down"],function(e,n){if(g(e))return!0;const t=o.M_.state.networks.length;if(0===t)return!1;const a="up"===n.split("+").pop()?-1:1;let s=0;return o.M_.state.activeChannel&&(s=o.M_.state.networks.findIndex(e=>e===o.M_.state.activeChannel?.network),-1===a&&o.M_.state.activeChannel?.channel.type!==Zs.rR.LOBBY||(s=((s+a)%t+t)%t)),ju(o.M_.state.networks[s].channels[0]),!1}),u().bind(["alt+mod+up","alt+mod+down"],function(e,n){if(g(e))return!0;const t=o.M_.state.networks.map(e=>e.channels.filter(e=>e.unread||e===o.M_.state.activeChannel?.channel)).flat();if(0===t.length)return;let a=t.findIndex(e=>e===o.M_.state.activeChannel?.channel);const s=t.length;return a=((a+("up"===n.split("+").pop()?-1:1))%s+s)%s,ju(t[a]),!1}),u().bind(["alt+a"],function(e){if(g(e))return!0;let n;e:for(const e of o.M_.state.networks)for(const t of e.channels){if(t.highlight){n=t;break e}t.unread&&!n&&(n=t)}return n&&ju(n),!1}),u().bind(["alt+/"],function(e){return!!g(e)||(gc("Help").catch(e=>console.log(e)),!1)});const Wu={8:!0,9:!0,12:!0,16:!0,17:!0,18:!0,19:!0,20:!0,27:!0,35:!0,36:!0,37:!0,38:!0,39:!0,40:!0,45:!0,46:!0,112:!0,113:!0,114:!0,115:!0,116:!0,117:!0,118:!0,119:!0,120:!0,121:!0,122:!0,123:!0,144:!0,145:!0,224:!0};document.addEventListener("keydown",e=>{if("Escape"===e.key&&"Help"===hc.currentRoute.value.name)return void hc.go(-1);if(e.altKey||Wu[e.which])return;if((e.ctrlKey||e.metaKey)&&86!==e.which)return;if(33===e.which||34===e.which){const e=document.querySelector(".window .chat-content .chat");return void(e&&e.focus())}const n=e.target.tagName;if("INPUT"===n||"TEXTAREA"===n)return;const t=document.getElementById("input");t&&(t.focus(),13===e.which&&e.preventDefault())});const Pu=document.getElementById("favicon"),Ru=Pu?.getAttribute("href")||"",Iu=Pu?.dataset.other||"",Nu=(0,s.Ef)(bu);Nu.use(hc),Nu.use(o.M_,o.Eb),Nu.mount("#app"),re.A.open(),o.M_.watch(e=>e.sidebarOpen,e=>{window.innerWidth>a.mobileViewportPixels&&(h.A.set("thelounge.state.sidebar",e.toString()),r.A.emit("resize"))}),o.M_.watch(e=>e.userlistOpen,e=>{h.A.set("thelounge.state.userlist",e.toString()),r.A.emit("resize")}),o.M_.watch((e,n)=>n.title,e=>{document.title=e}),o.M_.watch((e,n)=>n.highlightCount,e=>{Pu?.setAttribute("href",e>0?Iu:Ru);const n=window.navigator;n.setAppBadge&&(e>0?n.setAppBadge(e).catch(()=>{}):n.clearAppBadge&&n.clearAppBadge().catch(()=>{}))}),Nu.config.errorHandler=function(e){e instanceof Error?o.M_.commit("currentUserVisibleError",`Vue error: ${e.message}`):o.M_.commit("currentUserVisibleError",`Vue error: ${String(e)}`),console.error(e)}},7902:(e,n,t)=>{"use strict";t.r(n),t.d(n,{default:()=>p});var a=t(641),s=t(33);const o={class:"content"},i={class:"hostmask"},l={key:0,class:"account"},r={key:1,class:"realname"};var c=t(3568),u=t(6640);const d=(0,a.pM)({name:"MessageTypeJoin",components:{ParsedMessage:c.A,Username:u.A},props:{network:{type:Object,required:!0},message:{type:Object,required:!0}}}),p=(0,t(6262).A)(d,[["render",function(e,n,t,c,u,d){const p=(0,a.g2)("Username"),h=(0,a.g2)("ParsedMessage");return(0,a.uX)(),(0,a.CE)("span",o,[(0,a.bF)(p,{user:e.message.from},null,8,["user"]),(0,a.Lk)("i",i,[n[0]||(n[0]=(0,a.eW)(" (",-1)),(0,a.bF)(h,{network:e.network,text:e.message.hostmask},null,8,["network","text"]),n[1]||(n[1]=(0,a.eW)(")",-1))]),e.message.account?((0,a.uX)(),(0,a.CE)("i",l," ["+(0,s.v_)(e.message.account)+"]",1)):(0,a.Q3)("",!0),e.message.gecos?((0,a.uX)(),(0,a.CE)("i",r," ("+(0,s.v_)(e.message.gecos)+")",1)):(0,a.Q3)("",!0),n[2]||(n[2]=(0,a.eW)(" has joined the channel ",-1))])}]])},8078:(e,n,t)=>{"use strict";t.r(n),t.d(n,{default:()=>c});var a=t(641);const s={class:"content"},o={class:"ctcp-message"};var i=t(3568),l=t(6640);const r=(0,a.pM)({name:"MessageTypeRequestCTCP",components:{ParsedMessage:i.A,Username:l.A},props:{network:{type:Object,required:!0},message:{type:Object,required:!0}}}),c=(0,t(6262).A)(r,[["render",function(e,n,t,i,l,r){const c=(0,a.g2)("Username"),u=(0,a.g2)("ParsedMessage");return(0,a.uX)(),(0,a.CE)("span",s,[(0,a.bF)(c,{user:e.message.from},null,8,["user"]),n[0]||(n[0]=(0,a.eW)(" sent a ",-1)),n[1]||(n[1]=(0,a.Lk)("abbr",{title:"Client-to-client protocol"},"CTCP",-1)),n[2]||(n[2]=(0,a.eW)(" request: ",-1)),(0,a.Lk)("span",o,[(0,a.bF)(u,{text:e.message.ctcpMessage},null,8,["text"])])])}]])},9207:(e,n,t)=>{"use strict";t.r(n),t.d(n,{default:()=>l});var a=t(641),s=t(33);const o={class:"content"},i=(0,a.pM)({name:"MessageTypeRaw",props:{network:{type:Object,required:!0},message:{type:Object,required:!0}}}),l=(0,t(6262).A)(i,[["render",function(e,n,t,i,l,r){return(0,a.uX)(),(0,a.CE)("span",o,(0,s.v_)(e.message.text),1)}]])},9808:(e,n,t)=>{"use strict";t.d(n,{A:()=>a});const a={set(e,n){try{window.localStorage.setItem(e,n)}catch{}},get(e){try{return window.localStorage.getItem(e)}catch{return null}},remove(e){try{window.localStorage.removeItem(e)}catch{}},clear(){try{window.localStorage.clear()}catch{}}}},9956:(e,n,t)=>{"use strict";t.r(n),t.d(n,{default:()=>l});var a=t(641);const s={class:"content"};var o=t(6640);const i=(0,a.pM)({name:"MessageTypeNick",components:{Username:o.A},props:{network:{type:Object,required:!0},message:{type:Object,required:!0}}}),l=(0,t(6262).A)(i,[["render",function(e,n,t,o,i,l){const r=(0,a.g2)("Username");return(0,a.uX)(),(0,a.CE)("span",s,[(0,a.bF)(r,{user:e.message.from},null,8,["user"]),n[0]||(n[0]=(0,a.eW)(" is now known as ",-1)),(0,a.bF)(r,{user:{nick:e.message.new_nick,mode:e.message.from.mode}},null,8,["user"])])}]])},9971:(e,n,t)=>{"use strict";t.r(n),t.d(n,{default:()=>c});var a=t(641);const s={class:"content"},o={key:0,class:"part-reason"};var i=t(3568),l=t(6640);const r=(0,a.pM)({name:"MessageTypeKick",components:{ParsedMessage:i.A,Username:l.A},props:{network:{type:Object,required:!0},message:{type:Object,required:!0}}}),c=(0,t(6262).A)(r,[["render",function(e,n,t,i,l,r){const c=(0,a.g2)("Username"),u=(0,a.g2)("ParsedMessage");return(0,a.uX)(),(0,a.CE)("span",s,[(0,a.bF)(c,{user:e.message.from},null,8,["user"]),n[2]||(n[2]=(0,a.eW)(" has kicked; ",-1)),(0,a.bF)(c,{user:e.message.target},null,8,["user"]),e.message.text?((0,a.uX)(),(0,a.CE)("i",o,[n[0]||(n[0]=(0,a.eW)(" (",-1)),(0,a.bF)(u,{network:e.network,message:e.message},null,8,["network","message"]),n[1]||(n[1]=(0,a.eW)(")",-1))])):(0,a.Q3)("",!0)])}]])}},t={};function a(e){var s=t[e];if(void 0!==s)return s.exports;var o=t[e]={exports:{}};return n[e].call(o.exports,o,o.exports,a),o.exports}a.m=n,e=[],a.O=(n,t,s,o)=>{if(!t){var i=1/0;for(u=0;u<e.length;u++){t=e[u][0],s=e[u][1],o=e[u][2];for(var l=!0,r=0;r<t.length;r++)(!1&o||i>=o)&&Object.keys(a.O).every(e=>a.O[e](t[r]))?t.splice(r--,1):(l=!1,o<i&&(i=o));if(l){e.splice(u--,1);var c=s();void 0!==c&&(n=c)}}return n}o=o||0;for(var u=e.length;u>0&&e[u-1][2]>o;u--)e[u]=e[u-1];e[u]=[t,s,o]},a.n=e=>{var n=e&&e.__esModule?()=>e.default:()=>e;return a.d(n,{a:n}),n},a.d=(e,n)=>{for(var t in n)a.o(n,t)&&!a.o(e,t)&&Object.defineProperty(e,t,{enumerable:!0,get:n[t]})},a.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),a.o=(e,n)=>Object.prototype.hasOwnProperty.call(e,n),a.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},(()=>{var e={936:0};a.O.j=n=>0===e[n];var n=(n,t)=>{var s,o,i=t[0],l=t[1],r=t[2],c=0;if(i.some(n=>0!==e[n])){for(s in l)a.o(l,s)&&(a.m[s]=l[s]);if(r)var u=r(a)}for(n&&n(t);c<i.length;c++)o=i[c],a.o(e,o)&&e[o]&&e[o][0](),e[o]=0;return a.O(u)},t=self.webpackChunk_lordbex_thelounge=self.webpackChunk_lordbex_thelounge||[];t.forEach(n.bind(null,0)),t.push=n.bind(null,t.push.bind(t))})();var s=a.O(void 0,[110],()=>a(7421));s=a.O(s)})();
1
+ (()=>{var e,n={211:(e,n,t)=>{"use strict";t.d(n,{Eb:()=>f,M_:()=>b,Pj:()=>w});var a=t(2124),s=t(9808),o=t(381);const i={apply(){},default:null,sync:null},l={syncSettings:{default:!0,sync:"never",apply(e,n,t=!1){n&&!t&&o.A.emit("setting:get")}},advanced:{default:!1},autocomplete:{default:!0},nickPostfix:{default:""},coloredNicks:{default:!0},desktopNotifications:{default:!1,sync:"never",apply(e,n){e.commit("refreshDesktopNotificationState",null,{root:!0}),"Notification"in window&&n&&"granted"!==Notification.permission&&Notification.requestPermission(()=>e.commit("refreshDesktopNotificationState",null,{root:!0})).catch(e=>{console.error(e)})}},highlights:{default:"",sync:"always"},highlightExceptions:{default:"",sync:"always"},awayMessage:{default:"",sync:"always"},links:{default:!0},motd:{default:!0},notification:{default:!0,sync:"never"},notifyAllMessages:{default:!1},showSeconds:{default:!1},use12hClock:{default:!1},statusMessages:{default:"condensed"},theme:{default:document.getElementById("theme")?.dataset.serverTheme,apply(e,n){const t=document.getElementById("theme"),a=`themes/${n}.css`;if(!(t instanceof HTMLLinkElement))throw new Error("theme element is not a link");const s=t.attributes.getNamedItem("href");if(!s)throw new Error("theme is missing href attribute");if(s.value===a)return;if(s.value=a,!e.state.serverConfiguration)return;const o=e.state.serverConfiguration?.themes.filter(e=>e.name===n)[0],i=document.querySelector('meta[name="theme-color"]');if(!(i instanceof HTMLMetaElement))throw new Error("theme meta element is not a meta element");if(i){const e=o.themeColor||i.content;i.content=e}}},media:{default:!0},uploadCanvas:{default:!0},userStyles:{default:"",apply(e,n){if(!/[?&]nocss/.test(window.location.search)){const e=document.getElementById("user-specified-css");e&&(e.innerHTML=n)}}},searchEnabled:{default:!1},jumptoEabled:{default:!0},filterdmsEnabled:{default:!0},showAllDMs:{default:!1},showInputNick:{default:!0},disableMutedUnread:{default:!1},compactSidebar:{default:!1},beautifyBridgedMessages:{default:!0},bridgedMessageNicksStyle:{default:"parentheses"},enhancedUserListEnabled:{default:!0},enhancedContextMenuEnabled:{default:!0},enableEnhancedSearch:{default:!1},enableRainbowHotkey:{default:!0}},r=function(e){const n={};for(const t in e)n[t]={...i,...e[t]};return n}(l);function c(){const e={};for(const n in r)e[n]=r[n].default;return e}function u(){let e={};try{e=JSON.parse(s.A.get("settings")||"{}")}catch{s.A.remove("settings")}return e?(null!==e.highlights&&"object"==typeof e.highlights&&(e.highlights=e.highlights.join(", ")),e):{}}function d(e,n){const t={...e};for(const a in e)void 0!==n[a]&&typeof e[a]==typeof n[a]&&(t[a]=n[a]);return t}const p=document.title;var h=function(e){return e.Unsupported="unsupported",e.Blocked="blocked",e.NoHttps="nohttps",e.Granted="granted",e}(h||{});function g(){return"Notification"in window?"granted"===Notification.permission?h.Granted:window.isSecureContext?h.Blocked:h.NoHttps:h.Unsupported}const m={findChannelOnCurrentNetwork:e=>n=>(n=n.toLowerCase(),e.activeChannel?.network.channels.find(e=>e.name.toLowerCase()===n)),findChannelOnNetwork:e=>(n,t)=>{for(const a of e.networks)if(a.uuid===n)for(const e of a.channels)if(e.name===t)return{network:a,channel:e};return null},findChannel:e=>n=>{for(const t of e.networks)for(const e of t.channels)if(e.id===n)return{network:t,channel:e};return null},findNetwork:e=>n=>{for(const t of e.networks)if(t.uuid===n)return t;return null},highlightCount(e){let n=0;for(const t of e.networks)for(const e of t.channels)e.muted||(n+=e.highlight);return n},title:(e,n)=>(n.highlightCount?`(${n.highlightCount.toString()}) `:"")+(e.activeChannel?`${e.activeChannel.channel.name} โ€” `:"")+p},k={state:()=>({appLoaded:!1,activeChannel:void 0,currentUserVisibleError:null,desktopNotificationState:g(),isAutoCompleting:!1,isConnected:!1,networks:[],mentions:[],hasServiceWorker:!1,pushNotificationState:"unsupported",serverConfiguration:null,sessions:[],sidebarOpen:!1,sidebarDragging:!1,userlistOpen:"false"!==s.A.get("thelounge.state.userlist"),versionData:null,versionStatus:"loading",versionDataExpired:!1,serverHasSettings:!1,messageSearchResults:null,messageSearchPendingQuery:null,searchEnabled:!1}),mutations:{appLoaded(e){e.appLoaded=!0},activeChannel(e,n){e.activeChannel=n},currentUserVisibleError(e,n){e.currentUserVisibleError=n},refreshDesktopNotificationState(e){e.desktopNotificationState=g()},isAutoCompleting(e,n){e.isAutoCompleting=n},isConnected(e,n){e.isConnected=n},networks(e,n){e.networks=n},mentions(e,n){e.mentions=n},removeNetwork(e,n){e.networks.splice(e.networks.findIndex(e=>e.uuid===n),1)},sortNetworks(e,n){e.networks.sort(n)},hasServiceWorker(e){e.hasServiceWorker=!0},pushNotificationState(e,n){e.pushNotificationState=n},serverConfiguration(e,n){e.serverConfiguration=n},sessions(e,n){e.sessions=n},sidebarOpen(e,n){e.sidebarOpen=n},sidebarDragging(e,n){e.sidebarDragging=n},toggleSidebar(e){e.sidebarOpen=!e.sidebarOpen},toggleUserlist(e){e.userlistOpen=!e.userlistOpen},userlistOpen(e,n){e.userlistOpen=n},versionData(e,n){e.versionData=n},versionStatus(e,n){e.versionStatus=n},versionDataExpired(e,n){e.versionDataExpired=n},serverHasSettings(e,n){e.serverHasSettings=n},messageSearchPendingQuery(e,n){e.messageSearchPendingQuery=n},messageSearchResults(e,n){e.messageSearchResults=n},addMessageSearchResults(e,n){if(e.messageSearchResults||(e.messageSearchResults={results:[]}),!n)return;const t=[...n.results,...e.messageSearchResults.results];e.messageSearchResults={results:t}}},actions:{partChannel({commit:e,state:n},t){e("mentions",n.mentions.filter(e=>!(e.chanId===t.channel.id)))}},getters:m},f=Symbol(),b=(0,a.y$)(k),v=function(e){return{namespaced:!0,state:d(c(),u()),mutations:{set(e,{name:n,value:t}){e[n]=t}},actions:{syncAll({state:n},t=!1){if(!1!==n.syncSettings||!1!==t){e.commit("serverHasSettings",!0);for(const e in n)"never"===r[e].sync&&"always"!==r[e].sync||o.A.emit("setting:set",{name:e,value:n[e]})}},applyAll({state:n}){for(const t in r)r[t].apply(e,n[t],!0)},update({state:n,commit:t},{name:a,value:i,sync:l=!1}){if(n[a]===i)return;const c=r[a];c&&(!1!==l||!1!==n.syncSettings&&"never"!==c.sync)&&(t("set",{name:a,value:i}),s.A.set("settings",JSON.stringify(n)),c.apply(e,i),l&&(n.syncSettings&&"never"!==c.sync||"always"===c.sync)&&o.A.emit("setting:set",{name:a,value:i}))}}}}(b);function w(){return(0,a.Pj)(f)}b.registerModule("settings",v)},381:(e,n,t)=>{"use strict";t.d(n,{A:()=>a});const a=(0,t(3508).Ay)({transports:JSON.parse(document.body.dataset.transports||"['polling', 'websocket']"),path:window.location.pathname+"socket.io/",autoConnect:!1,reconnection:!document.body.classList.contains("public")})},514:(e,n,t)=>{"use strict";t.r(n),t.d(n,{default:()=>r});var a=t(641);const s={class:"content"};var o=t(3568),i=t(6640);const l=(0,a.pM)({name:"MessageTypeMode",components:{ParsedMessage:o.A,Username:i.A},props:{network:{type:Object,required:!0},message:{type:Object,required:!0}}}),r=(0,t(6262).A)(l,[["render",function(e,n,t,o,i,l){const r=(0,a.g2)("Username"),c=(0,a.g2)("ParsedMessage");return(0,a.uX)(),(0,a.CE)("span",s,[(0,a.bF)(r,{user:e.message.from},null,8,["user"]),n[0]||(n[0]=(0,a.eW)(" sets mode ",-1)),(0,a.bF)(c,{message:e.message},null,8,["message"])])}]])},875:(e,n,t)=>{"use strict";t.r(n),t.d(n,{default:()=>u});var a=t(641);const s={class:"content"},o={class:"hostmask"},i={key:0,class:"quit-reason"};var l=t(3568),r=t(6640);const c=(0,a.pM)({name:"MessageTypeQuit",components:{ParsedMessage:l.A,Username:r.A},props:{network:{type:Object,required:!0},message:{type:Object,required:!0}}}),u=(0,t(6262).A)(c,[["render",function(e,n,t,l,r,c){const u=(0,a.g2)("Username"),d=(0,a.g2)("ParsedMessage");return(0,a.uX)(),(0,a.CE)("span",s,[(0,a.bF)(u,{user:e.message.from},null,8,["user"]),(0,a.Lk)("i",o,[n[0]||(n[0]=(0,a.eW)(" (",-1)),(0,a.bF)(d,{network:e.network,text:e.message.hostmask},null,8,["network","text"]),n[1]||(n[1]=(0,a.eW)(")",-1))]),n[4]||(n[4]=(0,a.eW)(" has quit ",-1)),e.message.text?((0,a.uX)(),(0,a.CE)("i",i,[n[2]||(n[2]=(0,a.eW)("(",-1)),(0,a.bF)(d,{network:e.network,message:e.message},null,8,["network","message"]),n[3]||(n[3]=(0,a.eW)(")",-1))])):(0,a.Q3)("",!0)])}]])},991:(e,n,t)=>{"use strict";t.r(n),t.d(n,{default:()=>c});var a=t(641);const s={class:"content"},o={class:"away-message"};var i=t(3568),l=t(6640);const r=(0,a.pM)({name:"MessageTypeAway",components:{ParsedMessage:i.A,Username:l.A},props:{network:{type:Object,required:!0},message:{type:Object,required:!0}}}),c=(0,t(6262).A)(r,[["render",function(e,n,t,i,l,r){const c=(0,a.g2)("ParsedMessage"),u=(0,a.g2)("Username");return(0,a.uX)(),(0,a.CE)("span",s,[e.message.self?((0,a.uX)(),(0,a.Wv)(c,{key:0,network:e.network,message:e.message},null,8,["network","message"])):((0,a.uX)(),(0,a.CE)(a.FK,{key:1},[(0,a.bF)(u,{user:e.message.from},null,8,["user"]),n[2]||(n[2]=(0,a.eW)(" is away ",-1)),(0,a.Lk)("i",o,[n[0]||(n[0]=(0,a.eW)("(",-1)),(0,a.bF)(c,{network:e.network,message:e.message},null,8,["network","message"]),n[1]||(n[1]=(0,a.eW)(")",-1))])],64))])}]])},1191:(e,n,t)=>{var a={"./away.vue":991,"./back.vue":1344,"./chghost.vue":2462,"./ctcp.vue":6455,"./ctcp_request.vue":8078,"./error.vue":2429,"./invite.vue":3393,"./join.vue":7902,"./kick.vue":9971,"./mass_event.vue":1740,"./mode.vue":514,"./mode_channel.vue":7062,"./mode_user.vue":5506,"./monospace_block.vue":3107,"./nick.vue":9956,"./part.vue":5182,"./quit.vue":875,"./raw.vue":9207,"./topic.vue":4379,"./topic_set_by.vue":6789,"./whois.vue":2837};function s(e){var n=o(e);return t(n)}function o(e){if(!t.o(a,e)){var n=new Error("Cannot find module '"+e+"'");throw n.code="MODULE_NOT_FOUND",n}return a[e]}s.keys=function(){return Object.keys(a)},s.resolve=o,e.exports=s,s.id=1191},1344:(e,n,t)=>{"use strict";t.r(n),t.d(n,{default:()=>r});var a=t(641);const s={class:"content"};var o=t(3568),i=t(6640);const l=(0,a.pM)({name:"MessageTypeBack",components:{ParsedMessage:o.A,Username:i.A},props:{network:{type:Object,required:!0},message:{type:Object,required:!0}}}),r=(0,t(6262).A)(l,[["render",function(e,n,t,o,i,l){const r=(0,a.g2)("ParsedMessage"),c=(0,a.g2)("Username");return(0,a.uX)(),(0,a.CE)("span",s,[e.message.self?((0,a.uX)(),(0,a.Wv)(r,{key:0,network:e.network,message:e.message},null,8,["network","message"])):((0,a.uX)(),(0,a.CE)(a.FK,{key:1},[(0,a.bF)(c,{user:e.message.from},null,8,["user"]),n[0]||(n[0]=(0,a.eW)(" is back ",-1))],64))])}]])},1654:(e,n,t)=>{"use strict";t.d(n,{cL:()=>s,gC:()=>o,rR:()=>a});let a=function(e){return e.CHANNEL="channel",e.LOBBY="lobby",e.QUERY="query",e.SPECIAL="special",e}({}),s=function(e){return e.BANLIST="list_bans",e.INVITELIST="list_invites",e.CHANNELLIST="list_channels",e.IGNORELIST="list_ignored",e}({}),o=function(e){return e[e.PARTED=0]="PARTED",e[e.JOINED=1]="JOINED",e}({})},1740:(e,n,t)=>{"use strict";t.r(n),t.d(n,{default:()=>c});var a=t(641),s=t(33);const o={class:"content mass-event-summary"},i={class:"mass-event-duration"};var l=t(211);const r=(0,a.pM)({name:"MessageTypeMassEvent",props:{network:{type:Object,required:!0},message:{type:Object,required:!0}},setup:e=>({store:(0,l.Pj)(),summaryParts:(0,a.EW)(()=>{const n=[],t=e.message.massEventSummary;return t?(t.joins>0&&n.push(`${t.joins} user${1!==t.joins?"s":""} joined`),t.parts>0&&n.push(`${t.parts} user${1!==t.parts?"s":""} left`),t.quits>0&&n.push(`${t.quits} user${1!==t.quits?"s":""} quit`),t.kicks>0&&n.push(`${t.kicks} user${1!==t.kicks?"s":""} kicked`),t.nicks>0&&n.push(`${t.nicks} nick change${1!==t.nicks?"s":""}`),t.modes>0&&n.push(`${t.modes} mode change${1!==t.modes?"s":""}`),t.chghosts>0&&n.push(`${t.chghosts} host change${1!==t.chghosts?"s":""}`),t.away>0&&n.push(`${t.away} user${1!==t.away?"s":""} away`),t.back>0&&n.push(`${t.back} user${1!==t.back?"s":""} back`),n.length>0?n:["No events"]):["No summary data"]}),formattedDuration:(0,a.EW)(()=>{const n=e.message.massEventSummary;if(!n||!n.duration)return"0s";const t=Math.round(n.duration/1e3);if(t<60)return`${t}s`;const a=Math.floor(t/60),s=t%60;return 0===s?`${a}m`:`${a}m ${s}s`})})}),c=(0,t(6262).A)(r,[["render",function(e,n,t,l,r,c){return(0,a.uX)(),(0,a.CE)("span",o,[n[0]||(n[0]=(0,a.Lk)("strong",null,"Mass event:",-1)),((0,a.uX)(!0),(0,a.CE)(a.FK,null,(0,a.pI)(e.summaryParts,(e,n)=>((0,a.uX)(),(0,a.CE)("span",{key:n},(0,s.v_)(n>0?", ":" ")+(0,s.v_)(e),1))),128)),(0,a.Lk)("i",i," ("+(0,s.v_)(e.formattedDuration)+")",1)])}]])},2429:(e,n,t)=>{"use strict";t.r(n),t.d(n,{default:()=>l});var a=t(641);const s={class:"content"};var o=t(3568);const i=(0,a.pM)({name:"MessageTypeError",components:{ParsedMessage:o.A},props:{network:{type:Object,required:!0},message:{type:Object,required:!0}},setup:e=>({errorMessage:(0,a.EW)(()=>{const n=e.message.channel||"!UNKNOWN_CHAN",t=e.message.nick||"!UNKNOWN_NICK";switch(e.message.error){case"bad_channel_key":return`Cannot join ${n} - Bad channel key.`;case"banned_from_channel":return`Cannot join ${n} - You have been banned from the channel.`;case"cannot_send_to_channel":return`Cannot send to channel ${n}`;case"channel_is_full":return`Cannot join ${n} - Channel is full.`;case"chanop_privs_needed":return"Cannot perform action: You're not a channel operator.";case"invite_only_channel":return`Cannot join ${n} - Channel is invite only.`;case"no_such_nick":return`User ${t} hasn't logged in or does not exist.`;case"not_on_channel":return"Cannot perform action: You're not on the channel.";case"password_mismatch":return"Password mismatch.";case"too_many_channels":return`Cannot join ${n} - You've already reached the maximum number of channels allowed.`;case"unknown_command":return`Unknown command: ${e.message.command||"!UNDEFINED_COMMAND_BUG"}`;case"user_not_in_channel":return`User ${t} is not on the channel.`;case"user_on_channel":return`User ${t} is already on the channel.`;default:return e.message.reason?`${e.message.reason} (${e.message.error||"!UNDEFINED_ERR"})`:e.message.error}})})}),l=(0,t(6262).A)(i,[["render",function(e,n,t,o,i,l){const r=(0,a.g2)("ParsedMessage");return(0,a.uX)(),(0,a.CE)("span",s,[(0,a.bF)(r,{network:e.network,message:e.message,text:e.errorMessage},null,8,["network","message","text"])])}]])},2462:(e,n,t)=>{"use strict";t.r(n),t.d(n,{default:()=>p});var a=t(641),s=t(33);const o={class:"content"},i={key:0},l={key:1},r={class:"hostmask"};var c=t(3568),u=t(6640);const d=(0,a.pM)({name:"MessageTypeChangeHost",components:{ParsedMessage:c.A,Username:u.A},props:{network:{type:Object,required:!0},message:{type:Object,required:!0}}}),p=(0,t(6262).A)(d,[["render",function(e,n,t,c,u,d){const p=(0,a.g2)("Username"),h=(0,a.g2)("ParsedMessage");return(0,a.uX)(),(0,a.CE)("span",o,[(0,a.bF)(p,{user:e.message.from},null,8,["user"]),n[2]||(n[2]=(0,a.eW)(" has changed ",-1)),e.message.new_ident?((0,a.uX)(),(0,a.CE)("span",i,[n[0]||(n[0]=(0,a.eW)("username to ",-1)),(0,a.Lk)("b",null,(0,s.v_)(e.message.new_ident),1)])):(0,a.Q3)("",!0),e.message.new_host?((0,a.uX)(),(0,a.CE)("span",l,[n[1]||(n[1]=(0,a.eW)("hostname to ",-1)),(0,a.Lk)("i",r,[(0,a.bF)(h,{network:e.network,text:e.message.new_host},null,8,["network","text"])])])):(0,a.Q3)("",!0)])}]])},2806:(e,n,t)=>{"use strict";t.d(n,{A:()=>s});const a=new Map,s=new class{on(e,n){a.has(e)?a.get(e).push(n):a.set(e,[n])}off(e,n){a.has(e)&&a.set(e,a.get(e).filter(e=>e!==n))}emit(e,...n){a.has(e)&&a.get(e).slice().map(e=>{e(...n)})}}},2837:(e,n,t)=>{"use strict";t.r(n),t.d(n,{default:()=>k});var a=t(641),s=t(33);const o={class:"content"},i={key:0},l={class:"whois"},r={class:"hostmask"},c={class:"hostmask"},u=["href"],d={key:0};var p=t(7321),h=t(3568),g=t(6640);const m=(0,a.pM)({name:"MessageTypeWhois",components:{ParsedMessage:h.A,Username:g.A},props:{network:{type:Object,required:!0},message:{type:Object,required:!0}},setup:()=>({localetime:e=>(0,p.A)(e)})}),k=(0,t(6262).A)(m,[["render",function(e,n,t,p,h,g){const m=(0,a.g2)("Username"),k=(0,a.g2)("ParsedMessage");return(0,a.uX)(),(0,a.CE)("span",o,[(0,a.Lk)("p",null,[(0,a.bF)(m,{user:{nick:e.message.whois.nick}},null,8,["user"]),e.message.whois.whowas?((0,a.uX)(),(0,a.CE)("span",i," is offline, last information:")):(0,a.Q3)("",!0)]),(0,a.Lk)("dl",l,[e.message.whois.account?((0,a.uX)(),(0,a.CE)(a.FK,{key:0},[n[0]||(n[0]=(0,a.Lk)("dt",null,"Logged in as:",-1)),(0,a.Lk)("dd",null,(0,s.v_)(e.message.whois.account),1)],64)):(0,a.Q3)("",!0),n[20]||(n[20]=(0,a.Lk)("dt",null,"Host mask:",-1)),(0,a.Lk)("dd",r,[(0,a.bF)(k,{network:e.network,text:e.message.whois.ident+"@"+e.message.whois.hostname},null,8,["network","text"])]),e.message.whois.actual_hostname?((0,a.uX)(),(0,a.CE)(a.FK,{key:1},[n[1]||(n[1]=(0,a.Lk)("dt",null,"Actual host:",-1)),(0,a.Lk)("dd",c,[(0,a.Lk)("a",{href:"https://ipinfo.io/"+e.message.whois.actual_ip,target:"_blank",rel:"noopener"},(0,s.v_)(e.message.whois.actual_ip),9,u),e.message.whois.actual_hostname!=e.message.whois.actual_ip?((0,a.uX)(),(0,a.CE)("i",d," ("+(0,s.v_)(e.message.whois.actual_hostname)+")",1)):(0,a.Q3)("",!0)])],64)):(0,a.Q3)("",!0),e.message.whois.actual_username?((0,a.uX)(),(0,a.CE)(a.FK,{key:2},[n[2]||(n[2]=(0,a.Lk)("dt",null,"Actual username:",-1)),(0,a.Lk)("dd",null,(0,s.v_)(e.message.whois.actual_username),1)],64)):(0,a.Q3)("",!0),e.message.whois.real_name?((0,a.uX)(),(0,a.CE)(a.FK,{key:3},[n[3]||(n[3]=(0,a.Lk)("dt",null,"Real name:",-1)),(0,a.Lk)("dd",null,[(0,a.bF)(k,{network:e.network,text:e.message.whois.real_name},null,8,["network","text"])])],64)):(0,a.Q3)("",!0),e.message.whois.registered_nick?((0,a.uX)(),(0,a.CE)(a.FK,{key:4},[n[4]||(n[4]=(0,a.Lk)("dt",null,"Registered nick:",-1)),(0,a.Lk)("dd",null,(0,s.v_)(e.message.whois.registered_nick),1)],64)):(0,a.Q3)("",!0),e.message.whois.channels?((0,a.uX)(),(0,a.CE)(a.FK,{key:5},[n[5]||(n[5]=(0,a.Lk)("dt",null,"Channels:",-1)),(0,a.Lk)("dd",null,[(0,a.bF)(k,{network:e.network,text:e.message.whois.channels},null,8,["network","text"])])],64)):(0,a.Q3)("",!0),e.message.whois.modes?((0,a.uX)(),(0,a.CE)(a.FK,{key:6},[n[6]||(n[6]=(0,a.Lk)("dt",null,"Modes:",-1)),(0,a.Lk)("dd",null,(0,s.v_)(e.message.whois.modes),1)],64)):(0,a.Q3)("",!0),e.message.whois.special?((0,a.uX)(!0),(0,a.CE)(a.FK,{key:7},(0,a.pI)(e.message.whois.special,e=>((0,a.uX)(),(0,a.CE)(a.FK,{key:e},[n[7]||(n[7]=(0,a.Lk)("dt",null,"Special:",-1)),(0,a.Lk)("dd",null,(0,s.v_)(e),1)],64))),128)):(0,a.Q3)("",!0),e.message.whois.operator?((0,a.uX)(),(0,a.CE)(a.FK,{key:8},[n[8]||(n[8]=(0,a.Lk)("dt",null,"Operator:",-1)),(0,a.Lk)("dd",null,(0,s.v_)(e.message.whois.operator),1)],64)):(0,a.Q3)("",!0),e.message.whois.helpop?((0,a.uX)(),(0,a.CE)(a.FK,{key:9},[n[9]||(n[9]=(0,a.Lk)("dt",null,"Available for help:",-1)),n[10]||(n[10]=(0,a.Lk)("dd",null,"Yes",-1))],64)):(0,a.Q3)("",!0),e.message.whois.bot?((0,a.uX)(),(0,a.CE)(a.FK,{key:10},[n[11]||(n[11]=(0,a.Lk)("dt",null,"Is a bot:",-1)),n[12]||(n[12]=(0,a.Lk)("dd",null,"Yes",-1))],64)):(0,a.Q3)("",!0),e.message.whois.away?((0,a.uX)(),(0,a.CE)(a.FK,{key:11},[n[13]||(n[13]=(0,a.Lk)("dt",null,"Away:",-1)),(0,a.Lk)("dd",null,[(0,a.bF)(k,{network:e.network,text:e.message.whois.away},null,8,["network","text"])])],64)):(0,a.Q3)("",!0),e.message.whois.secure?((0,a.uX)(),(0,a.CE)(a.FK,{key:12},[n[14]||(n[14]=(0,a.Lk)("dt",null,"Secure connection:",-1)),n[15]||(n[15]=(0,a.Lk)("dd",null,"Yes",-1))],64)):(0,a.Q3)("",!0),e.message.whois.certfps?((0,a.uX)(!0),(0,a.CE)(a.FK,{key:13},(0,a.pI)(e.message.whois.certfps,e=>((0,a.uX)(),(0,a.CE)(a.FK,{key:e},[n[16]||(n[16]=(0,a.Lk)("dt",null,"Certificate:",-1)),(0,a.Lk)("dd",null,(0,s.v_)(e),1)],64))),128)):(0,a.Q3)("",!0),e.message.whois.server?((0,a.uX)(),(0,a.CE)(a.FK,{key:14},[n[17]||(n[17]=(0,a.Lk)("dt",null,"Connected to:",-1)),(0,a.Lk)("dd",null,[(0,a.eW)((0,s.v_)(e.message.whois.server)+" ",1),(0,a.Lk)("i",null,"("+(0,s.v_)(e.message.whois.server_info)+")",1)])],64)):(0,a.Q3)("",!0),e.message.whois.logonTime?((0,a.uX)(),(0,a.CE)(a.FK,{key:15},[n[18]||(n[18]=(0,a.Lk)("dt",null,"Connected at:",-1)),(0,a.Lk)("dd",null,(0,s.v_)(e.localetime(e.message.whois.logonTime)),1)],64)):(0,a.Q3)("",!0),e.message.whois.idle?((0,a.uX)(),(0,a.CE)(a.FK,{key:16},[n[19]||(n[19]=(0,a.Lk)("dt",null,"Idle since:",-1)),(0,a.Lk)("dd",null,(0,s.v_)(e.localetime(e.message.whois.idleTime)),1)],64)):(0,a.Q3)("",!0)])])}]])},3107:(e,n,t)=>{"use strict";t.r(n),t.d(n,{default:()=>r});var a=t(641);const s={class:"content"},o={class:"text"};var i=t(3568);const l=(0,a.pM)({name:"MessageTypeMonospaceBlock",components:{ParsedMessage:i.A},props:{network:{type:Object,required:!0},message:{type:Object,required:!0}},setup:e=>({cleanText:(0,a.EW)(()=>{let n=e.message.text.split("\n");return n.every(e=>""===e||"-"===e[0])&&(n=n.map(e=>e.substring(2))),n.map(e=>e.replace(/\s*$/,"")).join("\n").replace(/^[\r\n]+|[\r\n]+$/g,"")})})}),r=(0,t(6262).A)(l,[["render",function(e,n,t,i,l,r){const c=(0,a.g2)("ParsedMessage");return(0,a.uX)(),(0,a.CE)("span",s,[(0,a.Lk)("span",o,[(0,a.bF)(c,{network:e.network,text:e.cleanText},null,8,["network","text"])])])}]])},3388:(e,n,t)=>{"use strict";t.d(n,{A:()=>s});const a=["Bytes","KiB","MiB","GiB","TiB","PiB"],s=e=>{const n=e>0?Math.floor(Math.log(e)/Math.log(1024)):0;return`${parseFloat((e/Math.pow(1024,n)).toFixed(1))} ${a[n]}`}},3393:(e,n,t)=>{"use strict";t.r(n),t.d(n,{default:()=>c});var a=t(641);const s={class:"content"},o={key:0};var i=t(3568),l=t(6640);const r=(0,a.pM)({name:"MessageTypeInvite",components:{ParsedMessage:i.A,Username:l.A},props:{network:{type:Object,required:!0},message:{type:Object,required:!0}}}),c=(0,t(6262).A)(r,[["render",function(e,n,t,i,l,r){const c=(0,a.g2)("Username"),u=(0,a.g2)("ParsedMessage");return(0,a.uX)(),(0,a.CE)("span",s,[(0,a.bF)(c,{user:e.message.from},null,8,["user"]),n[0]||(n[0]=(0,a.eW)(" invited ",-1)),e.message.invitedYou?((0,a.uX)(),(0,a.CE)("span",o,"you")):((0,a.uX)(),(0,a.Wv)(c,{key:1,user:e.message.target},null,8,["user"])),n[1]||(n[1]=(0,a.eW)(" to ",-1)),(0,a.bF)(u,{network:e.network,text:e.message.channel},null,8,["network","text"])])}]])},3568:(e,n,t)=>{"use strict";t.d(n,{A:()=>N});var a=t(641);const s=/^(\d{1,2})(?:,(\d{1,2}))?/,o=/^([0-9a-f]{6})(?:,([0-9a-f]{6}))?/i,i=/[\u0000-\u0009\u000B-\u001F]/g,l=["bold","textColor","bgColor","hexColor","hexBgColor","italic","underline","strikethrough","monospace"];var r=t(680),c=t.n(r);function u(e){return c()(e).replace("-","\\-")}var d=t(2319),p=t(9011);const h=(0,d.A)().tlds(p).tlds("onion",!0),g=["sftp","smb","file","irc","ircs","svn","git","steam","mumble","ts3server","svn+ssh","ssh","gopher","gemini"];for(const e of g)h.add(e+":","http:");function m(e){return{start:e.index,end:e.lastIndex,link:e.url}}h.add("web+",{validate(e,n,t){const a=/^[a-z]+:/gi;if(!a.test(e.slice(n)))return 0;const s=t.testSchemaAt(e,"http:",n+a.lastIndex);return 0===s?0:a.lastIndex+s},normalize(e){e.schema=e.text.slice(0,e.text.indexOf(":")+1)}}),h.add("//",{validate:h.__schemas__["//"].validate,normalize(e){e.schema="",e.url="http:"+e.url}});const k=(0,t(631).A)(),f=/([\w[\]\\`^{|}-]+)/g,b=function(e,n){return e.start<=n.start&&n.start<e.end||e.start<n.end&&n.end<=e.end||n.start<=e.start&&e.start<n.end||n.start<e.end&&e.end<=n.end};function v(e,n){return e.start-n.start||n.end-e.end}const w=JSON.parse('{"๐Ÿ˜€":"grinning face","๐Ÿ˜ƒ":"grinning face with big eyes","๐Ÿ˜„":"grinning face with smiling eyes","๐Ÿ˜":"beaming face with smiling eyes","๐Ÿ˜†":"grinning squinting face","๐Ÿ˜…":"grinning face with sweat","๐Ÿคฃ":"rolling on the floor laughing","๐Ÿ˜‚":"face with tears of joy","๐Ÿ™‚":"slightly smiling face","๐Ÿ™ƒ":"upside-down face","๐Ÿซ ":"melting face","๐Ÿ˜‰":"winking face","๐Ÿ˜Š":"smiling face with smiling eyes","๐Ÿ˜‡":"smiling face with halo","๐Ÿฅฐ":"smiling face with hearts","๐Ÿ˜":"smiling face with heart-eyes","๐Ÿคฉ":"star-struck","๐Ÿ˜˜":"face blowing a kiss","๐Ÿ˜—":"kissing face","โ˜บ":"smiling face","๐Ÿ˜š":"kissing face with closed eyes","๐Ÿ˜™":"kissing face with smiling eyes","๐Ÿฅฒ":"smiling face with tear","๐Ÿ˜‹":"face savoring food","๐Ÿ˜›":"face with tongue","๐Ÿ˜œ":"winking face with tongue","๐Ÿคช":"zany face","๐Ÿ˜":"squinting face with tongue","๐Ÿค‘":"money-mouth face","๐Ÿค—":"smiling face with open hands","๐Ÿคญ":"face with hand over mouth","๐Ÿซข":"face with open eyes and hand over mouth","๐Ÿซฃ":"face with peeking eye","๐Ÿคซ":"shushing face","๐Ÿค”":"thinking face","๐Ÿซก":"saluting face","๐Ÿค":"zipper-mouth face","๐Ÿคจ":"face with raised eyebrow","๐Ÿ˜":"neutral face","๐Ÿ˜‘":"expressionless face","๐Ÿ˜ถ":"face without mouth","๐Ÿซฅ":"dotted line face","๐Ÿ˜ถโ€๐ŸŒซ":"face in clouds","๐Ÿ˜":"smirking face","๐Ÿ˜’":"unamused face","๐Ÿ™„":"face with rolling eyes","๐Ÿ˜ฌ":"grimacing face","๐Ÿ˜ฎโ€๐Ÿ’จ":"face exhaling","๐Ÿคฅ":"lying face","๐Ÿซจ":"shaking face","๐Ÿ˜Œ":"relieved face","๐Ÿ˜”":"pensive face","๐Ÿ˜ช":"sleepy face","๐Ÿคค":"drooling face","๐Ÿ˜ด":"sleeping face","๐Ÿ˜ท":"face with medical mask","๐Ÿค’":"face with thermometer","๐Ÿค•":"face with head-bandage","๐Ÿคข":"nauseated face","๐Ÿคฎ":"face vomiting","๐Ÿคง":"sneezing face","๐Ÿฅต":"hot face","๐Ÿฅถ":"cold face","๐Ÿฅด":"woozy face","๐Ÿ˜ต":"face with crossed-out eyes","๐Ÿ˜ตโ€๐Ÿ’ซ":"face with spiral eyes","๐Ÿคฏ":"exploding head","๐Ÿค ":"cowboy hat face","๐Ÿฅณ":"partying face","๐Ÿฅธ":"disguised face","๐Ÿ˜Ž":"smiling face with sunglasses","๐Ÿค“":"nerd face","๐Ÿง":"face with monocle","๐Ÿ˜•":"confused face","๐Ÿซค":"face with diagonal mouth","๐Ÿ˜Ÿ":"worried face","๐Ÿ™":"slightly frowning face","โ˜น":"frowning face","๐Ÿ˜ฎ":"face with open mouth","๐Ÿ˜ฏ":"hushed face","๐Ÿ˜ฒ":"astonished face","๐Ÿ˜ณ":"flushed face","๐Ÿฅบ":"pleading face","๐Ÿฅน":"face holding back tears","๐Ÿ˜ฆ":"frowning face with open mouth","๐Ÿ˜ง":"anguished face","๐Ÿ˜จ":"fearful face","๐Ÿ˜ฐ":"anxious face with sweat","๐Ÿ˜ฅ":"sad but relieved face","๐Ÿ˜ข":"crying face","๐Ÿ˜ญ":"loudly crying face","๐Ÿ˜ฑ":"face screaming in fear","๐Ÿ˜–":"confounded face","๐Ÿ˜ฃ":"persevering face","๐Ÿ˜ž":"disappointed face","๐Ÿ˜“":"downcast face with sweat","๐Ÿ˜ฉ":"weary face","๐Ÿ˜ซ":"tired face","๐Ÿฅฑ":"yawning face","๐Ÿ˜ค":"face with steam from nose","๐Ÿ˜ก":"enraged face","๐Ÿ˜ ":"angry face","๐Ÿคฌ":"face with symbols on mouth","๐Ÿ˜ˆ":"smiling face with horns","๐Ÿ‘ฟ":"angry face with horns","๐Ÿ’€":"skull","โ˜ ":"skull and crossbones","๐Ÿ’ฉ":"pile of poo","๐Ÿคก":"clown face","๐Ÿ‘น":"ogre","๐Ÿ‘บ":"goblin","๐Ÿ‘ป":"ghost","๐Ÿ‘ฝ":"alien","๐Ÿ‘พ":"alien monster","๐Ÿค–":"robot","๐Ÿ˜บ":"grinning cat","๐Ÿ˜ธ":"grinning cat with smiling eyes","๐Ÿ˜น":"cat with tears of joy","๐Ÿ˜ป":"smiling cat with heart-eyes","๐Ÿ˜ผ":"cat with wry smile","๐Ÿ˜ฝ":"kissing cat","๐Ÿ™€":"weary cat","๐Ÿ˜ฟ":"crying cat","๐Ÿ˜พ":"pouting cat","๐Ÿ™ˆ":"see-no-evil monkey","๐Ÿ™‰":"hear-no-evil monkey","๐Ÿ™Š":"speak-no-evil monkey","๐Ÿ’Œ":"love letter","๐Ÿ’˜":"heart with arrow","๐Ÿ’":"heart with ribbon","๐Ÿ’–":"sparkling heart","๐Ÿ’—":"growing heart","๐Ÿ’“":"beating heart","๐Ÿ’ž":"revolving hearts","๐Ÿ’•":"two hearts","๐Ÿ’Ÿ":"heart decoration","โฃ":"heart exclamation","๐Ÿ’”":"broken heart","โคโ€๐Ÿ”ฅ":"heart on fire","โคโ€๐Ÿฉน":"mending heart","โค":"red heart","๐Ÿฉท":"pink heart","๐Ÿงก":"orange heart","๐Ÿ’›":"yellow heart","๐Ÿ’š":"green heart","๐Ÿ’™":"blue heart","๐Ÿฉต":"light blue heart","๐Ÿ’œ":"purple heart","๐ŸคŽ":"brown heart","๐Ÿ–ค":"black heart","๐Ÿฉถ":"grey heart","๐Ÿค":"white heart","๐Ÿ’‹":"kiss mark","๐Ÿ’ฏ":"hundred points","๐Ÿ’ข":"anger symbol","๐Ÿ’ฅ":"collision","๐Ÿ’ซ":"dizzy","๐Ÿ’ฆ":"sweat droplets","๐Ÿ’จ":"dashing away","๐Ÿ•ณ":"hole","๐Ÿ’ฌ":"speech balloon","๐Ÿ‘โ€๐Ÿ—จ":"eye in speech bubble","๐Ÿ—จ":"left speech bubble","๐Ÿ—ฏ":"right anger bubble","๐Ÿ’ญ":"thought balloon","๐Ÿ’ค":"ZZZ","๐Ÿ‘‹":"waving hand","๐Ÿคš":"raised back of hand","๐Ÿ–":"hand with fingers splayed","โœ‹":"raised hand","๐Ÿ––":"vulcan salute","๐Ÿซฑ":"rightwards hand","๐Ÿซฒ":"leftwards hand","๐Ÿซณ":"palm down hand","๐Ÿซด":"palm up hand","๐Ÿซท":"leftwards pushing hand","๐Ÿซธ":"rightwards pushing hand","๐Ÿ‘Œ":"OK hand","๐ŸคŒ":"pinched fingers","๐Ÿค":"pinching hand","โœŒ":"victory hand","๐Ÿคž":"crossed fingers","๐Ÿซฐ":"hand with index finger and thumb crossed","๐ŸคŸ":"love-you gesture","๐Ÿค˜":"sign of the horns","๐Ÿค™":"call me hand","๐Ÿ‘ˆ":"backhand index pointing left","๐Ÿ‘‰":"backhand index pointing right","๐Ÿ‘†":"backhand index pointing up","๐Ÿ–•":"middle finger","๐Ÿ‘‡":"backhand index pointing down","โ˜":"index pointing up","๐Ÿซต":"index pointing at the viewer","๐Ÿ‘":"thumbs up","๐Ÿ‘Ž":"thumbs down","โœŠ":"raised fist","๐Ÿ‘Š":"oncoming fist","๐Ÿค›":"left-facing fist","๐Ÿคœ":"right-facing fist","๐Ÿ‘":"clapping hands","๐Ÿ™Œ":"raising hands","๐Ÿซถ":"heart hands","๐Ÿ‘":"open hands","๐Ÿคฒ":"palms up together","๐Ÿค":"handshake","๐Ÿ™":"folded hands","โœ":"writing hand","๐Ÿ’…":"nail polish","๐Ÿคณ":"selfie","๐Ÿ’ช":"flexed biceps","๐Ÿฆพ":"mechanical arm","๐Ÿฆฟ":"mechanical leg","๐Ÿฆต":"leg","๐Ÿฆถ":"foot","๐Ÿ‘‚":"ear","๐Ÿฆป":"ear with hearing aid","๐Ÿ‘ƒ":"nose","๐Ÿง ":"brain","๐Ÿซ€":"anatomical heart","๐Ÿซ":"lungs","๐Ÿฆท":"tooth","๐Ÿฆด":"bone","๐Ÿ‘€":"eyes","๐Ÿ‘":"eye","๐Ÿ‘…":"tongue","๐Ÿ‘„":"mouth","๐Ÿซฆ":"biting lip","๐Ÿ‘ถ":"baby","๐Ÿง’":"child","๐Ÿ‘ฆ":"boy","๐Ÿ‘ง":"girl","๐Ÿง‘":"person","๐Ÿ‘ฑ":"person: blond hair","๐Ÿ‘จ":"man","๐Ÿง”":"person: beard","๐Ÿง”โ€โ™‚":"man: beard","๐Ÿง”โ€โ™€":"woman: beard","๐Ÿ‘จโ€๐Ÿฆฐ":"man: red hair","๐Ÿ‘จโ€๐Ÿฆฑ":"man: curly hair","๐Ÿ‘จโ€๐Ÿฆณ":"man: white hair","๐Ÿ‘จโ€๐Ÿฆฒ":"man: bald","๐Ÿ‘ฉ":"woman","๐Ÿ‘ฉโ€๐Ÿฆฐ":"woman: red hair","๐Ÿง‘โ€๐Ÿฆฐ":"person: red hair","๐Ÿ‘ฉโ€๐Ÿฆฑ":"woman: curly hair","๐Ÿง‘โ€๐Ÿฆฑ":"person: curly hair","๐Ÿ‘ฉโ€๐Ÿฆณ":"woman: white hair","๐Ÿง‘โ€๐Ÿฆณ":"person: white hair","๐Ÿ‘ฉโ€๐Ÿฆฒ":"woman: bald","๐Ÿง‘โ€๐Ÿฆฒ":"person: bald","๐Ÿ‘ฑโ€โ™€":"woman: blond hair","๐Ÿ‘ฑโ€โ™‚":"man: blond hair","๐Ÿง“":"older person","๐Ÿ‘ด":"old man","๐Ÿ‘ต":"old woman","๐Ÿ™":"person frowning","๐Ÿ™โ€โ™‚":"man frowning","๐Ÿ™โ€โ™€":"woman frowning","๐Ÿ™Ž":"person pouting","๐Ÿ™Žโ€โ™‚":"man pouting","๐Ÿ™Žโ€โ™€":"woman pouting","๐Ÿ™…":"person gesturing NO","๐Ÿ™…โ€โ™‚":"man gesturing NO","๐Ÿ™…โ€โ™€":"woman gesturing NO","๐Ÿ™†":"person gesturing OK","๐Ÿ™†โ€โ™‚":"man gesturing OK","๐Ÿ™†โ€โ™€":"woman gesturing OK","๐Ÿ’":"person tipping hand","๐Ÿ’โ€โ™‚":"man tipping hand","๐Ÿ’โ€โ™€":"woman tipping hand","๐Ÿ™‹":"person raising hand","๐Ÿ™‹โ€โ™‚":"man raising hand","๐Ÿ™‹โ€โ™€":"woman raising hand","๐Ÿง":"deaf person","๐Ÿงโ€โ™‚":"deaf man","๐Ÿงโ€โ™€":"deaf woman","๐Ÿ™‡":"person bowing","๐Ÿ™‡โ€โ™‚":"man bowing","๐Ÿ™‡โ€โ™€":"woman bowing","๐Ÿคฆ":"person facepalming","๐Ÿคฆโ€โ™‚":"man facepalming","๐Ÿคฆโ€โ™€":"woman facepalming","๐Ÿคท":"person shrugging","๐Ÿคทโ€โ™‚":"man shrugging","๐Ÿคทโ€โ™€":"woman shrugging","๐Ÿง‘โ€โš•":"health worker","๐Ÿ‘จโ€โš•":"man health worker","๐Ÿ‘ฉโ€โš•":"woman health worker","๐Ÿง‘โ€๐ŸŽ“":"student","๐Ÿ‘จโ€๐ŸŽ“":"man student","๐Ÿ‘ฉโ€๐ŸŽ“":"woman student","๐Ÿง‘โ€๐Ÿซ":"teacher","๐Ÿ‘จโ€๐Ÿซ":"man teacher","๐Ÿ‘ฉโ€๐Ÿซ":"woman teacher","๐Ÿง‘โ€โš–":"judge","๐Ÿ‘จโ€โš–":"man judge","๐Ÿ‘ฉโ€โš–":"woman judge","๐Ÿง‘โ€๐ŸŒพ":"farmer","๐Ÿ‘จโ€๐ŸŒพ":"man farmer","๐Ÿ‘ฉโ€๐ŸŒพ":"woman farmer","๐Ÿง‘โ€๐Ÿณ":"cook","๐Ÿ‘จโ€๐Ÿณ":"man cook","๐Ÿ‘ฉโ€๐Ÿณ":"woman cook","๐Ÿง‘โ€๐Ÿ”ง":"mechanic","๐Ÿ‘จโ€๐Ÿ”ง":"man mechanic","๐Ÿ‘ฉโ€๐Ÿ”ง":"woman mechanic","๐Ÿง‘โ€๐Ÿญ":"factory worker","๐Ÿ‘จโ€๐Ÿญ":"man factory worker","๐Ÿ‘ฉโ€๐Ÿญ":"woman factory worker","๐Ÿง‘โ€๐Ÿ’ผ":"office worker","๐Ÿ‘จโ€๐Ÿ’ผ":"man office worker","๐Ÿ‘ฉโ€๐Ÿ’ผ":"woman office worker","๐Ÿง‘โ€๐Ÿ”ฌ":"scientist","๐Ÿ‘จโ€๐Ÿ”ฌ":"man scientist","๐Ÿ‘ฉโ€๐Ÿ”ฌ":"woman scientist","๐Ÿง‘โ€๐Ÿ’ป":"technologist","๐Ÿ‘จโ€๐Ÿ’ป":"man technologist","๐Ÿ‘ฉโ€๐Ÿ’ป":"woman technologist","๐Ÿง‘โ€๐ŸŽค":"singer","๐Ÿ‘จโ€๐ŸŽค":"man singer","๐Ÿ‘ฉโ€๐ŸŽค":"woman singer","๐Ÿง‘โ€๐ŸŽจ":"artist","๐Ÿ‘จโ€๐ŸŽจ":"man artist","๐Ÿ‘ฉโ€๐ŸŽจ":"woman artist","๐Ÿง‘โ€โœˆ":"pilot","๐Ÿ‘จโ€โœˆ":"man pilot","๐Ÿ‘ฉโ€โœˆ":"woman pilot","๐Ÿง‘โ€๐Ÿš€":"astronaut","๐Ÿ‘จโ€๐Ÿš€":"man astronaut","๐Ÿ‘ฉโ€๐Ÿš€":"woman astronaut","๐Ÿง‘โ€๐Ÿš’":"firefighter","๐Ÿ‘จโ€๐Ÿš’":"man firefighter","๐Ÿ‘ฉโ€๐Ÿš’":"woman firefighter","๐Ÿ‘ฎ":"police officer","๐Ÿ‘ฎโ€โ™‚":"man police officer","๐Ÿ‘ฎโ€โ™€":"woman police officer","๐Ÿ•ต":"detective","๐Ÿ•ตโ€โ™‚":"man detective","๐Ÿ•ตโ€โ™€":"woman detective","๐Ÿ’‚":"guard","๐Ÿ’‚โ€โ™‚":"man guard","๐Ÿ’‚โ€โ™€":"woman guard","๐Ÿฅท":"ninja","๐Ÿ‘ท":"construction worker","๐Ÿ‘ทโ€โ™‚":"man construction worker","๐Ÿ‘ทโ€โ™€":"woman construction worker","๐Ÿซ…":"person with crown","๐Ÿคด":"prince","๐Ÿ‘ธ":"princess","๐Ÿ‘ณ":"person wearing turban","๐Ÿ‘ณโ€โ™‚":"man wearing turban","๐Ÿ‘ณโ€โ™€":"woman wearing turban","๐Ÿ‘ฒ":"person with skullcap","๐Ÿง•":"woman with headscarf","๐Ÿคต":"person in tuxedo","๐Ÿคตโ€โ™‚":"man in tuxedo","๐Ÿคตโ€โ™€":"woman in tuxedo","๐Ÿ‘ฐ":"person with veil","๐Ÿ‘ฐโ€โ™‚":"man with veil","๐Ÿ‘ฐโ€โ™€":"woman with veil","๐Ÿคฐ":"pregnant woman","๐Ÿซƒ":"pregnant man","๐Ÿซ„":"pregnant person","๐Ÿคฑ":"breast-feeding","๐Ÿ‘ฉโ€๐Ÿผ":"woman feeding baby","๐Ÿ‘จโ€๐Ÿผ":"man feeding baby","๐Ÿง‘โ€๐Ÿผ":"person feeding baby","๐Ÿ‘ผ":"baby angel","๐ŸŽ…":"Santa Claus","๐Ÿคถ":"Mrs. Claus","๐Ÿง‘โ€๐ŸŽ„":"mx claus","๐Ÿฆธ":"superhero","๐Ÿฆธโ€โ™‚":"man superhero","๐Ÿฆธโ€โ™€":"woman superhero","๐Ÿฆน":"supervillain","๐Ÿฆนโ€โ™‚":"man supervillain","๐Ÿฆนโ€โ™€":"woman supervillain","๐Ÿง™":"mage","๐Ÿง™โ€โ™‚":"man mage","๐Ÿง™โ€โ™€":"woman mage","๐Ÿงš":"fairy","๐Ÿงšโ€โ™‚":"man fairy","๐Ÿงšโ€โ™€":"woman fairy","๐Ÿง›":"vampire","๐Ÿง›โ€โ™‚":"man vampire","๐Ÿง›โ€โ™€":"woman vampire","๐Ÿงœ":"merperson","๐Ÿงœโ€โ™‚":"merman","๐Ÿงœโ€โ™€":"mermaid","๐Ÿง":"elf","๐Ÿงโ€โ™‚":"man elf","๐Ÿงโ€โ™€":"woman elf","๐Ÿงž":"genie","๐Ÿงžโ€โ™‚":"man genie","๐Ÿงžโ€โ™€":"woman genie","๐ŸงŸ":"zombie","๐ŸงŸโ€โ™‚":"man zombie","๐ŸงŸโ€โ™€":"woman zombie","๐ŸงŒ":"troll","๐Ÿ’†":"person getting massage","๐Ÿ’†โ€โ™‚":"man getting massage","๐Ÿ’†โ€โ™€":"woman getting massage","๐Ÿ’‡":"person getting haircut","๐Ÿ’‡โ€โ™‚":"man getting haircut","๐Ÿ’‡โ€โ™€":"woman getting haircut","๐Ÿšถ":"person walking","๐Ÿšถโ€โ™‚":"man walking","๐Ÿšถโ€โ™€":"woman walking","๐Ÿง":"person standing","๐Ÿงโ€โ™‚":"man standing","๐Ÿงโ€โ™€":"woman standing","๐ŸงŽ":"person kneeling","๐ŸงŽโ€โ™‚":"man kneeling","๐ŸงŽโ€โ™€":"woman kneeling","๐Ÿง‘โ€๐Ÿฆฏ":"person with white cane","๐Ÿ‘จโ€๐Ÿฆฏ":"man with white cane","๐Ÿ‘ฉโ€๐Ÿฆฏ":"woman with white cane","๐Ÿง‘โ€๐Ÿฆผ":"person in motorized wheelchair","๐Ÿ‘จโ€๐Ÿฆผ":"man in motorized wheelchair","๐Ÿ‘ฉโ€๐Ÿฆผ":"woman in motorized wheelchair","๐Ÿง‘โ€๐Ÿฆฝ":"person in manual wheelchair","๐Ÿ‘จโ€๐Ÿฆฝ":"man in manual wheelchair","๐Ÿ‘ฉโ€๐Ÿฆฝ":"woman in manual wheelchair","๐Ÿƒ":"person running","๐Ÿƒโ€โ™‚":"man running","๐Ÿƒโ€โ™€":"woman running","๐Ÿ’ƒ":"woman dancing","๐Ÿ•บ":"man dancing","๐Ÿ•ด":"person in suit levitating","๐Ÿ‘ฏ":"people with bunny ears","๐Ÿ‘ฏโ€โ™‚":"men with bunny ears","๐Ÿ‘ฏโ€โ™€":"women with bunny ears","๐Ÿง–":"person in steamy room","๐Ÿง–โ€โ™‚":"man in steamy room","๐Ÿง–โ€โ™€":"woman in steamy room","๐Ÿง—":"person climbing","๐Ÿง—โ€โ™‚":"man climbing","๐Ÿง—โ€โ™€":"woman climbing","๐Ÿคบ":"person fencing","๐Ÿ‡":"horse racing","โ›ท":"skier","๐Ÿ‚":"snowboarder","๐ŸŒ":"person golfing","๐ŸŒโ€โ™‚":"man golfing","๐ŸŒโ€โ™€":"woman golfing","๐Ÿ„":"person surfing","๐Ÿ„โ€โ™‚":"man surfing","๐Ÿ„โ€โ™€":"woman surfing","๐Ÿšฃ":"person rowing boat","๐Ÿšฃโ€โ™‚":"man rowing boat","๐Ÿšฃโ€โ™€":"woman rowing boat","๐ŸŠ":"person swimming","๐ŸŠโ€โ™‚":"man swimming","๐ŸŠโ€โ™€":"woman swimming","โ›น":"person bouncing ball","โ›นโ€โ™‚":"man bouncing ball","โ›นโ€โ™€":"woman bouncing ball","๐Ÿ‹":"person lifting weights","๐Ÿ‹โ€โ™‚":"man lifting weights","๐Ÿ‹โ€โ™€":"woman lifting weights","๐Ÿšด":"person biking","๐Ÿšดโ€โ™‚":"man biking","๐Ÿšดโ€โ™€":"woman biking","๐Ÿšต":"person mountain biking","๐Ÿšตโ€โ™‚":"man mountain biking","๐Ÿšตโ€โ™€":"woman mountain biking","๐Ÿคธ":"person cartwheeling","๐Ÿคธโ€โ™‚":"man cartwheeling","๐Ÿคธโ€โ™€":"woman cartwheeling","๐Ÿคผ":"people wrestling","๐Ÿคผโ€โ™‚":"men wrestling","๐Ÿคผโ€โ™€":"women wrestling","๐Ÿคฝ":"person playing water polo","๐Ÿคฝโ€โ™‚":"man playing water polo","๐Ÿคฝโ€โ™€":"woman playing water polo","๐Ÿคพ":"person playing handball","๐Ÿคพโ€โ™‚":"man playing handball","๐Ÿคพโ€โ™€":"woman playing handball","๐Ÿคน":"person juggling","๐Ÿคนโ€โ™‚":"man juggling","๐Ÿคนโ€โ™€":"woman juggling","๐Ÿง˜":"person in lotus position","๐Ÿง˜โ€โ™‚":"man in lotus position","๐Ÿง˜โ€โ™€":"woman in lotus position","๐Ÿ›€":"person taking bath","๐Ÿ›Œ":"person in bed","๐Ÿง‘โ€๐Ÿคโ€๐Ÿง‘":"people holding hands","๐Ÿ‘ญ":"women holding hands","๐Ÿ‘ซ":"woman and man holding hands","๐Ÿ‘ฌ":"men holding hands","๐Ÿ’":"kiss","๐Ÿ‘ฉโ€โคโ€๐Ÿ’‹โ€๐Ÿ‘จ":"kiss: woman, man","๐Ÿ‘จโ€โคโ€๐Ÿ’‹โ€๐Ÿ‘จ":"kiss: man, man","๐Ÿ‘ฉโ€โคโ€๐Ÿ’‹โ€๐Ÿ‘ฉ":"kiss: woman, woman","๐Ÿ’‘":"couple with heart","๐Ÿ‘ฉโ€โคโ€๐Ÿ‘จ":"couple with heart: woman, man","๐Ÿ‘จโ€โคโ€๐Ÿ‘จ":"couple with heart: man, man","๐Ÿ‘ฉโ€โคโ€๐Ÿ‘ฉ":"couple with heart: woman, woman","๐Ÿ‘ช":"family","๐Ÿ‘จโ€๐Ÿ‘ฉโ€๐Ÿ‘ฆ":"family: man, woman, boy","๐Ÿ‘จโ€๐Ÿ‘ฉโ€๐Ÿ‘ง":"family: man, woman, girl","๐Ÿ‘จโ€๐Ÿ‘ฉโ€๐Ÿ‘งโ€๐Ÿ‘ฆ":"family: man, woman, girl, boy","๐Ÿ‘จโ€๐Ÿ‘ฉโ€๐Ÿ‘ฆโ€๐Ÿ‘ฆ":"family: man, woman, boy, boy","๐Ÿ‘จโ€๐Ÿ‘ฉโ€๐Ÿ‘งโ€๐Ÿ‘ง":"family: man, woman, girl, girl","๐Ÿ‘จโ€๐Ÿ‘จโ€๐Ÿ‘ฆ":"family: man, man, boy","๐Ÿ‘จโ€๐Ÿ‘จโ€๐Ÿ‘ง":"family: man, man, girl","๐Ÿ‘จโ€๐Ÿ‘จโ€๐Ÿ‘งโ€๐Ÿ‘ฆ":"family: man, man, girl, boy","๐Ÿ‘จโ€๐Ÿ‘จโ€๐Ÿ‘ฆโ€๐Ÿ‘ฆ":"family: man, man, boy, boy","๐Ÿ‘จโ€๐Ÿ‘จโ€๐Ÿ‘งโ€๐Ÿ‘ง":"family: man, man, girl, girl","๐Ÿ‘ฉโ€๐Ÿ‘ฉโ€๐Ÿ‘ฆ":"family: woman, woman, boy","๐Ÿ‘ฉโ€๐Ÿ‘ฉโ€๐Ÿ‘ง":"family: woman, woman, girl","๐Ÿ‘ฉโ€๐Ÿ‘ฉโ€๐Ÿ‘งโ€๐Ÿ‘ฆ":"family: woman, woman, girl, boy","๐Ÿ‘ฉโ€๐Ÿ‘ฉโ€๐Ÿ‘ฆโ€๐Ÿ‘ฆ":"family: woman, woman, boy, boy","๐Ÿ‘ฉโ€๐Ÿ‘ฉโ€๐Ÿ‘งโ€๐Ÿ‘ง":"family: woman, woman, girl, girl","๐Ÿ‘จโ€๐Ÿ‘ฆ":"family: man, boy","๐Ÿ‘จโ€๐Ÿ‘ฆโ€๐Ÿ‘ฆ":"family: man, boy, boy","๐Ÿ‘จโ€๐Ÿ‘ง":"family: man, girl","๐Ÿ‘จโ€๐Ÿ‘งโ€๐Ÿ‘ฆ":"family: man, girl, boy","๐Ÿ‘จโ€๐Ÿ‘งโ€๐Ÿ‘ง":"family: man, girl, girl","๐Ÿ‘ฉโ€๐Ÿ‘ฆ":"family: woman, boy","๐Ÿ‘ฉโ€๐Ÿ‘ฆโ€๐Ÿ‘ฆ":"family: woman, boy, boy","๐Ÿ‘ฉโ€๐Ÿ‘ง":"family: woman, girl","๐Ÿ‘ฉโ€๐Ÿ‘งโ€๐Ÿ‘ฆ":"family: woman, girl, boy","๐Ÿ‘ฉโ€๐Ÿ‘งโ€๐Ÿ‘ง":"family: woman, girl, girl","๐Ÿ—ฃ":"speaking head","๐Ÿ‘ค":"bust in silhouette","๐Ÿ‘ฅ":"busts in silhouette","๐Ÿซ‚":"people hugging","๐Ÿ‘ฃ":"footprints","๐Ÿต":"monkey face","๐Ÿ’":"monkey","๐Ÿฆ":"gorilla","๐Ÿฆง":"orangutan","๐Ÿถ":"dog face","๐Ÿ•":"dog","๐Ÿฆฎ":"guide dog","๐Ÿ•โ€๐Ÿฆบ":"service dog","๐Ÿฉ":"poodle","๐Ÿบ":"wolf","๐ŸฆŠ":"fox","๐Ÿฆ":"raccoon","๐Ÿฑ":"cat face","๐Ÿˆ":"cat","๐Ÿˆโ€โฌ›":"black cat","๐Ÿฆ":"lion","๐Ÿฏ":"tiger face","๐Ÿ…":"tiger","๐Ÿ†":"leopard","๐Ÿด":"horse face","๐ŸซŽ":"moose","๐Ÿซ":"donkey","๐ŸŽ":"horse","๐Ÿฆ„":"unicorn","๐Ÿฆ“":"zebra","๐ŸฆŒ":"deer","๐Ÿฆฌ":"bison","๐Ÿฎ":"cow face","๐Ÿ‚":"ox","๐Ÿƒ":"water buffalo","๐Ÿ„":"cow","๐Ÿท":"pig face","๐Ÿ–":"pig","๐Ÿ—":"boar","๐Ÿฝ":"pig nose","๐Ÿ":"ram","๐Ÿ‘":"ewe","๐Ÿ":"goat","๐Ÿช":"camel","๐Ÿซ":"two-hump camel","๐Ÿฆ™":"llama","๐Ÿฆ’":"giraffe","๐Ÿ˜":"elephant","๐Ÿฆฃ":"mammoth","๐Ÿฆ":"rhinoceros","๐Ÿฆ›":"hippopotamus","๐Ÿญ":"mouse face","๐Ÿ":"mouse","๐Ÿ€":"rat","๐Ÿน":"hamster","๐Ÿฐ":"rabbit face","๐Ÿ‡":"rabbit","๐Ÿฟ":"chipmunk","๐Ÿฆซ":"beaver","๐Ÿฆ”":"hedgehog","๐Ÿฆ‡":"bat","๐Ÿป":"bear","๐Ÿปโ€โ„":"polar bear","๐Ÿจ":"koala","๐Ÿผ":"panda","๐Ÿฆฅ":"sloth","๐Ÿฆฆ":"otter","๐Ÿฆจ":"skunk","๐Ÿฆ˜":"kangaroo","๐Ÿฆก":"badger","๐Ÿพ":"paw prints","๐Ÿฆƒ":"turkey","๐Ÿ”":"chicken","๐Ÿ“":"rooster","๐Ÿฃ":"hatching chick","๐Ÿค":"baby chick","๐Ÿฅ":"front-facing baby chick","๐Ÿฆ":"bird","๐Ÿง":"penguin","๐Ÿ•Š":"dove","๐Ÿฆ…":"eagle","๐Ÿฆ†":"duck","๐Ÿฆข":"swan","๐Ÿฆ‰":"owl","๐Ÿฆค":"dodo","๐Ÿชถ":"feather","๐Ÿฆฉ":"flamingo","๐Ÿฆš":"peacock","๐Ÿฆœ":"parrot","๐Ÿชฝ":"wing","๐Ÿฆโ€โฌ›":"black bird","๐Ÿชฟ":"goose","๐Ÿธ":"frog","๐ŸŠ":"crocodile","๐Ÿข":"turtle","๐ŸฆŽ":"lizard","๐Ÿ":"snake","๐Ÿฒ":"dragon face","๐Ÿ‰":"dragon","๐Ÿฆ•":"sauropod","๐Ÿฆ–":"T-Rex","๐Ÿณ":"spouting whale","๐Ÿ‹":"whale","๐Ÿฌ":"dolphin","๐Ÿฆญ":"seal","๐ŸŸ":"fish","๐Ÿ ":"tropical fish","๐Ÿก":"blowfish","๐Ÿฆˆ":"shark","๐Ÿ™":"octopus","๐Ÿš":"spiral shell","๐Ÿชธ":"coral","๐Ÿชผ":"jellyfish","๐ŸŒ":"snail","๐Ÿฆ‹":"butterfly","๐Ÿ›":"bug","๐Ÿœ":"ant","๐Ÿ":"honeybee","๐Ÿชฒ":"beetle","๐Ÿž":"lady beetle","๐Ÿฆ—":"cricket","๐Ÿชณ":"cockroach","๐Ÿ•ท":"spider","๐Ÿ•ธ":"spider web","๐Ÿฆ‚":"scorpion","๐ŸฆŸ":"mosquito","๐Ÿชฐ":"fly","๐Ÿชฑ":"worm","๐Ÿฆ ":"microbe","๐Ÿ’":"bouquet","๐ŸŒธ":"cherry blossom","๐Ÿ’ฎ":"white flower","๐Ÿชท":"lotus","๐Ÿต":"rosette","๐ŸŒน":"rose","๐Ÿฅ€":"wilted flower","๐ŸŒบ":"hibiscus","๐ŸŒป":"sunflower","๐ŸŒผ":"blossom","๐ŸŒท":"tulip","๐Ÿชป":"hyacinth","๐ŸŒฑ":"seedling","๐Ÿชด":"potted plant","๐ŸŒฒ":"evergreen tree","๐ŸŒณ":"deciduous tree","๐ŸŒด":"palm tree","๐ŸŒต":"cactus","๐ŸŒพ":"sheaf of rice","๐ŸŒฟ":"herb","โ˜˜":"shamrock","๐Ÿ€":"four leaf clover","๐Ÿ":"maple leaf","๐Ÿ‚":"fallen leaf","๐Ÿƒ":"leaf fluttering in wind","๐Ÿชน":"empty nest","๐Ÿชบ":"nest with eggs","๐Ÿ„":"mushroom","๐Ÿ‡":"grapes","๐Ÿˆ":"melon","๐Ÿ‰":"watermelon","๐ŸŠ":"tangerine","๐Ÿ‹":"lemon","๐ŸŒ":"banana","๐Ÿ":"pineapple","๐Ÿฅญ":"mango","๐ŸŽ":"red apple","๐Ÿ":"green apple","๐Ÿ":"pear","๐Ÿ‘":"peach","๐Ÿ’":"cherries","๐Ÿ“":"strawberry","๐Ÿซ":"blueberries","๐Ÿฅ":"kiwi fruit","๐Ÿ…":"tomato","๐Ÿซ’":"olive","๐Ÿฅฅ":"coconut","๐Ÿฅ‘":"avocado","๐Ÿ†":"eggplant","๐Ÿฅ”":"potato","๐Ÿฅ•":"carrot","๐ŸŒฝ":"ear of corn","๐ŸŒถ":"hot pepper","๐Ÿซ‘":"bell pepper","๐Ÿฅ’":"cucumber","๐Ÿฅฌ":"leafy green","๐Ÿฅฆ":"broccoli","๐Ÿง„":"garlic","๐Ÿง…":"onion","๐Ÿฅœ":"peanuts","๐Ÿซ˜":"beans","๐ŸŒฐ":"chestnut","๐Ÿซš":"ginger root","๐Ÿซ›":"pea pod","๐Ÿž":"bread","๐Ÿฅ":"croissant","๐Ÿฅ–":"baguette bread","๐Ÿซ“":"flatbread","๐Ÿฅจ":"pretzel","๐Ÿฅฏ":"bagel","๐Ÿฅž":"pancakes","๐Ÿง‡":"waffle","๐Ÿง€":"cheese wedge","๐Ÿ–":"meat on bone","๐Ÿ—":"poultry leg","๐Ÿฅฉ":"cut of meat","๐Ÿฅ“":"bacon","๐Ÿ”":"hamburger","๐ŸŸ":"french fries","๐Ÿ•":"pizza","๐ŸŒญ":"hot dog","๐Ÿฅช":"sandwich","๐ŸŒฎ":"taco","๐ŸŒฏ":"burrito","๐Ÿซ”":"tamale","๐Ÿฅ™":"stuffed flatbread","๐Ÿง†":"falafel","๐Ÿฅš":"egg","๐Ÿณ":"cooking","๐Ÿฅ˜":"shallow pan of food","๐Ÿฒ":"pot of food","๐Ÿซ•":"fondue","๐Ÿฅฃ":"bowl with spoon","๐Ÿฅ—":"green salad","๐Ÿฟ":"popcorn","๐Ÿงˆ":"butter","๐Ÿง‚":"salt","๐Ÿฅซ":"canned food","๐Ÿฑ":"bento box","๐Ÿ˜":"rice cracker","๐Ÿ™":"rice ball","๐Ÿš":"cooked rice","๐Ÿ›":"curry rice","๐Ÿœ":"steaming bowl","๐Ÿ":"spaghetti","๐Ÿ ":"roasted sweet potato","๐Ÿข":"oden","๐Ÿฃ":"sushi","๐Ÿค":"fried shrimp","๐Ÿฅ":"fish cake with swirl","๐Ÿฅฎ":"moon cake","๐Ÿก":"dango","๐ŸฅŸ":"dumpling","๐Ÿฅ ":"fortune cookie","๐Ÿฅก":"takeout box","๐Ÿฆ€":"crab","๐Ÿฆž":"lobster","๐Ÿฆ":"shrimp","๐Ÿฆ‘":"squid","๐Ÿฆช":"oyster","๐Ÿฆ":"soft ice cream","๐Ÿง":"shaved ice","๐Ÿจ":"ice cream","๐Ÿฉ":"doughnut","๐Ÿช":"cookie","๐ŸŽ‚":"birthday cake","๐Ÿฐ":"shortcake","๐Ÿง":"cupcake","๐Ÿฅง":"pie","๐Ÿซ":"chocolate bar","๐Ÿฌ":"candy","๐Ÿญ":"lollipop","๐Ÿฎ":"custard","๐Ÿฏ":"honey pot","๐Ÿผ":"baby bottle","๐Ÿฅ›":"glass of milk","โ˜•":"hot beverage","๐Ÿซ–":"teapot","๐Ÿต":"teacup without handle","๐Ÿถ":"sake","๐Ÿพ":"bottle with popping cork","๐Ÿท":"wine glass","๐Ÿธ":"cocktail glass","๐Ÿน":"tropical drink","๐Ÿบ":"beer mug","๐Ÿป":"clinking beer mugs","๐Ÿฅ‚":"clinking glasses","๐Ÿฅƒ":"tumbler glass","๐Ÿซ—":"pouring liquid","๐Ÿฅค":"cup with straw","๐Ÿง‹":"bubble tea","๐Ÿงƒ":"beverage box","๐Ÿง‰":"mate","๐ŸงŠ":"ice","๐Ÿฅข":"chopsticks","๐Ÿฝ":"fork and knife with plate","๐Ÿด":"fork and knife","๐Ÿฅ„":"spoon","๐Ÿ”ช":"kitchen knife","๐Ÿซ™":"jar","๐Ÿบ":"amphora","๐ŸŒ":"globe showing Europe-Africa","๐ŸŒŽ":"globe showing Americas","๐ŸŒ":"globe showing Asia-Australia","๐ŸŒ":"globe with meridians","๐Ÿ—บ":"world map","๐Ÿ—พ":"map of Japan","๐Ÿงญ":"compass","๐Ÿ”":"snow-capped mountain","โ›ฐ":"mountain","๐ŸŒ‹":"volcano","๐Ÿ—ป":"mount fuji","๐Ÿ•":"camping","๐Ÿ–":"beach with umbrella","๐Ÿœ":"desert","๐Ÿ":"desert island","๐Ÿž":"national park","๐ŸŸ":"stadium","๐Ÿ›":"classical building","๐Ÿ—":"building construction","๐Ÿงฑ":"brick","๐Ÿชจ":"rock","๐Ÿชต":"wood","๐Ÿ›–":"hut","๐Ÿ˜":"houses","๐Ÿš":"derelict house","๐Ÿ ":"house","๐Ÿก":"house with garden","๐Ÿข":"office building","๐Ÿฃ":"Japanese post office","๐Ÿค":"post office","๐Ÿฅ":"hospital","๐Ÿฆ":"bank","๐Ÿจ":"hotel","๐Ÿฉ":"love hotel","๐Ÿช":"convenience store","๐Ÿซ":"school","๐Ÿฌ":"department store","๐Ÿญ":"factory","๐Ÿฏ":"Japanese castle","๐Ÿฐ":"castle","๐Ÿ’’":"wedding","๐Ÿ—ผ":"Tokyo tower","๐Ÿ—ฝ":"Statue of Liberty","โ›ช":"church","๐Ÿ•Œ":"mosque","๐Ÿ›•":"hindu temple","๐Ÿ•":"synagogue","โ›ฉ":"shinto shrine","๐Ÿ•‹":"kaaba","โ›ฒ":"fountain","โ›บ":"tent","๐ŸŒ":"foggy","๐ŸŒƒ":"night with stars","๐Ÿ™":"cityscape","๐ŸŒ„":"sunrise over mountains","๐ŸŒ…":"sunrise","๐ŸŒ†":"cityscape at dusk","๐ŸŒ‡":"sunset","๐ŸŒ‰":"bridge at night","โ™จ":"hot springs","๐ŸŽ ":"carousel horse","๐Ÿ›":"playground slide","๐ŸŽก":"ferris wheel","๐ŸŽข":"roller coaster","๐Ÿ’ˆ":"barber pole","๐ŸŽช":"circus tent","๐Ÿš‚":"locomotive","๐Ÿšƒ":"railway car","๐Ÿš„":"high-speed train","๐Ÿš…":"bullet train","๐Ÿš†":"train","๐Ÿš‡":"metro","๐Ÿšˆ":"light rail","๐Ÿš‰":"station","๐ŸšŠ":"tram","๐Ÿš":"monorail","๐Ÿšž":"mountain railway","๐Ÿš‹":"tram car","๐ŸšŒ":"bus","๐Ÿš":"oncoming bus","๐ŸšŽ":"trolleybus","๐Ÿš":"minibus","๐Ÿš‘":"ambulance","๐Ÿš’":"fire engine","๐Ÿš“":"police car","๐Ÿš”":"oncoming police car","๐Ÿš•":"taxi","๐Ÿš–":"oncoming taxi","๐Ÿš—":"automobile","๐Ÿš˜":"oncoming automobile","๐Ÿš™":"sport utility vehicle","๐Ÿ›ป":"pickup truck","๐Ÿšš":"delivery truck","๐Ÿš›":"articulated lorry","๐Ÿšœ":"tractor","๐ŸŽ":"racing car","๐Ÿ":"motorcycle","๐Ÿ›ต":"motor scooter","๐Ÿฆฝ":"manual wheelchair","๐Ÿฆผ":"motorized wheelchair","๐Ÿ›บ":"auto rickshaw","๐Ÿšฒ":"bicycle","๐Ÿ›ด":"kick scooter","๐Ÿ›น":"skateboard","๐Ÿ›ผ":"roller skate","๐Ÿš":"bus stop","๐Ÿ›ฃ":"motorway","๐Ÿ›ค":"railway track","๐Ÿ›ข":"oil drum","โ›ฝ":"fuel pump","๐Ÿ›ž":"wheel","๐Ÿšจ":"police car light","๐Ÿšฅ":"horizontal traffic light","๐Ÿšฆ":"vertical traffic light","๐Ÿ›‘":"stop sign","๐Ÿšง":"construction","โš“":"anchor","๐Ÿ›Ÿ":"ring buoy","โ›ต":"sailboat","๐Ÿ›ถ":"canoe","๐Ÿšค":"speedboat","๐Ÿ›ณ":"passenger ship","โ›ด":"ferry","๐Ÿ›ฅ":"motor boat","๐Ÿšข":"ship","โœˆ":"airplane","๐Ÿ›ฉ":"small airplane","๐Ÿ›ซ":"airplane departure","๐Ÿ›ฌ":"airplane arrival","๐Ÿช‚":"parachute","๐Ÿ’บ":"seat","๐Ÿš":"helicopter","๐ŸšŸ":"suspension railway","๐Ÿš ":"mountain cableway","๐Ÿšก":"aerial tramway","๐Ÿ›ฐ":"satellite","๐Ÿš€":"rocket","๐Ÿ›ธ":"flying saucer","๐Ÿ›Ž":"bellhop bell","๐Ÿงณ":"luggage","โŒ›":"hourglass done","โณ":"hourglass not done","โŒš":"watch","โฐ":"alarm clock","โฑ":"stopwatch","โฒ":"timer clock","๐Ÿ•ฐ":"mantelpiece clock","๐Ÿ•›":"twelve oโ€™clock","๐Ÿ•ง":"twelve-thirty","๐Ÿ•":"one oโ€™clock","๐Ÿ•œ":"one-thirty","๐Ÿ•‘":"two oโ€™clock","๐Ÿ•":"two-thirty","๐Ÿ•’":"three oโ€™clock","๐Ÿ•ž":"three-thirty","๐Ÿ•“":"four oโ€™clock","๐Ÿ•Ÿ":"four-thirty","๐Ÿ•”":"five oโ€™clock","๐Ÿ• ":"five-thirty","๐Ÿ••":"six oโ€™clock","๐Ÿ•ก":"six-thirty","๐Ÿ•–":"seven oโ€™clock","๐Ÿ•ข":"seven-thirty","๐Ÿ•—":"eight oโ€™clock","๐Ÿ•ฃ":"eight-thirty","๐Ÿ•˜":"nine oโ€™clock","๐Ÿ•ค":"nine-thirty","๐Ÿ•™":"ten oโ€™clock","๐Ÿ•ฅ":"ten-thirty","๐Ÿ•š":"eleven oโ€™clock","๐Ÿ•ฆ":"eleven-thirty","๐ŸŒ‘":"new moon","๐ŸŒ’":"waxing crescent moon","๐ŸŒ“":"first quarter moon","๐ŸŒ”":"waxing gibbous moon","๐ŸŒ•":"full moon","๐ŸŒ–":"waning gibbous moon","๐ŸŒ—":"last quarter moon","๐ŸŒ˜":"waning crescent moon","๐ŸŒ™":"crescent moon","๐ŸŒš":"new moon face","๐ŸŒ›":"first quarter moon face","๐ŸŒœ":"last quarter moon face","๐ŸŒก":"thermometer","โ˜€":"sun","๐ŸŒ":"full moon face","๐ŸŒž":"sun with face","๐Ÿช":"ringed planet","โญ":"star","๐ŸŒŸ":"glowing star","๐ŸŒ ":"shooting star","๐ŸŒŒ":"milky way","โ˜":"cloud","โ›…":"sun behind cloud","โ›ˆ":"cloud with lightning and rain","๐ŸŒค":"sun behind small cloud","๐ŸŒฅ":"sun behind large cloud","๐ŸŒฆ":"sun behind rain cloud","๐ŸŒง":"cloud with rain","๐ŸŒจ":"cloud with snow","๐ŸŒฉ":"cloud with lightning","๐ŸŒช":"tornado","๐ŸŒซ":"fog","๐ŸŒฌ":"wind face","๐ŸŒ€":"cyclone","๐ŸŒˆ":"rainbow","๐ŸŒ‚":"closed umbrella","โ˜‚":"umbrella","โ˜”":"umbrella with rain drops","โ›ฑ":"umbrella on ground","โšก":"high voltage","โ„":"snowflake","โ˜ƒ":"snowman","โ›„":"snowman without snow","โ˜„":"comet","๐Ÿ”ฅ":"fire","๐Ÿ’ง":"droplet","๐ŸŒŠ":"water wave","๐ŸŽƒ":"jack-o-lantern","๐ŸŽ„":"Christmas tree","๐ŸŽ†":"fireworks","๐ŸŽ‡":"sparkler","๐Ÿงจ":"firecracker","โœจ":"sparkles","๐ŸŽˆ":"balloon","๐ŸŽ‰":"party popper","๐ŸŽŠ":"confetti ball","๐ŸŽ‹":"tanabata tree","๐ŸŽ":"pine decoration","๐ŸŽŽ":"Japanese dolls","๐ŸŽ":"carp streamer","๐ŸŽ":"wind chime","๐ŸŽ‘":"moon viewing ceremony","๐Ÿงง":"red envelope","๐ŸŽ€":"ribbon","๐ŸŽ":"wrapped gift","๐ŸŽ—":"reminder ribbon","๐ŸŽŸ":"admission tickets","๐ŸŽซ":"ticket","๐ŸŽ–":"military medal","๐Ÿ†":"trophy","๐Ÿ…":"sports medal","๐Ÿฅ‡":"1st place medal","๐Ÿฅˆ":"2nd place medal","๐Ÿฅ‰":"3rd place medal","โšฝ":"soccer ball","โšพ":"baseball","๐ŸฅŽ":"softball","๐Ÿ€":"basketball","๐Ÿ":"volleyball","๐Ÿˆ":"american football","๐Ÿ‰":"rugby football","๐ŸŽพ":"tennis","๐Ÿฅ":"flying disc","๐ŸŽณ":"bowling","๐Ÿ":"cricket game","๐Ÿ‘":"field hockey","๐Ÿ’":"ice hockey","๐Ÿฅ":"lacrosse","๐Ÿ“":"ping pong","๐Ÿธ":"badminton","๐ŸฅŠ":"boxing glove","๐Ÿฅ‹":"martial arts uniform","๐Ÿฅ…":"goal net","โ›ณ":"flag in hole","โ›ธ":"ice skate","๐ŸŽฃ":"fishing pole","๐Ÿคฟ":"diving mask","๐ŸŽฝ":"running shirt","๐ŸŽฟ":"skis","๐Ÿ›ท":"sled","๐ŸฅŒ":"curling stone","๐ŸŽฏ":"bullseye","๐Ÿช€":"yo-yo","๐Ÿช":"kite","๐Ÿ”ซ":"water pistol","๐ŸŽฑ":"pool 8 ball","๐Ÿ”ฎ":"crystal ball","๐Ÿช„":"magic wand","๐ŸŽฎ":"video game","๐Ÿ•น":"joystick","๐ŸŽฐ":"slot machine","๐ŸŽฒ":"game die","๐Ÿงฉ":"puzzle piece","๐Ÿงธ":"teddy bear","๐Ÿช…":"piรฑata","๐Ÿชฉ":"mirror ball","๐Ÿช†":"nesting dolls","โ™ ":"spade suit","โ™ฅ":"heart suit","โ™ฆ":"diamond suit","โ™ฃ":"club suit","โ™Ÿ":"chess pawn","๐Ÿƒ":"joker","๐Ÿ€„":"mahjong red dragon","๐ŸŽด":"flower playing cards","๐ŸŽญ":"performing arts","๐Ÿ–ผ":"framed picture","๐ŸŽจ":"artist palette","๐Ÿงต":"thread","๐Ÿชก":"sewing needle","๐Ÿงถ":"yarn","๐Ÿชข":"knot","๐Ÿ‘“":"glasses","๐Ÿ•ถ":"sunglasses","๐Ÿฅฝ":"goggles","๐Ÿฅผ":"lab coat","๐Ÿฆบ":"safety vest","๐Ÿ‘”":"necktie","๐Ÿ‘•":"t-shirt","๐Ÿ‘–":"jeans","๐Ÿงฃ":"scarf","๐Ÿงค":"gloves","๐Ÿงฅ":"coat","๐Ÿงฆ":"socks","๐Ÿ‘—":"dress","๐Ÿ‘˜":"kimono","๐Ÿฅป":"sari","๐Ÿฉฑ":"one-piece swimsuit","๐Ÿฉฒ":"briefs","๐Ÿฉณ":"shorts","๐Ÿ‘™":"bikini","๐Ÿ‘š":"womanโ€™s clothes","๐Ÿชญ":"folding hand fan","๐Ÿ‘›":"purse","๐Ÿ‘œ":"handbag","๐Ÿ‘":"clutch bag","๐Ÿ›":"shopping bags","๐ŸŽ’":"backpack","๐Ÿฉด":"thong sandal","๐Ÿ‘ž":"manโ€™s shoe","๐Ÿ‘Ÿ":"running shoe","๐Ÿฅพ":"hiking boot","๐Ÿฅฟ":"flat shoe","๐Ÿ‘ ":"high-heeled shoe","๐Ÿ‘ก":"womanโ€™s sandal","๐Ÿฉฐ":"ballet shoes","๐Ÿ‘ข":"womanโ€™s boot","๐Ÿชฎ":"hair pick","๐Ÿ‘‘":"crown","๐Ÿ‘’":"womanโ€™s hat","๐ŸŽฉ":"top hat","๐ŸŽ“":"graduation cap","๐Ÿงข":"billed cap","๐Ÿช–":"military helmet","โ›‘":"rescue workerโ€™s helmet","๐Ÿ“ฟ":"prayer beads","๐Ÿ’„":"lipstick","๐Ÿ’":"ring","๐Ÿ’Ž":"gem stone","๐Ÿ”‡":"muted speaker","๐Ÿ”ˆ":"speaker low volume","๐Ÿ”‰":"speaker medium volume","๐Ÿ”Š":"speaker high volume","๐Ÿ“ข":"loudspeaker","๐Ÿ“ฃ":"megaphone","๐Ÿ“ฏ":"postal horn","๐Ÿ””":"bell","๐Ÿ”•":"bell with slash","๐ŸŽผ":"musical score","๐ŸŽต":"musical note","๐ŸŽถ":"musical notes","๐ŸŽ™":"studio microphone","๐ŸŽš":"level slider","๐ŸŽ›":"control knobs","๐ŸŽค":"microphone","๐ŸŽง":"headphone","๐Ÿ“ป":"radio","๐ŸŽท":"saxophone","๐Ÿช—":"accordion","๐ŸŽธ":"guitar","๐ŸŽน":"musical keyboard","๐ŸŽบ":"trumpet","๐ŸŽป":"violin","๐Ÿช•":"banjo","๐Ÿฅ":"drum","๐Ÿช˜":"long drum","๐Ÿช‡":"maracas","๐Ÿชˆ":"flute","๐Ÿ“ฑ":"mobile phone","๐Ÿ“ฒ":"mobile phone with arrow","โ˜Ž":"telephone","๐Ÿ“ž":"telephone receiver","๐Ÿ“Ÿ":"pager","๐Ÿ“ ":"fax machine","๐Ÿ”‹":"battery","๐Ÿชซ":"low battery","๐Ÿ”Œ":"electric plug","๐Ÿ’ป":"laptop","๐Ÿ–ฅ":"desktop computer","๐Ÿ–จ":"printer","โŒจ":"keyboard","๐Ÿ–ฑ":"computer mouse","๐Ÿ–ฒ":"trackball","๐Ÿ’ฝ":"computer disk","๐Ÿ’พ":"floppy disk","๐Ÿ’ฟ":"optical disk","๐Ÿ“€":"dvd","๐Ÿงฎ":"abacus","๐ŸŽฅ":"movie camera","๐ŸŽž":"film frames","๐Ÿ“ฝ":"film projector","๐ŸŽฌ":"clapper board","๐Ÿ“บ":"television","๐Ÿ“ท":"camera","๐Ÿ“ธ":"camera with flash","๐Ÿ“น":"video camera","๐Ÿ“ผ":"videocassette","๐Ÿ”":"magnifying glass tilted left","๐Ÿ”Ž":"magnifying glass tilted right","๐Ÿ•ฏ":"candle","๐Ÿ’ก":"light bulb","๐Ÿ”ฆ":"flashlight","๐Ÿฎ":"red paper lantern","๐Ÿช”":"diya lamp","๐Ÿ“”":"notebook with decorative cover","๐Ÿ“•":"closed book","๐Ÿ“–":"open book","๐Ÿ“—":"green book","๐Ÿ“˜":"blue book","๐Ÿ“™":"orange book","๐Ÿ“š":"books","๐Ÿ““":"notebook","๐Ÿ“’":"ledger","๐Ÿ“ƒ":"page with curl","๐Ÿ“œ":"scroll","๐Ÿ“„":"page facing up","๐Ÿ“ฐ":"newspaper","๐Ÿ—ž":"rolled-up newspaper","๐Ÿ“‘":"bookmark tabs","๐Ÿ”–":"bookmark","๐Ÿท":"label","๐Ÿ’ฐ":"money bag","๐Ÿช™":"coin","๐Ÿ’ด":"yen banknote","๐Ÿ’ต":"dollar banknote","๐Ÿ’ถ":"euro banknote","๐Ÿ’ท":"pound banknote","๐Ÿ’ธ":"money with wings","๐Ÿ’ณ":"credit card","๐Ÿงพ":"receipt","๐Ÿ’น":"chart increasing with yen","โœ‰":"envelope","๐Ÿ“ง":"e-mail","๐Ÿ“จ":"incoming envelope","๐Ÿ“ฉ":"envelope with arrow","๐Ÿ“ค":"outbox tray","๐Ÿ“ฅ":"inbox tray","๐Ÿ“ฆ":"package","๐Ÿ“ซ":"closed mailbox with raised flag","๐Ÿ“ช":"closed mailbox with lowered flag","๐Ÿ“ฌ":"open mailbox with raised flag","๐Ÿ“ญ":"open mailbox with lowered flag","๐Ÿ“ฎ":"postbox","๐Ÿ—ณ":"ballot box with ballot","โœ":"pencil","โœ’":"black nib","๐Ÿ–‹":"fountain pen","๐Ÿ–Š":"pen","๐Ÿ–Œ":"paintbrush","๐Ÿ–":"crayon","๐Ÿ“":"memo","๐Ÿ’ผ":"briefcase","๐Ÿ“":"file folder","๐Ÿ“‚":"open file folder","๐Ÿ—‚":"card index dividers","๐Ÿ“…":"calendar","๐Ÿ“†":"tear-off calendar","๐Ÿ—’":"spiral notepad","๐Ÿ—“":"spiral calendar","๐Ÿ“‡":"card index","๐Ÿ“ˆ":"chart increasing","๐Ÿ“‰":"chart decreasing","๐Ÿ“Š":"bar chart","๐Ÿ“‹":"clipboard","๐Ÿ“Œ":"pushpin","๐Ÿ“":"round pushpin","๐Ÿ“Ž":"paperclip","๐Ÿ–‡":"linked paperclips","๐Ÿ“":"straight ruler","๐Ÿ“":"triangular ruler","โœ‚":"scissors","๐Ÿ—ƒ":"card file box","๐Ÿ—„":"file cabinet","๐Ÿ—‘":"wastebasket","๐Ÿ”’":"locked","๐Ÿ”“":"unlocked","๐Ÿ”":"locked with pen","๐Ÿ”":"locked with key","๐Ÿ”‘":"key","๐Ÿ—":"old key","๐Ÿ”จ":"hammer","๐Ÿช“":"axe","โ›":"pick","โš’":"hammer and pick","๐Ÿ› ":"hammer and wrench","๐Ÿ—ก":"dagger","โš”":"crossed swords","๐Ÿ’ฃ":"bomb","๐Ÿชƒ":"boomerang","๐Ÿน":"bow and arrow","๐Ÿ›ก":"shield","๐Ÿชš":"carpentry saw","๐Ÿ”ง":"wrench","๐Ÿช›":"screwdriver","๐Ÿ”ฉ":"nut and bolt","โš™":"gear","๐Ÿ—œ":"clamp","โš–":"balance scale","๐Ÿฆฏ":"white cane","๐Ÿ”—":"link","โ›“":"chains","๐Ÿช":"hook","๐Ÿงฐ":"toolbox","๐Ÿงฒ":"magnet","๐Ÿชœ":"ladder","โš—":"alembic","๐Ÿงช":"test tube","๐Ÿงซ":"petri dish","๐Ÿงฌ":"dna","๐Ÿ”ฌ":"microscope","๐Ÿ”ญ":"telescope","๐Ÿ“ก":"satellite antenna","๐Ÿ’‰":"syringe","๐Ÿฉธ":"drop of blood","๐Ÿ’Š":"pill","๐Ÿฉน":"adhesive bandage","๐Ÿฉผ":"crutch","๐Ÿฉบ":"stethoscope","๐Ÿฉป":"x-ray","๐Ÿšช":"door","๐Ÿ›—":"elevator","๐Ÿชž":"mirror","๐ŸชŸ":"window","๐Ÿ›":"bed","๐Ÿ›‹":"couch and lamp","๐Ÿช‘":"chair","๐Ÿšฝ":"toilet","๐Ÿช ":"plunger","๐Ÿšฟ":"shower","๐Ÿ›":"bathtub","๐Ÿชค":"mouse trap","๐Ÿช’":"razor","๐Ÿงด":"lotion bottle","๐Ÿงท":"safety pin","๐Ÿงน":"broom","๐Ÿงบ":"basket","๐Ÿงป":"roll of paper","๐Ÿชฃ":"bucket","๐Ÿงผ":"soap","๐Ÿซง":"bubbles","๐Ÿชฅ":"toothbrush","๐Ÿงฝ":"sponge","๐Ÿงฏ":"fire extinguisher","๐Ÿ›’":"shopping cart","๐Ÿšฌ":"cigarette","โšฐ":"coffin","๐Ÿชฆ":"headstone","โšฑ":"funeral urn","๐Ÿงฟ":"nazar amulet","๐Ÿชฌ":"hamsa","๐Ÿ—ฟ":"moai","๐Ÿชง":"placard","๐Ÿชช":"identification card","๐Ÿง":"ATM sign","๐Ÿšฎ":"litter in bin sign","๐Ÿšฐ":"potable water","โ™ฟ":"wheelchair symbol","๐Ÿšน":"menโ€™s room","๐Ÿšบ":"womenโ€™s room","๐Ÿšป":"restroom","๐Ÿšผ":"baby symbol","๐Ÿšพ":"water closet","๐Ÿ›‚":"passport control","๐Ÿ›ƒ":"customs","๐Ÿ›„":"baggage claim","๐Ÿ›…":"left luggage","โš ":"warning","๐Ÿšธ":"children crossing","โ›”":"no entry","๐Ÿšซ":"prohibited","๐Ÿšณ":"no bicycles","๐Ÿšญ":"no smoking","๐Ÿšฏ":"no littering","๐Ÿšฑ":"non-potable water","๐Ÿšท":"no pedestrians","๐Ÿ“ต":"no mobile phones","๐Ÿ”ž":"no one under eighteen","โ˜ข":"radioactive","โ˜ฃ":"biohazard","โฌ†":"up arrow","โ†—":"up-right arrow","โžก":"right arrow","โ†˜":"down-right arrow","โฌ‡":"down arrow","โ†™":"down-left arrow","โฌ…":"left arrow","โ†–":"up-left arrow","โ†•":"up-down arrow","โ†”":"left-right arrow","โ†ฉ":"right arrow curving left","โ†ช":"left arrow curving right","โคด":"right arrow curving up","โคต":"right arrow curving down","๐Ÿ”ƒ":"clockwise vertical arrows","๐Ÿ”„":"counterclockwise arrows button","๐Ÿ”™":"BACK arrow","๐Ÿ”š":"END arrow","๐Ÿ”›":"ON! arrow","๐Ÿ”œ":"SOON arrow","๐Ÿ”":"TOP arrow","๐Ÿ›":"place of worship","โš›":"atom symbol","๐Ÿ•‰":"om","โœก":"star of David","โ˜ธ":"wheel of dharma","โ˜ฏ":"yin yang","โœ":"latin cross","โ˜ฆ":"orthodox cross","โ˜ช":"star and crescent","โ˜ฎ":"peace symbol","๐Ÿ•Ž":"menorah","๐Ÿ”ฏ":"dotted six-pointed star","๐Ÿชฏ":"khanda","โ™ˆ":"Aries","โ™‰":"Taurus","โ™Š":"Gemini","โ™‹":"Cancer","โ™Œ":"Leo","โ™":"Virgo","โ™Ž":"Libra","โ™":"Scorpio","โ™":"Sagittarius","โ™‘":"Capricorn","โ™’":"Aquarius","โ™“":"Pisces","โ›Ž":"Ophiuchus","๐Ÿ”€":"shuffle tracks button","๐Ÿ”":"repeat button","๐Ÿ”‚":"repeat single button","โ–ถ":"play button","โฉ":"fast-forward button","โญ":"next track button","โฏ":"play or pause button","โ—€":"reverse button","โช":"fast reverse button","โฎ":"last track button","๐Ÿ”ผ":"upwards button","โซ":"fast up button","๐Ÿ”ฝ":"downwards button","โฌ":"fast down button","โธ":"pause button","โน":"stop button","โบ":"record button","โ":"eject button","๐ŸŽฆ":"cinema","๐Ÿ”…":"dim button","๐Ÿ”†":"bright button","๐Ÿ“ถ":"antenna bars","๐Ÿ›œ":"wireless","๐Ÿ“ณ":"vibration mode","๐Ÿ“ด":"mobile phone off","โ™€":"female sign","โ™‚":"male sign","โšง":"transgender symbol","โœ–":"multiply","โž•":"plus","โž–":"minus","โž—":"divide","๐ŸŸฐ":"heavy equals sign","โ™พ":"infinity","โ€ผ":"double exclamation mark","โ‰":"exclamation question mark","โ“":"red question mark","โ”":"white question mark","โ•":"white exclamation mark","โ—":"red exclamation mark","ใ€ฐ":"wavy dash","๐Ÿ’ฑ":"currency exchange","๐Ÿ’ฒ":"heavy dollar sign","โš•":"medical symbol","โ™ป":"recycling symbol","โšœ":"fleur-de-lis","๐Ÿ”ฑ":"trident emblem","๐Ÿ“›":"name badge","๐Ÿ”ฐ":"Japanese symbol for beginner","โญ•":"hollow red circle","โœ…":"check mark button","โ˜‘":"check box with check","โœ”":"check mark","โŒ":"cross mark","โŽ":"cross mark button","โžฐ":"curly loop","โžฟ":"double curly loop","ใ€ฝ":"part alternation mark","โœณ":"eight-spoked asterisk","โœด":"eight-pointed star","โ‡":"sparkle","ยฉ":"copyright","ยฎ":"registered","โ„ข":"trade mark","#โƒฃ":"keycap: #","*โƒฃ":"keycap: *","0โƒฃ":"keycap: 0","1โƒฃ":"keycap: 1","2โƒฃ":"keycap: 2","3โƒฃ":"keycap: 3","4โƒฃ":"keycap: 4","5โƒฃ":"keycap: 5","6โƒฃ":"keycap: 6","7โƒฃ":"keycap: 7","8โƒฃ":"keycap: 8","9โƒฃ":"keycap: 9","๐Ÿ”Ÿ":"keycap: 10","๐Ÿ” ":"input latin uppercase","๐Ÿ”ก":"input latin lowercase","๐Ÿ”ข":"input numbers","๐Ÿ”ฃ":"input symbols","๐Ÿ”ค":"input latin letters","๐Ÿ…ฐ":"A button (blood type)","๐Ÿ†Ž":"AB button (blood type)","๐Ÿ…ฑ":"B button (blood type)","๐Ÿ†‘":"CL button","๐Ÿ†’":"COOL button","๐Ÿ†“":"FREE button","โ„น":"information","๐Ÿ†”":"ID button","โ“‚":"circled M","๐Ÿ†•":"NEW button","๐Ÿ†–":"NG button","๐Ÿ…พ":"O button (blood type)","๐Ÿ†—":"OK button","๐Ÿ…ฟ":"P button","๐Ÿ†˜":"SOS button","๐Ÿ†™":"UP! button","๐Ÿ†š":"VS button","๐Ÿˆ":"Japanese โ€œhereโ€ button","๐Ÿˆ‚":"Japanese โ€œservice chargeโ€ button","๐Ÿˆท":"Japanese โ€œmonthly amountโ€ button","๐Ÿˆถ":"Japanese โ€œnot free of chargeโ€ button","๐Ÿˆฏ":"Japanese โ€œreservedโ€ button","๐Ÿ‰":"Japanese โ€œbargainโ€ button","๐Ÿˆน":"Japanese โ€œdiscountโ€ button","๐Ÿˆš":"Japanese โ€œfree of chargeโ€ button","๐Ÿˆฒ":"Japanese โ€œprohibitedโ€ button","๐Ÿ‰‘":"Japanese โ€œacceptableโ€ button","๐Ÿˆธ":"Japanese โ€œapplicationโ€ button","๐Ÿˆด":"Japanese โ€œpassing gradeโ€ button","๐Ÿˆณ":"Japanese โ€œvacancyโ€ button","ใŠ—":"Japanese โ€œcongratulationsโ€ button","ใŠ™":"Japanese โ€œsecretโ€ button","๐Ÿˆบ":"Japanese โ€œopen for businessโ€ button","๐Ÿˆต":"Japanese โ€œno vacancyโ€ button","๐Ÿ”ด":"red circle","๐ŸŸ ":"orange circle","๐ŸŸก":"yellow circle","๐ŸŸข":"green circle","๐Ÿ”ต":"blue circle","๐ŸŸฃ":"purple circle","๐ŸŸค":"brown circle","โšซ":"black circle","โšช":"white circle","๐ŸŸฅ":"red square","๐ŸŸง":"orange square","๐ŸŸจ":"yellow square","๐ŸŸฉ":"green square","๐ŸŸฆ":"blue square","๐ŸŸช":"purple square","๐ŸŸซ":"brown square","โฌ›":"black large square","โฌœ":"white large square","โ—ผ":"black medium square","โ—ป":"white medium square","โ—พ":"black medium-small square","โ—ฝ":"white medium-small square","โ–ช":"black small square","โ–ซ":"white small square","๐Ÿ”ถ":"large orange diamond","๐Ÿ”ท":"large blue diamond","๐Ÿ”ธ":"small orange diamond","๐Ÿ”น":"small blue diamond","๐Ÿ”บ":"red triangle pointed up","๐Ÿ”ป":"red triangle pointed down","๐Ÿ’ ":"diamond with a dot","๐Ÿ”˜":"radio button","๐Ÿ”ณ":"white square button","๐Ÿ”ฒ":"black square button","๐Ÿ":"chequered flag","๐Ÿšฉ":"triangular flag","๐ŸŽŒ":"crossed flags","๐Ÿด":"black flag","๐Ÿณ":"white flag","๐Ÿณโ€๐ŸŒˆ":"rainbow flag","๐Ÿณโ€โšง":"transgender flag","๐Ÿดโ€โ˜ ":"pirate flag","๐Ÿ‡ฆ๐Ÿ‡จ":"flag: Ascension Island","๐Ÿ‡ฆ๐Ÿ‡ฉ":"flag: Andorra","๐Ÿ‡ฆ๐Ÿ‡ช":"flag: United Arab Emirates","๐Ÿ‡ฆ๐Ÿ‡ซ":"flag: Afghanistan","๐Ÿ‡ฆ๐Ÿ‡ฌ":"flag: Antigua & Barbuda","๐Ÿ‡ฆ๐Ÿ‡ฎ":"flag: Anguilla","๐Ÿ‡ฆ๐Ÿ‡ฑ":"flag: Albania","๐Ÿ‡ฆ๐Ÿ‡ฒ":"flag: Armenia","๐Ÿ‡ฆ๐Ÿ‡ด":"flag: Angola","๐Ÿ‡ฆ๐Ÿ‡ถ":"flag: Antarctica","๐Ÿ‡ฆ๐Ÿ‡ท":"flag: Argentina","๐Ÿ‡ฆ๐Ÿ‡ธ":"flag: American Samoa","๐Ÿ‡ฆ๐Ÿ‡น":"flag: Austria","๐Ÿ‡ฆ๐Ÿ‡บ":"flag: Australia","๐Ÿ‡ฆ๐Ÿ‡ผ":"flag: Aruba","๐Ÿ‡ฆ๐Ÿ‡ฝ":"flag: ร…land Islands","๐Ÿ‡ฆ๐Ÿ‡ฟ":"flag: Azerbaijan","๐Ÿ‡ง๐Ÿ‡ฆ":"flag: Bosnia & Herzegovina","๐Ÿ‡ง๐Ÿ‡ง":"flag: Barbados","๐Ÿ‡ง๐Ÿ‡ฉ":"flag: Bangladesh","๐Ÿ‡ง๐Ÿ‡ช":"flag: Belgium","๐Ÿ‡ง๐Ÿ‡ซ":"flag: Burkina Faso","๐Ÿ‡ง๐Ÿ‡ฌ":"flag: Bulgaria","๐Ÿ‡ง๐Ÿ‡ญ":"flag: Bahrain","๐Ÿ‡ง๐Ÿ‡ฎ":"flag: Burundi","๐Ÿ‡ง๐Ÿ‡ฏ":"flag: Benin","๐Ÿ‡ง๐Ÿ‡ฑ":"flag: St. Barthรฉlemy","๐Ÿ‡ง๐Ÿ‡ฒ":"flag: Bermuda","๐Ÿ‡ง๐Ÿ‡ณ":"flag: Brunei","๐Ÿ‡ง๐Ÿ‡ด":"flag: Bolivia","๐Ÿ‡ง๐Ÿ‡ถ":"flag: Caribbean Netherlands","๐Ÿ‡ง๐Ÿ‡ท":"flag: Brazil","๐Ÿ‡ง๐Ÿ‡ธ":"flag: Bahamas","๐Ÿ‡ง๐Ÿ‡น":"flag: Bhutan","๐Ÿ‡ง๐Ÿ‡ป":"flag: Bouvet Island","๐Ÿ‡ง๐Ÿ‡ผ":"flag: Botswana","๐Ÿ‡ง๐Ÿ‡พ":"flag: Belarus","๐Ÿ‡ง๐Ÿ‡ฟ":"flag: Belize","๐Ÿ‡จ๐Ÿ‡ฆ":"flag: Canada","๐Ÿ‡จ๐Ÿ‡จ":"flag: Cocos (Keeling) Islands","๐Ÿ‡จ๐Ÿ‡ฉ":"flag: Congo - Kinshasa","๐Ÿ‡จ๐Ÿ‡ซ":"flag: Central African Republic","๐Ÿ‡จ๐Ÿ‡ฌ":"flag: Congo - Brazzaville","๐Ÿ‡จ๐Ÿ‡ญ":"flag: Switzerland","๐Ÿ‡จ๐Ÿ‡ฎ":"flag: Cรดte dโ€™Ivoire","๐Ÿ‡จ๐Ÿ‡ฐ":"flag: Cook Islands","๐Ÿ‡จ๐Ÿ‡ฑ":"flag: Chile","๐Ÿ‡จ๐Ÿ‡ฒ":"flag: Cameroon","๐Ÿ‡จ๐Ÿ‡ณ":"flag: China","๐Ÿ‡จ๐Ÿ‡ด":"flag: Colombia","๐Ÿ‡จ๐Ÿ‡ต":"flag: Clipperton Island","๐Ÿ‡จ๐Ÿ‡ท":"flag: Costa Rica","๐Ÿ‡จ๐Ÿ‡บ":"flag: Cuba","๐Ÿ‡จ๐Ÿ‡ป":"flag: Cape Verde","๐Ÿ‡จ๐Ÿ‡ผ":"flag: Curaรงao","๐Ÿ‡จ๐Ÿ‡ฝ":"flag: Christmas Island","๐Ÿ‡จ๐Ÿ‡พ":"flag: Cyprus","๐Ÿ‡จ๐Ÿ‡ฟ":"flag: Czechia","๐Ÿ‡ฉ๐Ÿ‡ช":"flag: Germany","๐Ÿ‡ฉ๐Ÿ‡ฌ":"flag: Diego Garcia","๐Ÿ‡ฉ๐Ÿ‡ฏ":"flag: Djibouti","๐Ÿ‡ฉ๐Ÿ‡ฐ":"flag: Denmark","๐Ÿ‡ฉ๐Ÿ‡ฒ":"flag: Dominica","๐Ÿ‡ฉ๐Ÿ‡ด":"flag: Dominican Republic","๐Ÿ‡ฉ๐Ÿ‡ฟ":"flag: Algeria","๐Ÿ‡ช๐Ÿ‡ฆ":"flag: Ceuta & Melilla","๐Ÿ‡ช๐Ÿ‡จ":"flag: Ecuador","๐Ÿ‡ช๐Ÿ‡ช":"flag: Estonia","๐Ÿ‡ช๐Ÿ‡ฌ":"flag: Egypt","๐Ÿ‡ช๐Ÿ‡ญ":"flag: Western Sahara","๐Ÿ‡ช๐Ÿ‡ท":"flag: Eritrea","๐Ÿ‡ช๐Ÿ‡ธ":"flag: Spain","๐Ÿ‡ช๐Ÿ‡น":"flag: Ethiopia","๐Ÿ‡ช๐Ÿ‡บ":"flag: European Union","๐Ÿ‡ซ๐Ÿ‡ฎ":"flag: Finland","๐Ÿ‡ซ๐Ÿ‡ฏ":"flag: Fiji","๐Ÿ‡ซ๐Ÿ‡ฐ":"flag: Falkland Islands","๐Ÿ‡ซ๐Ÿ‡ฒ":"flag: Micronesia","๐Ÿ‡ซ๐Ÿ‡ด":"flag: Faroe Islands","๐Ÿ‡ซ๐Ÿ‡ท":"flag: France","๐Ÿ‡ฌ๐Ÿ‡ฆ":"flag: Gabon","๐Ÿ‡ฌ๐Ÿ‡ง":"flag: United Kingdom","๐Ÿ‡ฌ๐Ÿ‡ฉ":"flag: Grenada","๐Ÿ‡ฌ๐Ÿ‡ช":"flag: Georgia","๐Ÿ‡ฌ๐Ÿ‡ซ":"flag: French Guiana","๐Ÿ‡ฌ๐Ÿ‡ฌ":"flag: Guernsey","๐Ÿ‡ฌ๐Ÿ‡ญ":"flag: Ghana","๐Ÿ‡ฌ๐Ÿ‡ฎ":"flag: Gibraltar","๐Ÿ‡ฌ๐Ÿ‡ฑ":"flag: Greenland","๐Ÿ‡ฌ๐Ÿ‡ฒ":"flag: Gambia","๐Ÿ‡ฌ๐Ÿ‡ณ":"flag: Guinea","๐Ÿ‡ฌ๐Ÿ‡ต":"flag: Guadeloupe","๐Ÿ‡ฌ๐Ÿ‡ถ":"flag: Equatorial Guinea","๐Ÿ‡ฌ๐Ÿ‡ท":"flag: Greece","๐Ÿ‡ฌ๐Ÿ‡ธ":"flag: South Georgia & South Sandwich Islands","๐Ÿ‡ฌ๐Ÿ‡น":"flag: Guatemala","๐Ÿ‡ฌ๐Ÿ‡บ":"flag: Guam","๐Ÿ‡ฌ๐Ÿ‡ผ":"flag: Guinea-Bissau","๐Ÿ‡ฌ๐Ÿ‡พ":"flag: Guyana","๐Ÿ‡ญ๐Ÿ‡ฐ":"flag: Hong Kong SAR China","๐Ÿ‡ญ๐Ÿ‡ฒ":"flag: Heard & McDonald Islands","๐Ÿ‡ญ๐Ÿ‡ณ":"flag: Honduras","๐Ÿ‡ญ๐Ÿ‡ท":"flag: Croatia","๐Ÿ‡ญ๐Ÿ‡น":"flag: Haiti","๐Ÿ‡ญ๐Ÿ‡บ":"flag: Hungary","๐Ÿ‡ฎ๐Ÿ‡จ":"flag: Canary Islands","๐Ÿ‡ฎ๐Ÿ‡ฉ":"flag: Indonesia","๐Ÿ‡ฎ๐Ÿ‡ช":"flag: Ireland","๐Ÿ‡ฎ๐Ÿ‡ฑ":"flag: Israel","๐Ÿ‡ฎ๐Ÿ‡ฒ":"flag: Isle of Man","๐Ÿ‡ฎ๐Ÿ‡ณ":"flag: India","๐Ÿ‡ฎ๐Ÿ‡ด":"flag: British Indian Ocean Territory","๐Ÿ‡ฎ๐Ÿ‡ถ":"flag: Iraq","๐Ÿ‡ฎ๐Ÿ‡ท":"flag: Iran","๐Ÿ‡ฎ๐Ÿ‡ธ":"flag: Iceland","๐Ÿ‡ฎ๐Ÿ‡น":"flag: Italy","๐Ÿ‡ฏ๐Ÿ‡ช":"flag: Jersey","๐Ÿ‡ฏ๐Ÿ‡ฒ":"flag: Jamaica","๐Ÿ‡ฏ๐Ÿ‡ด":"flag: Jordan","๐Ÿ‡ฏ๐Ÿ‡ต":"flag: Japan","๐Ÿ‡ฐ๐Ÿ‡ช":"flag: Kenya","๐Ÿ‡ฐ๐Ÿ‡ฌ":"flag: Kyrgyzstan","๐Ÿ‡ฐ๐Ÿ‡ญ":"flag: Cambodia","๐Ÿ‡ฐ๐Ÿ‡ฎ":"flag: Kiribati","๐Ÿ‡ฐ๐Ÿ‡ฒ":"flag: Comoros","๐Ÿ‡ฐ๐Ÿ‡ณ":"flag: St. Kitts & Nevis","๐Ÿ‡ฐ๐Ÿ‡ต":"flag: North Korea","๐Ÿ‡ฐ๐Ÿ‡ท":"flag: South Korea","๐Ÿ‡ฐ๐Ÿ‡ผ":"flag: Kuwait","๐Ÿ‡ฐ๐Ÿ‡พ":"flag: Cayman Islands","๐Ÿ‡ฐ๐Ÿ‡ฟ":"flag: Kazakhstan","๐Ÿ‡ฑ๐Ÿ‡ฆ":"flag: Laos","๐Ÿ‡ฑ๐Ÿ‡ง":"flag: Lebanon","๐Ÿ‡ฑ๐Ÿ‡จ":"flag: St. Lucia","๐Ÿ‡ฑ๐Ÿ‡ฎ":"flag: Liechtenstein","๐Ÿ‡ฑ๐Ÿ‡ฐ":"flag: Sri Lanka","๐Ÿ‡ฑ๐Ÿ‡ท":"flag: Liberia","๐Ÿ‡ฑ๐Ÿ‡ธ":"flag: Lesotho","๐Ÿ‡ฑ๐Ÿ‡น":"flag: Lithuania","๐Ÿ‡ฑ๐Ÿ‡บ":"flag: Luxembourg","๐Ÿ‡ฑ๐Ÿ‡ป":"flag: Latvia","๐Ÿ‡ฑ๐Ÿ‡พ":"flag: Libya","๐Ÿ‡ฒ๐Ÿ‡ฆ":"flag: Morocco","๐Ÿ‡ฒ๐Ÿ‡จ":"flag: Monaco","๐Ÿ‡ฒ๐Ÿ‡ฉ":"flag: Moldova","๐Ÿ‡ฒ๐Ÿ‡ช":"flag: Montenegro","๐Ÿ‡ฒ๐Ÿ‡ซ":"flag: St. Martin","๐Ÿ‡ฒ๐Ÿ‡ฌ":"flag: Madagascar","๐Ÿ‡ฒ๐Ÿ‡ญ":"flag: Marshall Islands","๐Ÿ‡ฒ๐Ÿ‡ฐ":"flag: North Macedonia","๐Ÿ‡ฒ๐Ÿ‡ฑ":"flag: Mali","๐Ÿ‡ฒ๐Ÿ‡ฒ":"flag: Myanmar (Burma)","๐Ÿ‡ฒ๐Ÿ‡ณ":"flag: Mongolia","๐Ÿ‡ฒ๐Ÿ‡ด":"flag: Macao SAR China","๐Ÿ‡ฒ๐Ÿ‡ต":"flag: Northern Mariana Islands","๐Ÿ‡ฒ๐Ÿ‡ถ":"flag: Martinique","๐Ÿ‡ฒ๐Ÿ‡ท":"flag: Mauritania","๐Ÿ‡ฒ๐Ÿ‡ธ":"flag: Montserrat","๐Ÿ‡ฒ๐Ÿ‡น":"flag: Malta","๐Ÿ‡ฒ๐Ÿ‡บ":"flag: Mauritius","๐Ÿ‡ฒ๐Ÿ‡ป":"flag: Maldives","๐Ÿ‡ฒ๐Ÿ‡ผ":"flag: Malawi","๐Ÿ‡ฒ๐Ÿ‡ฝ":"flag: Mexico","๐Ÿ‡ฒ๐Ÿ‡พ":"flag: Malaysia","๐Ÿ‡ฒ๐Ÿ‡ฟ":"flag: Mozambique","๐Ÿ‡ณ๐Ÿ‡ฆ":"flag: Namibia","๐Ÿ‡ณ๐Ÿ‡จ":"flag: New Caledonia","๐Ÿ‡ณ๐Ÿ‡ช":"flag: Niger","๐Ÿ‡ณ๐Ÿ‡ซ":"flag: Norfolk Island","๐Ÿ‡ณ๐Ÿ‡ฌ":"flag: Nigeria","๐Ÿ‡ณ๐Ÿ‡ฎ":"flag: Nicaragua","๐Ÿ‡ณ๐Ÿ‡ฑ":"flag: Netherlands","๐Ÿ‡ณ๐Ÿ‡ด":"flag: Norway","๐Ÿ‡ณ๐Ÿ‡ต":"flag: Nepal","๐Ÿ‡ณ๐Ÿ‡ท":"flag: Nauru","๐Ÿ‡ณ๐Ÿ‡บ":"flag: Niue","๐Ÿ‡ณ๐Ÿ‡ฟ":"flag: New Zealand","๐Ÿ‡ด๐Ÿ‡ฒ":"flag: Oman","๐Ÿ‡ต๐Ÿ‡ฆ":"flag: Panama","๐Ÿ‡ต๐Ÿ‡ช":"flag: Peru","๐Ÿ‡ต๐Ÿ‡ซ":"flag: French Polynesia","๐Ÿ‡ต๐Ÿ‡ฌ":"flag: Papua New Guinea","๐Ÿ‡ต๐Ÿ‡ญ":"flag: Philippines","๐Ÿ‡ต๐Ÿ‡ฐ":"flag: Pakistan","๐Ÿ‡ต๐Ÿ‡ฑ":"flag: Poland","๐Ÿ‡ต๐Ÿ‡ฒ":"flag: St. Pierre & Miquelon","๐Ÿ‡ต๐Ÿ‡ณ":"flag: Pitcairn Islands","๐Ÿ‡ต๐Ÿ‡ท":"flag: Puerto Rico","๐Ÿ‡ต๐Ÿ‡ธ":"flag: Palestinian Territories","๐Ÿ‡ต๐Ÿ‡น":"flag: Portugal","๐Ÿ‡ต๐Ÿ‡ผ":"flag: Palau","๐Ÿ‡ต๐Ÿ‡พ":"flag: Paraguay","๐Ÿ‡ถ๐Ÿ‡ฆ":"flag: Qatar","๐Ÿ‡ท๐Ÿ‡ช":"flag: Rรฉunion","๐Ÿ‡ท๐Ÿ‡ด":"flag: Romania","๐Ÿ‡ท๐Ÿ‡ธ":"flag: Serbia","๐Ÿ‡ท๐Ÿ‡บ":"flag: Russia","๐Ÿ‡ท๐Ÿ‡ผ":"flag: Rwanda","๐Ÿ‡ธ๐Ÿ‡ฆ":"flag: Saudi Arabia","๐Ÿ‡ธ๐Ÿ‡ง":"flag: Solomon Islands","๐Ÿ‡ธ๐Ÿ‡จ":"flag: Seychelles","๐Ÿ‡ธ๐Ÿ‡ฉ":"flag: Sudan","๐Ÿ‡ธ๐Ÿ‡ช":"flag: Sweden","๐Ÿ‡ธ๐Ÿ‡ฌ":"flag: Singapore","๐Ÿ‡ธ๐Ÿ‡ญ":"flag: St. Helena","๐Ÿ‡ธ๐Ÿ‡ฎ":"flag: Slovenia","๐Ÿ‡ธ๐Ÿ‡ฏ":"flag: Svalbard & Jan Mayen","๐Ÿ‡ธ๐Ÿ‡ฐ":"flag: Slovakia","๐Ÿ‡ธ๐Ÿ‡ฑ":"flag: Sierra Leone","๐Ÿ‡ธ๐Ÿ‡ฒ":"flag: San Marino","๐Ÿ‡ธ๐Ÿ‡ณ":"flag: Senegal","๐Ÿ‡ธ๐Ÿ‡ด":"flag: Somalia","๐Ÿ‡ธ๐Ÿ‡ท":"flag: Suriname","๐Ÿ‡ธ๐Ÿ‡ธ":"flag: South Sudan","๐Ÿ‡ธ๐Ÿ‡น":"flag: Sรฃo Tomรฉ & Prรญncipe","๐Ÿ‡ธ๐Ÿ‡ป":"flag: El Salvador","๐Ÿ‡ธ๐Ÿ‡ฝ":"flag: Sint Maarten","๐Ÿ‡ธ๐Ÿ‡พ":"flag: Syria","๐Ÿ‡ธ๐Ÿ‡ฟ":"flag: Eswatini","๐Ÿ‡น๐Ÿ‡ฆ":"flag: Tristan da Cunha","๐Ÿ‡น๐Ÿ‡จ":"flag: Turks & Caicos Islands","๐Ÿ‡น๐Ÿ‡ฉ":"flag: Chad","๐Ÿ‡น๐Ÿ‡ซ":"flag: French Southern Territories","๐Ÿ‡น๐Ÿ‡ฌ":"flag: Togo","๐Ÿ‡น๐Ÿ‡ญ":"flag: Thailand","๐Ÿ‡น๐Ÿ‡ฏ":"flag: Tajikistan","๐Ÿ‡น๐Ÿ‡ฐ":"flag: Tokelau","๐Ÿ‡น๐Ÿ‡ฑ":"flag: Timor-Leste","๐Ÿ‡น๐Ÿ‡ฒ":"flag: Turkmenistan","๐Ÿ‡น๐Ÿ‡ณ":"flag: Tunisia","๐Ÿ‡น๐Ÿ‡ด":"flag: Tonga","๐Ÿ‡น๐Ÿ‡ท":"flag: Turkey","๐Ÿ‡น๐Ÿ‡น":"flag: Trinidad & Tobago","๐Ÿ‡น๐Ÿ‡ป":"flag: Tuvalu","๐Ÿ‡น๐Ÿ‡ผ":"flag: Taiwan","๐Ÿ‡น๐Ÿ‡ฟ":"flag: Tanzania","๐Ÿ‡บ๐Ÿ‡ฆ":"flag: Ukraine","๐Ÿ‡บ๐Ÿ‡ฌ":"flag: Uganda","๐Ÿ‡บ๐Ÿ‡ฒ":"flag: U.S. Outlying Islands","๐Ÿ‡บ๐Ÿ‡ณ":"flag: United Nations","๐Ÿ‡บ๐Ÿ‡ธ":"flag: United States","๐Ÿ‡บ๐Ÿ‡พ":"flag: Uruguay","๐Ÿ‡บ๐Ÿ‡ฟ":"flag: Uzbekistan","๐Ÿ‡ป๐Ÿ‡ฆ":"flag: Vatican City","๐Ÿ‡ป๐Ÿ‡จ":"flag: St. Vincent & Grenadines","๐Ÿ‡ป๐Ÿ‡ช":"flag: Venezuela","๐Ÿ‡ป๐Ÿ‡ฌ":"flag: British Virgin Islands","๐Ÿ‡ป๐Ÿ‡ฎ":"flag: U.S. Virgin Islands","๐Ÿ‡ป๐Ÿ‡ณ":"flag: Vietnam","๐Ÿ‡ป๐Ÿ‡บ":"flag: Vanuatu","๐Ÿ‡ผ๐Ÿ‡ซ":"flag: Wallis & Futuna","๐Ÿ‡ผ๐Ÿ‡ธ":"flag: Samoa","๐Ÿ‡ฝ๐Ÿ‡ฐ":"flag: Kosovo","๐Ÿ‡พ๐Ÿ‡ช":"flag: Yemen","๐Ÿ‡พ๐Ÿ‡น":"flag: Mayotte","๐Ÿ‡ฟ๐Ÿ‡ฆ":"flag: South Africa","๐Ÿ‡ฟ๐Ÿ‡ฒ":"flag: Zambia","๐Ÿ‡ฟ๐Ÿ‡ผ":"flag: Zimbabwe","๐Ÿด๓ ง๓ ข๓ ฅ๓ ฎ๓ ง๓ ฟ":"flag: England","๐Ÿด๓ ง๓ ข๓ ณ๓ ฃ๓ ด๓ ฟ":"flag: Scotland","๐Ÿด๓ ง๓ ข๓ ท๓ ฌ๓ ณ๓ ฟ":"flag: Wales"}');var y=t(33);const _=["aria-label"],C=(0,a.pM)({name:"LinkPreviewToggle",props:{link:{type:Object,required:!0},message:{type:Object,required:!0}},emits:["toggle-link-preview"],setup:(e,{emit:n})=>({ariaLabel:(0,a.EW)(()=>e.link.shown?"Collapse preview":"Expand preview"),onClick:()=>{e.link.shown=!e.link.shown,n("toggle-link-preview",e.link,e.message)}})});var L=t(6262);const M=(0,L.A)(C,[["render",function(e,n,t,s,o,i){return"loading"!==e.link.type?((0,a.uX)(),(0,a.CE)("button",{key:0,class:(0,y.C4)(["toggle-button","toggle-preview",{opened:e.link.shown}]),"aria-label":e.ariaLabel,onClick:n[0]||(n[0]=(...n)=>e.onClick&&e.onClick(...n))},null,10,_)):(0,a.Q3)("",!0)}]]),E={class:"preview-size"};var x=t(3388);const S=(0,a.pM)({name:"LinkPreviewFileSize",props:{size:{type:Number,required:!0}},setup:e=>({previewSize:(0,x.A)(e.size)})}),A=(0,L.A)(S,[["render",function(e,n,t,s,o,i){return(0,a.uX)(),(0,a.CE)("span",E,"("+(0,y.v_)(e.previewSize)+")",1)}]]);var T=t(3751),X=t(2806);const j=(0,a.pM)({name:"InlineChannel",props:{channel:String},setup:e=>({openContextMenu:n=>{X.A.emit("contextmenu:inline-channel",{event:n,channel:e.channel})}})}),W=(0,L.A)(j,[["render",function(e,n,t,s,o,i){return(0,a.uX)(),(0,a.CE)("span",{class:"inline-channel",dir:"auto",role:"button",tabindex:"0",onClick:n[0]||(n[0]=(0,T.D$)((...n)=>e.openContextMenu&&e.openContextMenu(...n),["prevent"])),onContextmenu:n[1]||(n[1]=(0,T.D$)((...n)=>e.openContextMenu&&e.openContextMenu(...n),["prevent"]))},[(0,a.RG)(e.$slots,"default")],32)}]]);var P=t(6640);const R=/[\u{1f3fb}-\u{1f3ff}]|\u{fe0f}/gu,I=function(e,n,t){const r=function(e){return function(e){const n=[];let t,a,l,r,c,u,d,p,h,g,m=0,k=0;const f=()=>{a=!1,l=void 0,r=void 0,c=void 0,u=void 0,d=!1,p=!1,h=!1,g=!1};f();const b=()=>{const t=e.slice(m,k).replace(i," ");if(t.length){const e=n.length?n[n.length-1].end:0;n.push({bold:a,textColor:l,bgColor:r,hexColor:c,hexBgColor:u,italic:d,underline:p,strikethrough:h,monospace:g,text:t,start:e,end:e+t.length})}m=k+1};for(;k<e.length;){switch(e[k]){case"":b(),f();break;case"":b(),a=!a;break;case"":b(),t=e.slice(k+1).match(s),t?(l=Number(t[1]),t[2]&&(r=Number(t[2])),k+=t[0].length,m=k+1):(l=void 0,r=void 0);break;case"":b(),t=e.slice(k+1).match(o),t?(c=t[1].toUpperCase(),t[2]&&(u=t[2].toUpperCase()),k+=t[0].length,m=k+1):(c=void 0,u=void 0);break;case"":{b();const e=r;r=l,l=e;break}case"":b(),d=!d;break;case"":b(),p=!p;break;case"":b(),h=!h;break;case"":b(),g=!g}k+=1}return b(),n}(e).reduce((e,n)=>{if(e.length){const t=e[e.length-1];if(l.every(e=>n[e]===t[e]))return t.text+=n.text,t.end+=n.text.length,e}return e.concat([n])},[])}(e),c=r.map(e=>e.text).join(""),d=function(e,n,t){const a=t.map(u).join(""),s=n.map(u).join(""),o=new RegExp(`(?:^|\\s)[${a}]*([${s}][^ ]+)`,"g"),i=[];let l;do{l=o.exec(e),l&&i.push({start:l.index+l[0].length-l[1].length,end:l.index+l[0].length,channel:l[1]})}while(l);return i}(c,t?t.serverOptions.CHANTYPES:["#","&"],t?t.serverOptions.PREFIX?.prefix?.map(e=>e.symbol):["!","@","%","+"]),p=function(e){const n=h.match(e);return n?n.map(m):[]}(c),g=function(e){const n=[];let t;for(;t=k.exec(e);)n.push({start:t.index,end:t.index+t[0].length,emoji:t[0]});return n}(c),y=function(e,n){const t=[];if(0===n.length)return t;let a;for(;a=f.exec(e);)n.indexOf(a[1])>-1&&t.push({start:a.index,end:a.index+a[1].length,nick:a[1]});return t}(c,n&&n.users||[]);return function(e,n,t){const a=function(e,n){let t=0;const a=e.reduce((e,n)=>(n.start>t&&e.push({start:t,end:n.start}),t=n.end,e),[]);return t<n.length&&a.push({start:t,end:n.length}),a}(e=e.sort(v).reduce((e,n)=>e.some(e=>b(e,n))?e:e.concat([n]),[]),t);return[...e,...a].sort(v).map(e=>{const t=n.filter(n=>b(e,n)).map(n=>function(e,n){const t=n.start,a=Math.max(n.start,e.start),s=Math.min(n.end,e.end),o=n.text.slice(a-t,s-t);return Object.assign({},n,{start:a,end:s,text:o})}(e,n));return{...e,fragments:t}})}(d.concat(p).concat(g).concat(y),r,c).map(e=>{const t=e.fragments.map(e=>function(e){const n=[];e.bold&&n.push("irc-bold"),void 0!==e.textColor&&n.push("irc-fg"+e.textColor),void 0!==e.bgColor&&n.push("irc-bg"+e.bgColor),e.italic&&n.push("irc-italic"),e.underline&&n.push("irc-underline"),e.strikethrough&&n.push("irc-strikethrough"),e.monospace&&n.push("irc-monospace");const t={class:void 0,style:void 0};let s=!1;return n.length>0&&(s=!0,t.class=n),e.hexColor&&(s=!0,t.style={color:`#${e.hexColor}`},e.hexBgColor&&(t.style["background-color"]=`#${e.hexBgColor}`)),s?(0,a.h)("span",t,e.text):e.text}(e));if("link"in e){const s=n&&n.previews&&n.previews.find(n=>n.link===e.link),o=(0,a.h)("a",{href:e.link,dir:s?null:"auto",target:"_blank",rel:"noopener"},t);if(!s)return o;const i=[o];return s.size>0&&i.push((0,a.h)(A,{size:s.size})),i.push((0,a.h)(M,{link:s,message:n})),(0,a.h)("span",{dir:"auto"},i)}if("channel"in e)return(0,a.h)(W,{channel:e.channel},{default:()=>t});if(function(e){return"emoji"in e}(e)){const n=e.emoji.replace(R,""),s=w[n]?`Emoji: ${w[n]}`:null;return(0,a.h)("span",{class:["emoji"],role:"img","aria-label":s,title:s},t)}return function(e){return"nick"in e}(e)?(0,a.h)(P.A,{user:{nick:e.nick},dir:"auto"},{default:()=>t}):t})},N=(0,a.pM)({name:"ParsedMessage",functional:!0,props:{text:String,message:{type:Object,required:!1},network:{type:Object,required:!1}},render:e=>I(void 0!==e.text?e.text:e.message.text,e.message,e.network)})},4379:(e,n,t)=>{"use strict";t.r(n),t.d(n,{default:()=>c});var a=t(641);const s={class:"content"},o={key:2,class:"new-topic"};var i=t(3568),l=t(6640);const r=(0,a.pM)({name:"MessageTypeTopic",components:{ParsedMessage:i.A,Username:l.A},props:{network:{type:Object,required:!0},message:{type:Object,required:!0}}}),c=(0,t(6262).A)(r,[["render",function(e,n,t,i,l,r){const c=(0,a.g2)("Username"),u=(0,a.g2)("ParsedMessage");return(0,a.uX)(),(0,a.CE)("span",s,[e.message.from&&e.message.from.nick?((0,a.uX)(),(0,a.CE)(a.FK,{key:0},[(0,a.bF)(c,{user:e.message.from},null,8,["user"]),n[0]||(n[0]=(0,a.eW)(" has changed the topic to: ",-1))],64)):((0,a.uX)(),(0,a.CE)(a.FK,{key:1},[(0,a.eW)("The topic is: ")],64)),e.message.text?((0,a.uX)(),(0,a.CE)("span",o,[(0,a.bF)(u,{network:e.network,message:e.message},null,8,["network","message"])])):(0,a.Q3)("",!0)])}]])},5182:(e,n,t)=>{"use strict";t.r(n),t.d(n,{default:()=>u});var a=t(641);const s={class:"content"},o={class:"hostmask"},i={key:0,class:"part-reason"};var l=t(3568),r=t(6640);const c=(0,a.pM)({name:"MessageTypePart",components:{ParsedMessage:l.A,Username:r.A},props:{network:{type:Object,required:!0},message:{type:Object,required:!0}}}),u=(0,t(6262).A)(c,[["render",function(e,n,t,l,r,c){const u=(0,a.g2)("Username"),d=(0,a.g2)("ParsedMessage");return(0,a.uX)(),(0,a.CE)("span",s,[(0,a.bF)(u,{user:e.message.from},null,8,["user"]),(0,a.Lk)("i",o,[n[0]||(n[0]=(0,a.eW)(" (",-1)),(0,a.bF)(d,{network:e.network,text:e.message.hostmask},null,8,["network","text"]),n[1]||(n[1]=(0,a.eW)(")",-1))]),n[4]||(n[4]=(0,a.eW)(" has left the channel ",-1)),e.message.text?((0,a.uX)(),(0,a.CE)("i",i,[n[2]||(n[2]=(0,a.eW)("(",-1)),(0,a.bF)(d,{network:e.network,message:e.message},null,8,["network","message"]),n[3]||(n[3]=(0,a.eW)(")",-1))])):(0,a.Q3)("",!0)])}]])},5506:(e,n,t)=>{"use strict";t.r(n),t.d(n,{default:()=>l});var a=t(641),s=t(33);const o={class:"content"},i=(0,a.pM)({name:"MessageChannelMode",props:{network:{type:Object,required:!0},message:{type:Object,required:!0}}}),l=(0,t(6262).A)(i,[["render",function(e,n,t,i,l,r){return(0,a.uX)(),(0,a.CE)("span",o,[n[0]||(n[0]=(0,a.eW)(" your user mode is ",-1)),(0,a.Lk)("b",null,(0,s.v_)(e.message.raw_modes),1)])}]])},6455:(e,n,t)=>{"use strict";t.r(n),t.d(n,{default:()=>u});var a=t(641),s=t(33);const o={class:"content"},i={class:"ctcp-message"};var l=t(3568),r=t(6640);const c=(0,a.pM)({name:"MessageTypeCTCP",components:{ParsedMessage:l.A,Username:r.A},props:{network:{type:Object,required:!0},message:{type:Object,required:!0}}}),u=(0,t(6262).A)(c,[["render",function(e,n,t,l,r,c){const u=(0,a.g2)("Username"),d=(0,a.g2)("ParsedMessage");return(0,a.uX)(),(0,a.CE)("span",o,[(0,a.bF)(u,{user:e.message.from},null,8,["user"]),n[0]||(n[0]=(0,a.eW)(" "+(0,s.v_)(" ")+" ",-1)),(0,a.Lk)("span",i,[(0,a.bF)(d,{text:e.message.ctcpMessage},null,8,["text"])])])}]])},6640:(e,n,t)=>{"use strict";t.d(n,{A:()=>d});var a=t(641),s=t(3751),o=t(33);const i=["data-name"];var l=t(2806),r=t(211),c=t(1654);const u=(0,a.pM)({name:"Username",props:{user:{type:Object,required:!0},active:Boolean,onHover:{type:Function,required:!1},channel:{type:Object,required:!1},network:{type:Object,required:!1}},setup(e){const n=(0,a.EW)(()=>e.user.modes?e.user.modes[0]:e.user.mode),t=(0,a.EW)(()=>(e=>{let n=0;for(let t=0;t<e.length;t++)n+=e.charCodeAt(t);return"color-"+(1+n%32).toString()})(e.user.nick)),s=(0,r.Pj)();return s.state.settings.beautifyBridgedMessages&&e.user.shoutbox&&s.state.activeChannel?.channel.state===c.gC.JOINED&&!s.state.activeChannel?.channel.users.find(n=>n.nick===e.user.nick)&&s.state.activeChannel?.channel.users.push({nick:e.user.nick,modes:[],lastMessage:Date.now(),mode:"",away:""}),{displayNick:(0,a.EW)(()=>{const t=n.value??"",a=e.user.nick;return s.state.settings.beautifyBridgedMessages&&e.user.shoutbox&&"parentheses"===s.state.settings.bridgedMessageNicksStyle?`(${t}${a})`:`${t}${a}`}),mode:n,nickColor:t,hover:()=>e.onHover?e.onHover(e.user):null,openContextMenu:n=>{l.A.emit("contextmenu:user",{event:n,user:e.user,network:e.network,channel:e.channel})},store:s}}}),d=(0,t(6262).A)(u,[["render",function(e,n,t,l,r,c){return(0,a.uX)(),(0,a.CE)("span",(0,a.v6)({class:["user",{[e.nickColor]:e.store.state.settings.coloredNicks},{active:e.active}],"data-name":e.user.nick,role:"button"},(0,a.Tb)(e.onHover?{mouseenter:e.hover}:{},!0),{onClick:n[0]||(n[0]=(0,s.D$)((...n)=>e.openContextMenu&&e.openContextMenu(...n),["prevent"])),onContextmenu:n[1]||(n[1]=(0,s.D$)((...n)=>e.openContextMenu&&e.openContextMenu(...n),["prevent"]))}),[(0,a.RG)(e.$slots,"default",{},()=>[(0,a.eW)((0,o.v_)(e.displayNick),1)])],16,i)}]])},6789:(e,n,t)=>{"use strict";t.r(n),t.d(n,{default:()=>c});var a=t(641),s=t(33);const o={class:"content"};var i=t(7321),l=t(6640);const r=(0,a.pM)({name:"MessageTypeTopicSetBy",components:{Username:l.A},props:{network:{type:Object,required:!0},message:{type:Object,required:!0}},setup:e=>({messageTimeLocale:(0,a.EW)(()=>(0,i.A)(e.message.when))})}),c=(0,t(6262).A)(r,[["render",function(e,n,t,i,l,r){const c=(0,a.g2)("Username");return(0,a.uX)(),(0,a.CE)("span",o,[n[0]||(n[0]=(0,a.eW)(" Topic set by ",-1)),(0,a.bF)(c,{user:e.message.from},null,8,["user"]),(0,a.eW)(" on "+(0,s.v_)(e.messageTimeLocale),1)])}]])},7062:(e,n,t)=>{"use strict";t.r(n),t.d(n,{default:()=>l});var a=t(641),s=t(33);const o={class:"content"},i=(0,a.pM)({name:"MessageChannelMode",props:{network:{type:Object,required:!0},message:{type:Object,required:!0}}}),l=(0,t(6262).A)(i,[["render",function(e,n,t,i,l,r){return(0,a.uX)(),(0,a.CE)("span",o,[n[0]||(n[0]=(0,a.eW)(" channel mode is ",-1)),(0,a.Lk)("b",null,(0,s.v_)(e.message.text),1)])}]])},7321:(e,n,t)=>{"use strict";t.d(n,{A:()=>o});var a=t(4353),s=t.n(a);const o=e=>s()(e).format("D MMMM YYYY, HH:mm:ss")},7902:(e,n,t)=>{"use strict";t.r(n),t.d(n,{default:()=>p});var a=t(641),s=t(33);const o={class:"content"},i={class:"hostmask"},l={key:0,class:"account"},r={key:1,class:"realname"};var c=t(3568),u=t(6640);const d=(0,a.pM)({name:"MessageTypeJoin",components:{ParsedMessage:c.A,Username:u.A},props:{network:{type:Object,required:!0},message:{type:Object,required:!0}}}),p=(0,t(6262).A)(d,[["render",function(e,n,t,c,u,d){const p=(0,a.g2)("Username"),h=(0,a.g2)("ParsedMessage");return(0,a.uX)(),(0,a.CE)("span",o,[(0,a.bF)(p,{user:e.message.from},null,8,["user"]),(0,a.Lk)("i",i,[n[0]||(n[0]=(0,a.eW)(" (",-1)),(0,a.bF)(h,{network:e.network,text:e.message.hostmask},null,8,["network","text"]),n[1]||(n[1]=(0,a.eW)(")",-1))]),e.message.account?((0,a.uX)(),(0,a.CE)("i",l," ["+(0,s.v_)(e.message.account)+"]",1)):(0,a.Q3)("",!0),e.message.gecos?((0,a.uX)(),(0,a.CE)("i",r," ("+(0,s.v_)(e.message.gecos)+")",1)):(0,a.Q3)("",!0),n[2]||(n[2]=(0,a.eW)(" has joined the channel ",-1))])}]])},8078:(e,n,t)=>{"use strict";t.r(n),t.d(n,{default:()=>c});var a=t(641);const s={class:"content"},o={class:"ctcp-message"};var i=t(3568),l=t(6640);const r=(0,a.pM)({name:"MessageTypeRequestCTCP",components:{ParsedMessage:i.A,Username:l.A},props:{network:{type:Object,required:!0},message:{type:Object,required:!0}}}),c=(0,t(6262).A)(r,[["render",function(e,n,t,i,l,r){const c=(0,a.g2)("Username"),u=(0,a.g2)("ParsedMessage");return(0,a.uX)(),(0,a.CE)("span",s,[(0,a.bF)(c,{user:e.message.from},null,8,["user"]),n[0]||(n[0]=(0,a.eW)(" sent a ",-1)),n[1]||(n[1]=(0,a.Lk)("abbr",{title:"Client-to-client protocol"},"CTCP",-1)),n[2]||(n[2]=(0,a.eW)(" request: ",-1)),(0,a.Lk)("span",o,[(0,a.bF)(u,{text:e.message.ctcpMessage},null,8,["text"])])])}]])},9056:(e,n,t)=>{"use strict";const a={colorCodeMap:[["00","White"],["01","Black"],["02","Blue"],["03","Green"],["04","Red"],["05","Brown"],["06","Magenta"],["07","Orange"],["08","Yellow"],["09","Light Green"],["10","Cyan"],["11","Light Cyan"],["12","Light Blue"],["13","Pink"],["14","Grey"],["15","Light Grey"]],commands:[],timeFormats:{msgDefault:"HH:mm",msgWithSeconds:"HH:mm:ss",msg12h:"hh:mm A",msg12hWithSeconds:"hh:mm:ss A"},mobileViewportPixels:768};var s=t(3751),o=t(211),i=t(641),l=t(33),r=t(2806),c=t(6411),u=t.n(c),d=t(7350),p=t.n(d),h=t(9808);const g=e=>("TEXTAREA"===e.target.tagName||"INPUT"===e.target.tagName)&&!!e.target.value,m={class:"scrollable-area"},k={class:"logo-container"},f=["src"],b=["src"],v={key:0,title:"The Lounge has been built in development mode",style:{backgroundColor:"#ff9e18",color:"#000",padding:"2px",borderRadius:"4px",fontSize:"12px"}},w={id:"footer"},y={class:"tooltipped tooltipped-n tooltipped-no-touch","aria-label":"Connect to network"},_=["aria-selected","onClick","onKeypress"],C={class:"tooltipped tooltipped-n tooltipped-no-touch","aria-label":"Settings"},L=["aria-selected","onClick","onKeypress"],M=["aria-label"],E=["aria-selected","onClick","onKeypress"];var x=t(953),S=t(5220);const A={key:0,class:"empty",role:"navigation","aria-label":"Network and Channel list"},T={key:1,ref:"networklist",role:"navigation","aria-label":"Network and Channel list"},X={key:0,class:"jump-to-input"},j=["value"],W={key:1,class:"jump-to-results"},P={key:0},R=["onMouseenter"],I={key:1,class:"no-results"},N=["id"];var U=t(246);const F={delay:{type:Number,default:0,required:!1},delayOnTouchOnly:{type:Boolean,default:!1,required:!1},touchStartThreshold:{type:Number,default:10,required:!1},handle:{type:String,default:"",required:!1},draggable:{type:String,default:"",required:!1},ghostClass:{type:String,default:"",required:!1},dragClass:{type:String,default:"",required:!1},group:{type:String,default:"",required:!1},class:{type:String,default:"",required:!1},itemKey:{type:String,default:"",required:!0},list:{type:Array,default:[],required:!0},filter:{type:String,default:"",required:!1}},O=(0,i.pM)({name:"Draggable",props:F,emits:["change","choose","unchoose"],setup(e,{emit:n}){const t=(0,x.KR)(null),a=(0,x.KR)(null);return(0,i.wB)(t,t=>{t&&(a.value=new U.Ay(t,{...e,onChoose(e){n("choose",e)},onUnchoose(e){n("unchoose",e)},onEnd(e){n("change",e)}}))}),(0,i.xo)(()=>{a.value&&(a.value.destroy(),t.value=null)}),{containerRef:t}}});var q=t(6262);const K=(0,q.A)(O,[["render",function(e,n,t,a,s,o){return(0,i.uX)(),(0,i.CE)("div",{ref:"containerRef",class:(0,l.C4)(e.$props.class)},[((0,i.uX)(!0),(0,i.CE)(i.FK,null,(0,i.pI)(e.list,(n,t)=>(0,i.RG)(e.$slots,"item",{key:n[e.itemKey],element:n,index:t})),128))],2)}]]);var D=t(4751),B=t.n(D);const $=["aria-controls","aria-label","aria-expanded"],H={key:1,class:"collapse-network"},Q={class:"lobby-wrap"},z=["title"],V={key:0,class:"not-secure-tooltip tooltipped tooltipped-w","aria-label":"Insecure connection"},Y={key:1,class:"not-connected-tooltip tooltipped tooltipped-w","aria-label":"Disconnected"},J=["aria-label"],G=["aria-controls","aria-label"],Z=(e,n)=>{const t=h.A.get("thelounge.networks.collapsed"),a=t?new Set(JSON.parse(t)):new Set;e.isCollapsed=n,n?a.add(e.uuid):a.delete(e.uuid),h.A.set("thelounge.networks.collapsed",JSON.stringify([...a]))},ee=e=>e<1e3?e.toString():(e/1e3).toFixed(2).slice(0,-1)+"k",ne=["aria-label","title","data-name","data-type","aria-controls","aria-selected"],te=(e,n)=>!(!e.isCollapsed||n.highlight||"lobby"===n.type||o.M_.state.activeChannel&&n===o.M_.state.activeChannel.channel),ae={id:"sign-in",class:"window",role:"tabpanel","aria-label":"Sign-in"},se={class:"password-container"},oe=["type"],ie={key:0,class:"error"},le=["disabled"];var re=t(381);const ce=["aria-label"],ue=["aria-label"],de=(0,i.pM)({name:"RevealPassword",setup(){const e=(0,x.KR)(!1);return{isVisible:e,onClick:()=>{e.value=!e.value}}}}),pe=(0,q.A)(de,[["render",function(e,n,t,a,s,o){return(0,i.uX)(),(0,i.CE)("div",null,[(0,i.RG)(e.$slots,"default",{isVisible:e.isVisible}),(0,i.Lk)("span",{ref:"revealButton",type:"button",class:(0,l.C4)(["reveal-password tooltipped tooltipped-n tooltipped-no-delay",{"reveal-password-visible":e.isVisible}]),"aria-label":e.isVisible?"Hide password":"Show password",onClick:n[0]||(n[0]=(...n)=>e.onClick&&e.onClick(...n))},[(0,i.Lk)("span",{"aria-label":e.isVisible?"Hide password":"Show password"},null,8,ue)],10,ce)])}]]),he=(0,i.pM)({name:"SignIn",components:{RevealPassword:pe},setup(){const e=(0,x.KR)(!1),n=(0,x.KR)(!1),t=(0,x.KR)(h.A.get("user")||""),a=(0,x.KR)(""),s=()=>{e.value=!1,n.value=!0};return(0,i.sV)(()=>{re.A.on("auth:failed",s)}),(0,i.xo)(()=>{re.A.off("auth:failed",s)}),{inFlight:e,errorShown:n,username:t,password:a,onSubmit:s=>{if(s.preventDefault(),!t.value||!a.value)return;e.value=!0,n.value=!1;const o={user:t.value,password:a.value};h.A.set("user",o.user),re.A.emit("auth:perform",o)}}}}),ge=(0,q.A)(he,[["render",function(e,n,t,a,o,l){const r=(0,i.g2)("RevealPassword");return(0,i.uX)(),(0,i.CE)("div",ae,[(0,i.Lk)("form",{class:"container",method:"post",action:"",onSubmit:n[2]||(n[2]=(...n)=>e.onSubmit&&e.onSubmit(...n))},[n[4]||(n[4]=(0,i.Lk)("img",{src:"img/logo-vertical-transparent-bg.svg",class:"logo",alt:"The Lounge",width:"256",height:"170"},null,-1)),n[5]||(n[5]=(0,i.Lk)("img",{src:"img/logo-vertical-transparent-bg-inverted.svg",class:"logo-inverted",alt:"The Lounge",width:"256",height:"170"},null,-1)),n[6]||(n[6]=(0,i.Lk)("label",{for:"signin-username"},"Username",-1)),(0,i.bo)((0,i.Lk)("input",{id:"signin-username","onUpdate:modelValue":n[0]||(n[0]=n=>e.username=n),class:"input",type:"text",name:"username",autocapitalize:"none",autocorrect:"off",autocomplete:"username",required:"",autofocus:""},null,512),[[s.Jo,e.username,void 0,{trim:!0}]]),(0,i.Lk)("div",se,[n[3]||(n[3]=(0,i.Lk)("label",{for:"signin-password"},"Password",-1)),(0,i.bF)(r,null,{default:(0,i.k6)(t=>[(0,i.bo)((0,i.Lk)("input",{id:"signin-password","onUpdate:modelValue":n[1]||(n[1]=n=>e.password=n),type:t.isVisible?"text":"password",class:"input",autocapitalize:"none",autocorrect:"off",autocomplete:"current-password",required:""},null,8,oe),[[s.hp,e.password]])]),_:1})]),e.errorShown?((0,i.uX)(),(0,i.CE)("div",ie,"Authentication failed.")):(0,i.Q3)("",!0),(0,i.Lk)("button",{disabled:e.inFlight,type:"submit",class:"btn"},"Sign in",8,le)],32)])}]]),me={id:"connect",class:"window",role:"tabpanel","aria-label":"Connect"},ke={class:"header"},fe={class:"title"},be={class:"connect-row"},ve={class:"connect-row"},we={class:"input-wrap"},ye={class:"connect-row"},_e=["type"],Ce={class:"connect-row"},Le={class:"input-wrap"},Me={class:"tls"},Ee=["disabled"],xe={key:0,class:"tooltipped tooltipped-n tooltipped-no-delay","aria-label":"This network has a strict transport security policy, you will be unable to disable TLS"},Se={class:"tls"},Ae={class:"connect-row"},Te={class:"input-wrap"},Xe={for:"connect:proxyEnabled"},je={class:"connect-row"},We={class:"input-wrap"},Pe={class:"connect-row"},Re={class:"connect-row"},Ie=["type"],Ne={class:"connect-row"},Ue={class:"connect-row"},Fe=["type"],Oe={class:"connect-row"},qe={key:2,class:"connect-row"},Ke={class:"connect-row"},De={class:"connect-row"},Be={key:3,class:"connect-row"},$e=["value"],He={key:4,class:"connect-row"},Qe={class:"connect-row"},ze={class:"connect-row",style:{display:"block"}},Ve={class:"fish-keys-section"},Ye={class:"input-wrap fish-key-inputs"},Je=["onUpdate:modelValue"],Ge=["onUpdate:modelValue"],Ze=["disabled","onClick"],en={class:"connect-row"},nn={class:"connect-row"},tn={class:"input-wrap"},an={class:"tls"},sn={key:0,class:"connect-row"},on=["type"],ln={class:"connect-row connect-auth",role:"group","aria-labelledby":"label-auth"},rn={class:"opt"},cn=["checked"],un={class:"opt"},dn=["checked"],pn={key:0,class:"opt"},hn=["checked"],gn={class:"connect-row"},mn={class:"connect-row"},kn=["type"],fn={key:1,class:"connect-sasl-external"},bn=["disabled"],vn=(0,i.pM)({name:"SidebarToggle",setup:()=>({store:(0,o.Pj)()})}),wn=(0,q.A)(vn,[["render",function(e,n,t,a,s,o){return(0,i.uX)(),(0,i.CE)("button",{class:"lt","aria-label":"Toggle channel list",onClick:n[0]||(n[0]=n=>e.store.commit("toggleSidebar"))})}]]),yn=(0,i.pM)({name:"NetworkForm",components:{RevealPassword:pe,SidebarToggle:wn},props:{handleSubmit:{type:Function,required:!0},defaults:{type:Object,required:!0},disabled:Boolean},setup(e){const n=(0,o.Pj)(),t=(0,x.KR)(n.state.serverConfiguration),a=(0,x.KR)(e.defaults?.username),s=(0,x.KR)(!1),l=(0,x.KR)(null);(0,i.wB)(s,e=>{e&&(0,i.dY)(()=>{l.value?.focus()})});const r=(0,x.KR)(null),c=()=>{r.value&&(r.value.style.height="",r.value.style.height=`${Math.ceil(r.value.scrollHeight+2)}px`)};(0,i.wB)(()=>e.defaults?.commands,()=>{(0,i.dY)(()=>{c()})}),(0,i.wB)(()=>e.defaults?.tls,n=>{const t=[6667,6697],a=n?0:1;e.defaults?.port===t[a]&&(e.defaults.port=t[1-a])});const u=(0,x.KR)(null),d=(0,x.KR)([]),p=(0,i.EW)(()=>{const e={};for(const n of d.value){const t=n.target.trim(),a=n.key.trim();t&&a&&(e[t]=a)}return e});return(0,i.wB)(()=>e.defaults.fishKeys,e=>{d.value=(e=>{if(!e||0===Object.keys(e).length)return[{target:"",key:""}];const n=[];for(const[t,a]of Object.entries(e))n.push({target:t,key:String(a??"")});return n.length>0?n:[{target:"",key:""}]})(e)},{immediate:!0}),{store:n,config:t,displayPasswordField:s,publicPassword:l,commandsInput:r,resizeCommandsInput:c,setSaslAuth:n=>{e.defaults&&(e.defaults.sasl=n)},usernameInput:u,onNickChanged:e=>{if(!u.value)return;const n=u.value;n.value&&n.value!==a.value||(n.value=e.target?.value),a.value=e.target?.value},onSubmit:n=>{const t=new FormData(n.target),a={};t.forEach((e,n)=>{a[n]=e}),e.handleSubmit({...a,fishKeys:p.value})},fishKeysEntries:d,fishKeysValue:p,addFishKeyEntry:()=>{d.value.push({target:"",key:""})},removeFishKeyEntry:e=>{d.value.length>1&&d.value.splice(e,1)}}}}),_n=(0,q.A)(yn,[["render",function(e,n,t,a,o,r){const c=(0,i.g2)("SidebarToggle"),u=(0,i.g2)("RevealPassword");return(0,i.uX)(),(0,i.CE)("div",me,[(0,i.Lk)("div",ke,[(0,i.bF)(c)]),(0,i.Lk)("form",{class:"container",method:"post",action:"",onSubmit:n[30]||(n[30]=(0,s.D$)((...n)=>e.onSubmit&&e.onSubmit(...n),["prevent"]))},[(0,i.Lk)("h1",fe,[e.defaults.uuid?((0,i.uX)(),(0,i.CE)(i.FK,{key:0},[(0,i.bo)((0,i.Lk)("input",{"onUpdate:modelValue":n[0]||(n[0]=n=>e.defaults.uuid=n),type:"hidden",name:"uuid"},null,512),[[s.Jo,e.defaults.uuid]]),(0,i.eW)(" Edit "+(0,l.v_)(e.defaults.name),1)],64)):((0,i.uX)(),(0,i.CE)(i.FK,{key:1},[n[31]||(n[31]=(0,i.eW)(" Connect ",-1)),e.config?.lockNetwork&&e.store?.state.serverConfiguration?.public?((0,i.uX)(),(0,i.CE)(i.FK,{key:0},[(0,i.eW)(" to "+(0,l.v_)(e.defaults.name),1)],64)):(0,i.Q3)("",!0)],64))]),e.config?.lockNetwork?e.config.lockNetwork&&!e.store.state.serverConfiguration?.public?((0,i.uX)(),(0,i.CE)(i.FK,{key:1},[n[49]||(n[49]=(0,i.Lk)("h2",null,"Network settings",-1)),(0,i.Lk)("div",Ne,[n[47]||(n[47]=(0,i.Lk)("label",{for:"connect:name"},"Name",-1)),(0,i.bo)((0,i.Lk)("input",{id:"connect:name","onUpdate:modelValue":n[12]||(n[12]=n=>e.defaults.name=n),class:"input",name:"name",maxlength:"100"},null,512),[[s.Jo,e.defaults.name,void 0,{trim:!0}]])]),(0,i.Lk)("div",Ue,[n[48]||(n[48]=(0,i.Lk)("label",{for:"connect:password"},"Password",-1)),(0,i.bF)(u,{class:"input-wrap password-container"},{default:(0,i.k6)(t=>[(0,i.bo)((0,i.Lk)("input",{id:"connect:password","onUpdate:modelValue":n[13]||(n[13]=n=>e.defaults.password=n),class:"input",type:t.isVisible?"text":"password",placeholder:"Server password (optional)",name:"password",maxlength:"300"},null,8,Fe),[[s.hp,e.defaults.password]])]),_:1})])],64)):(0,i.Q3)("",!0):((0,i.uX)(),(0,i.CE)(i.FK,{key:0},[n[45]||(n[45]=(0,i.Lk)("h2",null,"Network settings",-1)),(0,i.Lk)("div",be,[n[32]||(n[32]=(0,i.Lk)("label",{for:"connect:name"},"Name",-1)),(0,i.bo)((0,i.Lk)("input",{id:"connect:name","onUpdate:modelValue":n[1]||(n[1]=n=>e.defaults.name=n),class:"input",name:"name",maxlength:"100"},null,512),[[s.Jo,e.defaults.name,void 0,{trim:!0}]])]),(0,i.Lk)("div",ve,[n[34]||(n[34]=(0,i.Lk)("label",{for:"connect:host"},"Server",-1)),(0,i.Lk)("div",we,[(0,i.bo)((0,i.Lk)("input",{id:"connect:host","onUpdate:modelValue":n[2]||(n[2]=n=>e.defaults.host=n),class:"input",name:"host","aria-label":"Server address",maxlength:"255",required:""},null,512),[[s.Jo,e.defaults.host,void 0,{trim:!0}]]),n[33]||(n[33]=(0,i.Lk)("span",{id:"connect:portseparator"},":",-1)),(0,i.bo)((0,i.Lk)("input",{id:"connect:port","onUpdate:modelValue":n[3]||(n[3]=n=>e.defaults.port=n),class:"input",type:"number",min:"1",max:"65535",name:"port","aria-label":"Server port"},null,512),[[s.Jo,e.defaults.port]])])]),(0,i.Lk)("div",ye,[n[35]||(n[35]=(0,i.Lk)("label",{for:"connect:password"},"Password",-1)),(0,i.bF)(u,{class:"input-wrap password-container"},{default:(0,i.k6)(t=>[(0,i.bo)((0,i.Lk)("input",{id:"connect:password","onUpdate:modelValue":n[4]||(n[4]=n=>e.defaults.password=n),class:"input",type:t.isVisible?"text":"password",placeholder:"Server password (optional)",name:"password",maxlength:"300"},null,8,_e),[[s.hp,e.defaults.password]])]),_:1})]),(0,i.Lk)("div",Ce,[n[38]||(n[38]=(0,i.Lk)("label",null,null,-1)),(0,i.Lk)("div",Le,[(0,i.Lk)("label",Me,[(0,i.bo)((0,i.Lk)("input",{"onUpdate:modelValue":n[5]||(n[5]=n=>e.defaults.tls=n),type:"checkbox",name:"tls",disabled:e.defaults.hasSTSPolicy},null,8,Ee),[[s.lH,e.defaults.tls]]),n[36]||(n[36]=(0,i.eW)(" Use secure connection (TLS) ",-1)),e.defaults.hasSTSPolicy?((0,i.uX)(),(0,i.CE)("span",xe,"๐Ÿ”’ STS")):(0,i.Q3)("",!0)]),(0,i.Lk)("label",Se,[(0,i.bo)((0,i.Lk)("input",{"onUpdate:modelValue":n[6]||(n[6]=n=>e.defaults.rejectUnauthorized=n),type:"checkbox",name:"rejectUnauthorized"},null,512),[[s.lH,e.defaults.rejectUnauthorized]]),n[37]||(n[37]=(0,i.eW)(" Only allow trusted certificates ",-1))])])]),n[46]||(n[46]=(0,i.Lk)("h2",null,"Proxy Settings",-1)),(0,i.Lk)("div",Ae,[n[40]||(n[40]=(0,i.Lk)("label",null,null,-1)),(0,i.Lk)("div",Te,[(0,i.Lk)("label",Xe,[(0,i.bo)((0,i.Lk)("input",{id:"connect:proxyEnabled","onUpdate:modelValue":n[7]||(n[7]=n=>e.defaults.proxyEnabled=n),type:"checkbox",name:"proxyEnabled"},null,512),[[s.lH,e.defaults.proxyEnabled]]),n[39]||(n[39]=(0,i.eW)(" Enable Proxy ",-1))])])]),e.defaults.proxyEnabled?((0,i.uX)(),(0,i.CE)(i.FK,{key:0},[(0,i.Lk)("div",je,[n[42]||(n[42]=(0,i.Lk)("label",{for:"connect:proxyHost"},"SOCKS Address",-1)),(0,i.Lk)("div",We,[(0,i.bo)((0,i.Lk)("input",{id:"connect:proxyHost","onUpdate:modelValue":n[8]||(n[8]=n=>e.defaults.proxyHost=n),class:"input",name:"proxyHost","aria-label":"Proxy host",maxlength:"255"},null,512),[[s.Jo,e.defaults.proxyHost,void 0,{trim:!0}]]),n[41]||(n[41]=(0,i.Lk)("span",{id:"connect:proxyPortSeparator"},":",-1)),(0,i.bo)((0,i.Lk)("input",{id:"connect:proxyPort","onUpdate:modelValue":n[9]||(n[9]=n=>e.defaults.proxyPort=n),class:"input",type:"number",min:"1",max:"65535",name:"proxyPort","aria-label":"SOCKS port"},null,512),[[s.Jo,e.defaults.proxyPort]])])]),(0,i.Lk)("div",Pe,[n[43]||(n[43]=(0,i.Lk)("label",{for:"connect:proxyUsername"},"Proxy username",-1)),(0,i.bo)((0,i.Lk)("input",{id:"connect:proxyUsername",ref:"proxyUsernameInput","onUpdate:modelValue":n[10]||(n[10]=n=>e.defaults.proxyUsername=n),class:"input username",name:"proxyUsername",maxlength:"100",placeholder:"Proxy username"},null,512),[[s.Jo,e.defaults.proxyUsername,void 0,{trim:!0}]])]),(0,i.Lk)("div",Re,[n[44]||(n[44]=(0,i.Lk)("label",{for:"connect:proxyPassword"},"Proxy password",-1)),(0,i.bF)(u,{class:"input-wrap password-container"},{default:(0,i.k6)(t=>[(0,i.bo)((0,i.Lk)("input",{id:"connect:proxyPassword",ref:"proxyPassword","onUpdate:modelValue":n[11]||(n[11]=n=>e.defaults.proxyPassword=n),class:"input",type:t.isVisible?"text":"password",placeholder:"Proxy password",name:"proxyPassword",maxlength:"300"},null,8,Ie),[[s.hp,e.defaults.proxyPassword]])]),_:1})])],64)):(0,i.Q3)("",!0)],64)),n[68]||(n[68]=(0,i.Lk)("h2",null,"User preferences",-1)),(0,i.Lk)("div",Oe,[n[50]||(n[50]=(0,i.Lk)("label",{for:"connect:nick"},"Nick",-1)),(0,i.bo)((0,i.Lk)("input",{id:"connect:nick","onUpdate:modelValue":n[14]||(n[14]=n=>e.defaults.nick=n),class:"input nick",name:"nick",pattern:"[^\\s:!@]+",maxlength:"100",required:"",onInput:n[15]||(n[15]=(...n)=>e.onNickChanged&&e.onNickChanged(...n))},null,544),[[s.Jo,e.defaults.nick]])]),e.config?.useHexIp?(0,i.Q3)("",!0):((0,i.uX)(),(0,i.CE)("div",qe,[n[51]||(n[51]=(0,i.Lk)("label",{for:"connect:username"},"Username",-1)),(0,i.bo)((0,i.Lk)("input",{id:"connect:username",ref:"usernameInput","onUpdate:modelValue":n[16]||(n[16]=n=>e.defaults.username=n),class:"input username",name:"username",maxlength:"100"},null,512),[[s.Jo,e.defaults.username,void 0,{trim:!0}]])])),(0,i.Lk)("div",Ke,[n[52]||(n[52]=(0,i.Lk)("label",{for:"connect:realname"},"Real name",-1)),(0,i.bo)((0,i.Lk)("input",{id:"connect:realname","onUpdate:modelValue":n[17]||(n[17]=n=>e.defaults.realname=n),class:"input",name:"realname",maxlength:"300"},null,512),[[s.Jo,e.defaults.realname,void 0,{trim:!0}]])]),(0,i.Lk)("div",De,[n[53]||(n[53]=(0,i.Lk)("label",{for:"connect:leaveMessage"},"Leave message",-1)),(0,i.bo)((0,i.Lk)("input",{id:"connect:leaveMessage","onUpdate:modelValue":n[18]||(n[18]=n=>e.defaults.leaveMessage=n),autocomplete:"off",class:"input",name:"leaveMessage",placeholder:"The Lounge - https://thelounge.chat"},null,512),[[s.Jo,e.defaults.leaveMessage,void 0,{trim:!0}]])]),e.defaults.uuid&&!e.store.state.serverConfiguration?.public?((0,i.uX)(),(0,i.CE)("div",Be,[n[54]||(n[54]=(0,i.Lk)("label",{for:"connect:commands"},[(0,i.eW)(" Commands "),(0,i.Lk)("span",{class:"tooltipped tooltipped-ne tooltipped-no-delay","aria-label":"One /command per line.\nEach command will be executed in\nthe server tab on new connection"},[(0,i.Lk)("button",{class:"extra-help"})])],-1)),(0,i.Lk)("textarea",{id:"connect:commands",ref:"commandsInput",autocomplete:"off",value:e.defaults.commands?e.defaults.commands.join("\n"):"",class:"input",name:"commands",onInput:n[19]||(n[19]=(...n)=>e.resizeCommandsInput&&e.resizeCommandsInput(...n))},null,40,$e)])):e.defaults.uuid?(0,i.Q3)("",!0):((0,i.uX)(),(0,i.CE)("div",He,[n[55]||(n[55]=(0,i.Lk)("label",{for:"connect:channels"},"Channels",-1)),(0,i.bo)((0,i.Lk)("input",{id:"connect:channels","onUpdate:modelValue":n[20]||(n[20]=n=>e.defaults.join=n),class:"input",name:"join"},null,512),[[s.Jo,e.defaults.join,void 0,{trim:!0}]])])),n[69]||(n[69]=(0,i.Lk)("h2",null,"FiSH (Blowfish)",-1)),(0,i.Lk)("div",Qe,[n[56]||(n[56]=(0,i.Lk)("label",{for:"connect:fishGlobalKey"},"Global key",-1)),(0,i.bo)((0,i.Lk)("input",{id:"connect:fishGlobalKey","onUpdate:modelValue":n[21]||(n[21]=n=>e.defaults.fishGlobalKey=n),class:"input",name:"fishGlobalKey",placeholder:"Optional global key for this network"},null,512),[[s.Jo,e.defaults.fishGlobalKey,void 0,{trim:!0}]])]),(0,i.Lk)("div",ze,[n[57]||(n[57]=(0,i.Lk)("label",{for:"connect:fishKeys",style:{"margin-bottom":"5px"}},[(0,i.eW)(" Per-channel or User-Channels "),(0,i.Lk)("span",{class:"tooltipped tooltipped-ne tooltipped-no-delay","aria-label":"#channel key or nick key"},[(0,i.Lk)("button",{class:"extra-help"})])],-1)),(0,i.Lk)("div",Ve,[((0,i.uX)(!0),(0,i.CE)(i.FK,null,(0,i.pI)(e.fishKeysEntries,(n,t)=>((0,i.uX)(),(0,i.CE)("div",{key:t,class:"connect-row fish-key-row"},[(0,i.Lk)("div",Ye,[(0,i.bo)((0,i.Lk)("input",{"onUpdate:modelValue":e=>n.target=e,class:"input fish-target-input",placeholder:"#channel or nick",maxlength:"100","aria-label":"Channel or user name",style:{margin:"0"}},null,8,Je),[[s.Jo,n.target]]),(0,i.bo)((0,i.Lk)("input",{"onUpdate:modelValue":e=>n.key=e,type:"password",class:"input fish-key-input",placeholder:"encryption key",maxlength:"300","aria-label":"Encryption key",style:{margin:"0"}},null,8,Ge),[[s.Jo,n.key]]),(0,i.Lk)("button",{type:"button",class:"btn fish-remove-btn",disabled:e.fishKeysEntries.length<=1,title:"Remove entry",style:{width:"auto",margin:"0"},onClick:n=>e.removeFishKeyEntry(t)}," Remove ",8,Ze)])]))),128)),(0,i.Lk)("div",en,[(0,i.Lk)("button",{type:"button",class:"btn",onClick:n[22]||(n[22]=(...n)=>e.addFishKeyEntry&&e.addFishKeyEntry(...n))}," Add Entry ")])])]),e.store.state.serverConfiguration?.public?((0,i.uX)(),(0,i.CE)(i.FK,{key:5},[e.config?.lockNetwork?((0,i.uX)(),(0,i.CE)(i.FK,{key:0},[(0,i.Lk)("div",nn,[n[59]||(n[59]=(0,i.Lk)("label",null,null,-1)),(0,i.Lk)("div",tn,[(0,i.Lk)("label",an,[(0,i.bo)((0,i.Lk)("input",{"onUpdate:modelValue":n[23]||(n[23]=n=>e.displayPasswordField=n),type:"checkbox"},null,512),[[s.lH,e.displayPasswordField]]),n[58]||(n[58]=(0,i.eW)(" I have a password ",-1))])])]),e.displayPasswordField?((0,i.uX)(),(0,i.CE)("div",sn,[n[60]||(n[60]=(0,i.Lk)("label",{for:"connect:password"},"Password",-1)),(0,i.bF)(u,{class:"input-wrap password-container"},{default:(0,i.k6)(t=>[(0,i.bo)((0,i.Lk)("input",{id:"connect:password",ref:"publicPassword","onUpdate:modelValue":n[24]||(n[24]=n=>e.defaults.password=n),class:"input",type:t.isVisible?"text":"password",placeholder:"Server password (optional)",name:"password",maxlength:"300"},null,8,on),[[s.hp,e.defaults.password]])]),_:1})])):(0,i.Q3)("",!0)],64)):(0,i.Q3)("",!0)],64)):((0,i.uX)(),(0,i.CE)(i.FK,{key:6},[n[67]||(n[67]=(0,i.Lk)("h2",{id:"label-auth"},"Authentication",-1)),(0,i.Lk)("div",ln,[(0,i.Lk)("label",rn,[(0,i.Lk)("input",{checked:!e.defaults.sasl,type:"radio",name:"sasl",value:"",onChange:n[25]||(n[25]=n=>e.setSaslAuth(""))},null,40,cn),n[61]||(n[61]=(0,i.eW)(" No authentication ",-1))]),(0,i.Lk)("label",un,[(0,i.Lk)("input",{checked:"plain"===e.defaults.sasl,type:"radio",name:"sasl",value:"plain",onChange:n[26]||(n[26]=n=>e.setSaslAuth("plain"))},null,40,dn),n[62]||(n[62]=(0,i.eW)(" Username + password (SASL PLAIN) ",-1))]),!e.store.state.serverConfiguration?.public&&e.defaults.tls?((0,i.uX)(),(0,i.CE)("label",pn,[(0,i.Lk)("input",{checked:"external"===e.defaults.sasl,type:"radio",name:"sasl",value:"external",onChange:n[27]||(n[27]=n=>e.setSaslAuth("external"))},null,40,hn),n[63]||(n[63]=(0,i.eW)(" Client certificate (SASL EXTERNAL) ",-1))])):(0,i.Q3)("",!0)]),"plain"===e.defaults.sasl?((0,i.uX)(),(0,i.CE)(i.FK,{key:0},[(0,i.Lk)("div",gn,[n[64]||(n[64]=(0,i.Lk)("label",{for:"connect:username"},"Account",-1)),(0,i.bo)((0,i.Lk)("input",{id:"connect:saslAccount","onUpdate:modelValue":n[28]||(n[28]=n=>e.defaults.saslAccount=n),class:"input",name:"saslAccount",maxlength:"100",required:""},null,512),[[s.Jo,e.defaults.saslAccount,void 0,{trim:!0}]])]),(0,i.Lk)("div",mn,[n[65]||(n[65]=(0,i.Lk)("label",{for:"connect:password"},"Password",-1)),(0,i.bF)(u,{class:"input-wrap password-container"},{default:(0,i.k6)(t=>[(0,i.bo)((0,i.Lk)("input",{id:"connect:saslPassword","onUpdate:modelValue":n[29]||(n[29]=n=>e.defaults.saslPassword=n),class:"input",type:t.isVisible?"text":"password",name:"saslPassword",maxlength:"300",required:""},null,8,kn),[[s.hp,e.defaults.saslPassword]])]),_:1})])],64)):"external"===e.defaults.sasl?((0,i.uX)(),(0,i.CE)("div",fn,[...n[66]||(n[66]=[(0,i.Lk)("p",null,"The Lounge automatically generates and manages the client certificate.",-1),(0,i.Lk)("p",null," On the IRC server, you will need to tell the services to attach the certificate fingerprint (certfp) to your account, for example: ",-1),(0,i.Lk)("pre",null,[(0,i.Lk)("code",null,"/msg NickServ CERT ADD")],-1)])])):(0,i.Q3)("",!0)],64)),(0,i.Lk)("div",null,[(0,i.Lk)("button",{type:"submit",class:"btn",disabled:!!e.disabled},[e.defaults.uuid?((0,i.uX)(),(0,i.CE)(i.FK,{key:0},[(0,i.eW)("Save network")],64)):((0,i.uX)(),(0,i.CE)(i.FK,{key:1},[(0,i.eW)("Connect")],64))],8,bn)])],32)])}]]),Cn=(0,i.pM)({name:"Connect",components:{NetworkForm:_n},props:{queryParams:Object},setup(e){const n=(0,o.Pj)(),t=(0,x.KR)(!1);return{defaults:(0,x.KR)(Object.assign({},n.state.serverConfiguration?.defaults,(e=>{if(!e)return{};const t={};for(let a of Object.keys(e)){let s=e[a];if(Array.isArray(s)&&(s=s[0]),"channels"===a&&(a="join"),Object.prototype.hasOwnProperty.call(n.state.serverConfiguration?.defaults,a)&&(!n.state.serverConfiguration?.lockNetwork||!["name","host","port","tls","rejectUnauthorized"].includes(a)))switch("join"===a&&(s=s.split(",").map(e=>e.match(/^[#&!+]/)?e:`#${e}`).join(", ")),typeof n.state.serverConfiguration?.defaults[a]){case"boolean":t[a]="0"!==s&&"false"!==s&&!!s;break;case"number":t[a]=Number(s);break;case"string":t[a]=String(s)}}return t})(e.queryParams))),disabled:t,handleSubmit:e=>{t.value=!0,re.A.emit("network:new",e)}}}}),Ln=(0,q.A)(Cn,[["render",function(e,n,t,a,s,o){const l=(0,i.g2)("NetworkForm");return(0,i.uX)(),(0,i.Wv)(l,{"handle-submit":e.handleSubmit,defaults:e.defaults,disabled:e.disabled},null,8,["handle-submit","defaults","disabled"])}]]),Mn={id:"settings",class:"window",role:"tabpanel","aria-label":"Settings"},En={class:"header"},xn={class:"container"},Sn={class:"settings-menu"},An={role:"navigation","aria-label":"Settings tabs"},Tn=["aria-label","aria-selected"],Xn=["onClick","onKeypress"],jn=(0,i.pM)({name:"SettingTabListItem",props:{name:{type:String,required:!0},className:{type:String,required:!0},to:{type:String,required:!0}},setup:()=>({route:(0,S.lq)()})}),Wn=(0,q.A)(jn,[["render",function(e,n,t,a,o,r){const c=(0,i.g2)("router-link");return(0,i.uX)(),(0,i.CE)("li",{"aria-label":e.name,role:"tab","aria-selected":e.route.name===e.name,"aria-controls":"settings"},[(0,i.bF)(c,{to:"/settings/"+e.to,custom:""},{default:(0,i.k6)(({navigate:n,isExactActive:t})=>[(0,i.Lk)("button",{class:(0,l.C4)(["icon",e.className,{active:t}]),onClick:n,onKeypress:(0,s.jR)(n,["enter"])},(0,l.v_)(e.name),43,Xn)]),_:1},8,["to"])],8,Tn)}]]),Pn=(0,i.pM)({name:"SettingsTabs",components:{SettingTabItem:Wn}}),Rn=(0,q.A)(Pn,[["render",function(e,n,t,a,s,o){const l=(0,i.g2)("SettingTabItem");return(0,i.uX)(),(0,i.CE)("aside",Sn,[n[0]||(n[0]=(0,i.Lk)("h2",null,"Settings",-1)),(0,i.Lk)("ul",An,[(0,i.bF)(l,{name:"General","class-name":"general",to:""}),(0,i.bF)(l,{name:"Appearance","class-name":"appearance",to:"appearance"}),(0,i.bF)(l,{name:"Notifications","class-name":"notifications",to:"notifications"}),(0,i.bF)(l,{name:"Account","class-name":"account",to:"account"})])])}]]),In=(0,i.pM)({name:"Settings",components:{SidebarToggle:wn,Navigation:Rn},setup(){const e=(0,o.Pj)();return{onChange:n=>{const t=n.target.name;if(["old_password","new_password","verify_password"].includes(t))return;let a;a="checkbox"===n.target.type?n.target.checked:n.target.value,e.dispatch("settings/update",{name:t,value:a,sync:!0})}}}}),Nn=(0,q.A)(In,[["render",function(e,n,t,a,o,l){const r=(0,i.g2)("SidebarToggle"),c=(0,i.g2)("Navigation"),u=(0,i.g2)("router-view");return(0,i.uX)(),(0,i.CE)("div",Mn,[(0,i.Lk)("div",En,[(0,i.bF)(r)]),(0,i.bF)(c),(0,i.Lk)("div",xn,[(0,i.Lk)("form",{ref:"settingsForm",autocomplete:"off",onChange:n[0]||(n[0]=(...n)=>e.onChange&&e.onChange(...n)),onSubmit:n[1]||(n[1]=(0,s.D$)(()=>{},["prevent"]))},[(0,i.bF)(u)],544)])])}]]),Un={id:"help",class:"window",role:"tabpanel","aria-label":"Help"},Fn={class:"header"},On={class:"container"},qn={class:"help-version-title"},Kn={class:"about"},Dn=["href"],Bn=["href"],$n=["href"],Hn={key:0},Qn={key:1,class:"help-item"},zn={key:2,class:"help-item"},Vn={key:3,class:"help-item"},Yn={key:4,class:"help-item"},Jn={class:"help-item"},Gn={class:"subject"},Zn={key:0},et={key:1},nt={class:"help-item"},tt={class:"subject"},at={key:0},st={key:1},ot={class:"help-item"},it={class:"subject"},lt={key:0},rt={key:1},ct={class:"help-item"},ut={class:"subject"},dt={key:0},pt={key:1},ht={class:"help-item"},gt={class:"subject"},mt={key:0},kt={key:1},ft={class:"help-item"},bt={class:"subject"},vt={key:0},wt={key:1},yt={class:"help-item"},_t={class:"subject"},Ct={key:0},Lt={key:1},Mt={class:"help-item"},Et={class:"subject"},xt={key:0},St={key:1},At={class:"help-item"},Tt={class:"subject"},Xt={key:0},jt={key:1},Wt={class:"help-item"},Pt={class:"subject"},Rt={key:0},It={key:1},Nt={class:"help-item"},Ut={class:"subject"},Ft={key:0},Ot={key:1},qt={class:"help-item"},Kt={class:"subject"},Dt={key:0},Bt={key:1},$t={class:"help-item"},Ht={class:"subject"},Qt={key:0},zt={key:1},Vt={class:"help-item"},Yt={class:"subject"},Jt={key:0},Gt={key:1},Zt={class:"help-item"},ea={class:"subject"},na={key:0},ta={key:1},aa={class:"help-item"},sa={class:"subject"},oa={key:0},ia={key:1},la={class:"help-item"},ra={class:"subject"},ca={key:0},ua={key:1},da={class:"help-item"},pa={class:"subject"},ha={key:0},ga={key:1},ma={class:"help-item"},ka={class:"subject"},fa={key:0},ba={key:1},va={class:"help-item"},wa={class:"subject"},ya={key:0},_a={key:1},Ca={class:"help-item"},La={class:"subject"},Ma={key:0},Ea={key:1},xa={key:5,class:"help-item"},Sa={key:0},Aa={key:1},Ta=["href"],Xa={key:2},ja=(0,i.pM)({name:"VersionChecker",setup(){const e=(0,o.Pj)(),n=()=>{e.commit("versionData",null),e.commit("versionStatus","loading"),re.A.emit("changelog")};return(0,i.sV)(()=>{e.state.versionData||n()}),{store:e,checkNow:n}}}),Wa=(0,q.A)(ja,[["render",function(e,n,t,a,s,o){return(0,i.uX)(),(0,i.CE)("div",{id:"version-checker",class:(0,l.C4)([e.store.state.versionStatus])},["loading"===e.store.state.versionStatus?((0,i.uX)(),(0,i.CE)("p",Sa,"Checking for updatesโ€ฆ")):(0,i.Q3)("",!0),"new-version"===e.store.state.versionStatus?((0,i.uX)(),(0,i.CE)("p",Aa,[n[2]||(n[2]=(0,i.eW)(" The Lounge ",-1)),(0,i.Lk)("b",null,(0,l.v_)(e.store.state.versionData?.latest?.version),1),e.store.state.versionData?.latest?.prerelease?((0,i.uX)(),(0,i.CE)(i.FK,{key:0},[(0,i.eW)(" (pre-release) ")],64)):(0,i.Q3)("",!0),n[3]||(n[3]=(0,i.eW)(" is now available. ",-1)),n[4]||(n[4]=(0,i.Lk)("br",null,null,-1)),(0,i.Lk)("a",{href:e.store.state.versionData?.latest?.url,target:"_blank",rel:"noopener"}," Read more on GitHub ",8,Ta)])):(0,i.Q3)("",!0),"new-packages"===e.store.state.versionStatus?((0,i.uX)(),(0,i.CE)("p",Xa,[...n[5]||(n[5]=[(0,i.eW)(" The Lounge is up to date, but there are out of date packages Run ",-1),(0,i.Lk)("code",null,"thelounge upgrade",-1),(0,i.eW)(" on the server to upgrade packages. ",-1)])])):(0,i.Q3)("",!0),"up-to-date"===e.store.state.versionStatus?((0,i.uX)(),(0,i.CE)(i.FK,{key:3},[n[6]||(n[6]=(0,i.Lk)("p",null,"The Lounge is up to date!",-1)),e.store.state.versionDataExpired?((0,i.uX)(),(0,i.CE)("button",{key:0,id:"check-now",class:"btn btn-small",onClick:n[0]||(n[0]=(...n)=>e.checkNow&&e.checkNow(...n))}," Check now ")):(0,i.Q3)("",!0)],64)):(0,i.Q3)("",!0),"error"===e.store.state.versionStatus?((0,i.uX)(),(0,i.CE)(i.FK,{key:4},[n[7]||(n[7]=(0,i.Lk)("p",null,"Information about latest release could not be retrieved.",-1)),(0,i.Lk)("button",{id:"check-now",class:"btn btn-small",onClick:n[1]||(n[1]=(...n)=>e.checkNow&&e.checkNow(...n))},"Try again")],64)):(0,i.Q3)("",!0)],2)}]]),Pa=(0,i.pM)({name:"Help",components:{SidebarToggle:wn,VersionChecker:Wa},setup(){const e=(0,o.Pj)();return{isApple:navigator.platform.match(/(Mac|iPhone|iPod|iPad)/i)||!1,isTouch:navigator.maxTouchPoints>0,store:e}}}),Ra=(0,q.A)(Pa,[["render",function(e,n,t,a,s,o){const r=(0,i.g2)("SidebarToggle"),c=(0,i.g2)("router-link"),u=(0,i.g2)("VersionChecker");return(0,i.uX)(),(0,i.CE)("div",Un,[(0,i.Lk)("div",Fn,[(0,i.bF)(r)]),(0,i.Lk)("div",On,[n[86]||(n[86]=(0,i.Lk)("h1",{class:"title"},"Help",-1)),(0,i.Lk)("h2",qn,[n[2]||(n[2]=(0,i.Lk)("span",null,"About The Lounge",-1)),(0,i.Lk)("small",null,[(0,i.eW)(" v"+(0,l.v_)(e.store.state.serverConfiguration?.version)+" (",1),(0,i.bF)(c,{id:"view-changelog",to:"/changelog"},{default:(0,i.k6)(()=>[...n[0]||(n[0]=[(0,i.eW)("release notes",-1)])]),_:1}),n[1]||(n[1]=(0,i.eW)(") ",-1))])]),(0,i.Lk)("div",Kn,[(0,i.bF)(u),e.store.state.serverConfiguration?.gitCommit?((0,i.uX)(),(0,i.CE)(i.FK,{key:0},[(0,i.Lk)("p",null,[n[4]||(n[4]=(0,i.eW)(" The Lounge is running from source (",-1)),(0,i.Lk)("a",{href:`https://github.com/LordBex/thelounge/tree/${e.store.state.serverConfiguration?.gitCommit}`,target:"_blank",rel:"noopener"},[n[3]||(n[3]=(0,i.eW)("commit ",-1)),(0,i.Lk)("code",null,(0,l.v_)(e.store.state.serverConfiguration?.gitCommit),1)],8,Dn),n[5]||(n[5]=(0,i.eW)("). ",-1))]),(0,i.Lk)("ul",null,[(0,i.Lk)("li",null,[n[9]||(n[9]=(0,i.eW)(" Compare ",-1)),(0,i.Lk)("a",{href:`https://github.com/LordBex/thelounge/compare/${e.store.state.serverConfiguration?.gitCommit}...master`,target:"_blank",rel:"noopener"},[n[6]||(n[6]=(0,i.eW)("between ",-1)),(0,i.Lk)("code",null,(0,l.v_)(e.store.state.serverConfiguration?.gitCommit),1),n[7]||(n[7]=(0,i.eW)(" and ",-1)),n[8]||(n[8]=(0,i.Lk)("code",null,"master",-1))],8,Bn),n[10]||(n[10]=(0,i.eW)(" to see what you are missing ",-1))]),(0,i.Lk)("li",null,[n[13]||(n[13]=(0,i.eW)(" Compare ",-1)),(0,i.Lk)("a",{href:`https://github.com/LordBex/thelounge/compare/${e.store.state.serverConfiguration?.version}...${e.store.state.serverConfiguration?.gitCommit}`,target:"_blank",rel:"noopener"},[n[11]||(n[11]=(0,i.eW)("between ",-1)),(0,i.Lk)("code",null,(0,l.v_)(e.store.state.serverConfiguration?.version),1),n[12]||(n[12]=(0,i.eW)(" and ",-1)),(0,i.Lk)("code",null,(0,l.v_)(e.store.state.serverConfiguration?.gitCommit),1)],8,$n),n[14]||(n[14]=(0,i.eW)(" to see your local changes ",-1))])])],64)):(0,i.Q3)("",!0),n[15]||(n[15]=(0,i.Lk)("p",null,[(0,i.Lk)("a",{href:"https://thelounge.chat/",target:"_blank",rel:"noopener",class:"website-link"},"Website")],-1)),n[16]||(n[16]=(0,i.Lk)("p",null,[(0,i.Lk)("a",{href:"https://thelounge.chat/docs/",target:"_blank",rel:"noopener",class:"documentation-link"},"Documentation")],-1)),n[17]||(n[17]=(0,i.Lk)("p",null,[(0,i.Lk)("a",{href:"https://github.com/LordBex/thelounge/issues/new",target:"_blank",rel:"noopener",class:"report-issue-link"},"Report an issueโ€ฆ")],-1))]),e.isTouch?((0,i.uX)(),(0,i.CE)("h2",Hn,"Gestures")):(0,i.Q3)("",!0),e.isTouch?((0,i.uX)(),(0,i.CE)("div",Qn,[...n[18]||(n[18]=[(0,i.Lk)("div",{class:"subject gesture"},"Single-Finger Swipe Left",-1),(0,i.Lk)("div",{class:"description"},[(0,i.Lk)("p",null,"Hide sidebar.")],-1)])])):(0,i.Q3)("",!0),e.isTouch?((0,i.uX)(),(0,i.CE)("div",zn,[...n[19]||(n[19]=[(0,i.Lk)("div",{class:"subject gesture"},"Single-Finger Swipe Right",-1),(0,i.Lk)("div",{class:"description"},[(0,i.Lk)("p",null,"Show sidebar.")],-1)])])):(0,i.Q3)("",!0),e.isTouch?((0,i.uX)(),(0,i.CE)("div",Vn,[...n[20]||(n[20]=[(0,i.Lk)("div",{class:"subject gesture"},"Two-Finger Swipe Left",-1),(0,i.Lk)("div",{class:"description"},[(0,i.Lk)("p",null,"Switch to the next window in the channel list.")],-1)])])):(0,i.Q3)("",!0),e.isTouch?((0,i.uX)(),(0,i.CE)("div",Yn,[...n[21]||(n[21]=[(0,i.Lk)("div",{class:"subject gesture"},"Two-Finger Swipe Right",-1),(0,i.Lk)("div",{class:"description"},[(0,i.Lk)("p",null,"Switch to the previous window in the channel list.")],-1)])])):(0,i.Q3)("",!0),n[87]||(n[87]=(0,i.Lk)("h2",null,"Keyboard Shortcuts",-1)),(0,i.Lk)("div",Jn,[(0,i.Lk)("div",Gn,[e.isApple?((0,i.uX)(),(0,i.CE)("span",et,[...n[23]||(n[23]=[(0,i.Lk)("kbd",null,"โŒฅ",-1),(0,i.eW)(),(0,i.Lk)("kbd",null,"โ‡ง",-1),(0,i.eW)(),(0,i.Lk)("kbd",null,"โ†“",-1)])])):((0,i.uX)(),(0,i.CE)("span",Zn,[...n[22]||(n[22]=[(0,i.Lk)("kbd",null,"Alt",-1),(0,i.eW)(),(0,i.Lk)("kbd",null,"Shift",-1),(0,i.eW)(),(0,i.Lk)("kbd",null,"โ†“",-1)])]))]),n[24]||(n[24]=(0,i.Lk)("div",{class:"description"},[(0,i.Lk)("p",null,"Switch to the next lobby in the channel list.")],-1))]),(0,i.Lk)("div",nt,[(0,i.Lk)("div",tt,[e.isApple?((0,i.uX)(),(0,i.CE)("span",st,[...n[26]||(n[26]=[(0,i.Lk)("kbd",null,"โŒฅ",-1),(0,i.eW)(),(0,i.Lk)("kbd",null,"โ‡ง",-1),(0,i.eW)(),(0,i.Lk)("kbd",null,"โ†‘",-1)])])):((0,i.uX)(),(0,i.CE)("span",at,[...n[25]||(n[25]=[(0,i.Lk)("kbd",null,"Alt",-1),(0,i.eW)(),(0,i.Lk)("kbd",null,"Shift",-1),(0,i.eW)(),(0,i.Lk)("kbd",null,"โ†‘",-1)])]))]),n[27]||(n[27]=(0,i.Lk)("div",{class:"description"},[(0,i.Lk)("p",null,"Switch to the previous lobby in the channel list.")],-1))]),(0,i.Lk)("div",ot,[(0,i.Lk)("div",it,[e.isApple?((0,i.uX)(),(0,i.CE)("span",rt,[...n[29]||(n[29]=[(0,i.Lk)("kbd",null,"โŒฅ",-1),(0,i.eW)(),(0,i.Lk)("kbd",null,"โ‡ง",-1),(0,i.eW)(),(0,i.Lk)("kbd",null,"โ†",-1)])])):((0,i.uX)(),(0,i.CE)("span",lt,[...n[28]||(n[28]=[(0,i.Lk)("kbd",null,"Alt",-1),(0,i.eW)(),(0,i.Lk)("kbd",null,"Shift",-1),(0,i.eW)(),(0,i.Lk)("kbd",null,"โ†",-1)])]))]),n[30]||(n[30]=(0,i.Lk)("div",{class:"description"},[(0,i.Lk)("p",null,"Collapse current network.")],-1))]),(0,i.Lk)("div",ct,[(0,i.Lk)("div",ut,[e.isApple?((0,i.uX)(),(0,i.CE)("span",pt,[...n[32]||(n[32]=[(0,i.Lk)("kbd",null,"โŒฅ",-1),(0,i.eW)(),(0,i.Lk)("kbd",null,"โ‡ง",-1),(0,i.eW)(),(0,i.Lk)("kbd",null,"โ†’",-1)])])):((0,i.uX)(),(0,i.CE)("span",dt,[...n[31]||(n[31]=[(0,i.Lk)("kbd",null,"Alt",-1),(0,i.eW)(),(0,i.Lk)("kbd",null,"Shift",-1),(0,i.eW)(),(0,i.Lk)("kbd",null,"โ†’",-1)])]))]),n[33]||(n[33]=(0,i.Lk)("div",{class:"description"},[(0,i.Lk)("p",null,"Expand current network.")],-1))]),(0,i.Lk)("div",ht,[(0,i.Lk)("div",gt,[e.isApple?((0,i.uX)(),(0,i.CE)("span",kt,[...n[35]||(n[35]=[(0,i.Lk)("kbd",null,"โŒฅ",-1),(0,i.eW)(),(0,i.Lk)("kbd",null,"โ†“",-1)])])):((0,i.uX)(),(0,i.CE)("span",mt,[...n[34]||(n[34]=[(0,i.Lk)("kbd",null,"Alt",-1),(0,i.eW)(),(0,i.Lk)("kbd",null,"โ†“",-1)])]))]),n[36]||(n[36]=(0,i.Lk)("div",{class:"description"},[(0,i.Lk)("p",null,"Switch to the next window in the channel list.")],-1))]),(0,i.Lk)("div",ft,[(0,i.Lk)("div",bt,[e.isApple?((0,i.uX)(),(0,i.CE)("span",wt,[...n[38]||(n[38]=[(0,i.Lk)("kbd",null,"โŒฅ",-1),(0,i.eW)(),(0,i.Lk)("kbd",null,"โ†‘",-1)])])):((0,i.uX)(),(0,i.CE)("span",vt,[...n[37]||(n[37]=[(0,i.Lk)("kbd",null,"Alt",-1),(0,i.eW)(),(0,i.Lk)("kbd",null,"โ†‘",-1)])]))]),n[39]||(n[39]=(0,i.Lk)("div",{class:"description"},[(0,i.Lk)("p",null,"Switch to the previous window in the channel list.")],-1))]),(0,i.Lk)("div",yt,[(0,i.Lk)("div",_t,[e.isApple?((0,i.uX)(),(0,i.CE)("span",Lt,[...n[41]||(n[41]=[(0,i.Lk)("kbd",null,"โŒฅ",-1),(0,i.eW)(),(0,i.Lk)("kbd",null,"โŒ˜",-1),(0,i.eW)(),(0,i.Lk)("kbd",null,"โ†“",-1)])])):((0,i.uX)(),(0,i.CE)("span",Ct,[...n[40]||(n[40]=[(0,i.Lk)("kbd",null,"Alt",-1),(0,i.eW)(),(0,i.Lk)("kbd",null,"Ctrl",-1),(0,i.eW)(),(0,i.Lk)("kbd",null,"โ†“",-1)])]))]),n[42]||(n[42]=(0,i.Lk)("div",{class:"description"},[(0,i.Lk)("p",null,"Switch to the next window with unread messages in the channel list.")],-1))]),(0,i.Lk)("div",Mt,[(0,i.Lk)("div",Et,[e.isApple?((0,i.uX)(),(0,i.CE)("span",St,[...n[44]||(n[44]=[(0,i.Lk)("kbd",null,"โŒฅ",-1),(0,i.eW)(),(0,i.Lk)("kbd",null,"โŒ˜",-1),(0,i.eW)(),(0,i.Lk)("kbd",null,"โ†‘",-1)])])):((0,i.uX)(),(0,i.CE)("span",xt,[...n[43]||(n[43]=[(0,i.Lk)("kbd",null,"Alt",-1),(0,i.eW)(),(0,i.Lk)("kbd",null,"Ctrl",-1),(0,i.eW)(),(0,i.Lk)("kbd",null,"โ†‘",-1)])]))]),n[45]||(n[45]=(0,i.Lk)("div",{class:"description"},[(0,i.Lk)("p",null,"Switch to the previous window with unread messages in the channel list.")],-1))]),(0,i.Lk)("div",At,[(0,i.Lk)("div",Tt,[e.isApple?((0,i.uX)(),(0,i.CE)("span",jt,[...n[47]||(n[47]=[(0,i.Lk)("kbd",null,"โŒฅ",-1),(0,i.eW)(),(0,i.Lk)("kbd",null,"A",-1)])])):((0,i.uX)(),(0,i.CE)("span",Xt,[...n[46]||(n[46]=[(0,i.Lk)("kbd",null,"Alt",-1),(0,i.eW)(),(0,i.Lk)("kbd",null,"A",-1)])]))]),n[48]||(n[48]=(0,i.Lk)("div",{class:"description"},[(0,i.Lk)("p",null,"Switch to the first window with unread messages.")],-1))]),(0,i.Lk)("div",Wt,[(0,i.Lk)("div",Pt,[e.isApple?((0,i.uX)(),(0,i.CE)("span",It,[...n[50]||(n[50]=[(0,i.Lk)("kbd",null,"โŒฅ",-1),(0,i.eW)(),(0,i.Lk)("kbd",null,"S",-1)])])):((0,i.uX)(),(0,i.CE)("span",Rt,[...n[49]||(n[49]=[(0,i.Lk)("kbd",null,"Alt",-1),(0,i.eW)(),(0,i.Lk)("kbd",null,"S",-1)])]))]),n[51]||(n[51]=(0,i.Lk)("div",{class:"description"},[(0,i.Lk)("p",null,"Toggle sidebar.")],-1))]),(0,i.Lk)("div",Nt,[(0,i.Lk)("div",Ut,[e.isApple?((0,i.uX)(),(0,i.CE)("span",Ot,[...n[53]||(n[53]=[(0,i.Lk)("kbd",null,"โŒฅ",-1),(0,i.eW)(),(0,i.Lk)("kbd",null,"U",-1)])])):((0,i.uX)(),(0,i.CE)("span",Ft,[...n[52]||(n[52]=[(0,i.Lk)("kbd",null,"Alt",-1),(0,i.eW)(),(0,i.Lk)("kbd",null,"U",-1)])]))]),n[54]||(n[54]=(0,i.Lk)("div",{class:"description"},[(0,i.Lk)("p",null,"Toggle channel user list.")],-1))]),(0,i.Lk)("div",qt,[(0,i.Lk)("div",Kt,[e.isApple?((0,i.uX)(),(0,i.CE)("span",Bt,[...n[56]||(n[56]=[(0,i.Lk)("kbd",null,"โŒฅ",-1),(0,i.eW)(),(0,i.Lk)("kbd",null,"J",-1)])])):((0,i.uX)(),(0,i.CE)("span",Dt,[...n[55]||(n[55]=[(0,i.Lk)("kbd",null,"Alt",-1),(0,i.eW)(),(0,i.Lk)("kbd",null,"J",-1)])]))]),n[57]||(n[57]=(0,i.Lk)("div",{class:"description"},[(0,i.Lk)("p",null,"Toggle jump to channel switcher.")],-1))]),(0,i.Lk)("div",$t,[(0,i.Lk)("div",Ht,[e.isApple?((0,i.uX)(),(0,i.CE)("span",zt,[...n[59]||(n[59]=[(0,i.Lk)("kbd",null,"โŒฅ",-1),(0,i.eW)(),(0,i.Lk)("kbd",null,"M",-1)])])):((0,i.uX)(),(0,i.CE)("span",Qt,[...n[58]||(n[58]=[(0,i.Lk)("kbd",null,"Alt",-1),(0,i.eW)(),(0,i.Lk)("kbd",null,"M",-1)])]))]),n[60]||(n[60]=(0,i.Lk)("div",{class:"description"},[(0,i.Lk)("p",null,"Toggle recent mentions popup.")],-1))]),(0,i.Lk)("div",Vt,[(0,i.Lk)("div",Yt,[e.isApple?((0,i.uX)(),(0,i.CE)("span",Gt,[...n[62]||(n[62]=[(0,i.Lk)("kbd",null,"โŒฅ",-1),(0,i.eW)(),(0,i.Lk)("kbd",null,"/",-1)])])):((0,i.uX)(),(0,i.CE)("span",Jt,[...n[61]||(n[61]=[(0,i.Lk)("kbd",null,"Alt",-1),(0,i.eW)(),(0,i.Lk)("kbd",null,"/",-1)])]))]),n[63]||(n[63]=(0,i.Lk)("div",{class:"description"},[(0,i.Lk)("p",null,"Switch to the help menu.")],-1))]),n[88]||(n[88]=(0,i.Lk)("div",{class:"help-item"},[(0,i.Lk)("div",{class:"subject"},[(0,i.Lk)("span",null,[(0,i.Lk)("kbd",null,"Esc")])]),(0,i.Lk)("div",{class:"description"},[(0,i.Lk)("p",null," Close current contextual window (context menu, image viewer, topic edit, etc) and remove focus from input. ")])],-1)),n[89]||(n[89]=(0,i.Lk)("h2",null,"Formatting Shortcuts",-1)),(0,i.Lk)("div",Zt,[(0,i.Lk)("div",ea,[e.isApple?((0,i.uX)(),(0,i.CE)("span",ta,[...n[65]||(n[65]=[(0,i.Lk)("kbd",null,"โŒ˜",-1),(0,i.eW)(),(0,i.Lk)("kbd",null,"K",-1)])])):((0,i.uX)(),(0,i.CE)("span",na,[...n[64]||(n[64]=[(0,i.Lk)("kbd",null,"Ctrl",-1),(0,i.eW)(),(0,i.Lk)("kbd",null,"K",-1)])]))]),n[66]||(n[66]=(0,i.Lk)("div",{class:"description"},[(0,i.Lk)("p",null,[(0,i.eW)(" Mark any text typed after this shortcut to be colored. After hitting this shortcut, enter an integer in the range "),(0,i.Lk)("code",null,"0โ€”15"),(0,i.eW)(" to select the desired color, or use the autocompletion menu to choose a color name (see below). ")]),(0,i.Lk)("p",null,[(0,i.eW)(" Background color can be specified by putting a comma and another integer in the range "),(0,i.Lk)("code",null,"0โ€”15"),(0,i.eW)(" after the foreground color number (autocompletion works too). ")]),(0,i.Lk)("p",null,[(0,i.eW)(" A color reference can be found "),(0,i.Lk)("a",{href:"https://modern.ircdocs.horse/formatting.html#colors",target:"_blank",rel:"noopener"},"here"),(0,i.eW)(". ")])],-1))]),(0,i.Lk)("div",aa,[(0,i.Lk)("div",sa,[e.isApple?((0,i.uX)(),(0,i.CE)("span",ia,[...n[68]||(n[68]=[(0,i.Lk)("kbd",null,"โŒ˜",-1),(0,i.eW)(),(0,i.Lk)("kbd",null,"B",-1)])])):((0,i.uX)(),(0,i.CE)("span",oa,[...n[67]||(n[67]=[(0,i.Lk)("kbd",null,"Ctrl",-1),(0,i.eW)(),(0,i.Lk)("kbd",null,"B",-1)])]))]),n[69]||(n[69]=(0,i.Lk)("div",{class:"description"},[(0,i.Lk)("p",null,[(0,i.eW)(" Mark all text typed after this shortcut as "),(0,i.Lk)("span",{class:"irc-bold"},"bold"),(0,i.eW)(". ")])],-1))]),(0,i.Lk)("div",la,[(0,i.Lk)("div",ra,[e.isApple?((0,i.uX)(),(0,i.CE)("span",ua,[...n[71]||(n[71]=[(0,i.Lk)("kbd",null,"โŒ˜",-1),(0,i.eW)(),(0,i.Lk)("kbd",null,"U",-1)])])):((0,i.uX)(),(0,i.CE)("span",ca,[...n[70]||(n[70]=[(0,i.Lk)("kbd",null,"Ctrl",-1),(0,i.eW)(),(0,i.Lk)("kbd",null,"U",-1)])]))]),n[72]||(n[72]=(0,i.Lk)("div",{class:"description"},[(0,i.Lk)("p",null,[(0,i.eW)(" Mark all text typed after this shortcut as "),(0,i.Lk)("span",{class:"irc-underline"},"underlined"),(0,i.eW)(". ")])],-1))]),(0,i.Lk)("div",da,[(0,i.Lk)("div",pa,[e.isApple?((0,i.uX)(),(0,i.CE)("span",ga,[...n[74]||(n[74]=[(0,i.Lk)("kbd",null,"โŒ˜",-1),(0,i.eW)(),(0,i.Lk)("kbd",null,"I",-1)])])):((0,i.uX)(),(0,i.CE)("span",ha,[...n[73]||(n[73]=[(0,i.Lk)("kbd",null,"Ctrl",-1),(0,i.eW)(),(0,i.Lk)("kbd",null,"I",-1)])]))]),n[75]||(n[75]=(0,i.Lk)("div",{class:"description"},[(0,i.Lk)("p",null,[(0,i.eW)(" Mark all text typed after this shortcut as "),(0,i.Lk)("span",{class:"irc-italic"},"italics"),(0,i.eW)(". ")])],-1))]),(0,i.Lk)("div",ma,[(0,i.Lk)("div",ka,[e.isApple?((0,i.uX)(),(0,i.CE)("span",ba,[...n[77]||(n[77]=[(0,i.Lk)("kbd",null,"โŒ˜",-1),(0,i.eW)(),(0,i.Lk)("kbd",null,"S",-1)])])):((0,i.uX)(),(0,i.CE)("span",fa,[...n[76]||(n[76]=[(0,i.Lk)("kbd",null,"Ctrl",-1),(0,i.eW)(),(0,i.Lk)("kbd",null,"S",-1)])]))]),n[78]||(n[78]=(0,i.Lk)("div",{class:"description"},[(0,i.Lk)("p",null,[(0,i.eW)(" Mark all text typed after this shortcut as "),(0,i.Lk)("span",{class:"irc-strikethrough"},"struck through"),(0,i.eW)(". ")])],-1))]),(0,i.Lk)("div",va,[(0,i.Lk)("div",wa,[e.isApple?((0,i.uX)(),(0,i.CE)("span",_a,[...n[80]||(n[80]=[(0,i.Lk)("kbd",null,"โŒ˜",-1),(0,i.eW)(),(0,i.Lk)("kbd",null,"M",-1)])])):((0,i.uX)(),(0,i.CE)("span",ya,[...n[79]||(n[79]=[(0,i.Lk)("kbd",null,"Ctrl",-1),(0,i.eW)(),(0,i.Lk)("kbd",null,"M",-1)])]))]),n[81]||(n[81]=(0,i.Lk)("div",{class:"description"},[(0,i.Lk)("p",null,[(0,i.eW)(" Mark all text typed after this shortcut as "),(0,i.Lk)("span",{class:"irc-monospace"},"monospaced"),(0,i.eW)(". ")])],-1))]),(0,i.Lk)("div",Ca,[(0,i.Lk)("div",La,[e.isApple?((0,i.uX)(),(0,i.CE)("span",Ea,[...n[83]||(n[83]=[(0,i.Lk)("kbd",null,"โŒ˜",-1),(0,i.eW)(),(0,i.Lk)("kbd",null,"O",-1)])])):((0,i.uX)(),(0,i.CE)("span",Ma,[...n[82]||(n[82]=[(0,i.Lk)("kbd",null,"Ctrl",-1),(0,i.eW)(),(0,i.Lk)("kbd",null,"O",-1)])]))]),n[84]||(n[84]=(0,i.Lk)("div",{class:"description"},[(0,i.Lk)("p",null," Mark all text typed after this shortcut to be reset to its original formatting. ")],-1))]),n[90]||(n[90]=(0,i.Fv)('<h2>Autocompletion</h2><p> To auto-complete nicknames, channels, commands, and emoji, type one of the characters below to open a suggestion list. Use the <kbd>โ†‘</kbd> and <kbd>โ†“</kbd> keys to highlight an item, and insert it by pressing <kbd>Tab</kbd> or <kbd>Enter</kbd> (or by clicking the desired item). </p><p>Autocompletion can be disabled in settings.</p><div class="help-item"><div class="subject"><code>@</code></div><div class="description"><p>Nickname</p></div></div><div class="help-item"><div class="subject"><code>#</code></div><div class="description"><p>Channel</p></div></div><div class="help-item"><div class="subject"><code>/</code></div><div class="description"><p>Commands (see list of commands below)</p></div></div><div class="help-item"><div class="subject"><code>:</code></div><div class="description"><p> Emoji (note: requires two search characters, to avoid conflicting with common emoticons like <code>:)</code>) </p></div></div><h2>Commands</h2><div class="help-item"><div class="subject"><code>/away [message]</code></div><div class="description"><p>Mark yourself as away with an optional message.</p></div></div><div class="help-item"><div class="subject"><code>/back</code></div><div class="description"><p>Remove your away status (set with <code>/away</code>).</p></div></div><div class="help-item"><div class="subject"><code>/ban nick</code></div><div class="description"><p> Ban (<code>+b</code>) a user from the current channel. This can be a nickname or a hostmask. </p></div></div><div class="help-item"><div class="subject"><code>/banlist</code></div><div class="description"><p>Load the banlist for the current channel.</p></div></div><div class="help-item"><div class="subject"><code>/collapse</code></div><div class="description"><p> Collapse all previews in the current channel (opposite of <code>/expand</code>) </p></div></div><div class="help-item"><div class="subject"><code>/connect host [port]</code></div><div class="description"><p> Connect to a new IRC network. If <code>port</code> starts with a <code>+</code> sign, the connection will be made secure using TLS. </p><p>Alias: <code>/server</code></p></div></div><div class="help-item"><div class="subject"><code>/ctcp target cmd [args]</code></div><div class="description"><p> Send a <abbr title="Client-to-client protocol">CTCP</abbr> request. Read more about this on <a href="https://en.wikipedia.org/wiki/Client-to-client_protocol" target="_blank" rel="noopener">the dedicated Wikipedia article</a>. </p></div></div><div class="help-item"><div class="subject"><code>/deop nick [...nick]</code></div><div class="description"><p> Remove op (<code>-o</code>) from one or several users in the current channel. </p></div></div><div class="help-item"><div class="subject"><code>/devoice nick [...nick]</code></div><div class="description"><p> Remove voice (<code>-v</code>) from one or several users in the current channel. </p></div></div><div class="help-item"><div class="subject"><code>/disconnect [message]</code></div><div class="description"><p>Disconnect from the current network with an optionally-provided message.</p></div></div><div class="help-item"><div class="subject"><code>/expand</code></div><div class="description"><p> Expand all previews in the current channel (opposite of <code>/collapse</code>) </p></div></div><div class="help-item"><div class="subject"><code>/invite nick [channel]</code></div><div class="description"><p> Invite a user to the specified channel. If <code>channel</code> is omitted, user will be invited to the current channel. </p></div></div><div class="help-item"><div class="subject"><code>/ignore nick</code></div><div class="description"><p> Block any messages from the specified user on the current network. This can be a nickname or a hostmask. </p></div></div><div class="help-item"><div class="subject"><code>/ignorelist</code></div><div class="description"><p>Load the list of ignored users for the current network.</p></div></div><div class="help-item"><div class="subject"><code>/join channel [password]</code></div><div class="description"><p> Join a channel. Password is only needed in protected channels and can usually be omitted. </p></div></div><div class="help-item"><div class="subject"><code>/kick nick [reason]</code></div><div class="description"><p>Kick a user from the current channel.</p></div></div><div class="help-item"><div class="subject"><code>/kickban nick [reason]</code></div><div class="description"><p> Kick and ban (<code>+b</code>) a user from the current channel. Unlike <code>/ban</code>, only nicknames (and not host masks) can be used. </p></div></div><div class="help-item"><div class="subject"><code>/list</code></div><div class="description"><p>Retrieve a list of available channels on this network.</p></div></div><div class="help-item"><div class="subject"><code>/me message</code></div><div class="description"><p> Send an action message to the current channel. The Lounge will display it inline, as if the message was posted in the third person. </p></div></div><div class="help-item"><div class="subject"><code>/mode flags [args]</code></div><div class="description"><p> Set the given flags to the current channel if the active window is a channel, another user if the active window is a private message window, or yourself if the current window is a server window. </p></div></div><div class="help-item"><div class="subject"><code>/msg channel message</code></div><div class="description"><p>Send a message to the specified channel.</p></div></div><div class="help-item"><div class="subject"><code>/mute [...channel]</code></div><div class="description"><p> Prevent messages from generating any feedback for a channel. This turns off the highlight indicator, hides mentions and inhibits push notifications. Muting a network lobby mutes the entire network. Not specifying any channel target mutes the current channel. Revert with <code>/unmute</code>. </p></div></div><div class="help-item"><div class="subject"><code>/nick newnick</code></div><div class="description"><p>Change your nickname on the current network.</p></div></div><div class="help-item"><div class="subject"><code>/notice channel message</code></div><div class="description"><p>Sends a notice message to the specified channel.</p></div></div><div class="help-item"><div class="subject"><code>/op nick [...nick]</code></div><div class="description"><p>Give op (<code>+o</code>) to one or several users in the current channel.</p></div></div><div class="help-item"><div class="subject"><code>/part [channel]</code></div><div class="description"><p> Close the specified channel or private message window, or the current channel if <code>channel</code> is omitted. </p><p>Aliases: <code>/close</code>, <code>/leave</code></p></div></div><div class="help-item"><div class="subject"><code>/rejoin</code></div><div class="description"><p> Leave and immediately rejoin the current channel. Useful to quickly get op from ChanServ in an empty channel, for example. </p><p>Alias: <code>/cycle</code></p></div></div><div class="help-item"><div class="subject"><code>/query nick</code></div><div class="description"><p>Send a private message to the specified user.</p></div></div><div class="help-item"><div class="subject"><code>/quit [message]</code></div><div class="description"><p>Disconnect from the current network with an optional message.</p></div></div><div class="help-item"><div class="subject"><code>/raw message</code></div><div class="description"><p>Send a raw message to the current IRC network.</p><p>Aliases: <code>/quote</code>, <code>/send</code></p></div></div><div class="help-item"><div class="subject"><code>/slap nick</code></div><div class="description"><p>Slap someone in the current channel with a trout!</p></div></div>',39)),e.store.state.settings.searchEnabled?((0,i.uX)(),(0,i.CE)("div",xa,[...n[85]||(n[85]=[(0,i.Lk)("div",{class:"subject"},[(0,i.Lk)("code",null,"/search query")],-1),(0,i.Lk)("div",{class:"description"},[(0,i.Lk)("p",null,"Search for messages in the current channel / user")],-1)])])):(0,i.Q3)("",!0),n[91]||(n[91]=(0,i.Fv)('<div class="help-item"><div class="subject"><code>/topic [newtopic]</code></div><div class="description"><p> Get the topic in the current channel. If <code>newtopic</code> is specified, sets the topic in the current channel. </p></div></div><div class="help-item"><div class="subject"><code>/unban nick</code></div><div class="description"><p> Unban (<code>-b</code>) a user from the current channel. This can be a nickname or a hostmask. </p></div></div><div class="help-item"><div class="subject"><code>/unignore nick</code></div><div class="description"><p> Unblock messages from the specified user on the current network. This can be a nickname or a hostmask. </p></div></div><div class="help-item"><div class="subject"><code>/unmute [...channel]</code></div><div class="description"><p> Un-mutes the given channel(s) or the current channel if no channel is provided. See <code>/mute</code> for more information. </p></div></div><div class="help-item"><div class="subject"><code>/voice nick [...nick]</code></div><div class="description"><p> Give voice (<code>+v</code>) to one or several users in the current channel. </p></div></div><div class="help-item"><div class="subject"><code>/whois nick</code></div><div class="description"><p>Retrieve information about the given user on the current network.</p></div></div>',6))])])}]]),Ia={id:"changelog",class:"window","aria-label":"Changelog"},Na={class:"header"},Ua={class:"container"},Fa={class:"title"},Oa=["innerHTML"],qa=["href"],Ka={key:1},Da=(0,i.pM)({name:"Changelog",components:{SidebarToggle:wn},setup(){const e=(0,o.Pj)(),n=(0,x.KR)(null),t=()=>{n.value&&n.value.querySelectorAll("a").forEach(e=>{e.setAttribute("target","_blank"),e.setAttribute("rel","noopener"),e.querySelector("img")&&e.classList.add("toggle-thumbnail")})};return(0,i.sV)(()=>{e.state.versionData||re.A.emit("changelog"),t()}),(0,i.$u)(()=>{t()}),{store:e}}}),Ba=(0,q.A)(Da,[["render",function(e,n,t,a,s,o){const r=(0,i.g2)("SidebarToggle"),c=(0,i.g2)("router-link");return(0,i.uX)(),(0,i.CE)("div",Ia,[(0,i.Lk)("div",Na,[(0,i.bF)(r)]),(0,i.Lk)("div",Ua,[(0,i.bF)(c,{id:"back-to-help",to:"/help"},{default:(0,i.k6)(()=>[...n[0]||(n[0]=[(0,i.eW)("ยซ Help",-1)])]),_:1}),e.store.state.versionData?.current&&e.store.state.versionData?.current.version?((0,i.uX)(),(0,i.CE)(i.FK,{key:0},[(0,i.Lk)("h1",Fa," Release notes for "+(0,l.v_)(e.store.state.versionData.current.version),1),e.store.state.versionData.current.changelog?((0,i.uX)(),(0,i.CE)(i.FK,{key:0},[n[1]||(n[1]=(0,i.Lk)("h3",null,"Introduction",-1)),(0,i.Lk)("div",{ref:"changelog",class:"changelog-text",innerHTML:e.store.state.versionData.current.changelog},null,8,Oa)],64)):((0,i.uX)(),(0,i.CE)(i.FK,{key:1},[n[2]||(n[2]=(0,i.Lk)("p",null,"Unable to retrieve changelog for current release from GitHub.",-1)),(0,i.Lk)("p",null,[e.store.state.serverConfiguration?.version?((0,i.uX)(),(0,i.CE)("a",{key:0,href:`https://github.com/LordBex/thelounge/releases/tag/v${e.store.state.serverConfiguration?.version}`,target:"_blank",rel:"noopener"},"View release notes for this version on GitHub",8,qa)):(0,i.Q3)("",!0)])],64))],64)):((0,i.uX)(),(0,i.CE)("p",Ka,"Loading changelogโ€ฆ"))])])}]]),$a=(0,i.pM)({name:"NetworkEdit",components:{NetworkForm:_n},setup(){const e=(0,S.lq)(),n=(0,o.Pj)(),t=(0,x.KR)(!1),a=(0,x.KR)(null),s=()=>{re.A.emit("network:get",String(e.params.uuid||"")),a.value=n.getters.findNetwork(String(e.params.uuid||""))};return(0,i.wB)(()=>e.params.uuid,()=>{s()}),(0,i.sV)(()=>{s()}),{disabled:t,networkData:a,handleSubmit:e=>{t.value=!0,re.A.emit("network:edit",e);const a=n.getters.findNetwork(e.uuid);a&&(a.name=a.channels[0].name=e.name,mc(a.channels[0]))}}}}),Ha=(0,q.A)($a,[["render",function(e,n,t,a,s,o){const l=(0,i.g2)("NetworkForm");return e.networkData?((0,i.uX)(),(0,i.Wv)(l,{key:0,"handle-submit":e.handleSubmit,defaults:e.networkData,disabled:e.disabled},null,8,["handle-submit","defaults","disabled"])):(0,i.Q3)("",!0)}]]),Qa={id:"chat-container",class:"window"},za={class:"chat-view","data-type":"search-results","aria-label":"Search results",role:"tabpanel"},Va={key:0,class:"header"},Ya={class:"title"},Ja={class:"channel-name"},Ga={class:"topic"},Za={key:1,class:"chat-content"},es={ref:"chat",class:"chat",tabindex:"-1"},ns={class:"show-more"},ts=["disabled"],as={key:0},ss={key:1},os={key:0,class:"search-status"},is={key:1,class:"search-status"},ls={class:"messages",role:"log","aria-live":"polite","aria-relevant":"additions"},rs=["data-jump-to"],cs=["id","data-type","data-command","data-from","data-bridged"],us=["aria-label"],ds={class:"from"},ps={class:"content"},hs={class:"content",dir:"auto"},gs={key:0,class:"from"},ms={key:1,class:"from"},ks={key:2,class:"from"},fs={class:"content",dir:"auto"},bs={key:0,"aria-label":"This message was shown in your active channel",class:"msg-shown-in-active tooltipped tooltipped-e"},vs=["aria-label"];var ws=t(4353),ys=t.n(ws),_s=t(7321),Cs=t(6640);const Ls={key:0,ref:"container",class:"preview",dir:"ltr"},Ms=["href"],Es=["src"],xs={class:"toggle-text",dir:"auto"},Ss={class:"head"},As={class:"overflowable"},Ts=["href","title"],Xs=["aria-expanded","aria-label"],js={class:"body overflowable"},Ws=["href","title"],Ps=["href"],Rs=["src"],Is=["src","type"],Ns=["src","type"],Us={key:0},Fs=["href"],Os=["href"],qs={class:"prefetch-error"},Ks=["aria-expanded","aria-label"];var Ds=t(5696),Bs=t(3388);const $s=(0,i.pM)({name:"LinkPreview",props:{link:{type:Object,required:!0},keepScrollPosition:{type:Function,required:!0},channel:{type:Object,required:!0}},setup(e){const n=(0,o.Pj)(),t=(0,x.KR)(!1),a=(0,x.KR)(!1),s=(0,i.WQ)(gu);(0,Ds.V6)((e,n,t)=>{if(s?.value?.link)return s.value.closeViewer(),t(!1);t()});const l=(0,x.KR)(null),c=(0,x.KR)(null),u=(0,i.EW)(()=>a.value?"Less":"More"),d=(0,i.EW)(()=>{if(e.link.maxSize)return(0,Bs.A)(e.link.maxSize)}),p=()=>{(0,i.dY)(()=>{l.value&&c.value&&(t.value=l.value.offsetWidth>=c.value.offsetWidth)}).catch(e=>{console.error("Error in LinkPreview.handleResize",e)})},h=()=>{e.link.sourceLoaded=!0,e.keepScrollPosition(),"link"===e.link.type&&p()},g=()=>{"loading"!==e.link.type&&("error"===e.link.type&&h(),"link"===e.link.type&&(p(),e.keepScrollPosition()))},m=()=>{if(null!==e.link.shown)return;let t=!1;switch(e.link.type){case"error":"image-too-big"===e.link.error&&(t=n.state.settings.media);break;case"link":t=n.state.settings.links;break;default:t=n.state.settings.media}e.link.shown=t};return m(),(0,i.wB)(()=>e.link.type,()=>{m(),g()}),(0,i.sV)(()=>{r.A.on("resize",p),g()}),(0,i.xo)(()=>{r.A.off("resize",p)}),(0,i.hi)(()=>{e.link.sourceLoaded=!1}),{moreButtonLabel:u,imageMaxSize:d,onThumbnailClick:n=>{n.preventDefault(),s?.value&&(s.value.channel=e.channel,s.value.link=e.link)},onThumbnailError:()=>{e.link.thumb="",h()},onMoreClick:()=>{a.value=!a.value,e.keepScrollPosition()},onPreviewReady:h,onPreviewUpdate:g,showMoreButton:t,isContentShown:a,content:l,container:c}}}),Hs=(0,q.A)($s,[["render",function(e,n,t,a,o,r){return e.link.shown?(0,i.bo)(((0,i.uX)(),(0,i.CE)("div",Ls,[(0,i.Lk)("div",{ref:"content",class:(0,l.C4)(["toggle-content","toggle-type-"+e.link.type,{opened:e.isContentShown}])},["link"===e.link.type?((0,i.uX)(),(0,i.CE)(i.FK,{key:0},[e.link.thumb?(0,i.bo)(((0,i.uX)(),(0,i.CE)("a",{key:0,href:e.link.link,class:"toggle-thumbnail",target:"_blank",rel:"noopener",onClick:n[3]||(n[3]=(...n)=>e.onThumbnailClick&&e.onThumbnailClick(...n))},[(0,i.Lk)("img",{src:e.link.thumb,decoding:"async",alt:"",class:"thumb",onError:n[0]||(n[0]=(...n)=>e.onThumbnailError&&e.onThumbnailError(...n)),onAbort:n[1]||(n[1]=(...n)=>e.onThumbnailError&&e.onThumbnailError(...n)),onLoad:n[2]||(n[2]=(...n)=>e.onPreviewReady&&e.onPreviewReady(...n))},null,40,Es)],8,Ms)),[[s.aG,e.link.sourceLoaded]]):(0,i.Q3)("",!0),(0,i.Lk)("div",xs,[(0,i.Lk)("div",Ss,[(0,i.Lk)("div",As,[(0,i.Lk)("a",{href:e.link.link,title:e.link.head,target:"_blank",rel:"noopener"},(0,l.v_)(e.link.head),9,Ts)]),e.showMoreButton?((0,i.uX)(),(0,i.CE)("button",{key:0,"aria-expanded":e.isContentShown,"aria-label":e.moreButtonLabel,dir:"auto",class:"more",onClick:n[4]||(n[4]=(...n)=>e.onMoreClick&&e.onMoreClick(...n))},[...n[10]||(n[10]=[(0,i.Lk)("span",{class:"more-caret"},null,-1)])],8,Xs)):(0,i.Q3)("",!0)]),(0,i.Lk)("div",js,[(0,i.Lk)("a",{href:e.link.link,title:e.link.body,target:"_blank",rel:"noopener"},(0,l.v_)(e.link.body),9,Ws)])])],64)):"image"===e.link.type?((0,i.uX)(),(0,i.CE)("a",{key:1,href:e.link.link,class:"toggle-thumbnail",target:"_blank",rel:"noopener",onClick:n[6]||(n[6]=(...n)=>e.onThumbnailClick&&e.onThumbnailClick(...n))},[(0,i.bo)((0,i.Lk)("img",{src:e.link.thumb,decoding:"async",alt:"",onLoad:n[5]||(n[5]=(...n)=>e.onPreviewReady&&e.onPreviewReady(...n))},null,40,Rs),[[s.aG,e.link.sourceLoaded]])],8,Ps)):"video"===e.link.type?(0,i.bo)(((0,i.uX)(),(0,i.CE)("video",{key:2,preload:"metadata",controls:"",onCanplay:n[7]||(n[7]=(...n)=>e.onPreviewReady&&e.onPreviewReady(...n))},[(0,i.Lk)("source",{src:e.link.media,type:e.link.mediaType},null,8,Is)],544)),[[s.aG,e.link.sourceLoaded]]):"audio"===e.link.type?(0,i.bo)(((0,i.uX)(),(0,i.CE)("audio",{key:3,controls:"",preload:"metadata",onCanplay:n[8]||(n[8]=(...n)=>e.onPreviewReady&&e.onPreviewReady(...n))},[(0,i.Lk)("source",{src:e.link.media,type:e.link.mediaType},null,8,Ns)],544)),[[s.aG,e.link.sourceLoaded]]):"error"===e.link.type?((0,i.uX)(),(0,i.CE)(i.FK,{key:4},["image-too-big"===e.link.error?((0,i.uX)(),(0,i.CE)("em",Us,[(0,i.eW)(" This image is larger than "+(0,l.v_)(e.imageMaxSize)+" and cannot be previewed. ",1),(0,i.Lk)("a",{href:e.link.link,target:"_blank",rel:"noopener"},"Click here",8,Fs),n[11]||(n[11]=(0,i.eW)(" to open it in a new window. ",-1))])):"message"===e.link.error?((0,i.uX)(),(0,i.CE)(i.FK,{key:1},[(0,i.Lk)("div",null,[(0,i.Lk)("em",null,[n[12]||(n[12]=(0,i.eW)(" A preview could not be loaded. ",-1)),(0,i.Lk)("a",{href:e.link.link,target:"_blank",rel:"noopener"},"Click here",8,Os),n[13]||(n[13]=(0,i.eW)(" to open it in a new window. ",-1))]),n[14]||(n[14]=(0,i.Lk)("br",null,null,-1)),(0,i.Lk)("pre",qs,(0,l.v_)(e.link.message)+"\n\n",1)]),(0,i.Lk)("button",{"aria-expanded":e.isContentShown,"aria-label":e.moreButtonLabel,class:"more",onClick:n[9]||(n[9]=(...n)=>e.onMoreClick&&e.onMoreClick(...n))},[...n[15]||(n[15]=[(0,i.Lk)("span",{class:"more-caret"},null,-1)])],8,Ks)],64)):(0,i.Q3)("",!0)],64)):(0,i.Q3)("",!0)],2)],512)),[[s.aG,e.link.sourceLoaded||"link"===e.link.type]]):(0,i.Q3)("",!0)}]]);var Qs=t(3568);const zs=t(1191),Vs=zs.keys().reduce((e,n)=>(e["message-"+n.substring(2,n.length-4)]=zs(n).default,e),{});let Ys=function(e){return e.UNHANDLED="unhandled",e.ACTION="action",e.AWAY="away",e.BACK="back",e.ERROR="error",e.INVITE="invite",e.JOIN="join",e.KICK="kick",e.LOGIN="login",e.LOGOUT="logout",e.MESSAGE="message",e.MODE="mode",e.MODE_CHANNEL="mode_channel",e.MODE_USER="mode_user",e.MONOSPACE_BLOCK="monospace_block",e.NICK="nick",e.NOTICE="notice",e.PART="part",e.QUIT="quit",e.CTCP="ctcp",e.CTCP_REQUEST="ctcp_request",e.CHGHOST="chghost",e.TOPIC="topic",e.TOPIC_SET_BY="topic_set_by",e.WHOIS="whois",e.RAW="raw",e.PLUGIN="plugin",e.WALLOPS="wallops",e.MASS_EVENT="mass_event",e}({});const Js=[{type:"basic",name:"Anthelion",description:"[ SB ] (<nick>): <message>",matches:["sauron"],regex:/^.*?\[.*?SB.*?\][^(]+\((?<nick>[^):]+)\):.+?(?<content>.*)/,transform(e){return Gs(e.text.match(this.regex))}},{type:"basic",name:"BeyondHD + ReelFliX",description:"[SB] <nick>: <message> | [Chatbox] <nick>: <message>",matches:["willie","wall-e"],regex:/^.*?\[(?:SB|Chatbox)\][^\w]+(?<nick>[^:]+): (?<content>.*)/,transform(e){return Gs(e.text.match(this.regex))}},{type:"basic",name:"UploadCX + LST + OnlyEncodes+ + HomiesHelpDesk + Aither + DarkPeers + Luminarr",description:"[nick] message | [nick]: message | nick: message | nick message",matches:["ulcx","bot","bridgebot","bbot","chatbot","darkpeers","luminarr"],regex:/^\[?(?<nick>[^:\]]+)\]?:? (?<content>.*)/,transform(e){return Gs(e.text.match(this.regex))}},{type:"basic",name:"RocketHD",description:"๐Ÿ›ฐ๏ธ<nick>: <message>",matches:["rocketnouncer"],regex:/^๐Ÿ›ฐ๏ธ(?<nick>[^:]+?): (?<content>.*)/v,transform(e){return Gs(e.text.match(this.regex))}},{type:"basic",name:"DigitalCore",description:"<<nick>> <message>",matches:["endor"],regex:/^<(?<nick>[^>]+?)> (?<content>.*)/,transform(e){return Gs(e.text.match(this.regex))}},{type:"basic",name:"HUNO (Discord)",description:"ยป<nick> (<rank>)ยซ <message> | ยป<nick>ยซ <message>",matches:["mellos"],regex:/^ยป(?<nick>[^ยซ]+?)(?: (?:\p{RGI_Emoji}+|\(.+?\)))?ยซ (?<content>.*)/v,transform(e){return Gs(e.text.match(this.regex))}},{type:"advanced",name:"HUNO (Web)",description:"Nicks in the format '<nick>-web'",matches:e=>e.endsWith("-web")||e.endsWith("-web",e.length-2),transform:e=>({nick:e.from.nick.slice(0,-4)})}];function Gs(e){return e?.groups}var Zs=t(1654);Vs.ParsedMessage=Qs.A,Vs.LinkPreview=Hs,Vs.Username=Cs.A;const eo=(0,i.pM)({name:"Message",components:Vs,props:{message:{type:Object,required:!0},channel:{type:Object,required:!1},network:{type:Object,required:!0},keepScrollPosition:Function,isPreviousSource:Boolean,isFocused:Boolean},setup(e){const n=(0,o.Pj)(),t=(0,i.EW)(()=>{let e;return e=n.state.settings.use12hClock?n.state.settings.showSeconds?"msg12hWithSeconds":"msg12h":n.state.settings.showSeconds?"msgWithSeconds":"msgDefault",a.timeFormats[e]}),s=(0,i.EW)(()=>ys()(e.message.time).format(t.value)),l=(0,i.EW)(()=>(0,_s.A)(e.message.time)),r=(0,i.EW)(()=>"message-"+(e.message.type||"invalid")),c=(0,i.EW)(()=>e.channel?.type===Zs.rR.CHANNEL&&n.state.settings.beautifyBridgedMessages&&e.message.type===Ys.MESSAGE?function(e){const n=e.from?.nick?.toLowerCase();if(!e.text||!n)return e;const t=Js.find(e=>"basic"===e.type?e.matches.includes(n):"advanced"===e.type?e.matches(n):void 0);if(!t)return e;const a=t.transform(e);if(!a||!a.nick)return e;const s=structuredClone((0,x.ux)(e));var o;return s.text=a.content??s.text,s.from={...s.from,nick:(o=a.nick,o.replaceAll(/[^0-9a-z_-|]/gi,"")),mode:"",shoutbox:!0,original_nick:n},s}(e.message):e.message);return{timeFormat:t,prettyMessage:c,messageTime:s,messageTimeLocale:l,messageComponent:r,isAction:()=>!!e.message.type&&void 0!==Vs["message-"+e.message.type]}}}),no=(0,q.A)(eo,[["render",function(e,n,t,a,s,o){const r=(0,i.g2)("Username"),c=(0,i.g2)("ParsedMessage"),u=(0,i.g2)("LinkPreview");return(0,i.uX)(),(0,i.CE)("div",{id:"msg-"+e.prettyMessage.id,class:(0,l.C4)(["msg",{self:e.prettyMessage.self,highlight:e.prettyMessage.highlight,"is-focused":e.isFocused,"previous-source":e.isPreviousSource}]),"data-type":e.prettyMessage.type,"data-command":e.prettyMessage.command,"data-from":e.prettyMessage.from&&(e.prettyMessage.from.shoutbox?e.prettyMessage.from.original_nick:e.prettyMessage.from.nick),"data-bridged":e.prettyMessage.from?.shoutbox},[(0,i.Lk)("span",{"aria-hidden":"true","aria-label":e.messageTimeLocale,class:"time tooltipped tooltipped-e"},(0,l.v_)(`${e.messageTime} `),9,us),"unhandled"===e.prettyMessage.type?((0,i.uX)(),(0,i.CE)(i.FK,{key:0},[(0,i.Lk)("span",ds,"["+(0,l.v_)(e.prettyMessage.command)+"]",1),(0,i.Lk)("span",ps,[((0,i.uX)(!0),(0,i.CE)(i.FK,null,(0,i.pI)(e.prettyMessage.params,(e,n)=>((0,i.uX)(),(0,i.CE)("span",{key:n},(0,l.v_)(` ${e} `),1))),128))])],64)):e.isAction()?((0,i.uX)(),(0,i.CE)(i.FK,{key:1},[n[0]||(n[0]=(0,i.Lk)("span",{class:"from"},[(0,i.Lk)("span",{class:"only-copy","aria-hidden":"true"},"***ย ")],-1)),((0,i.uX)(),(0,i.Wv)((0,i.$y)(e.messageComponent),{network:e.network,message:e.prettyMessage},null,8,["network","message"]))],64)):"action"===e.prettyMessage.type?((0,i.uX)(),(0,i.CE)(i.FK,{key:2},[n[2]||(n[2]=(0,i.Lk)("span",{class:"from"},[(0,i.Lk)("span",{class:"only-copy"},"*ย ")],-1)),(0,i.Lk)("span",hs,[(0,i.bF)(r,{user:e.prettyMessage.from,network:e.network,channel:e.channel,dir:"auto"},null,8,["user","network","channel"]),n[1]||(n[1]=(0,i.eW)()),(0,i.bF)(c,{message:e.prettyMessage},null,8,["message"]),((0,i.uX)(!0),(0,i.CE)(i.FK,null,(0,i.pI)(e.prettyMessage.previews,n=>((0,i.uX)(),(0,i.Wv)(u,{key:n.link,"keep-scroll-position":e.keepScrollPosition,link:n,channel:e.channel},null,8,["keep-scroll-position","link","channel"]))),128))])],64)):((0,i.uX)(),(0,i.CE)(i.FK,{key:3},["message"===e.prettyMessage.type?((0,i.uX)(),(0,i.CE)("span",gs,[e.prettyMessage.from&&e.prettyMessage.from.nick?((0,i.uX)(),(0,i.CE)(i.FK,{key:0},[n[3]||(n[3]=(0,i.Lk)("span",{class:"only-copy","aria-hidden":"true"},"<",-1)),(0,i.bF)(r,{user:e.prettyMessage.from,network:e.network,channel:e.channel},null,8,["user","network","channel"]),n[4]||(n[4]=(0,i.Lk)("span",{class:"only-copy","aria-hidden":"true"},">ย ",-1))],64)):(0,i.Q3)("",!0)])):"plugin"===e.prettyMessage.type?((0,i.uX)(),(0,i.CE)("span",ms,[e.prettyMessage.from&&e.prettyMessage.from.nick?((0,i.uX)(),(0,i.CE)(i.FK,{key:0},[n[5]||(n[5]=(0,i.Lk)("span",{class:"only-copy","aria-hidden":"true"},"[",-1)),(0,i.eW)(" "+(0,l.v_)(e.prettyMessage.from.nick)+" ",1),n[6]||(n[6]=(0,i.Lk)("span",{class:"only-copy","aria-hidden":"true"},"]ย ",-1))],64)):(0,i.Q3)("",!0)])):((0,i.uX)(),(0,i.CE)("span",ks,[e.prettyMessage.from&&e.prettyMessage.from.nick?((0,i.uX)(),(0,i.CE)(i.FK,{key:0},[n[7]||(n[7]=(0,i.Lk)("span",{class:"only-copy","aria-hidden":"true"},"-",-1)),(0,i.bF)(r,{user:e.prettyMessage.from,network:e.network,channel:e.channel},null,8,["user","network","channel"]),n[8]||(n[8]=(0,i.Lk)("span",{class:"only-copy","aria-hidden":"true"},"-ย ",-1))],64)):(0,i.Q3)("",!0)])),(0,i.Lk)("span",fs,[e.prettyMessage.showInActive?((0,i.uX)(),(0,i.CE)("span",bs,[...n[9]||(n[9]=[(0,i.Lk)("span",null,null,-1)])])):(0,i.Q3)("",!0),e.prettyMessage.statusmsgGroup?((0,i.uX)(),(0,i.CE)("span",{key:1,"aria-label":`This message was only shown to users with ${e.prettyMessage.statusmsgGroup} mode`,class:"msg-statusmsg tooltipped tooltipped-e"},[(0,i.Lk)("span",null,(0,l.v_)(e.prettyMessage.statusmsgGroup),1)],8,vs)):(0,i.Q3)("",!0),(0,i.bF)(c,{network:e.network,message:e.prettyMessage},null,8,["network","message"]),((0,i.uX)(!0),(0,i.CE)(i.FK,null,(0,i.pI)(e.prettyMessage.previews,n=>((0,i.uX)(),(0,i.Wv)(u,{key:n.link,"keep-scroll-position":e.keepScrollPosition,link:n,channel:e.channel},null,8,["keep-scroll-position","link","channel"]))),128))])],64))],10,cs)}]]),to={class:"input-wrapper"},ao=(0,i.pM)({name:"MessageSearchForm",props:{network:{type:Object,required:!0},channel:{type:Object,required:!0}},setup(e){const n=(0,x.KR)(!1),t=(0,x.KR)(""),a=(0,S.rd)(),s=(0,S.lq)(),o=(0,x.KR)(null),l=(0,i.EW)(()=>"SearchResults"===s.name);return(0,i.wB)(s,e=>{e.query.q&&(t.value=String(e.query.q))}),(0,i.sV)(()=>{t.value=String(s.query.q||""),n.value=l.value,o.value&&!t.value&&n.value&&o.value.focus()}),{searchOpened:n,searchInput:t,searchInputField:o,closeSearch:()=>{l.value||(t.value="",n.value=!1)},toggleSearch:()=>{n.value?o.value?.blur():(n.value=!0,o.value?.focus())},searchMessages:n=>{n.preventDefault(),t.value&&a.push({name:"SearchResults",params:{id:e.channel.id},query:{q:t.value}}).catch(e=>{"NavigationDuplicated"===e.name&&r.A.emit("re-search")})},onSearchPage:l}}}),so=(0,q.A)(ao,[["render",function(e,n,t,a,o,r){return(0,i.uX)(),(0,i.CE)("form",{class:(0,l.C4)(["message-search",{opened:e.searchOpened}]),onSubmit:n[4]||(n[4]=(0,s.D$)((...n)=>e.searchMessages&&e.searchMessages(...n),["prevent"]))},[(0,i.Lk)("div",to,[(0,i.bo)((0,i.Lk)("input",{ref:"searchInputField","onUpdate:modelValue":n[0]||(n[0]=n=>e.searchInput=n),type:"search",name:"search",class:"input",placeholder:"Search messagesโ€ฆ",onBlur:n[1]||(n[1]=(...n)=>e.closeSearch&&e.closeSearch(...n)),onKeyup:n[2]||(n[2]=(0,s.jR)((...n)=>e.closeSearch&&e.closeSearch(...n),["esc"]))},null,544),[[s.Jo,e.searchInput]])]),e.onSearchPage?(0,i.Q3)("",!0):((0,i.uX)(),(0,i.CE)("button",{key:0,class:"search",type:"button","aria-label":"Search messages in this channel",onMousedown:n[3]||(n[3]=(0,s.D$)((...n)=>e.toggleSearch&&e.toggleSearch(...n),["prevent"]))},null,32))],34)}]]),oo=["aria-label"],io={class:"date-marker"},lo=["aria-label"];var ro=t(8720),co=t.n(ro);ys().extend(co());const uo=(0,i.pM)({name:"DateMarker",props:{message:{type:Object,required:!0},isFocused:Boolean},setup(e){const n=(0,i.EW)(()=>ys()(e.message.time).format("D MMMM YYYY")),t=()=>(Date.now()-Date.parse(e.message.time.toString()))/36e5,a=()=>{t()>=48&&r.A.off("daychange",a)};return(0,i.sV)(()=>{t()<48&&r.A.on("daychange",a)}),(0,i.xo)(()=>{r.A.off("daychange",a)}),{localeDate:n,friendlyDate:()=>ys()(e.message.time).calendar(null,{sameDay:"[Today]",lastDay:"[Yesterday]",lastWeek:"D MMMM YYYY",sameElse:"D MMMM YYYY"})}}}),po=(0,q.A)(uo,[["render",function(e,n,t,a,s,o){return(0,i.uX)(),(0,i.CE)("div",{"aria-label":e.localeDate,class:"date-marker-container tooltipped tooltipped-s"},[(0,i.Lk)("div",io,[n[0]||(n[0]=(0,i.eW)(" ; ",-1)),(0,i.Lk)("span",{"aria-label":e.friendlyDate(),class:"date-marker-text"},null,8,lo)])],8,oo)}]]),ho=(0,i.pM)({name:"SearchResults",components:{SidebarToggle:wn,Message:no,DateMarker:po,MessageSearchForm:so},setup(){const e=(0,o.Pj)(),n=(0,S.lq)(),t=(0,x.KR)(),a=(0,x.KR)(),s=(0,x.KR)(0),l=(0,x.KR)(!1),c=(0,x.KR)(0),u=(0,x.KR)(0),d=(0,i.EW)(()=>{const n=e.state.messageSearchResults?.results;return n||[]}),p=(0,i.EW)(()=>{const t=parseInt(String(n.params.id||""),10);return e.getters.findChannel(t)}),h=(0,i.EW)(()=>p.value?p.value.network:null),g=(0,i.EW)(()=>p.value?p.value.channel:null),m=()=>{p.value&&e.commit("activeChannel",p.value)},k=()=>{g.value&&mc(g.value)},f=()=>{s.value=0,e.commit("messageSearchResults",null),e.commit("messageSearchPendingQuery",null)},b=()=>{if(!h.value||!g.value)return;f();const t={networkUuid:h.value.uuid,channelName:g.value.name,searchTerm:String(n.query.q||""),offset:s.value};e.commit("messageSearchPendingQuery",t),re.A.emit("search",t)},v=async()=>{await(0,i.dY)();const e=t.value;e&&(e.scrollTop=e.scrollHeight)};return(0,i.wB)(()=>n.params.id,()=>{b(),m()}),(0,i.wB)(()=>n.query,()=>{b(),m()}),(0,i.wB)(d,async()=>{if(l.value=!(!d.value.length||d.value.length%100),s.value){await(0,i.dY)();const e=t.value;if(!e)return;const n=e.scrollHeight;e.scrollTop=c.value+n-u.value}else await v()}),(0,i.sV)(()=>{m(),b(),r.A.on("escapekey",k),r.A.on("re-search",b)}),(0,i.hi)(()=>{r.A.off("escapekey",k),r.A.off("re-search",b),f()}),{chat:t,loadMoreButton:a,messages:d,moreResultsAvailable:l,network:h,channel:g,route:n,offset:s,store:e,setActiveChannel:m,closeSearch:k,shouldDisplayDateMarker:(e,n)=>{const t=d.value[n-1];return!t||new Date(t.time).getDay()!==new Date(e.time).getDay()},doSearch:b,onShowMoreClick:()=>{if(!t.value||!h.value||!g.value)return;s.value+=100,c.value=t.value.scrollTop,u.value=t.value.scrollHeight;const a={networkUuid:h.value.uuid,channelName:g.value.name,searchTerm:String(n.query.q||""),offset:s.value};e.commit("messageSearchPendingQuery",a),re.A.emit("search",a)},jumpToBottom:v,jump:n=>{if(!e.state.settings.enableEnhancedSearch||!g.value)return;const t=new Date(n.time).getTime();mc(g.value,n.id,t)}}}}),go=(0,q.A)(ho,[["render",function(e,n,t,a,o,r){const c=(0,i.g2)("SidebarToggle"),u=(0,i.g2)("MessageSearchForm"),d=(0,i.g2)("DateMarker"),p=(0,i.g2)("Message");return(0,i.uX)(),(0,i.CE)("div",Qa,[(0,i.Lk)("div",{id:"chat",class:(0,l.C4)({"time-seconds":e.store.state.settings.showSeconds,"time-12h":e.store.state.settings.use12hClock})},[(0,i.Lk)("div",za,[e.network&&e.channel?((0,i.uX)(),(0,i.CE)("div",Va,[(0,i.bF)(c),(0,i.Lk)("span",Ya,[n[2]||(n[2]=(0,i.eW)("Searching in ",-1)),(0,i.Lk)("span",Ja,(0,l.v_)(e.channel.name),1),n[3]||(n[3]=(0,i.eW)(" for",-1))]),(0,i.Lk)("span",Ga,(0,l.v_)(e.route.query.q),1),(0,i.bF)(u,{network:e.network,channel:e.channel},null,8,["network","channel"]),(0,i.Lk)("button",{class:"close","aria-label":"Close search window",title:"Close search window",onClick:n[0]||(n[0]=(...n)=>e.closeSearch&&e.closeSearch(...n))})])):(0,i.Q3)("",!0),e.network&&e.channel?((0,i.uX)(),(0,i.CE)("div",Za,[(0,i.Lk)("div",es,[(0,i.bo)((0,i.Lk)("div",ns,[(0,i.Lk)("button",{ref:"loadMoreButton",disabled:!!e.store.state.messageSearchPendingQuery||!e.store.state.isConnected,class:"btn",onClick:n[1]||(n[1]=(...n)=>e.onShowMoreClick&&e.onShowMoreClick(...n))},[e.store.state.messageSearchPendingQuery?((0,i.uX)(),(0,i.CE)("span",as,"Loadingโ€ฆ")):((0,i.uX)(),(0,i.CE)("span",ss,"Show older messages"))],8,ts)],512),[[s.aG,e.moreResultsAvailable]]),e.store.state.messageSearchPendingQuery&&!e.offset?((0,i.uX)(),(0,i.CE)("div",os," Searchingโ€ฆ ")):e.messages.length||e.offset?(0,i.Q3)("",!0):((0,i.uX)(),(0,i.CE)("div",is," No results found. ")),(0,i.Lk)("div",ls,[((0,i.uX)(!0),(0,i.CE)(i.FK,null,(0,i.pI)(e.messages,(n,t)=>((0,i.uX)(),(0,i.CE)("div",{key:n.id,class:"result","data-jump-to":e.store.state.settings.enableEnhancedSearch||void 0},[e.shouldDisplayDateMarker(n,t)?((0,i.uX)(),(0,i.Wv)(d,{key:n.id+"-date",message:n},null,8,["message"])):(0,i.Q3)("",!0),((0,i.uX)(),(0,i.Wv)(p,{key:n.id,channel:e.channel,network:e.network,message:n,"data-id":n.id,onClick:t=>e.jump(n)},null,8,["channel","network","message","data-id","onClick"]))],8,rs))),128))])],512)])):(0,i.Q3)("",!0)])],2)])}]]),mo=["data-current-channel"],ko=["id","data-type","aria-label"],fo={class:"header"},bo=["aria-label"],vo={key:0,class:"topic-container"},wo=["value"],yo=["title"],_o={key:3,class:"rt-tooltip tooltipped tooltipped-w","aria-label":"Toggle user list"},Co={key:0,class:"chat-content"},Lo={class:"chat"},Mo={class:"messages"},Eo={class:"msg"},xo={key:1,class:"chat-content"},So={ref:"chat",class:"chat",tabindex:"-1"},Ao={class:"show-more"},To=["disabled"],Xo={key:0},jo={key:1},Wo={key:1,class:"unread-marker"},Po=/\x02|\x1D|\x1F|\x16|\x0F|\x11|\x1E|\x03(?:[0-9]{1,2}(?:,[0-9]{1,2})?)?|\x04(?:[0-9a-f]{6}(?:,[0-9a-f]{6})?)?/gi,Ro=new Set(["away","back","chghost","join","kick","mass_event","mode","nick","part","quit"]);function Io(e){if("InstallTrigger"in window)return;const n=window.getSelection();if(!n)return;if(n.anchorNode===n.focusNode)return;const t=n.getRangeAt(0),a=t.cloneContents(),s=document.createElement("div");s.id="js-copy-hack",s.appendChild(a),e.appendChild(s),n.selectAllChildren(s),window.setTimeout(()=>{e.removeChild(s),n.removeAllRanges(),n.addRange(t)},0)}const No={class:"condensed-summary"},Uo=(0,i.pM)({name:"MessageCondensed",components:{Message:no},props:{network:{type:Object,required:!0},messages:{type:Array,required:!0},keepScrollPosition:{type:Function,required:!0},isFocused:Boolean},setup(e){const n=(0,x.KR)(!0),t=(0,i.EW)(()=>{const n={};Ro.forEach(e=>{n[e]=0});for(const t of e.messages)if(t.type===Ys.MODE){const e=(t.text?t.text:"").split(" ")[0].split("").filter(e=>"+"!==e&&"-"!==e).length;n[t.type]+=e}else if(t.type===Ys.MASS_EVENT){const e=t.massEventSummary;Object.keys(e).forEach(t=>{if("startTime"!==t&&"endTime"!==t&&"duration"!==t)return"away"===t||"back"===t?n[t]+=e[t]:void(n[t.slice(0,-1)]+=e[t])})}else{if(!t.type){console.log(`empty message type, this should not happen: ${t.id}`);continue}n[t.type]++}n.part+=n.quit;const t=[];if(Ro.forEach(e=>{if(n[e])switch(e){case"chghost":t.push(String(n[e])+(n[e]>1?" users have changed hostname":" user has changed hostname"));break;case"join":t.push(String(n[e])+(n[e]>1?" users have joined":" user has joined"));break;case"part":t.push(String(n[e])+(n[e]>1?" users have left":" user has left"));break;case"nick":t.push(String(n[e])+(n[e]>1?" users have changed nick":" user has changed nick"));break;case"kick":t.push(String(n[e])+(n[e]>1?" users were kicked":" user was kicked"));break;case"mode":t.push(String(n[e])+(n[e]>1?" modes were set":" mode was set"));break;case"away":t.push("marked away "+(n[e]>1?String(n[e])+" times":"once"));break;case"back":t.push("marked back "+(n[e]>1?String(n[e])+" times":"once"))}}),t.length){let e=t.pop();return t.length&&(e=t.join(", ")+", and "+e),e}return""});return{isCollapsed:n,condensedText:t,onCollapseClick:()=>{n.value=!n.value,e.keepScrollPosition()}}}}),Fo=(0,q.A)(Uo,[["render",function(e,n,t,a,s,o){const r=(0,i.g2)("Message");return(0,i.uX)(),(0,i.CE)("div",{class:(0,l.C4)(["msg",{closed:e.isCollapsed,"is-focused":e.isFocused}]),"data-type":"condensed"},[(0,i.Lk)("div",No,[n[2]||(n[2]=(0,i.Lk)("span",{class:"time"},null,-1)),n[3]||(n[3]=(0,i.Lk)("span",{class:"from"},null,-1)),(0,i.Lk)("span",{class:"content",onClick:n[0]||(n[0]=(...n)=>e.onCollapseClick&&e.onCollapseClick(...n))},[(0,i.eW)((0,l.v_)(e.condensedText)+" ",1),n[1]||(n[1]=(0,i.Lk)("button",{class:"toggle-button","aria-label":"Toggle status messages"},null,-1))])]),((0,i.uX)(!0),(0,i.CE)(i.FK,null,(0,i.pI)(e.messages,n=>((0,i.uX)(),(0,i.Wv)(r,{key:n.id,network:e.network,message:n},null,8,["network","message"]))),128))],2)}]]),Oo=500,qo=(0,i.pM)({name:"MessageList",components:{Message:no,MessageCondensed:Fo,DateMarker:po},props:{network:{type:Object,required:!0},channel:{type:Object,required:!0},isFocused:Number,focusedTime:Number},setup(e){const n=(0,o.Pj)(),t=(0,x.KR)(null),a=(0,x.KR)(null),s=(0,x.KR)(null),l=(0,x.KR)(null),c=(0,x.KR)(null),u=(0,x.KR)(!1),d=(0,x.KR)(0),p=(0,x.KR)(!1);let h=!1;const g=(0,i.EW)(()=>{if(e.channel.type!==Zs.rR.CHANNEL&&e.channel.type!==Zs.rR.QUERY)return e.channel.messages;if("hidden"===n.state.settings.statusMessages)return e.channel.messages.filter(e=>!Ro.has(e.type||""));if("condensed"!==n.state.settings.statusMessages)return e.channel.messages;let t=null;const a=[];for(const n of e.channel.messages)n.self||n.highlight||!Ro.has(n.type||"")?(t=null,a.push(n)):(t||(t={time:n.time,type:"condensed",messages:[]},a.push(t)),t.messages.push(n),t.id=n.id,n.id===e.channel.firstUnread&&(t=null));return a.map(e=>"condensed"===e.type&&1===e.messages.length?e.messages[0]:e)}),m=(0,i.EW)(()=>{const e=g.value,n=e.length;if(n<=Oo)return e;const t=Math.max(0,Math.min(d.value,n-Oo));return e.slice(t,t+Oo)}),k=(0,i.EW)(()=>d.value>0),f=(0,i.EW)(()=>{const e=g.value.length;return e<=Oo||d.value>=e-Oo}),b=(0,i.EW)(()=>e.channel.moreHistoryAvailable&&0===d.value),v=()=>{t.value&&(u.value=!0,t.value.scrollTop=t.value.scrollHeight,setTimeout(()=>{u.value=!1},50))},w=async()=>{const n=g.value.length;d.value=Math.max(0,n-Oo),e.channel.scrolledToBottom=!0,p.value=!0,await(0,i.dY)(),v(),p.value=!1},y=async(n,a)=>{l.value=n,c.value=a||null,e.channel.scrolledToBottom=!1,p.value=!0;const s=g.value;let o=-1;for(let e=0;e<s.length;e++){const t=s[e];if("condensed"===t.type){if(t.messages.some(e=>e.id===n)){o=e;break}}else if(t.id===n){o=e;break}}if(-1===o&&a)for(let e=0;e<s.length;e++){const n=s[e],t=new Date(n.time).getTime();if(Math.abs(t-a)<1e3){o=e;break}if("condensed"===n.type)for(const t of n.messages){const n=new Date(t.time).getTime();if(Math.abs(n-a)<1e3){o=e;break}}if(-1!==o)break}if(-1===o)return p.value=!1,!1;if(s.length>Oo){const e=Math.floor(250);d.value=Math.max(0,Math.min(o-e,s.length-Oo))}if(await(0,i.dY)(),t.value){const e=t.value.querySelector(`#msg-${n}`);if(e){u.value=!0,e.scrollIntoView({behavior:"instant",block:"center"});const n=t.value.closest("#chat-container");return n&&(n.scrollTop=0),setTimeout(()=>{u.value=!1,p.value=!1},50),setTimeout(()=>{l.value=null,c.value=null},3e3),!0}}return p.value=!1,!1},_=async n=>{c.value=n,e.channel.scrolledToBottom=!1,p.value=!0;const a=g.value;let s=-1;for(let e=0;e<a.length;e++){const t=a[e],o=new Date(t.time).getTime();if(Math.abs(o-n)<1e3){s=e;break}if("condensed"===t.type){for(const a of t.messages){const t=new Date(a.time).getTime();if(Math.abs(t-n)<1e3){s=e;break}}if(-1!==s)break}}if(-1===s)return p.value=!1,!1;if(a.length>Oo){const e=Math.floor(250);d.value=Math.max(0,Math.min(s-e,a.length-Oo))}if(await(0,i.dY)(),t.value){const e=t.value.querySelectorAll(".msg[id^='msg-']");for(const t of e){const e=t.id.replace("msg-",""),a=m.value.find(n=>"condensed"===n.type?n.messages.some(n=>String(n.id)===e):String(n.id)===e);if(a){const e=new Date(a.time).getTime();if(Math.abs(e-n)<1e3)return u.value=!0,t.scrollIntoView({behavior:"instant",block:"center"}),setTimeout(()=>{u.value=!1,p.value=!1},50),setTimeout(()=>{c.value=null},3e3),!0}}}return p.value=!1,!1},C=()=>{if(u.value||p.value)return;const n=t.value;if(!n)return;const a=n.scrollTop,s=n.scrollHeight-a-n.clientHeight,o=a;s<=30&&f.value?e.channel.scrolledToBottom||(e.channel.scrolledToBottom=!0):e.channel.scrolledToBottom&&s>100&&(e.channel.scrolledToBottom=!1),o<200&&k.value?(async(n=100)=>{if(p.value||d.value<=0)return;const a=t.value;if(!a)return;p.value=!0;const s=a.scrollHeight,o=a.scrollTop,l=Math.max(0,d.value-n);if(0===d.value-l)return void(p.value=!1);d.value=l,e.channel.scrolledToBottom=!1,await(0,i.dY)();const r=a.scrollHeight-s;a.scrollTop=o+r,p.value=!1})(50):s<200&&!f.value&&(async(n=100)=>{if(p.value)return;const a=g.value.length,s=Math.max(0,a-Oo);if(d.value>=s)return;const o=t.value;if(!o)return;p.value=!0;const l=o.scrollHeight,r=o.scrollTop,c=Math.min(s,d.value+n);d.value=c,c>=s&&(e.channel.scrolledToBottom=!0),await(0,i.dY)();const u=l-o.scrollHeight;o.scrollTop=r-u,p.value=!1})(50)},L=()=>{if(!n.state.isConnected)return;let t=-1;for(const n of e.channel.messages)if(!n.showInActive){t=n.id;break}e.channel.historyLoading=!0,re.A.emit("more",{target:e.channel.id,lastId:t,condensed:"shown"!==n.state.settings.statusMessages})},M=async()=>{if(e.channel.scrolledToBottom)return void await w();const n=t.value;if(!n)return;p.value=!0;const a=n.scrollHeight-n.scrollTop;await(0,i.dY)(),u.value=!0,n.scrollTop=n.scrollHeight-a,setTimeout(()=>{u.value=!1,p.value=!1},50)},E=()=>{e.channel.scrolledToBottom&&w()};(0,i.sV)(async()=>{t.value?.addEventListener("scroll",C,{passive:!0}),r.A.on("resize",E),e.isFocused&&!isNaN(e.isFocused)?(await(0,i.dY)(),await y(e.isFocused,e.focusedTime)):e.focusedTime&&!isNaN(e.focusedTime)?(await(0,i.dY)(),await _(e.focusedTime)):(e.channel.scrolledToBottom=!0,d.value=Math.max(0,g.value.length-Oo),await(0,i.dY)(),v()),await(0,i.dY)(),window.IntersectionObserver&&a.value&&(s.value=new IntersectionObserver(e=>{e.forEach(e=>{e.isIntersecting&&L()})},{root:t.value}),s.value.observe(a.value))}),(0,i.wB)(()=>e.channel.id,async()=>{e.channel.scrolledToBottom=!0,l.value=null,c.value=null,d.value=Math.max(0,g.value.length-Oo),await(0,i.dY)(),v(),s.value&&a.value&&(s.value.unobserve(a.value),s.value.observe(a.value))});const S=(0,i.EW)(()=>{const n=e.channel.messages;return n.length>0?n[0].id:null});return(0,i.wB)(S,async(e,n)=>{if(null===n||null===e)return;if(e===n)return;const a=t.value;if(!a)return;p.value=!0;const s=a.scrollTop,o=a.scrollHeight,l=g.value.length,r=Math.max(0,l-Oo);0===d.value||(d.value=Math.min(r,d.value)),await(0,i.dY)();const c=a.scrollHeight-o;u.value=!0,a.scrollTop=s+c,setTimeout(()=>{u.value=!1,p.value=!1},50)}),(0,i.wB)(()=>e.channel.messages.length,async(n,t)=>{if(e.channel.scrolledToBottom){const e=g.value.length;d.value=Math.max(0,e-Oo),await(0,i.dY)(),v()}}),(0,i.wB)(()=>e.isFocused,async n=>{n&&!isNaN(n)&&(await(0,i.dY)(),await y(n,e.focusedTime))}),(0,i.wB)(()=>e.focusedTime,async n=>{e.isFocused&&!isNaN(e.isFocused)||n&&!isNaN(n)&&(await(0,i.dY)(),await _(n))}),(0,i.Ic)(()=>{h=!1}),(0,i.xo)(()=>{r.A.off("resize",E),t.value?.removeEventListener("scroll",C)}),(0,i.hi)(()=>{s.value?.disconnect()}),{chat:t,store:n,loadMoreButton:a,displayedMessages:m,showLoadMoreButton:b,getMessageKey:e=>"condensed"===e.type?`condensed-${e.messages[0]?.id}-${new Date(e.time).getTime()}`:`${e.id}-${new Date(e.time).getTime()}`,isMessageFocused:e=>{if(null!==l.value)return"condensed"===e.type?e.messages.some(e=>e.id===l.value):e.id===l.value;if(!c.value)return!1;const n=new Date(e.time).getTime();if(Math.abs(n-c.value)<1e3)return!0;if("condensed"===e.type)for(const n of e.messages){const e=new Date(n.time).getTime();if(Math.abs(e-c.value)<1e3)return!0}return!1},onShowMoreClick:L,onCopy:()=>{t.value&&Io(t.value)},shouldDisplayDateMarker:(e,n)=>{const t=m.value[n-1];if(!t)return!0;const a=new Date(t.time),s=new Date(e.time);return a.getDate()!==s.getDate()||a.getMonth()!==s.getMonth()||a.getFullYear()!==s.getFullYear()},shouldDisplayUnreadMarker:n=>!h&&n>e.channel.firstUnread&&(h=!0,!0),keepScrollPosition:M,isPreviousSource:(e,n)=>{const t=m.value[n-1];return t&&e.type===Ys.MESSAGE&&t.type===Ys.MESSAGE&&e.from&&t.from&&e.from.nick===t.from.nick},jumpToBottom:w,onLinkPreviewToggle:async(n,t)=>{await M(),re.A.emit("msg:preview:toggle",{target:e.channel.id,msgId:t.id,link:n.link,shown:n.shown})}}}}),Ko=(0,q.A)(qo,[["render",function(e,n,t,a,o,l){const r=(0,i.g2)("DateMarker"),c=(0,i.g2)("MessageCondensed"),u=(0,i.g2)("Message");return(0,i.uX)(),(0,i.CE)("div",So,[(0,i.bo)((0,i.Lk)("div",Ao,[(0,i.Lk)("button",{ref:"loadMoreButton",disabled:e.channel.historyLoading||!e.store.state.isConnected,class:"btn",onClick:n[0]||(n[0]=(...n)=>e.onShowMoreClick&&e.onShowMoreClick(...n))},[e.channel.historyLoading?((0,i.uX)(),(0,i.CE)("span",Xo,"Loadingโ€ฆ")):((0,i.uX)(),(0,i.CE)("span",jo,"Show older messages"))],8,To)],512),[[s.aG,e.showLoadMoreButton]]),(0,i.Lk)("div",{class:"messages",role:"log","aria-live":"polite","aria-relevant":"additions",onCopy:n[1]||(n[1]=(...n)=>e.onCopy&&e.onCopy(...n))},[((0,i.uX)(!0),(0,i.CE)(i.FK,null,(0,i.pI)(e.displayedMessages,(t,a)=>((0,i.uX)(),(0,i.CE)(i.FK,{key:e.getMessageKey(t)},[e.shouldDisplayDateMarker(t,a)?((0,i.uX)(),(0,i.Wv)(r,{key:0,message:t,"is-focused":e.isMessageFocused(t)},null,8,["message","is-focused"])):(0,i.Q3)("",!0),e.shouldDisplayUnreadMarker(Number(t.id))?((0,i.uX)(),(0,i.CE)("div",Wo,[...n[2]||(n[2]=[(0,i.Lk)("span",{class:"unread-marker-text"},null,-1)])])):(0,i.Q3)("",!0),"condensed"===t.type?((0,i.uX)(),(0,i.Wv)(c,{key:2,network:e.network,"keep-scroll-position":e.keepScrollPosition,messages:t.messages,"is-focused":e.isMessageFocused(t)},null,8,["network","keep-scroll-position","messages","is-focused"])):((0,i.uX)(),(0,i.Wv)(u,{key:3,channel:e.channel,network:e.network,message:t,"keep-scroll-position":e.keepScrollPosition,"is-previous-source":e.isPreviousSource(t,a),"is-focused":e.isMessageFocused(t),onToggleLinkPreview:e.onLinkPreviewToggle},null,8,["channel","network","message","keep-scroll-position","is-previous-source","is-focused","onToggleLinkPreview"]))],64))),128))],32)],512)}]]),Do={ref:"chat",class:"chat",tabindex:"-1"},Bo={class:"show-more"},$o=["disabled"],Ho={key:0},Qo={key:1},zo=(0,i.pM)({name:"MessageListBasic",components:{Message:no,MessageCondensed:Fo,DateMarker:po},props:{network:{type:Object,required:!0},channel:{type:Object,required:!0},focused:Number},setup(e){const n=(0,o.Pj)(),t=(0,x.KR)(null),a=(0,x.KR)(null),s=(0,x.KR)(null),l=(0,x.KR)(!1),c=(0,x.KR)(!1);let u=!1;const d=()=>{l.value=!0,e.channel.scrolledToBottom=!0;const n=t.value;n&&(n.scrollTop=n.scrollHeight)},p=()=>{if(!n.state.isConnected)return;let t=-1;for(const n of e.channel.messages)if(!n.showInActive){t=n.id;break}e.channel.historyLoading=!0,re.A.emit("more",{target:e.channel.id,lastId:t,condensed:"shown"!==n.state.settings.statusMessages})},h=e=>{e.forEach(e=>{e.isIntersecting&&p()})};(0,i.dY)(()=>{t.value&&(window.IntersectionObserver&&(s.value=new window.IntersectionObserver(h,{root:t.value})),d())}).catch(e=>{console.error("Error in new IntersectionObserver",e)});const g=(0,i.EW)(()=>{if(e.channel.type!==Zs.rR.CHANNEL&&e.channel.type!==Zs.rR.QUERY)return e.channel.messages;if("hidden"===n.state.settings.statusMessages)return e.channel.messages.filter(e=>!Ro.has(e.type||""));if("condensed"!==n.state.settings.statusMessages)return e.channel.messages;let t=null;const a=[];for(const n of e.channel.messages)n.self||n.highlight||!Ro.has(n.type||"")?(t=null,a.push(n)):(t||(t={time:n.time,type:"condensed",messages:[]},a.push(t)),t.messages.push(n),t.id=n.id,n.id===e.channel.firstUnread&&(t=null));return a.map(e=>"condensed"===e.type&&1===e.messages.length?e.messages[0]:e)}),m=async()=>{if(c.value)return;const n=t.value;if(n)if(e.channel.scrolledToBottom)c.value=!0,await(0,i.dY)(),c.value=!1,d();else if(e.channel.historyLoading){const e=n.scrollHeight-n.scrollTop;c.value=!0,await(0,i.dY)(),c.value=!1,l.value=!0,n.scrollTop=n.scrollHeight-e}},k=()=>{if(l.value)return void(l.value=!1);const n=t.value;n&&(e.channel.scrolledToBottom=n.scrollHeight-n.scrollTop-n.offsetHeight<=30)},f=()=>{e.channel.scrolledToBottom&&d()};return(0,i.sV)(()=>{t.value?.addEventListener("scroll",k,{passive:!0}),r.A.on("resize",f),(0,i.dY)(()=>{s.value&&a.value&&s.value.observe(a.value)})}),(0,i.wB)(()=>e.channel.id,()=>{e.channel.scrolledToBottom=!0,s.value&&a.value&&(s.value.unobserve(a.value),s.value.observe(a.value))}),(0,i.wB)(()=>e.channel.messages,async()=>{await m()},{deep:!0}),(0,i.wB)(()=>e.channel.pendingMessage,async()=>{await m()}),(0,i.Ic)(()=>{u=!1}),(0,i.xo)(()=>{r.A.off("resize",f),t.value?.removeEventListener("scroll",k)}),(0,i.hi)(()=>{s.value&&s.value.disconnect()}),{chat:t,store:n,onShowMoreClick:p,loadMoreButton:a,onCopy:()=>{t.value&&Io(t.value)},condensedMessages:g,shouldDisplayDateMarker:(e,n)=>{const t=g.value[n-1];if(!t)return!0;const a=new Date(t.time),s=new Date(e.time);return a.getDate()!==s.getDate()||a.getMonth()!==s.getMonth()||a.getFullYear()!==s.getFullYear()},shouldDisplayUnreadMarker:n=>!u&&n>e.channel.firstUnread&&(u=!0,!0),keepScrollPosition:m,isPreviousSource:(e,n)=>{const t=g.value[n-1];return t&&e.type===Ys.MESSAGE&&t.type===Ys.MESSAGE&&e.from&&t.from&&e.from.nick===t.from.nick},jumpToBottom:d,onLinkPreviewToggle:async(n,t)=>{await m(),re.A.emit("msg:preview:toggle",{target:e.channel.id,msgId:t.id,link:n.link,shown:n.shown})}}}}),Vo=(0,q.A)(zo,[["render",function(e,n,t,a,o,l){const r=(0,i.g2)("DateMarker"),c=(0,i.g2)("MessageCondensed"),u=(0,i.g2)("Message");return(0,i.uX)(),(0,i.CE)("div",Do,[(0,i.bo)((0,i.Lk)("div",Bo,[(0,i.Lk)("button",{ref:"loadMoreButton",disabled:e.channel.historyLoading||!e.store.state.isConnected,class:"btn",onClick:n[0]||(n[0]=(...n)=>e.onShowMoreClick&&e.onShowMoreClick(...n))},[e.channel.historyLoading?((0,i.uX)(),(0,i.CE)("span",Ho,"Loadingโ€ฆ")):((0,i.uX)(),(0,i.CE)("span",Qo,"Show older messages"))],8,$o)],512),[[s.aG,e.channel.moreHistoryAvailable]]),(0,i.Lk)("div",{class:"messages",role:"log","aria-live":"polite","aria-relevant":"additions",onCopy:n[1]||(n[1]=(...n)=>e.onCopy&&e.onCopy(...n))},[((0,i.uX)(!0),(0,i.CE)(i.FK,null,(0,i.pI)(e.condensedMessages,(t,a)=>((0,i.uX)(),(0,i.CE)(i.FK,null,[e.shouldDisplayDateMarker(t,a)?((0,i.uX)(),(0,i.Wv)(r,{key:t.id+"-date",message:t,focused:t.id===e.focused},null,8,["message","focused"])):(0,i.Q3)("",!0),e.shouldDisplayUnreadMarker(Number(t.id))?((0,i.uX)(),(0,i.CE)("div",{key:t.id+"-unread",class:"unread-marker"},[...n[2]||(n[2]=[(0,i.Lk)("span",{class:"unread-marker-text"},null,-1)])])):(0,i.Q3)("",!0),"condensed"===t.type?((0,i.uX)(),(0,i.Wv)(c,{key:t.messages[0].id,network:e.network,"keep-scroll-position":e.keepScrollPosition,messages:t.messages,focused:t.id===e.focused},null,8,["network","keep-scroll-position","messages","focused"])):((0,i.uX)(),(0,i.Wv)(u,{key:t.id,channel:e.channel,network:e.network,message:t,"keep-scroll-position":e.keepScrollPosition,"is-previous-source":e.isPreviousSource(t,a),focused:t.id===e.focused,onToggleLinkPreview:e.onLinkPreviewToggle},null,8,["channel","network","message","keep-scroll-position","is-previous-source","focused","onToggleLinkPreview"]))],64))),256))],32)],512)}]]),Yo={key:0,id:"nick"},Jo=["value","placeholder","aria-label"],Go=["disabled"],Zo={id:"submit-tooltip",class:"tooltipped tooltipped-w tooltipped-no-touch","aria-label":"Send message"},ei=["disabled"];var ni=t(2531),ti=t(6e3),ai=t(9787);const si=JSON.parse('{"100":"๐Ÿ’ฏ","1234":"๐Ÿ”ข","grinning":"๐Ÿ˜€","smiley":"๐Ÿ˜ƒ","smile":"๐Ÿ˜„","grin":"๐Ÿ˜","laughing":"๐Ÿ˜†","satisfied":"๐Ÿ˜†","sweat_smile":"๐Ÿ˜…","rofl":"๐Ÿคฃ","joy":"๐Ÿ˜‚","slightly_smiling_face":"๐Ÿ™‚","upside_down_face":"๐Ÿ™ƒ","melting_face":"๐Ÿซ ","wink":"๐Ÿ˜‰","blush":"๐Ÿ˜Š","innocent":"๐Ÿ˜‡","smiling_face_with_three_hearts":"๐Ÿฅฐ","heart_eyes":"๐Ÿ˜","star_struck":"๐Ÿคฉ","kissing_heart":"๐Ÿ˜˜","kissing":"๐Ÿ˜—","relaxed":"โ˜บ๏ธ","kissing_closed_eyes":"๐Ÿ˜š","kissing_smiling_eyes":"๐Ÿ˜™","smiling_face_with_tear":"๐Ÿฅฒ","yum":"๐Ÿ˜‹","stuck_out_tongue":"๐Ÿ˜›","stuck_out_tongue_winking_eye":"๐Ÿ˜œ","zany_face":"๐Ÿคช","stuck_out_tongue_closed_eyes":"๐Ÿ˜","money_mouth_face":"๐Ÿค‘","hugs":"๐Ÿค—","hand_over_mouth":"๐Ÿคญ","face_with_open_eyes_and_hand_over_mouth":"๐Ÿซข","face_with_peeking_eye":"๐Ÿซฃ","shushing_face":"๐Ÿคซ","thinking":"๐Ÿค”","saluting_face":"๐Ÿซก","zipper_mouth_face":"๐Ÿค","raised_eyebrow":"๐Ÿคจ","neutral_face":"๐Ÿ˜","expressionless":"๐Ÿ˜‘","no_mouth":"๐Ÿ˜ถ","dotted_line_face":"๐Ÿซฅ","face_in_clouds":"๐Ÿ˜ถโ€๐ŸŒซ๏ธ","smirk":"๐Ÿ˜","unamused":"๐Ÿ˜’","roll_eyes":"๐Ÿ™„","grimacing":"๐Ÿ˜ฌ","face_exhaling":"๐Ÿ˜ฎโ€๐Ÿ’จ","lying_face":"๐Ÿคฅ","shaking_face":"๐Ÿซจ","relieved":"๐Ÿ˜Œ","pensive":"๐Ÿ˜”","sleepy":"๐Ÿ˜ช","drooling_face":"๐Ÿคค","sleeping":"๐Ÿ˜ด","mask":"๐Ÿ˜ท","face_with_thermometer":"๐Ÿค’","face_with_head_bandage":"๐Ÿค•","nauseated_face":"๐Ÿคข","vomiting_face":"๐Ÿคฎ","sneezing_face":"๐Ÿคง","hot_face":"๐Ÿฅต","cold_face":"๐Ÿฅถ","woozy_face":"๐Ÿฅด","dizzy_face":"๐Ÿ˜ต","face_with_spiral_eyes":"๐Ÿ˜ตโ€๐Ÿ’ซ","exploding_head":"๐Ÿคฏ","cowboy_hat_face":"๐Ÿค ","partying_face":"๐Ÿฅณ","disguised_face":"๐Ÿฅธ","sunglasses":"๐Ÿ˜Ž","nerd_face":"๐Ÿค“","monocle_face":"๐Ÿง","confused":"๐Ÿ˜•","face_with_diagonal_mouth":"๐Ÿซค","worried":"๐Ÿ˜Ÿ","slightly_frowning_face":"๐Ÿ™","frowning_face":"โ˜น๏ธ","open_mouth":"๐Ÿ˜ฎ","hushed":"๐Ÿ˜ฏ","astonished":"๐Ÿ˜ฒ","flushed":"๐Ÿ˜ณ","pleading_face":"๐Ÿฅบ","face_holding_back_tears":"๐Ÿฅน","frowning":"๐Ÿ˜ฆ","anguished":"๐Ÿ˜ง","fearful":"๐Ÿ˜จ","cold_sweat":"๐Ÿ˜ฐ","disappointed_relieved":"๐Ÿ˜ฅ","cry":"๐Ÿ˜ข","sob":"๐Ÿ˜ญ","scream":"๐Ÿ˜ฑ","confounded":"๐Ÿ˜–","persevere":"๐Ÿ˜ฃ","disappointed":"๐Ÿ˜ž","sweat":"๐Ÿ˜“","weary":"๐Ÿ˜ฉ","tired_face":"๐Ÿ˜ซ","yawning_face":"๐Ÿฅฑ","triumph":"๐Ÿ˜ค","rage":"๐Ÿ˜ก","pout":"๐Ÿ˜ก","angry":"๐Ÿ˜ ","cursing_face":"๐Ÿคฌ","smiling_imp":"๐Ÿ˜ˆ","imp":"๐Ÿ‘ฟ","skull":"๐Ÿ’€","skull_and_crossbones":"โ˜ ๏ธ","hankey":"๐Ÿ’ฉ","poop":"๐Ÿ’ฉ","shit":"๐Ÿ’ฉ","clown_face":"๐Ÿคก","japanese_ogre":"๐Ÿ‘น","japanese_goblin":"๐Ÿ‘บ","ghost":"๐Ÿ‘ป","alien":"๐Ÿ‘ฝ","space_invader":"๐Ÿ‘พ","robot":"๐Ÿค–","smiley_cat":"๐Ÿ˜บ","smile_cat":"๐Ÿ˜ธ","joy_cat":"๐Ÿ˜น","heart_eyes_cat":"๐Ÿ˜ป","smirk_cat":"๐Ÿ˜ผ","kissing_cat":"๐Ÿ˜ฝ","scream_cat":"๐Ÿ™€","crying_cat_face":"๐Ÿ˜ฟ","pouting_cat":"๐Ÿ˜พ","see_no_evil":"๐Ÿ™ˆ","hear_no_evil":"๐Ÿ™‰","speak_no_evil":"๐Ÿ™Š","love_letter":"๐Ÿ’Œ","cupid":"๐Ÿ’˜","gift_heart":"๐Ÿ’","sparkling_heart":"๐Ÿ’–","heartpulse":"๐Ÿ’—","heartbeat":"๐Ÿ’“","revolving_hearts":"๐Ÿ’ž","two_hearts":"๐Ÿ’•","heart_decoration":"๐Ÿ’Ÿ","heavy_heart_exclamation":"โฃ๏ธ","broken_heart":"๐Ÿ’”","heart_on_fire":"โค๏ธโ€๐Ÿ”ฅ","mending_heart":"โค๏ธโ€๐Ÿฉน","heart":"โค๏ธ","pink_heart":"๐Ÿฉท","orange_heart":"๐Ÿงก","yellow_heart":"๐Ÿ’›","green_heart":"๐Ÿ’š","blue_heart":"๐Ÿ’™","light_blue_heart":"๐Ÿฉต","purple_heart":"๐Ÿ’œ","brown_heart":"๐ŸคŽ","black_heart":"๐Ÿ–ค","grey_heart":"๐Ÿฉถ","white_heart":"๐Ÿค","kiss":"๐Ÿ’‹","anger":"๐Ÿ’ข","boom":"๐Ÿ’ฅ","collision":"๐Ÿ’ฅ","dizzy":"๐Ÿ’ซ","sweat_drops":"๐Ÿ’ฆ","dash":"๐Ÿ’จ","hole":"๐Ÿ•ณ๏ธ","speech_balloon":"๐Ÿ’ฌ","eye_speech_bubble":"๐Ÿ‘๏ธโ€๐Ÿ—จ๏ธ","left_speech_bubble":"๐Ÿ—จ๏ธ","right_anger_bubble":"๐Ÿ—ฏ๏ธ","thought_balloon":"๐Ÿ’ญ","zzz":"๐Ÿ’ค","wave":"๐Ÿ‘‹","raised_back_of_hand":"๐Ÿคš","raised_hand_with_fingers_splayed":"๐Ÿ–๏ธ","hand":"โœ‹","raised_hand":"โœ‹","vulcan_salute":"๐Ÿ––","rightwards_hand":"๐Ÿซฑ","leftwards_hand":"๐Ÿซฒ","palm_down_hand":"๐Ÿซณ","palm_up_hand":"๐Ÿซด","leftwards_pushing_hand":"๐Ÿซท","rightwards_pushing_hand":"๐Ÿซธ","ok_hand":"๐Ÿ‘Œ","pinched_fingers":"๐ŸคŒ","pinching_hand":"๐Ÿค","v":"โœŒ๏ธ","crossed_fingers":"๐Ÿคž","hand_with_index_finger_and_thumb_crossed":"๐Ÿซฐ","love_you_gesture":"๐ŸคŸ","metal":"๐Ÿค˜","call_me_hand":"๐Ÿค™","point_left":"๐Ÿ‘ˆ","point_right":"๐Ÿ‘‰","point_up_2":"๐Ÿ‘†","middle_finger":"๐Ÿ–•","fu":"๐Ÿ–•","point_down":"๐Ÿ‘‡","point_up":"โ˜๏ธ","index_pointing_at_the_viewer":"๐Ÿซต","+1":"๐Ÿ‘","thumbsup":"๐Ÿ‘","-1":"๐Ÿ‘Ž","thumbsdown":"๐Ÿ‘Ž","fist_raised":"โœŠ","fist":"โœŠ","fist_oncoming":"๐Ÿ‘Š","facepunch":"๐Ÿ‘Š","punch":"๐Ÿ‘Š","fist_left":"๐Ÿค›","fist_right":"๐Ÿคœ","clap":"๐Ÿ‘","raised_hands":"๐Ÿ™Œ","heart_hands":"๐Ÿซถ","open_hands":"๐Ÿ‘","palms_up_together":"๐Ÿคฒ","handshake":"๐Ÿค","pray":"๐Ÿ™","writing_hand":"โœ๏ธ","nail_care":"๐Ÿ’…","selfie":"๐Ÿคณ","muscle":"๐Ÿ’ช","mechanical_arm":"๐Ÿฆพ","mechanical_leg":"๐Ÿฆฟ","leg":"๐Ÿฆต","foot":"๐Ÿฆถ","ear":"๐Ÿ‘‚","ear_with_hearing_aid":"๐Ÿฆป","nose":"๐Ÿ‘ƒ","brain":"๐Ÿง ","anatomical_heart":"๐Ÿซ€","lungs":"๐Ÿซ","tooth":"๐Ÿฆท","bone":"๐Ÿฆด","eyes":"๐Ÿ‘€","eye":"๐Ÿ‘๏ธ","tongue":"๐Ÿ‘…","lips":"๐Ÿ‘„","biting_lip":"๐Ÿซฆ","baby":"๐Ÿ‘ถ","child":"๐Ÿง’","boy":"๐Ÿ‘ฆ","girl":"๐Ÿ‘ง","adult":"๐Ÿง‘","blond_haired_person":"๐Ÿ‘ฑ","man":"๐Ÿ‘จ","bearded_person":"๐Ÿง”","man_beard":"๐Ÿง”โ€โ™‚๏ธ","woman_beard":"๐Ÿง”โ€โ™€๏ธ","red_haired_man":"๐Ÿ‘จโ€๐Ÿฆฐ","curly_haired_man":"๐Ÿ‘จโ€๐Ÿฆฑ","white_haired_man":"๐Ÿ‘จโ€๐Ÿฆณ","bald_man":"๐Ÿ‘จโ€๐Ÿฆฒ","woman":"๐Ÿ‘ฉ","red_haired_woman":"๐Ÿ‘ฉโ€๐Ÿฆฐ","person_red_hair":"๐Ÿง‘โ€๐Ÿฆฐ","curly_haired_woman":"๐Ÿ‘ฉโ€๐Ÿฆฑ","person_curly_hair":"๐Ÿง‘โ€๐Ÿฆฑ","white_haired_woman":"๐Ÿ‘ฉโ€๐Ÿฆณ","person_white_hair":"๐Ÿง‘โ€๐Ÿฆณ","bald_woman":"๐Ÿ‘ฉโ€๐Ÿฆฒ","person_bald":"๐Ÿง‘โ€๐Ÿฆฒ","blond_haired_woman":"๐Ÿ‘ฑโ€โ™€๏ธ","blonde_woman":"๐Ÿ‘ฑโ€โ™€๏ธ","blond_haired_man":"๐Ÿ‘ฑโ€โ™‚๏ธ","older_adult":"๐Ÿง“","older_man":"๐Ÿ‘ด","older_woman":"๐Ÿ‘ต","frowning_person":"๐Ÿ™","frowning_man":"๐Ÿ™โ€โ™‚๏ธ","frowning_woman":"๐Ÿ™โ€โ™€๏ธ","pouting_face":"๐Ÿ™Ž","pouting_man":"๐Ÿ™Žโ€โ™‚๏ธ","pouting_woman":"๐Ÿ™Žโ€โ™€๏ธ","no_good":"๐Ÿ™…","no_good_man":"๐Ÿ™…โ€โ™‚๏ธ","ng_man":"๐Ÿ™…โ€โ™‚๏ธ","no_good_woman":"๐Ÿ™…โ€โ™€๏ธ","ng_woman":"๐Ÿ™…โ€โ™€๏ธ","ok_person":"๐Ÿ™†","ok_man":"๐Ÿ™†โ€โ™‚๏ธ","ok_woman":"๐Ÿ™†โ€โ™€๏ธ","tipping_hand_person":"๐Ÿ’","information_desk_person":"๐Ÿ’","tipping_hand_man":"๐Ÿ’โ€โ™‚๏ธ","sassy_man":"๐Ÿ’โ€โ™‚๏ธ","tipping_hand_woman":"๐Ÿ’โ€โ™€๏ธ","sassy_woman":"๐Ÿ’โ€โ™€๏ธ","raising_hand":"๐Ÿ™‹","raising_hand_man":"๐Ÿ™‹โ€โ™‚๏ธ","raising_hand_woman":"๐Ÿ™‹โ€โ™€๏ธ","deaf_person":"๐Ÿง","deaf_man":"๐Ÿงโ€โ™‚๏ธ","deaf_woman":"๐Ÿงโ€โ™€๏ธ","bow":"๐Ÿ™‡","bowing_man":"๐Ÿ™‡โ€โ™‚๏ธ","bowing_woman":"๐Ÿ™‡โ€โ™€๏ธ","facepalm":"๐Ÿคฆ","man_facepalming":"๐Ÿคฆโ€โ™‚๏ธ","woman_facepalming":"๐Ÿคฆโ€โ™€๏ธ","shrug":"๐Ÿคท","man_shrugging":"๐Ÿคทโ€โ™‚๏ธ","woman_shrugging":"๐Ÿคทโ€โ™€๏ธ","health_worker":"๐Ÿง‘โ€โš•๏ธ","man_health_worker":"๐Ÿ‘จโ€โš•๏ธ","woman_health_worker":"๐Ÿ‘ฉโ€โš•๏ธ","student":"๐Ÿง‘โ€๐ŸŽ“","man_student":"๐Ÿ‘จโ€๐ŸŽ“","woman_student":"๐Ÿ‘ฉโ€๐ŸŽ“","teacher":"๐Ÿง‘โ€๐Ÿซ","man_teacher":"๐Ÿ‘จโ€๐Ÿซ","woman_teacher":"๐Ÿ‘ฉโ€๐Ÿซ","judge":"๐Ÿง‘โ€โš–๏ธ","man_judge":"๐Ÿ‘จโ€โš–๏ธ","woman_judge":"๐Ÿ‘ฉโ€โš–๏ธ","farmer":"๐Ÿง‘โ€๐ŸŒพ","man_farmer":"๐Ÿ‘จโ€๐ŸŒพ","woman_farmer":"๐Ÿ‘ฉโ€๐ŸŒพ","cook":"๐Ÿง‘โ€๐Ÿณ","man_cook":"๐Ÿ‘จโ€๐Ÿณ","woman_cook":"๐Ÿ‘ฉโ€๐Ÿณ","mechanic":"๐Ÿง‘โ€๐Ÿ”ง","man_mechanic":"๐Ÿ‘จโ€๐Ÿ”ง","woman_mechanic":"๐Ÿ‘ฉโ€๐Ÿ”ง","factory_worker":"๐Ÿง‘โ€๐Ÿญ","man_factory_worker":"๐Ÿ‘จโ€๐Ÿญ","woman_factory_worker":"๐Ÿ‘ฉโ€๐Ÿญ","office_worker":"๐Ÿง‘โ€๐Ÿ’ผ","man_office_worker":"๐Ÿ‘จโ€๐Ÿ’ผ","woman_office_worker":"๐Ÿ‘ฉโ€๐Ÿ’ผ","scientist":"๐Ÿง‘โ€๐Ÿ”ฌ","man_scientist":"๐Ÿ‘จโ€๐Ÿ”ฌ","woman_scientist":"๐Ÿ‘ฉโ€๐Ÿ”ฌ","technologist":"๐Ÿง‘โ€๐Ÿ’ป","man_technologist":"๐Ÿ‘จโ€๐Ÿ’ป","woman_technologist":"๐Ÿ‘ฉโ€๐Ÿ’ป","singer":"๐Ÿง‘โ€๐ŸŽค","man_singer":"๐Ÿ‘จโ€๐ŸŽค","woman_singer":"๐Ÿ‘ฉโ€๐ŸŽค","artist":"๐Ÿง‘โ€๐ŸŽจ","man_artist":"๐Ÿ‘จโ€๐ŸŽจ","woman_artist":"๐Ÿ‘ฉโ€๐ŸŽจ","pilot":"๐Ÿง‘โ€โœˆ๏ธ","man_pilot":"๐Ÿ‘จโ€โœˆ๏ธ","woman_pilot":"๐Ÿ‘ฉโ€โœˆ๏ธ","astronaut":"๐Ÿง‘โ€๐Ÿš€","man_astronaut":"๐Ÿ‘จโ€๐Ÿš€","woman_astronaut":"๐Ÿ‘ฉโ€๐Ÿš€","firefighter":"๐Ÿง‘โ€๐Ÿš’","man_firefighter":"๐Ÿ‘จโ€๐Ÿš’","woman_firefighter":"๐Ÿ‘ฉโ€๐Ÿš’","police_officer":"๐Ÿ‘ฎ","cop":"๐Ÿ‘ฎ","policeman":"๐Ÿ‘ฎโ€โ™‚๏ธ","policewoman":"๐Ÿ‘ฎโ€โ™€๏ธ","detective":"๐Ÿ•ต๏ธ","male_detective":"๐Ÿ•ต๏ธโ€โ™‚๏ธ","female_detective":"๐Ÿ•ต๏ธโ€โ™€๏ธ","guard":"๐Ÿ’‚","guardsman":"๐Ÿ’‚โ€โ™‚๏ธ","guardswoman":"๐Ÿ’‚โ€โ™€๏ธ","ninja":"๐Ÿฅท","construction_worker":"๐Ÿ‘ท","construction_worker_man":"๐Ÿ‘ทโ€โ™‚๏ธ","construction_worker_woman":"๐Ÿ‘ทโ€โ™€๏ธ","person_with_crown":"๐Ÿซ…","prince":"๐Ÿคด","princess":"๐Ÿ‘ธ","person_with_turban":"๐Ÿ‘ณ","man_with_turban":"๐Ÿ‘ณโ€โ™‚๏ธ","woman_with_turban":"๐Ÿ‘ณโ€โ™€๏ธ","man_with_gua_pi_mao":"๐Ÿ‘ฒ","woman_with_headscarf":"๐Ÿง•","person_in_tuxedo":"๐Ÿคต","man_in_tuxedo":"๐Ÿคตโ€โ™‚๏ธ","woman_in_tuxedo":"๐Ÿคตโ€โ™€๏ธ","person_with_veil":"๐Ÿ‘ฐ","man_with_veil":"๐Ÿ‘ฐโ€โ™‚๏ธ","woman_with_veil":"๐Ÿ‘ฐโ€โ™€๏ธ","bride_with_veil":"๐Ÿ‘ฐโ€โ™€๏ธ","pregnant_woman":"๐Ÿคฐ","pregnant_man":"๐Ÿซƒ","pregnant_person":"๐Ÿซ„","breast_feeding":"๐Ÿคฑ","woman_feeding_baby":"๐Ÿ‘ฉโ€๐Ÿผ","man_feeding_baby":"๐Ÿ‘จโ€๐Ÿผ","person_feeding_baby":"๐Ÿง‘โ€๐Ÿผ","angel":"๐Ÿ‘ผ","santa":"๐ŸŽ…","mrs_claus":"๐Ÿคถ","mx_claus":"๐Ÿง‘โ€๐ŸŽ„","superhero":"๐Ÿฆธ","superhero_man":"๐Ÿฆธโ€โ™‚๏ธ","superhero_woman":"๐Ÿฆธโ€โ™€๏ธ","supervillain":"๐Ÿฆน","supervillain_man":"๐Ÿฆนโ€โ™‚๏ธ","supervillain_woman":"๐Ÿฆนโ€โ™€๏ธ","mage":"๐Ÿง™","mage_man":"๐Ÿง™โ€โ™‚๏ธ","mage_woman":"๐Ÿง™โ€โ™€๏ธ","fairy":"๐Ÿงš","fairy_man":"๐Ÿงšโ€โ™‚๏ธ","fairy_woman":"๐Ÿงšโ€โ™€๏ธ","vampire":"๐Ÿง›","vampire_man":"๐Ÿง›โ€โ™‚๏ธ","vampire_woman":"๐Ÿง›โ€โ™€๏ธ","merperson":"๐Ÿงœ","merman":"๐Ÿงœโ€โ™‚๏ธ","mermaid":"๐Ÿงœโ€โ™€๏ธ","elf":"๐Ÿง","elf_man":"๐Ÿงโ€โ™‚๏ธ","elf_woman":"๐Ÿงโ€โ™€๏ธ","genie":"๐Ÿงž","genie_man":"๐Ÿงžโ€โ™‚๏ธ","genie_woman":"๐Ÿงžโ€โ™€๏ธ","zombie":"๐ŸงŸ","zombie_man":"๐ŸงŸโ€โ™‚๏ธ","zombie_woman":"๐ŸงŸโ€โ™€๏ธ","troll":"๐ŸงŒ","massage":"๐Ÿ’†","massage_man":"๐Ÿ’†โ€โ™‚๏ธ","massage_woman":"๐Ÿ’†โ€โ™€๏ธ","haircut":"๐Ÿ’‡","haircut_man":"๐Ÿ’‡โ€โ™‚๏ธ","haircut_woman":"๐Ÿ’‡โ€โ™€๏ธ","walking":"๐Ÿšถ","walking_man":"๐Ÿšถโ€โ™‚๏ธ","walking_woman":"๐Ÿšถโ€โ™€๏ธ","standing_person":"๐Ÿง","standing_man":"๐Ÿงโ€โ™‚๏ธ","standing_woman":"๐Ÿงโ€โ™€๏ธ","kneeling_person":"๐ŸงŽ","kneeling_man":"๐ŸงŽโ€โ™‚๏ธ","kneeling_woman":"๐ŸงŽโ€โ™€๏ธ","person_with_probing_cane":"๐Ÿง‘โ€๐Ÿฆฏ","man_with_probing_cane":"๐Ÿ‘จโ€๐Ÿฆฏ","woman_with_probing_cane":"๐Ÿ‘ฉโ€๐Ÿฆฏ","person_in_motorized_wheelchair":"๐Ÿง‘โ€๐Ÿฆผ","man_in_motorized_wheelchair":"๐Ÿ‘จโ€๐Ÿฆผ","woman_in_motorized_wheelchair":"๐Ÿ‘ฉโ€๐Ÿฆผ","person_in_manual_wheelchair":"๐Ÿง‘โ€๐Ÿฆฝ","man_in_manual_wheelchair":"๐Ÿ‘จโ€๐Ÿฆฝ","woman_in_manual_wheelchair":"๐Ÿ‘ฉโ€๐Ÿฆฝ","runner":"๐Ÿƒ","running":"๐Ÿƒ","running_man":"๐Ÿƒโ€โ™‚๏ธ","running_woman":"๐Ÿƒโ€โ™€๏ธ","woman_dancing":"๐Ÿ’ƒ","dancer":"๐Ÿ’ƒ","man_dancing":"๐Ÿ•บ","business_suit_levitating":"๐Ÿ•ด๏ธ","dancers":"๐Ÿ‘ฏ","dancing_men":"๐Ÿ‘ฏโ€โ™‚๏ธ","dancing_women":"๐Ÿ‘ฏโ€โ™€๏ธ","sauna_person":"๐Ÿง–","sauna_man":"๐Ÿง–โ€โ™‚๏ธ","sauna_woman":"๐Ÿง–โ€โ™€๏ธ","climbing":"๐Ÿง—","climbing_man":"๐Ÿง—โ€โ™‚๏ธ","climbing_woman":"๐Ÿง—โ€โ™€๏ธ","person_fencing":"๐Ÿคบ","horse_racing":"๐Ÿ‡","skier":"โ›ท๏ธ","snowboarder":"๐Ÿ‚","golfing":"๐ŸŒ๏ธ","golfing_man":"๐ŸŒ๏ธโ€โ™‚๏ธ","golfing_woman":"๐ŸŒ๏ธโ€โ™€๏ธ","surfer":"๐Ÿ„","surfing_man":"๐Ÿ„โ€โ™‚๏ธ","surfing_woman":"๐Ÿ„โ€โ™€๏ธ","rowboat":"๐Ÿšฃ","rowing_man":"๐Ÿšฃโ€โ™‚๏ธ","rowing_woman":"๐Ÿšฃโ€โ™€๏ธ","swimmer":"๐ŸŠ","swimming_man":"๐ŸŠโ€โ™‚๏ธ","swimming_woman":"๐ŸŠโ€โ™€๏ธ","bouncing_ball_person":"โ›น๏ธ","bouncing_ball_man":"โ›น๏ธโ€โ™‚๏ธ","basketball_man":"โ›น๏ธโ€โ™‚๏ธ","bouncing_ball_woman":"โ›น๏ธโ€โ™€๏ธ","basketball_woman":"โ›น๏ธโ€โ™€๏ธ","weight_lifting":"๐Ÿ‹๏ธ","weight_lifting_man":"๐Ÿ‹๏ธโ€โ™‚๏ธ","weight_lifting_woman":"๐Ÿ‹๏ธโ€โ™€๏ธ","bicyclist":"๐Ÿšด","biking_man":"๐Ÿšดโ€โ™‚๏ธ","biking_woman":"๐Ÿšดโ€โ™€๏ธ","mountain_bicyclist":"๐Ÿšต","mountain_biking_man":"๐Ÿšตโ€โ™‚๏ธ","mountain_biking_woman":"๐Ÿšตโ€โ™€๏ธ","cartwheeling":"๐Ÿคธ","man_cartwheeling":"๐Ÿคธโ€โ™‚๏ธ","woman_cartwheeling":"๐Ÿคธโ€โ™€๏ธ","wrestling":"๐Ÿคผ","men_wrestling":"๐Ÿคผโ€โ™‚๏ธ","women_wrestling":"๐Ÿคผโ€โ™€๏ธ","water_polo":"๐Ÿคฝ","man_playing_water_polo":"๐Ÿคฝโ€โ™‚๏ธ","woman_playing_water_polo":"๐Ÿคฝโ€โ™€๏ธ","handball_person":"๐Ÿคพ","man_playing_handball":"๐Ÿคพโ€โ™‚๏ธ","woman_playing_handball":"๐Ÿคพโ€โ™€๏ธ","juggling_person":"๐Ÿคน","man_juggling":"๐Ÿคนโ€โ™‚๏ธ","woman_juggling":"๐Ÿคนโ€โ™€๏ธ","lotus_position":"๐Ÿง˜","lotus_position_man":"๐Ÿง˜โ€โ™‚๏ธ","lotus_position_woman":"๐Ÿง˜โ€โ™€๏ธ","bath":"๐Ÿ›€","sleeping_bed":"๐Ÿ›Œ","people_holding_hands":"๐Ÿง‘โ€๐Ÿคโ€๐Ÿง‘","two_women_holding_hands":"๐Ÿ‘ญ","couple":"๐Ÿ‘ซ","two_men_holding_hands":"๐Ÿ‘ฌ","couplekiss":"๐Ÿ’","couplekiss_man_woman":"๐Ÿ‘ฉโ€โค๏ธโ€๐Ÿ’‹โ€๐Ÿ‘จ","couplekiss_man_man":"๐Ÿ‘จโ€โค๏ธโ€๐Ÿ’‹โ€๐Ÿ‘จ","couplekiss_woman_woman":"๐Ÿ‘ฉโ€โค๏ธโ€๐Ÿ’‹โ€๐Ÿ‘ฉ","couple_with_heart":"๐Ÿ’‘","couple_with_heart_woman_man":"๐Ÿ‘ฉโ€โค๏ธโ€๐Ÿ‘จ","couple_with_heart_man_man":"๐Ÿ‘จโ€โค๏ธโ€๐Ÿ‘จ","couple_with_heart_woman_woman":"๐Ÿ‘ฉโ€โค๏ธโ€๐Ÿ‘ฉ","family":"๐Ÿ‘ช","family_man_woman_boy":"๐Ÿ‘จโ€๐Ÿ‘ฉโ€๐Ÿ‘ฆ","family_man_woman_girl":"๐Ÿ‘จโ€๐Ÿ‘ฉโ€๐Ÿ‘ง","family_man_woman_girl_boy":"๐Ÿ‘จโ€๐Ÿ‘ฉโ€๐Ÿ‘งโ€๐Ÿ‘ฆ","family_man_woman_boy_boy":"๐Ÿ‘จโ€๐Ÿ‘ฉโ€๐Ÿ‘ฆโ€๐Ÿ‘ฆ","family_man_woman_girl_girl":"๐Ÿ‘จโ€๐Ÿ‘ฉโ€๐Ÿ‘งโ€๐Ÿ‘ง","family_man_man_boy":"๐Ÿ‘จโ€๐Ÿ‘จโ€๐Ÿ‘ฆ","family_man_man_girl":"๐Ÿ‘จโ€๐Ÿ‘จโ€๐Ÿ‘ง","family_man_man_girl_boy":"๐Ÿ‘จโ€๐Ÿ‘จโ€๐Ÿ‘งโ€๐Ÿ‘ฆ","family_man_man_boy_boy":"๐Ÿ‘จโ€๐Ÿ‘จโ€๐Ÿ‘ฆโ€๐Ÿ‘ฆ","family_man_man_girl_girl":"๐Ÿ‘จโ€๐Ÿ‘จโ€๐Ÿ‘งโ€๐Ÿ‘ง","family_woman_woman_boy":"๐Ÿ‘ฉโ€๐Ÿ‘ฉโ€๐Ÿ‘ฆ","family_woman_woman_girl":"๐Ÿ‘ฉโ€๐Ÿ‘ฉโ€๐Ÿ‘ง","family_woman_woman_girl_boy":"๐Ÿ‘ฉโ€๐Ÿ‘ฉโ€๐Ÿ‘งโ€๐Ÿ‘ฆ","family_woman_woman_boy_boy":"๐Ÿ‘ฉโ€๐Ÿ‘ฉโ€๐Ÿ‘ฆโ€๐Ÿ‘ฆ","family_woman_woman_girl_girl":"๐Ÿ‘ฉโ€๐Ÿ‘ฉโ€๐Ÿ‘งโ€๐Ÿ‘ง","family_man_boy":"๐Ÿ‘จโ€๐Ÿ‘ฆ","family_man_boy_boy":"๐Ÿ‘จโ€๐Ÿ‘ฆโ€๐Ÿ‘ฆ","family_man_girl":"๐Ÿ‘จโ€๐Ÿ‘ง","family_man_girl_boy":"๐Ÿ‘จโ€๐Ÿ‘งโ€๐Ÿ‘ฆ","family_man_girl_girl":"๐Ÿ‘จโ€๐Ÿ‘งโ€๐Ÿ‘ง","family_woman_boy":"๐Ÿ‘ฉโ€๐Ÿ‘ฆ","family_woman_boy_boy":"๐Ÿ‘ฉโ€๐Ÿ‘ฆโ€๐Ÿ‘ฆ","family_woman_girl":"๐Ÿ‘ฉโ€๐Ÿ‘ง","family_woman_girl_boy":"๐Ÿ‘ฉโ€๐Ÿ‘งโ€๐Ÿ‘ฆ","family_woman_girl_girl":"๐Ÿ‘ฉโ€๐Ÿ‘งโ€๐Ÿ‘ง","speaking_head":"๐Ÿ—ฃ๏ธ","bust_in_silhouette":"๐Ÿ‘ค","busts_in_silhouette":"๐Ÿ‘ฅ","people_hugging":"๐Ÿซ‚","footprints":"๐Ÿ‘ฃ","monkey_face":"๐Ÿต","monkey":"๐Ÿ’","gorilla":"๐Ÿฆ","orangutan":"๐Ÿฆง","dog":"๐Ÿถ","dog2":"๐Ÿ•","guide_dog":"๐Ÿฆฎ","service_dog":"๐Ÿ•โ€๐Ÿฆบ","poodle":"๐Ÿฉ","wolf":"๐Ÿบ","fox_face":"๐ŸฆŠ","raccoon":"๐Ÿฆ","cat":"๐Ÿฑ","cat2":"๐Ÿˆ","black_cat":"๐Ÿˆโ€โฌ›","lion":"๐Ÿฆ","tiger":"๐Ÿฏ","tiger2":"๐Ÿ…","leopard":"๐Ÿ†","horse":"๐Ÿด","moose":"๐ŸซŽ","donkey":"๐Ÿซ","racehorse":"๐ŸŽ","unicorn":"๐Ÿฆ„","zebra":"๐Ÿฆ“","deer":"๐ŸฆŒ","bison":"๐Ÿฆฌ","cow":"๐Ÿฎ","ox":"๐Ÿ‚","water_buffalo":"๐Ÿƒ","cow2":"๐Ÿ„","pig":"๐Ÿท","pig2":"๐Ÿ–","boar":"๐Ÿ—","pig_nose":"๐Ÿฝ","ram":"๐Ÿ","sheep":"๐Ÿ‘","goat":"๐Ÿ","dromedary_camel":"๐Ÿช","camel":"๐Ÿซ","llama":"๐Ÿฆ™","giraffe":"๐Ÿฆ’","elephant":"๐Ÿ˜","mammoth":"๐Ÿฆฃ","rhinoceros":"๐Ÿฆ","hippopotamus":"๐Ÿฆ›","mouse":"๐Ÿญ","mouse2":"๐Ÿ","rat":"๐Ÿ€","hamster":"๐Ÿน","rabbit":"๐Ÿฐ","rabbit2":"๐Ÿ‡","chipmunk":"๐Ÿฟ๏ธ","beaver":"๐Ÿฆซ","hedgehog":"๐Ÿฆ”","bat":"๐Ÿฆ‡","bear":"๐Ÿป","polar_bear":"๐Ÿปโ€โ„๏ธ","koala":"๐Ÿจ","panda_face":"๐Ÿผ","sloth":"๐Ÿฆฅ","otter":"๐Ÿฆฆ","skunk":"๐Ÿฆจ","kangaroo":"๐Ÿฆ˜","badger":"๐Ÿฆก","feet":"๐Ÿพ","paw_prints":"๐Ÿพ","turkey":"๐Ÿฆƒ","chicken":"๐Ÿ”","rooster":"๐Ÿ“","hatching_chick":"๐Ÿฃ","baby_chick":"๐Ÿค","hatched_chick":"๐Ÿฅ","bird":"๐Ÿฆ","penguin":"๐Ÿง","dove":"๐Ÿ•Š๏ธ","eagle":"๐Ÿฆ…","duck":"๐Ÿฆ†","swan":"๐Ÿฆข","owl":"๐Ÿฆ‰","dodo":"๐Ÿฆค","feather":"๐Ÿชถ","flamingo":"๐Ÿฆฉ","peacock":"๐Ÿฆš","parrot":"๐Ÿฆœ","wing":"๐Ÿชฝ","black_bird":"๐Ÿฆโ€โฌ›","goose":"๐Ÿชฟ","frog":"๐Ÿธ","crocodile":"๐ŸŠ","turtle":"๐Ÿข","lizard":"๐ŸฆŽ","snake":"๐Ÿ","dragon_face":"๐Ÿฒ","dragon":"๐Ÿ‰","sauropod":"๐Ÿฆ•","t_rex":"๐Ÿฆ–","whale":"๐Ÿณ","whale2":"๐Ÿ‹","dolphin":"๐Ÿฌ","flipper":"๐Ÿฌ","seal":"๐Ÿฆญ","fish":"๐ŸŸ","tropical_fish":"๐Ÿ ","blowfish":"๐Ÿก","shark":"๐Ÿฆˆ","octopus":"๐Ÿ™","shell":"๐Ÿš","coral":"๐Ÿชธ","jellyfish":"๐Ÿชผ","snail":"๐ŸŒ","butterfly":"๐Ÿฆ‹","bug":"๐Ÿ›","ant":"๐Ÿœ","bee":"๐Ÿ","honeybee":"๐Ÿ","beetle":"๐Ÿชฒ","lady_beetle":"๐Ÿž","cricket":"๐Ÿฆ—","cockroach":"๐Ÿชณ","spider":"๐Ÿ•ท๏ธ","spider_web":"๐Ÿ•ธ๏ธ","scorpion":"๐Ÿฆ‚","mosquito":"๐ŸฆŸ","fly":"๐Ÿชฐ","worm":"๐Ÿชฑ","microbe":"๐Ÿฆ ","bouquet":"๐Ÿ’","cherry_blossom":"๐ŸŒธ","white_flower":"๐Ÿ’ฎ","lotus":"๐Ÿชท","rosette":"๐Ÿต๏ธ","rose":"๐ŸŒน","wilted_flower":"๐Ÿฅ€","hibiscus":"๐ŸŒบ","sunflower":"๐ŸŒป","blossom":"๐ŸŒผ","tulip":"๐ŸŒท","hyacinth":"๐Ÿชป","seedling":"๐ŸŒฑ","potted_plant":"๐Ÿชด","evergreen_tree":"๐ŸŒฒ","deciduous_tree":"๐ŸŒณ","palm_tree":"๐ŸŒด","cactus":"๐ŸŒต","ear_of_rice":"๐ŸŒพ","herb":"๐ŸŒฟ","shamrock":"โ˜˜๏ธ","four_leaf_clover":"๐Ÿ€","maple_leaf":"๐Ÿ","fallen_leaf":"๐Ÿ‚","leaves":"๐Ÿƒ","empty_nest":"๐Ÿชน","nest_with_eggs":"๐Ÿชบ","mushroom":"๐Ÿ„","grapes":"๐Ÿ‡","melon":"๐Ÿˆ","watermelon":"๐Ÿ‰","tangerine":"๐ŸŠ","orange":"๐ŸŠ","mandarin":"๐ŸŠ","lemon":"๐Ÿ‹","banana":"๐ŸŒ","pineapple":"๐Ÿ","mango":"๐Ÿฅญ","apple":"๐ŸŽ","green_apple":"๐Ÿ","pear":"๐Ÿ","peach":"๐Ÿ‘","cherries":"๐Ÿ’","strawberry":"๐Ÿ“","blueberries":"๐Ÿซ","kiwi_fruit":"๐Ÿฅ","tomato":"๐Ÿ…","olive":"๐Ÿซ’","coconut":"๐Ÿฅฅ","avocado":"๐Ÿฅ‘","eggplant":"๐Ÿ†","potato":"๐Ÿฅ”","carrot":"๐Ÿฅ•","corn":"๐ŸŒฝ","hot_pepper":"๐ŸŒถ๏ธ","bell_pepper":"๐Ÿซ‘","cucumber":"๐Ÿฅ’","leafy_green":"๐Ÿฅฌ","broccoli":"๐Ÿฅฆ","garlic":"๐Ÿง„","onion":"๐Ÿง…","peanuts":"๐Ÿฅœ","beans":"๐Ÿซ˜","chestnut":"๐ŸŒฐ","ginger_root":"๐Ÿซš","pea_pod":"๐Ÿซ›","bread":"๐Ÿž","croissant":"๐Ÿฅ","baguette_bread":"๐Ÿฅ–","flatbread":"๐Ÿซ“","pretzel":"๐Ÿฅจ","bagel":"๐Ÿฅฏ","pancakes":"๐Ÿฅž","waffle":"๐Ÿง‡","cheese":"๐Ÿง€","meat_on_bone":"๐Ÿ–","poultry_leg":"๐Ÿ—","cut_of_meat":"๐Ÿฅฉ","bacon":"๐Ÿฅ“","hamburger":"๐Ÿ”","fries":"๐ŸŸ","pizza":"๐Ÿ•","hotdog":"๐ŸŒญ","sandwich":"๐Ÿฅช","taco":"๐ŸŒฎ","burrito":"๐ŸŒฏ","tamale":"๐Ÿซ”","stuffed_flatbread":"๐Ÿฅ™","falafel":"๐Ÿง†","egg":"๐Ÿฅš","fried_egg":"๐Ÿณ","shallow_pan_of_food":"๐Ÿฅ˜","stew":"๐Ÿฒ","fondue":"๐Ÿซ•","bowl_with_spoon":"๐Ÿฅฃ","green_salad":"๐Ÿฅ—","popcorn":"๐Ÿฟ","butter":"๐Ÿงˆ","salt":"๐Ÿง‚","canned_food":"๐Ÿฅซ","bento":"๐Ÿฑ","rice_cracker":"๐Ÿ˜","rice_ball":"๐Ÿ™","rice":"๐Ÿš","curry":"๐Ÿ›","ramen":"๐Ÿœ","spaghetti":"๐Ÿ","sweet_potato":"๐Ÿ ","oden":"๐Ÿข","sushi":"๐Ÿฃ","fried_shrimp":"๐Ÿค","fish_cake":"๐Ÿฅ","moon_cake":"๐Ÿฅฎ","dango":"๐Ÿก","dumpling":"๐ŸฅŸ","fortune_cookie":"๐Ÿฅ ","takeout_box":"๐Ÿฅก","crab":"๐Ÿฆ€","lobster":"๐Ÿฆž","shrimp":"๐Ÿฆ","squid":"๐Ÿฆ‘","oyster":"๐Ÿฆช","icecream":"๐Ÿฆ","shaved_ice":"๐Ÿง","ice_cream":"๐Ÿจ","doughnut":"๐Ÿฉ","cookie":"๐Ÿช","birthday":"๐ŸŽ‚","cake":"๐Ÿฐ","cupcake":"๐Ÿง","pie":"๐Ÿฅง","chocolate_bar":"๐Ÿซ","candy":"๐Ÿฌ","lollipop":"๐Ÿญ","custard":"๐Ÿฎ","honey_pot":"๐Ÿฏ","baby_bottle":"๐Ÿผ","milk_glass":"๐Ÿฅ›","coffee":"โ˜•","teapot":"๐Ÿซ–","tea":"๐Ÿต","sake":"๐Ÿถ","champagne":"๐Ÿพ","wine_glass":"๐Ÿท","cocktail":"๐Ÿธ","tropical_drink":"๐Ÿน","beer":"๐Ÿบ","beers":"๐Ÿป","clinking_glasses":"๐Ÿฅ‚","tumbler_glass":"๐Ÿฅƒ","pouring_liquid":"๐Ÿซ—","cup_with_straw":"๐Ÿฅค","bubble_tea":"๐Ÿง‹","beverage_box":"๐Ÿงƒ","mate":"๐Ÿง‰","ice_cube":"๐ŸงŠ","chopsticks":"๐Ÿฅข","plate_with_cutlery":"๐Ÿฝ๏ธ","fork_and_knife":"๐Ÿด","spoon":"๐Ÿฅ„","hocho":"๐Ÿ”ช","knife":"๐Ÿ”ช","jar":"๐Ÿซ™","amphora":"๐Ÿบ","earth_africa":"๐ŸŒ","earth_americas":"๐ŸŒŽ","earth_asia":"๐ŸŒ","globe_with_meridians":"๐ŸŒ","world_map":"๐Ÿ—บ๏ธ","japan":"๐Ÿ—พ","compass":"๐Ÿงญ","mountain_snow":"๐Ÿ”๏ธ","mountain":"โ›ฐ๏ธ","volcano":"๐ŸŒ‹","mount_fuji":"๐Ÿ—ป","camping":"๐Ÿ•๏ธ","beach_umbrella":"๐Ÿ–๏ธ","desert":"๐Ÿœ๏ธ","desert_island":"๐Ÿ๏ธ","national_park":"๐Ÿž๏ธ","stadium":"๐ŸŸ๏ธ","classical_building":"๐Ÿ›๏ธ","building_construction":"๐Ÿ—๏ธ","bricks":"๐Ÿงฑ","rock":"๐Ÿชจ","wood":"๐Ÿชต","hut":"๐Ÿ›–","houses":"๐Ÿ˜๏ธ","derelict_house":"๐Ÿš๏ธ","house":"๐Ÿ ","house_with_garden":"๐Ÿก","office":"๐Ÿข","post_office":"๐Ÿฃ","european_post_office":"๐Ÿค","hospital":"๐Ÿฅ","bank":"๐Ÿฆ","hotel":"๐Ÿจ","love_hotel":"๐Ÿฉ","convenience_store":"๐Ÿช","school":"๐Ÿซ","department_store":"๐Ÿฌ","factory":"๐Ÿญ","japanese_castle":"๐Ÿฏ","european_castle":"๐Ÿฐ","wedding":"๐Ÿ’’","tokyo_tower":"๐Ÿ—ผ","statue_of_liberty":"๐Ÿ—ฝ","church":"โ›ช","mosque":"๐Ÿ•Œ","hindu_temple":"๐Ÿ›•","synagogue":"๐Ÿ•","shinto_shrine":"โ›ฉ๏ธ","kaaba":"๐Ÿ•‹","fountain":"โ›ฒ","tent":"โ›บ","foggy":"๐ŸŒ","night_with_stars":"๐ŸŒƒ","cityscape":"๐Ÿ™๏ธ","sunrise_over_mountains":"๐ŸŒ„","sunrise":"๐ŸŒ…","city_sunset":"๐ŸŒ†","city_sunrise":"๐ŸŒ‡","bridge_at_night":"๐ŸŒ‰","hotsprings":"โ™จ๏ธ","carousel_horse":"๐ŸŽ ","playground_slide":"๐Ÿ›","ferris_wheel":"๐ŸŽก","roller_coaster":"๐ŸŽข","barber":"๐Ÿ’ˆ","circus_tent":"๐ŸŽช","steam_locomotive":"๐Ÿš‚","railway_car":"๐Ÿšƒ","bullettrain_side":"๐Ÿš„","bullettrain_front":"๐Ÿš…","train2":"๐Ÿš†","metro":"๐Ÿš‡","light_rail":"๐Ÿšˆ","station":"๐Ÿš‰","tram":"๐ŸšŠ","monorail":"๐Ÿš","mountain_railway":"๐Ÿšž","train":"๐Ÿš‹","bus":"๐ŸšŒ","oncoming_bus":"๐Ÿš","trolleybus":"๐ŸšŽ","minibus":"๐Ÿš","ambulance":"๐Ÿš‘","fire_engine":"๐Ÿš’","police_car":"๐Ÿš“","oncoming_police_car":"๐Ÿš”","taxi":"๐Ÿš•","oncoming_taxi":"๐Ÿš–","car":"๐Ÿš—","red_car":"๐Ÿš—","oncoming_automobile":"๐Ÿš˜","blue_car":"๐Ÿš™","pickup_truck":"๐Ÿ›ป","truck":"๐Ÿšš","articulated_lorry":"๐Ÿš›","tractor":"๐Ÿšœ","racing_car":"๐ŸŽ๏ธ","motorcycle":"๐Ÿ๏ธ","motor_scooter":"๐Ÿ›ต","manual_wheelchair":"๐Ÿฆฝ","motorized_wheelchair":"๐Ÿฆผ","auto_rickshaw":"๐Ÿ›บ","bike":"๐Ÿšฒ","kick_scooter":"๐Ÿ›ด","skateboard":"๐Ÿ›น","roller_skate":"๐Ÿ›ผ","busstop":"๐Ÿš","motorway":"๐Ÿ›ฃ๏ธ","railway_track":"๐Ÿ›ค๏ธ","oil_drum":"๐Ÿ›ข๏ธ","fuelpump":"โ›ฝ","wheel":"๐Ÿ›ž","rotating_light":"๐Ÿšจ","traffic_light":"๐Ÿšฅ","vertical_traffic_light":"๐Ÿšฆ","stop_sign":"๐Ÿ›‘","construction":"๐Ÿšง","anchor":"โš“","ring_buoy":"๐Ÿ›Ÿ","boat":"โ›ต","sailboat":"โ›ต","canoe":"๐Ÿ›ถ","speedboat":"๐Ÿšค","passenger_ship":"๐Ÿ›ณ๏ธ","ferry":"โ›ด๏ธ","motor_boat":"๐Ÿ›ฅ๏ธ","ship":"๐Ÿšข","airplane":"โœˆ๏ธ","small_airplane":"๐Ÿ›ฉ๏ธ","flight_departure":"๐Ÿ›ซ","flight_arrival":"๐Ÿ›ฌ","parachute":"๐Ÿช‚","seat":"๐Ÿ’บ","helicopter":"๐Ÿš","suspension_railway":"๐ŸšŸ","mountain_cableway":"๐Ÿš ","aerial_tramway":"๐Ÿšก","artificial_satellite":"๐Ÿ›ฐ๏ธ","rocket":"๐Ÿš€","flying_saucer":"๐Ÿ›ธ","bellhop_bell":"๐Ÿ›Ž๏ธ","luggage":"๐Ÿงณ","hourglass":"โŒ›","hourglass_flowing_sand":"โณ","watch":"โŒš","alarm_clock":"โฐ","stopwatch":"โฑ๏ธ","timer_clock":"โฒ๏ธ","mantelpiece_clock":"๐Ÿ•ฐ๏ธ","clock12":"๐Ÿ•›","clock1230":"๐Ÿ•ง","clock1":"๐Ÿ•","clock130":"๐Ÿ•œ","clock2":"๐Ÿ•‘","clock230":"๐Ÿ•","clock3":"๐Ÿ•’","clock330":"๐Ÿ•ž","clock4":"๐Ÿ•“","clock430":"๐Ÿ•Ÿ","clock5":"๐Ÿ•”","clock530":"๐Ÿ• ","clock6":"๐Ÿ••","clock630":"๐Ÿ•ก","clock7":"๐Ÿ•–","clock730":"๐Ÿ•ข","clock8":"๐Ÿ•—","clock830":"๐Ÿ•ฃ","clock9":"๐Ÿ•˜","clock930":"๐Ÿ•ค","clock10":"๐Ÿ•™","clock1030":"๐Ÿ•ฅ","clock11":"๐Ÿ•š","clock1130":"๐Ÿ•ฆ","new_moon":"๐ŸŒ‘","waxing_crescent_moon":"๐ŸŒ’","first_quarter_moon":"๐ŸŒ“","moon":"๐ŸŒ”","waxing_gibbous_moon":"๐ŸŒ”","full_moon":"๐ŸŒ•","waning_gibbous_moon":"๐ŸŒ–","last_quarter_moon":"๐ŸŒ—","waning_crescent_moon":"๐ŸŒ˜","crescent_moon":"๐ŸŒ™","new_moon_with_face":"๐ŸŒš","first_quarter_moon_with_face":"๐ŸŒ›","last_quarter_moon_with_face":"๐ŸŒœ","thermometer":"๐ŸŒก๏ธ","sunny":"โ˜€๏ธ","full_moon_with_face":"๐ŸŒ","sun_with_face":"๐ŸŒž","ringed_planet":"๐Ÿช","star":"โญ","star2":"๐ŸŒŸ","stars":"๐ŸŒ ","milky_way":"๐ŸŒŒ","cloud":"โ˜๏ธ","partly_sunny":"โ›…","cloud_with_lightning_and_rain":"โ›ˆ๏ธ","sun_behind_small_cloud":"๐ŸŒค๏ธ","sun_behind_large_cloud":"๐ŸŒฅ๏ธ","sun_behind_rain_cloud":"๐ŸŒฆ๏ธ","cloud_with_rain":"๐ŸŒง๏ธ","cloud_with_snow":"๐ŸŒจ๏ธ","cloud_with_lightning":"๐ŸŒฉ๏ธ","tornado":"๐ŸŒช๏ธ","fog":"๐ŸŒซ๏ธ","wind_face":"๐ŸŒฌ๏ธ","cyclone":"๐ŸŒ€","rainbow":"๐ŸŒˆ","closed_umbrella":"๐ŸŒ‚","open_umbrella":"โ˜‚๏ธ","umbrella":"โ˜”","parasol_on_ground":"โ›ฑ๏ธ","zap":"โšก","snowflake":"โ„๏ธ","snowman_with_snow":"โ˜ƒ๏ธ","snowman":"โ›„","comet":"โ˜„๏ธ","fire":"๐Ÿ”ฅ","droplet":"๐Ÿ’ง","ocean":"๐ŸŒŠ","jack_o_lantern":"๐ŸŽƒ","christmas_tree":"๐ŸŽ„","fireworks":"๐ŸŽ†","sparkler":"๐ŸŽ‡","firecracker":"๐Ÿงจ","sparkles":"โœจ","balloon":"๐ŸŽˆ","tada":"๐ŸŽ‰","confetti_ball":"๐ŸŽŠ","tanabata_tree":"๐ŸŽ‹","bamboo":"๐ŸŽ","dolls":"๐ŸŽŽ","flags":"๐ŸŽ","wind_chime":"๐ŸŽ","rice_scene":"๐ŸŽ‘","red_envelope":"๐Ÿงง","ribbon":"๐ŸŽ€","gift":"๐ŸŽ","reminder_ribbon":"๐ŸŽ—๏ธ","tickets":"๐ŸŽŸ๏ธ","ticket":"๐ŸŽซ","medal_military":"๐ŸŽ–๏ธ","trophy":"๐Ÿ†","medal_sports":"๐Ÿ…","1st_place_medal":"๐Ÿฅ‡","2nd_place_medal":"๐Ÿฅˆ","3rd_place_medal":"๐Ÿฅ‰","soccer":"โšฝ","baseball":"โšพ","softball":"๐ŸฅŽ","basketball":"๐Ÿ€","volleyball":"๐Ÿ","football":"๐Ÿˆ","rugby_football":"๐Ÿ‰","tennis":"๐ŸŽพ","flying_disc":"๐Ÿฅ","bowling":"๐ŸŽณ","cricket_game":"๐Ÿ","field_hockey":"๐Ÿ‘","ice_hockey":"๐Ÿ’","lacrosse":"๐Ÿฅ","ping_pong":"๐Ÿ“","badminton":"๐Ÿธ","boxing_glove":"๐ŸฅŠ","martial_arts_uniform":"๐Ÿฅ‹","goal_net":"๐Ÿฅ…","golf":"โ›ณ","ice_skate":"โ›ธ๏ธ","fishing_pole_and_fish":"๐ŸŽฃ","diving_mask":"๐Ÿคฟ","running_shirt_with_sash":"๐ŸŽฝ","ski":"๐ŸŽฟ","sled":"๐Ÿ›ท","curling_stone":"๐ŸฅŒ","dart":"๐ŸŽฏ","yo_yo":"๐Ÿช€","kite":"๐Ÿช","gun":"๐Ÿ”ซ","8ball":"๐ŸŽฑ","crystal_ball":"๐Ÿ”ฎ","magic_wand":"๐Ÿช„","video_game":"๐ŸŽฎ","joystick":"๐Ÿ•น๏ธ","slot_machine":"๐ŸŽฐ","game_die":"๐ŸŽฒ","jigsaw":"๐Ÿงฉ","teddy_bear":"๐Ÿงธ","pinata":"๐Ÿช…","mirror_ball":"๐Ÿชฉ","nesting_dolls":"๐Ÿช†","spades":"โ™ ๏ธ","hearts":"โ™ฅ๏ธ","diamonds":"โ™ฆ๏ธ","clubs":"โ™ฃ๏ธ","chess_pawn":"โ™Ÿ๏ธ","black_joker":"๐Ÿƒ","mahjong":"๐Ÿ€„","flower_playing_cards":"๐ŸŽด","performing_arts":"๐ŸŽญ","framed_picture":"๐Ÿ–ผ๏ธ","art":"๐ŸŽจ","thread":"๐Ÿงต","sewing_needle":"๐Ÿชก","yarn":"๐Ÿงถ","knot":"๐Ÿชข","eyeglasses":"๐Ÿ‘“","dark_sunglasses":"๐Ÿ•ถ๏ธ","goggles":"๐Ÿฅฝ","lab_coat":"๐Ÿฅผ","safety_vest":"๐Ÿฆบ","necktie":"๐Ÿ‘”","shirt":"๐Ÿ‘•","tshirt":"๐Ÿ‘•","jeans":"๐Ÿ‘–","scarf":"๐Ÿงฃ","gloves":"๐Ÿงค","coat":"๐Ÿงฅ","socks":"๐Ÿงฆ","dress":"๐Ÿ‘—","kimono":"๐Ÿ‘˜","sari":"๐Ÿฅป","one_piece_swimsuit":"๐Ÿฉฑ","swim_brief":"๐Ÿฉฒ","shorts":"๐Ÿฉณ","bikini":"๐Ÿ‘™","womans_clothes":"๐Ÿ‘š","folding_hand_fan":"๐Ÿชญ","purse":"๐Ÿ‘›","handbag":"๐Ÿ‘œ","pouch":"๐Ÿ‘","shopping":"๐Ÿ›๏ธ","school_satchel":"๐ŸŽ’","thong_sandal":"๐Ÿฉด","mans_shoe":"๐Ÿ‘ž","shoe":"๐Ÿ‘ž","athletic_shoe":"๐Ÿ‘Ÿ","hiking_boot":"๐Ÿฅพ","flat_shoe":"๐Ÿฅฟ","high_heel":"๐Ÿ‘ ","sandal":"๐Ÿ‘ก","ballet_shoes":"๐Ÿฉฐ","boot":"๐Ÿ‘ข","hair_pick":"๐Ÿชฎ","crown":"๐Ÿ‘‘","womans_hat":"๐Ÿ‘’","tophat":"๐ŸŽฉ","mortar_board":"๐ŸŽ“","billed_cap":"๐Ÿงข","military_helmet":"๐Ÿช–","rescue_worker_helmet":"โ›‘๏ธ","prayer_beads":"๐Ÿ“ฟ","lipstick":"๐Ÿ’„","ring":"๐Ÿ’","gem":"๐Ÿ’Ž","mute":"๐Ÿ”‡","speaker":"๐Ÿ”ˆ","sound":"๐Ÿ”‰","loud_sound":"๐Ÿ”Š","loudspeaker":"๐Ÿ“ข","mega":"๐Ÿ“ฃ","postal_horn":"๐Ÿ“ฏ","bell":"๐Ÿ””","no_bell":"๐Ÿ”•","musical_score":"๐ŸŽผ","musical_note":"๐ŸŽต","notes":"๐ŸŽถ","studio_microphone":"๐ŸŽ™๏ธ","level_slider":"๐ŸŽš๏ธ","control_knobs":"๐ŸŽ›๏ธ","microphone":"๐ŸŽค","headphones":"๐ŸŽง","radio":"๐Ÿ“ป","saxophone":"๐ŸŽท","accordion":"๐Ÿช—","guitar":"๐ŸŽธ","musical_keyboard":"๐ŸŽน","trumpet":"๐ŸŽบ","violin":"๐ŸŽป","banjo":"๐Ÿช•","drum":"๐Ÿฅ","long_drum":"๐Ÿช˜","maracas":"๐Ÿช‡","flute":"๐Ÿชˆ","iphone":"๐Ÿ“ฑ","calling":"๐Ÿ“ฒ","phone":"โ˜Ž๏ธ","telephone":"โ˜Ž๏ธ","telephone_receiver":"๐Ÿ“ž","pager":"๐Ÿ“Ÿ","fax":"๐Ÿ“ ","battery":"๐Ÿ”‹","low_battery":"๐Ÿชซ","electric_plug":"๐Ÿ”Œ","computer":"๐Ÿ’ป","desktop_computer":"๐Ÿ–ฅ๏ธ","printer":"๐Ÿ–จ๏ธ","keyboard":"โŒจ๏ธ","computer_mouse":"๐Ÿ–ฑ๏ธ","trackball":"๐Ÿ–ฒ๏ธ","minidisc":"๐Ÿ’ฝ","floppy_disk":"๐Ÿ’พ","cd":"๐Ÿ’ฟ","dvd":"๐Ÿ“€","abacus":"๐Ÿงฎ","movie_camera":"๐ŸŽฅ","film_strip":"๐ŸŽž๏ธ","film_projector":"๐Ÿ“ฝ๏ธ","clapper":"๐ŸŽฌ","tv":"๐Ÿ“บ","camera":"๐Ÿ“ท","camera_flash":"๐Ÿ“ธ","video_camera":"๐Ÿ“น","vhs":"๐Ÿ“ผ","mag":"๐Ÿ”","mag_right":"๐Ÿ”Ž","candle":"๐Ÿ•ฏ๏ธ","bulb":"๐Ÿ’ก","flashlight":"๐Ÿ”ฆ","izakaya_lantern":"๐Ÿฎ","lantern":"๐Ÿฎ","diya_lamp":"๐Ÿช”","notebook_with_decorative_cover":"๐Ÿ“”","closed_book":"๐Ÿ“•","book":"๐Ÿ“–","open_book":"๐Ÿ“–","green_book":"๐Ÿ“—","blue_book":"๐Ÿ“˜","orange_book":"๐Ÿ“™","books":"๐Ÿ“š","notebook":"๐Ÿ““","ledger":"๐Ÿ“’","page_with_curl":"๐Ÿ“ƒ","scroll":"๐Ÿ“œ","page_facing_up":"๐Ÿ“„","newspaper":"๐Ÿ“ฐ","newspaper_roll":"๐Ÿ—ž๏ธ","bookmark_tabs":"๐Ÿ“‘","bookmark":"๐Ÿ”–","label":"๐Ÿท๏ธ","moneybag":"๐Ÿ’ฐ","coin":"๐Ÿช™","yen":"๐Ÿ’ด","dollar":"๐Ÿ’ต","euro":"๐Ÿ’ถ","pound":"๐Ÿ’ท","money_with_wings":"๐Ÿ’ธ","credit_card":"๐Ÿ’ณ","receipt":"๐Ÿงพ","chart":"๐Ÿ’น","envelope":"โœ‰๏ธ","email":"๐Ÿ“ง","e_mail":"๐Ÿ“ง","incoming_envelope":"๐Ÿ“จ","envelope_with_arrow":"๐Ÿ“ฉ","outbox_tray":"๐Ÿ“ค","inbox_tray":"๐Ÿ“ฅ","package":"๐Ÿ“ฆ","mailbox":"๐Ÿ“ซ","mailbox_closed":"๐Ÿ“ช","mailbox_with_mail":"๐Ÿ“ฌ","mailbox_with_no_mail":"๐Ÿ“ญ","postbox":"๐Ÿ“ฎ","ballot_box":"๐Ÿ—ณ๏ธ","pencil2":"โœ๏ธ","black_nib":"โœ’๏ธ","fountain_pen":"๐Ÿ–‹๏ธ","pen":"๐Ÿ–Š๏ธ","paintbrush":"๐Ÿ–Œ๏ธ","crayon":"๐Ÿ–๏ธ","memo":"๐Ÿ“","pencil":"๐Ÿ“","briefcase":"๐Ÿ’ผ","file_folder":"๐Ÿ“","open_file_folder":"๐Ÿ“‚","card_index_dividers":"๐Ÿ—‚๏ธ","date":"๐Ÿ“…","calendar":"๐Ÿ“†","spiral_notepad":"๐Ÿ—’๏ธ","spiral_calendar":"๐Ÿ—“๏ธ","card_index":"๐Ÿ“‡","chart_with_upwards_trend":"๐Ÿ“ˆ","chart_with_downwards_trend":"๐Ÿ“‰","bar_chart":"๐Ÿ“Š","clipboard":"๐Ÿ“‹","pushpin":"๐Ÿ“Œ","round_pushpin":"๐Ÿ“","paperclip":"๐Ÿ“Ž","paperclips":"๐Ÿ–‡๏ธ","straight_ruler":"๐Ÿ“","triangular_ruler":"๐Ÿ“","scissors":"โœ‚๏ธ","card_file_box":"๐Ÿ—ƒ๏ธ","file_cabinet":"๐Ÿ—„๏ธ","wastebasket":"๐Ÿ—‘๏ธ","lock":"๐Ÿ”’","unlock":"๐Ÿ”“","lock_with_ink_pen":"๐Ÿ”","closed_lock_with_key":"๐Ÿ”","key":"๐Ÿ”‘","old_key":"๐Ÿ—๏ธ","hammer":"๐Ÿ”จ","axe":"๐Ÿช“","pick":"โ›๏ธ","hammer_and_pick":"โš’๏ธ","hammer_and_wrench":"๐Ÿ› ๏ธ","dagger":"๐Ÿ—ก๏ธ","crossed_swords":"โš”๏ธ","bomb":"๐Ÿ’ฃ","boomerang":"๐Ÿชƒ","bow_and_arrow":"๐Ÿน","shield":"๐Ÿ›ก๏ธ","carpentry_saw":"๐Ÿชš","wrench":"๐Ÿ”ง","screwdriver":"๐Ÿช›","nut_and_bolt":"๐Ÿ”ฉ","gear":"โš™๏ธ","clamp":"๐Ÿ—œ๏ธ","balance_scale":"โš–๏ธ","probing_cane":"๐Ÿฆฏ","link":"๐Ÿ”—","chains":"โ›“๏ธ","hook":"๐Ÿช","toolbox":"๐Ÿงฐ","magnet":"๐Ÿงฒ","ladder":"๐Ÿชœ","alembic":"โš—๏ธ","test_tube":"๐Ÿงช","petri_dish":"๐Ÿงซ","dna":"๐Ÿงฌ","microscope":"๐Ÿ”ฌ","telescope":"๐Ÿ”ญ","satellite":"๐Ÿ“ก","syringe":"๐Ÿ’‰","drop_of_blood":"๐Ÿฉธ","pill":"๐Ÿ’Š","adhesive_bandage":"๐Ÿฉน","crutch":"๐Ÿฉผ","stethoscope":"๐Ÿฉบ","x_ray":"๐Ÿฉป","door":"๐Ÿšช","elevator":"๐Ÿ›—","mirror":"๐Ÿชž","window":"๐ŸชŸ","bed":"๐Ÿ›๏ธ","couch_and_lamp":"๐Ÿ›‹๏ธ","chair":"๐Ÿช‘","toilet":"๐Ÿšฝ","plunger":"๐Ÿช ","shower":"๐Ÿšฟ","bathtub":"๐Ÿ›","mouse_trap":"๐Ÿชค","razor":"๐Ÿช’","lotion_bottle":"๐Ÿงด","safety_pin":"๐Ÿงท","broom":"๐Ÿงน","basket":"๐Ÿงบ","roll_of_paper":"๐Ÿงป","bucket":"๐Ÿชฃ","soap":"๐Ÿงผ","bubbles":"๐Ÿซง","toothbrush":"๐Ÿชฅ","sponge":"๐Ÿงฝ","fire_extinguisher":"๐Ÿงฏ","shopping_cart":"๐Ÿ›’","smoking":"๐Ÿšฌ","coffin":"โšฐ๏ธ","headstone":"๐Ÿชฆ","funeral_urn":"โšฑ๏ธ","nazar_amulet":"๐Ÿงฟ","hamsa":"๐Ÿชฌ","moyai":"๐Ÿ—ฟ","placard":"๐Ÿชง","identification_card":"๐Ÿชช","atm":"๐Ÿง","put_litter_in_its_place":"๐Ÿšฎ","potable_water":"๐Ÿšฐ","wheelchair":"โ™ฟ","mens":"๐Ÿšน","womens":"๐Ÿšบ","restroom":"๐Ÿšป","baby_symbol":"๐Ÿšผ","wc":"๐Ÿšพ","passport_control":"๐Ÿ›‚","customs":"๐Ÿ›ƒ","baggage_claim":"๐Ÿ›„","left_luggage":"๐Ÿ›…","warning":"โš ๏ธ","children_crossing":"๐Ÿšธ","no_entry":"โ›”","no_entry_sign":"๐Ÿšซ","no_bicycles":"๐Ÿšณ","no_smoking":"๐Ÿšญ","do_not_litter":"๐Ÿšฏ","non_potable_water":"๐Ÿšฑ","no_pedestrians":"๐Ÿšท","no_mobile_phones":"๐Ÿ“ต","underage":"๐Ÿ”ž","radioactive":"โ˜ข๏ธ","biohazard":"โ˜ฃ๏ธ","arrow_up":"โฌ†๏ธ","arrow_upper_right":"โ†—๏ธ","arrow_right":"โžก๏ธ","arrow_lower_right":"โ†˜๏ธ","arrow_down":"โฌ‡๏ธ","arrow_lower_left":"โ†™๏ธ","arrow_left":"โฌ…๏ธ","arrow_upper_left":"โ†–๏ธ","arrow_up_down":"โ†•๏ธ","left_right_arrow":"โ†”๏ธ","leftwards_arrow_with_hook":"โ†ฉ๏ธ","arrow_right_hook":"โ†ช๏ธ","arrow_heading_up":"โคด๏ธ","arrow_heading_down":"โคต๏ธ","arrows_clockwise":"๐Ÿ”ƒ","arrows_counterclockwise":"๐Ÿ”„","back":"๐Ÿ”™","end":"๐Ÿ”š","on":"๐Ÿ”›","soon":"๐Ÿ”œ","top":"๐Ÿ”","place_of_worship":"๐Ÿ›","atom_symbol":"โš›๏ธ","om":"๐Ÿ•‰๏ธ","star_of_david":"โœก๏ธ","wheel_of_dharma":"โ˜ธ๏ธ","yin_yang":"โ˜ฏ๏ธ","latin_cross":"โœ๏ธ","orthodox_cross":"โ˜ฆ๏ธ","star_and_crescent":"โ˜ช๏ธ","peace_symbol":"โ˜ฎ๏ธ","menorah":"๐Ÿ•Ž","six_pointed_star":"๐Ÿ”ฏ","khanda":"๐Ÿชฏ","aries":"โ™ˆ","taurus":"โ™‰","gemini":"โ™Š","cancer":"โ™‹","leo":"โ™Œ","virgo":"โ™","libra":"โ™Ž","scorpius":"โ™","sagittarius":"โ™","capricorn":"โ™‘","aquarius":"โ™’","pisces":"โ™“","ophiuchus":"โ›Ž","twisted_rightwards_arrows":"๐Ÿ”€","repeat":"๐Ÿ”","repeat_one":"๐Ÿ”‚","arrow_forward":"โ–ถ๏ธ","fast_forward":"โฉ","next_track_button":"โญ๏ธ","play_or_pause_button":"โฏ๏ธ","arrow_backward":"โ—€๏ธ","rewind":"โช","previous_track_button":"โฎ๏ธ","arrow_up_small":"๐Ÿ”ผ","arrow_double_up":"โซ","arrow_down_small":"๐Ÿ”ฝ","arrow_double_down":"โฌ","pause_button":"โธ๏ธ","stop_button":"โน๏ธ","record_button":"โบ๏ธ","eject_button":"โ๏ธ","cinema":"๐ŸŽฆ","low_brightness":"๐Ÿ”…","high_brightness":"๐Ÿ”†","signal_strength":"๐Ÿ“ถ","wireless":"๐Ÿ›œ","vibration_mode":"๐Ÿ“ณ","mobile_phone_off":"๐Ÿ“ด","female_sign":"โ™€๏ธ","male_sign":"โ™‚๏ธ","transgender_symbol":"โšง๏ธ","heavy_multiplication_x":"โœ–๏ธ","heavy_plus_sign":"โž•","heavy_minus_sign":"โž–","heavy_division_sign":"โž—","heavy_equals_sign":"๐ŸŸฐ","infinity":"โ™พ๏ธ","bangbang":"โ€ผ๏ธ","interrobang":"โ‰๏ธ","question":"โ“","grey_question":"โ”","grey_exclamation":"โ•","exclamation":"โ—","heavy_exclamation_mark":"โ—","wavy_dash":"ใ€ฐ๏ธ","currency_exchange":"๐Ÿ’ฑ","heavy_dollar_sign":"๐Ÿ’ฒ","medical_symbol":"โš•๏ธ","recycle":"โ™ป๏ธ","fleur_de_lis":"โšœ๏ธ","trident":"๐Ÿ”ฑ","name_badge":"๐Ÿ“›","beginner":"๐Ÿ”ฐ","o":"โญ•","white_check_mark":"โœ…","ballot_box_with_check":"โ˜‘๏ธ","heavy_check_mark":"โœ”๏ธ","x":"โŒ","negative_squared_cross_mark":"โŽ","curly_loop":"โžฐ","loop":"โžฟ","part_alternation_mark":"ใ€ฝ๏ธ","eight_spoked_asterisk":"โœณ๏ธ","eight_pointed_black_star":"โœด๏ธ","sparkle":"โ‡๏ธ","copyright":"ยฉ๏ธ","registered":"ยฎ๏ธ","tm":"โ„ข๏ธ","hash":"#๏ธโƒฃ","asterisk":"*๏ธโƒฃ","zero":"0๏ธโƒฃ","one":"1๏ธโƒฃ","two":"2๏ธโƒฃ","three":"3๏ธโƒฃ","four":"4๏ธโƒฃ","five":"5๏ธโƒฃ","six":"6๏ธโƒฃ","seven":"7๏ธโƒฃ","eight":"8๏ธโƒฃ","nine":"9๏ธโƒฃ","keycap_ten":"๐Ÿ”Ÿ","capital_abcd":"๐Ÿ” ","abcd":"๐Ÿ”ก","symbols":"๐Ÿ”ฃ","abc":"๐Ÿ”ค","a":"๐Ÿ…ฐ๏ธ","ab":"๐Ÿ†Ž","b":"๐Ÿ…ฑ๏ธ","cl":"๐Ÿ†‘","cool":"๐Ÿ†’","free":"๐Ÿ†“","information_source":"โ„น๏ธ","id":"๐Ÿ†”","m":"โ“‚๏ธ","new":"๐Ÿ†•","ng":"๐Ÿ†–","o2":"๐Ÿ…พ๏ธ","ok":"๐Ÿ†—","parking":"๐Ÿ…ฟ๏ธ","sos":"๐Ÿ†˜","up":"๐Ÿ†™","vs":"๐Ÿ†š","koko":"๐Ÿˆ","sa":"๐Ÿˆ‚๏ธ","u6708":"๐Ÿˆท๏ธ","u6709":"๐Ÿˆถ","u6307":"๐Ÿˆฏ","ideograph_advantage":"๐Ÿ‰","u5272":"๐Ÿˆน","u7121":"๐Ÿˆš","u7981":"๐Ÿˆฒ","accept":"๐Ÿ‰‘","u7533":"๐Ÿˆธ","u5408":"๐Ÿˆด","u7a7a":"๐Ÿˆณ","congratulations":"ใŠ—๏ธ","secret":"ใŠ™๏ธ","u55b6":"๐Ÿˆบ","u6e80":"๐Ÿˆต","red_circle":"๐Ÿ”ด","orange_circle":"๐ŸŸ ","yellow_circle":"๐ŸŸก","green_circle":"๐ŸŸข","large_blue_circle":"๐Ÿ”ต","purple_circle":"๐ŸŸฃ","brown_circle":"๐ŸŸค","black_circle":"โšซ","white_circle":"โšช","red_square":"๐ŸŸฅ","orange_square":"๐ŸŸง","yellow_square":"๐ŸŸจ","green_square":"๐ŸŸฉ","blue_square":"๐ŸŸฆ","purple_square":"๐ŸŸช","brown_square":"๐ŸŸซ","black_large_square":"โฌ›","white_large_square":"โฌœ","black_medium_square":"โ—ผ๏ธ","white_medium_square":"โ—ป๏ธ","black_medium_small_square":"โ—พ","white_medium_small_square":"โ—ฝ","black_small_square":"โ–ช๏ธ","white_small_square":"โ–ซ๏ธ","large_orange_diamond":"๐Ÿ”ถ","large_blue_diamond":"๐Ÿ”ท","small_orange_diamond":"๐Ÿ”ธ","small_blue_diamond":"๐Ÿ”น","small_red_triangle":"๐Ÿ”บ","small_red_triangle_down":"๐Ÿ”ป","diamond_shape_with_a_dot_inside":"๐Ÿ’ ","radio_button":"๐Ÿ”˜","white_square_button":"๐Ÿ”ณ","black_square_button":"๐Ÿ”ฒ","checkered_flag":"๐Ÿ","triangular_flag_on_post":"๐Ÿšฉ","crossed_flags":"๐ŸŽŒ","black_flag":"๐Ÿด","white_flag":"๐Ÿณ๏ธ","rainbow_flag":"๐Ÿณ๏ธโ€๐ŸŒˆ","transgender_flag":"๐Ÿณ๏ธโ€โšง๏ธ","pirate_flag":"๐Ÿดโ€โ˜ ๏ธ","ascension_island":"๐Ÿ‡ฆ๐Ÿ‡จ","andorra":"๐Ÿ‡ฆ๐Ÿ‡ฉ","united_arab_emirates":"๐Ÿ‡ฆ๐Ÿ‡ช","afghanistan":"๐Ÿ‡ฆ๐Ÿ‡ซ","antigua_barbuda":"๐Ÿ‡ฆ๐Ÿ‡ฌ","anguilla":"๐Ÿ‡ฆ๐Ÿ‡ฎ","albania":"๐Ÿ‡ฆ๐Ÿ‡ฑ","armenia":"๐Ÿ‡ฆ๐Ÿ‡ฒ","angola":"๐Ÿ‡ฆ๐Ÿ‡ด","antarctica":"๐Ÿ‡ฆ๐Ÿ‡ถ","argentina":"๐Ÿ‡ฆ๐Ÿ‡ท","american_samoa":"๐Ÿ‡ฆ๐Ÿ‡ธ","austria":"๐Ÿ‡ฆ๐Ÿ‡น","australia":"๐Ÿ‡ฆ๐Ÿ‡บ","aruba":"๐Ÿ‡ฆ๐Ÿ‡ผ","aland_islands":"๐Ÿ‡ฆ๐Ÿ‡ฝ","azerbaijan":"๐Ÿ‡ฆ๐Ÿ‡ฟ","bosnia_herzegovina":"๐Ÿ‡ง๐Ÿ‡ฆ","barbados":"๐Ÿ‡ง๐Ÿ‡ง","bangladesh":"๐Ÿ‡ง๐Ÿ‡ฉ","belgium":"๐Ÿ‡ง๐Ÿ‡ช","burkina_faso":"๐Ÿ‡ง๐Ÿ‡ซ","bulgaria":"๐Ÿ‡ง๐Ÿ‡ฌ","bahrain":"๐Ÿ‡ง๐Ÿ‡ญ","burundi":"๐Ÿ‡ง๐Ÿ‡ฎ","benin":"๐Ÿ‡ง๐Ÿ‡ฏ","st_barthelemy":"๐Ÿ‡ง๐Ÿ‡ฑ","bermuda":"๐Ÿ‡ง๐Ÿ‡ฒ","brunei":"๐Ÿ‡ง๐Ÿ‡ณ","bolivia":"๐Ÿ‡ง๐Ÿ‡ด","caribbean_netherlands":"๐Ÿ‡ง๐Ÿ‡ถ","brazil":"๐Ÿ‡ง๐Ÿ‡ท","bahamas":"๐Ÿ‡ง๐Ÿ‡ธ","bhutan":"๐Ÿ‡ง๐Ÿ‡น","bouvet_island":"๐Ÿ‡ง๐Ÿ‡ป","botswana":"๐Ÿ‡ง๐Ÿ‡ผ","belarus":"๐Ÿ‡ง๐Ÿ‡พ","belize":"๐Ÿ‡ง๐Ÿ‡ฟ","canada":"๐Ÿ‡จ๐Ÿ‡ฆ","cocos_islands":"๐Ÿ‡จ๐Ÿ‡จ","congo_kinshasa":"๐Ÿ‡จ๐Ÿ‡ฉ","central_african_republic":"๐Ÿ‡จ๐Ÿ‡ซ","congo_brazzaville":"๐Ÿ‡จ๐Ÿ‡ฌ","switzerland":"๐Ÿ‡จ๐Ÿ‡ญ","cote_divoire":"๐Ÿ‡จ๐Ÿ‡ฎ","cook_islands":"๐Ÿ‡จ๐Ÿ‡ฐ","chile":"๐Ÿ‡จ๐Ÿ‡ฑ","cameroon":"๐Ÿ‡จ๐Ÿ‡ฒ","cn":"๐Ÿ‡จ๐Ÿ‡ณ","colombia":"๐Ÿ‡จ๐Ÿ‡ด","clipperton_island":"๐Ÿ‡จ๐Ÿ‡ต","costa_rica":"๐Ÿ‡จ๐Ÿ‡ท","cuba":"๐Ÿ‡จ๐Ÿ‡บ","cape_verde":"๐Ÿ‡จ๐Ÿ‡ป","curacao":"๐Ÿ‡จ๐Ÿ‡ผ","christmas_island":"๐Ÿ‡จ๐Ÿ‡ฝ","cyprus":"๐Ÿ‡จ๐Ÿ‡พ","czech_republic":"๐Ÿ‡จ๐Ÿ‡ฟ","de":"๐Ÿ‡ฉ๐Ÿ‡ช","diego_garcia":"๐Ÿ‡ฉ๐Ÿ‡ฌ","djibouti":"๐Ÿ‡ฉ๐Ÿ‡ฏ","denmark":"๐Ÿ‡ฉ๐Ÿ‡ฐ","dominica":"๐Ÿ‡ฉ๐Ÿ‡ฒ","dominican_republic":"๐Ÿ‡ฉ๐Ÿ‡ด","algeria":"๐Ÿ‡ฉ๐Ÿ‡ฟ","ceuta_melilla":"๐Ÿ‡ช๐Ÿ‡ฆ","ecuador":"๐Ÿ‡ช๐Ÿ‡จ","estonia":"๐Ÿ‡ช๐Ÿ‡ช","egypt":"๐Ÿ‡ช๐Ÿ‡ฌ","western_sahara":"๐Ÿ‡ช๐Ÿ‡ญ","eritrea":"๐Ÿ‡ช๐Ÿ‡ท","es":"๐Ÿ‡ช๐Ÿ‡ธ","ethiopia":"๐Ÿ‡ช๐Ÿ‡น","eu":"๐Ÿ‡ช๐Ÿ‡บ","european_union":"๐Ÿ‡ช๐Ÿ‡บ","finland":"๐Ÿ‡ซ๐Ÿ‡ฎ","fiji":"๐Ÿ‡ซ๐Ÿ‡ฏ","falkland_islands":"๐Ÿ‡ซ๐Ÿ‡ฐ","micronesia":"๐Ÿ‡ซ๐Ÿ‡ฒ","faroe_islands":"๐Ÿ‡ซ๐Ÿ‡ด","fr":"๐Ÿ‡ซ๐Ÿ‡ท","gabon":"๐Ÿ‡ฌ๐Ÿ‡ฆ","gb":"๐Ÿ‡ฌ๐Ÿ‡ง","uk":"๐Ÿ‡ฌ๐Ÿ‡ง","grenada":"๐Ÿ‡ฌ๐Ÿ‡ฉ","georgia":"๐Ÿ‡ฌ๐Ÿ‡ช","french_guiana":"๐Ÿ‡ฌ๐Ÿ‡ซ","guernsey":"๐Ÿ‡ฌ๐Ÿ‡ฌ","ghana":"๐Ÿ‡ฌ๐Ÿ‡ญ","gibraltar":"๐Ÿ‡ฌ๐Ÿ‡ฎ","greenland":"๐Ÿ‡ฌ๐Ÿ‡ฑ","gambia":"๐Ÿ‡ฌ๐Ÿ‡ฒ","guinea":"๐Ÿ‡ฌ๐Ÿ‡ณ","guadeloupe":"๐Ÿ‡ฌ๐Ÿ‡ต","equatorial_guinea":"๐Ÿ‡ฌ๐Ÿ‡ถ","greece":"๐Ÿ‡ฌ๐Ÿ‡ท","south_georgia_south_sandwich_islands":"๐Ÿ‡ฌ๐Ÿ‡ธ","guatemala":"๐Ÿ‡ฌ๐Ÿ‡น","guam":"๐Ÿ‡ฌ๐Ÿ‡บ","guinea_bissau":"๐Ÿ‡ฌ๐Ÿ‡ผ","guyana":"๐Ÿ‡ฌ๐Ÿ‡พ","hong_kong":"๐Ÿ‡ญ๐Ÿ‡ฐ","heard_mcdonald_islands":"๐Ÿ‡ญ๐Ÿ‡ฒ","honduras":"๐Ÿ‡ญ๐Ÿ‡ณ","croatia":"๐Ÿ‡ญ๐Ÿ‡ท","haiti":"๐Ÿ‡ญ๐Ÿ‡น","hungary":"๐Ÿ‡ญ๐Ÿ‡บ","canary_islands":"๐Ÿ‡ฎ๐Ÿ‡จ","indonesia":"๐Ÿ‡ฎ๐Ÿ‡ฉ","ireland":"๐Ÿ‡ฎ๐Ÿ‡ช","israel":"๐Ÿ‡ฎ๐Ÿ‡ฑ","isle_of_man":"๐Ÿ‡ฎ๐Ÿ‡ฒ","india":"๐Ÿ‡ฎ๐Ÿ‡ณ","british_indian_ocean_territory":"๐Ÿ‡ฎ๐Ÿ‡ด","iraq":"๐Ÿ‡ฎ๐Ÿ‡ถ","iran":"๐Ÿ‡ฎ๐Ÿ‡ท","iceland":"๐Ÿ‡ฎ๐Ÿ‡ธ","it":"๐Ÿ‡ฎ๐Ÿ‡น","jersey":"๐Ÿ‡ฏ๐Ÿ‡ช","jamaica":"๐Ÿ‡ฏ๐Ÿ‡ฒ","jordan":"๐Ÿ‡ฏ๐Ÿ‡ด","jp":"๐Ÿ‡ฏ๐Ÿ‡ต","kenya":"๐Ÿ‡ฐ๐Ÿ‡ช","kyrgyzstan":"๐Ÿ‡ฐ๐Ÿ‡ฌ","cambodia":"๐Ÿ‡ฐ๐Ÿ‡ญ","kiribati":"๐Ÿ‡ฐ๐Ÿ‡ฎ","comoros":"๐Ÿ‡ฐ๐Ÿ‡ฒ","st_kitts_nevis":"๐Ÿ‡ฐ๐Ÿ‡ณ","north_korea":"๐Ÿ‡ฐ๐Ÿ‡ต","kr":"๐Ÿ‡ฐ๐Ÿ‡ท","kuwait":"๐Ÿ‡ฐ๐Ÿ‡ผ","cayman_islands":"๐Ÿ‡ฐ๐Ÿ‡พ","kazakhstan":"๐Ÿ‡ฐ๐Ÿ‡ฟ","laos":"๐Ÿ‡ฑ๐Ÿ‡ฆ","lebanon":"๐Ÿ‡ฑ๐Ÿ‡ง","st_lucia":"๐Ÿ‡ฑ๐Ÿ‡จ","liechtenstein":"๐Ÿ‡ฑ๐Ÿ‡ฎ","sri_lanka":"๐Ÿ‡ฑ๐Ÿ‡ฐ","liberia":"๐Ÿ‡ฑ๐Ÿ‡ท","lesotho":"๐Ÿ‡ฑ๐Ÿ‡ธ","lithuania":"๐Ÿ‡ฑ๐Ÿ‡น","luxembourg":"๐Ÿ‡ฑ๐Ÿ‡บ","latvia":"๐Ÿ‡ฑ๐Ÿ‡ป","libya":"๐Ÿ‡ฑ๐Ÿ‡พ","morocco":"๐Ÿ‡ฒ๐Ÿ‡ฆ","monaco":"๐Ÿ‡ฒ๐Ÿ‡จ","moldova":"๐Ÿ‡ฒ๐Ÿ‡ฉ","montenegro":"๐Ÿ‡ฒ๐Ÿ‡ช","st_martin":"๐Ÿ‡ฒ๐Ÿ‡ซ","madagascar":"๐Ÿ‡ฒ๐Ÿ‡ฌ","marshall_islands":"๐Ÿ‡ฒ๐Ÿ‡ญ","macedonia":"๐Ÿ‡ฒ๐Ÿ‡ฐ","mali":"๐Ÿ‡ฒ๐Ÿ‡ฑ","myanmar":"๐Ÿ‡ฒ๐Ÿ‡ฒ","mongolia":"๐Ÿ‡ฒ๐Ÿ‡ณ","macau":"๐Ÿ‡ฒ๐Ÿ‡ด","northern_mariana_islands":"๐Ÿ‡ฒ๐Ÿ‡ต","martinique":"๐Ÿ‡ฒ๐Ÿ‡ถ","mauritania":"๐Ÿ‡ฒ๐Ÿ‡ท","montserrat":"๐Ÿ‡ฒ๐Ÿ‡ธ","malta":"๐Ÿ‡ฒ๐Ÿ‡น","mauritius":"๐Ÿ‡ฒ๐Ÿ‡บ","maldives":"๐Ÿ‡ฒ๐Ÿ‡ป","malawi":"๐Ÿ‡ฒ๐Ÿ‡ผ","mexico":"๐Ÿ‡ฒ๐Ÿ‡ฝ","malaysia":"๐Ÿ‡ฒ๐Ÿ‡พ","mozambique":"๐Ÿ‡ฒ๐Ÿ‡ฟ","namibia":"๐Ÿ‡ณ๐Ÿ‡ฆ","new_caledonia":"๐Ÿ‡ณ๐Ÿ‡จ","niger":"๐Ÿ‡ณ๐Ÿ‡ช","norfolk_island":"๐Ÿ‡ณ๐Ÿ‡ซ","nigeria":"๐Ÿ‡ณ๐Ÿ‡ฌ","nicaragua":"๐Ÿ‡ณ๐Ÿ‡ฎ","netherlands":"๐Ÿ‡ณ๐Ÿ‡ฑ","norway":"๐Ÿ‡ณ๐Ÿ‡ด","nepal":"๐Ÿ‡ณ๐Ÿ‡ต","nauru":"๐Ÿ‡ณ๐Ÿ‡ท","niue":"๐Ÿ‡ณ๐Ÿ‡บ","new_zealand":"๐Ÿ‡ณ๐Ÿ‡ฟ","oman":"๐Ÿ‡ด๐Ÿ‡ฒ","panama":"๐Ÿ‡ต๐Ÿ‡ฆ","peru":"๐Ÿ‡ต๐Ÿ‡ช","french_polynesia":"๐Ÿ‡ต๐Ÿ‡ซ","papua_new_guinea":"๐Ÿ‡ต๐Ÿ‡ฌ","philippines":"๐Ÿ‡ต๐Ÿ‡ญ","pakistan":"๐Ÿ‡ต๐Ÿ‡ฐ","poland":"๐Ÿ‡ต๐Ÿ‡ฑ","st_pierre_miquelon":"๐Ÿ‡ต๐Ÿ‡ฒ","pitcairn_islands":"๐Ÿ‡ต๐Ÿ‡ณ","puerto_rico":"๐Ÿ‡ต๐Ÿ‡ท","palestinian_territories":"๐Ÿ‡ต๐Ÿ‡ธ","portugal":"๐Ÿ‡ต๐Ÿ‡น","palau":"๐Ÿ‡ต๐Ÿ‡ผ","paraguay":"๐Ÿ‡ต๐Ÿ‡พ","qatar":"๐Ÿ‡ถ๐Ÿ‡ฆ","reunion":"๐Ÿ‡ท๐Ÿ‡ช","romania":"๐Ÿ‡ท๐Ÿ‡ด","serbia":"๐Ÿ‡ท๐Ÿ‡ธ","ru":"๐Ÿ‡ท๐Ÿ‡บ","rwanda":"๐Ÿ‡ท๐Ÿ‡ผ","saudi_arabia":"๐Ÿ‡ธ๐Ÿ‡ฆ","solomon_islands":"๐Ÿ‡ธ๐Ÿ‡ง","seychelles":"๐Ÿ‡ธ๐Ÿ‡จ","sudan":"๐Ÿ‡ธ๐Ÿ‡ฉ","sweden":"๐Ÿ‡ธ๐Ÿ‡ช","singapore":"๐Ÿ‡ธ๐Ÿ‡ฌ","st_helena":"๐Ÿ‡ธ๐Ÿ‡ญ","slovenia":"๐Ÿ‡ธ๐Ÿ‡ฎ","svalbard_jan_mayen":"๐Ÿ‡ธ๐Ÿ‡ฏ","slovakia":"๐Ÿ‡ธ๐Ÿ‡ฐ","sierra_leone":"๐Ÿ‡ธ๐Ÿ‡ฑ","san_marino":"๐Ÿ‡ธ๐Ÿ‡ฒ","senegal":"๐Ÿ‡ธ๐Ÿ‡ณ","somalia":"๐Ÿ‡ธ๐Ÿ‡ด","suriname":"๐Ÿ‡ธ๐Ÿ‡ท","south_sudan":"๐Ÿ‡ธ๐Ÿ‡ธ","sao_tome_principe":"๐Ÿ‡ธ๐Ÿ‡น","el_salvador":"๐Ÿ‡ธ๐Ÿ‡ป","sint_maarten":"๐Ÿ‡ธ๐Ÿ‡ฝ","syria":"๐Ÿ‡ธ๐Ÿ‡พ","swaziland":"๐Ÿ‡ธ๐Ÿ‡ฟ","tristan_da_cunha":"๐Ÿ‡น๐Ÿ‡ฆ","turks_caicos_islands":"๐Ÿ‡น๐Ÿ‡จ","chad":"๐Ÿ‡น๐Ÿ‡ฉ","french_southern_territories":"๐Ÿ‡น๐Ÿ‡ซ","togo":"๐Ÿ‡น๐Ÿ‡ฌ","thailand":"๐Ÿ‡น๐Ÿ‡ญ","tajikistan":"๐Ÿ‡น๐Ÿ‡ฏ","tokelau":"๐Ÿ‡น๐Ÿ‡ฐ","timor_leste":"๐Ÿ‡น๐Ÿ‡ฑ","turkmenistan":"๐Ÿ‡น๐Ÿ‡ฒ","tunisia":"๐Ÿ‡น๐Ÿ‡ณ","tonga":"๐Ÿ‡น๐Ÿ‡ด","tr":"๐Ÿ‡น๐Ÿ‡ท","trinidad_tobago":"๐Ÿ‡น๐Ÿ‡น","tuvalu":"๐Ÿ‡น๐Ÿ‡ป","taiwan":"๐Ÿ‡น๐Ÿ‡ผ","tanzania":"๐Ÿ‡น๐Ÿ‡ฟ","ukraine":"๐Ÿ‡บ๐Ÿ‡ฆ","uganda":"๐Ÿ‡บ๐Ÿ‡ฌ","us_outlying_islands":"๐Ÿ‡บ๐Ÿ‡ฒ","united_nations":"๐Ÿ‡บ๐Ÿ‡ณ","us":"๐Ÿ‡บ๐Ÿ‡ธ","uruguay":"๐Ÿ‡บ๐Ÿ‡พ","uzbekistan":"๐Ÿ‡บ๐Ÿ‡ฟ","vatican_city":"๐Ÿ‡ป๐Ÿ‡ฆ","st_vincent_grenadines":"๐Ÿ‡ป๐Ÿ‡จ","venezuela":"๐Ÿ‡ป๐Ÿ‡ช","british_virgin_islands":"๐Ÿ‡ป๐Ÿ‡ฌ","us_virgin_islands":"๐Ÿ‡ป๐Ÿ‡ฎ","vietnam":"๐Ÿ‡ป๐Ÿ‡ณ","vanuatu":"๐Ÿ‡ป๐Ÿ‡บ","wallis_futuna":"๐Ÿ‡ผ๐Ÿ‡ซ","samoa":"๐Ÿ‡ผ๐Ÿ‡ธ","kosovo":"๐Ÿ‡ฝ๐Ÿ‡ฐ","yemen":"๐Ÿ‡พ๐Ÿ‡ช","mayotte":"๐Ÿ‡พ๐Ÿ‡น","south_africa":"๐Ÿ‡ฟ๐Ÿ‡ฆ","zambia":"๐Ÿ‡ฟ๐Ÿ‡ฒ","zimbabwe":"๐Ÿ‡ฟ๐Ÿ‡ผ","england":"๐Ÿด๓ ง๓ ข๓ ฅ๓ ฎ๓ ง๓ ฟ","scotland":"๐Ÿด๓ ง๓ ข๓ ณ๓ ฃ๓ ด๓ ฟ","wales":"๐Ÿด๓ ง๓ ข๓ ท๓ ฌ๓ ณ๓ ฟ"}'),oi=Object.keys(si),ii={id:"emoji",match:/(^|\s):([-+\w:?]{2,}):?$/,search(e,n){n(hi(e=e.replace(/:$/,""),oi))},template:([e,n])=>`<span class="emoji">${String(si[n])}</span> ${e}`,replace:([,e])=>"$1"+String(si[e]),index:2},li={id:"nicks",match:/(^|\s)(@([a-zA-Z_[\]\\^{}|`@][a-zA-Z0-9_[\]\\^{}|`-]*)?)$/,search(e,n){"@"===(e=e.slice(1))[0]?n(gi(e.slice(1),!0).map(e=>["@"+e[0],"@"+e[1]])):n(gi(e,!0))},template:([e])=>e,replace:([,e])=>"$1"+pi(e),index:2},ri={id:"chans",match:/(^|\s)((?:#|\+|&|![A-Z0-9]{5})(?:[^\s]+)?)$/,search(e,n){n(function(e){const n=[];if(o.M_.state.activeChannel)for(const t of o.M_.state.activeChannel.network.channels)t.type===Zs.rR.CHANNEL&&t.name[0]===e[0]&&n.push(t.name);return hi(e,n)}(e))},template:([e])=>e,replace:([,e])=>"$1"+e,index:2},ci={id:"commands",match:/^\/(\w*)$/,search(e,n){n(hi("/"+e,function(){let e=a.commands.slice();return o.M_.state.settings.searchEnabled||(e=e.filter(e=>"/search"!==e)),e}()))},template:([e])=>e,replace:([,e])=>e,index:1},ui={id:"foreground-colors",match:/\x03(\d{0,2}|[A-Za-z ]{0,10})$/,search(e,n){e=e.toLowerCase(),n(a.colorCodeMap.filter(n=>B().test(e,n[0])||B().test(e,n[1])).map(n=>B().test(e,n[1])?[n[0],B().match(e,n[1],{pre:"<b>",post:"</b>"}).rendered]:n))},template:e=>`<span class="irc-fg${parseInt(e[0],10)}">${e[1]}</span>`,replace:e=>""+e[0],index:1},di={id:"background-colors",match:/\x03(\d{2}),(\d{0,2}|[A-Za-z ]{0,10})$/,search(e,n,t){e=e.toLowerCase(),n(a.colorCodeMap.filter(n=>B().test(e,n[0])||B().test(e,n[1])).map(n=>B().test(e,n[1])?[n[0],B().match(e,n[1],{pre:"<b>",post:"</b>"}).rendered]:n).map(e=>e.concat(t[1])))},template:e=>`<span class="irc-fg${parseInt(e[2],10)} irc-bg irc-bg${parseInt(e[0],10)}">${e[1]}</span>`,replace:e=>"$1,"+e[0],index:2};function pi(e,n=1){return o.M_.state.settings.nickPostfix?n>0&&/\s/.test(o.M_.state.activeChannel?.channel.pendingMessage||"")?e+" ":e+o.M_.state.settings.nickPostfix:e}function hi(e,n){return B().filter(e,n,{pre:"<b>",post:"</b>"}).map(e=>[e.string,e.original])}function gi(e,n){const t=function(){if(!o.M_.state.activeChannel)return[];const e=o.M_.state.activeChannel.channel;if(e.users&&e.users.length>0)return e.users.slice().sort((e,n)=>n.lastMessage-e.lastMessage).map(e=>e.nick);const n=o.M_.state.activeChannel.network.nick,t=e.name;return n!==t&&e.type===Zs.rR.QUERY?[t,n]:[n]}();return e=e.toLowerCase(),n?hi(e,t):t.filter(n=>!n.toLowerCase().indexOf(e))}const mi={collapse:function(){if(!o.M_.state.activeChannel)return!1;const e=[];for(const n of o.M_.state.activeChannel.channel.messages){let t=!1;for(const e of n.previews||[])e.shown&&(e.shown=!1,t=!0);t&&e.push(n.id)}return!document.body.classList.contains("public")&&e.length>0&&re.A.emit("msg:preview:toggle",{target:o.M_.state.activeChannel?.channel.id,messageIds:e,shown:!1}),!0},expand:function(){if(!o.M_.state.activeChannel)return!1;const e=[];for(const n of o.M_.state.activeChannel.channel.messages){let t=!1;for(const e of n.previews||[])e.shown||(e.shown=!0,t=!0);t&&e.push(n.id)}return!document.body.classList.contains("public")&&e.length>0&&re.A.emit("msg:preview:toggle",{target:o.M_.state.activeChannel?.channel.id,messageIds:e,shown:!0}),!0},join:function(e){if(e.length>0){let n=e[0];if(n.length>0){const t=o.M_.state.activeChannel?.network.serverOptions.CHANTYPES,a=e[0].split(",");if(t&&t.length>0)for(let e=0;e<a.length;e++)t.includes(a[e][0])||(a[e]=t[0]+a[e]);n=a.join(",");const s=o.M_.getters.findChannelOnCurrentNetwork(n);if(!s)return o.M_.state.activeChannel&&re.A.emit("input",{text:`/join ${n} ${e.length>1?e[1]:""}`,target:o.M_.state.activeChannel.channel.id}),!0;mc(s)}}else if(o.M_.state.activeChannel?.channel.type===Zs.rR.CHANNEL)return re.A.emit("input",{target:o.M_.state.activeChannel.channel.id,text:`/join ${o.M_.state.activeChannel.channel.name}`}),!0;return!1},search:function(e){return!!o.M_.state.settings.searchEnabled&&(hc.push({name:"SearchResults",params:{id:o.M_.state.activeChannel?.channel.id},query:{q:e.join(" ")}}).catch(e=>{console.error(`Failed to push SearchResults route: ${e.message}`)}),!0)}},ki=new class{xhr=null;fileQueue=[];tokenKeepAlive=null;overlay=null;uploadProgressbar=null;onDragEnter=e=>this.dragEnter(e);onDragOver=e=>this.dragOver(e);onDragLeave=e=>this.dragLeave(e);onDrop=e=>this.drop(e);onPaste=e=>this.paste(e);init(){re.A.on("upload:auth",e=>this.uploadNextFileInQueue(e))}mounted(){this.overlay=document.getElementById("upload-overlay"),this.uploadProgressbar=document.getElementById("upload-progressbar"),document.addEventListener("dragenter",this.onDragEnter),document.addEventListener("dragover",this.onDragOver),document.addEventListener("dragleave",this.onDragLeave),document.addEventListener("drop",this.onDrop),document.addEventListener("paste",this.onPaste)}unmounted(){document.removeEventListener("dragenter",this.onDragEnter),document.removeEventListener("dragover",this.onDragOver),document.removeEventListener("dragleave",this.onDragLeave),document.removeEventListener("drop",this.onDrop),document.removeEventListener("paste",this.onPaste)}dragOver(e){e.dataTransfer?.types.includes("Files")&&e.preventDefault()}dragEnter(e){!e.relatedTarget&&e.dataTransfer?.types.includes("Files")&&(e.preventDefault(),this.overlay?.classList.add("is-dragover"))}dragLeave(e){e.relatedTarget||(e.preventDefault(),this.overlay?.classList.remove("is-dragover"))}drop(e){if(!e.dataTransfer?.types.includes("Files"))return;let n;e.preventDefault(),this.overlay?.classList.remove("is-dragover"),n=e.dataTransfer.items?Array.from(e.dataTransfer.items).filter(e=>"file"===e.kind).map(e=>e.getAsFile()):Array.from(e.dataTransfer.files),this.triggerUpload(n)}paste(e){const n=e.clipboardData?.items,t=[];if(n){for(let e=0;e<n.length;e++)"file"===n[e].kind&&t.push(n[e].getAsFile());0!==t.length&&(e.preventDefault(),this.triggerUpload(t))}}triggerUpload(e){if(!e.length)return;if(!o.M_.state.isConnected)return void this.handleResponse({error:"You are currently disconnected, unable to initiate upload process."});const n=0===this.fileQueue.length,t=o.M_.state.serverConfiguration?.fileUploadMaxFileSize||0;for(const n of e){if(!n)return;t>0&&n.size>t?this.handleResponse({error:`File ${n.name} is over the maximum allowed size`}):this.fileQueue.push(n)}n&&null===this.xhr&&this.fileQueue.length>0&&this.requestToken()}requestToken(){re.A.emit("upload:auth")}setProgress(e){this.uploadProgressbar&&(this.uploadProgressbar.classList.toggle("upload-progressbar-visible",e>0),this.uploadProgressbar.style.width=`${e}%`)}uploadNextFileInQueue(e){const n=this.fileQueue.shift();n&&(this.tokenKeepAlive=setInterval(()=>re.A.emit("upload:ping",e),4e4),o.M_.state.settings.uploadCanvas&&n.type.startsWith("image/")&&!n.type.includes("svg")&&"image/gif"!==n.type?this.renderImage(n,n=>this.performUpload(e,n)):this.performUpload(e,n))}renderImage(e,n){const t=new FileReader;t.onabort=()=>n(e),t.onerror=()=>t.abort(),t.onload=()=>{const a=new Image;if(a.onerror=()=>n(e),a.onload=()=>{const t=document.createElement("canvas");t.width=a.width,t.height=a.height;const s=t.getContext("2d");if(!s)throw new Error("Could not get canvas context in upload");s.drawImage(a,0,0),t.toBlob(t=>{n(new File([t],e.name))},e.type)},"string"!=typeof t.result)throw new Error("Expected string result from readAsDataURL");a.src=t.result},t.readAsDataURL(e)}performUpload(e,n){this.xhr=new XMLHttpRequest,this.xhr.upload.addEventListener("progress",e=>{const n=Math.floor(e.loaded/e.total*1e3)/10;this.setProgress(n)},!1),this.xhr.onreadystatechange=()=>{if(this.xhr?.readyState===XMLHttpRequest.DONE){let e;try{e=JSON.parse(this.xhr.responseText)}catch{e={error:`Upload aborted: ${this.xhr.statusText} (HTTP ${this.xhr.status})`}}this.handleResponse(e),this.xhr=null,this.fileQueue.length>0&&this.requestToken()}};const t=new FormData;t.append("file",n),this.xhr.open("POST",`uploads/new/${e}`),this.xhr.send(t)}handleResponse(e){this.setProgress(0),this.tokenKeepAlive&&(clearInterval(this.tokenKeepAlive),this.tokenKeepAlive=null),e.error?o.M_.commit("currentUserVisibleError",e.error):e.url&&this.insertUploadUrl(e.url)}insertUploadUrl(e){const n=new URL(e,location.toString()).toString(),t=document.getElementById("input");if(!(t instanceof HTMLTextAreaElement))throw new Error("Could not find textbox in upload");const a=t.selectionStart,s=a>0?t.value.substring(0,a)+" ":"",o=t.value.substring(a),i=s+n+" ";(0,ni.update)(t,i+o),t.selectionStart=t.selectionEnd=i.length}abort(){this.fileQueue=[],this.xhr&&(this.xhr.abort(),this.xhr=null)}},fi={abort:()=>ki.abort(),initialize:()=>ki.init(),mounted:()=>ki.mounted(),unmounted:()=>ki.unmounted(),triggerUpload:e=>ki.triggerUpload(e)},bi={"mod+k":"","mod+b":"","mod+u":"","mod+i":"","mod+o":"","mod+s":"","mod+m":"","mod+r":"/rainbow"},vi={'"':'"',"'":"'","(":")","<":">","[":"]","{":"}","*":"*","`":"`","~":"~",_:"_"},wi=(0,i.pM)({name:"ChatInput",props:{network:{type:Object,required:!0},channel:{type:Object,required:!0}},setup(e){const n=(0,o.Pj)(),t=(0,x.KR)(),a=(0,x.KR)(),s=(0,x.KR)(),l=()=>{(0,i.dY)(()=>{if(!t.value)return;const e=window.getComputedStyle(t.value),n=parseFloat(e.lineHeight)||1;t.value.style.height="",t.value.style.height=Math.ceil(t.value.scrollHeight/n)*n+"px"})},c=n=>{e.channel.pendingMessage=n.target.value,e.channel.inputHistoryPosition=0,l()},d=()=>{t.value?.blur()};return(0,i.wB)(()=>e.channel.id,()=>{s.value&&s.value.hide()}),(0,i.wB)(()=>e.channel.pendingMessage,()=>{l()}),(0,i.sV)(()=>{if(r.A.on("escapekey",d),n.state.settings.autocomplete){if(!t.value)throw new Error("ChatInput autocomplete: input element is not available");s.value=function(e){let n=0,t="",a=[];e.addEventListener("input",e=>{"autocomplete"!==e.detail&&(n=0,a=[],t="")}),u()(e).bind("tab",s=>{if(o.M_.state.isAutoCompleting)return;s.preventDefault();const i=e.value;if(0===n){if(t=i.substring(0,e.selectionStart).split(/\s/).pop()||"",0===t.length)return;if(a=gi(t,!1),0===a.length)return}const l=e.selectionStart-t.length,r=pi(String(a[n%a.length]),l),c=i.substring(e.selectionStart);e.value=i.substr(0,l)+r+c,e.selectionStart-=c.length,e.selectionEnd=e.selectionStart,e.dispatchEvent(new CustomEvent("input",{detail:"autocomplete"})),t=r,n++},"keydown");const s=[ii,li,ri,ci,ui,di],i=new ai.a(e),l=new ti.Textcomplete(i,s,{dropdown:{className:"textcomplete-menu",placement:"top"}});return l.on("show",()=>{o.M_.commit("isAutoCompleting",!0)}),l.on("hidden",()=>{o.M_.commit("isAutoCompleting",!1)}),{hide(){l.hide()},destroy(){l.destroy(),o.M_.commit("isAutoCompleting",!1)}}}(t.value)}const a=u()(t.value);let i=Object.keys(bi);!1===n.state.settings.enableRainbowHotkey&&(i=i.filter(e=>"mod+r"!==e)),a.bind(i,function(e,n){const a=bi[n];if(e.target)return"/rainbow"===a&&null!=t.value?(t.value.value.startsWith(a)||(t.value.value=`${a} ${t.value.value}`,c(e)),!1):((0,ni.wrapCursor)(e.target,a,e.target.selectionStart===e.target.selectionEnd?"":a),!1)}),a.bind(Object.keys(vi),function(e,n){if(e.target?.selectionStart!==e.target.selectionEnd)return(0,ni.wrapCursor)(e.target,n,vi[n]),!1}),a.bind(["up","down"],(a,s)=>{if(n.state.isAutoCompleting||a.target.selectionStart!==a.target.selectionEnd||!t.value)return;const o=(t.value.value.slice(void 0,t.value.selectionStart).match(/\n/g)||[]).length,i=(t.value.value.match(/\n/g)||[]).length,{channel:r}=e;if(0===r.inputHistoryPosition&&(r.inputHistory[r.inputHistoryPosition]=r.pendingMessage),"up"===s&&0===o){if(!(r.inputHistoryPosition<r.inputHistory.length-1))return;r.inputHistoryPosition++}else{if(!("down"===s&&r.inputHistoryPosition>0&&o===i))return;r.inputHistoryPosition--}return r.pendingMessage=r.inputHistory[r.inputHistoryPosition],t.value.value=r.pendingMessage,l(),!1}),n.state.serverConfiguration?.fileUpload&&fi.mounted()}),(0,i.hi)(()=>{r.A.off("escapekey",d),s.value&&(s.value.destroy(),s.value=void 0),fi.unmounted(),fi.abort()}),{store:n,input:t,uploadInput:a,onUploadInputChange:()=>{if(!a.value||!a.value.files)return;const e=Array.from(a.value.files);fi.triggerUpload(e),a.value.value=""},openFileUpload:()=>{a.value?.click()},blurInput:d,onBlur:e=>{const n=e.target;"input"===n.id&&n.classList.contains("mousetrap")||s.value&&s.value.hide()},setInputSize:l,upload:fi,getInputPlaceholder:e=>e.type===Zs.rR.CHANNEL||e.type===Zs.rR.QUERY?`Write to ${e.name}`:"",onSubmit:()=>{if(!t.value)return;if(t.value.click(),t.value.focus(),!n.state.isConnected)return!1;const a=e.channel.id,o=e.channel.pendingMessage;if(0===o.length)return!1;if(s.value&&s.value.hide(),e.channel.inputHistoryPosition=0,e.channel.pendingMessage="",t.value.value="",l(),e.channel.inputHistory[1]!==o&&e.channel.inputHistory.splice(1,0,o),e.channel.inputHistory.length>100&&e.channel.inputHistory.pop(),"/"===o[0]){const e=o.substring(1).split(" "),n=e.shift()?.toLowerCase();if(!n)return!1;if(Object.prototype.hasOwnProperty.call(mi,n)&&mi[n](e))return!1}re.A.emit("input",{target:a,text:o})},setPendingMessage:c}}}),yi=(0,q.A)(wi,[["render",function(e,n,t,a,o,r){return(0,i.uX)(),(0,i.CE)("form",{id:"form",method:"post",action:"",onSubmit:n[5]||(n[5]=(0,s.D$)((...n)=>e.onSubmit&&e.onSubmit(...n),["prevent"]))},[n[6]||(n[6]=(0,i.Lk)("span",{id:"upload-progressbar"},null,-1)),e.store.state.settings.showInputNick?((0,i.uX)(),(0,i.CE)("span",Yo,(0,l.v_)(e.network.nick),1)):(0,i.Q3)("",!0),(0,i.Lk)("textarea",{id:"input",ref:"input",dir:"auto",class:"mousetrap",enterkeyhint:"send",value:e.channel.pendingMessage,placeholder:e.getInputPlaceholder(e.channel),"aria-label":e.getInputPlaceholder(e.channel),onInput:n[0]||(n[0]=(...n)=>e.setPendingMessage&&e.setPendingMessage(...n)),onKeypress:n[1]||(n[1]=(0,s.jR)((0,s.D$)((...n)=>e.onSubmit&&e.onSubmit(...n),["exact","prevent"]),["enter"])),onBlur:n[2]||(n[2]=(...n)=>e.onBlur&&e.onBlur(...n))},null,40,Jo),e.store.state.serverConfiguration?.fileUpload?((0,i.uX)(),(0,i.CE)("span",{key:1,id:"upload-tooltip",class:"tooltipped tooltipped-w tooltipped-no-touch","aria-label":"Upload file",onClick:n[4]||(n[4]=(...n)=>e.openFileUpload&&e.openFileUpload(...n))},[(0,i.Lk)("input",{id:"upload-input",ref:"uploadInput",type:"file","aria-labelledby":"upload",multiple:"",onChange:n[3]||(n[3]=(...n)=>e.onUploadInputChange&&e.onUploadInputChange(...n))},null,544),(0,i.Lk)("button",{id:"upload",type:"button","aria-label":"Upload file",disabled:!e.store.state.isConnected},null,8,Go)])):(0,i.Q3)("",!0),(0,i.Lk)("span",Zo,[(0,i.Lk)("button",{id:"submit",type:"submit","aria-label":"Send message",disabled:!e.store.state.isConnected},null,8,ei)])],32)}]]),_i=["aria-label"],Ci={class:"count"},Li=["value","placeholder"],Mi={class:"names"},Ei={"~":"owner","&":"admin","!":"admin","@":"op","%":"half-op","+":"voice","":"normal"},xi=(0,i.pM)({name:"ChatUserList",components:{Username:Cs.A},props:{channel:{type:Object,required:!0}},setup(e){const n=(0,o.Pj)(),t=(0,x.KR)(""),a=(0,x.KR)(),s=(0,x.KR)(),l=(0,i.EW)(()=>n.state.settings.enhancedUserListEnabled&&e.channel.groups&&e.channel.groups.length>0),r=(0,i.EW)(()=>{if(t.value)return(0,D.filter)(t.value,e.channel.users,{pre:"<b>",post:"</b>",extract:e=>e.nick})}),c=new Map,u=e=>{if(c.has(e))return;const n=e.toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-|-$/g,"");return c.set(e,n)},d=(0,i.EW)(()=>{const n={};if(l.value)if(t.value&&r.value){const t=r.value.filter(e=>e.original.nick);for(const{name:a,users:s}of e.channel.groups??[]){n[a]??=[],u(a);for(const e of t)s.includes(e.original.nick)&&n[a].push(e)}}else for(const{name:t,users:a}of e.channel.groups??[]){n[t]??=[],u(t);for(const s of e.channel.users)a.includes(s.nick)&&n[t].push(s)}return n}),p=(0,i.EW)(()=>{const n={};if(!l.value)if(t.value&&r.value){const e=r.value;for(const t of e){const e=t.original.modes[0]||"";n[e]??=[],t.string=e+t.string,n[e].push(t)}}else for(const t of e.channel.users){const e=t.modes[0]||"";n[e]??=[],n[e].push(t)}return n}),h=(0,i.EW)(()=>l.value?d.value:p.value),g=()=>{(0,i.dY)(()=>{const e=s.value?.querySelector(".active");e?.scrollIntoView({block:"nearest",inline:"nearest"})})};return{filteredUsers:r,groupedUsers:h,hasCustomGroups:l,userSearchInput:t,activeUser:a,userlist:s,getGroupSlug:e=>c.get(e)??u(e),setUserSearchInput:e=>{t.value=e.target.value},getModeClass:e=>Ei[e],selectUser:()=>{if(!a.value||!s.value)return;const e=s.value.querySelector(".active");if(!e)return;const n=e.getBoundingClientRect(),t=new MouseEvent("click",{view:window,bubbles:!0,cancelable:!0,clientX:n.left,clientY:n.top+n.height});e.dispatchEvent(t)},hoverUser:e=>{a.value=e},removeHoverUser:()=>{a.value=null},navigateUserList:(n,s)=>{n.stopImmediatePropagation(),n.preventDefault();let o=e.channel.users;if(t.value&&r.value&&(o=r.value.map(e=>e.original)),!o.length)return void(a.value=null);const i=()=>{a.value=s?o[0]:o[o.length-1],g()};if(!a.value)return void i();let l=o.indexOf(a.value);if(-1!==l){for(l+=s;l<0;)l+=o.length;for(;l>o.length-1;)l-=o.length;a.value=o[l],g()}else i()}}}}),Si=(0,q.A)(xi,[["render",function(e,n,t,a,o,r){const c=(0,i.g2)("Username");return(0,i.uX)(),(0,i.CE)("aside",{ref:"userlist",class:"userlist","aria-label":"User list for "+e.channel.name,onMouseleave:n[6]||(n[6]=(...n)=>e.removeHoverUser&&e.removeHoverUser(...n))},[(0,i.Lk)("div",Ci,[(0,i.Lk)("input",{ref:"input",value:e.userSearchInput,placeholder:e.channel.users.length+" user"+(1===e.channel.users.length?"":"s"),type:"search",class:"search","aria-label":"Search among the user list",tabindex:"-1",onInput:n[0]||(n[0]=(...n)=>e.setUserSearchInput&&e.setUserSearchInput(...n)),onKeydown:[n[1]||(n[1]=(0,s.jR)(n=>e.navigateUserList(n,-1),["up"])),n[2]||(n[2]=(0,s.jR)(n=>e.navigateUserList(n,1),["down"])),n[3]||(n[3]=(0,s.jR)(n=>e.navigateUserList(n,-10),["page-up"])),n[4]||(n[4]=(0,s.jR)(n=>e.navigateUserList(n,10),["page-down"])),n[5]||(n[5]=(0,s.jR)((...n)=>e.selectUser&&e.selectUser(...n),["enter"]))]},null,40,Li)]),(0,i.Lk)("div",Mi,[e.hasCustomGroups?((0,i.uX)(!0),(0,i.CE)(i.FK,{key:0},(0,i.pI)(e.groupedUsers,(n,t)=>((0,i.uX)(),(0,i.CE)("div",{key:"group-"+t,class:(0,l.C4)(["user-mode","custom-group","group-"+e.getGroupSlug(t)])},[n.length>0?((0,i.uX)(),(0,i.CE)("div",{key:0,class:(0,l.C4)(["custom-group-header","group-header-"+e.getGroupSlug(t)])},(0,l.v_)(t),3)):(0,i.Q3)("",!0),e.userSearchInput.length>0?((0,i.uX)(!0),(0,i.CE)(i.FK,{key:1},(0,i.pI)(n,n=>((0,i.uX)(),(0,i.Wv)(c,{key:n.original.nick+"-search","on-hover":e.hoverUser,active:n.original===e.activeUser,user:n.original,innerHTML:n.string},null,8,["on-hover","active","user","innerHTML"]))),128)):((0,i.uX)(!0),(0,i.CE)(i.FK,{key:2},(0,i.pI)(n,n=>((0,i.uX)(),(0,i.Wv)(c,{key:n.nick,"on-hover":e.hoverUser,active:n===e.activeUser,user:n},null,8,["on-hover","active","user"]))),128))],2))),128)):((0,i.uX)(!0),(0,i.CE)(i.FK,{key:1},(0,i.pI)(e.groupedUsers,(n,t)=>((0,i.uX)(),(0,i.CE)("div",{key:t,class:(0,l.C4)(["user-mode",e.getModeClass(String(t))])},[e.userSearchInput.length>0?((0,i.uX)(!0),(0,i.CE)(i.FK,{key:0},(0,i.pI)(n,n=>((0,i.uX)(),(0,i.Wv)(c,{key:n.original.nick+"-search","on-hover":e.hoverUser,active:n.original===e.activeUser,user:n.original,innerHTML:n.string},null,8,["on-hover","active","user","innerHTML"]))),128)):((0,i.uX)(!0),(0,i.CE)(i.FK,{key:1},(0,i.pI)(n,n=>((0,i.uX)(),(0,i.Wv)(c,{key:n.nick,"on-hover":e.hoverUser,active:n===e.activeUser,user:n},null,8,["on-hover","active","user"]))),128))],2))),128))])],40,_i)}]]),Ai={class:"ban-list"},Ti={class:"hostmask"},Xi={class:"banned_by"},ji={class:"banned_at"},Wi=(0,i.pM)({name:"ListBans",components:{ParsedMessage:Qs.A},props:{network:{type:Object,required:!0},channel:{type:Object,required:!0}},setup:()=>({localetime:e=>(0,_s.A)(e)})}),Pi=(0,q.A)(Wi,[["render",function(e,n,t,a,s,o){const r=(0,i.g2)("ParsedMessage");return(0,i.uX)(),(0,i.CE)("table",Ai,[n[0]||(n[0]=(0,i.Lk)("thead",null,[(0,i.Lk)("tr",null,[(0,i.Lk)("th",{class:"hostmask"},"Banned"),(0,i.Lk)("th",{class:"banned_by"},"Banned By"),(0,i.Lk)("th",{class:"banned_at"},"Banned At")])],-1)),(0,i.Lk)("tbody",null,[((0,i.uX)(!0),(0,i.CE)(i.FK,null,(0,i.pI)(e.channel.data,n=>((0,i.uX)(),(0,i.CE)("tr",{key:n.hostmask},[(0,i.Lk)("td",Ti,[(0,i.bF)(r,{network:e.network,text:n.hostmask},null,8,["network","text"])]),(0,i.Lk)("td",Xi,(0,l.v_)(n.banned_by),1),(0,i.Lk)("td",ji,(0,l.v_)(e.localetime(n.banned_at)),1)]))),128))])])}]]),Ri={class:"invite-list"},Ii={class:"hostmask"},Ni={class:"invitened_by"},Ui={class:"invitened_at"},Fi=(0,i.pM)({name:"ListInvites",components:{ParsedMessage:Qs.A},props:{network:{type:Object,required:!0},channel:{type:Object,required:!0}},setup:()=>({localetime:e=>(0,_s.A)(e)})}),Oi=(0,q.A)(Fi,[["render",function(e,n,t,a,s,o){const r=(0,i.g2)("ParsedMessage");return(0,i.uX)(),(0,i.CE)("table",Ri,[n[0]||(n[0]=(0,i.Lk)("thead",null,[(0,i.Lk)("tr",null,[(0,i.Lk)("th",{class:"hostmask"},"Invited"),(0,i.Lk)("th",{class:"invitened_by"},"Invited By"),(0,i.Lk)("th",{class:"invitened_at"},"Invited At")])],-1)),(0,i.Lk)("tbody",null,[((0,i.uX)(!0),(0,i.CE)(i.FK,null,(0,i.pI)(e.channel.data,n=>((0,i.uX)(),(0,i.CE)("tr",{key:n.hostmask},[(0,i.Lk)("td",Ii,[(0,i.bF)(r,{network:e.network,text:n.hostmask},null,8,["network","text"])]),(0,i.Lk)("td",Ni,(0,l.v_)(n.invited_by),1),(0,i.Lk)("td",Ui,(0,l.v_)(e.localetime(n.invited_at)),1)]))),128))])])}]]),qi={key:0},Ki={key:1,class:"channel-list"},Di={class:"channel"},Bi={class:"users"},$i={class:"topic"},Hi=(0,i.pM)({name:"ListChannels",components:{ParsedMessage:Qs.A},props:{network:{type:Object,required:!0},channel:{type:Object,required:!0}},setup:e=>({channelData:e.channel.data})}),Qi=(0,q.A)(Hi,[["render",function(e,n,t,a,s,o){const r=(0,i.g2)("ParsedMessage");return e.channelData.text?((0,i.uX)(),(0,i.CE)("span",qi,(0,l.v_)(e.channelData.text),1)):((0,i.uX)(),(0,i.CE)("table",Ki,[n[0]||(n[0]=(0,i.Lk)("thead",null,[(0,i.Lk)("tr",null,[(0,i.Lk)("th",{class:"channel"},"Channel"),(0,i.Lk)("th",{class:"users"},"Users"),(0,i.Lk)("th",{class:"topic"},"Topic")])],-1)),(0,i.Lk)("tbody",null,[((0,i.uX)(!0),(0,i.CE)(i.FK,null,(0,i.pI)(e.channelData,n=>((0,i.uX)(),(0,i.CE)("tr",{key:n.channel},[(0,i.Lk)("td",Di,[(0,i.bF)(r,{network:e.network,text:n.channel},null,8,["network","text"])]),(0,i.Lk)("td",Bi,(0,l.v_)(n.num_users),1),(0,i.Lk)("td",$i,[(0,i.bF)(r,{network:e.network,text:n.topic},null,8,["network","text"])])]))),128))])]))}]]),zi={class:"ignore-list"},Vi={class:"hostmask"},Yi={class:"when"},Ji=(0,i.pM)({name:"ListIgnored",components:{ParsedMessage:Qs.A},props:{network:{type:Object,required:!0},channel:{type:Object,required:!0}},setup:()=>({localetime:_s.A})}),Gi=(0,q.A)(Ji,[["render",function(e,n,t,a,s,o){const r=(0,i.g2)("ParsedMessage");return(0,i.uX)(),(0,i.CE)("table",zi,[n[0]||(n[0]=(0,i.Lk)("thead",null,[(0,i.Lk)("tr",null,[(0,i.Lk)("th",{class:"hostmask"},"Hostmask"),(0,i.Lk)("th",{class:"when"},"Ignored At")])],-1)),(0,i.Lk)("tbody",null,[((0,i.uX)(!0),(0,i.CE)(i.FK,null,(0,i.pI)(e.channel.data,n=>((0,i.uX)(),(0,i.CE)("tr",{key:n.hostmask},[(0,i.Lk)("td",Vi,[(0,i.bF)(r,{network:e.network,text:n.hostmask},null,8,["network","text"])]),(0,i.Lk)("td",Yi,(0,l.v_)(e.localetime(n.when)),1)]))),128))])])}]]),Zi=(0,i.pM)({name:"Chat",components:{ParsedMessage:Qs.A,MessageList:Ko,MessageListBasic:Vo,ChatInput:yi,ChatUserList:Si,SidebarToggle:wn,MessageSearchForm:so},props:{network:{type:Object,required:!0},channel:{type:Object,required:!0},isFocused:Number,focusedTime:Number},emits:["channel-changed"],setup(e,{emit:n}){const t=(0,o.Pj)(),a=(0,i.EW)(()=>t.state.settings.searchEnabled&&t.state.settings.enableEnhancedSearch?Ko:Vo),s=(0,x.KR)(a.value),l=(0,x.KR)(null),c=(0,i.EW)(()=>{switch(e.channel.special){case Zs.cL.BANLIST:return Pi;case Zs.cL.INVITELIST:return Oi;case Zs.cL.CHANNELLIST:return Qi;case Zs.cL.IGNORELIST:return Gi}}),u=()=>{n("channel-changed",e.channel),re.A.emit("open",e.channel.id),e.channel.usersOutdated&&(e.channel.usersOutdated=!1,re.A.emit("names",{target:e.channel.id}))};return(0,i.wB)(()=>e.channel,()=>{u()}),(0,i.wB)(()=>e.channel.editTopic,e=>{e&&(0,i.dY)(()=>{l.value?.focus()})}),(0,i.sV)(()=>{u(),e.channel.editTopic&&(0,i.dY)(()=>{l.value?.focus()})}),{store:t,messageList:s,MessageListType:a,topicInput:l,specialComponent:c,hideUserVisibleError:()=>{t.commit("currentUserVisibleError",null)},editTopic:()=>{e.channel.type===Zs.rR.CHANNEL&&(e.channel.editTopic=!0)},saveTopic:()=>{if(e.channel.editTopic=!1,!l.value)return;const n=l.value.value;if(e.channel.topic!==n){const t=e.channel.id,a=`/topic ${n}`;re.A.emit("input",{target:t,text:a})}},openContextMenu:n=>{r.A.emit("contextmenu:channel",{event:n,channel:e.channel,network:e.network})},openMentions:e=>{r.A.emit("mentions:toggle",{event:e})}}}}),el=(0,q.A)(Zi,[["render",function(e,n,t,a,o,r){const c=(0,i.g2)("SidebarToggle"),u=(0,i.g2)("ParsedMessage"),d=(0,i.g2)("MessageSearchForm"),p=(0,i.g2)("ChatUserList"),h=(0,i.g2)("MessageList"),g=(0,i.g2)("MessageListBasic"),m=(0,i.g2)("ChatInput");return(0,i.uX)(),(0,i.CE)("div",{id:"chat-container",class:"window","data-current-channel":e.channel.name,lang:""},[(0,i.Lk)("div",{id:"chat",class:(0,l.C4)({"hide-motd":!e.store.state.settings.motd,"time-seconds":e.store.state.settings.showSeconds,"time-12h":e.store.state.settings.use12hClock,"colored-nicks":!0})},[(0,i.Lk)("div",{id:"chan-"+e.channel.id,class:"chat-view","data-type":e.channel.type,"aria-label":e.channel.name,role:"tabpanel"},[(0,i.Lk)("div",fo,[(0,i.bF)(c),(0,i.Lk)("span",{class:"title","aria-label":"Currently open "+e.channel.type},(0,l.v_)(e.channel.name),9,bo),!0===e.channel.editTopic?((0,i.uX)(),(0,i.CE)("div",vo,[(0,i.Lk)("input",{ref:"topicInput",value:e.channel.topic,class:"topic-input",placeholder:"Set channel topic",enterkeyhint:"done",onKeyup:[n[0]||(n[0]=(0,s.jR)((...n)=>e.saveTopic&&e.saveTopic(...n),["enter"])),n[1]||(n[1]=(0,s.jR)(n=>e.channel.editTopic=!1,["esc"]))]},null,40,wo),(0,i.Lk)("span",{"aria-label":"Save topic",class:"save-topic",onClick:n[2]||(n[2]=(...n)=>e.saveTopic&&e.saveTopic(...n))},[...n[9]||(n[9]=[(0,i.Lk)("span",{type:"button","aria-label":"Save topic"},null,-1)])])])):((0,i.uX)(),(0,i.CE)("span",{key:1,title:e.channel.topic,class:(0,l.C4)({topic:!0,empty:!e.channel.topic}),onDblclick:n[3]||(n[3]=(...n)=>e.editTopic&&e.editTopic(...n))},[e.channel.topic?((0,i.uX)(),(0,i.Wv)(u,{key:0,network:e.network,text:e.channel.topic},null,8,["network","text"])):(0,i.Q3)("",!0)],42,yo)),e.store.state.settings.searchEnabled&&["channel","query"].includes(e.channel.type)?((0,i.uX)(),(0,i.Wv)(d,{key:2,network:e.network,channel:e.channel},null,8,["network","channel"])):(0,i.Q3)("",!0),(0,i.Lk)("button",{class:"mentions","aria-label":"Open your mentions",onClick:n[4]||(n[4]=(...n)=>e.openMentions&&e.openMentions(...n))}),(0,i.Lk)("button",{class:"menu","aria-label":"Open the context menu",onClick:n[5]||(n[5]=(...n)=>e.openContextMenu&&e.openContextMenu(...n))}),"channel"===e.channel.type?((0,i.uX)(),(0,i.CE)("span",_o,[(0,i.Lk)("button",{class:"rt","aria-label":"Toggle user list",onClick:n[6]||(n[6]=n=>e.store.commit("toggleUserlist"))})])):(0,i.Q3)("",!0)]),"special"===e.channel.type?((0,i.uX)(),(0,i.CE)("div",Co,[(0,i.Lk)("div",Lo,[(0,i.Lk)("div",Mo,[(0,i.Lk)("div",Eo,[((0,i.uX)(),(0,i.Wv)((0,i.$y)(e.specialComponent),{network:e.network,channel:e.channel},null,8,["network","channel"]))])])])])):((0,i.uX)(),(0,i.CE)("div",xo,[(0,i.Lk)("div",{class:(0,l.C4)(["scroll-down tooltipped tooltipped-w tooltipped-no-touch",{"scroll-down-shown":!e.channel.scrolledToBottom}]),"aria-label":"Jump to recent messages",onClick:n[7]||(n[7]=(...n)=>e.messageList.jumpToBottom&&e.messageList.jumpToBottom(...n))},[...n[10]||(n[10]=[(0,i.Lk)("div",{class:"scroll-down-arrow"},null,-1)])],2),"channel"===e.channel.type?((0,i.uX)(),(0,i.Wv)(p,{key:0,channel:e.channel},null,8,["channel"])):(0,i.Q3)("",!0),e.store.state.settings.searchEnabled&&e.store.state.settings.enableEnhancedSearch?((0,i.uX)(),(0,i.Wv)(h,{key:1,ref:"messageList",network:e.network,channel:e.channel,"is-focused":e.isFocused,"focused-time":e.focusedTime},null,8,["network","channel","is-focused","focused-time"])):((0,i.uX)(),(0,i.Wv)(g,{key:2,ref:"messageList",network:e.network,channel:e.channel,"is-focused":e.isFocused,"focused-time":e.focusedTime},null,8,["network","channel","is-focused","focused-time"]))]))],8,ko)],2),e.store.state.currentUserVisibleError?((0,i.uX)(),(0,i.CE)("div",{key:0,id:"user-visible-error",onClick:n[8]||(n[8]=(...n)=>e.hideUserVisibleError&&e.hideUserVisibleError(...n))},(0,l.v_)(e.store.state.currentUserVisibleError),1)):(0,i.Q3)("",!0),(0,i.bF)(m,{network:e.network,channel:e.channel},null,8,["network","channel"])],8,mo)}]]),nl=(0,i.pM)({name:"RoutedChat",components:{Chat:el},setup(){const e=(0,S.lq)(),n=(0,o.Pj)(),t=(0,i.EW)(()=>{const t=parseInt(String(e.params.id||""),10);return n.getters.findChannel(t)}),a=()=>{t.value&&n.commit("activeChannel",t.value)};return(0,i.wB)(t,()=>{a()}),(0,i.sV)(()=>{a()}),{route:e,activeChannel:t,channelChanged:e=>{const t=e.id,a=n.getters.findChannel(t);a?.channel&&(a.channel.unread=0,a.channel.highlight=0)}}}}),tl=(0,q.A)(nl,[["render",function(e,n,t,a,s,o){const l=(0,i.g2)("Chat");return e.activeChannel?((0,i.uX)(),(0,i.Wv)(l,{key:0,network:e.activeChannel.network,channel:e.activeChannel.channel,"is-focused":parseInt(String(e.route.query.focused),10),"focused-time":parseInt(String(e.route.query.focusedTime),10),onChannelChanged:e.channelChanged},null,8,["network","channel","is-focused","focused-time","onChannelChanged"])):(0,i.Q3)("",!0)}]]),al={class:"opt"},sl=["checked"],ol={class:"opt"},il=["checked"],ll={class:"opt"},rl=["checked"],cl={class:"opt"},ul=["checked"],dl={role:"group",style:{"padding-left":"1.5rem"}},pl={class:"opt"},hl=["disabled","checked"],gl={class:"opt"},ml=["disabled","checked"],kl={class:"opt"},fl=["checked"],bl={class:"opt"},vl=["checked"],wl={class:"opt"},yl=["checked"],_l={role:"group","aria-labelledby":"label-status-messages"},Cl={class:"opt"},Ll=["checked"],Ml={class:"opt"},El=["checked"],xl={class:"opt"},Sl=["checked"],Al={class:"opt"},Tl=["checked"],Xl={class:"opt"},jl=["checked"],Wl={class:"opt"},Pl=["checked"],Rl={class:"opt"},Il=["checked"],Nl={class:"opt"},Ul=["checked"],Fl={class:"opt"},Ol=["checked"],ql={class:"opt"},Kl=["checked"],Dl={class:"opt"},Bl=["checked"],$l={class:"opt"},Hl=["checked"],Ql={class:"opt"},zl=["value"],Vl=["value"],Yl=["value"],Jl=["value"],Gl=(0,i.pM)({name:"AppearanceSettings",setup:()=>({store:(0,o.Pj)()})}),Zl=(0,q.A)(Gl,[["render",function(e,n,t,a,s,o){return(0,i.uX)(),(0,i.CE)("div",null,[n[29]||(n[29]=(0,i.Lk)("h2",null,"Messages",-1)),(0,i.Lk)("div",null,[(0,i.Lk)("label",al,[(0,i.Lk)("input",{checked:e.store.state.settings.motd,type:"checkbox",name:"motd"},null,8,sl),n[0]||(n[0]=(0,i.eW)(" Show ",-1)),n[1]||(n[1]=(0,i.Lk)("abbr",{title:"Message Of The Day"},"MOTD",-1))])]),(0,i.Lk)("div",null,[(0,i.Lk)("label",ol,[(0,i.Lk)("input",{checked:e.store.state.settings.showSeconds,type:"checkbox",name:"showSeconds"},null,8,il),n[2]||(n[2]=(0,i.eW)(" Include seconds in timestamp ",-1))])]),(0,i.Lk)("div",null,[(0,i.Lk)("label",ll,[(0,i.Lk)("input",{checked:e.store.state.settings.use12hClock,type:"checkbox",name:"use12hClock"},null,8,rl),n[3]||(n[3]=(0,i.eW)(" Use 12-hour timestamps ",-1))])]),(0,i.Lk)("div",null,[(0,i.Lk)("label",cl,[(0,i.Lk)("input",{checked:e.store.state.settings.beautifyBridgedMessages,type:"checkbox",name:"beautifyBridgedMessages"},null,8,ul),n[4]||(n[4]=(0,i.eW)(" Beautify supported bridged shoutbox messages ",-1))]),(0,i.Lk)("div",dl,[(0,i.Lk)("label",pl,[(0,i.Lk)("input",{disabled:!e.store.state.settings.beautifyBridgedMessages||void 0,checked:"parentheses"===e.store.state.settings.bridgedMessageNicksStyle,type:"radio",name:"bridgedMessageNicksStyle",value:"parentheses"},null,8,hl),n[5]||(n[5]=(0,i.eW)(" Show bridged nicknames in parentheses ",-1)),n[6]||(n[6]=(0,i.Lk)("span",{class:"tooltipped tooltipped-n tooltipped-no-delay","aria-label":"example: (nick)"},[(0,i.Lk)("button",{class:"extra-help"})],-1))]),(0,i.Lk)("label",gl,[(0,i.Lk)("input",{disabled:!e.store.state.settings.beautifyBridgedMessages||void 0,checked:"normal"===e.store.state.settings.bridgedMessageNicksStyle,type:"radio",name:"bridgedMessageNicksStyle",value:"normal"},null,8,ml),n[7]||(n[7]=(0,i.eW)(" Show bridged nicknames like a normal user ",-1)),n[8]||(n[8]=(0,i.Lk)("span",{class:"tooltipped tooltipped-n tooltipped-no-delay","aria-label":"example: nick"},[(0,i.Lk)("button",{class:"extra-help"})],-1))])])]),(0,i.Lk)("div",null,[(0,i.Lk)("label",kl,[(0,i.Lk)("input",{checked:e.store.state.settings.disableMutedUnread,type:"checkbox",name:"disableMutedUnread"},null,8,fl),n[9]||(n[9]=(0,i.eW)(" Don't show unread badges on muted channels ",-1))])]),e.store.state.serverConfiguration?.prefetch?((0,i.uX)(),(0,i.CE)(i.FK,{key:0},[n[12]||(n[12]=(0,i.Lk)("h2",null,"Link previews",-1)),(0,i.Lk)("div",null,[(0,i.Lk)("label",bl,[(0,i.Lk)("input",{checked:e.store.state.settings.media,type:"checkbox",name:"media"},null,8,vl),n[10]||(n[10]=(0,i.eW)(" Auto-expand media ",-1))])]),(0,i.Lk)("div",null,[(0,i.Lk)("label",wl,[(0,i.Lk)("input",{checked:e.store.state.settings.links,type:"checkbox",name:"links"},null,8,yl),n[11]||(n[11]=(0,i.eW)(" Auto-expand websites ",-1))])])],64)):(0,i.Q3)("",!0),n[30]||(n[30]=(0,i.Lk)("h2",{id:"label-status-messages"},[(0,i.eW)(" Status messages "),(0,i.Lk)("span",{class:"tooltipped tooltipped-n tooltipped-no-delay","aria-label":"Joins, parts, quits, kicks, nick changes, and mode changes"},[(0,i.Lk)("button",{class:"extra-help"})])],-1)),(0,i.Lk)("div",_l,[(0,i.Lk)("label",Cl,[(0,i.Lk)("input",{checked:"shown"===e.store.state.settings.statusMessages,type:"radio",name:"statusMessages",value:"shown"},null,8,Ll),n[13]||(n[13]=(0,i.eW)(" Show all status messages individually ",-1))]),(0,i.Lk)("label",Ml,[(0,i.Lk)("input",{checked:"condensed"===e.store.state.settings.statusMessages,type:"radio",name:"statusMessages",value:"condensed"},null,8,El),n[14]||(n[14]=(0,i.eW)(" Condense status messages together ",-1))]),(0,i.Lk)("label",xl,[(0,i.Lk)("input",{checked:"hidden"===e.store.state.settings.statusMessages,type:"radio",name:"statusMessages",value:"hidden"},null,8,Sl),n[15]||(n[15]=(0,i.eW)(" Hide all status messages ",-1))])]),n[31]||(n[31]=(0,i.Lk)("h2",null,"Layout",-1)),(0,i.Lk)("div",null,[(0,i.Lk)("label",Al,[(0,i.Lk)("input",{checked:e.store.state.settings.enhancedUserListEnabled,type:"checkbox",name:"enhancedUserListEnabled"},null,8,Tl),n[16]||(n[16]=(0,i.eW)(" Use enhanced user list when available ",-1))]),(0,i.Lk)("label",Xl,[(0,i.Lk)("input",{checked:e.store.state.settings.enhancedContextMenuEnabled,type:"checkbox",name:"enhancedContextMenuEnabled"},null,8,jl),n[17]||(n[17]=(0,i.eW)(" Use enhanced context menu ",-1))]),(0,i.Lk)("label",Wl,[(0,i.Lk)("input",{checked:e.store.state.settings.showInputNick,type:"checkbox",name:"showInputNick"},null,8,Pl),n[18]||(n[18]=(0,i.eW)(" Show current nick in the input box ",-1))]),(0,i.Lk)("label",Rl,[(0,i.Lk)("input",{checked:e.store.state.settings.jumptoEabled,type:"checkbox",name:"jumptoEabled"},null,8,Il),n[19]||(n[19]=(0,i.eW)(' Enable "Jump to" in sidebar ',-1))]),(0,i.Lk)("label",Nl,[(0,i.Lk)("input",{checked:e.store.state.settings.filterdmsEnabled,type:"checkbox",name:"filterdmsEnabled"},null,8,Ul),n[20]||(n[20]=(0,i.eW)(' Enable "Filter DMs" in DM section ',-1))]),(0,i.Lk)("label",Fl,[(0,i.Lk)("input",{checked:e.store.state.settings.showAllDMs,type:"checkbox",name:"showAllDMs"},null,8,Ol),n[21]||(n[21]=(0,i.eW)(" Always show all DM channels in sidebar ",-1))]),(0,i.Lk)("label",ql,[(0,i.Lk)("input",{checked:e.store.state.settings.compactSidebar,type:"checkbox",name:"compactSidebar"},null,8,Kl),n[22]||(n[22]=(0,i.eW)(" Use compact sidebar on Desktop ",-1))])]),n[32]||(n[32]=(0,i.Lk)("h2",null,"Visual Aids",-1)),(0,i.Lk)("div",null,[(0,i.Lk)("label",Dl,[(0,i.Lk)("input",{checked:e.store.state.settings.coloredNicks,type:"checkbox",name:"coloredNicks"},null,8,Bl),n[23]||(n[23]=(0,i.eW)(" Enable colored nicknames ",-1))]),(0,i.Lk)("label",$l,[(0,i.Lk)("input",{checked:e.store.state.settings.autocomplete,type:"checkbox",name:"autocomplete"},null,8,Hl),n[24]||(n[24]=(0,i.eW)(" Enable autocomplete ",-1))])]),(0,i.Lk)("div",null,[(0,i.Lk)("label",Ql,[n[25]||(n[25]=(0,i.Lk)("label",{for:"nickPostfix",class:"opt"},[(0,i.eW)(" Nick autocomplete postfix "),(0,i.Lk)("span",{class:"tooltipped tooltipped-n tooltipped-no-delay","aria-label":"Nick autocomplete postfix (for example a comma)"},[(0,i.Lk)("button",{class:"extra-help"})])],-1)),(0,i.Lk)("input",{id:"nickPostfix",value:e.store.state.settings.nickPostfix,type:"text",name:"nickPostfix",class:"input",placeholder:"Nick autocomplete postfix (e.g. ', ')"},null,8,zl)])]),n[33]||(n[33]=(0,i.Lk)("h2",null,"Theme",-1)),(0,i.Lk)("div",null,[n[26]||(n[26]=(0,i.Lk)("label",{for:"theme-select",class:"sr-only"},"Theme",-1)),(0,i.Lk)("select",{id:"theme-select",value:e.store.state.settings.theme,name:"theme",class:"input"},[((0,i.uX)(!0),(0,i.CE)(i.FK,null,(0,i.pI)(e.store.state.serverConfiguration?.themes,e=>((0,i.uX)(),(0,i.CE)("option",{key:e.name,value:e.name},(0,l.v_)(e.displayName),9,Yl))),128))],8,Vl)]),(0,i.Lk)("div",null,[n[27]||(n[27]=(0,i.Lk)("h2",null,"Custom Stylesheet",-1)),n[28]||(n[28]=(0,i.Lk)("label",{for:"user-specified-css-input",class:"sr-only"}," Custom stylesheet. You can override any style with CSS here. ",-1)),(0,i.Lk)("textarea",{id:"user-specified-css-input",value:e.store.state.settings.userStyles,class:"input",name:"userStyles",placeholder:"/* You can override any style with CSS here */"},null,8,Jl)])])}]]),er={key:0},nr={key:1},tr={class:"opt"},ar=["checked"],sr={key:2},or={class:"opt"},ir=["checked"],lr={key:3},rr={class:"opt"},cr=["checked"],ur={key:4},dr={class:"opt"},pr=["checked"],hr={key:0,class:"settings-sync-panel"},gr={key:1,class:"settings-sync-panel"},mr={key:5},kr={class:"opt"},fr=["value"];let br=null;window.addEventListener("beforeinstallprompt",e=>{e.preventDefault(),br=e});const vr=(0,i.pM)({name:"GeneralSettings",setup(){const e=(0,o.Pj)(),n=(0,x.KR)(!1),t=(0,i.EW)(()=>null!==br);return(0,i.sV)(()=>{n.value=!!window.navigator.registerProtocolHandler&&!e.state.serverConfiguration?.lockNetwork}),{store:e,canRegisterProtocol:n,hasInstallPromptEvent:t,nativeInstallPrompt:()=>{br&&(br.prompt().catch(e=>{console.error(e)}),br=null)},onForceSyncClick:()=>{e.dispatch("settings/syncAll",!0).catch(e=>{console.error(e)}),e.dispatch("settings/update",{name:"syncSettings",value:!0,sync:!0}).catch(e=>{console.error(e)})},registerProtocol:()=>{const e=document.location.origin+document.location.pathname+"?uri=%s";window.navigator.registerProtocolHandler("irc",e),window.navigator.registerProtocolHandler("ircs",e)}}}}),wr=(0,q.A)(vr,[["render",function(e,n,t,a,o,l){return(0,i.uX)(),(0,i.CE)("div",null,[e.canRegisterProtocol||e.hasInstallPromptEvent?((0,i.uX)(),(0,i.CE)("div",er,[n[3]||(n[3]=(0,i.Lk)("h2",null,"Native app",-1)),e.hasInstallPromptEvent?((0,i.uX)(),(0,i.CE)("button",{key:0,type:"button",class:"btn",onClick:n[0]||(n[0]=(0,s.D$)((...n)=>e.nativeInstallPrompt&&e.nativeInstallPrompt(...n),["prevent"]))}," Add The Lounge to Home screen ")):(0,i.Q3)("",!0),e.canRegisterProtocol?((0,i.uX)(),(0,i.CE)("button",{key:1,type:"button",class:"btn",onClick:n[1]||(n[1]=(0,s.D$)((...n)=>e.registerProtocol&&e.registerProtocol(...n),["prevent"]))}," Open irc:// URLs with The Lounge ")):(0,i.Q3)("",!0)])):(0,i.Q3)("",!0),e.store.state.serverConfiguration?.fileUpload?((0,i.uX)(),(0,i.CE)("div",nr,[n[6]||(n[6]=(0,i.Lk)("h2",null,"File uploads",-1)),(0,i.Lk)("div",null,[(0,i.Lk)("label",tr,[(0,i.Lk)("input",{checked:e.store.state.settings.uploadCanvas,type:"checkbox",name:"uploadCanvas"},null,8,ar),n[4]||(n[4]=(0,i.eW)(" Attempt to remove metadata from images before uploading ",-1)),n[5]||(n[5]=(0,i.Lk)("span",{class:"tooltipped tooltipped-n tooltipped-no-delay","aria-label":"This option renders the image into a canvas element to remove metadata from the image.\n\tThis may break orientation if your browser does not support that."},[(0,i.Lk)("button",{class:"extra-help"})],-1))])])])):(0,i.Q3)("",!0),e.store.state.settings.searchEnabled?((0,i.uX)(),(0,i.CE)("div",sr,[n[8]||(n[8]=(0,i.Lk)("h2",null,"Enhanced search",-1)),(0,i.Lk)("label",or,[(0,i.Lk)("input",{checked:e.store.state.settings.enableEnhancedSearch,type:"checkbox",name:"enableEnhancedSearch"},null,8,ir),n[7]||(n[7]=(0,i.eW)(" Enable enhanced search with 'Jump to message' ",-1))])])):(0,i.Q3)("",!0),e.store.state.settings.searchEnabled?((0,i.uX)(),(0,i.CE)("div",lr,[n[11]||(n[11]=(0,i.Lk)("h2",null,"Input",-1)),(0,i.Lk)("label",rr,[(0,i.Lk)("input",{checked:e.store.state.settings.enableRainbowHotkey,type:"checkbox",name:"enableRainbowHotkey"},null,8,cr),n[9]||(n[9]=(0,i.eW)(" Enable rainbow messages with 'Ctrl+R' hotkey ",-1)),n[10]||(n[10]=(0,i.Lk)("span",{class:"tooltipped tooltipped-n tooltipped-no-delay","aria-label":"You can still use rainbow text with '/rainbow' or '/rgb'"},[(0,i.Lk)("button",{class:"extra-help"})],-1))])])):(0,i.Q3)("",!0),e.store.state.serverConfiguration?.public?(0,i.Q3)("",!0):((0,i.uX)(),(0,i.CE)("div",ur,[n[16]||(n[16]=(0,i.Lk)("h2",null,"Settings synchronisation",-1)),(0,i.Lk)("label",dr,[(0,i.Lk)("input",{checked:e.store.state.settings.syncSettings,type:"checkbox",name:"syncSettings"},null,8,pr),n[12]||(n[12]=(0,i.eW)(" Synchronize settings with other clients ",-1))]),e.store.state.settings.syncSettings?(0,i.Q3)("",!0):((0,i.uX)(),(0,i.CE)(i.FK,{key:0},[e.store.state.serverHasSettings?((0,i.uX)(),(0,i.CE)("div",hr,[n[13]||(n[13]=(0,i.Lk)("p",null,[(0,i.Lk)("strong",null,"Warning:"),(0,i.eW)(" Checking this box will override the settings of this client with those stored on the server. ")],-1)),n[14]||(n[14]=(0,i.Lk)("p",null," Use the button below to enable synchronization, and override any settings already synced to the server. ",-1)),(0,i.Lk)("button",{type:"button",class:"btn btn-small",onClick:n[2]||(n[2]=(...n)=>e.onForceSyncClick&&e.onForceSyncClick(...n))}," Sync settings and enable ")])):((0,i.uX)(),(0,i.CE)("div",gr,[...n[15]||(n[15]=[(0,i.Lk)("p",null,[(0,i.Lk)("strong",null,"Warning:"),(0,i.eW)(" No settings have been synced before. Enabling this will sync all settings of this client as the base for other clients. ")],-1)])]))],64))])),e.store.state.serverConfiguration?.public?(0,i.Q3)("",!0):((0,i.uX)(),(0,i.CE)("div",mr,[n[18]||(n[18]=(0,i.Lk)("h2",null,"Automatic away message",-1)),(0,i.Lk)("label",kr,[n[17]||(n[17]=(0,i.Lk)("label",{for:"awayMessage",class:"sr-only"},"Automatic away message",-1)),(0,i.Lk)("input",{id:"awayMessage",value:e.store.state.settings.awayMessage,type:"text",name:"awayMessage",class:"input",placeholder:"Away message if The Lounge is not open"},null,8,fr)])]))])}]]),yr={key:0,id:"change-password",role:"group","aria-labelledby":"label-change-password"},_r={class:"password-container"},Cr=["type"],Lr={class:"password-container"},Mr=["type"],Er={class:"password-container"},xr=["type"],Sr={key:0,class:"feedback success"},Ar={key:1,class:"feedback error"},Tr={key:1,class:"session-list",role:"group"},Xr={key:2},jr={key:3},Wr={class:"session-item"},Pr={class:"session-item-info"},Rr=["href"],Ir={key:0,class:"session-usage"},Nr={key:1,class:"session-usage"},Ur={class:"session-item-btn"},Fr={reload(){window.location.reload()}};class Or{static signout(){h.A.clear(),Fr.reload()}}const qr=(0,i.pM)({name:"Session",props:{session:{type:Object,required:!0}},setup:e=>({lastUse:(0,i.EW)(()=>(0,_s.A)(e.session.lastUse)),signOut:()=>{e.session.current?(re.A.emit("sign-out"),Or.signout()):re.A.emit("sign-out",e.session.token)}})}),Kr=(0,q.A)(qr,[["render",function(e,n,t,a,o,r){return(0,i.uX)(),(0,i.CE)("div",Wr,[(0,i.Lk)("div",Pr,[(0,i.Lk)("strong",null,(0,l.v_)(e.session.agent),1),(0,i.Lk)("a",{href:"https://ipinfo.io/"+e.session.ip,target:"_blank",rel:"noopener"},(0,l.v_)(e.session.ip),9,Rr),e.session.active>1?((0,i.uX)(),(0,i.CE)("p",Ir," Active in "+(0,l.v_)(e.session.active)+" browsers ",1)):e.session.current||e.session.active?(0,i.Q3)("",!0):((0,i.uX)(),(0,i.CE)("p",Nr,[n[1]||(n[1]=(0,i.eW)(" Last used on ",-1)),(0,i.Lk)("time",null,(0,l.v_)(e.lastUse),1)]))]),(0,i.Lk)("div",Ur,[(0,i.Lk)("button",{class:"btn",onClick:n[0]||(n[0]=(0,s.D$)((...n)=>e.signOut&&e.signOut(...n),["prevent"]))},[e.session.current?((0,i.uX)(),(0,i.CE)(i.FK,{key:0},[(0,i.eW)("Sign out")],64)):((0,i.uX)(),(0,i.CE)(i.FK,{key:1},[(0,i.eW)("Revoke")],64))])])])}]]),Dr=(0,i.pM)({name:"UserSettings",components:{RevealPassword:pe,Session:Kr},setup(){const e=(0,o.Pj)(),n=(0,x.KR)(),t=(0,x.KR)(""),a=(0,x.KR)(""),s=(0,x.KR)(""),l=(0,i.EW)(()=>e.state.sessions.find(e=>e.current)),r=(0,i.EW)(()=>e.state.sessions.filter(e=>!e.current&&e.active>0)),c=(0,i.EW)(()=>e.state.sessions.filter(e=>!e.current&&!e.active));return(0,i.sV)(()=>{re.A.emit("sessions:get")}),{store:e,passwordChangeStatus:n,passwordErrors:{missing_fields:"Please fill in all fields",password_mismatch:"Both new password fields must match",password_incorrect:"The current password field does not match your account password",update_failed:"Failed to update your password"},currentSession:l,activeSessions:r,otherSessions:c,changePassword:()=>{const e={old_password:t.value,new_password:a.value,verify_password:s.value};e.old_password&&e.new_password&&e.verify_password?e.new_password===e.verify_password?(re.A.once("change-password",e=>{n.value=e}),re.A.emit("change-password",e)):n.value={success:!1,error:"password_mismatch"}:n.value={success:!1,error:"missing_fields"}},old_password:t,new_password:a,verify_password:s}}}),Br=(0,q.A)(Dr,[["render",function(e,n,t,a,o,r){const c=(0,i.g2)("RevealPassword"),u=(0,i.g2)("Session"),d=(0,i.g2)("session;"),p=(0,i.g2)("session");return(0,i.uX)(),(0,i.CE)("div",null,[e.store.state.serverConfiguration?.public||e.store.state.serverConfiguration?.ldapEnabled?(0,i.Q3)("",!0):((0,i.uX)(),(0,i.CE)("div",yr,[n[7]||(n[7]=(0,i.Lk)("h2",{id:"label-change-password"},"Change password",-1)),(0,i.Lk)("div",_r,[n[4]||(n[4]=(0,i.Lk)("label",{for:"current-password",class:"sr-only"}," Enter current password ",-1)),(0,i.bF)(c,null,{default:(0,i.k6)(t=>[(0,i.bo)((0,i.Lk)("input",{id:"current-password","onUpdate:modelValue":n[0]||(n[0]=n=>e.old_password=n),autocomplete:"current-password",type:t.isVisible?"text":"password",name:"old_password",class:"input",placeholder:"Enter current password"},null,8,Cr),[[s.hp,e.old_password]])]),_:1})]),(0,i.Lk)("div",Lr,[n[5]||(n[5]=(0,i.Lk)("label",{for:"new-password",class:"sr-only"}," Enter desired new password ",-1)),(0,i.bF)(c,null,{default:(0,i.k6)(t=>[(0,i.bo)((0,i.Lk)("input",{id:"new-password","onUpdate:modelValue":n[1]||(n[1]=n=>e.new_password=n),type:t.isVisible?"text":"password",name:"new_password",autocomplete:"new-password",class:"input",placeholder:"Enter desired new password"},null,8,Mr),[[s.hp,e.new_password]])]),_:1})]),(0,i.Lk)("div",Er,[n[6]||(n[6]=(0,i.Lk)("label",{for:"new-password-verify",class:"sr-only"}," Repeat new password ",-1)),(0,i.bF)(c,null,{default:(0,i.k6)(t=>[(0,i.bo)((0,i.Lk)("input",{id:"new-password-verify","onUpdate:modelValue":n[2]||(n[2]=n=>e.verify_password=n),type:t.isVisible?"text":"password",name:"verify_password",autocomplete:"new-password",class:"input",placeholder:"Repeat new password"},null,8,xr),[[s.hp,e.verify_password]])]),_:1})]),e.passwordChangeStatus&&e.passwordChangeStatus.success?((0,i.uX)(),(0,i.CE)("div",Sr," Successfully updated your password ")):e.passwordChangeStatus&&e.passwordChangeStatus.error?((0,i.uX)(),(0,i.CE)("div",Ar,(0,l.v_)(e.passwordErrors[e.passwordChangeStatus.error]),1)):(0,i.Q3)("",!0),(0,i.Lk)("div",null,[(0,i.Lk)("button",{type:"submit",class:"btn",onClick:n[3]||(n[3]=(0,s.D$)((...n)=>e.changePassword&&e.changePassword(...n),["prevent"]))}," Change password ")])])),e.store.state.serverConfiguration?.public?(0,i.Q3)("",!0):((0,i.uX)(),(0,i.CE)("div",Tr,[n[10]||(n[10]=(0,i.Lk)("h2",null,"Sessions",-1)),n[11]||(n[11]=(0,i.Lk)("h3",null,"Current session",-1)),e.currentSession?((0,i.uX)(),(0,i.Wv)(u,{key:0,session:e.currentSession},null,8,["session"])):(0,i.Q3)("",!0),e.activeSessions.length>0?((0,i.uX)(),(0,i.CE)(i.FK,{key:1},[n[8]||(n[8]=(0,i.Lk)("h3",null,"active sessions",-1)),((0,i.uX)(!0),(0,i.CE)(i.FK,null,(0,i.pI)(e.activeSessions,e=>((0,i.uX)(),(0,i.Wv)(d,{key:e.token,session:e},null,8,["session"]))),128))],64)):(0,i.Q3)("",!0),n[12]||(n[12]=(0,i.Lk)("h3",null,"other sessions",-1)),0===e.store.state.sessions.length?((0,i.uX)(),(0,i.CE)("p",Xr,"loadingโ€ฆ")):0===e.otherSessions.length?((0,i.uX)(),(0,i.CE)("p",jr,[...n[9]||(n[9]=[(0,i.Lk)("em",null,"you are not currently logged in to any other device.",-1)])])):((0,i.uX)(!0),(0,i.CE)(i.FK,{key:4},(0,i.pI)(e.otherSessions,e=>((0,i.uX)(),(0,i.Wv)(p,{key:e.token,session:e},null,8,["session"]))),128))]))])}]]),$r=["disabled"],Hr={key:0,class:"error"},Qr={key:1,class:"error"},zr={class:"opt"},Vr=["checked","disabled"],Yr={key:0,class:"error"},Jr={key:1,id:"warnBlockedDesktopNotifications",class:"error"},Gr={key:2,id:"warnBlockedDesktopNotifications",class:"error"},Zr={class:"opt"},ec=["checked"],nc={class:"opt"},tc={class:"opt"},ac=["checked"],sc={key:1},oc={class:"opt"},ic=["value"],lc={key:2},rc={class:"opt"},cc=["value"],uc=function(){o.M_.commit("pushNotificationState","loading"),navigator.serviceWorker.ready.then(e=>e.pushManager.getSubscription().then(n=>n?(re.A.emit("push:unregister"),n.unsubscribe().then(e=>{o.M_.commit("pushNotificationState",e?"supported":"unsupported")})):e.pushManager.subscribe({applicationServerKey:o.M_.state.serverConfiguration?.applicationServerKey,userVisibleOnly:!0}).then(e=>{re.A.emit("push:register",e.toJSON()),o.M_.commit("pushNotificationState","subscribed"),o.M_.commit("refreshDesktopNotificationState")}))).catch(e=>{o.M_.commit("pushNotificationState","unsupported"),o.M_.commit("refreshDesktopNotificationState"),console.error(e)})};re.A.once("push:issubscribed",function(e){"https:"===location.protocol||"localhost"===location.hostname||"127.0.0.1"===location.hostname?"serviceWorker"in navigator&&navigator.serviceWorker.register("service-worker.js").then(n=>{if(o.M_.commit("hasServiceWorker"),n.pushManager)return n.pushManager.getSubscription().then(n=>{n&&!1===e?n.unsubscribe().then(e=>{o.M_.commit("pushNotificationState",e?"supported":"unsupported")}):o.M_.commit("pushNotificationState",n?"subscribed":"supported")})}).catch(e=>{o.M_.commit("pushNotificationState","unsupported"),console.error(e)}):o.M_.commit("pushNotificationState","nohttps")});const dc=(0,i.pM)({name:"NotificationSettings",setup(){const e=(0,o.Pj)();return{isIOS:(0,i.EW)(()=>["iPad Simulator","iPhone Simulator","iPod Simulator","iPad","iPhone","iPod"].includes(navigator.platform)||navigator.userAgent.includes("Mac")&&"ontouchend"in document),store:e,playNotification:()=>{const e=new Audio;e.src="audio/pop.wav",e.play()},onPushButtonClick:()=>{uc()}}}}),pc=(0,q.A)(dc,[["render",function(e,n,t,a,o,l){return(0,i.uX)(),(0,i.CE)("div",null,[e.store.state.serverConfiguration?.public?(0,i.Q3)("",!0):((0,i.uX)(),(0,i.CE)(i.FK,{key:0},[n[4]||(n[4]=(0,i.Lk)("h2",null,"Push Notifications",-1)),(0,i.Lk)("div",null,[(0,i.Lk)("button",{id:"pushNotifications",type:"button",class:"btn",disabled:"supported"!==e.store.state.pushNotificationState&&"subscribed"!==e.store.state.pushNotificationState,onClick:n[0]||(n[0]=(...n)=>e.onPushButtonClick&&e.onPushButtonClick(...n))},["subscribed"===e.store.state.pushNotificationState?((0,i.uX)(),(0,i.CE)(i.FK,{key:0},[(0,i.eW)(" Unsubscribe from push notifications ")],64)):"loading"===e.store.state.pushNotificationState?((0,i.uX)(),(0,i.CE)(i.FK,{key:1},[(0,i.eW)(" Loadingโ€ฆ ")],64)):((0,i.uX)(),(0,i.CE)(i.FK,{key:2},[(0,i.eW)(" Subscribe to push notifications ")],64))],8,$r),"nohttps"===e.store.state.pushNotificationState?((0,i.uX)(),(0,i.CE)("div",Hr,[...n[2]||(n[2]=[(0,i.Lk)("strong",null,"Warning",-1),(0,i.eW)(": Push notifications are only supported over HTTPS connections. ",-1)])])):(0,i.Q3)("",!0),"unsupported"===e.store.state.pushNotificationState?((0,i.uX)(),(0,i.CE)("div",Qr,[...n[3]||(n[3]=[(0,i.Lk)("strong",null,"Warning",-1),(0,i.eW)(": ",-1),(0,i.Lk)("span",null,"Push notifications are not supported by your browser.",-1)])])):(0,i.Q3)("",!0)])],64)),n[14]||(n[14]=(0,i.Lk)("h2",null,"Browser Notifications",-1)),(0,i.Lk)("div",null,[(0,i.Lk)("label",zr,[(0,i.Lk)("input",{id:"desktopNotifications",checked:e.store.state.settings.desktopNotifications,disabled:"nohttps"===e.store.state.desktopNotificationState,type:"checkbox",name:"desktopNotifications"},null,8,Vr),n[8]||(n[8]=(0,i.eW)(" Enable browser notifications",-1)),n[9]||(n[9]=(0,i.Lk)("br",null,null,-1)),"unsupported"===e.store.state.desktopNotificationState?((0,i.uX)(),(0,i.CE)("div",Yr,[...n[5]||(n[5]=[(0,i.Lk)("strong",null,"Warning",-1),(0,i.eW)(": Notifications are not supported by your browser. ",-1)])])):(0,i.Q3)("",!0),"nohttps"===e.store.state.desktopNotificationState?((0,i.uX)(),(0,i.CE)("div",Jr,[...n[6]||(n[6]=[(0,i.Lk)("strong",null,"Warning",-1),(0,i.eW)(": Notifications are only supported over HTTPS connections. ",-1)])])):(0,i.Q3)("",!0),"blocked"===e.store.state.desktopNotificationState?((0,i.uX)(),(0,i.CE)("div",Gr,[...n[7]||(n[7]=[(0,i.Lk)("strong",null,"Warning",-1),(0,i.eW)(": Notifications are blocked by your browser. ",-1)])])):(0,i.Q3)("",!0)])]),(0,i.Lk)("div",null,[(0,i.Lk)("label",Zr,[(0,i.Lk)("input",{checked:e.store.state.settings.notification,type:"checkbox",name:"notification"},null,8,ec),n[10]||(n[10]=(0,i.eW)(" Enable notification sound ",-1))])]),(0,i.Lk)("div",null,[(0,i.Lk)("div",nc,[(0,i.Lk)("button",{id:"play",onClick:n[1]||(n[1]=(0,s.D$)((...n)=>e.playNotification&&e.playNotification(...n),["prevent"]))},"Play sound")])]),(0,i.Lk)("div",null,[(0,i.Lk)("label",tc,[(0,i.Lk)("input",{checked:e.store.state.settings.notifyAllMessages,type:"checkbox",name:"notifyAllMessages"},null,8,ac),n[11]||(n[11]=(0,i.eW)(" Enable notification for all messages ",-1))])]),e.store.state.serverConfiguration?.public?(0,i.Q3)("",!0):((0,i.uX)(),(0,i.CE)("div",sc,[(0,i.Lk)("label",oc,[n[12]||(n[12]=(0,i.Lk)("label",{for:"highlights",class:"opt"},[(0,i.eW)(" Custom highlights "),(0,i.Lk)("span",{class:"tooltipped tooltipped-n tooltipped-no-delay","aria-label":"If a message contains any of these comma-separated\nexpressions, it will trigger a highlight."},[(0,i.Lk)("button",{class:"extra-help"})])],-1)),(0,i.Lk)("input",{id:"highlights",value:e.store.state.settings.highlights,type:"text",name:"highlights",class:"input",autocomplete:"off",placeholder:"Comma-separated, e.g.: word, some more words, anotherword"},null,8,ic)])])),e.store.state.serverConfiguration?.public?(0,i.Q3)("",!0):((0,i.uX)(),(0,i.CE)("div",lc,[(0,i.Lk)("label",rc,[n[13]||(n[13]=(0,i.Lk)("label",{for:"highlightExceptions",class:"opt"},[(0,i.eW)(" Highlight exceptions "),(0,i.Lk)("span",{class:"tooltipped tooltipped-n tooltipped-no-delay","aria-label":"If a message contains any of these comma-separated\nexpressions, it will not trigger a highlight even if it contains\nyour nickname or expressions defined in custom highlights."},[(0,i.Lk)("button",{class:"extra-help"})])],-1)),(0,i.Lk)("input",{id:"highlightExceptions",value:e.store.state.settings.highlightExceptions,type:"text",name:"highlightExceptions",class:"input",autocomplete:"off",placeholder:"Comma-separated, e.g.: word, some more words, anotherword"},null,8,cc)])]))])}]]),hc=(0,S.aE)({history:(0,S.Bt)(),routes:[{name:"SignIn",path:"/sign-in",component:ge,beforeEnter(e,n,t){o.M_.state.appLoaded?t(!1):t()}},{name:"Connect",path:"/connect",component:Ln,props:e=>({queryParams:e.query})},{path:"/settings",component:Nn,children:[{name:"General",path:"",component:wr},{name:"Appearance",path:"appearance",component:Zl},{name:"Account",path:"account",component:Br,props:!0},{name:"Notifications",path:"notifications",component:pc}]},{name:"Help",path:"/help",component:Ra},{name:"Changelog",path:"/changelog",component:Ba},{name:"NetworkEdit",path:"/edit-network/:uuid",component:Ha},{name:"RoutedChat",path:"/chan-:id",component:tl},{name:"SearchResults",path:"/chan-:id/search",component:go}]});async function gc(e,n={},t={}){hc.currentRoute.value.name?await hc.push({name:e,params:n,query:t}):await hc.replace({name:e,params:n,query:t}).catch(()=>{})}function mc(e,n,t){const a={};n&&(a.focused=n),t&&(a.focusedTime=t),gc("RoutedChat",{id:e.id},a)}hc.beforeEach((e,n,t)=>{o.M_.state.appLoaded||"SignIn"===e.name?t():o.M_.watch(e=>e.appLoaded,()=>t())}),hc.beforeEach(e=>!(!e.matched.length||"RoutedChat"===e.name&&!o.M_.getters.findChannel(Number(e.params.id))||"NetworkEdit"===e.name&&!o.M_.getters.findNetwork(String(e.params.uuid)))),hc.afterEach(e=>{if(o.M_.state.appLoaded&&window.innerWidth<=a.mobileViewportPixels&&o.M_.commit("sidebarOpen",!1),o.M_.state.activeChannel){const n=o.M_.state.activeChannel.channel;"RoutedChat"!==e.name&&o.M_.commit("activeChannel",void 0),n.messages?.length>0&&(n.firstUnread=n.messages[n.messages.length-1].id),o.M_.state.settings.searchEnabled&&o.M_.state.settings.enableEnhancedSearch||n.messages?.length>100&&(n.messages.splice(0,n.messages.length-100),n.moreHistoryAvailable=!0)}}),"serviceWorker"in navigator&&navigator.serviceWorker.addEventListener("message",e=>{if(e.data&&"open"===e.data.type){const n=parseInt(e.data.channel.substring(5),10),t=o.M_.getters.findChannel(n);t&&mc(t.channel)}});const kc=(0,i.pM)({name:"ChannelWrapper",props:{network:{type:Object,required:!0},channel:{type:Object,required:!0},active:Boolean,isFiltering:Boolean},setup(e){const n=(0,o.Pj)();return{activeChannel:(0,i.EW)(()=>n.state.activeChannel),isChannelVisible:(0,i.EW)(()=>e.isFiltering||!te(e.network,e.channel)),getAriaLabel:()=>{const n=[],t=e.channel.type;return e.channel.unread>0&&(e.channel.unread>1?n.push(`${e.channel.unread} unread messages`):n.push(`${e.channel.unread} unread message`)),e.channel.highlight>0&&(e.channel.highlight>1?n.push(`${e.channel.highlight} mentions`):n.push(`${e.channel.highlight} mention`)),`${t}: ${e.channel.name} ${n.length?`(${n.join(", ")})`:""}`},click:()=>{e.isFiltering||mc(e.channel)},openContextMenu:n=>{r.A.emit("contextmenu:channel",{event:n,channel:e.channel,network:e.network})}}}}),fc=(0,q.A)(kc,[["render",function(e,n,t,a,o,r){return e.isChannelVisible?((0,i.uX)(),(0,i.CE)("div",{key:0,ref:"element",class:(0,l.C4)(["channel-list-item",{active:e.active},{"parted-channel":"channel"===e.channel.type&&0===e.channel.state},{"has-draft":e.channel.pendingMessage},{"has-unread":e.channel.unread},{"has-highlight":e.channel.highlight},{"not-secure":"lobby"===e.channel.type&&e.network.status.connected&&!e.network.status.secure},{"not-connected":"lobby"===e.channel.type&&!e.network.status.connected},{"is-muted":e.channel.muted}]),"aria-label":e.getAriaLabel(),title:e.getAriaLabel(),"data-name":e.channel.name,"data-type":e.channel.type,"aria-controls":"#chan-"+e.channel.id,"aria-selected":e.active,style:(0,l.Tr)(e.channel.closed?{transition:"none",opacity:.4}:void 0),role:"tab",onClick:n[0]||(n[0]=(...n)=>e.click&&e.click(...n)),onContextmenu:n[1]||(n[1]=(0,s.D$)((...n)=>e.openContextMenu&&e.openContextMenu(...n),["prevent"]))},[(0,i.RG)(e.$slots,"default",{network:e.network,channel:e.channel,activeChannel:e.activeChannel})],46,ne)):(0,i.Q3)("",!0)}]]),bc=(0,i.pM)({name:"Channel",components:{ChannelWrapper:fc},props:{network:{type:Object,required:!0},isJoinChannelShown:Boolean,active:Boolean,isFiltering:Boolean},emits:["toggle-join-channel"],setup(e){const n=(0,i.EW)(()=>e.network.channels[0]),t=(0,i.EW)(()=>e.isJoinChannelShown?"Cancel":"Join a channelโ€ฆ"),a=(0,i.EW)(()=>ee(n.value.unread));return{channel:n,joinChannelLabel:t,unreadCount:a,onCollapseClick:()=>{Z(e.network,!e.network.isCollapsed)},getExpandLabel:e=>e.isCollapsed?"Expand":"Collapse"}}}),vc=(0,q.A)(bc,[["render",function(e,n,t,a,o,r){const c=(0,i.g2)("ChannelWrapper");return(0,i.uX)(),(0,i.Wv)(c,(0,i.v6)(e.$props,{channel:e.channel}),{default:(0,i.k6)(()=>[e.network.channels.length>1?((0,i.uX)(),(0,i.CE)("button",{key:0,"aria-controls":"network-"+e.network.uuid,"aria-label":e.getExpandLabel(e.network),"aria-expanded":!e.network.isCollapsed,class:"collapse-network",onClick:n[0]||(n[0]=(0,s.D$)((...n)=>e.onCollapseClick&&e.onCollapseClick(...n),["stop"]))},[...n[2]||(n[2]=[(0,i.Lk)("span",{class:"collapse-network-icon"},null,-1)])],8,$)):((0,i.uX)(),(0,i.CE)("span",H)),(0,i.Lk)("div",Q,[(0,i.Lk)("span",{title:e.channel.name,class:"name"},(0,l.v_)(e.channel.name),9,z),e.network.status.connected&&!e.network.status.secure?((0,i.uX)(),(0,i.CE)("span",V,[...n[3]||(n[3]=[(0,i.Lk)("span",{class:"not-secure-icon"},null,-1)])])):(0,i.Q3)("",!0),e.network.status.connected?(0,i.Q3)("",!0):((0,i.uX)(),(0,i.CE)("span",Y,[...n[4]||(n[4]=[(0,i.Lk)("span",{class:"not-connected-icon"},null,-1)])])),e.channel.unread?((0,i.uX)(),(0,i.CE)("span",{key:2,class:(0,l.C4)([{highlight:e.channel.highlight},"badge"])},(0,l.v_)(e.unreadCount),3)):(0,i.Q3)("",!0)]),(0,i.Lk)("span",{"aria-label":e.joinChannelLabel,class:"add-channel-tooltip tooltipped tooltipped-w tooltipped-no-touch"},[(0,i.Lk)("button",{class:(0,l.C4)(["add-channel",{opened:e.isJoinChannelShown}]),"aria-controls":"join-channel-"+e.channel.id,"aria-label":e.joinChannelLabel,onClick:n[1]||(n[1]=(0,s.D$)(n=>e.$emit("toggle-join-channel"),["stop"]))},null,10,G)],8,J)]),_:1},16,["channel"])}]]),wc={class:"name"},yc={key:0,class:"parted-channel-tooltip tooltipped tooltipped-w","aria-label":"Not currently joined"},_c={class:"close-tooltip tooltipped tooltipped-w","aria-label":"Leave"},Cc={key:2,class:"close-tooltip tooltipped tooltipped-w","aria-label":"Close"};function Lc(e){return()=>{e.type!==Zs.rR.LOBBY?(e.closed=!0,re.A.emit("input",{target:Number(e.id),text:"/close"})):r.A.emit("confirm-dialog",{title:"Remove network",text:`Are you sure you want to quit and remove ${e.name}? This cannot be undone.`,button:"Remove network"},n=>{n&&(e.closed=!0,re.A.emit("input",{target:Number(e.id),text:"/quit"}))})}}const Mc=(0,i.pM)({name:"Channel",components:{ChannelWrapper:fc},props:{network:{type:Object,required:!0},channel:{type:Object,required:!0},active:Boolean,isFiltering:Boolean},setup:e=>({store:(0,o.Pj)(),unreadCount:(0,i.EW)(()=>ee(e.channel.unread)),close:Lc(e.channel)})}),Ec=(0,q.A)(Mc,[["render",function(e,n,t,a,o,r){const c=(0,i.g2)("ChannelWrapper");return(0,i.uX)(),(0,i.Wv)(c,(0,i.v6)({ref:"wrapper"},e.$props),{default:(0,i.k6)(()=>[(0,i.Lk)("span",wc,(0,l.v_)(e.channel.name),1),!e.channel.unread||!0===e.store.state.settings.disableMutedUnread&&e.channel.muted?(0,i.Q3)("",!0):((0,i.uX)(),(0,i.CE)("span",{key:0,class:(0,l.C4)([{highlight:e.channel.highlight&&!e.channel.muted},"badge"])},(0,l.v_)(e.unreadCount),3)),"channel"===e.channel.type?((0,i.uX)(),(0,i.CE)(i.FK,{key:1},[0===e.channel.state?((0,i.uX)(),(0,i.CE)("span",yc,[...n[2]||(n[2]=[(0,i.Lk)("span",{class:"parted-channel-icon"},null,-1)])])):(0,i.Q3)("",!0),(0,i.Lk)("span",_c,[(0,i.Lk)("button",{class:"close","aria-label":"Leave",onClick:n[0]||(n[0]=(0,s.D$)((...n)=>e.close&&e.close(...n),["stop"]))})])],64)):((0,i.uX)(),(0,i.CE)("span",Cc,[(0,i.Lk)("button",{class:"close","aria-label":"Close",onClick:n[1]||(n[1]=(0,s.D$)((...n)=>e.close&&e.close(...n),["stop"]))})]))]),_:1},16)}]]),xc=["id"],Sc=(0,i.pM)({name:"JoinChannel",directives:{focus:{mounted:e=>e.focus()}},props:{network:{type:Object,required:!0},channel:{type:Object,required:!0}},emits:["toggle-join-channel"],setup(e,{emit:n}){const t=(0,o.Pj)(),a=(0,x.KR)(""),s=(0,x.KR)("");return{inputChannel:a,inputPassword:s,onSubmit:()=>{const o=t.getters.findChannelOnCurrentNetwork(a.value);if(o)mc(o);else{const n=e.network.serverOptions.CHANTYPES;let t=a.value;n&&n.length>0&&!n.includes(t[0])&&(t=n[0]+t),re.A.emit("input",{text:`/join ${t} ${s.value}`,target:e.channel.id})}a.value="",s.value="",n("toggle-join-channel")}}}}),Ac=(0,q.A)(Sc,[["render",function(e,n,t,a,o,l){const r=(0,i.gN)("focus");return(0,i.uX)(),(0,i.CE)("form",{id:"join-channel-"+e.channel.id,class:"join-form",method:"post",action:"",autocomplete:"off",onKeydown:n[2]||(n[2]=(0,s.jR)((0,s.D$)(n=>e.$emit("toggle-join-channel"),["prevent"]),["esc"])),onSubmit:n[3]||(n[3]=(0,s.D$)((...n)=>e.onSubmit&&e.onSubmit(...n),["prevent"]))},[(0,i.bo)((0,i.Lk)("input",{"onUpdate:modelValue":n[0]||(n[0]=n=>e.inputChannel=n),type:"text",class:"input",name:"channel",placeholder:"Channel",pattern:"[^\\s]+",maxlength:"200",title:"The channel name may not contain spaces",required:""},null,512),[[s.Jo,e.inputChannel],[r]]),(0,i.bo)((0,i.Lk)("input",{"onUpdate:modelValue":n[1]||(n[1]=n=>e.inputPassword=n),type:"password",class:"input",name:"key",placeholder:"Password (optional)",pattern:"[^\\s]+",maxlength:"200",title:"The channel password may not contain spaces",autocomplete:"new-password"},null,512),[[s.Jo,e.inputPassword]]),n[4]||(n[4]=(0,i.Lk)("button",{type:"submit",class:"btn btn-small"},"Join",-1))],40,xc)}]]),Tc=["title"],Xc={key:0,class:"dm-unread-badge highlight badge"},jc={key:0,class:"dm-filter"},Wc=(0,i.pM)({name:"DirectMessageSection",components:{Draggable:K,Channel:Ec},props:{network:{type:Object,required:!0},queries:{type:Array,required:!0}},setup(e){const n=e.network.uuid+"-dms",t="thelounge.directMessages.collapsed",a=(0,o.Pj)(),s=(0,x.KR)((()=>{const e=h.A.get(t);return(e?new Set(JSON.parse(e)):new Set).has(n)})()),l=(0,x.KR)(""),r=(0,x.KR)(!1),c=(0,i.EW)(()=>a.state.settings.showAllDMs?Number.MAX_SAFE_INTEGER:5),u=(0,i.EW)(()=>void 0!==e.queries.find(e=>e.id===a.state.activeChannel?.channel.id)),d=(0,i.EW)(()=>e.queries.filter(e=>e.unread>0&&!e.muted).length>0),p=(0,i.EW)(()=>ee(e.queries.filter(e=>e.unread>0&&!e.muted).length)),g=(0,i.EW)(()=>l.value?(0,D.filter)(l.value,e.queries,{extract:e=>e.name}).map(e=>e.original):e.queries),m=(0,i.EW)(()=>[...g.value].sort((e,n)=>e.pinned&&!n.pinned?-1:!e.pinned&&n.pinned?1:e.unread>0&&0===n.unread?-1:0===e.unread&&n.unread>0?1:e.name.toLowerCase().localeCompare(n.name.toLowerCase()))),k=(0,i.EW)(()=>{if(r.value||l.value)return m.value;const e=m.value.filter(e=>e.pinned),n=m.value.filter(e=>!e.pinned&&e.unread>0),t=m.value.filter(e=>!e.pinned&&0===e.unread),a=c.value-e.length-n.length;return a<=0?[...e,...n]:[...e,...n,...t.slice(0,a)]}),f=(0,i.EW)(()=>m.value.length-k.value.length),b=(0,i.EW)(()=>f.value>0&&!l.value);return{uuid:n,store:a,isCollapsed:s,filterText:l,showAll:r,hasUnread:d,totalUnreadCount:p,sortedQueries:m,hiddenCount:f,hasActiveQuery:u,hasHiddenChannels:b,shouldShowChannel:e=>!(!s.value||!e.highlight)||!(s.value&&!e.highlight)&&k.value.includes(e),toggleCollapsed:()=>{s.value=!s.value;const e=h.A.get(t),a=e?new Set(JSON.parse(e)):new Set;s.value?a.add(n):a.delete(n),h.A.set(t,JSON.stringify([...a]))},onDMSort:n=>{const{oldIndex:t,newIndex:a}=n;void 0!==t&&void 0!==a&&t!==a&&re.A.emit("sort:channels",{network:e.network.uuid,order:e.network.channels.map(e=>e.id)})}}}}),Pc=(0,q.A)(Wc,[["render",function(e,n,t,a,o,r){const c=(0,i.g2)("Channel"),u=(0,i.g2)("Draggable");return e.queries.length>0&&!e.network.isCollapsed||e.network.isCollapsed&&(e.hasUnread||e.hasActiveQuery)?((0,i.uX)(),(0,i.CE)("div",{key:0,class:(0,l.C4)(["dm-section",{collapsed:e.isCollapsed}])},[(0,i.Lk)("div",{class:(0,l.C4)(["channel-list-item dm-section-header",e.hasUnread?"has-unread has-highlight":""]),title:"Total Queries: "+e.queries.length+" - Total Unread: "+e.totalUnreadCount,onClick:n[0]||(n[0]=(0,s.D$)((...n)=>e.toggleCollapsed&&e.toggleCollapsed(...n),["stop"]))},[(0,i.Lk)("span",{class:(0,l.C4)(["dm-collapse-icon",{"is-collapsed":e.isCollapsed}])},null,2),n[3]||(n[3]=(0,i.Lk)("span",{class:"dm-section-title"},"Direct Messages",-1)),e.hasUnread?((0,i.uX)(),(0,i.CE)("span",Xc,(0,l.v_)(e.totalUnreadCount),1)):(0,i.Q3)("",!0)],10,Tc),!e.isCollapsed||e.hasActiveQuery||e.hasUnread?((0,i.uX)(),(0,i.CE)(i.FK,{key:0},[e.queries.length>2&&e.store.state.settings.filterdmsEnabled&&!e.isCollapsed?((0,i.uX)(),(0,i.CE)("div",jc,[(0,i.bo)((0,i.Lk)("input",{ref:"filterInput","onUpdate:modelValue":n[1]||(n[1]=n=>e.filterText=n),type:"text",placeholder:"Filter DMs...",class:"dm-filter-input input"},null,512),[[s.Jo,e.filterText]])])):(0,i.Q3)("",!0),(0,i.bF)(u,{list:e.sortedQueries,delay:500,"delay-on-touch-only":!0,"touch-start-threshold":10,draggable:".dm-channel-wrapper","ghost-class":"ui-sortable-ghost","drag-class":"ui-sortable-dragging",group:e.uuid,class:"dm-list","item-key":"id",onChange:e.onDMSort},{item:(0,i.k6)(({element:n})=>[e.shouldShowChannel(n)?((0,i.uX)(),(0,i.CE)("div",{key:0,class:(0,l.C4)(["dm-channel-wrapper",{"is-pinned":n.pinned}])},[((0,i.uX)(),(0,i.Wv)(c,{key:n.id,"data-item":n.id,channel:n,network:e.network,active:e.store.state.activeChannel&&n===e.store.state.activeChannel.channel},null,8,["data-item","channel","network","active"]))],2)):(0,i.Q3)("",!0)]),_:1},8,["list","group","onChange"]),e.hasHiddenChannels?((0,i.uX)(),(0,i.CE)("div",{key:1,class:"channel-list-item dm-show-more",onClick:n[2]||(n[2]=n=>e.showAll=!e.showAll)},(0,l.v_)(e.showAll?"Show less":`Show ${e.hiddenCount} more...`),1)):(0,i.Q3)("",!0)],64)):(0,i.Q3)("",!0)],2)):(0,i.Q3)("",!0)}],["__scopeId","data-v-e4cbcea8"]]),Rc=function([e,n],[t,a]){return Math.hypot(e-t,n-a)},Ic=(0,i.pM)({name:"NetworkList",components:{JoinChannel:Ac,NetworkLobby:vc,Channel:Ec,Draggable:K,DirectMessageSection:Pc},setup(){const e=(0,o.Pj)(),n=(0,x.KR)(""),t=(0,x.KR)(),a=(0,x.KR)(),s=(0,x.KR)(null),l=(0,x.KR)(null),c=(0,x.KR)(!1),d=(e,n,t)=>{const a=e.splice(n,1)[0];e.splice(t,0,a)},p=(0,i.EW)(()=>{const n=[];for(const t of e.state.networks)for(const a of t.channels)e.state.activeChannel&&a===e.state.activeChannel.channel||n.push({network:t,channel:a});return n}),h=(0,i.EW)(()=>(0,D.filter)(n.value,p.value,{extract:e=>e.channel.name}).map(e=>e.original)),m=n=>!!g(n)||(e.state.activeChannel&&Z(e.state.activeChannel.network,!0),!1),k=n=>!!g(n)||(e.state.activeChannel&&Z(e.state.activeChannel.network,!1),!1),f=()=>{s.value!==document.activeElement&&(c.value=!e.state.sidebarOpen,e.commit("sidebarOpen",!0),(0,i.dY)(()=>{s.value?.focus()}))},b=()=>{t.value=null,n.value="",s.value?.blur(),c.value&&e.commit("sidebarOpen",!1)},v=e=>!!g(e)||(s.value===document.activeElement?(b(),!1):(f(),!1)),w=e=>{h.value.length&&(e||(e=h.value[0].channel),t.value=e)},y=()=>{(0,i.dY)(()=>{const e=l.value?.querySelector(".channel-list-item.active");e&&e.scrollIntoView({block:"nearest",inline:"nearest"})})};return(0,i.wB)(n,()=>{w()}),(0,i.sV)(()=>{u().bind("alt+shift+right",k),u().bind("alt+shift+left",m),u().bind("alt+j",v)}),(0,i.xo)(()=>{u().unbind("alt+shift+right"),u().unbind("alt+shift+left"),u().unbind("alt+j")}),{store:e,networklist:l,searchInput:s,searchText:n,results:h,activeSearchItem:t,LONG_TOUCH_DURATION:500,activateSearch:f,deactivateSearch:b,toggleSearch:v,setSearchText:e=>{n.value=e.target.value},setActiveSearchItem:w,scrollToActive:y,selectResult:()=>{n.value&&h.value.length&&t.value&&(mc(t.value),b(),y())},navigateResults:(e,a)=>{if(e.stopImmediatePropagation(),e.preventDefault(),!n.value)return;const s=h.value.map(e=>e.channel);if(!s.length)return void(t.value=null);let o=t.value?s.indexOf(t.value):-1;if(!t.value||-1===o)return t.value=a?s[0]:s[s.length-1],void y();for(o+=a;o<0;)o+=s.length;for(;o>s.length-1;)o-=s.length;t.value=s[o],y()},onChannelSort:n=>{let{oldIndex:t,newIndex:a}=n;if(void 0===t||void 0===a||t===a)return;t+=1,a+=1;const s=n.item.getAttribute("data-item");if(!s)return;const o=parseInt(s),i=e.getters.findChannel(o);i&&(d(i.network.channels,t,a),re.A.emit("sort:channels",{network:i.network.uuid,order:i.network.channels.map(e=>e.id)}))},onNetworkSort:n=>{const{oldIndex:t,newIndex:a}=n;void 0!==t&&void 0!==a&&t!==a&&(d(e.state.networks,t,a),re.A.emit("sort:networks",{order:e.state.networks.map(e=>e.uuid)}))},onDraggableTouchStart:e=>{1===e.touches.length&&document.body.classList.add("force-no-select")},onDraggableTouchMove:e=>{if(a.value&&e.touches.length>0){const n=e.touches[0],t=[n.clientX,n.clientY];Rc(a.value,t)>10&&r.A.emit("contextmenu:cancel")}},onDraggableTouchEnd:e=>{0===e.touches.length&&document.body.classList.remove("force-no-select")},onDraggableChoose:e=>{const n=e.originalEvent;(e=>!!(e.touches&&e.touches[0]||e.pointerType&&"touch"===e.pointerType))(n)&&(e.item.classList.add("ui-sortable-dragging-touch-cue"),n instanceof TouchEvent&&n.touches.length>0?a.value=[n.touches[0].clientX,n.touches[0].clientY]:n instanceof PointerEvent&&(a.value=[n.clientX,n.clientY]))},onDraggableUnchoose:e=>{e.item.classList.remove("ui-sortable-dragging-touch-cue"),a.value=null}}}}),Nc=(0,q.A)(Ic,[["render",function(e,n,t,a,o,r){const c=(0,i.g2)("Channel"),u=(0,i.g2)("NetworkLobby"),d=(0,i.g2)("JoinChannel"),p=(0,i.g2)("Draggable"),h=(0,i.g2)("DirectMessageSection");return 0===e.store.state.networks.length?((0,i.uX)(),(0,i.CE)("div",A," You are not connected to any networks yet. ")):((0,i.uX)(),(0,i.CE)("div",T,[e.store.state.settings.jumptoEabled?((0,i.uX)(),(0,i.CE)("div",X,[(0,i.Lk)("input",{ref:"searchInput",value:e.searchText,placeholder:"Jump to...",type:"search",class:"search input mousetrap","aria-label":"Search among the channel list",tabindex:"-1",onInput:n[0]||(n[0]=(...n)=>e.setSearchText&&e.setSearchText(...n)),onKeydown:[n[1]||(n[1]=(0,s.jR)(n=>e.navigateResults(n,-1),["up"])),n[2]||(n[2]=(0,s.jR)(n=>e.navigateResults(n,1),["down"])),n[3]||(n[3]=(0,s.jR)(n=>e.navigateResults(n,-10),["page-up"])),n[4]||(n[4]=(0,s.jR)(n=>e.navigateResults(n,10),["page-down"])),n[5]||(n[5]=(0,s.jR)((...n)=>e.selectResult&&e.selectResult(...n),["enter"])),n[6]||(n[6]=(0,s.jR)((...n)=>e.deactivateSearch&&e.deactivateSearch(...n),["escape"]))],onFocus:n[7]||(n[7]=(...n)=>e.activateSearch&&e.activateSearch(...n))},null,40,j)])):(0,i.Q3)("",!0),e.searchText?((0,i.uX)(),(0,i.CE)("div",W,[e.results.length?((0,i.uX)(),(0,i.CE)("div",P,[((0,i.uX)(!0),(0,i.CE)(i.FK,null,(0,i.pI)(e.results,t=>((0,i.uX)(),(0,i.CE)("div",{key:t.channel.id,onMouseenter:n=>e.setActiveSearchItem(t.channel),onClick:n[8]||(n[8]=(0,s.D$)((...n)=>e.selectResult&&e.selectResult(...n),["prevent"]))},["lobby"!==t.channel.type?((0,i.uX)(),(0,i.Wv)(c,{key:0,channel:t.channel,network:t.network,active:t.channel===e.activeSearchItem,"is-filtering":!0},null,8,["channel","network","active"])):((0,i.uX)(),(0,i.Wv)(u,{key:1,channel:t.channel,network:t.network,active:t.channel===e.activeSearchItem,"is-filtering":!0},null,8,["channel","network","active"]))],40,R))),128))])):((0,i.uX)(),(0,i.CE)("div",I,"No results found."))])):((0,i.uX)(),(0,i.Wv)(p,{key:2,list:e.store.state.networks,delay:e.LONG_TOUCH_DURATION,"delay-on-touch-only":!0,"touch-start-threshold":10,handle:".channel-list-item[data-type='lobby']",draggable:".network","ghost-class":"ui-sortable-ghost","drag-class":"ui-sortable-dragging",group:"networks",class:"networks","item-key":"uuid",onChange:e.onNetworkSort,onChoose:e.onDraggableChoose,onUnchoose:e.onDraggableUnchoose},{item:(0,i.k6)(({element:t})=>[((0,i.uX)(),(0,i.CE)("div",{id:"network-"+t.uuid,key:t.uuid,class:(0,l.C4)([{collapsed:t.isCollapsed,"not-connected":!t.status.connected,"not-secure":!t.status.secure},"network"]),role:"region","aria-live":"polite",onTouchstart:n[9]||(n[9]=(...n)=>e.onDraggableTouchStart&&e.onDraggableTouchStart(...n)),onTouchmove:n[10]||(n[10]=(...n)=>e.onDraggableTouchMove&&e.onDraggableTouchMove(...n)),onTouchend:n[11]||(n[11]=(...n)=>e.onDraggableTouchEnd&&e.onDraggableTouchEnd(...n)),onTouchcancel:n[12]||(n[12]=(...n)=>e.onDraggableTouchEnd&&e.onDraggableTouchEnd(...n))},[(0,i.bF)(u,{network:t,"is-join-channel-shown":t.isJoinChannelShown,active:e.store.state.activeChannel&&t.channels[0]===e.store.state.activeChannel.channel,onToggleJoinChannel:e=>t.isJoinChannelShown=!t.isJoinChannelShown},null,8,["network","is-join-channel-shown","active","onToggleJoinChannel"]),t.isJoinChannelShown?((0,i.uX)(),(0,i.Wv)(d,{key:0,network:t,channel:t.channels[0],onToggleJoinChannel:e=>t.isJoinChannelShown=!t.isJoinChannelShown},null,8,["network","channel","onToggleJoinChannel"])):(0,i.Q3)("",!0),(0,i.bF)(p,{draggable:".channel-list-item","ghost-class":"ui-sortable-ghost","drag-class":"ui-sortable-dragging",group:t.uuid,list:t.channels,delay:e.LONG_TOUCH_DURATION,"delay-on-touch-only":!0,"touch-start-threshold":10,class:"channels","item-key":"name",onChange:e.onChannelSort,onChoose:e.onDraggableChoose,onUnchoose:e.onDraggableUnchoose},{item:(0,i.k6)(({element:n,index:a})=>[a>0&&"query"!==n.type?((0,i.uX)(),(0,i.Wv)(c,{key:n.id,"data-item":n.id,channel:n,network:t,active:e.store.state.activeChannel&&n===e.store.state.activeChannel.channel},null,8,["data-item","channel","network","active"])):(0,i.Q3)("",!0)]),_:2},1032,["group","list","delay","onChange","onChoose","onUnchoose"]),(0,i.bF)(h,{network:t,queries:t.channels.filter(e=>"query"===e.type)},null,8,["network","queries"])],42,N))]),_:1},8,["list","delay","onChange","onChoose","onUnchoose"]))],512))}]]),Uc=(0,i.pM)({name:"Sidebar",components:{NetworkList:Nc},props:{overlay:{type:Object,required:!0}},setup(e){const n=(0,o.Pj)(),t=(0,S.lq)(),a=(0,x.KR)(),s=(0,x.KR)(),l=(0,x.KR)(0),r=(0,x.KR)(0),c=(0,x.KR)(!1),u=(0,x.KR)(!1),d=(0,x.KR)(null),p=e=>{n.commit("sidebarOpen",e)},h=t=>{const o=s.value=t.touches.item(0);if(!(o&&a.value&&a.value.screenX&&a.value.screenY))return;let i=o.screenX-a.value.screenX;const l=o.screenY-a.value.screenY;if(!c.value){if(Math.abs(l/i)>=1)return void g();const e=window.devicePixelRatio||2;Math.abs(i)>e&&(n.commit("sidebarDragging",!0),c.value=!0)}u.value&&(n.state.sidebarOpen&&(i+=r.value),i>r.value?i=r.value:i<0&&(i=0),d.value&&(d.value.style.transform="translate3d("+i.toString()+"px, 0, 0)"),e.overlay&&(e.overlay.style.opacity=""+i/r.value))},g=()=>{if(!a.value?.screenX||!s.value?.screenX)return;const t=s.value.screenX-a.value.screenX,o=Math.abs(t);(o>r.value/2||Date.now()-l.value<180&&o>50)&&p(t>0),document.body.removeEventListener("touchmove",h),document.body.removeEventListener("touchend",g),n.commit("sidebarDragging",!1),a.value=null,s.value=null,l.value=0,c.value=!1,(0,i.dY)(()=>{d.value&&(d.value.style.transform=""),e.overlay&&(e.overlay.style.opacity="")})},m=e=>{if(!d.value)return;if(a.value=s.value=e.touches.item(0),1!==e.touches.length)return void g();const t=window.getComputedStyle(d.value);r.value=parseFloat(t.width),u.value="absolute"===t.position,(!n.state.sidebarOpen||a.value?.screenX&&a.value.screenX>r.value)&&(l.value=Date.now(),document.body.addEventListener("touchmove",h,{passive:!0}),document.body.addEventListener("touchend",g,{passive:!0}))};return(0,i.sV)(()=>{document.body.addEventListener("touchstart",m,{passive:!0})}),(0,i.hi)(()=>{document.body.removeEventListener("touchstart",m)}),{isDevelopment:!1,store:n,route:t,sidebar:d,toggle:p,onTouchStart:m,onTouchMove:h,onTouchEnd:g,isPublic:()=>document.body.classList.contains("public")}}}),Fc=(0,q.A)(Uc,[["render",function(e,n,t,a,o,r){const c=(0,i.g2)("NetworkList"),u=(0,i.g2)("router-link");return(0,i.uX)(),(0,i.CE)("aside",{id:"sidebar",ref:"sidebar",class:(0,l.C4)(e.store.state.settings.compactSidebar?"compact":"")},[(0,i.Lk)("div",m,[(0,i.Lk)("div",k,[(0,i.Lk)("img",{src:`img/logo-${e.isPublic()?"horizontal-":""}transparent-bg.svg`,class:"logo",alt:"The Lounge",role:"presentation"},null,8,f),(0,i.Lk)("img",{src:`img/logo-${e.isPublic()?"horizontal-":""}transparent-bg-inverted.svg`,class:"logo-inverted",alt:"The Lounge",role:"presentation"},null,8,b),e.isDevelopment?((0,i.uX)(),(0,i.CE)("span",v,"DEVELOPER")):(0,i.Q3)("",!0)]),(0,i.bF)(c)]),(0,i.Lk)("footer",w,[(0,i.Lk)("span",y,[(0,i.bF)(u,{to:"/connect",role:"tab","aria-controls":"connect"},{default:(0,i.k6)(({navigate:e,isActive:n})=>[(0,i.Lk)("button",{class:(0,l.C4)(["icon","connect",{active:n}]),"aria-selected":n,onClick:e,onKeypress:(0,s.jR)(e,["enter"])},null,42,_)]),_:1})]),(0,i.Lk)("span",C,[(0,i.bF)(u,{to:"/settings",role:"tab","aria-controls":"settings"},{default:(0,i.k6)(({navigate:e,isActive:n})=>[(0,i.Lk)("button",{class:(0,l.C4)(["icon","settings",{active:n}]),"aria-selected":n,onClick:e,onKeypress:(0,s.jR)(e,["enter"])},null,42,L)]),_:1})]),(0,i.Lk)("span",{class:"tooltipped tooltipped-n tooltipped-no-touch","aria-label":e.store.state.serverConfiguration?.isUpdateAvailable?"Help\n(update available)":"Help"},[(0,i.bF)(u,{to:"/help",role:"tab","aria-controls":"help"},{default:(0,i.k6)(({navigate:n,isActive:t})=>[(0,i.Lk)("button",{"aria-selected":"Help"===e.route.name,class:(0,l.C4)(["icon","help",{notified:e.store.state.serverConfiguration?.isUpdateAvailable},{active:t}]),onClick:n,onKeypress:(0,s.jR)(n,["enter"])},null,42,E)]),_:1})],8,M)])],2)}]]),Oc=["href"],qc=["src"],Kc=(0,i.pM)({name:"ImageViewer",setup(){const e=(0,x.KR)(),n=(0,x.KR)(),t=(0,x.KR)(null),a=(0,x.KR)(),s=(0,x.KR)(),o=(0,x.KR)(),l=(0,x.KR)({x:0,y:0}),c=(0,x.KR)({scale:1,x:0,y:0}),d=(0,i.EW)(()=>{const e=Math.floor(c.value.x),n=Math.floor(c.value.y);return{left:`${l.value.x}px`,top:`${l.value.y}px`,transform:`translate3d(${e}px, ${n}px, 0) scale3d(${c.value.scale}, ${c.value.scale}, 1)`}}),p=()=>{null!==t.value&&(o.value=null,a.value=null,s.value=null,t.value=null)},h=()=>{a.value&&(t.value=a.value)},g=()=>{s.value&&(t.value=s.value)},m=(t,a,s,o)=>{if(!n.value||!e.value)return;const i=n.value.width,l=e.value.offsetWidth/2,r=e.value.offsetHeight/2;return{x:l-(l-(s-i*a/2))/a*t+i*t/2,y:r-(r-(o-i*a/2))/a*t+i*t/2}},k=()=>{const t=n.value,a=e.value;if(!t||!a)return;const s=t.width*c.value.scale,o=t.height*c.value.scale,i=a.offsetWidth,l=a.offsetHeight;s<i?c.value.x=i/2:c.value.x-s/2>0?c.value.x=s/2:c.value.x+s/2<i&&(c.value.x=i-s/2),o<l?c.value.y=l/2:c.value.y-o/2>0?c.value.y=o/2:c.value.y+o/2<l&&(c.value.y=l-o/2)},f=e=>{let n=0,t=0,a=0;for(let s=0;s<e.length;s++){const o=e[s].clientX,i=e[s].clientY;n+=o,t+=i;for(let n=0;n<e.length;n++)if(s!==n){const t=e[n].clientX,s=e[n].clientY;a+=Math.sqrt((o-t)*(o-t)+(i-s)*(i-s))}}return 0===a&&(a=1),{x:n/e.length,y:t/e.length,scale:a/e.length}};return(0,i.wB)(t,(e,n)=>{if(null===e)return r.A.off("escapekey",p),r.A.off("resize",k),u().unbind("left"),void u().unbind("right");(()=>{if(!o.value||!t.value)return null;const e=o.value.messages.map(e=>e.previews).flat().filter(e=>e&&e.thumb),n=e.indexOf(t.value);a.value=e[n-1]||null,s.value=e[n+1]||null})(),n||(r.A.on("escapekey",p),r.A.on("resize",k),u().bind("left",h),u().bind("right",g))}),{link:t,channel:o,image:n,transform:c,closeViewer:p,next:g,previous:h,onImageLoad:()=>{(()=>{const t=e.value,a=n.value;if(!t||!a)return;const s=t.offsetWidth,o=t.offsetHeight,i=Math.min(1,s/a.width,o/a.height);l.value.x=Math.floor(-n.value.naturalWidth/2),l.value.y=Math.floor(-n.value.naturalHeight/2),c.value.scale=Math.max(i,.1),c.value.x=s/2,c.value.y=o/2})()},onImageMouseDown:t=>{if(1!==t.which)return;t.stopPropagation(),t.preventDefault();const a=e.value,s=n.value;if(!a||!s)return;const o=t.clientX,i=t.clientY,l=c.value.x,r=c.value.y,u=s.width*c.value.scale,d=s.height*c.value.scale,h=a.offsetWidth,g=a.offsetHeight,m=c.value.x-u/2,f=c.value.y-d/2;let b=0;const v=e=>{e.stopPropagation(),e.preventDefault();const n=e.clientX-o,t=e.clientY-i;b=Math.max(b,Math.abs(n),Math.abs(t)),(m<0||u+m>h)&&(c.value.x=l+n),(f<0||d+f>g)&&(c.value.y=r+t),k()},w=e=>{k(),b<2&&0===e.button&&p(),n.value?.removeEventListener("mousemove",v),n.value?.removeEventListener("mouseup",w)};n.value?.addEventListener("mousemove",v),n.value?.addEventListener("mouseup",w)},onMouseWheel:e=>{if(null!==t.value){if(e.preventDefault(),e.ctrlKey)c.value.y+=e.deltaY;else{const n=e.deltaY>0?.1:-.1,t=Math.min(3,Math.max(.1,c.value.scale+n)),a=m(t,c.value.scale,c.value.x,c.value.y);if(!a)return;c.value.scale=t,c.value.x=a.x,c.value.y=a.y}k()}},onClick:e=>{e.target!==n.value&&p()},onTouchStart:e=>{e.stopImmediatePropagation()},previousImage:a,nextImage:s,onImageTouchStart:e=>{const t=n.value;let a=f(e.touches),s=e.touches,o=0;const i={x:a.x,y:a.y,scale:a.scale},l={x:c.value.x,y:c.value.y,scale:c.value.scale},r=e=>{a=f(e.touches),s.length!==e.touches.length&&(i.x=a.x,i.y=a.y,i.scale=a.scale,l.x=c.value.x,l.y=c.value.y,l.scale=c.value.scale);const n=a.x-i.x,t=a.y-i.y,r=a.scale/i.scale;s=e.touches,o=0;const u=Math.min(3,Math.max(.1,l.scale*r)),d=m(u,l.scale,l.x,l.y);d&&(c.value.x=d.x+n,c.value.y=d.y+t,c.value.scale=u,k())},u=e=>{const n=e.changedTouches.length;s.length>n+o?o+=n:(k(),t?.removeEventListener("touchmove",r),t?.removeEventListener("touchend",u))};t?.addEventListener("touchmove",r,{passive:!0}),t?.addEventListener("touchend",u,{passive:!0})},computeImageStyles:d,viewer:e}}}),Dc=(0,q.A)(Kc,[["render",function(e,n,t,a,o,r){return(0,i.uX)(),(0,i.CE)("div",{id:"image-viewer",ref:"viewer",class:(0,l.C4)({opened:null!==e.link}),onWheel:n[5]||(n[5]=(...n)=>e.onMouseWheel&&e.onMouseWheel(...n)),onTouchstartPassive:n[6]||(n[6]=(...n)=>e.onTouchStart&&e.onTouchStart(...n)),onClick:n[7]||(n[7]=(...n)=>e.onClick&&e.onClick(...n))},[null!==e.link?((0,i.uX)(),(0,i.CE)(i.FK,{key:0},[n[8]||(n[8]=(0,i.Lk)("button",{class:"close-btn","aria-label":"Close"},null,-1)),e.previousImage?((0,i.uX)(),(0,i.CE)("button",{key:0,class:"previous-image-btn","aria-label":"Previous image",onClick:n[0]||(n[0]=(0,s.D$)((...n)=>e.previous&&e.previous(...n),["stop"]))})):(0,i.Q3)("",!0),e.nextImage?((0,i.uX)(),(0,i.CE)("button",{key:1,class:"next-image-btn","aria-label":"Next image",onClick:n[1]||(n[1]=(0,s.D$)((...n)=>e.next&&e.next(...n),["stop"]))})):(0,i.Q3)("",!0),(0,i.Lk)("a",{class:"open-btn",href:e.link.link,target:"_blank",rel:"noopener"},null,8,Oc),(0,i.Lk)("img",{ref:"image",src:e.link.thumb,alt:"",style:(0,l.Tr)(e.computeImageStyles),onLoad:n[2]||(n[2]=(...n)=>e.onImageLoad&&e.onImageLoad(...n)),onMousedown:n[3]||(n[3]=(...n)=>e.onImageMouseDown&&e.onImageMouseDown(...n)),onTouchstartPassive:n[4]||(n[4]=(...n)=>e.onImageTouchStart&&e.onImageTouchStart(...n))},null,44,qc)],64)):(0,i.Q3)("",!0)],34)}]]),Bc=["aria-activedescendant"],$c=["id","onMouseenter","onClick"];const Hc=(0,i.pM)({name:"ContextMenu",props:{message:{required:!1,type:Object}},setup(){const e=(0,o.Pj)(),n=(0,S.rd)(),t=(0,x.KR)(!1),a=(0,x.KR)(!1),s=(0,x.KR)(),l=(0,x.KR)(),c=(0,x.KR)([]),u=(0,x.KR)(-1),d=(0,x.KR)({top:0,left:0}),p=()=>{t.value&&(t.value=!1,c.value=[],l.value&&(l.value.focus(),l.value=null))},h=()=>{a.value=!1,document.body.removeEventListener("pointerup",h)},g=e=>{p(),"action"in e&&e.action?e.action():"link"in e&&e.link&&n.push(e.link).catch(()=>{console.error("Failed to navigate to",e.link)})},m=(n,a)=>{n.preventDefault(),l.value=document.activeElement,c.value=a,u.value=0,t.value=!0,(0,i.dY)(()=>{const t=(n=>{const t=n.target;if(!s.value)return;const a=s.value?.offsetWidth,o=s.value?.offsetHeight;if(t&&t.classList.contains("menu"))return{left:t.getBoundingClientRect().left-(a-t.offsetWidth),top:t.getBoundingClientRect().top+t.offsetHeight};const i={left:n.pageX,top:n.pageY};return e.state.settings.enhancedContextMenuEnabled&&s.value.querySelector('[class*="context-menu-group-"]')&&(i.top-=45),window.innerWidth-i.left<a&&(i.left=window.innerWidth-a),window.innerHeight-i.top<o&&(i.top=window.innerHeight-o),i})(n);t&&(d.value.left=t.left,d.value.top=t.top,s.value?.focus())}).catch(e=>{console.error(e)})},k=e=>{"contextmenu"===e.event.type&&(a.value=!0,document.body.addEventListener("pointerup",h,{passive:!0}));const n=function(e,n){const t=Lc(e);let a=[{label:e.name,type:"item",class:{lobby:"network",channel:"chan",query:"query",special:"chan"}[e.type],link:`/chan-${e.id}`},{type:"divider"}];e.type===Zs.rR.LOBBY&&(a=[...a,{label:"Edit this networkโ€ฆ",type:"item",class:"edit",link:`/edit-network/${n.uuid}`},{label:"Join a channelโ€ฆ",type:"item",class:"join",action:()=>n.isJoinChannelShown=!0},{label:"List all channels",type:"item",class:"list",action:()=>re.A.emit("input",{target:e.id,text:"/list"})},{label:"List ignored users",type:"item",class:"list",action:()=>re.A.emit("input",{target:e.id,text:"/ignorelist"})},n.status.connected?{label:"Disconnect",type:"item",class:"disconnect",action:()=>re.A.emit("input",{target:e.id,text:"/disconnect"})}:{label:"Connect",type:"item",class:"connect",action:()=>re.A.emit("input",{target:e.id,text:"/connect"})}]),e.type===Zs.rR.CHANNEL&&(a.push({label:"Edit topic",type:"item",class:"edit",action(){e.editTopic=!0,mc(e)}}),a.push({label:"List banned users",type:"item",class:"list",action(){re.A.emit("input",{target:e.id,text:"/banlist"})}})),e.type===Zs.rR.QUERY&&a.push({label:"User information",type:"item",class:"action-whois",action(){mc(e),re.A.emit("input",{target:e.id,text:"/whois "+e.name})}},{label:"Ignore user",type:"item",class:"action-ignore",action(){re.A.emit("input",{target:e.id,text:"/ignore "+e.name})}},{label:e.pinned?"Unpin conversation":"Pin conversation",type:"item",class:"pin",action(){re.A.emit("pin:change",{target:e.id,setPinnedTo:!e.pinned})}}),e.type!==Zs.rR.CHANNEL&&e.type!==Zs.rR.QUERY||a.push({label:"Clear history",type:"item",class:"clear-history",action(){r.A.emit("confirm-dialog",{title:"Clear history",text:`Are you sure you want to clear history for ${e.name}? This cannot be undone.`,button:"Clear history"},n=>{n&&re.A.emit("history:clear",{target:e.id})})}});const s={lobby:"network",channel:"channel",query:"conversation"};if(Object.keys(s).includes(e.type)){const n=s[e.type];a.push({label:e.muted?`Unmute ${n}`:`Mute ${n}`,type:"item",class:"mute",action(){re.A.emit("mute:change",{target:e.id,setMutedTo:!e.muted})}})}return a.push({label:{lobby:"Remove",channel:"Leave",query:"Close",special:"Close"}[e.type],type:"item",class:"close",action(){t()}}),a}(e.channel,e.network);m(e.event,n)},f=n=>{const{network:t}=e.state.activeChannel,a=function(e,n,t){const a=t.channels.find(e=>e.name===n);return a?[{label:"Go to channel",type:"item",class:"chan",link:`/chan-${a.id}`}]:[{label:"Join channel",type:"item",class:"join",action:()=>{const a=t.channels.find(e=>e.name===n);a&&mc(a),e.state.activeChannel?re.A.emit("input",{target:e.state.activeChannel.channel.id,text:"/join "+n}):console.error("Unable to join channel: activeChannel is undefined")}}]}(e,n.channel,t);m(n.event,a)},b=n=>{const{network:t,channel:a}=e.state.activeChannel,s=function(e,n,t,a){const s=n&&n.users.find(e=>e.nick===t.nick)||{},o=[...(()=>{const s={label:a.nick,type:"item",class:"user",action(){}};if(e.state.settings.enhancedContextMenuEnabled&&Boolean(t.channels.find(e=>(e.groups?.length??0)>0))){const e={label:a.nick,type:"item",class:"user",action(){n.type===Zs.rR.CHANNEL&&re.A.emit("input",{target:n.id,text:`!user ${a.nick}`})}},s={label:"Tracker Profile",type:"item",class:"action-open",action(){var e;e=`https://brr.red/${a.nick}`,Object.assign(document.createElement("a"),{target:"_blank",rel:"noopener noreferrer",href:e}).click()}},o=t.channels.find(e=>e.users.find(e=>e.nick===a.nick))?.groups?.find(e=>e.users.includes(a.nick))?.name??"Offline";return[{label:o,type:"item",class:`group-${o.toLowerCase()}`,action(){}},{type:"divider"},e,s]}return[s]})(),{type:"divider"},{label:"Direct messages",type:"item",class:"action-query",action(){const t=e.getters.findChannelOnCurrentNetwork(a.nick);t&&mc(t),re.A.emit("input",{target:n.id,text:"/query "+a.nick})}},...e.state.settings.enhancedContextMenuEnabled?[{label:`Slap ${a.nick}`,type:"item",class:"action-slap",action(){re.A.emit("input",{target:n.id,text:"/slap "+a.nick})}}]:[],{type:"divider"},{label:"User information",type:"item",class:"action-whois",action(){const e=t.channels.find(e=>e.name===a.nick);e&&mc(e),re.A.emit("input",{target:n.id,text:"/whois "+a.nick})}},{label:"Ignore user",type:"item",class:"action-ignore",action(){re.A.emit("input",{target:n.id,text:"/ignore "+a.nick})}}];if(!s.modes||s.modes.length<1)return o;const i={"~":"owner","&":"admin","@":"operator","%":"half-op","+":"voice"},l={revoke(e){const n=i[e.symbol];return"string"!=typeof n?"":n?`Revoke ${n} (-${e.mode})`:`Mode -${e.mode}`},give(e){const n=i[e.symbol];return"string"!=typeof n?"":n?`Give ${n} (+${e.mode})`:`Mode +${e.mode}`}},r=t.serverOptions.PREFIX.symbols;function c(e,n){return"~@".indexOf(e)>-1?r.indexOf(e)<=r.indexOf(n):r.indexOf(e)<r.indexOf(n)}return t.serverOptions.PREFIX.prefix.forEach(e=>{c(s.modes[0],e.symbol)&&(a.modes.includes(e.symbol)?o.push({label:l.revoke(e),type:"item",class:"action-revoke-mode",action(){re.A.emit("input",{target:n.id,text:"/mode -"+e.mode+" "+a.nick})}}):o.push({label:l.give(e),type:"item",class:"action-set-mode",action(){re.A.emit("input",{target:n.id,text:"/mode +"+e.mode+" "+a.nick})}}))}),c(r.indexOf("%")>-1?"%":"@",s.modes[0])||(0===a.modes.length||c(s.modes[0],a.modes[0]))&&o.push({label:"Kick",type:"item",class:"action-kick",action(){re.A.emit("input",{target:n.id,text:"/kick "+a.nick})}}),o}(e,a,t,a.users.find(e=>e.nick===n.user.nick)||{nick:n.user.nick,modes:[]});m(n.event,s)};return(0,i.sV)(()=>{r.A.on("escapekey",p),r.A.on("contextmenu:cancel",p),r.A.on("contextmenu:user",b),r.A.on("contextmenu:channel",k),r.A.on("contextmenu:inline-channel",f)}),(0,i.hi)(()=>{r.A.off("escapekey",p),r.A.off("contextmenu:cancel",p),r.A.off("contextmenu:user",b),r.A.off("contextmenu:channel",k),r.A.off("contextmenu:inline-channel",f),p()}),{isOpen:t,items:c,activeItem:u,style:d,contextMenu:s,passthrough:a,close:p,containerClick:e=>{e.currentTarget===e.target&&p()},navigateMenu:e=>{let n=u.value;n+=e;const t=c.value[n];t&&"type"in t&&"divider"===t.type&&(n+=e),n<0&&(n+=c.value.length),n>c.value.length-1&&(n-=c.value.length),u.value=n},hoverItem:e=>{u.value=e},clickItem:g,clickActiveItem:()=>{c.value[u.value]&&g(c.value[u.value])}}}}),Qc=(0,q.A)(Hc,[["render",function(e,n,t,a,o,r){return e.isOpen?((0,i.uX)(),(0,i.CE)("div",{key:0,id:"context-menu-container",class:(0,l.C4)({passthrough:e.passthrough}),onClick:n[2]||(n[2]=(...n)=>e.containerClick&&e.containerClick(...n)),onContextmenu:n[3]||(n[3]=(0,s.D$)((...n)=>e.containerClick&&e.containerClick(...n),["prevent"])),onKeydown:[n[4]||(n[4]=(0,s.jR)((0,s.D$)(n=>e.navigateMenu(-1),["exact","prevent"]),["up"])),n[5]||(n[5]=(0,s.jR)((0,s.D$)(n=>e.navigateMenu(1),["exact","prevent"]),["down"])),n[6]||(n[6]=(0,s.jR)((0,s.D$)(n=>e.navigateMenu(1),["exact","prevent"]),["tab"])),n[7]||(n[7]=(0,s.jR)((0,s.D$)(n=>e.navigateMenu(-1),["shift","prevent"]),["tab"]))]},[(0,i.Lk)("ul",{id:"context-menu",ref:"contextMenu",role:"menu",style:(0,l.Tr)({top:e.style.top+"px",left:e.style.left+"px"}),tabindex:"-1","aria-activedescendant":e.activeItem>-1?`context-menu-item-${e.activeItem}`:void 0,onMouseleave:n[0]||(n[0]=n=>e.activeItem=-1),onKeydown:n[1]||(n[1]=(0,s.jR)((0,s.D$)((...n)=>e.clickActiveItem&&e.clickActiveItem(...n),["prevent"]),["enter"]))},[((0,i.uX)(!0),(0,i.CE)(i.FK,null,(0,i.pI)(e.items,(n,t)=>((0,i.uX)(),(0,i.CE)("li",{key:n.name,id:`context-menu-item-${t}`,class:(0,l.C4)(["context-menu-"+n.type,n.class?"context-menu-"+n.class:null,{active:t===e.activeItem}]),role:"menuitem",onMouseenter:n=>e.hoverItem(t),onClick:t=>e.clickItem(n)},(0,l.v_)(n.label),43,$c))),128))],44,Bc)],34)):(0,i.Q3)("",!0)}]]),zc={key:0,id:"confirm-dialog"},Vc={class:"confirm-text"},Yc={class:"confirm-text-title"},Jc={class:"confirm-buttons"},Gc=(0,i.pM)({name:"ConfirmDialog",setup(){const e=(0,x.KR)(),n=(0,x.KR)(),t=(t,a)=>{e.value=t,n.value=a},a=t=>{e.value=void 0,n.value&&n.value(!!t)};return(0,i.sV)(()=>{r.A.on("escapekey",a),r.A.on("confirm-dialog",t)}),(0,i.hi)(()=>{r.A.off("escapekey",a),r.A.off("confirm-dialog",t)}),{data:e,close:a}}}),Zc=(0,q.A)(Gc,[["render",function(e,n,t,a,s,o){return(0,i.uX)(),(0,i.CE)("div",{id:"confirm-dialog-overlay",class:(0,l.C4)({opened:!!e.data})},[null!==e.data?((0,i.uX)(),(0,i.CE)("div",zc,[(0,i.Lk)("div",Vc,[(0,i.Lk)("div",Yc,(0,l.v_)(e.data?.title),1),(0,i.Lk)("p",null,(0,l.v_)(e.data?.text),1)]),(0,i.Lk)("div",Jc,[(0,i.Lk)("button",{class:"btn btn-cancel",onClick:n[0]||(n[0]=n=>e.close(!1))},"Cancel"),(0,i.Lk)("button",{class:"btn btn-danger",onClick:n[1]||(n[1]=n=>e.close(!0))},(0,l.v_)(e.data?.button),1)])])):(0,i.Q3)("",!0)],2)}]]),eu={class:"mentions-popup"},nu={class:"mentions-popup-title"},tu={key:0},au={key:1},su={class:"mentions-info"},ou={class:"from"},iu=["title"],lu={class:"close-tooltip tooltipped tooltipped-w","aria-label":"Dismiss this mention"},ru=["onClick"],cu=["data-jump-to","onClick"];var uu=t(6279),du=t.n(uu);ys().extend(du());const pu=(0,i.pM)({name:"Mentions",components:{Username:Cs.A,ParsedMessage:Qs.A},setup(){const e=(0,o.Pj)(),n=(0,x.KR)(!1),t=(0,x.KR)(!1),a=(0,i.EW)(()=>{const n=e.state.mentions.slice().reverse();for(const t of n)t.localetime=(0,_s.A)(t.time),t.channel=e.getters.findChannel(t.chanId);return n.filter(e=>!e.channel?.channel.muted)});(0,i.wB)(()=>e.state.mentions,()=>{t.value=!1});const s=()=>{n.value=!n.value,n.value&&(t.value=!0,re.A.emit("mentions:get"))},l=()=>{n.value=!1};return(0,i.sV)(()=>{r.A.on("mentions:toggle",s),r.A.on("escapekey",l)}),(0,i.hi)(()=>{r.A.off("mentions:toggle",s),r.A.off("escapekey",l)}),{store:e,isOpen:n,isLoading:t,resolvedMessages:a,messageTime:e=>ys()(e).fromNow(),dismissMention:n=>{e.state.mentions.splice(e.state.mentions.findIndex(e=>e.msgId===n.msgId),1),re.A.emit("mentions:dismiss",n.msgId)},dismissAllMentions:()=>{e.state.mentions=[],re.A.emit("mentions:dismiss_all")},jumpToMention:t=>{e.state.settings.enableEnhancedSearch&&t.channel&&(mc(t.channel.channel,t.msgId),n.value=!1)},containerClick:e=>{e.currentTarget===e.target&&(n.value=!1)}}}}),hu=(0,q.A)(pu,[["render",function(e,n,t,a,s,o){const r=(0,i.g2)("Username"),c=(0,i.g2)("ParsedMessage");return e.isOpen?((0,i.uX)(),(0,i.CE)("div",{key:0,id:"mentions-popup-container",onClick:n[1]||(n[1]=(...n)=>e.containerClick&&e.containerClick(...n)),onContextmenu:n[2]||(n[2]=(...n)=>e.containerClick&&e.containerClick(...n))},[(0,i.Lk)("div",eu,[(0,i.Lk)("div",nu,[n[3]||(n[3]=(0,i.eW)(" Recent mentions ",-1)),e.resolvedMessages.length?((0,i.uX)(),(0,i.CE)("button",{key:0,class:"btn dismiss-all-mentions",onClick:n[0]||(n[0]=n=>e.dismissAllMentions())}," Dismiss all ")):(0,i.Q3)("",!0)]),0===e.resolvedMessages.length?((0,i.uX)(),(0,i.CE)(i.FK,{key:0},[e.isLoading?((0,i.uX)(),(0,i.CE)("p",tu,"Loadingโ€ฆ")):((0,i.uX)(),(0,i.CE)("p",au,"You have no recent mentions."))],64)):((0,i.uX)(!0),(0,i.CE)(i.FK,{key:1},(0,i.pI)(e.resolvedMessages,t=>((0,i.uX)(),(0,i.CE)("div",{key:t.msgId,class:(0,l.C4)(["msg",t.type])},[(0,i.Lk)("div",su,[(0,i.Lk)("div",null,[(0,i.Lk)("span",ou,[(0,i.bF)(r,{user:t.from},null,8,["user"]),t.channel?((0,i.uX)(),(0,i.CE)(i.FK,{key:0},[(0,i.eW)(" in "+(0,l.v_)(t.channel.channel.name)+" on "+(0,l.v_)(t.channel.network.name),1)],64)):((0,i.uX)(),(0,i.CE)(i.FK,{key:1},[(0,i.eW)(" in unknown channel ")],64))]),n[4]||(n[4]=(0,i.eW)((0,l.v_)(" ")+" ",-1)),(0,i.Lk)("span",{title:t.localetime,class:"time"},(0,l.v_)(e.messageTime(t.time.toString())),9,iu)]),(0,i.Lk)("div",null,[(0,i.Lk)("span",lu,[(0,i.Lk)("button",{class:"msg-dismiss","aria-label":"Dismiss this mention",onClick:n=>e.dismissMention(t)},null,8,ru)])])]),(0,i.Lk)("div",{class:"content",dir:"auto","data-jump-to":e.store.state.settings.searchEnabled&&e.store.state.settings.enableEnhancedSearch||void 0,onClick:n=>e.jumpToMention(t)},[(0,i.bF)(c,{message:t},null,8,["message"])],8,cu)],2))),128))])],32)):(0,i.Q3)("",!0)}]]),gu=Symbol(),mu=Symbol(),ku=Symbol(),fu=(0,i.pM)({name:"App",components:{Sidebar:Fc,ImageViewer:Dc,ContextMenu:Qc,ConfirmDialog:Zc,Mentions:hu},setup(){const e=(0,o.Pj)(),n=(0,x.KR)(null),t=(0,x.KR)(null),s=(0,x.KR)(null),l=(0,x.KR)(null),c=(0,x.KR)(null);(0,i.Gt)(gu,s),(0,i.Gt)(mu,l),(0,i.Gt)(ku,c);const d=(0,i.EW)(()=>({notified:e.getters.highlightCount>0,"menu-open":e.state.appLoaded&&e.state.sidebarOpen,"menu-dragging":e.state.sidebarDragging,"userlist-open":e.state.userlistOpen})),m=(0,x.KR)(),k=(0,x.KR)(),f=()=>{r.A.emit("escapekey")},b=n=>!!g(n)||(e.commit("toggleSidebar"),!1),v=n=>!!g(n)||(e.commit("toggleUserlist"),!1),w=()=>{0!==e.state.networks.length&&r.A.emit("mentions:toggle")},y=()=>{const e=new Date;return new Date(e.getFullYear(),e.getMonth(),e.getDate()+1).getTime()-e.getTime()};return(()=>{const n=window.innerWidth;let t=h.A.get("thelounge.state.userlist");n>a.mobileViewportPixels&&e.commit("sidebarOpen","false"!==h.A.get("thelounge.state.sidebar")),n>=1024&&"true"!==t&&"false"!==t&&(t="true"),e.commit("userlistOpen","true"===t)})(),(0,i.sV)(()=>{u().bind("esc",f),u().bind("alt+u",v),u().bind("alt+s",b),u().bind("alt+m",w),m.value=p()(()=>{r.A.emit("resize")},100),window.addEventListener("resize",m.value,{passive:!0});const e=()=>{r.A.emit("daychange"),k.value=setTimeout(e,y())};k.value=setTimeout(e,y())}),(0,i.xo)(()=>{u().unbind("esc"),u().unbind("alt+u"),u().unbind("alt+s"),u().unbind("alt+m"),m.value&&window.removeEventListener("resize",m.value),k.value&&clearTimeout(k.value)}),{viewportClasses:d,escapeKey:f,toggleSidebar:b,toggleUserList:v,toggleMentions:w,store:e,overlay:n,loungeWindow:t,imageViewer:s,contextMenu:l,confirmDialog:c}}}),bu=(0,q.A)(fu,[["render",function(e,n,t,a,s,o){const r=(0,i.g2)("Sidebar"),c=(0,i.g2)("router-view"),u=(0,i.g2)("Mentions"),d=(0,i.g2)("ImageViewer"),p=(0,i.g2)("ContextMenu"),h=(0,i.g2)("ConfirmDialog");return(0,i.uX)(),(0,i.CE)("div",{id:"viewport",class:(0,l.C4)(e.viewportClasses),role:"tablist"},[e.store.state.appLoaded?((0,i.uX)(),(0,i.Wv)(r,{key:0,overlay:e.overlay},null,8,["overlay"])):(0,i.Q3)("",!0),(0,i.Lk)("div",{id:"sidebar-overlay",ref:"overlay","aria-hidden":"true",onClick:n[0]||(n[0]=n=>e.store.commit("sidebarOpen",!1))},null,512),(0,i.bF)(c,{ref:"loungeWindow"},null,512),(0,i.bF)(u),(0,i.bF)(d,{ref:"imageViewer"},null,512),(0,i.bF)(p,{ref:"contextMenu"},null,512),(0,i.bF)(h,{ref:"confirmDialog"},null,512),n[1]||(n[1]=(0,i.Lk)("div",{id:"upload-overlay"},null,-1))],2)}]]);function vu(e){const n=String(e.message||e);if(o.M_.commit("isConnected",!1),!re.A.io.reconnection())return o.M_.commit("currentUserVisibleError",`Disconnected from the server (${n}), The Lounge does not reconnect in public mode.`),void wu();var t;o.M_.commit("currentUserVisibleError",`Waiting to reconnectโ€ฆ (${n})`),wu(),re.A.io.skipReconnect&&"io client disconnect"!==n&&(t=()=>re.A.connect(),window.requestIdleCallback?window.requestIdleCallback(t,{timeout:2e3}):t())}function wu(){const e=document.getElementById("loading-page-message");e&&(e.textContent=o.M_.state.currentUserVisibleError)}re.A.on("disconnect",vu),re.A.on("connect_error",vu),re.A.on("error",vu),re.A.io.on("reconnect_attempt",function(e){o.M_.commit("currentUserVisibleError",`Reconnectingโ€ฆ (attempt ${e})`),wu()}),re.A.on("connecting",function(){o.M_.commit("currentUserVisibleError","Connectingโ€ฆ"),wu()}),re.A.on("connect",function(){re.A.sendBuffer=[],o.M_.commit("currentUserVisibleError","Finalizing connectionโ€ฆ"),wu()});let yu,_u=null;async function Cu(){window.g_TheLoungeRemoveLoading&&window.g_TheLoungeRemoveLoading(),"SignIn"!==hc.currentRoute.value.name&&await gc("SignIn")}function Lu(e){re.A.disconnect(),o.M_.commit("currentUserVisibleError",e),Fr.reload()}function Mu(){const e=document.getElementById("loading-page-message");e&&(e.textContent=o.M_.state.currentUserVisibleError)}function Eu(e){const n=[""].concat(e.messages.filter(e=>e.self&&e.text&&e.type===Ys.MESSAGE).map(e=>e.text?e.text:"").reverse().slice(0,99)),{messages:t,...a}=e;return{...a,editTopic:!1,pendingMessage:"",inputHistoryPosition:0,historyLoading:!1,scrolledToBottom:!0,users:[],usersOutdated:e.type===Zs.rR.CHANNEL,moreHistoryAvailable:e.totalMessages>e.messages.length,inputHistory:n,messages:t,groups:e.groups||void 0}}function xu(e,n){const t=[];for(const a of n){const n=e.find(e=>e.id===a.id);if(!n){const e=Eu(a);t.push(e),Su(e);continue}Su(n),n.messages&&a.messages.length<100?n.messages=n.messages.concat(a.messages):n.messages=a.messages;for(const e in a)Object.hasOwn(n,e)&&"messages"!==e&&(n[e]=a[e]);t.push(n)}return t}function Su(e){if(o.M_.state.activeChannel&&o.M_.state.activeChannel.channel===e)return re.A.emit("names",{target:e.id}),void(e.usersOutdated=!1);e.usersOutdated=!0}function Au(){const e=window.location.origin+window.location.pathname+window.location.hash;window.history.replaceState(null,"",e)}re.A.on("auth:success",function(){o.M_.commit("currentUserVisibleError","Loading messagesโ€ฆ"),Mu()}),re.A.on("auth:failed",async function(){if(h.A.remove("token"),o.M_.state.appLoaded)return Lu("Authentication failed, reloadingโ€ฆ");await Cu()}),re.A.on("auth:start",async function(e){if(_u&&e!==_u)return Lu("Server restarted, reloadingโ€ฆ");_u=e;const n=h.A.get("user"),t=h.A.get("token"),a=n&&t;if(o.M_.state.appLoaded&&!a)return Lu("Authentication failed, reloadingโ€ฆ");if(a){o.M_.commit("currentUserVisibleError","Authorizingโ€ฆ"),Mu();let e=-1;for(const n of o.M_.state.networks)for(const t of n.channels)if(t.messages.length>0){const n=t.messages[t.messages.length-1].id;e<n&&(e=n)}const a=o.M_.state.activeChannel&&o.M_.state.activeChannel.channel.id||null;re.A.emit("auth:perform",{user:n,token:t,lastMessage:e,openChannel:a,hasConfig:null!==o.M_.state.serverConfiguration})}else await Cu()}),re.A.on("commands",function(e){e&&(a.commands=e)}),re.A.on("init",async function(e){if(o.M_.commit("networks",function(e){const n=h.A.get("thelounge.networks.collapsed"),t=n?new Set(JSON.parse(n)):new Set,a=[];for(const n of e){const e=o.M_.getters.findNetwork(n.uuid);if(!e){const e={...n,channels:n.channels.map(Eu),isJoinChannelShown:!1,isCollapsed:t.has(n.uuid)};a.push(e);continue}for(const t in n)Object.prototype.hasOwnProperty.call(n,t)&&("channels"===t?e.channels=xu(e.channels,n.channels):e[t]=n[t]);a.push(e)}return a}(e.networks)),o.M_.commit("isConnected",!0),o.M_.commit("currentUserVisibleError",null),e.token&&h.A.set("token",e.token),!o.M_.state.appLoaded){o.M_.commit("appLoaded"),re.A.emit("setting:get");try{await hc.isReady()}catch{}if(window.g_TheLoungeRemoveLoading&&window.g_TheLoungeRemoveLoading(),await async function(){if(!("URLSearchParams"in window))return!1;const e=new URLSearchParams(document.location.search);if(e.has("uri")){const n=e.get("uri"),t=(e=>{const n={name:"",host:"",port:"",join:"",tls:!1};try{const t=new URL(e);if("irc:"===t.protocol)t.protocol="http:",t.port||(t.port="6667");else{if("ircs:"!==t.protocol)return;t.protocol="https:",t.port||(t.port="6697"),n.tls=!0}if(!t.hostname)return{};n.host=n.name=t.hostname,n.port=t.port;let a="";t.pathname.length>1&&(a=t.pathname.substr(1)),t.hash.length>1&&(a+=t.hash),n.join=a}catch{}return n})(String(n));return Au(),await hc.push({name:"Connect",query:t}),!0}if(document.body.classList.contains("public")&&document.location.search){const n=Object.fromEntries(e.entries());return Au(),await hc.push({name:"Connect",query:n}),!0}return!1}())return;if(!hc.currentRoute?.value?.name||"SignIn"===hc.currentRoute?.value?.name){const n=o.M_.getters.findChannel(e.active);n?mc(n.channel):o.M_.state.networks.length>0?mc(o.M_.state.networks[0].channels[0]):await gc("Connect")}}}),re.A.on("join",function(e){const n=o.M_.getters.findNetwork(e.network);if(!n)return;const t=Eu(e.chan);if(n.channels.splice(e.index||-1,0,t),"query"===e.chan.type&&!e.shouldOpen)return;const a=o.M_.getters.findChannel(e.chan.id);a?mc(a.channel):console.error("Could not find channel",e.chan.id)}),re.A.on("more",async e=>{const n=o.M_.getters.findChannel(e.chan)?.channel;n&&(n.inputHistory=n.inputHistory.concat(e.messages.filter(e=>e.self&&e.text&&e.type===Ys.MESSAGE).map(e=>e.text?e.text:"").reverse().slice(0,100-n.inputHistory.length)),n.moreHistoryAvailable=e.totalMessages>n.messages.length+e.messages.length,n.messages.unshift(...e.messages),await(0,i.dY)(),n.historyLoading=!1)});try{yu=new Audio,yu.src="audio/pop.wav"}catch{yu={play(){}}}function Tu(e){return{...e,localetime:"",channel:null}}re.A.on("msg",function(e){const n=o.M_.getters.findChannel(e.chan);if(!n)return;let t=n.channel,a=o.M_.state.activeChannel&&o.M_.state.activeChannel.channel===t;e.msg.showInActive&&(o.M_.state.activeChannel&&o.M_.state.activeChannel.network===n.network?(t=o.M_.state.activeChannel.channel,a=!0,e.chan===t.id?delete e.msg.showInActive:e.chan=t.id):delete e.msg.showInActive),a||(void 0!==e.highlight&&(t.highlight=e.highlight),void 0!==e.unread&&(t.unread=e.unread)),t.messages.push(e.msg),e.msg.self?t.firstUnread=e.msg.id:function(e,n,t,a){var s;if(!n.muted&&((a.highlight||o.M_.state.settings.notifyAllMessages&&a.type===Ys.MESSAGE)&&(!document.hasFocus()||!t||t.channel!==n))){if(o.M_.state.settings.notification)try{yu.play()}catch{}if(o.M_.state.settings.desktopNotifications&&"Notification"in window&&"granted"===Notification.permission){let t,i;const l=a.from&&a.from.nick?a.from.nick:"unkonown";a.type===Ys.INVITE?(t="New channel invite:",i=l+" invited you to "+a.channel):(t=l,n.type!==Zs.rR.QUERY&&(t+=` (${n.name})`),a.type===Ys.MESSAGE&&(t+=" says:"),s=a.text?a.text:"",i=s.replace(Po,"").trim());const r=Date.parse(String(a.time));try{o.M_.state.hasServiceWorker?navigator.serviceWorker.ready.then(n=>{n.active?.postMessage({type:"notification",chanId:e,timestamp:r,title:t,body:i})}).catch(()=>{}):new Notification(t,{tag:`chan-${e}`,badge:"img/icon-alerted-black-transparent-bg-72x72px.png",icon:"img/icon-alerted-grey-bg-192x192px.png",body:i,timestamp:r}).addEventListener("click",function(){this.close(),window.focus();const n=o.M_.getters.findChannel(e);n&&mc(n.channel)})}catch{}}}}(e.chan,t,o.M_.state.activeChannel,e.msg);let s=0;o.M_.state.settings.searchEnabled&&o.M_.state.settings.enableEnhancedSearch?s=1e4:a?t.scrolledToBottom&&(s=1500):s=100,s>0&&t.messages.length>s&&(t.messages.splice(0,t.messages.length-s),t.moreHistoryAvailable=!0),t.type===Zs.rR.CHANNEL&&function(e,n){switch(n.type){case Ys.MESSAGE:case Ys.ACTION:{const t=e.users.find(e=>e.nick===n.from?.nick);t&&(t.lastMessage=new Date(n.time).getTime()||Date.now());break}case Ys.QUIT:case Ys.PART:{const t=e.users.findIndex(e=>e.nick===n.from?.nick);t>-1&&e.users.splice(t,1);break}case Ys.KICK:{const t=e.users.findIndex(e=>e.nick===n.target?.nick);t>-1&&e.users.splice(t,1);break}}}(t,e.msg)}),re.A.on("msg:preview",function(e){const n=o.M_.getters.findChannel(e.chan),t=n?.channel.messages.find(n=>n.id===e.id);if(!t||!t.previews)return;const a=t.previews.findIndex(n=>n.link===e.preview.link);a>-1&&(t.previews[a]=e.preview)}),re.A.on("msg:special",function(e){const n=o.M_.getters.findChannel(e.chan);n&&(n.channel.data=e.data,mc(n.channel))}),re.A.on("names",function(e){const n=o.M_.getters.findChannel(e.id);n&&(n.channel.users=e.users)}),re.A.on("network",function(e){const n={...e.network,channels:e.network.channels.map(Eu),isJoinChannelShown:!1,isCollapsed:!1};o.M_.commit("networks",[...o.M_.state.networks,n]),mc(n.channels[n.channels.length-1])}),re.A.on("network:options",function(e){const n=o.M_.getters.findNetwork(e.network);n&&(n.serverOptions=e.serverOptions)}),re.A.on("network:status",function(e){const n=o.M_.getters.findNetwork(e.network);n&&(n.status.connected=e.connected,n.status.secure=e.secure,e.connected||n.channels.forEach(e=>{e.users=[],e.state=Zs.gC.PARTED}))}),re.A.on("channel:state",function(e){const n=o.M_.getters.findChannel(e.chan);n&&(n.channel.state=e.state)}),re.A.on("network:info",function(e){const n=o.M_.getters.findNetwork(e.uuid);if(n)for(const t in e)n[t]=e[t]}),re.A.on("network:name",function(e){const n=o.M_.getters.findNetwork(e.uuid);n&&(n.name=n.channels[0].name=e.name)}),re.A.on("nick",function(e){const n=o.M_.getters.findNetwork(e.network);n&&(n.nick=e.nick)}),re.A.on("open",function(e){if(e<1)return;if(o.M_.state.activeChannel&&o.M_.state.activeChannel.channel.id===e)return;const n=o.M_.getters.findChannel(e);n&&(n.channel.highlight=0,n.channel.unread=0,n.channel.messages.length>0&&(n.channel.firstUnread=n.channel.messages[n.channel.messages.length-1].id))}),re.A.on("part",async function(e){o.M_.state.activeChannel&&o.M_.state.activeChannel.channel.id===e.chan&&mc(o.M_.state.activeChannel.network.channels[0]);const n=o.M_.getters.findChannel(e.chan);if(!n)return;const t=n.network.channels.findIndex(n=>n.id===e.chan);n.network.channels.splice(t,1),await o.M_.dispatch("partChannel",n)}),re.A.on("quit",async function(e){const n=o.M_.state.activeChannel&&o.M_.state.activeChannel.network.uuid===e.network;o.M_.commit("removeNetwork",e.network),n&&(o.M_.state.networks.length>0?mc(o.M_.state.networks[0].channels[0]):await gc("Connect"))}),re.A.on("sync_sort:networks",function(e){o.M_.commit("sortNetworks",(n,t)=>e.order.indexOf(n.uuid)-e.order.indexOf(t.uuid))}),re.A.on("sync_sort:channels",function(e){const n=o.M_.getters.findNetwork(e.network);n&&n.channels.sort((n,t)=>e.order.indexOf(n.id)-e.order.indexOf(t.id))}),re.A.on("topic",function(e){const n=o.M_.getters.findChannel(e.chan);n&&(n.channel.topic=e.topic)}),re.A.on("users",function(e){if(o.M_.state.activeChannel&&o.M_.state.activeChannel.channel.id===e.chan)return re.A.emit("names",{target:e.chan});const n=o.M_.getters.findChannel(e.chan);n&&(n.channel.usersOutdated=!0)}),re.A.on("sign-out",function(){Or.signout()}),re.A.on("sessions:list",function(e){e.sort((e,n)=>n.lastUse-e.lastUse),o.M_.commit("sessions",e)}),re.A.once("configuration",function(e){o.M_.commit("serverConfiguration",e),o.M_.dispatch("settings/applyAll"),e.fileUpload&&fi.initialize();const n=e.themes.find(e=>e.name===o.M_.state.settings.theme);void 0===n?o.M_.dispatch("settings/update",{name:"theme",value:e.defaultTheme,sync:!0}):n.themeColor&&(document.querySelector('meta[name="theme-color"]').content=n.themeColor),document.body.classList.contains("public")&&window.addEventListener("beforeunload",e=>{e.preventDefault(),e.returnValue="Are you sure you want to navigate away from this page?"})}),re.A.on("changelog",function(e){let n;if(o.M_.commit("versionData",e),o.M_.commit("versionDataExpired",!1),n=e.latest?"new-version":e.packages?"new-packages":e.current.changelog?"up-to-date":"error",o.M_.commit("versionStatus",n),e.expiresAt){const n=e.expiresAt-Date.now();n>0?setTimeout(()=>o.M_.commit("versionDataExpired",!0),n):o.M_.commit("versionDataExpired",!0)}}),re.A.on("changelog:newversion",()=>{o.M_.state.serverConfiguration&&(o.M_.state.serverConfiguration.isUpdateAvailable=!0)}),re.A.on("setting:new",async function(e){const n=e.name,t=e.value;await o.M_.dispatch("settings/update",{name:n,value:t,sync:!1})}),re.A.on("setting:all",async function(e){const n=Object.keys(e).length>0;if(o.M_.commit("serverHasSettings",n),n)for(const n in e)await o.M_.dispatch("settings/update",{name:n,value:e[n],sync:!1});else await o.M_.dispatch("settings/syncAll")}),re.A.on("history:clear",function(e){const n=o.M_.getters.findChannel(e.target);n?.channel&&(n.channel.messages=[],n.channel.unread=0,n.channel.highlight=0,n.channel.firstUnread=0,n.channel.moreHistoryAvailable=!1)}),re.A.on("mentions:list",function(e){o.M_.commit("mentions",e.map(Tu))}),re.A.on("search:results",e=>{const n=o.M_.state.messageSearchPendingQuery;n&&n.channelName===e.channelName&&n.networkUuid===e.networkUuid&&n.offset===e.offset&&n.searchTerm===e.searchTerm&&(o.M_.commit("messageSearchPendingQuery",null),o.M_.state.messageSearchResults?o.M_.commit("addMessageSearchResults",e):o.M_.commit("messageSearchResults",{results:e.results}))}),re.A.on("mute:changed",e=>{const{target:n,status:t}=e,a=o.M_.getters.findChannel(n);if(a?.channel.type===Zs.rR.LOBBY)for(const e of a.network.channels)e.type!==Zs.rR.SPECIAL&&(e.muted=t);else a&&(a.channel.muted=t)}),re.A.on("pin:changed",e=>{const{target:n,status:t}=e,a=o.M_.getters.findChannel(n);a&&(a.channel.pinned=t)}),re.A.on("channel:groups",e=>{const n=o.M_.getters.findChannel(e.chan)?.channel;n&&(n.groups=[...e.groups])});function Xu(e){if(0===o.M_.state.networks.length)return;const n=[];let t=-1;for(const e of o.M_.state.networks)for(const a of e.channels)te(e,a)||(-1===t&&o.M_.state.activeChannel?.channel===a&&(t=n.length),n.push(a));const a=n.length;t=((t+e)%a+a)%a,ju(n[t])}function ju(e){mc(e);const n=document.querySelector(`#sidebar .channel-list-item[aria-controls="#chan-${e.id}"]`);n&&n.scrollIntoView({block:"center",inline:"nearest"})}u().bind(["alt+up","alt+down"],function(e,n){return!!g(e)||(Xu("up"===n.split("+").pop()?-1:1),!1)}),function(e){let n=[];document.body.addEventListener("touchmove",function(e){if(2!==e.touches.length)return;const t=e.touches.item(0),a=e.touches.item(1);if(!t||!a)return;const s=window.performance.now(),o=[(t.screenX+a.screenX)/2,(t.screenY+a.screenY)/2];if(n.length>0){const e=n[n.length-1],t=e.center[0]===o[0]&&e.center[1]===o[1];if(e.timestamp===s||t)return}n.push({timestamp:s,center:o})},{passive:!0}),document.body.addEventListener("touchend",function(t){if(!(t.touches.length>=2))try{const t=function(e){if(e.length<2)return null;for(let n=1;n<e.length;++n){const t=e[n-1],a=e[n];if(Rc(t.center,a.center)/Math.abs(t.timestamp-a.timestamp)<.2)return null}return function([e,n],[t,a]){const s=(a-n)/(t-e);return Math.abs(s)<1?e<t?"e":"w":n<a?"s":"n"}(e[0].center,e[e.length-1].center)}(n);t&&e(t)}finally{n=[]}},{passive:!0}),document.body.addEventListener("touchcancel",function(){n=[]},{passive:!0})}(function(e){"e"!==e&&"w"!==e||Xu("e"===e?-1:1)}),u().bind(["alt+shift+up","alt+shift+down"],function(e,n){if(g(e))return!0;const t=o.M_.state.networks.length;if(0===t)return!1;const a="up"===n.split("+").pop()?-1:1;let s=0;return o.M_.state.activeChannel&&(s=o.M_.state.networks.findIndex(e=>e===o.M_.state.activeChannel?.network),-1===a&&o.M_.state.activeChannel?.channel.type!==Zs.rR.LOBBY||(s=((s+a)%t+t)%t)),ju(o.M_.state.networks[s].channels[0]),!1}),u().bind(["alt+mod+up","alt+mod+down"],function(e,n){if(g(e))return!0;const t=o.M_.state.networks.map(e=>e.channels.filter(e=>e.unread||e===o.M_.state.activeChannel?.channel)).flat();if(0===t.length)return;let a=t.findIndex(e=>e===o.M_.state.activeChannel?.channel);const s=t.length;return a=((a+("up"===n.split("+").pop()?-1:1))%s+s)%s,ju(t[a]),!1}),u().bind(["alt+a"],function(e){if(g(e))return!0;let n;e:for(const e of o.M_.state.networks)for(const t of e.channels){if(t.highlight){n=t;break e}t.unread&&!n&&(n=t)}return n&&ju(n),!1}),u().bind(["alt+/"],function(e){return!!g(e)||(gc("Help").catch(e=>console.log(e)),!1)});const Wu={8:!0,9:!0,12:!0,16:!0,17:!0,18:!0,19:!0,20:!0,27:!0,35:!0,36:!0,37:!0,38:!0,39:!0,40:!0,45:!0,46:!0,112:!0,113:!0,114:!0,115:!0,116:!0,117:!0,118:!0,119:!0,120:!0,121:!0,122:!0,123:!0,144:!0,145:!0,224:!0};document.addEventListener("keydown",e=>{if("Escape"===e.key&&"Help"===hc.currentRoute.value.name)return void hc.go(-1);if(e.altKey||Wu[e.which])return;if((e.ctrlKey||e.metaKey)&&86!==e.which)return;if(33===e.which||34===e.which){const e=document.querySelector(".window .chat-content .chat");return void(e&&e.focus())}const n=e.target.tagName;if("INPUT"===n||"TEXTAREA"===n)return;const t=document.getElementById("input");t&&(t.focus(),13===e.which&&e.preventDefault())});const Pu=document.getElementById("favicon"),Ru=Pu?.getAttribute("href")||"",Iu=Pu?.dataset.other||"",Nu=(0,s.Ef)(bu);Nu.use(hc),Nu.use(o.M_,o.Eb),Nu.mount("#app"),re.A.open(),o.M_.watch(e=>e.sidebarOpen,e=>{window.innerWidth>a.mobileViewportPixels&&(h.A.set("thelounge.state.sidebar",e.toString()),r.A.emit("resize"))}),o.M_.watch(e=>e.userlistOpen,e=>{h.A.set("thelounge.state.userlist",e.toString()),r.A.emit("resize")}),o.M_.watch((e,n)=>n.title,e=>{document.title=e}),o.M_.watch((e,n)=>n.highlightCount,e=>{Pu?.setAttribute("href",e>0?Iu:Ru);const n=window.navigator;n.setAppBadge&&(e>0?n.setAppBadge(e).catch(()=>{}):n.clearAppBadge&&n.clearAppBadge().catch(()=>{}))}),Nu.config.errorHandler=function(e){e instanceof Error?o.M_.commit("currentUserVisibleError",`Vue error: ${e.message}`):o.M_.commit("currentUserVisibleError",`Vue error: ${String(e)}`),console.error(e)}},9207:(e,n,t)=>{"use strict";t.r(n),t.d(n,{default:()=>l});var a=t(641),s=t(33);const o={class:"content"},i=(0,a.pM)({name:"MessageTypeRaw",props:{network:{type:Object,required:!0},message:{type:Object,required:!0}}}),l=(0,t(6262).A)(i,[["render",function(e,n,t,i,l,r){return(0,a.uX)(),(0,a.CE)("span",o,(0,s.v_)(e.message.text),1)}]])},9808:(e,n,t)=>{"use strict";t.d(n,{A:()=>a});const a={set(e,n){try{window.localStorage.setItem(e,n)}catch{}},get(e){try{return window.localStorage.getItem(e)}catch{return null}},remove(e){try{window.localStorage.removeItem(e)}catch{}},clear(){try{window.localStorage.clear()}catch{}}}},9956:(e,n,t)=>{"use strict";t.r(n),t.d(n,{default:()=>l});var a=t(641);const s={class:"content"};var o=t(6640);const i=(0,a.pM)({name:"MessageTypeNick",components:{Username:o.A},props:{network:{type:Object,required:!0},message:{type:Object,required:!0}}}),l=(0,t(6262).A)(i,[["render",function(e,n,t,o,i,l){const r=(0,a.g2)("Username");return(0,a.uX)(),(0,a.CE)("span",s,[(0,a.bF)(r,{user:e.message.from},null,8,["user"]),n[0]||(n[0]=(0,a.eW)(" is now known as ",-1)),(0,a.bF)(r,{user:{nick:e.message.new_nick,mode:e.message.from.mode}},null,8,["user"])])}]])},9971:(e,n,t)=>{"use strict";t.r(n),t.d(n,{default:()=>c});var a=t(641);const s={class:"content"},o={key:0,class:"part-reason"};var i=t(3568),l=t(6640);const r=(0,a.pM)({name:"MessageTypeKick",components:{ParsedMessage:i.A,Username:l.A},props:{network:{type:Object,required:!0},message:{type:Object,required:!0}}}),c=(0,t(6262).A)(r,[["render",function(e,n,t,i,l,r){const c=(0,a.g2)("Username"),u=(0,a.g2)("ParsedMessage");return(0,a.uX)(),(0,a.CE)("span",s,[(0,a.bF)(c,{user:e.message.from},null,8,["user"]),n[2]||(n[2]=(0,a.eW)(" has kicked; ",-1)),(0,a.bF)(c,{user:e.message.target},null,8,["user"]),e.message.text?((0,a.uX)(),(0,a.CE)("i",o,[n[0]||(n[0]=(0,a.eW)(" (",-1)),(0,a.bF)(u,{network:e.network,message:e.message},null,8,["network","message"]),n[1]||(n[1]=(0,a.eW)(")",-1))])):(0,a.Q3)("",!0)])}]])}},t={};function a(e){var s=t[e];if(void 0!==s)return s.exports;var o=t[e]={exports:{}};return n[e].call(o.exports,o,o.exports,a),o.exports}a.m=n,e=[],a.O=(n,t,s,o)=>{if(!t){var i=1/0;for(u=0;u<e.length;u++){t=e[u][0],s=e[u][1],o=e[u][2];for(var l=!0,r=0;r<t.length;r++)(!1&o||i>=o)&&Object.keys(a.O).every(e=>a.O[e](t[r]))?t.splice(r--,1):(l=!1,o<i&&(i=o));if(l){e.splice(u--,1);var c=s();void 0!==c&&(n=c)}}return n}o=o||0;for(var u=e.length;u>0&&e[u-1][2]>o;u--)e[u]=e[u-1];e[u]=[t,s,o]},a.n=e=>{var n=e&&e.__esModule?()=>e.default:()=>e;return a.d(n,{a:n}),n},a.d=(e,n)=>{for(var t in n)a.o(n,t)&&!a.o(e,t)&&Object.defineProperty(e,t,{enumerable:!0,get:n[t]})},a.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),a.o=(e,n)=>Object.prototype.hasOwnProperty.call(e,n),a.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},(()=>{var e={936:0};a.O.j=n=>0===e[n];var n=(n,t)=>{var s,o,i=t[0],l=t[1],r=t[2],c=0;if(i.some(n=>0!==e[n])){for(s in l)a.o(l,s)&&(a.m[s]=l[s]);if(r)var u=r(a)}for(n&&n(t);c<i.length;c++)o=i[c],a.o(e,o)&&e[o]&&e[o][0](),e[o]=0;return a.O(u)},t=self.webpackChunk_lordbex_thelounge=self.webpackChunk_lordbex_thelounge||[];t.forEach(n.bind(null,0)),t.push=n.bind(null,t.push.bind(t))})();var s=a.O(void 0,[110],()=>a(9056));s=a.O(s)})();
2
2
  //# sourceMappingURL=bundle.js.map