This repository has been archived on 2020-11-02. You can view files and clone it, but cannot push or open issues or pull requests.
TripSit_Suite/public/js/bundle.js
2020-11-01 22:46:04 +00:00

2 lines
270 KiB
JavaScript
Raw Permalink Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

!function(e){function t(t){for(var s,o,r=t[0],l=t[1],c=t[2],u=0,d=[];u<r.length;u++)o=r[u],Object.prototype.hasOwnProperty.call(n,o)&&n[o]&&d.push(n[o][0]),n[o]=0;for(s in l)Object.prototype.hasOwnProperty.call(l,s)&&(e[s]=l[s]);for(h&&h(t);d.length;)d.shift()();return i.push.apply(i,c||[]),a()}function a(){for(var e,t=0;t<i.length;t++){for(var a=i[t],s=!0,r=1;r<a.length;r++){var l=a[r];0!==n[l]&&(s=!1)}s&&(i.splice(t--,1),e=o(o.s=a[0]))}return e}var s={},n={0:0},i=[];function o(t){if(s[t])return s[t].exports;var a=s[t]={i:t,l:!1,exports:{}};return e[t].call(a.exports,a,a.exports,o),a.l=!0,a.exports}o.m=e,o.c=s,o.d=function(e,t,a){o.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:a})},o.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},o.t=function(e,t){if(1&t&&(e=o(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var a=Object.create(null);if(o.r(a),Object.defineProperty(a,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var s in e)o.d(a,s,function(t){return e[t]}.bind(null,s));return a},o.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return o.d(t,"a",t),t},o.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},o.p="/";var r=window.webpackJsonp=window.webpackJsonp||[],l=r.push.bind(r);r.push=t,r=r.slice();for(var c=0;c<r.length;c++)t(r[c]);var h=l;i.push([72,1]),a()}([function(e,t,a){"use strict";var s=a(10),n=a(45),i=a(7),o=a(1);function r(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(e);t&&(s=s.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,s)}return a}function l(e){for(var t=1;t<arguments.length;t++){var a=null!=arguments[t]?arguments[t]:{};t%2?r(Object(a),!0).forEach((function(t){c(e,t,a[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):r(Object(a)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(a,t))}))}return e}function c(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}const h={apply(){},default:null,sync:null},u=function(e){const t={};for(const a in e)t[a]=l(l({},h),e[a]);return t}({syncSettings:{default:!0,sync:"never",apply(e,t,a=!1){t&&!a&&o.a.emit("setting:get")}},advanced:{default:!1},autocomplete:{default:!0},nickPostfix:{default:""},coloredNicks:{default:!0},desktopNotifications:{default:!1,sync:"never",apply(e,t){e.commit("refreshDesktopNotificationState",null,{root:!0}),"Notification"in window&&t&&"granted"!==Notification.permission&&Notification.requestPermission(()=>e.commit("refreshDesktopNotificationState",null,{root:!0}))}},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,t){const a=document.getElementById("theme"),s="themes/".concat(t,".css");if(a.attributes.href.value===s)return;a.attributes.href.value=s;const n=e.state.serverConfiguration.themes.filter(e=>e.name===t)[0].themeColor||document.querySelector('meta[name="theme-color"]').content;document.querySelector('meta[name="theme-color"]').content=n}},media:{default:!0},uploadCanvas:{default:!0},userStyles:{default:"",apply(e,t){/[?&]nocss/.test(window.location.search)||(document.getElementById("user-specified-css").innerHTML=t)}}});function d(){const e={};for(const t in u)e[t]=u[t].default;return e}function p(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(e);t&&(s=s.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,s)}return a}function m(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function g(){let e;try{e=JSON.parse(i.a.get("settings"))}catch(e){i.a.remove("settings")}return e?(null!==e.highlights&&"object"==typeof e.highlights&&(e.highlights=e.highlights.join(", ")),e):{}}function f(e,t){const a=function(e){for(var t=1;t<arguments.length;t++){var a=null!=arguments[t]?arguments[t]:{};t%2?p(Object(a),!0).forEach((function(t){m(e,t,a[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):p(Object(a)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(a,t))}))}return e}({},e);for(const s in e)void 0!==t[s]&&typeof e[s]==typeof t[s]&&(a[s]=t[s]);return a}const _=document.title;function v(){return"Notification"in window?"granted"===Notification.permission?"granted":"blocked":"unsupported"}s.a.use(n.a);const b=new n.a.Store({state:{appLoaded:!1,activeChannel:null,currentUserVisibleError:null,desktopNotificationState:v(),isAutoCompleting:!1,isConnected:!1,networks:[],mentions:[],hasServiceWorker:!1,pushNotificationState:"unsupported",serverConfiguration:null,sessions:[],sidebarOpen:!1,sidebarDragging:!1,userlistOpen:"false"!==i.a.get("thelounge.state.userlist"),versionData:null,versionStatus:"loading",versionDataExpired:!1,serverHasSettings:!1},mutations:{appLoaded(e){e.appLoaded=!0},activeChannel(e,t){e.activeChannel=t},currentUserVisibleError(e,t){e.currentUserVisibleError=t},refreshDesktopNotificationState(e){e.desktopNotificationState=v()},isAutoCompleting(e,t){e.isAutoCompleting=t},isConnected(e,t){e.isConnected=t},networks(e,t){e.networks=t},mentions(e,t){e.mentions=t},removeNetwork(e,t){e.networks.splice(b.state.networks.findIndex(e=>e.uuid===t),1)},sortNetworks(e,t){e.networks.sort(t)},hasServiceWorker(e){e.hasServiceWorker=!0},pushNotificationState(e,t){e.pushNotificationState=t},serverConfiguration(e,t){e.serverConfiguration=t},sessions(e,t){e.sessions=t},sidebarOpen(e,t){e.sidebarOpen=t},sidebarDragging(e,t){e.sidebarDragging=t},toggleSidebar(e){e.sidebarOpen=!e.sidebarOpen},toggleUserlist(e){e.userlistOpen=!e.userlistOpen},userlistOpen(e,t){e.userlistOpen=t},versionData(e,t){e.versionData=t},versionStatus(e,t){e.versionStatus=t},versionDataExpired(e,t){e.versionDataExpired=t},serverHasSettings(e,t){e.serverHasSettings=t}},getters:{findChannelOnCurrentNetwork:e=>t=>(t=t.toLowerCase(),e.activeChannel.network.channels.find(e=>e.name.toLowerCase()===t)),findChannel:e=>t=>{for(const a of e.networks)for(const e of a.channels)if(e.id===t)return{network:a,channel:e};return null},findNetwork:e=>t=>{for(const a of e.networks)if(a.uuid===t)return a;return null},highlightCount(e){let t=0;for(const a of e.networks)for(const e of a.channels)t+=e.highlight;return t},title:(e,t)=>(t.highlightCount?"(".concat(t.highlightCount,") "):"")+(e.activeChannel?"".concat(e.activeChannel.channel.name," — "):"")+_,initChannel:()=>e=>(e.pendingMessage="",e.inputHistoryPosition=0,e.inputHistory=[""],e.historyLoading=!1,e.scrolledToBottom=!0,e.editTopic=!1,e.moreHistoryAvailable=e.totalMessages>e.messages.length,delete e.totalMessages,"channel"===e.type&&(e.usersOutdated=!0),e)}});var w;b.registerModule("settings",(w=b,{namespaced:!0,state:f(d(),g()),mutations:{set(e,{name:t,value:a}){e[t]=a}},actions:{syncAll({state:e},t=!1){if(!1!==e.syncSettings||!1!==t){w.commit("serverHasSettings",!0);for(const t in e)"never"===u[t].sync&&"always"!==u[t].sync||o.a.emit("setting:set",{name:t,value:e[t]})}},applyAll({state:e}){for(const t in u)u[t].apply(w,e[t],!0)},update({state:e,commit:t},{name:a,value:s,sync:n=!1}){if(e[a]===s)return;const r=u[a];r&&(!1!==n||!1!==e.syncSettings&&"never"!==r.sync)&&(t("set",{name:a,value:s}),i.a.set("settings",JSON.stringify(e)),r.apply(w,s),n&&(e.syncSettings&&"never"!==r.sync||"always"===r.sync)&&o.a.emit("setting:set",{name:a,value:s}))}}}));t.a=b},function(e,t,a){"use strict";var s=a(65);const n=a.n(s)()({transports:JSON.parse(document.body.dataset.transports),path:window.location.pathname+"socket.io/",autoConnect:!1,reconnection:!document.body.classList.contains("public")});t.a=n},,function(e,t,a){"use strict";const s=new Map;t.a=new class{on(e,t){s.has(e)?s.get(e).push(t):s.set(e,[t])}off(e,t){s.has(e)&&s.set(e,s.get(e).filter(e=>e!==t))}emit(e,...t){s.has(e)&&s.get(e).slice().map(e=>{e(...t)})}}},function(e,t,a){"use strict";var s=a(3),n={name:"Username",props:{user:Object,active:Boolean,onHover:Function},computed:{mode(){return this.user.modes?this.user.modes[0]:this.user.mode},nickColor(){return(e=>{let t=0;for(let a=0;a<e.length;a++)t+=e.charCodeAt(a);return"color-"+(1+t%32)})(this.user.nick)}},methods:{hover(){return this.onHover(this.user)},openContextMenu(e){s.a.emit("contextmenu:user",{event:e,user:this.user})}}},i=a(2),o=Object(i.a)(n,(function(){var e=this,t=e.$createElement;return(e._self._c||t)("span",e._g({class:["user",e.nickColor,{active:e.active}],attrs:{"data-name":e.user.nick,role:"button"},on:{click:function(t){return t.preventDefault(),e.openContextMenu(t)},contextmenu:function(t){return t.preventDefault(),e.openContextMenu(t)}}},e.onHover?{mouseenter:e.hover}:{}),[e._t("default",[e._v(e._s(e.mode)+e._s(e.user.nick))])],2)}),[],!1,null,null,null);t.a=o.exports},function(e,t,a){"use strict";const s=/^(\d{1,2})(?:,(\d{1,2}))?/,n=/^([0-9a-f]{6})(?:,([0-9a-f]{6}))?/i,i=/[\u0000-\u0009\u000B-\u001F]/g;const o=["bold","textColor","bgColor","hexColor","hexBgColor","italic","underline","strikethrough","monospace"];var r=function(e){return function(e){const t=[];let a,o,r,l,c,h,u,d,p,m,g=0,f=0;const _=()=>{o=!1,r=void 0,l=void 0,c=void 0,h=void 0,u=!1,d=!1,p=!1,m=!1};_();const v=()=>{const a=e.slice(g,f).replace(i," ");if(a.length){const e=t.length?t[t.length-1].end:0;t.push({bold:o,textColor:r,bgColor:l,hexColor:c,hexBgColor:h,italic:u,underline:d,strikethrough:p,monospace:m,text:a,start:e,end:e+a.length})}g=f+1};for(;f<e.length;){switch(e[f]){case"":v(),_();break;case"":v(),o=!o;break;case"":v(),a=e.slice(f+1).match(s),a?(r=Number(a[1]),a[2]&&(l=Number(a[2])),f+=a[0].length,g=f+1):(r=void 0,l=void 0);break;case"":v(),a=e.slice(f+1).match(n),a?(c=a[1].toUpperCase(),a[2]&&(h=a[2].toUpperCase()),f+=a[0].length,g=f+1):(c=void 0,h=void 0);break;case"":{v();const e=l;l=r,r=e;break}case"":v(),u=!u;break;case"":v(),d=!d;break;case"":v(),p=!p;break;case"":v(),m=!m}f+=1}return v(),t}(e).reduce((e,t)=>{if(e.length){const a=e[e.length-1];if(o.every(e=>t[e]===a[e]))return a.text+=t.text,a.end+=t.text.length,e}return e.concat([t])},[])},l=a(46),c=a.n(l);var h=function(e,t,a){const s=a.map(c.a).join(""),n=t.map(c.a).join(""),i="(?:^|\\s)[".concat(s,"]*([").concat(n,"][^ ]+)"),o=new RegExp(i,"g"),r=[];let l;do{l=o.exec(e),l&&r.push({start:l.index+l[0].length-l[1].length,end:l.index+l[0].length,channel:l[1]})}while(l);return r},u=a(68);const d=a(120)();var p=function(e){const t=[];let a;for(;a=d.exec(e);)t.push({start:a.index,end:a.index+a[0].length,emoji:a[0]});return t};const m=/([\w[\]\\`^{|}-]+)/g;var g=function(e,t){const a=[];if(0===t.length)return a;let s;for(;s=m.exec(e);)t.indexOf(s[1])>-1&&a.push({start:s.index,end:s.index+s[1].length,nick:s[1]});return a};var f=function(e,t){return e.start<=t.start&&t.start<e.end||e.start<t.end&&t.end<=e.end||t.start<=e.start&&e.start<t.end||t.start<e.end&&e.end<=t.end};var _=function(e,t){let a=0;const s=e.reduce((e,t)=>(t.start>a&&e.push({start:a,end:t.start}),a=t.end,e),[]);return a<t.length&&s.push({start:a,end:t.length}),s};function v(e,t){return e.start-t.start||t.end-e.end}var b=function(e,t,a){return(e=e.sort(v).reduce((e,t)=>e.some(e=>f(e,t))?e:e.concat([t]),[])).concat(_(e,a)).sort(v).map(e=>(e.fragments=t.filter(t=>f(e,t)).map(t=>function(e,t){const a=t.start,s=Math.max(t.start,e.start),n=Math.min(t.end,e.end),i=t.text.slice(s-a,n-a);return Object.assign({},t,{start:s,end:n,text:i})}(e,t)),e))},w=a(47),k={name:"LinkPreviewToggle",props:{link:Object},computed:{ariaLabel(){return this.link.shown?"Collapse preview":"Expand preview"}},methods:{onClick(){this.link.shown=!this.link.shown,this.$parent.$emit("toggle-link-preview",this.link,this.$parent.message)}}},y=a(2),C=Object(y.a)(k,(function(){var e=this.$createElement,t=this._self._c||e;return"loading"!==this.link.type?t("button",{class:["toggle-button","toggle-preview",{opened:this.link.shown}],attrs:{"aria-label":this.ariaLabel},on:{click:this.onClick}}):this._e()}),[],!1,null,null,null).exports,x=a(31),S={name:"LinkPreviewFileSize",props:{size:Number},computed:{previewSize(){return Object(x.a)(this.size)}}},$=Object(y.a)(S,(function(){var e=this.$createElement;return(this._self._c||e)("span",{staticClass:"preview-size"},[this._v("("+this._s(this.previewSize)+")")])}),[],!1,null,null,null).exports,j=a(1),P={name:"InlineChannel",props:{channel:String},methods:{onClick(){const e=this.$store.getters.findChannelOnCurrentNetwork(this.channel);e&&this.$root.switchToChannel(e),j.a.emit("input",{target:this.$store.state.activeChannel.channel.id,text:"/join "+this.channel})}}},O=Object(y.a)(P,(function(){var e=this.$createElement;return(this._self._c||e)("span",{staticClass:"inline-channel",attrs:{dir:"auto",role:"button",tabindex:"0"},on:{click:this.onClick}},[this._t("default")],2)}),[],!1,null,null,null).exports,E=a(4);const M=/[\u{1f3fb}-\u{1f3ff}]|\u{fe0f}/gu;var T=function(e,t,a,s){const n=r(t),i=n.map(e=>e.text).join(""),o=s?s.serverOptions.CHANTYPES:["#","&"],l=s?s.serverOptions.PREFIX:["!","@","%","+"],c=h(i,o,l),d=Object(u.findLinks)(i),m=p(i),f=g(i,a&&a.users||[]),_=c.concat(d).concat(m).concat(f);return b(_,n,i).map(t=>{const s=t.fragments.map(t=>function(e,t){const a=[];e.bold&&a.push("irc-bold"),void 0!==e.textColor&&a.push("irc-fg"+e.textColor),void 0!==e.bgColor&&a.push("irc-bg"+e.bgColor),e.italic&&a.push("irc-italic"),e.underline&&a.push("irc-underline"),e.strikethrough&&a.push("irc-strikethrough"),e.monospace&&a.push("irc-monospace");const s={};let n=!1;return a.length>0&&(n=!0,s.class=a),e.hexColor&&(n=!0,s.style={color:"#".concat(e.hexColor)},e.hexBgColor&&(s.style["background-color"]="#".concat(e.hexBgColor))),n?t("span",s,e.text):e.text}(t,e));if(t.link){const n=a&&a.previews&&a.previews.find(e=>e.link===t.link),i=e("a",{attrs:{href:t.link,dir:n?null:"auto",target:"_blank",rel:"noopener"}},s);if(!n)return i;const o=[i];return n.size>0&&o.push(e($,{props:{size:n.size}})),o.push(e(C,{props:{link:n}})),e("span",{attrs:{dir:"auto"}},o)}if(t.channel)return e(O,{props:{channel:t.channel}},s);if(t.emoji){const a=t.emoji.replace(M,""),n=w[a]?"Emoji: ".concat(w[a]):null;return e("span",{class:["emoji"],attrs:{role:"img","aria-label":n,title:n}},s)}return t.nick?e(E.a,{props:{user:{nick:t.nick}},attrs:{dir:"auto"}},s):s})},A={name:"ParsedMessage",functional:!0,props:{text:String,message:Object,network:Object},render:(e,t)=>T(e,void 0!==t.props.text?t.props.text:t.props.message.text,t.props.message,t.props.network)},I=Object(y.a)(A,void 0,void 0,!1,null,null,null);t.a=I.exports},function(e,t,a){"use strict";a.d(t,"b",(function(){return Ve})),a.d(t,"a",(function(){return We})),a.d(t,"c",(function(){return Je}));var s=a(10),n=a(48),i=a(7),o=a(1),r={name:"RevealPassword",data:()=>({isVisible:!1}),methods:{onClick(){this.isVisible=!this.isVisible}}},l=a(2),c=Object(l.a)(r,(function(){var e=this.$createElement,t=this._self._c||e;return t("div",[this._t("default",null,{isVisible:this.isVisible}),t("span",{ref:"revealButton",class:["reveal-password tooltipped tooltipped-n tooltipped-no-delay",{"reveal-password-visible":this.isVisible}],attrs:{type:"button","aria-label":this.isVisible?"Hide password":"Show password"},on:{click:this.onClick}},[t("span",{attrs:{"aria-label":this.isVisible?"Hide password":"Show password"}})])],2)}),[],!1,null,null,null).exports,h={name:"SignIn",components:{RevealPassword:c},data:()=>({inFlight:!1,errorShown:!1}),mounted(){o.a.on("auth:failed",this.onAuthFailed)},beforeDestroy(){o.a.off("auth:failed",this.onAuthFailed)},methods:{onAuthFailed(){this.inFlight=!1,this.errorShown=!0},onSubmit(e){e.preventDefault(),this.inFlight=!0,this.errorShown=!1;const t={user:this.$refs.username.value,password:this.$refs.password.value};i.a.set("user",t.user),o.a.emit("auth:perform",t)},getStoredUser:()=>i.a.get("user")}},u=Object(l.a)(h,(function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("div",{staticClass:"window",attrs:{id:"sign-in",role:"tabpanel","aria-label":"Sign-in"}},[a("form",{staticClass:"container",attrs:{method:"post",action:""},on:{submit:e.onSubmit}},[a("img",{staticClass:"logo",attrs:{src:"img/logo-vertical-transparent-bg.svg",alt:"The Lounge",width:"256",height:"170"}}),a("img",{staticClass:"logo-inverted",attrs:{src:"img/logo-vertical-transparent-bg-inverted.svg",alt:"The Lounge",width:"256",height:"170"}}),a("label",{attrs:{for:"signin-username"}},[e._v("Username")]),a("input",{ref:"username",staticClass:"input",attrs:{id:"signin-username",type:"text",name:"username",autocapitalize:"none",autocorrect:"off",autocomplete:"username",required:"",autofocus:""},domProps:{value:e.getStoredUser()}}),a("div",{staticClass:"password-container"},[a("label",{attrs:{for:"signin-password"}},[e._v("Password")]),a("RevealPassword",{scopedSlots:e._u([{key:"default",fn:function(e){return[a("input",{ref:"password",staticClass:"input",attrs:{id:"signin-password",type:e.isVisible?"text":"password",name:"password",autocapitalize:"none",autocorrect:"off",autocomplete:"current-password",required:""}})]}}])})],1),e.errorShown?a("div",{staticClass:"error"},[e._v("Authentication failed.")]):e._e(),a("button",{staticClass:"btn",attrs:{disabled:e.inFlight,type:"submit"}},[e._v("Sign in")])])])}),[],!1,null,null,null).exports,d={name:"SidebarToggle"},p=Object(l.a)(d,(function(){var e=this,t=e.$createElement;return(e._self._c||t)("button",{staticClass:"lt",attrs:{"aria-label":"Toggle channel list"},on:{click:function(t){return e.$store.commit("toggleSidebar")}}})}),[],!1,null,null,null).exports,m={name:"NetworkForm",components:{RevealPassword:c,SidebarToggle:p},props:{handleSubmit:Function,defaults:Object,disabled:Boolean},data(){return{config:this.$store.state.serverConfiguration,previousUsername:this.defaults.username,displayPasswordField:!1}},watch:{displayPasswordField(e){e&&this.$nextTick(()=>this.$refs.publicPassword.focus())},"defaults.commands"(){this.$nextTick(this.resizeCommandsInput)},"defaults.tls"(e){const t=[6667,6697],a=e?0:1;this.defaults.port===t[a]&&(this.defaults.port=t[1-a])}},methods:{setSaslAuth(e){this.defaults.sasl=e},onNickChanged(e){this.$refs.usernameInput&&(this.$refs.usernameInput.value&&this.$refs.usernameInput.value!==this.previousUsername||(this.$refs.usernameInput.value=e.target.value),this.previousUsername=e.target.value)},onSubmit(e){const t=new FormData(e.target),a={};for(const e of t.entries())a[e[0]]=e[1];this.handleSubmit(a)},resizeCommandsInput(){this.$refs.commandsInput&&(this.$refs.commandsInput.style.height="",this.$refs.commandsInput.style.height=Math.ceil(this.$refs.commandsInput.scrollHeight+2)+"px")}}},g=(a(122),Object(l.a)(m,(function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("div",{staticClass:"window",attrs:{id:"connect",role:"tabpanel","aria-label":"Connect"}},[a("div",{staticClass:"header"},[a("SidebarToggle")],1),a("form",{staticClass:"container",attrs:{method:"post",action:""},on:{submit:function(t){return t.preventDefault(),e.onSubmit(t)}}},[a("h1",{staticClass:"title"},[e.defaults.uuid?[a("input",{directives:[{name:"model",rawName:"v-model",value:e.defaults.uuid,expression:"defaults.uuid"}],attrs:{type:"hidden",name:"uuid"},domProps:{value:e.defaults.uuid},on:{input:function(t){t.target.composing||e.$set(e.defaults,"uuid",t.target.value)}}}),e._v("\n\t\t\t\t\tEdit "+e._s(e.defaults.name)+"\n\t\t\t\t")]:[e._v("\n\t\t\t\t\tWelcome\n\t\t\t\t\t"),e.config.lockNetwork&&e.$store.state.serverConfiguration.public?[e._v("\n\t\t\t\t\t\tto the "+e._s(e.defaults.name)+" Web Chat\n\t\t\t\t\t")]:e._e()]],2),e.config.lockNetwork?e.config.lockNetwork&&!e.$store.state.serverConfiguration.public?[a("h2",[e._v("Network settings")]),a("div",{staticClass:"connect-row"},[a("label",{attrs:{for:"connect:name"}},[e._v("Name")]),a("input",{directives:[{name:"model",rawName:"v-model",value:e.defaults.name,expression:"defaults.name"}],staticClass:"input",attrs:{id:"connect:name",name:"name",maxlength:"100"},domProps:{value:e.defaults.name},on:{input:function(t){t.target.composing||e.$set(e.defaults,"name",t.target.value)}}})]),a("div",{staticClass:"connect-row"},[a("label",{attrs:{for:"connect:password"}},[e._v("Password")]),a("RevealPassword",{staticClass:"input-wrap password-container",scopedSlots:e._u([{key:"default",fn:function(t){return["checkbox"==(t.isVisible?"text":"password")?a("input",{directives:[{name:"model",rawName:"v-model",value:e.defaults.password,expression:"defaults.password"}],staticClass:"input",attrs:{id:"connect:password",placeholder:"Server password (optional)",name:"password",maxlength:"300",type:"checkbox"},domProps:{checked:Array.isArray(e.defaults.password)?e._i(e.defaults.password,null)>-1:e.defaults.password},on:{change:function(t){var a=e.defaults.password,s=t.target,n=!!s.checked;if(Array.isArray(a)){var i=e._i(a,null);s.checked?i<0&&e.$set(e.defaults,"password",a.concat([null])):i>-1&&e.$set(e.defaults,"password",a.slice(0,i).concat(a.slice(i+1)))}else e.$set(e.defaults,"password",n)}}}):"radio"==(t.isVisible?"text":"password")?a("input",{directives:[{name:"model",rawName:"v-model",value:e.defaults.password,expression:"defaults.password"}],staticClass:"input",attrs:{id:"connect:password",placeholder:"Server password (optional)",name:"password",maxlength:"300",type:"radio"},domProps:{checked:e._q(e.defaults.password,null)},on:{change:function(t){return e.$set(e.defaults,"password",null)}}}):a("input",{directives:[{name:"model",rawName:"v-model",value:e.defaults.password,expression:"defaults.password"}],staticClass:"input",attrs:{id:"connect:password",placeholder:"Server password (optional)",name:"password",maxlength:"300",type:t.isVisible?"text":"password"},domProps:{value:e.defaults.password},on:{input:function(t){t.target.composing||e.$set(e.defaults,"password",t.target.value)}}})]}}])})],1)]:e._e():[a("h2",[e._v("Network settings")]),a("div",{staticClass:"connect-row"},[a("label",{attrs:{for:"connect:name"}},[e._v("Name")]),a("input",{directives:[{name:"model",rawName:"v-model",value:e.defaults.name,expression:"defaults.name"}],staticClass:"input",attrs:{id:"connect:name",name:"name",maxlength:"100"},domProps:{value:e.defaults.name},on:{input:function(t){t.target.composing||e.$set(e.defaults,"name",t.target.value)}}})]),a("div",{staticClass:"connect-row"},[a("label",{attrs:{for:"connect:host"}},[e._v("Server")]),a("div",{staticClass:"input-wrap"},[a("input",{directives:[{name:"model",rawName:"v-model",value:e.defaults.host,expression:"defaults.host"}],staticClass:"input",attrs:{id:"connect:host",name:"host","aria-label":"Server address",maxlength:"255",required:""},domProps:{value:e.defaults.host},on:{input:function(t){t.target.composing||e.$set(e.defaults,"host",t.target.value)}}}),a("span",{attrs:{id:"connect:portseparator"}},[e._v(":")]),a("input",{directives:[{name:"model",rawName:"v-model",value:e.defaults.port,expression:"defaults.port"}],staticClass:"input",attrs:{id:"connect:port",type:"number",min:"1",max:"65535",name:"port","aria-label":"Server port"},domProps:{value:e.defaults.port},on:{input:function(t){t.target.composing||e.$set(e.defaults,"port",t.target.value)}}})])]),a("div",{staticClass:"connect-row"},[a("label",{attrs:{for:"connect:password"}},[e._v("Password")]),a("RevealPassword",{staticClass:"input-wrap password-container",scopedSlots:e._u([{key:"default",fn:function(t){return["checkbox"==(t.isVisible?"text":"password")?a("input",{directives:[{name:"model",rawName:"v-model",value:e.defaults.password,expression:"defaults.password"}],staticClass:"input",attrs:{id:"connect:password",placeholder:"Server password (optional)",name:"password",maxlength:"300",type:"checkbox"},domProps:{checked:Array.isArray(e.defaults.password)?e._i(e.defaults.password,null)>-1:e.defaults.password},on:{change:function(t){var a=e.defaults.password,s=t.target,n=!!s.checked;if(Array.isArray(a)){var i=e._i(a,null);s.checked?i<0&&e.$set(e.defaults,"password",a.concat([null])):i>-1&&e.$set(e.defaults,"password",a.slice(0,i).concat(a.slice(i+1)))}else e.$set(e.defaults,"password",n)}}}):"radio"==(t.isVisible?"text":"password")?a("input",{directives:[{name:"model",rawName:"v-model",value:e.defaults.password,expression:"defaults.password"}],staticClass:"input",attrs:{id:"connect:password",placeholder:"Server password (optional)",name:"password",maxlength:"300",type:"radio"},domProps:{checked:e._q(e.defaults.password,null)},on:{change:function(t){return e.$set(e.defaults,"password",null)}}}):a("input",{directives:[{name:"model",rawName:"v-model",value:e.defaults.password,expression:"defaults.password"}],staticClass:"input",attrs:{id:"connect:password",placeholder:"Server password (optional)",name:"password",maxlength:"300",type:t.isVisible?"text":"password"},domProps:{value:e.defaults.password},on:{input:function(t){t.target.composing||e.$set(e.defaults,"password",t.target.value)}}})]}}],null,!1,2649577346)})],1),a("div",{staticClass:"connect-row"},[a("label"),a("div",{staticClass:"input-wrap"},[a("label",{staticClass:"tls"},[a("input",{directives:[{name:"model",rawName:"v-model",value:e.defaults.tls,expression:"defaults.tls"}],attrs:{type:"checkbox",name:"tls",disabled:e.defaults.hasSTSPolicy},domProps:{checked:Array.isArray(e.defaults.tls)?e._i(e.defaults.tls,null)>-1:e.defaults.tls},on:{change:function(t){var a=e.defaults.tls,s=t.target,n=!!s.checked;if(Array.isArray(a)){var i=e._i(a,null);s.checked?i<0&&e.$set(e.defaults,"tls",a.concat([null])):i>-1&&e.$set(e.defaults,"tls",a.slice(0,i).concat(a.slice(i+1)))}else e.$set(e.defaults,"tls",n)}}}),e._v("\n\t\t\t\t\t\t\tUse secure connection (TLS)\n\t\t\t\t\t\t\t"),e.defaults.hasSTSPolicy?a("span",{staticClass:"tooltipped tooltipped-n tooltipped-no-delay",attrs:{"aria-label":"This network has a strict transport security policy, you will be unable to disable TLS"}},[e._v("🔒 STS")]):e._e()]),a("label",{staticClass:"tls"},[a("input",{directives:[{name:"model",rawName:"v-model",value:e.defaults.rejectUnauthorized,expression:"defaults.rejectUnauthorized"}],attrs:{type:"checkbox",name:"rejectUnauthorized"},domProps:{checked:Array.isArray(e.defaults.rejectUnauthorized)?e._i(e.defaults.rejectUnauthorized,null)>-1:e.defaults.rejectUnauthorized},on:{change:function(t){var a=e.defaults.rejectUnauthorized,s=t.target,n=!!s.checked;if(Array.isArray(a)){var i=e._i(a,null);s.checked?i<0&&e.$set(e.defaults,"rejectUnauthorized",a.concat([null])):i>-1&&e.$set(e.defaults,"rejectUnauthorized",a.slice(0,i).concat(a.slice(i+1)))}else e.$set(e.defaults,"rejectUnauthorized",n)}}}),e._v("\n\t\t\t\t\t\t\tOnly allow trusted certificates\n\t\t\t\t\t\t")])])])],a("h2"),a("div",{staticClass:"connect-row"},[a("label",{attrs:{for:"connect:nick"}},[e._v("Nickname")]),a("input",{directives:[{name:"model",rawName:"v-model",value:e.defaults.nick,expression:"defaults.nick"}],staticClass:"input nick",attrs:{id:"connect:nick",name:"nick",pattern:"[^\\s:!@]+",maxlength:"100",required:""},domProps:{value:e.defaults.nick},on:{input:[function(t){t.target.composing||e.$set(e.defaults,"nick",t.target.value)},e.onNickChanged]}})]),e.config.useHexIp?e._e():[a("div",{staticClass:"connect-row"},[a("label",{attrs:{for:"connect:username"}},[e._v("Username")]),a("input",{directives:[{name:"model",rawName:"v-model",value:e.defaults.username,expression:"defaults.username"}],ref:"usernameInput",staticClass:"input username",attrs:{id:"connect:username",name:"username",maxlength:"100"},domProps:{value:e.defaults.username},on:{input:function(t){t.target.composing||e.$set(e.defaults,"username",t.target.value)}}})])],e.defaults.uuid&&!e.$store.state.serverConfiguration.public?[a("div",{staticClass:"connect-row"},[e._m(0),a("textarea",{ref:"commandsInput",staticClass:"input",attrs:{id:"connect:commands",name:"commands"},domProps:{value:e.defaults.commands?e.defaults.commands.join("\n"):""},on:{input:e.resizeCommandsInput}})])]:e.defaults.uuid?e._e():[a("div",{staticClass:"connect-row"},[a("label",{attrs:{for:"connect:channels"}},[e._v("Rooms")]),a("input",{directives:[{name:"model",rawName:"v-model",value:e.defaults.join,expression:"defaults.join"}],staticClass:"input",attrs:{id:"connect:channels",name:"join"},domProps:{value:e.defaults.join},on:{input:function(t){t.target.composing||e.$set(e.defaults,"join",t.target.value)}}})])],e.$store.state.serverConfiguration.public?[e.config.lockNetwork?[a("div",{staticClass:"connect-row"},[a("label"),a("div",{staticClass:"input-wrap"},[a("label",{staticClass:"tls"},[a("input",{directives:[{name:"model",rawName:"v-model",value:e.displayPasswordField,expression:"displayPasswordField"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.displayPasswordField)?e._i(e.displayPasswordField,null)>-1:e.displayPasswordField},on:{change:function(t){var a=e.displayPasswordField,s=t.target,n=!!s.checked;if(Array.isArray(a)){var i=e._i(a,null);s.checked?i<0&&(e.displayPasswordField=a.concat([null])):i>-1&&(e.displayPasswordField=a.slice(0,i).concat(a.slice(i+1)))}else e.displayPasswordField=n}}}),e._v("\n\t\t\t\t\t\t\t\tI am already registered\n\t\t\t\t\t\t\t")])])]),e.displayPasswordField?a("div",{staticClass:"connect-row"},[a("label",{attrs:{for:"connect:password"}},[e._v("Password")]),a("RevealPassword",{staticClass:"input-wrap password-container",scopedSlots:e._u([{key:"default",fn:function(t){return["checkbox"==(t.isVisible?"text":"password")?a("input",{directives:[{name:"model",rawName:"v-model",value:e.defaults.password,expression:"defaults.password"}],ref:"publicPassword",staticClass:"input",attrs:{id:"connect:password",placeholder:"Your Passwort Goes here",name:"password",maxlength:"300",type:"checkbox"},domProps:{checked:Array.isArray(e.defaults.password)?e._i(e.defaults.password,null)>-1:e.defaults.password},on:{change:function(t){var a=e.defaults.password,s=t.target,n=!!s.checked;if(Array.isArray(a)){var i=e._i(a,null);s.checked?i<0&&e.$set(e.defaults,"password",a.concat([null])):i>-1&&e.$set(e.defaults,"password",a.slice(0,i).concat(a.slice(i+1)))}else e.$set(e.defaults,"password",n)}}}):"radio"==(t.isVisible?"text":"password")?a("input",{directives:[{name:"model",rawName:"v-model",value:e.defaults.password,expression:"defaults.password"}],ref:"publicPassword",staticClass:"input",attrs:{id:"connect:password",placeholder:"Your Passwort Goes here",name:"password",maxlength:"300",type:"radio"},domProps:{checked:e._q(e.defaults.password,null)},on:{change:function(t){return e.$set(e.defaults,"password",null)}}}):a("input",{directives:[{name:"model",rawName:"v-model",value:e.defaults.password,expression:"defaults.password"}],ref:"publicPassword",staticClass:"input",attrs:{id:"connect:password",placeholder:"Your Passwort Goes here",name:"password",maxlength:"300",type:t.isVisible?"text":"password"},domProps:{value:e.defaults.password},on:{input:function(t){t.target.composing||e.$set(e.defaults,"password",t.target.value)}}})]}}],null,!1,1931221684)})],1):e._e()]:e._e()]:[a("h2",{attrs:{id:"label-auth"}},[e._v("Authentication")]),a("div",{staticClass:"connect-row connect-auth",attrs:{role:"group","aria-labelledby":"label-auth"}},[a("label",{staticClass:"opt"},[a("input",{attrs:{type:"radio",name:"sasl",value:""},domProps:{checked:!e.defaults.sasl},on:{change:function(t){return e.setSaslAuth("")}}}),e._v("\n\t\t\t\t\t\tNo authentication\n\t\t\t\t\t")]),a("label",{staticClass:"opt"},[a("input",{attrs:{type:"radio",name:"sasl",value:"plain"},domProps:{checked:"plain"===e.defaults.sasl},on:{change:function(t){return e.setSaslAuth("plain")}}}),e._v("\n\t\t\t\t\t\tUsername + password (SASL PLAIN)\n\t\t\t\t\t")]),!e.$store.state.serverConfiguration.public&&e.defaults.tls?a("label",{staticClass:"opt"},[a("input",{attrs:{type:"radio",name:"sasl",value:"external"},domProps:{checked:"external"===e.defaults.sasl},on:{change:function(t){return e.setSaslAuth("external")}}}),e._v("\n\t\t\t\t\t\tClient certificate (SASL EXTERNAL)\n\t\t\t\t\t")]):e._e()]),"plain"===e.defaults.sasl?[a("div",{staticClass:"connect-row"},[a("label",{attrs:{for:"connect:username"}},[e._v("Account")]),a("input",{directives:[{name:"model",rawName:"v-model",value:e.defaults.saslAccount,expression:"defaults.saslAccount"}],staticClass:"input",attrs:{id:"connect:saslAccount",name:"saslAccount",maxlength:"100",required:""},domProps:{value:e.defaults.saslAccount},on:{input:function(t){t.target.composing||e.$set(e.defaults,"saslAccount",t.target.value)}}})]),a("div",{staticClass:"connect-row"},[a("label",{attrs:{for:"connect:password"}},[e._v("Password")]),a("RevealPassword",{staticClass:"input-wrap password-container",scopedSlots:e._u([{key:"default",fn:function(t){return["checkbox"==(t.isVisible?"text":"password")?a("input",{directives:[{name:"model",rawName:"v-model",value:e.defaults.saslPassword,expression:"defaults.saslPassword"}],staticClass:"input",attrs:{id:"connect:saslPassword",name:"saslPassword",maxlength:"300",required:"",type:"checkbox"},domProps:{checked:Array.isArray(e.defaults.saslPassword)?e._i(e.defaults.saslPassword,null)>-1:e.defaults.saslPassword},on:{change:function(t){var a=e.defaults.saslPassword,s=t.target,n=!!s.checked;if(Array.isArray(a)){var i=e._i(a,null);s.checked?i<0&&e.$set(e.defaults,"saslPassword",a.concat([null])):i>-1&&e.$set(e.defaults,"saslPassword",a.slice(0,i).concat(a.slice(i+1)))}else e.$set(e.defaults,"saslPassword",n)}}}):"radio"==(t.isVisible?"text":"password")?a("input",{directives:[{name:"model",rawName:"v-model",value:e.defaults.saslPassword,expression:"defaults.saslPassword"}],staticClass:"input",attrs:{id:"connect:saslPassword",name:"saslPassword",maxlength:"300",required:"",type:"radio"},domProps:{checked:e._q(e.defaults.saslPassword,null)},on:{change:function(t){return e.$set(e.defaults,"saslPassword",null)}}}):a("input",{directives:[{name:"model",rawName:"v-model",value:e.defaults.saslPassword,expression:"defaults.saslPassword"}],staticClass:"input",attrs:{id:"connect:saslPassword",name:"saslPassword",maxlength:"300",required:"",type:t.isVisible?"text":"password"},domProps:{value:e.defaults.saslPassword},on:{input:function(t){t.target.composing||e.$set(e.defaults,"saslPassword",t.target.value)}}})]}}],null,!1,3144405648)})],1)]:"external"===e.defaults.sasl?a("div",{staticClass:"connect-sasl-external"},[a("p",[e._v("The Lounge automatically generates and manages the client certificate.")]),a("p",[e._v("\n\t\t\t\t\t\tOn the IRC server, you will need to tell the services to attach the\n\t\t\t\t\t\tcertificate fingerprint (certfp) to your account, for example:\n\t\t\t\t\t")]),e._m(1)]):e._e()],a("div",[a("button",{staticClass:"btn",attrs:{type:"submit",disabled:!!e.disabled}},[e.defaults.uuid?[e._v("Save network")]:[e._v("Connect")]],2)])],2)])}),[function(){var e=this.$createElement,t=this._self._c||e;return t("label",{attrs:{for:"connect:commands"}},[this._v("\n\t\t\t\t\t\tCommands\n\t\t\t\t\t\t"),t("span",{staticClass:"tooltipped tooltipped-ne tooltipped-no-delay",attrs:{"aria-label":"One /command per line.\nEach command will be executed in\nthe server tab on new connection"}},[t("button",{staticClass:"extra-help"})])])},function(){var e=this.$createElement,t=this._self._c||e;return t("pre",[t("code",[this._v("/msg NickServ CERT ADD")])])}],!1,null,null,null).exports),f={name:"Connect",components:{NetworkForm:g},props:{queryParams:Object},data(){return{disabled:!1,defaults:Object.assign({},this.$store.state.serverConfiguration.defaults,this.parseOverrideParams(this.queryParams))}},methods:{handleSubmit(e){this.disabled=!0,o.a.emit("network:new",e)},parseOverrideParams(e){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(this.$store.state.serverConfiguration.defaults,a)&&(!this.$store.state.serverConfiguration.lockNetwork||!["name","host","port","tls","rejectUnauthorized"].includes(a)))switch("join"===a&&(s=s.split(",").map(e=>e.match(/^[#&!+]/)?e:"#".concat(e)).join(", ")),typeof this.$store.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}}},_=Object(l.a)(f,(function(){var e=this.$createElement;return(this._self._c||e)("NetworkForm",{attrs:{"handle-submit":this.handleSubmit,defaults:this.defaults,disabled:this.disabled}})}),[],!1,null,null,null).exports,v=a(44),b=a(9),w=a(32),k={name:"Session",props:{session:Object},computed:{lastUse(){return Object(b.a)(this.session.lastUse)}},methods:{signOut(){this.session.current?(o.a.emit("sign-out"),w.a.signout()):o.a.emit("sign-out",this.session.token)}}},y=(a(123),Object(l.a)(k,(function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("div",{staticClass:"session-item"},[a("div",{staticClass:"session-item-info"},[a("strong",[e._v(e._s(e.session.agent))]),a("a",{attrs:{href:"https://ipinfo.io/"+e.session.ip,target:"_blank",rel:"noopener"}},[e._v(e._s(e.session.ip))]),e.session.active>1?a("p",{staticClass:"session-usage"},[e._v("\n\t\t\tActive in "+e._s(e.session.active)+" browsers\n\t\t")]):e.session.current||e.session.active?e._e():a("p",{staticClass:"session-usage"},[e._v("\n\t\t\tLast used on "),a("time",[e._v(e._s(e.lastUse))])])]),a("div",{staticClass:"session-item-btn"},[a("button",{staticClass:"btn",on:{click:function(t){return t.preventDefault(),e.signOut(t)}}},[e.session.current?[e._v("Sign out")]:[e._v("Revoke")]],2)])])}),[],!1,null,null,null).exports);let C=null;window.addEventListener("beforeinstallprompt",e=>{e.preventDefault(),C=e});var x={name:"Settings",components:{RevealPassword:c,Session:y,SidebarToggle:p},data:()=>({canRegisterProtocol:!1,passwordChangeStatus:null,passwordErrors:{missing_fields:"Please enter a new password",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"},isIOS:navigator.platform.match(/(iPhone|iPod|iPad)/i)||!1}),computed:{hasInstallPromptEvent:()=>null!==C,currentSession(){return this.$store.state.sessions.find(e=>e.current)},activeSessions(){return this.$store.state.sessions.filter(e=>!e.current&&e.active>0)},otherSessions(){return this.$store.state.sessions.filter(e=>!e.current&&!e.active)}},mounted(){o.a.emit("sessions:get"),this.canRegisterProtocol=window.navigator.registerProtocolHandler&&!this.$store.state.serverConfiguration.lockNetwork},methods:{onChange(e){const t=e.target.name;if(["old_password","new_password","verify_password"].includes(t))return;let a;a="checkbox"===e.target.type?e.target.checked:e.target.value,this.$store.dispatch("settings/update",{name:t,value:a,sync:!0})},changePassword(){const e=new FormData(this.$refs.settingsForm),t={old_password:e.get("old_password"),new_password:e.get("new_password"),verify_password:e.get("verify_password")};t.old_password&&t.new_password&&t.verify_password?t.new_password===t.verify_password?(o.a.once("change-password",e=>{this.passwordChangeStatus=e}),o.a.emit("change-password",t)):this.passwordChangeStatus={success:!1,error:"password_mismatch"}:this.passwordChangeStatus={success:!1,error:"missing_fields"}},onForceSyncClick(){this.$store.dispatch("settings/syncAll",!0),this.$store.dispatch("settings/update",{name:"syncSettings",value:!0,sync:!0})},registerProtocol(){const e=document.location.origin+document.location.pathname+"?uri=%s";window.navigator.registerProtocolHandler("irc",e,"The Lounge"),window.navigator.registerProtocolHandler("ircs",e,"The Lounge")},nativeInstallPrompt(){C.prompt(),C=null},playNotification(){const e=new Audio;e.src="audio/pop.wav",e.play()},onPushButtonClick(){v.a.togglePushSubscription()}}},S=(a(124),Object(l.a)(x,(function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("div",{staticClass:"window",attrs:{id:"settings",role:"tabpanel","aria-label":"Settings"}},[a("div",{staticClass:"header"},[a("SidebarToggle")],1),a("form",{ref:"settingsForm",staticClass:"container",on:{change:e.onChange,submit:function(e){e.preventDefault()}}},[a("h1",{staticClass:"title"},[e._v("Settings")]),a("div",[a("label",{staticClass:"opt"},[a("input",{attrs:{type:"checkbox",name:"advanced"},domProps:{checked:e.$store.state.settings.advanced}}),e._v("\n\t\t\t\t\tAdvanced settings\n\t\t\t\t")])]),e.canRegisterProtocol||e.hasInstallPromptEvent?a("div",[a("h2",[e._v("Native app")]),e.hasInstallPromptEvent?a("button",{staticClass:"btn",attrs:{type:"button"},on:{click:function(t){return t.preventDefault(),e.nativeInstallPrompt(t)}}},[e._v("\n\t\t\t\t\tAdd The Lounge to Home screen\n\t\t\t\t")]):e._e(),e.canRegisterProtocol?a("button",{staticClass:"btn",attrs:{type:"button"},on:{click:function(t){return t.preventDefault(),e.registerProtocol(t)}}},[e._v("\n\t\t\t\t\tOpen irc:// URLs with The Lounge\n\t\t\t\t")]):e._e()]):e._e(),!e.$store.state.serverConfiguration.public&&e.$store.state.settings.advanced?a("div",[a("h2",[e._v("Settings synchronisation")]),a("label",{staticClass:"opt"},[a("input",{attrs:{type:"checkbox",name:"syncSettings"},domProps:{checked:e.$store.state.settings.syncSettings}}),e._v("\n\t\t\t\t\tSynchronize settings with other clients\n\t\t\t\t")]),e.$store.state.settings.syncSettings?e._e():[e.$store.state.serverHasSettings?a("div",{staticClass:"settings-sync-panel"},[e._m(0),a("p",[e._v("\n\t\t\t\t\t\t\tUse the button below to enable synchronization, and override any\n\t\t\t\t\t\t\tsettings already synced to the server.\n\t\t\t\t\t\t")]),a("button",{staticClass:"btn btn-small",attrs:{type:"button"},on:{click:e.onForceSyncClick}},[e._v("\n\t\t\t\t\t\t\tSync settings and enable\n\t\t\t\t\t\t")])]):a("div",{staticClass:"settings-sync-panel"},[e._m(1)])]],2):e._e(),a("h2",[e._v("Messages")]),a("div",[a("label",{staticClass:"opt"},[a("input",{attrs:{type:"checkbox",name:"motd"},domProps:{checked:e.$store.state.settings.motd}}),e._v("\n\t\t\t\t\tShow "),a("abbr",{attrs:{title:"Message Of The Day"}},[e._v("MOTD")])])]),a("div",[a("label",{staticClass:"opt"},[a("input",{attrs:{type:"checkbox",name:"showSeconds"},domProps:{checked:e.$store.state.settings.showSeconds}}),e._v("\n\t\t\t\t\tShow seconds in timestamp\n\t\t\t\t")])]),a("div",[a("label",{staticClass:"opt"},[a("input",{attrs:{type:"checkbox",name:"use12hClock"},domProps:{checked:e.$store.state.settings.use12hClock}}),e._v("\n\t\t\t\t\tShow 12-hour timestamps\n\t\t\t\t")])]),!e.$store.state.serverConfiguration.public&&e.$store.state.settings.advanced?a("div",[a("h2",[e._v("Automatic away message")]),a("label",{staticClass:"opt"},[a("label",{staticClass:"sr-only",attrs:{for:"awayMessage"}},[e._v("Automatic away message")]),a("input",{staticClass:"input",attrs:{id:"awayMessage",type:"text",name:"awayMessage",placeholder:"Away message if The Lounge is not open"},domProps:{value:e.$store.state.settings.awayMessage}})])]):e._e(),e._m(2),a("div",{attrs:{role:"group","aria-labelledby":"label-status-messages"}},[a("label",{staticClass:"opt"},[a("input",{attrs:{type:"radio",name:"statusMessages",value:"shown"},domProps:{checked:"shown"===e.$store.state.settings.statusMessages}}),e._v("\n\t\t\t\t\tShow all status messages individually\n\t\t\t\t")]),a("label",{staticClass:"opt"},[a("input",{attrs:{type:"radio",name:"statusMessages",value:"condensed"},domProps:{checked:"condensed"===e.$store.state.settings.statusMessages}}),e._v("\n\t\t\t\t\tCondense status messages together\n\t\t\t\t")]),a("label",{staticClass:"opt"},[a("input",{attrs:{type:"radio",name:"statusMessages",value:"hidden"},domProps:{checked:"hidden"===e.$store.state.settings.statusMessages}}),e._v("\n\t\t\t\t\tHide all status messages\n\t\t\t\t")])]),a("h2",[e._v("Visual Aids")]),a("div",[a("label",{staticClass:"opt"},[a("input",{attrs:{type:"checkbox",name:"coloredNicks"},domProps:{checked:e.$store.state.settings.coloredNicks}}),e._v("\n\t\t\t\t\tEnable colored nicknames\n\t\t\t\t")]),a("label",{staticClass:"opt"},[a("input",{attrs:{type:"checkbox",name:"autocomplete"},domProps:{checked:e.$store.state.settings.autocomplete}}),e._v("\n\t\t\t\t\tEnable autocomplete\n\t\t\t\t")])]),e.$store.state.settings.advanced?a("div",[a("label",{staticClass:"opt"},[a("label",{staticClass:"sr-only",attrs:{for:"nickPostfix"}},[e._v("\n\t\t\t\t\t\tNick autocomplete postfix (for example a comma)\n\t\t\t\t\t")]),a("input",{staticClass:"input",attrs:{id:"nickPostfix",type:"text",name:"nickPostfix",placeholder:"Nick autocomplete postfix (e.g. ', ')"},domProps:{value:e.$store.state.settings.nickPostfix}})])]):e._e(),a("h2",[e._v("Theme")]),a("div",[a("label",{staticClass:"sr-only",attrs:{for:"theme-select"}},[e._v("Theme")]),a("select",{staticClass:"input",attrs:{id:"theme-select",name:"theme"},domProps:{value:e.$store.state.settings.theme}},e._l(e.$store.state.serverConfiguration.themes,(function(t){return a("option",{key:t.name,domProps:{value:t.name}},[e._v("\n\t\t\t\t\t\t"+e._s(t.displayName)+"\n\t\t\t\t\t")])})),0)]),e.$store.state.serverConfiguration.prefetch?[a("h2",[e._v("Link previews")]),a("div",[a("label",{staticClass:"opt"},[a("input",{attrs:{type:"checkbox",name:"media"},domProps:{checked:e.$store.state.settings.media}}),e._v("\n\t\t\t\t\t\tAuto-expand media\n\t\t\t\t\t")])]),a("div",[a("label",{staticClass:"opt"},[a("input",{attrs:{type:"checkbox",name:"links"},domProps:{checked:e.$store.state.settings.links}}),e._v("\n\t\t\t\t\t\tAuto-expand websites\n\t\t\t\t\t")])])]:e._e(),e.$store.state.settings.advanced&&e.$store.state.serverConfiguration.fileUpload?a("div",[a("h2",[e._v("File uploads")]),a("div",[a("label",{staticClass:"opt"},[a("input",{attrs:{type:"checkbox",name:"uploadCanvas"},domProps:{checked:e.$store.state.settings.uploadCanvas}}),e._v("\n\t\t\t\t\t\tAttempt to remove metadata from images before uploading\n\t\t\t\t\t\t"),e._m(3)])])]):e._e(),e.$store.state.serverConfiguration.public?e._e():[a("h2",[e._v("Push Notifications")]),a("div",[a("button",{staticClass:"btn",attrs:{id:"pushNotifications",type:"button",disabled:"supported"!==e.$store.state.pushNotificationState&&"subscribed"!==e.$store.state.pushNotificationState},on:{click:e.onPushButtonClick}},["subscribed"===e.$store.state.pushNotificationState?[e._v("\n\t\t\t\t\t\t\tUnsubscribe from push notifications\n\t\t\t\t\t\t")]:"loading"===e.$store.state.pushNotificationState?[e._v("\n\t\t\t\t\t\t\tLoading…\n\t\t\t\t\t\t")]:[e._v(" Subscribe to push notifications ")]],2),"nohttps"===e.$store.state.pushNotificationState?a("div",{staticClass:"error"},[a("strong",[e._v("Warning")]),e._v(": Push notifications are only supported over HTTPS\n\t\t\t\t\t\tconnections.\n\t\t\t\t\t")]):e._e(),"unsupported"===e.$store.state.pushNotificationState?a("div",{staticClass:"error"},[a("strong",[e._v("Warning")]),e._v(":\n\t\t\t\t\t\t"),a("span",[e._v("Push notifications are not supported by your browser.")]),e.isIOS?a("div",{staticClass:"apple-push-unsupported"},[e._v("\n\t\t\t\t\t\t\tSafari does\n\t\t\t\t\t\t\t"),a("a",{attrs:{href:"https://bugs.webkit.org/show_bug.cgi?id=182566",target:"_blank",rel:"noopener"}},[e._v("not support the web push notification specification")]),e._v(", and because all browsers on iOS use Safari under the hood, The Lounge\n\t\t\t\t\t\t\tis unable to provide push notifications on iOS devices.\n\t\t\t\t\t\t")]):e._e()]):e._e()])],a("h2",[e._v("Browser Notifications")]),a("div",[a("label",{staticClass:"opt"},[a("input",{attrs:{id:"desktopNotifications",type:"checkbox",name:"desktopNotifications"},domProps:{checked:e.$store.state.settings.desktopNotifications}}),e._v("\n\t\t\t\t\tEnable browser notifications"),a("br"),"unsupported"===e.$store.state.desktopNotificationState?a("div",{staticClass:"error"},[a("strong",[e._v("Warning")]),e._v(": Notifications are not supported by your browser.\n\t\t\t\t\t")]):e._e(),"blocked"===e.$store.state.desktopNotificationState?a("div",{staticClass:"error",attrs:{id:"warnBlockedDesktopNotifications"}},[a("strong",[e._v("Warning")]),e._v(": Notifications are blocked by your browser.\n\t\t\t\t\t")]):e._e()])]),a("div",[a("label",{staticClass:"opt"},[a("input",{attrs:{type:"checkbox",name:"notification"},domProps:{checked:e.$store.state.settings.notification}}),e._v("\n\t\t\t\t\tEnable notification sound\n\t\t\t\t")])]),a("div",[a("div",{staticClass:"opt"},[a("button",{attrs:{id:"play"},on:{click:function(t){return t.preventDefault(),e.playNotification(t)}}},[e._v("Play sound")])])]),e.$store.state.settings.advanced?a("div",[a("label",{staticClass:"opt"},[a("input",{attrs:{type:"checkbox",name:"notifyAllMessages"},domProps:{checked:e.$store.state.settings.notifyAllMessages}}),e._v("\n\t\t\t\t\tEnable notification for all messages\n\t\t\t\t")])]):e._e(),!e.$store.state.serverConfiguration.public&&e.$store.state.settings.advanced?a("div",[a("label",{staticClass:"opt"},[e._m(4),a("input",{staticClass:"input",attrs:{id:"highlights",type:"text",name:"highlights",placeholder:"Comma-separated, e.g.: word, some more words, anotherword"},domProps:{value:e.$store.state.settings.highlights}})])]):e._e(),!e.$store.state.serverConfiguration.public&&e.$store.state.settings.advanced?a("div",[a("label",{staticClass:"opt"},[e._m(5),a("input",{staticClass:"input",attrs:{id:"highlightExceptions",type:"text",name:"highlightExceptions",placeholder:"Comma-separated, e.g.: word, some more words, anotherword"},domProps:{value:e.$store.state.settings.highlightExceptions}})])]):e._e(),e.$store.state.serverConfiguration.public||e.$store.state.serverConfiguration.ldapEnabled?e._e():a("div",{attrs:{id:"change-password",role:"group","aria-labelledby":"label-change-password"}},[a("h2",{attrs:{id:"label-change-password"}},[e._v("Change password")]),a("div",{staticClass:"password-container"},[a("label",{staticClass:"sr-only",attrs:{for:"old_password_input"}},[e._v(" Enter current password ")]),a("RevealPassword",{scopedSlots:e._u([{key:"default",fn:function(e){return[a("input",{staticClass:"input",attrs:{id:"old_password_input",type:e.isVisible?"text":"password",name:"old_password",placeholder:"Enter current password"}})]}}],null,!1,3021935278)})],1),a("div",{staticClass:"password-container"},[a("label",{staticClass:"sr-only",attrs:{for:"new_password_input"}},[e._v("\n\t\t\t\t\t\tEnter desired new password\n\t\t\t\t\t")]),a("RevealPassword",{scopedSlots:e._u([{key:"default",fn:function(e){return[a("input",{staticClass:"input",attrs:{id:"new_password_input",type:e.isVisible?"text":"password",name:"new_password",placeholder:"Enter desired new password"}})]}}],null,!1,1521376723)})],1),a("div",{staticClass:"password-container"},[a("label",{staticClass:"sr-only",attrs:{for:"verify_password_input"}},[e._v(" Repeat new password ")]),a("RevealPassword",{scopedSlots:e._u([{key:"default",fn:function(e){return[a("input",{staticClass:"input",attrs:{id:"verify_password_input",type:e.isVisible?"text":"password",name:"verify_password",placeholder:"Repeat new password"}})]}}],null,!1,1508332196)})],1),e.passwordChangeStatus&&e.passwordChangeStatus.success?a("div",{staticClass:"feedback success"},[e._v("\n\t\t\t\t\tSuccessfully updated your password\n\t\t\t\t")]):e.passwordChangeStatus&&e.passwordChangeStatus.error?a("div",{staticClass:"feedback error"},[e._v("\n\t\t\t\t\t"+e._s(e.passwordErrors[e.passwordChangeStatus.error])+"\n\t\t\t\t")]):e._e(),a("div",[a("button",{staticClass:"btn",attrs:{type:"submit"},on:{click:function(t){return t.preventDefault(),e.changePassword(t)}}},[e._v("\n\t\t\t\t\t\tChange password\n\t\t\t\t\t")])])]),e.$store.state.settings.advanced?a("div",[a("h2",[e._v("Custom Stylesheet")]),a("label",{staticClass:"sr-only",attrs:{for:"user-specified-css-input"}},[e._v("\n\t\t\t\t\tCustom stylesheet. You can override any style with CSS here.\n\t\t\t\t")]),a("textarea",{staticClass:"input",attrs:{id:"user-specified-css-input",name:"userStyles",placeholder:"/* You can override any style with CSS here */"},domProps:{value:e.$store.state.settings.userStyles}})]):e._e(),e.$store.state.serverConfiguration.public?e._e():a("div",{staticClass:"session-list",attrs:{role:"group"}},[a("h2",[e._v("Sessions")]),a("h3",[e._v("Current session")]),e.currentSession?a("Session",{attrs:{session:e.currentSession}}):e._e(),e.activeSessions.length>0?[a("h3",[e._v("Active sessions")]),e._l(e.activeSessions,(function(e){return a("Session",{key:e.token,attrs:{session:e}})}))]:e._e(),a("h3",[e._v("Other sessions")]),0===e.$store.state.sessions.length?a("p",[e._v("Loading…")]):0===e.otherSessions.length?a("p",[a("em",[e._v("You are not currently logged in to any other device.")])]):e._l(e.otherSessions,(function(e){return a("Session",{key:e.token,attrs:{session:e}})}))],2)],2)])}),[function(){var e=this.$createElement,t=this._self._c||e;return t("p",[t("strong",[this._v("Warning:")]),this._v(" Checking this box will override the settings\n\t\t\t\t\t\t\tof this client with those stored on the server.\n\t\t\t\t\t\t")])},function(){var e=this.$createElement,t=this._self._c||e;return t("p",[t("strong",[this._v("Warning:")]),this._v(" No settings have been synced before. Enabling\n\t\t\t\t\t\t\tthis will sync all settings of this client as the base for other\n\t\t\t\t\t\t\tclients.\n\t\t\t\t\t\t")])},function(){var e=this.$createElement,t=this._self._c||e;return t("h2",{attrs:{id:"label-status-messages"}},[this._v("\n\t\t\t\tStatus messages\n\t\t\t\t"),t("span",{staticClass:"tooltipped tooltipped-n tooltipped-no-delay",attrs:{"aria-label":"Joins, parts, quits, kicks, nick changes, and mode changes"}},[t("button",{staticClass:"extra-help"})])])},function(){var e=this.$createElement,t=this._self._c||e;return t("span",{staticClass:"tooltipped tooltipped-n tooltipped-no-delay",attrs:{"aria-label":"This option renders the image into a canvas element to remove metadata from the image.\nThis may break orientation if your browser does not support that."}},[t("button",{staticClass:"extra-help"})])},function(){var e=this.$createElement,t=this._self._c||e;return t("label",{staticClass:"opt",attrs:{for:"highlights"}},[this._v("\n\t\t\t\t\t\tCustom highlights\n\t\t\t\t\t\t"),t("span",{staticClass:"tooltipped tooltipped-n tooltipped-no-delay",attrs:{"aria-label":"If a message contains any of these comma-separated \nexpressions, it will trigger a highlight."}},[t("button",{staticClass:"extra-help"})])])},function(){var e=this.$createElement,t=this._self._c||e;return t("label",{staticClass:"opt",attrs:{for:"highlightExceptions"}},[this._v("\n\t\t\t\t\t\tHighlight exceptions\n\t\t\t\t\t\t"),t("span",{staticClass:"tooltipped tooltipped-n tooltipped-no-delay",attrs:{"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."}},[t("button",{staticClass:"extra-help"})])])}],!1,null,null,null).exports),$={name:"VersionChecker",mounted(){this.$store.state.versionData||this.checkNow()},methods:{checkNow(){this.$store.commit("versionData",null),this.$store.commit("versionStatus","loading"),o.a.emit("changelog")}}},j={name:"Help",components:{SidebarToggle:p,VersionChecker:Object(l.a)($,(function(){var e=this.$createElement;return(this._self._c||e)("div")}),[],!1,null,null,null).exports},data:()=>({isApple:navigator.platform.match(/(Mac|iPhone|iPod|iPad)/i)||!1})},P=Object(l.a)(j,(function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("div",{staticClass:"window",attrs:{id:"help",role:"tabpanel","aria-label":"Help"}},[a("div",{staticClass:"header"},[a("SidebarToggle")],1),a("div",{staticClass:"container"},[a("h1",{staticClass:"title"},[e._v("Help")]),e._m(0),a("h2",[e._v("Keyboard Shortcuts")]),a("div",{staticClass:"help-item"},[a("div",{staticClass:"subject"},[e.isApple?a("span",[a("kbd",[e._v("⌥")]),a("kbd",[e._v("⇧")]),a("kbd",[e._v("↓")])]):a("span",[a("kbd",[e._v("Alt")]),a("kbd",[e._v("Shift")]),a("kbd",[e._v("↓")])])]),e._m(1)]),a("div",{staticClass:"help-item"},[a("div",{staticClass:"subject"},[e.isApple?a("span",[a("kbd",[e._v("⌥")]),a("kbd",[e._v("⇧")]),a("kbd",[e._v("↑")])]):a("span",[a("kbd",[e._v("Alt")]),a("kbd",[e._v("Shift")]),a("kbd",[e._v("↑")])])]),e._m(2)]),a("div",{staticClass:"help-item"},[a("div",{staticClass:"subject"},[e.isApple?a("span",[a("kbd",[e._v("⌥")]),a("kbd",[e._v("⇧")]),a("kbd",[e._v("←")])]):a("span",[a("kbd",[e._v("Alt")]),a("kbd",[e._v("Shift")]),a("kbd",[e._v("←")])])]),e._m(3)]),a("div",{staticClass:"help-item"},[a("div",{staticClass:"subject"},[e.isApple?a("span",[a("kbd",[e._v("⌥")]),a("kbd",[e._v("⇧")]),a("kbd",[e._v("→")])]):a("span",[a("kbd",[e._v("Alt")]),a("kbd",[e._v("Shift")]),a("kbd",[e._v("→")])])]),e._m(4)]),a("div",{staticClass:"help-item"},[a("div",{staticClass:"subject"},[e.isApple?a("span",[a("kbd",[e._v("⌥")]),a("kbd",[e._v("↓")])]):a("span",[a("kbd",[e._v("Alt")]),a("kbd",[e._v("↓")])])]),e._m(5)]),a("div",{staticClass:"help-item"},[a("div",{staticClass:"subject"},[e.isApple?a("span",[a("kbd",[e._v("⌥")]),a("kbd",[e._v("↑")])]):a("span",[a("kbd",[e._v("Alt")]),a("kbd",[e._v("↑")])])]),e._m(6)]),a("div",{staticClass:"help-item"},[a("div",{staticClass:"subject"},[e.isApple?a("span",[a("kbd",[e._v("⌥")]),a("kbd",[e._v("A")])]):a("span",[a("kbd",[e._v("Alt")]),a("kbd",[e._v("A")])])]),e._m(7)]),a("div",{staticClass:"help-item"},[a("div",{staticClass:"subject"},[e.isApple?a("span",[a("kbd",[e._v("⌥")]),a("kbd",[e._v("S")])]):a("span",[a("kbd",[e._v("Alt")]),a("kbd",[e._v("S")])])]),e._m(8)]),a("div",{staticClass:"help-item"},[a("div",{staticClass:"subject"},[e.isApple?a("span",[a("kbd",[e._v("⌥")]),a("kbd",[e._v("U")])]):a("span",[a("kbd",[e._v("Alt")]),a("kbd",[e._v("U")])])]),e._m(9)]),a("div",{staticClass:"help-item"},[a("div",{staticClass:"subject"},[e.isApple?a("span",[a("kbd",[e._v("⌥")]),a("kbd",[e._v("J")])]):a("span",[a("kbd",[e._v("Alt")]),a("kbd",[e._v("J")])])]),e._m(10)]),e._m(11),a("h2",[e._v("Formatting Shortcuts")]),a("div",{staticClass:"help-item"},[a("div",{staticClass:"subject"},[e.isApple?a("span",[a("kbd",[e._v("⌘")]),a("kbd",[e._v("K")])]):a("span",[a("kbd",[e._v("Ctrl")]),a("kbd",[e._v("K")])])]),e._m(12)]),a("div",{staticClass:"help-item"},[a("div",{staticClass:"subject"},[e.isApple?a("span",[a("kbd",[e._v("⌘")]),a("kbd",[e._v("B")])]):a("span",[a("kbd",[e._v("Ctrl")]),a("kbd",[e._v("B")])])]),e._m(13)]),a("div",{staticClass:"help-item"},[a("div",{staticClass:"subject"},[e.isApple?a("span",[a("kbd",[e._v("⌘")]),a("kbd",[e._v("U")])]):a("span",[a("kbd",[e._v("Ctrl")]),a("kbd",[e._v("U")])])]),e._m(14)]),a("div",{staticClass:"help-item"},[a("div",{staticClass:"subject"},[e.isApple?a("span",[a("kbd",[e._v("⌘")]),a("kbd",[e._v("I")])]):a("span",[a("kbd",[e._v("Ctrl")]),a("kbd",[e._v("I")])])]),e._m(15)]),a("div",{staticClass:"help-item"},[a("div",{staticClass:"subject"},[e.isApple?a("span",[a("kbd",[e._v("⌘")]),a("kbd",[e._v("S")])]):a("span",[a("kbd",[e._v("Ctrl")]),a("kbd",[e._v("S")])])]),e._m(16)]),a("div",{staticClass:"help-item"},[a("div",{staticClass:"subject"},[e.isApple?a("span",[a("kbd",[e._v("⌘")]),a("kbd",[e._v("M")])]):a("span",[a("kbd",[e._v("Ctrl")]),a("kbd",[e._v("M")])])]),e._m(17)]),a("div",{staticClass:"help-item"},[a("div",{staticClass:"subject"},[e.isApple?a("span",[a("kbd",[e._v("⌘")]),a("kbd",[e._v("O")])]):a("span",[a("kbd",[e._v("Ctrl")]),a("kbd",[e._v("O")])])]),e._m(18)]),a("h2",[e._v("Autocompletion")]),e._m(19),a("p",[e._v("Autocompletion can be disabled in settings.")]),e._m(20),e._m(21),e._m(22),e._m(23),a("h2",[e._v("Commands")]),e._m(24),e._m(25),e._m(26),e._m(27),e._m(28),e._m(29),e._m(30),e._m(31),e._m(32),e._m(33),e._m(34),e._m(35),e._m(36),e._m(37),e._m(38),e._m(39),e._m(40),e._m(41),e._m(42),e._m(43),e._m(44),e._m(45),e._m(46),e._m(47),e._m(48),e._m(49),e._m(50),e._m(51),e._m(52),e._m(53),e._m(54),e._m(55),e._m(56),e._m(57)])])}),[function(){var e=this.$createElement,t=this._self._c||e;return t("h2",{staticClass:"help-version-title"},[t("span",[this._v("The TripSit Web Client")]),t("small",[t("p",[this._v("This Client is powered by The Lounge and was modified to fit the TripSit harm reduction network")]),t("p",[this._v("Please share your feedback in #contrib")])])])},function(){var e=this.$createElement,t=this._self._c||e;return t("div",{staticClass:"description"},[t("p",[this._v("Switch to the next lobby in the channel list.")])])},function(){var e=this.$createElement,t=this._self._c||e;return t("div",{staticClass:"description"},[t("p",[this._v("Switch to the previous lobby in the channel list.")])])},function(){var e=this.$createElement,t=this._self._c||e;return t("div",{staticClass:"description"},[t("p",[this._v("Collapse current network.")])])},function(){var e=this.$createElement,t=this._self._c||e;return t("div",{staticClass:"description"},[t("p",[this._v("Expand current network.")])])},function(){var e=this.$createElement,t=this._self._c||e;return t("div",{staticClass:"description"},[t("p",[this._v("Switch to the next window in the channel list.")])])},function(){var e=this.$createElement,t=this._self._c||e;return t("div",{staticClass:"description"},[t("p",[this._v("Switch to the previous window in the channel list.")])])},function(){var e=this.$createElement,t=this._self._c||e;return t("div",{staticClass:"description"},[t("p",[this._v("Switch to the first window with unread messages.")])])},function(){var e=this.$createElement,t=this._self._c||e;return t("div",{staticClass:"description"},[t("p",[this._v("Toggle sidebar.")])])},function(){var e=this.$createElement,t=this._self._c||e;return t("div",{staticClass:"description"},[t("p",[this._v("Toggle channel user list.")])])},function(){var e=this.$createElement,t=this._self._c||e;return t("div",{staticClass:"description"},[t("p",[this._v("Toggle jump to channel switcher.")])])},function(){var e=this.$createElement,t=this._self._c||e;return t("div",{staticClass:"help-item"},[t("div",{staticClass:"subject"},[t("span",[t("kbd",[this._v("Esc")])])]),t("div",{staticClass:"description"},[t("p",[this._v("\n\t\t\t\t\tClose current contextual window (context menu, image viewer, topic edit,\n\t\t\t\t\tetc) and remove focus from input.\n\t\t\t\t")])])])},function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("div",{staticClass:"description"},[a("p",[e._v("\n\t\t\t\t\tMark any text typed after this shortcut to be colored. After hitting this\n\t\t\t\t\tshortcut, enter an integer in the range\n\t\t\t\t\t"),a("code",[e._v("0—15")]),e._v(" to select the desired color, or use the autocompletion\n\t\t\t\t\tmenu to choose a color name (see below).\n\t\t\t\t")]),a("p",[e._v("\n\t\t\t\t\tBackground color can be specified by putting a comma and another integer in\n\t\t\t\t\tthe range "),a("code",[e._v("0—15")]),e._v(" after the foreground color number\n\t\t\t\t\t(autocompletion works too).\n\t\t\t\t")]),a("p",[e._v("\n\t\t\t\t\tA color reference can be found\n\t\t\t\t\t"),a("a",{attrs:{href:"https://modern.ircdocs.horse/formatting.html#colors",target:"_blank",rel:"noopener"}},[e._v("here")]),e._v(".\n\t\t\t\t")])])},function(){var e=this.$createElement,t=this._self._c||e;return t("div",{staticClass:"description"},[t("p",[this._v("\n\t\t\t\t\tMark all text typed after this shortcut as\n\t\t\t\t\t"),t("span",{staticClass:"irc-bold"},[this._v("bold")]),this._v(".\n\t\t\t\t")])])},function(){var e=this.$createElement,t=this._self._c||e;return t("div",{staticClass:"description"},[t("p",[this._v("\n\t\t\t\t\tMark all text typed after this shortcut as\n\t\t\t\t\t"),t("span",{staticClass:"irc-underline"},[this._v("underlined")]),this._v(".\n\t\t\t\t")])])},function(){var e=this.$createElement,t=this._self._c||e;return t("div",{staticClass:"description"},[t("p",[this._v("\n\t\t\t\t\tMark all text typed after this shortcut as\n\t\t\t\t\t"),t("span",{staticClass:"irc-italic"},[this._v("italics")]),this._v(".\n\t\t\t\t")])])},function(){var e=this.$createElement,t=this._self._c||e;return t("div",{staticClass:"description"},[t("p",[this._v("\n\t\t\t\t\tMark all text typed after this shortcut as\n\t\t\t\t\t"),t("span",{staticClass:"irc-strikethrough"},[this._v("struck through")]),this._v(".\n\t\t\t\t")])])},function(){var e=this.$createElement,t=this._self._c||e;return t("div",{staticClass:"description"},[t("p",[this._v("\n\t\t\t\t\tMark all text typed after this shortcut as\n\t\t\t\t\t"),t("span",{staticClass:"irc-monospace"},[this._v("monospaced")]),this._v(".\n\t\t\t\t")])])},function(){var e=this.$createElement,t=this._self._c||e;return t("div",{staticClass:"description"},[t("p",[this._v("\n\t\t\t\t\tMark all text typed after this shortcut to be reset to its original\n\t\t\t\t\tformatting.\n\t\t\t\t")])])},function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("p",[e._v("\n\t\t\tTo auto-complete nicknames, channels, commands, and emoji, type one of the\n\t\t\tcharacters below to open a suggestion list. Use the "),a("kbd",[e._v("↑")]),e._v(" and\n\t\t\t"),a("kbd",[e._v("↓")]),e._v(" keys to highlight an item, and insert it by pressing "),a("kbd",[e._v("Tab")]),e._v(" or\n\t\t\t"),a("kbd",[e._v("Enter")]),e._v(" (or by clicking the desired item).\n\t\t")])},function(){var e=this.$createElement,t=this._self._c||e;return t("div",{staticClass:"help-item"},[t("div",{staticClass:"subject"},[t("code",[this._v("@")])]),t("div",{staticClass:"description"},[t("p",[this._v("Nickname")])])])},function(){var e=this.$createElement,t=this._self._c||e;return t("div",{staticClass:"help-item"},[t("div",{staticClass:"subject"},[t("code",[this._v("#")])]),t("div",{staticClass:"description"},[t("p",[this._v("Channel")])])])},function(){var e=this.$createElement,t=this._self._c||e;return t("div",{staticClass:"help-item"},[t("div",{staticClass:"subject"},[t("code",[this._v("/")])]),t("div",{staticClass:"description"},[t("p",[this._v("Commands (see list of commands below)")])])])},function(){var e=this.$createElement,t=this._self._c||e;return t("div",{staticClass:"help-item"},[t("div",{staticClass:"subject"},[t("code",[this._v(":")])]),t("div",{staticClass:"description"},[t("p",[this._v("\n\t\t\t\t\tEmoji (note: requires two search characters, to avoid conflicting with\n\t\t\t\t\tcommon emoticons like "),t("code",[this._v(":)")]),this._v(")\n\t\t\t\t")])])])},function(){var e=this.$createElement,t=this._self._c||e;return t("div",{staticClass:"help-item"},[t("div",{staticClass:"subject"},[t("code",[this._v("/away [message]")])]),t("div",{staticClass:"description"},[t("p",[this._v("Mark yourself as away with an optional message.")])])])},function(){var e=this.$createElement,t=this._self._c||e;return t("div",{staticClass:"help-item"},[t("div",{staticClass:"subject"},[t("code",[this._v("/back")])]),t("div",{staticClass:"description"},[t("p",[this._v("Remove your away status (set with "),t("code",[this._v("/away")]),this._v(").")])])])},function(){var e=this.$createElement,t=this._self._c||e;return t("div",{staticClass:"help-item"},[t("div",{staticClass:"subject"},[t("code",[this._v("/ban nick")])]),t("div",{staticClass:"description"},[t("p",[this._v("\n\t\t\t\t\tBan ("),t("code",[this._v("+b")]),this._v(") a user from the current channel. This can be a\n\t\t\t\t\tnickname or a hostmask.\n\t\t\t\t")])])])},function(){var e=this.$createElement,t=this._self._c||e;return t("div",{staticClass:"help-item"},[t("div",{staticClass:"subject"},[t("code",[this._v("/banlist")])]),t("div",{staticClass:"description"},[t("p",[this._v("Load the banlist for the current channel.")])])])},function(){var e=this.$createElement,t=this._self._c||e;return t("div",{staticClass:"help-item"},[t("div",{staticClass:"subject"},[t("code",[this._v("/collapse")])]),t("div",{staticClass:"description"},[t("p",[this._v("\n\t\t\t\t\tCollapse all previews in the current channel (opposite of\n\t\t\t\t\t"),t("code",[this._v("/expand")]),this._v(")\n\t\t\t\t")])])])},function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("div",{staticClass:"help-item"},[a("div",{staticClass:"subject"},[a("code",[e._v("/connect host [port]")])]),a("div",{staticClass:"description"},[a("p",[e._v("\n\t\t\t\t\tConnect to a new IRC network. If "),a("code",[e._v("port")]),e._v(" starts with a\n\t\t\t\t\t"),a("code",[e._v("+")]),e._v(" sign, the connection will be made secure using TLS.\n\t\t\t\t")]),a("p",[e._v("Alias: "),a("code",[e._v("/server")])])])])},function(){var e=this.$createElement,t=this._self._c||e;return t("div",{staticClass:"help-item"},[t("div",{staticClass:"subject"},[t("code",[this._v("/ctcp target cmd [args]")])]),t("div",{staticClass:"description"},[t("p",[this._v("\n\t\t\t\t\tSend a "),t("abbr",{attrs:{title:"Client-to-client protocol"}},[this._v("CTCP")]),this._v("\n\t\t\t\t\trequest. Read more about this on\n\t\t\t\t\t"),t("a",{attrs:{href:"https://en.wikipedia.org/wiki/Client-to-client_protocol",target:"_blank",rel:"noopener"}},[this._v("the dedicated Wikipedia article")]),this._v(".\n\t\t\t\t")])])])},function(){var e=this.$createElement,t=this._self._c||e;return t("div",{staticClass:"help-item"},[t("div",{staticClass:"subject"},[t("code",[this._v("/deop nick [...nick]")])]),t("div",{staticClass:"description"},[t("p",[this._v("\n\t\t\t\t\tRemove op ("),t("code",[this._v("-o")]),this._v(") from one or several users in the current\n\t\t\t\t\tchannel.\n\t\t\t\t")])])])},function(){var e=this.$createElement,t=this._self._c||e;return t("div",{staticClass:"help-item"},[t("div",{staticClass:"subject"},[t("code",[this._v("/devoice nick [...nick]")])]),t("div",{staticClass:"description"},[t("p",[this._v("\n\t\t\t\t\tRemove voice ("),t("code",[this._v("-v")]),this._v(") from one or several users in the current\n\t\t\t\t\tchannel.\n\t\t\t\t")])])])},function(){var e=this.$createElement,t=this._self._c||e;return t("div",{staticClass:"help-item"},[t("div",{staticClass:"subject"},[t("code",[this._v("/disconnect [message]")])]),t("div",{staticClass:"description"},[t("p",[this._v("Disconnect from the current network with an optionally-provided message.")])])])},function(){var e=this.$createElement,t=this._self._c||e;return t("div",{staticClass:"help-item"},[t("div",{staticClass:"subject"},[t("code",[this._v("/expand")])]),t("div",{staticClass:"description"},[t("p",[this._v("\n\t\t\t\t\tExpand all previews in the current channel (opposite of\n\t\t\t\t\t"),t("code",[this._v("/collapse")]),this._v(")\n\t\t\t\t")])])])},function(){var e=this.$createElement,t=this._self._c||e;return t("div",{staticClass:"help-item"},[t("div",{staticClass:"subject"},[t("code",[this._v("/invite nick [channel]")])]),t("div",{staticClass:"description"},[t("p",[this._v("\n\t\t\t\t\tInvite a user to the specified channel. If\n\t\t\t\t\t"),t("code",[this._v("channel")]),this._v(" is omitted, user will be invited to the current\n\t\t\t\t\tchannel.\n\t\t\t\t")])])])},function(){var e=this.$createElement,t=this._self._c||e;return t("div",{staticClass:"help-item"},[t("div",{staticClass:"subject"},[t("code",[this._v("/ignore nick")])]),t("div",{staticClass:"description"},[t("p",[this._v("\n\t\t\t\t\tBlock any messages from the specified user on the current network. This can\n\t\t\t\t\tbe a nickname or a hostmask.\n\t\t\t\t")])])])},function(){var e=this.$createElement,t=this._self._c||e;return t("div",{staticClass:"help-item"},[t("div",{staticClass:"subject"},[t("code",[this._v("/ignorelist")])]),t("div",{staticClass:"description"},[t("p",[this._v("Load the list of ignored users for the current network.")])])])},function(){var e=this.$createElement,t=this._self._c||e;return t("div",{staticClass:"help-item"},[t("div",{staticClass:"subject"},[t("code",[this._v("/join channel")])]),t("div",{staticClass:"description"},[t("p",[this._v("Join a channel.")])])])},function(){var e=this.$createElement,t=this._self._c||e;return t("div",{staticClass:"help-item"},[t("div",{staticClass:"subject"},[t("code",[this._v("/kick nick")])]),t("div",{staticClass:"description"},[t("p",[this._v("Kick a user from the current channel.")])])])},function(){var e=this.$createElement,t=this._self._c||e;return t("div",{staticClass:"help-item"},[t("div",{staticClass:"subject"},[t("code",[this._v("/list")])]),t("div",{staticClass:"description"},[t("p",[this._v("Retrieve a list of available channels on this network.")])])])},function(){var e=this.$createElement,t=this._self._c||e;return t("div",{staticClass:"help-item"},[t("div",{staticClass:"subject"},[t("code",[this._v("/me message")])]),t("div",{staticClass:"description"},[t("p",[this._v("\n\t\t\t\t\tSend an action message to the current channel. The Lounge will display it\n\t\t\t\t\tinline, as if the message was posted in the third person.\n\t\t\t\t")])])])},function(){var e=this.$createElement,t=this._self._c||e;return t("div",{staticClass:"help-item"},[t("div",{staticClass:"subject"},[t("code",[this._v("/mode flags [args]")])]),t("div",{staticClass:"description"},[t("p",[this._v("\n\t\t\t\t\tSet the given flags to the current channel if the active window is a\n\t\t\t\t\tchannel, another user if the active window is a private message window, or\n\t\t\t\t\tyourself if the current window is a server window.\n\t\t\t\t")])])])},function(){var e=this.$createElement,t=this._self._c||e;return t("div",{staticClass:"help-item"},[t("div",{staticClass:"subject"},[t("code",[this._v("/msg channel message")])]),t("div",{staticClass:"description"},[t("p",[this._v("Send a message to the specified channel.")])])])},function(){var e=this.$createElement,t=this._self._c||e;return t("div",{staticClass:"help-item"},[t("div",{staticClass:"subject"},[t("code",[this._v("/nick newnick")])]),t("div",{staticClass:"description"},[t("p",[this._v("Change your nickname on the current network.")])])])},function(){var e=this.$createElement,t=this._self._c||e;return t("div",{staticClass:"help-item"},[t("div",{staticClass:"subject"},[t("code",[this._v("/notice channel message")])]),t("div",{staticClass:"description"},[t("p",[this._v("Sends a notice message to the specified channel.")])])])},function(){var e=this.$createElement,t=this._self._c||e;return t("div",{staticClass:"help-item"},[t("div",{staticClass:"subject"},[t("code",[this._v("/op nick [...nick]")])]),t("div",{staticClass:"description"},[t("p",[this._v("Give op ("),t("code",[this._v("+o")]),this._v(") to one or several users in the current channel.")])])])},function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("div",{staticClass:"help-item"},[a("div",{staticClass:"subject"},[a("code",[e._v("/part [channel]")])]),a("div",{staticClass:"description"},[a("p",[e._v("\n\t\t\t\t\tClose the specified channel or private message window, or the current\n\t\t\t\t\tchannel if "),a("code",[e._v("channel")]),e._v(" is omitted.\n\t\t\t\t")]),a("p",[e._v("Aliases: "),a("code",[e._v("/close")]),e._v(", "),a("code",[e._v("/leave")])])])])},function(){var e=this.$createElement,t=this._self._c||e;return t("div",{staticClass:"help-item"},[t("div",{staticClass:"subject"},[t("code",[this._v("/rejoin")])]),t("div",{staticClass:"description"},[t("p",[this._v("\n\t\t\t\t\tLeave and immediately rejoin the current channel. Useful to quickly get op\n\t\t\t\t\tfrom ChanServ in an empty channel, for example.\n\t\t\t\t")]),t("p",[this._v("Alias: "),t("code",[this._v("/cycle")])])])])},function(){var e=this.$createElement,t=this._self._c||e;return t("div",{staticClass:"help-item"},[t("div",{staticClass:"subject"},[t("code",[this._v("/query nick")])]),t("div",{staticClass:"description"},[t("p",[this._v("Send a private message to the specified user.")])])])},function(){var e=this.$createElement,t=this._self._c||e;return t("div",{staticClass:"help-item"},[t("div",{staticClass:"subject"},[t("code",[this._v("/quit [message]")])]),t("div",{staticClass:"description"},[t("p",[this._v("Disconnect from the current network with an optional message.")])])])},function(){var e=this.$createElement,t=this._self._c||e;return t("div",{staticClass:"help-item"},[t("div",{staticClass:"subject"},[t("code",[this._v("/raw message")])]),t("div",{staticClass:"description"},[t("p",[this._v("Send a raw message to the current IRC network.")]),t("p",[this._v("Aliases: "),t("code",[this._v("/quote")]),this._v(", "),t("code",[this._v("/send")])])])])},function(){var e=this.$createElement,t=this._self._c||e;return t("div",{staticClass:"help-item"},[t("div",{staticClass:"subject"},[t("code",[this._v("/slap nick")])]),t("div",{staticClass:"description"},[t("p",[this._v("Slap someone in the current channel with a trout!")])])])},function(){var e=this.$createElement,t=this._self._c||e;return t("div",{staticClass:"help-item"},[t("div",{staticClass:"subject"},[t("code",[this._v("/topic [newtopic]")])]),t("div",{staticClass:"description"},[t("p",[this._v("\n\t\t\t\t\tGet the topic in the current channel. If "),t("code",[this._v("newtopic")]),this._v(" is specified,\n\t\t\t\t\tsets the topic in the current channel.\n\t\t\t\t")])])])},function(){var e=this.$createElement,t=this._self._c||e;return t("div",{staticClass:"help-item"},[t("div",{staticClass:"subject"},[t("code",[this._v("/unban nick")])]),t("div",{staticClass:"description"},[t("p",[this._v("\n\t\t\t\t\tUnban ("),t("code",[this._v("-b")]),this._v(") a user from the current channel. This can be a\n\t\t\t\t\tnickname or a hostmask.\n\t\t\t\t")])])])},function(){var e=this.$createElement,t=this._self._c||e;return t("div",{staticClass:"help-item"},[t("div",{staticClass:"subject"},[t("code",[this._v("/unignore nick")])]),t("div",{staticClass:"description"},[t("p",[this._v("\n\t\t\t\t\tUnblock messages from the specified user on the current network. This can be\n\t\t\t\t\ta nickname or a hostmask.\n\t\t\t\t")])])])},function(){var e=this.$createElement,t=this._self._c||e;return t("div",{staticClass:"help-item"},[t("div",{staticClass:"subject"},[t("code",[this._v("/voice nick [...nick]")])]),t("div",{staticClass:"description"},[t("p",[this._v("\n\t\t\t\t\tGive voice ("),t("code",[this._v("+v")]),this._v(") to one or several users in the current channel.\n\t\t\t\t")])])])},function(){var e=this.$createElement,t=this._self._c||e;return t("div",{staticClass:"help-item"},[t("div",{staticClass:"subject"},[t("code",[this._v("/whois nick")])]),t("div",{staticClass:"description"},[t("p",[this._v("Retrieve information about the given user on the current network.")])])])}],!1,null,null,null).exports,O={name:"Changelog",components:{SidebarToggle:p},mounted(){this.$store.state.versionData||o.a.emit("changelog"),this.patchChangelog()},updated(){this.patchChangelog()},methods:{patchChangelog(){if(!this.$refs.changelog)return;const e=this.$refs.changelog.querySelectorAll("a");for(const t of e)t.setAttribute("target","_blank"),t.setAttribute("rel","noopener"),t.querySelector("img")&&t.classList.add("toggle-thumbnail")}}},E=Object(l.a)(O,(function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("div",{staticClass:"window",attrs:{id:"changelog","aria-label":"Changelog"}},[a("div",{staticClass:"header"},[a("SidebarToggle")],1),a("div",{staticClass:"container"},[a("router-link",{attrs:{id:"back-to-help",to:"/help"}},[e._v("« Help")]),e.$store.state.versionData&&e.$store.state.versionData.current&&e.$store.state.versionData.current.version?[a("h1",{staticClass:"title"},[e._v("\n\t\t\t\tRelease notes for "+e._s(e.$store.state.versionData.current.version)+"\n\t\t\t")]),e.$store.state.versionData.current.changelog?[a("h3",[e._v("Introduction")]),a("div",{ref:"changelog",staticClass:"changelog-text",domProps:{innerHTML:e._s(e.$store.state.versionData.current.changelog)}})]:[a("p",[e._v("Unable to retrieve changelog for current release from GitHub.")]),a("p",[a("a",{attrs:{href:"https://github.com/thelounge/thelounge/releases/tag/v"+e.$store.state.serverConfiguration.version,target:"_blank",rel:"noopener"}},[e._v("View release notes for this version on GitHub")])])]]:a("p",[e._v("Loading changelog…")])],2)])}),[],!1,null,null,null).exports,M={name:"NetworkEdit",components:{NetworkForm:g},data:()=>({disabled:!1,networkData:null}),watch:{"$route.params.uuid"(){this.setNetworkData()}},mounted(){this.setNetworkData()},methods:{setNetworkData(){o.a.emit("network:get",this.$route.params.uuid),this.networkData=this.$store.getters.findNetwork(this.$route.params.uuid)},handleSubmit(e){this.disabled=!0,o.a.emit("network:edit",e);const t=this.$store.getters.findNetwork(e.uuid);t.name=t.channels[0].name=e.name,this.$root.switchToChannel(t.channels[0])}}},T=Object(l.a)(M,(function(){var e=this.$createElement,t=this._self._c||e;return this.networkData?t("NetworkForm",{attrs:{"handle-submit":this.handleSubmit,defaults:this.networkData,disabled:this.disabled}}):this._e()}),[],!1,null,null,null).exports,A=a(3),I=a(5),N=a(12),U=a.n(N),L=a(4),D=a(31),z={name:"LinkPreview",props:{link:Object,keepScrollPosition:Function,channel:Object},data:()=>({showMoreButton:!1,isContentShown:!1}),computed:{moreButtonLabel(){return this.isContentShown?"Less":"More"},imageMaxSize(){if(this.link.maxSize)return Object(D.a)(this.link.maxSize)}},watch:{"link.type"(){this.updateShownState(),this.onPreviewUpdate()}},created(){this.updateShownState()},mounted(){A.a.on("resize",this.handleResize),this.onPreviewUpdate()},beforeDestroy(){A.a.off("resize",this.handleResize)},destroyed(){this.link.sourceLoaded=!1},methods:{onPreviewUpdate(){"loading"!==this.link.type&&("error"===this.link.type&&this.onPreviewReady(),"link"===this.link.type&&(this.handleResize(),this.keepScrollPosition()))},onPreviewReady(){this.$set(this.link,"sourceLoaded",!0),this.keepScrollPosition(),"link"===this.link.type&&this.handleResize()},onThumbnailError(){this.link.thumb="",this.onPreviewReady()},onThumbnailClick(e){e.preventDefault();const t=this.$root.$refs.app.$refs.imageViewer;t.channel=this.channel,t.link=this.link},onMoreClick(){this.isContentShown=!this.isContentShown,this.keepScrollPosition()},handleResize(){this.$nextTick(()=>{this.$refs.content&&(this.showMoreButton=this.$refs.content.offsetWidth>=this.$refs.container.offsetWidth)})},updateShownState(){if(null!==this.link.shown)return;let e=!1;switch(this.link.type){case"error":"image-too-big"===this.link.error&&(e=this.$store.state.settings.media);break;case"link":e=this.$store.state.settings.links;break;default:e=this.$store.state.settings.media}this.link.shown=e}}},q=Object(l.a)(z,(function(){var e=this,t=e.$createElement,a=e._self._c||t;return e.link.shown?a("div",{directives:[{name:"show",rawName:"v-show",value:e.link.sourceLoaded||"link"===e.link.type,expression:"link.sourceLoaded || link.type === 'link'"}],ref:"container",staticClass:"preview",attrs:{dir:"ltr"}},[a("div",{ref:"content",class:["toggle-content","toggle-type-"+e.link.type,{opened:e.isContentShown}]},["link"===e.link.type?[e.link.thumb?a("a",{directives:[{name:"show",rawName:"v-show",value:e.link.sourceLoaded,expression:"link.sourceLoaded"}],staticClass:"toggle-thumbnail",attrs:{href:e.link.link,target:"_blank",rel:"noopener"},on:{click:e.onThumbnailClick}},[a("img",{staticClass:"thumb",attrs:{src:e.link.thumb,decoding:"async",alt:""},on:{error:e.onThumbnailError,abort:e.onThumbnailError,load:e.onPreviewReady}})]):e._e(),a("div",{staticClass:"toggle-text",attrs:{dir:"auto"}},[a("div",{staticClass:"head"},[a("div",{staticClass:"overflowable"},[a("a",{attrs:{href:e.link.link,title:e.link.head,target:"_blank",rel:"noopener"}},[e._v(e._s(e.link.head))])]),e.showMoreButton?a("button",{staticClass:"more",attrs:{"aria-expanded":e.isContentShown,"aria-label":e.moreButtonLabel,dir:"auto"},on:{click:e.onMoreClick}},[a("span",{staticClass:"more-caret"})]):e._e()]),a("div",{staticClass:"body overflowable"},[a("a",{attrs:{href:e.link.link,title:e.link.body,target:"_blank",rel:"noopener"}},[e._v(e._s(e.link.body))])])])]:"image"===e.link.type?[a("a",{staticClass:"toggle-thumbnail",attrs:{href:e.link.link,target:"_blank",rel:"noopener"},on:{click:e.onThumbnailClick}},[a("img",{directives:[{name:"show",rawName:"v-show",value:e.link.sourceLoaded,expression:"link.sourceLoaded"}],attrs:{src:e.link.thumb,decoding:"async",alt:""},on:{load:e.onPreviewReady}})])]:"video"===e.link.type?[a("video",{directives:[{name:"show",rawName:"v-show",value:e.link.sourceLoaded,expression:"link.sourceLoaded"}],attrs:{preload:"metadata",controls:""},on:{canplay:e.onPreviewReady}},[a("source",{attrs:{src:e.link.media,type:e.link.mediaType}})])]:"audio"===e.link.type?[a("audio",{directives:[{name:"show",rawName:"v-show",value:e.link.sourceLoaded,expression:"link.sourceLoaded"}],attrs:{controls:"",preload:"metadata"},on:{canplay:e.onPreviewReady}},[a("source",{attrs:{src:e.link.media,type:e.link.mediaType}})])]:"error"===e.link.type?["image-too-big"===e.link.error?a("em",[e._v("\n\t\t\t\tThis image is larger than "+e._s(e.imageMaxSize)+" and cannot be previewed.\n\t\t\t\t"),a("a",{attrs:{href:e.link.link,target:"_blank",rel:"noopener"}},[e._v("Click here")]),e._v("\n\t\t\t\tto open it in a new window.\n\t\t\t")]):"message"===e.link.error?[a("div",[a("em",[e._v("\n\t\t\t\t\t\tA preview could not be loaded.\n\t\t\t\t\t\t"),a("a",{attrs:{href:e.link.link,target:"_blank",rel:"noopener"}},[e._v("Click here")]),e._v("\n\t\t\t\t\t\tto open it in a new window.\n\t\t\t\t\t")]),a("br"),a("pre",{staticClass:"prefetch-error"},[e._v(e._s(e.link.message))])]),a("button",{staticClass:"more",attrs:{"aria-expanded":e.isContentShown,"aria-label":e.moreButtonLabel},on:{click:e.onMoreClick}},[a("span",{staticClass:"more-caret"})])]:e._e()]:e._e()],2)]):e._e()}),[],!1,null,null,null).exports;const R=a(125);var B=R.keys().reduce((e,t)=>(e["message-"+t.substring(2,t.length-4)]=R(t).default,e),{});const H=a(14);B.ParsedMessage=I.a,B.LinkPreview=q,B.Username=L.a;var F={name:"Message",components:B,props:{message:Object,channel:Object,network:Object,keepScrollPosition:Function,isPreviousSource:Boolean},computed:{timeFormat(){let e;return e=this.$store.state.settings.use12hClock?this.$store.state.settings.showSeconds?"msg12hWithSeconds":"msg12h":this.$store.state.settings.showSeconds?"msgWithSeconds":"msgDefault",H.timeFormats[e]},messageTime(){return U()(this.message.time).format(this.timeFormat)},messageTimeLocale(){return Object(b.a)(this.message.time)},messageComponent(){return"message-"+this.message.type}},methods:{isAction(){return void 0!==B["message-"+this.message.type]}}},V=Object(l.a)(F,(function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("div",{class:["msg",{self:e.message.self,highlight:e.message.highlight,"previous-source":e.isPreviousSource}],attrs:{id:"msg-"+e.message.id,"data-type":e.message.type,"data-command":e.message.command,"data-from":e.message.from&&e.message.from.nick}},[a("span",{staticClass:"time tooltipped tooltipped-e",attrs:{"aria-label":e.messageTimeLocale}},[e._v(e._s(e.messageTime)+"\n\t")]),"unhandled"===e.message.type?[a("span",{staticClass:"from"},[e._v("["+e._s(e.message.command)+"]")]),a("span",{staticClass:"content"},e._l(e.message.params,(function(t,s){return a("span",{key:s},[e._v(e._s(t)+" ")])})),0)]:e.isAction()?[e._m(0),a(e.messageComponent,{tag:"component",attrs:{network:e.network,message:e.message}})]:"action"===e.message.type?[e._m(1),a("span",{staticClass:"content",attrs:{dir:"auto"}},[a("Username",{attrs:{user:e.message.from,dir:"auto"}}),e._v(" "),a("ParsedMessage",{attrs:{message:e.message}}),e._l(e.message.previews,(function(t){return a("LinkPreview",{key:t.link,attrs:{"keep-scroll-position":e.keepScrollPosition,link:t,channel:e.channel}})}))],2)]:["message"===e.message.type?a("span",{staticClass:"from"},[e.message.from&&e.message.from.nick?[a("span",{staticClass:"only-copy"},[e._v("<")]),a("Username",{attrs:{user:e.message.from}}),a("span",{staticClass:"only-copy"},[e._v("> ")])]:e._e()],2):"plugin"===e.message.type?a("span",{staticClass:"from"},[e.message.from&&e.message.from.nick?[a("span",{staticClass:"only-copy"},[e._v("[")]),e._v("\n\t\t\t\t"+e._s(e.message.from.nick)+"\n\t\t\t\t"),a("span",{staticClass:"only-copy"},[e._v("] ")])]:e._e()],2):a("span",{staticClass:"from"},[e.message.from&&e.message.from.nick?[a("span",{staticClass:"only-copy"},[e._v("-")]),a("Username",{attrs:{user:e.message.from}}),a("span",{staticClass:"only-copy"},[e._v("- ")])]:e._e()],2),a("span",{staticClass:"content",attrs:{dir:"auto"}},[e.message.showInActive?a("span",{staticClass:"msg-shown-in-active tooltipped tooltipped-e",attrs:{"aria-label":"This message was shown in your active channel"}},[a("span")]):e._e(),e.message.statusmsgGroup?a("span",{staticClass:"msg-statusmsg tooltipped tooltipped-e",attrs:{"aria-label":"This message was only shown to users with "+e.message.statusmsgGroup+" mode"}},[a("span",[e._v(e._s(e.message.statusmsgGroup))])]):e._e(),a("ParsedMessage",{attrs:{network:e.network,message:e.message}}),e._l(e.message.previews,(function(t){return a("LinkPreview",{key:t.link,attrs:{"keep-scroll-position":e.keepScrollPosition,link:t,channel:e.channel}})}))],2)]],2)}),[function(){var e=this.$createElement,t=this._self._c||e;return t("span",{staticClass:"from"},[t("span",{staticClass:"only-copy"},[this._v("*** ")])])},function(){var e=this.$createElement,t=this._self._c||e;return t("span",{staticClass:"from"},[t("span",{staticClass:"only-copy"},[this._v("* ")])])}],!1,null,null,null).exports;const W=a(14);var J={name:"MessageCondensed",components:{Message:V},props:{network:Object,messages:Array,keepScrollPosition:Function},data:()=>({isCollapsed:!0}),computed:{condensedText(){const e={};W.condensedTypes.forEach(t=>{e[t]=0});for(const t of this.messages)e[t.type]++;e.part+=e.quit;const t=[];W.condensedTypes.forEach(a=>{if(e[a])switch(a){case"chghost":t.push(e[a]+(e[a]>1?" users have changed hostname":" user has changed hostname"));break;case"join":t.push(e[a]+(e[a]>1?" users have joined":" user has joined"));break;case"part":t.push(e[a]+(e[a]>1?" users have left":" user has left"));break;case"nick":t.push(e[a]+(e[a]>1?" users have changed nick":" user has changed nick"));break;case"kick":t.push(e[a]+(e[a]>1?" users were kicked":" user was kicked"));break;case"mode":t.push(e[a]+(e[a]>1?" modes were set":" mode was set"))}});let a=t.pop();return t.length&&(a=t.join(", ")+", and "+a),a}},methods:{onCollapseClick(){this.isCollapsed=!this.isCollapsed,this.keepScrollPosition()}}},K=Object(l.a)(J,(function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("div",{class:["msg",{closed:e.isCollapsed}],attrs:{"data-type":"condensed"}},[a("div",{staticClass:"condensed-summary"},[a("span",{staticClass:"time"}),a("span",{staticClass:"from"}),a("span",{staticClass:"content",on:{click:e.onCollapseClick}},[e._v(e._s(e.condensedText)),a("button",{staticClass:"toggle-button",attrs:{"aria-label":"Toggle status messages"}})])]),e._l(e.messages,(function(t){return a("Message",{key:t.id,attrs:{network:e.network,message:t}})}))],2)}),[],!1,null,null,null).exports,Y=a(70),G=a.n(Y);U.a.extend(G.a);var X={name:"DateMarker",props:{message:Object},computed:{localeDate(){return U()(this.message.time).format("D MMMM YYYY")}},mounted(){this.hoursPassed()<48&&A.a.on("daychange",this.dayChange)},beforeDestroy(){A.a.off("daychange",this.dayChange)},methods:{hoursPassed(){return(Date.now()-Date.parse(this.message.time))/36e5},dayChange(){this.$forceUpdate(),this.hoursPassed()>=48&&A.a.off("daychange",this.dayChange)},friendlyDate(){return U()(this.message.time).calendar(null,{sameDay:"[Today]",lastDay:"[Yesterday]",lastWeek:"D MMMM YYYY",sameElse:"D MMMM YYYY"})}}},Q=Object(l.a)(X,(function(){var e=this.$createElement,t=this._self._c||e;return t("div",{staticClass:"date-marker-container tooltipped tooltipped-s",attrs:{"aria-label":this.localeDate}},[t("div",{staticClass:"date-marker"},[t("span",{staticClass:"date-marker-text",attrs:{"aria-label":this.friendlyDate()}})])])}),[],!1,null,null,null).exports;const Z=a(14);let ee=!1;var te={name:"MessageList",components:{Message:V,MessageCondensed:K,DateMarker:Q},props:{network:Object,channel:Object},computed:{condensedMessages(){if("channel"!==this.channel.type)return this.channel.messages;if("hidden"===this.$store.state.settings.statusMessages)return this.channel.messages.filter(e=>!Z.condensedTypes.has(e.type));if("condensed"!==this.$store.state.settings.statusMessages)return this.channel.messages;const e=[];let t=null;for(const a of this.channel.messages)a.self||a.highlight||!Z.condensedTypes.has(a.type)?(t=null,e.push(a)):(null===t&&(t={time:a.time,type:"condensed",messages:[]},e.push(t)),t.messages.push(a),t.id=a.id,a.id===this.channel.firstUnread&&(t=null));return e}},watch:{"channel.id"(){this.channel.scrolledToBottom=!0,this.historyObserver&&(this.historyObserver.unobserve(this.$refs.loadMoreButton),this.historyObserver.observe(this.$refs.loadMoreButton))},"channel.messages"(){this.keepScrollPosition()},"channel.pendingMessage"(){this.$nextTick(()=>{this.keepScrollPosition()})}},created(){this.$nextTick(()=>{this.$refs.chat&&(window.IntersectionObserver&&(this.historyObserver=new window.IntersectionObserver(this.onLoadButtonObserved,{root:this.$refs.chat})),this.jumpToBottom())})},mounted(){this.$refs.chat.addEventListener("scroll",this.handleScroll,{passive:!0}),A.a.on("resize",this.handleResize),this.$nextTick(()=>{this.historyObserver&&this.historyObserver.observe(this.$refs.loadMoreButton)})},beforeUpdate(){ee=!1},beforeDestroy(){A.a.off("resize",this.handleResize),this.$refs.chat.removeEventListener("scroll",this.handleScroll)},destroyed(){this.historyObserver&&this.historyObserver.disconnect()},methods:{shouldDisplayDateMarker(e,t){const a=this.condensedMessages[t-1];if(!a)return!0;const s=new Date(a.time),n=new Date(e.time);return s.getDate()!==n.getDate()||s.getMonth()!==n.getMonth()||s.getFullYear()!==n.getFullYear()},shouldDisplayUnreadMarker(e){return!ee&&e>this.channel.firstUnread&&(ee=!0,!0)},isPreviousSource(e,t){const a=this.condensedMessages[t-1];return a&&"message"===e.type&&"message"===a.type&&a.from&&e.from.nick===a.from.nick},onCopy(){!function(e){if(void 0!==window.InstallTrigger)return;const t=window.getSelection();if(t.anchorNode===t.focusNode)return;const a=t.getRangeAt(0),s=a.cloneContents(),n=document.createElement("div");n.id="js-copy-hack",n.appendChild(s),e.appendChild(n),t.selectAllChildren(n),window.setTimeout(()=>{e.removeChild(n),t.removeAllRanges(),t.addRange(a)},0)}(this.$el)},onLinkPreviewToggle(e,t){this.keepScrollPosition(),o.a.emit("msg:preview:toggle",{target:this.channel.id,msgId:t.id,link:e.link,shown:e.shown})},onShowMoreClick(){if(!this.$store.state.isConnected)return;let e=-1;for(const t of this.channel.messages)if(!t.showInActive){e=t.id;break}this.channel.historyLoading=!0,o.a.emit("more",{target:this.channel.id,lastId:e,condensed:"shown"!==this.$store.state.settings.statusMessages})},onLoadButtonObserved(e){e.forEach(e=>{e.isIntersecting&&this.onShowMoreClick()})},keepScrollPosition(){if(this.isWaitingForNextTick)return;const e=this.$refs.chat;if(e)if(this.channel.scrolledToBottom)this.isWaitingForNextTick=!0,this.$nextTick(()=>{this.isWaitingForNextTick=!1,this.jumpToBottom()});else if(this.channel.historyLoading){const t=e.scrollHeight-e.scrollTop;this.isWaitingForNextTick=!0,this.$nextTick(()=>{this.isWaitingForNextTick=!1,this.skipNextScrollEvent=!0,e.scrollTop=e.scrollHeight-t})}},handleScroll(){if(this.skipNextScrollEvent)return void(this.skipNextScrollEvent=!1);const e=this.$refs.chat;e&&(this.channel.scrolledToBottom=e.scrollHeight-e.scrollTop-e.offsetHeight<=30)},handleResize(){this.channel.scrolledToBottom&&this.jumpToBottom()},jumpToBottom(){this.skipNextScrollEvent=!0,this.channel.scrolledToBottom=!0;const e=this.$refs.chat;e.scrollTop=e.scrollHeight}}},ae=Object(l.a)(te,(function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("div",{ref:"chat",staticClass:"chat",attrs:{tabindex:"-1"}},[a("div",{directives:[{name:"show",rawName:"v-show",value:e.channel.moreHistoryAvailable,expression:"channel.moreHistoryAvailable"}],staticClass:"show-more"},[a("button",{ref:"loadMoreButton",staticClass:"btn",attrs:{disabled:e.channel.historyLoading||!e.$store.state.isConnected},on:{click:e.onShowMoreClick}},[e.channel.historyLoading?a("span",[e._v("Loading…")]):a("span",[e._v("Show older messages")])])]),a("div",{staticClass:"messages",attrs:{role:"log","aria-live":"polite","aria-relevant":"additions"},on:{copy:e.onCopy}},[e._l(e.condensedMessages,(function(t,s){return[e.shouldDisplayDateMarker(t,s)?a("DateMarker",{key:t.id+"-date",attrs:{message:t}}):e._e(),e.shouldDisplayUnreadMarker(t.id)?a("div",{key:t.id+"-unread",staticClass:"unread-marker"},[a("span",{staticClass:"unread-marker-text"})]):e._e(),"condensed"===t.type?a("MessageCondensed",{key:t.messages[0].id,attrs:{network:e.network,"keep-scroll-position":e.keepScrollPosition,messages:t.messages}}):a("Message",{key:t.id,attrs:{channel:e.channel,network:e.network,message:t,"keep-scroll-position":e.keepScrollPosition,"is-previous-source":e.isPreviousSource(t,s)},on:{"toggle-link-preview":e.onLinkPreviewToggle}})]}))],2)])}),[],!1,null,null,null).exports,se=a(8),ne=a.n(se),ie=a(20),oe=a(49),re=a(11),le=a.n(re),ce=a(35),he=a(0);const ue=a(14);var de=function(e){let t=0,a="",s=[];e.addEventListener("input",e=>{"autocomplete"!==e.detail&&(t=0,s=[],a="")}),ne()(e).bind("tab",n=>{if(he.a.state.isAutoCompleting)return;n.preventDefault();const i=e.value;if(0===t){if(a=i.substring(0,e.selectionStart).split(/\s/).pop(),0===a.length)return;if(s=ye(a,!1),0===s.length)return}const o=e.selectionStart-a.length,r=we(s[t%s.length],o),l=i.substr(e.selectionStart);e.value=i.substr(0,o)+r+l,e.selectionStart-=l.length,e.selectionEnd=e.selectionStart,e.dispatchEvent(new CustomEvent("input",{detail:"autocomplete"})),a=r,t++},"keydown");const n=new oe.Textarea(e),i=new oe.Textcomplete(n,{dropdown:{className:"textcomplete-menu",placement:"top"}});return i.register([me,ge,fe,_e,ve,be]),i.on("rendered",()=>{i.dropdown.items.length>0&&i.dropdown.items[0].activate()}),i.on("show",()=>{he.a.commit("isAutoCompleting",!0)}),i.on("hidden",()=>{he.a.commit("isAutoCompleting",!1)}),{hide(){i.hide()},destroy(){i.destroy(),he.a.commit("isAutoCompleting",!1)}}};const pe=Object.keys(ce),me={id:"emoji",match:/(^|\s):([-+\w:?]{2,}):?$/,search(e,t){t(ke(e=e.replace(/:$/,""),pe))},template:([e,t])=>'<span class="emoji">'.concat(ce[t],"</span> ").concat(e),replace:([,e])=>"$1"+ce[e],index:2},ge={id:"nicks",match:/(^|\s)(@([a-zA-Z_[\]\\^{}|`@][a-zA-Z0-9_[\]\\^{}|`-]*)?)$/,search(e,t){"@"===(e=e.slice(1))[0]?t(ye(e.slice(1),!0).map(e=>["@"+e[0],"@"+e[1]])):t(ye(e,!0))},template:([e])=>e,replace:([,e])=>"$1"+we(e),index:2},fe={id:"chans",match:/(^|\s)((?:#|\+|&|![A-Z0-9]{5})(?:[^\s]+)?)$/,search(e,t){t(function(e){const t=[];for(const a of he.a.state.activeChannel.network.channels)"channel"===a.type&&a.name[0]===e[0]&&t.push(a.name);return ke(e,t)}(e))},template:([e])=>e,replace:([,e])=>"$1"+e,index:2},_e={id:"commands",match:/^\/(\w*)$/,search(e,t){t(function(e){const t=ue.commands.slice();return ke(e,t)}("/"+e))},template:([e])=>e,replace:([,e])=>e,index:1},ve={id:"foreground-colors",match:/\x03(\d{0,2}|[A-Za-z ]{0,10})$/,search(e,t){e=e.toLowerCase();t(ue.colorCodeMap.filter(t=>le.a.test(e,t[0])||le.a.test(e,t[1])).map(t=>le.a.test(e,t[1])?[t[0],le.a.match(e,t[1],{pre:"<b>",post:"</b>"}).rendered]:t))},template:e=>'<span class="irc-fg'.concat(parseInt(e[0],10),'">').concat(e[1],"</span>"),replace:e=>""+e[0],index:1},be={id:"background-colors",match:/\x03(\d{2}),(\d{0,2}|[A-Za-z ]{0,10})$/,search(e,t,a){e=e.toLowerCase();t(ue.colorCodeMap.filter(t=>le.a.test(e,t[0])||le.a.test(e,t[1])).map(t=>le.a.test(e,t[1])?[t[0],le.a.match(e,t[1],{pre:"<b>",post:"</b>"}).rendered]:t).map(e=>e.concat(a[1])))},template:e=>'<span class="irc-fg'.concat(parseInt(e[2],10)," irc-bg irc-bg").concat(parseInt(e[0],10),'">').concat(e[1],"</span>"),replace:e=>"$1,"+e[0],index:2};function we(e,t=1){return he.a.state.settings.nickPostfix?t>0&&/\s/.test(he.a.state.activeChannel.channel.pendingMessage)?e+" ":e+he.a.state.settings.nickPostfix:e}function ke(e,t){return le.a.filter(e,t,{pre:"<b>",post:"</b>"}).map(e=>[e.string,e.original])}function ye(e,t){const a=function(){if(he.a.state.activeChannel.channel.users.length>0){return he.a.state.activeChannel.channel.users.slice().sort((e,t)=>t.lastMessage-e.lastMessage).map(e=>e.nick)}const e=he.a.state.activeChannel.network.nick,t=he.a.state.activeChannel.channel.name;return e!==t&&"query"===he.a.state.activeChannel.channel.type?[t,e]:[e]}();return e=e.toLowerCase(),t?ke(e,a):a.filter(t=>!t.toLowerCase().indexOf(e))}var Ce=a(34),xe=a(19);const Se={"mod+k":"","mod+b":"","mod+u":"","mod+i":"","mod+o":"","mod+s":"","mod+m":""},$e={'"':'"',"'":"'","(":")","<":">","[":"]","{":"}","*":"*","`":"`","~":"~",_:"_"};let je=null;var Pe={name:"ChatInput",props:{network:Object,channel:Object},watch:{"channel.id"(){je&&je.hide()},"channel.pendingMessage"(){this.setInputSize()}},mounted(){A.a.on("escapekey",this.blurInput),this.$store.state.settings.autocomplete&&(je=de(this.$refs.input));const e=ne()(this.$refs.input);e.bind(Object.keys(Se),(function(e,t){const a=Se[t];return Object(ie.b)(e.target,a,e.target.selectionStart===e.target.selectionEnd?"":a),!1})),e.bind(Object.keys($e),(function(e,t){if(e.target.selectionStart!==e.target.selectionEnd)return Object(ie.b)(e.target,t,$e[t]),!1})),e.bind(["up","down"],(e,t)=>{if(this.$store.state.isAutoCompleting||e.target.selectionStart!==e.target.selectionEnd)return;const{channel:a}=this;return 0===a.inputHistoryPosition&&(a.inputHistory[a.inputHistoryPosition]=a.pendingMessage),"up"===t?a.inputHistoryPosition<a.inputHistory.length-1&&a.inputHistoryPosition++:a.inputHistoryPosition>0&&a.inputHistoryPosition--,a.pendingMessage=a.inputHistory[a.inputHistoryPosition],this.$refs.input.value=a.pendingMessage,this.setInputSize(),!1}),this.$store.state.serverConfiguration.fileUpload&&xe.a.mounted()},destroyed(){A.a.off("escapekey",this.blurInput),je&&(je.destroy(),je=null),xe.a.abort()},methods:{setPendingMessage(e){this.channel.pendingMessage=e.target.value,this.channel.inputHistoryPosition=0,this.setInputSize()},setInputSize(){this.$nextTick(()=>{const e=window.getComputedStyle(this.$refs.input),t=parseFloat(e.lineHeight,10)||1;this.$refs.input.style.height="",this.$refs.input.style.height=Math.ceil(this.$refs.input.scrollHeight/t)*t+"px"})},getInputPlaceholder:e=>"channel"===e.type||"query"===e.type?"Write to ".concat(e.name):"",onSubmit(){if(this.$refs.input.click(),this.$refs.input.focus(),!this.$store.state.isConnected)return!1;const e=this.channel.id,t=this.channel.pendingMessage;if(0===t.length)return!1;if(je&&je.hide(),this.channel.inputHistoryPosition=0,this.channel.pendingMessage="",this.$refs.input.value="",this.setInputSize(),this.channel.inputHistory[1]!==t&&this.channel.inputHistory.splice(1,0,t),this.channel.inputHistory.length>100&&this.channel.inputHistory.pop(),"/"===t[0]){const e=t.substr(1).split(" "),a=e.shift().toLowerCase();if(Object.prototype.hasOwnProperty.call(Ce.default,a)&&Ce.default[a].input(e))return!1}o.a.emit("input",{target:e,text:t})},onUploadInputChange(){const e=Array.from(this.$refs.uploadInput.files);xe.a.triggerUpload(e),this.$refs.uploadInput.value=""},openFileUpload(){this.$refs.uploadInput.click()},blurInput(){this.$refs.input.blur()}}},Oe=Object(l.a)(Pe,(function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("form",{attrs:{id:"form",method:"post",action:""},on:{submit:function(t){return t.preventDefault(),e.onSubmit(t)}}},[a("span",{attrs:{id:"upload-progressbar"}}),a("span",{attrs:{id:"nick"}},[e._v(e._s(e.network.nick))]),a("textarea",{ref:"input",staticClass:"mousetrap",attrs:{id:"input",dir:"auto",enterkeyhint:"send",placeholder:e.getInputPlaceholder(e.channel),"aria-label":e.getInputPlaceholder(e.channel)},domProps:{value:e.channel.pendingMessage},on:{input:e.setPendingMessage,keypress:function(t){return!t.type.indexOf("key")&&e._k(t.keyCode,"enter",13,t.key,"Enter")||t.ctrlKey||t.shiftKey||t.altKey||t.metaKey?null:(t.preventDefault(),e.onSubmit(t))}}}),e.$store.state.serverConfiguration.fileUpload?a("span",{staticClass:"tooltipped tooltipped-w tooltipped-no-touch",attrs:{id:"upload-tooltip","aria-label":"Upload file"},on:{click:e.openFileUpload}},[a("input",{ref:"uploadInput",attrs:{id:"upload-input",type:"file","aria-labelledby":"upload",multiple:""},on:{change:e.onUploadInputChange}}),a("button",{attrs:{id:"upload",type:"button","aria-label":"Upload file",disabled:!e.$store.state.isConnected}})]):e._e(),a("span",{staticClass:"tooltipped tooltipped-w tooltipped-no-touch",attrs:{id:"submit-tooltip","aria-label":"Send message"}},[a("button",{attrs:{id:"submit",type:"submit","aria-label":"Send message",disabled:!e.$store.state.isConnected}})])])}),[],!1,null,null,null).exports;const Ee={"~":"owner","&":"admin","!":"admin","@":"op","%":"half-op","+":"voice","":"normal"};var Me={name:"ChatUserList",components:{Username:L.a},props:{channel:Object},data:()=>({userSearchInput:"",activeUser:null}),computed:{filteredUsers(){if(this.userSearchInput)return Object(re.filter)(this.userSearchInput,this.channel.users,{pre:"<b>",post:"</b>",extract:e=>e.nick})},groupedUsers(){const e={};if(this.userSearchInput){const t=this.filteredUsers;for(const a of t){const t=a.original.modes[0]||"";e[t]||(e[t]=[]),a.string=t+a.string,e[t].push(a)}}else for(const t of this.channel.users){const a=t.modes[0]||"";e[a]?e[a].push(t):e[a]=[t]}return e}},methods:{setUserSearchInput(e){this.userSearchInput=e.target.value},getModeClass:e=>Ee[e],selectUser(){if(!this.activeUser)return;const e=this.$refs.userlist.querySelector(".active"),t=e.getBoundingClientRect(),a=new MouseEvent("click",{view:window,bubbles:!0,cancelable:!0,clientX:t.left,clientY:t.top+t.height});e.dispatchEvent(a)},hoverUser(e){this.activeUser=e},removeHoverUser(){this.activeUser=null},navigateUserList(e,t){e.stopImmediatePropagation(),e.preventDefault();let a=this.channel.users;if(this.userSearchInput&&(a=this.filteredUsers.map(e=>e.original)),!a.length)return void(this.activeUser=null);let s=a.indexOf(this.activeUser);if(!this.activeUser||-1===s)return this.activeUser=t?a[0]:a[a.length-1],void this.scrollToActiveUser();for(s+=t;s<0;)s+=a.length;for(;s>a.length-1;)s-=a.length;this.activeUser=a[s],this.scrollToActiveUser()},scrollToActiveUser(){this.$nextTick(()=>{this.$refs.userlist.querySelector(".active").scrollIntoView({block:"nearest",inline:"nearest"})})}}},Te=Object(l.a)(Me,(function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("aside",{ref:"userlist",staticClass:"userlist",on:{mouseleave:e.removeHoverUser}},[a("div",{staticClass:"count"},[a("input",{ref:"input",staticClass:"search",attrs:{placeholder:e.channel.users.length+" user"+(1===e.channel.users.length?"":"s"),type:"search","aria-label":"Search among the user list",tabindex:"-1"},domProps:{value:e.userSearchInput},on:{input:e.setUserSearchInput,keydown:[function(t){return!t.type.indexOf("key")&&e._k(t.keyCode,"up",38,t.key,["Up","ArrowUp"])?null:e.navigateUserList(t,-1)},function(t){return!t.type.indexOf("key")&&e._k(t.keyCode,"down",40,t.key,["Down","ArrowDown"])?null:e.navigateUserList(t,1)},function(t){return!t.type.indexOf("key")&&e._k(t.keyCode,"page-up",void 0,t.key,void 0)?null:e.navigateUserList(t,-10)},function(t){return!t.type.indexOf("key")&&e._k(t.keyCode,"page-down",void 0,t.key,void 0)?null:e.navigateUserList(t,10)},function(t){return!t.type.indexOf("key")&&e._k(t.keyCode,"enter",13,t.key,"Enter")?null:e.selectUser(t)}]}})]),a("div",{staticClass:"names"},e._l(e.groupedUsers,(function(t,s){return a("div",{key:s,class:["user-mode",e.getModeClass(s)]},[e.userSearchInput.length>0?e._l(t,(function(t){return a("Username",{key:t.original.nick,attrs:{"on-hover":e.hoverUser,active:t.original===e.activeUser,user:t.original},domProps:{innerHTML:e._s(t.string)}})})):e._l(t,(function(t){return a("Username",{key:t.nick,attrs:{"on-hover":e.hoverUser,active:t===e.activeUser,user:t}})}))],2)})),0)])}),[],!1,null,null,null).exports,Ae={name:"ListBans",props:{network:Object,channel:Object},methods:{localetime:e=>Object(b.a)(e)}},Ie=Object(l.a)(Ae,(function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("table",{staticClass:"ban-list"},[e._m(0),a("tbody",e._l(e.channel.data,(function(t){return a("tr",{key:t.hostmask},[a("td",{staticClass:"hostmask"},[e._v(e._s(t.hostmask))]),a("td",{staticClass:"banned_by"},[e._v(e._s(t.banned_by))]),a("td",{staticClass:"banned_at"},[e._v(e._s(e.localetime(t.banned_at)))])])})),0)])}),[function(){var e=this.$createElement,t=this._self._c||e;return t("thead",[t("tr",[t("th",{staticClass:"hostmask"},[this._v("Banned")]),t("th",{staticClass:"banned_by"},[this._v("Banned By")]),t("th",{staticClass:"banned_at"},[this._v("Banned At")])])])}],!1,null,null,null).exports,Ne={name:"ListInvites",props:{network:Object,channel:Object},methods:{localetime:e=>Object(b.a)(e)}},Ue=Object(l.a)(Ne,(function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("table",{staticClass:"invite-list"},[e._m(0),a("tbody",e._l(e.channel.data,(function(t){return a("tr",{key:t.hostmask},[a("td",{staticClass:"hostmask"},[e._v(e._s(t.hostmask))]),a("td",{staticClass:"invitened_by"},[e._v(e._s(t.invited_by))]),a("td",{staticClass:"invitened_at"},[e._v(e._s(e.localetime(t.invited_at)))])])})),0)])}),[function(){var e=this.$createElement,t=this._self._c||e;return t("thead",[t("tr",[t("th",{staticClass:"hostmask"},[this._v("Invited")]),t("th",{staticClass:"invitened_by"},[this._v("Invited By")]),t("th",{staticClass:"invitened_at"},[this._v("Invited At")])])])}],!1,null,null,null).exports,Le={name:"ListChannels",components:{ParsedMessage:I.a},props:{network:Object,channel:Object}},De=Object(l.a)(Le,(function(){var e=this,t=e.$createElement,a=e._self._c||t;return e.channel.data.text?a("span",[e._v(e._s(e.channel.data.text))]):a("table",{staticClass:"channel-list"},[e._m(0),a("tbody",e._l(e.channel.data,(function(t){return a("tr",{key:t.channel},[a("td",{staticClass:"channel"},[a("ParsedMessage",{attrs:{network:e.network,text:t.channel}})],1),a("td",{staticClass:"users"},[e._v(e._s(t.num_users))]),a("td",{staticClass:"topic"},[a("ParsedMessage",{attrs:{network:e.network,text:t.topic}})],1)])})),0)])}),[function(){var e=this.$createElement,t=this._self._c||e;return t("thead",[t("tr",[t("th",{staticClass:"channel"},[this._v("Channel")]),t("th",{staticClass:"users"},[this._v("Users")]),t("th",{staticClass:"topic"},[this._v("Topic")])])])}],!1,null,null,null).exports,ze={name:"ListIgnored",props:{network:Object,channel:Object},methods:{localetime:e=>Object(b.a)(e)}},qe=Object(l.a)(ze,(function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("table",{staticClass:"ignore-list"},[e._m(0),a("tbody",e._l(e.channel.data,(function(t){return a("tr",{key:t.hostmask},[a("td",{staticClass:"hostmask"},[e._v(e._s(t.hostmask))]),a("td",{staticClass:"when"},[e._v(e._s(e.localetime(t.when)))])])})),0)])}),[function(){var e=this.$createElement,t=this._self._c||e;return t("thead",[t("tr",[t("th",{staticClass:"hostmask"},[this._v("Hostmask")]),t("th",{staticClass:"when"},[this._v("Ignored At")])])])}],!1,null,null,null).exports,Re={name:"Chat",components:{ParsedMessage:I.a,MessageList:ae,ChatInput:Oe,ChatUserList:Te,SidebarToggle:p},props:{network:Object,channel:Object},computed:{specialComponent(){switch(this.channel.special){case"list_bans":return Ie;case"list_invites":return Ue;case"list_channels":return De;case"list_ignored":return qe}}},watch:{channel(){this.channelChanged()},"channel.editTopic"(e){e&&this.$nextTick(()=>{this.$refs.topicInput.focus()})}},mounted(){this.channelChanged(),this.channel.editTopic&&this.$nextTick(()=>{this.$refs.topicInput.focus()})},methods:{channelChanged(){this.channel.highlight=0,this.channel.unread=0,o.a.emit("open",this.channel.id),this.channel.usersOutdated&&(this.channel.usersOutdated=!1,o.a.emit("names",{target:this.channel.id}))},hideUserVisibleError(){this.$store.commit("currentUserVisibleError",null)},editTopic(){"channel"===this.channel.type&&(this.channel.editTopic=!0)},saveTopic(){this.channel.editTopic=!1;const e=this.$refs.topicInput.value;if(this.channel.topic!==e){const t=this.channel.id,a="/raw TOPIC ".concat(this.channel.name," :").concat(e);o.a.emit("input",{target:t,text:a})}},openContextMenu(e){A.a.emit("contextmenu:channel",{event:e,channel:this.channel,network:this.network})},openMentions(){A.a.emit("mentions:toggle",{event:event})}}},Be={name:"RoutedChat",components:{Chat:Object(l.a)(Re,(function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("div",{staticClass:"window",attrs:{id:"chat-container","data-current-channel":e.channel.name,lang:""}},[a("div",{class:{"hide-motd":!e.$store.state.settings.motd,"colored-nicks":e.$store.state.settings.coloredNicks,"time-seconds":e.$store.state.settings.showSeconds,"time-12h":e.$store.state.settings.use12hClock},attrs:{id:"chat"}},[a("div",{staticClass:"chat-view",attrs:{id:"chan-"+e.channel.id,"data-type":e.channel.type,"aria-label":e.channel.name,role:"tabpanel"}},[a("div",{staticClass:"header"},[a("SidebarToggle"),a("span",{staticClass:"title"},[e._v(e._s(e.channel.name))]),a("button",{staticClass:"mentions",attrs:{"aria-label":"Open your mentions"},on:{click:e.openMentions}}),a("button",{staticClass:"menu",attrs:{"aria-label":"Open the context menu"},on:{click:e.openContextMenu}}),"channel"===e.channel.type?a("span",{staticClass:"rt-tooltip tooltipped tooltipped-w",attrs:{"aria-label":"Toggle user list"}},[a("button",{staticClass:"rt",attrs:{"aria-label":"Toggle user list"},on:{click:function(t){return e.$store.commit("toggleUserlist")}}})]):e._e()],1),"special"===e.channel.type?a("div",{staticClass:"chat-content"},[a("div",{staticClass:"chat"},[a("div",{staticClass:"messages"},[a("div",{staticClass:"msg"},[a(e.specialComponent,{tag:"component",attrs:{network:e.network,channel:e.channel}})],1)])])]):a("div",{staticClass:"chat-content"},[a("div",{class:["scroll-down tooltipped tooltipped-w tooltipped-no-touch",{"scroll-down-shown":!e.channel.scrolledToBottom}],attrs:{"aria-label":"Jump to recent messages"},on:{click:function(t){return e.$refs.messageList.jumpToBottom()}}},[a("div",{staticClass:"scroll-down-arrow"})]),a("MessageList",{ref:"messageList",attrs:{network:e.network,channel:e.channel}}),"channel"===e.channel.type?a("ChatUserList",{attrs:{channel:e.channel}}):e._e()],1)])]),this.$store.state.currentUserVisibleError?a("div",{attrs:{id:"user-visible-error"},on:{click:e.hideUserVisibleError}},[e._v("\n\t\t"+e._s(this.$store.state.currentUserVisibleError)+"\n\t")]):e._e(),a("ChatInput",{attrs:{network:e.network,channel:e.channel}})],1)}),[],!1,null,null,null).exports},computed:{activeChannel(){const e=parseInt(this.$route.params.id,10);return this.$store.getters.findChannel(e)}},watch:{activeChannel(){this.setActiveChannel()}},mounted(){this.setActiveChannel()},methods:{setActiveChannel(){this.$store.commit("activeChannel",this.activeChannel)}}},He=Object(l.a)(Be,(function(){var e=this.$createElement,t=this._self._c||e;return this.activeChannel?t("Chat",{attrs:{network:this.activeChannel.network,channel:this.activeChannel.channel}}):this._e()}),[],!1,null,null,null).exports;const Fe=a(14);s.a.use(n.a);const Ve=new n.a({routes:[{name:"SignIn",path:"/sign-in",component:u,beforeEnter(e,t,a){he.a.state.appLoaded?a(!1):a()}},{name:"Connect",path:"/connect",component:_,props:e=>({queryParams:e.query})},{name:"Settings",path:"/settings",component:S},{name:"Help",path:"/help",component:P},{name:"Changelog",path:"/changelog",component:E},{name:"NetworkEdit",path:"/edit-network/:uuid",component:T},{name:"RoutedChat",path:"/chan-:id",component:He}]});function We(e,t={}){Ve.currentRoute.name?Ve.push({name:e,params:t}).catch(()=>{}):Ve.replace({name:e,params:t}).catch(()=>{})}function Je(e){return We("RoutedChat",{id:e.id})}Ve.beforeEach((e,t,a)=>{he.a.state.appLoaded||"SignIn"===e.name?a():he.a.watch(e=>e.appLoaded,()=>a())}),Ve.beforeEach((e,t,a)=>{if(!e.matched.length)return void a(!1);if("RoutedChat"===e.name&&!he.a.getters.findChannel(Number(e.params.id)))return void a(!1);if("NetworkEdit"===e.name&&!he.a.getters.findNetwork(e.params.uuid))return void a(!1);if(!Ve.app.$refs.app)return void a();const s=Ve.app.$root.$refs.app.$refs.imageViewer;if(s&&s.link)return s.closeViewer(),void a(!1);a()}),Ve.afterEach(e=>{if(he.a.state.appLoaded&&window.innerWidth<=Fe.mobileViewportPixels&&he.a.commit("sidebarOpen",!1),he.a.state.activeChannel){const t=he.a.state.activeChannel.channel;"RoutedChat"!==e.name&&he.a.commit("activeChannel",null),t.messages.length>0&&(t.firstUnread=t.messages[t.messages.length-1].id),t.messages.length>100&&(t.messages.splice(0,t.messages.length-100),t.moreHistoryAvailable=!0)}}),"serviceWorker"in navigator&&navigator.serviceWorker.addEventListener("message",e=>{if(e.data&&"open"===e.data.type){const t=parseInt(e.data.channel.substr(5),10),a=he.a.getters.findChannel(t);a&&Je(a.channel)}})},function(e,t,a){"use strict";t.a={set(e,t){try{window.localStorage.setItem(e,t)}catch(e){}},get(e){try{return window.localStorage.getItem(e)}catch(e){return null}},remove(e){try{window.localStorage.removeItem(e)}catch(e){}},clear(){try{window.localStorage.clear()}catch(e){}}}},,function(e,t,a){"use strict";var s=a(12),n=a.n(s);t.a=e=>n()(e).format("D MMMM YYYY, HH:mm:ss")},,,,function(e,t,a){"use strict";e.exports=function(){return function(){}}},function(e,t,a){"use strict";const s=new Set(["chghost","join","part","quit","nick","kick","mode"]);e.exports={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:[],condensedTypes:s,timeFormats:{msgDefault:"HH:mm",msgWithSeconds:"HH:mm:ss",msg12h:"hh:mm A",msg12hWithSeconds:"hh:mm:ss A"},mobileViewportPixels:768}},,,,,function(e,t,a){"use strict";var s=a(20),n=a(1),i=a(0);const o=new class{init(){this.xhr=null,this.fileQueue=[],this.tokenKeepAlive=null,document.addEventListener("dragenter",e=>this.dragEnter(e)),document.addEventListener("dragover",e=>this.dragOver(e)),document.addEventListener("dragleave",e=>this.dragLeave(e)),document.addEventListener("drop",e=>this.drop(e)),document.addEventListener("paste",e=>this.paste(e)),n.a.on("upload:auth",e=>this.uploadNextFileInQueue(e))}mounted(){this.overlay=document.getElementById("upload-overlay"),this.uploadProgressbar=document.getElementById("upload-progressbar")}dragOver(e){e.preventDefault()}dragEnter(e){e.preventDefault(),!e.relatedTarget&&e.dataTransfer.types.includes("Files")&&this.overlay.classList.add("is-dragover")}dragLeave(e){e.preventDefault(),e.relatedTarget||this.overlay.classList.remove("is-dragover")}drop(e){let t;e.preventDefault(),this.overlay.classList.remove("is-dragover"),t=e.dataTransfer.items?Array.from(e.dataTransfer.items).filter(e=>"file"===e.kind).map(e=>e.getAsFile()):Array.from(e.dataTransfer.files),this.triggerUpload(t)}paste(e){const t=e.clipboardData.items,a=[];for(const e of t)"file"===e.kind&&a.push(e.getAsFile());0!==a.length&&(e.preventDefault(),this.triggerUpload(a))}triggerUpload(e){if(!e.length)return;if(!i.a.state.isConnected)return void this.handleResponse({error:"You are currently disconnected, unable to initiate upload process."});const t=0===this.fileQueue.length,a=i.a.state.serverConfiguration.fileUploadMaxFileSize;for(const t of e)a>0&&t.size>a?this.handleResponse({error:"File ".concat(t.name," is over the maximum allowed size")}):this.fileQueue.push(t);t&&null===this.xhr&&this.fileQueue.length>0&&this.requestToken()}requestToken(){n.a.emit("upload:auth")}setProgress(e){this.uploadProgressbar.classList.toggle("upload-progressbar-visible",e>0),this.uploadProgressbar.style.width=e+"%"}uploadNextFileInQueue(e){const t=this.fileQueue.shift();this.tokenKeepAlive=setInterval(()=>n.a.emit("upload:ping",e),4e4),i.a.state.settings.uploadCanvas&&t.type.startsWith("image/")&&!t.type.includes("svg")?this.renderImage(t,t=>this.performUpload(e,t)):this.performUpload(e,t)}renderImage(e,t){const a=new FileReader;a.onabort=()=>t(e),a.onerror=()=>a.abort(),a.onload=()=>{const s=new Image;s.onerror=()=>t(e),s.onload=()=>{const a=document.createElement("canvas");a.width=s.width,a.height=s.height;a.getContext("2d").drawImage(s,0,0),a.toBlob(a=>{t(new File([a],e.name))},e.type)},s.src=a.result},a.readAsDataURL(e)}performUpload(e,t){this.xhr=new XMLHttpRequest,this.xhr.upload.addEventListener("progress",e=>{const t=Math.floor(e.loaded/e.total*1e3)/10;this.setProgress(t)},!1),this.xhr.onreadystatechange=()=>{if(this.xhr.readyState===XMLHttpRequest.DONE){let e;try{e=JSON.parse(this.xhr.responseText)}catch(t){e={error:"Upload aborted: HTTP ".concat(this.xhr.status)}}this.handleResponse(e),this.xhr=null,this.fileQueue.length>0&&this.requestToken()}};const a=new FormData;a.append("file",t),this.xhr.open("POST","uploads/new/".concat(e)),this.xhr.send(a)}handleResponse(e){this.setProgress(0),this.tokenKeepAlive&&(clearInterval(this.tokenKeepAlive),this.tokenKeepAlive=null),e.error?i.a.commit("currentUserVisibleError",e.error):e.url&&this.insertUploadUrl(e.url)}insertUploadUrl(e){const t=new URL(e,location).toString(),a=document.getElementById("input"),n=a.selectionStart,i=n>0?a.value.substr(0,n)+" ":"",o=a.value.substr(n),r=i+t+" ";Object(s.a)(a,r+o),a.selectionStart=a.selectionEnd=r.length}abort(){this.fileQueue=[],this.xhr&&(this.xhr.abort(),this.xhr=null)}};t.a={abort:()=>o.abort(),initialize:()=>o.init(),mounted:()=>o.mounted(),triggerUpload:e=>o.triggerUpload(e)}},,,,,,function(e,t,a){},function(e,t,a){},function(e,t,a){},function(e,t,a){},function(e,t,a){},function(e,t,a){},function(e,t,a){"use strict";const s=["Bytes","KiB","MiB","GiB","TiB","PiB"];t.a=e=>{const t=e>0?Math.floor(Math.log(e)/Math.log(1024)):0,a=parseFloat((e/Math.pow(1024,t)).toFixed(1));return"".concat(a," ").concat(s[t])}},function(e,t,a){"use strict";a.d(t,"a",(function(){return i}));var s=a(7),n=a(33);class i{static signout(){s.a.clear(),n.a.reload()}}},function(e,t,a){"use strict";t.a={reload(){window.location.reload()}}},function(e,t,a){"use strict";a.r(t);const s=a(134);t.default=s.keys().reduce((e,t)=>{const a=t.substring(2,t.length-3);return"index"===a||(e[a]=s(t).default),e},{})},function(e){e.exports=JSON.parse('{"100":"💯","1234":"🔢","grinning":"😀","smiley":"😃","smile":"😄","grin":"😁","laughing":"😆","satisfied":"😆","sweat_smile":"😅","rofl":"🤣","joy":"😂","slightly_smiling_face":"🙂","upside_down_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":"🤭","shushing_face":"🤫","thinking":"🤔","zipper_mouth_face":"🤐","raised_eyebrow":"🤨","neutral_face":"😐","expressionless":"😑","no_mouth":"😶","smirk":"😏","unamused":"😒","roll_eyes":"🙄","grimacing":"😬","lying_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":"😵","exploding_head":"🤯","cowboy_hat_face":"🤠","partying_face":"🥳","disguised_face":"🥸","sunglasses":"😎","nerd_face":"🤓","monocle_face":"🧐","confused":"😕","worried":"😟","slightly_frowning_face":"🙁","frowning_face":"☹️","open_mouth":"😮","hushed":"😯","astonished":"😲","flushed":"😳","pleading_face":"🥺","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":"🙊","kiss":"💋","love_letter":"💌","cupid":"💘","gift_heart":"💝","sparkling_heart":"💖","heartpulse":"💗","heartbeat":"💓","revolving_hearts":"💞","two_hearts":"💕","heart_decoration":"💟","heavy_heart_exclamation":"❣️","broken_heart":"💔","heart":"❤️","orange_heart":"🧡","yellow_heart":"💛","green_heart":"💚","blue_heart":"💙","purple_heart":"💜","brown_heart":"🤎","black_heart":"🖤","white_heart":"🤍","anger":"💢","boom":"💥","collision":"💥","dizzy":"💫","sweat_drops":"💦","dash":"💨","hole":"🕳️","bomb":"💣","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":"🖖","ok_hand":"👌","pinched_fingers":"🤌","pinching_hand":"🤏","v":"✌️","crossed_fingers":"🤞","love_you_gesture":"🤟","metal":"🤘","call_me_hand":"🤙","point_left":"👈","point_right":"👉","point_up_2":"👆","middle_finger":"🖕","fu":"🖕","point_down":"👇","point_up":"☝️","+1":"👍","thumbsup":"👍","-1":"👎","thumbsdown":"👎","fist_raised":"✊","fist":"✊","fist_oncoming":"👊","facepunch":"👊","punch":"👊","fist_left":"🤛","fist_right":"🤜","clap":"👏","raised_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":"👄","baby":"👶","child":"🧒","boy":"👦","girl":"👧","adult":"🧑","blond_haired_person":"👱","man":"👨","bearded_person":"🧔","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":"👷‍♀️","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":"🤰","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":"🧟‍♀️","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":"🐴","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":"🦜","frog":"🐸","crocodile":"🐊","turtle":"🐢","lizard":"🦎","snake":"🐍","dragon_face":"🐲","dragon":"🐉","sauropod":"🦕","t_rex":"🦖","whale":"🐳","whale2":"🐋","dolphin":"🐬","flipper":"🐬","seal":"🦭","fish":"🐟","tropical_fish":"🐠","blowfish":"🐡","shark":"🦈","octopus":"🐙","shell":"🐚","snail":"🐌","butterfly":"🦋","bug":"🐛","ant":"🐜","bee":"🐝","honeybee":"🐝","beetle":"🪲","lady_beetle":"🐞","cricket":"🦗","cockroach":"🪳","spider":"🕷️","spider_web":"🕸️","scorpion":"🦂","mosquito":"🦟","fly":"🪰","worm":"🪱","microbe":"🦠","bouquet":"💐","cherry_blossom":"🌸","white_flower":"💮","rosette":"🏵️","rose":"🌹","wilted_flower":"🥀","hibiscus":"🌺","sunflower":"🌻","blossom":"🌼","tulip":"🌷","seedling":"🌱","potted_plant":"🪴","evergreen_tree":"🌲","deciduous_tree":"🌳","palm_tree":"🌴","cactus":"🌵","ear_of_rice":"🌾","herb":"🌿","shamrock":"☘️","four_leaf_clover":"🍀","maple_leaf":"🍁","fallen_leaf":"🍂","leaves":"🍃","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":"🧅","mushroom":"🍄","peanuts":"🥜","chestnut":"🌰","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":"🥃","cup_with_straw":"🥤","bubble_tea":"🧋","beverage_box":"🧃","mate":"🧉","ice_cube":"🧊","chopsticks":"🥢","plate_with_cutlery":"🍽️","fork_and_knife":"🍴","spoon":"🥄","hocho":"🔪","knife":"🔪","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":"🎠","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":"⛽","rotating_light":"🚨","traffic_light":"🚥","vertical_traffic_light":"🚦","stop_sign":"🛑","construction":"🚧","anchor":"⚓","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":"🪁","8ball":"🎱","crystal_ball":"🔮","magic_wand":"🪄","nazar_amulet":"🧿","video_game":"🎮","joystick":"🕹️","slot_machine":"🎰","game_die":"🎲","jigsaw":"🧩","teddy_bear":"🧸","pinata":"🪅","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":"👚","purse":"👛","handbag":"👜","pouch":"👝","shopping":"🛍️","school_satchel":"🎒","thong_sandal":"🩴","mans_shoe":"👞","shoe":"👞","athletic_shoe":"👟","hiking_boot":"🥾","flat_shoe":"🥿","high_heel":"👠","sandal":"👡","ballet_shoes":"🩰","boot":"👢","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":"🪘","iphone":"📱","calling":"📲","phone":"☎️","telephone":"☎️","telephone_receiver":"📞","pager":"📟","fax":"📠","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":"💹","email":"✉️","envelope":"✉️","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":"⚔️","gun":"🔫","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":"🩹","stethoscope":"🩺","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":"🧼","toothbrush":"🪥","sponge":"🧽","fire_extinguisher":"🧯","shopping_cart":"🛒","smoking":"🚬","coffin":"⚰️","headstone":"🪦","funeral_urn":"⚱️","moyai":"🗿","placard":"🪧","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":"🔯","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":"📶","vibration_mode":"📳","mobile_phone_off":"📴","female_sign":"♀️","male_sign":"♂️","transgender_symbol":"⚧️","heavy_multiplication_x":"✖️","heavy_plus_sign":"","heavy_minus_sign":"","heavy_division_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":"🏴󠁧󠁢󠁷󠁬󠁳󠁿"}')},,,,,,,,,function(e,t,a){"use strict";var s=a(1),n=a(0);t.a={togglePushSubscription:function(){n.a.commit("pushNotificationState","loading"),navigator.serviceWorker.ready.then(e=>e.pushManager.getSubscription().then(t=>t?(s.a.emit("push:unregister"),t.unsubscribe().then(e=>{n.a.commit("pushNotificationState",e?"supported":"unsupported")})):e.pushManager.subscribe({applicationServerKey:n.a.state.serverConfiguration.applicationServerKey,userVisibleOnly:!0}).then(e=>{s.a.emit("push:register",e.toJSON()),n.a.commit("pushNotificationState","subscribed"),n.a.commit("refreshDesktopNotificationState")}))).catch(e=>{n.a.commit("pushNotificationState","unsupported"),n.a.commit("refreshDesktopNotificationState"),console.error(e)})}},s.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(t=>{if(n.a.commit("hasServiceWorker"),t.pushManager)return t.pushManager.getSubscription().then(t=>{t&&!1===e?t.unsubscribe().then(e=>{n.a.commit("pushNotificationState",e?"supported":"unsupported")}):n.a.commit("pushNotificationState",t?"subscribed":"supported")})}).catch(e=>{n.a.commit("pushNotificationState","unsupported"),console.error(e)}):n.a.commit("pushNotificationState","nohttps")}))},,,function(e){e.exports=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","😉":"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","🤗":"hugging face","🤭":"face with hand over mouth","🤫":"shushing face","🤔":"thinking face","🤐":"zipper-mouth face","🤨":"face with raised eyebrow","😐":"neutral face","😑":"expressionless face","😶":"face without mouth","😏":"smirking face","😒":"unamused face","🙄":"face with rolling eyes","😬":"grimacing face","🤥":"lying 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","😵":"dizzy face","🤯":"exploding head","🤠":"cowboy hat face","🥳":"partying face","🥸":"disguised face","😎":"smiling face with sunglasses","🤓":"nerd face","🧐":"face with monocle","😕":"confused face","😟":"worried face","🙁":"slightly frowning face","☹":"frowning face","😮":"face with open mouth","😯":"hushed face","😲":"astonished face","😳":"flushed face","🥺":"pleading face","😦":"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","😡":"pouting 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","💋":"kiss mark","💌":"love letter","💘":"heart with arrow","💝":"heart with ribbon","💖":"sparkling heart","💗":"growing heart","💓":"beating heart","💞":"revolving hearts","💕":"two hearts","💟":"heart decoration","❣":"heart exclamation","💔":"broken heart","❤":"red heart","🧡":"orange heart","💛":"yellow heart","💚":"green heart","💙":"blue heart","💜":"purple heart","🤎":"brown heart","🖤":"black heart","🤍":"white heart","💯":"hundred points","💢":"anger symbol","💥":"collision","💫":"dizzy","💦":"sweat droplets","💨":"dashing away","🕳":"hole","💣":"bomb","💬":"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","👌":"OK hand","🤌":"pinched fingers","🤏":"pinching hand","✌":"victory hand","🤞":"crossed fingers","🤟":"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","👍":"thumbs up","👎":"thumbs down","✊":"raised fist","👊":"oncoming fist","🤛":"left-facing fist","🤜":"right-facing fist","👏":"clapping hands","🙌":"raising 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","👶":"baby","🧒":"child","👦":"boy","👧":"girl","🧑":"person","👱":"person: blond hair","👨":"man","🧔":"man: 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","🤴":"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","🤱":"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","💆":"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","🐎":"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","🐸":"frog","🐊":"crocodile","🐢":"turtle","🦎":"lizard","🐍":"snake","🐲":"dragon face","🐉":"dragon","🦕":"sauropod","🦖":"T-Rex","🐳":"spouting whale","🐋":"whale","🐬":"dolphin","🦭":"seal","🐟":"fish","🐠":"tropical fish","🐡":"blowfish","🦈":"shark","🐙":"octopus","🐚":"spiral shell","🐌":"snail","🦋":"butterfly","🐛":"bug","🐜":"ant","🐝":"honeybee","🪲":"beetle","🐞":"lady beetle","🦗":"cricket","🪳":"cockroach","🕷":"spider","🕸":"spider web","🦂":"scorpion","🦟":"mosquito","🪰":"fly","🪱":"worm","🦠":"microbe","💐":"bouquet","🌸":"cherry blossom","💮":"white flower","🏵":"rosette","🌹":"rose","🥀":"wilted flower","🌺":"hibiscus","🌻":"sunflower","🌼":"blossom","🌷":"tulip","🌱":"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","🍇":"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","🍄":"mushroom","🥜":"peanuts","🌰":"chestnut","🍞":"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","🥤":"cup with straw","🧋":"bubble tea","🧃":"beverage box","🧉":"mate","🧊":"ice","🥢":"chopsticks","🍽":"fork and knife with plate","🍴":"fork and knife","🥄":"spoon","🔪":"kitchen knife","🏺":"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","🎡":"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","🚨":"police car light","🚥":"horizontal traffic light","🚦":"vertical traffic light","🛑":"stop sign","🚧":"construction","⚓":"anchor","⛵":"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 oclock","🕧":"twelve-thirty","🕐":"one oclock","🕜":"one-thirty","🕑":"two oclock","🕝":"two-thirty","🕒":"three oclock","🕞":"three-thirty","🕓":"four oclock","🕟":"four-thirty","🕔":"five oclock","🕠":"five-thirty","🕕":"six oclock","🕡":"six-thirty","🕖":"seven oclock","🕢":"seven-thirty","🕗":"eight oclock","🕣":"eight-thirty","🕘":"nine oclock","🕤":"nine-thirty","🕙":"ten oclock","🕥":"ten-thirty","🕚":"eleven oclock","🕦":"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","🎯":"direct hit","🪀":"yo-yo","🪁":"kite","🎱":"pool 8 ball","🔮":"crystal ball","🪄":"magic wand","🧿":"nazar amulet","🎮":"video game","🕹":"joystick","🎰":"slot machine","🎲":"game die","🧩":"puzzle piece","🧸":"teddy bear","🪅":"piñata","🪆":"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","👚":"womans clothes","👛":"purse","👜":"handbag","👝":"clutch bag","🛍":"shopping bags","🎒":"backpack","🩴":"thong sandal","👞":"mans shoe","👟":"running shoe","🥾":"hiking boot","🥿":"flat shoe","👠":"high-heeled shoe","👡":"womans sandal","🩰":"ballet shoes","👢":"womans boot","👑":"crown","👒":"womans hat","🎩":"top hat","🎓":"graduation cap","🧢":"billed cap","🪖":"military helmet","⛑":"rescue workers 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","📱":"mobile phone","📲":"mobile phone with arrow","☎":"telephone","📞":"telephone receiver","📟":"pager","📠":"fax machine","🔋":"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","🔫":"pistol","🪃":"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","🩺":"stethoscope","🚪":"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","🪥":"toothbrush","🧽":"sponge","🧯":"fire extinguisher","🛒":"shopping cart","🚬":"cigarette","⚰":"coffin","🪦":"headstone","⚱":"funeral urn","🗿":"moai","🪧":"placard","🏧":"ATM sign","🚮":"litter in bin sign","🚰":"potable water","♿":"wheelchair symbol","🚹":"mens room","🚺":"womens 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","♈":"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","📳":"vibration mode","📴":"mobile phone off","♀":"female sign","♂":"male sign","⚧":"transgender symbol","✖":"multiply","":"plus","":"minus","➗":"divide","♾":"infinity","‼":"double exclamation mark","⁉":"exclamation question mark","❓":"question mark","❔":"white question mark","❕":"white exclamation mark","❗":"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 dIvoire","🇨🇰":"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"}')},,,,,,,,,,,,,,,,,,,,,function(e,t,a){"use strict";const s=a(113);s.prototype.normalize=function(e){e.schema||(e.schema="http:",e.url="http://"+e.url,e.noschema=!0),"//"===e.schema&&(e.schema="http:",e.url="http:"+e.url,e.noschema=!0),"mailto:"!==e.schema||/^mailto:/i.test(e.url)||(e.url="mailto:"+e.url)};const n=s().tlds(a(119)).tlds("onion",!0),i=["sftp","smb","file","irc","ircs","svn","git","steam","mumble","ts3server","svn+ssh","ssh"];for(const e of i)n.add(e+":","http:");function o(e){return{start:e.index,end:e.lastIndex,link:e.url}}e.exports={findLinks:function(e){const t=n.match(e);return t?t.map(o):[]},findLinksWithSchema:function(e){const t=n.match(e);return t?t.filter(e=>!e.noschema).map(o):[]}}},,,function(e,t,a){"use strict";const s=/\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;e.exports=e=>e.replace(s,"").trim()},function(e,t,a){e.exports=a(138)},function(e,t,a){},,,,,,,,,,,,,,,,,,,function(e,t){},,,,,,,,,,,,,,,function(e,t,a){"use strict";var s=a(25);a.n(s).a},function(e,t,a){"use strict";var s=a(26);a.n(s).a},,,,,,,,,,,,,function(e,t,a){"use strict";var s=a(27);a.n(s).a},function(e,t,a){"use strict";var s=a(28);a.n(s).a},function(e,t,a){"use strict";var s=a(29);a.n(s).a},function(e,t,a){"use strict";var s=a(30);a.n(s).a},function(e,t,a){var s={"./away.vue":157,"./back.vue":139,"./chghost.vue":145,"./ctcp.vue":144,"./ctcp_request.vue":143,"./error.vue":142,"./invite.vue":149,"./join.vue":148,"./kick.vue":140,"./mode.vue":155,"./mode_channel.vue":141,"./monospace_block.vue":154,"./nick.vue":152,"./part.vue":151,"./quit.vue":150,"./raw.vue":153,"./topic.vue":146,"./topic_set_by.vue":147,"./whois.vue":156};function n(e){var t=i(e);return a(t)}function i(e){if(!a.o(s,e)){var t=new Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t}return s[e]}n.keys=function(){return Object.keys(s)},n.resolve=i,e.exports=n,n.id=125},,,,,,,,,function(e,t,a){var s={"./collapse.js":135,"./expand.js":136,"./index.js":34,"./join.js":137};function n(e){var t=i(e);return a(t)}function i(e){if(!a.o(s,e)){var t=new Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t}return s[e]}n.keys=function(){return Object.keys(s)},n.resolve=i,e.exports=n,n.id=134},function(e,t,a){"use strict";a.r(t);var s=a(1),n=a(0);t.default={input:function(){const e=[];for(const t of n.a.state.activeChannel.channel.messages){let a=!1;for(const e of t.previews)e.shown&&(e.shown=!1,a=!0);a&&e.push(t.id)}return e.length>0&&s.a.emit("msg:preview:toggle",{target:n.a.state.activeChannel.channel.id,messageIds:e,shown:!1}),!0}}},function(e,t,a){"use strict";a.r(t);var s=a(1),n=a(0);t.default={input:function(){const e=[];for(const t of n.a.state.activeChannel.channel.messages){let a=!1;for(const e of t.previews)e.shown||(e.shown=!0,a=!0);a&&e.push(t.id)}return e.length>0&&s.a.emit("msg:preview:toggle",{target:n.a.state.activeChannel.channel.id,messageIds:e,shown:!0}),!0}}},function(e,t,a){"use strict";a.r(t);var s=a(1),n=a(0),i=a(6);t.default={input:function(e){if(e.length>0){let t=e[0];if(t.length>0){const a=n.a.state.activeChannel.network.serverOptions.CHANTYPES,o=e[0].split(",");if(a&&a.length>0)for(let e=0;e<o.length;e++)a.includes(o[e][0])||(o[e]=a[0]+o[e]);t=o.join(",");const r=n.a.getters.findChannelOnCurrentNetwork(t);if(!r)return s.a.emit("input",{text:"/join ".concat(t," ").concat(e.length>1?e[1]:""),target:n.a.state.activeChannel.channel.id}),!0;Object(i.c)(r)}}else if("channel"===n.a.state.activeChannel.channel.type)return s.a.emit("input",{target:n.a.state.activeChannel.channel.id,text:"/join ".concat(n.a.state.activeChannel.channel.name)}),!0}}},function(e,t,a){"use strict";a.r(t);a(73);var s=a(10),n=a(0),i=a(3),o=a(8),r=a.n(o),l=a(66),c=a.n(l),h=a(7),u=e=>("TEXTAREA"===e.target.tagName||"INPUT"===e.target.tagName)&&!!e.target.value,d=a(67),p=a.n(d),m=a(11),g=(e,t)=>{const a=new Set(JSON.parse(h.a.get("thelounge.networks.collapsed")));e.isCollapsed=t,t?a.add(e.uuid):a.delete(e.uuid),h.a.set("thelounge.networks.collapsed",JSON.stringify([...a]))},f=e=>e<1e3?e.toString():(e/1e3).toFixed(2).slice(0,-1)+"k",_=(e,t)=>!(!e.isCollapsed||t.highlight||"lobby"===t.type)&&(!n.a.state.activeChannel||t!==n.a.state.activeChannel.channel),v={name:"ChannelWrapper",props:{network:Object,channel:Object,active:Boolean,isFiltering:Boolean},computed:{activeChannel(){return this.$store.state.activeChannel},isChannelVisible(){return this.isFiltering||!_(this.network,this.channel)}},methods:{getAriaLabel(){const e=[];return this.channel.unread>0&&e.push("".concat(this.channel.unread," unread")),this.channel.highlight>0&&e.push("".concat(this.channel.highlight," mention")),e.length>0?"".concat(this.channel.name," (").concat(e.join(", "),")"):this.channel.name},click(){this.isFiltering||this.$root.switchToChannel(this.channel)},openContextMenu(e){i.a.emit("contextmenu:channel",{event:e,channel:this.channel,network:this.network})}}},b=a(2),w=Object(b.a)(v,(function(){var e=this,t=e.$createElement,a=e._self._c||t;return e.isChannelVisible?a("div",{ref:"element",class:["channel-list-item",{active:e.active},{"parted-channel":"channel"===e.channel.type&&0===e.channel.state},{"has-draft":e.channel.pendingMessage},{"not-secure":"lobby"===e.channel.type&&e.network.status.connected&&!e.network.status.secure},{"not-connected":"lobby"===e.channel.type&&!e.network.status.connected}],style:e.channel.closed?{transition:"none",opacity:.4}:null,attrs:{"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,role:"tab"},on:{click:e.click,contextmenu:function(t){return t.preventDefault(),e.openContextMenu(t)}}},[e._t("default",null,{network:e.network,channel:e.channel,activeChannel:e.activeChannel})],2):e._e()}),[],!1,null,null,null).exports,k={name:"Channel",components:{ChannelWrapper:w},props:{network:Object,isJoinChannelShown:Boolean,active:Boolean,isFiltering:Boolean},computed:{channel(){return this.network.channels[0]},joinChannelLabel(){return this.isJoinChannelShown?"Cancel":"Join a channel…"},unreadCount(){return f(this.channel.unread)}},methods:{onCollapseClick(){g(this.network,!this.network.isCollapsed)},getExpandLabel:e=>e.isCollapsed?"Expand":"Collapse"}},y=Object(b.a)(k,(function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("ChannelWrapper",e._b({attrs:{channel:e.channel}},"ChannelWrapper",e.$props,!1),[e.network.channels.length>1?a("button",{staticClass:"collapse-network",attrs:{"aria-controls":"network-"+e.network.uuid,"aria-label":e.getExpandLabel(e.network),"aria-expanded":!e.network.isCollapsed},on:{click:function(t){return t.stopPropagation(),e.onCollapseClick(t)}}},[a("span",{staticClass:"collapse-network-icon"})]):a("span",{staticClass:"collapse-network"}),a("div",{staticClass:"lobby-wrap"},[a("span",{staticClass:"name",attrs:{title:e.channel.name}},[e._v(e._s(e.channel.name))]),e.network.status.connected&&!e.network.status.secure?a("span",{staticClass:"not-secure-tooltip tooltipped tooltipped-w",attrs:{"aria-label":"Insecure connection"}},[a("span",{staticClass:"not-secure-icon"})]):e._e(),e.network.status.connected?e._e():a("span",{staticClass:"not-connected-tooltip tooltipped tooltipped-w",attrs:{"aria-label":"Disconnected"}},[a("span",{staticClass:"not-connected-icon"})]),e.channel.unread?a("span",{staticClass:"badge",class:{highlight:e.channel.highlight}},[e._v(e._s(e.unreadCount))]):e._e()]),a("span",{staticClass:"add-channel-tooltip tooltipped tooltipped-w tooltipped-no-touch",attrs:{"aria-label":e.joinChannelLabel}},[a("button",{class:["add-channel",{opened:e.isJoinChannelShown}],attrs:{"aria-controls":"join-channel-"+e.channel.id,"aria-label":e.joinChannelLabel},on:{click:function(t){return t.stopPropagation(),e.$emit("toggle-join-channel")}}})])])}),[],!1,null,null,null).exports,C={name:"Channel",components:{ChannelWrapper:w},props:{network:Object,channel:Object,active:Boolean,isFiltering:Boolean},computed:{unreadCount(){return f(this.channel.unread)}},methods:{close(){this.$root.closeChannel(this.channel)}}},x=Object(b.a)(C,(function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("ChannelWrapper",e._b({ref:"wrapper"},"ChannelWrapper",e.$props,!1),[a("span",{staticClass:"name"},[e._v(e._s(e.channel.name))]),e.channel.unread?a("span",{staticClass:"badge",class:{highlight:e.channel.highlight}},[e._v(e._s(e.unreadCount))]):e._e(),"channel"===e.channel.type?[0===e.channel.state?a("span",{staticClass:"parted-channel-tooltip tooltipped tooltipped-w",attrs:{"aria-label":"Not currently joined"}},[a("span",{staticClass:"parted-channel-icon"})]):e._e(),a("span",{staticClass:"close-tooltip tooltipped tooltipped-w",attrs:{"aria-label":"Leave"}},[a("button",{staticClass:"close",attrs:{"aria-label":"Leave"},on:{click:function(t){return t.stopPropagation(),e.close(t)}}})])]:[a("span",{staticClass:"close-tooltip tooltipped tooltipped-w",attrs:{"aria-label":"Close"}},[a("button",{staticClass:"close",attrs:{"aria-label":"Close"},on:{click:function(t){return t.stopPropagation(),e.close(t)}}})])]],2)}),[],!1,null,null,null).exports,S=a(1),$={name:"JoinChannel",directives:{focus:{inserted(e){e.focus()}}},props:{network:Object,channel:Object},data:()=>({inputChannel:"",inputPassword:""}),methods:{onSubmit(){const e=this.$store.getters.findChannelOnCurrentNetwork(this.inputChannel);if(e)this.$root.switchToChannel(e);else{const e=this.network.serverOptions.CHANTYPES;let t=this.inputChannel;e&&e.length>0&&!e.includes(t[0])&&(t=e[0]+t),S.a.emit("input",{text:"/join ".concat(t," ").concat(this.inputPassword),target:this.channel.id})}this.inputChannel="",this.inputPassword="",this.$emit("toggle-join-channel")}}},j={name:"NetworkList",components:{JoinChannel:Object(b.a)($,(function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("form",{staticClass:"join-form",attrs:{id:"join-channel-"+e.channel.id,method:"post",action:"",autocomplete:"off"},on:{keydown:function(t){return!t.type.indexOf("key")&&e._k(t.keyCode,"esc",27,t.key,["Esc","Escape"])?null:(t.preventDefault(),e.$emit("toggle-join-channel"))},submit:function(t){return t.preventDefault(),e.onSubmit(t)}}},[a("input",{directives:[{name:"model",rawName:"v-model",value:e.inputChannel,expression:"inputChannel"},{name:"focus",rawName:"v-focus"}],staticClass:"input",attrs:{type:"text",name:"channel",placeholder:"Channel",pattern:"[^\\s]+",maxlength:"200",title:"The channel name may not contain spaces",required:""},domProps:{value:e.inputChannel},on:{input:function(t){t.target.composing||(e.inputChannel=t.target.value)}}}),a("input",{directives:[{name:"model",rawName:"v-model",value:e.inputPassword,expression:"inputPassword"}],staticClass:"input",attrs:{type:"password",name:"key",placeholder:"Password (optional)",pattern:"[^\\s]+",maxlength:"200",title:"The channel password may not contain spaces",autocomplete:"new-password"},domProps:{value:e.inputPassword},on:{input:function(t){t.target.composing||(e.inputPassword=t.target.value)}}}),a("button",{staticClass:"btn btn-small",attrs:{type:"submit"}},[e._v("Join")])])}),[],!1,null,null,null).exports,NetworkLobby:y,Channel:x,Draggable:p.a},data:()=>({searchText:"",activeSearchItem:null}),computed:{items(){const e=[];for(const t of this.$store.state.networks)for(const a of t.channels)this.$store.state.activeChannel&&a===this.$store.state.activeChannel.channel||e.push({network:t,channel:a});return e},results(){return Object(m.filter)(this.searchText,this.items,{extract:e=>e.channel.name}).map(e=>e.original)}},watch:{searchText(){this.setActiveSearchItem()}},mounted(){r.a.bind("alt+shift+right",this.expandNetwork),r.a.bind("alt+shift+left",this.collapseNetwork),r.a.bind("alt+j",this.toggleSearch)},beforeDestroy(){r.a.unbind("alt+shift+right",this.expandNetwork),r.a.unbind("alt+shift+left",this.collapseNetwork),r.a.unbind("alt+j",this.toggleSearch)},methods:{expandNetwork(e){return!!u(e)||(this.$store.state.activeChannel&&g(this.$store.state.activeChannel.network,!1),!1)},collapseNetwork(e){return!!u(e)||(this.$store.state.activeChannel&&g(this.$store.state.activeChannel.network,!0),!1)},isCurrentlyInTouch:e=>"mouse"!==e.pointerType,onDragStart(e){e.target.classList.add("ui-sortable-active")},onDragEnd(e){e.target.classList.remove("ui-sortable-active")},onNetworkSort(e){e.moved&&S.a.emit("sort",{type:"networks",order:this.$store.state.networks.map(e=>e.uuid)})},onChannelSort(e){if(!e.moved)return;const t=this.$store.getters.findChannel(e.moved.element.id);t&&S.a.emit("sort",{type:"channels",target:t.network.uuid,order:t.network.channels.map(e=>e.id)})},toggleSearch(e){return!!u(e)||(this.$refs.searchInput===document.activeElement?(this.deactivateSearch(),!1):(this.activateSearch(),!1))},activateSearch(){this.$refs.searchInput!==document.activeElement&&(this.sidebarWasClosed=!this.$store.state.sidebarOpen,this.$store.commit("sidebarOpen",!0),this.$nextTick(()=>{this.$refs.searchInput.focus()}))},deactivateSearch(){this.activeSearchItem=null,this.searchText="",this.$refs.searchInput.blur(),this.sidebarWasClosed&&this.$store.commit("sidebarOpen",!1)},setSearchText(e){this.searchText=e.target.value},setActiveSearchItem(e){this.results.length&&(e||(e=this.results[0].channel),this.activeSearchItem=e)},selectResult(){this.searchText&&this.results.length&&(this.$root.switchToChannel(this.activeSearchItem),this.deactivateSearch(),this.scrollToActive())},navigateResults(e,t){if(e.stopImmediatePropagation(),e.preventDefault(),!this.searchText)return;const a=this.results.map(e=>e.channel);if(!a.length)return void(this.activeSearchItem=null);let s=a.indexOf(this.activeSearchItem);if(!this.activeSearchItem||-1===s)return this.activeSearchItem=t?a[0]:a[a.length-1],void this.scrollToActive();for(s+=t;s<0;)s+=a.length;for(;s>a.length-1;)s-=a.length;this.activeSearchItem=a[s],this.scrollToActive()},scrollToActive(){this.$nextTick(()=>{const e=this.$refs.networklist.querySelector(".channel-list-item.active");e&&e.scrollIntoView({block:"nearest",inline:"nearest"})})}}},P=(a(107),{name:"Sidebar",components:{NetworkList:Object(b.a)(j,(function(){var e=this,t=e.$createElement,a=e._self._c||t;return 0===e.$store.state.networks.length?a("div",{staticClass:"empty"},[e._v("\n\tYou are not connected to any networks yet.\n")]):a("div",{ref:"networklist"},[a("div",{staticClass:"jump-to-input"},[a("input",{ref:"searchInput",staticClass:"search input mousetrap",attrs:{placeholder:"Jump to...",type:"search","aria-label":"Search among the channel list",tabindex:"-1"},domProps:{value:e.searchText},on:{input:e.setSearchText,keydown:[function(t){return!t.type.indexOf("key")&&e._k(t.keyCode,"up",38,t.key,["Up","ArrowUp"])?null:e.navigateResults(t,-1)},function(t){return!t.type.indexOf("key")&&e._k(t.keyCode,"down",40,t.key,["Down","ArrowDown"])?null:e.navigateResults(t,1)},function(t){return!t.type.indexOf("key")&&e._k(t.keyCode,"page-up",void 0,t.key,void 0)?null:e.navigateResults(t,-10)},function(t){return!t.type.indexOf("key")&&e._k(t.keyCode,"page-down",void 0,t.key,void 0)?null:e.navigateResults(t,10)},function(t){return!t.type.indexOf("key")&&e._k(t.keyCode,"enter",13,t.key,"Enter")?null:e.selectResult(t)},function(t){return!t.type.indexOf("key")&&e._k(t.keyCode,"escape",void 0,t.key,void 0)?null:e.deactivateSearch(t)}],focus:e.activateSearch}})]),e.searchText?a("div",{staticClass:"jump-to-results"},[e.results.length?a("div",e._l(e.results,(function(t){return a("div",{key:t.channel.id,on:{mouseenter:function(a){return e.setActiveSearchItem(t.channel)},click:function(t){return t.preventDefault(),e.selectResult(t)}}},["lobby"!==t.channel.type?a("Channel",{attrs:{channel:t.channel,network:t.network,active:t.channel===e.activeSearchItem,"is-filtering":!0}}):a("NetworkLobby",{attrs:{channel:t.channel,network:t.network,active:t.channel===e.activeSearchItem,"is-filtering":!0}})],1)})),0):a("div",{staticClass:"no-results"},[e._v("No results found.")])]):a("Draggable",{staticClass:"networks",attrs:{list:e.$store.state.networks,filter:e.isCurrentlyInTouch,"prevent-on-filter":!1,handle:".channel-list-item[data-type='lobby']",draggable:".network","ghost-class":"ui-sortable-ghost","drag-class":"ui-sortable-dragged",group:"networks"},on:{change:e.onNetworkSort,start:e.onDragStart,end:e.onDragEnd}},e._l(e.$store.state.networks,(function(t){return a("div",{key:t.uuid,staticClass:"network",class:{collapsed:t.isCollapsed,"not-connected":!t.status.connected,"not-secure":!t.status.secure},attrs:{id:"network-"+t.uuid,role:"region"}},[a("NetworkLobby",{attrs:{network:t,"is-join-channel-shown":t.isJoinChannelShown,active:e.$store.state.activeChannel&&t.channels[0]===e.$store.state.activeChannel.channel},on:{"toggle-join-channel":function(e){t.isJoinChannelShown=!t.isJoinChannelShown}}}),t.isJoinChannelShown?a("JoinChannel",{attrs:{network:t,channel:t.channels[0]},on:{"toggle-join-channel":function(e){t.isJoinChannelShown=!t.isJoinChannelShown}}}):e._e(),a("Draggable",{staticClass:"channels",attrs:{draggable:".channel-list-item","ghost-class":"ui-sortable-ghost","drag-class":"ui-sortable-dragged",group:t.uuid,filter:e.isCurrentlyInTouch,"prevent-on-filter":!1,list:t.channels},on:{change:e.onChannelSort,start:e.onDragStart,end:e.onDragEnd}},[e._l(t.channels,(function(s,n){return[n>0?a("Channel",{key:s.id,attrs:{channel:s,network:t,active:e.$store.state.activeChannel&&s===e.$store.state.activeChannel.channel}}):e._e()]}))],2)],1)})),0)],1)}),[],!1,null,null,null).exports},props:{overlay:HTMLElement},data:()=>({isDevelopment:!1}),mounted(){this.touchStartPos=null,this.touchCurPos=null,this.touchStartTime=0,this.menuWidth=0,this.menuIsMoving=!1,this.menuIsAbsolute=!1,this.onTouchStart=e=>{if(this.touchStartPos=this.touchCurPos=e.touches.item(0),1!==e.touches.length)return void this.onTouchEnd();const t=window.getComputedStyle(this.$refs.sidebar);this.menuWidth=parseFloat(t.width),this.menuIsAbsolute="absolute"===t.position,(!this.$store.state.sidebarOpen||this.touchStartPos.screenX>this.menuWidth)&&(this.touchStartTime=Date.now(),document.body.addEventListener("touchmove",this.onTouchMove,{passive:!0}),document.body.addEventListener("touchend",this.onTouchEnd,{passive:!0}))},this.onTouchMove=e=>{const t=this.touchCurPos=e.touches.item(0);let a=t.screenX-this.touchStartPos.screenX;const s=t.screenY-this.touchStartPos.screenY;if(!this.menuIsMoving){if(Math.abs(s/a)>=1)return void this.onTouchEnd();const e=window.devicePixelRatio||2;Math.abs(a)>e&&(this.$store.commit("sidebarDragging",!0),this.menuIsMoving=!0)}this.menuIsAbsolute&&(this.$store.state.sidebarOpen&&(a+=this.menuWidth),a>this.menuWidth?a=this.menuWidth:a<0&&(a=0),this.$refs.sidebar.style.transform="translate3d("+a+"px, 0, 0)",this.overlay.style.opacity=a/this.menuWidth)},this.onTouchEnd=()=>{const e=this.touchCurPos.screenX-this.touchStartPos.screenX,t=Math.abs(e);(t>this.menuWidth/2||Date.now()-this.touchStartTime<180&&t>50)&&this.toggle(e>0),document.body.removeEventListener("touchmove",this.onTouchMove),document.body.removeEventListener("touchend",this.onTouchEnd),this.$store.commit("sidebarDragging",!1),this.$refs.sidebar.style.transform=null,this.overlay.style.opacity=null,this.touchStartPos=null,this.touchCurPos=null,this.touchStartTime=0,this.menuIsMoving=!1},this.toggle=e=>{this.$store.commit("sidebarOpen",e)},document.body.addEventListener("touchstart",this.onTouchStart,{passive:!0})},methods:{isPublic:()=>document.body.classList.contains("public")}}),O=Object(b.a)(P,(function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("aside",{ref:"sidebar",attrs:{id:"sidebar"}},[a("div",{staticClass:"scrollable-area"},[a("div",{staticClass:"logo-container"},[a("img",{staticClass:"logo",attrs:{src:"img/logo-"+(e.isPublic()?"horizontal-":"")+"transparent-bg.svg",alt:"TripSit Web"}}),a("img",{staticClass:"logo-inverted",attrs:{src:"img/logo-"+(e.isPublic()?"horizontal-":"")+"transparent-bg-inverted.svg",alt:"TripSit Web"}}),e.isDevelopment?a("span",{style:{backgroundColor:"#ff9e18",color:"#000",padding:"2px",borderRadius:"4px",fontSize:"12px"},attrs:{title:"The Lounge has been built in development mode"}},[e._v("DEVELOPER")]):e._e()]),a("NetworkList")],1),a("footer",{attrs:{id:"footer"}},[a("span",{staticClass:"tooltipped tooltipped-n tooltipped-no-touch",attrs:{"aria-label":"Settings"}},[a("router-link",{class:["icon","settings"],attrs:{to:"/settings",tag:"button","active-class":"active","aria-label":"Settings",role:"tab","aria-controls":"settings","aria-selected":"Settings"===e.$route.name}})],1),a("span",{staticClass:"tooltipped tooltipped-n tooltipped-no-touch",attrs:{"aria-label":e.$store.state.serverConfiguration.isUpdateAvailable?"Help\n(update available)":"Help"}},[a("router-link",{class:["icon","help",{notified:e.$store.state.serverConfiguration.isUpdateAvailable}],attrs:{to:"/help",tag:"button","active-class":"active","aria-label":"Help",role:"tab","aria-controls":"help","aria-selected":"Help"===e.$route.name}})],1)])])}),[],!1,null,null,null).exports,E={name:"ImageViewer",data:()=>({link:null,previousImage:null,nextImage:null,channel:null,position:{x:0,y:0},transform:{x:0,y:0,scale:0}}),computed:{computeImageStyles(){const e=Math.floor(this.transform.x),t=Math.floor(this.transform.y);return{left:"".concat(this.position.x,"px"),top:"".concat(this.position.y,"px"),transform:"translate3d(".concat(e,"px, ").concat(t,"px, 0) scale3d(").concat(this.transform.scale,", ").concat(this.transform.scale,", 1)")}}},watch:{link(e,t){if(null===e)return i.a.off("escapekey",this.closeViewer),i.a.off("resize",this.correctPosition),r.a.unbind("left",this.previous),void r.a.unbind("right",this.next);this.setPrevNextImages(),t||(i.a.on("escapekey",this.closeViewer),i.a.on("resize",this.correctPosition),r.a.bind("left",this.previous),r.a.bind("right",this.next))}},methods:{closeViewer(){null!==this.link&&(this.channel=null,this.previousImage=null,this.nextImage=null,this.link=null)},setPrevNextImages(){if(!this.channel)return null;const e=this.channel.messages.map(e=>e.previews).flat().filter(e=>e.thumb),t=e.indexOf(this.link);this.previousImage=e[t-1]||null,this.nextImage=e[t+1]||null},previous(){this.previousImage&&(this.link=this.previousImage)},next(){this.nextImage&&(this.link=this.nextImage)},onImageLoad(){this.prepareImage()},prepareImage(){const e=this.$refs.viewer,t=this.$refs.image,a=e.offsetWidth,s=e.offsetHeight,n=Math.min(1,a/t.width,s/t.height);this.position.x=Math.floor(-t.naturalWidth/2),this.position.y=Math.floor(-t.naturalHeight/2),this.transform.scale=Math.max(n,.1),this.transform.x=a/2,this.transform.y=s/2},calculateZoomShift(e,t,a,s){const n=this.$refs.image.width,i=this.$refs.viewer.offsetWidth/2,o=this.$refs.viewer.offsetHeight/2;return{x:i-(i-(a-n*t/2))/t*e+n*e/2,y:o-(o-(s-n*t/2))/t*e+n*e/2}},correctPosition(){const e=this.$refs.image,t=e.width*this.transform.scale,a=e.height*this.transform.scale,s=this.$refs.viewer.offsetWidth,n=this.$refs.viewer.offsetHeight;t<s?this.transform.x=s/2:this.transform.x-t/2>0?this.transform.x=t/2:this.transform.x+t/2<s&&(this.transform.x=s-t/2),a<n?this.transform.y=n/2:this.transform.y-a/2>0?this.transform.y=a/2:this.transform.y+a/2<n&&(this.transform.y=n-a/2)},reduceTouches(e){let t=0,a=0,s=0;for(let n=0;n<e.length;n++){const i=e[n].clientX,o=e[n].clientY;t+=i,a+=o;for(let t=0;t<e.length;t++)if(n!==t){const a=e[t].clientX,n=e[t].clientY;s+=Math.sqrt((i-a)*(i-a)+(o-n)*(o-n))}}return 0===s&&(s=1),{x:t/e.length,y:a/e.length,scale:s/e.length}},onTouchStart(e){e.stopImmediatePropagation()},onImageTouchStart(e){const t=this.$refs.image;let a=this.reduceTouches(e.touches),s=e.touches,n=0;const i={x:a.x,y:a.y,scale:a.scale},o={x:this.transform.x,y:this.transform.y,scale:this.transform.scale},r=e=>{a=this.reduceTouches(e.touches),s.length!==e.touches.length&&(i.x=a.x,i.y=a.y,i.scale=a.scale,o.x=this.transform.x,o.y=this.transform.y,o.scale=this.transform.scale);const t=a.x-i.x,r=a.y-i.y,l=a.scale/i.scale;s=e.touches,n=0;const c=Math.min(3,Math.max(.1,o.scale*l)),h=this.calculateZoomShift(c,o.scale,o.x,o.y);this.transform.x=h.x+t,this.transform.y=h.y+r,this.transform.scale=c,this.correctPosition()},l=e=>{const a=e.changedTouches.length;s.length>a+n?n+=a:(this.correctPosition(),t.removeEventListener("touchmove",r,{passive:!0}),t.removeEventListener("touchend",l,{passive:!0}))};t.addEventListener("touchmove",r,{passive:!0}),t.addEventListener("touchend",l,{passive:!0})},onImageMouseDown(e){if(1!==e.which)return;e.stopPropagation(),e.preventDefault();const t=this.$refs.viewer,a=this.$refs.image,s=e.clientX,n=e.clientY,i=this.transform.x,o=this.transform.y,r=a.width*this.transform.scale,l=a.height*this.transform.scale,c=t.offsetWidth,h=t.offsetHeight,u=this.transform.x-r/2,d=this.transform.y-l/2;let p=0;const m=e=>{e.stopPropagation(),e.preventDefault();const t=e.clientX-s,a=e.clientY-n;p=Math.max(p,Math.abs(t),Math.abs(a)),(u<0||r+u>c)&&(this.transform.x=i+t),(d<0||l+d>h)&&(this.transform.y=o+a),this.correctPosition()},g=e=>{this.correctPosition(),p<2&&0===e.button&&this.closeViewer(),a.removeEventListener("mousemove",m),a.removeEventListener("mouseup",g)};a.addEventListener("mousemove",m),a.addEventListener("mouseup",g)},onMouseWheel(e){if(null!==this.link){if(e.preventDefault(),e.ctrlKey)this.transform.y+=e.deltaY;else{const t=e.deltaY>0?.1:-.1,a=Math.min(3,Math.max(.1,this.transform.scale+t)),s=this.calculateZoomShift(a,this.transform.scale,this.transform.x,this.transform.y);this.transform.scale=a,this.transform.x=s.x,this.transform.y=s.y}this.correctPosition()}},onClick(e){e.target!==this.$refs.image&&this.closeViewer()}}},M=Object(b.a)(E,(function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("div",{ref:"viewer",class:{opened:null!==e.link},attrs:{id:"image-viewer"},on:{wheel:e.onMouseWheel,"&touchstart":function(t){return e.onTouchStart(t)},click:e.onClick}},[null!==e.link?[a("button",{staticClass:"close-btn",attrs:{"aria-label":"Close"}}),e.previousImage?a("button",{staticClass:"previous-image-btn",attrs:{"aria-label":"Previous image"},on:{click:function(t){return t.stopPropagation(),e.previous(t)}}}):e._e(),e.nextImage?a("button",{staticClass:"next-image-btn",attrs:{"aria-label":"Next image"},on:{click:function(t){return t.stopPropagation(),e.next(t)}}}):e._e(),a("a",{staticClass:"open-btn",attrs:{href:e.link.link,target:"_blank",rel:"noopener"}}),a("img",{ref:"image",style:e.computeImageStyles,attrs:{src:e.link.thumb,alt:""},on:{load:e.onImageLoad,mousedown:e.onImageMouseDown,"&touchstart":function(t){return e.onImageTouchStart(t)}}})]:e._e()],2)}),[],!1,null,null,null).exports;var T={name:"ContextMenu",props:{message:Object},data:()=>({isOpen:!1,previousActiveElement:null,items:[],activeItem:-1,style:{left:0,top:0}}),mounted(){i.a.on("escapekey",this.close),i.a.on("contextmenu:user",this.openUserContextMenu),i.a.on("contextmenu:channel",this.openChannelContextMenu)},destroyed(){i.a.off("escapekey",this.close),i.a.off("contextmenu:user",this.openUserContextMenu),i.a.off("contextmenu:channel",this.openChannelContextMenu),this.close()},methods:{openChannelContextMenu(e){const t=function(e,t,a){let s=[{label:t.name,type:"item",class:{lobby:"network",channel:"chan",query:"query",special:"chan"}[t.type],link:"/chan-".concat(t.id)},{type:"divider"}];return"lobby"===t.type&&(s=[...s,{label:"Edit this network…",type:"item",class:"edit",link:"/edit-network/".concat(a.uuid)},{label:"Join a channel…",type:"item",class:"join",action:()=>a.isJoinChannelShown=!0},{label:"List all channels",type:"item",class:"list",action:()=>S.a.emit("input",{target:t.id,text:"/list"})},{label:"List ignored users",type:"item",class:"list",action:()=>S.a.emit("input",{target:t.id,text:"/ignorelist"})},a.status.connected?{label:"Disconnect",type:"item",class:"disconnect",action:()=>S.a.emit("input",{target:t.id,text:"/disconnect"})}:{label:"Connect",type:"item",class:"connect",action:()=>S.a.emit("input",{target:t.id,text:"/connect"})}]),"channel"===t.type&&(s.push({label:"Edit topic",type:"item",class:"edit",action(){t.editTopic=!0,e.switchToChannel(t)}}),s.push({label:"List banned users",type:"item",class:"list",action(){S.a.emit("input",{target:t.id,text:"/banlist"})}})),"query"===t.type&&s.push({label:"User information",type:"item",class:"action-whois",action(){e.switchToChannel(t),S.a.emit("input",{target:t.id,text:"/whois "+t.name})}}),"channel"!==t.type&&"query"!==t.type||s.push({label:"Clear history",type:"item",class:"clear-history",action(){i.a.emit("confirm-dialog",{title:"Clear history",text:"Are you sure you want to clear history for ".concat(t.name,"? This cannot be undone."),button:"Clear history"},e=>{e&&S.a.emit("history:clear",{target:t.id})})}}),s.push({label:{lobby:"Remove",channel:"Leave",query:"Close",special:"Close"}[t.type],type:"item",class:"close",action(){e.closeChannel(t)}}),s}(this.$root,e.channel,e.network);this.open(e.event,t)},openUserContextMenu(e){const{network:t,channel:a}=this.$store.state.activeChannel,s=function(e,t,a,s){const n=(t.users.find(e=>e.nick===a.nick)||{}).modes||[],i=()=>{const a=e.$store.getters.findChannelOnCurrentNetwork(s.nick);a&&e.switchToChannel(a),S.a.emit("input",{target:t.id,text:"/whois "+s.nick})},o=[{label:s.nick,type:"item",class:"user",action:i},{type:"divider"},{label:"User information",type:"item",class:"action-whois",action:i},{label:"Direct messages",type:"item",class:"action-query",action(){const a=e.$store.getters.findChannelOnCurrentNetwork(s.nick);a&&e.switchToChannel(a),S.a.emit("input",{target:t.id,text:"/query "+s.nick})}}];return n.includes("@")&&(o.push({label:"Kick",type:"item",class:"action-kick",action(){S.a.emit("input",{target:t.id,text:"/kick "+s.nick})}}),s.modes.includes("@")?o.push({label:"Revoke operator (-o)",type:"item",class:"action-op",action(){S.a.emit("input",{target:t.id,text:"/deop "+s.nick})}}):o.push({label:"Give operator (+o)",type:"item",class:"action-op",action(){S.a.emit("input",{target:t.id,text:"/op "+s.nick})}}),s.modes.includes("+")?o.push({label:"Revoke voice (-v)",type:"item",class:"action-voice",action(){S.a.emit("input",{target:t.id,text:"/devoice "+s.nick})}}):o.push({label:"Give voice (+v)",type:"item",class:"action-voice",action(){S.a.emit("input",{target:t.id,text:"/voice "+s.nick})}})),o}(this.$root,a,t,a.users.find(t=>t.nick===e.user.nick)||{nick:e.user.nick,modes:[]});this.open(e.event,s)},open(e,t){e.preventDefault(),this.previousActiveElement=document.activeElement,this.items=t,this.activeItem=0,this.isOpen=!0,this.$nextTick(()=>{const t=this.positionContextMenu(e);this.style.left=t.left+"px",this.style.top=t.top+"px",this.$refs.contextMenu.focus()})},close(){this.isOpen&&(this.isOpen=!1,this.items=[],this.previousActiveElement&&(this.previousActiveElement.focus(),this.previousActiveElement=null))},hoverItem(e){this.activeItem=e},clickItem(e){this.close(),e.action?e.action():e.link&&this.$router.push(e.link)},clickActiveItem(){this.items[this.activeItem]&&this.clickItem(this.items[this.activeItem])},navigateMenu(e){let t=this.activeItem;t+=e;const a=this.items[t];a&&"divider"===a.type&&(t+=e),t<0&&(t+=this.items.length),t>this.items.length-1&&(t-=this.items.length),this.activeItem=t},containerClick(e){e.currentTarget===e.target&&this.close()},positionContextMenu(e){const t=e.target,a=this.$refs.contextMenu.offsetWidth,s=this.$refs.contextMenu.offsetHeight;if(t&&t.classList.contains("menu"))return{left:t.getBoundingClientRect().left-(a-t.offsetWidth),top:t.getBoundingClientRect().top+t.offsetHeight};const n={left:e.pageX,top:e.pageY};return window.innerWidth-n.left<a&&(n.left=window.innerWidth-a),window.innerHeight-n.top<s&&(n.top=window.innerHeight-s),n}}},A=Object(b.a)(T,(function(){var e=this,t=e.$createElement,a=e._self._c||t;return e.isOpen?a("div",{attrs:{id:"context-menu-container"},on:{click:e.containerClick,contextmenu:function(t){return t.preventDefault(),e.containerClick(t)},keydown:[function(t){return!t.type.indexOf("key")&&e._k(t.keyCode,"up",38,t.key,["Up","ArrowUp"])||t.ctrlKey||t.shiftKey||t.altKey||t.metaKey?null:(t.preventDefault(),e.navigateMenu(-1))},function(t){return!t.type.indexOf("key")&&e._k(t.keyCode,"down",40,t.key,["Down","ArrowDown"])||t.ctrlKey||t.shiftKey||t.altKey||t.metaKey?null:(t.preventDefault(),e.navigateMenu(1))},function(t){return!t.type.indexOf("key")&&e._k(t.keyCode,"tab",9,t.key,"Tab")||t.ctrlKey||t.shiftKey||t.altKey||t.metaKey?null:(t.preventDefault(),e.navigateMenu(1))},function(t){return!t.type.indexOf("key")&&e._k(t.keyCode,"tab",9,t.key,"Tab")?null:t.shiftKey?(t.preventDefault(),e.navigateMenu(-1)):null}]}},[a("ul",{ref:"contextMenu",style:e.style,attrs:{id:"context-menu",role:"menu",tabindex:"-1"},on:{mouseleave:function(t){e.activeItem=-1},keydown:function(t){return!t.type.indexOf("key")&&e._k(t.keyCode,"enter",13,t.key,"Enter")?null:(t.preventDefault(),e.clickActiveItem(t))}}},[e._l(e.items,(function(t,s){return[a("li",{key:t.name,class:["context-menu-"+t.type,t.class?"context-menu-"+t.class:null,{active:s===e.activeItem}],attrs:{role:"menuitem"},on:{mouseenter:function(t){return e.hoverItem(s)},click:function(a){return e.clickItem(t)}}},[e._v("\n\t\t\t\t"+e._s(t.label)+"\n\t\t\t")])]}))],2)]):e._e()}),[],!1,null,null,null).exports,I={name:"ConfirmDialog",data:()=>({data:null,callback:null}),mounted(){i.a.on("escapekey",this.close),i.a.on("confirm-dialog",this.open)},destroyed(){i.a.off("escapekey",this.close),i.a.off("confirm-dialog",this.open)},methods:{open(e,t){this.data=e,this.callback=t},close(e){this.data=null,this.callback&&this.callback(!!e)}}},N=(a(108),Object(b.a)(I,(function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("div",{class:{opened:null!==e.data},attrs:{id:"confirm-dialog-overlay"}},[null!==e.data?a("div",{attrs:{id:"confirm-dialog"}},[a("div",{staticClass:"confirm-text"},[a("div",{staticClass:"confirm-text-title"},[e._v(e._s(e.data.title))]),a("p",[e._v(e._s(e.data.text))])]),a("div",{staticClass:"confirm-buttons"},[a("button",{staticClass:"btn btn-cancel",on:{click:function(t){return e.close(!1)}}},[e._v("Cancel")]),a("button",{staticClass:"btn btn-danger",on:{click:function(t){return e.close(!0)}}},[e._v(e._s(e.data.button))])])]):e._e()])}),[],!1,null,null,null).exports),U=a(4),L=a(5),D=a(9),z=a(12),q=a.n(z),R=a(69),B=a.n(R);q.a.extend(B.a);var H={name:"Mentions",components:{Username:U.a,ParsedMessage:L.a},data:()=>({isOpen:!1,isLoading:!1}),computed:{resolvedMessages(){const e=this.$store.state.mentions.slice().reverse();for(const t of e)t.localetime=Object(D.a)(t.time),t.channel=this.$store.getters.findChannel(t.chanId);return e}},watch:{"$store.state.mentions"(){this.isLoading=!1}},mounted(){i.a.on("mentions:toggle",this.openPopup)},destroyed(){i.a.off("mentions:toggle",this.openPopup)},methods:{messageTime:e=>q()(e).fromNow(),hideMention(e){this.$store.state.mentions.splice(this.$store.state.mentions.findIndex(t=>t.msgId===e.msgId),1),S.a.emit("mentions:hide",e.msgId)},hideAllMentions(){this.$store.state.mentions=[],S.a.emit("mentions:hide_all")},containerClick(e){e.currentTarget===e.target&&(this.isOpen=!1)},openPopup(){this.isOpen=!this.isOpen,this.isOpen&&(this.isLoading=!0,S.a.emit("mentions:get"))}}},F=(a(121),Object(b.a)(H,(function(){var e=this,t=e.$createElement,a=e._self._c||t;return e.isOpen?a("div",{attrs:{id:"mentions-popup-container"},on:{click:e.containerClick,contextmenu:e.containerClick}},[a("div",{staticClass:"mentions-popup"},[a("div",{staticClass:"mentions-popup-title"},[e._v("\n\t\t\tRecent mentions\n\t\t\t"),e.resolvedMessages.length?a("button",{staticClass:"btn hide-all-mentions",on:{click:function(t){return e.hideAllMentions()}}},[e._v("\n\t\t\t\tHide all\n\t\t\t")]):e._e()]),0===e.resolvedMessages.length?[e.isLoading?a("p",[e._v("Loading…")]):a("p",[e._v("You have no recent mentions.")])]:e._l(e.resolvedMessages,(function(t){return[a("div",{key:t.msgId,class:["msg",t.type]},[a("div",{staticClass:"mentions-info"},[a("div",[a("span",{staticClass:"from"},[a("Username",{attrs:{user:t.from}}),t.channel?[e._v("\n\t\t\t\t\t\t\t\tin "+e._s(t.channel.channel.name)+" on\n\t\t\t\t\t\t\t\t"+e._s(t.channel.network.name)+"\n\t\t\t\t\t\t\t")]:[e._v(" in unknown channel ")]],2),a("span",{staticClass:"time",attrs:{title:t.localetime}},[e._v("\n\t\t\t\t\t\t\t"+e._s(e.messageTime(t.time))+"\n\t\t\t\t\t\t")])]),a("div",[a("span",{staticClass:"close-tooltip tooltipped tooltipped-w",attrs:{"aria-label":"Close"}},[a("button",{staticClass:"msg-hide",attrs:{"aria-label":"Hide this mention"},on:{click:function(a){return e.hideMention(t)}}})])])]),a("div",{staticClass:"content",attrs:{dir:"auto"}},[a("ParsedMessage",{attrs:{network:null,message:t}})],1)])]}))],2)]):e._e()}),[],!1,null,null,null).exports);const V=a(14);var W={name:"App",components:{Sidebar:O,ImageViewer:M,ContextMenu:A,ConfirmDialog:N,Mentions:F},computed:{viewportClasses(){return{notified:this.$store.getters.highlightCount>0,"menu-open":this.$store.state.appLoaded&&this.$store.state.sidebarOpen,"menu-dragging":this.$store.state.sidebarDragging,"userlist-open":this.$store.state.userlistOpen}}},created(){this.prepareOpenStates()},mounted(){r.a.bind("esc",this.escapeKey),r.a.bind("alt+u",this.toggleUserList),r.a.bind("alt+s",this.toggleSidebar),this.debouncedResize=c()(()=>{i.a.emit("resize")},100),window.addEventListener("resize",this.debouncedResize,{passive:!0});const e=()=>{i.a.emit("daychange"),this.dayChangeTimeout=setTimeout(e,this.msUntilNextDay())};this.dayChangeTimeout=setTimeout(e,this.msUntilNextDay())},beforeDestroy(){r.a.unbind("esc",this.escapeKey),r.a.unbind("alt+u",this.toggleUserList),r.a.unbind("alt+s",this.toggleSidebar),window.removeEventListener("resize",this.debouncedResize),clearTimeout(this.dayChangeTimeout)},methods:{escapeKey(){i.a.emit("escapekey")},toggleSidebar(e){return!!u(e)||(this.$store.commit("toggleSidebar"),!1)},toggleUserList(e){return!!u(e)||(this.$store.commit("toggleUserlist"),!1)},msUntilNextDay(){const e=new Date;return new Date(e.getFullYear(),e.getMonth(),e.getDate()+1)-e},prepareOpenStates(){const e=window.innerWidth;let t=h.a.get("thelounge.state.userlist");e>V.mobileViewportPixels&&this.$store.commit("sidebarOpen","false"!==h.a.get("thelounge.state.sidebar")),e>=1024&&"true"!==t&&"false"!==t&&(t="true"),this.$store.commit("userlistOpen","true"===t)}}},J=Object(b.a)(W,(function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("div",{class:e.viewportClasses,attrs:{id:"viewport",role:"tablist"}},[e.$store.state.appLoaded?a("Sidebar",{attrs:{overlay:e.$refs.overlay}}):e._e(),a("div",{ref:"overlay",attrs:{id:"sidebar-overlay"},on:{click:function(t){return e.$store.commit("sidebarOpen",!1)}}}),a("router-view",{ref:"window"}),a("Mentions"),a("ImageViewer",{ref:"imageViewer"}),a("ContextMenu",{ref:"contextMenu"}),a("ConfirmDialog",{ref:"confirmDialog"}),a("div",{attrs:{id:"upload-overlay"}})],1)}),[],!1,null,null,null).exports,K=a(6);function Y(e){const t=e.message||e;if(n.a.commit("isConnected",!1),!S.a.io.reconnection())return n.a.commit("currentUserVisibleError","Disconnected from the server (".concat(t,"), The Lounge does not reconnect in public mode.")),void G();var a,s;n.a.commit("currentUserVisibleError","Waiting to reconnect… (".concat(t,")")),G(),S.a.io.skipReconnect&&"io client disconnect"!==t&&(a=()=>S.a.connect(),s=2e3,window.requestIdleCallback?window.requestIdleCallback(a,{timeout:s}):a())}function G(){const e=document.getElementById("loading-page-message");e&&(e.textContent=n.a.state.currentUserVisibleError)}S.a.on("disconnect",Y),S.a.on("connect_error",Y),S.a.on("error",Y),S.a.on("reconnecting",(function(e){n.a.commit("currentUserVisibleError","Reconnecting… (attempt ".concat(e,")")),G()})),S.a.on("connecting",(function(){n.a.commit("currentUserVisibleError","Connecting…"),G()})),S.a.on("connect",(function(){S.a.sendBuffer=[],n.a.commit("currentUserVisibleError","Finalizing connection…"),G()}));var X=a(33);let Q=null;function Z(){window.g_TheLoungeRemoveLoading&&window.g_TheLoungeRemoveLoading(),"SignIn"!==K.b.currentRoute.name&&Object(K.a)("SignIn")}function ee(e){S.a.disconnect(),n.a.commit("currentUserVisibleError",e),X.a.reload(!0)}function te(){const e=document.getElementById("loading-page-message");e&&(e.textContent=n.a.state.currentUserVisibleError)}S.a.on("auth:success",(function(){n.a.commit("currentUserVisibleError","Loading messages…"),te()})),S.a.on("auth:failed",(function(){if(h.a.remove("token"),n.a.state.appLoaded)return ee("Authentication failed, reloading…");Z()})),S.a.on("auth:start",(function(e){if(Q&&e!==Q)return ee("Server restarted, reloading…");Q=e;const t=h.a.get("user"),a=h.a.get("token"),s=t&&a;if(n.a.state.appLoaded&&!s)return ee("Authentication failed, reloading…");if(s){n.a.commit("currentUserVisibleError","Authorizing…"),te();let e=-1;for(const t of n.a.state.networks)for(const a of t.channels)if(a.messages.length>0){const t=a.messages[a.messages.length-1].id;e<t&&(e=t)}const s=n.a.state.activeChannel&&n.a.state.activeChannel.channel.id||null;S.a.emit("auth:perform",{user:t,token:a,lastMessage:e,openChannel:s,hasConfig:null!==n.a.state.serverConfiguration})}else Z()}));const ae=a(14);S.a.on("commands",(function(e){e&&(ae.commands=e)}));function se(e,t){for(let a=0;a<t.length;a++){const s=t[a],i=e.find(e=>e.id===s.id);if(i){for(const e in s)Object.prototype.hasOwnProperty.call(s,e)&&("users"!==e?"totalMessages"!==e?"messages"===e&&i.messages&&s.messages.length<100?i.messages=i.messages.concat(s.messages):i[e]=s[e]:i.moreHistoryAvailable=s.totalMessages>i.messages.length:"channel"===s.type&&(n.a.state.activeChannel&&n.a.state.activeChannel.channel===i?S.a.emit("names",{target:s.id}):i.usersOutdated=!0));t[a]=i}else n.a.getters.initChannel(s)}return t}S.a.on("init",(function(e){n.a.commit("networks",function(e){const t=new Set(JSON.parse(h.a.get("thelounge.networks.collapsed")));for(let a=0;a<e.length;a++){const s=e[a],i=n.a.getters.findNetwork(s.uuid);if(i){for(const e in s)Object.prototype.hasOwnProperty.call(s,e)&&("channels"===e?i.channels=se(i.channels,s.channels):i[e]=s[e]);e[a]=i}else s.isJoinChannelShown=!1,s.isCollapsed=t.has(s.uuid),s.channels.forEach(n.a.getters.initChannel)}return e}(e.networks)),n.a.commit("isConnected",!0),n.a.commit("currentUserVisibleError",null),e.token&&h.a.set("token",e.token),n.a.state.appLoaded||(n.a.commit("appLoaded"),S.a.emit("setting:get"),window.g_TheLoungeRemoveLoading&&window.g_TheLoungeRemoveLoading(),s.a.nextTick(()=>{if(!(function(){if(!("URLSearchParams"in window))return!1;const e=new URLSearchParams(document.location.search),t=()=>{const e=window.location.origin+window.location.pathname+window.location.hash;window.history.replaceState({},document.title,e)};if(e.has("uri")){const a=(e=>{const t={};try{const a=new URL(e);if("irc:"===a.protocol)a.protocol="http:",a.port||(a.port=6667),t.tls=!1;else{if("ircs:"!==a.protocol)return;a.protocol="https:",a.port||(a.port=6697),t.tls=!0}if(!a.hostname)return{};t.host=t.name=a.hostname,t.port=a.port;let s="";a.pathname.length>1&&(s=a.pathname.substr(1)),a.hash.length>1&&(s+=a.hash),t.join=s}catch(e){}return t})(e.get("uri"));return t(),K.b.push({name:"Connect",query:a}),!0}if(document.body.classList.contains("public")&&document.location.search){const a=Object.fromEntries(e.entries());return t(),K.b.push({name:"Connect",query:a}),!0}return!1}()||K.b.currentRoute.name&&"SignIn"!==K.b.currentRoute.name)){const t=n.a.getters.findChannel(e.active);t?Object(K.c)(t.channel):n.a.state.networks.length>0?Object(K.c)(n.a.state.networks[0].channels[0]):Object(K.a)("Connect")}}))})),S.a.on("join",(function(e){n.a.getters.initChannel(e.chan);const t=n.a.getters.findNetwork(e.network);t&&(t.channels.splice(e.index||-1,0,e.chan),("query"!==e.chan.type||e.shouldOpen)&&Object(K.c)(n.a.getters.findChannel(e.chan.id).channel))})),S.a.on("more",(function(e){const t=n.a.getters.findChannel(e.chan);t&&(t.channel.moreHistoryAvailable=e.totalMessages>t.channel.messages.length+e.messages.length,t.channel.messages.unshift(...e.messages),s.a.nextTick(()=>{t.channel.historyLoading=!1}))}));var ne=a(71),ie=a.n(ne);let oe;try{oe=new Audio,oe.src="audio/pop.wav"}catch(e){oe={play(){}}}S.a.on("msg",(function(e){const t=n.a.getters.findChannel(e.chan);if(!t)return;let a=t.channel,s=n.a.state.activeChannel&&n.a.state.activeChannel.channel===a;e.msg.showInActive&&(n.a.state.activeChannel&&n.a.state.activeChannel.network===t.network?(a=n.a.state.activeChannel.channel,s=!0,e.chan===a.id?delete e.msg.showInActive:e.chan=a.id):delete e.msg.showInActive),s||(void 0!==e.highlight&&(a.highlight=e.highlight),void 0!==e.unread&&(a.unread=e.unread)),a.messages.push(e.msg),e.msg.self?a.firstUnread=e.msg.id:function(e,t,a,s){if((s.highlight||n.a.state.settings.notifyAllMessages&&"message"===s.type)&&(!document.hasFocus()||!a||a.channel!==t)){if(n.a.state.settings.notification)try{oe.play()}catch(e){}if(n.a.state.settings.desktopNotifications&&"Notification"in window&&"granted"===Notification.permission){let a,i;"invite"===s.type?(a="New channel invite:",i=s.from.nick+" invited you to "+s.channel):(a=s.from.nick,"query"!==t.type&&(a+=" (".concat(t.name,")")),"message"===s.type&&(a+=" says:"),i=ie()(s.text));const o=Date.parse(s.time);try{if(n.a.state.hasServiceWorker)navigator.serviceWorker.ready.then(t=>{t.active.postMessage({type:"notification",chanId:e,timestamp:o,title:a,body:i})});else{new Notification(a,{tag:"chan-".concat(e),badge:"img/icon-alerted-black-transparent-bg-72x72px.png",icon:"img/icon-alerted-grey-bg-192x192px.png",body:i,timestamp:o}).addEventListener("click",(function(){this.close(),window.focus();const t=n.a.getters.findChannel(e);t&&Object(K.c)(t)}))}}catch(e){}}}}(e.chan,a,n.a.state.activeChannel,e.msg);let i=0;s?a.scrolledToBottom&&(i=1500):i=100,i>0&&a.messages.length>i&&(a.messages.splice(0,a.messages.length-i),a.moreHistoryAvailable=!0),"channel"===a.type&&function(e,t){if("message"===t.type||"action"===t.type){const a=e.users.find(e=>e.nick===t.from.nick);a&&(a.lastMessage=new Date(t.time).getTime()||Date.now())}else if("quit"===t.type||"part"===t.type){const a=e.users.findIndex(e=>e.nick===t.from.nick);a>-1&&e.users.splice(a,1)}else if("kick"===t.type){const a=e.users.findIndex(e=>e.nick===t.target.nick);a>-1&&e.users.splice(a,1)}}(a,e.msg)})),S.a.on("msg:preview",(function(e){const{channel:t}=n.a.getters.findChannel(e.chan),a=t.messages.find(t=>t.id===e.id);if(!a)return;const i=a.previews.findIndex(t=>t.link===e.preview.link);i>-1&&s.a.set(a.previews,i,e.preview)})),S.a.on("msg:special",(function(e){const t=n.a.getters.findChannel(e.chan);t.channel.data=e.data,Object(K.c)(t.channel)})),S.a.on("names",(function(e){const t=n.a.getters.findChannel(e.id);t&&(t.channel.users=e.users)})),S.a.on("network",(function(e){const t=e.networks[0];t.isJoinChannelShown=!1,t.isCollapsed=!1,t.channels.forEach(n.a.getters.initChannel),n.a.commit("networks",[...n.a.state.networks,t]),Object(K.c)(t.channels[t.channels.length-1])})),S.a.on("network:options",(function(e){const t=n.a.getters.findNetwork(e.network);t&&(t.serverOptions=e.serverOptions)})),S.a.on("network:status",(function(e){const t=n.a.getters.findNetwork(e.network);t&&(t.status.connected=e.connected,t.status.secure=e.secure,e.connected||t.channels.forEach(e=>{e.users=[],e.state=0}))})),S.a.on("channel:state",(function(e){const t=n.a.getters.findChannel(e.chan);t&&(t.channel.state=e.state)})),S.a.on("network:info",(function(e){const t=n.a.getters.findNetwork(e.uuid);if(t)for(const a in e)s.a.set(t,a,e[a])})),S.a.on("network:name",(function(e){const t=n.a.getters.findNetwork(e.uuid);t.name=t.channels[0].name=e.name})),S.a.on("nick",(function(e){const t=n.a.getters.findNetwork(e.network);t&&(t.nick=e.nick)})),S.a.on("open",(function(e){if(e<1)return;if(n.a.state.activeChannel&&n.a.state.activeChannel.channel.id===e)return;const t=n.a.getters.findChannel(e);t&&(t.channel.highlight=0,t.channel.unread=0,t.channel.messages.length>0&&(t.channel.firstUnread=t.channel.messages[t.channel.messages.length-1].id))})),S.a.on("part",(function(e){n.a.state.activeChannel&&n.a.state.activeChannel.channel.id===e.chan&&Object(K.c)(n.a.state.activeChannel.network.channels[0]);const t=n.a.getters.findChannel(e.chan);t&&t.network.channels.splice(t.network.channels.findIndex(t=>t.id===e.chan),1)})),S.a.on("quit",(function(e){const t=n.a.state.activeChannel&&n.a.state.activeChannel.network.uuid===e.network;n.a.commit("removeNetwork",e.network),t&&(n.a.state.networks.length>0?Object(K.c)(n.a.state.networks[0].channels[0]):Object(K.a)("Connect"))})),S.a.on("sync_sort",(function(e){const t=e.order;switch(e.type){case"networks":n.a.commit("sortNetworks",(e,a)=>t.indexOf(e.uuid)-t.indexOf(a.uuid));break;case"channels":{const a=n.a.getters.findNetwork(e.target);if(!a)return;a.channels.sort((e,a)=>t.indexOf(e.id)-t.indexOf(a.id));break}}})),S.a.on("topic",(function(e){const t=n.a.getters.findChannel(e.chan);t&&(t.channel.topic=e.topic)})),S.a.on("users",(function(e){if(n.a.state.activeChannel&&n.a.state.activeChannel.channel.id===e.chan)return S.a.emit("names",{target:e.chan});const t=n.a.getters.findChannel(e.chan);t&&(t.channel.usersOutdated=!0)}));var re=a(32);S.a.on("sign-out",(function(){re.a.signout()})),S.a.on("sessions:list",(function(e){e.sort((e,t)=>t.lastUse-e.lastUse),n.a.commit("sessions",e)}));var le=a(19);S.a.once("configuration",(function(e){n.a.commit("serverConfiguration",e),n.a.dispatch("settings/applyAll"),e.fileUpload&&le.a.initialize();const t=e.themes.find(e=>e.name===n.a.state.settings.theme);void 0===t?n.a.dispatch("settings/update",{name:"theme",value:e.defaultTheme,sync:!0}):t.themeColor&&(document.querySelector('meta[name="theme-color"]').content=t.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?"})})),S.a.on("changelog",(function(e){let t;if(n.a.commit("versionData",e),n.a.commit("versionDataExpired",!1),t=e.latest?"new-version":e.packages?"new-packages":e.current.changelog?"up-to-date":"error",n.a.commit("versionStatus",t),e.expiresAt){const t=e.expiresAt-Date.now();t>0?setTimeout(()=>n.a.commit("versionDataExpired",!0),t):n.a.commit("versionDataExpired",!0)}})),S.a.on("changelog:newversion",()=>{n.a.state.serverConfiguration.isUpdateAvailable=!0}),S.a.on("setting:new",(function(e){const t=e.name,a=e.value;n.a.dispatch("settings/update",{name:t,value:a,sync:!1})})),S.a.on("setting:all",(function(e){const t=Object.keys(e).length>0;if(n.a.commit("serverHasSettings",t),t)for(const t in e)n.a.dispatch("settings/update",{name:t,value:e[t],sync:!1});else n.a.dispatch("settings/syncAll")})),S.a.on("history:clear",(function(e){const{channel:t}=n.a.getters.findChannel(e.target);t.messages=[],t.unread=0,t.highlight=0,t.firstUnread=0,t.moreHistoryAvailable=!1})),S.a.on("mentions:list",(function(e){n.a.commit("mentions",e)}));a(44);function ce(e){Object(K.c)(e);const t=document.querySelector('#sidebar .channel-list-item[aria-controls="#chan-'.concat(e.id,'"]'));t&&t.scrollIntoView({block:"center",inline:"nearest"})}r.a.bind(["alt+up","alt+down"],(function(e,t){if(u(e))return!0;if(0===n.a.state.networks.length)return!1;const a="up"===t.split("+").pop()?-1:1,s=[];let i=-1;for(const e of n.a.state.networks)for(const t of e.channels)_(e,t)||(-1===i&&n.a.state.activeChannel&&n.a.state.activeChannel.channel===t&&(i=s.length),s.push(t));const o=s.length;return i=((i+a)%o+o)%o,ce(s[i]),!1})),r.a.bind(["alt+shift+up","alt+shift+down"],(function(e,t){if(u(e))return!0;const a=n.a.state.networks.length;if(0===a)return!1;const s="up"===t.split("+").pop()?-1:1;let i=0;return n.a.state.activeChannel&&(i=n.a.state.networks.findIndex(e=>e===n.a.state.activeChannel.network),-1===s&&"lobby"!==n.a.state.activeChannel.channel.type||(i=((i+s)%a+a)%a)),ce(n.a.state.networks[i].channels[0]),!1})),r.a.bind(["alt+a"],(function(e){if(u(e))return!0;let t;e:for(const e of n.a.state.networks)for(const a of e.channels){if(a.highlight){t=a;break e}a.unread&&!t&&(t=a)}return t&&ce(t),!1}));const he={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(e.altKey||he[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 t=e.target.tagName;if("INPUT"===t||"TEXTAREA"===t)return;const a=document.getElementById("input");a&&(a.focus(),13===e.which&&e.preventDefault())});const ue=a(14),de=document.getElementById("favicon"),pe=de.getAttribute("href"),me=de.dataset.other;new s.a({el:"#viewport",router:K.b,mounted(){S.a.open()},methods:{switchToChannel(e){Object(K.a)("RoutedChat",{id:e.id})},closeChannel(e){"lobby"!==e.type?(e.closed=!0,S.a.emit("input",{target:Number(e.id),text:"/close"})):i.a.emit("confirm-dialog",{title:"Remove network",text:"Are you sure you want to quit and remove ".concat(e.name,"? This cannot be undone."),button:"Remove network"},t=>{t&&(e.closed=!0,S.a.emit("input",{target:Number(e.id),text:"/quit"}))})}},render(e){return e(J,{ref:"app",props:this})},store:n.a}),n.a.watch(e=>e.sidebarOpen,e=>{window.innerWidth>ue.mobileViewportPixels&&(h.a.set("thelounge.state.sidebar",e),i.a.emit("resize"))}),n.a.watch(e=>e.userlistOpen,e=>{h.a.set("thelounge.state.userlist",e),i.a.emit("resize")}),n.a.watch((e,t)=>t.title,e=>{document.title=e}),n.a.watch((e,t)=>t.highlightCount,e=>{de.setAttribute("href",e>0?me:pe),navigator.setAppBadge&&(e>0?navigator.setAppBadge(e):navigator.clearAppBadge())}),s.a.config.errorHandler=function(e){n.a.commit("currentUserVisibleError","Vue error: ".concat(e.message)),console.error(e)}},function(e,t,a){"use strict";a.r(t);var s=a(5),n=a(4),i={name:"MessageTypeBack",components:{ParsedMessage:s.a,Username:n.a},props:{network:Object,message:Object}},o=a(2),r=Object(o.a)(i,(function(){var e=this.$createElement,t=this._self._c||e;return t("span",{staticClass:"content"},[this.message.self?t("ParsedMessage",{attrs:{network:this.network,message:this.message}}):[t("Username",{attrs:{user:this.message.from}}),this._v("\n\t\tis back\n\t")]],2)}),[],!1,null,null,null);t.default=r.exports},function(e,t,a){"use strict";a.r(t);var s=a(5),n=a(4),i={name:"MessageTypeKick",components:{ParsedMessage:s.a,Username:n.a},props:{network:Object,message:Object}},o=a(2),r=Object(o.a)(i,(function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("span",{staticClass:"content"},[a("Username",{attrs:{user:e.message.from}}),e._v("\n\thas kicked\n\t"),a("Username",{attrs:{user:e.message.target}}),e.message.text?a("i",{staticClass:"part-reason"},[e._v(" ("),a("ParsedMessage",{attrs:{network:e.network,message:e.message}}),e._v(")")],1):e._e()],1)}),[],!1,null,null,null);t.default=r.exports},function(e,t,a){"use strict";a.r(t);var s={name:"MessageChannelMode",props:{network:Object,message:Object}},n=a(2),i=Object(n.a)(s,(function(){var e=this.$createElement,t=this._self._c||e;return t("span",{staticClass:"content"},[this._v("\n\tChannel mode is "),t("b",[this._v(this._s(this.message.text))])])}),[],!1,null,null,null);t.default=i.exports},function(e,t,a){"use strict";a.r(t);var s={name:"MessageTypeError",components:{ParsedMessage:a(5).a},props:{network:Object,message:Object},computed:{errorMessage(){switch(this.message.error){case"bad_channel_key":return"Cannot join ".concat(this.message.channel," - Bad channel key.");case"banned_from_channel":return"Cannot join ".concat(this.message.channel," - You have been banned from the channel.");case"cannot_send_to_channel":return"Cannot send to channel ".concat(this.message.channel);case"channel_is_full":return"Cannot join ".concat(this.message.channel," - Channel is full.");case"chanop_privs_needed":return"Cannot perform action: You're not a channel operator.";case"invite_only_channel":return"Cannot join ".concat(this.message.channel," - Channel is invite only.");case"no_such_nick":return"User ".concat(this.message.nick," 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 ".concat(this.message.channel," - You've already reached the maximum number of channels allowed.");case"unknown_command":return"Unknown command: ".concat(this.message.command);case"user_not_in_channel":return"User ".concat(this.message.nick," is not on the channel.");case"user_on_channel":return"User ".concat(this.message.nick," is already on the channel.");default:return this.message.reason?"".concat(this.message.reason," (").concat(this.message.error,")"):this.message.error}}}},n=a(2),i=Object(n.a)(s,(function(){var e=this.$createElement,t=this._self._c||e;return t("span",{staticClass:"content"},[t("ParsedMessage",{attrs:{network:this.network,message:this.message,text:this.errorMessage}})],1)}),[],!1,null,null,null);t.default=i.exports},function(e,t,a){"use strict";a.r(t);var s=a(5),n=a(4),i={name:"MessageTypeRequestCTCP",components:{ParsedMessage:s.a,Username:n.a},props:{network:Object,message:Object}},o=a(2),r=Object(o.a)(i,(function(){var e=this.$createElement,t=this._self._c||e;return t("span",{staticClass:"content"},[t("Username",{attrs:{user:this.message.from}}),this._v("\n\tsent a "),t("abbr",{attrs:{title:"Client-to-client protocol"}},[this._v("CTCP")]),this._v(" request:\n\t"),t("span",{staticClass:"ctcp-message"},[t("ParsedMessage",{attrs:{text:this.message.ctcpMessage}})],1)],1)}),[],!1,null,null,null);t.default=r.exports},function(e,t,a){"use strict";a.r(t);var s=a(5),n=a(4),i={name:"MessageTypeCTCP",components:{ParsedMessage:s.a,Username:n.a},props:{network:Object,message:Object}},o=a(2),r=Object(o.a)(i,(function(){var e=this.$createElement,t=this._self._c||e;return t("span",{staticClass:"content"},[t("Username",{attrs:{user:this.message.from}}),this._v(" \n\t"),t("span",{staticClass:"ctcp-message"},[t("ParsedMessage",{attrs:{text:this.message.ctcpMessage}})],1)],1)}),[],!1,null,null,null);t.default=r.exports},function(e,t,a){"use strict";a.r(t);var s={name:"MessageTypeChangeHost",components:{Username:a(4).a},props:{network:Object,message:Object}},n=a(2),i=Object(n.a)(s,(function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("span",{staticClass:"content"},[a("Username",{attrs:{user:e.message.from}}),e._v("\n\thas changed\n\t"),e.message.new_ident?a("span",[e._v("username to "),a("b",[e._v(e._s(e.message.new_ident))])]):e._e(),e.message.new_host?a("span",[e._v("hostname to "),a("i",{staticClass:"hostmask"},[e._v(e._s(e.message.new_host))])]):e._e()],1)}),[],!1,null,null,null);t.default=i.exports},function(e,t,a){"use strict";a.r(t);var s=a(5),n=a(4),i={name:"MessageTypeTopic",components:{ParsedMessage:s.a,Username:n.a},props:{network:Object,message:Object}},o=a(2),r=Object(o.a)(i,(function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("span",{staticClass:"content"},[e.message.from&&e.message.from.nick?[a("Username",{attrs:{user:e.message.from}}),e._v(" has changed the topic to:\n\t")]:[e._v("The topic is: ")],e.message.text?a("span",{staticClass:"new-topic"},[a("ParsedMessage",{attrs:{network:e.network,message:e.message}})],1):e._e()],2)}),[],!1,null,null,null);t.default=r.exports},function(e,t,a){"use strict";a.r(t);var s=a(9),n={name:"MessageTypeTopicSetBy",components:{Username:a(4).a},props:{network:Object,message:Object},computed:{messageTimeLocale(){return Object(s.a)(this.message.when)}}},i=a(2),o=Object(i.a)(n,(function(){var e=this.$createElement,t=this._self._c||e;return t("span",{staticClass:"content"},[this._v("\n\tTopic set by\n\t"),t("Username",{attrs:{user:this.message.from}}),this._v("\n\ton "+this._s(this.messageTimeLocale)+"\n")],1)}),[],!1,null,null,null);t.default=o.exports},function(e,t,a){"use strict";a.r(t);var s={name:"MessageTypeJoin",components:{Username:a(4).a},props:{network:Object,message:Object}},n=a(2),i=Object(n.a)(s,(function(){var e=this.$createElement,t=this._self._c||e;return t("span",{staticClass:"content"},[t("Username",{attrs:{user:this.message.from}}),t("i",{staticClass:"hostmask"},[this._v(" ("+this._s(this.message.hostmask)+")")]),this._v("\n\thas joined the channel\n")],1)}),[],!1,null,null,null);t.default=i.exports},function(e,t,a){"use strict";a.r(t);var s=a(5),n=a(4),i={name:"MessageTypeInvite",components:{ParsedMessage:s.a,Username:n.a},props:{network:Object,message:Object}},o=a(2),r=Object(o.a)(i,(function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("span",{staticClass:"content"},[a("Username",{attrs:{user:e.message.from}}),e._v("\n\tinvited\n\t"),e.message.invitedYou?a("span",[e._v("you")]):a("Username",{attrs:{user:e.message.target}}),e._v("\n\tto "),a("ParsedMessage",{attrs:{network:e.network,text:e.message.channel}})],1)}),[],!1,null,null,null);t.default=r.exports},function(e,t,a){"use strict";a.r(t);var s=a(5),n=a(4),i={name:"MessageTypeQuit",components:{ParsedMessage:s.a,Username:n.a},props:{network:Object,message:Object}},o=a(2),r=Object(o.a)(i,(function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("span",{staticClass:"content"},[a("Username",{attrs:{user:e.message.from}}),a("i",{staticClass:"hostmask"},[e._v(" ("+e._s(e.message.hostmask)+")")]),e._v(" has quit\n\t"),e.message.text?a("i",{staticClass:"quit-reason"},[e._v("("),a("ParsedMessage",{attrs:{network:e.network,message:e.message}}),e._v(")")],1):e._e()],1)}),[],!1,null,null,null);t.default=r.exports},function(e,t,a){"use strict";a.r(t);var s=a(5),n=a(4),i={name:"MessageTypePart",components:{ParsedMessage:s.a,Username:n.a},props:{network:Object,message:Object}},o=a(2),r=Object(o.a)(i,(function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("span",{staticClass:"content"},[a("Username",{attrs:{user:e.message.from}}),a("i",{staticClass:"hostmask"},[e._v(" ("+e._s(e.message.hostmask)+")")]),e._v(" has left the channel\n\t"),e.message.text?a("i",{staticClass:"part-reason"},[e._v("("),a("ParsedMessage",{attrs:{network:e.network,message:e.message}}),e._v(")")],1):e._e()],1)}),[],!1,null,null,null);t.default=r.exports},function(e,t,a){"use strict";a.r(t);var s={name:"MessageTypeNick",components:{Username:a(4).a},props:{network:Object,message:Object}},n=a(2),i=Object(n.a)(s,(function(){var e=this.$createElement,t=this._self._c||e;return t("span",{staticClass:"content"},[t("Username",{attrs:{user:this.message.from}}),this._v("\n\tis now known as\n\t"),t("Username",{attrs:{user:{nick:this.message.new_nick,mode:this.message.from.mode}}})],1)}),[],!1,null,null,null);t.default=i.exports},function(e,t,a){"use strict";a.r(t);var s={name:"MessageTypeRaw",props:{network:Object,message:Object}},n=a(2),i=Object(n.a)(s,(function(){var e=this.$createElement;return(this._self._c||e)("span",{staticClass:"content"},[this._v(this._s(this.message.text))])}),[],!1,null,null,null);t.default=i.exports},function(e,t,a){"use strict";a.r(t);var s={name:"MessageTypeMonospaceBlock",components:{ParsedMessage:a(5).a},props:{network:Object,message:Object},computed:{cleanText(){let e=this.message.text.split("\n");return e.every(e=>""===e||"-"===e[0])&&(e=e.map(e=>e.substr(2))),e.map(e=>e.replace(/\s*$/,"")).join("\n").replace(/^[\r\n]+|[\r\n]+$/g,"")}}},n=a(2),i=Object(n.a)(s,(function(){var e=this.$createElement,t=this._self._c||e;return t("span",{staticClass:"content"},[t("span",{staticClass:"text"},[t("ParsedMessage",{attrs:{network:this.network,text:this.cleanText}})],1)])}),[],!1,null,null,null);t.default=i.exports},function(e,t,a){"use strict";a.r(t);var s=a(5),n=a(4),i={name:"MessageTypeMode",components:{ParsedMessage:s.a,Username:n.a},props:{network:Object,message:Object}},o=a(2),r=Object(o.a)(i,(function(){var e=this.$createElement,t=this._self._c||e;return t("span",{staticClass:"content"},[t("Username",{attrs:{user:this.message.from}}),this._v("\n\tsets mode\n\t"),t("ParsedMessage",{attrs:{message:this.message}})],1)}),[],!1,null,null,null);t.default=r.exports},function(e,t,a){"use strict";a.r(t);var s=a(9),n=a(5),i=a(4),o={name:"MessageTypeWhois",components:{ParsedMessage:n.a,Username:i.a},props:{network:Object,message:Object},methods:{localetime:e=>Object(s.a)(e)}},r=a(2),l=Object(r.a)(o,(function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("span",{staticClass:"content"},[a("p",[a("Username",{attrs:{user:{nick:e.message.whois.nick}}}),e.message.whois.whowas?a("span",[e._v(" is offline, last information:")]):e._e()],1),a("dl",{staticClass:"whois"},[e.message.whois.account?[a("dt",[e._v("Logged in as:")]),a("dd",[e._v(e._s(e.message.whois.account))])]:e._e(),a("dt",[e._v("Host mask:")]),a("dd",{staticClass:"hostmask"},[e._v(e._s(e.message.whois.ident)+"@"+e._s(e.message.whois.hostname))]),e.message.whois.actual_hostname?[a("dt",[e._v("Actual host:")]),a("dd",{staticClass:"hostmask"},[a("a",{attrs:{href:"https://ipinfo.io/"+e.message.whois.actual_ip,target:"_blank",rel:"noopener"}},[e._v(e._s(e.message.whois.actual_ip))]),e.message.whois.actual_hostname!=e.message.whois.actual_ip?a("i",[e._v("\n\t\t\t\t\t("+e._s(e.message.whois.actual_hostname)+")")]):e._e()])]:e._e(),e.message.whois.real_name?[a("dt",[e._v("Real name:")]),a("dd",[a("ParsedMessage",{attrs:{network:e.network,text:e.message.whois.real_name}})],1)]:e._e(),e.message.whois.registered_nick?[a("dt",[e._v("Registered nick:")]),a("dd",[e._v(e._s(e.message.whois.registered_nick))])]:e._e(),e.message.whois.channels?[a("dt",[e._v("Channels:")]),a("dd",[a("ParsedMessage",{attrs:{network:e.network,text:e.message.whois.channels}})],1)]:e._e(),e.message.whois.modes?[a("dt",[e._v("Modes:")]),a("dd",[e._v(e._s(e.message.whois.modes))])]:e._e(),e.message.whois.special?[e._l(e.message.whois.special,(function(t){return[a("dt",{key:t},[e._v("Special:")]),a("dd",{key:t},[e._v(e._s(t))])]}))]:e._e(),e.message.whois.operator?[a("dt",[e._v("Operator:")]),a("dd",[e._v(e._s(e.message.whois.operator))])]:e._e(),e.message.whois.helpop?[a("dt",[e._v("Available for help:")]),a("dd",[e._v("Yes")])]:e._e(),e.message.whois.bot?[a("dt",[e._v("Is a bot:")]),a("dd",[e._v("Yes")])]:e._e(),e.message.whois.away?[a("dt",[e._v("Away:")]),a("dd",[a("ParsedMessage",{attrs:{network:e.network,text:e.message.whois.away}})],1)]:e._e(),e.message.whois.secure?[a("dt",[e._v("Secure connection:")]),a("dd",[e._v("Yes")])]:e._e(),e.message.whois.certfp?[a("dt",[e._v("Certificate:")]),a("dd",[e._v(e._s(e.message.whois.certfp))])]:e._e(),e.message.whois.server?[a("dt",[e._v("Connected to:")]),a("dd",[e._v("\n\t\t\t\t"+e._s(e.message.whois.server)+" "),a("i",[e._v("("+e._s(e.message.whois.server_info)+")")])])]:e._e(),e.message.whois.logonTime?[a("dt",[e._v("Connected at:")]),a("dd",[e._v(e._s(e.localetime(e.message.whois.logonTime)))])]:e._e(),e.message.whois.idle?[a("dt",[e._v("Idle since:")]),a("dd",[e._v(e._s(e.localetime(e.message.whois.idleTime)))])]:e._e()],2)])}),[],!1,null,null,null);t.default=l.exports},function(e,t,a){"use strict";a.r(t);var s=a(5),n=a(4),i={name:"MessageTypeAway",components:{ParsedMessage:s.a,Username:n.a},props:{network:Object,message:Object}},o=a(2),r=Object(o.a)(i,(function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("span",{staticClass:"content"},[e.message.self?a("ParsedMessage",{attrs:{network:e.network,message:e.message}}):[a("Username",{attrs:{user:e.message.from}}),e._v("\n\t\tis away\n\t\t"),a("i",{staticClass:"away-message"},[e._v("("),a("ParsedMessage",{attrs:{network:e.network,message:e.message}}),e._v(")")],1)]],2)}),[],!1,null,null,null);t.default=r.exports}]);
//# sourceMappingURL=bundle.js.map